@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap");:root{--ivory:#F7F3EC;--sand:#E8DFD1;--sage:#A5A58C;--olive:#555D4D;--ink:#383B34;--gold:#A68D6C;--muted:#77786e}*{box-sizing:border-box;scroll-behavior:smooth}html{scroll-padding-top:92px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit}.site-header{height:76px;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:#F7F3ECed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #dcd3c5;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:24px}.monogram{font:500 28px Cormorant Garamond,serif;letter-spacing:.04em;text-decoration:none;white-space:nowrap}.monogram span{color:var(--gold);padding:0 3px}.site-header nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}.site-header nav a{font-size:11px;letter-spacing:.045em;text-decoration:none;color:#606255;white-space:nowrap}.site-header nav a:hover,footer>a:last-child:hover{color:var(--gold)}.language-switch{border:1px solid #c9b99f;background:transparent;color:var(--olive);font:500 11px DM Sans;padding:8px 10px;cursor:pointer}.hero-section{text-align:center;padding:72px 22px 35px}.eyebrow,.hero-copy .eyebrow{font-size:10px;letter-spacing:.2em;color:#8b826f;margin:0 0 13px}.hero-copy h1{font:400 clamp(64px,10vw,116px)/.88 Cormorant Garamond,serif;margin:18px 0 20px;letter-spacing:-.035em}.hero-copy h1 em{font-weight:400;color:var(--gold)}.hero-date{font:500 14px DM Sans;letter-spacing:.24em;color:var(--gold);margin:0 0 11px}.hero-date span{padding:0 6px}.hero-place{font-size:12px;letter-spacing:.11em;color:var(--olive)}.hero-image{height:clamp(260px,42vw,510px);max-width:1180px;margin:42px auto 0;position:relative;overflow:hidden;background-image:linear-gradient(180deg,transparent 65%,#2228),url(/images/kasteel-engelenburg.jpg);background-size:cover;background-position:center 48%;border:10px solid #eee8de;outline:1px solid #d5cbbb}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#2225)}.image-caption{position:absolute;bottom:18px;left:0;right:0;z-index:2;color:#fff;font-size:9px;letter-spacing:.22em}.welcome-copy{max-width:650px;margin:70px auto 20px}.rsvp-section h2,.section-heading h2,.stay-copy h2,.welcome-copy h2{font:400 clamp(43px,6vw,66px)/1 Cormorant Garamond,serif;margin:12px 0 18px}.welcome-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted)}.countdown{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px auto 0;color:var(--olive)}.countdown strong{font:400 36px Cormorant Garamond,serif}.countdown span{font-size:9px;letter-spacing:.16em}.scroll-cue{display:inline-flex;gap:14px;align-items:center;margin:36px auto 0;text-decoration:none;font-size:9px;letter-spacing:.18em;color:var(--olive)}.scroll-cue span{font-size:17px;color:var(--gold)}.content-section{padding:105px max(7vw,24px);scroll-margin-top:76px}.section-heading{text-align:center;margin:0 auto 55px}.section-heading>p:last-child{color:var(--muted);font-size:13px}.section-heading h2{margin-bottom:14px}.story-section{background:#f1ece3}.story-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:42px 9%;gap:42px 9%}.story-card{position:relative;border-top:1px solid #cfc5b5;padding:22px 0 0}.story-number{position:absolute;right:0;top:12px;color:#c8b99f;font:400 36px Cormorant Garamond,serif}.story-card .eyebrow{margin-bottom:10px}.story-card h3{font:500 32px Cormorant Garamond,serif;margin:0 0 10px}.story-card>p:last-child{font-size:13px;line-height:1.9;color:var(--muted);max-width:460px}.story-photo{max-width:900px;margin:58px auto 0;text-align:center}.story-photo img{display:block;width:100%;max-height:560px;object-fit:cover;object-position:center 55%;border:8px solid #eee8de;outline:1px solid #d5cbbb}.story-photo figcaption{margin-top:12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.story-note{text-align:center;font:italic 24px Cormorant Garamond,serif;color:var(--olive);margin:58px auto 0}.schedule-section{background:var(--ivory)}.timeline{max-width:760px;margin:auto}.timeline-item{display:grid;grid-template-columns:92px 1fr;grid-gap:24px;gap:24px;padding:22px 0;border-bottom:1px solid #ded6ca}.timeline-item time{background:#eee8de;color:var(--olive);padding:12px 10px;text-align:center;align-self:start;font-size:12px;letter-spacing:.04em}.timeline-item h3{font:500 25px Cormorant Garamond,serif;margin:0 0 4px}.timeline-item p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.sunday-panel{max-width:760px;margin:48px auto 0;background:var(--sand);padding:32px clamp(22px,5vw,48px)}.sunday-panel h3{font:400 30px Cormorant Garamond,serif;margin:0 0 20px}.sunday-events{display:grid;grid-template-columns:1fr 1fr;grid-gap:25px;gap:25px}.sunday-events p{display:flex;gap:15px;font-size:12px;line-height:1.7;color:var(--muted)}.sunday-events b{color:var(--olive);font-weight:500}.sunday-events strong{display:block;color:var(--ink);font-weight:600}.stay-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8%;gap:8%;align-items:center;background:#f1ece3}.stay-image{min-height:440px;position:relative;display:flex;align-items:end;justify-content:center;padding:25px;background:linear-gradient(150deg,#aab09a,#e1d6c4 54%,#777f6c);overflow:hidden}.stay-image:before{content:"";position:absolute;inset:15% 18% 0;background:#8c8a75;-webkit-clip-path:polygon(0 100%,0 34%,18% 34%,18% 15%,31% 15%,31% 0,69% 0,69% 15%,82% 15%,82% 34%,100% 34%,100% 100%);clip-path:polygon(0 100%,0 34%,18% 34%,18% 15%,31% 15%,31% 0,69% 0,69% 15%,82% 15%,82% 34%,100% 34%,100% 100%);opacity:.8}.stay-image span{position:relative;color:white;font-size:9px;letter-spacing:.2em}.stay-copy h2{margin:10px 0 22px}.stay-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:var(--muted)}.breakfast-note{display:flex;gap:15px;align-items:flex-start;margin-top:28px;padding-top:20px;border-top:1px solid #d4cabc}.breakfast-note>span{font-size:22px;color:var(--gold)}.breakfast-note p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.breakfast-note strong{display:block;color:var(--ink)}.travel-section{background:var(--sand)}.address-card{max-width:900px;margin:auto;background:var(--ivory);display:grid;grid-template-columns:1fr 1fr;min-height:300px}.address-card>div:first-child{padding:38px clamp(24px,5vw,55px)}.address-card h3{font:400 34px Cormorant Garamond,serif;margin:8px 0}.address-card p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.address-card .arrival-time{margin-top:22px;color:var(--olive)!important}.address-card a{display:inline-block;margin-top:10px;color:var(--olive);font-size:9px;letter-spacing:.14em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.map-art{background:linear-gradient(135deg,#d5d3bf,#aab09a);position:relative;display:flex;align-items:center;justify-content:center;gap:18px;color:#626b56;font:11px DM Sans;letter-spacing:.1em}.map-art:after,.map-art:before{content:"";position:absolute;width:150%;height:1px;background:#f7f3ec99;transform:rotate(-25deg)}.map-art:after{transform:rotate(35deg)}.map-art i{position:absolute;font-size:38px;color:#f7f3ec}.map-art span{z-index:1}.parking-note{text-align:center;font-size:12px;color:var(--muted);margin:22px auto 0}.rsvp-section{text-align:center;background:var(--olive);color:var(--ivory)}.rsvp-section .eyebrow{color:#d2c3aa}.rsvp-section>p:not(.eyebrow){color:#e1dfd5;font-size:13px}.rsvp-panel{max-width:540px;margin:38px auto 0;padding:35px 30px;border:1px solid #d5c9b2aa}.rsvp-mark{font:500 25px Cormorant Garamond,serif}.rsvp-mark i{font-style:normal;color:#d0b894}.rsvp-panel p{font-size:12px;line-height:1.8;color:#e1dfd5}.rsvp-panel small{font-size:9px;letter-spacing:.16em;color:#d2c3aa}.faq-section{background:var(--ivory)}.faq-list{max-width:820px;margin:0 auto}.faq-item{border-top:1px solid #d8d0c4}.faq-item:last-child{border-bottom:1px solid #d8d0c4}.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;padding:20px 2px;text-align:left;color:var(--ink);font:500 15px DM Sans;cursor:pointer}.faq-item button i{font:400 22px Cormorant Garamond,serif;color:var(--gold);font-style:normal}.faq-item>p{max-width:700px;margin:0;padding:0 35px 22px 2px;font-size:12px;line-height:1.9;color:var(--muted)}.adults-note{max-width:820px;margin:65px auto 0;padding:30px 34px;background:#f1ece3}.adults-note h3{font:400 31px Cormorant Garamond,serif;margin:10px 0}.adults-note>p:last-child{font-size:12px;line-height:1.9;color:var(--muted)}footer{background:#e8dfd1;padding:38px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font:400 22px Cormorant Garamond,serif;color:var(--olive)}footer>a:last-child{font-size:9px;letter-spacing:.14em;text-decoration:none;color:var(--olive)}@media(max-width:900px){.site-header{height:auto;min-height:68px;flex-wrap:wrap;padding-top:12px;padding-bottom:10px;gap:10px}.site-header nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start;padding:5px 0 2px;gap:20px}.site-header nav a{font-size:10px}.content-section{padding-top:78px;padding-bottom:78px}.stay-section{grid-template-columns:1fr;gap:35px}.stay-image{min-height:300px}.stay-copy{margin:auto}.address-card,.stay-copy{max-width:650px}}@media(max-width:600px){.hero-section{padding-top:55px}.hero-image{height:240px;margin-top:32px;border-width:6px}.welcome-copy{margin-top:52px}.content-section{padding-left:22px;padding-right:22px}.story-grid{grid-template-columns:1fr;gap:28px}.story-note{font-size:21px}.timeline-item{grid-template-columns:68px 1fr;gap:15px}.timeline-item h3{font-size:23px}.sunday-events{gap:0}.address-card,.sunday-events{grid-template-columns:1fr}.map-art{min-height:170px}.rsvp-panel{padding:28px 18px}.adults-note{padding:25px 22px}footer{flex-direction:column;gap:8px;padding:32px 20px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.rsvp-form{text-align:left}.rsvp-form form{display:flex;flex-direction:column;gap:12px}.admin-shell label,.rsvp-form label{display:block;font-size:.82rem;color:var(--olive,#555d4d);margin:4px 0}.rsvp-form .rsvp-options label,.rsvp-form label,.rsvp-form legend{color:#f7f3ec}.admin-shell input,.admin-shell select,.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form select,.rsvp-form textarea{width:100%;padding:13px 14px;border:1px solid #d8d0c4;background:#fffdfa;color:#383b34;border-radius:2px;font:inherit}.rsvp-form textarea{min-height:78px}.admin-shell button,.rsvp-form button{border:0;padding:13px 18px;background:#555d4d;color:white;font:inherit;cursor:pointer}.rsvp-form button:disabled{opacity:.55}.admin-add,.rsvp-code-row{display:flex;gap:10px}.admin-add input,.rsvp-code-row input{flex:1 1;min-width:0}.rsvp-options{display:grid;grid-gap:10px;gap:10px;padding:14px 0}.rsvp-form .checkline,.rsvp-options label{display:flex;align-items:center;gap:9px}.rsvp-form fieldset{border:1px solid #ded6ca;padding:14px;display:grid;grid-gap:8px;gap:8px;margin:4px 0 10px}.rsvp-form legend{padding:0 7px;font-family:Georgia,serif}.admin-shell .text-button,.rsvp-form .text-button{background:transparent;color:#555d4d;text-decoration:underline;padding:8px 0}.form-error{color:#9b3e32;font-size:.9rem}.form-success{overflow-wrap:anywhere;font-size:.9rem}.admin-shell{min-height:100vh;background:#f7f3ec;color:#383b34;padding:clamp(22px,5vw,64px)}.admin-login{max-width:420px;margin:8vh auto;background:#fffdfa;padding:34px;border:1px solid #e8dfd1}.admin-login h1,.admin-top h1{font:400 clamp(2.3rem,5vw,4rem) Georgia,serif;margin:8px 0 16px}.admin-login form{display:grid;grid-gap:10px;gap:10px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:0 auto 28px}.admin-stats{max-width:1100px;margin:0 auto 22px;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.admin-card,.admin-stats article{background:#fffdfa;border:1px solid #e8dfd1;padding:20px}.admin-stats span,.admin-stats strong{display:block}.admin-stats strong{font:400 2rem Georgia,serif;margin-top:8px}.admin-card{max-width:1100px;margin:0 auto 18px}.admin-card h2{font:400 1.6rem Georgia,serif;margin:0 0 16px}.admin-add select{max-width:130px}.export-links{display:flex;flex-wrap:wrap;gap:12px 22px}.export-links a{color:#555d4d}.admin-table article{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #e8dfd1}.admin-table small{display:block;margin-top:5px;color:#777}.admin-foot{max-width:1100px;margin:18px auto;font-size:.8rem;color:#777}@media(max-width:700px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-add,.rsvp-code-row{flex-direction:column}.admin-add select{max-width:none}.admin-table article{flex-direction:column}}.admin-hint{font-size:.82rem;color:#777;margin:12px 0 0}.admin-count{font:400 .85rem DM Sans,sans-serif;color:#777;margin-left:8px}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.admin-section-head h2{margin-bottom:16px}.admin-household-main{min-width:0;flex:1 1}.admin-actions{align-items:flex-start;gap:14px}.admin-actions,.admin-edit{display:flex;flex-wrap:wrap}.admin-edit{gap:8px;align-items:center}.admin-edit input{min-width:160px;flex:1 1}.admin-edit select{max-width:110px}.admin-edit button{padding:9px 12px}.admin-table article{align-items:flex-start}@media(max-width:700px){.admin-section-head{align-items:flex-start;flex-direction:column}.admin-actions{gap:12px}.admin-edit{align-items:stretch;flex-direction:column}.admin-edit input,.admin-edit select{max-width:none;width:100%}}.menu-add{flex-wrap:wrap}.menu-add input{min-width:180px}.admin-table article small{overflow-wrap:anywhere}.admin-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.admin-settings-form label{display:grid;grid-gap:7px;gap:7px;font-size:13px;color:var(--ink,#383b34)}.admin-settings-form input{width:100%;padding:12px;border:1px solid #d8d0c4;border-radius:8px;background:#fff;font:inherit}.admin-settings-form button{justify-self:start}.admin-settings-form label:nth-child(4){grid-column:span 2}@media(max-width:640px){.admin-settings-form{grid-template-columns:1fr}.admin-settings-form label:nth-child(4){grid-column:auto}}.menu-edit-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));grid-gap:12px;gap:12px;width:100%}.menu-edit-form>strong{grid-column:1/-1}.menu-edit-form label{display:flex;flex-direction:column;gap:6px;color:var(--ink,#333);font-size:.9rem}.menu-edit-form input,.menu-edit-form textarea{width:100%;border:1px solid #d8d0c4;background:#fff;color:#333;padding:11px 12px;font:inherit}.menu-edit-form textarea{resize:vertical}.menu-edit-form .admin-actions{grid-column:1/-1}@media(max-width:700px){.menu-edit-form{grid-template-columns:1fr}}.access-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--ivory,#f5f1e9)}.access-card{width:min(100%,480px);padding:clamp(28px,7vw,56px);background:#fffdf8;border:1px solid rgba(80,75,60,.12);text-align:center;box-shadow:0 18px 60px rgba(50,45,35,.07)}.access-card .monogram{display:inline-block;margin-bottom:28px;font-family:Georgia,serif;font-size:30px;letter-spacing:.12em;color:#59634e;text-decoration:none}.access-card .monogram span{color:#a7a18e}.access-card h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,7vw,48px);line-height:1.1;margin:12px 0 18px;color:#3e4338}.access-card>p:not(.eyebrow){line-height:1.7;color:#68695f}.access-card form{display:grid;grid-gap:12px;gap:12px;text-align:left;margin:28px 0}.access-card label{font-size:13px;color:#52574b}.access-card input{width:100%;padding:13px 14px;border:1px solid #d8d5ca;background:#fff;color:#303329}.access-card button{padding:14px 20px;border:0;background:#59634e;color:#fff;cursor:pointer}.access-card small{color:#77796f;letter-spacing:.08em}.admin-contact{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(90,75,55,.18)}.admin-contact label{display:grid;grid-gap:5px;gap:5px;min-width:220px;font-size:.85rem}.admin-contact input{max-width:280px}