/* Páginas internas e blocos da home, na linguagem da marca (variáveis em brand.css). */
.page-hero{position:relative;overflow:hidden;background:var(--deep);color:var(--paper);padding:190px var(--gutter) 90px}
.page-hero h1{font-size:clamp(48px,6.4vw,104px);line-height:.96;letter-spacing:-.064em;max-width:1000px}
.page-lead{margin-top:28px;max-width:600px;font-size:19px;line-height:1.55;color:var(--soft)}
.page-hero .eyebrow,.section-head .eyebrow,.audience .eyebrow,.other-services .eyebrow{color:#9fbdd0;font-size:11px;margin-bottom:24px}

.stripes{position:absolute;top:120px;right:var(--gutter);width:min(400px,36vw);aspect-ratio:1000/420;background:var(--stripes) no-repeat center/contain;pointer-events:none}
.audience>.stripes{top:70px}
.stripes.reveal-on-scroll{opacity:1;transform:none;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.65,0,.35,1) .15s}
.stripes.reveal-on-scroll.is-visible{clip-path:inset(0 0 0 0)}
.services:before{display:none}

.section-head{max-width:860px;margin-bottom:50px}
.section-head h2{font-size:clamp(38px,4.6vw,70px);line-height:.98;letter-spacing:-.06em}
.section-lead{margin-top:22px;max-width:560px;font-size:17px;line-height:1.6;color:var(--soft)}

.audience,.steps-section,.faq-section,.formats,.other-services,.brand-section,.quote-section{position:relative;background:var(--deep);color:var(--paper);padding:110px var(--gutter);border-top:1px solid var(--hair)}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.audience-card{display:flex;flex-direction:column;gap:18px;padding:34px 30px;border:1px solid var(--hair);border-radius:6px;background:linear-gradient(160deg,#0a263899,#051c2d00);transition:border-color .3s,transform .4s cubic-bezier(.16,1,.3,1)}
.audience-card:hover{border-color:var(--hair-2);transform:translateY(-5px)}
.audience-card h3{font-size:clamp(26px,2.4vw,36px);line-height:1.02;letter-spacing:-.045em}
.audience-card p{font-size:15px;line-height:1.65;color:var(--soft)}
.audience-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:12px;border-top:1px solid var(--hair)}
.audience-links a{font-size:13px;font-weight:600;color:#9fbdd0;padding:6px 0}.audience-links a:hover{color:var(--paper)}

.selected .cinema-heading{padding-top:70px}
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;padding:0 var(--gutter) 70px}
.film-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.film-card{min-width:0}
.film-media{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;overflow:hidden;border-radius:5px;background:#182735}
.film-media:after{content:"";position:absolute;inset:0;border:1px solid #ffffff15;border-radius:5px;pointer-events:none}
.film-media img,.film-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s}
.portrait .film-media img{object-position:50% 25%}
.film-preview{opacity:0}
.is-previewing .film-preview{opacity:1}
.film-media:hover img,.film-media:focus-visible img{transform:scale(1.05)}
.film-media .work-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(.85);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b1118;font-size:11px;opacity:0;transition:opacity .25s,transform .35s;z-index:1}
.film-media:hover .work-play,.film-media:focus-visible .work-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.film-card .work-caption{padding:14px 2px 0}
.film-card .work-caption h3{font-size:16px;color:#f5f7fa;letter-spacing:-.02em}
.film-card .work-caption p{font-size:12px;color:#8fa4b4;margin-top:5px}

/* Fileiras por tipo (página Filmes), no mesmo visual do carrossel da home */
.film-library{padding-bottom:30px}
.film-row{padding:0 var(--gutter) 46px}
.film-row .section-heading{margin:0 0 16px;align-items:center}
.film-row .section-heading>h3{font-size:20px;letter-spacing:-.025em}
.row-count{font-family:var(--mono);font-size:11px;font-weight:400;color:#8fa4b4;margin-left:8px;vertical-align:middle}
.row-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 0 8px}
.row-track::-webkit-scrollbar{display:none}
.work-image .film-preview{z-index:0}.work-image .work-play{z-index:1}

.service-link{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.05fr) 44px;align-items:center;gap:24px;padding:34px 0;border-top:1px solid var(--hair);transition:background .3s}
.service-link:last-child{border-bottom:1px solid var(--hair)}
.service-link h3{position:relative;font-size:clamp(28px,3.2vw,50px);line-height:1;letter-spacing:-.05em;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.service-link h3:before{content:"";position:absolute;left:-58px;top:50%;width:44px;height:7px;background:var(--editorial);transform:translateY(-50%) rotate(-14.9deg) scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.service-link:hover h3,.service-link:focus-visible h3{transform:translateX(58px)}
.service-link:hover h3:before,.service-link:focus-visible h3:before{transform:translateY(-50%) rotate(-14.9deg) scaleX(1)}
.service-link:hover .row-toggle{background:var(--paper);color:var(--deep);transform:translateX(4px)}
.services>.service-index{padding-top:10px}
.services .section-head{padding:110px var(--gutter) 0}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:step;border-top:1px solid var(--hair-2)}
.steps li{position:relative;padding:30px 26px 10px 0}
.steps li:before{content:"";position:absolute;top:-1px;left:0;width:44px;height:3px;background:var(--editorial)}
.step-num{font-family:var(--mono);font-size:12px;color:#9fbdd0}
.steps h3{font-size:24px;letter-spacing:-.04em;margin:16px 0 12px}
.steps p{font-size:15px;line-height:1.6;color:var(--soft)}

.faq-list{max-width:980px}
.faq-item{border-top:1px solid var(--hair)}.faq-item:last-child{border-bottom:1px solid var(--hair)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;list-style:none;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item h3{font-size:clamp(19px,1.8vw,26px);letter-spacing:-.03em;line-height:1.25}
.faq-item[open] .row-toggle{transform:rotate(45deg);border-color:var(--paper)}
.faq-item p{padding:0 70px 28px 0;max-width:760px;font-size:16px;line-height:1.7;color:var(--soft)}

.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.format-card{padding:32px 30px;border:1px solid var(--hair);border-radius:6px;background:#0a263866;display:flex;flex-direction:column;gap:14px}
.format-scope{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fbdd0}
.format-card h3{font-size:28px;line-height:1.05;letter-spacing:-.045em}
.format-card>p{font-size:15px;line-height:1.6;color:var(--soft)}
.format-card ul{list-style:none;margin:8px 0 0;padding:0}
.format-card li{position:relative;padding:10px 0 10px 22px;border-top:1px solid var(--hair);font-size:14px;color:var(--paper)}
.format-card li:before{content:"";position:absolute;left:0;top:19px;width:11px;height:2px;background:var(--editorial);transform:rotate(-14.9deg)}
.related-films{padding-top:20px}.related-films .section-head{padding:70px var(--gutter) 0}
.brand-film{position:relative;display:block;width:calc(100% - 2 * var(--gutter));margin:0 var(--gutter) 70px;aspect-ratio:16/9;overflow:hidden;border-radius:6px}
.brand-film img{width:100%;height:100%;object-fit:cover}
.brand-film .work-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b1118}
.other-grid{display:flex;flex-wrap:wrap;gap:12px}
.other-grid a{padding:14px 20px;border:1px solid var(--hair-2);border-radius:40px;font-size:14px;transition:background .2s,color .2s}
.other-grid a:hover{background:var(--paper);color:var(--deep)}

.cta-band{position:relative;overflow:hidden;background:var(--deep-2);color:var(--paper);padding:110px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:36px;border-top:1px solid var(--hair)}
.cta-band h2{font-size:clamp(40px,5vw,80px);line-height:.98;letter-spacing:-.06em}
.cta-band .stripes{top:auto;bottom:70px}

.company{padding:110px var(--gutter)}
.brand-figure{margin:0;border-radius:6px;overflow:hidden;max-width:980px}
.brand-figure img{width:100%;height:auto}

.quote-hero{padding-bottom:50px}
.quote-form{max-width:860px}
.quote-progress{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:q}
.quote-progress li{counter-increment:q;padding-top:14px;border-top:3px solid var(--hair);font-size:13px;color:var(--quiet);transition:border-color .3s,color .3s}
.quote-progress li:before{content:"0" counter(q) " / ";font-family:var(--mono);font-size:11px}
.quote-progress li[aria-current],.quote-progress li.is-done{border-color:var(--editorial);color:var(--paper)}
.quote-step{border:0;margin:0;padding:0;animation:step-in .45s cubic-bezier(.16,1,.3,1)}
.quote-step legend{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.045em;margin-bottom:26px;padding:0}
.quote-step legend span,.quote-step label:not(.choice) span{color:#9fbdd0}
.quote-step label,.field-label{display:block;font-size:12px;font-weight:700;margin:0 0 9px}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.choice-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.choice{position:relative;margin:0!important;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:block;color:inherit;padding:18px 20px;border:1px solid var(--hair-2);border-radius:5px;font-size:15px;font-weight:400;transition:background .2s,border-color .2s,color .2s}
.choice-row .choice span{padding:12px 18px;border-radius:40px;font-size:14px}
.choice:hover span{border-color:#fefcf580}
.choice input:checked+span{background:var(--paper);color:var(--deep);border-color:var(--paper);font-weight:600}
.choice input:focus-visible+span{outline:2px solid #9fbdd0;outline-offset:3px}
.quote-actions{display:flex;gap:12px;margin-top:34px}
.quote-actions [data-next],.quote-actions [data-submit]{margin-left:auto}
@keyframes step-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* Títulos palavra por palavra (motion.js → initSplitText) */
.is-split .split-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.is-split .split-word>span{display:inline-block;transform:translateY(108%);transition:transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 60ms)}
.is-split.is-visible .split-word>span{transform:none}

/* Transição suave entre páginas (navegadores com View Transitions entre documentos) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .28s ease both}
::view-transition-new(root){animation:page-in .5s cubic-bezier(.16,1,.3,1) both}
@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes page-in{from{opacity:0;transform:translateY(18px)}}

@media(max-width:1000px){
 .audience-grid{grid-template-columns:1fr}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-link{grid-template-columns:50px minmax(0,1fr) 44px}.service-link .row-items{grid-column:2;grid-row:2;margin-top:-12px}.service-link .row-toggle{grid-column:3;grid-row:1}
}
@media(max-width:700px){
 .page-hero{padding:130px var(--gutter) 60px}.page-hero h1{font-size:clamp(40px,11vw,56px)}.page-lead{font-size:16px}
 .stripes{top:92px;width:140px}
 .audience,.steps-section,.faq-section,.formats,.other-services,.brand-section,.quote-section,.cta-band{padding:70px var(--gutter)}
 .services .section-head{padding:70px var(--gutter) 0}
 .section-head{margin-bottom:34px}.section-head h2{font-size:clamp(34px,9.5vw,46px)}.section-lead{font-size:15px}
 .film-grid,.film-grid-2{grid-template-columns:1fr;gap:24px}
 .steps{grid-template-columns:1fr}.steps li{padding-right:0}
 .service-link{grid-template-columns:34px minmax(0,1fr) 38px;gap:14px;padding:24px 0}.service-link h3{font-size:27px}
 .service-link:hover h3{transform:none}.service-link h3:before{display:none}
 .faq-item p{padding-right:0;font-size:15px}
 .choice-grid{grid-template-columns:1fr}
 .quote-progress li{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 .quote-step{animation:none}
}
