:root{color:#252321;background:#f7f0e5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;--ink: #252321;--muted: #746d67;--cream: #f7f0e5;--paper: #fffdf9;--line: #e3d5c5;--accent: #7b263a;--accent-dark: #5e1b2b;--sage: #d9e2d5;--pine: #1f4a3a;--pine-dark: #16382c;--gold: #d7b56d;--terracotta: #b65c45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.site-shell,.form-shell{min-height:100vh;overflow:hidden}.site-header,.form-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1240px;padding:28px 44px;position:relative;z-index:3}.brand{font-family:Georgia,Times New Roman,serif;font-size:1.23rem;letter-spacing:-.03em;text-decoration:none}.brand span{color:var(--accent);font-style:italic;padding:0 3px}.main-nav{align-items:center;display:flex;gap:28px}.main-nav a,.text-link{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-decoration:none;transition:color .2s ease}.main-nav a:hover,.text-link:hover{color:var(--pine)}.main-nav .nav-cta{border:2px solid var(--pine);border-radius:999px;color:var(--pine);font-size:.82rem;font-weight:750;min-height:48px;padding:11px 18px}.main-nav .nav-cta:hover{background:var(--pine);border-color:var(--pine);color:#fffaf4}.hero{align-items:center;display:flex;justify-content:center;margin:0;max-width:none;min-height:790px;overflow:hidden;padding:80px 28px;position:relative}.hero__image{background:url(/hero-navidad-jerez-dia.png) center / cover no-repeat;inset:0;position:absolute}.hero__overlay{background:linear-gradient(90deg,#113d30b3,#1f4a3a80 48%,#1f4a3a4d),linear-gradient(0deg,#16382c57,#16382c1a);inset:0;position:absolute}.hero__content{background:#10362a66;border:1px solid rgba(255,250,244,.22);color:#fffaf4;max-width:900px;padding:52px 58px 44px;position:relative;text-align:center;z-index:1}.eyebrow{color:var(--accent-dark);font-size:.8rem;font-weight:700;letter-spacing:.13em;line-height:1.4;margin:0 0 16px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero h1{font-size:clamp(4.6rem,10vw,9rem);letter-spacing:-.075em;line-height:.84;margin:0 auto 32px;max-width:900px}.hero__date{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-style:italic;margin-bottom:22px}.hero__description{background:#0d30269e;border-left:3px solid var(--gold);color:#fffaf4;font-size:1.08rem;line-height:1.75;margin:30px auto 34px;max-width:660px;padding:14px 22px;text-shadow:0 1px 2px rgba(0,0,0,.22)}.placeholder-photo{align-items:center;background:linear-gradient(145deg,#7b263a59,#d7b56d2e 43%,#1f4a3a6b),radial-gradient(circle at 63% 26%,rgba(255,255,255,.75) 0 8%,transparent 8.5%),radial-gradient(ellipse at 52% 58%,#b65c45 0 12%,transparent 12.5%),linear-gradient(125deg,#ead9c1,#76917d);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:28px}.placeholder-photo:before{border:1px solid rgba(255,255,255,.6);content:"";inset:16px;position:absolute}.placeholder-photo span,.placeholder-photo small{color:#fffaf4;position:relative;text-shadow:0 1px 12px rgba(25,20,17,.25)}.placeholder-photo span{font-family:Georgia,serif;font-size:1.3rem}.placeholder-photo small{font-size:.72rem;letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.hero__ornament{border:1px solid rgba(123,38,58,.28);border-radius:50%;height:250px;position:absolute;right:33%;top:20px;width:250px}.hero__ornament:after{border:1px solid rgba(215,181,109,.42);border-radius:50%;content:"";inset:17px;position:absolute}.hero .eyebrow{color:var(--gold)}.countdown{align-items:flex-start;display:flex;gap:22px;justify-content:center;margin:28px auto 0}.countdown span{align-items:center;display:flex;flex-direction:column;min-width:72px}.countdown strong{color:#fffaf4;font-family:Georgia,serif;font-size:2.3rem;font-weight:400;line-height:1}.countdown small{color:#fffaf4b8;font-size:.62rem;letter-spacing:.13em;margin-top:8px;text-transform:uppercase}.countdown--today{color:var(--gold);font-family:Georgia,serif;font-size:1.2rem;font-style:italic}.section{margin:0 auto;max-width:1240px;padding:120px 80px}.section--story{background:#f7ebe4;border-top:4px solid #c47b69}.section-heading h2{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.06em;line-height:.95;margin-bottom:0}.section-heading--center{text-align:center}.story-grid{align-items:start;display:grid;gap:42px;grid-template-columns:1fr;margin-top:65px}.story-copy{color:var(--muted);font-size:1.07rem;line-height:1.95;max-width:720px}.gallery{display:flex;flex-direction:column;gap:16px}.gallery-viewport{height:clamp(420px,45vw,560px)}.gallery-slide{align-items:flex-end;background:linear-gradient(140deg,#b65c45,#1f4a3a);border:0;color:#fffffff0;cursor:zoom-in;display:flex;flex-direction:column;font:inherit;height:100%;justify-content:flex-end;min-height:0;overflow:hidden;padding:30px;position:relative;text-align:left;transition:transform .25s ease,filter .25s ease;width:100%}.gallery-slide:before{background:linear-gradient(transparent 45%,#131e1a9e);content:"";inset:0;position:absolute}.gallery-slide:hover{filter:saturate(1.08);transform:translateY(-3px)}.gallery-slide span,.gallery-slide small{position:relative;z-index:1}.gallery-slide span{font-family:Georgia,serif;font-size:2rem}.gallery-slide small{font-size:.78rem;letter-spacing:.06em;margin-top:8px;opacity:.85}.gallery-slide--tall{background:linear-gradient(160deg,#d7b56d 8%,#7b263a 50%,#1f4a3a)}.gallery-slide--small{background:linear-gradient(135deg,#76917d,#ead9c1 60%,#b65c45)}.gallery-slide--wide{background:linear-gradient(130deg,#7b263a,#e6d4bd 55%,#1f4a3a)}.gallery-controls,.lightbox__controls{align-items:center;display:flex;justify-content:center}.gallery-controls{background:#fffaf4;border:2px solid var(--pine);gap:0;margin:3px auto 0;width:min(100%,330px)}.gallery-controls>span{align-items:center;color:var(--pine);display:flex;flex:1;font-family:Georgia,serif;font-size:1.12rem;font-weight:700;justify-content:center;min-height:52px}.lightbox__controls{gap:18px}.lightbox__controls>span{color:var(--muted);font-family:Georgia,serif;font-size:1rem}.gallery-control{align-items:center;background:var(--pine);border:0;color:#fffaf4;cursor:pointer;display:inline-flex;flex:0 0 58px;font-size:1.35rem;height:52px;justify-content:center;transition:background .2s ease,color .2s ease,transform .2s ease}.gallery-control:hover{background:var(--gold);color:var(--pine-dark)}.gallery-control:active{transform:scale(.96)}.gallery-control:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.lightbox{align-items:center;background:#16382cd1;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.lightbox__panel{background:var(--paper);max-width:960px;padding:18px;position:relative;width:min(100%,960px)}.lightbox__close{background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:.72rem;letter-spacing:.08em;padding:9px 12px;position:absolute;right:28px;text-transform:uppercase;top:28px;z-index:2}.lightbox__close:hover{background:var(--cream);color:var(--pine)}.lightbox__image{align-items:flex-end;background:linear-gradient(140deg,#b65c45,#1f4a3a);color:#fffaf4;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(70vh,620px);overflow:hidden;padding:42px;position:relative;text-align:left}.lightbox__image:before{background:linear-gradient(transparent 35%,#131e1aad);content:"";inset:0;position:absolute}.lightbox__image span,.lightbox__image small{position:relative;z-index:1}.lightbox__image span{font-family:Georgia,serif;font-size:2.6rem}.lightbox__image small{font-size:.9rem;margin-top:8px;opacity:.86}.lightbox__controls{margin-top:16px}.section--places{background:#e2eadf;border-top:4px solid #77927d;max-width:none;padding-left:max(80px,calc((100vw - 1080px)/2));padding-right:max(80px,calc((100vw - 1080px)/2))}.place-grid{display:grid;gap:24px;grid-template-columns:minmax(0,900px);justify-content:center;margin-top:62px}.place-card{background:#fffdf9b8;display:grid;gap:36px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:360px;padding:28px}.place-card__image{flex:0 0 304px;height:304px;min-height:304px}.place-card__body{align-self:center}.place-card__number{color:var(--terracotta);font-family:Georgia,serif;font-size:1.3rem}.place-card h3{font-size:2.3rem;letter-spacing:-.04em;margin-bottom:12px}.place-card p{color:var(--muted);margin-bottom:10px}.place-card__time{color:var(--accent-dark)!important;font-family:Georgia,serif;font-style:italic}.text-link{border-bottom:1px solid currentColor;display:inline-flex;gap:8px;margin-top:23px;padding-bottom:4px}.card-action{align-items:center;border:2px solid var(--pine);display:inline-flex;font-size:.82rem;font-weight:750;gap:18px;justify-content:space-between;letter-spacing:.045em;min-height:54px;padding:14px 17px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.card-action:hover{transform:translateY(-1px)}.card-action--primary{background:var(--pine);color:#fffaf4}.card-action--primary:hover{background:var(--pine-dark);border-color:var(--pine-dark)}.card-action--secondary{background:transparent;color:var(--pine)}.card-action--secondary:hover{background:var(--sage);border-color:var(--pine);color:var(--pine-dark)}.place-card__action{margin-top:16px}.section--hotels{background:#f4ead8;border-top:4px solid #d7b56d;max-width:none;padding-left:max(80px,calc((100vw - 1080px)/2));padding-right:max(80px,calc((100vw - 1080px)/2))}.hotels-intro{color:var(--muted);line-height:1.8;margin:24px auto 0;max-width:620px}.hotel-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:50px}.hotel-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;min-height:480px;overflow:hidden}.hotel-card__image{flex:0 0 200px;height:200px;min-height:200px}.hotel-card__body{display:flex;flex:1;flex-direction:column;padding:24px}.hotel-card__number{color:var(--terracotta);font-family:Georgia,serif;font-size:1.1rem}.hotel-card h3{font-size:1.65rem;line-height:1;margin:23px 0 12px}.hotel-card p{color:var(--muted);font-size:.9rem;line-height:1.7;margin-bottom:8px}.hotel-card .hotel-card__distance{color:var(--accent-dark);font-family:Georgia,serif;font-style:italic}.hotel-card__links{align-items:stretch;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:18px;width:100%}.hotel-note{color:var(--muted);font-size:.72rem;line-height:1.6;margin:28px auto 0;max-width:760px;text-align:center}.image-preview{background:var(--sage);overflow:hidden;position:relative}.image-preview img{display:block;height:100%;object-fit:cover;width:100%}.image-preview__fallback{align-items:center;background:linear-gradient(135deg,var(--sage),var(--cream));color:var(--accent-dark);display:flex;font-family:Georgia,serif;font-size:1.1rem;height:100%;justify-content:center;padding:24px;text-align:center}.image-credit{background:#16382cc2;bottom:10px;color:#fffaf4;font-size:.62rem;left:10px;letter-spacing:.03em;padding:5px 8px;position:absolute;text-decoration:none}.image-credit:hover{background:var(--pine)}.section--zambombas{background:#e7d9ca;border-top:4px solid #b78268;max-width:none;padding-left:max(80px,calc((100vw - 1080px)/2));padding-right:max(80px,calc((100vw - 1080px)/2))}.zambomba-layout{align-items:start;display:grid;gap:clamp(38px,7vw,100px);grid-template-columns:minmax(240px,.73fr) minmax(0,1.27fr);margin:0 auto;max-width:1080px}.zambomba-intro{position:relative}.zambomba-intro:before{border:1px solid rgba(123,38,58,.3);border-radius:50%;content:"";height:114px;position:absolute;right:6%;top:-38px;width:114px}.zambomba-intro h2{color:var(--pine-dark);font-size:clamp(2.7rem,4.4vw,4.5rem);letter-spacing:-.065em;line-height:.93;margin-bottom:24px;position:relative}.zambomba-intro>p:not(.eyebrow):not(.zambomba-disclaimer){color:#5e5b55;font-family:Georgia,Times New Roman,serif;font-size:1.16rem;line-height:1.7;margin-bottom:28px;max-width:380px}.zambomba-disclaimer{border-left:3px solid var(--accent);color:#694c49;font-size:.82rem;line-height:1.65;margin:0;max-width:410px;padding:12px 0 12px 15px}.zambomba-disclaimer span{color:var(--accent);margin-right:5px}.zambomba-calendar{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.zambomba-card{background:#fffdf9db;border:1px solid rgba(123,38,58,.2);display:grid;grid-template-columns:86px minmax(0,1fr);min-height:158px;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.zambomba-card:hover{box-shadow:0 12px 24px #442b221c;transform:translateY(-3px)}.zambomba-card__date{align-items:center;background:var(--pine);color:#fffaf4;display:flex;flex-direction:column;justify-content:center;padding:16px 9px}.zambomba-card__date span,.zambomba-card__date small{font-size:.68rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.zambomba-card__date strong{font-family:Georgia,Times New Roman,serif;font-size:2.35rem;font-weight:400;line-height:1;margin:5px 0}.zambomba-card__body{align-self:center;padding:22px 21px}.zambomba-card h3{color:var(--pine-dark);font-size:1.38rem;letter-spacing:-.04em;line-height:1.05;margin-bottom:13px}.zambomba-card p{color:var(--muted);font-size:.83rem;line-height:1.5;margin:0}.zambomba-card p strong{color:var(--accent-dark);font-weight:800}.section--details{background:#edf1e9;border-top:4px solid #9cab91;max-width:none;padding-left:max(80px,calc((100vw - 1080px)/2));padding-right:max(80px,calc((100vw - 1080px)/2))}.details-grid{display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:58px}.detail-card{border-top:1px solid var(--line);padding:30px 0}.detail-card__icon{color:var(--accent);display:block;font-size:1.6rem;margin-bottom:24px}.detail-card h3{font-size:2rem;margin-bottom:14px}.detail-card p{color:var(--muted);line-height:1.8;max-width:420px}.schedule-list{list-style:none;margin:0;padding:0}.schedule-list li{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:35px;padding:11px 0}.schedule-list strong{color:var(--accent-dark);font-family:Georgia,serif;font-weight:400;width:55px}.schedule-list span{color:var(--muted);font-size:.92rem}.section--contribution{background:#f3e5e2;border-top:4px solid #b65c45;max-width:none;padding-left:max(40px,calc((100vw - 1080px)/2));padding-right:max(40px,calc((100vw - 1080px)/2))}.contribution-card{background:var(--sage);color:var(--ink);margin:0 auto;max-width:1050px;padding:92px clamp(28px,9vw,145px);position:relative;text-align:center}.contribution-card__seal{align-items:center;border:1px solid rgba(123,38,58,.55);border-radius:50%;color:var(--accent);display:flex;font-family:Georgia,serif;font-size:1.2rem;height:66px;justify-content:center;margin:0 auto 37px;width:66px}.contribution-card__seal span{font-style:italic;padding:0 3px}.price-highlight{background:var(--gold);border-radius:3px;box-shadow:0 2px #5e1b2b24;color:var(--pine);display:inline-block;font-family:Georgia,serif;font-size:1.12em;padding:2px 9px}.contribution-copy{color:#385446;font-size:.98rem;line-height:1.85;margin:38px auto 34px;max-width:700px}.contribution-copy p:last-child{color:var(--accent-dark);font-family:Georgia,serif;font-size:1.12rem;font-style:italic}.button{align-items:center;border:0;cursor:pointer;display:inline-flex;font-size:.84rem;font-weight:750;gap:18px;justify-content:center;letter-spacing:.065em;min-height:54px;padding:16px 24px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.button:hover{transform:translateY(-2px)}.button--dark{background:var(--pine);color:#fffaf4}.button--dark:hover{background:var(--pine-dark)}.button--hero{background:var(--gold);border:2px solid var(--gold);box-shadow:0 10px 25px #132c2340;color:var(--pine-dark)}.button--hero:hover{background:#e6ce8b;border-color:#e6ce8b;color:var(--pine-dark)}.button--accent{background:var(--pine);color:#fffaf4}.button--accent:hover{background:var(--pine-dark)}.button--ghost{background:transparent;border:2px solid var(--line);color:var(--muted)}.button--ghost:hover{background:var(--paper);color:var(--ink)}.button:focus-visible,.card-action:focus-visible,.form-back-button:focus-visible,.main-nav .nav-cta:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.site-footer{color:var(--muted);display:flex;font-size:.7rem;justify-content:space-between;letter-spacing:.06em;margin:0 auto;max-width:1240px;padding:30px 44px 45px;text-transform:uppercase}.form-shell{background:var(--cream)}.form-header{border-bottom:1px solid var(--line);max-width:100%;padding-left:max(28px,calc((100vw - 1080px)/2));padding-right:max(28px,calc((100vw - 1080px)/2))}.form-back-button{align-items:center;background:var(--paper);border:2px solid var(--pine);color:var(--pine);display:inline-flex;font-size:.82rem;font-weight:750;gap:9px;letter-spacing:.05em;min-height:48px;padding:12px 17px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.form-back-button:hover{background:var(--pine);color:#fffaf4;transform:translateY(-1px)}.form-main{margin:0 auto;max-width:1080px;padding:76px 28px 110px}.form-intro{max-width:none;width:100%}.form-intro h1{font-size:clamp(3rem,6vw,5.8rem);letter-spacing:-.07em;line-height:.9;margin-bottom:24px}.form-intro>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.8;max-width:900px}.stepper{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);list-style:none;margin:60px 0 24px;padding:0}.stepper li{align-items:center;background:var(--paper);border:2px solid var(--line);color:#8d847d;display:flex;gap:13px;min-height:72px;padding:15px 18px;transition:background .2s ease,border-color .2s ease,color .2s ease}.stepper li span{align-items:center;border:2px solid currentColor;border-radius:50%;display:flex;flex:0 0 30px;font-size:.76rem;font-weight:750;height:30px;justify-content:center;width:30px}.stepper li strong{font-size:.82rem;font-weight:750;letter-spacing:.065em;line-height:1.3;text-transform:uppercase}.stepper li.is-complete{background:#dfe8dc;border-color:#8ba082;color:#355842}.stepper li.is-current{background:var(--pine);border-color:var(--pine);color:#fffaf4;box-shadow:0 8px 20px #1f4a3a2e}.stepper li.is-current span{color:var(--gold)}.stepper li.is-upcoming{background:#f5f0e9;border-color:#d9cec2;color:#847970}.form-card{background:var(--paper);border:1px solid var(--line);padding:clamp(26px,5vw,60px)}.form-card__heading{align-items:flex-start;display:flex;gap:22px;margin-bottom:42px}.step-label{color:var(--accent);font-family:Georgia,serif;font-size:1.2rem}.form-card h2{font-size:2.65rem;letter-spacing:-.05em;margin-bottom:9px}.form-card__heading p{color:var(--muted);font-size:1rem;line-height:1.6;margin:0}.field-grid{display:grid;gap:19px;grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:10px}.attendee-song{background:#f7efe7;border:2px solid rgba(31,74,58,.25);margin-top:26px;padding:20px}.attendee-song>span{color:var(--pine)}.attendee-song>small{color:#745f56;font-size:.84rem;line-height:1.55}.field--wide{grid-column:1 / -1}.field>span,.dietary-fieldset legend,.review-label,.payment-label{color:var(--muted);font-size:.78rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.field input,.field select,.field textarea{background:#fffefa;border:2px solid #d6c9bd;border-radius:0;color:var(--ink);font-size:1rem;outline:none;padding:16px 17px;transition:border .2s ease,box-shadow .2s ease}.field textarea{min-height:70px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px #1f4a3a24}.party-size-field{margin-top:23px;max-width:310px}.notice{align-items:flex-start;background:#f6eee6;color:#745f56;display:flex;font-size:.92rem;gap:11px;line-height:1.6;margin:24px 0 38px;padding:16px 18px}.notice span{align-items:center;border:1px solid currentColor;border-radius:50%;display:inline-flex;flex:0 0 18px;font-family:Georgia,serif;font-size:.7rem;height:18px;justify-content:center;margin-top:1px}.attendees-list{display:grid;gap:22px}.attendee-card{background:#fffdf9;border:2px solid rgba(123,38,58,.18);padding:28px}.attendee-card__header{align-items:flex-start;display:flex;gap:17px;margin-bottom:29px}.attendee-number{color:var(--accent);font-family:Georgia,serif;font-size:1.35rem}.attendee-card h3{font-size:1.6rem;margin-bottom:5px}.attendee-card__header p{color:var(--muted);font-size:.92rem;line-height:1.5;margin:0}.dietary-fieldset{border:0;margin:25px 0 0;padding:0}.dietary-fieldset legend{margin-bottom:16px}.tag-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.tag-option{cursor:pointer}.tag-option input,.consent-check input,.bus-check input{height:1px;opacity:0;position:absolute;width:1px}.tag-option span{align-items:center;background:#fffaf4;border:2px solid #cdbdaf;color:#5f514b;display:flex;gap:14px;justify-content:space-between;min-height:66px;padding:12px 14px;transition:all .2s ease}.tag-option span:hover{border-color:var(--pine);box-shadow:0 5px 14px #1f4a3a1a;transform:translateY(-1px)}.tag-option span strong{font-size:.9rem;line-height:1.25}.tag-option span small{color:#8b7468;flex:0 0 auto;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tag-option.is-selected span{background:var(--pine);border-color:var(--pine);box-shadow:0 7px 18px #1f4a3a2e;color:#fffaf4}.tag-option.is-selected span small{color:var(--gold)}.tag-option input:focus-visible+span,.consent-check input:focus-visible+span,.bus-check input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.bus-check,.consent-check{align-items:flex-start;cursor:pointer;display:flex;gap:12px;margin-top:20px}.bus-check:before,.consent-check:before{border:2px solid #cdbdaf;content:"";flex:0 0 23px;height:23px;margin-top:1px}.bus-check:has(input:checked):before,.consent-check:has(input:checked):before{background:var(--pine);border-color:var(--pine);box-shadow:inset 0 0 0 4px var(--paper)}.bus-check span,.consent-check span{color:var(--muted);font-size:.9rem;line-height:1.55}.bus-check strong{color:var(--ink);display:block;font-size:.95rem;margin-bottom:3px}.bus-check small{display:block}.consent-check{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.form-actions{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-top:42px}.form-actions--end{justify-content:flex-end}.error-box{background:#f9e8e3;border-left:3px solid var(--accent-dark);color:#754238;font-size:.83rem;margin-top:22px;padding:15px 18px}.error-box strong{font-weight:700}.error-box ul{margin:7px 0 0;padding-left:18px}.review-layout{display:grid;gap:36px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.review-layout>div{min-width:0}.review-label{font-size:.82rem;margin-bottom:11px}.review-label--spaced{margin-top:35px}.review-value{font-family:Georgia,serif;font-size:1.8rem;line-height:1.2;margin-bottom:7px}.review-muted{color:var(--muted);font-size:.96rem;line-height:1.55;overflow-wrap:anywhere}.review-people{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.review-people li{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;font-family:Georgia,serif;gap:22px;justify-content:space-between;padding:18px 0}.review-people li>div{display:flex;flex-direction:column;gap:3px}.review-people li>div>span{font-size:1.1rem;line-height:1.35}.review-people small{color:var(--muted);font-family:inherit;font-size:.86rem;line-height:1.45}.review-people em{color:var(--accent-dark);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.88rem;font-style:normal;line-height:1.5;max-width:52%;overflow-wrap:anywhere;text-align:right}.total-box{background:var(--sage);border:1px solid rgba(94,102,91,.18);padding:32px}.total-box>p{color:var(--muted);font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.total-line{align-items:end;border-bottom:1px solid rgba(94,102,91,.25);display:flex;gap:20px;justify-content:space-between;padding:24px 0}.total-line span{color:#4e5b51;font-size:1rem;line-height:1.5}.total-line strong{color:var(--accent-dark);font-family:Georgia,serif;font-size:2.55rem;font-weight:700;line-height:1;white-space:nowrap}.total-box small{color:var(--muted);display:block;font-size:.87rem;line-height:1.65;margin-top:18px}.review-next-step{background:#edf1e9;border:1px solid #b8c8ba;border-top:4px solid var(--pine);margin-top:32px;padding:clamp(18px,3vw,28px)}.review-next-step__title{color:var(--pine-dark);font-size:1.12rem;font-weight:750;line-height:1.5;margin:0 0 10px}.review-next-step>p:not(.review-next-step__title){color:#584d47;font-size:1rem;line-height:1.65;margin:0 0 22px}.review-next-step .button--confirm-reservation{background:var(--pine);border:2px solid var(--pine);color:#fffaf4;font-size:1.05rem;font-weight:750;gap:16px;letter-spacing:.015em;line-height:1.45;min-height:72px;padding:18px 20px;text-align:center;text-transform:none;width:100%}.review-next-step .button--confirm-reservation>span{flex-shrink:0;font-size:1.5rem}.review-next-step .button--confirm-reservation:hover{background:var(--pine-dark);border-color:var(--pine-dark)}.review-next-step .button--confirm-reservation:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.review-next-step .button--confirm-reservation:disabled{cursor:wait;opacity:.7;transform:none}.review-edit-action{display:flex;justify-content:center;margin-top:20px}.success-card{min-height:530px}.success-content{margin:0 auto;max-width:720px;text-align:center}.success-mark{align-items:center;background:var(--sage);border-radius:50%;color:var(--pine);display:flex;font-size:1.7rem;height:66px;justify-content:center;margin:0 auto 28px;width:66px}.success-content h2{font-size:3.2rem;margin-bottom:13px}.success-lead{color:var(--muted);margin:0 auto 30px}.payment-instructions{background:#edf1e9;border:2px solid var(--pine);box-shadow:0 10px 26px #1f4a3a1a;margin:0 auto 24px;padding:clamp(22px,4vw,34px);text-align:left}.payment-instructions__intro{text-align:center}.payment-kicker{color:var(--pine);display:block;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.payment-instructions h3{color:var(--pine-dark);font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.15;margin:8px 0 12px}.payment-instructions__intro p{color:#584d47;font-size:1rem;line-height:1.65;margin:0 auto;max-width:560px}.reservation-code{background:#fffaf4;border:1px solid #b8c8ba;margin:24px auto;padding:21px;text-align:center}.reservation-code span{color:var(--pine);display:block;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.reservation-code strong{color:var(--pine-dark);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2.3rem,8vw,4.25rem);letter-spacing:.12em;line-height:1.1;margin:10px 0 16px;overflow-wrap:anywhere}.reservation-code button{background:var(--pine);border:2px solid var(--pine);color:#fffaf4;cursor:pointer;font-size:.85rem;font-weight:750;min-height:44px;padding:10px 16px}.reservation-code button:hover{background:var(--pine-dark);border-color:var(--pine-dark)}.reservation-code button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.payment-steps{border-top:1px solid #d4b9b5;counter-reset:payment-step;display:grid;gap:0;list-style:none;margin:0;padding:0}.payment-steps li{align-items:start;border-bottom:1px solid #d4b9b5;counter-increment:payment-step;display:grid;gap:3px 14px;grid-template-columns:32px 1fr;padding:15px 0}.payment-steps li:before{align-items:center;background:var(--pine);border-radius:50%;color:#fffaf4;content:counter(payment-step);display:flex;font-size:.82rem;font-weight:800;height:26px;justify-content:center;width:26px}.payment-steps strong{color:var(--ink);font-size:1rem;line-height:1.45}.payment-steps span{color:#584d47;font-size:.95rem;grid-column:2;line-height:1.55}.payment-panel{display:grid;gap:1px;grid-template-columns:1fr 1fr;margin:24px 0;text-align:left}.payment-panel>div{background:#f2eee5;padding:20px}.payment-panel .payment-method{display:flex;flex-direction:column;align-items:flex-start}.payment-panel strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;letter-spacing:.025em;line-height:1.45;margin-top:8px;overflow-wrap:anywhere}.payment-copy{background:transparent;border:2px solid var(--pine);color:var(--pine);cursor:pointer;font-size:.8rem;font-weight:750;margin-top:16px;min-height:44px;padding:9px 14px}.payment-copy:hover{background:var(--pine);color:#fffaf4}.payment-copy:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.payment-concept{background:#e5eadf!important;grid-column:1 / -1}.payment-warning{background:#fbf5e7;border-left:4px solid var(--gold);color:#6c5b36;font-size:.95rem;line-height:1.65;margin-bottom:28px;padding:16px 18px;text-align:left}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:420px}.loading-state p{color:var(--muted)}.spinner{animation:spin 1s linear infinite;border:2px solid var(--line);border-radius:50%;border-top-color:var(--accent);height:34px;margin-bottom:20px;width:34px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:840px){.site-header{padding:23px 24px}.main-nav{gap:12px}.main-nav>a:not(.nav-cta){display:none}.main-nav .nav-cta{padding:9px 12px}.hero{display:flex;flex-direction:column;min-height:0;padding:24px 24px 70px}.hero__content{padding:56px 5% 50px}.hero h1{font-size:clamp(4rem,17vw,7rem)}.hero__photo{height:420px;margin:0}.hero__ornament{right:-90px;top:70px}.section{padding:80px 28px}.story-grid,.place-grid,.details-grid,.review-layout{grid-template-columns:1fr}.story-copy{max-width:none;padding-top:0}.section--places,.section--hotels,.section--zambombas,.section--details{padding-left:28px;padding-right:28px}.zambomba-layout{grid-template-columns:1fr}.zambomba-intro>p:not(.eyebrow):not(.zambomba-disclaimer){max-width:620px}.place-card{grid-template-columns:1fr}.place-card__image{flex-basis:280px;height:280px;min-height:280px}.gallery-viewport{height:380px}.hotel-grid{grid-template-columns:1fr 1fr}.place-card{min-height:0}.form-main{padding-top:55px}}@media(max-width:560px){.brand{font-size:1.05rem}.form-header{gap:16px;padding-left:20px;padding-right:20px}.form-back-button{font-size:.76rem;min-height:48px;padding:10px 12px}.hero__description{font-size:.98rem}.button{font-size:.78rem;gap:10px;min-height:52px;padding:15px 17px}.section-heading h2{font-size:3.1rem}.gallery-viewport{height:290px}.gallery-slide{padding:22px}.gallery-slide span{font-size:1.65rem}.lightbox,.lightbox__panel{padding:12px}.lightbox__close{right:20px;top:20px}.lightbox__image{min-height:58vh;padding:24px}.lightbox__image span{font-size:2rem}.place-card{grid-template-columns:1fr;padding:26px}.place-card__action{width:100%}.hotel-grid,.zambomba-calendar{grid-template-columns:1fr}.zambomba-card{grid-template-columns:80px minmax(0,1fr);min-height:142px}.site-footer{flex-direction:column;gap:8px;padding-left:24px;padding-right:24px}.field-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.form-card{padding:24px 18px}.form-card__heading{gap:13px}.form-card h2{font-size:2.15rem}.stepper{gap:6px}.stepper li{align-items:flex-start;flex-direction:column;gap:9px;min-height:104px;padding:12px 10px}.stepper li strong{font-size:.66rem;line-height:1.3}.stepper li span{flex-basis:28px;height:28px;width:28px}.attendee-card{padding:18px}.tag-grid{grid-template-columns:1fr}.tag-option span{min-height:60px}.review-people li{flex-direction:column;gap:7px}.review-people em{max-width:none;text-align:left}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .button{width:100%}.success-content h2{font-size:2.5rem}.payment-panel{grid-template-columns:1fr}.payment-concept{grid-column:auto}.contribution-card{padding:68px 23px}.invitation-gate__backdrop{padding:18px 16px}.invitation-gate__scene{min-height:calc(100svh - 36px)}.envelope{width:min(82vw,360px)}.envelope-trigger__hint{margin-top:23px}.invitation-gate__scene.is-open .envelope-trigger{margin-bottom:-195px;transform:scale(.57)}.invitation-gate__content{padding:0 6px 25px}.invitation-gate__field{grid-template-columns:1fr}.invitation-gate__submit{width:100%}}.winter-gate{--envelope-paper: #f5eddd;background:radial-gradient(ellipse at 50% 25%,#fcf8ef 0,#ebe4d6 80%);color:var(--pine-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;overflow:hidden;padding:30px 24px}.winter-gate__edition,.winter-gate__hint{font-size:.72rem;font-weight:650;letter-spacing:.18em;text-align:center;text-transform:uppercase}.winter-gate__edition{color:#6a715e;margin:0 0 25px}.winter-gate__edition span{color:#97773b;padding:0 12px}.winter-gate__hint{margin:28px 0 0}.winter-envelope{aspect-ratio:.7;background:#e9ddc4;box-shadow:0 26px 65px #333c2d26,0 2px 8px #333c2d12;max-width:440px;perspective:1300px;position:relative;width:min(100%,43svh + 120px)}.winter-envelope__trigger{background:transparent;border:0;color:inherit;cursor:pointer;display:block;height:100%;padding:0;position:absolute;inset:0;width:100%}.winter-envelope__trigger:focus-visible{outline:3px solid var(--pine);outline-offset:8px}.winter-envelope__door{background-color:var(--envelope-paper);background-image:url(/paper-grain.svg),linear-gradient(110deg,#fffaf1a8,#e5d8bd42);border:1px solid #d6c6a6;position:absolute;top:0;bottom:0;width:50%;transition:transform 1.35s cubic-bezier(.33,.02,.2,1),opacity .5s 1s;backface-visibility:hidden;transform-style:preserve-3d}.winter-envelope__door:after{content:"";position:absolute;inset:12px;border:1px solid #bda16a66;border-radius:110px 110px 2px 2px;box-shadow:inset 0 0 0 3px #fffaf160,0 0 0 3px #fffaf160}.winter-envelope__door--left{left:0;transform-origin:left center;box-shadow:4px 0 8px #806d4420;z-index:2}.winter-envelope__door--right{right:0;transform-origin:right center;z-index:1}.winter-envelope .orange-branch{position:absolute;color:#6c795d;width:95%;height:52%;bottom:8%;left:4%;opacity:.78}.winter-envelope__door--right .orange-branch{transform:rotate(180deg);bottom:auto;top:8%}.winter-envelope__ribbon{background:linear-gradient(#587157,#2d503c 20%,#3f6148 48%,#2a4938 90%,#5e7153);box-shadow:0 4px 8px #17352422;height:25px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.winter-envelope__lettering{position:absolute;top:11%;left:7%;right:7%;z-index:3;transition:opacity .35s,transform .6s}.winter-envelope__lettering small{display:block;font-family:Georgia,serif;font-size:1rem}.winter-envelope__lettering em{display:block;font-family:Georgia,serif;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.35;margin:6px 0 20px}.winter-envelope__lettering>span{display:inline-block;background:#fbf6eb;border:1px solid #dbcbab;box-shadow:0 4px 8px #8470471c;font-family:Georgia,serif;font-size:1.25rem;padding:12px 18px;transform:rotate(-3deg)}.winter-envelope__seal{align-items:center;background:radial-gradient(circle at 30% 22%,#648369,#2e523c 42%,#173b2c 75%);border:3px solid #678168;border-radius:48% 52% 46% 54%;box-shadow:0 4px #173b2c,0 9px 17px #10291d48,inset 0 0 0 5px #a6bb8a26;color:#f3e2b5;display:flex;font-family:Georgia,serif;font-size:1.8rem;height:98px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-7deg);transition:transform .5s,opacity .4s;width:98px;z-index:4}.winter-envelope__seal small{position:absolute;font-size:.85rem;top:8px}.winter-envelope__seal span{font-size:1.15rem;font-style:italic;margin:0 2px}.winter-envelope__trigger:hover .winter-envelope__seal{transform:translate(-50%,-50%) rotate(0) scale(1.06)}.winter-envelope__foot{position:absolute;bottom:9%;left:12%;right:12%;font-family:Georgia,serif;font-size:.95rem;font-style:italic;z-index:3;transition:opacity .35s}.winter-envelope__foot strong{display:block;font-family:Inter,sans-serif;font-size:.72rem;font-style:normal;font-weight:500;letter-spacing:.24em;margin-top:13px}.is-opening .winter-envelope__door--left{transform:rotateY(-130deg);opacity:0}.is-opening .winter-envelope__door--right{transform:rotateY(130deg);opacity:0}.is-opening .winter-envelope__lettering{opacity:0;transform:translateY(-14px)}.is-opening .winter-envelope__seal{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(12deg)}.is-opening .winter-envelope__foot{opacity:0}.winter-gate.is-open .winter-envelope{aspect-ratio:auto;background:#fbf7ee url(/paper-grain.svg);min-height:560px}.winter-code{animation:paper-arrival .7s ease both;border:1px solid #c4ab7880;margin:15px;padding:80px 24px 36px;position:relative;text-align:center}.winter-code__branch{color:#668063;height:100px;position:absolute;right:10px;top:2px;transform:rotate(-70deg);width:100px;opacity:.6;pointer-events:none}.winter-code .eyebrow{color:#6a735e;font-size:.66rem;letter-spacing:.18em}.winter-code h1{color:var(--pine);font-size:clamp(2.4rem,7vw,3.1rem);letter-spacing:-.045em;line-height:1.1}.winter-code__dedication{font-family:Georgia,serif;font-size:1.3rem;line-height:1.5}.winter-code>p:not(.eyebrow):not(.winter-code__dedication){color:#5f655c;font-size:1rem;line-height:1.6}.winter-code__form{margin-top:28px;text-align:left}.winter-code__form label{display:block;font-size:.9rem;font-weight:700;margin-bottom:8px}.winter-code__field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.winter-code__field input{background:#fffdf8;border:2px solid #82907b;border-radius:2px;color:var(--pine);font-size:1.6rem;letter-spacing:.25em;min-height:58px;min-width:0;text-align:center;width:100%}.winter-code__field input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.winter-code__error{background:#f5e7df;border-left:3px solid var(--accent);color:var(--accent-dark);line-height:1.5;margin:16px 0 0;padding:12px}.winter-site{background:#f8f3e9 url(/paper-grain.svg)}.winter-site .site-header{max-width:1440px;padding:22px 32px}.winter-site .main-nav{gap:clamp(12px,1.5vw,25px)}.winter-site .main-nav a{color:var(--pine)}.winter-site .hero{min-height:850px;padding:70px 28px;background:var(--pine-dark)}.winter-site .hero__image{animation:patio-arrival 2s ease-out both}.winter-site .hero__overlay{background:linear-gradient(0deg,#102e25db,#17382c88 60%,#102e25a8)}.winter-site .hero__content{animation:paper-arrival 1s .15s both;background:transparent;border:1px solid #e4ce9966;border-radius:320px 320px 4px 4px;max-width:780px;padding:70px 52px 45px;width:100%}.hero__star{color:#e8cf97;display:block;font-size:2.7rem;margin-bottom:15px}.winter-site .hero h1{font-size:clamp(4.5rem,8.5vw,7rem);letter-spacing:-.055em;line-height:.97;text-wrap:balance}.winter-site .hero__date{color:#f1dab0;font-size:1.25rem}.winter-site .hero__description{background:none;border:0;font-family:Georgia,serif;font-size:1.16rem;line-height:1.75;max-width:530px;padding:0}.hero__branch{color:#ccd2a3;height:390px;opacity:.55;pointer-events:none;position:absolute;width:250px}.hero__branch--left{left:-40px;bottom:0;transform:rotate(15deg)}.hero__branch--right{right:-40px;top:25px;transform:rotate(195deg)}.winter-site .button--hero{background:#e5cb94;border-color:#e5cb94;color:#16382c;font-size:.78rem;min-height:56px}.scroll-cue{animation:scroll-invitation 2.4s ease-in-out 3}.winter-site .section{border-top:0;max-width:none;padding:105px max(28px,calc((100% - 1080px)/2))}.winter-site .section-heading .eyebrow,.winter-site .zambomba-intro .eyebrow{align-items:center;display:flex;gap:14px;font-size:.72rem;letter-spacing:.18em}.winter-site .section-heading--center .eyebrow{justify-content:center}.winter-site .section-heading .eyebrow:before,.winter-site .zambomba-intro .eyebrow:before{content:"✧";color:#9d7a38;font-size:1.3rem}.winter-site .section-heading h2{color:var(--pine-dark);font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.06;text-wrap:balance}.winter-site .section--story{background:transparent}.winter-site .story-grid{margin-top:35px}.winter-site .story-copy{color:#576153;font-family:Georgia,serif;font-size:1.25rem;line-height:1.8;max-width:750px}.winter-site .gallery-viewport{border-radius:180px 180px 3px 3px;height:clamp(350px,47vw,570px);overflow:hidden}.winter-site .gallery-controls{border-width:1px}.winter-interlude{color:var(--pine);padding:35px 24px 90px;text-align:center}.bodega-arches{color:#9b7c46;display:block;max-width:380px;width:85%;margin:0 auto 30px}.bodega-light{animation:candlelight 4s ease-in-out 3}.bodega-light:nth-child(2n){animation-delay:1.2s}.winter-interlude .eyebrow{color:#64715d;letter-spacing:.2em}.winter-interlude__quote{font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.13;letter-spacing:-.045em;margin-bottom:24px}.winter-interlude__quote em{color:#9b7841}.winter-interlude>p:not([class]){color:#65705f;font-size:1rem;line-height:1.8}.winter-interlude>span{color:#a18347;display:block;font-size:2rem;margin-top:28px}.winter-site .section--places{background:#e7ebdf url(/paper-grain.svg)}.winter-site .place-card{background:#fffaf280;border:1px solid #a4ae974d;gap:45px;padding:34px}.winter-site .place-card__image{border-radius:180px 180px 3px 3px;overflow:hidden;height:420px}.winter-site .section--hotels{background:transparent}.winter-site .hotel-card{border-color:#b8bba461;box-shadow:0 8px 30px #263e2c05}.winter-site .hotel-card__image{overflow:hidden}.winter-site .image-preview img{transition:transform .8s ease}@media(hover:hover){.winter-site .hotel-card:hover img,.winter-site .place-card:hover img{transform:scale(1.035)}}.winter-site .section--zambombas{background:#eee3cd url(/paper-grain.svg)}.winter-site .zambomba-card{border-color:#b49b6938;background:#fffcf4b0}.winter-site .section--details{background:transparent}.winter-site .detail-card{background:#fefbf4;border:1px solid #b8bba461;padding:38px clamp(24px,3vw,42px) 34px}.winter-site .detail-card{min-height:100%}.winter-site .detail-card h3{line-height:1.15}.winter-site .detail-card__lead{line-height:1.75}.winter-site .dress-code__palette{border-top:1px solid #b8bba461;margin-top:28px;padding-top:22px}.winter-site .dress-code__label{color:var(--accent-dark);display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;line-height:1.45;text-transform:uppercase}.winter-site .dress-code__swatches{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:16px}.winter-site .dress-code__swatch{align-items:center;color:var(--muted);display:inline-flex;font-size:.86rem;gap:8px;line-height:1.4}.winter-site .dress-code__swatch i{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #b8bba4;display:block;height:22px;width:22px}.winter-site .dress-code__avoid{background:#f4e8df;border-left:3px solid var(--accent);color:var(--accent-dark);font-size:.9rem;line-height:1.65;margin:25px 0 0;padding:13px 15px}.winter-site .dress-code__avoid strong{font-weight:700}.winter-site .detail-card--schedule h3{margin-bottom:22px}.winter-site .schedule-list{border-top:1px solid #b8bba461;margin:0}.winter-site .schedule-list li{align-items:baseline;display:grid;gap:18px;grid-template-columns:72px minmax(0,1fr);line-height:1.5;min-height:56px;padding:15px 0}.winter-site .schedule-list li+li{border-top:1px solid #b8bba461}.winter-site .schedule-list strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;width:auto}.winter-site .schedule-list span{font-size:.95rem;text-align:left}.winter-site .contribution-card{background:#e7ebdf url(/paper-grain.svg);border:1px solid #b0b799;position:relative}.winter-site .site-footer{background:var(--pine-dark);color:#e5dcc8}.reveal-item{transition:opacity .8s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.reveal-pending{opacity:0;transform:translateY(28px)}.reveal-item:focus-within{opacity:1;transform:none}@keyframes paper-arrival{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes patio-arrival{0%{transform:scale(1.055)}to{transform:scale(1)}}@keyframes scroll-invitation{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes candlelight{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:840px){.winter-site .site-header{padding:18px 24px}.winter-site .hero{min-height:790px;padding:30px 24px 50px}.winter-site .hero__content{padding:60px 24px 38px}.hero__branch{width:140px;height:270px;opacity:.35}.winter-site .section{padding-top:75px;padding-bottom:75px}.winter-site .place-card{gap:28px;padding:24px}.winter-site .place-card__image{height:340px}}@media(max-width:560px){.winter-gate{padding:22px 24px}.winter-gate__edition{font-size:.61rem;letter-spacing:.12em;margin-bottom:20px}.winter-gate__edition span{padding:0 4px}.winter-envelope__lettering small{font-size:.88rem}.winter-envelope__lettering>span{font-size:1.08rem;padding:10px 13px}.winter-envelope__seal{height:82px;width:82px;font-size:1.5rem}.winter-code{padding:65px 16px 28px;margin:10px}.winter-code__field{grid-template-columns:1fr}.winter-code__field button{min-height:56px}.winter-site .hero h1{font-size:clamp(3.8rem,13.5vw,5rem)}.winter-site .hero__date{font-size:1.08rem}.winter-site .hero__description{font-size:1.07rem}.winter-site .countdown{gap:12px}.winter-site .countdown span{min-width:49px}.winter-site .countdown strong{font-size:2rem}.winter-site .section{padding-left:24px;padding-right:24px}.winter-site .story-copy{font-size:1.13rem}.winter-site .gallery-viewport{height:340px}.winter-site .place-card__image{height:300px;min-height:0}.winter-site .dress-code__swatches{gap:10px 14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.winter-gate *,.winter-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}}
