@font-face{font-family:NT Fabulous;src:url(/fonts/NTFabulous.otf) format("opentype");font-weight:400;font-display:swap}:root{--cream: oklch(.965 .012 82);--cream-2: oklch(.945 .016 80);--linen: oklch(.915 .018 78);--linen-deep: oklch(.875 .022 76);--taupe: oklch(.46 .028 62);--taupe-soft: oklch(.56 .026 64);--taupe-faint: oklch(.66 .022 66);--gold: oklch(.62 .05 68);--line: oklch(.83 .02 74);--white-warm: oklch(.99 .008 84);--display: "NT Fabulous", "Cormorant Garamond", Georgia, serif;--serif: "NT Fabulous", "Cormorant Garamond", Georgia, serif;--script: "NT Fabulous", "Cormorant Garamond", Georgia, serif;--sans: "Mulish", -apple-system, system-ui, sans-serif;--maxw: 1080px;--arch-radius: 50% 50% 0 0 / 30% 30% 0 0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:64px}body{font-family:var(--sans);color:var(--taupe);background-color:var(--cream);background-image:repeating-linear-gradient(0deg,oklch(.5 .02 70 / .022) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,oklch(.5 .02 70 / .022) 0 1px,transparent 1px 3px),radial-gradient(120% 80% at 50% 0%,oklch(.99 .01 84 / .6),transparent 60%);font-weight:400;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--linen-deep);color:var(--taupe)}.eyebrow{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--taupe-faint)}.script{font-family:var(--script);font-weight:400;line-height:1;color:var(--gold)}h2.section-title{font-family:var(--display);font-weight:400;font-size:clamp(2.1rem,5.2vw,3.2rem);color:var(--taupe);letter-spacing:.01em;line-height:1.08}p.lead{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.45rem);color:var(--taupe-soft);line-height:1.5}a{color:inherit}header.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,2.6rem);height:72px;background:#f7f3ebb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .4s ease,background .4s ease,height .4s ease}header.nav.scrolled{border-bottom-color:var(--line);height:64px}.nav-mono{font-family:var(--display);font-size:1.05rem;letter-spacing:.16em;color:var(--taupe);text-decoration:none;white-space:nowrap;z-index:1}.nav-mono .amp{font-family:var(--display);font-size:1.1rem;color:var(--gold);vertical-align:0;margin:0 .12em}nav.links{display:flex;gap:clamp(.9rem,2.2vw,1.9rem);align-items:center}nav.links a{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:500;color:var(--taupe-soft);text-decoration:none;position:relative;padding:.4rem 0;transition:color .25s ease}nav.links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s ease}nav.links a:hover{color:var(--taupe)}nav.links a:hover:after{width:100%}nav.links a.rsvp-link{border:1px solid var(--line);border-radius:999px;padding:.5rem 1.15rem;color:var(--taupe)}nav.links a.rsvp-link:after{display:none}nav.links a.rsvp-link:hover{background:var(--linen);border-color:var(--linen-deep)}.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.menu-btn span{width:24px;height:1.5px;background:var(--taupe);transition:transform .3s ease,opacity .3s ease}section{position:relative}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.4rem,5vw,2.5rem)}.section-pad{padding:clamp(5.5rem,12vw,9.5rem) 0}.center{text-align:center}.section-head{margin-bottom:clamp(2.5rem,6vw,4rem)}.invite-line{font-family:var(--serif);font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.65;color:var(--taupe);text-align:center;max-width:46ch;margin:0 auto clamp(2.8rem,6vw,4.2rem)}.section-head .eyebrow{display:block;margin-bottom:1.1rem}.arch-mark{width:44px;height:30px;margin:0 auto 1.4rem;border:1.5px solid var(--gold);border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.85}.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:120px 1.4rem 5rem;position:relative;background-image:linear-gradient(to bottom,#f7f3eb 0px 80px,#f7f3eb00 190px 84%,#f7f3eb),radial-gradient(125% 100% at 50% 50%,#f9f5ecf2,#f7f3ebe0 30%,#f3eee48f 62%,#eee7dc52),url(/collage.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.hero-inner{text-align:center;max-width:min(920px,92vw)}.hero-eyebrow{display:block;margin-bottom:clamp(1.8rem,4vw,2.6rem)}.hero-names{font-family:var(--display);color:var(--taupe);font-size:clamp(3.2rem,12vw,6.4rem);line-height:.96;letter-spacing:.01em}.hero-names .amp{color:var(--gold);font-size:.6em}.hero-dateline{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,3vw,1.6rem);margin-top:clamp(2rem,4.5vw,2.8rem)}.hero-dateline .seg{height:1px;width:clamp(40px,8vw,84px);background:var(--line)}.hero-date{font-family:var(--display);letter-spacing:.3em;text-transform:uppercase;font-size:clamp(.9rem,2.2vw,1.3rem);color:var(--taupe-soft);padding-left:.3em}.hero-loc{margin-top:clamp(1.9rem,4vw,2.5rem);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--taupe-faint)}.hero-loc strong{color:var(--taupe);font-weight:600}.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe-faint);display:flex;flex-direction:column;align-items:center;gap:.7rem;text-decoration:none}.scroll-cue .dot{width:1px;height:38px;background:linear-gradient(var(--taupe-faint),transparent);animation:cue 2.4s ease-in-out infinite}@keyframes cue{0%,to{opacity:.3;transform:scaleY(.7);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}.btn{display:inline-block;font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--white-warm);background:var(--taupe);border:1px solid var(--taupe);padding:.95rem 2.2rem;border-radius:999px;text-decoration:none;cursor:pointer;transition:background .3s ease,transform .2s ease,box-shadow .3s ease}.btn:hover{background:#544438;transform:translateY(-2px);box-shadow:0 16px 30px -18px #544438b3}.btn.ghost{background:transparent;color:var(--taupe);border-color:var(--line)}.btn.ghost:hover{background:var(--linen);border-color:var(--linen-deep);box-shadow:none}.tint{background:linear-gradient(var(--cream-2),var(--cream-2))}.tint:before,.tint:after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);opacity:.6}.tint:before{top:0}.tint:after{bottom:0}.welcome{max-width:640px;margin:0 auto;text-align:center}.welcome .lead{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.6}.welcome .signed{font-family:var(--script);color:var(--gold);font-size:clamp(2rem,6vw,2.8rem);margin-top:1.8rem;line-height:1}.countdown-wrap{text-align:center}.countdown{display:inline-flex;gap:clamp(1rem,5vw,3.2rem);justify-content:center;flex-wrap:wrap;margin-top:.5rem}.cd-unit{min-width:72px}.cd-num{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,8vw,4.2rem);color:var(--taupe);line-height:1;font-variant-numeric:tabular-nums}.cd-label{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--taupe-faint);margin-top:.7rem}.cd-sep{display:none}.countdown-note{font-family:var(--serif);color:var(--taupe-soft);font-size:1.1rem;margin-top:2.4rem}.timeline{width:fit-content;max-width:100%;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:90px;top:8px;bottom:8px;width:1px;background:var(--line)}.t-item{display:grid;grid-template-columns:78px auto;gap:1.6rem;align-items:baseline;padding:1.6rem 0;position:relative}.t-item .t-time{font-family:var(--serif);font-size:1.1rem;color:var(--gold);text-align:right;letter-spacing:.04em;white-space:nowrap}.t-item .t-time.tbd{color:var(--taupe-faint);font-style:italic;font-size:.95rem}.t-item .t-label{font-family:var(--serif);font-size:1.4rem;color:var(--taupe);padding-left:.6rem}.t-item .t-sub{display:block;font-family:var(--sans);font-size:.82rem;color:var(--taupe-faint);letter-spacing:.02em;margin-top:.2rem;padding-left:.6rem}.t-item.t-hidden{display:none}.day-intro{text-align:center;font-family:var(--serif);font-size:1.15rem;color:var(--taupe-soft);margin:0 auto clamp(2.4rem,5vw,3.4rem);max-width:40ch}.day-intro:empty{display:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;max-width:880px;margin:0 auto}.card{background:var(--white-warm);border:1px solid var(--line);border-radius:14px;padding:2rem 1.8rem;text-align:center}.card .arch-top{width:38px;height:26px;margin:0 auto 1.1rem;border:1.3px solid var(--gold);border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0}.card h4{font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--taupe);margin-bottom:.4rem}.card p{font-size:.92rem;color:var(--taupe-soft)}.card .meta{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe-faint);margin-top:.7rem}.placeholder-note{font-family:SF Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.02em;color:var(--taupe-faint);background:#6b61570d;border:1px dashed var(--line);border-radius:8px;padding:.5rem .9rem;display:inline-block}.map-ph{margin-top:2.2rem;height:320px;border-radius:16px;border:1px solid var(--line);background:var(--linen);display:flex;align-items:center;justify-content:center;overflow:hidden}.map-ph iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.92)}.locatie-grid{display:grid;grid-template-columns:1fr;gap:1rem;max-width:620px;margin:0 auto;text-align:center}#locatie .section-head,#dresscode .section-head{margin-bottom:clamp(1.2rem,3vw,1.8rem)}.locatie-grid .venue{font-family:var(--display);color:var(--gold);font-size:clamp(2.2rem,6vw,3rem);line-height:1.04}.detail-row{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;font-size:.95rem;color:var(--taupe-soft)}.detail-row .lbl{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--taupe-faint);font-weight:600;align-self:center}.dress{max-width:560px;margin:0 auto;text-align:center}.dresscode-name{font-family:var(--display);color:var(--gold);font-size:clamp(2.2rem,6vw,3rem);line-height:1.04}.gate-msg{font-family:var(--serif);color:var(--taupe-soft);font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.6;margin:clamp(2rem,5vw,2.8rem) auto 0;max-width:30ch}.gate-hint{margin-top:1.6rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe-faint)}.faq{max-width:720px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.5rem .4rem;font-family:var(--serif);font-size:clamp(1.15rem,2.5vw,1.4rem);color:var(--taupe);transition:color .2s ease}.faq-q:hover{color:var(--gold)}.faq-icon{position:relative;width:16px;height:16px;flex-shrink:0}.faq-icon:before,.faq-icon:after{content:"";position:absolute;background:var(--gold);transition:transform .3s ease,opacity .3s ease}.faq-icon:before{left:0;top:7px;width:16px;height:1.5px}.faq-icon:after{left:7px;top:0;width:1.5px;height:16px}.faq-item.open .faq-icon:after{transform:scaleY(0);opacity:0}.faq-a{overflow:hidden;max-height:0;transition:max-height .4s ease}.faq-a-inner{padding:0 .4rem 1.6rem;color:var(--taupe-soft);font-size:.98rem}.faq-a-inner .placeholder-note{margin-top:.4rem}.gift{max-width:560px;margin:0 auto;text-align:center}.iban-box{margin-top:2rem;display:inline-flex;align-items:center;gap:1rem;background:var(--white-warm);border:1px solid var(--line);border-radius:999px;padding:.7rem .7rem .7rem 1.6rem}.iban-box .iban{font-family:var(--serif);font-size:1.15rem;letter-spacing:.1em;color:var(--taupe)}.copy-btn{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--white-warm);background:var(--gold);border:none;border-radius:999px;padding:.6rem 1.1rem;cursor:pointer;transition:background .25s ease;white-space:nowrap}.copy-btn:hover{background:#856c52}.copy-btn.done{background:var(--taupe)}.gift-or{display:flex;align-items:center;gap:1rem;max-width:240px;margin:2rem auto 0;color:var(--taupe-faint)}.gift-or:before,.gift-or:after{content:"";flex:1;height:1px;background:var(--line)}.gift-or span{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase}.gift-cash{margin-top:1.5rem}.gift-cash .gift-envelope{width:52px;height:auto;color:var(--gold);display:block;margin:0 auto}.gift-cash .gift-envelope *{vector-effect:non-scaling-stroke}.gift-cash-note{font-family:var(--serif);color:var(--taupe-soft);font-size:1.05rem;margin-top:.9rem}.rsvp-card{max-width:640px;margin:0 auto;background:var(--white-warm);border:1px solid var(--line);border-radius:20px;padding:clamp(2rem,6vw,3.4rem);box-shadow:0 40px 80px -60px #54443880}.form-group{margin-bottom:1.6rem}.field-label{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--taupe-soft);margin-bottom:.6rem}.field-label .opt{color:var(--taupe-faint);font-weight:400;text-transform:none;letter-spacing:.02em;font-size:.78rem}.field-label .req{color:var(--gold);font-weight:600;text-transform:none;letter-spacing:.04em;font-size:.72rem}.check-row{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.96rem;color:var(--taupe);user-select:none}.check-row input{position:absolute;opacity:0;pointer-events:none}.check-row .check-box{width:22px;height:22px;border:1px solid var(--line);border-radius:6px;background:var(--cream);display:grid;place-items:center;flex-shrink:0;transition:background .2s ease,border-color .2s ease}.check-row .check-box:after{content:"";width:6px;height:10px;border:solid var(--white-warm);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .18s ease}.check-row:hover .check-box{border-color:var(--linen-deep)}.check-row input:checked+.check-box{background:var(--taupe);border-color:var(--taupe)}.check-row input:checked+.check-box:after{transform:translateY(-1px) rotate(45deg) scale(1)}input[type=text],input[type=email],input[type=tel],input[type=number],textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--taupe);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;transition:border-color .25s ease,background .25s ease}input::placeholder,textarea::placeholder{color:var(--taupe-faint)}input:focus,textarea:focus{outline:none;border-color:var(--gold);background:var(--white-warm)}textarea{resize:vertical;min-height:90px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}@media(max-width:560px){.seg{grid-template-columns:1fr}}.seg label{position:relative;cursor:pointer}.seg input{position:absolute;opacity:0;pointer-events:none}.seg .seg-box{display:block;text-align:center;padding:.95rem 1rem;border:1px solid var(--line);border-radius:12px;font-size:.9rem;letter-spacing:.04em;color:var(--taupe-soft);background:var(--cream);transition:all .22s ease}.seg label:hover .seg-box{border-color:var(--linen-deep)}.seg input:checked+.seg-box{background:var(--taupe);border-color:var(--taupe);color:var(--white-warm);font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:.7rem}.chips label{position:relative;cursor:pointer}.chips input{position:absolute;opacity:0;pointer-events:none}.chips .chip{display:inline-block;padding:.6rem 1.2rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;color:var(--taupe-soft);background:var(--cream);transition:all .2s ease}.chips label:hover .chip{border-color:var(--linen-deep)}.chips input:checked+.chip{background:var(--linen-deep);border-color:var(--linen-deep);color:var(--taupe);font-weight:600}.conditional{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s cubic-bezier(.2,.7,.2,1),opacity .4s ease}.conditional.open{grid-template-rows:1fr;opacity:1}.conditional>.conditional-inner{overflow:hidden;min-height:0}.form-actions{margin-top:2rem;text-align:center}.form-meta{text-align:center;font-size:.86rem;color:var(--taupe-faint);margin-top:1.4rem}.form-meta a{color:var(--taupe);text-decoration:underline;text-underline-offset:3px}.rsvp-deadline{text-align:center;font-family:var(--serif);color:var(--taupe-soft);font-size:1.1rem;margin-bottom:2.2rem}.thanks{text-align:center;padding:1.5rem 0;display:none}.thanks.show{display:block;animation:fadeUp .6s ease both}.thanks .arch-mark{width:56px;height:38px}.thanks .script{font-size:clamp(2.6rem,8vw,3.8rem);margin-bottom:.6rem}.thanks p{color:var(--taupe-soft);max-width:34ch;margin:0 auto}.thanks .thanks-note{margin-top:1.1rem;max-width:40ch;font-size:.86rem;line-height:1.55;color:var(--taupe-faint)}footer{text-align:center;padding:clamp(4rem,9vw,6rem) 1.4rem 3rem;border-top:1px solid var(--line);background:var(--cream-2)}footer .f-names{font-family:var(--display);color:var(--gold);font-size:clamp(2.2rem,6vw,3rem);line-height:1.04}footer .f-meta{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe-faint);margin-top:1rem}footer .f-heart{color:var(--gold);margin:1.6rem 0 0;font-size:.85rem;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-cue .dot{animation:none}html{scroll-behavior:auto}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:960px){.menu-btn{display:flex}nav.links{position:fixed;inset:72px 0 auto;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:.6rem 1.4rem 1.4rem;transform:translateY(-120%);visibility:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s linear .4s;box-shadow:0 30px 50px -40px #54443880}nav.links.open{transform:translateY(0);visibility:visible;transition:transform .4s cubic-bezier(.2,.7,.2,1)}nav.links a{width:100%;padding:.85rem 0;border-bottom:1px solid var(--line);letter-spacing:.16em}nav.links a:last-child{border-bottom:none}nav.links a.rsvp-link{border:1px solid var(--line);margin-top:.7rem;text-align:center}.menu-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.timeline:before{left:70px}.t-item{grid-template-columns:62px auto;gap:1.1rem}.t-item:before{left:66px}.iban-box{flex-direction:column;border-radius:18px;padding:1.2rem;gap:.8rem}.iban-box .iban{font-size:1rem}.countdown{gap:1.1rem}}
