:root{--cream:#fbf7ef;--paper:#fffdf8;--ink:#31402e;--olive:#687451;--olive-dark:#53603f;--terracotta:#c96f4b;--peach:#eab39d;--sand:#eadfce;--line:#d9cfbf;--shadow:0 16px 42px rgba(70,60,43,.12);--serif:'Libre Baskerville',serif;--sans:'DM Sans',sans-serif;--script:'Allura',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;padding:.75rem 1rem;color:#222}.skip-link:focus{top:1rem}
.intro-shell{min-height:100vh;background:radial-gradient(circle at 50% 10%,#fff 0,transparent 38%),linear-gradient(180deg,#fbf7ef 0,#f8f2e8 100%)}.intro-hero{min-height:100vh;position:relative;overflow:hidden;padding:clamp(2rem,5vw,5rem) max(1.25rem,5vw) 4rem}.intro-copy{text-align:center;position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--terracotta);font-size:.78rem;font-weight:600}.intro-copy h1,.wordmark{font-family:var(--script);font-weight:400}.intro-copy h1{font-size:clamp(4.6rem,10vw,8.5rem);line-height:.75;margin:.35rem 0;color:var(--olive-dark)}.intro-copy h1 span{color:var(--terracotta)}.intro-subtitle{font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.4rem);margin:1.5rem 0 .2rem}.flourish,.mini-flourish{color:var(--olive);font-size:2rem}.intro-grid{width:min(1040px,100%);margin:2.25rem auto 0;display:grid;grid-template-columns:minmax(280px,390px) minmax(340px,1fr);gap:clamp(2rem,7vw,6rem);align-items:center;justify-content:center;position:relative;z-index:2}.video-card{text-align:center}.section-label{color:var(--terracotta);font-family:var(--serif);font-size:.95rem;margin:0 0 .35rem}.video-card h2,.gate-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3vw,2.35rem);margin:0 0 1rem}.video-frame{aspect-ratio:9/16;width:min(100%,380px);margin-inline:auto;border:7px solid rgba(255,255,255,.92);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#ebe5d9;position:relative}.video-frame video{width:100%;height:100%;object-fit:contain;background:#111}.video-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;text-align:center;color:var(--olive)}.play-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 8px 22px rgba(0,0,0,.12);padding-left:.2rem}.gate-card{background:rgba(255,253,248,.72);border:1px solid rgba(104,116,81,.18);padding:clamp(1.6rem,4vw,3rem);border-radius:22px;text-align:center;box-shadow:0 10px 35px rgba(70,60,43,.06);backdrop-filter:blur(10px)}.gate-card>p:not(.section-label,.privacy-note){margin-top:0}.code-form{display:grid;gap:.8rem;margin-top:1.5rem}.code-form input,.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.86);border-radius:8px;padding:.95rem 1rem;color:var(--ink);outline:none}.code-form input:focus,.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(104,116,81,.12)}.code-form button,.button{border:0;border-radius:8px;padding:.92rem 1.25rem;background:var(--olive-dark);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:.55rem;transition:.2s}.code-form button:hover,.button:hover{transform:translateY(-1px);background:#465037}.privacy-note{font-size:.78rem;color:#6c6d64;margin:1rem 0 0}.form-message{min-height:1.4em;color:var(--terracotta);font-weight:600;font-size:.88rem;margin:.2rem 0 0}.botanical{position:absolute;width:280px;height:420px;opacity:.38;filter:saturate(.8);pointer-events:none;background:radial-gradient(ellipse at 40% 20%,#e8b09b 0 7%,transparent 8%),radial-gradient(ellipse at 70% 35%,#f1d5c8 0 6%,transparent 7%),radial-gradient(ellipse at 35% 55%,#e8b09b 0 5%,transparent 6%),repeating-linear-gradient(62deg,transparent 0 24px,rgba(94,113,74,.52) 25px 29px,transparent 30px 48px);transform:rotate(-18deg)}.botanical--left{left:-90px;top:-30px}.botanical--right{right:-100px;top:-40px;transform:scaleX(-1) rotate(-18deg)}.watercolour-line{position:absolute;left:0;right:0;bottom:-8px;height:65px;background:linear-gradient(180deg,transparent,rgba(148,170,174,.18) 44%,rgba(255,255,255,.7));filter:blur(2px)}
.site-header{height:74px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 max(1.25rem,4vw);background:rgba(255,253,248,.94);border-bottom:1px solid rgba(70,60,43,.1);backdrop-filter:blur(12px)}.wordmark{font-size:2.25rem;color:var(--olive-dark);text-decoration:none;white-space:nowrap}.wordmark span{color:var(--terracotta)}.site-nav{display:flex;align-items:center;gap:clamp(.85rem,2vw,1.8rem)}.site-nav a{color:var(--ink);text-decoration:none;font-size:.77rem;text-transform:uppercase;letter-spacing:.055em;font-weight:600}.site-nav a:hover{color:var(--terracotta)}.site-nav .nav-rsvp{background:var(--terracotta);color:#fff;padding:.65rem 1rem;border-radius:6px}.menu-toggle{display:none;border:0;background:transparent;padding:.4rem}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--terracotta);margin:5px 0}
.section-wrap,.content-section{width:min(1160px,calc(100% - 2.4rem));margin-inline:auto}.logged-hero{padding:5rem 0 3rem;display:grid;grid-template-columns:1.1fr .9fr .85fr;gap:2rem;align-items:center;position:relative}.paper-card,.paper-photo{background:var(--paper);border:1px solid rgba(80,75,61,.09);box-shadow:var(--shadow);border-radius:10px}.paper-photo{padding:10px;transform:rotate(-2deg)}.paper-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.welcome-card,.invite-card{padding:clamp(1.5rem,3vw,2.5rem);text-align:center}.script-label{font-family:var(--script);font-size:clamp(2.3rem,4vw,3.5rem);line-height:1;color:var(--terracotta);margin:0 0 .65rem}.welcome-card h2,.invite-card h2,.location-copy h2,.section-heading h2,.contacts-column h2,.rsvp-inner h2{font-family:var(--serif);font-weight:400;line-height:1.35}.welcome-card h2{font-size:clamp(1.55rem,2.5vw,2.2rem)}.welcome-card p{font-family:var(--serif);font-size:.95rem}.invite-card{background:linear-gradient(180deg,#faf4e9,#f3eadb)}.invite-card p{margin:.35rem 0}.invite-card h2{color:var(--terracotta);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.5rem,2.5vw,2rem);margin:.4rem 0}.invite-card strong{display:block;margin-top:1rem;color:var(--olive-dark)}.sun-icon{font-size:2.4rem;color:var(--terracotta)}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--paper);border:1px solid rgba(70,60,43,.1);border-radius:12px;box-shadow:0 10px 30px rgba(70,60,43,.07);margin-bottom:5rem}.quick-facts>div{display:flex;align-items:center;gap:.8rem;padding:1.2rem 1.4rem;border-right:1px solid var(--line)}.quick-facts>div:last-child{border:0}.quick-facts>div>span{font-size:1.7rem;color:var(--olive)}.quick-facts p{margin:0}.quick-facts strong,.quick-facts small{display:block}.quick-facts strong{font-family:var(--serif);font-size:.9rem}.quick-facts small{color:#737267;font-size:.75rem}.countdown-mini{justify-content:center;text-align:center}.countdown-mini strong{font-size:1.7rem;color:var(--terracotta)}
.content-section{padding:5.5rem 0}.section-heading{text-align:center;max-width:700px;margin:0 auto 3rem}.section-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:.3rem 0}.planning-section{position:relative}.timeline{display:flex;justify-content:center;align-items:flex-start;gap:0}.timelineItem{flex:1;max-width:165px;text-align:center;position:relative;padding:0 .65rem}.timelineItem:after{content:"";position:absolute;top:38px;left:60%;width:80%;height:1px;background:var(--olive)}.timelineItem:last-child:after{display:none}.timeline-icon{width:52px;height:52px;margin:0 auto .65rem;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--olive);font-size:1.8rem;position:relative;z-index:2}.timelineItem time{display:block;color:var(--terracotta);font-weight:700;font-family:var(--serif);font-size:.85rem}.timelineItem strong,.timelineItem small{display:block}.timelineItem strong{font-family:var(--serif);font-size:.9rem;margin:.2rem 0}.timelineItem small{font-size:.7rem;color:#717166;line-height:1.4}.note{text-align:center;color:#777569;font-size:.82rem;margin-top:2rem}.location-section{padding:5.5rem 0;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,6rem);align-items:center}.location-photo{transform:rotate(2deg)}.location-copy h2{font-size:clamp(2rem,4vw,3.2rem);margin:.2rem 0 1rem}.location-copy p{max-width:600px}.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.button--outline{background:transparent;color:var(--olive-dark);border:1px solid var(--olive-dark)}.button--outline:hover{color:#fff}.menu-section{max-width:none;width:100%;background:#f5eee2;padding-inline:max(1.2rem,calc((100% - 1160px)/2));}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1160px;margin:auto}.menu-card{background:rgba(255,253,248,.86);padding:2rem 1.3rem;text-align:center;border:1px solid rgba(70,60,43,.09);border-radius:10px}.menu-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eee5d5;color:var(--terracotta);font-family:var(--serif)}.menu-card h3{font-family:var(--serif);font-weight:400}.menu-card p{font-size:.85rem;color:#706f65}.info-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.info-grid article{text-align:center;padding:1.8rem 1rem;background:var(--paper);border:1px solid rgba(70,60,43,.09);border-radius:10px;box-shadow:0 8px 24px rgba(70,60,43,.05)}.info-icon{width:34px;height:34px;fill:none;stroke:var(--olive-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin:0 auto .45rem;display:block}.info-grid h3{font-family:var(--serif);color:var(--terracotta);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.info-grid p{font-size:.78rem;line-height:1.6}.location-address{font-weight:600;color:var(--olive-dark);margin-top:-.35rem}.contacts-section{padding:5.5rem 0;display:grid;grid-template-columns:1fr auto 1fr;gap:3rem}.contacts-column{text-align:center}.contacts-column h2{font-size:1.65rem;margin:.2rem 0}.contacts-column>p:not(.script-label){font-family:var(--serif);font-size:.88rem;max-width:480px;margin:0 auto 1.5rem}.contacts-divider{align-self:center;color:var(--terracotta);font-size:2rem}.contact-list{display:grid;gap:.8rem}.contact-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;text-align:left;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid rgba(70,60,43,.1);border-radius:10px;padding:.85rem 1rem;transition:.2s}.contact-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(70,60,43,.08)}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eee4d8;color:var(--terracotta);font-family:var(--serif);font-size:1.2rem}.contact-card strong,.contact-card small{display:block}.contact-card small{color:#75736c}.contact-card b{color:var(--olive);font-size:.72rem;text-transform:uppercase}.rsvp-section{padding:5rem 1.2rem;background:linear-gradient(135deg,#f1e6d7,#f8f1e6);position:relative}.rsvp-inner{max-width:680px;margin:auto;text-align:center}.rsvp-inner h2{font-size:clamp(1.4rem,2.5vw,2rem)}.rsvp-form{display:grid;gap:.7rem;text-align:left;background:rgba(255,253,248,.82);padding:clamp(1.3rem,4vw,2.5rem);border-radius:12px;border:1px solid rgba(70,60,43,.09);margin-top:2rem}.rsvp-form label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.rsvp-form small{color:#77756d}.rsvp-form .button{margin-top:.7rem}.closing-section{padding:5rem 0;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:4rem}.closing-copy{text-align:center;font-family:var(--serif)}.closing-copy p{font-size:1.15rem}.closing-copy span{display:block;font-family:var(--script);font-size:3rem;color:var(--terracotta)}.closing-copy strong{font-family:var(--script);font-size:2.8rem;font-weight:400;color:var(--olive)}.plate-photo{margin:0;max-width:560px}.plate-photo img{width:100%;border-radius:14px;box-shadow:var(--shadow);transform:rotate(-2deg)}footer{padding:2rem;display:flex;justify-content:center;gap:1rem;color:#7b776c;border-top:1px solid var(--line)}footer span{font-family:var(--script);font-size:1.6rem;color:var(--olive)}footer small{align-self:center}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;max-width:680px}.site-header{height:66px}.menu-toggle{display:block}.site-nav{position:absolute;top:66px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--paper);padding:1rem 1.25rem 1.5rem;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08)}.site-nav.open{display:flex}.site-nav a{padding:.7rem}.site-nav .nav-rsvp{text-align:center}.logged-hero{grid-template-columns:1fr 1fr}.logged-hero__image{grid-column:1/-1;max-width:620px;margin:auto}.quick-facts{grid-template-columns:1fr 1fr}.quick-facts>div:nth-child(2){border-right:0}.quick-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.timelineItem{max-width:none}.timelineItem:after{display:none}.menu-grid{grid-template-columns:1fr 1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.contacts-section{grid-template-columns:1fr}.contacts-divider{transform:rotate(90deg)}.closing-section{grid-template-columns:1fr;gap:2rem}.plate-photo{margin:auto}.location-section{grid-template-columns:1fr}}
@media(max-width:820px){.intro-grid{grid-template-columns:1fr;max-width:560px}.video-frame{width:min(82vw,360px)}.gate-card{max-width:520px;width:100%;margin-inline:auto}}
@media(max-width:600px){.intro-hero{padding:2.2rem 1rem 3rem}.intro-copy h1{font-size:4.3rem}.intro-grid{margin-top:1.4rem;gap:1.4rem}.gate-card{padding:1.3rem}.botanical{width:150px;height:260px;opacity:.22}.video-frame{width:min(88vw,340px);border-width:4px;border-radius:18px}.wordmark{font-size:1.9rem}.section-wrap,.content-section{width:min(100% - 1.4rem,1160px)}.logged-hero{grid-template-columns:1fr;padding-top:2.5rem;gap:1.2rem}.welcome-card,.invite-card{padding:1.5rem}.quick-facts{grid-template-columns:1fr;margin-bottom:2.8rem}.quick-facts>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.quick-facts>div:last-child{border-bottom:0!important}.content-section,.location-section,.contacts-section{padding-top:3.6rem;padding-bottom:3.6rem}.timeline{grid-template-columns:1fr;gap:.2rem}.timelineItem{display:grid;grid-template-columns:60px 74px 1fr;text-align:left;align-items:center;padding:.7rem 0;border-bottom:1px solid rgba(70,60,43,.09)}.timeline-icon{margin:0}.timelineItem time{text-align:right;padding-right:10px;font-size:1rem}.timelineItem strong{margin:0}.timelineItem small{font-size:.76rem}.menu-grid,.info-grid{grid-template-columns:1fr}.menu-section{width:100%;padding-inline:.7rem}.contacts-section{gap:1.6rem}.contact-card{grid-template-columns:auto 1fr}.contact-card b{grid-column:2}.rsvp-section{padding-inline:.7rem}.rsvp-form{padding:1.2rem}.button-row{display:grid}.button-row>*{width:100%}.closing-section{padding-top:3.5rem}.plate-photo img{transform:none}footer{flex-direction:column;align-items:center;gap:0}.script-label{font-size:2.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Consistente lijniconen in de planning */
.timeline-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
}

/* ===== v5: refined post-login design ===== */
:root{--cream:#fbf7ef;--paper:#fffdf8;--ink:#2f4638;--olive:#758064;--olive-dark:#2f4a39;--terracotta:#c96e47;--sand:#eee4d6;--line:#ded4c5;--shadow:0 18px 48px rgba(74,61,42,.10)}
body{background:
 radial-gradient(circle at 15% 12%,rgba(211,180,150,.08),transparent 25rem),
 radial-gradient(circle at 88% 8%,rgba(120,137,101,.07),transparent 24rem),
 var(--cream)}
#protected{background:linear-gradient(180deg,#fffdf8 0,#fbf7ef 45%,#f8f1e7 100%)}
.site-header{height:82px;padding:0 max(1rem,3vw);background:rgba(255,253,248,.92);border-bottom:1px solid rgba(84,74,56,.08);box-shadow:0 8px 30px rgba(62,52,39,.04)}
.wordmark{font-family:var(--script);font-size:2.45rem;line-height:1;display:flex;align-items:center;gap:.15rem}
.wordmark .monogram-s{color:var(--olive-dark)}.wordmark .monogram-c{color:var(--terracotta);margin-left:-.16em}.wordmark .leaf{font-family:var(--serif);font-size:.7rem;color:#929b7c;margin:0 .08rem}
.site-nav a{font-family:var(--serif);font-size:.72rem;letter-spacing:.16em;font-weight:400}.site-nav .nav-rsvp{border-radius:999px;padding:.65rem 1.2rem;background:var(--terracotta)}
.logged-hero{padding:clamp(3rem,7vw,6.5rem) 0 3.5rem;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);max-width:1060px}
.logged-hero:before,.logged-hero:after{content:"";position:absolute;width:210px;height:250px;opacity:.32;pointer-events:none;background:
 radial-gradient(ellipse at 30% 20%,rgba(135,147,111,.85) 0 7%,transparent 8%),
 radial-gradient(ellipse at 68% 38%,rgba(162,173,136,.8) 0 6%,transparent 7%),
 repeating-linear-gradient(55deg,transparent 0 24px,rgba(112,126,91,.52) 25px 28px,transparent 29px 48px)}
.logged-hero:before{left:-12vw;top:0;transform:rotate(-18deg)}.logged-hero:after{right:-12vw;top:1rem;transform:scaleX(-1) rotate(-18deg)}
.logged-hero__image{grid-row:1 / span 2;align-self:stretch;transform:rotate(-1.5deg);padding:12px;border-radius:16px}.logged-hero__image img{height:100%;min-height:470px;aspect-ratio:auto;object-fit:cover;border-radius:10px}
.paper-card,.paper-photo{border-radius:18px;border:1px solid rgba(91,77,56,.08);box-shadow:var(--shadow)}
.welcome-card,.invite-card{padding:clamp(2rem,4vw,3.2rem)}
.welcome-card{text-align:left;position:relative}.welcome-card:after{content:"";display:block;width:86px;height:1px;background:var(--olive);margin:1.5rem 0 0}.welcome-card .script-label{font-size:3.2rem}.welcome-card h2{font-size:clamp(2rem,4vw,3.4rem);margin:.25rem 0 1rem}.welcome-card p{font-size:1rem;line-height:1.9}
.invite-card{background:linear-gradient(145deg,#fffdf8,#f4ecdf);position:relative;overflow:hidden}.invite-card:after{content:"";position:absolute;right:-45px;bottom:-55px;width:150px;height:150px;border:1px solid rgba(117,128,100,.16);border-radius:50%}.invite-card h2{font-size:clamp(1.9rem,3vw,2.65rem)}
.sun-icon{font-size:2.8rem}.mini-flourish{font-size:0}.mini-flourish:before{content:"S C";font-family:var(--script);font-size:2rem;letter-spacing:-.12em;color:var(--olive-dark)}.mini-flourish:after{content:"  ·  ";color:var(--terracotta)}
.quick-facts{max-width:1060px;margin-bottom:4rem;border-radius:18px;overflow:hidden}.quick-facts>div{padding:1.35rem 1.5rem}.quick-facts>div>span{font-family:var(--serif);color:var(--terracotta)}
.content-section{padding:clamp(4.5rem,8vw,7rem) 0}.section-heading{margin-bottom:3.5rem}.section-heading .script-label{font-size:3.2rem}.section-heading h2{font-size:clamp(2rem,4vw,3.15rem)}
.planning-section{background:rgba(255,253,248,.62);width:min(1180px,calc(100% - 2rem));padding-inline:clamp(1rem,3vw,2.5rem);border:1px solid rgba(88,74,54,.07);border-radius:24px;box-shadow:0 18px 55px rgba(70,58,40,.06)}
.timeline-icon{background:#fffaf1;border:1px solid rgba(117,128,100,.22)}.timeline-icon svg,.info-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.timelineItem:after{background:linear-gradient(90deg,var(--olive),rgba(117,128,100,.2))}.timelineItem time{font-size:.92rem}.timelineItem strong{font-size:1rem}.timelineItem small{font-size:.76rem}
.location-section{max-width:1060px}.location-photo{transform:rotate(1.2deg);border-radius:20px}.location-copy{padding:1rem}.location-copy .script-label{font-size:3.2rem}.location-copy h2{font-size:clamp(2.4rem,5vw,4rem)}
.menu-section{background:linear-gradient(180deg,#f6efe4,#f1e7d8);position:relative}.menu-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 18%,rgba(117,128,100,.08),transparent 28rem),radial-gradient(circle at 92% 85%,rgba(201,110,71,.06),transparent 24rem);pointer-events:none}.menu-grid{position:relative}.menu-card{border-radius:18px;padding:2.3rem 1.5rem;background:rgba(255,253,248,.78);box-shadow:0 12px 30px rgba(70,58,40,.05)}
.practical-section{max-width:1100px}.info-grid{gap:1.25rem}.info-grid article{background:rgba(255,253,248,.82);border:1px solid rgba(88,74,54,.08);border-radius:18px;padding:2rem 1.2rem;box-shadow:0 12px 32px rgba(70,58,40,.05)}.info-icon{width:32px;height:32px;color:var(--olive-dark)}
.contacts-section{max-width:1060px;border-radius:24px;background:rgba(255,253,248,.7);border:1px solid rgba(88,74,54,.08);padding:clamp(2rem,5vw,4rem);box-shadow:var(--shadow)}
.contact-card{border-radius:14px;background:#fffdf8}.contact-card b{color:var(--terracotta)}
.rsvp-section{background:linear-gradient(180deg,#f3e8d9,#eee1d0);padding:clamp(5rem,9vw,8rem) 1.2rem}.rsvp-inner{max-width:760px;background:rgba(255,253,248,.84);border:1px solid rgba(88,74,54,.08);border-radius:24px;padding:clamp(2rem,5vw,4rem);box-shadow:var(--shadow)}
.closing-section{max-width:1060px}.plate-photo{background:transparent}.closing-copy strong{font-family:var(--script);font-size:3rem;font-weight:400;color:var(--olive-dark)}
footer{background:#f4ecdf;border-top:1px solid rgba(88,74,54,.08)}footer span{font-family:var(--script);font-size:2.5rem;color:var(--olive-dark)}
@media(max-width:900px){.logged-hero{grid-template-columns:1fr;max-width:680px}.logged-hero__image{grid-row:auto}.logged-hero__image img{min-height:380px}.welcome-card{text-align:center}.welcome-card:after{margin-inline:auto}.quick-facts{grid-template-columns:repeat(2,1fr)}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.timelineItem{max-width:none;text-align:left;display:grid;grid-template-columns:54px 64px 1fr;align-items:center;padding:0}.timelineItem:after{display:none}.timeline-icon{margin:0}.timelineItem time{text-align:right;padding-right:10px;font-size:1rem}.location-section{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.site-header{height:68px}.wordmark{font-size:2rem}.logged-hero{padding-top:2.25rem;width:min(100% - 1.2rem,560px)}.logged-hero:before,.logged-hero:after{display:none}.logged-hero__image img{min-height:0;aspect-ratio:4/5}.welcome-card,.invite-card{padding:1.7rem}.welcome-card h2{font-size:2.25rem}.quick-facts{grid-template-columns:1fr;width:calc(100% - 1.2rem)}.quick-facts>div{border-right:0;border-bottom:1px solid var(--line)}.timeline{grid-template-columns:1fr}.planning-section{width:calc(100% - 1rem);border-radius:18px}.timelineItem{grid-template-columns:50px 58px 1fr}.menu-grid,.info-grid{grid-template-columns:1fr}.contacts-section{width:calc(100% - 1rem);border-radius:18px}.section-wrap,.content-section{width:min(100% - 1.2rem,1160px)}.location-copy{text-align:center}.button-row{justify-content:center}}

/* ===== v6: one continuous visual experience before and after login ===== */
body{
  background:
    radial-gradient(circle at 50% -10%,rgba(255,255,255,.95),transparent 34rem),
    linear-gradient(180deg,#fffdf8 0%,#fbf7ef 48%,#f7efe4 100%);
}
.intro-shell,#protected{background:transparent}
.intro-shell{transition:opacity .5s ease,transform .65s cubic-bezier(.22,.75,.2,1),filter .5s ease;transform-origin:50% 38%}
.intro-shell.intro-exit{opacity:0;transform:translateY(-22px) scale(.985);filter:blur(5px);pointer-events:none}
.intro-hero{padding-top:clamp(2.1rem,4vw,4rem);isolation:isolate}
.intro-hero:before,.intro-hero:after{content:"";position:absolute;z-index:0;pointer-events:none;opacity:.22;filter:blur(.3px)}
.intro-hero:before{left:-4vw;top:8rem;width:40vw;height:26rem;background:radial-gradient(ellipse at 30% 55%,rgba(125,151,157,.22),transparent 58%),linear-gradient(160deg,transparent 30%,rgba(127,149,151,.16) 31% 35%,transparent 36%);clip-path:polygon(0 28%,25% 12%,50% 32%,72% 6%,100% 30%,100% 100%,0 100%)}
.intro-hero:after{right:-6vw;top:9rem;width:40vw;height:25rem;background:radial-gradient(ellipse at 60% 58%,rgba(125,151,157,.2),transparent 60%),linear-gradient(200deg,transparent 30%,rgba(127,149,151,.14) 31% 35%,transparent 36%);clip-path:polygon(0 32%,24% 8%,52% 31%,76% 12%,100% 30%,100% 100%,0 100%)}
.botanical{width:260px;height:320px;opacity:.56;filter:none;background:none}
.botanical:before,.botanical:after{content:"";position:absolute;inset:0}
.botanical:before{background:linear-gradient(72deg,transparent 47%,rgba(83,96,63,.66) 48% 49.2%,transparent 50%),radial-gradient(ellipse at 35% 18%,rgba(105,119,79,.72) 0 7%,transparent 7.7%),radial-gradient(ellipse at 48% 31%,rgba(105,119,79,.66) 0 8%,transparent 8.7%),radial-gradient(ellipse at 60% 43%,rgba(105,119,79,.62) 0 7%,transparent 7.7%),radial-gradient(ellipse at 72% 57%,rgba(105,119,79,.58) 0 8%,transparent 8.7%),radial-gradient(ellipse at 83% 70%,rgba(105,119,79,.54) 0 7%,transparent 7.7%)}
.botanical:after{background:radial-gradient(ellipse at 45% 26%,rgba(135,116,70,.72) 0 4.7%,transparent 5.4%),radial-gradient(ellipse at 68% 51%,rgba(151,127,75,.66) 0 4.8%,transparent 5.5%),radial-gradient(ellipse at 78% 64%,rgba(119,105,65,.58) 0 4.2%,transparent 5%)}
.botanical--left{left:-58px;top:-42px;transform:rotate(-17deg)}
.botanical--right{right:-58px;top:-42px;transform:scaleX(-1) rotate(-17deg)}
.intro-copy{max-width:980px;margin-inline:auto}
.intro-copy h1{font-size:clamp(4.5rem,9vw,8rem);margin-top:.5rem}
.intro-subtitle{margin-top:1.15rem}
.intro-monogram{height:48px;display:flex;align-items:center;justify-content:center;margin:.4rem auto 0;font-family:var(--script);font-size:2.65rem;letter-spacing:-.22em;position:relative;width:88px}
.intro-monogram:before,.intro-monogram:after{content:"";width:18px;height:7px;border-top:1px solid rgba(104,116,81,.6);border-radius:50%;position:absolute;top:25px}
.intro-monogram:before{left:0;transform:rotate(16deg)}.intro-monogram:after{right:0;transform:rotate(-16deg)}
.intro-monogram .mono-s{color:var(--olive-dark);z-index:1}.intro-monogram .mono-c{color:var(--terracotta);z-index:2;margin-left:.05em}
.intro-grid{margin-top:1.5rem;grid-template-columns:minmax(280px,360px) minmax(330px,500px);gap:clamp(2rem,6vw,5rem)}
.video-card,.gate-card{position:relative}
.video-card .section-label,.gate-card .section-label{letter-spacing:.02em}
.video-frame{border-color:rgba(255,253,248,.98);box-shadow:0 22px 60px rgba(67,57,42,.14)}
.gate-card{background:rgba(255,253,248,.82);border:1px solid rgba(84,74,56,.09);box-shadow:0 20px 55px rgba(70,58,40,.08);transition:transform .25s ease,opacity .25s ease}
.gate-card:after{content:"S C";display:block;margin:1.35rem auto 0;font-family:var(--script);font-size:2.1rem;letter-spacing:-.14em;color:var(--olive-dark)}
.gate-card.is-confirmed{transform:scale(.98);opacity:.5}
.code-form input{background:rgba(255,255,255,.72);border-color:rgba(84,74,56,.2);text-align:center;letter-spacing:.11em;text-transform:uppercase}
.watercolour-line{height:90px;background:linear-gradient(180deg,transparent,rgba(127,149,151,.08) 55%,rgba(255,253,248,.85));filter:blur(4px)}
#protected.app-reveal{opacity:0;transform:translateY(28px);filter:blur(5px)}
#protected.app-visible{animation:protectedIn .7s cubic-bezier(.22,.75,.2,1) both}
@keyframes protectedIn{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.page-transition{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(251,247,239,.96);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;pointer-events:none}
.page-transition.is-active{opacity:1;visibility:visible;transition:opacity .25s ease}
.transition-monogram{font-family:var(--script);font-size:4rem;letter-spacing:-.22em;animation:monogramPulse 1s ease-in-out infinite alternate}
.transition-monogram span:first-child{color:var(--olive-dark)}.transition-monogram span:last-child{color:var(--terracotta)}
@keyframes monogramPulse{from{transform:scale(.94);opacity:.72}to{transform:scale(1.02);opacity:1}}
.site-header{background:rgba(255,253,248,.9)}
#protected:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 8% 11%,rgba(104,116,81,.055),transparent 22rem),radial-gradient(circle at 94% 19%,rgba(201,111,75,.045),transparent 20rem)}
@media(max-width:820px){.intro-hero:before,.intro-hero:after{width:62vw;height:19rem;top:10rem;opacity:.15}.intro-grid{gap:1.8rem}.gate-card{margin-bottom:1rem}}
@media(max-width:600px){.intro-hero{padding-top:1.55rem}.intro-copy h1{font-size:4rem}.botanical{width:125px;height:180px;opacity:.4}.botanical--left{left:-42px;top:-28px}.botanical--right{right:-42px;top:-28px}.intro-hero:before,.intro-hero:after{display:none}.intro-monogram{margin-top:.15rem}.intro-grid{margin-top:1rem}.video-frame{width:min(82vw,315px)}.gate-card{border-radius:18px}.page-transition .transition-monogram{font-size:3.4rem}}
@media(prefers-reduced-motion:reduce){.intro-shell,#protected,.page-transition,.transition-monogram{animation:none!important;transition:none!important}}

/* v7: minimal Mediterranean accent on the intro only */
.intro-hero{
  background:
    linear-gradient(180deg,rgba(255,253,248,.3),rgba(251,247,239,.12)),
    url('assets/lake-watercolor.svg') center 8.2rem / 100% 31rem no-repeat;
}
.intro-hero:before,.intro-hero:after{display:none!important}
.botanical{
  width:clamp(170px,22vw,340px);
  height:clamp(145px,18vw,280px);
  opacity:.72;
  background:url('assets/olive-branch.svg') center/contain no-repeat!important;
  filter:none;
}
.botanical:before,.botanical:after{display:none!important}
.botanical--left{left:-3.5rem;top:-1.5rem;transform:none}
.botanical--right{right:-3.5rem;top:-1.5rem;transform:scaleX(-1)}
.intro-copy{padding-top:.25rem}
.intro-grid{margin-top:2rem}
.watercolour-line{height:58px;background:linear-gradient(180deg,transparent,rgba(237,230,218,.45));filter:none}
@media(max-width:820px){
  .intro-hero{background-position:center 8.4rem;background-size:auto 23rem}
  .botanical{width:190px;height:160px;opacity:.58}
  .botanical--left{left:-4.2rem;top:-1.2rem}.botanical--right{right:-4.2rem;top:-1.2rem}
}
@media(max-width:600px){
  .intro-hero{background-position:center 7.6rem;background-size:auto 17rem}
  .botanical{width:138px;height:118px;opacity:.5}
  .botanical--left{left:-3.4rem;top:-1rem}.botanical--right{right:-3.4rem;top:-1rem}
  .intro-grid{margin-top:1.25rem}
}

/* v8: closer match to the approved minimal Mediterranean intro */
.intro-hero{
  background:
    linear-gradient(180deg,rgba(255,253,248,.68) 0%,rgba(251,247,239,.32) 52%,rgba(251,247,239,.72) 100%),
    url('assets/lake-watercolor.svg') center 13.5rem / 100% 25rem no-repeat;
}
.botanical{
  width:clamp(210px,23vw,390px);
  height:clamp(110px,13vw,210px);
  opacity:.72;
}
.botanical--left{left:-1.2rem;top:-.3rem;transform:none}
.botanical--right{right:-1.2rem;top:-.3rem;transform:scaleX(-1)}
.intro-copy{padding-top:.8rem}
.intro-grid{margin-top:2.5rem}
@media(max-width:820px){
  .intro-hero{background-position:center 12.5rem;background-size:auto 20rem}
  .botanical{width:210px;height:120px;opacity:.6}
  .botanical--left{left:-2.2rem;top:-.25rem}.botanical--right{right:-2.2rem;top:-.25rem}
}
@media(max-width:600px){
  .intro-hero{background-position:center 10.5rem;background-size:auto 15rem}
  .botanical{width:145px;height:86px;opacity:.52}
  .botanical--left{left:-1.8rem;top:-.2rem}.botanical--right{right:-1.8rem;top:-.2rem}
  .intro-copy{padding-top:.25rem}
}

/* v9: logged-in design refresh only — content and behaviour unchanged */
#protected{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,253,248,.96) 0,rgba(251,247,239,.98) 48rem,#fbf7ef 100%);
}

/* Remove the former abstract corner pattern from the logged-in hero. */
.logged-hero:before,
.logged-hero:after{
  display:none!important;
  content:none!important;
}

/* Calm Mediterranean-style welcome background, used decoratively only. */
#welcome{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(3.25rem,7vw,6.5rem) max(1.2rem,calc((100% - 1120px)/2)) clamp(3rem,6vw,5rem);
  display:grid;
  grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);
  grid-template-rows:auto auto;
  gap:clamp(1.35rem,3vw,2.4rem);
  align-items:center;
  isolation:isolate;
  background:
    url('assets/olive-branch.svg') left -68px top -54px/250px auto no-repeat,
    url('assets/olive-branch.svg') right -68px top -54px/250px auto no-repeat,
    url('assets/lake-watercolor.svg') center top 3.2rem/cover 30rem no-repeat,
    linear-gradient(180deg,rgba(255,253,248,.65),rgba(251,247,239,.93));
}
#welcome:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,253,248,.12),rgba(255,253,248,.54) 52%,rgba(251,247,239,.92));
}

.logged-hero__image{
  grid-row:1 / span 2;
  align-self:stretch;
  padding:10px;
  border-radius:22px;
  transform:rotate(-.7deg);
  background:rgba(255,253,248,.84);
  border:1px solid rgba(87,78,59,.10);
  box-shadow:0 20px 55px rgba(70,60,43,.11);
  backdrop-filter:blur(4px);
}
.logged-hero__image img{
  width:100%;
  height:100%;
  min-height:520px;
  border-radius:15px;
  object-fit:cover;
}

#welcome .paper-card{
  border-radius:22px;
  border:1px solid rgba(87,78,59,.09);
  background:rgba(255,253,248,.82);
  box-shadow:0 18px 48px rgba(70,60,43,.075);
  backdrop-filter:blur(7px);
}
#welcome .welcome-card{
  text-align:center;
  padding:clamp(2rem,4vw,3.4rem);
}
#welcome .welcome-card:after{
  width:76px;
  margin:1.45rem auto 0;
  background:linear-gradient(90deg,transparent,var(--olive),transparent);
}
#welcome .welcome-card .script-label{
  color:var(--terracotta);
  font-size:clamp(2.65rem,5vw,4rem);
}
#welcome .welcome-card h2{
  color:var(--olive-dark);
  font-size:clamp(2.25rem,4.6vw,4rem);
  margin:.25rem 0 1.15rem;
}
#welcome .welcome-card p{
  max-width:560px;
  margin-inline:auto;
  line-height:1.85;
}
#welcome .invite-card{
  padding:clamp(1.8rem,3.4vw,2.8rem);
  background:rgba(255,253,248,.74);
  text-align:center;
}
#welcome .invite-card h2{
  color:var(--terracotta);
  letter-spacing:.07em;
}
#welcome .invite-card strong{
  color:var(--olive-dark);
}
#welcome .sun-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width:72px;
  height:72px;
  margin-bottom:.4rem;
  border-radius:50%;
  color:var(--terracotta);
  background:rgba(201,110,71,.07);
}

.quick-facts{
  margin-top:0;
  margin-bottom:clamp(3.4rem,7vw,6rem);
  border-radius:20px;
  border:1px solid rgba(87,78,59,.08);
  background:rgba(255,253,248,.84);
  box-shadow:0 16px 42px rgba(70,60,43,.07);
}
.quick-facts>div{
  border-color:rgba(117,128,100,.22);
}

/* Match the approved calm card language throughout the existing sections. */
.planning-section,
.contacts-section,
.rsvp-section{
  border-radius:26px;
  border:1px solid rgba(87,78,59,.07);
  background:rgba(255,253,248,.72);
  box-shadow:0 18px 48px rgba(70,60,43,.055);
}
.planning-section{
  width:min(1160px,calc(100% - 2.4rem));
  padding-inline:clamp(1rem,4vw,3.5rem);
}
.location-section{
  position:relative;
  border-radius:26px;
  padding-inline:clamp(1.2rem,4vw,3.6rem);
  background:rgba(255,253,248,.72);
  border:1px solid rgba(87,78,59,.07);
  box-shadow:0 18px 48px rgba(70,60,43,.055);
}
.menu-section{
  background:linear-gradient(180deg,rgba(245,238,226,.74),rgba(251,247,239,.92));
  border-top:1px solid rgba(87,78,59,.06);
  border-bottom:1px solid rgba(87,78,59,.06);
}
.menu-card,
.info-grid article,
.contact-card,
.rsvp-form{
  border-radius:18px;
  border-color:rgba(87,78,59,.08);
  box-shadow:0 12px 34px rgba(70,60,43,.045);
}
.section-heading .script-label,
.location-copy .script-label,
.contacts-column .script-label,
.rsvp-inner .script-label{
  color:var(--terracotta);
}
.section-heading h2,
.location-copy h2,
.contacts-column h2,
.rsvp-inner h2{
  color:var(--olive-dark);
}

@media(max-width:900px){
  #welcome{
    grid-template-columns:1fr;
    max-width:none;
    background-size:190px auto,190px auto,auto 22rem,auto;
    background-position:left -70px top -45px,right -70px top -45px,center top 3.5rem,center;
  }
  .logged-hero__image{
    grid-row:auto;
    width:min(620px,100%);
    margin-inline:auto;
  }
  .logged-hero__image img{min-height:0;aspect-ratio:4/3}
  #welcome .welcome-card,#welcome .invite-card{width:min(680px,100%);margin-inline:auto}
}

@media(max-width:600px){
  #welcome{
    padding:2.4rem .7rem 2.5rem;
    gap:1rem;
    background-size:135px auto,135px auto,auto 15rem,auto;
    background-position:left -54px top -38px,right -54px top -38px,center top 4rem,center;
  }
  .logged-hero__image{border-radius:18px;padding:6px;transform:none}
  .logged-hero__image img{border-radius:13px;aspect-ratio:4/5}
  #welcome .paper-card{border-radius:18px}
  #welcome .welcome-card,#welcome .invite-card{padding:1.55rem 1.25rem}
  #welcome .welcome-card .script-label{font-size:2.75rem}
  #welcome .welcome-card h2{font-size:2.25rem}
  .planning-section,.location-section,.contacts-section,.rsvp-section{border-radius:18px}
}

/* v10: review updates — layout/content presentation only */
.video-frame video{
  object-fit:cover;
  transform:scale(1.012);
  transform-origin:center;
  background:transparent;
}

#welcome{
  grid-template-rows:auto auto auto;
}
.logged-hero__image{
  grid-row:1 / span 3;
}
.wedding-summary-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.45rem clamp(1.5rem,3vw,2.4rem);
  text-align:left;
}
.wedding-summary-card .script-label{
  margin:0;
  color:var(--terracotta);
  font-size:clamp(2.15rem,4vw,3rem);
  line-height:1;
}
.wedding-summary-card h2{
  margin:.2rem 0 0;
  color:var(--olive-dark);
  font-size:clamp(1.35rem,2.6vw,2rem);
}
.wedding-countdown{
  min-width:132px;
  text-align:center;
  padding-left:1.5rem;
  border-left:1px solid rgba(104,116,81,.22);
}
.wedding-countdown strong{
  display:block;
  color:var(--terracotta);
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
}
.wedding-countdown span{
  display:block;
  margin-top:.35rem;
  color:#77736a;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#welcome .invite-card p{
  margin-top:.55rem;
}
#welcome .invite-card strong{
  display:block;
  margin-top:1.1rem;
  font-size:1rem;
}
.parking-note{
  margin-top:1.15rem;
  padding:.85rem 1rem;
  border-left:3px solid rgba(201,111,75,.72);
  background:rgba(255,253,248,.58);
  border-radius:0 10px 10px 0;
}
.info-grid--compact{
  grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);
  max-width:1060px;
  margin-inline:auto;
}
.info-grid--compact.single-card{
  grid-template-columns:minmax(0,680px);
  justify-content:center;
}
.info-grid--compact.single-card article{
  width:100%;
}
.info-grid--compact article{
  text-align:left;
  padding:clamp(1.6rem,3vw,2.4rem);
}
.info-grid--compact .info-icon{
  margin-inline:0;
}
.info-grid--compact h3{
  text-align:left;
}
.info-grid--compact p{
  font-size:.9rem;
  line-height:1.75;
}
.overnight-info-card p + p{
  margin-top:.9rem;
}
.overnight-times{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.35rem 1.2rem;
  margin-top:1.25rem;
  padding-top:1rem;
  border-top:1px solid rgba(104,116,81,.18);
}
.overnight-times strong{color:var(--olive-dark)}
.overnight-times span{color:var(--terracotta);font-weight:700}

@media(max-width:900px){
  .logged-hero__image{grid-row:auto}
  .wedding-summary-card{width:min(680px,100%);margin-inline:auto}
  .info-grid--compact{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wedding-summary-card{padding:1.35rem 1.25rem}
  .wedding-countdown{min-width:105px;padding-left:1rem}
  .wedding-countdown span{font-size:.65rem}
  .info-grid--compact article{padding:1.45rem 1.2rem}
}

/* v11-svb: responsive intro/login screen fix */
html, body {
  max-width: 100%;
  overflow-x: clip;
}

.intro-shell,
.intro-hero,
.intro-copy,
.intro-grid,
.video-card,
.gate-card {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 820px) {
  .intro-shell {
    min-height: 100svh;
  }

  .intro-hero {
    min-height: 100svh;
    width: 100%;
    padding: 1.6rem max(1rem, env(safe-area-inset-left)) 2.5rem;
  }

  .intro-copy {
    width: 100%;
    padding-inline: .15rem;
  }

  .intro-copy h1 {
    width: 100%;
    font-size: clamp(3rem, 15vw, 5.4rem);
    line-height: .82;
    white-space: normal;
    overflow-wrap: normal;
  }

  .intro-subtitle {
    margin-top: 1rem;
  }

  .intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 540px);
    max-width: 100%;
    margin: 1.35rem auto 0;
    gap: 1.5rem;
    padding: 0;
  }

  .video-card,
  .gate-card {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .video-frame {
    width: min(100%, 340px);
    max-width: calc(100vw - 2rem);
  }

  .gate-card {
    padding: clamp(1.3rem, 5vw, 2rem);
  }

  .code-form,
  .code-form input,
  .code-form button {
    min-width: 0;
    width: 100%;
  }

  .code-form input {
    font-size: 16px;
    letter-spacing: .06em;
  }
}

@media (max-width: 480px) {
  .intro-hero {
    padding: 1.25rem .85rem 2.25rem;
    background-position: center 8.5rem;
    background-size: auto 13rem;
  }

  .intro-copy .eyebrow {
    font-size: .66rem;
    letter-spacing: .23em;
  }

  .intro-copy h1 {
    font-size: clamp(2.75rem, 14.5vw, 4rem);
    margin-top: .45rem;
  }

  .intro-subtitle {
    font-size: 1rem;
    margin-bottom: 0;
  }

  .intro-monogram {
    transform: scale(.88);
    margin-top: -.05rem;
  }

  .intro-grid {
    margin-top: .9rem;
    gap: 1.2rem;
  }

  .video-card .section-label,
  .gate-card .section-label {
    font-size: .85rem;
  }

  .video-card h2,
  .gate-card h2 {
    font-size: 1.75rem;
    margin-bottom: .8rem;
  }

  .video-frame {
    width: min(88vw, 310px);
    border-width: 4px;
    border-radius: 18px;
  }

  .gate-card {
    width: 100%;
    border-radius: 18px;
    padding: 1.35rem 1rem;
  }

  .gate-card > p:not(.section-label, .privacy-note) {
    font-size: .92rem;
  }

  .privacy-note {
    font-size: .72rem;
  }

  .botanical {
    width: 112px;
    height: 72px;
    opacity: .38;
  }

  .botanical--left {
    left: -26px;
    top: -4px;
  }

  .botanical--right {
    right: -26px;
    top: -4px;
  }
}

/* Mobile timeline spacing */
@media (max-width: 680px) {
  .timelineItem {
    grid-template-columns: 52px 94px minmax(0, 1fr);
    column-gap: 18px;
  }

  .timelineItem time {
    width: 94px;
    padding-right: 0;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
  }
}

@media (max-width: 390px) {
  .timelineItem {
    grid-template-columns: 50px 95px minmax(0, 1fr);
    column-gap: 20px;
  }

  .timelineItem time {
    width: 95px;
  }
}
