/* Koji Noodle Bar: cream paper, vermilion blocks, deep ink, Anton over Inter Tight. */
:root{
  --cream:#f5eee2; --paper:#fffaf2; --ink:#17181c; --ink-2:#4a4741;
  --red:#c7361a; --red-deep:#9f2a12; --red-hot:#ff7a5c; --line:#17181c;
  --font-d:"Anton","Impact","Arial Narrow",sans-serif;
  --font-t:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1220px; --gut:clamp(16px,4vw,40px);
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:clamp(4rem,9vw,7.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.6 var(--font-t);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--red)}
h1,h2,h3{font-family:var(--font-d);font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:.01em;margin:0 0 var(--s2)}
h2{font-size:clamp(2.4rem,6vw,4.4rem)}
h3{font-size:clamp(1.5rem,2.6vw,2rem)}
p{margin:0 0 var(--s2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;background:var(--ink);color:var(--paper);padding:.75rem 1rem;font-weight:700}
.skip:focus{left:12px;top:12px;z-index:99}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--paper)}
.on-ink :focus-visible,.on-red :focus-visible{outline-color:var(--paper);box-shadow:0 0 0 6px var(--ink)}
.kicker{font:700 .8rem/1.2 var(--font-t);letter-spacing:.16em;text-transform:uppercase;margin:0 0 var(--s2)}
.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:58ch}
.muted{color:var(--ink-2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.4rem;border:3px solid var(--ink);background:var(--ink);color:var(--paper);font:700 1rem/1 var(--font-t);text-decoration:none;cursor:pointer;letter-spacing:.02em}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn-line{background:transparent;color:var(--ink)}
.on-red .btn{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.on-red .btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.on-red .btn-line{background:transparent;color:var(--paper)}
.on-ink .btn{background:var(--red);border-color:var(--red);color:#fff}
.on-ink .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}

/* Header */
.site-head{background:var(--cream);border-bottom:3px solid var(--line);position:relative;z-index:20}
.head-row{display:flex;align-items:center;gap:1.25rem;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;min-height:44px}
.brand-name{font:400 1.6rem/1 var(--font-d);text-transform:uppercase;letter-spacing:.02em}
.nav-main{margin-left:auto}
.nav-main ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}
.nav-main a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem}
.nav-main a[aria-current="page"]{background:var(--ink);color:var(--paper)}
.nav-main a:hover{color:var(--red)}
.nav-main a[aria-current="page"]:hover{color:var(--paper)}
.head-tel{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;background:var(--red);color:#fff;font-weight:700;text-decoration:none}
.head-tel:hover{background:var(--ink);color:var(--paper)}
.lang,.mnav{position:relative}
.lang summary,.mnav summary{list-style:none;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;min-width:44px;justify-content:center;padding:0 .5rem;cursor:pointer;font-weight:700;font-size:.88rem;border:2px solid transparent}
.lang summary::-webkit-details-marker,.mnav summary::-webkit-details-marker{display:none}
.lang summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.lang-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lang-panel,.mnav-panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--paper);border:3px solid var(--line);padding:.75rem;min-width:200px;z-index:30}
.mnav{display:none}
.bars{width:20px;height:14px;border-top:3px solid currentColor;border-bottom:3px solid currentColor;position:relative}
.bars::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px solid currentColor;transform:translateY(-50%)}
.mnav-panel ul{list-style:none;margin:0;padding:0}
.mnav-panel a{display:flex;align-items:center;min-height:48px;padding:0 .5rem;font:400 1.5rem/1 var(--font-d);text-transform:uppercase;text-decoration:none}
.mnav-panel a[aria-current="page"]{color:var(--red)}
@media (max-width:900px){
  .brand-name{font-size:1.3rem}
  .nav-main,.head-tel{display:none}
  .mnav{display:block}
  .lang{margin-left:auto}
  .mnav-panel{min-width:240px}
}

/* Steam motif */
.steam{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
.steam-anim path{stroke-dasharray:240;stroke-dashoffset:240;animation:rise 1.6s .2s cubic-bezier(.2,.7,.2,1) forwards}
.steam-anim path:nth-child(2){animation-delay:.4s}
.steam-anim path:nth-child(3){animation-delay:.6s}
@keyframes rise{to{stroke-dashoffset:0}}

/* HOME: hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;border-bottom:3px solid var(--line)}
.hero-copy{background:var(--red);color:var(--paper);padding:clamp(2.5rem,6vw,5rem) var(--gut) clamp(2.5rem,5vw,4rem);position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(78vh,720px)}
.hero-copy .steam{width:clamp(56px,6vw,80px);height:auto;color:var(--paper);margin-bottom:var(--s2)}
.hero h1{font-size:clamp(3.4rem,9vw,8.4rem);line-height:.94;margin-bottom:var(--s3)}
.hero h1 span{display:block;color:var(--ink)}
.hero-copy p{max-width:40ch;font-size:1.15rem}
.hero-photo{position:relative;background:var(--ink)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-tag{position:absolute;left:0;bottom:0;background:var(--cream);color:var(--ink);padding:.9rem 1.2rem;border-top:3px solid var(--line);border-right:3px solid var(--line);font-weight:700;max-width:80%}
.hero-tag strong{font:400 1.6rem/1 var(--font-d);display:block;text-transform:uppercase}
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  .hero-copy{min-height:0}
  .hero-photo{aspect-ratio:4/3}
}

/* HOME: rules of the house */
.rules{background:var(--ink);color:var(--paper)}
.rules ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.rules li{padding:var(--s4) var(--gut);border-right:1px solid #45464c}
.rules li:last-child{border-right:0}
.rules b{display:block;font:400 clamp(2.2rem,4.5vw,3.6rem)/1 var(--font-d);text-transform:uppercase;color:var(--red-hot);margin-bottom:.5rem}
.rules p{margin:0;max-width:34ch;color:#e9e3d8}
@media (max-width:760px){.rules ul{grid-template-columns:1fr}.rules li{border-right:0;border-bottom:1px solid #45464c}}

/* HOME: bowls mosaic */
.section{padding:var(--s6) 0}
.bowls-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s4)}
.bowls-head h2{margin:0}
.bowls{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:3px;background:var(--line);border:3px solid var(--line)}
.bowl{margin:0;position:relative;background:var(--paper);display:grid}
.bowl img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.bowl:first-child{grid-row:span 2}
.bowl:first-child img{aspect-ratio:auto;min-height:100%}
.bowl figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(16,16,18,.88) 45%);color:var(--paper);padding-top:3rem}
.bowl figcaption span{font-weight:600;line-height:1.3}
.bowl figcaption strong{display:block;font:400 1.6rem/1 var(--font-d);text-transform:uppercase;margin-bottom:.25rem}
.bowl .price{font:400 clamp(2.6rem,5vw,4.4rem)/.8 var(--font-d);color:var(--paper)}
@media (max-width:760px){.bowls{grid-template-columns:1fr}.bowl:first-child{grid-row:auto}.bowl:first-child img{aspect-ratio:4/3}}

/* HOME: broth note */
.broth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5);align-items:start;padding-top:0}
.broth .big{font:400 clamp(5rem,14vw,12rem)/.8 var(--font-d);color:var(--red);margin:0}
.broth .big small{display:block;font-size:.28em;line-height:1.1;color:var(--ink);margin-top:.6rem}
.broth blockquote{margin:0 0 var(--s3);font:600 clamp(1.3rem,2.4vw,1.85rem)/1.35 var(--font-t);border-left:8px solid var(--red);padding-left:1.25rem}
@media (max-width:760px){.broth{grid-template-columns:1fr;gap:var(--s3)}}

/* HOME: visit strip */
.strip{background:var(--red);color:var(--paper);border-top:3px solid var(--line);border-bottom:3px solid var(--line)}
.strip-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s4);padding:var(--s5) 0;align-items:start}
.strip h2{margin:0}
.strip dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem}
.strip dt{font-weight:700}
.strip dd{margin:0}
.strip address{font-style:normal;margin-bottom:var(--s2)}
@media (max-width:860px){.strip-grid{grid-template-columns:1fr}}

/* INNER PAGES: page head */
.ph{background:var(--red);color:var(--paper);border-bottom:3px solid var(--line);position:relative;overflow:hidden}
.ph .wrap{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,3.5rem);position:relative}
.ph h1{font-size:clamp(3.4rem,11vw,8.5rem);line-height:.86;margin:0 0 var(--s2)}
.ph .lede{margin:0;color:var(--paper)}
.ph .steam{position:absolute;right:var(--gut);bottom:-10px;width:clamp(80px,14vw,170px);height:auto;color:var(--red-deep)}

/* MENU */
.legend{border-bottom:3px solid var(--line);background:var(--paper)}
.legend ul{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;list-style:none;margin:0;padding:1rem 0;font-weight:600;font-size:.95rem}
.legend li{display:flex;align-items:center;gap:.5rem}
.mark{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:1.6rem;padding:0 .35rem;border:2px solid var(--ink);font:800 .72rem/1 var(--font-t);letter-spacing:.06em}
.mark-vg{background:var(--ink);color:var(--paper)}
.heat{display:inline-flex;gap:3px;vertical-align:middle}
.heat i{width:.7rem;height:.7rem;border:2px solid var(--red);border-radius:50%}
.heat i.on{background:var(--red)}
.cat-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem;border-bottom:3px solid var(--line);padding-bottom:.75rem;margin-bottom:0}
.cat-head h2{margin:0}
.cat-head p{margin:0;max-width:44ch;color:var(--ink-2)}
/* ramen: oversized prices */
.big-list{list-style:none;margin:0;padding:0}
.big-list li{display:grid;grid-template-columns:clamp(5.5rem,13vw,9.5rem) 1fr;gap:var(--s3);padding:var(--s3) 0;border-bottom:2px solid var(--line);align-items:start}
.big-list .num{font:400 clamp(3.6rem,9vw,6.5rem)/.82 var(--font-d);color:var(--red)}
.big-list .num sup{font-size:.4em;vertical-align:.95em;margin-right:.05em}
.big-list h3{margin:0 0 .4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}
.big-list p{margin:0;max-width:60ch}
.big-list .meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-top:.6rem;font-size:.9rem;font-weight:600}
/* udon: photo + list */
.udon{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s4);margin-top:var(--s4)}
.udon figure{margin:0;border:3px solid var(--line);align-self:start}
.udon figure img{aspect-ratio:4/5;object-fit:cover;width:100%}
.dot-list{list-style:none;margin:0;padding:0}
.dot-list li{padding:1.1rem 0;border-bottom:1px dashed var(--ink-2)}
.dot-list .row{display:flex;align-items:baseline;gap:.75rem}
.dot-list .row h3{margin:0;font-size:1.6rem}
.dot-list .row::after{content:"";flex:1;order:2;border-bottom:3px dotted var(--ink);transform:translateY(-.3rem);min-width:1rem}
.dot-list .row .p{order:3;font:400 2rem/1 var(--font-d)}
.dot-list .row .marks{order:1;display:inline-flex;gap:.35rem}
.dot-list p{margin:.35rem 0 0;max-width:52ch}
@media (max-width:760px){.udon{grid-template-columns:1fr}.udon figure img{aspect-ratio:4/3}}
/* small plates: tiles */
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:520px){.tiles{grid-template-columns:1fr!important}}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;margin:var(--s3) 0 0;padding:0}
.tiles li{background:var(--paper);border:3px solid var(--line);padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.tiles .tp{font:400 2.6rem/1 var(--font-d);color:var(--red)}
.tiles h3{margin:0;font-size:1.4rem}
.tiles p{margin:0;font-size:.95rem}
.tiles .marks{display:flex;gap:.35rem;margin-top:auto;padding-top:.4rem}
.plates-photo{margin:var(--s4) 0 0;border:3px solid var(--line)}
.plates-photo img{width:100%;aspect-ratio:21/8;object-fit:cover}
/* drinks: table */
.drinks{width:100%;border-collapse:collapse;margin-top:var(--s3);background:var(--paper);border:3px solid var(--line)}
.drinks caption{text-align:left;font-weight:700;padding:0 0 .5rem}
.drinks th,.drinks td{padding:.85rem 1rem;border-bottom:1px solid #cfc6b6;text-align:left;vertical-align:top}
.drinks thead th{background:var(--ink);color:var(--paper);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.drinks td.pr{font:400 1.5rem/1 var(--font-d);white-space:nowrap;text-align:right}
.drinks thead th:last-child{text-align:right}
.drinks tbody th{font-weight:700}
.drinks tbody th span{display:block;font-weight:400;color:var(--ink-2);font-size:.92rem}
.allergy{background:var(--ink);color:var(--paper);padding:var(--s4) var(--s4);display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start;margin-top:var(--s5)}
.allergy svg{width:64px;height:64px;color:var(--red-hot)}
.allergy h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--red-hot)}
.allergy p:last-child{margin:0}
@media (max-width:600px){.allergy{grid-template-columns:1fr;padding:var(--s3)}.drinks th,.drinks td{padding:.7rem .6rem}}

/* TAKEOUT */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border:3px solid var(--line);background:var(--paper)}
.steps li{padding:var(--s3) var(--s3) var(--s4);border-right:3px solid var(--line)}
.steps li:last-child{border-right:0}
.steps b{display:block;font:400 clamp(4rem,8vw,6rem)/.85 var(--font-d);color:transparent;-webkit-text-stroke:2px var(--red);margin-bottom:.75rem}
.steps h3{margin:0 0 .5rem}
.steps p{margin:0}
@media (max-width:760px){.steps{grid-template-columns:1fr}.steps li{border-right:0;border-bottom:3px solid var(--line)}.steps li:last-child{border-bottom:0}}
.order{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:start}
.order aside{background:var(--ink);color:var(--paper);padding:var(--s4) var(--s3)}
.order aside h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--red-hot)}
.order aside ul{margin:0;padding-left:1.1rem}
.order aside li{margin-bottom:.75rem}
.order aside img{margin:var(--s3) calc(var(--s3) * -1) calc(var(--s4) * -1);width:calc(100% + var(--s3) * 2);max-width:none;aspect-ratio:3/2;object-fit:cover}
@media (max-width:860px){.order{grid-template-columns:1fr;gap:var(--s4)}}

/* Forms */
.form{display:grid;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.field{display:grid;gap:.4rem}
.field label{font-weight:700}
.opt{font-weight:500;color:var(--ink-2);font-size:.9rem}
.hint{font-size:.9rem;color:var(--ink-2);margin:0}
input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:0;padding:.7rem .8rem;min-height:48px;width:100%}
textarea{resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px;box-shadow:none}
.form .btn{justify-self:start}
.form-note{font-size:.92rem;color:var(--ink-2);margin:0}

/* ABOUT */
.story{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s5);align-items:center}
.story figure{margin:0;position:relative}
.story figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border:3px solid var(--line)}
.story figure::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--red);z-index:-1}
.story{position:relative;z-index:0}
@media (max-width:860px){.story{grid-template-columns:1fr;gap:var(--s4)}.story figure::before{inset:12px -10px -12px 12px}}
.night{background:var(--ink);color:var(--paper)}
.night h2{color:var(--paper)}
.night ol{list-style:none;margin:var(--s4) 0 0;padding:0;border-left:3px solid var(--red-hot)}
.night li{display:grid;grid-template-columns:clamp(6rem,14vw,10rem) 1fr;gap:var(--s3);padding:0 0 var(--s4) var(--s3);position:relative}
.night li::before{content:"";position:absolute;left:-11px;top:.55rem;width:19px;height:19px;background:var(--red-hot);border:3px solid var(--ink)}
.night time{font:400 clamp(2.2rem,5vw,3.4rem)/1 var(--font-d);color:var(--red-hot)}
.night h3{margin:.2rem 0 .4rem}
.night p{margin:0;color:#e9e3d8;max-width:56ch}
@media (max-width:560px){.night li{grid-template-columns:1fr;gap:.25rem}}
.owner{display:grid;grid-template-columns:auto 1fr;gap:var(--s5);align-items:center}
.monogram{width:clamp(140px,22vw,240px);aspect-ratio:1;background:var(--red);color:var(--paper);display:grid;place-items:center;font:400 clamp(4rem,9vw,7rem)/1 var(--font-d);border:3px solid var(--line)}
@media (max-width:700px){.owner{grid-template-columns:1fr;gap:var(--s3)}}

/* VISIT */
.visit-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5);align-items:start}
.hours{width:100%;border-collapse:collapse;font-size:1.05rem}
.hours caption{text-align:left}
.hours th,.hours td{padding:.8rem 0;border-bottom:2px solid var(--line);text-align:left}
.hours td{text-align:right;font-weight:600}
.hours tr.closed td{color:var(--red);font-weight:800}
.address-card{background:var(--paper);border:3px solid var(--line);padding:var(--s4) var(--s3)}
.address-card address{font-style:normal;font:400 clamp(2rem,4vw,3rem)/1 var(--font-d);text-transform:uppercase;margin-bottom:var(--s2)}
@media (max-width:860px){.visit-top{grid-template-columns:1fr;gap:var(--s4)}}
.waitlist{background:var(--red);color:var(--paper);border-top:3px solid var(--line);border-bottom:3px solid var(--line)}
.wait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:var(--red-deep);border:3px solid var(--ink);margin-top:var(--s4)}
.wait-grid div{background:var(--red);padding:var(--s3)}
.wait-grid h3{color:var(--ink)}
.wait-grid p{margin:0}
@media (max-width:700px){.wait-grid{grid-template-columns:1fr}}
.getting{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.getting svg{width:52px;height:52px;fill:none;stroke:var(--red);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.75rem}
.getting h3{margin-bottom:.5rem}
@media (max-width:760px){.getting{grid-template-columns:1fr}}
.visit-photo{margin:var(--s5) 0 0;border:3px solid var(--line)}
.visit-photo img{width:100%;aspect-ratio:16/6;object-fit:cover}
@media (max-width:600px){.visit-photo img{aspect-ratio:4/3}}

/* Statement */
.statement{max-width:760px}
.statement h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:var(--s4)}
.statement h2:first-child{margin-top:0}
.statement li{margin-bottom:.5rem}
.reviewed{color:var(--ink-2);font-size:.95rem}

/* Footer */
.site-foot{background:var(--ink);color:#e9e3d8;padding:var(--s5) 0 var(--s3)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s4)}
.site-foot .brand{color:var(--paper)}
.site-foot h2{font-family:var(--font-t);font-size:.8rem;letter-spacing:.16em;font-weight:800;color:var(--red-hot);margin:0 0 .75rem}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li a,.foot-contact a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.site-foot a:hover{color:var(--red-hot)}
.foot-contact{display:flex;flex-direction:column}
.site-foot p{margin:.75rem 0 0;max-width:34ch}
.foot-base{border-top:1px solid #45464c;margin-top:var(--s4);padding-top:var(--s2);font-size:.9rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* Reveal hooks from app.js (never hidden, only nudged) */
.reveal-pending{transform:translateY(14px)}
.reveal-in{transform:none;transition:transform .5s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.steam-anim path{stroke-dashoffset:0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Button pairs share a row on a phone (owner, 2026-10-16). */
@media (max-width:480px){
.btns:has(>:nth-child(2):last-child){flex-wrap:nowrap;gap:10px}
.btns:has(>:nth-child(2):last-child)>*{flex:1 1 0;min-width:0;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;padding-inline:12px;}
}
