@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#f4eee3;--paper:#fbf8f0;--ink:#4c4034;--muted:#887b6c;--brown:#5b4b3b;--secondary:#e7dac6;--gold:#b89b70;--hero:#f8f3e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.paper-texture{background-color:var(--paper);background-image:radial-gradient(rgba(76,64,52,.12) .55px,transparent .55px);background-size:6px 6px}.display{font-family:'Cormorant Garamond',Georgia,serif}.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--brown);color:#f8f3e8}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 43%;transform:scale(1.18);animation:heroimg 1.6s ease-out forwards;opacity:0}.overlay{position:absolute;inset:0;background:rgba(30,24,18,.38)}.frame{position:absolute;inset:20px;border:1px solid rgba(248,243,232,.25)}.hero-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:24px 24px 80px}.hero-reveal{opacity:0;transform:translateY(24px);animation:enter 1.25s cubic-bezier(.22,1,.36,1) forwards}.hero h1,.hero .nozima{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(4.2rem,17vw,10rem);font-weight:400;line-height:.72;letter-spacing:.03em;margin:0}.amp{font:italic 400 3rem 'Cormorant Garamond',Georgia,serif;margin:18px 0}.subtitle{font:italic 400 1.2rem 'Cormorant Garamond',Georgia,serif;letter-spacing:.18em;margin:24px 0 0}.date{display:flex;align-items:center;gap:16px;font-size:.68rem;letter-spacing:.25em;margin-top:40px}.line{width:32px;height:1px;background:rgba(248,243,232,.6)}.venue-top{font-size:.68rem;letter-spacing:.25em;margin-top:12px}.open-invitation{margin-top:36px;min-width:270px;min-height:64px;padding:16px 30px;border:1px solid rgba(248,243,232,.72);border-radius:999px;background:rgba(53,41,31,.42);color:#f8f3e8;font-family:Manrope,Arial,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 10px 35px rgba(25,18,12,.18),inset 0 0 0 1px rgba(248,243,232,.08);transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,box-shadow .35s,border-color .35s}.open-invitation span{display:inline-block;margin-left:12px;font-size:1.05rem;line-height:0;transition:transform .35s}.open-invitation:hover{transform:translateY(-3px);background:rgba(53,41,31,.68);border-color:rgba(248,243,232,.95);box-shadow:0 16px 42px rgba(25,18,12,.28),inset 0 0 0 1px rgba(248,243,232,.12)}.open-invitation:hover span{transform:translateY(3px)}.open-invitation:active{transform:translateY(-1px)}.open-invitation:focus-visible{outline:2px solid #fff;outline-offset:4px}.music{position:fixed;right:24px;top:20px;z-index:50;width:42px;height:42px;border:1px solid rgba(248,243,232,.55);border-radius:50%;background:rgba(70,55,42,.5);color:#fff;cursor:pointer;font-size:18px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(5px);transition:transform .25s,background .25s}.music:hover{transform:scale(1.06);background:rgba(70,55,42,.72)}.music:focus-visible{outline:2px solid #fff;outline-offset:3px}.section{padding:112px 24px}.center{max-width:760px;margin:auto;text-align:center}.eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.32em;color:var(--gold)}h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;margin:0}.section-title{font-size:clamp(2.8rem,7vw,5rem)}.rule{width:56px;height:1px;background:var(--gold);margin:24px auto}.intro p{font:italic 400 1.4rem/1.7 'Cormorant Garamond',Georgia,serif;color:var(--muted);max-width:650px;margin:36px auto}.secondary{background:var(--secondary)}.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;max-width:1200px;margin:auto;align-items:center}.story img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 20px 50px rgba(60,45,30,.15)}.story-copy h2{font-size:clamp(3.5rem,7vw,6rem)}.story-copy p{font:1.2rem/1.7 'Cormorant Garamond',Georgia,serif;color:var(--muted)}.save{text-align:center}.big04{font:300 clamp(10rem,36vw,24rem)/.58 'Cormorant Garamond',Georgia,serif;color:var(--brown)}.save-date{display:flex;justify-content:center;align-items:center;gap:24px;font:2.8rem 'Cormorant Garamond',Georgia,serif;margin-top:30px}.dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}.small{font-size:.68rem;font-weight:600;letter-spacing:.35em;color:var(--muted);margin-top:24px}.countdown{background:var(--brown);color:#f8f3e8;text-align:center}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px}.count-grid>div{border-right:1px solid rgba(248,243,232,.2)}.count-grid>div:last-child{border:0}.num{font:4.5rem 'Cormorant Garamond',Georgia,serif}.label{font-size:.55rem;letter-spacing:.18em;opacity:.65;margin-top:12px}.celebrate{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);min-height:700px}.celebrate img{width:100%;height:100%;min-height:520px;object-fit:cover}.celebrate-copy{display:flex;align-items:center;padding:80px}.celebrate-copy h2{font-size:clamp(4rem,7vw,7rem)}.celebrate-copy .italic{font:italic 1.4rem 'Cormorant Garamond',Georgia,serif;color:var(--muted)}.maps{display:flex;gap:12px;margin-top:40px}.maps a{flex:1;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(91,75,59,.4);color:var(--brown);text-decoration:none;font-size:.65rem;font-weight:600;letter-spacing:.12em;transition:.3s}.maps a:hover{background:var(--brown);color:#fff}.gallery{padding:112px 20px;background:var(--secondary)}.gallery-grid{max-width:1200px;margin:60px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery img{width:100%;height:100%;object-fit:cover}.g1{grid-column:span 2;aspect-ratio:4/5}.g2,.g3{aspect-ratio:3/4}.g4{grid-column:span 2;aspect-ratio:16/10}.rsvp{background:var(--paper)}.rsvp form{max-width:620px;margin:55px auto 0}.field{margin-bottom:32px}.field label,.legend{display:block;font-size:.62rem;font-weight:600;letter-spacing:.2em;margin-bottom:12px}.field input:not([type="radio"]){width:100%;height:48px;border:0;border-bottom:1px solid #cdbda8;background:transparent;outline:none;font:1.3rem 'Cormorant Garamond',Georgia,serif;color:var(--ink)}.field textarea{width:100%;min-height:120px;padding:14px 0;border:0;border-bottom:1px solid #cdbda8;background:transparent;outline:none;resize:vertical;font:1.3rem/1.5 'Cormorant Garamond',Georgia,serif;color:var(--ink)}.field textarea::placeholder{color:#a99a88}.field textarea:focus{border-bottom-color:var(--gold)}.options{display:grid;gap:14px}.option{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:center;min-height:76px;border:1px solid #d9cdbb;padding:18px 20px;text-align:left;cursor:pointer;background:rgba(255,255,255,.18);transition:all .35s cubic-bezier(.22,1,.36,1);box-shadow:0 5px 20px rgba(75,58,42,.025)}.option:hover{border-color:#bca98e;background:#fffaf1;transform:translateY(-1px)}.option:has(.attendance-radio:checked){border-color:var(--gold);background:#fffaf1;box-shadow:0 10px 28px rgba(75,58,42,.08)}.attendance-radio{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}.custom-radio{width:22px;height:22px;grid-column:1;grid-row:1;align-self:start;justify-self:center;margin-top:2px;border:1px solid #a99a88;border-radius:50%;display:grid;place-items:center;transition:.3s}.custom-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brown);transform:scale(0);transition:transform .25s cubic-bezier(.22,1,.36,1)}.option:has(.attendance-radio:checked) .custom-radio{border-color:var(--brown)}.option:has(.attendance-radio:checked) .custom-radio:after{transform:scale(1)}.option-copy{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}.option-copy strong{font-family:Manrope,Arial,sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.01em;line-height:1.25}.option-copy small{font-family:Manrope,Arial,sans-serif;font-size:.67rem;letter-spacing:.18em;color:var(--muted);line-height:1.5}.option:focus-within{outline:2px solid rgba(184,155,112,.35);outline-offset:3px}.guest{display:flex;align-items:center;justify-content:space-between;width:160px;margin:0 auto;border:1px solid #d9cdbb;padding:8px}.guest button{width:36px;height:36px;border:1px solid #d9cdbb;background:transparent;color:var(--ink);cursor:pointer}.guest span{font:1.5rem 'Cormorant Garamond',Georgia,serif}.submit{width:100%;height:50px;border:0;background:var(--brown);color:#fff;cursor:pointer;letter-spacing:.2em}.thanks{text-align:center;padding:50px 0}.footer{min-height:72svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--secondary);padding:100px 24px}.footer h2{font-size:clamp(3.6rem,14vw,8rem);line-height:.85}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}.reveal-scale{opacity:0;transform:scale(.93);transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}@keyframes enter{to{opacity:1;transform:none}}@keyframes heroimg{to{opacity:1}}@media(max-width:800px){.frame{inset:14px}.story,.celebrate{grid-template-columns:1fr}.story{gap:40px}.story-copy{order:2}.story figure{order:1}.celebrate-copy{padding:70px 28px}.maps{flex-direction:column}.count-grid .num{font-size:2.8rem}.save-date{font-size:2rem}.gallery-grid{gap:8px}.section{padding:90px 20px}}

.form-status{max-width:620px;margin:18px auto 0;padding:14px 16px;border:1px solid #d9cdbb;font-size:.78rem;line-height:1.5;text-align:center;color:var(--brown);background:#fffaf1}.form-status.error{border-color:#c8ad91}.form-status.success{border-color:#b89b70}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Wedding preloader — Variant 2: Golden arch */
body.is-loading{overflow:hidden}.preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#f7f1e7;color:var(--brown);opacity:1;visibility:visible;transition:opacity 1.15s cubic-bezier(.22,1,.36,1),visibility 1.15s}.preloader:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(213,188,147,.18),transparent 35%),radial-gradient(rgba(76,64,52,.06) .55px,transparent .55px);background-size:auto,6px 6px}.preloader:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;background:rgba(214,190,151,.08);filter:blur(35px);opacity:0;animation:archGlow 2.6s .45s ease forwards}.preloader-inner{position:relative;z-index:1;width:min(88vw,390px);height:min(76vh,500px);display:grid;place-items:center}.preloader-arch{position:absolute;inset:50% auto auto 50%;width:min(82vw,330px);height:auto;transform:translate(-50%,-50%);overflow:visible}.arch-line,.arch-floor{fill:none;stroke:#b89b70;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.arch-line-main{stroke-width:1.35;animation:drawArch 1.75s .2s cubic-bezier(.65,0,.35,1) forwards}.arch-line-inner{stroke-width:.65;opacity:.52;animation:drawArch 1.65s .62s cubic-bezier(.65,0,.35,1) forwards}.arch-floor{stroke-width:.75;opacity:.6;animation:drawArch .75s 1.55s ease forwards}.arch-content{position:relative;z-index:2;text-align:center;margin-top:8px}.arch-spark{color:var(--gold);font:normal .72rem Georgia,serif;opacity:0;transform:translateY(-9px) scale(.3) rotate(-35deg);animation:archSpark .65s 1.15s cubic-bezier(.34,1.56,.64,1) forwards}.preloader-monogram{margin-top:18px;display:flex;align-items:baseline;justify-content:center;gap:.13em;font:400 clamp(4.3rem,17vw,6.8rem)/.8 'Cormorant Garamond',Georgia,serif;letter-spacing:.015em;opacity:0;filter:blur(7px);transform:translateY(12px) scale(.97);animation:archMonogram .9s 1.35s cubic-bezier(.22,1,.36,1) forwards}.preloader-monogram em{font-size:.43em;font-weight:400;color:var(--gold);font-style:normal;vertical-align:.25em}.preloader-title{margin-top:29px;font-size:.69rem;font-weight:600;letter-spacing:.31em;opacity:0;transform:translateY(7px);animation:archText .65s 2.05s ease forwards}.preloader-subtitle{margin-top:10px;font:italic 400 1.16rem 'Cormorant Garamond',Georgia,serif;color:var(--muted);letter-spacing:.08em;opacity:0;transform:translateY(7px);animation:archText .65s 2.25s ease forwards}.arch-date{margin-top:17px;color:var(--gold);font-size:.58rem;letter-spacing:.27em;opacity:0;transform:translateY(6px);animation:archText .6s 2.45s ease forwards}.preloader--hide{opacity:0;visibility:hidden;pointer-events:none}.preloader--hide .preloader-arch-inner{transform:scale(1.018);transition:transform 1.15s cubic-bezier(.22,1,.36,1)}@keyframes drawArch{to{stroke-dashoffset:0}}@keyframes archGlow{0%{opacity:0;transform:scale(.85)}50%,100%{opacity:1;transform:scale(1)}}@keyframes archSpark{to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes archMonogram{to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes archText{to{opacity:1;transform:translateY(0)}}@media(max-height:620px){.preloader-inner{height:92vh;transform:scale(.88)}}@media(prefers-reduced-motion:reduce){.arch-line,.arch-floor{stroke-dashoffset:0}.arch-spark,.preloader-monogram,.preloader-title,.preloader-subtitle,.arch-date{animation:none;opacity:1;filter:none;transform:none}}
body.is-loading{overflow:hidden}.preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f7f1e7;color:var(--brown);opacity:1;visibility:visible;transition:opacity 1.05s cubic-bezier(.22,1,.36,1),visibility 1.05s}.preloader:before{content:"";position:absolute;inset:16px;border:1px solid rgba(184,155,112,.38);transform:scale(.975);opacity:0;animation:preFrame 1.25s .15s cubic-bezier(.22,1,.36,1) forwards}.preloader:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(76,64,52,.075) .55px,transparent .55px);background-size:6px 6px;pointer-events:none}.preloader-inner{position:relative;z-index:1;width:min(86vw,420px);text-align:center;padding:48px 28px}.preloader-ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin-bottom:30px;opacity:0;animation:preFade .55s .18s ease forwards}.preloader-ornament span{display:block;width:44px;height:1px;background:currentColor;transform:scaleX(0);animation:preLine .75s .35s ease forwards}.preloader-ornament i{font:normal .72rem Georgia,serif;transform:scale(0) rotate(-45deg);animation:preSpark .65s .5s cubic-bezier(.34,1.56,.64,1) forwards}.preloader-monogram{display:flex;align-items:baseline;justify-content:center;gap:.13em;font:400 clamp(4.4rem,18vw,7rem)/.8 'Cormorant Garamond',Georgia,serif;letter-spacing:.02em}.preloader-monogram .pre-a,.preloader-monogram .pre-n{display:inline-block;opacity:0;filter:blur(5px)}.preloader-monogram .pre-a{transform:translateX(-16px);animation:preLetterA .72s .62s cubic-bezier(.22,1,.36,1) forwards}.preloader-monogram em{display:inline-block;font-size:.46em;font-weight:400;color:var(--gold);font-style:normal;vertical-align:.25em;opacity:0;transform:scale(.55) rotate(-12deg);animation:preAmpIn .62s 1.12s cubic-bezier(.34,1.56,.64,1) forwards}.preloader-monogram .pre-n{transform:translateX(16px);animation:preLetterN .72s 1.48s cubic-bezier(.22,1,.36,1) forwards}.preloader-divider{display:flex;align-items:center;justify-content:center;gap:9px;width:146px;margin:28px auto 0;color:var(--gold)}.preloader-divider span{height:1px;flex:1;background:currentColor;transform:scaleX(0)}.preloader-divider span:first-child{transform-origin:right;animation:preLine .65s 1.9s ease forwards}.preloader-divider span:last-child{transform-origin:left;animation:preLine .65s 1.9s ease forwards}.preloader-divider i{font:normal .42rem Georgia,serif;opacity:0;transform:scale(0) rotate(45deg);animation:preDiamond .5s 2.02s ease forwards}.preloader-title{margin-top:21px;font-size:.7rem;font-weight:600;letter-spacing:.32em;opacity:0;transform:translateY(7px);animation:preText .55s 2.18s ease forwards}.preloader-subtitle{margin-top:10px;font:italic 400 1.15rem 'Cormorant Garamond',Georgia,serif;color:var(--muted);letter-spacing:.08em;opacity:0;transform:translateY(6px);animation:preText .55s 2.38s ease forwards}.preloader--hide{opacity:0;visibility:hidden;pointer-events:none}.preloader--hide .preloader-inner{transform:scale(.985);transition:transform 1.05s cubic-bezier(.22,1,.36,1)}@keyframes preFrame{to{transform:scale(1);opacity:1}}@keyframes preFade{to{opacity:1}}@keyframes preLine{to{transform:scaleX(1)}}@keyframes preSpark{to{transform:scale(1) rotate(0);opacity:1}}@keyframes preLetterA{to{opacity:1;filter:blur(0);transform:translateX(0)}}@keyframes preLetterN{to{opacity:1;filter:blur(0);transform:translateX(0)}}@keyframes preAmpIn{to{opacity:1;transform:scale(1) rotate(0)}}@keyframes preDiamond{to{opacity:.85;transform:scale(1) rotate(45deg)}}@keyframes preText{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.preloader:before,.preloader-ornament,.preloader-ornament span,.preloader-ornament i,.preloader-monogram .pre-a,.preloader-monogram em,.preloader-monogram .pre-n,.preloader-divider span,.preloader-divider i,.preloader-title,.preloader-subtitle{animation:none;opacity:1;filter:none;transform:none}}
