@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--ink:#20221f;--cream:#efeee7;--orange:#ed7048;--lime:#d6e684;--muted:#777b72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:is(a:focus-visible,button:focus-visible){outline:3px solid var(--orange);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark,.digits,.schedule strong{font-family:Space Grotesk,Arial,sans-serif}em{color:var(--orange);font-style:normal}.nav{border-bottom:1px solid #2222;justify-content:space-between;align-items:center;height:84px;padding:0 5%;display:flex}.nav>div{align-items:center;gap:35px;display:flex}.nav a:not(.wordmark){letter-spacing:1.5px;font-size:11px;font-weight:700}.wordmark{letter-spacing:-2px;font-size:27px;font-weight:700}.wordmark>span:first-child{color:var(--orange);margin:0 2px}.brandword{letter-spacing:2px;margin-left:12px;font-size:12px}.navinvite{border-bottom:1px solid;padding-bottom:6px}.hero{color:#fff6e9;height:calc(100svh - 84px);min-height:720px;max-height:1050px;margin:0 18px;position:relative;overflow:hidden}.heroimage{object-fit:cover;object-position:50% 42%;width:100%;height:100%;animation:24s ease-in-out infinite alternate slowzoom;position:absolute;inset:0}.shade{background:linear-gradient(#15212550 0%,#1b24152b 23%,#141b19b0 65%,#101b18e8 100%);position:absolute;inset:0}.hero-top,.hero-foot{letter-spacing:2px;justify-content:space-between;font-size:11px;display:flex;position:absolute;left:4%;right:4%}.hero-top{top:33px}.hero-foot{border-top:1px solid #ffffff40;padding-top:20px;bottom:27px}.hero-copy{animation:.9s ease-out rise;position:absolute;bottom:115px;left:4%;right:4%}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:600}.live-dot{background:var(--lime);border-radius:100%;width:7px;height:7px;margin-right:10px;display:inline-block;box-shadow:0 0 0 5px #d6e68420}.hero h1{letter-spacing:-.075em;margin:35px 0;font-size:clamp(66px,10.4vw,165px);line-height:.91}.outline{-webkit-text-stroke:1px #f2ecdf;color:#0000;display:block}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:25px;display:flex}.hero-bottom p{margin:0;font-size:15px;line-height:1.8}.hero-bottom p span{color:#d6d6c8}.pill{background:var(--lime);color:var(--ink);border-radius:3px;justify-content:space-between;align-items:center;gap:24px;padding:19px 24px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.pill:hover{background:#e4f19e;transform:translateY(-3px)}.pill>span{font-size:23px}.ribbon{background:var(--orange);letter-spacing:2px;padding:18px 0;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:600;overflow:hidden}.ribbon>div{white-space:nowrap;width:max-content;animation:40s linear infinite marquee}.ribbon span{margin:0 40px;font-size:23px}.section{padding:85px 7%}.section-head{letter-spacing:1px;color:var(--muted);justify-content:space-between;margin-bottom:55px;font-size:10px;display:flex}.night-grid{grid-template-columns:1fr 1fr;gap:8%;display:grid}h2{letter-spacing:-3px;margin-bottom:30px;font-size:clamp(36px,4.9vw,70px);font-weight:500;line-height:1.05}.intro{max-width:500px;font-size:18px;line-height:1.7}.muted{color:var(--muted);line-height:1.7}.date-row{border-top:1px solid #2223;justify-content:space-between;margin-top:26px;padding-top:20px;font-size:12px;display:flex}.schedule{border:1px solid #2223;grid-template-columns:repeat(4,1fr);margin-top:50px;display:grid}.schedule>div{border-right:1px solid #2223;padding:28px}.schedule>div:last-child{border:0}.tiny{letter-spacing:1.3px;font-size:10px;display:block}.schedule strong{letter-spacing:-3px;margin:20px 0;font-size:48px;font-weight:400;display:block}.schedule p{margin:0;font-size:13px;line-height:1.7}.schedule .dress{background:var(--lime)}.dress strong{font-size:55px;line-height:1.05}.countdown{color:var(--cream);text-align:center;background:#252b25;padding:65px 20px}.countdown .eyebrow{color:var(--lime)}.countdown h2{letter-spacing:-1.5px;margin:20px 0 35px;font-size:36px}.digits{justify-content:center;gap:0;display:flex}.digits>div{border-right:1px solid #ffffff30;width:150px}.digits>div:last-child{border:0}.digits strong{letter-spacing:-3px;font-variant-numeric:tabular-nums;font-size:62px;font-weight:400}.digits span{letter-spacing:2px;color:#b9c0af;margin-top:8px;font-size:9px;display:block}.invite{grid-template-columns:1fr 1fr;align-items:start;gap:9%;display:grid}.invite h2{margin-top:30px}.location{border-top:1px solid #2223;border-bottom:1px solid #2223;gap:22px;margin:35px 0;padding:27px 0;display:flex}.location>span{font-size:36px}.location b{font-size:15px}.location p{color:var(--muted);margin:8px 0;font-size:13px}.location a{text-underline-offset:5px;font-size:12px;text-decoration:underline}.small{font-size:11px}.form-card{background:#faf9f3;border:1px solid #2222;border-radius:5px;padding:32px}.form-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.form-top h3{letter-spacing:-1px;margin:0;font-size:26px;font-weight:500}.form-top>span{color:var(--orange);font-size:30px}label:not(.check){letter-spacing:1px;margin:19px 0;font-size:10px;display:block}input:not([type=checkbox]),textarea,select{width:100%;color:var(--ink);letter-spacing:0;background:0 0;border:1px solid #cfd0c6;border-radius:3px;margin-top:8px;padding:14px;font-size:14px;display:block}input:focus,textarea:focus,select:focus{outline:2px solid var(--orange);outline-offset:1px}input::placeholder,textarea::placeholder{color:#92958c}textarea{resize:vertical;min-height:80px}.check{align-items:flex-start;gap:10px;margin:15px 0;font-size:12px;line-height:1.6;display:flex}.check input{accent-color:var(--ink);flex-shrink:0;width:16px;height:16px;margin:2px 0}.submit{background:var(--ink);width:100%;color:var(--cream);letter-spacing:1px;border:0;border-radius:3px;justify-content:space-between;gap:15px;margin-top:26px;padding:20px;font-size:11px;display:flex}.submit:hover{background:#38432c}.submit>span{font-size:17px}.error{color:#ac342a;font-size:13px;line-height:1.6}.error:empty,.notice:empty{display:none}.notice{color:#456528;font-size:13px}.form-card .small{margin:18px 0 0}.success{padding:50px 10px;line-height:1.7}.success>span{color:var(--orange);font-size:70px}.success h3{font-size:32px}.success a{text-decoration:underline}footer{border-top:1px solid #2223;padding:35px 7%}.footer-brand{letter-spacing:-.06em;justify-content:space-between;font-family:Space Grotesk,sans-serif;font-size:clamp(40px,9vw,130px);font-weight:600;display:flex}.footer-brand span{color:var(--orange)}footer>div{color:var(--muted);border-top:1px solid #2223;justify-content:space-between;margin-top:20px;padding:22px 0 0;font-size:11px;display:flex}.admin-main{max-width:1250px;margin:auto;padding:65px 30px}.admin h1{letter-spacing:-3px;margin:20px 0 40px;font-size:55px;font-weight:500}.stats{border:1px solid #2223;grid-template-columns:repeat(4,1fr);display:grid}.stats>div{border-right:1px solid #2223;padding:25px}.stats strong{margin-top:15px;font-size:35px;font-weight:500;display:block}.tabs{border-bottom:1px solid #2223;gap:25px;margin:35px 0 25px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;padding:15px 0;font-size:14px}.tabs button.active{border-bottom:2px solid var(--ink);color:var(--ink)}.toolbar{align-items:center;gap:15px;display:flex}.toolbar input{flex:1;margin:0}.toolbar select{width:auto;margin:0}.toolbar button,.guest-actions button{white-space:nowrap;background:#faf9f3;border:1px solid #2224;border-radius:3px;padding:12px 16px;font-size:12px}.toolbar button:hover,.guest-actions button:hover{background:var(--lime)}.guestlist{border-top:1px solid #2223;margin-top:20px}.guest{border-bottom:1px solid #2223;align-items:start;gap:20px;padding:25px 0;display:flex}.avatar{background:#dce2cb;border-radius:100%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.guest-body{overflow-wrap:anywhere;flex:1;min-width:0}.guest-heading{align-items:center;gap:15px;display:flex}.guest h3{margin:0;font-size:17px}.guest p{margin:8px 0 0;font-size:13px}.badge{background:#e9e3cc;border-radius:20px;padding:5px 9px;font-size:10px}.badge.approved,.badge.checked-in{background:#d7e7bc}.badge.rejected{background:#f1d0c3}.guest-actions{gap:8px;display:flex}.guest-note{background:#e6e7dc;border-radius:3px;padding:12px}.settings{max-width:650px}.empty{text-align:center;color:var(--muted);padding:70px 20px}.empty>span{color:var(--orange);font-size:40px}.empty h3{margin-top:15px}.empty p{font-size:14px}@keyframes slowzoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translate(-35%)}}@media (min-width:1600px){.section{padding-left:max(7%,50vw - 700px);padding-right:max(7%,50vw - 700px)}}@media (max-width:800px){.nav{height:70px}.brandword{display:none}.nav>div{gap:20px}.nav a:not(.wordmark){font-size:9px}.hero{height:calc(90svh - 70px);min-height:680px;margin:0 10px}.hero-top,.hero-foot{letter-spacing:1px;font-size:9px}.hero-copy{bottom:110px}.hero h1{margin:30px 0;font-size:clamp(48px,12vw,95px)}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px}.hero-bottom p{font-size:13px}.pill{padding:16px 20px}.hero-foot{gap:20px;font-size:8px}.section{padding:55px 6%}.section-head{margin-bottom:30px}.section-head>span:last-child{display:none}.night-grid,.invite{grid-template-columns:1fr;gap:30px}h2{letter-spacing:-2px}.intro{font-size:16px}.schedule{grid-template-columns:1fr 1fr;margin-top:25px}.schedule>div{border-bottom:1px solid #2223;padding:22px}.schedule>div:nth-child(2){border-right:0}.schedule>div:nth-child(3){border-bottom:0}.schedule strong{font-size:40px}.digits>div{width:23%}.digits strong{font-size:46px}.countdown{padding:50px 15px}.countdown h2{font-size:30px}.form-card{padding:25px}.invite h2{margin-top:20px}.stats{grid-template-columns:1fr 1fr}.stats>div{border-bottom:1px solid #2223;padding:20px}.admin h1{font-size:38px}.admin-main{padding:40px 20px}.admin .nav>span{letter-spacing:1px;font-size:9px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1}.guest{flex-wrap:wrap;gap:12px}.guest-actions{width:100%;padding-left:54px}.guest-heading{flex-direction:column;align-items:flex-start;gap:7px}.guest-body p{font-size:12px}footer>div{gap:20px;font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.mail-draft{background:#d6e684;border:1px solid #2224;border-radius:3px;padding:12px 16px;font-size:12px}.guest-actions{flex-wrap:wrap;max-width:400px}.location-main{flex:1;min-width:0}.address-weather{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.address-weather>b{flex:1;min-width:150px}.weather{background:#e5e9d7;border:1px solid #cdd5b7;border-radius:4px;min-width:180px;max-width:250px;padding:13px}.location .weather p{color:var(--ink);margin:9px 0 5px;font-size:12px;line-height:1.6}.weather .tiny{letter-spacing:1px;font-size:8px}.weather-detail{color:var(--muted);margin:6px 0;font-size:11px;display:block}.location .weather a{color:var(--muted);margin-top:5px;font-size:9px;display:inline-block}.location .weather-plan{color:var(--ink);border-top:1px solid #2222;margin:20px 0 0;padding:15px 0 0;font-size:12px;line-height:1.7}.weather-plan strong{display:block}@media (max-width:480px){.weather{width:100%;max-width:none}.address-weather{gap:14px}}.language-picker{border:1px solid #20221f30;border-radius:4px;gap:2px;padding:3px;display:flex}.language-picker button{color:#646b5b;background:0 0;border:0;border-radius:2px;padding:8px;font:600 11px Arial,sans-serif}.language-picker button[aria-pressed=true]{color:#f6f5ed;background:#20221f}@media (max-width:480px){.nav{gap:12px;padding:0 4%}.nav>div{gap:10px}.nav a:not(.wordmark){letter-spacing:.6px;font-size:8px}.language-picker button{padding:7px 6px;font-size:10px}.wordmark{font-size:23px}}
