/* Ohgane — tokens from Ohgane Brand Guidelines v1.0 (04-29-2026). See ../DESIGN.md */
:root{
  --ink:#0A0A0A; --ink-2:#161514; --ink-3:#1d1c1a;
  --hanji:#F5EDD8; --paper:#FAF7F2; --sand:#E8DCC0;
  --red:#C8102E; --red-dk:#A50D26; --gold:#C9A961; --stone:#6E675C;
  --serif:'Hahmlet',Georgia,serif;
  --sans:'Gothic A1',system-ui,sans-serif;
  --kr:'Hahmlet',serif;
  --pop:cubic-bezier(.34,1.56,.64,1);
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--hanji);font:300 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
/* COTE-style frame with Korean lattice (亞자 창살) corners */
.frame{position:fixed;inset:10px;pointer-events:none;z-index:80;color:rgba(143,188,170,.8);border:1px solid rgba(143,188,170,.45)} /* celadon 청자 옥색 (owner 10-29) */
.frame .c{position:absolute;width:60px;height:60px;display:block}
.frame .c svg{width:100%;height:100%;display:block;overflow:visible}
.frame .tl{top:-1px;left:-1px}.frame .tr{top:-1px;right:-1px;transform:scaleX(-1)}
.frame .bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.frame .br{bottom:-1px;right:-1px;transform:scale(-1)}
.frame .e{position:absolute;background:rgba(143,188,170,.28)}
.frame .t,.frame .b{left:66px;right:66px;height:1px}.frame .t{top:5px}.frame .b{bottom:5px}
.frame .l,.frame .r{top:66px;bottom:66px;width:1px}.frame .l{left:5px}.frame .r{right:5px}
@media (max-width:600px){.frame{inset:5px}.frame .c{width:40px;height:40px}.frame .t,.frame .b{left:46px;right:46px;top:auto}.frame .t{top:4px}.frame .b{bottom:4px}.frame .l,.frame .r{top:46px;bottom:46px}.frame .l{left:4px}.frame .r{right:4px}}

/* homepage = one screen: video + logo, everything else on subpages */
body.home{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body.home main{flex:1;display:flex}
body.home .hero{flex:1;min-height:0;padding:0}
body.home .hero .wrap{padding:24px 32px}
body.home .hero .mark{width:min(320px,64vw,34vh)}
body.home .hero .big{margin-bottom:24px}
footer.mini{background:var(--ink);padding:14px 0 18px;font-size:13px;color:#BDB3A0;border-top:1px solid rgba(201,169,97,.18)}
footer.mini .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;max-width:1320px;padding:0 40px}
footer.mini nav{display:flex;gap:18px}
footer.mini a{color:#E6DCC6;text-decoration:none}
footer.mini a:hover{text-decoration:underline}
footer.mini .sig{margin-left:auto;display:inline-flex;align-items:center;gap:10px;opacity:.9;text-decoration:none}
footer.mini .sig b{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#CFC6B3}
footer.mini .sig img{height:26px;width:auto}
@media (max-width:600px){footer.mini .wrap{padding:0 20px;gap:10px 16px;justify-content:center;text-align:center}footer.mini .sig{margin-left:0}}
.light{background:var(--hanji);color:var(--ink)}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;margin:0 0 .5em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.eyebrow{font:500 12px/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.light .eyebrow{color:var(--red-dk)}
.center{text-align:center}
.kr{font-family:var(--kr);font-weight:400}
.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 + focus */
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--hanji);font-weight:600;padding:12px 18px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--gold)}
.dark a:focus-visible,.dark button:focus-visible,.dark summary:focus-visible,.hero a:focus-visible,.nav a:focus-visible,.nav button:focus-visible,.nav summary:focus-visible,footer a:focus-visible{outline-color:var(--hanji)}

/* buttons — one action color: dojang red */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:2px;background:var(--red);color:#fff;border:1px solid var(--red);font:500 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,transform .15s}
.btn:hover{background:var(--red-dk);border-color:var(--red-dk)}
.btn:active{transform:scale(.95)}
.btn.ghost{background:transparent;color:var(--hanji);border-color:var(--gold)}
.btn.ghost:hover{border-color:var(--hanji);background:rgba(245,237,216,.08)}
.btn.line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--hanji)}
.link{font:500 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}

/* announce + nav */
.announce{background:var(--ink-2);color:var(--sand);border-bottom:1px solid rgba(201,169,97,.2);text-align:center;font:500 13px/1.4 var(--sans);letter-spacing:.06em;padding:9px 16px}
.announce a{color:#fff;font-weight:600}
.nav{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(201,169,97,.18)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;height:84px;max-width:1320px}
.nav .logo{grid-column:2;grid-row:1}
.nav .logo img{height:56px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav .nl{grid-column:1;grid-row:1}
.nav .nr{grid-column:3;grid-row:1;display:flex;align-items:center;gap:30px;justify-content:flex-end}
.nav .m-only{display:none}
.nav ul a{color:var(--hanji);text-decoration:none;font:400 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid transparent}
.nav ul a:hover,.nav ul a[aria-current]{border-color:var(--gold)}
.order{position:relative}
.order summary{list-style:none}
.order summary::-webkit-details-marker{display:none}
.order-menu{position:absolute;right:0;top:calc(100% + 10px);background:var(--ink);border:1px solid rgba(201,169,97,.35);min-width:250px;padding:8px;display:grid}
.order-menu a{color:var(--hanji);text-decoration:none;padding:13px 14px;font-size:15px;display:flex;justify-content:space-between;gap:12px}
.order-menu a span{color:#B9AE97;font-size:13px}
.order-menu a:hover{background:var(--ink-3)}
.burger{display:none;width:48px;height:48px;background:none;border:1px solid rgba(245,237,216,.4);color:var(--hanji);cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:currentColor;margin:4px auto}

/* hero */
.hero{position:relative;min-height:calc(100vh - 120px);min-height:calc(100svh - 120px);display:grid;place-items:center;text-align:center;color:var(--hanji);background:var(--ink);overflow:hidden}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,10,10,.55) 0%,rgba(10,10,10,.78) 100%)}
.hero .wrap{position:relative;z-index:2;padding:48px 32px;width:100%}
.hero .mark{width:min(320px,66vw);height:auto;margin:0 auto 22px;filter:drop-shadow(0 4px 30px rgba(0,0,0,.5))}
.hero .rule{display:flex;align-items:center;justify-content:center;gap:18px}
.hero .rule::before,.hero .rule::after{content:"";width:48px;height:1px;background:var(--gold)}
.hero h1.eyebrow{font-family:var(--sans);margin-bottom:22px}
.hero .big{font-family:var(--serif);font-style:normal;font-weight:300;font-size:clamp(22px,2.6vw,32px);line-height:1.2;margin:0 0 30px;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero .kr-line{font-family:var(--kr);font-size:clamp(18px,2vw,22px);letter-spacing:.3em;color:var(--sand);margin:0 0 28px}
.hero .lede{max-width:520px;margin-left:auto;margin-right:auto;font-size:18px;color:#EDE4CF;margin-bottom:34px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.vid-toggle{position:absolute;right:28px;bottom:28px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,237,216,.5);background:rgba(10,10,10,.4);color:var(--hanji);cursor:pointer;display:grid;place-items:center}

/* seal */
.seal{display:inline-grid;place-items:center;width:58px;height:58px;background:var(--red);color:#fff;font:700 19px/1.05 var(--kr);transform:rotate(-3deg);border-radius:3px;text-align:center;padding-top:2px}

/* sections */
section{padding:112px 0}
.dark{background:var(--ink);color:var(--hanji)}
.dark-2{background:var(--ink-2)}
.hanji{background:var(--hanji)}
.h2{font-size:clamp(32px,4vw,52px)}
.h3{font-size:26px}
.muted{color:var(--stone)}
.dark .muted{color:#BDB3A0}

/* statement (COTE-style centered) */
.statement{text-align:center}
.statement .wrap{max-width:900px}
.statement .seal{margin-bottom:34px}
.statement .say{font:300 clamp(24px,3vw,38px)/1.4 var(--serif);margin:0 0 30px}
.statement .say em{color:var(--gold);font-style:normal}
.statement p.sub{color:#C9BFAB;max-width:640px;margin:0 auto 30px}
.frame{border:1px solid rgba(201,169,97,.4);outline:1px solid rgba(201,169,97,.18);outline-offset:6px}

/* story */
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.story .since{font-family:var(--serif);font-style:italic;font-size:clamp(80px,11vw,150px);line-height:.9;color:var(--red-dk);margin:0 0 18px;letter-spacing:-.03em}
.story p{font-size:18px;max-width:540px}
.story figure{margin:0;position:relative}
.story figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.story figure .seal{position:absolute;left:-29px;bottom:40px}

/* menu rail */
.rail-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:44px}
.rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 32px 24px;max-width:var(--wrap);margin:0 auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.dish{flex:0 0 300px;scroll-snap-align:start;margin:0}
.dish .ph{overflow:hidden;aspect-ratio:1;background:var(--ink-3)}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.dish:hover img{transform:scale(1.06)}
.dish h3{font-size:22px;margin:18px 0 4px}
.dish .ko{font-family:var(--kr);font-size:14px;color:var(--gold);letter-spacing:.12em}
.dish p{font-size:15px;color:#C9BFAB;margin:8px 0 0}
.rail-ctrl{display:flex;gap:10px}
.rail-ctrl button{width:48px;height:48px;border-radius:50%;background:none;border:1px solid rgba(245,237,216,.45);color:var(--hanji);cursor:pointer;font-size:18px}
.rail-ctrl button:hover{border-color:var(--gold);color:var(--gold)}

/* AYCE band */
.ayce{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.ayce .ph img{width:100%;height:100%;object-fit:cover}
.ayce .txt{padding:96px 72px;display:flex;flex-direction:column;justify-content:center}
.ayce ul{list-style:none;padding:0;margin:8px 0 34px;display:grid;gap:14px}
.ayce li{display:flex;gap:14px;align-items:baseline;font-size:17px}
.ayce li::before{content:"";flex:0 0 18px;height:1px;background:var(--red);transform:translateY(-5px)}

/* locations */
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.loc{background:var(--ink-3);border:1px solid rgba(201,169,97,.3)}
.loc .ph{aspect-ratio:4/3;overflow:hidden}
.loc .ph img{width:100%;height:100%;object-fit:cover}
.loc .body{padding:28px 28px 30px}
.loc h3{font-size:28px;margin-bottom:6px}
.locs-head{text-align:center;max-width:640px;margin:0 auto 56px}
.loc .tag{font:500 12px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.loc address{font-style:normal;margin-bottom:6px}
.loc .hrs{font-size:15px;color:#C9BFAB;margin-bottom:22px}
.loc .acts{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}
.loc .acts .btn{min-height:44px;padding:0 20px;font-size:13px}

/* split cards (catering/parties) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.panel{position:relative;min-height:460px;color:var(--hanji);display:flex;align-items:end;overflow:hidden;text-decoration:none}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.05),rgba(10,10,10,.85))}
.panel:hover img{transform:scale(1.04)}
.panel .in{position:relative;z-index:2;padding:40px}
.panel p{color:#E6DCC6;max-width:420px}

/* FAQ */
.faq{max-width:860px;margin:0 auto}
.faq details{border-top:1px solid rgba(201,169,97,.3)}
.faq details:last-child{border-bottom:1px solid rgba(201,169,97,.3)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font:400 20px/1.4 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:20px;font:300 28px/1 var(--sans);color:var(--gold);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:720px;color:#CFC6B3}

/* footer */
footer{background:var(--ink);color:#CFC6B3;padding:88px 0 30px;font-size:15px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid rgba(201,169,97,.2)}
footer .fh{font:500 12px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
footer ul{list-style:none;margin:0;padding:0;line-height:2.4}
footer a{text-decoration:none;color:#E6DCC6}
footer a:hover{color:#fff;text-decoration:underline}
footer .brand img{width:190px;height:auto;margin-bottom:18px}
footer .bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:13px;color:#B5AB98}
footer .sig{margin-left:auto;display:inline-flex;align-items:center;gap:10px;opacity:.9;text-decoration:none;transition:transform 200ms var(--pop),opacity 160ms}
footer .sig b{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#CFC6B3}
footer .sig img{height:34px;width:auto;display:block}
footer .sig:hover{opacity:1;transform:rotate(-4deg) scale(1.08);text-decoration:none}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
}

/* responsive */
@media (max-width:980px){
  .nav .wrap{grid-template-columns:auto 1fr auto}
  .nav .logo{grid-column:2;justify-self:center}
  .burger{grid-column:1;grid-row:1}
  .nav .nr{grid-column:3}
  .nav ul{display:none;position:absolute;left:0;right:0;top:84px;background:var(--ink);flex-direction:column;gap:0;padding:12px 24px 24px;border-bottom:1px solid rgba(201,169,97,.25)}
  .nav .nl.open{display:flex}
  .nav .nr ul{display:none!important}
  .nav .m-only{display:list-item}
  .nav ul a{display:block;padding:16px 0;font-size:15px}
  .burger{display:block}
  .nav .order{margin-left:0}
  .story,.ayce,.split{grid-template-columns:1fr}
  .story{gap:48px}
  .ayce .ph{aspect-ratio:16/10}
  .ayce .txt{padding:64px 32px}
  .locs{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  section{padding:80px 0}
  body::before{inset:5px}
  .nav .wrap{gap:10px;height:68px}
  .nav ul{top:68px}
  .nav .order .btn{min-height:42px;font-size:12px;letter-spacing:.08em}
  .nav .logo img{height:44px}
  .nav .order .btn{padding:0 16px}
  .order-menu{right:-60px}
  .hero{min-height:86svh}
  .hero .wrap{padding-bottom:64px}
  .hero .ctas .btn{flex:1 1 100%}
  .rail{padding:0 16px 20px}
  .dish{flex-basis:76vw}
  .rail-ctrl{display:none}
  .story figure .seal{left:12px;bottom:12px}
  .loc .body{padding:24px 20px}
  .panel{min-height:380px}
  .panel .in{padding:28px 22px}
  .faq summary{font-size:19px}
  footer .cols{grid-template-columns:1fr}
  footer .sig img{height:28px}
}


/* ---------- subpages ---------- */
.page-hero{position:relative;overflow:hidden;background:var(--ink);text-align:center;padding:120px 0 96px}
.page-hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.page-hero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.45),rgba(10,10,10,.85))}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1.eyebrow{margin-bottom:22px}
.rule{display:flex;align-items:center;justify-content:center;gap:18px}
.rule::before,.rule::after{content:"";width:48px;height:1px;background:var(--gold)}
.page-hero .title{font:400 clamp(42px,6vw,80px)/1.05 var(--serif);letter-spacing:-.01em;margin:0 0 22px}
.page-hero .lede{max-width:620px;margin:0 auto;color:#D9CFBA;font-size:18px}
.center{text-align:center}
.narrow{max-width:760px}
.ctas-c{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ctas-l{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ctas-c .order-menu{left:0;right:auto;text-align:left}

.menu-head{max-width:640px;margin-bottom:44px}
.menu-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.menu-list li{padding:22px 0;border-top:1px solid rgba(201,169,97,.25)}
.menu-list h3{font-size:22px;margin:0 0 6px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.menu-list .ko{font:400 15px/1 var(--kr);color:var(--gold);letter-spacing:.08em}
.menu-list p{margin:0;color:#C9BFAB;font-size:16px}

.visit{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.facts{margin:26px 0 0;display:grid;gap:18px}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:16px;border-top:1px solid rgba(201,169,97,.25);padding-top:16px}
.facts dt{font:500 12px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.facts dd{margin:0} .facts address{font-style:normal}
.map{aspect-ratio:4/3;border:1px solid rgba(201,169,97,.35)}
.map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3) contrast(1.05)}
.locs.two{grid-template-columns:repeat(2,1fr);max-width:860px;margin:0 auto}

.ticks{list-style:none;padding:0;margin:8px 0 22px;display:grid;gap:10px}
.ticks li{display:flex;gap:14px;align-items:baseline}
.ticks li::before{content:"";flex:0 0 18px;height:1px;background:var(--red);transform:translateY(-5px)}

.inq{display:grid;gap:18px;margin-top:40px}
.inq .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inq label{display:grid;gap:8px;font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.inq input,.inq select,.inq textarea{font:300 17px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--hanji);background:var(--ink-3);border:1px solid rgba(201,169,97,.4);padding:14px 16px;min-height:50px;border-radius:2px;width:100%}
.inq select{appearance:auto}
.inq input:focus,.inq select:focus,.inq textarea:focus{border-color:var(--hanji)}
.inq .btn{justify-self:start;margin-top:6px}
.inq .fine{font-size:14px;color:#BDB3A0;margin:0}
.hp{position:absolute;left:-9999px}

.values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.values li{border-top:1px solid var(--gold);padding-top:22px}
.values .ko{font:700 30px/1 var(--kr);color:var(--hanji)}
.values h3{font-size:22px;color:var(--gold);margin:14px 0 8px}
.values p{color:#C9BFAB;font-size:16px;margin:0}
.seal-img{margin:0 auto 30px;width:60px;height:auto}

.prose{max-width:760px}
.prose h2{font-size:26px;margin:44px 0 14px}
.prose p,.prose li{color:#DDD3BF}
.prose a{color:var(--hanji)}
.prose ul{padding-left:20px;display:grid;gap:8px}

@media (max-width:980px){
  .visit{grid-template-columns:1fr;gap:40px}
  .menu-list{grid-template-columns:1fr}
  .values{grid-template-columns:1fr 1fr}
  .locs.two{grid-template-columns:1fr}
}
@media (max-width:600px){
  .page-hero{padding:84px 0 64px}
  .page-hero h1.eyebrow{letter-spacing:.16em}
  .page-hero .rule::before,.page-hero .rule::after{display:none}
  .inq .row{grid-template-columns:1fr}
  .inq .btn{justify-self:stretch}
  .values{grid-template-columns:1fr}
  .facts div{grid-template-columns:1fr;gap:4px}
}
.a11y-contrast .page-hero,.a11y-contrast .inq input,.a11y-contrast .inq select,.a11y-contrast .inq textarea{background:#000!important;color:#fff!important}
.a11y-contrast .menu-list p,.a11y-contrast .values p,.a11y-contrast .prose p,.a11y-contrast .prose li,.a11y-contrast .page-hero .lede,.a11y-contrast .inq .fine,.a11y-contrast .facts dt,.a11y-contrast .inq label,.a11y-contrast .menu-list .ko,.a11y-contrast .values h3{color:#fff!important}
.a11y-contrast .page-hero .poster{opacity:.12}

.toc{background:var(--ink);border-bottom:1px solid rgba(201,169,97,.25)}
.toc .wrap{display:flex;gap:10px 28px;flex-wrap:wrap;justify-content:center;padding-top:20px;padding-bottom:20px}
.toc a{color:var(--hanji);text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid transparent}
.toc a:hover{border-color:var(--gold)}
/* subtle film grain over everything (pointer-events off) */
body::after{content:"";position:fixed;inset:-50%;z-index:79;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.a11y-contrast body::after{display:none}

/* press */
.press-list{list-style:none;margin:0 auto;padding:0;max-width:860px;display:grid;gap:0}
.press-card{border-top:1px solid rgba(201,169,97,.3);padding:30px 0}
.press-card:last-child{border-bottom:1px solid rgba(201,169,97,.3)}
.press-card h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 14px;line-height:1.3}

/* location cards without photos */
.loc{display:flex;flex-direction:column}
.loc .body{padding:34px 30px}
/* accessibility widget */
.a11y{position:fixed;left:16px;bottom:16px;z-index:90}
.a11y-btn{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--hanji);border:2px solid var(--gold);display:grid;place-items:center;cursor:pointer}
.a11y-panel[hidden]{display:none!important}
.a11y-panel{position:absolute;left:0;bottom:64px;width:250px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.25);padding:16px 18px;display:grid;gap:10px;font-size:15px}
.a11y-panel b{font-family:var(--serif);font-size:19px;font-weight:400}
.a11y-panel label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}
.a11y-panel input{width:20px;height:20px;accent-color:var(--red)}
.a11y-reset{justify-self:start;background:none;border:1px solid var(--ink);padding:8px 14px;font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:40px}
.a11y-panel a{font-size:14px}
@media (max-width:600px){.a11y{left:12px;bottom:12px}.a11y-btn{width:46px;height:46px}.a11y-panel{width:min(250px,calc(100vw - 24px))}}
.a11y-bigtext{font-size:118%}
.a11y-bigtext body{font-size:19px}
.a11y-contrast body,.a11y-contrast .hanji,.a11y-contrast .loc,.a11y-contrast .a11y-panel{background:#fff!important;color:#000!important}
.a11y-contrast .dark,.a11y-contrast footer,.a11y-contrast .nav,.a11y-contrast .announce,.a11y-contrast .order-menu{background:#000!important;color:#fff!important}
.a11y-contrast .muted,.a11y-contrast .loc .hrs,.a11y-contrast .faq details p{color:#000!important}
.a11y-contrast .dark .muted,.a11y-contrast .dish p,.a11y-contrast footer,.a11y-contrast footer a,.a11y-contrast footer .bottom,.a11y-contrast footer .sig b{color:#fff!important}
.a11y-contrast .eyebrow,.a11y-contrast .loc .tag,.a11y-contrast .story .since{color:#000!important}
.a11y-contrast .dark .eyebrow,.a11y-contrast .hero .eyebrow,.a11y-contrast footer .fh,.a11y-contrast .dish .ko{color:#fff!important}
.a11y-contrast .btn{background:#000!important;color:#fff!important;border:2px solid #fff!important}
.a11y-contrast .btn.line{border-color:#000!important}
.a11y-contrast .hero::after,.a11y-contrast .panel::after{background:rgba(0,0,0,.82)!important}
.a11y-contrast .hero .big{text-shadow:none}
.a11y-contrast a{text-decoration:underline}
.a11y-nomotion *,.a11y-nomotion *::before,.a11y-nomotion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.a11y-nomotion .rv{opacity:1!important;transform:none!important}
.a11y-links a{text-decoration:underline!important;text-underline-offset:3px}
.a11y-spacing body{line-height:1.8;letter-spacing:.03em;word-spacing:.12em}
.a11y-spacing p,.a11y-spacing li{margin-bottom:1em}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (forced-colors:active){.btn,.loc,.a11y-btn{border:2px solid CanvasText}}
@media (max-width:600px){.hero .rule::before,.hero .rule::after{display:none}.hero h1.eyebrow{letter-spacing:.16em}}
body.home .announce{display:none} /* same info sits in the home mini footer */
.nav .wrap{padding:0 44px}
@media (max-width:600px){.nav .wrap{padding:0 30px}.frame .c{width:28px;height:28px}.frame .t,.frame .b{left:34px;right:34px}.frame .l,.frame .r{top:34px;bottom:34px}body.home .a11y{bottom:96px}footer.mini{padding-bottom:22px}}
@media (max-width:600px){body.home .hero .ctas{flex-wrap:nowrap;gap:10px}body.home .hero .ctas .btn{flex:1 1 0;padding:0 10px;font-size:12px;letter-spacing:.1em}body.home .hero .wrap{padding-bottom:72px}body.home .vid-toggle{right:18px;bottom:16px}}
