:root{--black:#0d0d0d;--graphite:#1c1c1c;--yellow:#f5d430;--yellow-soft:#e8c872;--cream:#f7f1e5;--white:#fafaf7;--muted:#aaa59d;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--container:min(1160px,calc(100% - 2rem));--header-h:76px}
@font-face{font-family:"Boris";src:url("../fonts/Boris-Regular.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--white);background:var(--black);font-family:var(--sans);font-size:1rem;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{display:block;max-width:100%}button{cursor:pointer}.container{width:var(--container);margin-inline:auto}.section{padding:clamp(5.5rem,10vw,9rem) 0}.section-light{color:var(--graphite);background:var(--cream)}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;color:var(--black);background:var(--yellow);transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.section-light :focus-visible,.quote-card :focus-visible{outline-color:#725f10}
.eyebrow{margin:0;color:var(--yellow-soft);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow-dark{color:#756316}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;line-height:.98;text-wrap:balance}h2{font-size:clamp(2.8rem,6vw,5.1rem)}h2 em,h1 em{color:var(--yellow-soft);font-weight:500}.section-light h2 em,.quote-card h2 em{color:#8b7218}p{margin-top:0}
.site-header{position:fixed;z-index:50;inset:0 0 auto;border-bottom:1px solid rgba(232,200,114,.24);transition:background-color .25s,padding .25s}.site-header.is-scrolled,.site-header.menu-active{background:rgba(13,13,13,.95);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;width:var(--container);min-height:var(--header-h);margin:auto}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none}.brand-mark{display:grid;width:2.8rem;height:2.8rem;place-items:center}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-signature{display:grid;font-family:var(--serif);font-size:1.28rem;line-height:1}.brand-signature small{margin-top:.28rem;font-family:var(--sans);font-size:.58rem;letter-spacing:.38em;text-transform:uppercase}.desktop-nav{display:flex;gap:2rem}.desktop-nav a{position:relative;color:rgba(250,250,247,.75);font-size:.75rem;text-decoration:none}.desktop-nav a::after{content:"";position:absolute;right:0;bottom:-.4rem;left:0;height:1px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-cta{padding:.7rem 1rem;border:1px solid rgba(245,212,48,.7);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.menu-toggle,.mobile-nav{display:none}
@media(min-width:901px){
  :root{--header-h:82px}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:min(1440px,calc(100% - clamp(3rem,7vw,7rem)))}
  .header-inner>.brand{justify-self:start;gap:.8rem}
  .header-inner>.desktop-nav{justify-self:center;gap:clamp(2.8rem,4vw,4.5rem)}
  .header-inner>.header-cta{justify-self:end}
  .brand-mark{width:3.25rem;height:3.25rem}
  .brand-signature{font-size:1.5rem}
  .brand-signature small{margin-top:.32rem;font-size:.62rem}
  .desktop-nav a{font-size:.88rem}
  .header-cta{padding:.82rem 1.35rem;font-size:.78rem}
}
.hero{position:relative;display:grid;min-height:100svh;align-items:center;overflow:hidden}.hero-media,.hero-overlay,.grain{position:absolute;inset:0}.hero-media{background:radial-gradient(circle at 72% 40%,#53472b 0,transparent 25%),linear-gradient(125deg,#151515,#24221d 55%,#0d0d0d)}.hero-overlay{background:none}.grain{z-index:1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.media-placeholder,.placeholder-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(250,250,247,.46);font-size:.7rem;letter-spacing:.14em;text-align:center}.media-placeholder{position:absolute;right:8%;bottom:16%;width:36%;aspect-ratio:4/3;border:1px solid rgba(232,200,114,.22);transform:rotate(-2deg)}.media-placeholder small,.placeholder-photo small{margin-top:.35rem;font-size:.58rem;letter-spacing:.1em}.hero-content{position:relative;z-index:2;padding-top:var(--header-h)}.hero-content h1{max-width:12ch;margin:.9rem 0 1.4rem;font-size:clamp(3.7rem,8.3vw,7.1rem)}.hero-content>p:not(.eyebrow){max-width:590px;margin-bottom:2rem;color:rgba(250,250,247,.75);font-size:clamp(1rem,1.7vw,1.15rem)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.8rem;min-height:3.35rem;padding:.85rem 1.35rem;border:1px solid var(--yellow);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--black);background:var(--yellow)}.button-outline{color:var(--white);background:transparent}.button-outline:hover{color:var(--black);background:var(--yellow)}.scroll-cue{position:absolute;z-index:2;right:max(1rem,calc((100% - 1160px)/2));bottom:2.2rem;display:flex;align-items:center;gap:1rem;color:rgba(250,250,247,.6);font-size:.65rem;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.scroll-cue i{display:block;width:1px;height:3rem;background:var(--yellow)}
.authority{background:var(--graphite);border-block:1px solid rgba(232,200,114,.16)}.authority-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:2rem 0}.authority article{display:grid;gap:.25rem;min-height:5rem;padding:0 2rem;align-content:center;border-left:1px solid rgba(250,250,247,.14)}.authority article:first-child{padding-left:0;border:0}.authority strong{color:var(--yellow);font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:500;line-height:1}.authority span{color:rgba(250,250,247,.64);font-size:.72rem;letter-spacing:.05em}
.section-intro{display:grid;grid-template-columns:1fr 3fr;gap:3rem;margin-bottom:clamp(3.5rem,7vw,6rem)}.section-intro>div{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.75fr);gap:clamp(2rem,5vw,5rem);align-items:end}.section-intro h2{max-width:10ch}.section-intro>div>p{margin:0;color:rgba(250,250,247,.6)}.services-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(3rem,7vw,7rem);align-items:center}.service-photo-frame{position:relative}.service-photo-frame::after{content:"";position:absolute;z-index:-1;inset:1.1rem -1.1rem -1.1rem 1.1rem;border:1px solid var(--yellow-soft)}.service-photo{aspect-ratio:5/6;background:linear-gradient(145deg,#25231e,#121212)}.service-tabs{display:flex;gap:1.5rem;margin-bottom:3rem;overflow:auto;border-bottom:1px solid rgba(250,250,247,.14)}.service-tabs button{flex:0 0 auto;padding:.8rem 0;border:0;border-bottom:2px solid transparent;color:rgba(250,250,247,.5);background:none;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.service-tabs button[aria-selected="true"]{color:var(--yellow);border-color:var(--yellow)}.service-panel{outline:none}.service-number{margin:0;color:var(--yellow-soft);font-family:var(--serif);font-size:1.5rem}.service-panel h3{margin:.4rem 0 1rem;font-size:clamp(2.8rem,5vw,4.5rem)}.service-panel>p:not(.service-number){max-width:530px;color:rgba(250,250,247,.67)}.text-link{display:inline-block;margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--yellow);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.services .section-intro{display:block}.services .section-intro>div>p,.services .service-panel>p:not(.service-number),.services .service-tabs button{font-family:"Boris",var(--serif)}
.photo-strip{position:relative;padding:2rem 0 5rem;overflow:hidden}.photo-track{display:grid;grid-template-columns:1fr .8fr 1.35fr .85fr;gap:1rem;width:118%;margin-left:-9%}.photo-tile{min-height:280px;background:linear-gradient(135deg,#24231f,#121212);border:1px solid rgba(232,200,114,.2)}.tile-tall{transform:translateY(2rem)}.tile-wide{min-height:340px}.asset-note{width:var(--container);margin:3rem auto 0;color:rgba(250,250,247,.32);font-size:.6rem;letter-spacing:.16em;text-align:right}
.story-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(4rem,8vw,8rem);align-items:center}.story-visuals{position:relative;min-height:700px}.portrait{position:absolute;top:0;left:0;width:68%;height:82%;color:#817a6e;background:linear-gradient(145deg,#ddd3c1,#b9ae9c)}.team-photo{position:absolute;right:0;bottom:0;width:62%;height:37%;color:#817a6e;background:linear-gradient(145deg,#c8bdab,#a99d8a);border:8px solid var(--cream)}.experience-seal{position:absolute;right:1rem;top:8%;display:grid;width:8rem;aspect-ratio:1;place-items:center;padding:1rem;border:1px solid #9b8123;border-radius:50%;color:#796515;text-align:center;transform:rotate(6deg)}.experience-seal strong{font-family:var(--serif);font-size:2.7rem;line-height:.7}.experience-seal span{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}.story-copy h2{margin:.8rem 0 2rem;font-size:clamp(3rem,5.4vw,5rem)}.story-copy>p{color:#5d584f}.story-copy .story-lead{color:var(--graphite);font-family:var(--serif);font-size:1.8rem}.content-placeholder{padding:1rem;border-left:2px solid #9b8123;color:#78681f!important;background:rgba(232,200,114,.15);font-size:.75rem;letter-spacing:.04em}.signature-placeholder{display:inline-block;margin-top:1.5rem;padding:.8rem 0;border-bottom:1px solid #9b8123;color:#796515;font-size:.65rem;letter-spacing:.1em}
.testimonials{background:#111}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.testimonial-card{position:relative;min-height:390px;padding:2rem;background:var(--graphite);border:1px solid rgba(250,250,247,.08)}.quote{position:absolute;right:1.4rem;top:.2rem;color:var(--yellow);font-family:var(--serif);font-size:6rem;line-height:1}.client-photo{width:3.5rem;aspect-ratio:1;margin-bottom:3.5rem;border-radius:50%;background:#292824}.testimonial-card>p{min-height:6.5rem;color:rgba(250,250,247,.64);font-family:var(--serif);font-size:1.2rem}.testimonial-card footer{display:grid;padding-top:1.4rem;border-top:1px solid rgba(250,250,247,.1)}.testimonial-card footer strong{font-size:.78rem}.testimonial-card footer span{color:var(--yellow-soft);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.video-testimonial-placeholder{grid-column:1/-1;display:grid;min-height:230px;place-items:center;align-content:center;gap:.5rem;border:1px solid rgba(232,200,114,.25);color:rgba(250,250,247,.5);background:linear-gradient(100deg,#151515,#24221d)}.video-testimonial-placeholder>span{display:grid;width:3rem;aspect-ratio:1;place-items:center;border:1px solid var(--yellow);border-radius:50%;color:var(--yellow)}.video-testimonial-placeholder small{font-size:.62rem}.centered-cta{margin:3rem auto 6rem;text-align:center}.partners{padding-top:3rem;border-top:1px solid rgba(250,250,247,.12);text-align:center}.partners>p{font-family:var(--serif);font-size:1.65rem}.partner-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.partner-logos span{padding:1.5rem;border:1px solid rgba(250,250,247,.1);color:rgba(250,250,247,.35);font-size:.65rem;letter-spacing:.12em}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.faq-heading{position:sticky;top:8rem;align-self:start}.faq-heading h2{margin:.8rem 0 1.4rem}.faq-heading>p:last-child{color:#625d54}.accordion details{border-top:1px solid rgba(28,28,28,.22)}.accordion details:last-child{border-bottom:1px solid rgba(28,28,28,.22)}.accordion summary{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;padding:1.5rem 0;font-family:var(--serif);font-size:1.35rem;line-height:1.2;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:#8b7218;font-family:var(--sans);font-size:1.6rem;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details>div{padding:0 3rem 1.6rem 0;color:#625d54}
.quote-section{background:radial-gradient(circle at 12% 48%,rgba(245,212,48,.07),transparent 25rem),var(--black)}.quote-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center}.quote-photo{min-height:690px;background:linear-gradient(145deg,#2a271f,#101010);border:1px solid rgba(232,200,114,.2)}.quote-card{margin-left:-2rem;padding:clamp(2rem,5vw,4.5rem);color:var(--graphite);background:var(--cream);box-shadow:0 30px 80px rgba(0,0,0,.35)}.quote-card h2{margin:.6rem 0 1rem}.quote-card>p:not(.eyebrow,.step-label){color:#625d54}.form-progress{height:3px;margin:2.5rem 0 .7rem;background:#d8d0c2}.form-progress span{display:block;width:33.333%;height:100%;background:#a98b20;transition:width .25s}.step-label{color:#716b61;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.form-step{margin:2rem 0 0;padding:0;border:0}.form-step legend{margin-bottom:1.2rem;font-family:var(--serif);font-size:1.7rem}.event-options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.event-options input{position:absolute;opacity:0;pointer-events:none}.event-options label>span{display:grid;min-height:3.4rem;place-items:center;border:1px solid #c8bfae;font-size:.75rem;font-weight:600}.event-options input:checked+span{border-color:#8b7218;color:#6b5814;background:rgba(232,200,114,.2)}.event-options input:focus-visible+span{outline:2px solid #725f10;outline-offset:2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-grid label{display:grid;gap:.35rem;color:#4d4942;font-size:.72rem;font-weight:600}.field-grid label small{font-weight:400}.field-full{grid-column:1/-1}.field-grid input,.field-grid textarea{width:100%;padding:.8rem 0;border:0;border-bottom:1px solid #afa695;border-radius:0;color:var(--graphite);background:transparent;outline:0}.field-grid input:focus,.field-grid textarea:focus{border-color:#8b7218}.field-grid textarea{resize:vertical}.field-error{min-height:1.15rem;margin:.2rem 0 0;color:#9b2e21;font-size:.66rem;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.form-back{border:0;color:#625d54;background:none;text-decoration:underline}.integration-notice{margin-top:1.5rem;padding:1rem;border:1px solid #9b8123;color:#4f4a42;background:rgba(232,200,114,.16)}.integration-notice p{margin:.3rem 0}.future-message{font-size:.72rem}.form-step[hidden],.integration-notice[hidden]{display:none}
.site-footer{padding:5rem 0 1rem;border-top:1px solid rgba(232,200,114,.18);background:#090909}.footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:4rem}.footer-brand{margin-bottom:1.4rem}.footer-main>div:first-child>p{max-width:300px;color:rgba(250,250,247,.5)}.footer-main h2{margin-bottom:1.2rem;color:var(--yellow-soft);font-family:var(--sans);font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.footer-main dl{margin:0}.footer-main dt{margin-top:.8rem;color:rgba(250,250,247,.4);font-size:.62rem;text-transform:uppercase}.footer-main dd{margin:0;color:rgba(250,250,247,.7);font-size:.82rem}.footer-bottom{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1rem;border-top:1px solid rgba(250,250,247,.1);color:rgba(250,250,247,.38);font-size:.62rem}.footer-bottom a{text-decoration:none}.hero-mobile-cta,.mobile-fixed-cta{display:none}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.desktop-nav{display:none}.section-intro{grid-template-columns:1fr}.section-intro>div{grid-template-columns:1fr}.section-intro>div>p{max-width:580px}.authority-grid{grid-template-columns:1fr 1fr}.authority article:nth-child(3){border-left:0}.services-layout,.story-layout,.faq-layout{grid-template-columns:1fr}.service-photo-frame{width:min(86%,560px)}.story-visuals{min-height:610px}.faq-heading{position:static}.quote-layout{grid-template-columns:1fr}.quote-photo{min-height:350px}.quote-card{margin:-2rem 1rem 0}.testimonial-grid{grid-template-columns:1fr 1fr}.video-testimonial-placeholder{grid-column:1/-1}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){:root{--header-h:68px}.section{padding:4.8rem 0}.site-header{background:rgba(13,13,13,.9);backdrop-filter:blur(12px)}.header-cta{display:none}.brand-mark{width:2.5rem;height:2.5rem}.brand-signature{font-size:1.08rem}.menu-toggle{display:grid;width:2.8rem;height:2.8rem;padding:.75rem;border:0;place-content:center;gap:.42rem;background:none}.menu-toggle span{display:block;width:1.35rem;height:1px;background:var(--white);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:grid;padding:1rem max(1rem,calc((100% - 1160px)/2)) 1.5rem;border-top:1px solid rgba(250,250,247,.1);background:#0d0d0d}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:.8rem 0;border-bottom:1px solid rgba(250,250,247,.08);text-decoration:none}.hero{min-height:92svh}.hero-content h1{font-size:clamp(3.1rem,15vw,4.8rem)}.hero-content>p:not(.eyebrow){font-size:.95rem}.media-placeholder{right:5%;bottom:12%;width:70%;opacity:.5}.scroll-cue{display:none}.button{width:100%}.authority-grid{grid-template-columns:1fr 1fr;padding:1rem 0}.authority article{min-height:6.5rem;padding:1rem;border-bottom:1px solid rgba(250,250,247,.08)}.authority article:nth-child(odd){padding-left:0;border-left:0}.authority strong{font-size:1.45rem}.authority span{font-size:.65rem}.section-intro{gap:1.2rem;margin-bottom:3rem}.services-layout{gap:3.5rem}.service-photo-frame{width:calc(100% - 1rem)}.service-tabs{gap:1.2rem;margin-bottom:2rem}.service-panel h3{font-size:3rem}.photo-track{display:flex;width:max-content;margin-left:-2rem}.photo-tile{width:70vw;min-height:260px}.tile-wide{width:82vw;min-height:300px}.story-visuals{min-height:500px}.portrait{width:78%}.team-photo{width:65%;height:33%}.experience-seal{right:0;width:6.7rem}.story-copy h2{font-size:3.2rem}.testimonial-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.testimonial-card{flex:0 0 86%;scroll-snap-align:start}.video-testimonial-placeholder{flex:0 0 86%;min-height:390px}.partner-logos{grid-template-columns:1fr 1fr}.accordion summary{font-size:1.17rem}.quote-section{padding-bottom:7rem}.quote-photo{min-height:270px}.quote-card{margin:-1.5rem 0 0;padding:2rem 1rem}.event-options,.field-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-actions{flex-wrap:wrap}.form-actions .button{width:auto;flex:1}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-main>div:first-child{grid-column:auto}.footer-bottom{display:grid;gap:.4rem}.mobile-fixed-cta{position:fixed;z-index:45;right:1rem;bottom:1rem;left:1rem;display:grid;min-height:3.2rem;place-items:center;color:var(--black);background:var(--yellow);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;box-shadow:0 8px 35px rgba(0,0,0,.4)}body:has(#orcamento:target) .mobile-fixed-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Refinamento de marca e integração das fotografias oficiais */
:root{--display:"Avenir Next","Avenir",Montserrat,Arial,sans-serif}
.eyebrow{font-weight:700}
h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(2.5rem,5.2vw,4.7rem)}
h2 em{font-weight:700}
.hero-media{background:#171510}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero-content h1{max-width:13ch}
.hero-content h1 em{display:inline-block;color:var(--yellow-soft)}
.service-photo{background-image:url("../images/casamento-cerimonia.webp");background-position:center;background-size:cover;transition:background-image .25s ease,opacity .25s ease}
.service-panel h3{margin:0 0 1rem;font-size:clamp(2.5rem,4.5vw,4rem)}
.photo-track{align-items:start}
.photo-tile{margin:0;overflow:hidden}
.photo-tile img{width:100%;height:280px;object-fit:cover}
.tile-tall{transform:none}
.tile-tall img{height:280px}
.tile-wide img{height:340px}
.missing-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(250,250,247,.45);font-size:.7rem;letter-spacing:.14em;text-align:center}
.missing-photo small{margin-top:.35rem;font-size:.58rem;letter-spacing:.1em}
.portrait{object-fit:cover;object-position:center;background:#cfc4b2}
.team-photo{object-fit:cover;object-position:center;background:#b7aa96}
.story-copy blockquote{margin:2rem 0;padding:1rem 0 1rem 1.4rem;border-left:2px solid #9b8123;color:#6e5b17;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1}
.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.story-stats span{display:grid;gap:.35rem;padding-top:1rem;border-top:1px solid rgba(28,28,28,.25);color:#625d54;font-size:.68rem;line-height:1.35}
.story-stats strong{color:#796515;font-family:var(--display);font-size:1rem}
.story-purpose{margin-top:2rem!important;color:#6e5b17!important;font-family:var(--display);font-size:1.35rem;font-weight:700}
.motion-ready .story-copy.story-scene{--story-start-delay:.6s}
.motion-ready .story-copy.story-scene blockquote{position:relative;border-left-color:transparent}
.motion-ready .story-copy.story-scene blockquote::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:#9b8123;transform:scaleY(0);transform-origin:top;transition:transform 1.1s cubic-bezier(.22,.72,.24,1) var(--story-start-delay)}
.motion-ready .story-copy.story-scene .story-scene-target{opacity:0;transform:translateY(-18px);transition:opacity 1s ease-out calc(var(--story-start-delay) + var(--story-delay)),transform 1.15s cubic-bezier(.22,.72,.24,1) calc(var(--story-start-delay) + var(--story-delay))}
.motion-ready .story-copy.story-scene.is-story-scene-visible blockquote::before{transform:scaleY(1)}
.motion-ready .story-copy.story-scene.is-story-scene-visible .story-scene-target{opacity:1;transform:translateY(0)}
@media(min-width:901px){.motion-ready .story-copy.story-scene{--story-start-delay:.2s}}
.partner-logos{grid-template-columns:repeat(3,1fr)}
.footer-main dd a{text-decoration-color:rgba(245,212,48,.45);text-underline-offset:.2em}
.footer-main dd a:hover{color:var(--yellow)}
.hero-content h1{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:1.02}
.hero-content h1 em{font-style:normal;font-weight:700}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-media img{object-position:42% center}.photo-track{align-items:start}.photo-tile img,.tile-tall img{height:260px}.tile-wide img{height:300px}.story-stats{grid-template-columns:1fr}.story-copy h2{font-size:2.75rem}}

/* Ajustes de composição solicitados */
.hero-content h1{max-width:18ch;font-size:clamp(2.25rem,3.2vw,3.2rem)}
.hero-content>.eyebrow,.hero-content>p:not(.eyebrow),.hero-content>.button{margin-left:clamp(3rem,8vw,8rem)}
.photo-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:var(--container);margin-inline:auto;align-items:stretch}
.photo-tile,.tile-tall,.tile-wide{width:auto;min-height:360px;height:360px;transform:none}
.photo-tile img,.tile-tall img,.tile-wide img{width:100%;height:100%;object-fit:cover}
.story-visuals-single .portrait{width:84%;height:100%;object-position:center}
.partners-section{background:#111}
.partners-section .partners{padding-top:0;border-top:0}
.partners-section .partners>.eyebrow{margin-bottom:1rem;font-family:var(--sans);font-size:.72rem}
.partners-section .partners>h2{max-width:760px;margin:0 auto 3rem;font-size:clamp(2.4rem,5vw,4.6rem)}
.partners-section .partner-logos span{color:rgba(250,250,247,.62);font-size:.75rem}
.faq-heading{position:static;top:auto}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content>.eyebrow,.hero-content>p:not(.eyebrow),.hero-content>.button{margin-left:clamp(1.5rem,5vw,3rem)}.photo-track{grid-template-columns:repeat(2,minmax(0,1fr));width:var(--container)}.photo-tile,.tile-tall,.tile-wide{height:320px;min-height:320px}.story-visuals-single .portrait{width:88%}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content h1{font-size:clamp(2.15rem,9.5vw,2.8rem)}.hero-content>.eyebrow,.hero-content>p:not(.eyebrow),.hero-content>.button{margin-left:1rem}.photo-track{display:grid;grid-template-columns:1fr;width:var(--container);margin-inline:auto}.photo-tile,.tile-tall,.tile-wide{width:100%;height:360px;min-height:360px}.photo-tile img,.tile-tall img,.tile-wide img{height:100%}.story-visuals-single .portrait{width:90%}.partners-section .partner-logos{grid-template-columns:1fr}}

/* Alinhamento final do Hero e da seção de História */
.hero-content{padding-left:clamp(3rem,8vw,8rem)}
.hero-content>.eyebrow,.hero-content>p:not(.eyebrow),.hero-content>.button{margin-left:0}
.hero-content h1{max-width:none}
.hero-line{display:block;white-space:nowrap}
.story-layout{align-items:start}
.story-visuals-single{min-height:760px}
.story-visuals-single .portrait{inset:0;width:100%;height:100%;object-position:center}
.story-seal-inline{position:static;display:inline-grid;grid-template-columns:auto auto;width:auto;min-width:0;aspect-ratio:auto;gap:.65rem;margin:0 0 2rem;padding:.75rem 1rem;border-radius:999px;place-items:center;transform:none}
.story-seal-inline strong{font-family:var(--display);font-size:1.45rem;line-height:1}
.story-seal-inline span{max-width:10rem;text-align:left}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content{padding-left:clamp(2rem,7vw,4rem)}.story-visuals-single{min-height:680px}.story-visuals-single .portrait{width:100%}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content{padding-right:.25rem;padding-left:1.25rem}.hero-content h1{font-size:clamp(1.5rem,6.4vw,1.85rem);letter-spacing:-.035em}.hero-line{white-space:nowrap}.story-visuals-single{min-height:560px}.story-visuals-single .portrait{width:100%}}

/* Ajustes localizados do hero, galeria, parceiros e linguagem de movimento */
@media(min-width:901px){.hero-content{padding-left:clamp(6rem,12vw,12rem)}}
@media(min-width:681px) and (max-width:900px){.hero-content{padding-left:clamp(3.5rem,9vw,6rem)}}
.photo-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(250,250,247,.42);background:linear-gradient(145deg,#22211d,#121212);text-align:center;letter-spacing:.15em}
.photo-slot-empty span{font-size:.72rem}.photo-slot-empty small{margin-top:.4rem;font-size:.58rem;letter-spacing:.11em}
.partners-section .partners>h2{font-size:clamp(2.1rem,4vw,3.65rem)}
.partner-logos a{position:relative;display:grid;min-height:150px;padding:1.6rem;place-items:center;overflow:hidden;border:1px solid rgba(232,200,114,.2);background:#f5f1e8;text-decoration:none;transition:transform .35s ease,border-color .35s ease,background-color .35s ease}
.partner-logos a:hover{border-color:rgba(245,212,48,.75);background:#fff;transform:translateY(-4px)}
.partner-logos img{width:min(100%,210px);max-height:72px;object-fit:contain;filter:grayscale(1);opacity:.82;transition:filter .35s ease,opacity .35s ease,transform .35s ease}
.partner-logos a:hover img{filter:grayscale(0);opacity:1;transform:scale(1.035)}
.partner-logos a span{position:absolute;inset:auto 1rem .65rem;padding:0;border:0;color:#5f5a52;font-size:.56rem;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.partner-logos img:not([src]),.partner-logos img[src=""]{display:none}

/* Motion progressivo: permanece funcional sem JavaScript e respeita redução de movimento. */
.hero-media img{--hero-pointer-x:0px;--hero-pointer-y:0px;--hero-scroll-y:0px;--hero-scale:1;transform:translate3d(var(--hero-pointer-x),calc(var(--hero-pointer-y) + var(--hero-scroll-y)),0) scale(var(--hero-scale));will-change:transform}
.hero-content{--hero-copy-x:0px;transform:translate3d(var(--hero-copy-x),0,0);will-change:transform}
.motion-ready .hero-media{opacity:1;transition:none}
.motion-ready .hero-media img{--hero-scale:1.045;transition:transform 1.35s cubic-bezier(.2,.7,.2,1)}
.motion-ready .hero-content>.eyebrow,.motion-ready .hero-line,.motion-ready .hero-content>p:not(.eyebrow),.motion-ready .hero-content>.button{opacity:0;transform:translateY(22px)}
.motion-loaded .hero-media{opacity:1}
.motion-loaded .hero-media img{--hero-scale:1.01}
.motion-loaded .hero-content>.eyebrow,.motion-loaded .hero-line,.motion-loaded .hero-content>p:not(.eyebrow),.motion-loaded .hero-content>.button{opacity:1;transform:translateY(0);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.motion-loaded .hero-content>.eyebrow{transition-delay:.16s}.motion-loaded .hero-line:first-child{transition-delay:.27s}.motion-loaded .hero-line:nth-child(2){transition-delay:.4s}.motion-loaded .hero-content>p:not(.eyebrow){transition-delay:.53s}.motion-loaded .hero-content>.button{transition-delay:.65s}
.motion-reveal{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.motion-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content{padding-right:1.25rem}.partner-logos a{min-height:130px}.motion-ready .hero-media img{--hero-scale:1.025}.motion-reveal{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.hero-media img,.hero-content{transform:none!important;will-change:auto}.motion-ready .hero-media,.motion-ready .hero-content>.eyebrow,.motion-ready .hero-line,.motion-ready .hero-content>p:not(.eyebrow),.motion-ready .hero-content>.button,.motion-reveal{opacity:1;transform:none}}

/* Limites seguros do hero e integração das marcas ao fundo escuro */
@media(min-width:901px){.hero-content.container{width:100%;max-width:none;margin-inline:0;padding-right:clamp(3rem,8vw,8rem);padding-left:clamp(7rem,10vw,10rem)}}
.partner-logos a,.partner-logos a:hover{min-height:140px;border:0;border-block:1px solid rgba(232,200,114,.16);background:#20201f}
.partner-logos a:hover{border-color:rgba(245,212,48,.55);background:#292826}
.partner-logos img{width:min(100%,220px);max-height:82px;filter:none;opacity:1}
.partner-logos .partner-vulcaflex img{width:min(100%,270px);max-height:100px}
.partner-logos .partner-urca img{width:min(100%,235px);max-height:92px;filter:brightness(0) invert(1)}
.partner-logos a:hover img{filter:none;opacity:1}
.partner-logos .partner-urca:hover img{filter:brightness(0) invert(1)}
.partner-logos a span{color:rgba(250,250,247,.54)}
.motion-ready .partners .partner-logos a{opacity:0;transform:translateY(-16px);transition:opacity .8s ease-out,transform .8s ease-out,border-color .35s ease,background-color .35s ease}
.motion-ready .partners.is-visible .partner-logos a{opacity:1;transform:translateY(0)}
.motion-ready .partners.is-visible .partner-logos a:nth-child(2){transition-delay:.5s}
.motion-ready .partners.is-visible .partner-logos a:nth-child(3){transition-delay:1s}
.motion-ready .partners.is-visible .partner-logos a:hover{transform:translateY(-4px);transition-delay:0s}
@media(prefers-reduced-motion:reduce){.motion-ready .partners .partner-logos a{opacity:1;transform:none;transition:none}}
@media(min-width:681px) and (max-width:900px){.hero-content.container{width:100%;max-width:none;margin-inline:0;padding-right:clamp(2rem,6vw,4rem);padding-left:clamp(3.5rem,8vw,5rem)}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-content.container{width:100%;max-width:none;margin-inline:0;padding-right:clamp(2rem,8vw,2.5rem);padding-left:clamp(2rem,8vw,2.5rem)}.hero-content h1{font-size:clamp(1rem,4.6vw,1.35rem);line-height:1.08}.hero-desktop-cta{display:none}.hero-mobile-cta{display:flex;width:100%;justify-content:center}.hero-mobile-cta .button{width:min(100%,300px)}.partner-logos .partner-vulcaflex img{width:min(100%,260px)}}

/* Recorte orgânico e interação contida das fotografias */
.service-photo,
.story-visuals-single,
.story-visuals-single .portrait{
  border-radius:clamp(2.25rem,4vw,4.5rem) .7rem clamp(2.25rem,4vw,4.5rem) .7rem;
}
.photo-tile{
  border-radius:1rem;
}
.service-photo-frame::after{
  border-radius:clamp(2.25rem,4vw,4.5rem) .7rem clamp(2.25rem,4vw,4.5rem) .7rem;
}
.photo-tile,
.story-visuals-single{
  overflow:hidden;
}
.service-photo-frame,
.photo-tile,
.story-visuals-single{
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
  transform-origin:center;
}
@media(hover:hover) and (pointer:fine){
  .service-photo-frame:hover,
  .photo-tile:hover,
  .story-visuals-single:hover{
    z-index:2;
    transform:scale(1.04);
  }
}

/* Indicadores seguem as mesmas duas famílias dos títulos e textos. */
.authority,.authority span{font-family:var(--sans)}
.authority strong{font-family:var(--serif)}

.quote-photo{
  width:100%;
  height:690px;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.quote-photo{height:350px}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.quote-photo{height:270px}}

/* Mantém o mesmo tratamento e hover nas duas fotografias da História */
.story-visuals .portrait,
.story-visuals .team-photo{
  border-radius:clamp(2.25rem,4vw,4.5rem) .7rem clamp(2.25rem,4vw,4.5rem) .7rem;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
  transform-origin:center;
}
@media(hover:hover) and (pointer:fine){
  .story-visuals .portrait:hover,
  .story-visuals .team-photo:hover{
    z-index:3;
    transform:scale(1.04);
  }
}
@media(prefers-reduced-motion:reduce){
  .story-visuals .portrait,
  .story-visuals .team-photo{
    transition:none;
    transform:none!important;
  }
}

/* Proporção final da composição da História: acompanha a altura do texto */
.story-layout{
  align-items:stretch;
}
.story-visuals{
  align-self:stretch;
  min-height:760px;
}
.story-visuals .portrait{
  inset:0 auto auto 0;
  z-index:1;
  width:92%;
  height:82%;
}
.story-visuals .team-photo{
  right:0;
  bottom:0;
  z-index:4;
  width:64%;
  height:40%;
  border:0;
}
@media(hover:hover) and (pointer:fine){
  .story-visuals .portrait:hover{
    z-index:1;
  }
  .story-visuals .team-photo:hover{
    z-index:4;
  }
}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .story-visuals{min-height:680px}
  .story-visuals .portrait{width:92%;height:80%}
  .story-visuals .team-photo{width:68%;height:42%}
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .story-visuals{min-height:560px}
  .story-visuals .portrait{width:94%;height:78%}
  .story-visuals .team-photo{width:72%;height:40%}
}

/* Recupera a presença da headline sem alterar sua posição ou as duas linhas */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{
    font-size:clamp(1.1rem,5.25vw,1.35rem);
    line-height:1.08;
  }
}

@media(prefers-reduced-motion:reduce){
  .service-photo-frame,
  .photo-tile,
  .story-visuals-single{
    transition:none;
    transform:none!important;
  }
}

/* Sequência cinematográfica do Hero */
.hero-media .hero-shot{
  position:absolute;
  inset:0;
  opacity:0;
  --hero-shot-scale:1.045;
  transform:translate3d(var(--hero-pointer-x),calc(var(--hero-pointer-y) + var(--hero-scroll-y)),0) scale(var(--hero-scale)) scale(var(--hero-shot-scale));
  transition:opacity 2.2s cubic-bezier(.4,0,.2,1),transform 9s cubic-bezier(.2,.55,.25,1);
}
.motion-ready .hero-media .hero-shot{
  transition:opacity 2.2s cubic-bezier(.4,0,.2,1),transform 9s cubic-bezier(.2,.55,.25,1);
}
.hero-media .hero-shot.is-active,
.hero-media .hero-shot.is-entering{
  z-index:1;
  opacity:1;
  --hero-shot-scale:1.01;
}
.hero-media .hero-shot.is-entering{z-index:2}
@media(prefers-reduced-motion:reduce){
  .hero-media .hero-shot{opacity:0;transform:none!important;transition:none}
  .hero-media .hero-shot.is-active{opacity:1}
  .hero-media .hero-shot.is-entering{opacity:0}
}

/* Contraste das letras do Hero, sem camada localizada sobre a fotografia */
.hero-overlay{background:none}
.hero-content>.eyebrow{font-weight:700;text-shadow:0 .5px 2px rgba(0,0,0,.32),0 2px 6px rgba(0,0,0,.18)}
.hero-content h1{text-shadow:0 .5px 2px rgba(0,0,0,.32),0 2px 6px rgba(0,0,0,.18)}
.hero-content h1{color:#fff}
.hero-content>.eyebrow,.hero-content h1 em{color:#f0d384}
.hero-content>p:not(.eyebrow){color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-overlay{background:none}}


/* Hover cromático do CTA principal */
.hero-content .button-primary{position:relative;isolation:isolate;overflow:hidden}


/* Microtransição editorial da headline */
.hero-variable{
  position:relative;
  display:inline-block;
  width:9.2em;
  height:1.06em;
  overflow:hidden;
  vertical-align:-.18em;
  white-space:nowrap;
}
.hero-variable-option{
  position:absolute;
  inset:0 auto auto 0;
  display:block;
  will-change:transform;
  transition:transform .72s cubic-bezier(.22,.72,.24,1);
}
.hero-variable-primary{transform:translateY(0)}
.hero-variable-alternate{transform:translateY(-112%)}
.hero-variable.is-alternate .hero-variable-primary{transform:translateY(112%)}
.hero-variable.is-alternate .hero-variable-alternate{transform:translateY(0)}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{width:100%;max-width:100%;min-width:0}
  .hero-line{white-space:normal}
  .hero-variable{width:auto;height:auto;overflow:visible;vertical-align:baseline;white-space:normal}
  .hero-variable-option{position:static;transition:none}
  .hero-variable-primary{transform:none}
  .hero-variable-alternate{display:none}
  .hero-mobile-cta{width:100vw;margin-inline:calc(50% - 50vw);justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .hero-variable-option{transition:none}
  .hero-variable-primary{transform:none}
  .hero-variable-alternate{display:none}
}

/* Identidade visual do cabeçalho */
@font-face{
  font-family:"Audrey";
  src:url("../fonts/Audrey-Normal.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.site-header .brand-signature>span{
  font-family:"Audrey",sans-serif;
  font-weight:400;
}
.site-header .brand-mark,
.site-header .brand-signature>span,
.site-header .brand-signature>small{
  animation:header-brand-enter 850ms ease-out both;
}
.site-header .brand-mark{animation-delay:0ms}
.site-header .brand-signature>span{animation-delay:100ms}
.site-header .brand-signature>small{animation-delay:200ms}
@keyframes header-brand-enter{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .site-header .brand-mark,
  .site-header .brand-signature>span,
  .site-header .brand-signature>small{animation:none}
}

/* Carrossel horizontal das fotografias de eventos */
.photo-strip{overflow:hidden}
.photo-carousel-viewport{
  width:var(--container);
  margin-inline:auto;
  outline:none;
}
.photo-carousel-viewport:focus-visible{
  outline:2px solid var(--yellow);
  outline-offset:5px;
}
.photo-track{
  display:flex;
  width:100%;
  margin:0;
  gap:1rem;
  align-items:stretch;
}
.photo-tile,
.tile-tall,
.tile-wide{
  position:relative;
  isolation:isolate;
  flex:1 1 0;
  width:auto;
  min-width:0;
  min-height:520px;
  height:520px;
  margin:0;
  transform:none;
  transition:flex-grow 450ms cubic-bezier(.22,.72,.24,1),opacity 450ms ease;
}
@media(hover:hover) and (pointer:fine){
  .photo-tile:nth-child(2){overflow:hidden}
  .photo-tile:nth-child(2)>img{transition:transform 450ms cubic-bezier(.22,.72,.24,1)}
  .photo-tile:nth-child(2):hover>img{transform:scale(1.22)}
  .photo-tile:hover{
    flex-grow:2.15;
    z-index:auto;
    transform:none;
  }
}
.photo-tile::after{
  content:"";position:absolute;inset:30% 0 0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.35) 45%,transparent);
}
.photo-tile>figcaption{
  position:absolute;z-index:2;inset:auto 0 0;padding:1.5rem;
  color:#fff;font-family:var(--serif);font-weight:500;
  font-size:clamp(1.4rem,2vw,2rem);line-height:1.15;text-wrap:balance;
  pointer-events:none;
}
.photo-carousel-nav{
  display:none;
  align-items:center;
  margin-top:1.15rem;
}
.photo-carousel-arrow{
  display:grid;
  width:2.75rem;
  height:2.75rem;
  padding:0;
  border:1px solid rgba(232,200,114,.35);
  border-radius:50%;
  place-items:center;
  color:var(--yellow-soft);
  background:transparent;
  transition:border-color 250ms ease,background-color 250ms ease;
}
.photo-carousel-arrow::before{
  content:"";
  width:.62rem;
  height:.62rem;
  border-top:1.5px solid currentColor;
  border-left:1.5px solid currentColor;
}
.photo-carousel-arrow[data-carousel-prev]::before{transform:translateX(1px) rotate(-45deg)}
.photo-carousel-arrow[data-carousel-next]::before{transform:translateX(-1px) rotate(135deg)}
.photo-carousel-arrow:hover{border-color:var(--yellow-soft);background:rgba(232,200,114,.08)}
@media(max-width:900px) and (hover:none), (max-width:900px) and (pointer:coarse){
  .photo-carousel-viewport{
    width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    scroll-behavior:smooth;
    scroll-padding-inline:2.25rem;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .photo-carousel-viewport::-webkit-scrollbar{display:none}
  .photo-track{
    display:flex;
    width:max-content;
    margin:0;
    padding-inline:2.25rem;
    gap:.75rem;
  }
  .photo-tile,
  .tile-tall,
  .tile-wide{
    flex:0 0 calc(100vw - 4.5rem);
    width:calc(100vw - 4.5rem);
    min-width:0;
    height:360px;
    min-height:360px;
    scroll-snap-align:center;
    opacity:.68;
    transform:scale(.965);
    transition:transform 450ms cubic-bezier(.22,.72,.24,1),opacity 450ms ease;
  }
  .photo-tile.is-active{
    flex-grow:0;
    opacity:1;
    transform:scale(1);
  }
  .photo-carousel-nav{display:flex;justify-content:space-between;margin-top:.8rem}
  .photo-carousel-arrow{width:2.5rem;height:2.5rem}
}
@media(prefers-reduced-motion:reduce){
  .photo-tile:nth-child(2)>img{transition:none}
  .photo-tile:nth-child(2):hover>img{transform:none}
  .photo-tile,
  .photo-carousel-arrow{transition:none}
  .photo-carousel-viewport{scroll-behavior:auto}
}

/* Entrada dos indicadores; bordas originais mantêm suas medidas no grid. */
.authority-scene{--authority-stagger:110ms}
.authority-scene article{position:relative;--authority-order:0;border-color:transparent}
.authority-scene article:nth-child(2){--authority-order:1}
.authority-scene article:nth-child(3){--authority-order:2}
.authority-scene article:nth-child(4){--authority-order:3}
.authority-scene article>strong,
.authority-scene article>span{
  opacity:0;
  transform:translateY(12px);
  transition:opacity 480ms ease,transform 560ms cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--authority-order)*var(--authority-stagger));
}
.authority-scene article::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-1px;
  width:1px;
  background:rgba(250,250,247,.14);
  opacity:0;
  transform:scaleY(0);
  transform-origin:top;
  transition:opacity 400ms ease,transform 560ms cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--authority-order)*var(--authority-stagger));
}
.authority-scene article:first-child::before{content:none}
.authority-scene.is-authority-visible article>strong,
.authority-scene.is-authority-visible article>span{opacity:1;transform:translateY(0)}
.authority-scene.is-authority-visible article::before{opacity:1;transform:scaleY(1)}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.authority-scene article:nth-child(3)::before{content:none}}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .authority-scene{--authority-stagger:85ms}
  .authority-scene article::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:1px;
    background:rgba(250,250,247,.08);
    opacity:0;
    transform:scaleX(0);
    transform-origin:left;
    transition:opacity 400ms ease,transform 560ms cubic-bezier(.2,.7,.2,1);
    transition-delay:calc(var(--authority-order)*var(--authority-stagger));
  }
  .authority-scene.is-authority-visible article::after{opacity:1;transform:scaleX(1)}
}
@media(prefers-reduced-motion:reduce){
  .authority-scene article>strong,
  .authority-scene article>span,
  .authority-scene article::before,
  .authority-scene article::after{opacity:1;transform:none;transition:none}
}

/* Bahnschrift Light nos textos cinzas da seção de serviços e galeria. */
.services .section-intro>div>p,
.services .service-panel>p:not(.service-number),
.photo-strip>.asset-note{
  font-family:"Bahnschrift Light","Bahnschrift","Segoe UI",sans-serif;
  font-weight:300;
  font-variation-settings:"wght" 300;
}

/* Polimento final restrito ao Hero e à navegação desktop. */
@media(min-width:901px){
  .desktop-nav a{font-size:1rem;font-weight:600;color:rgba(250,250,247,.94);text-shadow:0 1px 3px rgba(0,0,0,.25)}
}
.hero-media{filter:brightness(.86)}
.hero-shot[src="assets/images/hero-buffet-queijos.jpg"]{filter:brightness(.9)}
.hero-content>.eyebrow{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.4),0 2px 5px rgba(0,0,0,.22)}
.hero-content>p:not(.eyebrow){font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.35),0 2px 5px rgba(0,0,0,.18)}
.hero .scroll-cue{color:rgba(250,250,247,.85);text-shadow:0 1px 3px rgba(0,0,0,.3)}
.hero-content .button-primary::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:#111;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 400ms cubic-bezier(.22,.61,.36,1);
}
.hero-content .hero-cta-label{position:relative;z-index:1}
.hero-content .hero-cta-hover{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.85rem 1.35rem;
  color:var(--yellow);
  pointer-events:none;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 400ms cubic-bezier(.22,.61,.36,1);
}
@media(hover:hover) and (pointer:fine){
  .hero-content .button-primary:hover{background:var(--yellow);color:var(--black)}
  .hero-content .button-primary:hover::before,
  .hero-content .button-primary:hover .hero-cta-hover{clip-path:inset(0 0 0 0)}
}
.hero-content .button-primary:focus-visible::before,
.hero-content .button-primary:focus-visible .hero-cta-hover{clip-path:inset(0 0 0 0)}
@media(prefers-reduced-motion:reduce){
  .hero-content .button-primary::before,
  .hero-content .hero-cta-hover{transition:none}
}

/* Escala ampliada exclusivamente no desktop, sem transformar o bloco. */
@media(min-width:901px){
  .hero-content>.eyebrow{font-size:clamp(.8rem,.8vw,.9rem)}
  .hero-content h1{
    font-size:clamp(2rem,3.6vw,3.85rem);
    margin-top:clamp(1rem,1.1vw,1.3rem);
    margin-bottom:clamp(1.5rem,1.7vw,2rem);
  }
  .hero-content>p:not(.eyebrow){
    font-size:clamp(1.1rem,1.4vw,1.4rem);
    line-height:1.7;
    max-width:clamp(40rem,46vw,50rem);
    margin-bottom:clamp(2.2rem,2.5vw,3rem);
  }
  .hero-content .hero-desktop-cta{
    min-width:clamp(16rem,19vw,20rem);
    min-height:clamp(3.8rem,4.2vw,4.2rem);
    padding:1rem 1.65rem;
    font-size:clamp(.85rem,.95vw,.95rem);
  }
  .hero-content .hero-desktop-cta .hero-cta-hover{padding:1rem 1.65rem}
}

/* O texto em fluxo estabelece a mesma baseline da parte fixa da frase. */
@media(min-width:681px){
  .hero-variable{display:inline-grid;vertical-align:baseline}
  .hero-variable-primary{position:relative;inset:auto;grid-area:1 / 1}
}

/* Transição editorial exclusiva do mobile. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .authority{display:none}
  .services.section{padding-top:3rem}
  #services-title{max-width:100%}
  #services-title .service-title-part{display:block}
  #services-title em.service-title-part{
    font-family:var(--serif);
    font-style:italic;
    font-weight:500;
    font-size:1.3em;
    line-height:1.08;
  }
  .services .section-intro.motion-reveal{opacity:1;transform:none;transition:none}
  .services-editorial-scene .service-title-part{
    opacity:0;
    transform:translateY(12px);
    transition:opacity 450ms ease,transform 550ms cubic-bezier(.2,.7,.2,1);
  }
  .services-editorial-scene .service-title-part:nth-child(2){transition-delay:100ms}
  .services-editorial-scene .service-title-part:nth-child(3){transition-delay:200ms}
  .services-editorial-scene.is-editorial-visible .service-title-part{opacity:1;transform:translateY(0)}
}
@media(max-width:680px) and (prefers-reduced-motion:reduce){
  .services-editorial-scene .service-title-part{opacity:1;transform:none;transition:none}
}

/* Fonte dos seletores que alternam as três imagens de serviços. */
.services .service-tabs button{
  font-family:"Bahnschrift Light","Bahnschrift","Segoe UI",sans-serif;
  font-weight:300;
  font-variation-settings:"wght" 300;
}

/* Mesmo destaque editorial de seu evento também no desktop. */
@media(min-width:681px){
  #services-title em.service-title-part{
    font-family:var(--serif);
    font-style:italic;
    font-weight:500;
    font-size:1.3em;
    line-height:1.08;
  }
}

/* Título de serviços: três linhas, ajustadas à largura disponível. */
#services-title{width:100%;max-width:100%;min-width:0;container-type:inline-size}
#services-title .service-title-part{display:block;white-space:nowrap;font-size:min(1em,9.5cqw)}
#services-title em.service-title-part{font-size:min(1em,9.5cqw)}

/* Composição editorial ampla, restrita ao desktop. */
@media(min-width:901px){
  .photo-strip .photo-carousel-viewport,
  .photo-strip>.asset-note{width:min(92%,2400px)}
  .story-layout.container{width:min(92%,1640px)}
  .photo-strip .photo-track{gap:clamp(1rem,1.1vw,1.75rem)}
  .story-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,6rem);align-items:stretch}
  .story-copy{width:100%;max-width:none;justify-self:stretch;min-width:0}
  .story-copy>p{max-width:68ch}
  .story-copy>:last-child{margin-bottom:0}
  .story-visuals{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,48fr) minmax(0,38fr) minmax(0,14fr);height:auto;min-height:0;align-self:stretch;contain:size;min-width:0}
  .story-visuals .portrait,
  .story-visuals .team-photo{position:relative;inset:auto;width:100%;height:100%;min-height:0;align-self:stretch}
  .story-visuals .portrait{grid-column:3 / 13;grid-row:1 / 3}
  .story-visuals .team-photo{grid-column:1 / 9;grid-row:2 / 4}
}

@media(min-width:901px){
  .partners-section{padding-top:clamp(4rem,6vw,6rem)}
  .partners-section .partners.container{width:min(92%,1640px)}
  .partners-section .partners>h2{max-width:1100px}
  #partners-title .partner-title-line{display:block;white-space:nowrap}
  .partners-section .partner-logos{gap:clamp(1.5rem,2vw,2.5rem)}
  .partners-section .partner-logos a{min-height:clamp(200px,16vw,260px);padding:2rem}
  .partners-section .partner-logos img{width:min(100%,300px);max-height:125px}
  .partners-section .partner-logos .partner-vulcaflex img{width:min(100%,360px);max-height:145px}
  .partners-section .partner-logos .partner-urca img{width:min(100%,320px);max-height:135px}
}

/* Título em duas linhas e entrada gradual das dúvidas. */
#faq-title{width:100%;container-type:inline-size;text-align:center}
#faq-title .faq-title-line{display:block;white-space:nowrap;font-size:min(1em,10cqw)}
@media(min-width:901px){
  .faq-layout.container{width:min(92%,1640px)}
  .faq-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(3rem,5vw,6rem)}
  .faq-heading{min-width:0}
}
@media(max-width:900px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .faq-heading{text-align:center}
  .faq-heading>p:last-child{max-width:36rem;margin-inline:auto}
}
.motion-ready .faq-layout.motion-reveal{opacity:1;transform:none;transition:none}
.faq-items-scene details{opacity:0;transform:translateY(10px);transition:opacity 550ms ease,transform 650ms cubic-bezier(.22,.72,.24,1);transition-delay:var(--faq-entry-delay,0ms)}
.faq-items-scene.is-visible details{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.faq-items-scene details{opacity:1;transform:none;transition:none}}

/* Ajustes pontuais de acabamento e alinhamento. */
.quote-photo{border-radius:clamp(1.25rem,2vw,2.25rem)}
.services .section-intro.motion-reveal{opacity:1;transform:none;transition:none}
@media(min-width:901px){
  .faq-heading{position:static;align-self:center;text-align:center}
  .faq-heading>p:last-child{max-width:36rem;margin-inline:auto}
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .faq-heading{padding-top:1rem}
  .faq-layout{gap:1.75rem}
}

/* Serviços: seleção e narrativa antes da fotografia. */
.services-layout{grid-template-columns:minmax(0,1fr)}
@media(min-width:901px){
  .services-layout{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr)}
  .services-layout .service-photo-frame{grid-column:1;grid-row:1;width:auto;justify-self:stretch}
  .services-layout .service-content{grid-column:2;grid-row:1}
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .partners-section .partners>h2{width:100%;max-width:none;container-type:inline-size}
  #partners-title .partner-title-line{display:block;white-space:nowrap;font-size:min(1em,7cqw)}
}

/* Refinamento da assinatura e do título editorial. */
.site-header .brand-signature>span{animation:none}
.brand-letter{display:inline;opacity:0;animation:brand-letter-enter 800ms ease-out var(--letter-delay) both}
.site-header .brand-signature>small{animation:header-brand-enter 1000ms ease-out 1000ms both}
@keyframes brand-letter-enter{from{opacity:0}to{opacity:1}}
#services-title{font-weight:500}
@media(prefers-reduced-motion:reduce){
  .brand-letter{opacity:1;animation:none}
  .site-header .brand-signature>small{animation:none}
  .hero-variable-option{transition:none}
  .hero-variable-primary{transform:none}
  .hero-variable-alternate{display:none}
}

/* Peso mais leve nos títulos dos três tipos de evento. */
.services .service-panel h3{font-weight:500}

/* Escala e alinhamento do Hero mobile anteriores à centralização. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{width:100%;max-width:100%;margin-inline:0;font-size:clamp(1.1rem,5.25vw,1.35rem);line-height:1.08;text-align:left}
  .hero-content h1 .hero-line{white-space:normal}
  .hero-content>.eyebrow,
  .hero-content>p:not(.eyebrow){margin-left:0;text-align:left}
}

/* Ampliação contida dos textos e entrada gradual do CTA no mobile. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content>.eyebrow{font-size:.76rem}
  .hero-content h1{font-size:clamp(1.15rem,5.5vw,1.45rem)}
  .hero-content>p:not(.eyebrow){font-size:1.02rem;line-height:1.65}
  .hero-mobile-cta{animation:hero-cta-enter 1.4s ease-out .6s both}
}
@keyframes hero-cta-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .hero-mobile-cta{animation:none;opacity:1}
}

/* Composição textual centralizada da referência, sem expansão do container. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{font-size:clamp(1rem,5.15vw,1.35rem);text-align:center}
  .hero-content h1 .hero-line{white-space:nowrap}
  .hero-content>.eyebrow,
  .hero-content>p:not(.eyebrow){text-align:center}
}

/* Fotografia nova: redução uniforme e discreta de luminosidade. */
.hero-shot[src="assets/images/hero-buffet-mesa-flores.jpg"]{filter:brightness(.92);object-position:50% 58%}
/* Mais presença para a headline mobile, com espaço reservado à troca de frase. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{width:calc(100vw - 32px);max-width:none;margin-inline:calc((100% - (100vw - 32px))/2);font-size:clamp(1rem,5.75vw,1.65rem)}
  .hero-variable{display:inline-grid;width:auto;height:1.15em;overflow:hidden;vertical-align:baseline;white-space:nowrap}
  .hero-variable-option{display:block;position:relative;inset:auto;grid-area:1 / 1;transition:transform .72s cubic-bezier(.22,.72,.24,1)}
  .hero-variable-primary{transform:translateY(0)}
  .hero-variable-alternate{transform:translateY(-112%)}
  .hero-variable.is-alternate .hero-variable-primary{transform:translateY(112%)}
  .hero-variable.is-alternate .hero-variable-alternate{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .hero-variable-option{transition:none}
  .hero-variable-primary{transform:none}
  .hero-variable-alternate{display:none}
}

/* A largura acompanha a frase visível, mantendo a linha inteira centralizada. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-variable{display:inline-grid;width:var(--hero-word-primary,3.4em);text-align:left;transition:width .72s cubic-bezier(.22,.72,.24,1)}
  .hero-variable-option{width:max-content;grid-area:auto}
  .hero-variable-primary{position:relative;grid-area:1 / 1}
  .hero-variable-alternate{position:absolute;inset:0 auto auto 0}
  .hero-variable.is-alternate{width:var(--hero-word-alternate,6.8em)}
}
@media(prefers-reduced-motion:reduce){.hero-variable{transition:none}}

/* Entrada do menu móvel: painel descendente e links em sequência contínua. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .mobile-nav{min-height:0;overflow:hidden}
  .mobile-nav:not([hidden]) a{animation:mobile-menu-link-enter 700ms ease-out both}
  .mobile-nav:not([hidden]) a:nth-child(1){animation-delay:100ms}
  .mobile-nav:not([hidden]) a:nth-child(2){animation-delay:220ms}
  .mobile-nav:not([hidden]) a:nth-child(3){animation-delay:340ms}
  .mobile-nav:not([hidden]) a:nth-child(4){animation-delay:460ms}
}
@keyframes mobile-menu-link-enter{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .mobile-nav:not([hidden]),.mobile-nav:not([hidden]) a{animation:none}
}

/* Serviços mobile: título, fotografia e narrativa, nessa ordem. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .service-panel>.service-photo-frame{margin-block:1.5rem 2rem}
  .services .service-panel>.text-link{display:none}
}

/* Ajuste editorial da narrativa dos serviços, somente no mobile. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .service-panel>[data-service-copy]{width:calc(100% - 3rem);margin-inline:auto;padding-top:1rem}
}
/* A interação das empresas deixa de reutilizar o atraso de entrada. */
@media(min-width:901px) and (hover:hover){
  .motion-ready .partners.is-visible .partner-logos a.is-interactive{transition:opacity .8s ease-out,transform .25s ease,border-color .25s ease,background-color .25s ease;transition-delay:0s}
}
/* Preenchimento radial e texto sincronizado no seletor de evento. */
.event-options label>span{position:relative;isolation:isolate;overflow:hidden}
.event-options label>span::before{content:"";position:absolute;inset:0;z-index:0;background:#111;clip-path:circle(0% at var(--event-x,50%) var(--event-y,50%));transition:clip-path 400ms cubic-bezier(.22,.61,.36,1)}
.event-option-label{position:relative;z-index:1;font-style:normal}
.event-option-selected{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#fff;font-style:normal;clip-path:circle(0% at var(--event-x,50%) var(--event-y,50%));transition:clip-path 400ms cubic-bezier(.22,.61,.36,1)}
.event-options input:checked+span{border-color:#111;color:var(--graphite);background:transparent}
.event-options input:checked+span::before,
.event-options input:checked+span .event-option-selected{clip-path:circle(150% at var(--event-x,50%) var(--event-y,50%))}
@media(prefers-reduced-motion:reduce){
  .event-options label>span::before,.event-option-selected{transition:none}
}

/* Intervalos equilibrados entre fotografia, narrativa e faixa fotográfica. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .service-panel>.service-photo-frame{margin-bottom:3rem}
  .service-panel>[data-service-copy]{padding-top:0;margin-bottom:0}
  .services.section{padding-bottom:1rem}
  .services+.photo-strip{padding-top:1rem}
  .form-step legend{max-width:100%;font-size:clamp(1rem,4.4vw,1.2rem);white-space:nowrap}
}
/* Bordas suaves no preenchimento, com os mesmos 400ms de duração. */
@property --event-reveal{syntax:"<percentage>";inherits:false;initial-value:0%}
@supports (mask-image:radial-gradient(circle,#000,transparent)){
  .event-options label>span::before,.event-option-selected{
    clip-path:none;
    mask-image:radial-gradient(circle farthest-corner at var(--event-x,50%) var(--event-y,50%),#000 calc(var(--event-reveal) - 2%),transparent var(--event-reveal));
    transition:--event-reveal 400ms cubic-bezier(.4,0,.2,1);
  }
  .event-options input:checked+span::before,.event-options input:checked+span .event-option-selected{clip-path:none;--event-reveal:150%}
}
.form-legend-word{display:inline-block}
.form-step:not([hidden]) .form-legend-word{animation:form-word-enter 450ms ease-out var(--word-delay) both}
@keyframes form-word-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .event-options label>span::before,.event-option-selected{transition:none}
  .form-step:not([hidden]) .form-legend-word{animation:none}
}

/* Quote submission: server-confirmed feedback only. */
.quote-send-error{margin:1.5rem 0 0;color:#9b2e21;font-size:.85rem}
.quote-success{padding:2.5rem 0 1rem;max-width:34rem}
.quote-success h3{margin:1rem 0;font-family:var(--serif);font-size:clamp(2.2rem,5vw,3rem);font-weight:500;line-height:1.15}
.quote-success p{color:#625d54;margin:.7rem 0;line-height:1.7}
.quote-success-check{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid #a98b20;border-radius:50%;color:#8b7218;font-size:1.2rem}
#quote-form button:disabled{cursor:wait;opacity:.75}
.quote-success[hidden],.quote-send-error[hidden],.quote-card .form-progress[hidden],.quote-card .step-label[hidden],#quote-form .form-actions[hidden]{display:none}
.quote-whatsapp-note{margin:1rem 0 0;color:#625d54;font-size:.8rem;line-height:1.5}

/* Refinamento tipográfico: preservar escala e geometria dos títulos. */
#story-title,#partners-title,#faq-title,#faq-title em,#quote-title{font-weight:500}
#quote-title em{
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
  font-size:1.3em;
  line-height:1.08;
}
#quote-form{container-type:inline-size}
#quote-form .form-step legend{
  max-width:100%;
  font-size:1.95rem;
  font-size:min(1.95rem,7.4cqw);
  font-weight:500;
  white-space:nowrap;
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  #quote-form .form-step legend{
    font-size:clamp(1.15rem,6vw,1.75rem);
    font-size:min(1.75rem,7.4cqw);
  }
}

@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){.hero-shot[src="assets/images/hero-buffet-mesa-flores.jpg"]{object-position:50% center}}

/* Recorte da foto original para excluir sua borda escura à direita. */
.hero-shot[src="assets/images/hero-buffet-caprese.jpg"]{filter:brightness(.92);object-position:left center}
@media(min-width:681px){.hero-media .hero-shot[src="assets/images/hero-buffet-caprese.jpg"]{width:125%;max-width:none}}

/* Hierarquia mobile: texto em fluxo e espaço estável para as duas palavras. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero{min-height:92svh;height:auto;padding-block:calc(var(--header-h) + 3rem) 4rem}
  .hero-content.container{width:100%;margin-inline:0;padding:0 24px}
  .hero-content>.eyebrow{display:none}
  .hero-content h1{
    width:100%;max-width:100%;margin:0 0 1.5rem;
    font-size:clamp(2rem,8.4vw,2.25rem);line-height:1.15;
    text-align:center;text-wrap:initial;color:#fff;text-shadow:none;
  }
  .hero-content h1 .hero-line{white-space:normal}
  .hero-content h1 em{color:#fff}
  .hero-content>p:not(.eyebrow){
    margin:0 auto 2rem;max-width:24rem;
    font-size:clamp(1.0625rem,4.5vw,1.125rem);line-height:1.5;
    font-weight:400;color:#fff;text-shadow:none;
  }
  .hero-variable,.hero-variable.is-alternate{
    display:inline-grid;width:max-content;max-width:100%;height:auto;
    overflow:hidden;vertical-align:bottom;line-height:inherit;
    text-align:center;transition:none;
  }
  .hero-variable-option{
    position:relative;inset:auto;grid-area:1 / 1;width:max-content;justify-self:center;
    transition:transform .72s cubic-bezier(.22,.72,.24,1);
  }
  .hero-mobile-cta{width:100%;margin-inline:0}
  .hero-media,.hero-media .hero-shot{filter:none}
  .hero-overlay{z-index:1;background:rgba(0,0,0,.5);pointer-events:none}
}
@media(max-width:680px) and (prefers-reduced-motion:reduce){
  .hero-variable-option{transition:none}
  .hero-variable-primary,.hero-variable.is-alternate .hero-variable-primary{transform:none}
  .hero-variable-alternate{display:block;visibility:hidden;transform:none}
  .hero-mobile-cta{animation:none;opacity:1}
}

/* Ajuste da hero: headline equilibrada e overlay constante durante a troca das fotos. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{
    font-size:clamp(1.75rem,7.6vw,2rem);
  }
}
.hero-overlay{
  z-index:1;
  background:rgba(0,0,0,.56);
}
.hero-media .hero-shot.is-active,
.hero-media .hero-shot.is-entering{
  z-index:0;
}

/* Hero mobile: duas linhas centralizadas, com largura suficiente para as duas palavras alternadas. */
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .site-header{background:rgba(13,13,13,.9);backdrop-filter:blur(12px)}
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:grid}
  .mobile-nav{display:grid}
  .mobile-nav[hidden]{display:none}
  .hero-content.container{
    width:100%;
    max-width:none;
    margin-inline:0;
    padding-inline:12px;
  }
  .hero-content{text-align:center}
  .hero-content h1{
    width:100%;
    max-width:100%;
    margin:0 auto 1.5rem;
    font-size:min(1.65rem,6.6vw);
    line-height:1.15;
    text-align:center;
  }
  .hero-content h1 .hero-line{
    display:block;
    white-space:nowrap;
    text-align:center;
  }
  .hero-line-inner{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
    align-items:baseline;
    justify-content:center;
    gap:.2em;
  }
  .hero-content h1 em.hero-line{
    width:auto;
    max-width:100%;
    margin:0;
  }
  .hero-content>p:not(.eyebrow){
    margin-inline:auto;
    text-align:center;
  }
  .hero-mobile-cta{
    display:flex;
    width:100%;
    margin-inline:0;
    justify-content:center;
  }
  .hero-mobile-cta .button{
    width:min(100%,300px);
    margin-inline:auto;
  }
}
.hero-overlay{
  z-index:1;
  background:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1)),rgba(0,0,0,.56);
}


/* Voga Medium nos destaques editoriais selecionados. */
@font-face{
  font-family:"Voga";
  src:url("../fonts/Voga-Medium.otf") format("opentype");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}

/* Elegant Regular nos títulos, preservando os destaques editoriais. */
@font-face{
  font-family:"Elegant Serif";
  src:url("../fonts/Elegant-Regular.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.hero-content h1,
.hero-content h1 em,
#services-title,
.services .service-panel h3,
#story-title,
#partners-title,
#faq-title,
#faq-title em,
#quote-title{
  font-family:"Elegant Serif",var(--serif);
  font-weight:400;
  letter-spacing:0;
}

/* Textos de apoio em uma serifada clássica, como a referência. */
.hero-content>p:not(.eyebrow),
.services .section-intro>div>p,
.services .service-panel>p[data-service-copy],
.story-copy>p:not(.eyebrow,.story-lead,.story-purpose),
.faq-layout>div>p:not(.eyebrow),
.accordion details>div,
.quote-card>p:not(.eyebrow,.step-label){
  font-family:"Times New Roman",Times,"Liberation Serif",serif;
}

/* Revert the desktop hero alignment; animate the measured phrase width on mobile. */
@media(min-width:681px) and (min-height:521px), (min-width:901px){
  .hero-content h1{text-align:left}
  .hero-line-inner{
    display:inline-flex;
    align-items:baseline;
    justify-content:flex-start;
    gap:.2em;
  }
  .hero-variable,.hero-variable.is-alternate{
    width:var(--hero-word-primary,3.4em);
    transition:width .72s cubic-bezier(.22,.72,.24,1);
  }
  .hero-variable.is-alternate{width:var(--hero-word-alternate,6.8em)}
  .hero-content>p:not(.eyebrow){margin-inline:0;text-align:left}
  .hero-desktop-cta{
    min-width:20rem;
    min-height:4rem;
    padding-inline:1.75rem;
    font-size:.82rem;
  }
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-line-inner{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
    align-items:baseline;
    justify-content:center;
    gap:.2em;
  }
  .hero-variable,.hero-variable.is-alternate{
    display:inline-grid;
    grid-template-columns:var(--hero-word-primary,3.4em);
    max-width:none;
    height:1.15em;
    overflow:hidden;
    vertical-align:baseline;
    white-space:nowrap;
    transition:grid-template-columns .72s cubic-bezier(.22,.72,.24,1);
  }
  .hero-variable.is-alternate{grid-template-columns:var(--hero-word-alternate,6.8em)}
  .hero-variable-option{
    position:relative;
    inset:auto;
    display:block;
    grid-area:1 / 1;
    width:max-content;
    min-width:0;
    justify-self:start;
  }
}

/* Hero mobile em duas linhas, preservando a expansão da frase alternada. */
@media(max-width:680px){
  .hero-content.container{padding-inline:12px}
  .hero-content h1{font-size:clamp(1.5rem,7.8vw,2.5rem);line-height:1.15}
  .hero-content h1 .hero-line{white-space:nowrap}
  .hero-line-inner{width:max-content;flex-wrap:nowrap;column-gap:.2em;row-gap:0}
  .hero-variable,.hero-variable.is-alternate{
    grid-template-columns:var(--hero-word-primary,3.4em);
    transition:grid-template-columns .72s cubic-bezier(.22,.72,.24,1);
  }
  .hero-variable.is-alternate{grid-template-columns:var(--hero-word-alternate,6.8em)}
  .hero-variable-option{justify-self:start}
}
.story-copy .story-purpose{font-family:"Elegant Serif",var(--serif);font-weight:400;letter-spacing:0}
.hero-content .button-primary{border-radius:12px}
@media(prefers-reduced-motion:reduce){
  .hero-variable,.hero-variable.is-alternate{transition:none}
  .hero-variable-option{transition:none}
  .hero-variable-primary,.hero-variable.is-alternate .hero-variable-primary{transform:none}
}

/* Leitura confortável dos textos de apoio no desktop. */
@media(min-width:901px){
  .services .section-intro>div>p,
  .services .service-panel>p[data-service-copy],
  .story-copy>p:not(.eyebrow,.story-purpose),
  .faq-heading>p:not(.eyebrow),
  .accordion details>div,
  .quote-card>p:not(.eyebrow,.step-label){
    font-size:clamp(1.25rem,1.45vw,1.375rem);
    line-height:1.7;
  }
}
.partners-section .partners>h2{font-size:clamp(2.8rem,5.2vw,5rem)}
@media(max-width:680px){
  #partners-title .partner-title-line{font-size:min(1em,8cqw)}
}

/* Dúvidas em página própria, com o mesmo visual e entrada em sequência. */
.faq-page{background:var(--cream)}
.faq-page .site-header{background:rgba(13,13,13,.95);backdrop-filter:blur(12px)}
.faq-page .faq{min-height:75svh;padding-top:calc(var(--header-h) + 3rem)}
.faq-page .faq-heading h1{margin:.8rem 0 1.4rem;font-size:clamp(2.8rem,6vw,5.1rem)}
.faq-page #faq-title em{color:#8b7218}
.faq-page .faq-return{margin-top:.5rem}
.faq-page .faq-heading>p:not(.eyebrow){max-width:36rem;margin-inline:auto;color:#625d54}
.motion-ready .faq-page .faq-heading>*{
  opacity:0;transform:translateY(12px);
  transition:opacity 650ms ease,transform 750ms cubic-bezier(.22,.72,.24,1);
}

/* Acabamento dos destaques sem alterar a composição ou as marcas. */
.hero-variable-option{word-spacing:-.08em}
.partner-logos a{border-radius:16px}
@media(max-width:680px){
  #services-title em.service-title-part{
    font-family:inherit;
    font-style:normal;
    font-weight:inherit;
    font-size:min(1em,9.5cqw);
    line-height:inherit;
    letter-spacing:inherit;
  }
}
.motion-ready .faq-page .faq-heading>:nth-child(2){transition-delay:120ms}
.motion-ready .faq-page .faq-heading>:nth-child(3){transition-delay:240ms}
.motion-ready .faq-page .faq-heading>:nth-child(4){transition-delay:360ms}
.motion-ready .faq-page .faq-layout.is-visible .faq-heading>*{opacity:1;transform:none}
.faq-page .faq-items-scene details{transition-delay:calc(600ms + var(--faq-entry-delay,0ms))}
@media(prefers-reduced-motion:reduce){
  .motion-ready .faq-page .faq-heading>*{opacity:1;transform:none;transition:none}
  .faq-page .faq-items-scene details{transition:none}
}

/* Hero com tipografia local e escala responsiva preservada. */
@font-face{font-family:"Hero Barlow";src:url("../fonts/BarlowCondensed-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
.hero-media{z-index:0;isolation:isolate;background:#000;filter:none}
/* O escurecimento acompanha cada quadro e poster, inclusive durante as trocas. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.32);opacity:0;transition:opacity 850ms cubic-bezier(.22,.72,.24,1);pointer-events:none}
.hero-video:first-child{object-position:50% 65%}
.hero-video.is-active{opacity:1}
.hero-overlay{z-index:1;background:transparent;opacity:1;pointer-events:none;animation:none;transition:none}
.hero{padding-block:0}
.hero-content.container{
  container-type:inline-size;width:100%;max-width:none;margin-inline:0;
  padding:calc(var(--header-h) + 2rem) 24px 3rem;
  padding-left:clamp(24px,5vw,88px);text-align:left;
}
.hero-content h1,.hero-content h1 em{
  font-family:"Elegant Serif",var(--serif);font-weight:400;font-style:normal;
  color:#fff;letter-spacing:-.045em;line-height:1.15;text-align:left;text-transform:none;
}
/* Mesmos tamanhos responsivos da versão anterior, preservando as duas linhas. */
.hero-content h1{width:100%;max-width:1200px;font-size:min(6.5rem,9.35cqw);margin:.8rem 0 1.5rem}
.hero-content h1 .hero-line{display:block;text-align:left;white-space:nowrap}
.hero-content h1 em.hero-line{margin-inline:0}
.hero-line-inner{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:nowrap;width:max-content;max-width:100%;margin-inline:0;gap:.18em}
.hero-variable-option{word-spacing:normal}
@media(min-width:901px){.hero-line-inner{column-gap:var(--hero-word-gap,.125em)}}
.hero-content>p:not(.eyebrow){color:#f0ede8;font-size:clamp(1.25rem,1.6vw,1.625rem);line-height:1.5;text-align:left;margin:0 0 2rem;max-width:48ch}
.hero-content .hero-desktop-cta{min-width:22rem;min-height:4.5rem;padding:1.1rem 2rem;font-size:1rem}
.hero-content .hero-desktop-cta .hero-cta-hover{padding:1.1rem 2rem}
.hero-mobile-cta{justify-content:flex-start}
.services .section-intro>div>p,.services .service-panel>p:not(.service-number){color:#e9e6e0}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content.container{padding:calc(var(--header-h) + 2rem) 24px 3rem}
  .hero-content h1{font-size:min(3.5rem,9.35cqw);max-width:100%;margin-inline:0}
  .hero-content>p:not(.eyebrow){font-size:1.0625rem;max-width:34ch;margin-inline:0;margin-bottom:1.5rem}
  .hero-mobile-cta{width:100%;margin-inline:0;justify-content:flex-start}
  .hero-mobile-cta .button{width:fit-content;max-width:100%;min-height:3rem;padding:.8rem .7rem;font-size:clamp(.625rem,3vw,.75rem);letter-spacing:.035em;white-space:nowrap;margin-inline:0}
  .hero-mobile-cta .hero-cta-hover{padding:.8rem .7rem}
}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}

/* Cabeçalho restrito à hero; retorna ao voltar para o início. */
.site-header{transition:background-color .25s,padding .25s,opacity .25s,transform .3s,visibility .3s}
.site-header.is-outside-hero{opacity:0;transform:translateY(-100%);visibility:hidden;pointer-events:none}
.site-header .header-cta{display:none}

/* Introdução de serviços em uma coluna, com o parágrafo acima do título. */
.services .section-intro>div{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1.5rem,3vw,2.5rem)}
.services .section-intro>div>p{width:100%;max-width:46rem;margin:0;text-wrap:pretty}
.services .section-intro #services-title{width:100%;max-width:48rem}
@media(min-width:901px){
  .services.section{padding-block:clamp(7rem,11vw,10rem)}
  .services .section-intro{margin-bottom:clamp(4rem,7vw,6.5rem)}
}

/* Chamada de orçamento com contorno, preenchimento e foco visível. */
.services .service-panel>.service-quote-button{
  display:inline-flex;align-items:center;justify-content:center;gap:1rem;
  max-width:100%;min-height:3.5rem;margin-top:1.25rem;padding:1rem 1.5rem;
  border:1px solid var(--yellow-soft);border-radius:12px;
  background:var(--yellow-soft);color:var(--black);
  font-family:var(--sans);font-size:.75rem;font-weight:600;line-height:1.5;
  letter-spacing:.055em;text-align:center;text-decoration:none;
  box-shadow:0 5px 18px rgba(0,0,0,.12);
  transition:background .2s,box-shadow .2s,transform .2s;
}
.services .service-quote-button span{flex:none;transition:transform .2s}
@media(hover:hover){
  .services .service-panel>.service-quote-button:hover{background:#f5dfa2;box-shadow:0 8px 24px rgba(232,200,114,.16);transform:translateY(-2px)}
  .services .service-quote-button:hover span{transform:translateX(3px)}
}
.services .service-quote-button:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:680px){
  .services .section-intro>div{gap:1.5rem}
  .services .service-panel>.service-quote-button{width:fit-content;padding-inline:1rem;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.services .service-panel>.service-quote-button,.services .service-quote-button span{transition:none}
}


/* Texto de apoio abaixo da headline, com a mesma coluna de leitura. */
.services .section-intro #services-title{order:0}
.services .section-intro>div>p{order:1}

/* Imagens estáveis, sem zoom; a nova foto entra por uma dissolvência. */
.services .service-photo-frame,
.services .service-photo-frame:hover{transform:none;transition:none}
.services .service-photo{position:relative;overflow:hidden;isolation:isolate;transition:none;transform:none}
.service-photo-incoming{position:absolute;inset:0;border-radius:inherit;background-size:cover;background-position:inherit;pointer-events:none;opacity:0}
.services .service-panel{container-type:inline-size}
.services .service-panel h3,
.services .service-panel[data-service="corporativos"] h3{white-space:normal;font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.12}

/* Serviços: duas linhas no desktop e uma coluna de leitura alinhada no mobile. */
@media(min-width:901px){
  .services .section-intro #services-title{
    display:grid;grid-template-columns:max-content max-content;column-gap:.2em;
    max-width:65rem;font-size:clamp(3rem,4.6vw,5rem);
  }
  #services-title .service-title-part{font-size:1em;white-space:nowrap}
  #services-title .service-title-part:first-child{grid-column:1 / -1}
  #services-title em.service-title-part{font-size:1em}
}
@media(max-width:680px){
  .service-panel>.service-photo-frame{width:90%;margin:1.75rem auto 2.5rem}
  .service-panel>.service-photo-frame::after{inset:.75rem -.5rem -.75rem .5rem}
  .service-panel>p[data-service-copy]{width:90%;margin:0 auto 2rem;padding:0}
  .services .service-panel>.service-quote-button{margin-top:0;align-self:flex-start}
  .services.section{padding-bottom:3rem}
}

/* Orçamento em página própria e vídeo de preparo com controle de pausa. */
.story-quote-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:3.75rem;max-width:100%;padding:1.05rem 2rem;margin:1.5rem 0 2.5rem;
  border:1px solid #4a3c28;border-radius:999px;background:#30281d;color:var(--cream);
  font-family:var(--sans);font-size:clamp(.9rem,1.1vw,1rem);font-weight:600;line-height:1.5;
  letter-spacing:.07em;text-transform:uppercase;text-align:center;text-decoration:none;
}
.story-quote-pill:hover{background:#453824}
.quote-visual{position:relative;min-width:0;overflow:hidden;border-radius:clamp(1.25rem,2vw,2.25rem)}
.quote-visual .quote-video{display:block;width:100%;height:760px;min-height:0;object-fit:cover;object-position:center}
.quote-layout:has(.quote-visual){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:.5rem;width:min(1280px,calc(100% - 2rem))}
.quote-layout:has(.quote-visual) .quote-card{margin:0}
.quote-page .site-header{background:rgba(13,13,13,.95)}
.quote-page .quote-return{padding-top:calc(var(--header-h) + 1.5rem)}
.quote-page .quote-return a{font-size:.8rem;text-underline-offset:4px}
.quote-page .quote-section{padding-top:2rem}
.quote-page #quote-title{margin:.6rem 0 1rem;font-size:clamp(2.8rem,4vw,4rem)}
.quote-page #quote-title em{color:#8b7218}
#quote-form button[hidden]{display:none}
@media(max-width:900px){
  .quote-layout:has(.quote-visual){grid-template-columns:minmax(0,1fr);gap:.75rem}
  .quote-visual .quote-video{height:clamp(360px,65vw,520px)}
}

@media(min-width:901px){
  .services .service-panel>.service-quote-button{
    min-height:4rem;margin-top:2rem;padding:1.1rem 2rem;
    font-size:.95rem;letter-spacing:.065em;
  }
}

/* Faixa contínua de indicadores no desktop, sem controles ou saltos entre ciclos. */
.authority-viewport,.authority-ribbon{display:contents}
.authority-copy[hidden],.authority-carousel .authority-copy[hidden]{display:none}
.authority-carousel .authority-viewport{display:block;width:100%;overflow:hidden}
.authority-carousel .authority-ribbon{display:flex;width:max-content;animation:authority-drift 32s linear infinite}
.authority-carousel .authority-grid{display:flex;flex:none;width:max-content;min-width:100vw;max-width:none;justify-content:space-around;margin:0;padding:2rem 0;gap:0}
.authority-carousel .authority-grid article{flex:none;min-width:20rem;padding:0 3rem;min-height:5.5rem;border:0;text-align:center}
.authority-carousel article::before,.authority-carousel article::after{display:none}
.authority-carousel strong{font-size:clamp(2rem,2.8vw,2.75rem);font-weight:600;line-height:1.15;white-space:nowrap}
.authority-carousel article>span{font-family:var(--sans);font-size:.9rem;font-weight:500;letter-spacing:.04em}
@keyframes authority-drift{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .authority-carousel .authority-ribbon{animation:none;width:100%}
  .authority-carousel .authority-grid{flex-wrap:wrap;justify-content:center;width:100%}
}

/* Título corporativo em uma linha, dimensionado pela largura do painel. */
.services .service-panel[data-service="corporativos"] h3{font-size:min(4rem,8.5cqw);white-space:nowrap}

/* Vídeo e formulário compartilham a mesma borda e altura no desktop. */
.quote-layout:has(.quote-visual){gap:0;align-items:stretch}
.quote-visual{min-height:760px;border-radius:clamp(1.25rem,2vw,2.25rem) 0 0 clamp(1.25rem,2vw,2.25rem)}
.quote-visual .quote-video{position:absolute;inset:0;height:100%;border-radius:inherit}
.quote-page .quote-return a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.5rem;border:1px solid var(--yellow-soft);background:#30281d;color:var(--cream);border-radius:4px;text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.8rem;letter-spacing:.07em}
@media(max-width:900px){
  .quote-visual{min-height:clamp(360px,65vw,520px);border-radius:1.25rem 1.25rem 0 0}
  .quote-visual .quote-video{height:100%}
  .quote-layout:has(.quote-visual) .quote-card{border-radius:0 0 1.25rem 1.25rem}
}

/* Refinamentos do formulário, sem alterar campos, etapas ou dimensões dos botões. */
#quote-form .form-actions button{border-radius:12px}
#quote-form .form-back{padding-inline:.85rem}
#quote-form .event-options label>span{border-radius:12px;overflow:hidden}
#quote-title em{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1.08em;line-height:inherit;letter-spacing:inherit}

/* Mesma família da marca no rodapé, com desenho um pouco mais firme e compacto. */
.footer-brand .brand-signature>span{font-weight:600;letter-spacing:.035em;-webkit-text-stroke:.12px currentColor}
.footer-brand .brand-signature small{font-weight:500;letter-spacing:.32em}

/* Serviços e história também podem ser acessados como páginas próprias. */
.content-page .site-header{background:rgba(13,13,13,.95)}
.content-page main{padding-top:calc(var(--header-h) + 1.5rem)}
.page-return a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.5rem;border:1px solid var(--yellow-soft);border-radius:4px;background:#30281d;color:var(--cream);font-size:.8rem;font-weight:600;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}
.content-page main>.section{padding-top:2.5rem}
.historia-page #story-title{margin:.8rem 0 2rem;font-size:clamp(3rem,5.4vw,5rem)}
.servicos-page #services-title{font-size:clamp(2.8rem,6vw,5.1rem);line-height:.98}

/* Destaque dourado com os mesmos traços e proporções do restante do título. */
#services-title em.service-title-part{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}
.historia-page main{background:var(--cream)}
.quote-page .quote-return a,.content-page .page-return a,.faq-page .faq-return{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.25rem;padding:.45rem 1rem;border:1px solid var(--yellow-soft);border-radius:4px;
  background:#30281d;color:var(--cream);font-size:.72rem;font-weight:600;
  line-height:1.5;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;
}

/* Serifada clássica nas legendas, distinta dos títulos editoriais. */
.photo-tile>figcaption{
  font-family:Georgia,"Times New Roman",serif;font-weight:400;
  font-size:clamp(1.4rem,2.05vw,1.9rem);letter-spacing:-.015em;line-height:1.2;
}
@media(max-width:680px){
  .services .service-tabs{width:90%;margin-inline:0}
  .service-panel>[data-service-title]{width:90%;margin-inline:0}
  .service-panel>.service-photo-frame,.service-panel>p[data-service-copy]{margin-inline:0}
  .services .service-panel>.service-quote-button{max-width:90%;margin-left:0;margin-right:0}
  .partners-section .partners>h2{font-size:clamp(2.5rem,10.5vw,3rem);line-height:1.08}
  #partners-title .partner-title-line{display:inline;white-space:normal;font-size:1em}
}

/* A assinatura usa a sans do próprio site, com peso moderado e animações preservadas. */
.site-header .brand-signature>span,.footer-brand .brand-signature>span{
  font-family:var(--sans);font-weight:500;letter-spacing:.015em;-webkit-text-stroke:0;
}

/* O título das empresas segue explicitamente o acabamento das demais headlines. */
#partners-title,#partners-title .partner-title-line{
  font-family:"Elegant Serif",var(--serif);font-style:normal;font-weight:400;letter-spacing:0;
}
/* Oculta a ferramenta de feedback do Preview em todas as larguras. */
vercel-live-feedback{display:none!important}

/* A barra sobre a hero deixa o vídeo aparecer sem fundo, desfoque ou divisor. */
body:has(.hero)>.site-header{
  background:transparent;border-bottom-color:transparent;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body:has(.hero)>.site-header .mobile-nav{
  background:transparent;border-top-color:transparent;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body:has(.hero)>.site-header .brand-signature,
body:has(.hero)>.site-header .desktop-nav a,
body:has(.hero)>.site-header .mobile-nav a{color:#fff}

/* Preenche a abertura sem mudar a altura quando as barras do navegador se movem. */
@media(max-width:900px){
  .hero{min-height:100vh;min-height:var(--hero-viewport-height,100svh)}
}

/* Fraunces + Manrope: acabamento editorial sem alterar os layouts existentes. */
@font-face{font-family:"Fraunces";src:url("../fonts/Fraunces-Variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/Manrope-Variable.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
:root{
  --serif:"Fraunces",Georgia,serif;
  --display:var(--serif);
  --sans:"Manrope",Arial,sans-serif;
  --white:#eee9df;
  --cream:#f8f3e9;
  --graphite:#28251e;
}
h1,h2,h3,.hero-content h1,.hero-content h1 em,
#services-title,.services .service-panel h3,#story-title,
#partners-title,#partners-title .partner-title-line,
#faq-title,#faq-title em,#quote-title,.quote-success h3,.site-footer h2{
  font-family:var(--serif);font-weight:700;font-style:normal;
  font-optical-sizing:none;font-variation-settings:"opsz" 64,"SOFT" 25,"WONK" 0;
  letter-spacing:-.025em;
}
#services-title,#story-title,#partners-title,#faq-title,#quote-title{line-height:1.12}
#services-title em.service-title-part,#quote-title em{
  font-family:inherit;font-weight:inherit;font-style:normal;
  letter-spacing:inherit;
}
#services-title .service-title-part,#services-title em.service-title-part{font-size:min(1em,9.5cqw)}
#quote-title em{font-size:1em}
.hero-content h1,.hero-content h1 em{color:var(--white);letter-spacing:-.045em;line-height:1.15}
.hero-content h1{font-size:min(6.5rem,9.35cqw,var(--hero-fit-size,6.5rem))}
.hero-content>p:not(.eyebrow),
.services .section-intro>div>p,.services .service-panel>p[data-service-copy],
.story-copy>p:not(.eyebrow),
.faq-layout>.faq-heading>p:not(.eyebrow),.accordion details>div,
.quote-card>p:not(.eyebrow),p{
  font-family:var(--serif);font-weight:400;font-optical-sizing:none;
  font-variation-settings:"opsz" 64,"SOFT" 25,"WONK" 0;
}
.hero-content>p:not(.eyebrow),.services .section-intro>div>p,
.services .service-panel>p[data-service-copy]{color:var(--white)}
.section-light,.quote-card{color:var(--graphite);background:var(--cream)}
.story-copy>p:not(.eyebrow),.story-copy blockquote,.story-copy .story-purpose,
.faq-heading>p:not(.eyebrow),.accordion details>div,
.quote-card>p:not(.eyebrow,.step-label),.quote-whatsapp-note,.quote-success p{color:var(--graphite)}
.story-copy .story-purpose{color:var(--graphite)!important}
.story-copy blockquote{font-size:clamp(1.7rem,2.4vw,2rem);line-height:1.35}
.photo-tile>figcaption{font-family:var(--sans);font-weight:500;letter-spacing:-.025em}
.photo-strip>.asset-note{font-family:var(--sans);font-weight:500;font-variation-settings:normal}
.hero-content .hero-experience{display:block;font-weight:600}
.services .section-intro>div>p,.services .service-panel>p[data-service-copy],
.story-copy>p:not(.eyebrow,.story-purpose),.faq-heading>p:not(.eyebrow),
.accordion details>div p,.quote-card>p:not(.eyebrow,.step-label,.quote-whatsapp-note,.quote-send-error){
  text-align:justify;text-align-last:left;hyphens:auto;
  hyphenate-limit-chars:6 3 3;text-wrap:pretty;
}
.services .service-tabs button{font-family:var(--sans);font-weight:500;font-variation-settings:normal}
.desktop-nav a,.mobile-nav a{font-weight:500}
.form-step{min-width:0}
#quote-form .form-step legend{max-width:100%;white-space:normal;line-height:1.3}
.site-header .brand-signature,.footer-brand .brand-signature,
.site-header .brand-signature>span,.footer-brand .brand-signature>span,
.brand-signature small{font-family:var(--sans)}
.site-header .brand-signature>span,.footer-brand .brand-signature>span{font-weight:600}
body:has(.hero)>.site-header .brand-signature,
body:has(.hero)>.site-header .desktop-nav a,
body:has(.hero)>.site-header .mobile-nav a{color:var(--white)}

@media(min-width:901px){
  .services .section-intro #services-title,.servicos-page #services-title,
  #story-title,.historia-page #story-title,.partners-section .partners>h2,
  #faq-title,.faq-page .faq-heading #faq-title,
  #quote-title,.quote-page #quote-title{font-size:clamp(3.5rem,4.4vw,4rem)}
  .services .service-panel h3{font-size:clamp(3rem,4vw,3.5rem)}
  .services .service-panel[data-service="corporativos"] h3{font-size:min(3.5rem,10.5cqw)}
  .hero-content>p:not(.eyebrow),
  .services .section-intro>div>p,.services .service-panel>p[data-service-copy],
  .story-copy>p:not(.eyebrow,.story-purpose),.faq-heading>p:not(.eyebrow),
  .accordion details>div,.quote-card>p:not(.eyebrow,.step-label){font-size:1.125rem;line-height:1.75}
}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero-content h1{font-size:min(3.5rem,9.35cqw,var(--hero-fit-size,3.5rem))}
}

/* Uma família e dois pesos na hero, com a mesma coluna para título, apoio e CTA. */
.hero{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-content.container{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start}
.hero-content.container>*{min-width:0}
.hero .hero-line-inner{column-gap:var(--hero-word-gap,.125em)}
.hero .hero-content h1,.hero .hero-content h1 em,
.hero .hero-content>p,.hero .scroll-cue{
  font-family:var(--serif);font-optical-sizing:none;
  font-variation-settings:"opsz" 64,"SOFT" 25,"WONK" 0;
}
.hero .hero-content h1,.hero .hero-content h1 em{font-weight:700}
.hero .hero-content>.eyebrow{font-weight:600}
.hero .hero-content h1{margin-inline:0;padding-inline:0}
.hero .hero-content>p:not(.eyebrow){
  width:min(100%,36rem);max-width:none;margin-inline:0;padding-inline:0;
  font-size:clamp(1.5rem,1.9vw,1.75rem);font-weight:400;
  line-height:1.45;letter-spacing:0;text-align:left;text-align-last:left;
}
.hero .hero-experience{font-family:inherit;font-size:inherit;font-weight:inherit}
@media(max-width:680px), (max-height:520px) and (orientation:landscape) and (pointer:coarse){
  .hero .hero-content.container{padding-inline:16px}
  .hero .hero-content h1{letter-spacing:-.045em}
  .hero .hero-content>p:not(.eyebrow){font-size:clamp(1rem,4.5vw,1.125rem);line-height:1.5}
}
/* Tipos ampliados recebem quebras de linha em vez de serem reduzidos abaixo do apoio. */
.hero.hero-headline-wrap .hero-content h1{font-size:var(--hero-fit-size,2rem)}
.hero.hero-headline-wrap .hero-content h1 .hero-line{white-space:normal}
.hero.hero-headline-wrap .hero-line-inner{
  display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;
  width:100%;gap:0;
}
.hero.hero-headline-wrap .hero-mobile-cta .button{white-space:normal;text-wrap:balance}
/* Contatos longos não devem alargar a página quando o texto do celular é ampliado. */
.footer-main>div{min-width:0}
.footer-main dd{overflow-wrap:anywhere}
.services-layout>*,.story-layout>*,.faq-layout>*,.quote-layout>*{min-width:0}
.story-seal-inline{max-width:100%;grid-template-columns:auto minmax(0,1fr)}
.story-seal-inline span{overflow-wrap:anywhere}
.header-inner>.brand,.brand-signature{min-width:0}
.header-inner>.menu-toggle{flex-shrink:0}
.skip-link{max-width:calc(100vw - 1.5rem)}
@supports(overflow:clip){html,body{overflow-x:clip}}
html:has(body.menu-open){overflow:hidden}

/* No PC, o apoio da hero ocupa duas linhas mais longas na mesma coluna. */
@media(min-width:901px){
  .hero .hero-content>p:not(.eyebrow){
    width:100%;max-width:none;font-size:clamp(1.875rem,2.4vw,2.25rem);
  }
  .hero-support-line{white-space:nowrap}
  .hero .hero-experience{display:inline}
  .hero-support-ending{display:block}
}
