/*
 * Grazi & Igor — stylesheet consolidado
 * Base visual: V5.9 | Organização técnica: V5.9.1
 * Não alterar Hero, Convite, Contagem ou sistema global de botões sem autorização.
 */
:root{--ink:#121a29;--night:#101827;--paper:#f3eee4;--paper-2:#e8dfd1;--warm:#c6b597;--white:#fffdf8;--muted:#726d64;--line:rgba(18,26,41,.18);--serif:"Newsreader",Georgia,serif;--display:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;}
    *{box-sizing:border-box;}html{scroll-behavior:smooth;}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden;}img{display:block;width:100%;height:100%;object-fit:cover;}a{color:inherit;text-decoration:none;}button{font:inherit;}.eyebrow{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;font-weight:500;}.display{font-family:var(--display);font-weight:400;line-height:.96;letter-spacing:-.025em;}.serif{font-family:var(--serif);}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto;}.section{padding:clamp(88px,12vw,170px) 0;}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid currentColor;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:.25s ease;}.button:hover{transform:translateY(-2px);}.button.light{background:var(--white);border-color:var(--white);color:var(--night);}.button.dark{background:var(--night);border-color:var(--night);color:var(--white);}.button.ghost{background:transparent;color:var(--white);}
    .site-nav{position:absolute;z-index:20;top:0;left:0;width:100%;height:88px;color:var(--white);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);}.nav-inner{width:min(1360px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;}.monogram{display:block;width:58px;height:58px;}.monogram img{object-fit:contain;}.nav-links{display:flex;gap:28px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;}.nav-actions{justify-self:end;display:flex;gap:9px;}.nav-actions a{font-size:.66rem;padding:10px 14px;border:1px solid rgba(255,255,255,.45);letter-spacing:.12em;text-transform:uppercase;}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem;}
    .hero{height:100svh;min-height:680px;position:relative;color:var(--white);display:grid;place-items:end center;overflow:hidden;}.hero-media{position:absolute;inset:0;}.hero-media picture{display:block;height:100%;}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,24,.3),rgba(8,14,24,.02) 35%,rgba(8,14,24,.76));}.hero-media img{object-position:center 47%;}.hero-content{position:relative;z-index:2;width:min(1100px,calc(100% - 40px));padding-bottom:clamp(50px,8vh,88px);text-align:center;}.hero-kicker{margin-bottom:20px;}.hero h1{font-size:clamp(4.5rem,11.5vw,10rem);margin:0;}.hero-meta{margin:24px auto 32px;display:flex;justify-content:center;gap:18px;align-items:center;font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;}.hero-meta i{width:3px;height:3px;border-radius:50%;background:var(--warm);}.hero-actions{display:flex;justify-content:center;gap:12px;}.scroll-note{position:absolute;z-index:3;right:26px;bottom:30px;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6;}
    .invitation{background:var(--paper);text-align:center;position:relative;}.intro-mark{width:100px;height:100px;margin:0 auto 20px;}.intro-mark img{object-fit:contain;}.invitation .shell{position:relative;}.invitation h2{font-size:clamp(3rem,6vw,5.8rem);margin:24px auto 32px;max-width:850px;}.signature{font-family:var(--serif);font-style:italic;font-size:1.25rem;margin-top:24px;}.countdown-title{margin-top:70px;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}.countdown{margin:18px auto 0;max-width:760px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.countdown div{padding:24px 10px;border-right:1px solid var(--line);}.countdown div:last-child{border:0;}.countdown strong{display:block;font-family:var(--display);font-size:clamp(1.8rem,4vw,3rem);font-weight:400;line-height:1;}.countdown span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
    .event{background:var(--night);color:var(--white);}.event-intro{text-align:center;max-width:780px;margin:0 auto 70px;}.event-intro h2{font-size:clamp(3.5rem,7vw,7rem);margin:18px 0 26px;}.event-intro p{font-family:var(--serif);font-size:1.25rem;}.event-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18);}.event-card{padding:34px 26px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);min-height:330px;}.event-card .event-symbol{width:58px;height:58px;padding:8px;border:1px solid rgba(255,255,255,.2);object-fit:contain;}.event-card .num{display:block;color:var(--warm);font-family:var(--display);font-size:2rem;margin:26px 0 10px;}.event-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:300;margin:0 0 12px;}.event-card p{font-size:.88rem;margin:0 0 12px;}.event-card small{display:block;color:rgba(255,255,255,.56);font-size:.72rem;line-height:1.6;}.location-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.18);}.location-row strong{font-family:var(--serif);font-weight:300;font-size:1.18rem;}.location-row .button{min-height:44px;}
    .story{background:var(--paper);}.story-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:end;margin-bottom:90px;}.story-head h2{font-size:clamp(3.5rem,7vw,7.5rem);margin:16px 0 0;}.story-head p{font-family:var(--serif);font-size:1.3rem;margin:0 0 12px;max-width:610px;}.timeline{position:relative;max-width:1000px;margin:auto;}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line);}.timeline-item{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:80px;position:relative;}.timeline-item:before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;background:var(--night);border:7px solid var(--paper);border-radius:50%;transform:translate(-50%,-50%);}.timeline-item:nth-child(even) .timeline-copy{grid-column:2;}.timeline-item:nth-child(even) figure{grid-column:1;grid-row:1;}.timeline-copy{padding:25px;}.timeline-year{font-family:var(--display);font-size:3.5rem;color:var(--warm);}.timeline-copy p{font-family:var(--serif);font-size:1.12rem;}.timeline-item figure{height:430px;margin:0;overflow:hidden;}.timeline-item img{filter:grayscale(1);}
    .rsvp{position:relative;min-height:86vh;color:var(--white);display:grid;place-items:center;text-align:center;}.rsvp-bg{position:absolute;inset:0;}.rsvp-bg:after{content:"";position:absolute;inset:0;background:rgba(9,15,25,.7);}.rsvp-bg img{filter:grayscale(1);object-position:center 42%;}.rsvp-card{position:relative;z-index:2;width:min(760px,calc(100% - 38px));padding:clamp(50px,8vw,90px);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(3px);}.rsvp-card h2{font-size:clamp(3.2rem,8vw,7rem);margin:20px 0 28px;}.rsvp-card p{max-width:540px;margin:0 auto 28px;font-family:var(--serif);font-size:1.2rem;}
    .guide{background:var(--paper);}.guide-head{text-align:center;max-width:760px;margin:0 auto 70px;}.guide-head h2{font-size:clamp(3.5rem,7vw,6.5rem);margin:18px 0;}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}.guide-item{padding:42px 34px;min-height:290px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}.guide-num{font-family:var(--display);font-size:2.5rem;color:var(--warm);}.guide-item h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;margin:16px 0 10px;}.guide-item p{font-size:.9rem;color:var(--muted);margin:0;}.stay{background:var(--white);}.stay-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;}.stay-copy h2{font-size:clamp(3.5rem,6vw,6rem);margin:18px 0 28px;}.stay-copy p{font-family:var(--serif);font-size:1.2rem;}.hotel-list{border-top:1px solid var(--line);}.hotel{display:grid;grid-template-columns:1fr auto;gap:25px;padding:32px 0;border-bottom:1px solid var(--line);}.hotel h3{font-family:var(--serif);font-size:1.5rem;font-weight:300;margin:5px 0;}.hotel p{color:var(--muted);font-size:.86rem;margin:0;}.hotel-actions{display:flex;gap:10px;align-items:center;}.hotel-actions a{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line);}
    .gifts{background:var(--paper-2);}.gift-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;}.gift-photo{position:relative;min-height:620px;}.gift-photo img{object-position:center 52%;}.gift-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,130px);}.gift-copy h2{font-size:clamp(3.5rem,7vw,7rem);margin:20px 0 28px;}.gift-copy p{font-family:var(--serif);font-size:1.25rem;max-width:510px;margin:0 0 34px;}.gift-copy .button{align-self:flex-start;}
    .gallery{background:var(--night);color:var(--white);}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px;}.gallery-head h2{font-size:clamp(3rem,6vw,6rem);margin:15px 0 0;}.gallery-head p{max-width:360px;color:rgba(255,255,255,.6);}.gallery-grid{display:grid;grid-template-columns:1.15fr .7fr .9fr;gap:14px;align-items:start;}.gallery-grid figure{margin:0;position:relative;}.gallery-grid figure:nth-child(1){height:660px;}.gallery-grid figure:nth-child(2){height:460px;margin-top:110px;}.gallery-grid figure:nth-child(3){height:580px;margin-top:25px;}.gallery-grid figcaption{position:absolute;left:16px;bottom:14px;background:rgba(16,24,39,.78);padding:6px 10px;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;}
    .finale{height:92vh;min-height:650px;position:relative;color:var(--white);display:grid;place-items:end center;text-align:center;}.finale-bg{position:absolute;inset:0;}.finale-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,24,.1),rgba(8,14,24,.84));}.finale-bg img{object-position:center 35%;}.finale-content{position:relative;z-index:2;padding:50px 20px 70px;}.finale-mark{width:90px;height:90px;margin:auto;}.finale-mark img{object-fit:contain;}.finale h2{font-size:clamp(3.7rem,9vw,8rem);margin:12px 0 6px;}.finale .names{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--warm);}.finale p{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;}.finale-actions{display:flex;justify-content:center;gap:12px;margin-top:30px;}.footer{background:var(--night);color:rgba(255,255,255,.52);border-top:1px solid rgba(255,255,255,.15);padding:22px;text-align:center;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;}
    .reveal{opacity:1;transform:none;}
    @media(max-width:850px){.shell{width:min(100% - 32px,650px);}.site-nav{height:72px;}.nav-inner{width:calc(100% - 32px);grid-template-columns:1fr auto;}.nav-links,.nav-actions{display:none;}.menu-toggle{display:block;}.hero{min-height:700px;}.hero-media img{object-position:58% center;}.hero h1{font-size:clamp(4rem,20vw,6.6rem);}.hero-meta{flex-wrap:wrap;gap:9px 12px;font-size:.65rem;}.hero-actions{flex-direction:column;align-items:center;}.scroll-note{display:none;}.countdown{margin-top:48px;}.countdown div{padding:18px 4px;}.story-head,
.gift-grid,
.stay-grid{grid-template-columns:1fr;}.event-cards{grid-template-columns:1fr;}.event-card{min-height:0;}.location-row{align-items:flex-start;flex-direction:column;}.story-head{gap:20px;margin-bottom:65px;}.timeline:before{left:10px;}.timeline-item{grid-template-columns:1fr;gap:20px;padding-left:30px;margin-bottom:60px;}.timeline-item:before{left:10px;top:35px;}.timeline-item:nth-child(even) .timeline-copy,.timeline-item:nth-child(even) figure{grid-column:1;grid-row:auto;}.timeline-item figure{height:430px;}.timeline-copy{padding:0;}.rsvp{min-height:760px;}.rsvp-card{padding:56px 22px;}.guide-grid{grid-template-columns:1fr;}.guide-item{min-height:0;}.stay-grid{gap:45px;}.hotel{grid-template-columns:1fr;}.gift-photo{min-height:70vh;}.gift-copy{padding:80px 28px;}.gallery-head{display:block;}.gallery-grid{grid-template-columns:1fr 1fr;}.gallery-grid figure:nth-child(1){height:520px;grid-column:1/3;}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:380px;margin:0;}.finale-bg img{object-position:55% center;}}
    @media(max-width:500px){.section{padding:82px 0;}.invitation h2{font-size:3.1rem;}.countdown strong{font-size:1.55rem;}.countdown span{font-size:.48rem;}.guide-head{text-align:left;}.gallery-grid figure:nth-child(1){height:430px;}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){height:300px;}.finale-actions{flex-direction:column;}.finale-actions .button{width:100%;}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.button{transition:none;}}
    .event-cards:before{content:"Grazi & Igor · 28.10.2026";grid-column:1/-1;padding:12px 20px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:var(--warm);}
    .event-card .event-symbol{background:var(--paper);border-color:var(--paper);}
    .site-nav{height:96px;}.monogram{width:82px;height:82px;}.nav-links a{position:relative;padding:12px 0;}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--white);transform:scaleX(0);transform-origin:right;transition:transform .35s ease;}.nav-links a:hover:after,.nav-links a:focus-visible:after,.nav-links a.is-active:after{transform:scaleX(1);transform-origin:left;}.nav-links a.is-active{color:var(--white);}.nav-actions a{position:relative;overflow:hidden;isolation:isolate;transition:color .3s ease,border-color .3s ease,transform .2s ease;}.nav-actions a:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--white);transform:translateY(102%);transition:transform .3s ease;}.nav-actions a:hover,.nav-actions a:focus-visible{color:var(--night);border-color:var(--white);}.nav-actions a:hover:before,.nav-actions a:focus-visible:before{transform:none;}.nav-links a.is-clicked,.nav-actions a.is-clicked{animation:menuClick .42s ease;}.hero-media picture.hero-slide{position:absolute;inset:-2%;height:104%;opacity:0;will-change:transform,opacity;}.hero-media picture.hero-slide img{object-position:center center;}.hero-media picture.hero-slide:first-child{animation:heroFadeA 16s infinite ease-in-out;}.hero-media picture.hero-slide:first-child img{animation:heroMoveA 16s infinite ease-in-out;}.hero-media picture.hero-slide:nth-child(2){animation:heroFadeB 16s infinite ease-in-out;}.hero-media picture.hero-slide:nth-child(2) img{animation:heroMoveB 16s infinite ease-in-out;}.hero-media:after{z-index:3;background:linear-gradient(180deg,rgba(8,14,24,.43),rgba(16,24,39,.13) 34%,rgba(8,14,24,.82)),linear-gradient(90deg,rgba(16,24,39,.15),rgba(147,109,72,.05),rgba(16,24,39,.18));box-shadow:inset 0 0 160px rgba(5,9,15,.2);}.hero-media:before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.055;mix-blend-mode:soft-light;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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");}.hero-content{z-index:5;}.scroll-note{z-index:5;}@keyframes heroFadeA{0%,43%{opacity:1}50%,93%{opacity:0}100%{opacity:1}}@keyframes heroFadeB{0%,43%{opacity:0}50%,93%{opacity:1}100%{opacity:0}}@keyframes heroMoveA{0%{transform:scale(1.035) translate3d(0,0,0)}50%{transform:scale(1.095) translate3d(-.8%,-.5%,0)}100%{transform:scale(1.035) translate3d(0,0,0)}}@keyframes heroMoveB{0%{transform:scale(1.09) translate3d(.8%,.5%,0)}50%{transform:scale(1.035) translate3d(0,0,0)}100%{transform:scale(1.09) translate3d(.8%,.5%,0)}}@keyframes menuClick{50%{transform:scale(.94);opacity:.72}}@media(max-width:850px){.site-nav{height:82px;}.monogram{width:82px;height:82px;}.hero-media picture.hero-slide:nth-child(2) img{object-position:68% center;}}@media(prefers-reduced-motion:reduce){.hero-media picture.hero-slide:first-child{opacity:1;animation:none;}.hero-media picture.hero-slide:nth-child(2){display:none;}.hero-media picture.hero-slide img,.nav-links a,.nav-actions a{animation:none!important;}}
  

    /* ============================================================
       WEDDING DESIGN — CINEMATIC HERO V1
       Inspired by Outlander's lighting logic, not by copying its UI.
       Uses only the couple's official pre-wedding photographs.
       ============================================================ */
    :root{
      --cinema-amber:rgba(190,132,74,.26);
      --cinema-amber-soft:rgba(224,180,119,.14);
      
      --focus-ring:#f6d5a5;
    }
    :focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;}
    .hero{isolation:isolate;background:#080e18;min-height:680px;}
    .site-nav{background:linear-gradient(180deg,rgba(5,10,18,.34),transparent);text-shadow:0 1px 18px rgba(0,0,0,.35);}
    .hero-media{inset:-1px;background:#080e18;overflow:hidden;}
    .hero-media picture.hero-slide{inset:-3%;height:106%;filter:saturate(.84) contrast(1.055) brightness(.94);transform-origin:center;backface-visibility:hidden;}
    .hero-media picture.hero-slide--primary{animation:cinematicFadePrimary 24s infinite cubic-bezier(.45,0,.25,1);}
    .hero-media picture.hero-slide--secondary{animation:cinematicFadeSecondary 24s infinite cubic-bezier(.45,0,.25,1);}
    .hero-media picture.hero-slide--primary img{animation:cinematicMovePrimary 24s infinite cubic-bezier(.35,0,.25,1);object-position:center 46%;}
    .hero-media picture.hero-slide--secondary img{animation:cinematicMoveSecondary 24s infinite cubic-bezier(.35,0,.25,1);object-position:center 49%;}
    .hero-media:before,.hero-media:after{content:none;}
    .hero-cinematic-bloom,.hero-cinematic-scrim,.hero-cinematic-grain,.hero-cinematic-frame{position:absolute;inset:0;pointer-events:none;}
    .hero-cinematic-bloom{z-index:3;background:radial-gradient(ellipse 52% 72% at 18% 34%,var(--cinema-amber),transparent 67%),radial-gradient(ellipse 35% 60% at 43% 44%,var(--cinema-amber-soft),transparent 72%);mix-blend-mode:screen;opacity:.86;}
    .hero-cinematic-scrim{z-index:4;background:linear-gradient(180deg,rgba(5,10,18,.5) 0%,rgba(5,10,18,.06) 31%,rgba(5,10,18,.11) 53%,rgba(5,10,18,.86) 100%),linear-gradient(90deg,rgba(7,12,20,.27),transparent 42%,rgba(6,12,22,.22)),radial-gradient(ellipse at center,transparent 47%,rgba(4,8,14,.34) 100%);box-shadow:inset 0 0 180px rgba(2,6,11,.2);}
    .hero-cinematic-grain{z-index:5;opacity:.042;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.85'/%3E%3C/svg%3E");animation:cinematicGrain .28s steps(2) infinite;}
    .hero-cinematic-frame{z-index:6;inset:14px;border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 0 0 1px rgba(0,0,0,.13);}
    .hero-content{z-index:7;padding-bottom:clamp(58px,8.5vh,94px);text-shadow:0 2px 28px rgba(0,0,0,.42);}
    .hero-content>*{animation:cinematicContentIn 1.15s both cubic-bezier(.2,.72,.22,1);}
    .hero-content .hero-kicker{animation-delay:.08s;}
    .hero-content h1{animation-delay:.16s;letter-spacing:-.04em;}
    .hero-content .hero-meta{animation-delay:.26s;}
    .hero-content>p{animation-delay:.34s;max-width:650px;margin-inline:auto;font-size:clamp(1rem,1.5vw,1.16rem);}
    .hero-content .hero-actions{animation-delay:.43s;}
    .hero-actions .button{min-width:190px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
    .hero-actions .button.ghost{background:rgba(7,14,24,.16);}
    .scroll-note{z-index:8;}
    .scroll-note:before{content:"";display:inline-block;width:1px;height:38px;margin-bottom:12px;background:linear-gradient(var(--warm),transparent);}
    .button,.nav-actions a{touch-action:manipulation;}

    html.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
    html.motion-ready .reveal.is-visible{opacity:1;transform:none;}

    @keyframes cinematicFadePrimary{0%,46%{opacity:1}54%,92%{opacity:0}100%{opacity:1}}
    @keyframes cinematicFadeSecondary{0%,46%{opacity:0}54%,92%{opacity:1}100%{opacity:0}}
    @keyframes cinematicMovePrimary{0%{transform:scale(1.025) translate3d(0,0,0)}50%{transform:scale(1.09) translate3d(-.7%,-.35%,0)}100%{transform:scale(1.055) translate3d(-.2%,-.1%,0)}}
    @keyframes cinematicMoveSecondary{0%{transform:scale(1.075) translate3d(.45%,.25%,0)}50%{transform:scale(1.025) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(-.35%,-.25%,0)}}
    @keyframes cinematicContentIn{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
    @keyframes cinematicGrain{0%{transform:translate(0,0)}25%{transform:translate(-.35%,.25%)}50%{transform:translate(.25%,-.3%)}75%{transform:translate(.2%,.25%)}100%{transform:translate(0,0)}}

    @media(max-width:850px){
      .hero{min-height:720px;}
      .hero-media picture.hero-slide{inset:-2%;height:104%;filter:saturate(.82) contrast(1.045) brightness(.9);}
      .hero-media picture.hero-slide--primary img{object-position:51% 48%;animation-name:cinematicMoveMobilePrimary;}
      .hero-media picture.hero-slide--secondary img{object-position:56% 46%;animation-name:cinematicMoveMobileSecondary;}
      .hero-cinematic-bloom{background:radial-gradient(ellipse 76% 48% at 66% 30%,rgba(195,140,82,.21),transparent 70%);}
      .hero-cinematic-scrim{background:linear-gradient(180deg,rgba(4,9,16,.52),rgba(4,9,16,.05) 30%,rgba(5,11,19,.35) 58%,rgba(5,10,18,.94) 100%),radial-gradient(ellipse at center,transparent 35%,rgba(3,7,12,.34) 100%);}
      .hero-cinematic-frame{display:none;}
      .hero-content{width:min(100% - 36px,560px);padding-bottom:clamp(58px,8vh,76px);}
      .hero-content h1{font-size:clamp(4rem,20vw,6.3rem);line-height:.92;}
      .hero-content>p{max-width:330px;}
      .hero-actions .button{width:min(290px,100%);}
    }
    @keyframes cinematicMoveMobilePrimary{0%{transform:scale(1.02) translate3d(0,0,0)}50%{transform:scale(1.075) translate3d(-1%,-.4%,0)}100%{transform:scale(1.045) translate3d(-.3%,0,0)}}
    @keyframes cinematicMoveMobileSecondary{0%{transform:scale(1.07) translate3d(.4%,.35%,0)}50%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.075) translate3d(-.3%,-.15%,0)}}

    @media(prefers-reduced-motion:reduce){
      .hero-media picture.hero-slide--primary{opacity:1;animation:none;}
      .hero-media picture.hero-slide--secondary{display:none;animation:none;}
      .hero-media picture.hero-slide img,.hero-content>*,.hero-cinematic-grain{animation:none!important;}
      html.motion-ready .reveal{opacity:1;transform:none;transition:none;}
    }


    /* ==========================================================
       WEDDING CINEMATIC PHOTOGRAPHY — HERO V4
       Pure crossfades, persistent centered interface, filmic mask,
       multi-scale artistic grain and restrained camera movement.
       Desktop only. Mobile intentionally remains unchanged.
       No generative imagery or content-aware expansion.
       ========================================================== */
    
    .hero-mobile-legacy{position:absolute;inset:0;}

    @media (min-width:851px){
      .hero{
        place-items:end center;
        min-height:720px;
        background:#050911;
        isolation:isolate;
        
      }
      .hero-media:after{display:none;}
      
      .hero-mobile-legacy{display:none;}

      /* Crossfade is the only transition language. */
      
      
      
      
      

      
      
      
      

      
      
      
      

      
      
      
      

      
      
      
      

      /* Remove V3 ribbons, aperture masks and animated light sweeps. */
      

      /* Localized halation: quiet, static and motivated by real highlights. */
      .hero-cinematic-bloom{
        z-index:6;
        opacity:.16;
        mix-blend-mode:screen;
        background:
          radial-gradient(ellipse 34% 50% at 50% 34%,rgba(255,224,181,.11),transparent 74%),
          radial-gradient(ellipse 22% 30% at 27% 38%,rgba(255,197,116,.1),transparent 72%);
        animation:none!important;
      }
      .hero-cinematic-bloom:before{display:none!important;}

      /* Stable central scrim protects copy on every photograph. */
      .hero-cinematic-scrim{
        z-index:7;
        background:
          linear-gradient(180deg,rgba(2,6,11,.45) 0%,rgba(3,8,14,.08) 25%,rgba(3,8,14,.06) 47%,rgba(3,8,14,.25) 66%,rgba(2,6,11,.91) 100%),
          radial-gradient(ellipse 58% 45% at 50% 72%,rgba(2,6,11,.52),rgba(2,6,11,.12) 55%,transparent 78%),
          radial-gradient(ellipse at 50% 47%,transparent 44%,rgba(1,4,8,.42) 100%);
        box-shadow:inset 0 0 240px rgba(1,3,7,.28);
      }

      /* Three-scale film texture in one deterministic CSS surface. */
      .hero-cinematic-grain{
        z-index:8;
        inset:-4%;
        opacity:.074;
        mix-blend-mode:soft-light;
        background-image:
          url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' seed='17' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)' opacity='.92'/%3E%3C/svg%3E"),
          url("data:image/svg+xml,%3Csvg viewBox='0 0 420 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.29' numOctaves='4' seed='41' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='.62'/%3E%3C/svg%3E"),
          radial-gradient(ellipse at 20% 22%,rgba(255,255,255,.34),transparent 24%),
          radial-gradient(ellipse at 78% 70%,rgba(0,0,0,.33),transparent 29%);
        background-size:160px 160px,420px 420px,100% 100%,100% 100%;
        background-position:0 0,37px -21px,center,center;
        animation:v4GrainDrift .42s steps(2,end) infinite;
      }

      /* Film gate / matte: soft falloff, not decorative bars. */
      .hero-cinematic-frame{
        z-index:9;
        inset:0;
        border:0;
        background:
          linear-gradient(90deg,rgba(0,2,5,.34),transparent 4.8%,transparent 95.2%,rgba(0,2,5,.34)),
          radial-gradient(ellipse at center,transparent 57%,rgba(0,2,6,.24) 83%,rgba(0,2,5,.52) 100%);
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),inset 0 0 130px rgba(0,0,0,.18);
      }
      .hero-cinematic-frame:before,.hero-cinematic-frame:after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        height:clamp(14px,2.2vh,25px);
        pointer-events:none;
      }
      .hero-cinematic-frame:before{
        top:0;
        background:linear-gradient(180deg,rgba(0,2,6,.58),rgba(0,2,6,.18) 58%,transparent);
      }
      .hero-cinematic-frame:after{
        bottom:0;
        background:linear-gradient(0deg,rgba(0,2,6,.64),rgba(0,2,6,.2) 58%,transparent);
      }

      /* Persistent, centered interface on every slide. */
      .hero-content{
        z-index:10;
        width:min(1100px,calc(100% - 72px));
        margin:0 auto;
        padding-bottom:clamp(54px,7.4vh,82px);
        text-align:center;
        text-shadow:0 3px 28px rgba(0,0,0,.78),0 1px 4px rgba(0,0,0,.72);
      }
      .hero-content h1{
        font-size:clamp(5rem,9vw,8.7rem);
        line-height:.86;
        max-width:1000px;
        margin-inline:auto;
        letter-spacing:-.04em;
      }
      .hero-content .hero-meta{justify-content:center;margin-left:auto;margin-right:auto;}
      .hero-content>p{margin-left:auto;margin-right:auto;max-width:650px;}
      .hero-actions{justify-content:center;}
      .hero-content>*{
        opacity:1;
        transform:none;
        filter:none;
        animation:v4ContentIn .95s both cubic-bezier(.2,.72,.22,1)!important;
      }
      .hero-content .hero-kicker{animation-delay:.08s!important;}
      .hero-content h1{animation-delay:.16s!important;}
      .hero-content .hero-meta{animation-delay:.24s!important;}
      .hero-content>p{animation-delay:.31s!important;}
      .hero-content .hero-actions{animation-delay:.38s!important;}
      .hero-actions .button{
        background-color:rgba(4,9,16,.18);
        box-shadow:0 8px 30px rgba(0,0,0,.12);
      }
      .hero-actions .button.light{background:rgba(255,253,248,.95);}
      .scroll-note{z-index:10;animation:v4ContentIn .9s .55s both!important;}

      /* 30% monogram increase from the current 82px desktop size. */
      .site-nav{height:112px;animation:v4NavIn 1.1s .18s both;}
      .monogram{width:107px;height:107px;}
      .site-nav:focus-within{opacity:1!important;}

      .hero.sequence-paused .hero-cinematic-grain,
.hero.sequence-paused .hero-content>*,
.hero.sequence-paused .scroll-note{animation-play-state:paused!important;}
    }

    /* Long, clean dissolves. No wipe, aperture or geometric reveal. */
    
    
    
    

    /* One restrained camera move per photograph. */
    
    
    
    

    @keyframes v4ContentIn{
      from{opacity:0;transform:translateY(14px);filter:blur(3px)}
      to{opacity:1;transform:none;filter:none}
    }
    @keyframes v4NavIn{
      from{opacity:.35;transform:translateY(-7px)}
      to{opacity:1;transform:none}
    }
    @keyframes v4GrainDrift{
      0%{transform:translate3d(0,0,0)}
      25%{transform:translate3d(-.22%,.16%,0)}
      50%{transform:translate3d(.18%,-.2%,0)}
      75%{transform:translate3d(.13%,.17%,0)}
      100%{transform:translate3d(0,0,0)}
    }

    @media (min-width:2560px){
      .hero-cinematic-grain{opacity:.088;background-size:140px 140px,360px 360px,100% 100%,100% 100%;}
      .hero-cinematic-frame{box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 0 180px rgba(0,0,0,.22);}
    }

    @media (prefers-reduced-motion:reduce){
      
      
      
      .hero-content>*,.scroll-note,.site-nav{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;}
      .hero-cinematic-grain{animation:none!important;}
    }


/* ============================================================
   V5 — MENU FRONTISPÍCIO DO NOSSO SIM
   Desktop-only editorial navigation. Hero V4.1 remains locked.
   ============================================================ */
@media (min-width:851px){
  .site-nav{
    --nav-ink:rgba(255,255,255,.96);
    
    
    --nav-accent:#d8bc92;
    height:132px;
    border-bottom:0;
    color:var(--nav-ink);
    transition:height .55s cubic-bezier(.2,.72,.22,1),background-color .55s ease,
      backdrop-filter .55s ease,box-shadow .55s ease,transform .55s ease;
    isolation:isolate;
  }
  .site-nav::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(3,8,15,.56),rgba(3,8,15,.16) 54%,transparent);
    opacity:.74;
    transition:opacity .55s ease,background-color .55s ease;
  }
  .nav-inner{
    position:relative;
    width:min(1480px,calc(100% - 72px));
    height:100%;
    grid-template-columns:minmax(0,1fr) 146px minmax(0,1fr);
    column-gap:34px;
  }
  .nav-inner::before,.nav-inner::after{
    content:"";
    position:absolute;
    top:50%;
    height:1px;
    width:clamp(42px,6vw,92px);
    background:linear-gradient(90deg,transparent,rgba(216,188,146,.56));
    transform:translateY(-50%);
    pointer-events:none;
    transition:width .5s ease,opacity .5s ease;
  }
  .nav-inner::before{left:calc(50% - 129px);}
  .nav-inner::after{right:calc(50% - 129px);transform:translateY(-50%) scaleX(-1);}

  .nav-links,.nav-actions{align-items:center;}
  .nav-links{gap:clamp(20px,2.1vw,38px);}
  .nav-links a{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:9px;
    padding:16px 0 13px;
    color:var(--nav-ink);
    font-size:.66rem;
    letter-spacing:.16em;
    line-height:1;
    text-transform:uppercase;
    transition:color .35s ease,transform .35s ease,letter-spacing .35s ease;
  }
  .nav-links a::before{
    content:attr(data-chapter);
    color:var(--nav-accent);
    font-family:Inter,system-ui,sans-serif;
    font-size:.54rem;
    font-variant-numeric:tabular-nums;
    letter-spacing:.12em;
    opacity:.58;
    transform:translateY(-.5px);
    transition:opacity .35s ease,transform .35s ease;
  }
  .nav-links a::after{
    left:calc(.54rem + 9px);
    right:auto;
    bottom:7px;
    width:calc(100% - .54rem - 9px);
    background:linear-gradient(90deg,var(--nav-accent),rgba(216,188,146,.12));
    transform:scaleX(0);
    transform-origin:left;
  }
  .nav-links a:hover,.nav-links a:focus-visible{
    color:#fff;
    letter-spacing:.135em;
    transform:translateY(-1px);
  }
  .nav-links a:hover::before,.nav-links a:focus-visible::before,.nav-links a.is-active::before{
    opacity:1;
    transform:translateY(-.5px) scale(1.04);
  }
  .nav-links a.is-active::after{transform:scaleX(1);}
  .nav-links a.is-active{color:#fff;}

  .monogram-seal{
    position:relative;
    z-index:2;
    width:107px;
    height:107px;
    justify-self:center;
    border-radius:50%;
    transition:width .55s cubic-bezier(.2,.72,.22,1),height .55s cubic-bezier(.2,.72,.22,1),
      transform .4s cubic-bezier(.2,.72,.22,1),filter .4s ease;
  }
  .monogram-seal::before,.monogram-seal::after{
    content:"";
    position:absolute;
    pointer-events:none;
    border-radius:50%;
    inset:7px;
    border:1px solid rgba(216,188,146,.42);
    opacity:.58;
    transition:inset .4s ease,opacity .4s ease,transform .6s ease;
  }
  .monogram-seal::after{
    inset:15px;
    border-color:rgba(255,255,255,.16);
    opacity:.45;
  }
  .monogram-seal img{position:relative;z-index:1;filter:drop-shadow(0 4px 18px rgba(0,0,0,.38));}
  .monogram-seal:hover,.monogram-seal:focus-visible{transform:scale(1.025);filter:drop-shadow(0 0 18px rgba(216,188,146,.12));}
  .monogram-seal:hover::before,.monogram-seal:focus-visible::before{inset:4px;opacity:.9;}
  .monogram-seal:hover::after,.monogram-seal:focus-visible::after{inset:19px;opacity:.72;transform:rotate(18deg);}

  .nav-actions{gap:22px;}
  .nav-actions a{
    border:0;
    padding:12px 0;
    font-size:.64rem;
    letter-spacing:.145em;
    color:var(--nav-ink);
    background:none;
    overflow:visible;
    transition:color .35s ease,transform .35s ease,letter-spacing .35s ease,background-color .35s ease,border-color .35s ease;
  }
  .nav-actions a::before{display:none;}
  .nav-actions .nav-gift{
    position:relative;
    padding-left:18px;
  }
  .nav-actions .nav-gift::after{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:7px;
    height:7px;
    border:1px solid var(--nav-accent);
    transform:translateY(-50%) rotate(45deg);
    opacity:.72;
    transition:transform .35s ease,background-color .35s ease,opacity .35s ease;
  }
  .nav-actions .nav-gift:hover,.nav-actions .nav-gift:focus-visible{color:#fff;letter-spacing:.13em;transform:translateY(-1px);}
  .nav-actions .nav-gift:hover::after,.nav-actions .nav-gift:focus-visible::after{background:var(--nav-accent);transform:translateY(-50%) rotate(135deg);opacity:1;}

  .nav-actions .nav-rsvp{
    position:relative;
    padding:13px 19px 12px;
    border:1px solid rgba(216,188,146,.58);
    background:rgba(4,9,16,.10);
    clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 7px 24px rgba(0,0,0,.08);
  }
  .nav-actions .nav-rsvp::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(100deg,rgba(216,188,146,.94),rgba(247,236,217,.96));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .42s cubic-bezier(.2,.72,.22,1);
  }
  .nav-actions .nav-rsvp:hover,.nav-actions .nav-rsvp:focus-visible{
    color:#111923;
    border-color:rgba(244,226,196,.95);
    transform:translateY(-1px);
  }
  .nav-actions .nav-rsvp:hover::after,.nav-actions .nav-rsvp:focus-visible::after{transform:scaleX(1);}

  /* Compact navigation after the first fold. */
  .site-nav.is-compact{
    position:fixed;
    height:76px;
    background:rgba(7,14,25,.83);
    backdrop-filter:blur(18px) saturate(122%);
    -webkit-backdrop-filter:blur(18px) saturate(122%);
    box-shadow:0 10px 34px rgba(2,7,14,.18),inset 0 -1px rgba(216,188,146,.18);
    animation:none;
  }
  .site-nav.is-compact::before{opacity:0;}
  .site-nav.is-compact .nav-inner{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);}
  .site-nav.is-compact .nav-inner::before{left:calc(50% - 82px);width:46px;opacity:.58;}
  .site-nav.is-compact .nav-inner::after{right:calc(50% - 82px);width:46px;opacity:.58;}
  .site-nav.is-compact .monogram-seal{width:68px;height:68px;}
  .site-nav.is-compact .monogram-seal::before{inset:5px;opacity:.55;}
  .site-nav.is-compact .monogram-seal::after{inset:11px;opacity:.32;}
  .site-nav.is-compact .nav-links a{padding-block:10px 9px;font-size:.62rem;}
  .site-nav.is-compact .nav-actions a{font-size:.61rem;}
  .site-nav.is-compact .nav-actions .nav-rsvp{padding:10px 16px 9px;}

  @supports not ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))){
    .site-nav.is-compact{background:rgba(7,14,25,.96);}
  }
}

@media (min-width:851px) and (max-width:1120px){
  .nav-inner{width:calc(100% - 38px);column-gap:18px;grid-template-columns:minmax(0,1fr) 122px minmax(0,1fr);}
  .nav-links{gap:16px;}
  .nav-links a{font-size:.58rem;letter-spacing:.12em;column-gap:6px;}
  .nav-actions{gap:13px;}
  .nav-actions a{font-size:.58rem;letter-spacing:.105em;}
  .nav-actions .nav-rsvp{padding:11px 13px 10px;}
  .monogram-seal{width:107px;height:107px;}
  .nav-inner::before{left:calc(50% - 110px);width:42px;}
  .nav-inner::after{right:calc(50% - 110px);width:42px;}
}

@media (prefers-reduced-motion:reduce){
  .site-nav,.site-nav *{transition:none!important;}
}




/* ==============================================================
   HERO V5.6 — CLEAN FINAL PHOTOS PASS
   Fresh implementation from approved V5. Direct assets, no JS loader.
   ============================================================== */
.hero-final-sequence{display:none;}
@media (min-width:851px){
  .hero{--hero-final-cycle:45s;}
  .hero-final-sequence{display:block;position:absolute;inset:0;overflow:hidden;background:#050911;}
  .hero-final-slide{position:absolute;inset:-1.5%;width:103%;height:103%;margin:0;opacity:0;overflow:hidden;will-change:opacity;animation-duration:var(--hero-final-cycle);animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;}
  .hero-final-slide img{display:block;width:100%;height:100%;object-fit:cover;will-change:transform;backface-visibility:hidden;animation-duration:var(--hero-final-cycle);animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;}
  .hero-final-slide::before,.hero-final-slide::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;}
  .hero-final-slide::before{background:linear-gradient(180deg,rgba(4,9,15,.16) 0%,rgba(4,9,15,.02) 38%,rgba(3,7,13,.60) 100%);}
  .hero-final-slide::after{box-shadow:inset 0 0 150px rgba(2,6,11,.20);}

  .hero-final-slide--01{z-index:1;animation-name:heroFinalFade01;}
  .hero-final-slide--01 img{object-position:center 46%;transform-origin:50% 44%;animation-name:heroFinalMove01;}
  .hero-final-slide--02{z-index:2;animation-name:heroFinalFade02;}
  .hero-final-slide--02 img{object-position:center 47%;transform-origin:51% 45%;animation-name:heroFinalMove02;}
  .hero-final-slide--03{z-index:3;animation-name:heroFinalFade03;}
  .hero-final-slide--03 img{object-position:center center;transform-origin:56% 48%;animation-name:heroFinalMove03;}
  .hero-final-slide--04{z-index:4;animation-name:heroFinalFade04;}
  .hero-final-slide--04 img{object-position:center center;transform-origin:50% 48%;animation-name:heroFinalMove04;}
  .hero-final-slide--05{z-index:5;animation-name:heroFinalFade05;}
  .hero-final-slide--05 img{object-position:center center;transform-origin:43% 47%;animation-name:heroFinalMove05;}

  .hero-cinematic-bloom{opacity:.10;}
  .hero-cinematic-grain{opacity:.050;}
}
@keyframes heroFinalFade01{0%,15%{opacity:1}20%{opacity:0}95%{opacity:0}100%{opacity:1}}
@keyframes heroFinalFade02{0%,15%{opacity:0}20%,35%{opacity:1}40%,100%{opacity:0}}
@keyframes heroFinalFade03{0%,35%{opacity:0}40%,55%{opacity:1}60%,100%{opacity:0}}
@keyframes heroFinalFade04{0%,55%{opacity:0}60%,75%{opacity:1}80%,100%{opacity:0}}
@keyframes heroFinalFade05{0%,75%{opacity:0}80%,95%{opacity:1}100%{opacity:0}}
@keyframes heroFinalMove01{0%{transform:scale(1.018) translate3d(.15%,.15%,0)}20%{transform:scale(1.070) translate3d(-.35%,-.28%,0)}100%{transform:scale(1.030)}}
@keyframes heroFinalMove02{0%,20%{transform:scale(1.025) translate3d(.15%,.10%,0)}40%,100%{transform:scale(1.078) translate3d(-.28%,-.30%,0)}}
@keyframes heroFinalMove03{0%,40%{transform:scale(1.022) translate3d(.38%,.08%,0)}60%,100%{transform:scale(1.066) translate3d(-.34%,-.24%,0)}}
@keyframes heroFinalMove04{0%,60%{transform:scale(1.018) translate3d(.10%,.12%,0)}80%,100%{transform:scale(1.058) translate3d(-.20%,-.20%,0)}}
@keyframes heroFinalMove05{0%,80%{transform:scale(1.055) translate3d(.20%,.10%,0)}95%,100%{transform:scale(1.018) translate3d(0,0,0)}}
@media (prefers-reduced-motion:reduce) and (min-width:851px){
  .hero-final-slide{display:none!important;animation:none!important;}
  .hero-final-slide--01{display:block!important;opacity:1!important;}
  .hero-final-slide img{animation:none!important;transform:none!important;}
}



/* ============================================================
   GLOBAL BUTTON SYSTEM V1.1 — APPROVED / ACTIVE
   Geometry inherited from the approved navigation CTA.
   Outlined: gold fill. White: navy fill. Dark: gold fill.
   ============================================================ */
:root{
  --button-corner:7px;
  --button-gold-start:rgba(216,188,146,.98);
  --button-gold-end:rgba(247,236,217,1);
  --button-navy-start:#101827;
  --button-navy-end:#18243a;
  --button-ease:cubic-bezier(.2,.72,.22,1);
}
.button{
  position:relative;
  z-index:0;
  isolation:isolate;
  overflow:hidden;
  min-height:52px;
  padding:0 25px;
  border:1px solid currentColor;
  border-radius:0;
  clip-path:polygon(var(--button-corner) 0,100% 0,100% calc(100% - var(--button-corner)),calc(100% - var(--button-corner)) 100%,0 100%,0 var(--button-corner));
  transition:color .35s ease,border-color .35s ease,transform .28s ease,box-shadow .35s ease;
}
.button::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .42s var(--button-ease);
}
.button:hover,.button:focus-visible{transform:translateY(-2px);}
.button:hover::after,.button:focus-visible::after{transform:scaleX(1);}

/* White CTA → navy animation. */
.button.light{
  background:var(--white);
  border-color:var(--white);
  color:var(--night);
  box-shadow:0 8px 28px rgba(0,0,0,.10);
}
.button.light::after{background:linear-gradient(100deg,var(--button-navy-start),var(--button-navy-end));}
.button.light:hover,.button.light:focus-visible{
  color:var(--white);
  border-color:var(--button-navy-end);
  box-shadow:0 10px 30px rgba(0,0,0,.17);
}

/* Outlined CTA → gold animation. */
.button.ghost{
  background:transparent;
  border-color:rgba(255,255,255,.64);
  color:var(--white);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.button.ghost::after{background:linear-gradient(100deg,var(--button-gold-start),var(--button-gold-end));}
.button.ghost:hover,.button.ghost:focus-visible{
  color:var(--night);
  border-color:rgba(244,226,196,.98);
  box-shadow:0 10px 30px rgba(0,0,0,.13);
}

/* Navy CTA on light sections → gold animation. */
.button.dark{
  background:var(--night);
  border-color:var(--night);
  color:var(--white);
  box-shadow:0 8px 26px rgba(16,24,39,.14);
}
.button.dark::after{background:linear-gradient(100deg,var(--button-gold-start),var(--button-gold-end));}
.button.dark:hover,.button.dark:focus-visible{
  color:var(--night);
  border-color:rgba(216,188,146,.98);
  box-shadow:0 10px 30px rgba(16,24,39,.18);
}

@media(prefers-reduced-motion:reduce){
  .button,.button::after{transition:none!important;}
  .button:hover,.button:focus-visible{transform:none;}
}


/* Canva calligraphy integration */







@media(max-width:850px){}
@media(max-width:560px){}




/* V5.8.6 — countdown title balance fix on desktop */
@media (min-width:851px){
  
  
  
}




/* ============================================================
   V5.8 — Invitation hierarchy + inverted countdown
   Scope locked to .invitation only.
   ============================================================ */
.invitation{
  --invitation-title-size:clamp(1.18rem,2.15vw,1.72rem);
  background:var(--paper);
  color:var(--ink);
  overflow:hidden;
}
.invitation .shell{
  width:min(1120px,calc(100% - 48px));
}
.invitation .intro-mark{
  width:135px;
  height:135px;
  margin:0 auto clamp(34px,4vw,52px);
}
.invitation .intro-mark img{
  object-fit:contain;
}
.invitation .concept-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin-inline:auto;
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--invitation-title-size);
  font-weight:400;
  line-height:1.25;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.invitation .concept-title::before,
.invitation .concept-title::after{
  content:"";
  display:block;
  width:clamp(54px,10vw,132px);
  height:1px;
  background:currentColor;
  opacity:.34;
}
.invitation .concept-title span{
  flex:0 1 auto;
}
.invitation .invitation-title{
  max-width:940px;
  margin-top:0;
  margin-bottom:clamp(30px,4vw,52px);
}
.invitation .invitation-subtitle{
  max-width:860px;
  margin:0 auto clamp(36px,4.8vw,58px);
  font-size:clamp(2.65rem,5.25vw,5rem);
  line-height:1.02;
  letter-spacing:-.025em;
}
.invitation .invitation-copy-group{
  display:grid;
  gap:clamp(16px,2vw,24px);
  max-width:790px;
  margin:0 auto;
}
.invitation .invitation-copy{
  max-width:100%;
  margin:0;
  color:#4c4942;
  font-family:var(--serif);
  font-size:clamp(1.12rem,1.7vw,1.46rem);
  font-weight:300;
  line-height:1.65;
}
.invitation .signature{
  margin:clamp(42px,5vw,68px) auto 0;
  color:var(--ink);
  font-family:var(--serif);
  font-size:var(--invitation-title-size);
  font-style:italic;
  font-weight:300;
  line-height:1.3;
}
.invitation .countdown-panel{
  max-width:1020px;
  margin:clamp(78px,9vw,120px) auto 0;
  padding:clamp(44px,6vw,72px) clamp(24px,5vw,64px) clamp(32px,4vw,50px);
  background:var(--night);
  color:var(--white);
}
.invitation .countdown-title{
  margin:0 auto clamp(30px,4vw,48px);
  color:var(--white);
  font-size:var(--invitation-title-size);
}
.invitation .countdown{
  max-width:none;
  margin:0;
  border-top:1px solid rgba(255,253,248,.42);
  border-bottom:1px solid rgba(255,253,248,.42);
  color:var(--white);
}
.invitation .countdown div{
  padding:clamp(26px,3vw,38px) 10px;
  border-right:1px solid rgba(255,253,248,.32);
}
.invitation .countdown div:last-child{
  border-right:0;
}
.invitation .countdown strong{
  color:var(--white);
  font-size:clamp(2.3rem,4.4vw,4rem);
}
.invitation .countdown span{
  color:rgba(255,253,248,.78);
  font-size:.62rem;
  letter-spacing:.18em;
}
@media(max-width:850px){
  .invitation .shell{width:min(100% - 32px,650px);}
  .invitation .intro-mark{width:122px;height:122px;}
  .invitation .concept-title{gap:16px;letter-spacing:.16em;}
  .invitation .concept-title::before,
  .invitation .concept-title::after{width:clamp(26px,8vw,58px);}
  .invitation .invitation-subtitle{font-size:clamp(2.5rem,10vw,4rem);}
  .invitation .countdown-panel{margin-inline:-4px;padding-inline:18px;}
  .invitation .countdown{margin-top:0;}
}
@media(max-width:560px){
  .invitation{--invitation-title-size:1rem;}
  .invitation .intro-mark{width:112px;height:112px;margin-bottom:30px;}
  .invitation .concept-title{gap:10px;letter-spacing:.12em;}
  .invitation .concept-title::before,
  .invitation .concept-title::after{width:24px;}
  .invitation .invitation-title{margin-bottom:28px;}
  .invitation .invitation-subtitle{font-size:clamp(2.3rem,12.2vw,3.35rem);margin-bottom:34px;}
  .invitation .invitation-copy{font-size:1.08rem;line-height:1.58;}
  .invitation .signature{margin-top:38px;}
  .invitation .countdown-panel{margin-top:70px;padding:38px 12px 28px;}
  .invitation .countdown-title{margin-bottom:28px;}
  .invitation .countdown div{padding:24px 3px;}
  .invitation .countdown strong{font-size:clamp(1.65rem,9vw,2.25rem);}
  .invitation .countdown span{font-size:.47rem;letter-spacing:.12em;}
}


/* Canva calligraphy integration */







@media(max-width:850px){}
@media(max-width:560px){}




/* V5.8.6 — countdown title balance fix on desktop */
@media (min-width:851px){
  
  
  
}




/* ============================================================
   V5.8.1 — TYPOGRAPHY LOCK
   Menu / conceptual titles: Cormorant SC
   Couple names / signature: Slight (Italiana fallback)
   ============================================================ */
:root{
  --font-cormorant-sc:"Cormorant SC",Georgia,serif;
  --font-slight:"Slight","Italiana",Georgia,serif;
}

/* Hero typography */
.site-nav,
.site-nav a,
.site-nav button{
  font-family:var(--font-cormorant-sc);
}
.hero h1{
  font-family:var(--font-slight);
  font-weight:400;
}

/* Invitation typography */
.invitation .invitation-title,
.invitation .countdown-title{
  font-family:var(--font-cormorant-sc);
  font-weight:500;
}
.invitation .signature{
  font-family:var(--font-slight);
  font-size:clamp(2.65rem,5.25vw,5rem);
  font-style:normal;
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.025em;
  max-width:860px;
}

@media(max-width:850px){
  .invitation .signature{
    font-size:clamp(2.5rem,10vw,4rem);
  }
}
@media(max-width:560px){
  .invitation .signature{
    font-size:clamp(2.3rem,12.2vw,3.35rem);
  }
}


/* Canva calligraphy integration */
:root{--font-cormorant-sc:"Cormorant SC","Cormorant Garamond",serif;}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.nav-links,.nav-actions a,.hero-kicker,.invitation .invitation-title,.invitation .countdown-title{font-family:var(--font-cormorant-sc)!important;}
.hero-wordmark{margin:0 auto;width:min(92vw,780px);line-height:0;}
.hero-wordmark img{display:block;width:100%;height:auto;object-fit:contain;}
.signature-wordmark{margin:clamp(42px,5vw,68px) auto 0;width:min(90vw,660px);line-height:0;}
.signature-wordmark img{display:block;width:100%;height:auto;object-fit:contain;}
@media(max-width:850px){.hero-wordmark{width:min(92vw,620px);}.signature-wordmark{width:min(92vw,520px);}}
@media(max-width:560px){.hero-wordmark{width:min(94vw,520px);}.signature-wordmark{width:min(94vw,430px);}}
.hero-content .hero-kicker{font-size:clamp(.95rem,1.55vw,1.22rem)!important;letter-spacing:.34em!important;font-weight:500!important;margin-bottom:22px!important;color:rgba(255,253,248,.96)!important;text-shadow:0 1px 14px rgba(0,0,0,.28)!important;}



/* V5.8.6 — countdown title balance fix on desktop */
@media (min-width:851px){
  .invitation .countdown-title{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(16px,2vw,26px)!important;
    width:min(100%, 980px)!important;
    max-width:980px!important;
    margin-inline:auto!important;
    overflow:hidden!important;
    font-size:clamp(1.08rem,1.38vw,1.42rem)!important;
    letter-spacing:.16em!important;
    line-height:1.22!important;
    white-space:normal!important;
  }
  .invitation .countdown-title::before,
  .invitation .countdown-title::after{
    flex:1 1 0!important;
    width:auto!important;
    min-width:40px!important;
  }
  .invitation .countdown-title span{
    flex:0 1 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
}



/* ============================================================
   V5.9 — O GRANDE DIA / BACKGROUND + CENTERED BOARD
   ============================================================ */
.event{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--night);
  color:var(--white);
}
.event::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(16,24,39,.82) 0%,rgba(16,24,39,.72) 46%,rgba(16,24,39,.9) 100%),
    radial-gradient(circle at 50% 42%,rgba(16,24,39,.16),rgba(16,24,39,.72) 78%);
  pointer-events:none;
}
.event-background{
  position:absolute;
  inset:0;
  z-index:-2;
  background:url("../optimized/identity/casarao-watercolor-1200.webp") center 46% / cover no-repeat;
  opacity:.7;
  transform:scale(1.035);
  pointer-events:none;
}
.event-shell{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100% - 48px));
}
.event-intro{
  max-width:960px;
  margin:0 auto clamp(54px,7vw,86px);
  text-align:center;
}
.event .event-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin:0 auto clamp(28px,3.6vw,44px);
  color:var(--white);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.25rem,1.8vw,1.78rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.event .event-title::before,
.event .event-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:54px;
  max-width:132px;
  height:1px;
  background:currentColor;
  opacity:.42;
}
.event .event-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.event .event-subtitle{
  max-width:880px;
  margin:0 auto clamp(24px,3vw,36px);
  color:var(--white);
  font-size:clamp(2.7rem,5.4vw,5.15rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.025em;
  text-shadow:0 3px 30px rgba(0,0,0,.28);
}
.event .event-description{
  max-width:760px;
  margin:0 auto;
  color:rgba(255,253,248,.82);
  font-family:var(--serif);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  font-weight:300;
  line-height:1.65;
}
.event-board{
  width:min(100%,1020px);
  margin:0 auto;
  background:rgba(9,16,28,.48);
  border:1px solid rgba(255,253,248,.2);
  box-shadow:0 24px 70px rgba(0,0,0,.2);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
.event .event-cards{
  width:100%;
  margin:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:0;
}
.event .event-card{
  display:flex;
  min-height:350px;
  padding:clamp(30px,3.2vw,42px) clamp(22px,2.6vw,34px);
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  border:0;
  border-right:1px solid rgba(255,253,248,.2);
}
.event .event-card:last-child{border-right:0;}
.event .event-card .event-symbol{
  width:62px;
  height:62px;
  margin:0 auto;
  padding:8px;
  border:1px solid rgba(255,253,248,.25);
  object-fit:contain;
}
.event .event-card .num{
  margin:24px 0 10px;
  color:var(--warm);
  font-family:var(--display);
  font-size:2rem;
  line-height:1;
}
.event .event-card h3{
  margin:0 0 12px;
  color:var(--white);
  font-family:var(--serif);
  font-size:1.34rem;
  font-weight:300;
}
.event .event-card p{
  margin:0 0 12px;
  color:var(--white);
  font-size:.9rem;
  line-height:1.55;
}
.event .event-card small{
  max-width:245px;
  color:rgba(255,253,248,.66);
  font-size:.74rem;
  line-height:1.62;
}
.event .location-row{
  display:flex;
  width:100%;
  margin:0;
  padding:clamp(26px,3.2vw,38px) clamp(24px,4vw,50px);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:22px;
  text-align:center;
  border-top:1px solid rgba(255,253,248,.2);
  border-bottom:0;
}
.event .location-row>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
}
.event .location-row .eyebrow{
  color:var(--warm);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:.78rem;
  letter-spacing:.22em;
}
.event .location-row strong{
  color:var(--white);
  font-family:var(--serif);
  font-size:clamp(1.14rem,1.8vw,1.4rem);
  font-weight:300;
}
.event .location-row .button{
  min-width:210px;
  min-height:50px;
}
@media(max-width:850px){
  .event-background{background-size:auto 100%;background-position:center 48%;opacity:.62;}
  .event-shell{width:min(100% - 32px,650px);}
  .event .event-title{gap:16px;letter-spacing:.16em;}
  .event .event-title::before,
  .event .event-title::after{min-width:26px;max-width:58px;}
  .event .event-subtitle{font-size:clamp(2.5rem,10vw,4rem);}
  .event .event-cards{grid-template-columns:1fr;}
  .event .event-card{min-height:0;border-right:0;border-bottom:1px solid rgba(255,253,248,.2);}
  .event .event-card:last-child{border-bottom:0;}
}
@media(max-width:560px){
  .event .event-title{gap:10px;font-size:1rem;letter-spacing:.12em;}
  .event .event-title::before,
  .event .event-title::after{min-width:24px;max-width:24px;}
  .event .event-subtitle{font-size:clamp(2.3rem,12.2vw,3.35rem);}
  .event .event-description{font-size:1.08rem;line-height:1.58;}
  .event-board{margin-inline:0;}
  .event .location-row{padding-inline:18px;}
}

/* ============================================================
   V5.9.2.1 — O GRANDE DIA / SUBTITLE FONT CORRECTION
   Additive, section-scoped override. No approved global rule altered.
   ============================================================ */
.event .event-title{
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.18rem,2.15vw,1.72rem);
  font-weight:500;
  letter-spacing:.22em;
}
.event .event-subtitle{
  max-width:900px;
  margin-bottom:clamp(28px,3.5vw,42px);
  font-family:var(--display);
  font-size:clamp(3rem,5.55vw,5.35rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.event .event-description{
  max-width:790px;
  font-size:clamp(1.12rem,1.7vw,1.44rem);
  line-height:1.65;
  text-wrap:balance;
}
.event .event-card{
  min-height:390px;
  padding:clamp(38px,3.8vw,50px) clamp(24px,2.8vw,36px);
}
.event .event-card .event-symbol{
  width:96px;
  height:88px;
  margin:0 auto;
  padding:0;
  background:transparent;
  border:0;
  object-fit:contain;
  opacity:.96;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.14));
}
.event .event-card .num{
  margin:28px 0 12px;
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(2.35rem,2.9vw,2.8rem);
  font-weight:500;
  letter-spacing:.035em;
}
.event .event-card h3{
  margin-bottom:14px;
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.62rem,1.9vw,1.9rem);
  font-weight:500;
  line-height:1.1;
}
.event .event-card p{
  max-width:270px;
  margin-bottom:14px;
  font-family:var(--serif);
  font-size:clamp(1rem,1.12vw,1.1rem);
  line-height:1.58;
}
.event .event-card small{
  max-width:280px;
  color:rgba(255,253,248,.7);
  font-size:clamp(.86rem,.96vw,.96rem);
  line-height:1.68;
}
.event .location-row .eyebrow{
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:.84rem;
  font-weight:500;
}
.event .location-row strong{
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.4rem,2vw,1.72rem);
  font-weight:500;
  line-height:1.18;
  letter-spacing:.01em;
}
@media(max-width:850px){
  .event .event-subtitle{font-size:clamp(2.65rem,10vw,4.25rem);}
  .event .event-card{min-height:0;padding:36px 24px;}
  .event .event-card .event-symbol{width:88px;height:82px;}
  .event .event-card .num{font-size:2.35rem;}
  .event .event-card h3{font-size:1.65rem;}
}
@media(max-width:560px){
  .event .event-subtitle{font-size:clamp(2.45rem,12.1vw,3.6rem);}
  .event .event-description{font-size:1.08rem;}
  .event .event-card{padding:32px 18px;}
  .event .event-card .event-symbol{width:82px;height:76px;}
  .event .event-card .num{margin-top:24px;font-size:2.15rem;}
  .event .event-card h3{font-size:1.52rem;}
  .event .event-card p{font-size:1rem;}
  .event .event-card small{font-size:.88rem;}
  .event .location-row strong{font-size:1.34rem;}
}

/* === V5.9.3 :: Nossa Historia refinada === */
.story .shell{
  width:min(1180px,calc(100% - 48px));
}
.story-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  max-width:1180px;
  margin:0 auto clamp(88px,9vw,118px);
  text-align:center;
}
.story-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin:0 auto clamp(28px,3vw,42px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.16rem,1.55vw,1.48rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.story-title::before,
.story-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:54px;
  max-width:132px;
  height:1px;
  background:currentColor;
  opacity:.24;
}
.story-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.story-wordmark{
  width:min(100%,980px);
  margin:0 auto clamp(36px,4vw,52px);
}
.story-wordmark img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.story-summary{
  max-width:1040px;
  margin:0 auto;
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.46rem,2.25vw,2.28rem);
  font-weight:400;
  line-height:1.62;
  letter-spacing:0;
  text-wrap:balance;
}
@media(max-width:850px){
  .story .shell{width:min(100% - 32px,650px);}
  .story-head{margin-bottom:72px;}
  .story-title{gap:16px;letter-spacing:.16em;font-size:1rem;}
  .story-title::before,
  .story-title::after{min-width:26px;max-width:58px;}
  .story-wordmark{width:min(100%,620px);margin-bottom:30px;}
  .story-summary{font-size:clamp(1.18rem,4vw,1.52rem);line-height:1.72;}
}
@media(max-width:560px){
  .story-title{gap:10px;font-size:.96rem;letter-spacing:.12em;}
  .story-title::before,
  .story-title::after{min-width:24px;max-width:24px;}
  .story-head{margin-bottom:60px;}
  .story-wordmark{margin-bottom:24px;}
  .story-summary{font-size:1.12rem;line-height:1.7;}
}

/* === V5.9.3.1 :: Nossa Historia ajustes finos === */
.story-head .story-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin:0 auto clamp(26px,3vw,38px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.14rem,1.48vw,1.42rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.story-head .story-title::before,
.story-head .story-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:54px;
  max-width:132px;
  height:1px;
  background:currentColor;
  opacity:.24;
}
.story-head .story-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.story-head .story-wordmark{
  width:min(100%,1080px);
  margin:0 auto clamp(34px,4vw,50px);
}
.story-head .story-wordmark img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:850px){
  .story-head .story-title{gap:16px;letter-spacing:.16em;font-size:1rem;}
  .story-head .story-title::before,
  .story-head .story-title::after{min-width:26px;max-width:58px;}
  .story-head .story-wordmark{width:min(100%,700px);}
}
@media(max-width:560px){
  .story-head .story-title{gap:10px;font-size:.96rem;letter-spacing:.12em;}
  .story-head .story-title::before,
  .story-head .story-title::after{min-width:24px;max-width:24px;}
  .story-head .story-wordmark{width:min(100%,100%);}
}

/* === V5.9.4 :: Nossa Historia timeline refinement === */
.story .timeline{
  position:relative;
  max-width:1080px;
  margin:0 auto;
  padding:14px 0 8px;
}
.story .timeline::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,rgba(16,24,39,0) 0%,rgba(16,24,39,.18) 10%,rgba(16,24,39,.24) 50%,rgba(16,24,39,.18) 90%,rgba(16,24,39,0) 100%);
}
.story .timeline::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:28px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(16,24,39,0) 0%,rgba(16,24,39,.03) 18%,rgba(16,24,39,.055) 50%,rgba(16,24,39,.03) 82%,rgba(16,24,39,0) 100%);
  filter:blur(10px);
  pointer-events:none;
}
.story .timeline-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:76px;
  align-items:center;
  margin-bottom:106px;
  position:relative;
}
.story .timeline-item:last-child{margin-bottom:0;}
.story .timeline-item::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  background:var(--night);
  border:6px solid var(--paper);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(16,24,39,.12),0 0 0 12px rgba(198,181,151,.14);
  transform:translate(-50%,-50%);
  z-index:2;
}
.story .timeline-item:nth-child(even) .timeline-copy{grid-column:2;}
.story .timeline-item:nth-child(even) figure{grid-column:1;grid-row:1;}
.story .timeline-copy{
  position:relative;
  padding:34px 36px;
  background:linear-gradient(180deg,rgba(255,253,248,.62) 0%,rgba(255,253,248,.34) 100%);
  border:1px solid rgba(16,24,39,.10);
  box-shadow:0 18px 40px rgba(16,24,39,.05);
}
.story .timeline-copy::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(198,181,151,.32);
  pointer-events:none;
}
.story .timeline-copy::after{
  content:"";
  position:absolute;
  top:50%;
  right:-36px;
  width:36px;
  height:1px;
  background:linear-gradient(90deg,rgba(16,24,39,.12),rgba(16,24,39,.34));
  transform:translateY(-50%);
}
.story .timeline-item:nth-child(even) .timeline-copy::after{
  left:-36px;
  right:auto;
  background:linear-gradient(90deg,rgba(16,24,39,.34),rgba(16,24,39,.12));
}
.story .timeline-year{
  display:block;
  margin:0 0 20px;
  color:var(--night);
  font-family:var(--display);
  font-size:clamp(3.4rem,5vw,4.6rem);
  line-height:.92;
  letter-spacing:.02em;
}
.story .timeline-copy p{
  margin:0;
  color:rgba(18,26,41,.88);
  font-family:var(--serif);
  font-size:clamp(1.16rem,1.34vw,1.28rem);
  line-height:1.78;
}
.story .timeline-item figure{
  position:relative;
  margin:0;
  height:auto;
  aspect-ratio:4 / 5;
  padding:18px;
  overflow:visible;
  background:rgba(255,253,248,.64);
  border:1px solid rgba(16,24,39,.12);
  box-shadow:0 18px 40px rgba(16,24,39,.06);
}
.story .timeline-item figure::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(198,181,151,.62);
  pointer-events:none;
}
.story .timeline-item figure::after{
  content:"";
  position:absolute;
  inset:16px;
  background:
    linear-gradient(var(--night),var(--night)) top left / 22px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) top left / 1px 22px no-repeat,
    linear-gradient(var(--night),var(--night)) top right / 22px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) top right / 1px 22px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom left / 22px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom left / 1px 22px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom right / 22px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom right / 1px 22px no-repeat;
  opacity:.36;
  pointer-events:none;
}
.story .timeline-item img{
  position:relative;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1);
}
@media(max-width:850px){
  .story .timeline{padding:6px 0 0;}
  .story .timeline::before{left:18px;}
  .story .timeline::after{left:18px;width:22px;}
  .story .timeline-item{
    grid-template-columns:1fr;
    gap:26px;
    padding-left:44px;
    margin-bottom:76px;
  }
  .story .timeline-item::before{
    left:18px;
    top:26px;
    width:14px;
    height:14px;
    border-width:5px;
    box-shadow:0 0 0 1px rgba(16,24,39,.12),0 0 0 10px rgba(198,181,151,.14);
  }
  .story .timeline-item:nth-child(even) .timeline-copy,
  .story .timeline-item:nth-child(even) figure{grid-column:1;grid-row:auto;}
  .story .timeline-copy{padding:28px 26px;}
  .story .timeline-copy::after{display:none;}
  .story .timeline-year{margin-bottom:16px;font-size:clamp(3rem,10vw,4rem);}
  .story .timeline-copy p{font-size:1.12rem;line-height:1.72;}
  .story .timeline-item figure{padding:14px;}
}
@media(max-width:560px){
  .story .timeline-item{padding-left:36px;gap:20px;margin-bottom:62px;}
  .story .timeline::before{left:12px;}
  .story .timeline::after{left:12px;width:18px;}
  .story .timeline-item::before{left:12px;top:24px;}
  .story .timeline-copy{padding:24px 20px;}
  .story .timeline-copy::before{inset:8px;}
  .story .timeline-year{font-size:2.8rem;}
  .story .timeline-copy p{font-size:1.06rem;}
  .story .timeline-item figure{padding:12px;}
  .story .timeline-item figure::before{inset:7px;}
  .story .timeline-item figure::after{inset:12px;background:
    linear-gradient(var(--night),var(--night)) top left / 16px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) top left / 1px 16px no-repeat,
    linear-gradient(var(--night),var(--night)) top right / 16px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) top right / 1px 16px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom left / 16px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom left / 1px 16px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom right / 16px 1px no-repeat,
    linear-gradient(var(--night),var(--night)) bottom right / 1px 16px no-repeat;}
}

/* === V5.9.4.1 :: Our Love Story scale tuning === */
.story-head .story-wordmark{
  width:min(100%,880px);
  margin:0 auto clamp(30px,3.4vw,44px);
}
@media(max-width:850px){
  .story-head .story-wordmark{width:min(100%,620px);}
}
@media(max-width:560px){
  .story-head .story-wordmark{width:min(100%,100%);}
}

/* === V5.9.5 :: RSVP typography refinement === */
.rsvp-card .eyebrow{
  color:rgba(255,253,248,.88);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(.76rem,.9vw,.88rem);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.22em;
}
.rsvp-card h2.display{
  max-width:640px;
  margin:24px auto 32px;
  font-family:var(--display);
  font-size:clamp(3.35rem,5.7vw,5.35rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.rsvp-card p{
  max-width:590px;
  font-family:var(--serif);
  font-weight:300;
  text-wrap:balance;
}
.rsvp-card p:first-of-type{
  margin:0 auto 26px;
  font-size:clamp(1.08rem,1.35vw,1.24rem);
  line-height:1.62;
}
.rsvp-card p:nth-of-type(2){
  margin:0 auto 34px;
  font-size:clamp(1rem,1.18vw,1.12rem);
  line-height:1.72;
}
.rsvp-card .button{
  font-size:.72rem;
  letter-spacing:.15em;
}
@media(max-width:850px){
  .rsvp-card h2.display{
    font-size:clamp(3rem,10.2vw,4.65rem);
    margin:22px auto 28px;
  }
  .rsvp-card p:first-of-type{font-size:1.08rem;}
  .rsvp-card p:nth-of-type(2){font-size:1rem;}
}
@media(max-width:560px){
  .rsvp-card .eyebrow{font-size:.72rem;letter-spacing:.18em;}
  .rsvp-card h2.display{
    font-size:clamp(2.7rem,13vw,3.85rem);
    line-height:1;
  }
  .rsvp-card p:first-of-type{font-size:1.02rem;line-height:1.58;}
  .rsvp-card p:nth-of-type(2){font-size:.96rem;line-height:1.68;}
}

/* === V5.9.6 :: Guia do convidado refinement === */
.guide{
  background:var(--paper);
}
.guide .shell{
  width:min(1180px,calc(100% - 48px));
}
.guide-head{
  display:flex;
  max-width:980px;
  margin:0 auto clamp(58px,7vw,86px);
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.guide-head .guide-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin:0 auto clamp(26px,3.4vw,40px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.14rem,1.48vw,1.42rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.guide-head .guide-title::before,
.guide-head .guide-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:54px;
  max-width:132px;
  height:1px;
  background:currentColor;
  opacity:.24;
}
.guide-head .guide-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.guide-head .guide-subtitle{
  max-width:880px;
  margin:0 auto clamp(24px,3vw,36px);
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(3.45rem,6.2vw,6.2rem);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.guide-head .guide-description{
  max-width:790px;
  margin:0 auto;
  color:rgba(18,26,41,.78);
  font-family:var(--serif);
  font-size:clamp(1.14rem,1.7vw,1.42rem);
  font-weight:300;
  line-height:1.65;
  text-wrap:balance;
}
.guide .guide-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,1100px);
  margin:0 auto;
  overflow:hidden;
  background:var(--night);
  color:var(--white);
  border:1px solid rgba(255,253,248,.24);
  box-shadow:0 24px 70px rgba(16,24,39,.14);
}
.guide .guide-grid::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(198,181,151,.24);
  pointer-events:none;
  z-index:2;
}
.guide .guide-item{
  position:relative;
  min-height:350px;
  padding:clamp(42px,4vw,56px) clamp(28px,3.2vw,42px);
  border:0;
  border-right:1px solid rgba(255,253,248,.18);
}
.guide .guide-item:last-child{
  border-right:0;
}
.guide .guide-num{
  display:block;
  margin:0 0 24px;
  color:var(--warm);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(2.45rem,3vw,2.9rem);
  font-weight:500;
  line-height:1;
  letter-spacing:.035em;
}
.guide .guide-item h3{
  margin:0 0 18px;
  color:var(--white);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.7rem,2vw,2rem);
  font-weight:500;
  line-height:1.12;
}
.guide .guide-item p{
  margin:0;
  color:rgba(255,253,248,.72);
  font-family:var(--serif);
  font-size:clamp(1rem,1.1vw,1.1rem);
  font-weight:300;
  line-height:1.72;
}
@media(max-width:850px){
  .guide .shell{width:min(100% - 32px,650px);}
  .guide-head{margin-bottom:58px;}
  .guide-head .guide-title{gap:16px;letter-spacing:.16em;font-size:1rem;}
  .guide-head .guide-title::before,
  .guide-head .guide-title::after{min-width:26px;max-width:58px;}
  .guide-head .guide-subtitle{font-size:clamp(2.7rem,10.4vw,4.55rem);}
  .guide-head .guide-description{font-size:clamp(1.08rem,3.6vw,1.2rem);}
  .guide .guide-grid{grid-template-columns:1fr;}
  .guide .guide-item{
    min-height:0;
    padding:38px 32px;
    border-right:0;
    border-bottom:1px solid rgba(255,253,248,.18);
  }
  .guide .guide-item:last-child{border-bottom:0;}
}
@media(max-width:560px){
  .guide-head{text-align:center;}
  .guide-head .guide-title{gap:10px;font-size:.96rem;letter-spacing:.12em;}
  .guide-head .guide-title::before,
  .guide-head .guide-title::after{min-width:24px;max-width:24px;}
  .guide-head .guide-subtitle{font-size:clamp(2.55rem,12.4vw,3.8rem);}
  .guide-head .guide-description{font-size:1.06rem;line-height:1.62;}
  .guide .guide-grid::before{inset:8px;}
  .guide .guide-item{padding:34px 24px;}
  .guide .guide-num{margin-bottom:18px;font-size:2.25rem;}
  .guide .guide-item h3{margin-bottom:14px;font-size:1.58rem;}
  .guide .guide-item p{font-size:1rem;line-height:1.68;}
}

/* === V5.9.7 :: Hospedagem redesign === */
.stay{
  position:relative;
  overflow:hidden;
  background:var(--white);
}
.stay::before{
  content:"";
  position:absolute;
  inset:auto -12% -36% auto;
  width:clamp(360px,46vw,760px);
  aspect-ratio:1;
  border:1px solid rgba(16,24,39,.055);
  border-radius:50%;
  pointer-events:none;
}
.stay .shell{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100% - 48px));
}
.stay-head{
  display:flex;
  max-width:980px;
  margin:0 auto;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.stay-head .stay-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,42px);
  width:100%;
  margin:0 auto clamp(26px,3.4vw,40px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.14rem,1.48vw,1.42rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.stay-head .stay-title::before,
.stay-head .stay-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:54px;
  max-width:132px;
  height:1px;
  background:currentColor;
  opacity:.24;
}
.stay-head .stay-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.stay-head .stay-subtitle{
  max-width:900px;
  margin:0 auto clamp(24px,3vw,36px);
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(3.45rem,6.2vw,6.2rem);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.stay-head .stay-description{
  max-width:790px;
  margin:0 auto;
  color:rgba(18,26,41,.78);
  font-family:var(--serif);
  font-size:clamp(1.14rem,1.7vw,1.42rem);
  font-weight:300;
  line-height:1.65;
  text-wrap:balance;
}
.stay-journey{
  position:relative;
  width:min(100%,920px);
  height:clamp(150px,17vw,210px);
  margin:clamp(52px,6vw,78px) auto clamp(42px,5vw,66px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.stay-journey::before{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,rgba(16,24,39,.08),rgba(16,24,39,.32) 24%,rgba(16,24,39,.32) 76%,rgba(16,24,39,.08));
}
.stay-journey::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:calc(50% + 13px);
  height:1px;
  background:repeating-linear-gradient(90deg,rgba(198,181,151,.78) 0 24px,transparent 24px 40px);
  opacity:.68;
}
.stay-route-dot{
  position:absolute;
  top:50%;
  width:10px;
  height:10px;
  border:2px solid var(--night);
  border-radius:50%;
  background:var(--white);
  transform:translateY(-50%);
  box-shadow:0 0 0 8px rgba(198,181,151,.15);
  z-index:2;
}
.stay-route-dot--start{left:4%;}
.stay-route-dot--end{right:4%;}
.stay-car{
  position:relative;
  z-index:3;
  width:clamp(190px,25vw,300px);
  margin:0;
  padding:10px 22px 14px;
  background:var(--white);
}
.stay-car::before,
.stay-car::after{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(44px,7vw,92px);
  height:1px;
  background:var(--white);
}
.stay-car::before{right:100%;}
.stay-car::after{left:100%;}
.stay-car img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.stay .hotel-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  width:min(100%,1100px);
  margin:0 auto;
  border:0;
}
.stay .hotel{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:1fr auto;
  gap:0 24px;
  min-height:360px;
  padding:clamp(38px,4vw,54px);
  overflow:hidden;
  background:rgba(255,253,248,.88);
  border:1px solid rgba(16,24,39,.16);
  box-shadow:0 22px 60px rgba(16,24,39,.07);
}
.stay .hotel::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(198,181,151,.4);
  pointer-events:none;
}
.stay .hotel::after{
  content:"";
  position:absolute;
  right:-52px;
  bottom:-58px;
  width:150px;
  height:150px;
  border:1px solid rgba(16,24,39,.08);
  border-radius:50%;
  pointer-events:none;
}
.stay .hotel-number{
  grid-row:1 / 3;
  align-self:start;
  color:rgba(16,24,39,.14);
  font-family:var(--display);
  font-size:clamp(3.8rem,5.2vw,5.4rem);
  line-height:.85;
}
.stay .hotel-content{
  position:relative;
  z-index:1;
  align-self:start;
}
.stay .hotel-label{
  display:block;
  margin:0 0 14px;
  color:var(--warm);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.stay .hotel h3{
  margin:0 0 18px;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(2.35rem,3.2vw,3.35rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
}
.stay .hotel p{
  max-width:390px;
  margin:0;
  color:rgba(18,26,41,.7);
  font-family:var(--serif);
  font-size:clamp(1rem,1.12vw,1.1rem);
  font-weight:300;
  line-height:1.68;
}
.stay .hotel-actions{
  position:relative;
  z-index:1;
  grid-column:2;
  display:flex;
  gap:10px;
  align-items:center;
  align-self:end;
  margin-top:34px;
}
.stay-action{
  display:inline-flex;
  min-height:48px;
  padding:0 20px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--night);
  font-family:var(--sans);
  font-size:.69rem;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.stay-action:hover,
.stay-action:focus-visible{transform:translateY(-2px);}
.stay-action--primary{
  background:var(--night);
  color:var(--white);
}
.stay-action--secondary{
  background:transparent;
  color:var(--night);
}
.stay-action--secondary:hover,
.stay-action--secondary:focus-visible{
  background:var(--night);
  color:var(--white);
}
@media(max-width:850px){
  .stay .shell{width:min(100% - 32px,650px);}
  .stay-head .stay-title{gap:16px;letter-spacing:.16em;font-size:1rem;}
  .stay-head .stay-title::before,
  .stay-head .stay-title::after{min-width:26px;max-width:58px;}
  .stay-head .stay-subtitle{font-size:clamp(2.7rem,10.4vw,4.55rem);}
  .stay-head .stay-description{font-size:clamp(1.08rem,3.6vw,1.2rem);}
  .stay-journey{height:160px;margin:48px auto 44px;}
  .stay-car{width:230px;}
  .stay .hotel-list{grid-template-columns:1fr;gap:18px;}
  .stay .hotel{min-height:330px;}
}
@media(max-width:560px){
  .stay-head .stay-title{gap:10px;font-size:.96rem;letter-spacing:.12em;}
  .stay-head .stay-title::before,
  .stay-head .stay-title::after{min-width:24px;max-width:24px;}
  .stay-head .stay-subtitle{font-size:clamp(2.55rem,12.4vw,3.8rem);}
  .stay-head .stay-description{font-size:1.06rem;line-height:1.62;}
  .stay-journey{height:130px;margin:40px auto 36px;}
  .stay-car{width:190px;padding-inline:16px;}
  .stay-route-dot{width:8px;height:8px;box-shadow:0 0 0 6px rgba(198,181,151,.15);}
  .stay .hotel{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    min-height:0;
    padding:34px 26px;
  }
  .stay .hotel-number{
    grid-row:auto;
    margin-bottom:20px;
    font-size:3.8rem;
  }
  .stay .hotel h3{font-size:2.5rem;}
  .stay .hotel-actions{
    grid-column:1;
    flex-direction:column;
    align-items:stretch;
    margin-top:28px;
  }
  .stay-action{width:100%;}
}

/* === V5.9.7.1 :: Hospedagem functional refinement === */
/* Cabeçalho aprovado preservado. Ajustes restritos ao detalhe de rota, cards e ações. */
.stay::before{display:none;}

.stay-journey{
  width:min(100%,420px);
  height:76px;
  margin:clamp(38px,4.5vw,56px) auto clamp(32px,4vw,50px);
}
.stay-journey::before{
  left:4%;
  right:4%;
  top:50%;
  background:linear-gradient(90deg,transparent,rgba(198,181,151,.72) 24%,rgba(198,181,151,.72) 76%,transparent);
}
.stay-journey::after{
  display:none;
}
.stay-route-dot{
  display:none;
}
.stay-car{
  width:118px;
  padding:4px 14px 7px;
  background:var(--white);
}
.stay-car::before,
.stay-car::after{
  width:68px;
  background:var(--white);
}
.stay-car img{
  opacity:.84;
}

.stay .hotel-list{
  gap:24px;
  width:min(100%,1080px);
}
.stay .hotel{
  grid-template-columns:84px minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:0 24px;
  min-height:344px;
  padding:clamp(38px,3.8vw,50px);
  overflow:hidden;
  background:#fffdf8;
  border:1px solid rgba(16,24,39,.28);
  border-top:4px solid var(--night);
  box-shadow:0 18px 44px rgba(16,24,39,.07);
}
.stay .hotel::before{
  inset:11px;
  border-color:rgba(198,181,151,.48);
}
.stay .hotel::after{
  display:none;
}
.stay .hotel-number{
  grid-row:1 / 3;
  color:var(--night);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(3.25rem,4vw,4.25rem);
  font-weight:500;
  line-height:.9;
  letter-spacing:.02em;
  opacity:.92;
}
.stay .hotel-content{
  padding-top:1px;
}
.stay .hotel-label{
  margin-bottom:13px;
  color:#9a8360;
  font-size:.84rem;
  font-weight:600;
  letter-spacing:.2em;
}
.stay .hotel h3{
  margin-bottom:18px;
  color:var(--night);
  font-size:clamp(2.35rem,3vw,3.05rem);
  line-height:1.03;
}
.stay .hotel p{
  max-width:400px;
  color:rgba(18,26,41,.82);
  font-size:clamp(1.02rem,1.15vw,1.12rem);
  line-height:1.7;
}
.stay .hotel-actions{
  grid-column:2;
  gap:12px;
  margin-top:32px;
}
.stay .hotel-actions .button{
  min-height:52px;
  padding-inline:24px;
  border-width:1px;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.15em;
}
.stay .hotel-actions .stay-action--primary{
  background:var(--night);
  border-color:var(--night);
  color:var(--white);
}
.stay .hotel-actions .stay-action--secondary{
  background:transparent;
  border-color:var(--night);
  color:var(--night);
}
.stay .hotel-actions .stay-action--secondary:hover,
.stay .hotel-actions .stay-action--secondary:focus-visible{
  background:var(--night);
  color:var(--white);
}

@media(max-width:850px){
  .stay-journey{
    width:min(100%,360px);
    height:68px;
    margin:36px auto 34px;
  }
  .stay-car{width:104px;}
  .stay .hotel-list{gap:18px;}
  .stay .hotel{min-height:320px;}
}
@media(max-width:560px){
  .stay-journey{
    width:min(100%,280px);
    height:58px;
    margin:30px auto 28px;
  }
  .stay-car{width:88px;padding-inline:10px;}
  .stay-car::before,
  .stay-car::after{width:44px;}
  .stay .hotel{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    min-height:0;
    padding:34px 26px;
  }
  .stay .hotel-number{
    grid-row:auto;
    margin-bottom:16px;
    font-size:3.2rem;
  }
  .stay .hotel h3{font-size:2.45rem;}
  .stay .hotel-actions{
    grid-column:1;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:28px;
  }
  .stay .hotel-actions .button{width:100%;}
}

/* === V5.9.8 :: Presentes typography standardization === */
.gifts .gift-copy{
  padding:clamp(64px,7vw,112px) clamp(44px,7vw,108px);
}
.gifts .gift-copy .eyebrow{
  margin:0 0 clamp(22px,2.6vw,34px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(.78rem,.9vw,.9rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.22em;
}
.gifts .gift-copy h2{
  max-width:680px;
  margin:0 0 clamp(28px,3.2vw,42px);
  color:var(--ink);
  font-size:clamp(3.25rem,5.25vw,5.85rem);
  line-height:.98;
  letter-spacing:-.026em;
  text-wrap:balance;
}
.gifts .gift-copy p{
  max-width:620px;
  margin:0 0 clamp(22px,2.4vw,30px);
  color:rgba(18,26,41,.9);
  font-family:var(--serif);
  font-size:clamp(1.16rem,1.42vw,1.32rem);
  font-weight:300;
  line-height:1.72;
}
.gifts .gift-copy p + p{
  margin-top:clamp(4px,.7vw,10px);
  margin-bottom:clamp(30px,3vw,42px);
}
.gifts .gift-copy .button{
  align-self:flex-start;
  min-height:52px;
  margin-top:0;
}
@media(max-width:980px){
  .gifts .gift-copy{
    padding:clamp(58px,7vw,86px) clamp(34px,5vw,64px);
  }
  .gifts .gift-copy h2{
    font-size:clamp(3.05rem,6vw,4.9rem);
  }
}
@media(max-width:850px){
  .gifts .gift-copy{
    padding:72px 28px 82px;
  }
  .gifts .gift-copy .eyebrow{
    margin-bottom:22px;
    font-size:.82rem;
  }
  .gifts .gift-copy h2{
    max-width:650px;
    font-size:clamp(2.85rem,10.5vw,4.6rem);
    margin-bottom:30px;
  }
  .gifts .gift-copy p{
    font-size:1.12rem;
    line-height:1.68;
  }
}
@media(max-width:560px){
  .gifts .gift-copy{
    padding:62px 22px 72px;
  }
  .gifts .gift-copy h2{
    font-size:clamp(2.62rem,12vw,3.72rem);
    line-height:1;
  }
  .gifts .gift-copy p{
    font-size:1.06rem;
  }
  .gifts .gift-copy .button{
    width:100%;
  }
}

/* === V5.9.8.1 :: Presentes heading standardization === */
.gifts .gift-heading{
  width:100%;
  max-width:680px;
  margin:0 0 clamp(30px,3.2vw,42px);
  text-align:center;
}
.gifts .gift-copy .gift-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,2.4vw,34px);
  width:100%;
  margin:0 auto clamp(24px,2.8vw,34px);
  color:var(--ink);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.1rem,1.35vw,1.35rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.gifts .gift-copy .gift-title::before,
.gifts .gift-copy .gift-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:44px;
  max-width:112px;
  height:1px;
  background:currentColor;
  opacity:.24;
}
.gifts .gift-copy .gift-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.gifts .gift-copy h2.gift-subtitle{
  max-width:680px;
  margin:0 auto;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(3.15rem,4.55vw,5rem);
  font-weight:400;
  line-height:.97;
  letter-spacing:-.025em;
  text-wrap:balance;
}
@media(max-width:980px){
  .gifts .gift-copy h2.gift-subtitle{
    font-size:clamp(3rem,5.4vw,4.45rem);
  }
}
@media(max-width:850px){
  .gifts .gift-heading{
    max-width:650px;
    margin-bottom:30px;
  }
  .gifts .gift-copy .gift-title{
    gap:16px;
    margin-bottom:24px;
    font-size:1rem;
    letter-spacing:.16em;
  }
  .gifts .gift-copy .gift-title::before,
  .gifts .gift-copy .gift-title::after{
    min-width:26px;
    max-width:58px;
  }
  .gifts .gift-copy h2.gift-subtitle{
    font-size:clamp(2.75rem,9.6vw,4.25rem);
  }
}
@media(max-width:560px){
  .gifts .gift-copy .gift-title{
    gap:10px;
    font-size:.96rem;
    letter-spacing:.12em;
  }
  .gifts .gift-copy .gift-title::before,
  .gifts .gift-copy .gift-title::after{
    min-width:24px;
    max-width:24px;
  }
  .gifts .gift-copy h2.gift-subtitle{
    font-size:clamp(2.5rem,11.5vw,3.55rem);
    line-height:1;
  }
}

/* === V5.9.8.2 :: Presentes left alignment === */
.gifts .gift-copy{
  align-items:flex-start;
  text-align:left;
}
.gifts .gift-heading{
  max-width:680px;
  margin:0 0 clamp(30px,3.2vw,42px);
  text-align:left;
}
.gifts .gift-copy .gift-title{
  justify-content:flex-start;
  margin:0 0 clamp(24px,2.8vw,34px);
}
.gifts .gift-copy h2.gift-subtitle{
  max-width:680px;
  margin:0;
  text-align:left;
  text-wrap:pretty;
}
.gifts .gift-copy p{
  text-align:left;
}
@media(max-width:850px){
  .gifts .gift-heading{
    max-width:650px;
    margin-bottom:30px;
  }
  .gifts .gift-copy .gift-title{
    justify-content:flex-start;
  }
  .gifts .gift-copy h2.gift-subtitle{
    margin:0;
  }
}
@media(max-width:560px){
  .gifts .gift-heading{
    margin-bottom:26px;
  }
}

/* === V5.9.9 :: Memórias — carrossel editorial de polaroides === */
.gallery{
  position:relative;
  overflow:hidden;
  background:var(--night);
  color:var(--white);
}
.gallery::before{
  content:"";
  position:absolute;
  width:min(72vw,980px);
  aspect-ratio:1;
  left:50%;
  top:56%;
  border:1px solid rgba(198,181,151,.11);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.gallery::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 58%,rgba(198,181,151,.08),transparent 42%);
  pointer-events:none;
}
.gallery .shell{
  position:relative;
  z-index:1;
}
.gallery-head{
  display:block;
  width:min(100%,900px);
  margin:0 auto clamp(42px,5vw,68px);
  text-align:center;
}
.gallery-head .gallery-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,2.4vw,34px);
  width:100%;
  margin:0 auto clamp(24px,2.8vw,34px);
  color:var(--white);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(1.1rem,1.35vw,1.35rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.gallery-head .gallery-title::before,
.gallery-head .gallery-title::after{
  content:"";
  display:block;
  flex:1 1 0;
  width:auto;
  min-width:44px;
  max-width:112px;
  height:1px;
  background:currentColor;
  opacity:.28;
}
.gallery-head .gallery-title span{
  flex:0 1 auto;
  white-space:nowrap;
}
.gallery-head .gallery-subtitle{
  max-width:900px;
  margin:0 auto clamp(24px,3vw,36px);
  color:var(--white);
  font-family:var(--display);
  font-size:clamp(3.45rem,6.2vw,6.2rem);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.gallery-head .gallery-description{
  max-width:790px;
  margin:0 auto;
  color:rgba(255,255,255,.7);
  font-family:var(--serif);
  font-size:clamp(1.14rem,1.7vw,1.42rem);
  font-weight:300;
  line-height:1.65;
  text-wrap:balance;
}
.memory-carousel{
  width:100%;
  margin:0 auto;
}
.memory-stage{
  position:relative;
  height:clamp(520px,54vw,660px);
  overflow:visible;
  isolation:isolate;
  touch-action:pan-y;
  user-select:none;
  cursor:grab;
  outline:none;
  transition:transform .36s cubic-bezier(.22,.61,.36,1);
}
.memory-stage:focus-visible::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.55);
  pointer-events:none;
}
.memory-stage.is-dragging{
  cursor:grabbing;
  transition:none;
}
.memory-card{
  --memory-tilt:0deg;
  position:absolute;
  top:50%;
  left:50%;
  z-index:0;
  width:clamp(270px,31vw,390px);
  aspect-ratio:4 / 5.25;
  margin:0;
  padding:clamp(11px,1.15vw,15px) clamp(11px,1.15vw,15px) clamp(42px,4.2vw,54px);
  overflow:hidden;
  background:#faf5eb;
  color:var(--night);
  box-shadow:0 24px 70px rgba(0,0,0,.33),0 4px 14px rgba(0,0,0,.18);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.58) rotate(var(--memory-tilt));
  transform-origin:center;
  transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .42s ease,filter .42s ease;
  will-change:transform,opacity;
}
.memory-card::after{
  content:"";
  position:absolute;
  inset:clamp(11px,1.15vw,15px) clamp(11px,1.15vw,15px) clamp(42px,4.2vw,54px);
  box-shadow:inset 0 0 0 1px rgba(16,24,39,.08);
  pointer-events:none;
}
.memory-photo{
  width:100%;
  height:100%;
  overflow:hidden;
  background:rgba(16,24,39,.08);
}
.memory-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  transition:filter .42s ease,transform .62s cubic-bezier(.22,.61,.36,1);
}
.memory-card:nth-child(1) .memory-photo img{object-position:center 48%;}
.memory-card:nth-child(2) .memory-photo img{object-position:center 45%;}
.memory-card:nth-child(3) .memory-photo img{object-position:center center;}
.memory-card:nth-child(4) .memory-photo img{object-position:center 42%;}
.memory-card:nth-child(5) .memory-photo img{object-position:center 42%;filter:grayscale(1);}
.memory-card:nth-child(6) .memory-photo img{object-position:center 38%;}
.memory-card figcaption{
  position:absolute;
  right:clamp(15px,1.6vw,22px);
  bottom:clamp(10px,1.05vw,14px);
  color:rgba(16,24,39,.58);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:clamp(.72rem,.84vw,.85rem);
  font-weight:500;
  line-height:1;
  letter-spacing:.18em;
}
.memory-card.is-active{
  z-index:5;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%) scale(1) rotate(var(--memory-tilt));
  filter:none;
}
.memory-card.is-active .memory-photo img{transform:scale(1.01);}
.memory-card.is-previous{
  z-index:3;
  opacity:.68;
  pointer-events:auto;
  filter:saturate(.76) brightness(.78);
  transform:translate(calc(-50% - min(26vw,315px)),-50%) scale(.82) rotate(calc(var(--memory-tilt) - 3deg));
}
.memory-card.is-next{
  z-index:3;
  opacity:.68;
  pointer-events:auto;
  filter:saturate(.76) brightness(.78);
  transform:translate(calc(-50% + min(26vw,315px)),-50%) scale(.82) rotate(calc(var(--memory-tilt) + 3deg));
}
.memory-card.is-far-previous{
  z-index:1;
  opacity:.24;
  filter:saturate(.55) brightness(.62);
  transform:translate(calc(-50% - min(43vw,515px)),-50%) scale(.64) rotate(calc(var(--memory-tilt) - 5deg));
}
.memory-card.is-far-next{
  z-index:1;
  opacity:.24;
  filter:saturate(.55) brightness(.62);
  transform:translate(calc(-50% + min(43vw,515px)),-50%) scale(.64) rotate(calc(var(--memory-tilt) + 5deg));
}
.memory-controls{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr) auto;
  align-items:center;
  gap:clamp(18px,3vw,34px);
  width:min(100%,620px);
  margin:clamp(8px,1vw,16px) auto 0;
}
.memory-arrow{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  padding:0;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:transparent;
  color:var(--white);
  cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease;
}
.memory-arrow span{
  display:block;
  font-size:1.25rem;
  line-height:1;
  transform:translateY(-1px);
}
.memory-arrow:hover,
.memory-arrow:focus-visible{
  border-color:var(--white);
  background:var(--white);
  color:var(--night);
  transform:translateY(-2px);
  outline:none;
}
.memory-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.memory-dot{
  position:relative;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.memory-dot::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  transform:translate(-50%,-50%);
  transition:width .25s ease,height .25s ease,background .25s ease;
}
.memory-dot.is-active::before{
  width:28px;
  height:1px;
  border-radius:0;
  background:var(--warm);
}
.memory-dot:focus-visible{
  outline:1px solid rgba(255,255,255,.72);
  outline-offset:2px;
}
.memory-status{
  min-height:1.5em;
  margin:14px auto 0;
  color:rgba(255,255,255,.48);
  font-family:var(--font-cormorant-sc,"Cormorant SC",serif);
  font-size:.72rem;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
}
@media(max-width:850px){
  .gallery-head{
    margin-bottom:38px;
  }
  .gallery-head .gallery-title{
    gap:16px;
    margin-bottom:24px;
    font-size:1rem;
    letter-spacing:.16em;
  }
  .gallery-head .gallery-title::before,
  .gallery-head .gallery-title::after{
    min-width:26px;
    max-width:58px;
  }
  .gallery-head .gallery-subtitle{
    font-size:clamp(2.75rem,9.6vw,4.25rem);
  }
  .gallery-head .gallery-description{
    font-size:1.12rem;
    line-height:1.68;
  }
  .memory-stage{
    height:clamp(470px,126vw,560px);
  }
  .memory-card{
    width:min(74vw,330px);
    padding:11px 11px 43px;
  }
  .memory-card::after{
    inset:11px 11px 43px;
  }
  .memory-card.is-previous{
    opacity:.42;
    transform:translate(calc(-50% - 66vw),-50%) scale(.82) rotate(calc(var(--memory-tilt) - 3deg));
  }
  .memory-card.is-next{
    opacity:.42;
    transform:translate(calc(-50% + 66vw),-50%) scale(.82) rotate(calc(var(--memory-tilt) + 3deg));
  }
  .memory-card.is-far-previous,
  .memory-card.is-far-next{
    opacity:0;
  }
  .memory-controls{
    width:min(100%,430px);
    grid-template-columns:auto 1fr auto;
    gap:12px;
  }
  .memory-arrow{
    width:48px;
    height:48px;
  }
  .memory-pagination{gap:4px;}
  .memory-dot{width:25px;height:28px;}
  .memory-dot.is-active::before{width:21px;}
}
@media(max-width:560px){
  .gallery-head .gallery-title{
    gap:10px;
    font-size:.96rem;
    letter-spacing:.12em;
  }
  .gallery-head .gallery-title::before,
  .gallery-head .gallery-title::after{
    min-width:24px;
    max-width:24px;
  }
  .gallery-head .gallery-subtitle{
    font-size:clamp(2.5rem,11.5vw,3.55rem);
    line-height:1;
  }
  .gallery-head .gallery-description{font-size:1.06rem;}
  .memory-stage{
    height:clamp(430px,132vw,520px);
  }
  .memory-card{
    width:min(76vw,300px);
  }
  .memory-card.is-previous{
    transform:translate(calc(-50% - 70vw),-50%) scale(.78) rotate(calc(var(--memory-tilt) - 3deg));
  }
  .memory-card.is-next{
    transform:translate(calc(-50% + 70vw),-50%) scale(.78) rotate(calc(var(--memory-tilt) + 3deg));
  }
  .memory-controls{gap:4px;}
  .memory-arrow{width:44px;height:44px;}
  .memory-dot{width:22px;}
  .memory-dot.is-active::before{width:18px;}
}
@media(prefers-reduced-motion:reduce){
  .memory-stage,
  .memory-card,
  .memory-photo img,
  .memory-arrow,
  .memory-dot::before{
    transition:none!important;
  }
}



/* V5.9.11.1 — final user-edited memories, no additional crop or color filter */
.memory-card{
  aspect-ratio:auto;
  height:auto;
  background:#f6eddc;
}
.memory-card::after{
  box-shadow:inset 0 0 0 1px rgba(70,50,32,.10);
}
.memory-photo{
  height:auto;
  aspect-ratio:4 / 5;
  background:#f6eddc;
}
.memory-card .memory-photo img{
  object-fit:cover;
  object-position:center center!important;
  filter:none!important;
}

/* ============================================================
   V5.9.13 — Finale branco com wordmark proporcional
   Escopo: somente a última seção.
   ============================================================ */
.finale{
  position:relative;
  isolation:isolate;
  min-height:clamp(650px,82svh,820px);
  height:auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:clamp(104px,11vw,150px) 24px;
  color:var(--night);
  text-align:center;
  background:
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(250,248,243,.96)),
    #fbfaf7;
  border-top:1px solid rgba(18,26,41,.1);
}
.finale::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.025;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)' opacity='.7'/%3E%3C/svg%3E");
}
.finale::after{
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  bottom:0;
  width:min(78vw,960px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(18,26,41,.16),transparent);
  transform:translateX(-50%);
  pointer-events:none;
}
.finale-content{
  position:relative;
  z-index:2;
  width:min(980px,100%);
  padding:0;
}
.finale-mark{
  width:clamp(118px,9vw,148px);
  height:clamp(118px,9vw,148px);
  margin:0 auto clamp(26px,2.8vw,36px);
}
.finale-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}
.finale h2{
  max-width:900px;
  margin:0 auto clamp(22px,2.4vw,30px);
  color:var(--night);
  font-size:clamp(3.5rem,6.7vw,6.2rem);
  line-height:.98;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.finale-names-wordmark{
  width:clamp(235px,26vw,350px);
  margin:0 auto clamp(18px,2vw,24px);
  line-height:0;
}
.finale-names-wordmark img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.finale p{
  margin:0;
  color:rgba(18,26,41,.68);
  font-family:var(--sans);
  font-size:clamp(.64rem,.78vw,.76rem);
  font-weight:500;
  line-height:1.7;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.finale-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:clamp(32px,3.6vw,44px);
}
.finale-actions .button{
  min-width:190px;
  min-height:52px;
}
.finale-actions .button.light{
  border-color:var(--night);
  background:var(--night);
  color:var(--white);
}
.finale-actions .button.light:hover,
.finale-actions .button.light:focus-visible{
  border-color:var(--blue);
  background:var(--blue);
  color:var(--white);
}
.finale-actions .button.ghost{
  border-color:rgba(18,26,41,.55);
  background:transparent;
  color:var(--night);
}
.finale-actions .button.ghost:hover,
.finale-actions .button.ghost:focus-visible{
  border-color:var(--night);
  background:rgba(18,26,41,.06);
  color:var(--night);
}
@media(max-width:850px){
  .finale{
    min-height:680px;
    padding:104px 24px 96px;
  }
  .finale-mark{
    width:128px;
    height:128px;
    margin-bottom:28px;
  }
  .finale h2{font-size:clamp(3.25rem,10.5vw,4.9rem);}
  .finale-names-wordmark{width:min(62vw,320px);}
}
@media(max-width:560px){
  .finale{
    min-height:650px;
    padding:88px 22px 82px;
  }
  .finale-mark{
    width:112px;
    height:112px;
    margin-bottom:22px;
  }
  .finale h2{
    font-size:clamp(3rem,13.4vw,4.1rem);
    line-height:1;
  }
  .finale-names-wordmark{
    width:min(72vw,290px);
    margin-bottom:18px;
  }
  .finale p{
    max-width:310px;
    margin-inline:auto;
    font-size:.62rem;
    letter-spacing:.14em;
  }
  .finale-actions{
    width:min(100%,330px);
    margin-inline:auto;
    flex-direction:column;
  }
  .finale-actions .button{
    width:100%;
    min-width:0;
  }
}
@media(prefers-reduced-motion:reduce){
  .finale::before{animation:none!important;}
}


/* ============================================================
   V5.9.14 — Finale: centralização óptica + botões gold/blue
   Escopo: somente a última seção.
   ============================================================ */
.finale-content{
  transform:translateY(-18px);
}
.finale-mark img{
  transform:scale(1.75);
  transform-origin:center;
}
.finale-actions .button.light{
  border-color:var(--warm);
  background:var(--warm);
  color:var(--night);
}
.finale-actions .button.light:hover,
.finale-actions .button.light:focus-visible{
  border-color:#b49d76;
  background:#b49d76;
  color:var(--night);
}
.finale-actions .button.ghost{
  border-color:var(--night);
  background:var(--night);
  color:var(--white);
}
.finale-actions .button.ghost:hover,
.finale-actions .button.ghost:focus-visible{
  border-color:#1a2941;
  background:#1a2941;
  color:var(--white);
}
@media(max-width:850px){
  .finale-content{transform:translateY(-10px);}
  .finale-mark img{transform:scale(1.65);}
}
@media(max-width:560px){
  .finale-content{transform:none;}
  .finale-mark img{transform:scale(1.55);}
}


/* ============================================================
   V5.9.15 — Finale: estados corretos dos botões
   Confirmar presença: azul -> gold no hover.
   Localização: branco -> azul no hover.
   Escopo: somente a última seção.
   ============================================================ */
.finale-actions .button.light{
  border-color:var(--night);
  background:var(--night);
  color:var(--white);
  box-shadow:0 8px 26px rgba(16,24,39,.14);
}
.finale-actions .button.light::after{
  background:linear-gradient(100deg,var(--button-gold-start),var(--button-gold-end));
}
.finale-actions .button.light:hover,
.finale-actions .button.light:focus-visible{
  border-color:rgba(216,188,146,.98);
  background:var(--night);
  color:var(--night);
  box-shadow:0 10px 30px rgba(16,24,39,.18);
}
.finale-actions .button.ghost{
  border-color:rgba(16,24,39,.48);
  background:var(--white);
  color:var(--night);
  box-shadow:0 8px 24px rgba(16,24,39,.07);
}
.finale-actions .button.ghost::after{
  background:linear-gradient(100deg,var(--button-navy-start),var(--button-navy-end));
}
.finale-actions .button.ghost:hover,
.finale-actions .button.ghost:focus-visible{
  border-color:var(--night);
  background:var(--white);
  color:var(--white);
  box-shadow:0 10px 30px rgba(16,24,39,.15);
}


/* V5.9.16 — fourth editorial chapter in desktop navigation */
@media (min-width:851px) and (max-width:1180px){
  .nav-links{gap:clamp(11px,1.35vw,18px);}
  .nav-links a{font-size:.56rem;letter-spacing:.105em;column-gap:5px;}
  .nav-links a::after{left:calc(.54rem + 5px);width:calc(100% - .54rem - 5px);}
}


/* ============================================================
   V5.9.18 — Menu contextual + crédito autoral no rodapé
   ============================================================ */
.footer{
  padding:22px 24px;
  color:rgba(255,255,255,.58);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:none;
}
.footer-credit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:24px;
}
.footer-separator{
  color:rgba(216,188,146,.62);
}
.footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.76);
  line-height:1;
  transition:color .25s ease,transform .25s ease;
}
.footer-instagram-icon{
  display:block;
  width:17px;
  height:17px;
  flex:0 0 17px;
}
.footer-instagram:hover,
.footer-instagram:focus-visible{
  color:var(--warm);
  transform:translateY(-1px);
  outline:none;
}
.footer-instagram:focus-visible{
  box-shadow:0 2px 0 var(--warm);
}
@media(max-width:560px){
  .footer{padding:20px 18px;}
  .footer-credit{
    flex-wrap:wrap;
    column-gap:8px;
    row-gap:7px;
  }
}
@media(prefers-reduced-motion:reduce){
  .footer-instagram{transition:none;}
}

/* ==============================================================
   MOBILE HERO — FIVE-PHOTO SEQUENCE
   Scoped to mobile so the approved desktop sequence is untouched.
   ============================================================== */
@keyframes mobileHeroFiveFade{
  0%{opacity:0}
  3%,20%{opacity:1}
  23%,100%{opacity:0}
}
@keyframes mobileHeroFiveMove{
  from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.065) translate3d(-.45%,-.3%,0)}
}
@media(max-width:850px){
  .hero-mobile-legacy picture.hero-slide--mobile-sequence{
    position:absolute;
    inset:-2%;
    display:block;
    height:104%;
    opacity:0;
    filter:saturate(.82) contrast(1.045) brightness(.9);
    animation:mobileHeroFiveFade 30s infinite both cubic-bezier(.45,0,.25,1);
    will-change:opacity;
  }
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:nth-child(1){animation-delay:-.9s}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:nth-child(2){animation-delay:5.1s}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:nth-child(3){animation-delay:11.1s}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:nth-child(4){animation-delay:17.1s}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:nth-child(5){animation-delay:23.1s}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence img{
    object-position:center center;
    animation:mobileHeroFiveMove 12s infinite alternate ease-in-out;
    will-change:transform;
  }
}
@media(max-width:850px) and (prefers-reduced-motion:reduce){
  .hero-mobile-legacy picture.hero-slide--mobile-sequence{display:none;animation:none}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence:first-child{display:block;opacity:1}
  .hero-mobile-legacy picture.hero-slide--mobile-sequence img{animation:none!important}
}
