/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GOOD THING — shared styles (Diabla system)
   Blush canvas · light Helvetica display · vermillion ink & outlines
   Rules: no filled red buttons, no shadows, no bold, red is rationed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root{
  --red:#ed2e38;
  --blush:#fcf0f3;
  --field:#f6e2e8;
  --ink:#333333;
  --onyx:#000000;
  --dim:#8a7f82;
  --hair:rgba(237,46,56,.25);
  --white:#ffffff;
  --disp:"Helvetica Neue","HelveticaNeue-Light","Helvetica Neue Light",Helvetica,"Inter",Arial,sans-serif;
  --text:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;
  --r:14px;
  --max:1200px;
  --gut:32px;
  --sec:80px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--blush);color:var(--ink);font-family:var(--text);font-weight:400;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:var(--red);text-decoration:none;}
::selection{background:var(--red);color:var(--blush);}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}
.narrow{max-width:640px;margin:0 auto;}
.eyebrow{font-size:12px;text-transform:uppercase;color:var(--red);}
.display{font-family:var(--disp);font-weight:300;line-height:.88;letter-spacing:normal;color:var(--red);}
.display-xl{font-size:clamp(64px,9vw,110px);}
.display-l{font-size:clamp(52px,6.6vw,80px);line-height:.91;}
.lead{font-size:18px;line-height:1.3;}
.muted{color:var(--dim);}
.center{text-align:center;}

.btn{display:inline-block;border:1px solid var(--red);color:var(--red);background:transparent;border-radius:var(--r);padding:6px 25px;font:inherit;font-size:12px;text-transform:uppercase;cursor:pointer;}
.btn-black{border-color:var(--onyx);color:var(--onyx);}
.btn-white{border-color:var(--white);color:var(--white);}
.btn[disabled]{opacity:.5;cursor:default;}

/* nav — distributed, wordmark centred */
.nav{position:absolute;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px var(--gut);font-size:12px;text-transform:uppercase;}
.nav.solid{position:relative;border-bottom:1px solid var(--hair);}
.nav-l,.nav-r{display:flex;gap:24px;align-items:center;}
.nav-r{justify-content:flex-end;}
.nav a{color:var(--red);}
.nav a.active{border-bottom:1px solid var(--red);}
.wordmark{font-size:18px;text-transform:lowercase;color:var(--red);}
.nav .btn{padding:4px 18px;}
.nav-toggle{display:none;background:none;border:1px solid var(--red);border-radius:var(--r);color:var(--red);font:inherit;font-size:12px;text-transform:uppercase;padding:4px 14px;cursor:pointer;}
.menu{display:none;position:fixed;inset:0;z-index:30;background:var(--blush);padding:80px 16px 32px;flex-direction:column;gap:6px;}
.menu.open{display:flex;}
.menu a{font-family:var(--disp);font-weight:300;font-size:48px;line-height:1;color:var(--red);}
.menu-close{position:absolute;top:16px;right:16px;}

/* hero */
.hero{position:relative;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.12) 50%,rgba(0,0,0,.38));}
.hero-in{position:relative;z-index:2;padding:0 16px;}
.hero-eyebrow{font-size:14px;text-transform:uppercase;margin-bottom:20px;}
.hero h1{font-family:var(--disp);font-weight:300;font-size:clamp(80px,11vw,110px);line-height:.88;}
.hero-meta{font-size:14px;text-transform:uppercase;margin-top:24px;}
.hero-cta{margin-top:28px;}
.hero-arrow{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:2;width:1px;height:44px;background:var(--red);}
.hero-arrow::after{content:"";position:absolute;left:-4px;bottom:0;width:9px;height:9px;border-right:1px solid var(--red);border-bottom:1px solid var(--red);transform:rotate(45deg);}

/* page header (non-hero pages) */
.page-head{text-align:center;padding:var(--sec) 0 40px;}
.page-head .display{margin:16px 0;}
.page-head p{font-size:16px;max-width:520px;margin:0 auto;}

/* sections */
.section{padding:var(--sec) 0;}
.section-tight{padding:0 0 var(--sec);}
.head{text-align:center;padding:0 0 40px;}
.head .display{margin:16px 0;}
.head p{max-width:400px;margin:0 auto;}

/* split (image + text) */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
.split img{width:100%;height:auto;}
.split .mono{filter:grayscale(100%) contrast(1.05);}
.stack{display:flex;flex-direction:column;gap:16px;}
.stack .btn{align-self:flex-start;}
.rows{border-top:1px solid var(--hair);}
.row{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--hair);}
.row dt{font-size:12px;text-transform:uppercase;color:var(--red);padding-top:2px;}

/* three-up editorial */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.card{display:flex;flex-direction:column;gap:6px;color:var(--ink);}
.card img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:12px;background:var(--field);}
.card h3{font-weight:400;font-size:16px;text-transform:uppercase;color:var(--ink);}
.card p{font-size:14px;}
.card .btn{align-self:flex-start;margin-top:12px;}
.card .ph{width:100%;aspect-ratio:3/4;margin-bottom:12px;background:var(--field);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:300;font-size:80px;color:var(--red);}

/* image grids */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.grid3 img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.grid3.tall img{aspect-ratio:4/5;}

/* history list */
.editions{border-top:1px solid var(--hair);}
.edition{display:grid;grid-template-columns:90px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 120px;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair);color:var(--ink);}
.edition .n{font-family:var(--disp);font-weight:300;font-size:40px;line-height:1;color:var(--red);}
.edition .name{font-size:22px;line-height:1.29;text-transform:uppercase;}
.edition .tag{font-size:12px;text-transform:uppercase;color:var(--red);}
.edition .when{font-size:14px;}
.edition .go{justify-self:end;}

/* forms */
.form{display:flex;flex-direction:column;gap:18px;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:12px;text-transform:uppercase;}
.field input,.field select,.field textarea{width:100%;background:var(--field);border:1px solid transparent;border-radius:0;color:var(--ink);font:inherit;font-size:15px;padding:10px 12px;outline:none;-webkit-appearance:none;appearance:none;}
.field textarea{resize:vertical;min-height:120px;}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;cursor:pointer;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);}
.field input::placeholder,.field textarea::placeholder{color:#a8999d;}
.choices{display:flex;flex-wrap:wrap;gap:8px;}
.choices label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hair);border-radius:var(--r);padding:6px 16px;font-size:12px;text-transform:uppercase;cursor:pointer;}
.field .choices input{width:14px;height:14px;padding:0;background:none;border:none;-webkit-appearance:auto;appearance:auto;accent-color:var(--red);flex-shrink:0;}
.choices label{white-space:nowrap;}
.choices label:has(input:checked){border-color:var(--red);color:var(--red);}
.terms{border-top:1px solid var(--red);border-bottom:1px solid var(--red);padding:16px 0;max-height:220px;overflow-y:auto;}
.terms p+p{margin-top:10px;}
.terms b{font-weight:400;font-size:12px;text-transform:uppercase;color:var(--red);}
.agree{display:flex;gap:10px;align-items:flex-start;cursor:pointer;}
.agree input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--red);}
.form .submit{align-self:center;margin-top:12px;padding:8px 32px;}
.form.hide{display:none;}
.thanks{display:none;text-align:center;padding:24px 0;}
.thanks.show{display:block;}
.thanks .display{font-size:clamp(56px,8vw,80px);line-height:.91;margin-bottom:16px;}

/* plans (PASS page) */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.plan{border-top:1px solid var(--red);padding-top:24px;display:flex;flex-direction:column;gap:14px;}
.plan .price{font-family:var(--disp);font-weight:300;font-size:80px;line-height:.91;color:var(--red);}
.plan ul{list-style:none;border-top:1px solid var(--hair);}
.plan li{padding:10px 0;border-bottom:1px solid var(--hair);}
.plan .btn{align-self:flex-start;}

/* summary (checkout) */
.summary{border-top:1px solid var(--red);border-bottom:1px solid var(--red);}
.summary .row:last-child{border-bottom:none;font-size:16px;color:var(--red);}
.notice{border:1px solid var(--hair);padding:16px;font-size:14px;}

/* footer */

@media(max-width:900px){
  :root{--gut:16px;--sec:56px;}
  .nav{grid-template-columns:1fr auto;padding:16px var(--gut);}
  .nav-l,.nav-r a:not(.btn){display:none;}
  .nav-toggle{display:inline-block;}
  .wordmark{font-size:16px;}
  .split{grid-template-columns:1fr;gap:32px;}
  .three{grid-template-columns:1fr;gap:48px;}
  .plans{grid-template-columns:1fr;gap:48px;}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid3 > :last-child:nth-child(odd){grid-column:span 2;aspect-ratio:3/2;}
  .two{grid-template-columns:1fr;}
  .edition{grid-template-columns:56px 1fr auto;row-gap:2px;}
  .edition .n{font-size:32px;grid-row:span 3;}
  .edition .tag,.edition .when{grid-column:2;}
  .edition .go{grid-column:3;grid-row:1 / span 3;}
  .foot{grid-template-columns:1fr;text-align:center;}
  .foot .r{justify-content:center;}
}
@media(max-width:700px){
  .hero img[data-mobile]{object-position:70% 30%;}
}

/* ━━ Chefs page — focus cards (hover one, the rest soften) + bio panel ━━ */
.focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.fcard{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--field);cursor:pointer;border:0;padding:0;text-align:left;font:inherit;color:inherit;display:block;width:100%;transition:filter .3s ease-out,transform .3s ease-out;}
.fcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fcard .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:300;font-size:140px;line-height:1;color:var(--red);}
.fcard .ov{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:28px 20px;color:var(--white);opacity:0;transition:opacity .3s;}
.fcard .ov .k{font-size:12px;text-transform:uppercase;}
.fcard .ov .t{font-family:var(--disp);font-weight:300;font-size:34px;line-height:.95;}
.fcard .ov .m{font-size:12px;text-transform:uppercase;margin-top:6px;}
.fcard.noimg .ov{background:transparent;color:var(--ink);opacity:1;}
.fcard.noimg .ov .k{color:var(--red);}
.fcard:hover .ov,.fcard:focus-visible .ov{opacity:1;}
.fcard:focus-visible{outline:1px solid var(--red);outline-offset:3px;}
.focus.is-hovering .fcard:not(:hover){filter:blur(4px);transform:scale(.98);}
.fcard .badge{position:absolute;top:14px;left:14px;z-index:2;border:1px solid var(--white);color:var(--white);border-radius:var(--r);padding:2px 12px;font-size:10px;text-transform:uppercase;}
.fcard.noimg .badge{border-color:var(--red);color:var(--red);}

.bio-panel{position:fixed;inset:0;z-index:40;background:var(--blush);overflow-y:auto;display:none;}
.bio-panel.open{display:block;}
.bio-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px var(--gut);background:var(--blush);border-bottom:1px solid var(--hair);font-size:12px;text-transform:uppercase;}
.bio-top .nav-arrows{display:flex;gap:10px;}
.bio-body{padding:56px 0 var(--sec);}
.bio-body .split{align-items:start;}
.bio-body .stack p{max-width:460px;}
.bio-body .ph-big{aspect-ratio:3/4;background:var(--field);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:300;font-size:200px;color:var(--red);}
.bio-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}

@media(hover:none){ .fcard .ov{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0) 60%);} .fcard.noimg .ov{background:transparent;} .focus.is-hovering .fcard:not(:hover){filter:none;transform:none;} }
@media(max-width:900px){ .focus{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} .fcard .ov{padding:16px 12px;} .fcard .ov .t{font-size:24px;} .fcard .ini{font-size:90px;} .bio-body{padding-top:32px;} }
@media(prefers-reduced-motion:reduce){ .fcard,.fcard .ov{transition:none;} }
.fcard.noimg .ini{align-items:flex-start;padding-top:18%;}
@media(max-width:900px){ .bio-top #bioLabel{display:none;} .bio-top{justify-content:flex-end;} .fcard.noimg .ini{padding-top:10%;} }

/* bio panel — two pages: the chef / the food */
.bio-left{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.bio-tabs{display:flex;gap:6px;}
.bio-tab{background:none;border:1px solid var(--hair);border-radius:var(--r);color:var(--ink);font:inherit;font-size:12px;text-transform:uppercase;padding:4px 14px;cursor:pointer;}
.bio-tab.on{border-color:var(--red);color:var(--red);}
.bio-tab[disabled]{opacity:.35;cursor:default;}
.food-grid img{aspect-ratio:4/5;}
@media(max-width:900px){ .bio-top{justify-content:space-between;} .bio-top .nav-arrows #bioPrev,.bio-top .nav-arrows #bioNext{display:none;} }

/* Next chef: campaign image + registration side by side, first thing on the page */
.campaign-sec{padding:40px 0 var(--sec);}
.campaign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;}
.campaign-img{position:sticky;top:24px;}
.campaign-img img{width:100%;height:auto;}
.campaign-head{display:flex;flex-direction:column;gap:14px;margin-bottom:28px;}
.campaign-head p:last-child{font-size:16px;max-width:460px;}
.campaign-form .thanks{text-align:left;}
@media(max-width:900px){ .campaign{grid-template-columns:1fr;gap:32px;} .campaign-img{position:static;} .campaign-sec{padding-top:16px;} }
.grid3.four{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){.grid3.four{grid-template-columns:repeat(2,minmax(0,1fr));}.grid3.four > :last-child{grid-column:auto;aspect-ratio:4/5;}}

/* chef page: bio text + food plates side by side (no portrait / details) */
.bio-food-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;}
.bio-food-wrap.solo{grid-template-columns:minmax(0,640px);}
.bio-food-wrap .stack .btn{align-self:flex-start;}
.bio-food{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.bio-food img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.bio-food > img:last-child:nth-child(odd){grid-column:span 2;aspect-ratio:3/2;}
@media(max-width:900px){ .bio-food-wrap{grid-template-columns:1fr;gap:32px;} }

.bio-food-wrap.foodonly{grid-template-columns:1fr;}
.bio-food-wrap.foodonly .bio-food{grid-template-columns:repeat(3,minmax(0,1fr));}
.bio-food-wrap.foodonly .bio-food > img:last-child:nth-child(odd){grid-column:auto;aspect-ratio:4/5;}
#register{scroll-margin-top:16px;}
@media(max-width:900px){ .bio-food-wrap.foodonly .bio-food{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* Past Evenings — edition blocks + lightbox */
.ev-filter{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:56px;}
.ev-block{padding-bottom:64px;}
.ev-block + .ev-block{border-top:1px solid var(--hair);padding-top:40px;}
.ev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;}
.ev-head .eyebrow{margin-bottom:6px;}
.ev-title{font-family:var(--disp);font-weight:300;font-size:clamp(40px,5vw,56px);line-height:.95;color:var(--red);}
.ev-shot{display:block;border:0;padding:0;background:var(--field);cursor:zoom-in;}
.ev-shot img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:opacity .2s;}
.ev-shot:hover img{opacity:.85;}
.ev-shot:focus-visible{outline:1px solid var(--red);outline-offset:2px;}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(17,12,13,.94);display:none;flex-direction:column;align-items:center;justify-content:center;padding:72px 16px 24px;}
.lightbox.open{display:flex;}
.lb-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px var(--gut);color:var(--white);}
.lb-top .eyebrow{color:var(--white);}
.lb-ctrl{display:flex;align-items:center;gap:8px;}
.lb-count{font-size:12px;margin-right:8px;}
.lightbox img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;}
@media(max-width:900px){ .ev-head{flex-direction:column;align-items:flex-start;} .ev-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-bottom:40px;padding-bottom:6px;} .ev-filter .bio-tab{flex-shrink:0;} .lb-top .eyebrow{display:none;} .grid3.ev-grid > :last-child:nth-child(odd){grid-column:auto;} }
@media(max-width:900px){ .grid3.ev-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;} }

/* Past Evenings — lifestyle: full-bleed lead photo per night, editorial grid below */
.ev-hero{height:88vh;}
.ev-wrap{padding-top:40px;}
.ev-block{padding-bottom:var(--sec);}
.ev-block + .ev-block{border-top:0;padding-top:0;}
.ev-lead{position:relative;height:82vh;min-height:480px;overflow:hidden;margin-bottom:24px;}
.ev-lead-img{position:absolute;inset:0;width:100%;height:100%;}
.ev-lead-img img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;}
.ev-lead::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 55%);pointer-events:none;}
.ev-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:var(--max);margin:0 auto;padding:0 var(--gut) 40px;color:var(--white);display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.ev-cap .ev-title{color:var(--white);font-size:clamp(56px,8vw,110px);line-height:.88;}
.ev-cap .ev-k,.ev-cap .ev-m{font-size:12px;text-transform:uppercase;}
.ev-cap .btn{margin-top:6px;}
.ev-grid{gap:24px;}
.ev-grid .ev-shot img{aspect-ratio:4/5;}
@media(max-width:900px){ .ev-hero{height:72vh;} .ev-lead{height:70vh;min-height:380px;margin-bottom:4px;} .ev-cap{padding-bottom:24px;} .ev-cap .ev-title{font-size:48px;} .grid3.ev-grid{gap:4px;} .ev-grid .ev-shot img{aspect-ratio:1/1;} }

/* ━━ Good Thing Journal ━━ */
.j-cover{width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--field);margin-bottom:12px;}
.j-cover img{width:100%;height:100%;object-fit:cover;margin:0;aspect-ratio:auto;}
.j-type{display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--hair);background:var(--blush);}
.j-type .j-big{font-family:var(--disp);font-weight:300;font-size:clamp(56px,7vw,96px);line-height:.88;color:var(--red);word-break:break-word;}
.j-type .j-small{font-size:12px;text-transform:uppercase;color:var(--ink);}
.j-type.big .j-big{font-size:clamp(90px,14vw,200px);}
.j-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center;color:var(--ink);margin-bottom:64px;}
.j-lead .j-cover{margin:0;aspect-ratio:4/3;}
.j-lead .stack .btn{align-self:flex-start;}
.j-lead:hover .display{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;}
.j-card:hover h3{text-decoration:underline;text-underline-offset:3px;}
#jFilter{margin-bottom:40px;}
.j-head{text-align:left;padding:64px 0 32px;display:flex;flex-direction:column;gap:16px;}
.j-hero .j-cover{aspect-ratio:16/9;max-height:78vh;margin-bottom:48px;}
.j-body{display:flex;flex-direction:column;gap:16px;font-size:17px;line-height:1.6;padding-bottom:var(--sec);}
.j-body .j-q{font-size:12px;text-transform:uppercase;color:var(--red);margin-top:12px;line-height:1.5;}
.j-body .j-a{margin-top:-8px;}
.j-sources{border-top:1px solid var(--hair);margin-top:32px;padding-top:16px;display:flex;flex-direction:column;gap:8px;font-size:14px;}
@media(max-width:900px){ .j-lead{grid-template-columns:1fr;gap:24px;margin-bottom:48px;} .j-head{padding-top:40px;} .j-body{font-size:16px;} .j-hero .j-cover{aspect-ratio:4/3;margin-bottom:32px;} }

.j-type .j-big{word-break:normal;overflow-wrap:normal;white-space:nowrap;}
.j-type.long .j-big{font-size:clamp(44px,5.4vw,72px);}
.j-type.xlong .j-big{font-size:clamp(36px,4.2vw,56px);}
.j-type.big.long .j-big{font-size:clamp(72px,10vw,150px);}
.j-type.t2{background:var(--field);border-color:transparent;}
.j-type.t3{background:var(--blush);border-color:var(--red);}
@media(max-width:900px){ .j-card .j-type{aspect-ratio:4/3;} .j-type.big .j-big{font-size:96px;} .j-type.big.long .j-big{font-size:72px;} }

.j-credit{font-size:10px;text-transform:uppercase;color:var(--dim);margin:-40px 0 40px;}
.j-credit a{color:var(--dim);}
@media(max-width:900px){.j-credit{margin:-24px 0 32px;}}

/* Instagram embeds inside Journal stories */
.j-ig{margin:24px 0;display:flex;justify-content:center;}
.j-ig-block{border-top:1px solid var(--hair);margin-top:24px;padding-top:20px;}
.j-ig-block .eyebrow{margin-bottom:4px;}

/* Instagram embed: drop Instagram's outer border + rounded corners (the post's own header/footer must stay — it's the attribution Instagram's terms require) */
.j-ig iframe.instagram-media,.j-ig blockquote.instagram-media{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0 auto!important;}

/* Chef bio panel: one scrolling page — bio on top, plates underneath */
.bio-panel .bio-tabs{display:none;}
.bio-plates{padding-top:72px;}
.bio-plates .head{padding-bottom:32px;}
@media(max-width:900px){ .bio-plates{padding-top:48px;} }

/* Michelin star / Green Star badge — top-left of chef photos */
.mstar{position:absolute;top:14px;left:14px;z-index:3;width:46px;height:46px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;}
.mstar img{width:30px;height:30px;object-fit:contain;margin:0;aspect-ratio:auto;position:static;}
.fcard .badge + .mstar{top:52px;}
.bio-pic,.campaign-img{position:relative;}
.campaign-img .mstar{width:56px;height:56px;top:18px;left:18px;}
.campaign-img .mstar img{width:36px;height:36px;}
@media(max-width:900px){ .mstar{width:36px;height:36px;top:10px;left:10px;} .mstar img{width:23px;height:23px;} }

/* badge: 50% larger, no white background */
.mstar{background:none;border-radius:0;width:auto;height:auto;}
.mstar img{width:45px;height:45px;}
.campaign-img .mstar{width:auto;height:auto;}
.campaign-img .mstar img{width:54px;height:54px;}
.fcard .badge + .mstar{top:52px;}
@media(max-width:900px){ .mstar{width:auto;height:auto;} .mstar img{width:35px;height:35px;} }

/* ━━ Cook With Us — application form ━━ */
.apply-form{gap:56px;}
.ap-step{border:0;border-top:1px solid var(--red);padding:24px 0 0;margin:0;display:flex;flex-direction:column;gap:18px;min-width:0;}
.ap-step legend{float:left;width:100%;padding:0 0 8px;font-family:var(--disp);font-weight:300;font-size:clamp(36px,4.5vw,48px);line-height:1;color:var(--red);}
.ap-step legend + *{clear:both;}
.ap-n{font-family:var(--text);font-size:12px;vertical-align:middle;margin-right:10px;color:var(--ink);}
.ap-count{font-size:12px;color:var(--dim);align-self:flex-end;}
.ap-count.over{color:var(--red);}
.drop{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;border:1px dashed var(--red);background:var(--field);color:var(--ink);cursor:pointer;padding:16px;text-transform:none;font-size:14px;}
.drop.over{background:#f0d3dc;}
.drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.drop u{color:var(--red);text-underline-offset:3px;}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;}
.thumb{position:relative;aspect-ratio:1/1;background:var(--field);}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer;}
.thumb-note{grid-column:1/-1;font-size:12px;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red);}
.field.invalid > label,.agree.invalid span{color:var(--red);}
.field.invalid .choices label{border-color:var(--red);}
.ap-error{color:var(--red);font-size:14px;text-align:center;}
.choices.months label{min-width:64px;justify-content:center;}
@media(max-width:900px){ .thumbs{grid-template-columns:repeat(3,minmax(0,1fr));} .apply-form{gap:40px;} }

/* ━━ Masthead (Monocle-style, Diabla colours) ━━ */
.masthead{position:relative;z-index:20;background:var(--blush);}
.mh-top{display:flex;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--red);font-size:12px;text-transform:uppercase;}
.mh-tl,.mh-tr{display:flex;align-items:center;gap:20px;}
.mh-top a{color:var(--ink);}
.mh-top a.active,.mh-top a:hover{color:var(--red);}
.mh-top .btn{color:var(--red);padding:4px 18px;}
.mh-burger{width:22px;height:16px;display:flex;flex-direction:column;justify-content:space-between;background:none;border:0;padding:0;cursor:pointer;margin-right:4px;}
.mh-burger span{display:block;height:1.5px;background:var(--ink);}
.mh-brand{display:grid;grid-template-columns:1fr;justify-items:center;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--hair);}
.mh-word{font-family:var(--disp);font-weight:300;font-size:clamp(56px,8vw,104px);line-height:.9;color:var(--red);text-transform:lowercase;letter-spacing:-.01em;}
.mh-note{font-size:14px;line-height:1.35;color:var(--ink);display:flex;flex-direction:column;gap:2px;max-width:220px;}
.mh-note.r{justify-self:end;text-align:right;align-items:flex-end;}
.mh-note .mh-k{font-size:10px;text-transform:uppercase;color:var(--red);}
.mh-note:hover{color:var(--red);}
.mh-sections{display:flex;justify-content:center;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--red);font-size:13px;text-transform:uppercase;}
.mh-sections a{color:var(--ink);padding:0 16px;line-height:1;border-left:1px solid var(--ink);}
.mh-sections a:first-child{border-left:0;}
.mh-sections a.active,.mh-sections a:hover{color:var(--red);}
.mh-sections a.active{text-decoration:underline;text-underline-offset:5px;}
/* menu overlay, grouped */
.menu{padding:72px var(--gut) 40px;overflow-y:auto;}
.menu .menu-close{position:absolute;top:16px;right:var(--gut);}
.menu-grid{max-width:var(--max);margin:0 auto;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.menu-grp{display:flex;flex-direction:column;gap:6px;}
.menu-grp .eyebrow{margin-bottom:10px;}
.menu-grp a{font-family:var(--disp);font-weight:300;font-size:clamp(32px,4vw,48px);line-height:1;color:var(--red);}
/* hero pages: masthead now sits above the photo, not over it */
.hero{height:calc(100vh - 210px);min-height:520px;}
@media(max-width:900px){
  .mh-tl a:not(.btn),.mh-tr a:not(.btn){display:none;}
  .mh-brand{grid-template-columns:1fr;padding-top:14px;padding-bottom:14px;text-align:center;}
  .mh-note{display:none;}
  .mh-word{font-size:56px;}
  .mh-sections{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-left:0;padding-right:0;font-size:12px;scrollbar-width:none;}
  .mh-sections::-webkit-scrollbar{display:none;}
  .mh-sections a{white-space:nowrap;padding:0 14px;}
  .menu-grid{grid-template-columns:1fr;gap:32px;}
  .hero{height:72vh;min-height:420px;}
}

/* menu: always-visible close button + wordmark */
.menu{padding-top:24px;}
.menu-top{max-width:var(--max);margin:0 auto 48px;width:100%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--red);padding-bottom:16px;}
.menu .menu-close{position:static;display:inline-block!important;padding:6px 20px;}
.menu-word{font-size:clamp(40px,5vw,56px);}

/* ━━ Past Evenings — mood layout ━━ */
.mood{padding:var(--sec) 0;display:flex;flex-direction:column;gap:24px;}
.mood-intro{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:40px;}
.mood-intro .lead{max-width:620px;font-size:22px;line-height:1.35;}
.mood-row{display:grid;gap:24px;}
.mood-row.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.mood-row.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.mood-shot{display:block;border:0;padding:0;background:var(--field);cursor:zoom-in;overflow:hidden;width:100%;}
.mood-shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.mood-shot:hover img{transform:scale(1.02);}
.mood-row.tall .mood-shot{aspect-ratio:4/5;}
.mood-row.wide .mood-shot{aspect-ratio:3/2;}
.mood-row.bleed .mood-shot{height:86vh;min-height:420px;}
.mood-row.bleed{margin:40px 0;}
.mood-quote{text-align:center;padding:72px 0;}
.mood-quote .display{max-width:900px;margin:0 auto;}
.mood-end{position:relative;height:80vh;min-height:460px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);}
.mood-end img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mood-end::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);}
.mood-end-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 16px;}
.mood-end .eyebrow{color:var(--white);}
.mood-end h2{font-family:var(--disp);font-weight:300;font-size:clamp(56px,9vw,110px);line-height:.88;}
@media(max-width:900px){
  .mood{gap:6px;padding-top:48px;}
  .mood-row{gap:6px;}
  .mood-row.three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mood-row.three > :last-child{grid-column:span 2;aspect-ratio:3/2;}
  .mood-row.two.wide{grid-template-columns:1fr;}
  .mood-row.bleed{margin:24px 0;}
  .mood-row.bleed .mood-shot{height:60vh;}
  .mood-intro .lead{font-size:18px;}
  .mood-quote{padding:48px 0;}
}
.mood-end img{object-position:center 20%;}

/* ── footer (newsletter + link columns) ── */
.foot{text-align:left;border-top:1px solid var(--red);margin-top:0;padding:72px var(--gut) 28px;color:var(--red);}
.foot-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;}
.foot .wordmark{display:inline-block;font-size:22px;margin-bottom:28px;}
.foot-h{font-family:var(--disp);font-weight:300;font-size:clamp(44px,5.4vw,72px);line-height:.9;color:var(--red);margin:0 0 18px;}
.foot-p{color:var(--ink);max-width:34ch;margin:0 0 24px;}
.foot-form{display:flex;gap:10px;max-width:440px;}
.foot-form input{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--red);border-radius:0;padding:8px 2px;font:inherit;font-size:14px;color:var(--ink);outline:none;}
.foot-form input::placeholder{color:rgba(237,46,56,.5);}
.foot-form input:focus{border-bottom-width:2px;padding-bottom:7px;}
.foot-form .btn{white-space:nowrap;}
.foot-form.hide{display:none;}
.foot-thanks{display:none;font-family:var(--disp);font-weight:300;font-size:24px;color:var(--red);margin:0;}
.foot-thanks.show{display:block;}
.foot-small{font-size:11px;color:rgba(51,51,51,.6);margin:14px 0 0;}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:6px;}
.foot-col ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.foot-col a{font-family:var(--disp);font-weight:300;font-size:20px;line-height:1.1;color:var(--red);}
.foot-col a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.foot-bar{max-width:var(--max);margin:64px auto 0;padding-top:20px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;color:var(--red);}
.foot-icons{display:flex;gap:8px;}
.foot-icon{width:36px;height:36px;border:1px solid var(--red);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r);}
.foot-icon svg{width:18px;height:18px;fill:none;stroke:var(--red);stroke-width:1.2;}
.foot-icon:hover{background:rgba(237,46,56,.06);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media (max-width:900px){
  .foot{padding-top:56px;}
  .foot-in{grid-template-columns:1fr;gap:48px;}
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .foot-bar{flex-direction:column;align-items:flex-start;}
  .foot .foot-p,.foot .foot-small{margin-left:0;margin-right:0;}
}
@media (max-width:480px){ .foot-form{flex-direction:column;} .foot-form .btn{align-self:flex-start;} }

/* ── Past Evenings: editorial card rows (4-up, hairline column rules) ── */
.ev-mood{gap:0;}
.pe-jump{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.pe-jump a{border:1px solid var(--red);border-radius:var(--r);padding:5px 16px;font-size:12px;text-transform:uppercase;}
.pe-jump a:hover{background:rgba(237,46,56,.06);}
.pe-row{padding-top:56px;padding-bottom:24px;scroll-margin-top:90px;}
.pe-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--red);}
.pe-h{font-family:var(--disp);font-weight:300;font-size:clamp(44px,6vw,80px);line-height:.9;color:var(--red);margin:0;}
.pe-lead{margin:0;color:var(--ink);max-width:36ch;text-align:right;}
.pe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 -16px;}
.pe-card{display:flex;flex-direction:column;padding:20px 16px 8px;border-left:1px solid var(--red);}
.pe-card:first-child{border-left:0;}
.pe-img{aspect-ratio:4/3;}
.pe-cat{font-size:12px;text-transform:uppercase;color:var(--red);margin:18px 0 8px;}
.pe-title{font-family:var(--disp);font-weight:300;font-size:22px;line-height:1.15;color:var(--ink);margin:0 0 20px;max-width:16ch;}
.pe-meta{margin-top:auto;font-size:11px;text-transform:uppercase;color:rgba(51,51,51,.6);}
@media (max-width:900px){
  .pe-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 -10px;}
  .pe-card{padding:16px 10px 8px;}
  .pe-card:nth-child(odd){border-left:0;}
  .pe-card:nth-child(n+3){border-top:1px solid var(--hair);}
  .pe-head{flex-direction:column;align-items:flex-start;gap:8px;}
  .pe-lead{text-align:left;}
  .pe-title{font-size:18px;}
}

/* ── Past Evenings: shared-element gallery (masonry + expand) ── */
.sg-head{padding-top:72px;padding-bottom:40px;display:flex;flex-direction:column;gap:14px;}
.sg-title{font-family:var(--disp);font-weight:300;font-size:clamp(80px,11vw,110px);line-height:.88;color:var(--red);margin:0;}
.sg-lead{max-width:46ch;font-size:16px;color:var(--ink);margin:0;}
.sg-wrap{padding-bottom:var(--sec);}
.sg-grid{columns:4;column-gap:16px;}
.sg-item{display:block;width:100%;margin:0 0 16px;padding:0;border:0;background:var(--field);cursor:zoom-in;break-inside:avoid;overflow:hidden;position:relative;}
.sg-item img{display:block;width:100%;height:auto;transition:transform .45s cubic-bezier(.2,.9,.25,1);}
.sg-item::after{content:"";position:absolute;inset:0;background:rgba(237,46,56,.08);opacity:0;transition:opacity .2s;pointer-events:none;}
.sg-item:hover img{transform:scale(.98);}
.sg-item:hover::after{opacity:1;}
.sg-item:active img{transform:scale(.95);}
.sg-item:focus-visible{outline:1px solid var(--red);outline-offset:3px;}
.sg-item.is-open{visibility:hidden;}
.sg-end{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:24px;padding-bottom:var(--sec);}
.sg-end-h{font-family:var(--disp);font-weight:300;font-size:clamp(56px,9vw,110px);line-height:.88;color:var(--red);margin:0;}
/* modal */
.sg-modal{position:fixed;inset:0;z-index:300;touch-action:none;}
.sg-back{position:absolute;inset:0;background:rgba(252,240,243,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;transition:opacity .3s;}
.sg-modal.on .sg-back{opacity:1;}
.sg-stage{position:absolute;inset:0;cursor:zoom-out;}
.sg-big{position:fixed;transform-origin:0 0;will-change:transform;user-select:none;-webkit-user-drag:none;}
.sg-ui{position:absolute;top:20px;left:var(--gut);right:var(--gut);display:flex;justify-content:space-between;align-items:center;z-index:2;opacity:0;transform:translateY(-12px);transition:opacity .2s .1s,transform .2s .1s;}
.sg-modal.on .sg-ui{opacity:1;transform:none;}
.sg-count{font-size:12px;text-transform:uppercase;color:var(--red);}
.sg-ctrl{display:flex;gap:8px;}
.sg-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--red);border-radius:var(--r);background:transparent;color:var(--red);cursor:pointer;padding:0;}
.sg-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;}
.sg-btn:hover{background:rgba(237,46,56,.06);}
@media (max-width:1100px){ .sg-grid{columns:3;} }
@media (max-width:900px){ .sg-head{padding-top:48px;padding-bottom:28px;} .sg-grid{columns:2;column-gap:8px;} .sg-item{margin-bottom:8px;} }
@media (prefers-reduced-motion:reduce){ .sg-big{transition:none!important;} }

/* ── Guest Chef Series N°11 logo header (Past Evenings, The Chefs) ── */
.gcs-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:end;gap:48px;padding-top:64px;padding-bottom:48px;}
.gcs-mark{margin:0;line-height:0;}
.gcs-logo{display:block;width:100%;max-width:320px;height:auto;margin:-8px 0 -8px -8px;}
.gcs-side{display:flex;flex-direction:column;gap:12px;padding-bottom:8px;}
.gcs-page{font-family:var(--disp);font-weight:300;font-size:clamp(40px,4.4vw,56px);line-height:.92;color:var(--red);margin:0;}
.gcs-lead{margin:0;color:var(--ink);max-width:36ch;}
@media (max-width:900px){
  .gcs-head{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:32px;}
  .gcs-logo{max-width:210px;margin:-5px 0 -5px -5px;}
}

/* ── Coming soon (coming.html + home strip) — reuses .pe-card rows ── */
.cs-title{font-family:var(--disp);font-weight:300;font-size:clamp(80px,11vw,110px);line-height:.88;color:var(--red);margin:14px 0 0;}
.cs-head .gcs-side .btn{align-self:flex-start;}
.cs-wrap{padding-bottom:var(--sec);}
.cs-grid{position:relative;}
.cs-grid::before{content:"";position:absolute;top:0;left:16px;right:16px;border-top:1px solid var(--red);}
@media (max-width:900px){ .cs-grid::before{left:10px;right:10px;} }
.cs-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--field);}
.cs-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.cs-img:hover img{transform:scale(1.02);}
.cs-draft{position:absolute;top:10px;left:10px;font-size:11px;text-transform:uppercase;color:var(--red);background:var(--blush);border:1px solid var(--red);padding:2px 8px;}
.cs-card .pe-title a{color:inherit;}
.cs-text{margin:-8px 0 18px;color:var(--ink);font-size:14px;max-width:30ch;}
.cs-btn{align-self:flex-start;margin-top:14px;}
.cs-home-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;}
@media (max-width:900px){ .cs-home-head{flex-direction:column;align-items:flex-start;} }

/* ── Instagram page (official post embeds) ── */
.ig-wrap{padding-bottom:var(--sec);}
.ig-head .gcs-side .btn{align-self:flex-start;}
.ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;border-top:1px solid var(--red);padding-top:24px;}
.ig-cell{min-width:0;display:flex;justify-content:center;}
.ig-cell iframe.instagram-media,.ig-cell blockquote.instagram-media{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;min-width:0!important;width:100%!important;}
.ig-cell blockquote.instagram-media{min-height:420px;background:var(--field)!important;display:flex;align-items:center;justify-content:center;}
.ig-more{margin-top:40px;}
@media (max-width:1000px){ .ig-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .ig-grid{grid-template-columns:1fr;} }

/* ── Instagram live feed (Behold JSON) — our own layout ── */
.igx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--red);padding-top:24px;}
.igx-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border:0;padding:0;margin:0;background:var(--field);cursor:zoom-in;}
.igx-tile.big{grid-column:span 2;grid-row:span 2;}
.igx-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.9,.25,1);}
.igx-tile:hover img{transform:scale(1.03);}
.igx-kind{position:absolute;top:10px;left:10px;font-size:11px;text-transform:uppercase;color:var(--red);background:var(--blush);border:1px solid var(--red);padding:2px 8px;}
.igx-cap{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 12px;text-align:left;color:#fff;font-family:var(--disp);font-weight:300;font-size:15px;line-height:1.25;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0));opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;}
.igx-tile.big .igx-cap{font-size:22px;padding:60px 20px 18px;}
.igx-date{display:block;font-family:var(--text);font-size:10px;text-transform:uppercase;margin-bottom:4px;opacity:.85;}
.igx-tile:hover .igx-cap,.igx-tile:focus-visible .igx-cap{opacity:1;transform:none;}
.igx-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
.igx-strip .igx-tile{cursor:pointer;}
.igx-box{position:absolute;top:76px;left:var(--gut);right:var(--gut);bottom:24px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:center;opacity:0;transition:opacity .25s;}
.igx-modal.on .igx-box{opacity:1;}
.igx-media{position:relative;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.igx-media img,.igx-media video{max-width:100%;max-height:100%;object-fit:contain;display:block;}
.igx-sub{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;text-transform:uppercase;color:var(--red);background:var(--blush);padding:2px 8px;}
.igx-meta{display:flex;flex-direction:column;gap:16px;max-height:100%;overflow:auto;}
.igx-text{font-size:15px;line-height:1.5;color:var(--ink);}
.igx-meta .btn{align-self:flex-start;}
@media (max-width:900px){
  .igx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .igx-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
  .igx-cap{display:none;}
  .igx-box{top:70px;left:12px;right:12px;bottom:12px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:16px;}
  .igx-meta{max-height:34vh;}
}
@media (max-width:600px){ .cs-title{font-size:clamp(48px,15vw,80px);} }

/* ── Good Thing hand-drawn logo (replaces the text wordmark) ── */
.gt-logo{display:block;height:auto;width:100%;}
.mh-word{display:block;line-height:0;}
.mh-brand .mh-word .gt-logo{width:clamp(312px,40.8vw,552px);margin:0 auto;}
.menu-word .gt-logo{width:clamp(180px,22vw,280px);}
.foot .wordmark{line-height:0;}
.foot .wordmark .gt-logo{width:180px;}
@media (max-width:900px){ .mh-brand .mh-word .gt-logo{width:min(300px,82vw);} }

/* footer: Cook with us call-out */
.foot-cta{max-width:var(--max);margin:56px auto 0;padding:28px 0 0;border-top:1px solid var(--hair);display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;color:var(--red);}
.foot-cta-k{font-size:12px;text-transform:uppercase;}
.foot-cta-h{font-family:var(--disp);font-weight:300;font-size:clamp(36px,4.4vw,56px);line-height:.95;}
.foot-cta .btn{margin-left:auto;align-self:center;}
.foot-cta:hover .foot-cta-h{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;}
.foot-cta + .foot-bar{margin-top:32px;}
@media (max-width:600px){ .foot-cta{flex-direction:column;align-items:flex-start;gap:10px;} .foot-cta .btn{margin-left:0;} }

/* ── PASS accounts (account.html + members.html) ── */
.acc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:64px;align-items:start;padding-top:64px;padding-bottom:var(--sec);}
.acc-intro .gcs-lead{margin:18px 0 24px;max-width:42ch;}
.acc-perks{list-style:none;margin:0;padding:0;border-top:1px solid var(--red);}
.acc-perks li{padding:12px 0;border-bottom:1px solid var(--hair);font-family:var(--disp);font-weight:300;font-size:20px;color:var(--red);}
.acc-box{border:1px solid var(--red);padding:28px;}
.acc-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-28px -28px 24px;border-bottom:1px solid var(--red);}
.acc-tab{background:transparent;border:0;padding:14px;font:inherit;font-size:12px;text-transform:uppercase;color:var(--ink);cursor:pointer;}
.acc-tab + .acc-tab{border-left:1px solid var(--red);}
.acc-tab.on{color:var(--red);box-shadow:inset 0 -2px 0 var(--red);}
.acc-msg{margin:0 0 4px;font-size:14px;min-height:0;}
.acc-msg:empty{display:none;}
.acc-msg.err{color:var(--red);}
.acc-msg.ok,.acc-msg.note{color:var(--ink);border-left:2px solid var(--red);padding-left:10px;margin-bottom:16px;}
.acc-form .submit{align-self:stretch;}
.acc-small{font-size:11px;color:rgba(51,51,51,.6);margin:0;text-align:center;}
.acc-link{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--red);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:center;}
.mem-wait{padding:120px 0;text-align:center;}
.mem-sec{padding-top:48px;}
.mem-early{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;padding-top:24px;}
.mem-early-img{aspect-ratio:4/5;overflow:hidden;background:var(--field);}
.mem-early-img img{width:100%;height:100%;object-fit:cover;}
.mem-early-txt{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.mem-grid{position:relative;}
.mem-soon{padding:40px 0;border-top:0;display:flex;flex-direction:column;gap:12px;}
.mem-perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.mem-perks li{padding:18px 0;border-bottom:1px solid var(--hair);font-family:var(--disp);font-weight:300;font-size:22px;color:var(--red);}
.mem{padding-bottom:var(--sec);}
@media (max-width:900px){
  .acc{grid-template-columns:1fr;gap:40px;padding-top:40px;}
  .acc-box{padding:20px;} .acc-tabs{margin:-20px -20px 20px;}
  .mem-early{grid-template-columns:1fr;gap:20px;}
  .mem-perks{grid-template-columns:1fr;}
}
.acc-form[hidden],.acc-tabs[hidden],.mem[hidden],.mem-wait[hidden]{display:none!important;}

/* next-chef landing: no photo, story in one readable column */
.campaign.nophoto{grid-template-columns:minmax(0,760px);}
#register{padding-top:56px;}
@media(max-width:900px){ #register{padding-top:32px;} }
