/* Homepage only. Every section in page order. */

/* ======== THE STREET: night hero ======== */
/* Sky above, foot below, in normal flow, so the sign and the words can never run into each other at any screen size.
   Numbers from the photo, as fractions of the stage width: wordmark top .0625, wordmark height .386, Since centred at .5175. */
.nh{--hh:calc(100svh - var(--top-h) - var(--strip-h) - var(--bar));position:relative;min-height:var(--hh);overflow:hidden;background:#000;color:var(--cream);display:flex;flex-direction:column;contain:paint}
.nh__sky{position:relative;flex:1 1 0;min-height:120px;container:sky / size}
.nh__stage,.nh__since{--sw:min(112cqw,calc((100cqh - 14px) / .4));--top:max(14px,calc((100cqh - var(--sw) * .51) * .42));--st:calc(var(--top) - var(--sw) * .0625)}
.nh__stage{position:absolute;left:50%;margin-left:calc(var(--sw) / -2);top:var(--st);width:var(--sw);aspect-ratio:1600/1696}
.nh__stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#000 0,transparent 5%,transparent 54%,rgba(0,0,0,.94) 60%,#000 64%),linear-gradient(90deg,#000,transparent 5%,transparent 95%,#000)}
.nh__ph,.nh__wm{position:absolute;display:block;margin:0}
.nh__ph{inset:0}
.nh__ph img{width:100%;height:100%}
/* wordmark layers register onto the photo at 107,100 size 1411x618 of 1600x1696 */
.nh__wm{left:6.688%;top:5.896%;width:88.188%;mix-blend-mode:screen}
.nh__wm img{width:100%;height:auto}
.nh__wm--on{--rest:.62;opacity:var(--rest)}
/* soft-edged masks so each run of glass can strike alone without a visible seam */
.nh__wm--script{-webkit-mask-image:linear-gradient(180deg,#000 63%,transparent 71%),linear-gradient(90deg,#000 9.5%,transparent 12.5%);mask-image:linear-gradient(180deg,#000 63%,transparent 71%),linear-gradient(90deg,#000 9.5%,transparent 12.5%)}
.nh__wm--meat,.nh__wm--market{-webkit-mask-composite:source-in;mask-composite:intersect}
.nh__wm--meat{-webkit-mask-image:linear-gradient(180deg,transparent 63%,#000 71%),linear-gradient(90deg,transparent 9.5%,#000 12.5%,#000 44%,transparent 48%);mask-image:linear-gradient(180deg,transparent 63%,#000 71%),linear-gradient(90deg,transparent 9.5%,#000 12.5%,#000 44%,transparent 48%)}
.nh__wm--market{-webkit-mask-image:linear-gradient(180deg,transparent 63%,#000 71%),linear-gradient(90deg,transparent 44%,#000 48%);mask-image:linear-gradient(180deg,transparent 63%,#000 71%),linear-gradient(90deg,transparent 44%,#000 48%)}
.nh__since{position:absolute;z-index:2;left:50%;top:calc(var(--st) + var(--sw) * .5175);width:var(--sw);margin-left:calc(var(--sw) / -2 + var(--sw) * .009);transform:translateY(-50%);display:grid;grid-template-columns:1fr calc(var(--sw) * .215) 1fr;align-items:center;font:400 calc(var(--sw) * .125)/.88 var(--gothic);text-transform:uppercase;letter-spacing:.005em;color:#fff0ea;text-shadow:0 0 .02em #fff,0 0 .08em #ff4650,0 0 .26em rgba(255,31,48,.65)}
.nh__since span:first-child{text-align:right}
/* No room for it under the sign: the Since line in the foot says the same thing. */
@media (max-width:699px){
  @container sky (min-aspect-ratio:33/20){.nh__since{display:none}}
}
.nh__foot{position:relative;z-index:3;flex:none;display:grid;gap:6px;padding:8px var(--pad) calc(var(--tear-h) * .72 + 4px);background:linear-gradient(180deg,transparent 0,#000 18px)}
.nh__name{font:400 clamp(34px,2.9vw,46px)/.95 var(--gothic);text-transform:uppercase;letter-spacing:.01em}
.nh__where{font:800 italic clamp(16px,1.2vw,19px)/1.25 var(--slab);margin-top:3px}
.nh__line{font-size:17px;line-height:1.3;max-width:27em;color:#efe2cb}
.nh__act{display:grid;gap:6px}
.nh__status{font:800 italic clamp(17px,1.25vw,19px)/1.25 var(--slab);color:#ffc98a}
.nh__act .btn-tube{font-size:clamp(27px,8.6vw,34px);padding-inline:.4em;text-align:center}
.nh__links{display:flex;flex-wrap:wrap;gap:0 18px}
.nh__links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:17px;white-space:nowrap}
.nh .tear{z-index:4}

/* Not much height on this phone: the sign and the facts come first. */
@media (max-height:759px){.nh__line{display:none}}

/* Browsers from before container units. The sky still can't overlap the foot, it's just a fixed size. */
@supports not (width:1cqw){
  .nh__sky{flex:none;height:calc(48vw + 14px)}
  .nh__stage,.nh__since{--sw:112vw;--top:14px}
  .nh__since{display:none}
}
@supports not (height:100svh){
  .nh{--hh:calc(100vh - var(--top-h) - var(--strip-h) - var(--bar))}
}

/* the strike: each section of glass catches on its own schedule, then steady. Off until JS says go. */
.motion .nh__ph--lit,.motion .nh__wm--on,.motion .nh__since{opacity:0}
.motion.strike .nh__wm--script{animation:strikeA 2.3s linear both}
.motion.strike .nh__wm--meat{animation:strikeB 2.3s linear both}
.motion.strike .nh__wm--market{animation:strikeC 2.3s linear both}
.motion.strike .nh__ph--lit{animation:warm 2.9s linear both}
.motion.strike .nh__since{animation:titleIn 1s ease-out 1.85s both}
@keyframes strikeA{
  0%,7%{opacity:0}8%{opacity:.5}9%{opacity:.08}13%{opacity:0}14%{opacity:var(--rest)}15.5%{opacity:.1}24%{opacity:.04}
  25%{opacity:.5}26%{opacity:.12}27%{opacity:var(--rest)}31%{opacity:.25}32%,100%{opacity:var(--rest)}
}
@keyframes strikeB{
  0%,30%{opacity:0}31%{opacity:.4}32.5%{opacity:0}39%{opacity:0}40%{opacity:var(--rest)}42%{opacity:.08}47%{opacity:.08}
  48%{opacity:.45}49%,100%{opacity:var(--rest)}
}
@keyframes strikeC{
  0%,44%{opacity:0}45%{opacity:.3}46%{opacity:0}52%{opacity:.5}53%{opacity:.05}60%{opacity:.05}61%{opacity:var(--rest)}63%{opacity:.1}
  66%{opacity:.08}67%{opacity:.5}68.5%{opacity:.2}69.5%,100%{opacity:var(--rest)}
}
@keyframes warm{
  0%,11%{opacity:0}12%{opacity:.14}14%{opacity:.02}22%{opacity:.12}26%{opacity:.03}33%{opacity:.2}36%{opacity:.08}
  41%{opacity:.26}50%{opacity:.18}54%{opacity:.34}57%{opacity:.5}70%{opacity:.56}100%{opacity:1}
}
@keyframes titleIn{from{opacity:0;letter-spacing:.06em}to{opacity:1;letter-spacing:.005em}}

/* ======== THE PAPER: masthead ======== */
.mast{padding-block:clamp(10px,1.4vw,18px) clamp(34px,3vw,44px);overflow-x:clip;position:relative}
.home--neon .mast{padding-top:clamp(14px,1.6vw,22px)}
/* On phones the banner bleeds off both edges so OPEN reads big. GRAND and ING are knocked back. */
.mast__band{padding-top:clamp(26px,4.6vw,66px)}
.mast__letters{position:relative;width:132vw;margin-left:calc(-14vw - var(--pad))}
.mast__letters img{width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 42.8%,#000 43.4%,#000 81%,rgba(0,0,0,.2) 81.6%);mask-image:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 42.8%,#000 43.4%,#000 81%,rgba(0,0,0,.2) 81.6%)}
.mast__strike{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mast__strike .pen{stroke-width:11}
.mast__still{position:absolute;left:12.5%;bottom:-2%;font:400 clamp(92px,29vw,200px)/.76 var(--hand);color:var(--red);transform:rotate(-5deg);transform-origin:left bottom;-webkit-text-stroke:.012em var(--red);text-shadow:0 0 .03em var(--kraft),.02em .02em .05em var(--kraft),-.02em -.02em .05em var(--kraft),.04em 0 .07em var(--kraft),-.04em 0 .07em var(--kraft);pointer-events:none}
.motion .mast__band .pen{stroke-dashoffset:1}
.motion .mast__band .mast__still{opacity:0}
.motion .mast__band.drawn .s1{animation:pen .34s .15s ease-out forwards}
.motion .mast__band.drawn .s3{animation:pen .3s .6s ease-out forwards}
.motion .mast__band.drawn .mast__still{animation:scrawl .36s .4s steps(4) forwards}
@keyframes pen{to{stroke-dashoffset:0}}
@keyframes scrawl{0%{opacity:0;clip-path:inset(-40% 100% -40% -10%)}1%{opacity:1}100%{opacity:1;clip-path:inset(-40% -10% -40% -10%)}}

.mast__sub{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:3px 8px;text-align:center;margin-top:clamp(10px,1vw,14px);font:800 italic clamp(14px,1.75vw,25px)/1.15 var(--slab);text-transform:uppercase;letter-spacing:0}
.mast__sub-l,.mast__sub-r{font-style:normal;font-weight:900;white-space:nowrap}
.mast__sub-l{text-align:left}
.mast__sub-r{text-align:right}
.mast__sub-c{grid-column:1/-1;grid-row:2;text-wrap:balance}
.mast__name{font:400 calc((100vw - 2 * var(--pad)) / 2.05)/.84 var(--gothic);text-transform:uppercase;text-align:center;margin-top:clamp(4px,.7vw,10px);filter:url(#press);letter-spacing:.002em;-webkit-text-stroke:.006em var(--ink)}
.mast__name span{display:block}
.mast__name span:last-child{font-size:.47em;line-height:.94;margin-top:.05em;white-space:nowrap}
.mast__date{order:2;position:relative;display:block;text-align:center;font:900 clamp(19px,2.78vw,40px)/1.1 var(--slab);letter-spacing:-.008em;text-transform:uppercase;padding-block:clamp(8px,.8vw,12px);margin-top:clamp(6px,.7vw,10px);border-block:3px solid var(--ink);text-wrap:balance}
.mast__yr{display:inline-block;font:400 clamp(26px,2.9vw,42px)/.6 var(--hand);color:var(--red-k);transform:rotate(-7deg) translateY(.12em);margin-left:.4em;text-transform:none;letter-spacing:.02em}
.mast__hours{order:3;text-align:center;font:600 clamp(16px,1.3vw,19px)/1.3 var(--sans);margin-top:-6px}

.mast__row{display:grid;gap:14px;margin-top:clamp(12px,1.8vw,26px)}
.mast__note{order:5;font-size:17px;line-height:1.48;letter-spacing:.02em}
.mast__sig{text-align:right;font:800 15px/1.2 var(--slab);text-transform:uppercase;margin-top:8px;letter-spacing:.04em}
.mast__pic{position:relative;order:1;border:2px solid var(--ink);padding:5px;align-self:start}
.mast__pic img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;object-position:50% 34%}
.mast__card{right:-6px;bottom:-14px}
/* The number is sized from its own box, so it stays on one line in any column. 4.12em is its width in League Gothic. */
.mast__call{order:4;text-align:center;margin-top:6px;container-type:inline-size}
.mast__call .box__title{font-size:clamp(28px,3vw,40px)}
.mast__num{display:block;font:400 min(calc((100vw - 2 * var(--pad) - 36px) / 4.12),84px)/.96 var(--gothic);font-size:min(calc(100cqw / 4.12),84px);white-space:nowrap;text-decoration:none;letter-spacing:.008em;margin-top:-4px}
.mast__call p{font-size:16.5px;line-height:1.35;margin-top:6px}
.mast__order{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.mast__call .mast__addr{font-weight:600;margin-top:4px}
.mast__call .stamp{display:none;margin-top:14px;font-size:clamp(33px,3vw,43px);line-height:.92}

/* ======== Turkey ======== */
.turkey{position:relative;background:var(--red);color:var(--cream);padding-block:clamp(28px,3.4vw,46px)}
.turkey__in{display:grid;gap:18px;align-items:center}
.turkey__sign{position:absolute;right:16px;top:-26px;width:112px;transform:rotate(4deg);border:3px solid var(--cream);box-shadow:3px 3px 0 var(--ink)}
.turkey__sign img{width:100%;height:auto}
.turkey .kick{padding-right:122px}
.turkey h2{font:400 clamp(44px,5.6vw,84px)/.96 var(--gothic);text-transform:uppercase;margin-top:6px}
.turkey h2 em{font-style:normal;display:block;text-decoration:underline;text-decoration-thickness:.05em;text-underline-offset:.1em}
.turkey__count{font:800 clamp(19px,1.6vw,23px)/1.22 var(--slab)}
.turkey__line{font:700 17px/1.35 var(--sans);margin-top:8px}
.turkey__speech{font-size:17px;line-height:1.42;margin-top:8px}
.turkey__cta{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.turkey__lnk{font-size:16px;display:inline-block;padding-block:8px}

/* ======== Dry aged scene ======== */
.scene--aged{min-height:min(130vw,640px)}
.scene--aged .scene__shade{background:linear-gradient(180deg,rgba(23,18,13,0) 18%,rgba(23,18,13,.66) 46%,rgba(23,18,13,.88) 66%,#17120d 100%)}
.scene--aged .scene__photo img{object-position:50% 24%}
.scene--aged h2{font-size:calc((100vw - 2 * var(--pad)) / 4.25);line-height:.88}
.scene__lede{font:700 italic clamp(21px,2.3vw,34px)/1.2 var(--slab);margin-top:clamp(10px,1.2vw,18px);max-width:40em}

/* ======== The case ======== */
.case{position:relative;padding-block:clamp(36px,5vw,72px) calc(var(--sec) + var(--tear-h) * .5)}
.case__head{display:grid;gap:14px;align-items:center;margin-bottom:clamp(26px,3.4vw,48px)}
.case__cut{width:min(100%,420px);height:auto;transform:rotate(-1.2deg)}
.case__beef{display:grid;gap:26px}
.case__lede{font:700 italic clamp(19px,1.7vw,24px)/1.25 var(--slab);text-align:center;margin:12px 0 10px}
.case__also{font-size:16.5px;line-height:1.4;margin-top:14px}
.case__also a{font-weight:600}
.case__pic img{aspect-ratio:1.9;object-fit:cover;object-position:50% 100%}
.home .trays--case{margin-top:clamp(30px,4vw,56px)}
.depts{display:grid;gap:36px;margin-top:clamp(36px,4.6vw,66px)}
.dept .frame{margin-block:14px 12px}
.dept__row{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:14px;align-items:center;margin-top:14px}
.dept__row .frame{margin:0}
.dept__row p{max-width:60ch}
.dept a{font-weight:600;white-space:nowrap}
.dept__card{left:-8px;top:-12px}

/* ======== The tour ======== */
.tour{position:relative;background:var(--ink);color:var(--cream);padding-block:calc(var(--tear-h) + clamp(30px,5vw,70px)) calc(var(--tear-h) + clamp(34px,5vw,76px))}
.tour__in{display:grid;gap:22px}
.tour .kick{color:var(--red-hot)}
.tour h2{font-size:clamp(90px,14vw,210px);line-height:.88;margin-top:4px}
.tour__line{font:800 italic clamp(23px,2.4vw,35px)/1.18 var(--slab);margin-top:14px;max-width:21em}
.tour__text p+p{margin-top:10px;max-width:40ch}
.tour .tiny{color:#d8cab0;margin-top:14px}

/* ======== Story ======== */
.story{padding-block:clamp(36px,5vw,76px) calc(var(--sec) + var(--tear-h) * .4)}
.story__sub{font:800 italic clamp(23px,3.2vw,48px)/1.1 var(--slab);margin-top:clamp(10px,1.3vw,18px)}
.story .kick-red{margin-bottom:10px}
.story__grid{display:grid;gap:38px;margin-top:clamp(30px,4vw,60px)}
.story__stage{position:relative;box-shadow:0 1px 0 rgba(23,18,13,.3)}
.story__stage img{width:100%;height:auto}
.marks{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.marks .pen{stroke:#c1121a;stroke-width:4}
.marks .pen.thin{visibility:hidden}
.motion .marks .pen{stroke-dashoffset:1}
.motion .drawn .marks .pen{animation:pen .55s ease-out forwards}
.motion .drawn .marks .pen:nth-child(n+3){animation-delay:.3s}
.motion .drawn .marks .pen:nth-child(n+5){animation-delay:.6s}
.motion .drawn .marks .pen:nth-child(n+7){animation-delay:.9s}
.motion .drawn .marks .pen:nth-child(n+9){animation-delay:1.2s}
.motion .drawn .marks .pen:nth-child(n+11){animation-delay:1.5s}
.pin{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#a70f16;color:#fff;font:700 15px/26px var(--sans);text-align:center;letter-spacing:0}
.pin--1{left:97%;top:21.3%}.pin--2{left:5%;top:40.8%}.pin--3{left:95%;top:40.4%}.pin--4{left:3%;top:74.6%}.pin--5{left:3%;top:84.4%}.pin--6{left:39%;top:89%}
.notes{counter-reset:n;margin-top:18px;display:grid;gap:8px}
.notes li{counter-increment:n;display:flex;gap:10px;align-items:baseline;font:400 25px/1.05 var(--hand);color:var(--red-k)}
.notes li::before{content:counter(n);flex:none;width:24px;height:24px;border-radius:50%;background:#a70f16;color:#fff;font:700 14px/24px var(--sans);text-align:center;letter-spacing:0;transform:translateY(-2px)}
.story__cols p{margin-top:12px}
.story__cols>p:first-child{margin-top:0}
.story__cols a{font-weight:600}
.story__cols>p:last-child a{display:inline-flex;align-items:center;min-height:44px}
.story__drop{font:700 clamp(23px,2.1vw,29px)/1.2 var(--slab)}
.story__john{margin-block:20px 18px;max-width:300px}
.story__john img,.story__family img{width:100%;height:auto;border:2px solid var(--ink);padding:4px}
.story figcaption:not(.vh){font:italic 500 15px/1.3 var(--slab);margin-top:6px}
.story__foot{display:grid;gap:20px;margin-top:clamp(30px,4vw,56px)}
.story__next{display:grid;gap:18px;margin-top:clamp(36px,5vw,70px);align-items:center}
.story__next p{margin-top:10px}
.story__next a{font-weight:600}
.story__next .pencil{text-align:right;margin-top:12px}

/* ======== The number ======== */
.number{position:relative;background:var(--red);color:var(--cream);padding-block:calc(var(--tear-h) + clamp(30px,5vw,70px)) var(--sec)}
.number__grid{display:grid;gap:22px;align-items:center}
.number .kick{color:var(--cream)}
/* Fixed cells: the number does not move when F and A flip to 3 and 2, or when 908 lands. */
.bignum{display:block;white-space:nowrap;font:400 calc((100vw - 2 * var(--pad)) / 4.03)/.98 var(--gothic);text-decoration:none;letter-spacing:0;margin-top:clamp(12px,1.4vw,20px);perspective:600px}
.bignum .dg,.bignum .hy{display:inline-block;text-align:center}
.bignum .dg{width:.352em}
.bignum .hy{width:.242em}
.bignum .ac{display:inline-block}
.bignum .ac.off{visibility:hidden}
.bignum .ac.land{animation:slam .3s cubic-bezier(.2,1.5,.5,1)}
@keyframes slam{0%{transform:scale(1.5) rotate(-4deg);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
.bignum .ch.hot{color:var(--ink);background:var(--cream)}
.bignum .ch.flip{animation:flip .3s ease-out}
@keyframes flip{0%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.number__proof{font-size:clamp(18px,1.5vw,21px);line-height:1.42;max-width:46ch;margin-top:clamp(12px,1.4vw,20px)}
.number__cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:18px}
.number__redial.is-off{visibility:hidden}
.number__redial{background:none;border:0;color:var(--cream);font:600 16px/1.2 var(--sans);text-decoration:underline;text-underline-offset:.16em;padding:12px 0;min-height:44px;cursor:pointer}
.dial-link{display:block;max-width:min(100%,560px);margin-inline:auto;border-radius:50%;text-decoration:none;box-shadow:5px 6px 0 rgba(23,18,13,.5)}
.dial{display:block;width:100%;height:auto}
.wheel{transform-origin:300px 300px}
.dial-link:hover{box-shadow:7px 8px 0 rgba(23,18,13,.5)}
.exhibits{display:grid;gap:22px;margin-top:clamp(30px,4vw,50px);align-items:end}
.exhibit img{width:100%;height:auto;border:2px solid var(--cream)}
.exhibit--a{max-width:280px}
.exhibit figcaption{font-size:15.5px;line-height:1.3;margin-top:7px}
.exhibit b{font:italic 800 15.5px/1 var(--slab)}

/* ======== What are you making Sunday ======== */
.sunday{position:relative;background:var(--ink);color:var(--cream);padding-bottom:var(--tear-h)}
.sunday__photo{position:relative;height:clamp(260px,50vw,760px)}
.sunday__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.sunday__head{padding-block:clamp(22px,3vw,44px) clamp(12px,1.6vw,24px)}
.sunday h2{font-size:calc((100vw - 2 * var(--pad)) / 5.2);line-height:.88}
.sunday__act{padding-block:clamp(16px,2vw,28px) clamp(14px,1.6vw,22px)}
.sunday__row{display:grid;gap:12px;align-items:center}
.sunday__row .btn-tube{text-align:center}
.sunday__lnk{display:inline-flex;align-items:center;gap:.3em;min-height:44px;font:700 clamp(20px,1.8vw,26px)/1.2 var(--sans)}
.sunday .tiny{color:#d8cab0}

/* ======== Order box ======== */
.order{padding-block:clamp(26px,3.6vw,50px) clamp(44px,5vw,72px)}
.orderbox{color:var(--ink);padding:0 clamp(16px,2.4vw,32px) clamp(20px,2.4vw,30px);box-shadow:6px 6px 0 var(--ink)}
.orderbox .rh{padding-top:18px;font-size:clamp(34px,3.6vw,50px)}
.orderbox__cols{display:grid;gap:18px;margin-top:12px}
.orderbox h3{font:400 clamp(30px,2.8vw,40px)/1 var(--gothic);text-transform:uppercase;letter-spacing:.01em}
.orderbox p{margin-top:5px;font-size:17px;line-height:1.4}
.orderbox a{font-weight:700;white-space:nowrap}

/* ======== Press ======== */
.press{padding-block:var(--sec)}
.press__grid{display:grid;gap:44px}
.press__badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.press__badges img{width:clamp(96px,8.4vw,120px);height:auto}
.press__award{font:900 clamp(26px,2.9vw,42px)/1.12 var(--slab);letter-spacing:-.008em;margin-top:18px;max-width:26ch}
.press__award2{display:flex;gap:16px;align-items:center;margin-top:20px;padding-top:18px;border-top:2px solid var(--ink)}
.press__award2 img{width:clamp(72px,7vw,96px);height:auto;mix-blend-mode:multiply;flex:none}
.press__award2 .press__award{margin-top:0;font-size:clamp(21px,2.05vw,29px);max-width:none;font-weight:800}
.press__vet{display:grid;grid-template-columns:42% 1fr;gap:16px;margin-top:28px;align-items:center}
.press__vet img{width:100%;height:auto;border:2px solid var(--ink);padding:4px}
.press__vet h3{font:400 clamp(30px,2.8vw,40px)/1 var(--gothic);text-transform:uppercase}
.press__vet p{font-size:16.5px;line-height:1.35;margin-top:5px}

/* ======== A few reviews ======== */
.said{padding-block:var(--sec) calc(var(--sec) + var(--tear-h) * .4)}
.said__grid{display:grid;gap:44px}
.said__rating{font:800 clamp(24px,2.3vw,33px)/1.18 var(--slab);margin-top:16px;max-width:30ch}
.said__rating b{color:var(--red-k);font-weight:900}
.said__fine{margin-top:10px}
.said__fine a{font-weight:600;display:inline-flex;align-items:center;min-height:32px}
.said__patience img{width:100%;height:auto;transform:rotate(-1.6deg);border:2px solid var(--ink);padding:5px;background:var(--cream)}
.said__patience figcaption{font:italic 700 18px/1.25 var(--slab);text-align:center;margin-top:14px}
.said__deal{margin-top:30px}
.said__deal p{font:800 clamp(23px,2.2vw,31px)/1.18 var(--slab);margin-top:12px;text-align:center}
.said__kobe{margin-top:30px;padding-top:18px;border-top:3px solid var(--ink);font:800 italic clamp(25px,2.2vw,31px)/1.14 var(--slab)}
.said__kobe cite{display:block;font:500 15.5px/1.3 var(--sans);margin-top:10px;letter-spacing:.02em}

/* ======== Dusk ======== */
.scene--dusk{--up:clamp(250px,40vw,600px);min-height:0;padding-top:var(--up);background:#0b0810}
.scene--dusk .scene__photo{bottom:auto;height:calc(var(--up) + clamp(90px,14vw,210px))}
.scene--dusk .scene__photo img{object-position:60% 0}
.scene--dusk .scene__shade{bottom:auto;height:calc(var(--up) + clamp(90px,14vw,210px));background:linear-gradient(180deg,rgba(11,8,16,0) 50%,rgba(11,8,16,.92) 74%,#0b0810 100%)}
.scene--dusk .kick{color:var(--cream);margin-bottom:6px}
.scene--dusk h2{font-size:calc((100vw - 2 * var(--pad)) / 5.4);line-height:.9}
.scene__red{color:#ff4a4f}

/* ======== Visit ======== */
.visit{padding-block:clamp(30px,4vw,60px) var(--sec)}
.visit__grid{display:grid;gap:26px}
.visit .frame{align-self:start}
.visit__town{font-size:clamp(18px,1.5vw,21px);line-height:1.4;margin-top:10px;max-width:38ch}
.visit__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.visit__fine{margin-top:14px}

/* ======== Coupon ======== */
.clip{padding-block:clamp(44px,6vw,84px) calc(clamp(44px,6vw,84px) + var(--tear-h) * .4)}
.coupon{position:relative;border:3px dashed var(--ink);padding:clamp(22px,3vw,40px) clamp(18px,3vw,44px);display:grid;gap:18px;align-items:end}
.coupon__scissors{position:absolute;top:-16px;left:clamp(20px,5vw,70px);width:48px;height:auto;color:var(--ink);background:var(--kraft);padding-inline:4px}
.coupon .disp{font-size:clamp(50px,6vw,92px);margin-top:4px}
.coupon__text{margin-top:8px;max-width:42ch}
.cc label{display:block;font:800 italic 16px/1.2 var(--slab);margin-bottom:6px}
.cc__row{display:flex;flex-wrap:wrap;gap:0}
.cc input[type=email]{flex:1 1 220px;min-width:0;height:58px;border:2px solid var(--ink);background:var(--cream);color:var(--ink);font:500 18px/1 var(--sans);padding:0 14px;border-radius:0}
.cc input::placeholder{color:#5e4f39}
.cc button{height:58px;flex:1 1 auto;background:var(--ink);color:var(--cream);border:2px solid var(--ink);font:400 28px/1 var(--gothic);text-transform:uppercase;letter-spacing:.02em;padding:0 22px;cursor:pointer;border-radius:0}
.cc button:hover{background:var(--red-k);border-color:var(--red-k)}

/* ================ phones: keep the page near 12,000px ================ */
@media (max-width:699px){
  body{font-size:17px}
  .home{--sec:38px;--tear-h:30px}
  .case__lede{display:none}
  .foot__bot{margin-top:6px}
  .nh{--tear-h:34px}
  .disp-xl{font-size:60px}
  .tour .facade img{aspect-ratio:1.32;object-fit:cover;object-position:50% 70%}
  .scene--dusk{--up:220px}
  .foot__top span{display:none}
  .mast__note{font-size:16.5px}
  .mast{padding-bottom:26px}
  .turkey{padding-block:24px}
  .case{padding-top:26px}
  .case__head{gap:0;margin-bottom:14px}
  .case__cut{display:none}
  .pc .sm,.pc .pa{display:none}
  .pc{padding-block:7px 3px}
  .case__lede{margin:8px 0 2px;font-size:18px}
  .case__also{font-size:16px;margin-top:10px}
  /* Tray row runs sideways on phones: one row, the next tray peeking in. */
  .home .trays--case{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(var(--pad) * -1);padding:0 var(--pad) 10px;-webkit-overflow-scrolling:touch}
  .home .trays--case .tray{flex:0 0 68vw;scroll-snap-align:center}
  .home .trays--case .tray--strip{flex-basis:80vw}
  .trays--case .tray__frame,.trays--case .tray--strip .tray__frame{height:56vw}
  .tray figcaption{font-size:15px}
  .depts{gap:24px;margin-top:24px}
  .dept p{font-size:16.5px;line-height:1.38}
  .story{padding-top:20px}
  .story__grid{gap:20px;margin-top:20px}
  .story__john{float:left;width:44%;margin:4px 14px 8px 0}
  .story__john figcaption{font-size:15px!important}
  .story__cols p:last-child{clear:both}
  .story__family{display:none}
  .story__foot{clear:both;margin-top:22px}
  .story__next{margin-top:22px;gap:10px}
  .motto p{font-size:46px}
  .notes li{font-size:22px}
  .notes{gap:2px;margin-top:12px}
  .tour{padding-block:calc(var(--tear-h) + 16px) calc(var(--tear-h) + 24px)}
  .tour h2{font-size:84px}
  .tour__in{gap:14px}
  .dial-link{max-width:88%}
  .number{padding-top:calc(var(--tear-h) + 14px)}
  .number__grid{gap:14px}
  .exhibits{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px}
  .order{padding-block:16px 34px}
  .orderbox__cols{gap:10px;margin-top:4px}
  .orderbox p{font-size:16.5px;line-height:1.35}
  .press__grid{gap:24px}
  .press__badges{margin-top:12px;gap:10px}
  .press__badges img{width:84px}
  .press__award{font-size:22px;margin-top:12px}
  .press__award2{margin-top:12px;padding-top:12px}
  .press__award2 .press__award{font-size:19px}
  .press__award2 img{width:60px}
  .press__vet{margin-top:14px;grid-template-columns:34% 1fr}
  .tally{padding-block:6px}
  .tally .k{font-size:25px}
  .tallies--big .tally .v{flex:1 1 auto;width:auto;text-align:right;font-size:16.5px;margin-left:auto}
  .tallies--big .tally{align-items:baseline}
  .said__rating{font-size:21px;margin-top:10px}
  .said__patience{max-width:205px;margin-inline:auto}
  .said__grid{gap:22px}
  .said__deal{margin-top:16px}
  .said__deal p{font-size:21px;margin-top:6px}
  .visit__grid{gap:14px}
  .clip{padding-block:30px calc(30px + var(--tear-h) * .4)}
  .foot{padding-top:44px}
  .foot__line{display:none}
  .foot__nav{margin-top:14px}
}

@media (max-width:319px){
  .nh__links{gap:0 12px}
  .nh__links a{white-space:normal}
  .turkey h2{font-size:34px}
  .bignum{font-size:calc((100vw - 2 * var(--pad)) / 4.03)}
  .mast__still{font-size:26vw}
}
@media (max-width:379px){
  /* Too narrow for the two labels side by side at 14px: stack them. */
  .mast__sub{grid-template-columns:1fr}
  .mast__sub-l,.mast__sub-r,.mast__sub-c{grid-column:1;grid-row:auto;text-align:center}
}

/* ================ tablet and up: two columns from 700 ================ */
@media (min-width:700px){
  .nh__stage,.nh__since{--sw:min(112cqw,1680px,calc((100cqh - 16px) / .52));--top:max(10px,calc((100cqh - var(--sw) * .51) * .42))}
  .nh__foot{align-items:end;gap:6px clamp(20px,3vw,56px);padding-inline:max(var(--pad),calc((100% - 1440px) / 2 + var(--pad)))}
  .nh__foot{grid-template-columns:minmax(0,1fr) auto}
  .nh__line{grid-column:1/-1;order:3;font-size:17px;max-width:none}
  .nh__act{grid-template-columns:auto auto;justify-content:end;align-items:center;gap:2px 20px}
  .nh__status{grid-column:1/-1}
  .nh__act .btn-tube{font-size:clamp(26px,2.4vw,36px)}
  .nh__links{flex-direction:column;gap:0}
  .nh__links a{min-height:30px;font-size:16px}

  .mast__letters{width:100%;margin-left:0}
  .mast__still{left:16%;bottom:-5%;font-size:min(17vw,250px)}
  .mast__sub{grid-template-columns:1fr auto 1fr;justify-content:normal;align-items:baseline;letter-spacing:.02em}
  .mast__sub-c{grid-column:2;grid-row:1;font-size:.84em}
  .mast__sub-r{grid-column:3}
  .mast__name{font-size:min(calc((100vw - 2 * var(--pad)) / 5.96),calc((1440px - 2 * var(--pad)) / 5.96));white-space:nowrap}
  .mast__name span{display:inline}
  .mast__name span:last-child{font-size:1em;line-height:inherit;margin:0}
  .mast__row{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gut)}
  .mast__date,.mast__hours{order:initial;grid-column:1/-1}
  .mast__hours{margin-top:-10px}
  .mast__pic{order:initial}
  .mast__call{order:initial}
  .mast__note{order:initial;grid-column:1/-1}
  .mast__pic img{aspect-ratio:1.28}
  .mast__card{right:-16px;bottom:-14px}
  .mast__call .stamp{display:inline-block}
  .mast__note{font-size:clamp(17px,1.34vw,19.5px)}

  .turkey__in{grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:18px clamp(20px,3vw,44px)}
  .turkey__side{grid-column:1/-1}
  .turkey__sign{position:static;width:auto;transform:rotate(-3deg);border:4px solid var(--cream);box-shadow:5px 5px 0 var(--ink)}
  .turkey .kick{padding-right:0}

  .scene--aged{min-height:min(100vh,900px)}
  .scene--aged .scene__photo img{object-position:50% 33%}
  /* Heading and shade sit left; the rib steaks on the right stay in full color. */
  .scene--aged .scene__shade{background:linear-gradient(90deg,rgba(23,18,13,.84) 0,rgba(23,18,13,.74) 44%,rgba(23,18,13,0) 74%),linear-gradient(180deg,rgba(23,18,13,0) 66%,#17120d 100%)}
  .scene--aged h2{font-size:min(14vw,206px);line-height:.86}

  .case__head{grid-template-columns:minmax(0,7.6fr) minmax(0,4.4fr);gap:var(--gut)}
  .case__head>div{order:-1}
  .case__cut{width:100%;max-width:520px;justify-self:end}
  .case__beef{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.4vw,48px);align-items:center}
  .depts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,2.6vw,36px) clamp(28px,3vw,44px)}
  .dept--game{grid-column:1/-1}
  .dept__row{grid-template-columns:minmax(0,260px) minmax(0,1fr)}

  .tour__in{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);align-items:center}

  .story__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
  .story__foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,44px);align-items:center}
  .story__family{max-width:560px;justify-self:end}
  .story__next{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,60px)}

  .number__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,44px)}
  .bignum{font-size:calc((100vw - 2 * var(--pad)) * .56 / 4.03)}
  .exhibits{grid-template-columns:280px minmax(0,560px);justify-content:start;gap:clamp(24px,4vw,56px)}

  .sunday h2{font-size:min(13vw,200px)}
  .sunday__row{grid-template-columns:auto 1fr;gap:clamp(24px,4vw,60px)}
  .orderbox__cols{grid-template-columns:repeat(3,1fr);gap:var(--gut)}

  .press__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
  .said__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,90px);align-items:start}
  .said--launch .said__grid{align-items:center}  /* launch mode: no tallies, so the shorter left column sits mid-height */
  .scene--dusk h2{font-size:min(9.8vw,150px)}
  .visit__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);align-items:center}
  .coupon{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px)}
}

/* ================ laptop and up: the masthead's three columns and the margin notes need the room ================ */
@media (min-width:1100px){
  .nh__foot{grid-template-columns:auto 1fr auto}
  .nh__line{grid-column:auto;order:initial;justify-self:center;font-size:clamp(17px,1.25vw,20px);max-width:22em}
}
@media (min-width:960px){
  .nh{--hh:calc(100svh - var(--top-h) - var(--strip-h))}
  .nh__since{font-size:calc(var(--sw) * .105)}
  .nh__ph img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}

  .turkey__in{grid-template-columns:minmax(150px,210px) minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,3vw,44px)}
  .turkey__side{grid-column:auto}

  .mast__row{grid-template-columns:3fr 6fr 3fr;align-items:start}
  .mast__note{grid-column:auto}

  .case__head .disp{white-space:nowrap}
  .case__beef{grid-template-columns:minmax(0,5.2fr) minmax(0,6.8fr)}

  .tour__in{grid-template-columns:minmax(0,1fr) minmax(0,592px)}

  .story__grid{grid-template-columns:minmax(0,8.6fr) minmax(0,3.4fr)}
  .story__ad{position:relative;padding-inline:17.5%}
  .marks .pen.thin{visibility:visible;stroke-width:3.2}
  .pin{display:none}
  .notes{display:block;margin:0;position:static}
  .notes li{position:absolute;display:block;width:16%;font-size:clamp(23px,2.2vw,31px);line-height:1}
  .notes li::before{content:none}
  .notes .n1{right:0;top:14%}
  .notes .n2{left:0;top:31%;text-align:right}
  .notes .n3{right:0;top:36%}
  .notes .n4{left:0;top:66%;text-align:right}
  .notes .n5{left:0;top:83%;text-align:right}
  .notes .n6{right:0;top:86%;font-size:clamp(27px,2.7vw,38px)}
}
@media (min-width:1440px){
  .bignum{font-size:calc((1440px - 2 * var(--pad)) * .56 / 4.03)}
}

/* A phone on its side: sign left, words right. */
@media (max-height:500px) and (min-width:560px) and (max-width:959px){
  .nh{flex-direction:row}
  .nh__sky{min-height:0}
  .nh__stage,.nh__since{--sw:min(112cqw,calc((100cqh - 14px) / .52));--top:max(8px,calc((100cqh - var(--sw) * .51) * .42))}
  .nh__foot{flex:0 0 min(50%,380px);grid-template-columns:minmax(0,1fr);align-content:center;gap:6px;padding:10px var(--pad) calc(var(--tear-h) * .72 + 4px) 14px;background:#000}
  .nh__act{grid-template-columns:minmax(0,1fr);justify-content:stretch}
  .nh__links{flex-direction:row;gap:0 14px}
  .nh__links a{min-height:36px}
  .nh__links .no-phone{display:none}
}
