/* ============================================================
   Mikki's Kitchen CMS — theme

   Brand: white, black, red, gold.
   Black is the ground. Gold is the typographic accent — prices,
   eyebrows, section rules, links, primary buttons. Red is emphasis
   and heat: the highest-intent button, spice level, 86'd, errors.
   White is the light-section surface and every piece of body copy
   on black.

   Two reds on purpose. --red is a fill colour (white text sits on
   it at 6.6:1). --red-lt is red as TEXT on black, because the brand
   red itself only manages 2.9:1 there and would be unreadable small.

   Bricolage Grotesque display, Inter Tight UI, DM Mono for the
   things a kitchen sets in mono: prices, codes, times, refs.
   Everything is namespaced .mk-* so pasted third-party markup in a
   Custom HTML section can never collide with this file.
   ============================================================ */

:root{
  /* --accent and --ink are overridden per site in Settings → Brand. */
  --accent:#D4A537;               /* gold */
  --accent-dark:#8A6714;          /* gold that still reads on white */
  --red:#C8102E;                  /* brand red — fills and borders */
  --red-lt:#E8465C;               /* red as text on black */
  --heat:var(--red-lt);           /* spice level, 86'd, errors */

  --ink:#0A0A0A;                  /* brand black */
  --surface:#101010;
  --panel:#151515;
  --panel-2:#1D1D1D;
  --line:rgba(212,165,55,.22);    /* gold hairlines */
  --line-soft:rgba(255,255,255,.08);
  --text:#FFFFFF;                 /* brand white */
  --text-2:#D8D5D0;
  --text-3:#8C8C8C;
  --light-bg:#F6F4F1;             /* paper — cards on it are pure white */
  --light-text:#0A0A0A;
  --light-mut:#56565A;

  --font-display:'Bricolage Grotesque','Inter Tight',system-ui,sans-serif;
  --font-ui:'Inter Tight',system-ui,-apple-system,sans-serif;
  --font-mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

  --nav-h:82px;
  --wrap:1240px;
  --gap:clamp(1rem,2.4vw,2rem);
  --sect-y:clamp(3.5rem,7vw,7rem);
  --ease:cubic-bezier(.22,.61,.36,1);
  --card-r:12px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);}

body.mk{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--font-ui);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Body text size. Set on <html> so every rem-based size scales with it —
   setting it on <body> only moves inherited text and leaves explicit rem
   sizes (.mk-prose p, buttons, labels) stuck at the default. */
html{font-size:calc(100% * var(--type-base,1));}

img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;transition:color .18s var(--ease);}
a:hover{color:var(--text);}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:500;line-height:1.05;margin:0 0 .6em;letter-spacing:-.015em;}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0;}

.mk-skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#000;padding:.75rem 1.25rem;z-index:200;}
.mk-skip:focus{left:1rem;top:1rem;}

.mk-container{width:min(var(--wrap),calc(100% - 2*var(--gap)));margin-inline:auto;}
/* NOTE: in the source this file was ported from, the comment above this rule
   was never closed, so .mk-container--wide sat INSIDE it and did nothing —
   every "Wide" width option silently rendered at the normal 1240px. Closed. */
.mk-container--wide{width:min(1560px,calc(100% - 2*var(--gap)));}
.mk-container--narrow{width:min(820px,calc(100% - 2*var(--gap)));}

/* ---------- eyebrow / section heads ---------- */
.mk-eyebrow{
  font-family:var(--font-mono);font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  margin:0 0 1rem;display:inline-flex;align-items:center;gap:.6rem;
}
.mk-eyebrow::after{content:'';flex:0 0 auto;width:clamp(18px,4vw,42px);height:1px;background:currentColor;opacity:.55;}
.mk-sect-head--center .mk-eyebrow::after{display:none;}
.mk-mono{font-family:var(--font-mono);}
.mk-sect-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.25rem);}
.mk-sect-head h2{font-size:calc(clamp(1.75rem,3.6vw,2.9rem) * var(--type-head,1));margin-bottom:.5rem;}
.mk-sect-head p{color:var(--text);font-size:1.02rem;}
.mk-sect-head--center{margin-inline:auto;text-align:center;}

/* ---------- buttons ---------- */
.mk-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-ui);font-size:calc(.74rem * var(--btn-text,1));font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  padding:calc(.95rem * var(--btn-size,1)) calc(1.6rem * var(--btn-size,1));
  border:2px solid transparent;border-radius:var(--btn-radius,4px);
  cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;
}
.mk-btn--accent{background:var(--accent);color:#000;border-color:var(--accent);}
.mk-btn--accent:hover{background:transparent;color:var(--accent);}
.mk-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.mk-btn--ghost:hover{border-color:var(--accent);color:var(--accent);}
.mk-btn--outline{background:transparent;color:var(--accent);border-color:var(--accent);}
.mk-btn--outline:hover{background:var(--accent);color:#000;}
.mk-btn--red{background:var(--red);color:#fff;border-color:var(--red);}
.mk-btn--red:hover{background:transparent;color:var(--red-lt);border-color:var(--red-lt);}
.mk-sect--light .mk-btn--red:hover{color:var(--red);border-color:var(--red);}
.mk-btn--dark{background:#000;color:#fff;border-color:#000;}
.mk-btn--dark:hover{background:transparent;color:#000;border-color:#000;}
.mk-btn--sm{padding:calc(.62rem * var(--btn-size,1)) calc(1.05rem * var(--btn-size,1));font-size:calc(.66rem * var(--btn-text,1));}
.mk-btn--lg{padding:calc(1.2rem * var(--btn-size,1)) calc(2.1rem * var(--btn-size,1));font-size:calc(.85rem * var(--btn-text,1));}
.mk-btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;}

/* ============================================================
   NAV
   ============================================================ */
/* The nav is white-on-black chrome sitting over whatever section comes
   first. At 15% opacity — the value this was ported with — it was
   unreadable the moment a page opened with a light section, which the
   chef profile does by default. Black is a brand colour here, so the bar
   is simply black and stays legible over anything. */
.mk-nav{
  position:fixed;inset:0 0 auto 0;z-index:120;
  background:rgba(10,10,10,.88);backdrop-filter:blur(14px);
  border-bottom:0;
  transition:background .25s var(--ease);
}
.mk-nav.is-scrolled{background:rgba(10,10,10,.97);}
.mk-nav__inner{
  width:min(1560px,calc(100% - 2*var(--gap)));margin-inline:auto;
  height:var(--nav-h);display:flex;align-items:center;gap:1.5rem;
}
.mk-brand{display:flex;align-items:center;flex:0 0 auto;}
.mk-brand img{height:52px;width:auto;}
.mk-brand__text{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:-.02em;}

.mk-menu{display:flex;align-items:center;gap:1.5rem;margin-left:auto;}
.mk-menu__list{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0;}
.mk-menu__item{position:relative;}
.mk-menu__item>a{
  display:block;padding:.65rem .85rem;color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.mk-menu__item>a:hover,.mk-menu__item.is-active>a{color:var(--accent);}
.mk-menu__item.is-active>a{position:relative;}
.mk-menu__item.is-active>a::after{
  content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:2px;background:var(--accent);
}
.mk-menu__caret{display:none;background:none;border:0;color:inherit;}

.mk-submenu{
  position:absolute;top:100%;left:0;min-width:230px;
  background:#0d0d0f;border:1px solid var(--line);
  list-style:none;margin:0;padding:.4rem;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:all .18s var(--ease);
}
.mk-menu__item.has-children:hover .mk-submenu,
.mk-menu__item.is-open .mk-submenu{opacity:1;visibility:visible;transform:translateY(0);}
.mk-submenu a{
  display:block;padding:.62rem .85rem;color:var(--text);
  font-size:.7rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
}
.mk-submenu a:hover{background:var(--panel-2);color:var(--accent);}

.mk-nav__cta{display:flex;gap:.5rem;}

.mk-burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:10px;margin-left:auto;}
.mk-burger span{display:block;height:2px;background:#fff;margin:5px 0;transition:transform .25s var(--ease),opacity .2s;}
.mk-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mk-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mk-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:1080px){
  .mk-burger{display:block;}
  .mk-menu{
    position:fixed;inset:var(--nav-h) 0 0 0;background:#000;
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:1.25rem var(--gap) 3rem;overflow-y:auto;
    transform:translateX(100%);transition:transform .3s var(--ease);
  }
  .mk-menu.is-open{transform:translateX(0);}
  .mk-menu__list{flex-direction:column;align-items:stretch;gap:0;}
  .mk-menu__item{border-bottom:1px solid var(--line-soft);}
  .mk-menu__item>a{padding:1.05rem .25rem;font-size:.9rem;}
  .mk-menu__item.is-active>a::after{display:none;}
  .mk-menu__caret{display:block;position:absolute;right:0;top:.6rem;width:44px;height:44px;font-size:1rem;cursor:pointer;}
  .mk-submenu{
    position:static;opacity:1;visibility:visible;transform:none;
    border:0;border-left:2px solid var(--accent);margin:0 0 .8rem .4rem;
    padding:0 0 0 .8rem;display:none;background:transparent;
  }
  .mk-menu__item.is-open .mk-submenu{display:block;}
  .mk-nav__cta{margin-top:1.75rem;flex-direction:column;}
  .mk-nav__cta .mk-btn{justify-content:center;padding:calc(.9rem * var(--btn-size,1));font-size:calc(.72rem * var(--btn-text,1));}
}

/* ============================================================
   SECTIONS
   ============================================================ */
.mk-sect{padding-block:var(--sect-y);position:relative;}
.mk-sect--dark{background:var(--ink);}
.mk-sect--panel{background:var(--panel);}
.mk-sect--light{background:var(--light-bg);color:var(--light-text);}
.mk-sect--light h1,.mk-sect--light h2,.mk-sect--light h3{color:var(--light-text);}
.mk-sect--light p{color:var(--light-mut);}
.mk-sect--light a{color:var(--accent-dark);}

/* ---------- HERO ---------- */
.mk-hero{
  position:relative;display:flex;align-items:center;
  padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem;
  overflow:hidden;
}
.mk-hero--full{min-height:100svh;}
.mk-hero--tall{min-height:78svh;}
.mk-hero--medium{min-height:58svh;}
.mk-hero--short{min-height:38svh;}
.mk-hero__bg{position:absolute;inset:0;z-index:0;}
.mk-hero__bg img,.mk-hero__bg iframe{width:100%;height:100%;object-fit:cover;border:0;}
.mk-hero__overlay{position:absolute;inset:0;background:#000;z-index:1;}
.mk-hero__inner{position:relative;z-index:2;width:100%;}
.mk-hero__content{max-width:92ch;}
.mk-hero--center .mk-hero__content{max-width:92ch;margin-inline:auto;text-align:center;}
.mk-hero--center .mk-btn-row{justify-content:center;}
.mk-hero--right .mk-hero__content{max-width:92ch;margin-left:auto;text-align:right;}
.mk-hero--right .mk-btn-row{justify-content:flex-end;}
.mk-hero h1{
  /* --hero-title is set per section by the Hero / Hero carousel blocks.
     It multiplies on top of the global heading scale, so a page can go
     bigger or smaller without touching Settings. */
  font-size:calc(clamp(2.35rem,6.2vw,4.6rem) * var(--type-head,1) * var(--hero-title,1));font-weight:400;
  margin-bottom:1.1rem;letter-spacing:-.025em;
}
.mk-hero__sub{font-size:calc(clamp(1rem,1.35vw,1.16rem) * var(--type-base,1));color:var(--text);max-width:58ch;}
.mk-hero--center .mk-hero__sub{margin-inline:auto;}
.mk-hero--right .mk-hero__sub{margin-left:auto;}
.mk-hero__scroll{
  position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);
  z-index:2;color:var(--text-3);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
}

/* ---------- RICH TEXT ---------- */
.mk-prose{font-size:1.03rem;line-height:1.78;color:var(--text);}
.mk-prose h2{font-size:calc(clamp(1.5rem,2.6vw,2.1rem) * var(--type-head,1));color:#fff;margin-top:2.2em;}
.mk-prose h3{font-size:calc(clamp(1.2rem,2vw,1.5rem) * var(--type-head,1));color:#fff;margin-top:1.9em;}
.mk-prose h4{font-size:1.05rem;color:#fff;margin-top:1.6em;}
.mk-prose>*:first-child{margin-top:0;}
.mk-prose ul,.mk-prose ol{padding-left:1.3rem;margin:0 0 1.3em;}
.mk-prose li{margin-bottom:.5em;}
.mk-prose li::marker{color:var(--accent);}
.mk-prose img{margin:2rem 0;}
.mk-prose blockquote{
  margin:2rem 0;padding:1.1rem 0 1.1rem 1.6rem;
  border-left:3px solid var(--accent);color:#fff;
  font-family:var(--font-display);font-size:1.18rem;line-height:1.5;
}
.mk-prose blockquote p:last-child{margin:0;}
.mk-prose code{background:var(--panel-2);padding:.15em .45em;font-size:.9em;font-family:ui-monospace,Menlo,monospace;color:var(--accent);}
.mk-prose pre{background:var(--panel-2);padding:1.2rem;overflow-x:auto;border-left:3px solid var(--accent);}
.mk-prose pre code{background:none;padding:0;color:var(--text);}
.mk-prose table{width:100%;border-collapse:collapse;margin:1.8rem 0;font-size:.94rem;}
.mk-prose th,.mk-prose td{padding:.8rem 1rem;border:1px solid var(--line);text-align:left;}
.mk-prose th{background:var(--panel-2);color:#fff;font-family:var(--font-ui);font-weight:600;
  text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;}
.mk-sect--light .mk-prose{color:var(--light-mut);}
.mk-sect--light .mk-prose h2,.mk-sect--light .mk-prose h3{color:var(--light-text);}

/* ---------- MEDIA SPLIT ---------- */
.mk-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.mk-media--right .mk-media__fig{order:2;}
.mk-media__fig img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.mk-media__body h2{font-size:calc(clamp(1.6rem,3vw,2.5rem) * var(--type-head,1));}
@media(max-width:860px){
  .mk-media{grid-template-columns:1fr;}
  .mk-media--right .mk-media__fig{order:0;}
}

/* ---------- GRIDS ---------- */
.mk-grid{display:grid;gap:clamp(1rem,2vw,1.6rem);}
.mk-grid--2{grid-template-columns:repeat(2,1fr);}
.mk-grid--3{grid-template-columns:repeat(3,1fr);}
.mk-grid--4{grid-template-columns:repeat(4,1fr);}
.mk-grid--5{grid-template-columns:repeat(5,1fr);}
@media(max-width:1000px){.mk-grid--4,.mk-grid--5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:820px){.mk-grid--3,.mk-grid--4,.mk-grid--5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.mk-grid{grid-template-columns:1fr !important;}}

/* ---------- FEATURE CARD ---------- */
.mk-feature{
  background:var(--panel);border:1px solid var(--line-soft);
  padding:clamp(1.4rem,2.4vw,2.1rem);height:100%;
  display:flex;flex-direction:column;
  transition:border-color .22s var(--ease),transform .22s var(--ease),background .22s var(--ease);
}
.mk-feature:hover{border-color:var(--accent);transform:translateY(-4px);background:var(--panel-2);}
.mk-feature__icon{
  width:52px;height:52px;display:grid;place-items:center;margin-bottom:1.1rem;
  background:rgba(255,166,0,0%);color:var(--accent);
  font-family:var(--font-display);font-size:1.15rem;font-weight:700;
}
.mk-feature__icon img{width:100%;height:100%;object-fit:contain;}
.mk-feature h3{font-size:1.1rem;margin-bottom:.55rem;}
.mk-feature p{color:var(--text);font-size:.94rem;margin-bottom:0;}
.mk-feature__link{margin-top:auto;padding-top:1.1rem;font-size:.7rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;}

/* ---------- IMAGE CARD ---------- */
.mk-card{
  background:var(--panel);border:1px solid var(--line-soft);
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  transition:border-color .22s var(--ease),transform .22s var(--ease);
}
.mk-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.mk-card__img{aspect-ratio:16/10;overflow:hidden;background:#000;}
.mk-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.mk-card:hover .mk-card__img img{transform:scale(1.06);}
.mk-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1;}
.mk-card__body h3{font-size:1.06rem;margin-bottom:.5rem;}
.mk-card__body p{color:var(--text);font-size:.93rem;}
.mk-card__link{margin-top:auto;padding-top:1rem;font-size:.7rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;}

/* ---------- GALLERY ---------- */
.mk-gal__item{position:relative;overflow:hidden;background:#000;cursor:zoom-in;}
.mk-gal__item img{aspect-ratio:1/1;width:100%;object-fit:cover;transition:transform .5s var(--ease),opacity .3s;}
.mk-gal__item:hover img{transform:scale(1.07);opacity:.75;}
.mk-gal__cap{
  position:absolute;inset:auto 0 0 0;padding:.9rem 1rem;
  background:linear-gradient(transparent,rgba(0,0,0,.88));
  font-size:.76rem;letter-spacing:.06em;
}
.mk-lightbox{
  position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.96);
  display:none;align-items:center;justify-content:center;padding:2rem;
}
.mk-lightbox.is-open{display:flex;}
.mk-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}
.mk-lightbox__close{
  position:absolute;top:1.25rem;right:1.5rem;background:none;border:0;
  color:#fff;font-size:2rem;cursor:pointer;line-height:1;
}

/* ---------- LOGOS ---------- */
.mk-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);}
.mk-logos img{max-height:52px;width:auto;opacity:.62;transition:all .25s var(--ease);}
.mk-logos--gray img{filter:grayscale(1);}
.mk-logos img:hover{opacity:1;filter:none;}

/* ---------- PRICING ---------- */
/* ---- plan cards ---- */
.mk-pricing{position:relative;overflow:hidden;isolation:isolate;}
.mk-pricing > .mk-container{position:relative;z-index:2;}
.mk-pricing__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-pricing__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-pricing__fade{position:absolute;inset:0;z-index:1;display:block;
  background:rgba(0,0,0,var(--fade,.82));}

.mk-plan{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--btn-radius,4px);
  display:flex;flex-direction:column;height:100%;
  transition:transform .28s var(--ease),border-color .28s var(--ease);
}
.mk-plan:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.28);}
.mk-plan__in{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;
  padding:clamp(1.6rem,2.6vw,2.3rem);}

/* photo behind a card */
.mk-plan__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-plan__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease);}
.mk-plan:hover .mk-plan__bg img{transform:scale(1.05);}
/* Deliberately heavier toward the bottom: the feature list and button need a
   near-solid backing or a busy photo makes them unreadable. */
.mk-plan__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to bottom,
    rgba(0,0,0,calc(var(--fade,.9) * .78)) 0%,
    rgba(0,0,0,var(--fade,.9)) 42%,
    rgba(0,0,0,calc(var(--fade,.9) + .05)) 100%);}
.mk-plan--photo{border-color:rgba(255,255,255,.16);}

.mk-plan--featured{border-color:var(--accent);background:var(--panel-2);
  box-shadow:0 0 0 1px var(--accent) inset;}
.mk-plan--featured:hover{border-color:var(--accent);}

/* corner badge — the text now comes from the editor, not CSS */
.mk-plan__badge{position:absolute;top:0;right:0;z-index:3;
  background:var(--accent);color:#141414;font-size:.6rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:.45rem .8rem;
  border-bottom-left-radius:var(--btn-radius,4px);}

.mk-plan__name{font-family:var(--font-ui);font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
/* price and period share a baseline so the period reads as a unit, not an orphan */
.mk-plan__priceline{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;
  margin-bottom:.3rem;}
.mk-plan__price{font-family:var(--font-display);
  font-size:calc(clamp(2.2rem,4vw,3.1rem) * var(--type-head,1));
  font-weight:700;line-height:1;color:#fff;}
.mk-plan__period{color:var(--text-3);font-size:.9rem;font-weight:500;}
.mk-plan__note{color:var(--accent);font-size:.82rem;margin:0 0 1.5rem;font-weight:500;}
.mk-plan__list{list-style:none;margin:0 0 1.75rem;padding:0;font-size:.93rem;color:var(--text);}
.mk-plan__list li{padding:.5rem 0 .5rem 1.5rem;position:relative;
  border-bottom:1px solid rgba(255,255,255,.09);}
.mk-plan__list li:last-child{border-bottom:0;}
.mk-plan__list li::before{content:"→";position:absolute;left:0;color:var(--accent);}
.mk-plan .mk-btn{margin-top:auto;justify-content:center;}
@media(prefers-reduced-motion:reduce){
  .mk-plan,.mk-plan__bg img{transition:none;}
  .mk-plan:hover{transform:none;}
  .mk-plan:hover .mk-plan__bg img{transform:none;}
}

/* ---------- TEAM ---------- */
.mk-person__img{aspect-ratio:3/4;overflow:hidden;background:var(--panel);margin-bottom:1rem;}
.mk-person__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s var(--ease),transform .5s var(--ease);}
.mk-person:hover .mk-person__img img{filter:none;transform:scale(1.04);}
.mk-person h3{font-size:1.02rem;margin-bottom:.15rem;}
.mk-person__role{color:var(--accent);font-size:.68rem;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;margin-bottom:.6rem;}
.mk-person p{color:var(--text);font-size:.9rem;}

/* ---------- ACCORDION ---------- */
.mk-acc{border-top:1px solid var(--line);}
.mk-acc__item{border-bottom:1px solid var(--line);}
.mk-acc__q{
  width:100%;background:none;border:0;color:#fff;cursor:pointer;text-align:left;
  padding:1.35rem 3rem 1.35rem 0;position:relative;
  font-family:var(--font-display);font-size:calc(clamp(1rem,1.5vw,1.16rem) * var(--type-head,1));font-weight:600;line-height:1.35;
}
.mk-acc__q::after{
  content:"+";position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
  color:var(--accent);font-size:1.5rem;font-family:var(--font-ui);transition:transform .25s var(--ease);
}
.mk-acc__item.is-open .mk-acc__q::after{content:"−";}
.mk-acc__q:hover{color:var(--accent);}
.mk-acc__a{display:none;padding:0 3rem 1.6rem 0;color:var(--text);}
.mk-acc__item.is-open .mk-acc__a{display:block;}

/* ---------- CTA ---------- */
.mk-cta{padding-block:clamp(3rem,6vw,5rem);position:relative;overflow:hidden;}
.mk-cta--accent{background:var(--accent);color:#000;}
.mk-cta--accent h2{color:#000;}
.mk-cta--accent p{color:rgba(0,0,0,.72);}
.mk-cta--dark{background:var(--panel);}
.mk-cta--image{background:#000;}
.mk-cta--image .mk-cta__bg{position:absolute;inset:0;z-index:0;}
.mk-cta--image .mk-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;}
.mk-cta__inner{position:relative;z-index:1;text-align:center;max-width:64ch;margin-inline:auto;}
.mk-cta h2{font-size:calc(clamp(1.6rem,3.6vw,2.7rem) * var(--type-head,1));}
.mk-cta .mk-btn-row{justify-content:center;}

/* ---------- VIDEO ---------- */
.mk-video{position:relative;width:100%;background:#000;}
.mk-video--16x9{aspect-ratio:16/9;}
.mk-video--4x3{aspect-ratio:4/3;}
.mk-video--21x9{aspect-ratio:21/9;}
.mk-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- SPACER ---------- */
/* The rule is centred with flex. It used to use margin-top:50%, but a
   percentage margin resolves against the container's WIDTH, which put ~620px
   of space above the divider on a desktop container. */
.mk-spacer{display:flex;align-items:center;width:100%;}
.mk-spacer--sm{height:2.5rem;}
.mk-spacer--md{height:5rem;}
.mk-spacer--lg{height:8rem;}
.mk-spacer--none{height:0;}
.mk-spacer__rule{border-top:1px solid var(--line);height:0;width:100%;}

/* ---------- FORM ---------- */
.mk-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:820px;}
.mk-field--full{grid-column:1/-1;}
.mk-field label{
  display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem;
}
.mk-field label .req{color:var(--accent);}
.mk-field input,.mk-field select,.mk-field textarea{
  width:100%;background:var(--panel);border:1px solid var(--line);
  color:#fff;padding:.9rem 1rem;font-family:var(--font-ui);font-size:.95rem;
  border-radius:0;transition:border-color .2s var(--ease);
}
.mk-field input:focus,.mk-field select:focus,.mk-field textarea:focus{
  outline:none;border-color:var(--accent);
}
.mk-field textarea{min-height:150px;resize:vertical;}
.mk-field input[type=file]{padding:.7rem;}
.mk-field--check{display:flex;align-items:flex-start;gap:.7rem;}
.mk-field--check input{width:auto;margin-top:.25rem;}
.mk-field--check label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--text);font-weight:400;}
.mk-hp{position:absolute;left:-9999px;}
.mk-form__actions{grid-column:1/-1;}
.mk-form-ok{
  border-left:3px solid var(--accent);background:var(--panel);
  padding:1.1rem 1.35rem;margin-bottom:1.75rem;color:#fff;
}
@media(max-width:640px){.mk-form{grid-template-columns:1fr;}}

/* ============================================================
   BLOG
   ============================================================ */
.mk-page-head{padding-top:calc(var(--nav-h) + clamp(3rem,6vw,5.5rem));padding-bottom:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--line-soft);}
.mk-page-head h1{font-size:calc(clamp(2rem,5vw,3.6rem) * var(--type-head,1));text-transform:uppercase;}
.mk-page-head p{color:var(--text);max-width:62ch;font-size:1.05rem;}

.mk-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.9rem;}
.mk-cats a{
  padding:.5rem 1rem;border:1px solid var(--line);color:var(--text);
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:all .2s var(--ease);
}
.mk-cats a:hover,.mk-cats a.is-active{border-color:var(--accent);color:var(--accent);}

.mk-post-card{display:flex;flex-direction:column;height:100%;background:var(--panel);
  border:1px solid var(--line-soft);transition:border-color .22s var(--ease),transform .22s var(--ease);}
.mk-post-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.mk-post-card__img{aspect-ratio:16/10;overflow:hidden;background:#0f0f11;}
.mk-post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.mk-post-card:hover .mk-post-card__img img{transform:scale(1.06);}
.mk-post-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1;}
.mk-post-card__meta{font-size:.64rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.7rem;display:flex;gap:.7rem;flex-wrap:wrap;}
.mk-post-card__meta .cat{color:var(--accent);}
.mk-post-card h2,.mk-post-card h3{font-size:1.12rem;line-height:1.28;margin-bottom:.6rem;}
.mk-post-card h2 a,.mk-post-card h3 a{color:#fff;}
.mk-post-card:hover h2 a,.mk-post-card:hover h3 a{color:var(--accent);}
.mk-post-card p{color:var(--text);font-size:.92rem;}
.mk-post-card__more{margin-top:auto;padding-top:1.1rem;font-size:.68rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;}

.mk-pager{display:flex;gap:.5rem;justify-content:center;margin-top:3.5rem;flex-wrap:wrap;}
.mk-pager a,.mk-pager span{
  min-width:44px;padding:.65rem .9rem;text-align:center;border:1px solid var(--line);
  color:var(--text);font-size:.8rem;font-weight:600;
}
.mk-pager a:hover{border-color:var(--accent);color:var(--accent);}
.mk-pager .is-current,.mk-pager .is-on{background:var(--accent);border-color:var(--accent);color:#0A0A0A;}

.mk-article{padding-bottom:clamp(3rem,6vw,5rem);}
.mk-article__head{padding-top:calc(var(--nav-h) + clamp(2.5rem,5vw,4.5rem));padding-bottom:2rem;}
.mk-article__head h1{font-size:calc(clamp(1.9rem,4.4vw,3.2rem) * var(--type-head,1));max-width:22ch;}
.mk-article__meta{font-size:.68rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.mk-article__meta .cat{color:var(--accent);}
.mk-article__cover{margin-bottom:clamp(2rem,4vw,3.25rem);}
.mk-article__cover img{width:100%;max-height:620px;object-fit:cover;}
.mk-article__share{display:flex;gap:.6rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);}

/* ---------- error ---------- */
.mk-error{min-height:70svh;display:grid;place-items:center;text-align:center;padding-top:var(--nav-h);}
.mk-error__code{font-family:var(--font-display);font-size:calc(clamp(4rem,16vw,10rem) * var(--type-head,1));
  font-weight:800;line-height:1;color:var(--accent);margin-bottom:.5rem;}

/* ============================================================
   FOOTER
   ============================================================ */
.mk-footer{background:#050506;border-top:0;padding-block:clamp(3rem,5vw,4.5rem) 1.75rem;margin-top:0;}
.mk-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:clamp(1.75rem,4vw,3rem);}
.mk-footer__logo{height:56px;width:auto;margin-bottom:1.1rem;}
.mk-footer__tag{color:var(--text-3);font-size:.92rem;max-width:38ch;}
.mk-footer__col h4{font-size:.7rem;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:#fff;font-family:var(--font-ui);margin-bottom:1.1rem;}
.mk-footer__col ul{list-style:none;margin:0;padding:0;}
.mk-footer__col li{margin-bottom:.01rem;}
.mk-footer__col a{color:var(--text-3);font-size:.7rem;}
.mk-footer__col a:hover{color:var(--accent);}
.mk-social{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.3rem;}
.mk-social a{color:var(--text-3);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.mk-social a:hover{color:var(--accent);}
.mk-footer__bar{
  margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  color:var(--text-3);font-size:.78rem;
}
.mk-footer__meta{opacity:.55;}
@media(max-width:860px){.mk-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.mk-footer__grid{grid-template-columns:1fr;}}

@media(prefers-reduced-motion:reduce){
  .mk-plan,.mk-plan__bg img{transition:none;}
  .mk-plan:hover{transform:none;}
  .mk-plan:hover .mk-plan__bg img{transform:none;}
}

/* ---------- TEAM ---------- */
.mk-person__img{aspect-ratio:3/4;overflow:hidden;background:var(--panel);margin-bottom:1rem;}
.mk-person__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s var(--ease),transform .5s var(--ease);}
.mk-person:hover .mk-person__img img{filter:none;transform:scale(1.04);}
.mk-person h3{font-size:1.02rem;margin-bottom:.15rem;}
.mk-person__role{color:var(--accent);font-size:.68rem;font-weight:600;
  letter-spacing:.17em;text-transform:uppercase;margin-bottom:.6rem;}
.mk-person p{color:var(--text);font-size:.9rem;}

/* ---------- ACCORDION ---------- */
.mk-acc{border-top:1px solid var(--line);}
.mk-acc__item{border-bottom:1px solid var(--line);}
.mk-acc__q{
  width:100%;background:none;border:0;color:#fff;cursor:pointer;text-align:left;
  padding:1.35rem 3rem 1.35rem 0;position:relative;
  font-family:var(--font-display);font-size:calc(clamp(1rem,1.5vw,1.16rem) * var(--type-head,1));font-weight:600;line-height:1.35;
}
.mk-acc__q::after{
  content:"+";position:absolute;right:.35rem;top:50%;transform:translateY(-50%);
  color:var(--accent);font-size:1.5rem;font-family:var(--font-ui);transition:transform .25s var(--ease);
}
.mk-acc__item.is-open .mk-acc__q::after{content:"−";}
.mk-acc__q:hover{color:var(--accent);}
.mk-acc__a{display:none;padding:0 3rem 1.6rem 0;color:var(--text);}
.mk-acc__item.is-open .mk-acc__a{display:block;}

/* ---------- CTA ---------- */
.mk-cta{padding-block:clamp(3rem,6vw,5rem);position:relative;overflow:hidden;}
.mk-cta--accent{background:var(--accent);color:#000;}
.mk-cta--accent h2{color:#000;}
.mk-cta--accent p{color:rgba(0,0,0,.72);}
.mk-cta--dark{background:var(--panel);}
.mk-cta--image{background:#000;}
.mk-cta--image .mk-cta__bg{position:absolute;inset:0;z-index:0;}
.mk-cta--image .mk-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;}
.mk-cta__inner{position:relative;z-index:1;text-align:center;max-width:64ch;margin-inline:auto;}
.mk-cta h2{font-size:calc(clamp(1.6rem,3.6vw,2.7rem) * var(--type-head,1));}
.mk-cta .mk-btn-row{justify-content:center;}

/* ---------- VIDEO ---------- */
.mk-video{position:relative;width:100%;background:#000;}
.mk-video--16x9{aspect-ratio:16/9;}
.mk-video--4x3{aspect-ratio:4/3;}
.mk-video--21x9{aspect-ratio:21/9;}
.mk-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- SPACER ---------- */
/* The rule is centred with flex. It used to use margin-top:50%, but a
   percentage margin resolves against the container's WIDTH, which put ~620px
   of space above the divider on a desktop container. */
.mk-spacer{display:flex;align-items:center;width:100%;}
.mk-spacer--sm{height:2.5rem;}
.mk-spacer--md{height:5rem;}
.mk-spacer--lg{height:8rem;}
.mk-spacer--none{height:0;}
.mk-spacer__rule{border-top:1px solid var(--line);height:0;width:100%;}

/* ---------- FORM ---------- */
.mk-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:820px;}
.mk-field--full{grid-column:1/-1;}
.mk-field label{
  display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.5rem;
}
.mk-field label .req{color:var(--accent);}
.mk-field input,.mk-field select,.mk-field textarea{
  width:100%;background:var(--panel);border:1px solid var(--line);
  color:#fff;padding:.9rem 1rem;font-family:var(--font-ui);font-size:.95rem;
  border-radius:0;transition:border-color .2s var(--ease);
}
.mk-field input:focus,.mk-field select:focus,.mk-field textarea:focus{
  outline:none;border-color:var(--accent);
}
.mk-field textarea{min-height:150px;resize:vertical;}
.mk-field input[type=file]{padding:.7rem;}
.mk-field--check{display:flex;align-items:flex-start;gap:.7rem;}
.mk-field--check input{width:auto;margin-top:.25rem;}
.mk-field--check label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--text);font-weight:400;}
.mk-hp{position:absolute;left:-9999px;}
.mk-form__actions{grid-column:1/-1;}
.mk-form-ok{
  border-left:3px solid var(--accent);background:var(--panel);
  padding:1.1rem 1.35rem;margin-bottom:1.75rem;color:#fff;
}
@media(max-width:640px){.mk-form{grid-template-columns:1fr;}}

/* ============================================================
   BLOG
   ============================================================ */
.mk-page-head{padding-top:calc(var(--nav-h) + clamp(3rem,6vw,5.5rem));padding-bottom:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--line-soft);}
.mk-page-head h1{font-size:calc(clamp(2rem,5vw,3.6rem) * var(--type-head,1));text-transform:uppercase;}
.mk-page-head p{color:var(--text);max-width:62ch;font-size:1.05rem;}

.mk-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.9rem;}
.mk-cats a{
  padding:.5rem 1rem;border:1px solid var(--line);color:var(--text);
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:all .2s var(--ease);
}
.mk-cats a:hover,.mk-cats a.is-active{border-color:var(--accent);color:var(--accent);}

.mk-post-card{display:flex;flex-direction:column;height:100%;background:var(--panel);
  border:1px solid var(--line-soft);transition:border-color .22s var(--ease),transform .22s var(--ease);}
.mk-post-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.mk-post-card__img{aspect-ratio:16/10;overflow:hidden;background:#0f0f11;}
.mk-post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.mk-post-card:hover .mk-post-card__img img{transform:scale(1.06);}
.mk-post-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1;}
.mk-post-card__meta{font-size:.64rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:.7rem;display:flex;gap:.7rem;flex-wrap:wrap;}
.mk-post-card__meta .cat{color:var(--accent);}
.mk-post-card h2,.mk-post-card h3{font-size:1.12rem;line-height:1.28;margin-bottom:.6rem;}
.mk-post-card h2 a,.mk-post-card h3 a{color:#fff;}
.mk-post-card:hover h2 a,.mk-post-card:hover h3 a{color:var(--accent);}
.mk-post-card p{color:var(--text);font-size:.92rem;}
.mk-post-card__more{margin-top:auto;padding-top:1.1rem;font-size:.68rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;}



.mk-article{padding-bottom:clamp(3rem,6vw,5rem);}
.mk-article__head{padding-top:calc(var(--nav-h) + clamp(2.5rem,5vw,4.5rem));padding-bottom:2rem;}
.mk-article__head h1{font-size:calc(clamp(1.9rem,4.4vw,3.2rem) * var(--type-head,1));max-width:22ch;}
.mk-article__meta{font-size:.68rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--text-3);display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.mk-article__meta .cat{color:var(--accent);}
.mk-article__cover{margin-bottom:clamp(2rem,4vw,3.25rem);}
.mk-article__cover img{width:100%;max-height:620px;object-fit:cover;}
.mk-article__share{display:flex;gap:.6rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);}

/* ---------- error ---------- */
.mk-error{min-height:70svh;display:grid;place-items:center;text-align:center;padding-top:var(--nav-h);}
.mk-error__code{font-family:var(--font-display);font-size:calc(clamp(4rem,16vw,10rem) * var(--type-head,1));
  font-weight:800;line-height:1;color:var(--accent);margin-bottom:.5rem;}

/* ============================================================
   FOOTER
   ============================================================ */
.mk-footer{background:#050506;border-top:0;padding-block:clamp(3rem,5vw,4.5rem) 1.75rem;margin-top:0;}
.mk-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:clamp(1.75rem,4vw,3rem);}
.mk-footer__logo{height:56px;width:auto;margin-bottom:1.1rem;}
.mk-footer__tag{color:var(--text-3);font-size:.92rem;max-width:38ch;}
.mk-footer__col h4{font-size:.7rem;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:#fff;font-family:var(--font-ui);margin-bottom:1.1rem;}
.mk-footer__col ul{list-style:none;margin:0;padding:0;}
.mk-footer__col li{margin-bottom:.01rem;}
.mk-footer__col a{color:var(--text-3);font-size:.7rem;}
.mk-footer__col a:hover{color:var(--accent);}
.mk-social{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.3rem;}
.mk-social a{color:var(--text-3);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.mk-social a:hover{color:var(--accent);}
.mk-footer__bar{
  margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--line-soft);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  color:var(--text-3);font-size:.78rem;
}
.mk-footer__meta{opacity:.55;}
@media(max-width:860px){.mk-footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.mk-footer__grid{grid-template-columns:1fr;}}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}

/* ══════════════════ HERO CAROUSEL ══════════════════ */
/* .mk-hero is display:flex, which would size each slide to its own content.
   The carousel overrides that: the section is a block with the hero min-height,
   and every slide is absolutely positioned so it fills that box exactly. */
.mk-carousel{display:block;position:relative;overflow:hidden;
  background:var(--ink);padding-top:0;padding-bottom:0;}
.mk-carousel__slide{
  position:absolute;inset:0;display:flex;align-items:center;
  padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem;
  opacity:0;visibility:hidden;
  /* visibility is delayed by the fade length so the outgoing slide is not
     cut off mid-crossfade; on the way in it flips instantly. */
  transition:opacity var(--fade,2s) linear,
             visibility 0s linear var(--fade,2s);}
.mk-carousel__slide.is-on{opacity:1;visibility:visible;z-index:2;
  transition:opacity var(--fade,2s) linear,visibility 0s;}
/* The outgoing slide stays FULLY OPAQUE underneath while the incoming one fades
   in on top. Fading both at once composites to I*a + O*(1-a)^2 over black, which
   dips ~25% dark at the midpoint. Holding the old one flat keeps it constant. */
.mk-carousel__slide.was-on{opacity:1;visibility:visible;z-index:1;transition:none;}

/* crossfade speeds */
.mk-carousel--fade-fast   {--fade:.6s;}
.mk-carousel--fade-normal {--fade:1.2s;}
.mk-carousel--fade-slow   {--fade:2s;}
.mk-carousel--fade-vslow  {--fade:3s;}
.mk-carousel--fade-cine   {--fade:4.5s;}

/* the image drifts in slowly while the slide holds, then resets off-screen */
.mk-carousel--kb .mk-hero__bg img{transform:scale(1.001);transition:none;}
.mk-carousel--kb .mk-carousel__slide.is-on .mk-hero__bg img{
  transform:scale(1.07);
  transition:transform calc(var(--hold,9s) + var(--fade,2s)) cubic-bezier(.25,.1,.25,1);}
.mk-carousel .mk-hero__inner{width:100%;}
.mk-btn--light{background:#fff;border-color:#fff;color:#111;}
.mk-btn--light:hover{background:var(--accent);border-color:var(--accent);color:#111;}
.mk-hero__bg--none{background:radial-gradient(120% 90% at 20% 0%,#242428 0%,#0d0d0e 60%,#000 100%);}
.mk-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:48px;height:48px;display:grid;place-items:center;cursor:pointer;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:4px;
  transition:background .2s,border-color .2s;}
.mk-carousel__arrow:hover{background:var(--accent);border-color:var(--accent);color:#000;}
.mk-carousel__arrow--prev{left:clamp(.6rem,2vw,1.6rem);}
.mk-carousel__arrow--next{right:clamp(.6rem,2vw,1.6rem);}
.mk-carousel__dots{position:absolute;left:0;right:0;bottom:clamp(1rem,3vw,2.2rem);z-index:4;
  display:flex;justify-content:center;gap:.5rem;}
.mk-carousel__dot{width:30px;height:3px;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.35);transition:background .2s;}
.mk-carousel__dot.is-on{background:var(--accent);}
@media(max-width:640px){
  .mk-carousel__arrow{display:none;}
  .mk-carousel__slide{padding-top:calc(var(--nav-h) + 2rem);overflow-y:auto;}
}
@media(prefers-reduced-motion:reduce){.mk-carousel__slide{transition:none;}}

/* ══════════════════ VIDEO + TEXT ══════════════════ */
.mk-vt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.6rem,4vw,3.4rem);align-items:center;}
.mk-vt--right .mk-vt__media{order:2;}
.mk-vt__file{width:100%;display:block;background:#000;border-radius:4px;}
.mk-vt__t{font-size:calc(clamp(1.6rem,3.4vw,2.6rem) * var(--type-head,1));margin:0 0 1rem;}
@media(max-width:860px){.mk-vt{grid-template-columns:1fr;}.mk-vt--right .mk-vt__media{order:0;}}

/* ══════════════════ VIDEO GALLERY ══════════════════ */
.mk-vgal{display:grid;gap:clamp(.9rem,2vw,1.5rem);}
.mk-vgal--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mk-vgal--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mk-vgal--4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){.mk-vgal--3,.mk-vgal--4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.mk-vgal{grid-template-columns:1fr!important;}}
.mk-vgal__item{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;
  background:#111;overflow:hidden;text-align:left;border-radius:4px;}
.mk-vgal__thumb{display:block;aspect-ratio:16/9;background:#191919 center/cover no-repeat;
  transition:transform .5s var(--ease);}
.mk-vgal__item:hover .mk-vgal__thumb{transform:scale(1.05);}
.mk-vgal__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;display:grid;place-items:center;background:var(--accent);color:#000;border-radius:4px;
  transition:transform .2s var(--ease);}
.mk-vgal__item:hover .mk-vgal__play{transform:translate(-50%,-50%) scale(1.08);}
.mk-vgal__cap{display:block;padding:.7rem .85rem;color:#fff;font-size:.9rem;}
.mk-vlight{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.94);
  display:none;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);}
.mk-vlight.is-open{display:flex;}
.mk-vlight__box{width:min(1100px,100%);}
.mk-vlight__box iframe,.mk-vlight__box video{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000;}
.mk-vlight__x{position:absolute;top:1rem;right:1rem;width:44px;height:44px;cursor:pointer;
  background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;font-size:1.3rem;}

/* ══════════════════ TEXT STRIP ══════════════════ */
.mk-strip{overflow:hidden;}
.mk-strip__in{display:block;text-decoration:none;padding-block:clamp(.7rem,1.6vw,1.15rem);}
.mk-strip--accent{background:var(--accent);} .mk-strip--accent .mk-strip__in{color:#141414;}
.mk-strip--dark{background:var(--panel);} .mk-strip--dark .mk-strip__in{color:#fff;}
.mk-strip--outline{border-block:1px solid var(--line);} .mk-strip--outline .mk-strip__in{color:#fff;}
.mk-strip--plain .mk-strip__in{color:var(--text);}
.mk-strip--light{background:#fff;} .mk-strip--light .mk-strip__in{color:#0d0d0e;}
.mk-strip--light .mk-strip__in:hover{color:var(--accent-dark,#cf7000);}
.mk-strip--invert{background:#fff;} .mk-strip--invert .mk-strip__in{color:#0d0d0e;}
.mk-strip__t{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;}
.mk-strip--sm .mk-strip__t{font-size:calc(clamp(.85rem,1.6vw,1rem) * var(--type-base,1));}
.mk-strip--md .mk-strip__t{font-size:calc(clamp(1.05rem,2.4vw,1.6rem) * var(--type-base,1));}
.mk-strip--lg .mk-strip__t{font-size:calc(clamp(1.5rem,4.4vw,5rem) * var(--type-base,1));}
.mk-strip:not(.is-marquee) .mk-strip__in{text-align:center;}
.mk-strip.is-marquee .mk-strip__rail{display:inline-flex;gap:2.5rem;padding-left:2.5rem;
  will-change:transform;animation:mk-marquee var(--dur,22s) linear infinite;}
.mk-strip.is-marquee:hover .mk-strip__rail{animation-play-state:paused;}
@keyframes mk-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mk-strip.is-marquee .mk-strip__rail{animation:none;}}

/* ══════════════════ JOB BOARD ══════════════════ */
.mk-jobs{border-top:1px solid var(--line-soft);}
.mk-job{display:flex;align-items:center;gap:1.4rem;padding:1.35rem .25rem;
  border-bottom:1px solid var(--line-soft);text-decoration:none;color:inherit;
  transition:background .18s var(--ease),padding .18s var(--ease);}
.mk-job:hover{background:rgba(255,255,255,.03);padding-left:.9rem;padding-right:.9rem;}
.mk-job__main{flex:1;min-width:0;}
.mk-job__title{display:block;font-family:var(--font-display);
  font-size:calc(clamp(1.1rem,2vw,1.45rem) * var(--type-head,1));color:#fff;line-height:1.25;}
.mk-job:hover .mk-job__title{color:var(--accent);}
.mk-job__flag{font-style:normal;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--accent);color:#141414;padding:.15rem .42rem;margin-left:.55rem;vertical-align:middle;
  border-radius:4px;}
.mk-job__flag--draft{background:transparent;color:var(--text-3);border:1px solid var(--line);}
.mk-job__sum{display:block;color:var(--text-3);font-size:.9rem;margin-top:.3rem;}
.mk-job__meta{display:flex;flex-wrap:wrap;gap:.45rem;flex:none;max-width:46%;justify-content:flex-end;}
.mk-job__meta span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);
  border:1px solid var(--line);padding:.32rem .6rem;border-radius:4px;white-space:nowrap;}
.mk-job__meta--lg{justify-content:flex-start;max-width:none;margin:.9rem 0 1.2rem;}
.mk-job__go{flex:none;color:var(--text-3);}
.mk-job:hover .mk-job__go{color:var(--accent);}
.mk-job.is-closed{opacity:.55;}
@media(max-width:760px){
  .mk-job{flex-wrap:wrap;gap:.7rem;}
  .mk-job__meta{max-width:none;justify-content:flex-start;}
  .mk-job__go{display:none;}
}
.mk-jobs-empty{color:var(--text-3);text-align:center;padding:clamp(2rem,5vw,3.5rem) 1rem;
  border:1px dashed var(--line);}
.mk-job__lead{font-size:calc(1.1rem * var(--type-base,1));color:var(--text);margin-bottom:1.6rem;}
.mk-job__h2{font-size:calc(clamp(1.3rem,2.6vw,1.9rem) * var(--type-head,1));margin:2.2rem 0 1rem;}
.mk-job__notice{margin:.6rem 0 0;color:var(--accent);font-weight:500;}
.mk-job__notice--soft{color:var(--text-3);font-weight:400;font-size:.9rem;}
.mk-job__sent{border-left:3px solid var(--accent);background:rgba(255,166,0,.08);padding:1.1rem 1.3rem;}
.mk-job__sent p{margin:.4rem 0 0;color:var(--text);}
.mk-job__error{border-left:3px solid #ff5a5a;background:rgba(255,90,90,.1);padding:.8rem 1rem;margin-bottom:1.2rem;}
.mk-field--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ══════════════════ SPLIT PANELS ══════════════════ */
.mk-sect-head--left{text-align:left;margin-inline:0;max-width:none;}
.mk-panels__h{text-transform:uppercase;letter-spacing:-.02em;}
.mk-panels__h strong{font-weight:700;}

.mk-panels{display:grid;}
.mk-panels--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.mk-panels--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mk-panels--gap-none{gap:0;}
.mk-panels--gap-sm{gap:.5rem;}
.mk-panels--gap-md{gap:clamp(1rem,2.4vw,2rem);}
.mk-panels--gap-lg{gap:clamp(1.6rem,4vw,3.2rem);}
@media(max-width:860px){
  .mk-panels--2,.mk-panels--3{grid-template-columns:1fr;}
}

.mk-panel{position:relative;overflow:hidden;display:flex;background:var(--panel);
  border-radius:var(--btn-radius,4px);text-decoration:none;color:inherit;isolation:isolate;}
.mk-panel--h-auto{min-height:0;}
.mk-panel--h-md{min-height:clamp(360px,42vw,520px);}
.mk-panel--h-lg{min-height:clamp(460px,55vw,680px);}
.mk-panel--h-square{aspect-ratio:1;}

/* background photo */
.mk-panel__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-panel__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease);}
.mk-panel--link:hover .mk-panel__bg img{transform:scale(1.04);}

/* the fade over the photo — --fade is set per panel in the editor */
.mk-panel__fade{position:absolute;inset:0;z-index:1;display:block;
  background:rgba(0,0,0,var(--fade,.55));}
.mk-panel__fade--bottom{background:linear-gradient(to top,
  rgba(0,0,0,calc(var(--fade,.55) + .25)) 0%,
  rgba(0,0,0,var(--fade,.55)) 45%,
  rgba(0,0,0,calc(var(--fade,.55) * .35)) 100%);}
.mk-panel__fade--left{background:linear-gradient(to right,
  rgba(0,0,0,calc(var(--fade,.55) + .25)) 0%,
  rgba(0,0,0,var(--fade,.55)) 50%,
  rgba(0,0,0,calc(var(--fade,.55) * .35)) 100%);}
/* a black-text panel fades toward white instead, or the text vanishes */
.mk-panel--text-dark .mk-panel__fade{background:rgba(255,255,255,var(--fade,.55));}
.mk-panel--text-dark .mk-panel__fade--bottom{background:linear-gradient(to top,
  rgba(255,255,255,calc(var(--fade,.55) + .25)) 0%,
  rgba(255,255,255,var(--fade,.55)) 45%,
  rgba(255,255,255,calc(var(--fade,.55) * .35)) 100%);}
.mk-panel--text-dark .mk-panel__fade--left{background:linear-gradient(to right,
  rgba(255,255,255,calc(var(--fade,.55) + .25)) 0%,
  rgba(255,255,255,var(--fade,.55)) 50%,
  rgba(255,255,255,calc(var(--fade,.55) * .35)) 100%);}

.mk-panel__body{position:relative;z-index:2;display:flex;flex-direction:column;
  padding:clamp(1.8rem,4vw,3.4rem);width:100%;}
.mk-panel--center{align-items:center;}
.mk-panel--center .mk-panel__body{justify-content:center;align-items:center;text-align:center;}
.mk-panel--left{align-items:center;}
.mk-panel--left .mk-panel__body{justify-content:center;align-items:flex-start;text-align:left;}
.mk-panel--bottom{align-items:flex-end;}
.mk-panel--bottom .mk-panel__body{justify-content:flex-end;align-items:flex-start;text-align:left;}

.mk-panel__eyebrow{display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:.9rem;}
.mk-panel__t{display:block;font-family:var(--font-display);font-weight:400;line-height:1.06;
  font-size:calc(clamp(1.7rem,3.4vw,2.9rem) * var(--type-head,1));margin-bottom:.9rem;
  /* Three narrow panels + a long word was breaking "Distribution" mid-word.
     Let long words shrink rather than hyphenate into nonsense. */
  overflow-wrap:break-word;hyphens:auto;}
.mk-panels--3 .mk-panel__t{font-size:calc(clamp(1.4rem,2.2vw,2.1rem) * var(--type-head,1));}
.mk-panel__t strong{font-weight:700;}
.mk-panel__text{display:block;font-size:calc(1rem * var(--type-base,1));line-height:1.7;
  max-width:52ch;}
.mk-panel--center .mk-panel__text{margin-inline:auto;}
.mk-panel__btn{margin-top:clamp(1.4rem,3vw,2.2rem);align-self:flex-start;}
.mk-panel--center .mk-panel__btn{align-self:center;}

/* text colours */
.mk-panel--text-light{color:#fff;}
.mk-panel--text-light .mk-panel__eyebrow{color:#fff;}
.mk-panel--text-light .mk-panel__t{color:#fff;}
.mk-panel--text-light .mk-panel__text{color:rgba(255,255,255,.86);}
.mk-panel--text-dark{color:#0d0d0e;}
.mk-panel--text-dark .mk-panel__eyebrow,
.mk-panel--text-dark .mk-panel__t{color:#0d0d0e;}
.mk-panel--text-dark .mk-panel__text{color:rgba(13,13,14,.8);}

/* whole-panel link: the fake button still has to look interactive */
.mk-panel--link{cursor:pointer;transition:transform .3s var(--ease);}
.mk-panel--link:hover .mk-panel__btn{background:var(--accent);border-color:var(--accent);color:#141414;}
@media(prefers-reduced-motion:reduce){
  .mk-panel__bg img,.mk-panel--link{transition:none;}
}

/* ══════════════════ PANEL + IMAGE ══════════════════ */
.mk-showcase{display:grid;grid-template-columns:var(--panel-w,35%) 1fr;align-items:stretch;}
.mk-showcase--right{grid-template-columns:1fr var(--panel-w,35%);}
.mk-showcase--right .mk-showcase__panel{order:2;}
.mk-showcase--gap-none{gap:0;}
.mk-showcase--gap-sm{gap:.6rem;}
.mk-showcase--gap-md{gap:clamp(1rem,2.4vw,2rem);}

/* Full-bleed: the section escapes the container so the photo can reach the
   viewport edge, while the panel's text still lines up with the page grid. */
.mk-showcase__full{width:100%;}
.mk-showcase--bleed .mk-showcase__inner{
  padding-left:max(var(--gap),calc((100vw - var(--wrap)) / 2));}
.mk-showcase--bleed.mk-showcase--right .mk-showcase__inner{
  padding-left:clamp(1.5rem,4vw,3.5rem);
  padding-right:max(var(--gap),calc((100vw - var(--wrap)) / 2));}

.mk-showcase__panel{background:var(--panel);display:flex;align-items:center;min-width:0;}
.mk-showcase__inner{padding:clamp(1.8rem,4vw,3.6rem);width:100%;}
.mk-showcase--h-auto .mk-showcase__panel{min-height:0;}
.mk-showcase--h-md .mk-showcase__panel,
.mk-showcase--h-md .mk-showcase__fig{min-height:clamp(380px,44vw,560px);}
.mk-showcase--h-lg .mk-showcase__panel,
.mk-showcase--h-lg .mk-showcase__fig{min-height:clamp(480px,56vw,720px);}

.mk-showcase__fig{margin:0;min-width:0;overflow:hidden;background:#111;}
.mk-showcase__fig img{width:100%;height:100%;object-fit:cover;display:block;}

.mk-showcase__eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin:0 0 1.1rem;}
.mk-showcase__t{font-family:var(--font-display);font-weight:700;line-height:1.1;
  text-transform:uppercase;letter-spacing:-.01em;
  font-size:calc(clamp(1.6rem,2.8vw,2.4rem) * var(--type-head,1));margin:0 0 1.1rem;
  overflow-wrap:break-word;}
.mk-showcase__t strong{font-weight:700;}
.mk-showcase__body{font-size:calc(1rem * var(--type-base,1));line-height:1.75;margin-bottom:0;}
.mk-showcase__body p:last-child{margin-bottom:0;}

/* text colours */
.mk-showcase--text-light .mk-showcase__eyebrow,
.mk-showcase--text-light .mk-showcase__t{color:#fff;}
.mk-showcase--text-light .mk-showcase__body{color:rgba(255,255,255,.82);}
.mk-showcase--text-dark .mk-showcase__panel{color:#0d0d0e;}
.mk-showcase--text-dark .mk-showcase__eyebrow,
.mk-showcase--text-dark .mk-showcase__t{color:#0d0d0e;}
.mk-showcase--text-dark .mk-showcase__body{color:rgba(13,13,14,.78);}
.mk-showcase--text-dark .mk-btn--ghost{border-color:rgba(13,13,14,.45);color:#0d0d0e;}
.mk-showcase--text-dark .mk-btn--ghost:hover{background:#0d0d0e;border-color:#0d0d0e;color:#fff;}

/* buttons: stacked by default, with an optional trailing icon */
.mk-showcase__btns{margin-top:clamp(1.5rem,3vw,2.4rem);}
.mk-showcase__btns--stack .mk-btn-row{flex-direction:column;align-items:flex-start;gap:.7rem;}
.mk-showcase__btns--stack .mk-btn{width:100%;max-width:340px;justify-content:space-between;}
.mk-showcase__btns--icon-plus .mk-btn::after{content:"+";margin-left:1.2rem;font-size:1.25em;
  line-height:1;font-weight:400;}
.mk-showcase__btns--icon-arrow .mk-btn::after{content:"\2192";margin-left:1.2rem;font-size:1.1em;line-height:1;}
.mk-showcase__btns--row .mk-btn-row{flex-wrap:wrap;gap:.7rem;}

@media(max-width:860px){
  .mk-showcase,.mk-showcase--right{grid-template-columns:1fr;}
  .mk-showcase--right .mk-showcase__panel{order:0;}
  .mk-showcase--h-md .mk-showcase__panel,
  .mk-showcase--h-lg .mk-showcase__panel{min-height:0;}
  .mk-showcase--h-md .mk-showcase__fig,
  .mk-showcase--h-lg .mk-showcase__fig{min-height:0;aspect-ratio:4/3;}
  .mk-showcase--bleed .mk-showcase__inner,
  .mk-showcase--bleed.mk-showcase--right .mk-showcase__inner{
    padding-left:var(--gap);padding-right:var(--gap);}
  .mk-showcase__btns--stack .mk-btn{max-width:none;}
}

/* ══════════════════ BLOG PHOTO COLUMNS ══════════════════ */
.mk-pcols__full{width:100%;}
.mk-pcols__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
  margin-bottom:clamp(1.6rem,3.5vw,2.8rem);}
.mk-pcols__h{font-size:calc(clamp(1.8rem,4vw,3rem) * var(--type-head,1));margin:0;
  text-transform:uppercase;letter-spacing:-.02em;}

.mk-pcols{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));}
.mk-pcols--1{--cols:1;} .mk-pcols--2{--cols:2;} .mk-pcols--3{--cols:3;}
.mk-pcols--4{--cols:4;} .mk-pcols--5{--cols:5;} .mk-pcols--6{--cols:6;}
.mk-pcols--7,.mk-pcols--8,.mk-pcols--9,
.mk-pcols--10,.mk-pcols--11,.mk-pcols--12{--cols:4;}
.mk-pcols--gap-none{gap:0;}
.mk-pcols--gap-thin{gap:1px;}
.mk-pcols--gap-sm{gap:.75rem;}
.mk-pcols--gap-md{gap:clamp(1rem,2.2vw,1.8rem);}

.mk-pcol{position:relative;display:flex;align-items:flex-end;overflow:hidden;
  text-decoration:none;color:#fff;background:#111;min-width:0;isolation:isolate;}
.mk-pcols--h-md .mk-pcol{min-height:clamp(340px,38vw,460px);}
.mk-pcols--h-lg .mk-pcol{min-height:clamp(420px,46vw,580px);}
.mk-pcols--h-xl .mk-pcol{min-height:clamp(500px,58vw,700px);}
.mk-pcols--gap-none .mk-pcol,.mk-pcols--gap-thin .mk-pcol{border-radius:0;}
.mk-pcols--gap-sm .mk-pcol,.mk-pcols--gap-md .mk-pcol{border-radius:var(--btn-radius,4px);}

.mk-pcol__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-pcol__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease),filter .5s var(--ease);}
.mk-pcol__bg--none{background:linear-gradient(160deg,#242428,#0d0d0e);}
.mk-pcol:hover .mk-pcol__bg img{transform:scale(1.05);}

/* photo treatment */
.mk-pcols--bw .mk-pcol__bg img{filter:grayscale(1);}
.mk-pcols--bw-hover .mk-pcol__bg img{filter:grayscale(1);}
.mk-pcols--bw-hover .mk-pcol:hover .mk-pcol__bg img{filter:grayscale(0);}

.mk-pcol__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(0,0,0,calc(var(--fade,.45) + .35)) 0%,
    rgba(0,0,0,var(--fade,.45)) 42%,
    rgba(0,0,0,calc(var(--fade,.45) * .5)) 100%);}

.mk-pcol__body{position:relative;z-index:2;display:block;width:100%;
  padding:clamp(1.4rem,2.6vw,2.2rem);}
.mk-pcol__meta{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:.7rem;}
.mk-pcol__meta .cat{color:var(--accent);}
.mk-pcol__t{display:block;font-family:var(--font-display);font-weight:700;line-height:1.12;
  text-transform:uppercase;letter-spacing:-.01em;color:#fff;
  font-size:calc(clamp(1.15rem,1.9vw,1.7rem) * var(--type-head,1));margin-bottom:.6rem;
  overflow-wrap:break-word;}
.mk-pcol:hover .mk-pcol__t{color:var(--accent);}
.mk-pcol__x{display:block;font-size:calc(.92rem * var(--type-base,1));line-height:1.6;
  color:rgba(255,255,255,.82);}

@media(max-width:1100px){
  .mk-pcols--4,.mk-pcols--5,.mk-pcols--6,
  .mk-pcols--7,.mk-pcols--8,.mk-pcols--9,
  .mk-pcols--10,.mk-pcols--11,.mk-pcols--12{--cols:2;}
  .mk-pcols--3{--cols:2;}
}
@media(max-width:640px){
  .mk-pcols{--cols:1 !important;}
  .mk-pcols--h-md .mk-pcol,.mk-pcols--h-lg .mk-pcol,
  .mk-pcols--h-xl .mk-pcol{min-height:320px;}
  .mk-pcols__head{flex-direction:column;align-items:flex-start;}
}
@media(prefers-reduced-motion:reduce){
  .mk-pcol__bg img{transition:none;}
  .mk-pcol:hover .mk-pcol__bg img{transform:none;}
}

/* ══════════════════ BLOG METRO GRID ══════════════════ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.mk-metro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:clamp(190px,17vw,240px);gap:2px;grid-auto-flow:dense;}
.mk-tile{position:relative;overflow:hidden;display:flex;align-items:flex-end;
  text-decoration:none;color:#fff;background:var(--panel);isolation:isolate;
  grid-column:span 1;grid-row:span 1;}
.mk-tile--big{grid-column:span 2;grid-row:span 2;}
.mk-tile--wide{grid-column:span 2;grid-row:span 1;}

.mk-tile__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-tile__bg img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease);}
.mk-tile:hover .mk-tile__bg img{transform:scale(1.05);}
.mk-tile__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.12) 100%);}

.mk-tile__body{position:relative;z-index:2;display:block;width:100%;
  padding:clamp(1.1rem,2vw,1.7rem);}
.mk-tile__meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:.5rem;}
.mk-tile__meta .cat{color:var(--accent);}
.mk-tile__t{display:block;font-family:var(--font-display);font-weight:700;line-height:1.15;
  color:#fff;font-size:calc(clamp(1rem,1.5vw,1.35rem) * var(--type-head,1));overflow-wrap:break-word;}
.mk-tile--big .mk-tile__t{font-size:calc(clamp(1.4rem,2.4vw,2.1rem) * var(--type-head,1));}
.mk-tile:hover .mk-tile__t{color:var(--accent);}

/* a post with no cover becomes a pull-quote tile instead of an empty box */
.mk-tile--quote{background:var(--panel-2);align-items:stretch;}
.mk-tile--quote .mk-tile__body{display:flex;flex-direction:column;justify-content:space-between;}
.mk-tile__quote{font-family:var(--font-display);font-size:3rem;line-height:.6;
  color:var(--accent);opacity:.5;}
.mk-tile__qtext{display:block;font-size:calc(1rem * var(--type-base,1));line-height:1.6;
  color:var(--text);margin:.8rem 0 auto;}
.mk-tile--quote .mk-tile__meta{margin-top:1.2rem;}

@media(max-width:1000px){
  .mk-metro{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mk-tile--big,.mk-tile--wide{grid-column:span 2;}
  .mk-tile--big{grid-row:span 2;}
}
@media(max-width:600px){
  .mk-metro{grid-template-columns:1fr;grid-auto-rows:clamp(200px,52vw,260px);}
  .mk-tile--big,.mk-tile--wide{grid-column:span 1;grid-row:span 1;}
}
@media(prefers-reduced-motion:reduce){
  .mk-tile__bg img{transition:none;}
  .mk-tile:hover .mk-tile__bg img{transform:none;}
}

/* ══════════════════ BLOG SIDEBAR ══════════════════ */
.mk-article__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;}
/* Grid items default to min-width:auto and refuse to shrink below their
   content, which pushed the article 11px past a 390px viewport. */
.mk-article__main,.mk-sidebar{min-width:0;}
/* Three share buttons in a row ran 12px past a 390px phone. */
.mk-article__share{display:flex;flex-wrap:wrap;gap:.6rem;}
.mk-article__main img,.mk-article__main iframe,
.mk-article__main table,.mk-article__main pre{max-width:100%;}
.mk-article__main pre{overflow-x:auto;}
@media(max-width:960px){.mk-article__grid{grid-template-columns:1fr;}}

/* The implicit grid column is `auto`, which sizes to max-content and blew
   past the 358px track on mobile. Pin it to the container width. */
.mk-sidebar{position:sticky;top:calc(var(--nav-h) + 1.5rem);display:grid;
  grid-template-columns:minmax(0,1fr);gap:1.6rem;}
@media(max-width:960px){.mk-sidebar{position:static;}}
.mk-sb{background:var(--panel);padding:1.3rem;border-radius:var(--btn-radius,4px);}
.mk-sb__h{font-size:calc(1.05rem * var(--type-head,1));margin:0 0 1rem;color:#fff;}

.mk-sb__search{display:flex;gap:.5rem;}
.mk-sb__search input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);
  color:#fff;padding:.7rem .85rem;font:inherit;font-size:.9rem;border-radius:var(--btn-radius,4px);}
.mk-sb__search input:focus{outline:2px solid var(--accent);outline-offset:1px;}
.mk-sb__search button{flex:none;width:44px;display:grid;place-items:center;cursor:pointer;
  background:var(--accent);border:0;color:#141414;border-radius:var(--btn-radius,4px);}
.mk-sb__search button:hover{background:#fff;}

.mk-sb__recent{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;}
.mk-sb__recent a{display:flex;gap:.8rem;align-items:center;text-decoration:none;}
.mk-sb__thumb{flex:none;width:60px;height:60px;background:var(--panel-2);overflow:hidden;
  border-radius:var(--btn-radius,4px);}
.mk-sb__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-sb__rt{min-width:0;}
.mk-sb__rtitle{display:block;color:#fff;font-size:.92rem;line-height:1.35;font-weight:500;}
.mk-sb__recent a:hover .mk-sb__rtitle{color:var(--accent);}
.mk-sb__rdate{display:block;color:var(--text-3);font-size:.74rem;margin-top:.2rem;}

.mk-sb__cats{list-style:none;margin:0;padding:0;}
.mk-sb__cats li + li{border-top:1px solid var(--line-soft);}
.mk-sb__cats a{display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:.62rem 0;color:var(--text);text-decoration:none;font-size:.95rem;}
.mk-sb__cats a:hover{color:var(--accent);}
.mk-sb__cats .n{color:var(--text-3);font-size:.8rem;font-variant-numeric:tabular-nums;}

/* ══════════════════ CHEF PROFILE ══════════════════ */
.mk-chef__head{margin-bottom:clamp(1.8rem,3.5vw,2.8rem);}
.mk-chef__name{font-family:var(--font-display);font-weight:700;
  letter-spacing:-.03em;line-height:1;margin:0;
  font-size:calc(clamp(2.2rem,5.5vw,4.2rem) * var(--type-head,1));}
.mk-chef__role{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin:.5rem 0 0;}
.mk-sect--light .mk-chef__role{color:var(--accent-dark);}

.mk-chef{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.6rem,3.5vw,3rem);align-items:start;}
@media(max-width:900px){.mk-chef{grid-template-columns:1fr;}}

.mk-chef__photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--panel);
  border-radius:var(--card-r);min-width:0;}
.mk-chef__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-sect--light .mk-chef__photo{background:#E8E5E0;}

.mk-chef__side{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);
  gap:clamp(1.4rem,3vw,2.2rem);}

/* track record — a ruled list, the way a CV reads, not a progress bar */
.mk-facts{list-style:none;margin:0;padding:0;display:grid;gap:0;
  border-top:1px solid var(--line);}
.mk-facts li{display:grid;grid-template-columns:minmax(0,12ch) minmax(0,1fr);
  gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline;}
.mk-facts__k{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-3);}
.mk-facts__v{font-size:calc(1rem * var(--type-base,1));color:var(--text);}
.mk-sect--light .mk-facts{border-top-color:rgba(0,0,0,.14);}
.mk-sect--light .mk-facts li{border-bottom-color:rgba(0,0,0,.14);}
.mk-sect--light .mk-facts__k{color:var(--light-mut);}
.mk-sect--light .mk-facts__v{color:var(--light-text);}
@media(max-width:520px){.mk-facts li{grid-template-columns:1fr;gap:.15rem;}}

/* known for */
.mk-chef__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
.mk-chef__tags li{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;
  padding:.4rem .75rem;border:1px solid var(--line);border-radius:99px;color:var(--text-2);}
.mk-sect--light .mk-chef__tags li{border-color:rgba(0,0,0,.2);color:var(--light-mut);}

/* bio card */
.mk-chef__bio{background:var(--panel);padding:clamp(1.4rem,3vw,2.4rem);
  border-radius:var(--card-r);
  columns:2;column-gap:clamp(1.6rem,3vw,2.6rem);
  font-size:calc(.98rem * var(--type-base,1));line-height:1.75;color:var(--text);}
.mk-chef__bio p{margin:0 0 1.1rem;break-inside:avoid;}
.mk-chef__bio p:last-child{margin-bottom:0;}
.mk-chef__bio.has-dropcap > p:first-of-type::first-letter{
  float:left;font-family:var(--font-display);font-weight:800;font-size:3.4em;line-height:.78;
  padding:.06em .12em 0 0;color:var(--accent);}
@media(max-width:640px){.mk-chef__bio{columns:1;}}
.mk-sect--light .mk-chef__bio{background:#FFFFFF;color:var(--light-mut);}
.mk-sect--light .mk-chef__bio.has-dropcap > p:first-of-type::first-letter{color:var(--accent-dark);}
.mk-sect--light .mk-chef__name{color:var(--light-text);}

/* pull quote */
.mk-chef__quote{margin:0;font-family:var(--font-display);font-weight:500;
  font-size:calc(clamp(1.25rem,2.4vw,1.85rem) * var(--type-head,1));line-height:1.28;
  letter-spacing:-.02em;color:var(--text);padding-left:1.1rem;
  border-left:3px solid var(--accent);}
.mk-sect--light .mk-chef__quote{color:var(--light-text);}

/* socials */
.mk-chef__socials{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;}
.mk-chef__socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:var(--panel);color:var(--text);transition:background .18s,color .18s,transform .18s;}
.mk-chef__socials a:hover{background:var(--accent);color:#0A0A0A;transform:translateY(-2px);}
.mk-sect--light .mk-chef__socials a{background:#FFFFFF;color:var(--light-text);}
.mk-sect--light .mk-chef__socials a:hover{background:var(--accent);}

.mk-chef__menu{margin-top:clamp(2.4rem,5vw,4rem);}

/* ══════════════════ SITE POPUP ══════════════════ */
.mk-pop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  padding:clamp(1rem,4vw,2.5rem);opacity:0;transition:opacity .26s var(--ease);}
.mk-pop.is-open{opacity:1;}
.mk-pop[hidden]{display:none !important;}
.mk-pop__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);
  backdrop-filter:blur(3px);cursor:pointer;}

.mk-pop__box{position:relative;z-index:1;width:min(760px,100%);
  max-height:min(88vh,760px);overflow-y:auto;isolation:isolate;
  background:var(--panel);border-radius:var(--btn-radius,4px);
  transform:translateY(14px) scale(.985);transition:transform .3s var(--ease);}
.mk-pop.is-open .mk-pop__box{transform:none;}

.mk-pop__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-pop__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-pop__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(0,0,0,calc(var(--fade,.45) + .3)) 0%,
    rgba(0,0,0,var(--fade,.45)) 55%,
    rgba(0,0,0,calc(var(--fade,.45) * .6)) 100%);}

.mk-pop__x{position:absolute;top:.7rem;right:.7rem;z-index:3;width:40px;height:40px;
  display:grid;place-items:center;cursor:pointer;background:rgba(0,0,0,.35);
  border:0;color:#fff;border-radius:50%;transition:background .18s;}
.mk-pop__x:hover{background:var(--accent);color:#141414;}

.mk-pop__body{position:relative;z-index:2;padding:clamp(2.4rem,6vw,4.5rem) clamp(1.4rem,4vw,3rem)
  clamp(1.8rem,4vw,3rem);text-align:center;}
.mk-pop--noimg .mk-pop__body{padding-top:clamp(2rem,4vw,3rem);}

.mk-pop__h{margin:0 0 1rem;font-family:var(--font-display);line-height:1.06;
  text-transform:uppercase;letter-spacing:-.01em;}
.mk-pop__h1{display:block;font-weight:700;color:#fff;
  font-size:calc(clamp(1.3rem,3.2vw,2.1rem) * var(--type-head,1));}
/* Outlined second line, like the reference. Falls back to solid where
   -webkit-text-stroke is unsupported. */
.mk-pop__h2{display:block;font-weight:700;color:transparent;
  -webkit-text-stroke:1.5px #fff;
  font-size:calc(clamp(1.3rem,3.2vw,2.1rem) * var(--type-head,1));}
@supports not (-webkit-text-stroke: 1px #fff){
  .mk-pop__h2{color:rgba(255,255,255,.75);}
}
.mk-pop__text{color:rgba(255,255,255,.85);margin:0 auto 1.6rem;max-width:52ch;
  font-size:calc(1rem * var(--type-base,1));line-height:1.7;}

.mk-pop__form{max-width:520px;margin:0 auto;}
.mk-pop__label{display:block;text-align:left;font-size:.7rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:.4rem;}
.mk-pop__row{display:flex;align-items:center;gap:1rem;
  border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.5rem;}
.mk-pop__row input{flex:1;min-width:0;background:transparent;border:0;color:#fff;
  font:inherit;font-size:1rem;padding:.35rem 0;}
.mk-pop__row input::placeholder{color:rgba(255,255,255,.45);}
.mk-pop__row input:focus{outline:none;}
.mk-pop__row:focus-within{border-bottom-color:var(--accent);}
.mk-pop__row button{flex:none;background:transparent;border:0;cursor:pointer;color:#fff;
  font-family:var(--font-ui);font-size:.74rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:.4rem .2rem;}
.mk-pop__row button:hover{color:var(--accent);}
.mk-pop__thanks{margin:0;color:var(--accent);font-weight:600;}

.mk-pop__btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.6rem;}

@media(max-width:560px){
  .mk-pop__row{flex-direction:column;align-items:stretch;gap:.8rem;border-bottom:0;}
  .mk-pop__row input{border-bottom:1px solid rgba(255,255,255,.55);}
  .mk-pop__row button{background:var(--accent);color:#141414;
    padding:.85rem 1rem;border-radius:var(--btn-radius,4px);}
}
@media(prefers-reduced-motion:reduce){
  .mk-pop,.mk-pop__box{transition:none;}
}

/* ══════════════════ TABLE / COMPARISON ══════════════════ */
.mk-table__hold--narrow{max-width:900px;margin-inline:auto;}
/* A table can't reflow, so on a narrow screen it scrolls sideways rather than
   squashing columns into unreadable slivers. */
.mk-table__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.mk-table{width:100%;border-collapse:collapse;font-size:calc(.95rem * var(--type-base,1));}
.mk-table th,.mk-table td{padding:.85rem 1rem;text-align:left;white-space:nowrap;
  border-bottom:1px solid var(--line-soft);}
.mk-table th{font-family:var(--font-ui);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);border-bottom-color:var(--line);}
.mk-table td{color:var(--text);}
.mk-table td:first-child,.mk-table th:first-child{white-space:normal;}

/* alignment of every column after the first */
.mk-table--right th:not(:first-child),.mk-table--right td:not(:first-child){text-align:right;}
.mk-table--center th:not(:first-child),.mk-table--center td:not(:first-child){text-align:center;}
.mk-table td:not(:first-child){font-variant-numeric:tabular-nums;}

.mk-table--fb td:first-child{font-weight:600;}
.mk-table--stripe tbody tr:nth-child(even){background:rgba(255,255,255,.03);}

/* a * at the start of a line highlights the whole row */
.mk-table tbody tr.is-hi td{color:var(--accent);font-weight:600;}

.mk-table__note{margin:1.4rem 0 0;color:var(--text-3);
  font-size:calc(.85rem * var(--type-base,1));text-align:center;}

@media(max-width:600px){
  .mk-table th,.mk-table td{padding:.7rem .6rem;font-size:.85rem;}
}

/* ══════════════════════════ KITCHEN ══════════════════════════
   The menu board is the signature of this theme. A dish row is
   name · dotted leader · price, the way a printed card sets it,
   and the leader is a flex item so it fills whatever space the
   name leaves. Everything else here stays quiet around it.
   ============================================================ */

/* ---------- menu board ---------- */
.mk-menuboard__note{margin:clamp(1.6rem,3vw,2.4rem) 0 0;padding-top:1.1rem;
  border-top:1px solid var(--line);font-size:.86rem;line-height:1.6;color:var(--text-3);max-width:76ch;}
.mk-sect--light .mk-menuboard__note{border-top-color:rgba(0,0,0,.14);color:var(--light-mut);}

.mk-menuboard__cols{column-gap:clamp(2rem,5vw,4.5rem);}
.mk-menuboard__cols--two{columns:2;}
@media(max-width:820px){.mk-menuboard__cols--two{columns:1;}}

/* ---------- menu section ---------- */
.mk-msec{break-inside:avoid-column;margin-bottom:clamp(2rem,4vw,3rem);}
.mk-msec:last-child{margin-bottom:0;}
.mk-msec__h{display:flex;align-items:center;gap:.9rem;margin:0 0 1.2rem;
  font-family:var(--font-mono);font-weight:500;font-size:.76rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);}
.mk-msec__h::after{content:'';flex:1;height:1px;background:var(--line);}
.mk-sect--light .mk-msec__h{color:var(--accent-dark);}
.mk-sect--light .mk-msec__h::after{background:rgba(0,0,0,.16);}

/* ---------- a dish ---------- */
.mk-dish{padding:.85rem 0;break-inside:avoid;}
.mk-dish + .mk-dish{border-top:1px solid var(--line-soft);}
.mk-sect--light .mk-dish + .mk-dish{border-top-color:rgba(0,0,0,.08);}

.mk-dish__row{display:flex;align-items:baseline;gap:.55rem;}
.mk-dish__name{min-width:0;font-family:var(--font-display);font-weight:500;
  font-size:calc(clamp(1.02rem,1.5vw,1.18rem) * var(--type-head,1));
  letter-spacing:-.01em;color:var(--text);}
.mk-sect--light .mk-dish__name{color:var(--light-text);}

/* the leader line */
.mk-dish__lead{flex:1 1 auto;min-width:1.5rem;align-self:baseline;
  border-bottom:1px dotted var(--text-3);opacity:.5;transform:translateY(-.3em);}
.mk-sect--light .mk-dish__lead{border-bottom-color:var(--light-mut);}

.mk-dish__price{flex:0 0 auto;font-family:var(--font-mono);font-weight:500;
  font-size:calc(.95rem * var(--type-base,1));color:var(--accent);
  font-variant-numeric:tabular-nums;white-space:nowrap;}
.mk-sect--light .mk-dish__price{color:var(--accent-dark);}

.mk-dish__desc{margin:.4rem 0 0;font-size:calc(.92rem * var(--type-base,1));
  line-height:1.6;color:var(--text-2);max-width:64ch;}
.mk-sect--light .mk-dish__desc{color:var(--light-mut);}

.mk-dish__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.5rem;}
.mk-dish__allerg{font-size:.74rem;color:var(--text-3);font-style:italic;}
.mk-sect--light .mk-dish__allerg{color:var(--light-mut);}

.mk-dish--out .mk-dish__name,.mk-dish--out .mk-dish__desc{opacity:.5;}
.mk-dish--out .mk-dish__price{color:var(--text-3);text-decoration:line-through;}

/* dish photo variant */
.mk-dish--photo{display:grid;grid-template-columns:84px minmax(0,1fr);gap:1rem;align-items:start;}
.mk-dish--photo .mk-dish__img{width:84px;height:84px;object-fit:cover;border-radius:8px;
  background:var(--panel-2);display:block;}
@media(max-width:520px){.mk-dish--photo{grid-template-columns:60px minmax(0,1fr);}
  .mk-dish--photo .mk-dish__img{width:60px;height:60px;}}

/* ---------- codes and chips ---------- */
.mk-chip{display:inline-block;font-family:var(--font-mono);font-size:.66rem;font-weight:500;
  letter-spacing:.08em;padding:.16rem .42rem;border-radius:4px;
  border:1px solid var(--line);color:var(--text-3);line-height:1.4;}
.mk-chip--sold{border-color:var(--heat);color:var(--heat);}
.mk-sect--light .mk-chip{border-color:rgba(0,0,0,.2);color:var(--light-mut);}

.mk-heat{display:inline-flex;gap:1px;color:var(--heat);font-size:.72rem;letter-spacing:-1px;}

/* diet filter bar */
.mk-dietbar{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 clamp(1.6rem,3vw,2.2rem);}
.mk-dietbar__b{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;
  padding:.44rem .8rem;border:1px solid var(--line);border-radius:99px;background:none;
  color:var(--text-2);cursor:pointer;transition:background .16s,color .16s,border-color .16s;}
.mk-dietbar__b:hover{border-color:var(--accent);color:var(--accent);}
.mk-dietbar__b.is-on{background:var(--accent);border-color:var(--accent);color:#0A0A0A;}
.mk-sect--light .mk-dietbar__b{border-color:rgba(0,0,0,.2);color:var(--light-mut);}
.mk-sect--light .mk-dietbar__b.is-on{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;}
.mk-dish[hidden]{display:none;}
.mk-msec[hidden]{display:none;}

/* ---------- menu cards (grid block + index) ---------- */
.mk-mcard{display:flex;flex-direction:column;background:var(--panel);border-radius:var(--card-r);
  overflow:hidden;border:1px solid var(--line-soft);transition:transform .2s var(--ease),border-color .2s;}
.mk-mcard:hover{transform:translateY(-3px);border-color:var(--line);}
.mk-mcard__fig{display:block;aspect-ratio:4/3;background:var(--panel-2);overflow:hidden;}
.mk-mcard__fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.mk-mcard:hover .mk-mcard__fig img{transform:scale(1.04);}
.mk-mcard__body{padding:clamp(1.1rem,2.2vw,1.5rem);display:flex;flex-direction:column;flex:1;gap:.55rem;}
.mk-mcard__kind{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);}
.mk-mcard__t{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;
  font-size:calc(clamp(1.2rem,2vw,1.5rem) * var(--type-head,1));margin:0;line-height:1.15;}
.mk-mcard__t a{color:inherit;}
.mk-mcard__t a:hover{color:var(--accent);}
.mk-mcard__sub{margin:0;font-size:.92rem;color:var(--text-2);}
.mk-mcard__peek{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.3rem;}
.mk-mcard__peek li{display:flex;align-items:baseline;gap:.4rem;font-size:.85rem;color:var(--text-3);}
.mk-mcard__peek .l{flex:1;border-bottom:1px dotted currentColor;opacity:.4;transform:translateY(-.28em);}
.mk-mcard__peek .p{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.mk-mcard__foot{margin-top:auto;padding-top:.9rem;}
.mk-mcard__when{font-family:var(--font-mono);font-size:.7rem;color:var(--text-3);}
.mk-sect--light .mk-mcard{background:#FFFFFF;border-color:rgba(0,0,0,.1);}
.mk-sect--light .mk-mcard__t{color:var(--light-text);}
.mk-sect--light .mk-mcard__sub,.mk-sect--light .mk-mcard__peek li{color:var(--light-mut);}
.mk-sect--light .mk-mcard__kind{color:var(--accent-dark);}

/* ---------- chef's picks ---------- */
.mk-pick{display:flex;flex-direction:column;gap:.7rem;}
.mk-pick__fig{display:block;aspect-ratio:1;border-radius:var(--card-r);overflow:hidden;background:var(--panel-2);}
.mk-pick__fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.mk-pick:hover .mk-pick__fig img{transform:scale(1.05);}
.mk-pick__from{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);}
.mk-pick__from a{color:inherit;}
.mk-pick__from a:hover{color:var(--accent);}
.mk-pick__t{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0;
  font-size:calc(clamp(1.1rem,1.9vw,1.35rem) * var(--type-head,1));}
.mk-pick__d{margin:0;font-size:.92rem;color:var(--text-2);line-height:1.6;}
.mk-sect--light .mk-pick__t{color:var(--light-text);}
.mk-sect--light .mk-pick__d,.mk-sect--light .mk-pick__from{color:var(--light-mut);}

/* ---------- catering packages ---------- */
.mk-pkg{display:flex;flex-direction:column;background:var(--panel);border-radius:var(--card-r);
  border:1px solid var(--line-soft);overflow:hidden;}
.mk-pkg--hot{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;}
.mk-pkg__fig{display:block;aspect-ratio:16/10;background:var(--panel-2);overflow:hidden;}
.mk-pkg__fig img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-pkg__body{padding:clamp(1.2rem,2.4vw,1.75rem);display:flex;flex-direction:column;flex:1;gap:.7rem;}
.mk-pkg__style{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);}
.mk-pkg__t{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0;
  font-size:calc(clamp(1.3rem,2.2vw,1.65rem) * var(--type-head,1));line-height:1.12;}
.mk-pkg__t a{color:inherit;}
.mk-pkg__t a:hover{color:var(--accent);}
.mk-pkg__tag{margin:0;color:var(--text-2);font-size:.94rem;}
.mk-pkg__price{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums;
  font-size:calc(clamp(1.25rem,2.2vw,1.6rem) * var(--type-head,1));color:var(--text);
  padding:.55rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.mk-pkg__facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;}
.mk-pkg__inc{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.45rem;}
.mk-pkg__inc li{position:relative;padding-left:1.35rem;font-size:.9rem;color:var(--text-2);line-height:1.5;}
.mk-pkg__inc li::before{content:'';position:absolute;left:0;top:.55em;width:8px;height:8px;
  border-radius:2px;background:var(--accent);opacity:.85;}
.mk-pkg__cta{margin-top:auto;padding-top:1.1rem;}
.mk-pkg__cta .mk-btn{width:100%;justify-content:center;}
.mk-sect--light .mk-pkg{background:#FFFFFF;border-color:rgba(0,0,0,.1);}
.mk-sect--light .mk-pkg__t,.mk-sect--light .mk-pkg__price{color:var(--light-text);}
.mk-sect--light .mk-pkg__tag,.mk-sect--light .mk-pkg__inc li{color:var(--light-mut);}
.mk-sect--light .mk-pkg__style{color:var(--accent-dark);}
.mk-sect--light .mk-pkg__price{border-color:rgba(0,0,0,.14);}

/* ---------- booking form ---------- */
.mk-book{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.6rem,4vw,3rem);align-items:start;}
.mk-book--split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}
@media(max-width:900px){.mk-book--split{grid-template-columns:1fr;}}
.mk-book__fig{border-radius:var(--card-r);overflow:hidden;background:var(--panel-2);aspect-ratio:4/5;}
.mk-book__fig img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-book__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
@media(max-width:640px){.mk-book__grid{grid-template-columns:1fr;}}
.mk-book__grid .is-full{grid-column:1/-1;}
.mk-book__ok{border:1px solid var(--accent);border-radius:var(--card-r);
  padding:clamp(1.1rem,2.4vw,1.6rem);margin-bottom:1.5rem;background:rgba(212,165,55,.10);}
.mk-book__ok strong{display:block;font-family:var(--font-display);font-size:1.15rem;margin-bottom:.3rem;}
.mk-book__ref{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);}
.mk-book__err{border:1px solid var(--heat);border-radius:var(--card-r);padding:1rem 1.2rem;
  margin-bottom:1.5rem;color:var(--heat);}
.mk-book__note{font-size:.82rem;color:var(--text-3);margin:.9rem 0 0;}
.mk-sect--light .mk-book__note{color:var(--light-mut);}

/* ---------- reviews ---------- */
.mk-rev{display:flex;flex-direction:column;gap:.9rem;background:var(--panel);
  border-radius:var(--card-r);padding:clamp(1.2rem,2.6vw,1.8rem);border:1px solid var(--line-soft);}
.mk-rev__stars{color:var(--accent);letter-spacing:.12em;font-size:.9rem;}
.mk-rev__q{margin:0;font-size:calc(1.02rem * var(--type-base,1));line-height:1.65;color:var(--text);}
.mk-rev__by{margin-top:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;}
.mk-rev__n{font-family:var(--font-display);font-weight:600;}
.mk-rev__d{font-size:.82rem;color:var(--text-3);}
.mk-rev__src{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);border:1px solid var(--line);border-radius:4px;padding:.14rem .4rem;}
.mk-rev__src:hover{color:var(--accent);border-color:var(--accent);}
.mk-sect--light .mk-rev{background:#FFFFFF;border-color:rgba(0,0,0,.1);}
.mk-sect--light .mk-rev__q,.mk-sect--light .mk-rev__n{color:var(--light-text);}
.mk-sect--light .mk-rev__d,.mk-sect--light .mk-rev__src{color:var(--light-mut);border-color:rgba(0,0,0,.2);}

.mk-rev--big{max-width:56ch;margin-inline:auto;text-align:center;background:none;border:0;padding:0;}
.mk-rev--big .mk-rev__q{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;
  font-size:calc(clamp(1.35rem,3vw,2.15rem) * var(--type-head,1));line-height:1.28;}
.mk-rev--big .mk-rev__by{justify-content:center;}
.mk-rev--big .mk-rev__stars{font-size:1.1rem;}

/* ---------- hours & location ---------- */
.mk-hours{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:start;}
@media(max-width:820px){.mk-hours{grid-template-columns:1fr;}}
.mk-hours__panel{display:grid;gap:clamp(1.4rem,3vw,2.2rem);}
.mk-hourlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.mk-hourlist li{display:flex;align-items:baseline;gap:.6rem;padding:.6rem 0;
  border-bottom:1px solid var(--line);}
.mk-hourlist__d{flex:0 0 auto;min-width:7ch;font-size:.95rem;}
.mk-hourlist__v{flex:0 0 auto;margin-left:auto;font-size:.9rem;color:var(--text-2);
  font-variant-numeric:tabular-nums;}
.mk-hourlist li.is-today{color:var(--accent);}
.mk-hourlist li.is-today .mk-hourlist__v{color:var(--accent);}
.mk-hourlist--sm{border-top:0;}
.mk-hourlist--sm li{padding:.12rem 0;border-bottom:0;gap:.5rem;}
.mk-hourlist--sm .mk-hourlist__d{min-width:3.5ch;font-size:.78rem;}
.mk-hourlist--sm .mk-hourlist__v{font-size:.78rem;}
.mk-sect--light .mk-hourlist,.mk-sect--light .mk-hourlist li{border-color:rgba(0,0,0,.14);}
.mk-sect--light .mk-hourlist__v{color:var(--light-mut);}
.mk-sect--light .mk-hourlist li.is-today,.mk-sect--light .mk-hourlist li.is-today .mk-hourlist__v{color:var(--accent-dark);}

.mk-where{display:grid;gap:.55rem;font-size:.98rem;}
.mk-where__k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);display:block;margin-bottom:.15rem;}
.mk-sect--light .mk-where__k{color:var(--light-mut);}
.mk-map{border-radius:var(--card-r);overflow:hidden;background:var(--panel-2);aspect-ratio:4/3;}
.mk-map iframe{width:100%;height:100%;border:0;display:block;}

/* ---------- menu / package page heads ---------- */
.mk-menuhead__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;}
.mk-pkghead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:clamp(1.6rem,4vw,3rem);align-items:center;}
@media(max-width:900px){.mk-pkghead{grid-template-columns:1fr;}}
.mk-pkghead__fig{border-radius:var(--card-r);overflow:hidden;aspect-ratio:4/3;background:var(--panel-2);}
.mk-pkghead__fig img{width:100%;height:100%;object-fit:cover;display:block;}

/* ── page headers + filter pills ──────────────────────────────────────
   Used by /menu, /catering and /careers. These were lost when the music
   CSS block was cut out of the file this theme was ported from — the
   symptom was a page title rendering underneath the fixed navbar. */
.mk-pagehead{background:var(--panel);padding:calc(var(--nav-h) + clamp(2.5rem,5vw,4rem)) 0 clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--line-soft);}
.mk-pagehead h1{font-size:calc(clamp(2rem,5vw,3.4rem) * var(--type-head,1));margin:0 0 .5rem;
  letter-spacing:-.03em;}
.mk-pagehead__sub{color:var(--text-2);font-size:calc(1.05rem * var(--type-base,1));max-width:62ch;margin:0;}
.mk-pagehead .mk-eyebrow a{color:var(--accent);text-decoration:none;}
.mk-pagehead .mk-eyebrow a:hover{color:var(--text);}
.mk-pagehead--job h1{text-transform:none;}

/* Photo behind a page header. The container has to sit above the image, so
   the header becomes a positioning context and the layers are explicit. */
.mk-pagehead--photo{position:relative;overflow:hidden;background:var(--ink);isolation:isolate;
  padding-bottom:clamp(2.5rem,5vw,4rem);}
.mk-pagehead--photo > .mk-container{position:relative;z-index:2;}
.mk-pagehead__bg{position:absolute;inset:0;z-index:0;display:block;}
.mk-pagehead__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.mk-pagehead__fade{position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(to top,
    rgba(0,0,0,calc(var(--fade,.7) + .2)) 0%,
    rgba(0,0,0,var(--fade,.7)) 55%,
    rgba(0,0,0,calc(var(--fade,.7) * .7)) 100%);}
/* Chips on a photo header need their own backing or they vanish into it. */
.mk-pagehead--photo .mk-chip{border-color:rgba(255,255,255,.35);
  background:rgba(0,0,0,.35);color:rgba(255,255,255,.92);}

.mk-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.mk-pill{display:inline-block;padding:.5rem .95rem;border:1px solid var(--line);
  color:var(--text);text-decoration:none;font-family:var(--font-mono);font-size:.7rem;
  letter-spacing:.08em;border-radius:99px;
  transition:background .16s,color .16s,border-color .16s;}
.mk-pill:hover{border-color:var(--accent);color:var(--accent);}
.mk-pill.is-on{background:var(--accent);border-color:var(--accent);color:#0A0A0A;}

/* h3+ keep their weight; h1/h2 carry the display face's own weight */
h3,h4,h5{font-weight:600;}
.mk-footer__bar{border-top:0;}

/* Hours block with no map: one column, not one column plus a dead gap. */
.mk-hours:not(:has(.mk-map)){grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@supports not (selector(:has(*))){.mk-hours{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.mk-hours--solo{grid-template-columns:minmax(0,560px)!important;}
.mk-showcase--nopic{grid-template-columns:minmax(0,1fr)!important;}
.mk-showcase--nopic .mk-showcase__inner{max-width:78ch;}
