/* Revision 2: white, original mark, connected ink/linework. No generated dancer or archival hero. */
:root { --paper:#fff; --ink:#302332; --blue:#264acb; --coral:#ff8069; --lavender:#c2b3f4; }
body { background:#fff; }
.f-preview { background:#f4f0fa; color:#4a3c53; padding-block:8px; }
.f-preview a { border-color:#4a3c53; }
.f-header { background:#fff; padding-block:19px; }
.f-header .f-wrap { border-bottom:1px solid #302332; padding-bottom:20px; }
.f-logo { gap:15px; font-size:23px; font-weight:400; letter-spacing:.17em; }
.f-logo img { height:53px; width:53px; }
.f-nav { gap:32px; }
.f-brand-band { position:relative; height:72px; background:#fff; overflow:hidden; pointer-events:none; }
.f-brand-band svg { width:100%; height:100%; display:block; }
.f-brand-band--closing { height:106px; }
.f-brand-band--closing svg { transform:rotate(180deg); }
.f-brand-band path,.f-sculpture path { fill:none; stroke:#302332; stroke-width:.9; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.f-brand-band circle,.f-sculpture circle { fill:#302332; }
.f-hero { background:#fff; }
.f-hero-inner { min-height:645px; grid-template-columns:1.05fr 1fr; padding-block:48px 50px; gap:28px; }
.f-hero h1 { font-size:clamp(84px,8.2vw,140px); color:var(--ink); position:relative; width:max-content; }
.f-hero h1 em { position:relative; isolation:isolate; }
.f-hero h1 em::after { content:''; height:.065em; background:#c2b3f4; position:absolute; bottom:.105em; left:.01em; right:.03em; z-index:-1; }
.f-hero-copy .f-eyebrow { color:#5d4c65; margin-bottom:34px; }
.f-hero-copy>p { max-width:430px; font-size:16px; }
.f-hero-art { width:100%; margin:0; overflow:clip; }
.f-sculpture { position:relative; height:560px; isolation:isolate; }
.f-sculpture .f-ink { width:100%; height:100%; object-fit:contain; display:block; transform:rotate(-18deg) scale(1.08); }
.f-sculpture svg { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
.f-art-caption { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:24px; padding-top:14px; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.11em; }
.f-hero-bottom { border-color:#ccc2d0; color:#5a4d61; padding-block:21px; }
.f-capabilities { background:#f7f3fe; border-color:#ddd3eb; padding-block:29px; }
.f-research { padding-top:82px; }
.f-project-gallery { display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; margin-top:48px; }
.f-project-gallery figure { min-width:0; }
.f-project-art { height:320px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.f-project-art--intelligence { background:#c2b3f4; padding:24px; }
.f-project-art--intelligence img { width:100%; height:100%; object-fit:cover; object-position:50% 36%; }
.f-project-art--learning { background:#d9eef0; }
.f-project-art--learning img { height:83%; width:49%; object-fit:contain; }
.f-project-art--learning img:first-child { transform:rotate(-8deg) translateY(4%); }
.f-project-art--learning img:last-child { transform:rotate(8deg) translateY(-3%); margin-left:-11%; }
.f-project-art--culture { background:#ffc0ab; padding:26px; }
.f-project-art--culture img { width:auto; height:100%; max-width:100%; object-fit:contain; transform:rotate(4deg); }
.f-project-gallery figcaption { display:flex; justify-content:space-between; gap:12px; padding:15px 0; font-size:11px; border-bottom:1px solid #cfc4d2; }
.f-project-gallery figcaption a { text-decoration:none; border-bottom:1px solid #99869f; }
.f-project-gallery figcaption span { color:#6c5d75; font-size:10px; }
.f-process { padding-top:44px; padding-bottom:72px; }
.our-work { background:#fff; border-top:1px solid #cec3d2; padding-top:72px; }
.f-card-toolbar { max-width:1440px; margin:0 auto 28px; display:flex; justify-content:space-between; align-items:center; gap:25px; padding:18px 0; border-block:1px solid #d4c8df; }
.f-card-toolbar p { font-size:11px; line-height:1.7; }
.f-card-toolbar p strong { display:block; font-size:12px; font-weight:500; }
.f-card-toolbar-controls { display:flex; gap:0; flex-wrap:wrap; }
.f-card-toggle { appearance:none; border:1px solid #a092ac; background:#fff; color:#302332; font:500 11px/1.5 var(--font-sans); padding:12px 18px; cursor:pointer; border-radius:0; }
.f-card-toggle+button { margin-left:-1px; }
.f-card-toggle[aria-pressed="true"] { background:#302332; color:white; border-color:#302332; position:relative; }
.f-card-toggle:focus-visible { outline:3px solid #264acb; outline-offset:3px; position:relative; z-index:2; }
.f-card-status { max-width:1440px; margin:0 auto 28px; color:#5c4478; font-size:10px; line-height:1.8; }
.studio-group-header.sky { background:#264acb; }
.studio-group-header.lavender { background:#c2b3f4; }
.studio-group-header.warm { background:#ff8069; }
.f-study { background:#f6f2ff; border-top:1px solid #cfc4df; }
.f-connection { background:#fff; color:#302332; border-top:1px solid #cfc3d4; }
.f-connection h2 { color:#302332; }
.f-connection p { font-size:15px; }
.f-partner { background:#fff; padding-bottom:44px; border-top:1px solid #d2c7d7; }
.f-partner h2 em { color:#264acb; }
.f-footer { background:#fff; }
.f-footer-word { text-transform:uppercase; font-size:18px; font-weight:400; letter-spacing:.17em; }
@media(min-width:1700px) { .f-hero-inner { min-height:660px; } .f-sculpture { height:580px; } }
@media(max-width:1100px) {
 .f-hero-inner { min-height:570px; padding-block:32px; }
 .f-sculpture { height:490px; }
 .f-hero h1 { font-size:clamp(80px,9vw,110px); }
 .f-project-art { height:260px; }
 .f-project-art--culture { padding:22px; }
}
@media(max-width:760px) {
 .f-brand-band { height:54px; }
 .f-brand-band--closing { height:82px; }
 .f-header { padding-block:13px 0; }
 .f-header .f-wrap { padding-bottom:17px; row-gap:13px; }
 .f-logo { font-size:19px; gap:12px; letter-spacing:.12em; }
 .f-logo img { height:43px; width:43px; }
 .f-nav { width:100%; gap:27px; }
 .f-hero-inner { grid-template-columns:1fr; min-height:0; padding-block:38px 24px; gap:12px; }
 .f-hero h1 { font-size:clamp(76px,15vw,112px); }
 .f-hero-copy>p { font-size:15px; }
 .f-hero-copy .f-eyebrow { font-size:9px; margin-bottom:26px; }
 .f-sculpture { height:370px; max-width:440px; margin-inline:auto; }
 .f-sculpture .f-ink { transform:rotate(-18deg); }
 .f-art-caption { font-size:8px; bottom:0; }
 .f-hero-bottom { font-size:9px; }
 .f-capabilities { padding-block:24px; }
 .f-research { padding-top:56px; }
 .f-project-gallery { grid-template-columns:1fr; gap:28px; margin-top:30px; }
 .f-project-art { height:330px; }
 .f-project-art--intelligence { padding:26px; }
 .f-project-art--learning { height:340px; }
 .f-project-art--learning img { height:90%; width:44%; }
 .f-project-art--culture { padding:30px; }
 .f-project-gallery figcaption { font-size:12px; padding-block:13px; }
 .f-project-gallery figcaption span { font-size:11px; }
 .f-process { padding-top:34px; padding-bottom:50px; }
 .f-card-toolbar { display:block; padding-block:17px; margin-bottom:18px; }
 .f-card-toolbar-controls { margin-top:16px; }
 .f-card-toggle { padding:11px 15px; font-size:10px; }
 .f-card-status { margin-bottom:23px; }
 .f-connection p { font-size:14px; }
 .f-footer-word { font-size:17px; }
}
@media(max-width:400px) {
 .f-logo { font-size:18px; }
 .f-sculpture { height:320px; }
 .f-hero h1 { font-size:72px; }
 .f-hero-copy>p { font-size:14px; }
 .f-project-art { height:290px; }
 .f-project-art--learning { height:300px; }
 .f-card-toggle { padding:11px 13px; }
}
