/* Restaurant Coaching Solutions: "kitchen ticket + chalkboard menu" */
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/oswald-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/oswald-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/oswald-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/courier-prime-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/courier-prime-latin-700-normal.woff2) format("woff2")}

:root{
  --bg:#F4EDE0; --paper:#FFFCF5; --paper-2:#F8F1E3; --ink:#1E1D1A; --text:#2E2B26; --muted:#5E574C;
  --line:#D8CDB8; --rule:#1E1D1A; --red:#A8301B; --red-ink:#FFFFFF; --amber:#B86B0C;
  --board:#1F2E27; --board-2:#26382F; --chalk:#ECE7D8; --chalk-dim:#B9C2B6; --chalk-hot:#F0B44C;
  --focus:#0B5CAD; --shadow:0 1px 0 rgba(30,29,26,.08),0 6px 18px -10px rgba(30,29,26,.35);
  --sans:"Oswald","Arial Narrow",Arial,sans-serif; --serif:"Source Serif 4",Georgia,serif; --mono:"Courier Prime","Courier New",monospace;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#151D19; --paper:#1C2621; --paper-2:#212D27; --ink:#F1ECDF; --text:#E1DCCF; --muted:#AEB5A9;
  --line:#34433A; --rule:#C9C3B3; --red:#F0866F; --red-ink:#1A1310; --amber:#F0B44C;
  --board:#0F1512; --board-2:#16201B; --focus:#8EC5FF; --shadow:0 1px 0 rgba(0,0,0,.3),0 8px 20px -12px rgba(0,0,0,.7);
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--serif);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:8px 14px;z-index:10}
.skip:focus{left:8px;top:8px}
.frame{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:900px}
h1,h2,h3{font-family:var(--sans);color:var(--ink);font-weight:600;line-height:1.15;letter-spacing:.005em}
h1{font-size:clamp(2.1rem,5vw,3.3rem);margin:.15em 0 .3em;font-weight:700}
h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:1.8em 0 .5em}
h3{font-size:1.22rem;margin:1.4em 0 .4em}

/* top rail + masthead */
.rail{background:var(--board);color:var(--chalk);font:400 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.rail .frame{display:flex;gap:22px;justify-content:flex-end;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.rail span::before{content:"\2022";color:var(--chalk-hot);margin-right:8px}
.masthead{background:var(--paper);border-bottom:3px double var(--rule)}
.masthead .frame{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.stamp{display:grid;place-items:center;width:52px;height:52px;border:2.5px solid var(--red);color:var(--red);border-radius:50%;font:700 1rem/1 var(--sans);letter-spacing:.06em;transform:rotate(-8deg)}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-text b{font:700 1.2rem/1.1 var(--sans);text-transform:uppercase;letter-spacing:.04em}
.logo-text i{font:italic 400 1rem/1.2 var(--serif);color:var(--muted)}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.menu a{display:block;padding:8px 11px;font:500 .98rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}
.menu a:hover{border-bottom-color:var(--line)}
.menu a[aria-current="page"]{border-bottom-color:var(--red);color:var(--red)}
.nav-toggle{display:none;font:500 .95rem/1 var(--sans);text-transform:uppercase;letter-spacing:.08em;background:transparent;color:var(--ink);border:2px solid var(--ink);padding:9px 14px;border-radius:3px;cursor:pointer}
@media (max-width:860px){
  .js .nav-toggle{display:block}
  .js .menu{display:none;width:100%}
  .js .menu.open{display:block}
  .menu ul{flex-direction:column;gap:0}
  .menu a{padding:12px 4px;border-bottom:1px solid var(--line)}
}

/* breadcrumb */
.trail ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;font:400 .85rem/1.4 var(--mono);color:var(--muted)}
.trail li+li::before{content:"/";margin-right:6px;color:var(--line)}
.trail a{color:var(--muted)}

/* labels, buttons */
.tag{display:inline-block;font:700 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);border:1.5px solid currentColor;padding:6px 9px;margin:26px 0 6px}
.lede{font-size:1.2rem;line-height:1.55;color:var(--text);max-width:46em}
.byline{font:400 .9rem/1.5 var(--mono);color:var(--muted)}
.btn{display:inline-block;font:600 1rem/1 var(--sans);text-transform:uppercase;letter-spacing:.07em;padding:14px 18px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;border-radius:2px;background:transparent}
.btn:hover{background:var(--paper-2)}
.btn-solid{background:var(--red);border-color:var(--red);color:var(--red-ink)}
.btn-solid:hover{background:var(--red);filter:brightness(1.08)}

/* hero */
.hero{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0 46px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:44px;align-items:center}
.hero h1{font-size:clamp(2.3rem,5.6vw,3.9rem);text-transform:uppercase;letter-spacing:.01em;line-height:1.02}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.chalkboard{background:var(--board);color:var(--chalk);border:12px solid #6B4A2B;border-radius:6px;padding:26px 26px 20px;box-shadow:inset 0 0 50px rgba(0,0,0,.35),var(--shadow);margin-top:26px}
.chalk-kicker{font:400 .85rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-hot);margin:0}
.chalk-h{color:var(--chalk);font:700 2rem/1.1 var(--sans);text-transform:uppercase;margin:.25em 0 .5em;letter-spacing:.04em}
.chalkboard ul{list-style:none;margin:0;padding:0}
.chalkboard li{display:flex;align-items:baseline;gap:8px;padding:7px 0;font:500 1.1rem/1.3 var(--sans);letter-spacing:.03em}
.chalkboard a{color:var(--chalk);text-decoration:none}
.chalkboard a:hover{text-decoration:underline}
.chalkboard .dots{flex:1;border-bottom:2px dotted var(--chalk-dim);transform:translateY(-4px);min-width:16px}
.chalkboard .free{font:700 .9rem/1 var(--mono);color:var(--chalk-hot);text-transform:uppercase}
.chalk-note{font:italic 400 .95rem/1.4 var(--serif);color:var(--chalk-dim);margin:14px 0 0}

/* bands */
.band{margin:56px 0}
.band-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:3px double var(--rule);padding-bottom:8px;flex-wrap:wrap}
.band-head h2{margin:0;text-transform:uppercase;letter-spacing:.03em}
.band-head a{font:700 .85rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.band-intro{color:var(--muted);max-width:46em}

/* tickets */
.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin-top:22px}
.ticket{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;padding:22px 20px 18px;
  -webkit-mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) top/16px 100% repeat-x;mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) top/16px 100% repeat-x}
.ticket-head{display:flex;justify-content:space-between;gap:10px;font:700 .8rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 10px;padding-bottom:9px;border-bottom:1.5px dashed var(--line)}
.card h2,.card h3{margin:.2em 0 .35em;font-size:1.3rem}
.card h2 a,.card h3 a{color:var(--ink);text-decoration:none}
.card h2 a:hover,.card h3 a:hover{color:var(--red);text-decoration:underline}
.card p{margin:0;color:var(--text);font-size:.98rem}
ul.plain{list-style:none;margin:0;padding:0}
ul.plain li{padding:5px 0;border-bottom:1px dotted var(--line)}

/* menu list (guides, blog) */
.menu-list{list-style:none;margin:20px 0 0;padding:0;counter-reset:m}
.menu-list li{display:flex;gap:24px;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.menu-list.numbered li::before{counter-increment:m;content:counter(m,decimal-leading-zero);font:700 1rem/1 var(--mono);color:var(--red);min-width:30px}
.ml-main{flex:1;min-width:0}
.ml-main h2,.ml-main h3{margin:0 0 4px;font-size:1.3rem}
.ml-main h2 a,.ml-main h3 a{color:var(--ink);text-decoration:none}
.ml-main h2 a:hover,.ml-main h3 a:hover{color:var(--red);text-decoration:underline}
.ml-main p{margin:0;color:var(--muted)}
.ml-price{margin:0;font:400 .85rem/1.5 var(--mono);color:var(--muted);text-align:right;white-space:nowrap;display:flex;flex-direction:column}
.after-list{margin:22px 0 60px}

/* posts on home */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:8px}
.post-card{padding:20px 22px 20px 0;border-bottom:1px solid var(--line)}
.post-card:nth-child(3n+2),.post-card:nth-child(3n+3){padding-left:22px;border-left:1px solid var(--line)}
.post-card h3{margin:.2em 0 .4em;font-size:1.25rem}
.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h3 a:hover{color:var(--red);text-decoration:underline}
.post-card p{margin:0;color:var(--muted);font-size:.98rem}
.pc-date{font:400 .82rem/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

/* X band */
.x-band{background:var(--board);color:var(--chalk);padding:30px;border-radius:4px}
.x-inner{display:flex;gap:22px;align-items:flex-start}
.x-glyph{flex:none;color:var(--chalk)}
.x-band h2{color:var(--chalk);margin:0 0 .3em;text-transform:uppercase}
.x-band p{max-width:44em}
.x-band .btn{border-color:var(--chalk);color:var(--chalk)}
.x-band .btn:hover{background:var(--board-2)}

/* documents */
.doc{display:grid;grid-template-columns:minmax(0,1fr);gap:0 48px;margin-bottom:70px}
.doc.has-side{grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"head head" "body side"}
.doc.has-side .doc-head{grid-area:head}
.doc.has-side .prose{grid-area:body}
.doc.has-side .side{grid-area:side}
.side .toc{position:sticky;top:18px;margin-top:8px}
.doc:not(.has-side) .side{display:none}
.toc ol{margin:0;padding-left:20px;font:400 .92rem/1.4 var(--serif)}
.toc li{margin:6px 0}
.toc a{color:var(--text)}
.prose{max-width:720px}
.prose p,.prose li{max-width:70ch}
.prose h2{border-top:1px solid var(--line);padding-top:.7em}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:4px solid var(--red);font-style:italic}
.prose code{font-family:var(--mono);font-size:.95em;background:var(--paper-2);padding:1px 4px}
.prose hr{border:0;border-top:3px double var(--rule);margin:2em 0}
.table-wrap{overflow-x:auto;margin:1.3em 0;border:1px solid var(--line);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:600 .9rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--paper-2)}
.short-answer{background:var(--paper);border-left:6px solid var(--red);padding:16px 20px;margin:8px 0 22px;box-shadow:var(--shadow)}
.short-answer p{margin:0}
.sa-label{font:700 .8rem/1 var(--mono)!important;text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:8px!important}
.takeaways{margin:0 0 26px}
.takeaways ul{margin:0;padding-left:20px}
.takeaways li{margin:6px 0}
.pic{margin:1.8em 0}
.pic img{border:1px solid var(--line);background:var(--paper)}
.pic figcaption{font:400 .88rem/1.5 var(--mono);color:var(--muted);margin-top:8px}
.note{background:var(--paper-2);border:1px dashed var(--line);padding:14px 18px;margin:1.4em 0}
.template-box{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px 22px;margin:1.4em 0;font-family:var(--mono);font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}
.faq{margin-top:2.4em}
.faq h2{border-top:3px double var(--rule)}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;font:600 1.08rem/1.35 var(--sans);color:var(--ink);padding:12px 0;letter-spacing:.01em}
.faq .ans p{margin:0 0 14px}
.sources{margin-top:2em;font-size:.95rem}
.sources h2{font-size:1.25rem}
.sources ol{padding-left:22px}
.sources li{margin:6px 0;overflow-wrap:anywhere}
.sources span{color:var(--muted)}
.next-up{margin-top:2.4em}
.next-up ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.next-up a{display:block;padding:12px 14px;border:1px solid var(--line);background:var(--paper);text-decoration:none;color:var(--ink);height:100%}
.next-up a:hover{border-color:var(--red)}
.next-up small{display:block;font:700 .75rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:6px}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:2.4em;border-top:3px double var(--rule);padding-top:16px}
.pager a{max-width:48%;text-decoration:none;color:var(--ink);font:500 1rem/1.35 var(--sans)}
.pager a.nx{text-align:right;margin-left:auto}
.pager small{display:block;font:700 .75rem/1 var(--mono);text-transform:uppercase;color:var(--red);margin-bottom:5px;letter-spacing:.1em}

/* tools */
.tool-box{background:var(--paper);border:1px solid var(--line);border-top:6px solid var(--red);box-shadow:var(--shadow);padding:22px;margin:10px 0 36px}
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}
.calc fieldset{border:0;margin:0 0 14px;padding:0}
.calc legend{font:600 1.05rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin-bottom:10px;padding:0}
.field{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;margin:9px 0}
.field label{font-size:.97rem}
.field .hint{display:block;font-size:.82rem;color:var(--muted);line-height:1.35}
.calc input,.calc select{width:100%;font:400 1rem/1.2 var(--mono);padding:9px 10px;border:1.5px solid var(--muted);background:var(--bg);color:var(--ink);border-radius:2px}
.calc input:focus{border-color:var(--focus)}
.rows{width:100%}
.rows th,.rows td{padding:6px 6px}
.rows input{min-width:80px}
.rows-wrap{overflow-x:auto}
.result{background:var(--board);color:var(--chalk);padding:20px;border-radius:3px;align-self:start;position:sticky;top:12px}
.result h2{color:var(--chalk);font-size:1.25rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:.06em;border:0;padding:0}
.result dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 14px;font-size:.98rem}
.result dt{color:var(--chalk-dim)}
.result dd{margin:0;font:700 1.05rem/1.4 var(--mono);text-align:right;color:var(--chalk)}
.result dd.big{font-size:1.5rem;color:var(--chalk-hot)}
.result .msg{font-size:.92rem;color:var(--chalk-dim);margin:12px 0 0}
.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tool-actions button,.add-row{font:600 .9rem/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;padding:11px 14px;border:2px solid var(--chalk);background:transparent;color:var(--chalk);border-radius:2px;cursor:pointer}
.add-row{border-color:var(--ink);color:var(--ink);margin-top:8px}
.rm{background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer;padding:6px 9px;font:700 .9rem/1 var(--mono)}
.tool-fine{font-size:.85rem;color:var(--muted);margin:14px 0 0}

/* footer */
.board-foot{background:var(--board);color:var(--chalk);margin-top:40px;padding:46px 0 26px;border-top:10px solid #6B4A2B}
.board-foot .frame{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
.chalk-title{font:700 1.05rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--chalk-hot);margin:0 0 10px}
.board-foot p{margin:0 0 10px;font-size:.95rem;color:var(--chalk)}
.board-foot ul{list-style:none;margin:0;padding:0}
.board-foot li{margin:6px 0}
.board-foot a{color:var(--chalk)}
.relaunch{color:var(--chalk-dim)!important;font-style:italic}
.fine{grid-column:1/-1;border-top:1px dashed #50605A;padding-top:16px;font:400 .82rem/1.5 var(--mono)!important;color:var(--chalk-dim)!important}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:10px}
  .doc.has-side{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "side" "body"}
  .side .toc{position:static}
  .calc{grid-template-columns:minmax(0,1fr)}
  .result{position:static}
  .post-grid{grid-template-columns:1fr 1fr}
  .post-card:nth-child(n){padding-left:0;border-left:0;padding-right:16px}
  .board-foot .frame{grid-template-columns:1fr 1fr}
  .foot-about{grid-column:1/-1}
}
@media (max-width:600px){
  body{font-size:1.02rem}
  .frame{padding:0 16px}
  .rail .frame{justify-content:flex-start;gap:12px}
  .post-grid{grid-template-columns:1fr}
  .menu-list li{flex-direction:column;gap:6px}
  .ml-price{text-align:left;flex-direction:row;gap:12px}
  .field{grid-template-columns:minmax(0,1fr)}
  .chalkboard{border-width:8px;padding:20px 16px}
  .x-inner{flex-direction:column}
  .board-foot .frame{grid-template-columns:1fr}
  .tool-box{padding:16px 12px}
  .pager{flex-direction:column}
  .pager a{max-width:100%}
}
@media print{.rail,.masthead,.board-foot,.side,.tool-actions,.next-up,.pager{display:none}body{background:#fff;color:#000}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.calc fieldset,.calc form{min-width:0}
.rows-wrap{position:relative}
