:root{--ink:#202426;--muted:#606363;--paper:#f5f4ef;--white:#fff;--accent:#ffc500;--accent-hover:#ffd333;--line:rgba(32,36,38,.15);--font-display:'Cabinet Grotesk',sans-serif;--font-body:'Satoshi',sans-serif;--text-xs:clamp(.75rem,.72rem + .12vw,.8125rem);--text-sm:clamp(.875rem,.84rem + .15vw,.9375rem);--text-base:clamp(1rem,.96rem + .2vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .5vw,1.375rem);--text-xl:clamp(1.75rem,1.3rem + 1.2vw,2.5rem);--text-hero:clamp(3rem,1.5rem + 4.3vw,5.75rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-28:112px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08}h1,h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-base);font-weight:700;line-height:1.35}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,select,summary{outline-offset:5px}:focus-visible{outline:2px solid #a9480d}a:focus-visible,button:focus-visible{outline-width:3px}img{display:block;max-width:100%}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:16px;z-index:20;background:var(--white);padding:12px 20px}.skip:focus{top:16px}.preview-bar{display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px;padding:8px 24px;background:#f3e5d6;color:#66381c;font-size:var(--text-xs);line-height:1.4}.preview-bar strong{font-size:var(--text-xs);letter-spacing:.07em}.preview-dot{width:6px;height:6px;background:#8c4a22;border-radius:50%;flex:none}.site-header{height:100px;padding:0 clamp(24px,5.5vw,88px);display:flex;align-items:center;justify-content:space-between;max-width:1680px;margin:auto}.brand{padding:8px 0}.brand img{width:140px;height:48px}.site-header nav{display:flex;align-items:center;gap:40px;font-size:var(--text-sm);font-weight:700}.nav-event{padding:12px 0}.nav-cta{min-height:44px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--ink)}.nav-cta span{font-size:var(--text-lg)}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:568px;background:#202426;color:var(--white);display:flex;align-items:center}.hero-image{position:absolute;z-index:-2;width:68%;height:100%;right:0;object-fit:cover;object-position:center 49%;opacity:.95}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#202426 8%,rgba(32,36,38,.96) 29%,rgba(32,36,38,.15) 66%,rgba(32,36,38,0) 100%)}.hero-content{width:100%;max-width:1680px;margin:0 auto;padding:76px clamp(24px,5.5vw,88px)}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;line-height:1.5}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#e2e2de;margin-bottom:28px}.little-line{width:28px;height:2px;background:var(--accent)}h1{font-size:var(--text-hero);max-width:800px;line-height:.99}h1 span{color:var(--accent)}.hero-description{font-size:var(--text-base);color:#d0d1cf;line-height:1.6;margin:28px 0 32px;max-width:470px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:16px 24px;font-weight:700;font-size:var(--text-sm);border:0;border-radius:2px;text-align:left;transition:background .15s ease,transform .15s ease}.button span[aria-hidden]{font-size:var(--text-lg);line-height:1}.primary{background:var(--accent);color:#201a16}.primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.button:disabled{opacity:.7;transform:none;cursor:wait}.hero-caption{font-size:var(--text-xs);color:#b8bcba;margin-top:20px}.image-label{position:absolute;right:5.5%;bottom:44px;color:#e7e7e2;font-size:var(--text-xs);line-height:1.5;letter-spacing:.14em;font-weight:700;border-top:1px solid #767a78;padding-top:12px}.event-strip{background:var(--ink);color:var(--white);padding:0 clamp(24px,5.5vw,88px) 36px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px}.event-detail{border-top:1px solid rgba(255,255,255,.25);padding:24px 0 0;display:flex;flex-direction:column;gap:4px}.detail-label{font-size:var(--text-xs);letter-spacing:.13em;color:#bfc3c0;margin-bottom:4px}.event-detail strong{font-size:var(--text-lg);font-weight:500}.event-detail>span:last-child{font-size:var(--text-sm);color:#c1c3c0}.section-wrap{max-width:1440px;margin:auto;padding:96px clamp(24px,5.5vw,88px) 100px}.invitation{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,112px);align-items:start}.dark-label{color:#854316}.event-story>h2{margin:16px 0 24px;font-size:clamp(2rem,1.5rem + 1.7vw,3rem)}.event-story>p:not(.eyebrow){color:var(--muted);margin-bottom:16px;max-width:540px}.moments{margin:36px 0 40px}.moments article{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.moment-number{font-size:var(--text-xs);color:#855139;padding-top:2px;font-weight:700;letter-spacing:.06em}.moments p{font-size:var(--text-sm);color:var(--muted);margin-top:8px;line-height:1.5}.venue{background:#dedfd7;padding:28px 28px 24px}.venue-top{display:flex;justify-content:space-between;align-items:center}.venue-top>.eyebrow{font-size:var(--text-xs);letter-spacing:.1em}.venue-top>span:last-child{font-size:var(--text-lg)}.venue-address{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:36px 0}.venue-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(32,36,38,.22);padding-top:16px;font-size:var(--text-xs)}.venue-bottom a{font-weight:700;display:inline-flex;align-items:center;gap:12px;min-height:44px;margin:-10px 0}.rsvp-card{background:var(--white);padding:40px;box-shadow:0 12px 40px rgba(39,42,35,.045);border:1px solid rgba(32,36,38,.1);border-radius:4px;scroll-margin-top:24px;position:sticky;top:24px}.form-kicker{display:flex;gap:8px;align-items:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.075em;color:#515b4a;margin-bottom:20px}.status-dot{width:6px;height:6px;background:#637752;border-radius:50%}.rsvp-card h2{font-size:clamp(1.65rem,1.35rem + .7vw,2.125rem)}.form-intro{font-size:var(--text-sm);color:var(--muted);margin:16px 0 32px;line-height:1.7}.field{margin-bottom:24px}.field>label{display:block;font-size:var(--text-sm);font-weight:700;line-height:1.4;margin-bottom:10px}.field>label span{color:#945024}input:not([type=checkbox]),select{width:100%;height:52px;border:1px solid rgba(32,36,38,.24);border-radius:2px;background:#fff;padding:0 16px;color:var(--ink);font-size:var(--text-sm);transition:border-color .15s}input::placeholder{color:#757875;opacity:1}input:hover,select:hover{border-color:#757a72}input:focus,select:focus{border-color:#9e4d19;outline:2px solid rgba(158,77,25,.22);outline-offset:2px}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:40px;cursor:pointer}.select-wrap>span{position:absolute;right:16px;top:10px;font-size:var(--text-lg);pointer-events:none}select:invalid{color:#686d67}.consent{display:flex;align-items:flex-start;gap:12px;font-size:var(--text-xs);line-height:1.6;color:var(--muted);cursor:pointer;margin:4px 0 24px}.consent input{width:18px;height:18px;accent-color:#a74a16;flex:none;margin:3px 0 0;cursor:pointer}.submit-button{width:100%}.preview-note{font-size:var(--text-xs);line-height:1.6;text-align:center;color:#6b6258;margin-top:16px}.form-footer{display:flex;flex-direction:column;align-items:center;gap:0;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:var(--text-xs);color:var(--muted)}.form-footer a{font-size:var(--text-sm);font-weight:700;color:var(--ink);min-height:44px;display:flex;align-items:center;gap:8px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{padding:12px 16px;background:#fff1eb;color:#983512;font-size:var(--text-sm);margin-bottom:20px;border-radius:2px}.success-mark{display:inline-flex;font-size:var(--text-xl);font-weight:700;color:#4a6438;margin-bottom:24px}.success-event{display:flex;flex-direction:column;gap:8px;margin:28px 0;padding:24px 0;border-block:1px solid var(--line);font-size:var(--text-sm)}#success-panel>.eyebrow{margin-bottom:12px}#success-panel>p:not(.eyebrow){font-size:var(--text-sm);color:var(--muted);margin-top:20px}#success-panel>.button{width:100%}.email-preview{margin-top:24px;font-size:var(--text-sm)}summary{cursor:pointer;min-height:44px;font-weight:700;padding:8px 0}dl{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:var(--text-xs);margin:16px 0}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}pre{white-space:pre-wrap;font:inherit;font-size:var(--text-sm);color:var(--muted);line-height:1.7;overflow-wrap:anywhere}.text-button{border:0;background:none;padding:12px 0;min-height:44px;font-size:var(--text-sm);font-weight:700;margin-top:24px;text-align:left}.site-footer{border-top:1px solid var(--line);max-width:1440px;margin:auto;padding:40px clamp(24px,5.5vw,88px);display:flex;align-items:center;gap:40px;font-size:var(--text-xs)}.site-footer>div{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.site-footer>a{margin-left:auto;min-height:44px;display:flex;align-items:center;gap:16px;font-size:var(--text-sm);font-weight:700}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}input::placeholder{color:#6a6d6a}
h1{color:var(--accent)}.hero .eyebrow{color:var(--accent)}.hero-content{padding-block:60px}.hero-description{font-size:var(--text-lg);max-width:560px;line-height:1.5}.hero-caption{font-size:var(--text-sm)}.preview-bar{background:#f7edcc;color:#51451b}.preview-dot{background:#6c5910}.dark-label,.moment-number,.field>label span{color:#5e552c}:focus-visible{outline-color:#766016}input:focus,select:focus{border-color:#817022;outline-color:rgba(129,112,34,.24)}.consent input{accent-color:#766016}
.hero-image{mask-image:linear-gradient(to right,transparent 0%,#000 24%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 24%)}
@media(max-width:760px){.hero-image{mask-image:none;-webkit-mask-image:none}}
@media(min-width:1600px){.hero-image{width:64%}.event-strip{padding-inline:max(88px,calc((100vw - 1504px)/2))}}
@media(max-width:1000px){.hero{min-height:540px}.hero-image{width:78%;right:-8%}.hero:after{background:linear-gradient(90deg,#202426 2%,rgba(32,36,38,.94) 32%,rgba(32,36,38,.28) 80%)}.invitation{gap:40px}.rsvp-card{padding:28px}.image-label{display:none}.venue{padding:24px}.venue-bottom{flex-direction:column;gap:16px}.event-detail strong{font-size:var(--text-base)}.event-strip{gap:24px}}
@media(max-width:760px){.preview-bar{gap:8px;flex-wrap:wrap;padding:8px 16px;row-gap:2px}.preview-bar>span:last-child{width:100%;text-align:center}.site-header{height:84px;padding-inline:24px}.brand img{width:117px;height:40px}.site-header nav{gap:16px}.nav-event{display:none}.nav-cta{gap:16px}.hero{min-height:610px;align-items:flex-start}.hero-content{padding:44px 24px 220px}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.07em;gap:8px;margin-bottom:24px}.little-line{width:18px}h1{font-size:clamp(2.8rem,1rem + 8vw,4.8rem);line-height:1.02}.hero-description{max-width:360px;margin:24px 0;font-size:var(--text-sm)}.desktop-break{display:none}.hero-image{width:100%;height:64%;right:0;top:auto;bottom:-44px;object-position:center 50%;opacity:.9}.hero:after{background:linear-gradient(180deg,#202426 0%,rgba(32,36,38,.98) 38%,rgba(32,36,38,.05) 80%)}.hero-caption{margin-top:16px}.event-strip{padding:24px;grid-template-columns:1fr;gap:20px}.event-detail{padding:20px 0 0;display:grid;grid-template-columns:76px 1fr;gap:2px 12px}.detail-label{grid-row:1/3;margin:0;padding-top:4px}.event-detail strong{font-size:var(--text-base)}.event-detail>span:last-child{grid-column:2;font-size:var(--text-xs)}.section-wrap{padding:56px 24px 64px}.invitation{grid-template-columns:1fr;gap:48px}.event-story>h2{font-size:var(--text-xl);margin-top:16px}.event-story>p:not(.eyebrow){font-size:var(--text-sm)}.moments{margin:28px 0}.moments article{padding:20px 0;gap:20px}.venue-address{margin:28px 0}.venue-bottom{flex-direction:row;align-items:center;gap:12px}.rsvp-card{position:relative;top:0;padding:28px 24px;scroll-margin-top:20px}.rsvp-card h2{font-size:var(--text-xl)}.site-footer{padding:32px 24px;flex-wrap:wrap;gap:24px}.site-footer>div{width:calc(100% - 141px);font-size:var(--text-xs)}.site-footer>a{margin-left:0}.field input,.field select{font-size:1rem}.consent{font-size:var(--text-xs)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
