/*
Theme Name: RIKAVI
Theme URI: https://rikavi.in
Author: RIKAVI · Gourmet Guys
Description: RIKAVI, the gourmet crockery store. Clean white design with framed product photography, logo intro, page transitions, sliding tabs, full-screen menu, address card, opening planner, enquiries saved in the dashboard, and SEO for HoReCa keywords.
Version: 4.7.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: rikavi
*/

/* Layout: a calm white store. Framed product photography on a warm white wall, a refined serif, small mono product labels, one terracotta accent from the RIKAVI spoon. All pages live in one shell with soft curtain transitions. Deliberately single-theme (light). */
:root{
  --wall:#F7F6F2; --white:#FFFFFF; --ink:#161514; --ink-2:#6C6862; --ink-3:#A09B93; --line:#E4E0D8; --clay:#B4492A; --clay-2:#D0623A; --night:#151413;
  --serif:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --sans:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gut:clamp(16px,5vw,80px); --max:1440px; --ease:cubic-bezier(.22,1,.36,1); --io:cubic-bezier(.76,0,.24,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--wall);color:var(--ink);font:300 1.05rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:1.5px solid var(--clay);outline-offset:4px;border-radius:2px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:.98;margin:0;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;font-weight:300}
h1{font-size:clamp(3.4rem,8.4vw,8.8rem)}
h2{font-size:clamp(2.6rem,5.8vw,6rem)}
h3{font-size:clamp(1.6rem,2.4vw,2.2rem)}
p{margin:0}
.lab{font:500 .68rem/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.lab b{color:var(--clay);font-weight:500}
.lead{font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--ink-2);max-width:46ch}
.sec{padding-block:clamp(84px,11vw,180px)}
.line{height:1px;background:var(--line)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 1.6rem;border-radius:999px;border:1px solid var(--ink);text-decoration:none;font:500 .72rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s}
.btn::before{content:"";position:absolute;inset:0;background:var(--ink);border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.btn:hover{color:var(--wall)}
.btn:hover::before{transform:translateY(0)}
.btn .ar{width:16px;height:16px;transition:transform .6s var(--ease)}
.btn:hover .ar{transform:translateX(4px) rotate(-45deg)}
.btn.solid{background:var(--ink);color:var(--wall)}
.btn.solid::before{background:var(--clay)}
.btn.solid:hover{border-color:var(--clay)}
.btn.light{border-color:rgba(247,246,242,.5);color:var(--wall)}
.btn.light::before{background:var(--wall)}
.btn.light:hover{color:var(--ink)}
.link{position:relative;text-decoration:none;font:500 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;padding-bottom:6px}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.25);transform-origin:left;transition:transform .6s var(--ease)}
.link:hover::after{transform:scaleX(1)}

/* ---------- header ---------- */
#hdr{position:fixed;top:0;left:0;right:0;z-index:60;padding:calc(16px + env(safe-area-inset-top,0px)) var(--gut) 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;transition:background .5s,padding .5s,transform .6s var(--ease)}
#hdr.solid{background:rgba(247,246,242,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-block:10px;box-shadow:0 1px 0 var(--line)}
#hdr.hide{transform:translateY(-110%)}
#hdr .brand img{height:26px;width:auto}
#hdr nav{justify-self:center;display:flex;gap:clamp(12px,2vw,30px)}
#hdr nav a{position:relative;font:500 .68rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:8px 0;transition:color .3s}
#hdr nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
#hdr nav a:hover,#hdr nav a[aria-current="page"]{color:var(--ink)}
#hdr nav a:hover::after,#hdr nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
#hdr .right{display:flex;align-items:center;gap:10px}
#hdr .btn{min-height:44px;padding:0 1.1rem}
.mbtn{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 6px 0 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);font:500 .66rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;transition:border-color .3s}
.mbtn:hover{border-color:var(--ink)}
.mbtn .ic{position:relative;width:32px;height:32px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.mbtn .ic i{position:absolute;width:12px;height:1.5px;background:var(--wall);transition:transform .5s var(--io)}
.mbtn .ic i:first-child{transform:translateY(-3px)}
.mbtn .ic i:last-child{transform:translateY(3px)}
.mbtn[aria-expanded="true"] .ic i:first-child{transform:rotate(45deg)}
.mbtn[aria-expanded="true"] .ic i:last-child{transform:rotate(-45deg)}
.mbtn .w{display:grid;height:1em;overflow:hidden}
.mbtn .w span{grid-area:1/1;transition:transform .5s var(--io)}
.mbtn .w span+span{transform:translateY(110%)}
.mbtn[aria-expanded="true"] .w span:first-child{transform:translateY(-110%)}
.mbtn[aria-expanded="true"] .w span+span{transform:translateY(0)}
@media (max-width:1180px){#hdr nav{display:none}#hdr{grid-template-columns:1fr auto}}
@media (max-width:520px){#hdr .right .btn{display:none}}

/* ---------- full-screen menu ---------- */
#menu{position:fixed;inset:0;z-index:55;background:var(--wall);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);padding:calc(100px + env(safe-area-inset-top,0px)) var(--gut) calc(32px + env(safe-area-inset-bottom,0px));clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--io);visibility:hidden;overflow:auto}
#menu.open{clip-path:inset(0 0 0 0);visibility:visible}
#menu ol{list-style:none;margin:0;padding:0;counter-reset:m}
#menu li{overflow:hidden;border-bottom:1px solid var(--line)}
#menu li a{display:flex;align-items:baseline;gap:18px;padding:.35rem 0;text-decoration:none;font:300 clamp(2.2rem,5.2vw,4.6rem)/1.08 var(--serif);transform:translateY(105%);transition:transform .9s var(--ease),color .3s,padding-left .5s var(--ease)}
#menu.open li a{transform:none}
#menu li a::before{counter-increment:m;content:"0" counter(m);font:500 .64rem var(--mono);letter-spacing:.16em;color:var(--clay);min-width:2.4ch}
#menu li:nth-child(n+10) a::before{content:counter(m)}
#menu li a:hover{font-style:italic;padding-left:12px}
#menu .side{display:flex;flex-direction:column;justify-content:space-between;gap:24px}
#menu .peekm{position:relative;aspect-ratio:4/5;max-height:52vh;background:var(--white);padding:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.25);opacity:0;transform:translateY(30px);transition:opacity .8s .3s,transform 1s .3s var(--ease)}
#menu.open .peekm{opacity:1;transform:none}
#menu .peekm img{width:100%;height:100%;object-fit:cover;transition:opacity .4s}
#menu .mfoot{display:grid;gap:6px;font-size:.95rem;color:var(--ink-2)}
@media (max-width:860px){#menu{grid-template-columns:1fr}#menu .peekm{display:none}}

/* ---------- intro ---------- */
#loader{position:fixed;inset:0;z-index:200;background:var(--wall);display:grid;place-items:center;overflow:hidden}
#loader .lock{display:grid;justify-items:center;gap:clamp(12px,2vmin,22px)}
#loader .bowls{position:relative;width:min(36vmin,260px);aspect-ratio:365/222}
#loader .bw{position:absolute;inset:0}
#loader .bw img{width:100%;height:100%}
#loader .b1{clip-path:polygon(0 41.5%,100% 41.5%,100% 100%,0 100%);transform-origin:50% 100%}
#loader .b2{clip-path:polygon(0 0,100% 0,100% 41.5%,0 41.5%);transform-origin:50% 45%}
#loader .word{position:relative;width:min(52vmin,380px);aspect-ratio:789/203}
#loader .word img{position:absolute;top:0;height:100%}
#loader .sp{transform-origin:50% 100%;z-index:2}
#loader .caret{position:absolute;top:30%;height:70%;width:2px;background:var(--clay);left:0;opacity:0}
#loader .tag{font:500 .7rem var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-2);opacity:0}
#loader .skip{position:absolute;right:var(--gut);bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.nogsap #loader{display:none}

/* ---------- page curtain ---------- */
#curtain{position:fixed;inset:0;z-index:150;pointer-events:none;display:grid;place-items:center;background:var(--wall);clip-path:inset(100% 0 0 0)}
#curtain .t{text-align:center}
#curtain img{width:54px;margin:0 auto 18px}
#curtain p{font:300 clamp(2.6rem,6vw,5rem)/1 var(--serif);font-style:italic}
#curtain i{position:absolute;left:0;right:0;top:0;height:1px;background:var(--clay)}

/* ---------- home ---------- */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(32px,6vw,110px);align-items:center;padding-top:calc(110px + env(safe-area-inset-top,0px));padding-bottom:70px;position:relative}
.hero .intro{margin-top:clamp(22px,3vw,40px)}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,4vw,48px)}
.hero .meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:clamp(28px,4vw,46px)}
.spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px circle at var(--x,72%) var(--y,40%),rgba(255,255,255,.85),rgba(255,255,255,0) 60%);z-index:0}
.hero > *:not(.spot){position:relative;z-index:1}
.frame{background:var(--white);padding:clamp(16px,2.4vw,36px);box-shadow:0 1px 0 var(--line),0 44px 90px -46px rgba(30,24,18,.32);margin:0}
.frame .im{overflow:hidden;aspect-ratio:4/5;background:#ebe8e1}
.frame.land .im{aspect-ratio:5/4}
.frame img{width:100%;height:100%;object-fit:cover;will-change:transform}
.spec{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1.2rem;margin:18px 0 0;font-size:.9rem;color:var(--ink-2)}
.spec dt{font:500 .6rem/1.9 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.spec dd{margin:0;color:var(--ink)}
.spec .t{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;font:400 1.4rem/1.1 var(--serif);font-style:italic;color:var(--ink);text-transform:none;letter-spacing:0;margin-bottom:.4rem}
.spec .t small{font:500 .6rem var(--mono);font-style:normal;letter-spacing:.18em;color:var(--clay)}
@media (max-width:860px){.hero{grid-template-columns:1fr;padding-top:120px}.hero .frame{max-width:440px}}

.band{border-block:1px solid var(--line);background:var(--white);overflow:hidden}
.band .t{display:flex;width:max-content;gap:3rem;padding:20px 0;animation:marq 40s linear infinite}
.band span{display:inline-flex;align-items:center;gap:3rem;font:300 clamp(1.5rem,2.6vw,2.3rem)/1 var(--serif);font-style:italic;white-space:nowrap}
.band span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--clay)}
@keyframes marq{to{transform:translateX(-50%)}}

.index .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,70px)}
.index .head p{justify-self:end}
.cols{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.cols a{position:relative;display:grid;grid-template-columns:5ch minmax(0,1fr) auto 44px;align-items:center;gap:20px;padding:22px 14px;margin:0 -14px;border-bottom:1px solid var(--line);text-decoration:none;isolation:isolate;overflow:hidden;transition:color .5s var(--ease)}
.cols a::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--io);z-index:-1}
.cols a:hover::before{transform:scaleY(1);transform-origin:top}
.cols a:hover{color:var(--wall)}
.cols .n{font:500 .68rem var(--mono);letter-spacing:.16em;color:var(--clay)}
.cols h3{position:relative;display:grid;height:1.05em;overflow:hidden;font-size:clamp(1.9rem,4vw,3.6rem);line-height:1.05}
.cols h3 span{grid-area:1/1;transition:transform .7s var(--io)}
.cols h3 span+span{transform:translateY(105%);font-style:italic;color:var(--clay-2)}
.cols a:hover h3 span:first-child{transform:translateY(-105%)}
.cols a:hover h3 span+span{transform:translateY(0)}
.cols .k{font:500 .64rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);transition:color .5s}
.cols a:hover .k{color:#B9B3AA}
.cols .pl{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .8s var(--ease),border-color .4s,background .4s}
.cols .pl img{width:26px;transition:transform .9s var(--ease)}
.cols a:hover .pl{border-color:var(--clay);background:var(--wall);transform:translateX(-6px)}
.cols a:hover .pl img{transform:rotate(360deg)}
@media (max-width:860px){.index .head{grid-template-columns:1fr}.index .head p{justify-self:start}.cols .k{display:none}.cols a{grid-template-columns:4ch minmax(0,1fr) 44px}}

.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,130px);align-items:center}
.feat.flip .frame{order:2}
.feat .frame{max-width:560px;width:100%;justify-self:center}
.feat .no{display:flex;align-items:center;gap:14px;margin-bottom:1.4rem}
.feat .no::after{content:"";height:1px;background:var(--line);flex:1;max-width:160px}
.feat .lead{margin-top:1.4rem}
.feat .spec{max-width:440px;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.2rem}
.feat .btn{margin-top:2rem}
@media (max-width:860px){.feat{grid-template-columns:1fr}.feat.flip .frame{order:0}}

.trip{background:var(--white);border-block:1px solid var(--line)}
.trip .head{text-align:center;max-width:840px;margin:0 auto clamp(40px,6vw,80px)}
.trip .head .lead{margin:1.2rem auto 0;max-width:54ch}
.trip .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,44px)}
.trip figure{margin:0}
.trip .im{aspect-ratio:3/4;overflow:hidden;background:#ebe8e1}
.trip img{width:100%;height:100%;object-fit:cover}
.trip figcaption{margin-top:14px;display:flex;justify-content:space-between;gap:10px;font:500 .64rem/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.trip figcaption b{color:var(--ink);font-weight:500}
@media (max-width:760px){.trip .row{grid-template-columns:1fr 1fr}.trip figure:last-child{grid-column:1/-1}.trip figure:last-child .im{aspect-ratio:16/10}}

.quote{text-align:center}
.quote .q{font:300 clamp(2.2rem,5.2vw,5.2rem)/1.08 var(--serif);max-width:20ch;margin:0 auto;letter-spacing:-.02em}
.quote .q em{color:var(--clay)}
.quote .lab{margin-top:2rem}

.stats{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);align-items:end}
.stat{border-top:1px solid var(--ink);padding-top:18px}
.stat b{display:block;font:300 clamp(3.4rem,7vw,6.8rem)/.9 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.stat span{display:block;margin-top:.8rem;color:var(--ink-2);font-size:.95rem}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr}.stats > div:first-child{grid-column:1/-1}}

/* journal cards */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,40px)}
.post{text-decoration:none;display:block}
.post .im{aspect-ratio:4/3;overflow:hidden;background:#ebe8e1;margin-bottom:16px}
.post img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.post:hover img{transform:scale(1.06)}
.post h3{margin-top:.6rem;transition:color .3s}
.post:hover h3{color:var(--clay)}
@media (max-width:860px){.posts{grid-template-columns:1fr}}

/* dark CTA */
.night{background:var(--night);color:var(--wall);position:relative;overflow:hidden}
.night .grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:end}
.night .lab{color:#B9B3AA}
.night .lead{color:#CFC9BF}
.night .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.night .mk{position:absolute;right:-6vw;bottom:-8vw;width:46vw;max-width:640px;opacity:.07;filter:brightness(0) invert(1)}
@media (max-width:860px){.night .grid{grid-template-columns:1fr}}

/* ---------- inner pages ---------- */
.phead{padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:clamp(40px,6vw,80px)}
.phead .row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end;margin-top:clamp(22px,3vw,40px)}
.phead .crumbs{display:flex;gap:10px;margin-bottom:1.6rem}
.phead .crumbs a{text-decoration:none}
@media (max-width:760px){.phead .row{grid-template-columns:1fr}}
.wide{margin-inline:var(--gut);max-width:calc(var(--max) - 2 * var(--gut));margin-left:auto;margin-right:auto}
.wide .frame .im{aspect-ratio:21/9}
@media (max-width:700px){.wide .frame .im{aspect-ratio:4/3}}

.prod{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px) clamp(20px,4vw,56px)}
.pc .frame{padding:clamp(12px,1.6vw,22px)}
.pc .frame .im{aspect-ratio:5/4}
.pc .top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:22px}
.pc p{margin-top:.7rem;color:var(--ink-2);max-width:48ch}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tags span{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.35rem .8rem;font:500 .62rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:760px){.prod{grid-template-columns:1fr}}

.brands{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:center;background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
@media (max-width:760px){.brands{grid-template-columns:1fr}}

.k3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.6vw,40px)}
.k3 .frame .im{aspect-ratio:4/5}
.k3 h3{margin-top:22px}
.k3 p{color:var(--ink-2);margin-top:.6rem}
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.why > div{padding:26px 22px 0 0}
.why b{display:block;font:300 2.6rem/1 var(--serif);color:var(--clay);margin-bottom:.8rem}
.why p{color:var(--ink-2);margin-top:.5rem;font-size:.95rem}
@media (max-width:860px){.k3{grid-template-columns:1fr}.why{grid-template-columns:1fr 1fr;gap:10px}}

/* tabs (segmented, sliding indicator) */
.tabs{position:relative;display:inline-flex;flex-wrap:wrap;gap:2px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--white);max-width:100%}
.tabs button{position:relative;z-index:1;padding:.85rem 1.2rem;border-radius:999px;font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:color .4s;white-space:nowrap}
.tabs button[aria-selected="true"],.tabs button[aria-pressed="true"]{color:var(--wall)}
.tabs .ind{position:absolute;z-index:0;top:5px;left:0;height:calc(100% - 10px);border-radius:999px;background:var(--ink);transition:transform .6s var(--ease),width .6s var(--ease)}
@media (max-width:760px){.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:16px}.tabs::-webkit-scrollbar{display:none}}
.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center;margin-top:clamp(36px,5vw,64px)}
.panel .frame .im{aspect-ratio:5/4}
.panel .lead{margin-top:1.2rem}
@media (max-width:760px){.panel{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);counter-reset:s}
.steps > div{padding:26px 22px 0 0;position:relative}
.steps > div::before{counter-increment:s;content:"0" counter(s);font:500 .66rem var(--mono);letter-spacing:.16em;color:var(--clay);display:block;margin-bottom:1rem}
.steps p{color:var(--ink-2);margin-top:.6rem;font-size:.95rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;gap:12px}}

/* materials */
.mpanel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:center;margin-top:clamp(36px,5vw,60px)}
.swatch{aspect-ratio:1;border-radius:50%;max-width:420px;width:100%;margin:0 auto;box-shadow:inset 0 -30px 60px rgba(0,0,0,.12),inset 0 20px 40px rgba(255,255,255,.6),0 40px 80px -40px rgba(0,0,0,.35);position:relative;transition:background .8s var(--ease)}
.swatch::after{content:"";position:absolute;inset:18%;border-radius:50%;box-shadow:inset 0 10px 30px rgba(0,0,0,.12),0 1px 0 rgba(255,255,255,.6)}
.bars{display:grid;gap:14px;margin-top:1.6rem;max-width:440px}
.bars div{display:grid;grid-template-columns:9ch 1fr;align-items:center;gap:14px;font:500 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.bars i{height:2px;background:var(--line);position:relative;overflow:hidden}
.bars i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--v,50%);background:var(--clay);transition:width .9s var(--ease)}
@media (max-width:760px){.mpanel{grid-template-columns:1fr}.swatch{max-width:240px}}
.tbl{overflow-x:auto;border-top:1px solid var(--ink)}
.tbl table{width:100%;border-collapse:collapse;min-width:680px;font-size:.95rem}
.tbl th,.tbl td{text-align:left;padding:16px 14px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font:500 .62rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.tbl td:first-child{font:400 1.3rem/1.2 var(--serif);font-style:italic}

/* planner */
.plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:start}
.covers{display:flex;align-items:baseline;gap:18px;margin:1rem 0 1.6rem}
.covers output{font:300 clamp(4rem,9vw,7.4rem)/.9 var(--serif);font-variant-numeric:lining-nums tabular-nums;min-width:3ch}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent}
input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--clay);margin-top:-11px;border:4px solid var(--wall);box-shadow:0 0 0 1px var(--clay)}
input[type=range]::-moz-range-track{height:1px;background:var(--ink)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--clay);border:4px solid var(--wall)}
.sheet{background:var(--white);padding:clamp(22px,3vw,40px);box-shadow:0 1px 0 var(--line),0 40px 80px -46px rgba(30,24,18,.3)}
.sheet table{width:100%;border-collapse:collapse;font-variant-numeric:lining-nums tabular-nums}
.sheet td{padding:14px 0;border-bottom:1px solid var(--line)}
.sheet td:nth-child(2),.sheet td:nth-child(3){text-align:right}
.sheet td:nth-child(3){color:var(--ink-3);width:8ch;font:500 .7rem var(--mono)}
.sheet tr.tot td{border-bottom:0;font:400 1.6rem var(--serif);padding-top:18px}
.sheet .note{font-size:.88rem;color:var(--ink-2);margin-top:1rem}
@media (max-width:860px){.plan{grid-template-columns:1fr}}

/* about */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:center}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.vals > div{padding:26px 26px 0 0}
.vals p{color:var(--ink-2);margin-top:.6rem}
@media (max-width:760px){.vals{grid-template-columns:1fr}}
.formats{display:flex;flex-wrap:wrap;gap:8px 0;margin-top:2rem;font:300 clamp(1.6rem,3.2vw,2.8rem)/1.3 var(--serif)}
.formats span{display:inline-flex;align-items:center}
.formats span:not(:last-child)::after{content:"·";color:var(--clay);margin:0 .5em}
.formats span:nth-child(odd){font-style:italic}

/* journal list + article */
.jl{border-top:1px solid var(--ink)}
.jrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(22px,3vw,40px) 0;border-bottom:1px solid var(--line);text-decoration:none}
.jrow .im{aspect-ratio:4/3;overflow:hidden;background:#ebe8e1}
.jrow img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.jrow:hover img{transform:scale(1.05)}
.jrow h2{font-size:clamp(1.9rem,3.4vw,3.2rem);margin:.6rem 0 .8rem;transition:color .3s}
.jrow:hover h2{color:var(--clay)}
.jrow p{color:var(--ink-2);max-width:56ch}
@media (max-width:760px){.jrow{grid-template-columns:1fr}}
.art{max-width:70ch;margin:0 auto}
.art .meta{margin-top:1.2rem}
.art h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:2.6rem 0 .9rem}
.art p{margin:0 0 1.2rem;font-size:1.12rem;color:#2b2926}
.art .drop::first-letter{float:left;font:300 5rem/.8 var(--serif);color:var(--clay);margin:.45rem .7rem 0 0}
.art blockquote{margin:2.4rem 0;padding:0 0 0 1.6rem;border-left:1px solid var(--clay);font:300 clamp(1.7rem,3vw,2.4rem)/1.2 var(--serif);font-style:italic}
.art .tbl{margin:1.6rem 0 2rem}
.art .tbl table{min-width:460px}
.art .tbl td:first-child{font-size:1.1rem}
.art ul{padding-left:1.2rem;margin:0 0 1.2rem}
.art img{max-width:100%;height:auto}

/* faq */
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:5ch minmax(0,1fr) 40px;align-items:center;gap:16px;padding:26px 0;font:300 clamp(1.5rem,2.6vw,2.2rem)/1.15 var(--serif)}
.acc summary::-webkit-details-marker{display:none}
.acc summary .n{font:500 .64rem var(--mono);letter-spacing:.16em;color:var(--clay)}
.acc summary i{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);position:relative;transition:transform .6s var(--ease),background .4s,border-color .4s}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;margin-left:-6px;background:var(--ink)}
.acc summary i::after{transform:rotate(90deg);transition:transform .5s var(--ease)}
.acc details[open] summary i{background:var(--ink);border-color:var(--ink);transform:rotate(180deg)}
.acc details[open] summary i::before,.acc details[open] summary i::after{background:var(--wall)}
.acc details[open] summary i::after{transform:rotate(0)}
.acc .ans{padding:0 0 28px calc(5ch + 16px);color:var(--ink-2);max-width:72ch;font-size:1.05rem}
.acc .ans a{color:var(--clay)}
@media (max-width:600px){.acc summary{grid-template-columns:minmax(0,1fr) 40px}.acc summary .n{display:none}.acc .ans{padding-left:0}}

/* address card */
.addr{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--white);box-shadow:0 1px 0 var(--line),0 50px 100px -50px rgba(30,24,18,.35);overflow:hidden}
.addr .l{padding:clamp(24px,3.6vw,48px);display:flex;flex-direction:column;gap:22px}
.addr .no{font:300 clamp(4rem,8vw,7rem)/.8 var(--serif);letter-spacing:-.03em}
.addr .no em{color:var(--clay)}
.addr .ln{font-size:1.05rem;line-height:1.55}
.addr .kv{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.4rem;border-top:1px solid var(--line);padding-top:18px;font-size:.95rem}
.addr .kv dt{font:500 .6rem/1.9 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.addr .kv dd{margin:0;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.addr .kv dd button{font:500 .6rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--clay);border-bottom:1px solid currentColor;padding-bottom:2px}
.addr .status{display:inline-flex;align-items:center;gap:10px;font:500 .64rem var(--mono);letter-spacing:.16em;text-transform:uppercase}
.addr .status i{width:8px;height:8px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 0 rgba(180,73,42,.5);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(180,73,42,0)}100%{box-shadow:0 0 0 0 rgba(180,73,42,0)}}
.addr .acts{display:flex;flex-wrap:wrap;gap:10px}
.addr .map{position:relative;background:#F1EFEA;border-left:1px solid var(--line);min-height:320px}
.addr .map svg{position:absolute;inset:0;width:100%;height:100%}
.addr .map .pin{position:absolute;left:58%;top:46%;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:6px}
.addr .map .pin b{display:block;background:var(--ink);color:var(--wall);font:500 .6rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:.6rem .8rem;border-radius:999px;white-space:nowrap}
.addr .map .pin i{width:14px;height:14px;border-radius:50%;background:var(--clay);border:3px solid var(--white);box-shadow:0 0 0 1px var(--clay),0 0 0 0 rgba(180,73,42,.4);animation:pulse 2.4s infinite}
.addr .map .lbl{position:absolute;font:500 .56rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:860px){.addr{grid-template-columns:1fr}.addr .map{border-left:0;border-top:1px solid var(--line);min-height:240px}}

/* form */
.form{background:var(--white);padding:clamp(24px,3.6vw,48px);box-shadow:0 1px 0 var(--line),0 50px 100px -50px rgba(30,24,18,.35)}
.fld{position:relative;margin-bottom:22px}
.fld input,.fld select,.fld textarea{width:100%;font:400 1.05rem var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:22px 0 10px;border-radius:0;transition:border-color .4s}
.fld textarea{resize:vertical;min-height:90px}
.fld label{position:absolute;left:0;top:22px;font:400 1.05rem var(--sans);color:var(--ink-3);pointer-events:none;transform-origin:left;transition:transform .5s var(--ease),color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ink)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label,.fld.sel label{transform:translateY(-20px) scale(.72);color:var(--clay)}
.fld .err{display:block;margin-top:6px;font:500 .64rem var(--mono);letter-spacing:.1em;color:#B3261E}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media (max-width:560px){.two{grid-template-columns:1fr}}
.done{margin-top:18px;border-left:1px solid var(--clay);padding:.4rem 0 .4rem 1rem;color:var(--ink-2)}

/* footer */
footer{background:var(--white);border-top:1px solid var(--line);padding:clamp(60px,8vw,110px) 0 calc(28px + env(safe-area-inset-bottom,0px))}
footer .top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:30px}
footer .say{font:300 clamp(2rem,3.4vw,3rem)/1.05 var(--serif)}
footer .say em{color:var(--clay)}
footer h4{font:500 .62rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin:0 0 18px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer ul a{text-decoration:none;color:var(--ink-2);transition:color .3s}
footer ul a:hover{color:var(--clay)}
footer .big{margin-top:clamp(50px,7vw,100px)}
footer .big img{width:100%;max-width:1200px;margin:0 auto;opacity:.95}
footer .base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font:500 .6rem/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:860px){footer .top{grid-template-columns:1fr 1fr}footer .top > div:first-child{grid-column:1/-1}}

/* floating ask the chef */
.ask{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 20px 0 7px;border-radius:999px;background:var(--ink);color:var(--wall);text-decoration:none;box-shadow:0 18px 40px -14px rgba(0,0,0,.45);transition:transform .6s var(--ease)}
.ask:hover{transform:translateY(-4px)}
.ask .av{position:relative;width:42px;height:42px;border-radius:50%;background:var(--wall);display:grid;place-items:center}
.ask .av img{width:28px}
.ask .av::after{content:"";position:absolute;right:1px;top:1px;width:10px;height:10px;border-radius:50%;background:#25D366;border:2px solid var(--ink)}
.ask b{display:block;font:400 1.15rem/1 var(--serif);font-style:italic}
.ask small{display:block;margin-top:4px;font:500 .56rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#b9b3aa}


/* ---------- For Chefs, By Chefs ---------- */
.fcbc{display:inline-flex;align-items:center;gap:12px;padding:.55rem 1.1rem .55rem .55rem;border-radius:999px;background:var(--ink);color:var(--wall);text-decoration:none}
.fcbc img{width:30px;height:30px;border-radius:50%;background:var(--wall);padding:4px}
.fcbc span{font:400 1.25rem/1 var(--serif);font-style:italic}
.fcbc b{font:500 .58rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#C9C3B9;font-weight:500}
.manifest{padding-block:clamp(90px,13vw,200px);overflow:hidden;text-align:center}
.manifest .l1,.manifest .l2{display:block;font:300 clamp(4.6rem,17vw,19rem)/.82 var(--serif);letter-spacing:-.045em;white-space:nowrap}
.manifest .l2{font-style:italic;color:var(--clay);position:relative;display:inline-block}
.manifest .l2 svg{position:absolute;left:4%;right:4%;bottom:-.06em;width:92%;height:.22em;overflow:visible}
.manifest .l2 path{fill:none;stroke:var(--clay);stroke-width:3;stroke-linecap:round}
.manifest p.d{max-width:52ch;margin:clamp(30px,4vw,56px) auto 0;color:var(--ink-2);font-size:1.12rem}
.manifest .sig{display:flex;justify-content:center;gap:clamp(18px,4vw,60px);margin-top:clamp(28px,4vw,48px);flex-wrap:wrap}
.manifest .sig div{text-align:center}
.manifest .sig b{display:block;font:300 clamp(2.6rem,5vw,4.4rem)/1 var(--serif)}
.manifest .sig span{font:500 .6rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- one-stop: follow the plate, under one roof ---------- */
.roof{position:relative;background:var(--white);border-block:1px solid var(--line)}
.roof .stage{height:100vh;height:100svh;min-height:640px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,4vw,70px);padding-inline:var(--gut);max-width:var(--max);margin:0 auto}
.roof h2{font-size:clamp(2.4rem,4.6vw,4.8rem)}
.roof .sub{margin-top:1rem;color:var(--ink-2);max-width:40ch}
.st-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;margin-top:clamp(22px,3vw,40px);border-top:1px solid var(--ink);padding-top:20px;max-width:520px}
.st-card .im{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ebe8e1}
.st-card .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .6s var(--ease),transform 1s var(--ease)}
.st-card .im img.on{opacity:1;transform:none}
.st-card h3{font-size:clamp(1.8rem,2.8vw,2.6rem);margin-top:6px}
.st-card p{color:var(--ink-2);margin-top:.5rem;font-size:.95rem}
.st-card .tags{margin-top:10px}
.stations{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.stations button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);font:500 .62rem var(--mono);color:var(--ink-2);background:var(--white);transition:background .3s,color .3s,border-color .3s}
.stations button[aria-current="true"]{background:var(--clay);border-color:var(--clay);color:#fff}
.fplan{width:100%;max-width:720px;justify-self:center}
.fplan svg{width:100%;height:auto;display:block;overflow:visible}
.fplan .wall{fill:none;stroke:var(--ink);stroke-width:2}
.fplan .rf{fill:none;stroke:var(--clay);stroke-width:2.2;stroke-linejoin:round}
.fplan .iw{fill:none;stroke:var(--ink);stroke-width:1.2}
.fplan .fx{fill:none;stroke:#9a958d;stroke-width:1}
.fplan .room{fill:var(--clay);fill-opacity:0;transition:fill-opacity .6s var(--ease)}
.fplan .room.on{fill-opacity:.09}
.fplan .lbl{font:500 8.5px var(--mono);letter-spacing:1.6px;fill:var(--ink-3);text-transform:uppercase;transition:fill .4s}
.fplan .lbl.on{fill:var(--clay)}
.fplan .route{fill:none;stroke:var(--clay);stroke-width:1.6;stroke-dasharray:3 5}
.fplan .routeBg{fill:none;stroke:var(--line);stroke-width:1.6;stroke-dasharray:3 5}
.fplan .pin{cursor:pointer}
.fplan .pin circle{fill:var(--white);stroke:var(--ink-3);stroke-width:1;transition:fill .3s,stroke .3s}
.fplan .pin text{font:500 7px var(--mono);fill:var(--ink-2);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.fplan .pin.on circle{fill:var(--clay);stroke:var(--clay)}
.fplan .pin.on text{fill:#fff}
.fplan .plate circle:first-child{fill:#fff;stroke:var(--ink);stroke-width:1.2}
.fplan .plate circle+circle{fill:none;stroke:var(--ink);stroke-width:.8;stroke-opacity:.5}
@media (max-width:860px){.roof .stage{grid-template-columns:1fr;align-content:center;gap:14px;padding-top:70px;min-height:0}.roof .fplan{order:-1;max-width:520px}.st-card{grid-template-columns:84px minmax(0,1fr);margin-top:14px;padding-top:14px}.roof h2{font-size:clamp(1.8rem,7vw,2.6rem)}.roof .sub{display:none}.st-card .tags{display:none}}

/* ---------- cursor ---------- */
.cur{position:fixed;left:0;top:0;z-index:300;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--clay);display:grid;place-items:center;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .3s;mix-blend-mode:normal}
.cur span{font:500 .58rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--wall);opacity:0;transition:opacity .3s}
.cur.big{width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--ink)}
.cur.big span{opacity:1}
@media (hover:none){.cur{display:none}}

/* ---------- footer logo (spoon drops into place) ---------- */
.flogo{display:grid;justify-items:center;gap:clamp(14px,2vw,26px);padding-top:clamp(20px,3vw,40px)}
.flogo .fbowls{position:relative;width:min(34vw,300px);aspect-ratio:365/222}
.flogo .bw{position:absolute;inset:0}
.flogo .bw img{width:100%;height:100%}
.flogo .b1{clip-path:polygon(0 41.5%,100% 41.5%,100% 100%,0 100%);transform-origin:50% 100%}
.flogo .b2{clip-path:polygon(0 0,100% 0,100% 41.5%,0 41.5%)}
.flogo .fword{position:relative;width:min(86vw,900px);aspect-ratio:789/203}
.flogo .fword img{position:absolute;top:0;height:100%}
.flogo .sp{transform-origin:50% 100%}
.flogo .ftag{font:500 clamp(.62rem,1.2vw,.9rem) var(--mono);letter-spacing:.42em;text-transform:uppercase;color:var(--ink-2)}


/* ---------- KOT printer ---------- */
.kot{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,6vw,100px);align-items:start}
.kq{border-top:1px solid var(--line);padding:22px 0}
.kq:first-of-type{border-top:1px solid var(--ink)}
.kq .q{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.kq .q b{font:400 1.5rem/1 var(--serif);font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.7rem 1.05rem;font:500 .64rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.chips button:hover{border-color:var(--ink);color:var(--ink)}
.chips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--wall)}
.chips button:active{transform:scale(.96)}
.kcov{display:flex;align-items:center;gap:18px}
.kcov output{font:300 3rem/1 var(--serif);min-width:3ch;font-variant-numeric:lining-nums tabular-nums}
.printer{position:sticky;top:110px;justify-self:center;width:min(380px,100%)}
.pr-body{position:relative;height:96px;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#2c2b29,#171615);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 50px -24px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:2}
.pr-body .brand{font:500 .58rem var(--mono);letter-spacing:.28em;text-transform:uppercase;color:#8d877f}
.pr-body .led{display:flex;align-items:center;gap:8px;font:500 .54rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#b9b3aa}
.pr-body .led i{width:7px;height:7px;border-radius:50%;background:#3ad16b;box-shadow:0 0 8px #3ad16b}
.pr-body.busy .led i{background:#ffb347;box-shadow:0 0 8px #ffb347;animation:blink .25s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.pr-slot{position:relative;height:10px;margin:-2px 18px 0;background:#0c0c0b;border-radius:0 0 6px 6px;z-index:3}
.paper-wrap{position:relative;margin:-4px 30px 0;overflow:hidden;z-index:1}
.paper{background:#fffdf8;color:#222;font:500 .78rem/1.55 var(--mono);padding:22px 20px 16px;box-shadow:0 20px 40px -20px rgba(0,0,0,.3);transform-origin:top;position:relative}
.paper::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(135deg,#fffdf8 33%,transparent 33%) 0 0/12px 8px,linear-gradient(225deg,#fffdf8 33%,transparent 33%) 0 0/12px 8px}
.paper .c{text-align:center}
.paper .big{font:600 1rem/1.3 var(--mono);letter-spacing:.12em}
.paper hr{border:0;border-top:1px dashed #999;margin:10px 0}
.paper .row{display:flex;justify-content:space-between;gap:10px}
.paper .ln{white-space:pre-wrap}
.paper .ln.new{animation:println .35s steps(6) both}
@keyframes println{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.paper .bar{height:30px;margin:12px auto 4px;width:70%;background:repeating-linear-gradient(90deg,#222 0 2px,transparent 2px 4px,#222 4px 5px,transparent 5px 8px,#222 8px 11px,transparent 11px 12px)}
.paper .note{font-style:italic}
.bell{margin-top:22px;display:flex;justify-content:center}
.bell a{text-decoration:none;display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:0 1.6rem 0 .6rem;border-radius:999px;background:var(--clay);color:#fff;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 20px 40px -18px rgba(180,73,42,.8);transition:transform .4s var(--ease),background .3s}
.bell a:hover{background:var(--ink)}
.bell svg{width:48px;height:48px;transform-origin:50% 80%}
.bell a.ding svg{animation:ding .6s var(--ease)}
@keyframes ding{20%{transform:rotate(-16deg)}45%{transform:rotate(12deg)}70%{transform:rotate(-6deg)}100%{transform:none}}
.kot .fine{margin-top:14px;text-align:center;color:var(--ink-3);font-size:.85rem}
@media (max-width:860px){.kot{grid-template-columns:1fr}.printer{position:relative;top:auto}}

.kot > *{min-width:0}

/* ---------- Mumbai kitchen clock ---------- */
.kclock{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(22px,3vw,36px);padding:10px 18px 10px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.kclock .dial{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);flex:none}
.kclock .dial i{position:absolute;left:50%;bottom:50%;width:1.5px;margin-left:-.75px;background:var(--ink);transform-origin:50% 100%;border-radius:1px}
.kclock .dial .h{height:10px}
.kclock .dial .m{height:14px;background:var(--ink-2)}
.kclock .dial .s{height:15px;width:1px;background:var(--clay)}
.kclock .dial::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--clay)}
.kclock .t{display:grid;gap:3px}
.kclock .t b{font:400 1.08rem/1 var(--serif);font-style:italic;font-weight:400}
.kclock .t span{font:500 .58rem/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.kclock .t span em{font-style:normal;color:var(--clay)}
.steam{display:inline-flex;gap:2px;margin-left:4px;vertical-align:middle}
.steam i{width:2px;height:9px;border-radius:2px;background:var(--clay);opacity:.5;animation:steam 1.8s ease-in-out infinite}
.steam i:nth-child(2){animation-delay:.3s}.steam i:nth-child(3){animation-delay:.6s}
@keyframes steam{0%,100%{transform:translateY(2px) scaleY(.6);opacity:.2}50%{transform:translateY(-2px) scaleY(1);opacity:.8}}
/* motion defaults: visible at rest, animated when GSAP runs */
.wi{display:inline-block}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}#loader{display:none}}

/* WordPress additions */
.wp-body img{max-width:100%;height:auto}
.wp-body figure{margin:2rem 0}
.wp-body a{color:var(--clay)}
.wp-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.4rem}
.brands .chips{display:flex;flex-wrap:wrap;gap:8px}
.brands .chips span{border:1px solid var(--line);border-radius:999px;padding:.5rem 1rem;font:400 1.1rem var(--serif);font-style:italic}
