.hero-image{background-image:url('assets/fotos-oficiais/francisco-hero-casual-ia.png');background-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(11,9,8,.97) 0%,rgba(11,9,8,.78) 39%,rgba(11,9,8,.12) 72%),linear-gradient(0deg,rgba(11,9,8,.62),transparent 45%)}
.intro-feature{display:flex;flex-direction:column;gap:44px}
.intro-portrait{margin:0;overflow:hidden;background:#111}
.intro-portrait img{height:570px;object-fit:cover;object-position:center 22%}
.method-dance-pair{display:grid;gap:10px;overflow:visible}
.method-dance-pair figure{margin:0;overflow:hidden;background:#090807;aspect-ratio:3/2}
.method-dance-pair img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center center}
.stage-gallery{display:grid;grid-template-columns:1.35fr .75fr .75fr;grid-template-rows:310px 310px;gap:14px;margin:0 0 70px}
.stage-gallery figure{position:relative;margin:0;overflow:hidden;background:#050505}
.stage-gallery .stage-main{grid-row:1 / 3}
.stage-gallery figure:last-child{grid-column:2 / 4}
.stage-gallery img{height:100%;object-fit:cover;transition:transform .7s ease,filter .4s ease}
.stage-gallery figure:hover img{transform:scale(1.025)}
.stage-gallery figcaption{position:absolute;inset:auto 0 0;padding:45px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:10px;text-transform:uppercase;letter-spacing:.17em}
.holistic-feature{position:relative;display:grid;grid-template-columns:1.2fr .65fr;gap:8vw;align-items:center}
.holistic-photo{margin:0;overflow:hidden;border-radius:50% 50% 4px 4px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.holistic-photo img{height:560px;object-fit:cover;object-position:center 24%}
.holistic-brand-logo{width:min(430px,92%);max-height:360px;object-fit:contain;object-position:left center;margin:0 0 34px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.therapy-logo{background:radial-gradient(circle at 50% 42%,#fff 0 28%,#eee7df 61%,#d8ccbc 100%)}
.therapy-logo img{max-height:255px;filter:drop-shadow(0 12px 18px rgba(50,20,45,.18))}
.company-registration{margin:24px 0;padding:18px 20px;border-left:3px solid var(--copper);background:#e8e0d6;font-size:12px;line-height:1.7;color:#514a45}
.company-registration strong{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#8d4d22}
.public-projects{grid-column:1 / -1;margin-top:55px;padding-top:75px;border-top:1px solid #cfc5ba}
.projects-heading{max-width:820px;margin-bottom:45px}
.projects-heading h3{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1;margin:0}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project-card{display:flex;flex-direction:column;min-height:390px;padding:28px;background:#e7dfd5;border-top:3px solid var(--copper)}
.project-card>span{font-size:10px;font-weight:600;letter-spacing:.16em;color:#8d4d22}
.project-mark{height:92px;margin:22px 0;display:flex;align-items:center}
.project-mark img{width:auto;max-width:100%;max-height:88px;object-fit:contain;object-position:left center}
.project-symbol{height:92px;margin:22px 0;display:flex;align-items:center;font-family:var(--serif);font-size:24px;letter-spacing:.16em}
.project-card h4{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.05;margin:0 0 16px}
.project-card p{font-size:12px;line-height:1.7;color:#625a54;margin:0}
.featured-project{grid-column:span 2;background:#191310;color:#fff}
.featured-project p{color:#bcb2aa}
.season-feature{margin-top:70px;padding:clamp(28px,5vw,65px);background:#0b0908;color:#fff}
.season-feature-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:38px}
.season-feature-heading h3{font-family:var(--serif);font-size:clamp(48px,7vw,92px);font-weight:400;line-height:.9;margin:0}
.season-feature-heading>p{max-width:540px;margin:0;color:#bcb2aa;font-size:13px;line-height:1.8}
.season-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:8px}
.season-gallery figure{margin:0;overflow:hidden;background:#17120f}
.season-gallery .season-wide{grid-column:span 2;grid-row:span 2}
.season-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.season-gallery figure:hover img{transform:scale(1.025)}
.season-caption{margin:22px 0 0;color:#8f837a;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.siyahamba-feature{background:#21150d}
.project-story{display:grid;grid-template-columns:.65fr 1.35fr;gap:5vw;align-items:start}
.project-story-copy{position:sticky;top:110px;padding-top:20px}
.project-story-copy span{font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#d3a167}
.project-story-copy h4{font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1;margin:18px 0 24px}
.project-story-copy p{color:#bcb2aa;font-size:12px;line-height:1.8}
.communication-gallery{display:grid;grid-template-columns:1.15fr 1fr;gap:8px}
.communication-gallery figure{margin:0;overflow:hidden;background:#100c09;aspect-ratio:1/1}
.communication-gallery .communication-poster{grid-row:span 2;aspect-ratio:auto}
.communication-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.communication-gallery .communication-poster img,.communication-gallery figure:last-child img{object-fit:contain}
.communication-gallery figure:hover img{transform:scale(1.02)}
.bem-feature{background:#153d2a}
.bem-feature .season-feature-heading strong{color:#f2c94c}
.bem-banner{margin:0 0 8px;overflow:hidden;background:#20004b}
.bem-banner img{display:block;width:100%;height:auto}
.bem-process{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:42px}
.bem-process article{padding:28px;background:#f1c94b;color:#173e2a}
.bem-process span{font-size:10px;font-weight:700;letter-spacing:.18em}
.bem-process h4{font-family:var(--serif);font-size:34px;font-weight:400;margin:22px 0 10px}
.bem-process p{font-size:11px;line-height:1.65;margin:0}
.bem-media{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;align-items:stretch}
.bem-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bem-gallery figure{margin:0;aspect-ratio:1/1;overflow:hidden;background:#102f21}
.bem-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.bem-gallery figure:hover img{transform:scale(1.025)}
.bem-video-wrap{display:flex;flex-direction:column;margin:0;background:#20004b;min-height:100%}
.bem-video-wrap video{display:block;width:100%;height:100%;min-height:500px;object-fit:cover;flex:1;background:#20004b}
.bem-video-wrap figcaption{padding:16px 18px;color:#d8c7e8;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.travessia-feature{background:#101722}
.travessia-feature .season-feature-heading strong{color:#d6bb87}
.travessia-chapter{margin-top:38px}
.travessia-chapter>p{margin:0 0 12px;color:#d6bb87;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.travessia-studio{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}
.travessia-stage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;gap:8px}
.travessia-studio figure,.travessia-stage figure{margin:0;overflow:hidden;background:#080c12}
.travessia-studio figure{height:430px}
.travessia-stage figure:first-child,.travessia-stage figure:last-child{grid-column:span 2}
.travessia-studio img,.travessia-stage img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.travessia-studio figure:hover img,.travessia-stage figure:hover img{transform:scale(1.025)}
.travessia-footer{display:flex;justify-content:space-between;gap:20px;margin-top:22px;color:#918e8b;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.travessia-footer p{margin:0}
@media(max-width:900px){.hero-image{background-position:62% center}.stage-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 260px 260px}.stage-gallery .stage-main{grid-column:1 / 3;grid-row:auto}.stage-gallery figure:last-child{grid-column:1 / 3}.holistic-feature{grid-template-columns:1fr}.holistic-photo{max-width:520px}.holistic-photo img{height:580px}.projects-grid{grid-template-columns:1fr 1fr}.featured-project{grid-column:span 2}.season-feature-heading{grid-template-columns:1fr;gap:22px}.season-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:330px}.season-gallery .season-wide{grid-column:span 2;grid-row:auto;height:430px}.project-story{grid-template-columns:1fr}.project-story-copy{position:static;max-width:620px}.bem-media{grid-template-columns:1fr}.bem-video-wrap video{height:auto;min-height:0;max-height:720px}.bem-process{grid-template-columns:1fr}.travessia-stage{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.travessia-stage figure:first-child,.travessia-stage figure:last-child{grid-column:span 2}}
@media(max-width:580px){.hero-image{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(11,9,8,.92),rgba(11,9,8,.24)),linear-gradient(0deg,rgba(11,9,8,.78),transparent 60%)}.intro-portrait img{height:440px}.stage-gallery{display:block}.stage-gallery figure{height:310px;margin-bottom:12px}.stage-gallery .stage-main{height:370px}.holistic-photo img{height:440px}.holistic-brand-logo{width:100%;margin-bottom:25px}.projects-grid{grid-template-columns:1fr}.featured-project{grid-column:auto}.project-card{min-height:340px}.season-feature{margin-left:-18px;margin-right:-18px}.season-gallery{display:block}.season-gallery figure,.season-gallery .season-wide{height:420px;margin-bottom:8px}.season-gallery .season-wide{height:280px}.season-caption{line-height:1.7}.communication-gallery{grid-template-columns:1fr 1fr}.communication-gallery .communication-poster{grid-column:span 2;grid-row:auto;height:auto;aspect-ratio:3/4}.communication-gallery figure:last-child{grid-column:span 2;aspect-ratio:3/4}.bem-gallery{grid-template-columns:1fr}.bem-process article{padding:22px}.travessia-studio,.travessia-stage{display:block}.travessia-studio figure,.travessia-stage figure{height:280px;margin-bottom:8px}.travessia-studio figure:first-child,.travessia-stage figure:first-child,.travessia-stage figure:last-child{height:220px}.travessia-footer{display:block;line-height:1.7}.travessia-footer p+p{margin-top:7px}}
@media(max-width:900px){.hero-image{background-position:center 42%}}
