:root{--coal:#12100e;--dark:#21150e;--wood:#4b2717;--cream:#e8d9c4;--gold:#c99132;--amber:#d9a13b;--red:#8d281d;--muted:#aa9c8e;--paper:#f1e7d8;--display:'Oswald','Arial Narrow',sans-serif;--body:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--coal);color:var(--cream);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit}button,input{font:inherit}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.hero{position:relative;min-height:760px;padding:0 1.25rem 5rem;overflow:hidden;background:radial-gradient(circle at 50% 70%,rgba(141,40,29,.23),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.45) 1px,transparent 1px),linear-gradient(180deg,#0d0b0a 0%,#1b120d 68%,#2b160e 100%);background-size:auto,90px 100%,auto}.hero:before{content:"";position:absolute;inset:0;opacity:.18;background:repeating-linear-gradient(8deg,transparent 0 42px,rgba(232,217,196,.09) 43px,transparent 44px)}.topbar{position:relative;z-index:3;max-width:1160px;margin:auto;height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(232,217,196,.17);text-transform:uppercase;font:600 .75rem var(--body);letter-spacing:.16em}.topbar a{text-decoration:none}.brand{display:flex;gap:.7rem;align-items:center}.brand span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);transform:rotate(45deg);font:700 1rem var(--display);color:var(--gold)}.brand span::first-letter{transform:rotate(-45deg)}.hero-content{position:relative;z-index:2;max-width:760px;margin:5rem auto 0;text-align:center}.eyebrow,.kicker{text-transform:uppercase;color:var(--gold);font-weight:700;font-size:.72rem;letter-spacing:.28em}.eyebrow{display:flex;align-items:center;justify-content:center;gap:1rem}.eyebrow span{width:38px;height:1px;background:var(--gold)}.hero-title{margin:1.2rem 0 .6rem;display:flex;flex-direction:column;align-items:center;line-height:.8}.years{display:flex;align-items:center;gap:.8rem;color:var(--gold)}.years strong{font:700 clamp(6rem,26vw,10rem)/.8 var(--display)}.years small{font:600 clamp(1.3rem,5vw,2rem)/1 var(--display);text-align:left;letter-spacing:.1em}.hero-title h1{margin:0;color:var(--cream);font:700 clamp(7rem,35vw,14rem)/.8 var(--display);letter-spacing:-.04em;text-shadow:0 7px 30px #000}.hero-copy{color:var(--muted);font-size:.95rem}.event-stamp{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:2rem 0;color:var(--cream);font-family:var(--display);letter-spacing:.08em}.event-stamp strong{font-size:2.8rem;border-left:1px solid var(--gold);border-right:1px solid var(--gold);padding:0 .8rem;line-height:1}.event-stamp span{font-size:.8rem;line-height:1.2}.event-stamp b{color:var(--gold);font-size:1.25rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:54px;padding:.8rem 1.4rem;border:0;text-decoration:none;text-transform:uppercase;font-weight:800;font-size:.76rem;letter-spacing:.13em;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #ffcf70;outline-offset:3px}.button-primary{background:var(--gold);color:#18110b;box-shadow:0 8px 30px rgba(201,145,50,.2)}.button-primary:hover{background:#e0ae57}.deadline{text-transform:uppercase;color:#80756b;font-size:.64rem;letter-spacing:.13em}.hero-bottom{position:absolute;left:-5%;right:-5%;bottom:-55px;height:90px;background:var(--paper);transform:rotate(-2deg)}.embers i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ef9a34;box-shadow:0 0 10px #e65520;animation:float 7s infinite linear}.embers i:nth-child(1){left:10%;bottom:10%;animation-delay:-2s}.embers i:nth-child(2){left:28%;bottom:7%;animation-delay:-5s}.embers i:nth-child(3){left:64%;bottom:12%}.embers i:nth-child(4){left:80%;bottom:5%;animation-delay:-3s}.embers i:nth-child(5){left:92%;bottom:15%;animation-delay:-6s}@keyframes float{to{transform:translateY(-420px);opacity:0}}
.section{padding:5rem 1.25rem}.event-overview{background:var(--paper);color:var(--dark)}.section-heading{max-width:1160px;margin:0 auto 2.5rem}.section-heading h2{margin:.3rem 0;font:600 clamp(2.4rem,9vw,4.2rem)/1 var(--display);text-transform:uppercase;letter-spacing:-.02em}.section-heading>p:last-child{color:#786b61;max-width:540px}.centered{text-align:center}.centered>p:last-child{margin:1rem auto}.info-grid{max-width:1160px;margin:auto;display:grid;gap:1px;background:#cbbda9;border:1px solid #cbbda9}.info-card{padding:2rem;background:#eadfce;min-height:220px;display:flex;flex-direction:column;justify-content:center}.info-card svg{width:30px;fill:none;stroke:var(--red);stroke-width:1.5;margin-bottom:1.5rem}.info-card span{text-transform:uppercase;color:#8c7a68;font-size:.65rem;font-weight:700;letter-spacing:.18em}.info-card strong{font:600 1.8rem var(--display);text-transform:uppercase;margin:.25rem 0}.info-card p{margin:0;color:#695a4d;font-size:.85rem}.info-card.featured{background:var(--wood);color:var(--cream)}.info-card.featured p,.info-card.featured span{color:#cbbba9}.info-card.featured svg{stroke:var(--gold)}
.attractions{background:#17120f;position:relative}.attractions:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,rgba(141,40,29,.12),transparent 55%)}.attraction-grid{position:relative;z-index:1;max-width:1000px;margin:auto;display:grid;gap:.75rem}.attraction{display:flex;align-items:center;gap:1rem;padding:1.1rem;border:1px solid #382a21;background:rgba(33,21,14,.55)}.attraction-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border:1px solid #5f3b25;color:var(--gold);font:600 1.15rem var(--display)}.attraction h3{margin:0;text-transform:uppercase;font:600 1rem var(--display);letter-spacing:.04em}.attraction p{margin:0;color:#8f8175;font-size:.75rem}
.rsvp{background:linear-gradient(120deg,#341b10,#1b120d);display:grid;gap:2.5rem}.rsvp-intro,.form-card{max-width:550px;width:100%;margin:auto}.rsvp-intro h2{margin:.4rem 0 1rem;text-transform:uppercase;font:600 clamp(3rem,13vw,5rem)/.95 var(--display)}.rsvp-intro>p:not(.kicker){color:#b5a594}.date-note{display:flex;align-items:center;gap:.8rem;margin-top:2rem;color:var(--gold)}.date-note strong{font:600 3.5rem/1 var(--display)}.date-note span{font:600 1rem/1 var(--display);border-left:1px solid #6f4c2b;padding-left:.8rem}.date-note small{color:#9f8d7a;font:500 .6rem var(--body);text-transform:uppercase;letter-spacing:.1em}.form-card{background:var(--paper);color:var(--dark);padding:1.4rem;box-shadow:0 25px 70px rgba(0,0,0,.25)}.field{display:block;margin:0 0 1.25rem;padding:0;border:0}.field label,.field legend{display:block;margin-bottom:.45rem;text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.11em}.field input{width:100%;height:52px;border:1px solid #c9baa5;border-radius:0;background:#f8f1e7;color:#21150e;padding:0 .9rem}.field input[aria-invalid=true]{border-color:var(--red)}.field-error{display:block;color:#a22921;font-size:.75rem;margin-top:.25rem}.quantity-field small{display:block;color:#776a5c;font-size:.72rem;margin-top:.6rem}.stepper{display:grid;grid-template-columns:52px 1fr 52px;border:1px solid #c9baa5}.stepper button{height:52px;border:0;background:#e2d4c0;font-size:1.5rem;cursor:pointer}.stepper input{border:0;text-align:center;font:600 1.2rem var(--display);appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-button{width:100%}.submit-button:disabled{opacity:.65;cursor:wait}.privacy-note{text-align:center;color:#827365;font-size:.67rem}.form-message{display:none}.form-message.success,.form-message.error,.closed-message{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.form-message.success strong{font:600 2rem var(--display);text-transform:uppercase;color:#4c621d}.form-message.success span{margin-top:.7rem}.form-message.error{display:block;min-height:auto;background:#f6dcd7;color:#811b16;padding:1rem}.closed-message>span{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--gold);font-size:1.5rem}.closed-message h3{font:600 2rem var(--display);text-transform:uppercase;margin:1rem 0 0}.closed-message p{color:#786b61}.location{background:var(--paper);color:var(--dark);display:grid;gap:2rem}.location-mark{width:74px;height:74px;background:var(--red);display:grid;place-items:center}.location-mark svg{width:34px;fill:none;stroke:#fff;stroke-width:1.5}.location h2{font:600 clamp(2.7rem,10vw,4.8rem)/.95 var(--display);text-transform:uppercase;margin:.5rem 0}.district{text-transform:uppercase;letter-spacing:.12em;color:#887767;font-size:.75rem}.address-card{border-left:1px solid #bfae98;padding-left:1.5rem}.address-card address{font-style:normal;font-size:1rem;margin-bottom:1.2rem}.address-card>p{font-size:.8rem;color:#776756}.address-card>p span{display:inline-grid;place-items:center;background:var(--gold);color:#fff;width:20px;height:20px;margin-right:.5rem;font-weight:800}.button-outline{border:1px solid var(--wood);color:var(--wood);margin-top:.8rem}footer{padding:3rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;background:#0c0a09;color:#d7c8b4}.footer-40{font:600 3.5rem/1 var(--display);color:var(--gold)}footer strong{font:600 1rem var(--display)}footer p{margin:0;color:#766b62;font-size:.7rem;letter-spacing:.1em}.footer-note{display:none}.mobile-cta{position:fixed;z-index:20;bottom:12px;left:12px;right:12px;background:var(--gold);color:#17100b;text-transform:uppercase;text-decoration:none;text-align:center;font-weight:800;font-size:.72rem;letter-spacing:.1em;padding:.9rem;box-shadow:0 6px 25px #000;transition:opacity .2s,transform .2s}.mobile-cta.hidden{opacity:0;transform:translateY(100%);pointer-events:none}
@media(min-width:650px){.info-grid{grid-template-columns:repeat(3,1fr)}.attraction-grid{grid-template-columns:repeat(2,1fr)}.form-card{padding:2.5rem}.location{grid-template-columns:auto 1fr 1fr;align-items:center}.location-mark{align-self:start}.footer-note{display:block;margin-left:auto}footer{padding-left:max(2rem,calc((100% - 1160px)/2));padding-right:max(2rem,calc((100% - 1160px)/2))}}
@media(min-width:900px){.hero{min-height:850px}.hero-content{margin-top:6rem}.hero-title{flex-direction:row;justify-content:center;gap:1.3rem}.hero-title h1{font-size:13rem}.years{flex-direction:column;gap:0}.years strong{font-size:8rem}.years small{text-align:center;font-size:1.2rem}.info-card{padding:2.7rem}.section{padding:7rem max(2rem,calc((100% - 1160px)/2))}.rsvp{grid-template-columns:1fr 1fr;align-items:center}.attraction-grid{grid-template-columns:repeat(4,1fr)}.attraction{min-height:145px;display:block}.attraction-icon{margin-bottom:1rem}.mobile-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.brand span{font-size:0}.brand span::before{content:"G";display:block;transform:rotate(-45deg);font:700 1rem/1 var(--display)}

/* Retrato editorial da primeira dobra */
.hero{min-height:940px;background:radial-gradient(circle at 50% 55%,rgba(141,40,29,.22),transparent 35%),linear-gradient(90deg,rgba(0,0,0,.45) 1px,transparent 1px),linear-gradient(180deg,#0d0b0a 0%,#1b120d 70%,#2b160e 100%);background-size:auto,90px 100%,auto}
.hero-portrait{position:absolute;z-index:1;top:82px;left:-20%;width:140%;height:560px;overflow:hidden;pointer-events:none}
.hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--coal) 0,transparent 16%,transparent 84%,var(--coal) 100%),linear-gradient(180deg,transparent 42%,rgba(18,16,14,.25) 58%,var(--coal) 91%)}
.hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.9) contrast(1.04)}
.hero-content{margin-top:350px}
.hero-bottom{z-index:2}

@media(min-width:700px) and (max-width:899px){.hero-portrait{left:0;width:100%;height:610px}.hero-content{margin-top:380px}}

@media(min-width:900px){.hero{min-height:850px;padding-bottom:5rem}.hero-portrait{top:0;right:-4vw;bottom:0;left:auto;width:70vw;height:auto;overflow:hidden}.hero-portrait::after{background:linear-gradient(90deg,var(--coal) 0,rgba(18,16,14,.98) 10%,rgba(18,16,14,.82) 23%,rgba(18,16,14,.25) 41%,transparent 54%),linear-gradient(180deg,rgba(18,16,14,.18) 0,transparent 20%,transparent 68%,#21150e 100%)}.hero-portrait img{object-position:center 20%}.hero-content{width:min(46vw,570px);max-width:none;margin:4.7rem 0 0 max(4vw,calc((100vw - 1160px)/2));padding:0;text-align:left}.hero-content .eyebrow,.hero-content .event-stamp{justify-content:flex-start}.hero-content .eyebrow{margin-bottom:1.4rem;white-space:nowrap}.hero-title{justify-content:flex-start;gap:1.25rem;margin:0 0 1.7rem}.hero-title h1{font-size:clamp(8.5rem,13.5vw,11.5rem)}.years{gap:.35rem}.years strong{font-size:6.8rem}.hero-copy{max-width:450px;margin:0;font-size:1rem;line-height:1.7}.hero-meta{margin-top:2.2rem}}

@media(min-width:1100px){.hero-content{width:min(48vw,620px)}.hero-meta{display:grid;grid-template-columns:max-content minmax(230px,1fr);align-items:center;gap:2rem;max-width:610px;padding-top:1.6rem;border-top:1px solid rgba(232,217,196,.16)}.hero-meta .event-stamp{margin:0}.hero-cta-group .button{width:100%;padding-left:1rem;padding-right:1rem}.hero-cta-group .deadline{margin:.65rem 0 0;text-align:left;white-space:nowrap;font-size:.58rem}}

@media(min-width:1450px){.hero-portrait{right:0;width:67vw}.hero-content{width:570px}}

/* Composição editorial ampla — somente desktop */
@media(min-width:1100px){
  .hero-content{width:min(49vw,640px);margin-top:4.2rem}
  .hero-content .eyebrow{margin:0 0 1.9rem;font-size:.78rem;letter-spacing:.32em}
  .hero-title{gap:1.7rem;margin-bottom:2.25rem}
  .hero-title h1{font-size:clamp(10rem,14vw,12rem)}
  .years strong{font-size:7.5rem}
  .years small{font-size:1.3rem}
  .hero-copy{max-width:520px;font-size:1.14rem;line-height:1.75;color:#c0b3a7}
  .hero-meta{display:block;max-width:570px;margin-top:2.6rem;padding-top:1.9rem;border-top:1px solid rgba(232,217,196,.18)}
  .hero-meta .event-stamp{margin:0}
  .hero-cta-group{margin-top:3rem}
  .hero-cta-group .button{width:360px;min-height:62px;padding:1rem 1.5rem;font-size:.8rem}
  .hero-cta-group .deadline{margin:.75rem 0 0;text-align:left;white-space:nowrap;font-size:.6rem}
}
