/* Mesekönyv · krém papír, púderkék, zsályazöld, halvány arany. Pop-up könyv vászonkötésben, akvarelles kivágott rétegekkel. */

@font-face{font-family:'Vollkorn';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/vollkorn.woff2) format('woff2')}
@font-face{font-family:'Vollkorn';font-style:italic;font-weight:400 500;font-display:swap;src:url(fonts/vollkorn-italic.woff2) format('woff2')}
@font-face{font-family:'Corinthia';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/corinthia.woff2) format('woff2')}

:root{
  --paper:#f4ecdb;
  --paper-2:#efe5cf;
  --paper-3:#e6d9bd;
  --table:#e9e1d0;
  --ink:#33362c;
  --muted:#5f6253;
  --sage:#8aa283;
  --sage-deep:#4f6a4e;
  --sage-pale:#c6d0b4;
  --sky:#a3bfd6;
  --sky-deep:#5d7c98;
  --gold:#c49a52;
  --gold-2:#e6cd91;
  --gold-deep:#8d6a2e;
  --cloth:#4f6650;
  --cloth-2:#3f5441;
  --serif:'Vollkorn','Iowan Old Style',Georgia,serif;
  --script:'Corinthia','Snell Roundhand',cursive;
  --ease:cubic-bezier(.2,.7,.2,1);
  --bk-edit:rgba(79,106,78,.7);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper)}
body{margin:0;min-height:100vh;color:var(--ink);font:400 1.125rem/1.65 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--paper);
  font-variant-numeric:oldstyle-nums proportional-nums}
body.locked{overflow:hidden;height:100svh;touch-action:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sage-deep);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
::selection{background:rgba(163,191,214,.5)}
.mk-defs{position:absolute;width:0;height:0;overflow:hidden}

/* ───────────── Fejléc: az asztal és a pop-up könyv ───────────── */
.hero{position:relative;height:100svh;min-height:420px;overflow:clip;isolation:isolate;touch-action:pan-y;
  background:
    radial-gradient(60% 45% at 50% 30%,rgba(255,250,236,.85),transparent 70%),
    radial-gradient(140% 100% at 50% 40%,#efe8d8 0%,#e5dcc9 60%,#d8cdb6 100%)}
/* Vászon terítő: finom, nem ismétlődő szálak */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .35' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .28 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero::after{content:"";position:absolute;z-index:45;left:0;right:0;bottom:-1px;height:16px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='16'%3E%3Cpath d='M0 16 L0 7.6 L8 8.0 L14 6.4 L20 7.8 L26 10.5 L34 6.2 L46 8.1 L54 6.5 L66 6.3 L72 10.7 L78 8.9 L90 6.2 L98 6.2 L106 7.4 L114 8.7 L124 8.8 L132 6.5 L140 7.9 L146 8.8 L154 8.5 L166 9.9 L178 8.9 L190 7.8 L198 10.0 L206 6.4 L216 8.6 L226 9.6 L236 9.0 L242 6.6 L254 6.8 L264 6.8 L276 8.1 L282 9.8 L300 7.6 L300 16Z' fill='%23f4ecdb'/%3E%3C/svg%3E") repeat-x 0 100%/300px 16px;filter:drop-shadow(0 -2px 2px rgba(80,60,30,.13))}
.hero.is-opening{touch-action:none}
.stage{position:absolute;inset:0;pointer-events:none}
.pl{position:absolute;left:0;top:0;transform-origin:0 0;backface-visibility:visible}
.is-opening .pl{will-change:transform}

.table-shadow{background:radial-gradient(50% 50% at 50% 50%,rgba(62,48,28,.42) 0%,rgba(62,48,28,.2) 45%,rgba(62,48,28,0) 72%)}
/* Vászonkötés: zsályazöld vászon, a szélén aranyozott vonal */
.board{border-radius:12px;background-color:var(--cloth);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1 .5' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .9 0 0 0 0 .95 0 0 0 0 .85 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(160deg,rgba(255,255,255,.08),rgba(0,0,0,.12));
  box-shadow:inset 0 0 0 1px rgba(20,30,20,.35),inset 0 0 0 8px var(--cloth),inset 0 0 0 9.5px rgba(214,178,104,.85),inset 0 0 22px rgba(10,20,10,.35)}
.cover-out{display:none;position:absolute;inset:0;transform:scaleY(-1)}
.stage:not(.is-front) .back-board .cover-out{display:block}
.emblem{position:absolute;inset:5%;width:90%;height:90%;filter:drop-shadow(0 1px 0 rgba(20,30,20,.45))}
/* Aranyozott lapél */
.page-edge{background:repeating-linear-gradient(to bottom,rgba(120,86,30,.25) 0 1px,transparent 1px 3px),linear-gradient(to bottom,#f4e2a8,#c99d50 60%,#a77e3a)}
.page{background-color:var(--paper);background-repeat:no-repeat;background-size:cover}
.floor{background-image:url(kepek/ut.webp);background-position:50% 0}
.sky{background-image:url(kepek/egbolt.webp);background-position:50% 100%}
.page::after{content:"";position:absolute;inset:22px;border:2px solid rgba(196,154,82,.55);outline:1px solid rgba(196,154,82,.35);outline-offset:-7px;pointer-events:none}
.floor::after{border-top:0;outline:0}
.sky::after{border-bottom:0;outline:0}
.gutter{position:absolute;left:0;right:0;height:9%;pointer-events:none}
.floor .gutter{top:0;background:linear-gradient(to bottom,rgba(52,44,26,.34),rgba(52,44,26,0))}
.sky .gutter{bottom:0;background:linear-gradient(to top,rgba(52,44,26,.3),rgba(52,44,26,0))}
.sky>.tn{position:absolute;inset:0;background:#2e3324;opacity:var(--sh,0)}
.cast{background:linear-gradient(to bottom,rgba(58,50,30,0),rgba(58,50,30,.34));opacity:var(--cast,0)}

/* Kivágott rétegek */
.layer{overflow:hidden}
.pc{position:absolute}
.pc img{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}
.pc .tn,.pc .bk{position:absolute;inset:0;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.pc .tn{background:#2b3122;opacity:var(--sh,0)}
.pc .bk{background:#eee3cb;display:none}
.stage:not(.is-front) .layer .bk{display:block}
.mk-static .pc .tn,.is-open .pc .tn{display:none}
.wide{left:50%;bottom:0;height:100%;transform:translateX(-50%)}
.ly-dombok .wide{aspect-ratio:2400/620}
.ly-elo .wide{aspect-ratio:2800/440}
.cloud.c1{left:4%;top:2%;width:40%;aspect-ratio:760/330}
.cloud.c2{right:5%;top:15%;width:31%;aspect-ratio:600/280}
.castle-wrap{position:absolute;left:50%;bottom:0;height:100%;aspect-ratio:1200/1300;transform:translateX(-50%)}
.castle{inset:0}
.flag{position:absolute;overflow:visible}
.tree{bottom:0;width:31%;max-height:100%;aspect-ratio:560/960}
.tree.tl{left:-1%}
.tree.tr{right:-1%}

/* A papírszalag */
.ribbon{--u:1;--a:1;--b:1;--c:1;position:absolute;z-index:40;left:50%;top:60%;width:min(calc(100% - 96px),560px);transform:translateX(-50%);opacity:calc(var(--u) * 30);pointer-events:none}
.ribbon [data-edit]{pointer-events:auto}
.rb-band{position:relative;z-index:2;padding:12px 18px 13px;text-align:center;color:var(--ink);
  background:
    linear-gradient(to bottom,rgba(120,96,56,.16),rgba(120,96,56,0) 14%,rgba(120,96,56,0) 84%,rgba(120,96,56,.2)),
    linear-gradient(100deg,#f9f3e5,#f4ead6 50%,#efe3ca);
  box-shadow:0 14px 26px -16px rgba(56,42,20,.65),0 2px 5px rgba(56,42,20,.18);
  clip-path:inset(-30px calc(50% - 50% * var(--u)) -30px calc(50% - 50% * var(--u)))}
.rb-band::before,.rb-band::after{content:"";position:absolute;left:14px;right:14px;height:0;border-top:1px solid rgba(196,154,82,.75)}
.rb-band::before{top:6px}
.rb-band::after{bottom:6px}
.rb-tail{position:absolute;z-index:1;top:16px;bottom:-14px;width:46px;background:linear-gradient(to bottom,#e6d7b8,#d9c7a2);box-shadow:inset 0 0 0 1px rgba(120,96,56,.18);opacity:calc((var(--u) - .8) * 5)}
.rb-l{left:-30px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%);transform-origin:100% 50%;transform:scaleX(calc((var(--u) - .8) * 5))}
.rb-r{right:-30px;clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%);transform-origin:0 50%;transform:scaleX(calc((var(--u) - .8) * 5))}
.rb-tail::after{content:"";position:absolute;top:-16px;width:16px;height:16px;background:#bfa97e}
.rb-l::after{right:0;clip-path:polygon(0 100%,100% 0,100% 100%)}
.rb-r::after{left:0;clip-path:polygon(0 0,100% 100%,0 100%)}
.rb-roll{position:absolute;z-index:3;top:-5px;bottom:-5px;width:18px;border-radius:9px;
  background:linear-gradient(90deg,#d9c59c,#fbf5e6 42%,#e9dbbb 70%,#c9b285);box-shadow:0 4px 10px -4px rgba(56,42,20,.5);opacity:calc((1 - var(--u)) * 14)}
.rb-rl{left:calc(50% - 50% * var(--u) - 9px)}
.rb-rr{left:calc(50% + 50% * var(--u) - 9px)}
.rb-once{margin:0;font:italic 400 1rem/1.4 var(--serif);color:var(--muted);opacity:var(--a);transform:translateY(calc((1 - var(--a)) * 6px))}
.rb-names{margin:.02em 0 0;font:400 3.5rem/1.02 var(--script);color:var(--sage-deep);white-space:nowrap;opacity:var(--b);transform:translateY(calc((1 - var(--b)) * 8px))}
.rb-names .es{font:italic 400 .36em var(--serif);color:var(--gold-deep);vertical-align:.32em;padding:0 .12em}
.rb-names.two{white-space:normal;line-height:1.05}
.rb-names.two .nm{display:block}
.rb-names.two .es{display:block;vertical-align:0;line-height:1.2}
.rb-date{margin:.1em 0 0;font:500 1rem/1.3 var(--serif);letter-spacing:.06em;color:var(--ink);font-variant-numeric:lining-nums;opacity:var(--c);transform:translateY(calc((1 - var(--c)) * 6px))}

.cue{position:absolute;z-index:41;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:10px 14px;font:italic 400 1rem/1.2 var(--serif);color:var(--muted);text-decoration:none;white-space:nowrap;transition:opacity .6s ease}
.cue::after{content:"";display:block;width:9px;height:9px;margin:6px auto 0;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg)}
.is-opening .cue{opacity:0;pointer-events:none}

/* Nyitás közbeni felület */
.scene-ui{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:0 16px max(18px,env(safe-area-inset-bottom));text-align:center;transition:opacity .45s ease}
.scene-ui.is-gone{opacity:0;pointer-events:none}
.scene-hint{max-width:30em;margin:0 auto 6px;font:italic 400 1.0625rem/1.45 var(--serif);color:var(--ink)}
.scene-skip{min-height:44px;padding:10px 16px;border:0;background:none;font:400 1rem/1.2 var(--serif);color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ───────────── A könyv lapjai (az oldal) ───────────── */
.book{position:relative;max-width:700px;margin:0 auto;padding:clamp(48px,9vw,96px) 22px 24px}
.book::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75 .45' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .27 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E")}
.leaf{padding:clamp(40px,7vw,64px) 0;border-top:1px solid rgba(196,154,82,.35)}
.leaf:first-child{border-top:0;padding-top:0}
.h2{margin:0 0 .6em;font:500 clamp(1.75rem,5.6vw,2.4rem)/1.15 var(--serif);color:var(--sage-deep);letter-spacing:-.005em;text-wrap:balance}
.orn{display:block;width:140px;height:22px;margin:-6px 0 22px;color:var(--gold)}
.rv{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.mk-static .rv{opacity:1;transform:none;transition:none}

.invite{text-align:center}
.invite-text{max-width:30em;margin:0 auto 1.3em;font:400 clamp(1.25rem,4.4vw,1.5rem)/1.55 var(--serif);text-wrap:pretty}
.invite-text .dc{float:left;margin:.06em .1em 0 0;font:500 3.3em/.82 var(--serif);color:var(--gold-deep)}
.invite .invite-text{text-align:left}
.when{margin:0 auto 1.6em}
.when-date{margin:0;font:500 clamp(1.9rem,6.4vw,2.6rem)/1.1 var(--serif);font-variant-numeric:lining-nums;letter-spacing:.02em;color:var(--ink)}
.when-day{margin:.25em 0 0;font:italic 400 1.15rem/1.4 var(--serif);color:var(--muted)}
.when-place{margin:.2em 0 0;font:400 1.15rem/1.4 var(--serif)}
.invite-actions{margin:0}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border:1px solid var(--sage-deep);border-radius:2px;background:var(--sage-deep);color:#fbf6ea;font:500 1.0625rem/1.2 var(--serif);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:#41593f}
.btn.ghost{background:transparent;color:var(--sage-deep)}
.btn.ghost:hover{background:rgba(79,106,78,.08)}
.btn:disabled{opacity:.6;cursor:wait}

.story{display:grid;gap:34px;align-items:start}
.plate{position:relative;margin:0 auto;width:min(100%,340px);padding:12px;background:#fbf7ee;box-shadow:0 18px 30px -20px rgba(60,46,24,.55),0 1px 3px rgba(60,46,24,.18);transform:rotate(-1.4deg)}
.plate-in{aspect-ratio:4/5;overflow:hidden;background:var(--paper-2)}
.plate img{width:100%;height:100%;object-fit:cover}
.corner{position:absolute;width:30px;height:30px;background:linear-gradient(135deg,#e2c98b,#b58d45);clip-path:polygon(0 0,100% 0,0 100%)}
.corner.c1{left:4px;top:4px}
.corner.c2{right:4px;top:4px;transform:scaleX(-1)}
.corner.c3{left:4px;bottom:4px;transform:scaleY(-1)}
.corner.c4{right:4px;bottom:4px;transform:scale(-1,-1)}
.story-text p{margin:0 0 1em}
.story-text h3{margin:1.4em 0 .3em;font:italic 500 1.35rem/1.3 var(--serif);color:var(--sage-deep)}
.story-text ul{margin:0 0 1em;padding-left:1.2em}
@media (min-width:760px){.story{grid-template-columns:300px 1fr;gap:48px}.plate{width:100%}}

.chapters{text-align:left}
.ch-list{list-style:none;margin:0;padding:0 0 0 46px;position:relative}
.ch-list::before{content:"";position:absolute;left:8px;top:14px;bottom:20px;width:24px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='80'%3E%3Cpath d='M12 0c10 13 10 27 0 40s-10 27 0 40' fill='none' stroke='%238aa283' stroke-width='1.6' stroke-dasharray='4 5'/%3E%3C/svg%3E") 0 0/24px 80px repeat-y}
.ch{position:relative;padding:0 0 26px}
.ch::before{content:"";position:absolute;left:-41px;top:4px;width:15px;height:20px;border-left:1.6px solid var(--ink);opacity:.75}
.ch::after{content:"";position:absolute;left:-40px;top:5px;width:16px;height:10px;background:var(--sky);clip-path:polygon(0 0,100% 15%,72% 50%,100% 85%,0 100%)}
.ch:nth-child(3n+2)::after{background:var(--sage-pale)}
.ch:nth-child(3n)::after{background:var(--gold-2)}
.ch-no{margin:0;font:italic 400 1rem/1.4 var(--serif);color:var(--muted)}
.ch-time{margin-left:.6em;padding-left:.6em;border-left:1px solid rgba(95,98,83,.4);font-style:normal;font-variant-numeric:lining-nums tabular-nums;color:var(--ink)}
.ch-title{margin:.1em 0 0;font:500 1.35rem/1.3 var(--serif);color:var(--ink)}
.ch-desc{margin:.25em 0 0;color:var(--muted)}

.venue{text-align:center}
.venue-art{display:block;width:200px;height:76px;margin:0 auto 14px;color:var(--sage-deep)}
.venue-name{margin:0;font:500 clamp(1.5rem,5vw,2rem)/1.2 var(--serif)}
.venue-addr{margin:.4em 0 0;color:var(--muted)}
.venue-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}

.faq-list{margin:0}
.faq-list>div{padding:18px 0;border-top:1px dotted rgba(95,98,83,.45)}
.faq-list>div:first-child{border-top:0;padding-top:4px}
.faq-list dt{font:italic 500 1.25rem/1.35 var(--serif);color:var(--sage-deep)}
.faq-list dd{margin:.35em 0 0}
.faq-list dd p{margin:0 0 .6em}
.faq-list dd ul{margin:0;padding-left:1.15em}
.faq-list dd li{margin:.2em 0}

/* Visszajelzés */
.rsvp-intro{margin:0 0 1.4em;color:var(--muted)}
.field{margin:0 0 20px;padding:0;border:0;min-width:0}
.field label,.field legend{display:block;margin:0 0 6px;padding:0;font:500 1.0625rem/1.4 var(--serif)}
.field small{display:block;margin-top:5px;font-size:.95rem;color:var(--muted)}
.input{width:100%;min-height:48px;padding:10px 2px;border:0;border-bottom:1.4px solid rgba(79,106,78,.55);border-radius:0;background:transparent;font:400 1.125rem/1.4 var(--serif);color:var(--ink)}
.input:focus{outline:0;border-bottom-color:var(--sage-deep);box-shadow:0 1.4px 0 var(--sage-deep)}
.input::placeholder{color:#8d8c7c}
select.input{appearance:none;padding-right:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234f6a4e' stroke-width='1.5'/%3E%3C/svg%3E") right 6px center no-repeat}
textarea.input{min-height:96px;resize:vertical;border:1.4px solid rgba(79,106,78,.4);padding:10px 12px;background:rgba(255,255,255,.35)}
.choice{display:grid;gap:10px}
.choice label{display:flex;align-items:center;gap:14px;min-height:54px;margin:0;padding:12px 16px;border:1px solid rgba(79,106,78,.4);background:rgba(255,255,255,.4);font:400 1.125rem/1.3 var(--serif);cursor:pointer;transition:border-color .2s,background .2s}
.choice input{appearance:none;width:20px;height:20px;margin:0;border:1.4px solid var(--sage-deep);border-radius:50%;flex:none;display:grid;place-items:center;background:var(--paper)}
.choice input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--sage-deep);transform:scale(0);transition:transform .2s var(--ease)}
.choice input:checked::after{transform:scale(1)}
.choice label:has(input:checked){border-color:var(--sage-deep);background:rgba(138,162,131,.14)}
.cond{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.cond>div{overflow:hidden}
.cond.show{grid-template-rows:1fr}
.cond.show>div{padding-top:4px}
.form-error{min-height:1.2em;margin:0 0 10px;color:#9b3b2f;font-size:1rem}
.rsvp-submit{display:grid;gap:10px;justify-items:center}
.demo-note{margin:0;font:italic 400 .9375rem/1.45 var(--serif);color:var(--muted);text-align:center}
.thanks{text-align:center;padding:8px 0}
.thanks-title{margin:0 0 .3em;font:italic 500 2rem/1.15 var(--serif);color:var(--sage-deep)}
.thanks:focus{outline:0}

/* Zárás */
.closing{padding:clamp(56px,10vw,110px) 22px calc(64px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid rgba(196,154,82,.35);max-width:700px;margin:0 auto}
.closing-line{margin:0;font:italic 400 clamp(2rem,7vw,2.8rem)/1.2 var(--serif);color:var(--ink)}
.closing .orn{margin:16px auto 18px}
.closing-names{margin:0;font:400 clamp(2.6rem,10vw,3.6rem)/1.1 var(--script);color:var(--sage-deep);overflow-wrap:anywhere}
.closing-names span{font:italic 400 .4em var(--serif);color:var(--gold-deep);padding:0 .15em}
.closing-date{margin:.2em 0 0;font:500 1.0625rem/1.4 var(--serif);letter-spacing:.06em;font-variant-numeric:lining-nums}
.replay{margin-top:28px;min-height:44px;padding:8px 14px;border:0;background:none;font:italic 400 1rem/1.2 var(--serif);color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Belépőkód */
.gate{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 90% at 50% 35%,#f6f0e2,#e3d9c4 80%)}
.gate form{width:min(100%,420px);text-align:center}
.gate-names{margin:0 0 .4em;font:400 3.2rem/1.1 var(--script);color:var(--sage-deep);overflow-wrap:anywhere}
.gate-names span{font:italic 400 .4em var(--serif);color:var(--gold-deep)}
.gate .input{text-align:center;letter-spacing:.14em;font-size:1.4rem}

@media (max-height:640px){
  .rb-names{font-size:2.9rem}
  .rb-once,.rb-date{font-size:.9375rem}
  .rb-band{padding:10px 14px 11px}
}
@media (min-width:900px) and (min-height:641px){
  .rb-names{font-size:4.4rem}
  .rb-once,.rb-date{font-size:1.125rem}
  .rb-band{padding:16px 24px 15px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .cond{transition:none}
}
