:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-hero:clamp(2.75rem,1rem + 5.5vw,6rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --font-display:'Boska',Georgia,serif;
  --font-body:'Switzer','Helvetica Neue',sans-serif;
  --pink:#f4b6c8;--hot:#c2457b;--gold:#c9a24a;--ink:#17121a;--cream:#fbf4e8;--green:#5aa95a;
  --radius:1rem;--ease:cubic-bezier(.16,1,.3,1);
}
[data-theme=dark]{
  --bg:#17121a;--surface:#211a22;--surface-2:#2a2129;--border:#3a3038;
  --text:#fbf4e8;--muted:#c9bfc4;--accent:#f4b6c8;--accent-ink:#17121a;--gold-t:#d9b45e;
}
[data-theme=light]{
  --bg:#fbf4e8;--surface:#fffaf2;--surface-2:#f4eadb;--border:#e3d5c2;
  --text:#17121a;--muted:#5d5258;--accent:#b23a6f;--accent-ink:#fff;--gold-t:#8a6a1f;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg);transition:background .3s,color .3s}
img{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
h1,h2,h3{text-wrap:balance;line-height:1.1}
p,li{text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.375rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-4);top:var(--space-4);z-index:100;background:var(--accent);color:var(--accent-ink);padding:var(--space-2) var(--space-4)}

.wrap{width:min(1200px,100% - 2*clamp(1rem,4vw,2.5rem));margin-inline:auto}
.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-t);margin-bottom:var(--space-3)}
.eyebrow--dark{color:#6b4a10}
.h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);margin-bottom:var(--space-4);max-width:22ch}
.muted{color:var(--muted);max-width:60ch}
.pink{color:var(--accent);font-style:italic}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.85rem 1.5rem;border-radius:999px;font-weight:600;font-size:var(--text-sm);text-decoration:none;border:2px solid transparent;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--pink{background:var(--accent);color:var(--accent-ink)}
.btn--pink:hover{background:var(--gold);color:var(--ink)}
.btn--ghost{border-color:var(--gold);color:var(--text)}
.btn--ghost:hover{background:var(--gold);color:var(--ink)}
.btn--dark{background:var(--ink);color:var(--cream);width:100%}
.btn--dark:hover{background:#3a2a36}
.btn--sm{padding:.55rem 1.1rem}

/* header */
.header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:4.25rem}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}
.mark{width:2.6rem;height:2.6rem;color:var(--text)}
.brand__word{font-family:var(--font-display);font-weight:900;font-size:1.4rem;letter-spacing:.01em;white-space:nowrap}
.brand__word em{color:var(--accent);font-style:normal}
.nav{display:flex;gap:var(--space-6)}
.nav a{font-size:var(--text-sm);text-decoration:none;color:var(--muted);font-weight:500}
.nav a:hover{color:var(--text)}
.header__actions{display:flex;align-items:center;gap:var(--space-3)}
.icon-btn{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border)}
.icon-btn:hover{border-color:var(--gold)}
@media (max-width:900px){.nav{display:none}}
@media (max-width:420px){.brand__word{font-size:1.15rem}.header__actions .btn{display:none}}

/* hero */
.hero{padding-block:clamp(var(--space-10),6vw,var(--space-20)) 0;overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;inset:auto -10% -30% 40%;height:80%;background:radial-gradient(closest-side,color-mix(in oklab,var(--pink) 28%,transparent),transparent);pointer-events:none}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-10);align-items:end;position:relative}
.hero__copy{padding-bottom:clamp(var(--space-10),6vw,var(--space-20))}
.hero__title{font-family:var(--font-display);font-weight:900;font-size:var(--text-hero);line-height:1;letter-spacing:-.01em;margin-bottom:var(--space-6)}
.hero__lede{font-size:var(--text-lg);color:var(--muted);max-width:44ch;margin-bottom:var(--space-8);line-height:1.5}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-10)}
.hero__facts{display:flex;flex-wrap:wrap;gap:var(--space-8);list-style:none;font-size:var(--text-sm);color:var(--muted);border-top:1px solid var(--border);padding-top:var(--space-6)}
.hero__facts strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--text);line-height:1.1}
.hero__art img{width:100%;max-height:640px;object-fit:cover;object-position:top;border-radius:var(--radius) var(--radius) 0 0;border:3px solid var(--gold);border-bottom:0}
@media (max-width:820px){.hero__grid{grid-template-columns:1fr}.hero__copy{padding-bottom:0}.hero__art img{max-height:420px}}

.band{border-block:3px solid var(--gold)}
.band img{width:100%;height:clamp(260px,46vw,620px);object-fit:cover}

/* sections */
.section{padding-block:clamp(var(--space-12),8vw,var(--space-24))}
.section--alt{background:var(--surface)}
.section--pink{background:var(--pink);color:var(--ink)}
.section__head{margin-bottom:var(--space-12)}

/* menu */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.menu__col{position:relative;border-radius:var(--radius);padding:var(--space-8);overflow:hidden;min-height:100%}
.menu__col--frank{background:#211a22;color:var(--cream);border:2px solid var(--gold)}
.menu__col--prissy{background:var(--pink);color:var(--ink);border:2px solid #fff}
.menu__mascot{position:absolute;right:-1rem;bottom:-1rem;width:9rem;opacity:.95;pointer-events:none}
.menu__title{font-family:var(--font-display);font-weight:900;font-size:var(--text-xl)}
.menu__col--frank .menu__title{color:var(--gold)}
.menu__sub{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:var(--space-6)}
.menu__col--frank .menu__sub{color:var(--pink)}
.menu__col--prissy .menu__sub{color:#7a2450}
.items{list-style:none;display:grid;gap:var(--space-5);padding-right:6.5rem}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}
.name{font-weight:700;font-size:var(--text-lg)}
.price{font-family:var(--font-display);font-weight:900;font-size:var(--text-lg);font-variant-numeric:tabular-nums}
.menu__col--frank .price{color:var(--gold)}
.menu__col--prissy .price{color:#7a2450}
.items p{font-size:var(--text-sm);opacity:.88;margin-top:var(--space-1)}
.lc{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;background:var(--green);border:2px solid #fff;vertical-align:middle;margin-left:.3rem}
.extras{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-6)}
.extra{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}
.extra h3{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--accent);margin-bottom:var(--space-3)}
.extra ul{list-style:none;display:grid;gap:var(--space-3)}
.extra li{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}
.extra small{display:block;color:var(--muted);font-size:var(--text-xs)}
.extra b{font-variant-numeric:tabular-nums;color:var(--gold-t);white-space:nowrap}
.key{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--muted);display:flex;align-items:center;gap:var(--space-2)}
.key .lc{margin:0}
@media (max-width:980px){.extras{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.menu{grid-template-columns:1fr}.items{padding-right:0}.menu__col{padding-bottom:7rem}.menu__mascot{width:5.5rem}}
@media (max-width:520px){.extras{grid-template-columns:1fr}}

/* find */
.find{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.find .muted{margin-bottom:var(--space-6)}
.sched{list-style:none;border:2px solid var(--gold);border-radius:var(--radius);overflow:hidden}
.sched li{display:grid;grid-template-columns:4rem 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);background:var(--bg)}
.sched li:last-child{border-bottom:0}
.day{font-family:var(--font-display);font-weight:900;font-size:var(--text-lg);color:var(--accent)}
.spot{font-weight:600}
.time{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
@media (max-width:820px){.find{grid-template-columns:1fr}}

/* pups */
.pups{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}
.pups__screen img{border-radius:var(--radius);border:3px solid var(--gold);box-shadow:0 20px 50px rgb(0 0 0/.35)}
.pups .muted{margin-bottom:var(--space-6)}
.pups__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}
.pups__grid img{aspect-ratio:1;object-fit:cover;border-radius:.6rem;border:2px solid var(--pink)}
@media (max-width:820px){.pups{grid-template-columns:1fr}}

/* catering */
.catering{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}
.catering p{max-width:52ch;margin-bottom:var(--space-6)}
.checks{list-style:none;display:grid;gap:var(--space-3);font-weight:500}
.checks li{padding-left:1.75rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:1rem;height:1rem;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 4px var(--gold)}
.form{background:var(--cream);border-radius:var(--radius);padding:var(--space-8);display:grid;gap:var(--space-4);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
.form h3{font-family:var(--font-display);font-weight:900;font-size:var(--text-xl)}
.field{display:grid;gap:var(--space-1)}
.field2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.field label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#4a3d44}
.field input,.field select,.field textarea{background:#fff;border:1.5px solid #cdbfb0;border-radius:.6rem;padding:.7rem .85rem;color:var(--ink);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--hot);box-shadow:0 0 0 3px rgb(194 69 123/.2)}
.field .err{border-color:#a12c4b}
.form__msg{font-size:var(--text-sm);margin:0;min-height:1.2em}
@media (max-width:820px){.catering{grid-template-columns:1fr}}
@media (max-width:420px){.field2{grid-template-columns:1fr}}

/* story */
.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-12);align-items:center}
.story__grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--space-3);aspect-ratio:4/3.2}
.story__grid img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.story__grid .tall{grid-row:span 2}
@media (max-width:820px){.story{grid-template-columns:1fr}}

/* contact */
.contact{display:grid;grid-template-columns:auto 1fr;gap:var(--space-12);align-items:center}
.contact__logo{width:clamp(140px,22vw,240px);border-radius:50%}
.contact__list{list-style:none;display:grid;gap:var(--space-3)}
.contact__list li{display:flex;gap:var(--space-4);align-items:baseline;flex-wrap:wrap}
.contact__list span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--gold-t);min-width:4rem}
.contact__list a{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-decoration:none;word-break:break-word}
.contact__list a:hover{color:var(--accent)}
@media (max-width:640px){.contact{grid-template-columns:1fr;justify-items:start}}

.footer{border-top:3px solid var(--gold);padding-block:var(--space-8);font-size:var(--text-xs);color:var(--muted)}
.footer__in{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.footer__tag{font-family:var(--font-display);font-style:italic;color:var(--accent);font-size:var(--text-sm)}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.form__note{font-size:var(--text-sm);margin:calc(-1*var(--space-3)) 0 0;color:#4a3d44}.contact__list span{min-width:5.5rem}

/* Pup Picks CTA + wall */
.pups__cta{display:flex;align-items:center;gap:var(--space-5);margin-top:var(--space-2)}
.pups__qr{width:150px;height:150px;border-radius:.75rem;border:3px solid var(--pink);background:#fff}
.pups__small{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2)}
.wall__head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6);flex-wrap:wrap}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-6)}
.pol{background:#fffdf8;padding:.6rem .6rem 0;border-radius:.25rem;box-shadow:0 10px 24px rgb(0 0 0/.3);transform:rotate(var(--r,0deg));transition:transform .3s var(--ease)}
.pol img{width:100%;aspect-ratio:1;object-fit:cover}
.pol figcaption{font-family:var(--font-display);font-style:italic;font-weight:700;color:var(--ink);text-align:center;padding:.5rem 0 .7rem;font-size:var(--text-base)}
.wall-empty{grid-column:1/-1;border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-10);text-align:center;color:var(--muted)}
.wall-empty p{margin-inline:auto}
.footer__crew{width:100%;text-align:right}
.footer__crew a{color:var(--muted)}

/* overlays */
.ov{position:fixed;inset:0;z-index:200;background:rgb(10 6 12/.78);backdrop-filter:blur(6px);display:grid;place-items:center;padding:var(--space-4);overflow:auto}
.ov[hidden]{display:none}
.sheet{position:relative;width:min(520px,100%);background:var(--cream);color:var(--ink);border-radius:var(--radius);padding:var(--space-8);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--pink);display:grid;gap:var(--space-4)}
.sheet .eyebrow{color:#6b4a10;margin:0}
.sheet__t{font-family:var(--font-display);font-weight:900;font-size:var(--text-xl);line-height:1.1}
.sheet__p{color:#4a3d44;font-size:var(--text-sm)}
.sheet form{display:grid;gap:var(--space-4)}
.x{position:absolute;top:.5rem;right:.75rem;font-size:2rem;line-height:1;color:inherit;width:2.5rem;height:2.5rem}
.x--inline{position:static}
.drop{display:grid;place-items:center;min-height:180px;border:2px dashed #c9a24a;border-radius:var(--radius);background:#fff;cursor:pointer;overflow:hidden;text-align:center;padding:var(--space-4)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop__txt{font-weight:600;color:#7a2450}
.drop__prev{max-height:260px;width:auto;border-radius:.5rem}
.drop:focus-within{outline:2px solid var(--hot);outline-offset:2px}
.ok{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-xs);color:#4a3d44}
.ok input{margin-top:.2rem;accent-color:var(--hot);width:1.1rem;height:1.1rem;flex:none}
.linkbtn{font-size:var(--text-sm);text-decoration:underline;color:#7a2450;justify-self:center}
.btn:disabled{opacity:.6;cursor:wait;transform:none}

.ov--admin{place-items:start center}
.admin{width:min(1100px,100%);background:var(--bg);color:var(--text);border-radius:var(--radius);border:2px solid var(--gold);padding:var(--space-6)}
.admin__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.admin__bar>div:last-child{display:flex;align-items:center;gap:var(--space-2)}
.admin__tabs{display:flex;gap:var(--space-2)}
.tab{padding:.45rem 1rem;border-radius:999px;border:1px solid var(--border);font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.tab.is-on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.admin__who{font-size:var(--text-xs);color:var(--muted);margin:var(--space-2) 0 var(--space-6)}
.admin__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.card img{width:100%;aspect-ratio:1;object-fit:cover}
.card__b{padding:var(--space-4);display:grid;gap:var(--space-1)}
.card__b small{color:var(--muted);font-size:var(--text-xs)}
.card__act{display:flex;gap:var(--space-2);margin-top:var(--space-2)}

.ov--screen{padding:0;background:var(--ink);backdrop-filter:none}
.scr{position:relative;width:100vw;height:100vh;display:grid;grid-template-columns:1fr minmax(220px,22vw);grid-template-rows:auto 1fr;gap:2vw;padding:2.5vw;color:var(--cream);border:4px solid var(--gold)}
.scr__top{grid-column:1/-1;display:flex;align-items:center;gap:1.5vw}
.scr__top img{width:clamp(60px,8vw,150px);border-radius:50%}
.scr__top h2{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,6vw,7rem);color:var(--pink);line-height:1}
.scr__top p{color:var(--gold);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.8rem,1.4vw,1.6rem)}
.scr__wall{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2vw;align-items:center;min-height:0}
.scr__wall .pol{max-height:100%;display:flex;flex-direction:column;animation:popin .7s var(--ease) both}
.scr__wall .pol img{min-height:0;flex:1}
.scr__wall .pol figcaption{font-size:clamp(1rem,1.6vw,2rem)}
.scr__empty{grid-column:1/-1;grid-row:1/-1;text-align:center;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,3rem);color:var(--pink)}
.scr__side{background:var(--pink);color:var(--ink);border-radius:1.2vw;padding:1.5vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vw;text-align:center}
.scr__side h3{font-family:var(--font-display);font-weight:900;font-size:clamp(1.2rem,2.2vw,2.6rem);line-height:1.05}
.scr__side img{width:85%;background:#fff;border-radius:.8vw;padding:.4vw;border:3px solid var(--ink)}
.scr__side p{font-weight:600;font-size:clamp(.8rem,1.2vw,1.4rem)}
.scr__x{color:var(--cream);opacity:.4}
.scr__x:hover{opacity:1}
@keyframes popin{from{opacity:0;transform:scale(.9) rotate(var(--r,0deg))}to{opacity:1;transform:rotate(var(--r,0deg))}}
@media (max-width:700px){.scr{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.scr__wall{grid-template-columns:repeat(2,1fr);grid-template-rows:none}}

/* spacing + CTA polish */
.hero__facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--space-8)}
@media (max-width:520px){.hero__facts{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.hero__facts strong{font-size:var(--text-lg)}.hero__ctas .btn{flex:1}}
.menu__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}
.menu__foot .key{margin:0}
.catering__alt{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid rgb(23 18 26/.18);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.catering__alt p{margin:0;font-weight:600}
.btn--outline-dark{border-color:var(--ink);color:var(--ink)}
.btn--outline-dark:hover{background:var(--ink);color:var(--cream)}
.form__msg:empty{display:none}
.form{gap:var(--space-5)}
.form .btn--dark{margin-top:var(--space-2)}
.story__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.pups__cta{align-items:center;margin-top:var(--space-6)}
.pups__cta>div{display:grid;gap:var(--space-1);justify-items:start}
.pups__small{margin-top:var(--space-2)}
.contact__list{gap:var(--space-4)}
.contact__list li{display:grid;grid-template-columns:6.5rem 1fr;align-items:baseline;gap:var(--space-4)}
.contact__list span{min-width:0}
@media (max-width:640px){.contact__list li{grid-template-columns:1fr;gap:0}.contact__list a{font-size:var(--text-lg)}}
.sched li{grid-template-columns:3.5rem 1fr auto}
@media (max-width:640px){.footer__in{flex-direction:column;gap:var(--space-2)}.footer__crew{text-align:left}}
/* mobile nav row */
@media (max-width:900px){
  .header__in{flex-wrap:wrap;height:auto;padding-block:var(--space-3);row-gap:var(--space-2)}
  .nav{display:flex;order:3;width:100%;overflow-x:auto;gap:var(--space-5);padding-bottom:var(--space-1);scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap}
}
@media (max-width:420px){.header__actions .btn{display:inline-flex;padding:.5rem .9rem}.brand__word{font-size:1.1rem}.mark{width:2.2rem;height:2.2rem}}
@media (max-width:900px){.header__in{column-gap:var(--space-3)}}
@media (max-width:420px){.brand{gap:var(--space-2)}.brand__word{font-size:1rem}.mark{width:2rem;height:2rem}.header__actions{gap:var(--space-2)}.header__actions .btn{padding:.45rem .8rem;font-size:.8rem}.icon-btn{width:2.25rem;height:2.25rem}}
.form h3+.form__note{margin-top:calc(-1*var(--space-4))}
@media (max-width:420px){.header__in{column-gap:var(--space-2)}.header__actions .btn{padding:.45rem .7rem}}
.footer__in{align-items:center}
.footer__theme{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted)}
.footer__theme .icon-btn{width:2.25rem;height:2.25rem}
.header__actions .btn{font-size:var(--text-sm)}
@media (max-width:420px){.header__actions .btn{padding:.5rem .9rem;font-size:.85rem}.brand__word{font-size:1.1rem}}
.wall__add{display:flex;align-items:center;gap:var(--space-4)}
.wall__add>div{display:grid;gap:var(--space-2);justify-items:start}
.wall__qr{width:120px;height:120px;border-radius:.75rem;border:3px solid var(--pink);background:#fff}
.wall__scan{font-size:var(--text-sm);font-weight:600;margin:0}
/* form field overlap fix (Safari/iOS date + number inputs) */
.field2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-5)}
.field{min-width:0}
.field input,.field select,.field textarea{min-width:0;max-width:100%;display:block;box-sizing:border-box}
.field input[type=date]{-webkit-appearance:none;appearance:none;min-height:2.95rem;line-height:1.4;text-align:left}
.field input[type=date]::-webkit-date-and-time-value{text-align:left}
@media (max-width:560px){.field2{grid-template-columns:minmax(0,1fr)}}
.catering__side{display:grid;gap:var(--space-6);align-content:start;min-width:0}
.catering__side .catering__alt{margin-top:0;justify-content:center;text-align:center}
/* centered contact */
.contact{grid-template-columns:1fr;justify-items:center;text-align:center;gap:var(--space-8)}
.contact>div{display:grid;justify-items:center;gap:var(--space-6)}
.contact .h2{margin:0}
.contact__list{justify-items:center;gap:var(--space-5)}
.contact__list li{grid-template-columns:1fr;justify-items:center;gap:var(--space-1)}
@media (max-width:640px){.contact{justify-items:center}}
/* tappable QR */
.qr-btn{position:relative;display:inline-block;flex:none;border-radius:.85rem;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.qr-btn img{display:block}
.qr-btn:hover,.qr-btn:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgb(0 0 0/.35)}
.qr-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.qr-btn__tag{position:absolute;left:50%;bottom:-.7rem;transform:translateX(-50%);white-space:nowrap;background:#f4b6c8;color:#17121a;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2rem .6rem;border-radius:999px;box-shadow:0 2px 6px rgb(0 0 0/.25)}
@media (prefers-reduced-motion:reduce){.qr-btn{transition:none}.qr-btn:hover{transform:none}}
.qr-btn{display:inline-flex;flex-direction:column;align-items:center;gap:.45rem;padding:0;border-radius:.85rem}
.qr-btn__tag{position:static;transform:none}
