/* Wide screen layout, 1000px and up: the Poster (Patrick's pick, 2026-09-07). GENERATED by desktop\build.py from the
   token block below and the shared body; edit the tokens here or the shared part in build.py, then run it again.
   Below 1000px nothing in the media block applies, the phone site is untouched. js/desktop.js builds the masthead,
   footer and the poster home from config.js and the data. */
:root{
  --dk-paper:#f3f7ea;--dk-paper-2:#ffffff;--dk-paper-3:#e9f0dd;--dk-card:#ffffff;
  --dk-ink:#163d1f;--dk-ink-2:#35503a;--dk-muted:#5a6b55;--dk-line:rgba(22,61,31,.14);--dk-dots:rgba(22,61,31,.35);
  --dk-accent:#9ccc65;--dk-good:#1f4d2b;--dk-bad:#c0392b;--dk-button:#9ccc65;--dk-button-ink:#163d1f;
  --dk-stripe:repeating-linear-gradient(-45deg,#163d1f 0 18px,#9ccc65 18px 36px,#2f6b2c 36px 54px,#f3f7ea 54px 72px);
  --dk-plate:#163d1f;--dk-plate-ink:#f3f7ea;--dk-plate-today:#9ccc65;--dk-plate-muted:rgba(243,247,234,.65);--dk-plate-line:rgba(243,247,234,.25);--dk-plate-on:#7ee2a0;
  --dk-name-font:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--dk-name-weight:400;--dk-name-ink:#163d1f;--dk-name-shadow:none;--dk-name-spacing:.02em;
  --dk-caps:none;--dk-track-1:.03em;--dk-track-2:.08em;--dk-track-3:.12em;--dk-track-4:.2em;
}
.desk-mast,.desk-foot,.desk-home{display:none}
@media(min-width:1000px){
  :root{--bg:var(--dk-paper);--panel:var(--dk-paper-2);--panel-2:var(--dk-paper-3);--line:var(--dk-line);--text:var(--dk-ink);--muted:var(--dk-muted)}
  html,html:has(body.home){background:var(--dk-paper)}
  body,body.home{background:var(--dk-paper);color:var(--dk-ink)}
  body::before,body::after,body.home::before,body.home::after,.lava,.snow{display:none}   /* theme wallpapers, stripes, blobs, snow: not on paper */

  /* ---------- masthead and footer, every page ---------- */
  .desk-stripe{height:14px;background:var(--dk-stripe);flex:0 0 auto}
  .desk-mast{display:block;flex:0 0 auto;margin:0 -14px}
  .desk-mast-in{max-width:1300px;margin:0 auto;padding:14px 72px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
  .desk-brand{display:flex;align-items:center;gap:12px;font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.5rem;color:var(--dk-ink);text-shadow:none;flex:0 1 auto;min-width:0;max-width:40%}
  .desk-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .desk-mast.tight .desk-brand span{display:none}   /* the name hides when the nav would wrap, so nothing ever overlaps */
  .desk-mast.tight1 .desk-brand span{font-size:1.1rem}   /* the first step before hiding: a smaller name and a tighter nav */
  .desk-mast.tight1 nav{gap:18px;font-size:.9rem;letter-spacing:var(--dk-track-1)}
  .desk-hero-page .desk-mast nav,html.hero-site .desk-mast nav{gap:22px;font-size:.95rem}
  .desk-brand img{width:40px;height:40px;border-radius:50%}
  body.home .desk-brand{visibility:hidden}
  .desk-mast nav{display:flex;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:center;gap:28px;font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:1rem}
  .desk-mast nav a{color:var(--dk-ink);padding:6px 0;border-bottom:2px solid transparent}
  .desk-mast nav a.on{border-bottom-color:var(--dk-accent)}
  .desk-mast nav a:hover{color:var(--dk-accent)}
  .desk-book{background:var(--dk-button);color:var(--dk-button-ink);font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:1rem;padding:12px 22px;border-radius:4px;flex:0 0 auto;white-space:nowrap}
  .desk-book:hover{filter:brightness(1.15)}
  .desk-foot{display:block;flex:0 0 auto;margin:60px -14px 0}
  .desk-foot-in{max-width:1300px;margin:0 auto;padding:0 72px 28px;display:flex;justify-content:space-between;align-items:center;color:var(--dk-muted);font-size:.9rem}
  .desk-foot-brand{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.4rem;color:var(--dk-ink)}

  /* ---------- the big photo home (desktopLayout: "hero", Patrick's pick 2026-11-01), wide screen part. The phone part and
     the motion are in the HERO block after the media query. A dark page in the ink colour, one photo with the story
     headline over it, photo tiles, the steps band in the accent, the hours in one line ---------- */
  html:has(body.home) .desk-hero-page{background:var(--dk-ink);color:var(--dk-paper)}
  body.home .desk-hero-page .desk-brand{visibility:visible;color:var(--dk-paper)}
  .desk-hero-page .desk-mast nav a{color:var(--dk-paper)}
  .desk-hero-page .desk-book,.desk-hero-btn{background:var(--dk-accent);color:var(--on-accent,#fff)}
  .desk-hero-page .desk-in{padding-top:96px}
  .desk-hero-in{max-width:1300px;width:100%;margin:0 auto;padding:140px 72px 72px;display:grid;grid-template-columns:minmax(0,1fr);align-items:end}
  .desk-hero-in > div{max-width:820px}
  .desk-hero h1{font-size:clamp(3rem,6.5vw,7.5rem);max-width:none}   /* the column bounds it (a ch width shrank with the font and fitHero never got fewer lines) */
  .desk-hero .side{display:block}
  .desk-h2{font-size:clamp(2.4rem,4vw,3.8rem);margin:0 0 32px}
  .desk-h2-row{margin-bottom:32px}
  .desk-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;gap:14px;overflow:visible;padding:0;margin:0;scroll-snap-type:none}
  .desk-tile{border-radius:8px;flex:none;aspect-ratio:auto;animation:none;opacity:1}
  /* the wipe sits on the photo and the words, not the tile box, so IntersectionObserver still sees the tile */
  .desk-tile img,.desk-tile .t{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 90ms),0s}
  .desk-tile.in img,.desk-tile.in .t{clip-path:inset(0 0 0 0)}
  .desk-tile img{transform:translateY(calc(var(--py,0) * 1px)) scale(1.12)}
  .desk-tile:hover img{transform:translateY(calc(var(--py,0) * 1px)) scale(1.18)}
  .desk-tile h3{font-size:2rem}
  .desk-tile.span-1 h3{font-size:1.45rem}   /* a narrow tile: a display name in caps was cut at the edge (critic 2) */
  .desk-tile.span-1 p{display:none}   /* the blurb covered most of a narrow tile's photo; the name and the price are enough there (critic 4) */
  .desk-tile.span-2{grid-column:span 2} .desk-tile.span-4{grid-column:span 4} .desk-tile.span-2 h3{font-size:2.6rem}
  .desk-steps{margin:96px -14px 0;padding:0 0 96px}
  .desk-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
  .desk-hours-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
  .desk-hours-big{font-size:clamp(2.8rem,5.5vw,5.5rem)}
  .desk-bar{display:none}
  .desk-hero-page .desk-news{margin-top:72px}
  /* the blocks of the hero home on a wide screen (homeSections, 2026-11-02) */
  .desk-gal{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px}
  .desk-gal-it{aspect-ratio:auto}
  .desk-gal-it:first-child{grid-column:span 2;grid-row:span 2}
  .desk-cta-in{grid-template-columns:minmax(0,1.4fr) auto}
  .desk-points{grid-template-columns:repeat(3,minmax(0,1fr))}
  .desk-points:has(> :nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
  .desk-about{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .desk-area{grid-template-columns:minmax(0,1fr);max-width:900px}
  .desk-faq{max-width:860px}
  .desk-deals{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}   /* three deals make three columns, not a gap */
  .desk-list-main b{font-size:1.35rem}
  .desk-menu{display:none}
  .desk-brand .short{display:none}
  html.hero-site .book-form,html.hero-site .contact-form,html.hero-site .order-form,html.hero-site .book-done,html.hero-site .intro{max-width:680px!important;margin-left:max(0px,calc((100% - 1156px) / 2))!important;margin-right:auto!important}   /* !important: the page column rule above carries eight :not() classes; the left edge stays on the content column */
  html.hero-site .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  html.hero-site .card .desc{font-size:.95rem}
  .desk-gal.short .desk-gal-it:nth-child(n+6){display:none}
  /* a form page is one narrow column on a wide screen (the form, its title and its words together), not a form in the left half of an empty page */
  html.hero-site body[data-page-title="contact"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners),html.hero-site body[data-page-title="order"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners),html.hero-site body[data-page-title="book"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners),html.hero-site body[data-page-title="announcements"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners){max-width:860px}
  html.hero-site body[data-page-title="contact"] .book-form,html.hero-site body[data-page-title="order"] .book-form,html.hero-site body[data-page-title="book"] .book-form,html.hero-site body[data-page-title="book"] .book-done,html.hero-site body[data-page-title="contact"] .intro,html.hero-site body[data-page-title="order"] .intro,html.hero-site body[data-page-title="book"] .intro{max-width:860px!important;margin-left:auto!important;margin-right:auto!important}
  html.hero-site body[data-page-title="book"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners){max-width:860px}
  html.hero-site body[data-page-title="page"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners),html.hero-site body[data-page-title="Privacy and terms"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners),html.hero-site body[data-page-title="glossary"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners){max-width:860px}   /* the free page and the glossary read in a column, not 150 character lines (critic 6) */
  html.hero-site body[data-page-title="book"] .intro{max-width:860px!important}
  html.hero-site body .rich img{max-height:460px;width:auto;max-width:100%;display:block;margin:0 auto;border-radius:12px}
  html.hero-site body .rich{display:flow-root}
  html.hero-site body .rich p:has(> img:only-child):has(+ p > img:only-child),html.hero-site body .rich p:has(> img:only-child) + p:has(> img:only-child){float:left;width:49%;margin:0 .5% 12px}
  html.hero-site body .rich p:has(> img:only-child):has(+ p > img:only-child) img,html.hero-site body .rich p:has(> img:only-child) + p:has(> img:only-child) img{max-height:none;width:100%}
  html.hero-site body .rich p:has(> img:only-child):not(:has(+ p > img:only-child)):not(:has(+ h2)):not(:last-child):not(p:has(> img:only-child) + p){float:left;width:46%;margin:0 24px 12px 0}
  html.hero-site body .rich p:has(> img:only-child):not(:has(+ p > img:only-child)):not(:has(+ h2)):not(:last-child):not(p:has(> img:only-child) + p) img{max-height:none;width:100%}
  html.hero-site body .rich h2,html.hero-site body .rich ul,html.hero-site body .rich p:has(> img:only-child) + p:has(> img:only-child) + p:not(:has(> img:only-child)){clear:both}
  html.hero-site body .rich p:has(> img:only-child):has(+ h2) img{max-height:none;width:100%}   /* a photo that leads a section fills the width */   /* room for the day strip to wrap into rows */
  html.hero-site body[data-page-title="schedule"] .page > :not(.desk-mast):not(.desk-foot):not(.legal-line):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners){max-width:860px;margin-left:auto!important;margin-right:auto!important}   /* a day and its parts read as one row, not two ends of the screen */
  html.hero-site body:not(.home) .book-days{flex-wrap:wrap;overflow:visible;mask:none;-webkit-mask:none}   /* every day in view on a wide screen */
  html.hero-site body:not(.home) .book-days.parts-mode{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}   /* parts mode: a week to a row, so Mondays line up */
  html.hero-site body:not(.home) .book-days.parts-mode .day-chip{width:auto}
  html.hero-site body:not(.home) .seg:not([hidden]){display:inline-flex;width:auto;max-width:none;gap:32px;margin-left:0}   /* the tabs size to their words; a hidden row stays hidden */
  html.hero-site body:not(.home) .seg a{flex:0 0 auto;padding:10px 14px;font-size:.95rem}   /* the active fill has room around the word (critic 3) */
  .desk-foot-mail{color:var(--dk-accent);text-decoration:underline;text-underline-offset:3px}

  /* ---------- inner pages on paper ---------- */
  .page{max-width:none;padding:0 14px 0;display:flex;flex-direction:column;background:none}
  /* not .desk-in: a home section is 1300 wide with 72px of padding, like the bands and the masthead, so every left edge lines up (a 1156 cap on top of the padding set the sections 72px in from the bands, critic N, 2026-11-02) */
  .page > :not(.desk-mast):not(.desk-foot):not(.overlay):not(.toast):not(.desk-hero):not(.desk-steps):not(.desk-marq):not(.desk-cta-band):not(.desk-stats-band):not(.desk-count-band):not(.desk-partners):not(.desk-in){max-width:1156px;width:100%;margin-left:auto;margin-right:auto}
  /* every block keeps its own height: a flex child that scrolls or hides overflow (the chip rows, the page head) shrinks to
     nothing in the 100vh column otherwise (the same gotcha the hero and the marquee hit) */
  .page > :not(.overlay):not(.toast){flex:0 0 auto}
  .page > .desk-mast,.page > .desk-foot,.page > .desk-hero,.page > .desk-steps,.page > .desk-marq,.page > .desk-cta-band,.page > .desk-stats-band,.page > .desk-count-band,.page > .desk-partners{max-width:none}
  .site-head{background:none;position:static;padding:34px 0 10px;grid-template-columns:1fr}
  .site-head .home-btn,.site-head .back-btn{display:none}
  .page-title{text-align:left;font-size:2.6rem;color:var(--dk-ink);text-shadow:none;border-bottom:4px solid var(--dk-ink);padding-bottom:8px;-webkit-text-stroke:0}
  .intro,.hint-p{text-align:left;color:var(--dk-muted)}
  .seg{background:transparent;border:0;border-bottom:1px dotted var(--dk-dots);border-radius:0;padding:0;gap:24px;justify-content:flex-start;box-shadow:none}
  .seg a{border-radius:0;padding:10px 0;color:var(--dk-muted);background:none}
  .seg a.active{background:none;color:var(--dk-accent);box-shadow:inset 0 -3px 0 var(--dk-accent)}
  .seg a.specials,.seg a.specials.active{color:var(--dk-accent);background:none}
  .search,.search input,input,select,textarea{background:var(--dk-card);color:var(--dk-ink);border-color:var(--dk-line)}
  .chip{background:var(--dk-card);border:1px solid var(--dk-line);color:var(--dk-ink)}
  .chip.active{background:var(--dk-ink);color:var(--dk-paper);border-color:var(--dk-ink)}
  .card{background:var(--dk-card);border:1px solid var(--dk-line);box-shadow:none}
  .card .name,.card h3{color:var(--dk-ink)}
  .card .price,.viewer .v-price,.special-price,.hours-list .t,.req-time,.rich a,.slot small{color:var(--dk-accent)}
  .card.featured{border-color:var(--dk-ink);box-shadow:none}
  .feat-tag{background:var(--dk-ink);color:var(--dk-paper)}
  .badge.accent{background:var(--dk-paper-3);color:var(--dk-accent)}
  .badge.good{background:var(--dk-paper-3);color:var(--dk-good)}
  .card.featured .name{color:var(--dk-accent)}
  .card .img{background:var(--dk-paper-3);color:var(--dk-muted)}
  .empty{background:var(--dk-paper-3);color:var(--dk-muted);border-color:var(--dk-line)}
  body.is-admin .site-foot .admin-state{color:var(--dk-good)}
  .btn.danger{color:var(--dk-bad);border-color:var(--dk-bad)}
  .cat-head,.closures-head,.post h3,.letter,.rich h1,.rich h2,.rich h3,.modal h2,.book-step{color:var(--dk-ink);text-shadow:none}
  .btn{border-color:var(--dk-line);color:var(--dk-ink);background:var(--dk-card);box-shadow:none}
  .btn.primary,.btn.primary:hover{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent);box-shadow:none}
  .btn.ghost{background:transparent}
  .big-cta{box-shadow:none;border-radius:4px}
  .open-now{background:var(--dk-plate);color:var(--dk-plate-ink);border:0;box-shadow:none}
  .open-now.off{color:var(--dk-plate-ink)}
  .open-now.on{color:var(--dk-plate-on)}
  .hours-list{background:var(--dk-card);border-color:var(--dk-line);box-shadow:none}
  .hours-list li{border-color:var(--dk-line)}
  .hours-list .d{color:var(--dk-ink)}
  .hours-list li.today{background:var(--dk-paper-3)}
  .hours-list li.today .d,.hours-list li.today .d::after{color:var(--dk-accent)}
  .hours-list li.closed .t{color:var(--dk-muted)}
  .hours-list .part b{color:var(--dk-ink)}
  .hours-list .part i{color:var(--dk-muted)}
  .hours-list .part em{color:var(--dk-ink)}
  .hours-list .part:has(em) b{color:var(--dk-muted)}
  .special{background:var(--dk-card);border-color:var(--dk-line);box-shadow:none}
  .post{background:var(--dk-card);border-color:var(--dk-line);box-shadow:none}
  .post.pinned{border-color:var(--dk-ink)}
  .day-chip,.slot{background:var(--dk-card);border-color:var(--dk-line);color:var(--dk-ink);box-shadow:none}
  .day-chip.active,.slot.active{background:var(--dk-ink);color:var(--dk-paper);box-shadow:none;border-color:var(--dk-ink)}
  .step-n{background:var(--dk-ink);color:var(--dk-paper)}
  .book-form{background:var(--dk-card);border-color:var(--dk-line)}
  .book-done{background:rgba(60,179,113,.08)}
  .modal{background:var(--dk-card);color:var(--dk-ink)}
  .toast{background:var(--dk-ink);color:var(--dk-paper)}
  .site-foot{background:var(--dk-paper-3);border-top:1px solid var(--dk-line);color:var(--dk-muted)}
  .site-foot button{color:var(--dk-ink)}
  .dash-link{background:var(--dk-card);border-color:var(--dk-line)}

  /* ---------- the poster home ---------- */
  body.home .home-wrap{display:none}
  .desk-home{display:flex;flex-direction:column}
  .desk-in{max-width:1300px;width:100%;margin:0 auto;padding:0 72px}
  .desk-head{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;padding-top:18px}
  .desk-title{display:flex;align-items:center;justify-content:center;gap:26px;width:100%}
  .desk-logo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 auto}
  .desk-name{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:7.5rem;line-height:1;letter-spacing:var(--dk-name-spacing);color:var(--dk-name-ink);text-transform:none;text-shadow:var(--dk-name-shadow);white-space:nowrap;-webkit-text-stroke:0;max-width:none}
  .desk-tag{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-4);font-size:1rem;color:var(--dk-accent);margin-top:6px}
  /* the story (story.js, 2026-10-21): words left, one big photo right, under the name and above the photo strip */
  .desk-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;padding-top:44px}
  .desk-story[hidden]{display:none}
  .desk-story.no-photo{grid-template-columns:minmax(0,1fr);max-width:860px;margin:0 auto;text-align:center}
  .desk-story.no-photo .desk-story-btns{justify-content:center}
  .desk-story-kicker{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-3);font-size:.8rem;color:var(--dk-accent)}
  .desk-story h2{font-size:2.7rem;line-height:1.05;color:var(--dk-ink);margin:10px 0 18px;text-shadow:none;-webkit-text-stroke:0}
  .desk-story-body p{margin:0 0 12px;font-size:1.12rem;line-height:1.6;color:var(--dk-ink-2)}
  .desk-story-body p:last-child{margin:0}
  .desk-story-btns{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
  .desk-story-btn{display:inline-block;font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:1.05rem;padding:15px 28px;border-radius:4px;border:3px solid var(--dk-ink);color:var(--dk-ink);background:transparent}
  .desk-story-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}
  .desk-story-btn:hover{filter:brightness(1.1)}
  .desk-story-photo{border:4px solid var(--dk-ink);background:var(--dk-ink);overflow:hidden;height:400px}
  .desk-story-photo img{width:100%;height:100%;object-fit:cover}
  .desk-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:26px}
  .desk-photos a{display:block;border:4px solid var(--dk-ink);overflow:hidden;height:240px;background:var(--dk-ink)}
  .desk-photos img{width:100%;height:100%;object-fit:cover}
  .desk-photos:empty{display:none}
  .desk-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;padding-top:36px;align-items:start}
  .desk-board-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:4px solid var(--dk-ink);padding-bottom:8px}
  .desk-board-head h2{font-size:2.25rem;color:var(--dk-ink);text-shadow:none}
  .desk-board-head span{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:.8rem;color:var(--dk-muted)}
  .desk-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
  .desk-cat{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-3);font-size:.85rem;color:var(--dk-accent);padding:14px 0 4px}
  .desk-row{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px dotted var(--dk-dots);font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-1);font-size:1.1rem;color:var(--dk-ink);cursor:pointer}
  .desk-row .dots{flex:1;border-bottom:2px dotted var(--dk-dots);transform:translateY(-5px)}
  .desk-row.deal{color:var(--dk-accent)}
  .desk-row:hover{color:var(--dk-accent)}
  .desk-cta{align-self:flex-start;margin-top:20px;background:var(--accent);color:var(--on-accent,#fff);font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:1.15rem;padding:18px 34px;border-radius:4px;display:inline-block}
  .desk-cta:hover{filter:brightness(1.1)}
  .desk-side{display:flex;flex-direction:column;gap:22px}
  .desk-hours{background:var(--dk-plate);color:var(--dk-plate-ink);padding:28px 30px;display:flex;flex-direction:column;gap:2px;cursor:pointer}
  .desk-hours h2{font-size:1.6rem;color:var(--dk-plate-ink);border-bottom:2px solid var(--dk-plate-line);padding-bottom:8px;margin-bottom:8px;text-shadow:none}
  .desk-hours .d-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:1rem}
  .desk-hours .d-row b{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-1);flex:0 0 auto}
  .desk-hours .d-row span{text-align:right}
  .desk-hours .d-row.today{color:var(--dk-plate-today)}
  .desk-hours .d-row.closed span{color:var(--dk-plate-muted)}
  .desk-hours .d-row.today.closed span{color:var(--dk-plate-today)}
  .desk-hours .x-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.9rem;color:var(--dk-plate-muted);border-top:1px dotted var(--dk-plate-line)}
  .desk-hours .x-row:first-of-type{margin-top:8px}
  .desk-hours .status{margin-top:12px;font-size:.9rem;color:var(--dk-plate-muted)}
  .desk-hours .status.on{color:var(--dk-plate-on)}
  .desk-news{border:3px solid var(--dk-ink);padding:24px 28px;display:flex;flex-direction:column;gap:14px}
  .desk-news h2{font-size:1.4rem;color:var(--dk-ink);text-shadow:none}
  .desk-news article{display:flex;flex-direction:column;gap:4px;border-top:1px dotted var(--dk-dots);padding-top:12px}
  .desk-news article:first-of-type{border-top:0;padding-top:0}
  .desk-news .when{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-3);font-size:.75rem;color:var(--dk-muted)}
  .desk-news article.pinned .when{color:var(--dk-accent)}
  .desk-news h3{font-size:1.15rem;color:var(--dk-ink);text-shadow:none}
  .desk-news p{margin:0;font-size:.9rem;color:var(--dk-ink-2);line-height:1.45}
  .desk-news .more{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:.8rem;color:var(--dk-muted)}
  .desk-news .more:hover{color:var(--dk-accent)}
  .desk-page{padding-top:56px}
  .desk-page .rich{background:none;border:0;border-radius:0;border-top:4px solid var(--dk-ink);padding:14px 0 0;column-count:2;column-gap:48px;color:var(--dk-ink-2)}
  .desk-page .rich ul,.desk-page .rich ol,.desk-page .rich li{break-inside:avoid}
  .desk-page .rich h2,.desk-page .rich h3,.desk-page .rich h4{break-after:avoid;break-inside:avoid}
  .desk-page .rich h2{column-span:all;font-size:1.6rem;color:var(--dk-ink);margin:0 0 14px}
  .desk-page .rich p{break-inside:avoid;margin:0 0 12px}
  .desk-page .rich b{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-1);color:var(--dk-ink)}
  html.hero-site .desk-page .rich b{text-transform:none;letter-spacing:0}   /* the lead words read as on the phone, not in caps */
  .desk-page:empty{display:none}
  .desk-home .site-foot{position:static;margin-top:20px}

}

/* ========== the big photo home at every width (desktopLayout: "hero") and its motion ========== */
.desk-home.desk-hero-page{display:flex;flex-direction:column}
.desk-hero-page .desk-mast,.desk-hero-page .desk-foot{display:block}
body.home:has(.desk-hero-page) .home-wrap{display:none}
html:has(body.home .desk-hero-page),body.home:has(.desk-hero-page){background:var(--dk-ink);color:var(--dk-paper)}
.desk-hero-page .home-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 0 28px}
.desk-hero-page .legal-line{text-align:center;color:var(--dk-plate-muted)} .desk-hero-page .legal-line a{color:var(--dk-paper)}
.desk-hero-page .home-note{color:var(--dk-plate-muted);font-size:.82rem;text-align:center;max-width:42ch;margin:0}
.desk-hero-page .site-foot{position:static;background:none;color:var(--dk-plate-muted)}
.desk-hero-page .site-foot a,.desk-hero-page .site-foot button{color:var(--dk-plate-muted)}
.desk-beam{position:sticky;top:0;z-index:30;height:3px;margin:0 -14px -3px;background:var(--dk-accent);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.desk-hero-page .desk-mast{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--dk-ink) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.desk-hero-page .desk-mast .desk-stripe{display:none}
.desk-hero-page .desk-mast-in{transition:padding-top .3s cubic-bezier(.16,1,.3,1),padding-bottom .3s cubic-bezier(.16,1,.3,1)}   /* not the sides: a shot or a resize caught the logo mid slide (critic G, 2026-11-03) */
.desk-hero-page .desk-mast.small .desk-mast-in{padding-top:6px;padding-bottom:6px}
.desk-hero-page .desk-mast.small .desk-brand img{transform:scale(.85)}
.desk-hero-page .desk-brand img{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.desk-hero-btn{position:relative;display:inline-block;overflow:hidden;font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-2);font-size:1.05rem;padding:15px 28px;border-radius:6px;white-space:nowrap;background:var(--dk-accent);color:var(--on-accent,#fff);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),filter .3s;will-change:transform}
.desk-hero-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s cubic-bezier(.16,1,.3,1)}
.desk-hero-btn:hover::after{transform:translateX(120%)}
.desk-hero-btn:hover{box-shadow:0 12px 30px color-mix(in srgb,var(--dk-accent) 45%,transparent)}
.desk-hero-btn:active{transform:scale(.96)!important;transition-duration:.1s}
.desk-hero-btn.ghost{background:transparent;border:2px solid color-mix(in srgb,var(--dk-paper) 70%,transparent);color:var(--dk-paper)}
.desk-hero-btn.ghost:hover{box-shadow:none;border-color:var(--dk-paper)}
.desk-hero-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.desk-hours-cta .desk-hero-btns{margin-top:4px}
.desk-contact{display:none}
.desk-bar-link{flex:0 0 auto;color:var(--dk-paper);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;padding:0 4px}
.desk-hero{position:relative;flex:0 0 auto;display:grid;align-items:end;isolation:isolate;margin:0 -14px;background:var(--dk-ink);overflow:hidden;height:calc(100svh - var(--mast-h,55px) - var(--pv-banner,0px));min-height:560px;max-height:960px}
.desk-hero img{position:absolute;inset:-6%;width:112%;max-width:none;height:112%;object-fit:cover;object-position:var(--hero-x,60%) 40%;z-index:-2;animation:desk-kenburns 22s cubic-bezier(.16,1,.3,1) both}   /* max-width:none: styles.css caps every img at 100%, which left a dark bar down the right of the hero */
.desk-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--dk-ink) 0%,color-mix(in srgb,var(--dk-ink) 72%,transparent) 40%,color-mix(in srgb,var(--dk-ink) 22%,transparent) 75%,transparent 100%)}
.desk-hero.no-photo{height:auto;min-height:480px;background:linear-gradient(135deg,var(--dk-ink),color-mix(in srgb,var(--dk-accent) 35%,var(--dk-ink)))}
.desk-hero-in{width:100%}
.desk-hero h1{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);line-height:.95;letter-spacing:var(--dk-name-spacing);color:var(--dk-paper);text-shadow:none;-webkit-text-stroke:0;margin:0 0 18px}
.desk-hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.desk-hero h1 .w i{display:inline-block;font-style:normal;transform:translateY(110%);animation:desk-rise .9s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i,0) * 70ms + 200ms)}
.desk-hero h1 .w.mark i{color:var(--dk-accent)}
.desk-hero p{font-size:1.1rem;line-height:1.5;max-width:46ch;margin:0 0 26px;color:color-mix(in srgb,var(--dk-paper) 86%,transparent)}
.desk-hero .side{justify-self:end;text-align:right;font-size:.95rem;color:var(--dk-plate-muted);text-shadow:0 1px 14px color-mix(in srgb,var(--dk-ink) 85%,transparent),0 0 2px color-mix(in srgb,var(--dk-ink) 60%,transparent)}   /* the hours corner can sit on a bright part of the photo */
.desk-hero .side b{display:block;color:var(--dk-paper);font-size:1.15rem}
.desk-late{opacity:0;animation:desk-fade .8s cubic-bezier(.16,1,.3,1) 1.05s forwards}
.desk-hero .side.desk-late{animation-delay:1.3s}
/* the hours line under the buttons (phones; a wide screen has the corner) */
.desk-hero-status{display:block;margin:16px 0 0;font-size:.95rem;line-height:1.4;color:var(--dk-plate-muted);text-shadow:0 1px 14px color-mix(in srgb,var(--dk-ink) 85%,transparent)}
.desk-hero .side{display:none}
.desk-hero-status b{color:var(--dk-paper);margin-right:8px}
.desk-hero-where{white-space:nowrap} .desk-hero-where a{color:var(--dk-paper);text-decoration:underline;text-underline-offset:3px}   /* the street for a walk-in place, a map link (critic N, 2026-11-02) */
@supports(animation-timeline:view()){
  .desk-hero-in{animation:desk-lift 1ms linear both;animation-timeline:view();animation-range:exit 0% exit 60%}
  .desk-hero img{animation:desk-kenburns 22s cubic-bezier(.16,1,.3,1) both,desk-heropar 1ms linear both;animation-timeline:auto,view();animation-range:normal,exit 0% exit 100%}
}
@keyframes desk-rise{to{transform:none}}
@keyframes desk-fade{to{opacity:1}}
@keyframes desk-kenburns{from{transform:scale(1.12) translate(2%,1%)}to{transform:scale(1) translate(0,0)}}
@keyframes desk-lift{to{transform:translateY(-70px);opacity:0}}
@keyframes desk-heropar{to{translate:0 18%}}
.desk-marq{flex:0 0 auto;overflow:hidden;background:var(--dk-accent);color:var(--on-accent,#fff);padding:13px 0;margin:0 -14px;mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.desk-marq[hidden]{display:none}
.desk-marq-track{display:flex;gap:44px;width:max-content;animation:desk-marq 30s linear infinite;font-family:var(--head-font);font-weight:var(--head-weight);text-transform:uppercase;letter-spacing:.06em;font-size:1.1rem;white-space:nowrap}
.desk-marq:hover .desk-marq-track{animation-play-state:paused}
.desk-marq-track span{display:flex;gap:44px;align-items:center}
.desk-marq-track span::after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.7}
@keyframes desk-marq{to{transform:translateX(-50%)}}
.desk-h2{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);line-height:1;letter-spacing:var(--dk-name-spacing);color:var(--dk-paper);text-shadow:none}
.desk-h2:empty{display:none}
.desk-h2-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 22px}
.desk-h2-row .desk-h2{margin:0}
.desk-more{color:var(--dk-accent);font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-1);white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.desk-more:empty{display:none}
.desk-tiles:empty{display:none}
.desk-tile{position:relative;display:block;overflow:hidden;background:color-mix(in srgb,var(--dk-paper) 8%,var(--dk-ink));isolation:isolate;color:var(--dk-paper)}
.desk-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.desk-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--dk-ink) 92%,transparent),transparent 60%)}
.desk-tile .t{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.desk-tile h3{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);line-height:1;margin:0;color:var(--dk-paper);text-shadow:none;overflow-wrap:anywhere}
.desk-tile p{margin:4px 0 0;font-size:.92rem;color:color-mix(in srgb,var(--dk-paper) 85%,transparent)}
.desk-tile .price{display:block;margin-top:6px;font-weight:700;color:var(--dk-paper)}
@supports(animation-timeline:view()){@media(max-width:999px){.desk-tile{animation:desk-centre 1ms linear both;animation-timeline:view(inline);animation-range:contain 0% contain 100%}}}
@keyframes desk-centre{0%{transform:scale(.94);opacity:.82}50%{transform:scale(1);opacity:1}100%{transform:scale(.94);opacity:.82}}
.desk-steps{flex:0 0 auto;background:var(--dk-accent);color:var(--on-accent,#fff)}
.desk-steps[hidden]{display:none}
.desk-steps .desk-h2{color:inherit}
.desk-steps-grid{display:grid}
.desk-step{position:relative;padding-top:22px;opacity:0;transform:translateX(-30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.desk-step:nth-child(even){transform:translateX(30px)}
.desk-step.in{opacity:1;transform:none}
.desk-step::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:color-mix(in srgb,currentColor 55%,transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.16,1,.3,1) .2s}
.desk-step.in::before{transform:scaleX(1)}
.desk-step .n{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:4rem;line-height:1;height:1em;overflow:hidden}
.desk-step .n span{display:block;transform:translateY(100%);transition:transform .8s cubic-bezier(.16,1,.3,1) .3s}
.desk-step.in .n span{transform:none}
.desk-step h3{font-size:1.4rem;margin:6px 0 6px;color:inherit;text-shadow:none}
.desk-step p{margin:0;max-width:36ch;color:inherit;opacity:.9}
.desk-hours-row{display:grid}
.desk-hours-big{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);line-height:.95;letter-spacing:var(--dk-name-spacing);color:var(--dk-paper);cursor:pointer}
.desk-hours-big span{color:var(--dk-accent);font-variant-numeric:tabular-nums}
.desk-hours-note{color:var(--dk-plate-muted);max-width:40ch;margin:12px 0 0}
.desk-hero-page .desk-hours-note{max-width:none}   /* the note runs its column; at 40ch "See the week." fell alone on a line */
.desk-hours-note.in{animation:desk-pulse .9s cubic-bezier(.16,1,.3,1) 1}
.desk-hours-note a{text-decoration:underline;text-underline-offset:4px}
.desk-hours-cta .desk-where{display:block;color:var(--dk-paper);font-size:.95rem} .desk-hours-cta .desk-where a{color:var(--dk-paper);text-decoration:underline;text-underline-offset:3px}
@keyframes desk-pulse{30%{color:var(--dk-paper)}}
.desk-hours-cta{background:color-mix(in srgb,var(--dk-paper) 8%,var(--dk-ink));border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--dk-paper)}
.desk-hours-cta b{font-size:1.3rem} .desk-hours-cta small{color:var(--dk-plate-muted);font-size:.95rem}
.desk-hero-page .desk-news{border:0;padding:0;background:none;color:var(--dk-paper)}
.desk-hero-page .desk-news h2{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:var(--dk-name-spacing);margin:0 0 18px;text-transform:none}
.desk-hero-page .desk-news article{border:0;border-top:1px solid color-mix(in srgb,var(--dk-paper) 16%,transparent);padding:16px 0;margin:0}
.desk-hero-page .desk-news article .when{color:var(--dk-accent);font-family:var(--body-font);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px}
.desk-hero-page .desk-news article h3{margin:0 0 4px;font-size:1.15rem;text-transform:none;letter-spacing:0}
.desk-hero-page .desk-news article p{margin:0;line-height:1.5}
.desk-hero-page .desk-news .more{display:inline-block;margin-top:12px;color:var(--dk-accent);text-decoration:underline;text-underline-offset:4px}
.desk-hero-page .desk-news h2,.desk-hero-page .desk-news h3{color:var(--dk-paper)} .desk-hero-page .desk-news p{color:color-mix(in srgb,var(--dk-paper) 85%,transparent)} .desk-hero-page .desk-news .when,.desk-hero-page .desk-news .more{color:var(--dk-plate-muted)} .desk-hero-page .desk-news article{border-top-color:color-mix(in srgb,var(--dk-paper) 25%,transparent)}
.desk-hero-page .desk-page .rich{background:none;border:0;border-radius:0;border-top:4px solid color-mix(in srgb,var(--dk-paper) 25%,transparent);padding:14px 0 0;color:color-mix(in srgb,var(--dk-paper) 85%,transparent);column-count:1;max-width:760px} .desk-hero-page .desk-page .rich h2,.desk-hero-page .desk-page .rich b{color:var(--dk-paper)}   /* one column: two tore a heading from its list (critic 3) */
.desk-hero-page .desk-page{padding-top:40px}
.desk-hero-page .desk-foot{display:block;margin-top:40px;border-top:1px solid color-mix(in srgb,var(--dk-paper) 14%,transparent);padding-top:24px}
.desk-hero-page .desk-foot-in{color:var(--dk-plate-muted)} .desk-hero-page .desk-foot-brand{color:var(--dk-paper)}
.desk-hero-page .desk-foot-mail,html.hero-site .desk-foot-mail{color:var(--hs-paper,var(--dk-paper));white-space:nowrap}   /* a phone or email link in the footer: paper on the dark field, the accent failed contrast on the truck */
.desk-bar{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:25;display:none;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--dk-ink) 90%,var(--dk-paper));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:8px 8px 8px 16px;color:var(--dk-paper);transform:translateY(140%);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.desk-bar.show{transform:none}
.desk-bar.show .desk-hero-btn{animation:desk-bump .7s cubic-bezier(.16,1,.3,1) .6s 1}
.desk-bar .desk-hero-btn{flex:0 0 auto;padding:12px 20px;border-radius:999px;font-size:.95rem}
.desk-bar small{flex:1 1 auto;min-width:0;color:var(--dk-plate-muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes desk-bump{40%{transform:scale(1.08)}}
@media(max-width:999px){
  .desk-hero img{object-position:var(--hero-x-phone,var(--hero-x,60%)) 40%}   /* a phone shows a tall middle strip of the photo: the theme can move it onto the food (critic P) */
  .desk-hero-in{padding:64px 20px 32px}
  .desk-hero{height:calc(100svh - var(--mast-h,62px) - var(--pv-banner,0px));min-height:520px}   /* the masthead above it is sticky: the buttons end above the fold */
  .desk-hero-page .page{padding-bottom:96px}
  .desk-hero p{margin-bottom:18px}
  .desk-hero p .s2{display:none}   /* one sentence under the headline on a phone, so the buttons sit in the first screen */
  .desk-hero-status{display:block}
  .desk-hero h1{font-size:clamp(2.2rem,11vw,3.6rem);max-width:none}
  .desk-hero .side{display:none}
  .desk-hero-page .desk-in{padding-top:64px}
  .desk-h2{font-size:clamp(2rem,7vw,2.8rem);margin:0 0 22px}
  .desk-hero-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .desk-hero-btns .desk-hero-btn{text-align:center;padding:14px 8px;font-size:.95rem;letter-spacing:var(--dk-track-1)}
  .desk-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}
  .desk-bar .desk-hero-btn{text-align:center;padding:12px 8px;font-size:.95rem;letter-spacing:var(--dk-track-1)}
  .desk-bar .desk-hero-btn.ghost{border-color:color-mix(in srgb,var(--dk-paper) 45%,transparent)}
  .desk-tiles{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 16px;margin:0 -14px;scrollbar-width:none}
  #secTiles .desk-tiles{padding-bottom:4px} #secTiles + *{margin-top:40px}   /* the phone menu strip sat on about 100px of empty band (critics K, L and M, 2026-11-02) */
  .desk-tiles::-webkit-scrollbar{display:none}
  .desk-tile{flex:0 0 72%;scroll-snap-align:center;aspect-ratio:4/5;border-radius:14px}   /* more of the next tile shows, so the row reads as a row */
  .desk-tile h3{font-size:1.7rem}
  .desk-h2-row{flex-wrap:wrap;row-gap:4px}   /* a long heading and the see all link: the link drops under it */
  .desk-steps{margin:64px -14px 0;padding:0 0 64px}
  .desk-steps-grid{gap:32px}
  .desk-hours-row{gap:24px}
  .desk-hours-big{font-size:clamp(2.2rem,8vw,3.4rem)}
  .desk-hero-page .desk-news{margin-top:56px}
  .desk-hero-page .desk-mast{display:block;margin:0 -14px}
  .desk-hero-page .desk-mast-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
  .desk-hero-page .desk-brand{display:flex;align-items:center;gap:10px;font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.15rem;color:var(--dk-paper);min-width:0}
  .desk-hero-page .desk-brand img{width:36px;height:36px;border-radius:50%;flex:0 0 auto}
  .desk-hero-page .desk-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desk-hero-page .desk-mast nav{display:none}
  .desk-hero-page .desk-contact{display:inline-block;flex:0 0 auto;color:var(--dk-paper);font-family:var(--head-font);font-weight:var(--head-weight);font-size:.9rem;padding:8px 12px;border:2px solid color-mix(in srgb,var(--dk-paper) 60%,transparent);border-radius:999px;white-space:nowrap}
  .desk-hero-page .desk-book{flex:0 0 auto;background:var(--dk-accent);color:var(--on-accent,#fff);font-family:var(--head-font);font-weight:var(--head-weight);font-size:.9rem;padding:10px 16px;border-radius:999px;white-space:nowrap}
  .desk-hero-page .page{padding-bottom:110px}
  .desk-hero-page .desk-foot-in{display:flex;flex-direction:column;gap:4px;padding:0 0 24px;font-size:.85rem}
  .desk-hero-page .desk-foot-brand{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.1rem}
}

/* ========== the blocks of the hero home (SITE.homeSections, 2026-11-02): gallery, list, cta, points, about, area, faq;
   the menu button and the full screen menu on every page ========== */
.desk-in[hidden],.desk-sec[hidden],.desk-cta-band[hidden]{display:none}
.desk-hero-page .desk-sec > .desk-news{margin-top:0}
.desk-hero-page .desk-sec > .desk-page{padding-top:0}
/* the hero scrim, stronger at the foot so the words read on a bright photo */
.desk-hero::after{background:linear-gradient(to top,var(--dk-ink) 0%,color-mix(in srgb,var(--dk-ink) 82%,transparent) 36%,color-mix(in srgb,var(--dk-ink) 34%,transparent) 70%,color-mix(in srgb,var(--dk-ink) 12%,transparent) 100%)}
.desk-hero h1,.desk-hero p{text-shadow:0 2px 20px color-mix(in srgb,var(--dk-ink) 60%,transparent)}
/* the menu button: three lines, phones only; the sheet it opens works at every width */
.desk-menu{display:none;flex:0 0 auto;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;-webkit-tap-highlight-color:transparent}
.desk-menu span{display:block;height:2px;border-radius:2px;background:var(--hs-paper,var(--dk-paper))}
.desk-nav{position:fixed;inset:0;z-index:60;background:color-mix(in srgb,var(--hs-ink,var(--dk-ink)) 96%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--hs-paper,var(--dk-paper));overflow:auto;padding:max(10px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom))}
.desk-nav[hidden]{display:none}
.desk-nav-in{max-width:1300px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}
.desk-nav-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 18px}
.desk-nav .desk-brand{display:flex;align-items:center;gap:10px;font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.15rem;color:var(--hs-paper,var(--dk-paper));min-width:0;visibility:visible;max-width:none}
.desk-nav .desk-brand img{width:36px;height:36px;border-radius:50%}
.desk-nav .desk-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline}
.desk-nav-close{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;background:color-mix(in srgb,var(--hs-paper,var(--dk-paper)) 12%,transparent);color:var(--hs-paper,var(--dk-paper));font-size:1.8rem;line-height:1;cursor:pointer}
.desk-nav-links{display:flex;flex-direction:column;gap:2px;padding:10px 0;flex:1 1 auto}
.desk-nav-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:clamp(2rem,8vw,3rem);line-height:1.1;letter-spacing:var(--dk-name-spacing);color:var(--hs-paper,var(--dk-paper));padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--hs-paper,var(--dk-paper)) 14%,transparent);opacity:0;transform:translateY(18px)}
.desk-nav.open .desk-nav-links a{animation:desk-navin .5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i,0) * 50ms + 60ms)}
.desk-nav-links a::after{content:"";width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.45;flex:0 0 auto}
.desk-nav-links a.on{color:var(--hs-accent,var(--dk-accent))}
.desk-nav-foot{display:flex;align-items:center;gap:16px;padding-top:20px;flex-wrap:wrap}
.desk-nav-foot .desk-hero-btn{flex:1 1 auto;text-align:center;background:var(--hs-accent,var(--dk-accent))}
.desk-nav-status{color:var(--hs-muted,var(--dk-plate-muted));font-size:.95rem;flex:1 1 100%}
@keyframes desk-navin{to{opacity:1;transform:none}}
html.desk-nav-open .page,html.desk-nav-open .home-wrap{overflow:hidden}
/* the new blocks fade up the first time they scroll in */
.desk-gal-it,.desk-list-row,.desk-point,.desk-about-photo,.desk-area-places span,.desk-faq-it,.desk-deal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 70ms)}
.desk-gal-it.in,.desk-list-row.in,.desk-point.in,.desk-about-photo.in,.desk-area-places span.in,.desk-faq-it.in,.desk-deal.in{opacity:1;transform:none}
/* gallery: photos of past work */
.desk-gal{display:grid;gap:12px}
.desk-gal-it{position:relative;display:block;overflow:hidden;border-radius:10px;background:color-mix(in srgb,var(--dk-paper) 8%,var(--dk-ink))}
.desk-gal-it img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.desk-gal-it:hover img{transform:scale(1.06)}
.desk-gal-it .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;font-size:.9rem;line-height:1.3;color:var(--dk-paper);background:linear-gradient(to top,color-mix(in srgb,var(--dk-ink) 85%,transparent),transparent)}
/* list: the items as rows, a rate card */
.desk-list{display:flex;flex-direction:column}
.desk-list-cat{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-3);font-size:.8rem;color:var(--dk-accent);padding:26px 0 6px}
.desk-list-cat:first-child{padding-top:0}
.desk-list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--dk-paper) 16%,transparent);color:var(--dk-paper)}
.desk-list-row:hover b{color:var(--dk-accent)}
.desk-list-main{min-width:0}
.desk-list-main b{display:block;font-family:var(--head-font);font-weight:var(--head-weight);font-size:1.15rem;transition:color .2s}
.desk-list-main p{margin:4px 0 0;color:var(--dk-plate-muted);font-size:.95rem;max-width:60ch}
.desk-list-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto;text-align:right}
.desk-list-side .p{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.3rem;color:var(--dk-accent)}
.desk-list-side .q{font-size:.8rem;color:var(--dk-plate-muted);text-transform:uppercase;letter-spacing:.06em}
/* cta: one big ask on a paper band */
.desk-cta-band{flex:0 0 auto;margin:96px -14px 0;background:var(--dk-paper);color:var(--dk-ink)}
.desk-steps + .desk-cta-band{margin-top:0}   /* two colour bands touch; no dark stripe between them */
.desk-cta-band .desk-in{padding-top:0}
.desk-cta-in{display:grid;gap:40px;align-items:center;padding:72px 0}
.desk-cta-text .desk-h2{color:var(--dk-ink)}
.desk-cta-text p{font-size:1.15rem;line-height:1.5;max-width:50ch;margin:16px 0 0;color:var(--dk-ink-2)}
.desk-cta-text ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.desk-cta-text li{font-size:.9rem;padding:8px 14px;border:1px solid color-mix(in srgb,var(--dk-ink) 25%,transparent);border-radius:999px}
.desk-hero-btn.big{font-size:1.25rem;padding:20px 36px;justify-self:start}
/* points: why us */
.desk-points{display:grid;gap:28px}
.desk-point{padding-top:18px;border-top:2px solid color-mix(in srgb,var(--dk-paper) 25%,transparent)}
.desk-point .n{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1rem;color:var(--dk-accent);letter-spacing:.06em}
.desk-point h3{font-size:1.35rem;margin:8px 0 8px;color:var(--dk-paper);text-shadow:none}
.desk-point p{margin:0;color:var(--dk-plate-muted);line-height:1.5}
/* about: the story with a photo */
.desk-about{display:grid;gap:40px;align-items:center}
.desk-kicker{font-family:var(--head-font);font-weight:var(--head-weight);text-transform:var(--dk-caps);letter-spacing:var(--dk-track-3);font-size:.8rem;color:var(--dk-accent);margin-bottom:14px}
.desk-about-text p{font-size:1.15rem;line-height:1.6;margin:0 0 14px;color:color-mix(in srgb,var(--dk-paper) 88%,transparent)}
.desk-about-text .desk-hero-btns{margin-top:22px}
.desk-about-photo{border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:color-mix(in srgb,var(--dk-paper) 8%,var(--dk-ink))}
.desk-about-photo img{width:100%;height:100%;object-fit:cover}
/* area: where we go */
.desk-area{display:grid;gap:28px;align-items:start}
.desk-area-text p{font-size:1.1rem;line-height:1.55;margin:14px 0 0;color:color-mix(in srgb,var(--dk-paper) 88%,transparent);max-width:48ch}
.desk-area-places{display:flex;flex-wrap:wrap;gap:8px}
.desk-area-places span{padding:10px 16px;border:1px solid color-mix(in srgb,var(--dk-paper) 30%,transparent);border-radius:999px;font-size:.95rem}
/* deals: this week's specials, the price on the right */
.desk-deals{display:grid;gap:10px}
.desk-deal{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 18px;border-radius:10px;background:color-mix(in srgb,var(--dk-paper) 8%,var(--dk-ink));color:var(--dk-paper);transition:background .2s}
.desk-deal:hover{background:color-mix(in srgb,var(--dk-paper) 14%,var(--dk-ink))}
.desk-deal-desc{font-size:1.05rem;line-height:1.35}
.desk-deal-price{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.4rem;color:var(--dk-accent);white-space:nowrap}
/* faq */
.desk-faq-list{margin-top:8px;border-top:1px solid color-mix(in srgb,var(--dk-paper) 16%,transparent)}
.desk-faq-it{border-bottom:1px solid color-mix(in srgb,var(--dk-paper) 16%,transparent)}
.desk-faq-it summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-family:var(--head-font);font-weight:var(--head-weight);font-size:1.1rem;color:var(--dk-paper)}
.desk-faq-it summary::-webkit-details-marker{display:none}
.desk-faq-it summary i{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid color-mix(in srgb,var(--dk-paper) 35%,transparent);position:relative;transition:transform .3s}
.desk-faq-it summary i::before,.desk-faq-it summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.desk-faq-it summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.desk-faq-it[open] summary i{transform:rotate(45deg)}
.desk-faq-it p{margin:0;padding:0 44px 18px 0;line-height:1.55;color:var(--dk-plate-muted)}
@media(max-width:999px){
  .desk-menu{display:flex}
  .desk-contact,.desk-hero-page .desk-contact{display:none}
  .desk-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .desk-gal-it .cap{font-size:.8rem;padding:26px 10px 10px}
  .desk-cta-band{margin-top:64px}
  .desk-cta-in{padding:48px 0;gap:24px}
  .desk-hero-btn.big{font-size:1.05rem;padding:16px 24px;width:100%;text-align:center;justify-self:stretch}
  .desk-points{gap:20px}
  .desk-about{gap:24px}
  .desk-area-places span{padding:8px 12px;font-size:.88rem}
  .desk-list-row{flex-direction:column;gap:6px}
  .desk-list-side{flex-direction:row;align-items:baseline;gap:10px}
  .desk-nav-links a{font-size:clamp(1.9rem,9vw,2.6rem)}
}

/* ========== the hero site's inner pages: the same dark field, masthead and type as the home (every width) ========== */
:root{--hs-ink:var(--dk-ink);--hs-paper:var(--dk-paper);--hs-muted:var(--dk-plate-muted);--hs-accent:var(--dk-accent)}
html.hero-site body:not(.home){
  /* the phone tokens, and the wide screen's paper tokens, both mapped onto the ink field */
  --bg:var(--hs-ink);--panel:color-mix(in srgb,var(--hs-paper) 8%,var(--hs-ink));--panel-2:color-mix(in srgb,var(--hs-paper) 13%,var(--hs-ink));
  --line:color-mix(in srgb,var(--hs-paper) 16%,transparent);--text:var(--hs-paper);--muted:var(--hs-muted);
  --dk-paper:var(--hs-ink);--dk-paper-2:color-mix(in srgb,var(--hs-paper) 6%,var(--hs-ink));--dk-paper-3:color-mix(in srgb,var(--hs-paper) 12%,var(--hs-ink));
  --dk-card:color-mix(in srgb,var(--hs-paper) 8%,var(--hs-ink));--dk-ink:var(--hs-paper);--dk-ink-2:color-mix(in srgb,var(--hs-paper) 85%,transparent);
  --dk-muted:var(--hs-muted);--dk-line:color-mix(in srgb,var(--hs-paper) 16%,transparent);--dk-dots:color-mix(in srgb,var(--hs-paper) 35%,transparent);
  --dk-plate:color-mix(in srgb,var(--hs-paper) 10%,var(--hs-ink));--dk-plate-ink:var(--hs-paper);--dk-plate-line:color-mix(in srgb,var(--hs-paper) 25%,transparent);
  --dk-button:var(--hs-accent);--dk-button-ink:var(--on-accent,#fff);
  background:var(--hs-ink);color:var(--hs-paper)
}
html.hero-site{background:var(--hs-ink)}
html.hero-site body:not(.home) .page{background:var(--hs-ink)}
html.hero-site body:not(.home) .hours-list .t{color:var(--hs-paper)}   /* the times in the paper colour, like the phone; an accent on the ink read low (critic J, 2026-11-02) */
html.hero-site body:not(.home) .desk-foot{margin-top:auto;border-top:0;padding-top:0}   /* a short page: the footer at the foot of the screen, not a band of colour under it (critic 5) */
html.hero-site body:not(.home) .desk-foot::before{content:"";display:block;height:48px;border-bottom:1px solid color-mix(in srgb,var(--hs-paper) 14%,transparent);margin-bottom:24px}   /* the rule keeps 48px above it when the page is long, every width: an auto margin gives nothing once the page scrolls (critics D and F, 2026-11-02) */
html.hero-site input::placeholder,html.hero-site textarea::placeholder{color:var(--muted);opacity:.62}   /* visible on the ink field, but dimmer than typed text (critic N: it read as filled in) */
html.hero-site select:invalid{color:color-mix(in srgb,var(--muted) 70%,transparent)} html.hero-site select option{color:initial}
html.hero-site .contact-form,html.hero-site .order-form{padding-top:16px}
@media(min-width:1000px){html.hero-site body:not(.home) .field label{font-size:.88rem} html.hero-site body:not(.home) .intro,html.hero-site body:not(.home) #bookNote{font-size:1.02rem}}   /* labels read at 12px on a laptop (critic P) */
html.hero-site .rich{max-width:72ch} html.hero-site #legal{max-width:860px;margin-left:auto;margin-right:auto} @media(min-width:1000px){html.hero-site #legal{font-size:1.04rem} html.hero-site #legal,html.hero-site body[data-page-title="page"] .rich{padding:34px 64px}}   /* a reading measure inside the 860 column (critic P) */   /* the text fills the 860 card at a reading size, not a 72ch strip with an empty third (critic H) */   /* prose keeps its measure inside the one 860px column (critic P) */   /* the first label sat 4px under the card's edge (critic O) */
@media(min-width:1000px){html.hero-site .cats .chip{font-size:.92rem;padding:9px 16px}}   /* the only filter on the menu read at 11px (critic O) */
/* the today row on the hours page: the accent day name on the lighter band read low on the ink field; the name in the page's text colour, the accent as an edge and on the Today tag */
html.hero-site .hours-list li.today{box-shadow:inset 4px 0 0 var(--accent)}
html.hero-site .hours-list li.today .d{color:var(--text)}
html.hero-site .hours-list li.today .d::after{color:var(--hs-paper);opacity:.8}   /* the accent tag read about 2 to 1 on some today rows (critic Q) */
html.hero-site body:not(.home) .page-title{color:var(--hs-paper);border-bottom-color:color-mix(in srgb,var(--hs-paper) 30%,transparent)}
html.hero-site body:not(.home) .site-head{background:linear-gradient(to bottom,var(--hs-ink) 80%,transparent)}
html.hero-site body:not(.home) .chip.active,html.hero-site body:not(.home) .day-chip.active,html.hero-site body:not(.home) .slot.active{background:var(--hs-accent);color:var(--on-accent,#fff);border-color:var(--hs-accent)}
html.hero-site body:not(.home) .step-n,html.hero-site body:not(.home) .feat-tag{background:var(--hs-accent);color:var(--on-accent,#fff)}
html.hero-site body:not(.home) .toast{background:var(--hs-paper);color:var(--hs-ink)}
html.hero-site body:not(.home) .badge.good,html.hero-site body:not(.home) .badge.grey{background:color-mix(in srgb,var(--hs-paper) 14%,transparent);color:color-mix(in srgb,var(--hs-paper) 85%,transparent)}
html.hero-site body:not(.home) .badge.accent{background:color-mix(in srgb,var(--hs-accent) 25%,transparent);color:var(--hs-paper)}
html.hero-site body:not(.home) .card img,html.hero-site body:not(.home) .post img{opacity:.96}
/* the masthead on every page: sticky, the ink field, the logo and name, Contact and Book */
html.hero-site .desk-mast{display:block;position:sticky;top:0;z-index:20;margin:0 -14px;background:color-mix(in srgb,var(--hs-ink) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html.hero-site .desk-mast .desk-stripe{display:none}
html.hero-site .desk-brand{visibility:visible;color:var(--hs-paper)}
html.hero-site .desk-mast nav a{color:var(--hs-paper)}
html.hero-site .desk-mast nav a.on{border-bottom-color:var(--hs-accent)}
html.hero-site .desk-book{background:var(--hs-accent);color:var(--on-accent,#fff)}
html.hero-site .desk-foot{display:block;border-top:1px solid color-mix(in srgb,var(--hs-paper) 14%,transparent);padding-top:24px}
html.hero-site .desk-foot .desk-stripe{display:none}
html.hero-site .desk-foot-in{color:var(--hs-muted)} html.hero-site .desk-foot-brand{color:var(--hs-paper)}
@media(max-width:999px){
  html.hero-site .desk-mast-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
  html.hero-site .desk-brand{display:flex;align-items:center;gap:10px;font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.15rem;min-width:0}
  html.hero-site .desk-brand img{width:36px;height:36px;border-radius:50%;flex:0 0 auto}
  html.hero-site .desk-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html.hero-site .desk-mast nav{display:none}
  html.hero-site .desk-contact{display:inline-block;flex:0 0 auto;color:var(--hs-paper);font-family:var(--head-font);font-weight:var(--head-weight);font-size:.9rem;padding:8px 12px;border:2px solid color-mix(in srgb,var(--hs-paper) 60%,transparent);border-radius:999px;white-space:nowrap}
  html.hero-site .desk-book{flex:0 0 auto;font-family:var(--head-font);font-weight:var(--head-weight);font-size:.9rem;padding:10px 16px;border-radius:999px;white-space:nowrap}
  html.hero-site body:not(.home) .site-head{padding-top:6px;position:static}
  html.hero-site body:not(.home) .site-head .home-btn{visibility:hidden}
  html.hero-site .desk-contact{display:none}
  html.hero-site .desk-foot-in{display:flex;flex-direction:column;gap:4px;padding:0 0 24px;font-size:.85rem}
  html.hero-site .desk-foot-brand{font-family:var(--dk-name-font);font-weight:var(--dk-name-weight);font-size:1.1rem}
  html.hero-site body:not(.home) .page{padding-bottom:40px}
}

/* the name on a phone, after every masthead rule above so it wins: two short lines next to the logo, never an ellipsis */
@media(max-width:999px){
  /* the name on a phone: two short lines next to the logo, never an ellipsis */
  .desk-hero-page .desk-brand,html.hero-site .desk-brand{flex:1 1 auto}
  .desk-hero-page .desk-brand span,html.hero-site .desk-brand span{white-space:normal!important;font-size:.86rem;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:clip!important}
  .desk-hero-page .desk-book,html.hero-site .desk-book{padding:8px 12px;font-size:.82rem}
  .desk-hero-page .desk-mast-in,html.hero-site .desk-mast-in{gap:10px}
  .desk-menu{width:40px;padding:10px 8px}
  .desk-gal-it:nth-child(9){display:none}
  .desk-gal-it{aspect-ratio:4/5}
  .desk-steps .desk-in,.desk-cta-band .desk-in{padding-left:20px;padding-right:20px}
  .desk-foot-mail{color:var(--dk-accent);text-decoration:underline;text-underline-offset:3px}
  .desk-hero-page .desk-brand .full,html.hero-site .desk-brand .full{display:none}
  .desk-hero-page .desk-brand:not(:has(.short)) .full,html.hero-site .desk-brand:not(:has(.short)) .full{display:-webkit-box}
  html.hero-site body:not(.home) .site-head{grid-template-columns:1fr;padding-top:14px}
  html.hero-site body:not(.home) .site-head .home-btn,html.hero-site body:not(.home) .site-head .back-btn{display:none}
  html.hero-site body:not(.home) .page-title{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  .desk-hero h1 .w i,.desk-step,.desk-step .n span,.desk-tile,.desk-late,.desk-hero-in,.desk-hero img,.desk-marq-track,.desk-bar.show .desk-hero-btn{animation:none!important;transition:none!important}
  .desk-hero h1 .w i{transform:none} .desk-late{opacity:1} .desk-step{opacity:1;transform:none} .desk-step::before{transform:none} .desk-step .n span{transform:none} .desk-tile img,.desk-tile .t{clip-path:none} .desk-tile{opacity:1;transform:none}
  .desk-gal-it,.desk-list-row,.desk-point,.desk-about-photo,.desk-area-places span,.desk-faq-it,.desk-deal,.desk-nav-links a{opacity:1;transform:none;transition:none;animation:none}
}
