/*
 * CRUSTIVO homepage design (October 2026): header, footer and homepage.
 * Converted from the "Homepage — Desktop (interactive)" design export.
 * Every class and keyframe is prefixed with cr- so it cannot clash with
 * style.css; everything sits inside <div class="cr">.
 */
.cr{--m:#7A1218;--m2:#5E0D12;--g:#D89A1E;--c:#F6EFD9;--c2:#EFE3C3;--w:#FBF7EC;--o:#F4A43A;--r:#C63A2B;--b:#5A2A18;--ease:cubic-bezier(.22,1,.36,1);--gut:clamp(16px,4cqi,56px);
container:cr / inline-size;position:relative;overflow-x:clip;background:var(--c);color:var(--b);font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.cr *,.cr *::before,.cr *::after{box-sizing:border-box}
.cr img{display:block;max-width:100%;height:auto}
.cr h1,.cr h2,.cr h3,.cr h4,.cr p{margin:0}
.cr button{font-family:inherit;cursor:pointer}
.cr :focus-visible{outline:3px solid var(--g);outline-offset:3px;border-radius:10px}
.cr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cr-skip{position:absolute;left:12px;top:-60px;z-index:200;padding:12px 18px;border-radius:999px;background:var(--m);color:var(--c);font-weight:700;text-decoration:none}
.cr-skip:focus{top:12px;color:var(--c)}
.cr-wrap{width:100%;max-width:1320px;margin:0 auto;padding-inline:var(--gut)}
.cr-eyebrow{display:flex;align-items:center;gap:12px;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--m)}
.cr-eyebrow::before{content:"";width:36px;height:2px;background:var(--g);border-radius:2px}
.cr-on-dark .cr-eyebrow{color:var(--g)}
.cr-h2{font-weight:900;font-size:clamp(38px,5.2cqi,76px);line-height:.98;letter-spacing:-.02em;color:var(--m);text-wrap:balance}
.cr-lead{font-size:clamp(17px,1.35cqi,20px);max-width:52ch;color:var(--b);text-wrap:pretty}
.cr-tbc{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:rgba(216,154,30,.2);color:var(--b);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.cr-on-dark .cr-tbc,.cr-tbc.cr-lt{background:rgba(246,239,217,.14);color:var(--c)}
/* buttons */
.cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;transition:background-color .25s,color .25s,box-shadow .35s var(--ease),border-color .25s;white-space:nowrap;position:relative}
.cr-btn:active{transform:scale(.96)}
.cr-btn svg{width:18px;height:18px;transition:transform .35s var(--ease);flex:none}
.cr-btn:hover svg{transform:translateX(4px)}
.cr-btn[disabled]{opacity:.5;cursor:not-allowed}
.cr-btn-m{background:var(--m);color:var(--c)}
.cr-btn-m:hover{background:var(--m2);color:var(--c);box-shadow:0 14px 30px -12px rgba(122,18,24,.6)}
.cr-btn-o{background:transparent;color:var(--m);border-color:var(--m)}
.cr-btn-o:hover{background:var(--m);color:var(--c)}
.cr-btn-g{background:var(--g);color:var(--m)}
.cr-btn-g:hover{background:#E6A92C;color:var(--m2);box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.cr-btn-c{background:var(--c);color:var(--m)}
.cr-btn-c:hover{background:#fff;color:var(--m2)}
.cr-btn-ol{background:transparent;color:var(--c);border-color:rgba(246,239,217,.55)}
.cr-btn-ol:hover{border-color:var(--c);background:rgba(246,239,217,.08);color:var(--c)}
.cr-btn-sm{min-height:44px;padding:0 18px;font-size:14.5px}
.cr-btn-block{width:100%}
/* header */
.cr-hd{position:sticky;top:0;z-index:50;transition:transform .5s var(--ease)}
.cr-hd::before{content:"";position:absolute;inset:0;transition:background-color .35s,box-shadow .35s;border-bottom:1px solid transparent}
.cr[data-scrolled="1"] .cr-hd::before{background:rgba(246,239,217,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px -18px rgba(90,42,24,.35);border-bottom-color:rgba(216,154,30,.35)}
.cr[data-hide="1"] .cr-hd{transform:translateY(-110%)}
.cr[data-hide="1"] .cr-logo-tab,.cr[data-instory="1"] .cr-logo-tab{transform:translateY(-130%)}
.cr-hd-bar{position:relative;display:flex;align-items:center;gap:24px;height:84px;padding-left:calc(var(--gut) + 176px);transition:height .35s var(--ease)}
.cr[data-scrolled="1"] .cr-hd-bar{height:72px}
.cr-logo-tab{position:absolute;top:0;left:var(--gut);width:166px;padding:10px 8px 14px;background:var(--c);border-radius:0 0 84px 84px/0 0 34px 34px;border:2px solid var(--g);border-top:0;transition:transform .5s var(--ease),box-shadow .35s;z-index:2}
.cr[data-scrolled="1"] .cr-logo-tab{box-shadow:0 16px 30px -18px rgba(90,42,24,.5)}
.cr-logo-tab img{width:150px;height:auto;mix-blend-mode:multiply}
.cr-nav{display:flex;gap:6px;margin-right:auto}
.cr-nav a{position:relative;display:inline-flex;align-items:center;min-height:46px;padding:10px 14px;font-weight:700;font-size:15px;color:var(--b);text-decoration:none;transition:color .25s}
.cr-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--g);border-radius:2px;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.cr-nav a:hover,.cr-nav a.cr-cur{color:var(--m)}
.cr-nav a:hover::after,.cr-nav a.cr-cur::after{transform:scaleX(1);transform-origin:left}
.cr-hd-act{display:flex;align-items:center;gap:12px}
.cr-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border-radius:50%;border:2px solid rgba(122,18,24,.2);background:transparent;color:var(--m);transition:border-color .25s,background-color .25s}
.cr-icon-btn:hover{border-color:var(--m);background:rgba(122,18,24,.05)}
.cr-icon-btn svg{width:22px;height:22px}
.cr-cart-n{position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--r);color:#fff;font-size:12px;font-weight:900;line-height:22px;text-align:center;animation:cr-bump .5s var(--ease)}
.cr-burger{display:none}
/* mobile menu */
.cr-mnav{position:fixed;inset:0;z-index:80;background:var(--m);color:var(--c);display:flex;flex-direction:column;padding:20px var(--gut) 28px;overflow-y:auto;animation:cr-menuIn .45s var(--ease)}
.cr-mnav-top{display:flex;justify-content:space-between;align-items:center}
.cr-mnav-top img{width:150px;padding:8px;border-radius:20px;background:var(--c)}
.cr-mnav .cr-icon-btn{border-color:rgba(246,239,217,.35);color:var(--c)}
.cr-mnav ul{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column}
.cr-mnav li{border-bottom:1px solid rgba(216,154,30,.35);animation:cr-rise .6s var(--ease) both}
.cr-mnav li:nth-child(2){animation-delay:.05s}.cr-mnav li:nth-child(3){animation-delay:.1s}.cr-mnav li:nth-child(4){animation-delay:.15s}.cr-mnav li:nth-child(5){animation-delay:.2s}
.cr-mnav li a{display:flex;align-items:center;justify-content:space-between;min-height:62px;font-weight:900;font-size:28px;color:var(--c);text-decoration:none}
.cr-mnav li a span{color:var(--g);font-size:14px;font-weight:700;letter-spacing:.12em}
.cr-mnav-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.cr-mnav-meta{font-size:14px;color:rgba(246,239,217,.85);text-align:center}
/* hero */
.cr-hero{position:relative;padding:112px 0 84px;min-height:860px}
.cr-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:24px}
.cr-hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;gap:28px;padding-top:28px}
.cr-h1{font-weight:900;font-size:clamp(58px,8.2cqi,128px);line-height:.9;letter-spacing:-.035em;color:var(--m)}
.cr-h1 .cr-ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.cr-h1 .cr-w{display:inline-block;animation:cr-wordUp 1.2s var(--ease) .25s both}
.cr-h1 .cr-ln:nth-child(2) .cr-w{animation-delay:.38s}.cr-h1 .cr-ln:nth-child(3) .cr-w{animation-delay:.51s}
.cr-h1 .cr-crave{position:relative}
.cr-swash{position:absolute;left:-2%;bottom:-.02em;width:104%;height:.32em;overflow:visible}
.cr-swash path{fill:none;stroke:var(--g);stroke-width:7;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:cr-draw 1.2s 1.25s var(--ease) forwards}
.cr-hero-copy .cr-lead{animation:cr-rise 1s .7s var(--ease) both}
.cr-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;animation:cr-rise 1s .85s var(--ease) both}
.cr-hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;font-weight:700;color:var(--b);animation:cr-rise 1s 1s var(--ease) both}
.cr-hero-meta span{display:inline-flex;align-items:center;gap:8px}
.cr-hero-meta svg{width:18px;height:18px;color:var(--m)}
.cr-stage{position:relative;aspect-ratio:1/1;width:100%;max-width:700px;justify-self:end}
.cr-lay{position:absolute;inset:0}
.cr-disc{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#8E1C23 0%,#7A1218 46%,#5E0D12 100%);animation:cr-discIn 1.4s var(--ease) both;box-shadow:inset 0 -30px 60px rgba(0,0,0,.25)}
.cr-disc::after{content:"";position:absolute;inset:-5.5%;border-radius:50%;border:1.5px solid var(--g);opacity:.9}
.cr-orbit{position:absolute;inset:0;width:100%;height:100%;color:var(--g);animation:cr-spin 90s linear infinite,cr-fade 1.5s .6s both}
.cr-pz-move{position:absolute;inset:3%;z-index:2;will-change:transform}
.cr-pz-par{position:absolute;inset:0}
.cr-pz-float{position:absolute;inset:0;animation:cr-floatY 7s ease-in-out 2.2s infinite}
.cr-pz-tilt{position:absolute;inset:0;transform-style:preserve-3d}
.cr-pz-in{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:cr-pzIn 1.8s var(--ease) .1s both}
.cr-pz-img{width:100%;height:auto;filter:drop-shadow(0 34px 34px rgba(60,18,6,.42)) drop-shadow(0 8px 10px rgba(60,18,6,.25))}
.cr-pz-shadow{position:absolute;left:14%;right:14%;bottom:-3%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,20,8,.42),rgba(60,20,8,0));filter:blur(8px);animation:cr-shadowIn 1.8s var(--ease) .1s both}
.cr-steam{position:absolute;left:28%;top:-6%;width:44%;height:40%;z-index:3;pointer-events:none;opacity:.75}
.cr-steam path{fill:none;stroke:#FFF8EC;stroke-width:9;stroke-linecap:round;filter:blur(6px);opacity:0;animation:cr-steam 5.5s ease-in-out infinite}
.cr-steam path:nth-child(2){animation-delay:1.8s}.cr-steam path:nth-child(3){animation-delay:3.6s}
.cr-ring-txt{position:absolute;left:-1%;bottom:5%;width:26%;aspect-ratio:1/1;z-index:4;animation:cr-popIn 1s 1.35s var(--ease) both}
.cr-ring-txt .cr-spin{position:absolute;inset:0;animation:cr-spin 28s linear infinite}
.cr-ring-txt .cr-core{position:absolute;inset:22%;border-radius:50%;background:var(--c);border:1.5px solid var(--g);display:flex;align-items:center;justify-content:center;color:var(--m)}
.cr-ring-txt .cr-core svg{width:46%;height:46%}
.cr-ring-txt text{font:900 15.5px Lato,Arial,sans-serif;letter-spacing:.18em;fill:var(--m)}
.cr-ring-bg{fill:var(--c);stroke:var(--g);stroke-width:1.5}
.cr-hours-chip{position:absolute;right:2%;top:12%;z-index:4;display:flex;flex-direction:column;gap:2px;padding:12px 18px;border-radius:20px;background:var(--w);box-shadow:0 18px 30px -18px rgba(90,42,24,.55);border:1px solid rgba(216,154,30,.5);animation:cr-popIn 1s 1.5s var(--ease) both}
.cr-hours-chip b{font-weight:900;font-size:15px;color:var(--m)}
.cr-hours-chip span{font-size:12.5px;font-weight:700}
.cr-doodle{position:absolute;z-index:3;color:var(--g);animation:cr-fade 1.2s 1.5s both}
.cr-doodle svg{width:100%;height:100%;overflow:visible}
.cr-dd1{right:-1%;bottom:22%;width:9%}
.cr-dd3{left:6%;top:6%;width:8%}
.cr-scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--b);text-decoration:none;animation:cr-fade 1s 1.8s both}
.cr-scroll-cue i{position:relative;width:26px;height:42px;border:2px solid var(--m);border-radius:14px}
.cr-scroll-cue i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--m);animation:cr-cue 1.8s var(--ease) infinite}
/* cr-marquee */
.cr-mq{position:relative;z-index:5;background:var(--m);color:var(--c);padding:22px 0;transform:rotate(-1.4deg);margin:0 -2%;box-shadow:0 18px 40px -24px rgba(90,42,24,.6);border-block:2px solid var(--g)}
.cr-mq-track{display:flex;width:max-content;animation:cr-marquee 42s linear infinite}
.cr-mq:hover .cr-mq-track{animation-play-state:paused}
.cr-mq-grp{display:flex;align-items:center;gap:34px;padding-right:34px}
.cr-mq-grp span{font-weight:900;font-size:clamp(22px,2.4cqi,34px);letter-spacing:-.01em;white-space:nowrap}
.cr-mq-grp span.cr-out{color:transparent;-webkit-text-stroke:1.4px var(--c)}
.cr-mq-grp svg{width:26px;height:26px;color:var(--g);flex:none}
/* sections */
.cr-sec{position:relative;padding:clamp(80px,9cqi,140px) 0}
.cr-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(36px,4cqi,64px)}
.cr-sec-head>div{display:flex;flex-direction:column;gap:18px;max-width:760px}
/* categories */
.cr-cats{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.cr-cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:28px;border-radius:32px;overflow:hidden;text-decoration:none;color:var(--b);isolation:isolate;min-height:270px;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.cr-cat:hover{transform:translateY(-6px);box-shadow:0 34px 50px -30px rgba(90,42,24,.6);color:var(--b)}
.cr-cat .cr-idx{position:absolute;left:28px;top:24px;font-weight:900;font-size:13px;letter-spacing:.16em;opacity:.8}
.cr-cat h3{font-weight:900;font-size:clamp(24px,2.2cqi,32px);line-height:1.02;letter-spacing:-.01em;transition:transform .6s var(--ease)}
.cr-cat p{font-size:15px;max-width:30ch;transition:transform .6s var(--ease) .04s}
.cr-cat:hover h3,.cr-cat:hover p{transform:translateX(6px)}
.cr-cat .cr-go{position:absolute;top:20px;right:20px;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--m);color:var(--c);transition:transform .6s var(--ease);z-index:2}
.cr-cat .cr-go svg{width:22px;height:22px}
.cr-cat:hover .cr-go{transform:rotate(-45deg)}
.cr-cat .cr-blob{position:absolute;z-index:-1;border-radius:50%;transition:transform .9s var(--ease)}
.cr-cat:hover .cr-blob{transform:translate(-16px,12px) scale(1.12)}
.cr-cat .cr-media{position:absolute;z-index:-1;transition:transform .8s var(--ease)}
.cr-cat:hover .cr-media{transform:translateY(-12px) rotate(-5deg) scale(1.04)}
.cr-cat-pz{grid-column:span 7;grid-row:span 2;background:var(--m);color:var(--c);padding:36px;min-height:560px}
.cr-cat-pz:hover{color:var(--c)}
.cr-cat-pz .cr-idx{color:var(--g)}
.cr-cat-pz h3{font-size:clamp(36px,3.8cqi,58px);color:var(--c)}
.cr-cat-pz p{color:rgba(246,239,217,.9)}
.cr-cat-pz .cr-go{background:var(--g);color:var(--m)}
.cr-cat-pz .cr-media{right:-12%;top:-16%;width:64%}
.cr-cat-pz .cr-media img{width:100%;filter:drop-shadow(0 40px 36px rgba(0,0,0,.5))}
.cr-cat-pz .cr-blob{width:56%;aspect-ratio:1/1;right:-8%;top:-10%;border:1.5px solid var(--g)}
.cr-cat-pz .cr-blob.cr-b2{width:72%;right:-16%;top:-20%;border-style:dashed;opacity:.6}
.cr-cat-pz .cr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cr-cat-pz .cr-chips span{padding:7px 14px;border-radius:999px;border:1px solid rgba(216,154,30,.6);font-size:13px;font-weight:700;color:var(--c)}
.cr-cat-dl{grid-column:span 5;grid-row:span 2;background:var(--r);color:#FFF8EC;min-height:560px}
.cr-cat-dl:hover{color:#FFF8EC}
.cr-cat-dl h3{color:#FFF8EC;font-size:clamp(30px,3cqi,44px)}.cr-cat-dl p{color:#FFF1DE}.cr-cat-dl .cr-idx{color:#FFF1DE}
.cr-cat-dl .cr-go{background:var(--c);color:var(--r)}
.cr-cat-dl .cr-media{left:-6%;right:-14%;top:11%}
.cr-cat-dl .cr-media img{width:100%;filter:drop-shadow(0 30px 30px rgba(60,10,4,.5))}
.cr-cat-dl .cr-blob{width:120%;aspect-ratio:1/1;left:-10%;top:-40%;background:rgba(255,248,236,.08)}
.cr-cat-sm{grid-column:span 3;background:var(--w);border:1.5px solid rgba(216,154,30,.55);min-height:330px}
.cr-cat-sm .cr-go{width:44px;height:44px}
.cr-cat-sm{justify-content:flex-start;padding-top:64px}
.cr-cat-sm .cr-media{position:relative;z-index:0;width:104px;margin-bottom:auto;padding-bottom:18px}
.cr-cat-sm .cr-slot{min-height:0}
.cr-cat-sm .cr-slot small{font-size:9px}
.cr-cat-sm:nth-child(4){background:var(--c2)}
.cr-cat-sm:nth-child(5){background:var(--g)}
.cr-cat-sm:nth-child(5) .cr-go{background:var(--b);color:var(--g)}
.cr-slot{position:relative;aspect-ratio:1/1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:1.5px dashed rgba(90,42,24,.45);background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.6),rgba(255,255,255,0) 70%);color:var(--b)}
.cr-slot svg{width:44%;height:auto}
.cr-slot small{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;max-width:80%}
.cr-slot.cr-dk{border-color:rgba(246,239,217,.55);color:var(--c);background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.12),rgba(255,255,255,0) 70%)}
/* story */
.cr-story{position:relative;background:var(--c);padding:clamp(80px,9cqi,130px) 0}
.cr-story-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:48px}
.cr-story-head>div{display:flex;flex-direction:column;gap:16px}
.cr-steps{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.cr-steps li{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1.5px solid rgba(122,18,24,.2);font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--b);transition:all .4s var(--ease)}
.cr-steps li.cr-on{background:var(--m);border-color:var(--m);color:var(--c)}
.cr-story-skip{min-height:48px;font-size:14px;font-weight:700;color:var(--m);display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1.5px solid rgba(122,18,24,.3);text-decoration:none}
.cr-story-skip:hover{border-color:var(--m)}
.cr-story-skip svg{width:16px;height:16px}
.cr-story-pin{position:relative}
.cr-scenes{display:flex;flex-direction:column;gap:clamp(48px,6cqi,96px)}
.cr-scene{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5cqi,80px)}
.cr-scene .cr-vis{position:relative;aspect-ratio:1.25/1;display:flex;align-items:center;justify-content:center}
.cr-scene .cr-copy{display:flex;flex-direction:column;gap:18px;max-width:520px}
.cr-scene .cr-k{font-weight:900;font-size:13px;letter-spacing:.16em;color:var(--m)}
.cr-scene h3{font-weight:900;font-size:clamp(40px,5cqi,76px);line-height:.96;letter-spacing:-.025em;color:var(--m);text-wrap:balance}
.cr-scene .cr-copy>p{font-size:clamp(17px,1.4cqi,20px);max-width:40ch}
.cr-facts{display:flex;flex-wrap:wrap;gap:8px}
.cr-facts span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--w);border:1px solid rgba(216,154,30,.5);font-size:14px;font-weight:700}
.cr-facts span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g)}
.cr-s1 .cr-vis .cr-ring{position:absolute;inset:4%;border-radius:50%;border:1.5px dashed var(--g)}
.cr-s1 .cr-vis .cr-disc2{position:absolute;inset:12%;border-radius:50%;background:var(--c2)}
.cr-s1 .cr-vis img{position:relative;width:86%;filter:drop-shadow(0 30px 30px rgba(60,18,6,.38))}
.cr-s2 .cr-vis{border-radius:999px 999px 36px 36px;overflow:hidden;background:#3a1609}
.cr-s2 .cr-vis img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cr-callout{position:absolute;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(251,247,236,.96);box-shadow:0 14px 26px -14px rgba(0,0,0,.6);font-size:13.5px;font-weight:900;color:var(--m);white-space:nowrap}
.cr-callout i{width:24px;height:24px;border-radius:50%;background:var(--m);color:var(--c);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px}
.cr-co1{left:6%;top:20%}.cr-co2{right:6%;top:46%}.cr-co3{left:12%;bottom:12%}
.cr-s3 .cr-vis{aspect-ratio:1.5/1}
.cr-s3 .cr-vis img{width:100%;filter:drop-shadow(0 30px 30px rgba(60,18,6,.38))}
.cr-s3 .cr-vis .cr-arc{position:absolute;inset:-4% 8% 18% 8%;border-radius:50%;border:1.5px solid var(--g);opacity:.7}
.cr-s4{background:var(--m);color:var(--c);border-radius:40px;padding:clamp(28px,4cqi,64px);overflow:hidden}
.cr-s4 .cr-bg{position:absolute;inset:0;background:var(--m);border-radius:inherit;z-index:0}
.cr-s4>*{position:relative;z-index:1}
.cr-s4 .cr-vis img{width:88%;filter:drop-shadow(0 30px 34px rgba(0,0,0,.5))}
.cr-s4 .cr-vis .cr-ring{position:absolute;inset:6%;border-radius:50%;border:1.5px dashed rgba(216,154,30,.7)}
.cr-s4 h3{color:var(--c)}.cr-s4 .cr-k{color:var(--g)}.cr-s4 .cr-copy>p{color:rgba(246,239,217,.9)}
.cr-s4 .cr-row{display:flex;flex-wrap:wrap;gap:12px}
.cr-s4 .cr-svc-mini{display:flex;flex-wrap:wrap;gap:8px}
.cr-s4 .cr-svc-mini span{padding:7px 14px;border-radius:999px;border:1px solid rgba(216,154,30,.6);font-size:13.5px;font-weight:700}
/* pinned story mode (desktop + GSAP) */
.cr-story.cr-pinned{padding:0}
.cr-story.cr-pinned .cr-story-pin{height:100vh;min-height:640px;max-height:1000px;display:flex;flex-direction:column;padding:88px 0 28px}
.cr-story.cr-pinned .cr-story-head{margin-bottom:0}
.cr-story.cr-pinned .cr-story-head .cr-h2{font-size:clamp(28px,3cqi,44px)}
.cr-story.cr-pinned .cr-scenes{position:relative;flex:1;display:block;margin-top:20px}
.cr-story.cr-pinned .cr-scene{position:absolute;inset:0;visibility:hidden}
.cr-story.cr-pinned .cr-scene.cr-s1{visibility:visible}
.cr-story.cr-pinned .cr-scene .cr-vis{height:100%;max-height:640px;aspect-ratio:auto;width:100%}
.cr-story.cr-pinned .cr-s1 .cr-vis{aspect-ratio:1/1;height:auto;max-height:none;width:min(100%,62vh)}
.cr-story.cr-pinned .cr-s2 .cr-vis{max-height:none;height:min(100%,560px);aspect-ratio:1.2/1;width:auto;justify-self:center}
.cr-story.cr-pinned .cr-s4{border-radius:40px}
/* favorites */
.cr-fav-nav{display:flex;gap:10px}
.cr-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 72px) / 4));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:56px 4px 28px;scrollbar-width:none;overscroll-behavior-x:contain}
.cr-track::-webkit-scrollbar{display:none}
.cr-card{scroll-snap-align:start;display:flex;flex-direction:column;background:var(--w);border-radius:30px;padding:0 16px 20px;box-shadow:0 1px 0 rgba(90,42,24,.06),0 24px 40px -32px rgba(90,42,24,.5);border:1px solid rgba(216,154,30,.3);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cr-card:hover{transform:translateY(-6px);box-shadow:0 34px 50px -30px rgba(90,42,24,.55)}
.cr-card-media{position:relative;height:210px;display:flex;align-items:flex-end;justify-content:center;margin:0 -16px 16px;border-radius:30px 30px 0 0;background:radial-gradient(120% 90% at 50% 100%,var(--c2) 0%,var(--c2) 55%,transparent 56%)}
.cr-card-media img{width:78%;margin-top:-56px;transform:rotate(var(--rot,0deg));transition:transform .9s var(--ease);filter:drop-shadow(0 22px 18px rgba(60,18,6,.36))}
.cr-card-media img.cr-rot120{--rot:120deg}.cr-card-media img.cr-rot240{--rot:240deg}
.cr-card:hover .cr-card-media img{transform:rotate(calc(var(--rot,0deg) + 30deg)) scale(1.04) translateY(-4px)}
.cr-card-media .cr-slot{width:62%;margin-bottom:16px;background:var(--w)}
.cr-card-badge{position:absolute;left:16px;top:16px}
.cr-card-body{display:flex;flex-direction:column;gap:12px;padding:0 6px;flex:1}
.cr-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cr-card h3{font-weight:900;font-size:21px;line-height:1.15;color:var(--m)}
.cr-card .cr-cat-l{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--b);opacity:.8}
.cr-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.cr-price b{font-weight:900;font-size:20px;color:var(--m);white-space:nowrap;font-variant-numeric:tabular-nums}
.cr-price small{font-size:11px;font-weight:700;color:var(--b)}
.cr-card p.cr-d{font-size:14.5px;color:var(--b)}
.cr-sizes{display:flex;gap:8px;flex-wrap:wrap}
.cr-size{min-width:48px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(122,18,24,.25);background:transparent;color:var(--b);font-weight:700;font-size:14px;transition:background-color .25s,border-color .25s,color .25s}
.cr-size:hover{border-color:var(--m)}
.cr-size.cr-on{background:var(--m);border-color:var(--m);color:var(--c)}
.cr-card .cr-btn{margin-top:auto}
.cr-card .cr-btn.cr-done{background:var(--b)}
/* deals */
.cr-deals{background:var(--m);color:var(--c);overflow:hidden}
.cr-deals .cr-h2{color:var(--c)}
.cr-deals .cr-lead{color:rgba(246,239,217,.88)}
.cr-deals-arc{position:absolute;right:-10%;top:-30%;width:70%;aspect-ratio:1/1;border-radius:50%;border:1.5px solid rgba(216,154,30,.45);pointer-events:none}
.cr-deals-arc.cr-b{right:-2%;top:-18%;width:52%;border-style:dashed}
.cr-deal-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}
.cr-deal{position:relative;display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:32px;background:rgba(0,0,0,.14);border:1.5px solid rgba(216,154,30,.45);overflow:hidden;transition:border-color .4s,transform .5s var(--ease)}
.cr-deal:hover{border-color:var(--g);transform:translateY(-4px)}
.cr-deal-xl{grid-row:span 2;min-height:660px;justify-content:flex-end;padding:40px}
.cr-deal-xl .cr-art{position:absolute;right:-14%;top:-12%;width:80%;transition:transform 1.2s var(--ease)}
.cr-deal-xl .cr-art img{width:100%;filter:drop-shadow(0 34px 34px rgba(0,0,0,.5))}
.cr-deal-xl:hover .cr-art{transform:rotate(14deg) scale(1.03)}
.cr-deal .cr-k{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.cr-deal h3{font-weight:900;font-size:clamp(28px,2.8cqi,42px);line-height:1;color:var(--c)}
.cr-deal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cr-deal li{padding:7px 14px;border-radius:999px;background:rgba(246,239,217,.1);border:1px solid rgba(246,239,217,.25);font-size:14px;font-weight:700}
.cr-deal-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cr-deal-price s{font-size:16px;color:rgba(246,239,217,.75)}
.cr-deal-price b{font-weight:900;font-size:clamp(30px,3cqi,44px);color:var(--g);font-variant-numeric:tabular-nums}
.cr-deal .cr-valid{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(246,239,217,.88)}
.cr-deal .cr-valid svg{width:16px;height:16px;color:var(--g);flex:none}
.cr-deal-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;border-top:1px solid rgba(216,154,30,.4)}
.cr-deal-sm .cr-slot{position:absolute;right:-24px;top:-24px;width:150px}
.cr-deal-sm h3{max-width:70%}
/* about (editorial) */
.cr-about{background:var(--w)}
.cr-about-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:end;margin-bottom:clamp(40px,5cqi,72px)}
.cr-about-top .cr-eyebrow{grid-column:1 / span 12}
.cr-about-top h2{grid-column:1 / span 8;font-weight:900;font-size:clamp(48px,7.4cqi,116px);line-height:.88;letter-spacing:-.035em;color:var(--m)}
.cr-about-top h2 span{display:block;color:transparent;-webkit-text-stroke:1.6px var(--m)}
.cr-about-top .cr-intro{grid-column:9 / span 4;font-size:17px}
.cr-about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.cr-mascot-panel{grid-column:1 / span 5;align-self:start;position:relative;border-radius:999px 999px 40px 40px;background:var(--c);border:1.5px solid var(--g);padding:56px 32px 40px;display:flex;flex-direction:column;align-items:center;gap:20px;overflow:hidden}
.cr-mascot-panel::before{content:"";position:absolute;inset:14px;border-radius:999px 999px 30px 30px;border:1px dashed rgba(216,154,30,.7);pointer-events:none}
.cr-mascot-panel img{width:min(300px,78%);mix-blend-mode:multiply;position:relative}
.cr-mascot-panel p{position:relative;text-align:center;font-weight:900;font-size:20px;color:var(--m)}
.cr-mascot-panel small{position:relative;text-align:center;font-size:14px;max-width:32ch}
.cr-about-copy{grid-column:7 / span 6;display:flex;flex-direction:column;gap:28px;padding-top:12px}
.cr-big-quote{font-weight:900;font-size:clamp(28px,2.9cqi,42px);line-height:1.1;letter-spacing:-.01em;color:var(--b);text-wrap:balance}
.cr-big-quote em{font-style:normal;color:var(--m);background:linear-gradient(transparent 62%,rgba(216,154,30,.45) 62%)}
.cr-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;font-size:16px}
.cr-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:2px solid var(--g);padding-top:20px}
.cr-value{display:flex;flex-direction:column;gap:6px}
.cr-value i{font-style:normal;font-weight:900;font-size:13px;color:var(--g);letter-spacing:.1em}
.cr-value b{font-weight:900;font-size:18px;color:var(--m)}
.cr-value span{font-size:14.5px}
.cr-inside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;align-items:center;padding:16px;border-radius:24px;background:var(--c);border:1px solid rgba(216,154,30,.4)}
.cr-inside .cr-slot{border-radius:18px;aspect-ratio:4/3}
.cr-inside p{font-size:14.5px}
/* service */
.cr-svc{background:var(--c2)}
.cr-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cr-svc-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:30px;background:var(--w);border:1px solid rgba(216,154,30,.4);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.cr-svc-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(90,42,24,.5)}
.cr-svc-ic{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--m);color:var(--c);transition:transform .6s var(--ease)}
.cr-svc-card:hover .cr-svc-ic{transform:rotate(-10deg) scale(1.06)}
.cr-svc-ic svg{width:36px;height:36px}
.cr-svc-card h3{font-weight:900;font-size:26px;color:var(--m)}
.cr-svc-card p{font-size:15.5px}
.cr-svc-card .cr-note{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;font-weight:700;padding-top:14px;border-top:1px dashed rgba(90,42,24,.3)}
.cr-how{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:how}
.cr-how div{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:22px;border:1px solid rgba(122,18,24,.18)}
.cr-how b{flex:none;width:36px;height:36px;border-radius:50%;background:var(--g);color:var(--m);font-weight:900;display:flex;align-items:center;justify-content:center}
.cr-how span{font-size:15px}
.cr-how strong{display:block;color:var(--m);font-weight:900}
.cr-svc-cta{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px;border-radius:999px;background:var(--m);color:var(--c)}
.cr-svc-cta p{font-weight:900;font-size:clamp(20px,1.9cqi,26px)}
.cr-svc-cta .cr-row{display:flex;flex-wrap:wrap;gap:12px}
/* location */
.cr-loc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:stretch}
.cr-map{position:relative;min-height:520px;border-radius:32px;overflow:hidden;background:#EDE2C2;border:1.5px solid rgba(216,154,30,.55)}
.cr-map svg.cr-streets{position:absolute;inset:0;width:100%;height:100%}
.cr-pin{position:absolute;left:54%;top:46%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center}
.cr-pin .cr-dot{width:64px;height:64px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--m);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 24px -10px rgba(90,42,24,.7)}
.cr-pin .cr-dot i{width:22px;height:22px;border-radius:50%;background:var(--g)}
.cr-pin .cr-pulse{position:absolute;left:50%;bottom:-14px;width:30px;height:12px;margin-left:-15px;border-radius:50%;background:rgba(122,18,24,.35);animation:cr-pulse 2.2s ease-out infinite}
.cr-pin .cr-lbl{position:absolute;bottom:calc(100% + 10px);white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--w);font-weight:900;font-size:13px;color:var(--m);box-shadow:0 10px 20px -12px rgba(90,42,24,.6)}
.cr-map-note{position:absolute;left:16px;bottom:16px;right:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:18px;background:rgba(251,247,236,.96);font-size:13px;font-weight:700}
.cr-loc-card{display:flex;flex-direction:column;gap:20px;padding:36px;border-radius:32px;background:var(--m);color:var(--c)}
.cr-loc-card h3{font-weight:900;font-size:30px;line-height:1.1;color:var(--c)}
.cr-loc-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.cr-loc-row .cr-ic{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(216,154,30,.6);display:flex;align-items:center;justify-content:center;color:var(--g)}
.cr-loc-row .cr-ic svg{width:20px;height:20px}
.cr-loc-row b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin-bottom:2px}
.cr-loc-row span,.cr-loc-row a{font-size:16.5px;color:var(--c);text-decoration:none}
.cr-loc-row a:hover{text-decoration:underline}
.cr-hrs{display:grid;grid-template-columns:auto auto;gap:2px 18px;font-size:15px}
.cr-hrs span:nth-child(even){font-weight:900;font-variant-numeric:tabular-nums}
.cr-loc-card .cr-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}
/* footer */
.cr-ft{position:relative;background:var(--m);color:var(--c);overflow:hidden;padding-top:clamp(72px,8cqi,120px)}
.cr-ft-curve{position:absolute;left:0;right:0;top:0;width:100%;height:180px;color:var(--g);opacity:.7;pointer-events:none}
.cr-ft-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-bottom:56px;border-bottom:1px solid rgba(216,154,30,.4)}
.cr-ft-cta h2{font-weight:900;font-size:clamp(40px,5.6cqi,84px);line-height:.95;letter-spacing:-.025em;color:var(--c)}
.cr-ft-cta h2 span{color:var(--g)}
.cr-ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px;padding:56px 0}
.cr-ft-brand{display:flex;flex-direction:column;gap:18px}
.cr-ft-logo{width:186px;padding:14px 16px 16px;border-radius:28px;background:var(--c);border:2px solid var(--g)}
.cr-ft-logo img{width:150px;mix-blend-mode:multiply}
.cr-ft-brand p{font-size:15px;color:rgba(246,239,217,.88);max-width:36ch}
.cr-ft h4{margin:0 0 16px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.cr-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cr-ft li,.cr-ft li a{font-size:15.5px;color:var(--c);text-decoration:none}
.cr-ft li a{display:inline-flex;align-items:center;gap:8px;min-height:32px;transition:color .25s}
.cr-ft li a::before{content:"";width:0;height:2px;background:var(--g);transition:width .35s var(--ease)}
.cr-ft li a:hover{color:var(--g)}
.cr-ft li a:hover::before{width:14px}
.cr-ft-big{font-weight:900;font-size:clamp(34px,11.2cqi,176px);line-height:.82;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1.5px rgba(216,154,30,.55);white-space:nowrap;text-align:center;user-select:none;padding-bottom:10px}
.cr-ft-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:22px 0 30px;border-top:1px solid rgba(216,154,30,.4);font-size:13.5px;color:rgba(246,239,217,.85)}
.cr-ft-legal div{display:flex;gap:18px;flex-wrap:wrap}
.cr-ft-legal a{color:rgba(246,239,217,.85);text-decoration:none}
.cr-ft-legal a:hover{color:var(--g)}
.cr-soc{display:flex;gap:10px}
.cr-soc a{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(216,154,30,.6);display:flex;align-items:center;justify-content:center;color:var(--c);transition:background-color .25s,color .25s}
.cr-soc a:hover{background:var(--g);color:var(--m)}
.cr-soc svg{width:20px;height:20px}
/* order drawer */
.cr-scrim{position:fixed;inset:0;z-index:90;background:rgba(40,12,8,.5);animation:cr-fade .3s both}
.cr-drawer{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(460px,100%);background:var(--c);display:flex;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(40,12,8,.6);animation:cr-slideIn .5s var(--ease) both}
.cr-drawer-hd{display:flex;flex-direction:column;gap:14px;padding:20px 24px 16px;border-bottom:1px solid rgba(216,154,30,.45)}
.cr-drawer-hd .cr-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cr-drawer-hd h2{font-weight:900;font-size:24px;color:var(--m)}
.cr-prog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
.cr-prog li{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(90,42,24,.75)}
.cr-prog li::before{content:"";height:4px;border-radius:4px;background:rgba(122,18,24,.15)}
.cr-prog li.cr-on{color:var(--m)}
.cr-prog li.cr-on::before{background:var(--m)}
.cr-drawer-bd{flex:1;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}
.cr-demo-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:rgba(216,154,30,.18);font-size:13.5px;font-weight:700}
.cr-demo-note svg{width:18px;height:18px;flex:none;color:var(--m);margin-top:2px}
.cr-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:10px 0}
.cr-empty img{width:150px;mix-blend-mode:multiply}
.cr-empty b{font-weight:900;font-size:20px;color:var(--m)}
.cr-quick{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}
.cr-quick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;background:var(--w);border:1px solid rgba(216,154,30,.3)}
.cr-quick-row span{font-weight:700;font-size:14.5px}
.cr-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--w);border:1px solid rgba(216,154,30,.3)}
.cr-line .cr-nm{font-weight:900;font-size:15.5px;color:var(--m)}
.cr-line .cr-meta{font-size:13px;font-weight:700}
.cr-line .cr-lp{font-weight:900;font-variant-numeric:tabular-nums;color:var(--m);text-align:right}
.cr-qty{display:flex;align-items:center;gap:6px}
.cr-qty button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(122,18,24,.25);background:transparent;color:var(--m);font-size:20px;font-weight:900;line-height:1}
.cr-qty button:hover{border-color:var(--m)}
.cr-qty output{min-width:26px;text-align:center;font-weight:900}
.cr-rm{border:0;background:none;color:var(--b);font-size:13px;font-weight:700;text-decoration:underline;min-height:44px;padding:0}
.cr-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:999px;background:var(--w);border:1px solid rgba(216,154,30,.4)}
.cr-seg button{min-height:44px;border-radius:999px;border:0;background:transparent;font-weight:700;font-size:14px;color:var(--b)}
.cr-seg button.cr-on{background:var(--m);color:var(--c)}
.cr-fld{display:flex;flex-direction:column;gap:6px}
.cr-fld label{font-size:13px;font-weight:900;color:var(--m)}
.cr-fld input,.cr-fld textarea{min-height:48px;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(90,42,24,.3);background:var(--w);font:inherit;font-size:16px;color:var(--b)}
.cr-fld textarea{min-height:84px;resize:vertical}
.cr-fld input:focus,.cr-fld textarea:focus{outline:none;border-color:var(--m);box-shadow:0 0 0 3px rgba(216,154,30,.4)}
.cr-fld .cr-err{font-size:13px;font-weight:700;color:var(--r)}
.cr-sum{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:18px;background:var(--w);border:1px solid rgba(216,154,30,.35);font-size:14.5px}
.cr-sum div{display:flex;justify-content:space-between;gap:12px}
.cr-sum b{color:var(--m)}
.cr-drawer-ft{padding:16px 24px 22px;border-top:1px solid rgba(216,154,30,.45);display:flex;flex-direction:column;gap:10px}
.cr-drawer-ft .cr-tot{display:flex;justify-content:space-between;align-items:baseline;font-weight:900;color:var(--m)}
.cr-drawer-ft .cr-tot span:last-child{font-size:20px;font-variant-numeric:tabular-nums}
.cr-drawer-ft .cr-row{display:flex;gap:10px}
.cr-drawer-ft .cr-row .cr-btn{flex:1}
.cr-drawer-ft small{font-size:12.5px;text-align:center}
.cr-toast{position:fixed;left:50%;bottom:28px;z-index:95;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 12px 12px 12px;border-radius:999px;background:var(--b);color:var(--c);font-size:14.5px;font-weight:700;box-shadow:0 20px 40px -20px rgba(40,12,8,.7);animation:cr-toastIn .5s var(--ease) both;max-width:calc(100% - 32px)}
.cr-toast i{width:30px;height:30px;flex:none;border-radius:50%;background:var(--g);color:var(--m);display:flex;align-items:center;justify-content:center}
.cr-toast i svg{width:16px;height:16px}
.cr-toast button{border:0;border-radius:999px;background:var(--c);color:var(--m);font-weight:900;font-size:13.5px;min-height:36px;padding:0 14px}
.cr-mbar{display:none}
/* reveal */
.cr[data-js="1"] [data-reveal]{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.cr[data-js="1"] [data-reveal][data-in]{opacity:1;transform:none}
.cr[data-js="1"] [data-reveal="2"]{transition-delay:.1s}
.cr[data-js="1"] [data-reveal="3"]{transition-delay:.2s}
.cr[data-js="1"] [data-reveal="4"]{transition-delay:.3s}
/* keyframes */
@keyframes cr-wordUp{from{transform:translateY(108%)}to{transform:none}}
@keyframes cr-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes cr-draw{to{stroke-dashoffset:0}}
@keyframes cr-pzIn{0%{opacity:0;transform:translateY(-18%) scale(1.18) rotate(-40deg);filter:blur(12px)}60%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes cr-shadowIn{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:none}}
@keyframes cr-discIn{from{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}
@keyframes cr-popIn{from{opacity:0;transform:scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes cr-floatY{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes cr-spin{to{transform:rotate(360deg)}}
@keyframes cr-steam{0%{opacity:0;transform:translateY(30px) scaleY(.8)}30%{opacity:.55}100%{opacity:0;transform:translateY(-70px) scaleY(1.2)}}
@keyframes cr-marquee{to{transform:translateX(-50%)}}
@keyframes cr-cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes cr-pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.4);opacity:0}}
@keyframes cr-menuIn{from{clip-path:circle(0 at calc(100% - 40px) 40px)}to{clip-path:circle(150% at calc(100% - 40px) 40px)}}
@keyframes cr-fade{from{opacity:0}}
@keyframes cr-slideIn{from{transform:translateX(100%)}}
@keyframes cr-toastIn{from{opacity:0;transform:translate(-50%,24px)}}
@keyframes cr-bump{40%{transform:scale(1.35)}}
/* laptop */
@container cr (max-width:1180px){
.cr-nav a{padding:10px 9px;font-size:14px}
.cr-nav a::after{left:9px;right:9px}
.cr-cat-sm{grid-column:span 6;min-height:240px}
.cr-cat-sm{min-height:250px}
.cr-cat-pz .cr-media{width:54%;right:-10%;top:-12%}
}
/* tablet */
@container cr (max-width:1023px){
.cr-nav,.cr-hd-act>.cr-btn{display:none}
.cr-burger{display:inline-flex}
.cr-hero{padding-top:156px;min-height:0;padding-bottom:64px}
.cr-hero-grid{grid-template-columns:1fr;gap:8px}
.cr-stage{justify-self:center;max-width:540px;order:-1;margin-top:-40px}
.cr-hero-copy{padding-top:0}
.cr-scroll-cue,.cr-steam{display:none}
.cr-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
.cr-cat-pz,.cr-cat-dl{grid-column:span 2;grid-row:auto;min-height:460px}
.cr-cat-dl .cr-media{left:30%;right:-12%;top:-4%}
.cr-cat-sm{grid-column:span 1}

.cr-scene{grid-template-columns:1fr;gap:24px}
.cr-scene .cr-vis{max-width:560px;width:100%;justify-self:center}
.cr-s2 .cr-vis{order:0}
.cr-track{grid-auto-columns:minmax(290px,calc((100% - 24px) / 2.25))}
.cr-deal-grid{grid-template-columns:1fr}
.cr-deal-xl{grid-row:auto;min-height:580px}
.cr-about-top h2,.cr-about-top .cr-intro{grid-column:1 / span 12}
.cr-mascot-panel,.cr-about-copy{grid-column:1 / span 12}
.cr-mascot-panel{max-width:520px;width:100%;justify-self:center}
.cr-svc-grid,.cr-how{grid-template-columns:1fr}
.cr-loc-grid{grid-template-columns:1fr}
.cr-ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cr-ft-brand{grid-column:span 2}
}
/* mobile */
@container cr (max-width:767px){
.cr{font-size:16px}
.cr-hd-bar{height:72px;padding-left:0;justify-content:flex-end}
.cr[data-scrolled="1"] .cr-hd-bar{height:64px}
.cr-logo-tab{width:162px;left:12px}
.cr-hero{padding-top:130px;padding-bottom:40px}
.cr-stage{width:100%;margin-top:-10px}
.cr-ring-txt{width:30%;left:0;bottom:2%}
.cr-hours-chip{right:0;top:4%;padding:10px 14px}
.cr-dd1,.cr-dd3,.cr-orbit{display:none}
.cr-pz-float{animation:none}
.cr-h1{font-size:clamp(50px,15cqi,72px)}
.cr-hero-ctas .cr-btn{flex:1 1 100%}
.cr-mq{padding:16px 0}
.cr-mq-track{animation-duration:30s}
.cr-cats{gap:14px}
.cr-cat{padding:22px;border-radius:26px;min-height:0}
.cr-cat .cr-idx{left:22px;top:20px}
.cr-cat-pz{min-height:480px;padding:24px}
.cr-cat-pz .cr-media{width:82%;right:-20%;top:-6%}
.cr-cat-dl{min-height:400px}
.cr-cat-dl .cr-media{left:4%;right:-22%;top:-2%}
.cr-cat-sm{grid-column:span 1;min-height:0;padding:56px 16px 18px}
.cr-cat-sm .cr-media{width:78px;padding-bottom:12px}
.cr-cat-sm .cr-slot small{display:none}
.cr-cat-sm .cr-idx{left:16px;top:18px}
.cr-cat-sm .cr-go{top:12px;right:12px}
.cr-cat-sm h3{font-size:19px}
.cr-cat-sm p{font-size:13.5px}
.cr-cat .cr-go{width:44px;height:44px}
.cr-story-head .cr-steps{display:none}
.cr-scene h3{font-size:clamp(34px,10cqi,46px)}
.cr-callout{font-size:12px;padding:6px 10px 6px 6px}
.cr-callout i{width:20px;height:20px}
.cr-s4{border-radius:28px;padding:24px}
.cr-s4 .cr-row .cr-btn{flex:1 1 100%}
.cr-track{grid-auto-columns:84%;gap:14px;padding-top:48px}
.cr-fav-nav{display:none}
.cr-deal,.cr-deal-xl{padding:24px;border-radius:26px}
.cr-deal-xl{min-height:0}
.cr-deal-xl .cr-art{position:relative;right:auto;top:auto;width:92%;margin:-14% -24% -4% auto}
.cr-deal-sm .cr-slot{width:110px;right:-18px;top:-18px}
.cr-deal-foot .cr-btn{flex:1 1 100%}
.cr-cols,.cr-values{grid-template-columns:1fr}
.cr-inside{grid-template-columns:1fr}
.cr-mascot-panel{padding:44px 20px 32px}
.cr-svc-card{padding:24px}
.cr-svc-cta{border-radius:28px;padding:24px}
.cr-svc-cta .cr-row,.cr-svc-cta .cr-row .cr-btn{width:100%}
.cr-map{min-height:400px}
.cr-loc-card{padding:26px;border-radius:26px}
.cr-loc-card .cr-row .cr-btn{flex:1 1 100%}
.cr-ft-grid{grid-template-columns:1fr 1fr;gap:32px}
.cr-ft-cta .cr-btn{width:100%}
.cr-ft-legal{padding-bottom:110px}
.cr-mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:10px;padding:8px;border-radius:999px;background:rgba(122,18,24,.97);box-shadow:0 20px 40px -18px rgba(40,12,8,.8)}
.cr-mbar .cr-btn{flex:1;min-height:50px}
.cr-mbar .cr-icon-btn{border-color:rgba(246,239,217,.4);color:var(--c);width:50px;height:50px}
.cr-toast{bottom:90px}
}
/* motion off */
.cr.cr-still *,.cr.cr-still *::before,.cr.cr-still *::after{animation:none!important;transition:none!important}
.cr.cr-still [data-reveal]{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
.cr *,.cr *::before,.cr *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.cr [data-reveal]{opacity:1!important;transform:none!important}
.cr-steam{display:none}
}

/* ==========================================================================
   WordPress adaptations of the design
   ========================================================================== */
.admin-bar .cr-hd { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .cr-hd { top: 0; } }

/* Menus come from wp_nav_menu as lists */
.cr-nav ul { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.cr-nav li { position: relative; }
.cr-nav .current-menu-item > a, .cr-nav .current_page_item > a { color: var(--m); }
.cr-nav .current-menu-item > a::after, .cr-nav .current_page_item > a::after { transform: scaleX(1); transform-origin: left; }
.cr-nav .sub-menu { display: none; }
.cr-mnav { display: none; }
.cr-mnav.is-open { display: flex; }
.cr-mnav .sub-menu { display: none; }
.cr-mnav-meta a { color: var(--g); }
.cr-ft .menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mnav-lock { overflow: hidden; }

/* Cart counter: the same element is refreshed by WooCommerce fragments */
.cr .cr-cart-n.js-cart-count { position: absolute; top: -5px; right: -5px; display: block; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--r); color: #fff; font-size: 12px; font-weight: 900; line-height: 22px; text-align: center; }
.cr .cr-cart-n.js-cart-count[data-n="0"] { display: none; }

/* Real photos where the design had photo placeholders */
.cr-ph { position: relative; width: 104px; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 1.5px dashed rgba(90,42,24,.45); background: var(--o); display: flex; align-items: center; justify-content: center; }
.cr-ph img { width: 100%; height: 100%; object-fit: cover; }
.cr-ph.is-cut img { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 10px 10px rgba(60,18,6,.3)); }
.cr-ph svg { width: 44%; height: auto; color: var(--b); }
.cr-cat-sm:hover .cr-ph img { transform: scale(1.06); transition: transform .6s var(--ease); }
.cr-card-media img.is-photo { width: 62%; aspect-ratio: 1 / 1; border-radius: 50%; object-fit: cover; margin-top: -48px; margin-bottom: 14px; border: 5px solid var(--w); box-shadow: 0 18px 30px -16px rgba(60,18,6,.5); filter: none; }
.cr-card-media img.is-cut { width: 66%; margin-bottom: 14px; }
.cr-inside img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.cr-deal-sm .cr-slot { pointer-events: none; }
.cr-deal ul li { color: var(--c); }
.cr-deal-price small { font-size: 14px; color: rgba(246,239,217,.8); font-weight: 700; }

/* Sizes and add buttons wired to the cart */
.cr .size.cr-size { font: 700 14px/1 var(--font, Lato, Arial, sans-serif); min-width: 48px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid rgba(122,18,24,.25); background: transparent; color: var(--b); }
.cr .size.cr-size[aria-pressed="true"] { background: var(--m); border-color: var(--m); color: var(--c); }
.cr-btn.is-busy { opacity: .7; pointer-events: none; }
.cr-btn.is-added { background: var(--b); color: var(--c); }
.cr-btn span { pointer-events: none; }
.cr-card .cr-price b.p { font-weight: 900; font-size: 20px; color: var(--m); }

/* Live map link and status chip */
.cr-map { display: block; text-decoration: none; color: inherit; }
.cr-hours-chip b { white-space: nowrap; }

/* Inner pages: room for the logo tab that hangs below the header */
.cr .phero .wrap { padding-top: clamp(150px, 14vw, 190px); }
.cr .wc-head .wrap { padding-top: 140px; }
.cr .mtools { top: calc(env(safe-area-inset-top, 0px) + 72px); }
.cr .phero, .cr .wc-head { margin-top: -84px; }
.cr .hero + .ticker { margin-top: 0; }
@container cr (max-width: 767px) {
  .cr .phero .wrap { padding-top: 150px; }
  .cr .phero, .cr .wc-head { margin-top: -72px; }
  .cr .mtools { top: calc(env(safe-area-inset-top, 0px) + 64px); }
}
.cr .cr-hd { margin-bottom: 0; }
.cr[data-dark-top="1"] .cr-hd .cr-nav a { color: var(--c); }
.cr[data-dark-top="1"][data-scrolled="1"] .cr-hd .cr-nav a { color: var(--b); }
.cr[data-dark-top="1"][data-scrolled="1"] .cr-hd .cr-nav .current-menu-item > a { color: var(--m); }
.cr[data-dark-top="1"] .cr-hd .cr-icon-btn { color: var(--c); border-color: rgba(246,239,217,.4); }
.cr[data-dark-top="1"][data-scrolled="1"] .cr-hd .cr-icon-btn { color: var(--m); border-color: rgba(122,18,24,.2); }
.cr[data-dark-top="1"] .cr-hd .cr-btn-m { background: var(--c); color: var(--m); }
.cr[data-dark-top="1"][data-scrolled="1"] .cr-hd .cr-btn-m { background: var(--m); color: var(--c); }

/* Page copy and FAQ sections on the homepage sit on the design's grounds */
.cr .answer__lead { color: var(--m); }
.cr-legal-links a + a { margin-left: 0; }

/* White product backgrounds (owner request, Oct 2026) */
.cr-card { background: #fff; }
.cr-card-media { background: radial-gradient(120% 90% at 50% 100%, #fff 0%, #fff 55%, transparent 56%); }
.cr-card-media img.is-photo { border-color: #fff; }
.cr-ph, .cr-ph.is-cut { background: #fff; border: 1.5px solid rgba(216,154,30,.45); box-shadow: 0 10px 22px -14px rgba(90,42,24,.45); }
.cr-ph svg { color: var(--m); }

/* Favorites: full-size photo, sized by the size buttons */
.cr-card-media img.js-size-img { scale: var(--s, 1); }
.cr-card:hover .cr-card-media img.js-size-img { rotate: 0deg; }

/* Story step 03 now shows a round pizza */
.cr-s3 .cr-vis { aspect-ratio: 1.25 / 1; }
.cr-s3 .cr-vis img.cr-s3-img { width: auto; height: 92%; max-height: 560px; aspect-ratio: 1 / 1; object-fit: contain; }
.cr-story.cr-pinned .cr-s3 .cr-vis img.cr-s3-img { height: 86%; }

/* Story step 03: a true circle, centred behind the pizza */
.cr-s3 .cr-vis .cr-arc { inset: auto; top: 50%; left: 50%; height: 100%; width: auto; aspect-ratio: 1 / 1; translate: -50% -50%; border-radius: 50%; opacity: .8; }
.cr-s3 .cr-vis img.cr-s3-img { height: 84%; position: relative; z-index: 1; }
.cr-story.cr-pinned .cr-s3 .cr-vis img.cr-s3-img { height: 80%; }

/* Story step 02: wide rounded frame so the whole close-up shows, labels on the right spots */
.cr-s2 .cr-vis { aspect-ratio: 1.6 / 1; border-radius: 36px; background: #3a1609; box-shadow: 0 30px 60px -34px rgba(60,18,6,.55); }
.cr-s2 .cr-vis img { object-position: 38% 62%; }
.cr-story.cr-pinned .cr-s2 .cr-vis { height: auto; width: 100%; max-height: 520px; aspect-ratio: 1.6 / 1; }
.cr-s2 .cr-co1 { left: auto; right: 7%; top: 9%; bottom: auto; }
.cr-s2 .cr-co2 { left: 40%; right: auto; top: 40%; bottom: auto; }
.cr-s2 .cr-co3 { left: 5%; right: auto; top: auto; bottom: 9%; }
@container cr (max-width: 767px) {
  .cr-s2 .cr-vis { border-radius: 24px; aspect-ratio: 1.3 / 1; }
  .cr-s2 .cr-co2 { left: 22%; top: 46%; }
}

/* ==========================================================================
   One pattern for every page (Oct 2026): inner-page hero, trust bar,
   and the homepage's buttons, labels and headings everywhere.
   ========================================================================== */

/* Inner-page hero */
.cr-phero { position: relative; overflow: hidden; padding: 128px 0 64px; background: var(--c); }
.cr-phero::before { content: ""; position: absolute; right: -12%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,164,58,.18), transparent 62%); pointer-events: none; }
.cr-phero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4cqi, 64px); align-items: center; }
.cr-phero.is-plain .cr-phero-grid { grid-template-columns: minmax(0, 1fr); }
.cr-phero-copy { display: flex; flex-direction: column; gap: 22px; padding-top: 40px; min-width: 0; }
.cr-crumbs { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--m); animation: cr-rise .8s var(--ease) both; }
.cr-crumbs::before { content: ""; width: 36px; height: 2px; background: var(--g); border-radius: 2px; }
.cr-crumbs a { color: var(--m); text-decoration: none; }
.cr-crumbs a:hover { color: var(--b); }
.cr-crumbs span:last-child { color: var(--b); opacity: .8; }
.cr-phero-h1 { margin: 0; font-weight: 900; font-size: clamp(46px, 6.4cqi, 96px); line-height: .92; letter-spacing: -.035em; color: var(--m); text-wrap: balance; animation: cr-rise 1s var(--ease) .1s both; }
.cr-phero-h1 em { position: relative; font-style: italic; color: var(--m); }
.cr-phero-h1 em::after { content: ""; position: absolute; left: 0; right: 0; bottom: .04em; height: .1em; border-radius: 4px; background: var(--g); opacity: .85; z-index: -1; transform-origin: left; animation: cr-swash .9s var(--ease) .8s both; }
@keyframes cr-swash { from { transform: scaleX(0); } to { transform: none; } }
.cr-phero-copy .cr-lead { max-width: 54ch; animation: cr-rise 1s var(--ease) .25s both; }
.cr-phero-date { margin: 0; font-weight: 700; color: var(--b); }
.cr-phero .cr-hero-ctas { animation-delay: .4s; }
.cr-phero .cr-hero-meta { animation-delay: .55s; }
.cr-hero-meta a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.cr-hero-meta a:hover { color: var(--m); }

.cr-phero-stage { position: relative; justify-self: end; width: min(500px, 100%); aspect-ratio: 1 / 1; }
.cr-phero-stage .cr-disc { inset: 9%; }
.cr-phero-pic { position: absolute; inset: 4%; z-index: 2; display: grid; place-items: center; animation: cr-pzIn 1.6s var(--ease) .1s both; }
.cr-phero-pic img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 30px rgba(60,18,6,.42)) drop-shadow(0 8px 10px rgba(60,18,6,.22)); }
.cr-phero-pic.is-photo { inset: 14%; border-radius: 50%; overflow: hidden; border: 6px solid var(--c); box-shadow: 0 30px 50px -24px rgba(60,18,6,.6); animation-name: cr-popIn; }
.cr-phero-pic.is-photo img { object-fit: cover; filter: none; }
.cr-phero-stage .cr-hours-chip { right: 0; top: 10%; }

/* Trust bar */
.cr-tstrip { position: relative; z-index: 4; padding: 28px 0 8px; background: var(--c); }
.cr-tstrip-list { list-style: none; margin: 0; padding: 8px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; border-radius: 28px; background: #fff; border: 1px solid rgba(216,154,30,.35); box-shadow: 0 18px 40px -30px rgba(90,42,24,.45); }
.cr-tstrip-list li { position: relative; }
.cr-tstrip-list li + li::before { content: ""; position: absolute; left: -2px; top: 22%; bottom: 22%; width: 1px; background: rgba(122,18,24,.1); }
.cr-tstrip-list li > a { text-decoration: none; color: inherit; }
.cr .cr-tstrip-ic { color: var(--g); }
.cr-tstrip-list li, .cr-tstrip-list li > a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 20px; }
.cr-tstrip-list li > a { padding: 0; margin: 0; flex: 1; transition: color .25s; }
.cr-tstrip-list li:has(a):hover { background: #FBF5E6; }
.cr-tstrip-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: var(--g); }
.cr-tstrip-ic svg { width: 22px; height: 22px; }
.cr-tstrip-t { display: grid; line-height: 1.2; min-width: 0; }
.cr-tstrip-t b { font-weight: 900; font-size: 16px; color: var(--m); }
.cr-tstrip-t small { font-size: 13px; color: var(--b); opacity: .8; }

/* The homepage's buttons, labels and headings, used on the inner pages too */
.cr .btn { border-radius: 999px; }
.cr .btn::after { border-radius: 999px; }
.cr .eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .16em; }
.cr .eyebrow::before { width: 36px; height: 2px; }
.cr .h2 { font-size: clamp(36px, 5cqi, 68px); line-height: .98; }
.cr .section { padding-block: clamp(72px, 8cqi, 120px); }
.cr .deal, .cr .way, .cr .promise, .cr .step, .cr .zone, .cr .side, .cr .gcard, .cr .visit, .cr details, .cr .cform, .cr .preview { border-radius: 28px; }
.cr .mchip { padding: 11px 18px; }

@container cr (max-width: 1023px) {
  .cr-phero { padding-top: 140px; }
  .cr-phero-grid { grid-template-columns: 1fr; }
  .cr-phero-copy { padding-top: 0; }
  .cr-phero-stage { justify-self: center; width: min(380px, 86%); order: 2; }
  .cr-tstrip-list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 6px; }
  .cr-tstrip-list li:nth-child(4)::before { display: none; }
}
@container cr (max-width: 767px) {
  .cr-phero { padding: 124px 0 32px; }
  .cr-phero-h1 { font-size: clamp(42px, 13cqi, 64px); }
  .cr-phero .cr-hero-ctas .cr-btn { flex: 1 1 100%; }
  .cr-phero-stage { width: min(320px, 90%); }
  .cr-tstrip { padding-top: 20px; }
  .cr-tstrip-list { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 22px; }
  .cr-tstrip-list li::before { display: none; }
  .cr-tstrip-list li:first-child { grid-column: 1 / -1; }
  .cr-tstrip-ic { width: 38px; height: 38px; }
  .cr-tstrip-t b { font-size: 14.5px; }
  .cr-tstrip-t small { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .cr-crumbs, .cr-phero-h1, .cr-phero-copy .cr-lead, .cr-phero-pic, .cr-phero-h1 em::after { animation: none !important; }
}
.cr-phero-pic:not(.is-photo) { inset: 13%; }
.cr-phero-h1 em::after { display: none; }
.cr-phero-h1 em { background: linear-gradient(transparent 70%, rgba(216,154,30,.45) 70% 92%, transparent 92%); padding: 0 .05em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* ==========================================================================
   Unique page heroes (Oct 2026) — same language as the homepage,
   a different composition on every page.
   ========================================================================== */
.cr-hx { position: relative; overflow: hidden; padding: 150px 0 72px; background: var(--c); }
.cr-hx-h1 { margin: 14px 0 0; font-weight: 900; font-size: clamp(48px, 7cqi, 108px); line-height: .9; letter-spacing: -.035em; color: var(--m); text-wrap: balance; animation: cr-rise 1s var(--ease) .1s both; }
.cr-hx-hl { position: relative; display: inline-block; font-style: italic; }
.cr-hx-hl::after { content: ""; position: absolute; left: 0; right: 0; bottom: .02em; height: .13em; border-radius: 6px; background: var(--g); opacity: .55; z-index: -1; transform-origin: left; animation: cr-swash .9s var(--ease) .7s both; }
.cr-hx .cr-lead { margin-top: 20px; animation: cr-rise 1s var(--ease) .25s both; }
.cr-hx .cr-hero-ctas { margin-top: 28px; animation-delay: .4s; }
.cr-crumbs.is-dark, .cr-crumbs.is-dark a { color: var(--g); }
.cr-crumbs.is-dark span:last-child { color: var(--c); }
.cr-hx-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.cr-hx-badges span { padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid rgba(216,154,30,.45); font-size: 13.5px; font-weight: 700; color: var(--m); }

/* Menu — food bubbles */
.cr-hx-menu { padding-bottom: 56px; background: radial-gradient(70% 60% at 85% 0%, rgba(244,164,58,.22), transparent 70%), var(--c); }
.cr-hx-menu-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: end; }
.cr-hx-menu-side .cr-lead { margin-top: 0; }
.cr-bubbles { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 16px; }
.cr-bubbles li { animation: cr-rise .9s var(--ease) both; animation-delay: calc(.35s + var(--i) * .07s); }
.cr-bubbles a { display: grid; justify-items: center; gap: 12px; text-decoration: none; color: var(--m); }
.cr-bubble { position: relative; width: 100%; max-width: 150px; aspect-ratio: 1; border-radius: 50%; background: #fff; display: grid; place-items: center; box-shadow: 0 1px 0 rgba(90,42,24,.05), 0 22px 40px -26px rgba(90,42,24,.55); border: 1px solid rgba(216,154,30,.35); transition: transform .7s var(--ease), box-shadow .7s var(--ease), background .4s; }
.cr-bubble img { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 10px 10px rgba(60,18,6,.22)); transition: transform .9s var(--ease); }
.cr-bubbles li:nth-child(odd) .cr-bubble { transform: translateY(14px); }
.cr-bubbles a:hover .cr-bubble { transform: translateY(-8px); background: var(--m); box-shadow: 0 30px 50px -24px rgba(122,18,24,.65); }
.cr-bubbles a:hover .cr-bubble img { transform: rotate(-12deg) scale(1.08); }
.cr-bubbles b { font-weight: 900; font-size: 16px; }

/* Deals — dark deal board */
.cr-hx-deals { background: var(--m); color: var(--c); padding-bottom: 96px; }
.cr-hx-deals::before { content: ""; position: absolute; inset: 0; background-image: var(--pattern); background-size: 220px; opacity: .06; pointer-events: none; }
.cr-hx-deals-art { position: absolute; right: -10%; top: 50%; width: min(760px, 58%); aspect-ratio: 1; translate: 0 -46%; pointer-events: none; }
.cr-hx-deals-art::before { content: ""; position: absolute; inset: -4%; border-radius: 50%; border: 1.5px dashed rgba(216,154,30,.5); animation: cr-spin 80s linear infinite; }
.cr-hx-deals-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 40px 40px rgba(0,0,0,.5)); animation: cr-pzIn 1.6s var(--ease) .1s both; }
.cr-hx-deals-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.cr-hx-deals-copy { max-width: 620px; }
.cr-hx-kicker { margin: 14px 0 0; display: inline-flex; padding: 6px 14px; border-radius: 999px; background: rgba(246,239,217,.1); border: 1px solid rgba(216,154,30,.5); font-size: 13px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--g); }
.cr-hx-deals .cr-hx-h1 { color: var(--c); }
.cr-hx-big { font-size: 1.35em; color: var(--g); }
.cr-hx-gold { font-style: italic; color: var(--o); }
.cr-hx-deals .cr-lead { color: rgba(246,239,217,.85); }
.cr-hx-sticker { position: relative; z-index: 2; display: grid; justify-items: center; align-content: center; gap: 2px; width: 230px; aspect-ratio: 1; margin-bottom: -20px; border-radius: 50%; background: var(--r); color: #FFF8EC; text-align: center; padding: 24px; rotate: -10deg; box-shadow: 0 30px 50px -20px rgba(0,0,0,.55), inset 0 0 0 6px rgba(255,248,236,.18); animation: cr-popIn 1s var(--ease) .7s both; }
.cr-hx-sticker span { font-size: 13px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.cr-hx-sticker b { font-size: 46px; font-weight: 900; line-height: 1; letter-spacing: -.02em; }
.cr-hx-sticker small { font-size: 12.5px; font-weight: 700; opacity: .9; max-width: 15ch; }

/* Delivery — scooter route */
.cr-hx-delivery { background: linear-gradient(180deg, var(--c) 0%, #F2E6C8 100%); padding-bottom: 64px; }
.cr-hx-delivery-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; }
.cr-hx-scooter { width: min(420px, 34vw); filter: drop-shadow(0 30px 30px rgba(60,18,6,.3)); animation: cr-ride 1.4s var(--ease) .2s both, cr-floatY 3.2s ease-in-out 1.6s infinite; }
@keyframes cr-ride { from { opacity: 0; transform: translateX(-120px) rotate(-4deg); } to { opacity: 1; transform: none; } }
.cr-route { list-style: none; margin: 48px 0 0; padding: 0; position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; }
.cr-route::before { content: ""; position: absolute; left: 12px; right: 12px; top: 11px; border-top: 3px dashed rgba(122,18,24,.35); }
.cr-route li { position: relative; display: grid; gap: 4px; padding-top: 36px; animation: cr-rise .8s var(--ease) both; }
.cr-route li:nth-child(2) { animation-delay: .5s; } .cr-route li:nth-child(3) { animation-delay: .6s; } .cr-route li:nth-child(4) { animation-delay: .7s; } .cr-route li:nth-child(5) { animation-delay: .8s; }
.cr-route-dot { position: absolute; top: 0; left: 0; width: 25px; height: 25px; border-radius: 50%; background: var(--c); border: 3px solid var(--m); }
.cr-route li.is-home .cr-route-dot { background: var(--m); box-shadow: 0 0 0 6px rgba(122,18,24,.15); }
.cr-route b { font-size: 26px; font-weight: 900; color: var(--m); line-height: 1; }
.cr-route li.is-home b { font-size: 18px; }
.cr-route small { font-size: 13.5px; font-weight: 700; color: var(--b); }

/* About — editorial */
.cr-hx-about { background: var(--w); }
.cr-hx-about-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5cqi, 80px); align-items: center; }
.cr-hx-editorial { font-size: clamp(56px, 8.6cqi, 136px); line-height: .86; }
.cr-hx-editorial span { display: block; color: transparent; -webkit-text-stroke: 2px var(--m); font-style: italic; }
.cr-hx-stats { margin: 34px 0 0; display: flex; flex-wrap: wrap; gap: 0; border-top: 2px solid var(--g); padding-top: 22px; }
.cr-hx-stats div { padding-right: 34px; margin-right: 34px; border-right: 1px solid rgba(122,18,24,.15); }
.cr-hx-stats div:last-child { border: 0; margin: 0; padding: 0; }
.cr-hx-stats dt { font-size: clamp(32px, 3.4cqi, 48px); font-weight: 900; color: var(--m); line-height: 1; letter-spacing: -.02em; }
.cr-hx-stats dd { margin: 6px 0 0; font-size: 14px; font-weight: 700; color: var(--b); }
.cr-hx-about-art { position: relative; justify-self: end; width: min(440px, 100%); }
.cr-hx-arch { aspect-ratio: 4 / 5; border-radius: 999px 999px 32px 32px; overflow: hidden; border: 2px solid var(--g); outline: 1px dashed rgba(216,154,30,.7); outline-offset: 10px; box-shadow: 0 40px 60px -36px rgba(60,18,6,.6); animation: cr-popIn 1.2s var(--ease) .2s both; }
.cr-hx-arch img { width: 100%; height: 100%; object-fit: cover; }
.cr-hx-chef { position: absolute; left: -22%; bottom: -6%; width: 46%; padding: 10px; border-radius: 28px; background: var(--c); border: 2px solid var(--g); rotate: -8deg; box-shadow: 0 24px 40px -22px rgba(60,18,6,.6); animation: cr-popIn 1s var(--ease) .8s both; }
.cr-hx-chef img { width: 100%; mix-blend-mode: multiply; }

/* Contact — phone lines and storefront */
.cr-hx-contact-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5cqi, 72px); align-items: center; }
.cr-hx-live { margin: 16px 0 0; display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 12px; border-radius: 999px; background: #fff; border: 1px solid rgba(122,18,24,.12); font-size: 14px; font-weight: 700; color: var(--m); }
.cr-hx-live i { width: 10px; height: 10px; border-radius: 50%; background: #2FA35A; box-shadow: 0 0 0 0 rgba(47,163,90,.6); animation: cr-livePulse 2s infinite; }
.cr-hx-live.is-closed i { background: var(--g); animation: none; }
@keyframes cr-livePulse { 70%, 100% { box-shadow: 0 0 0 10px rgba(47,163,90,0); } }
.cr-hx-lines { display: grid; gap: 14px; margin-top: 34px; max-width: 520px; }
.cr-hx-line { display: flex; align-items: center; gap: 18px; padding: 18px 22px; border-radius: 26px; background: #fff; border: 1px solid rgba(122,18,24,.08); box-shadow: 0 18px 40px -30px rgba(90,42,24,.5); text-decoration: none; color: var(--b); transition: transform .6s var(--ease), box-shadow .6s var(--ease); animation: cr-rise .9s var(--ease) .45s both; }
.cr-hx-line.is-wa { animation-delay: .55s; }
.cr-hx-line:hover { transform: translateY(-4px); box-shadow: 0 28px 50px -28px rgba(90,42,24,.6); color: var(--b); }
.cr-hx-line-ic { flex: none; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: var(--c); }
.cr-hx-line.is-wa .cr-hx-line-ic { background: #1F9E55; }
.cr-hx-line-ic svg { width: 26px; height: 26px; }
.cr-hx-line small { display: block; font-size: 12.5px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--g); }
.cr-hx-line b { display: block; font-size: clamp(24px, 2.4cqi, 32px); font-weight: 900; color: var(--m); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.cr-hx-line em { font-style: normal; font-weight: 700; font-size: 15px; }
.cr-hx-store { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 36px; overflow: hidden; box-shadow: 0 40px 70px -40px rgba(60,18,6,.7); animation: cr-popIn 1.2s var(--ease) .2s both; }
.cr-hx-store img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.cr-hx-store:hover img { transform: scale(1.05); }
.cr-hx-store-tag { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 22px; background: rgba(251,247,236,.96); color: var(--b); }
.cr-hx-store-tag svg { flex: none; width: 26px; height: 26px; color: var(--m); }
.cr-hx-store-tag b { display: block; color: var(--m); font-weight: 900; }
.cr-hx-store-tag small { display: block; font-size: 13px; }

@container cr (max-width: 1023px) {
  .cr-hx { padding-top: 150px; }
  .cr-hx-menu-top, .cr-hx-about-grid, .cr-hx-contact-grid, .cr-hx-delivery-top { grid-template-columns: 1fr; }
  .cr-bubbles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cr-hx-deals-art { position: relative; right: auto; top: auto; translate: none; width: 80%; margin: -20px auto -60px; display: block; }
  .cr-hx-deals { display: flex; flex-direction: column; }
  .cr-hx-deals-art { order: 2; }
  .cr-hx-deals-grid { grid-template-columns: 1fr; }
  .cr-hx-sticker { position: absolute; right: 16px; bottom: -150px; width: 180px; }
  .cr-hx-sticker b { font-size: 36px; }
  .cr-hx-scooter { width: min(340px, 70%); justify-self: center; }
  .cr-route { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-route::before { display: none; }
  .cr-hx-about-art { justify-self: center; width: min(360px, 80%); margin: 20px 0 30px; }
  .cr-hx-store { aspect-ratio: 4 / 3; }
}
@container cr (max-width: 767px) {
  .cr-hx { padding: 130px 0 48px; }
  .cr-hx-h1 { font-size: clamp(42px, 13cqi, 64px); }
  .cr-hx-editorial { font-size: clamp(54px, 16cqi, 76px); }
  .cr-hx .cr-hero-ctas .cr-btn { flex: 1 1 100%; }
  .cr-bubbles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 32px; }
  .cr-bubbles li:nth-child(odd) .cr-bubble { transform: none; }
  .cr-bubbles b { font-size: 13px; }
  .cr-hx-stats div { padding-right: 18px; margin-right: 18px; }
  .cr-hx-chef { left: -10%; width: 42%; }
  .cr-hx-sticker { width: 150px; bottom: -120px; padding: 16px; }
  .cr-hx-sticker b { font-size: 28px; }
  .cr-hx-sticker small { display: none; }
  .cr-hx-line { padding: 14px 16px; gap: 14px; }
  .cr-hx-line-ic { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .cr-hx *, .cr-hx *::before, .cr-hx *::after { animation: none !important; }
}
.cr-hx { margin-top: -84px; }
@container cr (max-width: 767px) { .cr-hx { margin-top: -72px; } }
.cr-hx { padding-top: 220px; }
@container cr (max-width: 1023px) { .cr-hx { padding-top: 230px; } }
@container cr (max-width: 767px) { .cr-hx { padding-top: 200px; } }

/* Customer reviews */
.cr-reviews { background: var(--w); }
.cr-rev-score { display: flex; align-items: center; gap: 14px; padding: 12px 22px 12px 14px; border-radius: 999px; background: #fff; border: 1px solid rgba(216,154,30,.45); text-decoration: none; color: var(--b); box-shadow: 0 16px 34px -26px rgba(90,42,24,.5); }
.cr-rev-score b { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: var(--g); font-size: 24px; font-weight: 900; }
.cr-rev-score small { display: block; font-weight: 700; }
.cr-rev-stars { color: var(--g); letter-spacing: 2px; font-size: 18px; }
.cr-rev-stars i { font-style: normal; color: rgba(90,42,24,.2); }
.cr-rev-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cr-rev { margin: 0; display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: 28px; background: #fff; border: 1px solid rgba(216,154,30,.3); box-shadow: 0 20px 44px -34px rgba(90,42,24,.55); transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.cr-rev:hover { transform: translateY(-5px); box-shadow: 0 30px 56px -32px rgba(90,42,24,.6); }
.cr-rev-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cr-rev-g { padding: 4px 10px; border-radius: 999px; background: #F6F0E2; font-size: 12px; font-weight: 900; color: var(--b); }
.cr-rev blockquote { margin: 0; flex: 1; font-size: 16.5px; line-height: 1.6; color: var(--b); }
.cr-rev blockquote::before { content: "“"; display: block; height: 30px; font-size: 64px; line-height: 1; font-weight: 900; color: var(--g); }
.cr-rev figcaption { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px dashed rgba(90,42,24,.2); }
.cr-rev-av { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: var(--c); font-weight: 900; }
.cr-rev figcaption b { display: block; color: var(--m); }
.cr-rev figcaption small { font-size: 13px; }
.cr-rev-cta { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
@container cr (max-width: 1023px) { .cr-rev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container cr (max-width: 767px) { .cr-rev-grid { grid-template-columns: 1fr; } .cr-rev-cta .cr-btn { flex: 1 1 100%; } }
.cr-rev-widget { min-height: 200px; }
.cr-rev-widget .ti-widget { font-family: Lato, "Helvetica Neue", Arial, sans-serif !important; }

/* ---------- Header v2 (Oct 2026): logo sits inside the bar, centred with the menu ----------
   --hd is the bar height; every hero that slides under the header uses it, so they always line up. */
.cr { --hd: 104px; }
.cr-hd-bar { height: var(--hd); padding-left: 0; gap: 28px; }
.cr[data-scrolled="1"] .cr-hd-bar { height: calc(var(--hd) - 22px); }
.cr-logo-tab { position: relative; top: auto; left: auto; width: auto; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; display: flex; align-items: center; flex: none; transition: padding .35s var(--ease), background-color .35s; }
.cr[data-scrolled="1"] .cr-logo-tab { box-shadow: none; }
.cr[data-hide="1"] .cr-logo-tab, .cr[data-instory="1"] .cr-logo-tab { transform: none; }
.cr-logo-tab img { width: auto; height: 88px; transition: height .35s var(--ease); }
.cr[data-scrolled="1"] .cr-logo-tab img { height: 66px; }
.cr-nav { flex: 1; justify-content: center; margin-right: 0; }
/* Deals page: dark band at the top, so the logo keeps a cream badge until the bar turns cream */
.cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab { background: var(--c); border-radius: 16px; padding: 4px 10px; }
.cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab img { height: 80px; }

/* heroes: start right under the bar */
.cr-hero { padding-top: 40px; }
.cr .phero, .cr .wc-head, .cr-hx { margin-top: calc(-1 * var(--hd)); }
.cr .phero .wrap, .cr .wc-head .wrap { padding-top: calc(var(--hd) + 48px); }
.cr-hx { padding-top: calc(var(--hd) + 64px); }
.cr-phero { padding-top: 56px; }

@container cr (max-width: 1023px) {
  .cr-logo-tab { margin-right: auto; }
  .cr-hero { padding-top: 24px; }
  .cr-phero { padding-top: 40px; }
  .cr-hx { padding-top: calc(var(--hd) + 48px); }
}
@container cr (max-width: 767px) {
  .cr { --hd: 80px; }
  .cr-hd-bar { justify-content: space-between; }
  .cr[data-scrolled="1"] .cr-hd-bar { height: calc(var(--hd) - 12px); }
  .cr-logo-tab img { height: 66px; }
  .cr[data-scrolled="1"] .cr-logo-tab img { height: 54px; }
  .cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab img { height: 60px; }
  .cr-hero { padding-top: 8px; }
  .cr-phero { padding-top: 28px; }
  .cr .phero .wrap, .cr .wc-head .wrap { padding-top: calc(var(--hd) + 32px); }
  .cr-hx { padding-top: calc(var(--hd) + 36px); }
}
/* logo is a real cut-out now (chef-logo-cut.webp) — no blending needed, sits on any background */
.cr-logo-tab img { mix-blend-mode: normal; filter: drop-shadow(0 6px 10px rgba(90,42,24,.18)); }

/* Favorites cards: every photo sits in the same box, centred, never poking out of the card.
   The size buttons still grow the pizza (scale .72 → 1) inside that box. */
.cr-card-media { height: 230px; align-items: center; padding-top: 14px; }
.cr-card-media img, .cr-card-media img.is-cut { width: 100%; max-width: 250px; height: 200px; margin: 0; object-fit: contain; object-position: center; }
.cr-card-media img.is-photo { width: 190px; height: 190px; max-width: none; margin: 0; }

/* Deals hero: the pizza sits below the header bar, not under the buttons */
.cr-hx-deals-art { top: calc(50% + var(--hd) / 2); width: min(700px, 52%); }
.cr-hx-deals-copy .cr-hx-kicker { margin-top: 18px; }
/* a slightly larger logo in the bar */
.cr-logo-tab img { height: 94px; }
@container cr (max-width: 767px) { .cr-logo-tab img { height: 66px; } }
.cr-crumbs { margin-bottom: 14px; }
.cr-hx-deals-copy .cr-hx-kicker { margin-top: 4px; }
/* logo lines up with the page content (the bar is a .cr-wrap, keep its side gutter) */
.cr-hd-bar { padding-left: var(--gut); }
@container cr (max-width: 1023px) {
  .cr-hx-deals-art { top: auto; margin: 36px auto -60px; }
}

/* ---------- Cart / checkout / order received: cream page head (the menu stays readable) ---------- */
.cr .wc-head { background: linear-gradient(180deg, var(--c) 0%, var(--c2) 100%); color: var(--b); border-bottom: 1px solid rgba(216,154,30,.35); }
.cr .wc-head .wrap { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; padding-bottom: 36px; }
.cr .wc-head-copy { display: grid; gap: 4px; }
.cr .wc-head h1 { color: var(--m); font-size: clamp(38px, 5cqi, 64px); font-weight: 900; line-height: 1; letter-spacing: -.03em; text-transform: none; }
.cr .wc-steps li { background: var(--w); color: var(--b); border: 1px solid rgba(216,154,30,.4); }
.cr .wc-steps li::before { background: var(--c2); color: var(--m); }
.cr .wc-steps li.is-done::before { content: "✓"; background: var(--g); color: var(--m); }
.cr .wc-steps li[aria-current] { background: var(--m); color: var(--c); border-color: var(--m); }
.cr .wc-steps li[aria-current]::before { background: var(--g); color: var(--m); }

/* ---------- Order received ---------- */
.cr .wc-page .cr-ty { display: block; }
.cr-ty-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.cr-ty-main, .cr-ty-side { display: grid; gap: 20px; min-width: 0; }
.cr-ty-side { position: sticky; top: calc(var(--hd) - 4px); }
.cr-ty-card { position: relative; padding: clamp(22px, 3cqi, 34px); border-radius: 26px; background: #fff; border: 1px solid rgba(216,154,30,.3); box-shadow: 0 24px 40px -34px rgba(90,42,24,.55); }
.cr-ty-card h3 { font-size: 20px; font-weight: 900; color: var(--m); margin-bottom: 14px; }

.cr-ty-status { background: var(--m); color: var(--c); border: 0; overflow: hidden; }
.cr-ty-status::after { content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px dashed rgba(216,154,30,.45); pointer-events: none; }
.cr-ty-tick { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--g); color: var(--m); margin-bottom: 18px; box-shadow: 0 0 0 8px rgba(216,154,30,.18); animation: cr-tyPop .7s var(--ease) both; }
.cr-ty-tick svg { width: 30px; height: 30px; }
@keyframes cr-tyPop { from { transform: scale(.4); opacity: 0; } }
.cr-ty-eyebrow { font-size: 13px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--g); }
.cr-ty-status h2 { color: var(--c); font-size: clamp(32px, 4cqi, 48px); font-weight: 900; line-height: 1.05; letter-spacing: -.02em; margin: 6px 0 10px; }
.cr-ty-lead { color: rgba(246,239,217,.85); font-size: 17px; max-width: 46ch; }

.cr-ty-steps { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.cr-ty-steps li { position: relative; display: grid; gap: 2px; padding-top: 30px; }
.cr-ty-steps li::before { content: ""; position: absolute; top: 9px; left: 22px; right: -10px; height: 2px; background: rgba(246,239,217,.2); }
.cr-ty-steps li:last-child::before { display: none; }
.cr-ty-steps li.is-done::before { background: var(--g); }
.cr-ty-dot { position: absolute; top: 0; left: 0; width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(246,239,217,.4); background: var(--m); }
.cr-ty-steps li.is-done .cr-ty-dot { background: var(--g); border-color: var(--g); }
.cr-ty-steps li.is-now .cr-ty-dot { border-color: var(--g); box-shadow: 0 0 0 0 rgba(216,154,30,.6); animation: cr-tyPulse 1.8s ease-out infinite; }
.cr-ty-steps li.is-now .cr-ty-dot::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--g); }
@keyframes cr-tyPulse { to { box-shadow: 0 0 0 12px rgba(216,154,30,0); } }
.cr-ty-steps b { font-size: 15px; color: var(--c); }
.cr-ty-steps li:not(.is-done):not(.is-now) b { color: rgba(246,239,217,.6); }
.cr-ty-steps small { font-size: 12.5px; color: rgba(246,239,217,.65); line-height: 1.35; }
.cr-ty-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.cr-ty-status.is-bad { background: #fff; color: var(--b); border: 1px solid rgba(198,58,43,.35); }
.cr-ty-status.is-bad::after { display: none; }
.cr-ty-status.is-bad h2 { color: var(--r); }
.cr-ty-status.is-bad .cr-btn-ol { color: var(--m); border-color: rgba(122,18,24,.35); }

.cr-ty-paymethod { font-weight: 700; color: var(--b); }
.cr-ty-paymethod b { color: var(--m); font-weight: 900; }
.cr-ty-payinfo { margin-top: 8px; color: var(--b); font-size: 15px; }
.cr-ty-payinfo p { margin: 0 0 8px; }
.cr-ty-payinfo h2, .cr-ty-payinfo h3 { font-size: 16px; font-weight: 900; color: var(--m); margin: 12px 0 6px; }
.cr-ty-payinfo ul { list-style: none; margin: 0; padding: 12px 16px; border-radius: 14px; background: var(--c); display: grid; gap: 4px; }
.cr-ty-pay.is-online { border: 2px solid var(--g); }

.cr-ty-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cr-ty-items li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: baseline; }
.cr-ty-qty { min-width: 34px; padding: 2px 8px; border-radius: 999px; background: var(--c); color: var(--m); font-weight: 900; font-size: 14px; text-align: center; }
.cr-ty-name { font-weight: 700; color: var(--b); }
.cr-ty-price { font-weight: 700; color: var(--m); white-space: nowrap; }
.cr-ty-totals { margin: 18px 0 0; padding-top: 14px; border-top: 1px dashed rgba(90,42,24,.3); display: grid; gap: 8px; }
.cr-ty-totals div { display: flex; justify-content: space-between; gap: 12px; }
.cr-ty-totals dt { color: var(--b); opacity: .8; }
.cr-ty-totals dd { margin: 0; font-weight: 700; color: var(--b); text-align: right; }
.cr-ty-totals .is-total { margin-top: 6px; padding-top: 12px; border-top: 2px solid var(--g); align-items: baseline; }
.cr-ty-totals .is-total dt { opacity: 1; font-weight: 900; color: var(--m); }
.cr-ty-totals .is-total dd { font-size: 26px; font-weight: 900; color: var(--m); }
.cr-ty-totals small { display: none; }

.cr-ty-where p { color: var(--b); line-height: 1.6; }
.cr-ty-where b { color: var(--m); }
.cr-ty-phone { margin-top: 8px; font-weight: 700; }
.cr-ty-note { margin-top: 10px; padding: 10px 14px; border-radius: 12px; background: var(--c); font-style: italic; }
.cr .wc-page a.cr-ty-more { justify-self: start; font-weight: 900; color: var(--m); text-decoration: none; border-bottom: 2px solid var(--g); padding-bottom: 2px; }
.cr .wc-page .cr-ty a.cr-btn-g { color: var(--m); }
.cr .wc-page .cr-ty-status:not(.is-bad) a.cr-btn-ol { color: var(--c); }

@container cr (max-width: 1023px) {
  .cr-ty-grid { grid-template-columns: 1fr; }
  .cr-ty-side { position: static; }
}
@container cr (max-width: 600px) {
  .cr-ty-steps { grid-template-columns: 1fr 1fr; row-gap: 18px; }
  .cr-ty-steps li:nth-child(2)::before { display: none; }
  .cr-ty-btns .cr-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .cr-ty-tick, .cr-ty-steps li.is-now .cr-ty-dot { animation: none; } }
.cr .wc-section { padding-top: clamp(28px, 4cqi, 44px); }
.cr .wc-page .return-to-shop .button { border-radius: 999px; padding: 0 30px; }

/* footer links line up with the plain text; the gold dash only takes space on hover */
.cr-ft li a { gap: 0; }
.cr-ft li a::before { margin-right: 0; transition: width .35s var(--ease), margin-right .35s var(--ease); }
.cr-ft li a:hover::before { margin-right: 8px; }

/* Deal cards: what is inside, as food chips */
.cr .deal { grid-template-rows: auto 1fr auto; }
.cr .deal h3.deal__inc { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; font-size: 15.5px; line-height: 1.2; }
.cr .deal__chip { display: inline-flex; align-items: center; gap: 9px; padding: 5px 14px 5px 5px; border-radius: 999px; background: rgba(246,239,217,.1); border: 1px solid rgba(246,239,217,.18); color: var(--c); font-weight: 800; }
.cr .deal__chip img { width: 34px; height: 34px; border-radius: 50%; object-fit: contain; background: #fff; padding: 2px; flex: none; }
.cr .deal--hot .deal__chip { background: #fff; border-color: rgba(216,154,30,.4); color: var(--m); box-shadow: 0 6px 14px -10px rgba(90,42,24,.5); }
.cr .deal:hover .deal__chip img { transform: rotate(-8deg) scale(1.06); }
.cr .deal__chip img { transition: transform .45s var(--ease); }
/* wide deal cards get a big photo of the main dish in the open space */
.cr .deal__art { display: none; }
.cr .deal--wide { overflow: hidden; }
.cr .deal--wide .deal__art { display: block; position: absolute; z-index: 0; left: 52%; top: 50%; width: min(200px, 26%); aspect-ratio: 1; object-fit: contain; translate: -50% -56%; filter: drop-shadow(0 22px 22px rgba(60,18,6,.35)); pointer-events: none; transition: transform .6s var(--ease); }
.cr .deal--wide:hover .deal__art { transform: rotate(-6deg) scale(1.05); }
.cr .deal--wide > :not(.deal__art) { position: relative; z-index: 1; }
.cr .deal--wide .deal__inc { max-width: 42%; }
@container cr (max-width: 767px) { .cr .deal--wide .deal__art { display: none; } .cr .deal--wide .deal__inc { max-width: none; } }

/* ---------- Wider layout + a calmer homepage hero (Oct 2026) ----------
   Wide screens get more room instead of big empty strips at the sides. */
.cr-wrap { max-width: 1520px; }
.cr-hero { min-height: min(860px, calc(100svh - var(--hd))); padding: 24px 0 56px; display: flex; align-items: center; }
.cr-hero > .cr-wrap { width: 100%; }
.cr-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 4cqi, 72px); }
.cr-hero-copy { gap: 24px; padding-top: 0; }
.cr-h1 { font-size: clamp(54px, 6.3cqi, 98px); line-height: .92; }
.cr-hero-copy .cr-lead { max-width: 52ch; }
.cr-stage { max-width: 640px; justify-self: center; }
@container cr (max-width: 1023px) {
  .cr-hero { min-height: 0; display: block; padding: 24px 0 56px; }
  .cr-stage { max-width: 520px; }
}
@container cr (max-width: 767px) {
  .cr-hero { padding: 8px 0 40px; }
  .cr-h1 { font-size: clamp(46px, 13cqi, 68px); }
}
@container cr (max-width: 1023px) {
  .cr-hero-grid { grid-template-columns: 1fr; gap: 8px; }
  .cr-stage { justify-self: center; order: -1; width: 100%; }
}

/* ---------- Header v3: one floating cream bar, everything inside it ----------
   The logo, menu, cart and Order Now share one rounded bar, so nothing floats loose.
   --hd (104px / 80px) still measures the whole header, so the heroes keep lining up. */
.cr-hd::before { display: none; }
.cr-hd-bar {
  width: calc(100% - 2 * var(--gut)); max-width: calc(1520px - 2 * var(--gut));
  height: 80px; margin: 12px auto; padding: 0 10px 0 18px; gap: 20px;
  background: rgba(251,247,236,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid rgba(216,154,30,.4); border-radius: 999px;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 18px 40px -28px rgba(90,42,24,.45);
  transition: box-shadow .35s var(--ease), height .35s var(--ease), margin .35s var(--ease);
}
.cr[data-scrolled="1"] .cr-hd-bar { height: 70px; margin: 8px auto 8px; box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 20px 40px -22px rgba(90,42,24,.55); }
.cr-logo-tab img, .cr[data-scrolled="1"] .cr-logo-tab img { height: 66px; filter: none; }
.cr[data-scrolled="1"] .cr-logo-tab img { height: 58px; }
.cr-nav a { font-size: 15.5px; }
.cr-hd-act .cr-btn-m { min-height: 54px; }
.cr-hd-act .cr-icon-btn { width: 52px; height: 52px; background: #fff; border-color: rgba(216,154,30,.45); }

/* Deals page: the bar is light on the dark band too, so it keeps its normal colours */
.cr[data-dark-top="1"] .cr-hd .cr-nav a { color: var(--b); }
.cr[data-dark-top="1"] .cr-hd .cr-nav .current-menu-item > a { color: var(--m); }
.cr[data-dark-top="1"] .cr-hd .cr-icon-btn { color: var(--m); border-color: rgba(216,154,30,.45); }
.cr[data-dark-top="1"] .cr-hd .cr-btn-m { background: var(--m); color: var(--c); }
.cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab { background: none; padding: 0; }
.cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab img { height: 66px; }

@container cr (max-width: 767px) {
  .cr-hd-bar, .cr[data-scrolled="1"] .cr-hd-bar { height: 62px; margin: 9px auto; padding: 0 7px 0 12px; }
  .cr-logo-tab img, .cr[data-scrolled="1"] .cr-logo-tab img,
  .cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab img { height: 52px; }
  .cr-hd-act { gap: 8px; }
  .cr-hd-act .cr-icon-btn { width: 46px; height: 46px; }
}
/* horizontal logo lockup: chef in a round badge + wordmark (reads clearly at bar size) */
.cr-logo-tab { gap: 12px; text-decoration: none; }
.cr-logo-mark { position: relative; flex: none; width: 60px; height: 60px; border-radius: 50%; background: var(--c); border: 2px solid var(--g); overflow: hidden; box-shadow: 0 8px 16px -10px rgba(90,42,24,.6); transition: width .35s var(--ease), height .35s var(--ease); }
.cr .cr-logo-mark img, .cr[data-scrolled="1"] .cr-logo-mark img, .cr[data-dark-top="1"]:not([data-scrolled="1"]) .cr-logo-tab .cr-logo-mark img { position: absolute; left: 50%; top: 4px; width: 112%; max-width: none; height: auto; translate: -50% 0; }
.cr[data-scrolled="1"] .cr-logo-mark { width: 52px; height: 52px; }
.cr-logo-word { display: grid; line-height: 1; }
.cr-logo-word b { font-size: 23px; font-weight: 900; letter-spacing: .02em; color: var(--m); }
.cr-logo-word small { margin-top: 4px; font-size: 10.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--g); }
.cr-logo-tab:hover .cr-logo-mark img { animation: cr-chefNod .8s var(--ease); }
@keyframes cr-chefNod { 40% { rotate: -6deg; } 80% { rotate: 3deg; } }
@container cr (max-width: 1180px) { .cr-logo-word small { display: none; } .cr-logo-word b { font-size: 20px; } }
@container cr (max-width: 767px) {
  .cr-logo-mark, .cr[data-scrolled="1"] .cr-logo-mark { width: 46px; height: 46px; }
  .cr-logo-word b { font-size: 19px; }
  .cr-logo-word small { display: block; font-size: 9px; letter-spacing: .16em; }
}

/* ---------- Favorites v2 (Oct 2026) ---------- */
/* heading row: title left; "See the full menu" + arrows side by side on the right */
#favorites .cr-sec-head { align-items: flex-end; margin-bottom: 8px; }
#favorites .cr-sec-head > .cr-fav-nav { flex-direction: row; align-items: center; gap: 10px; }
#favorites .cr-h2 { max-width: none; }
.cr-fav-all { display: inline-flex; align-items: center; gap: 8px; margin-right: 10px; font-weight: 900; color: var(--m); text-decoration: none; border-bottom: 2px solid var(--g); padding-bottom: 2px; }
.cr-fav-all svg { width: 18px; height: 18px; transition: translate .3s var(--ease); }
.cr-fav-all:hover svg { translate: 4px 0; }
#favorites .cr-fav-nav .cr-icon-btn { width: 52px; height: 52px; background: #fff; border-color: rgba(216,154,30,.45); }
#favorites .cr-fav-nav .cr-icon-btn svg { width: 20px; height: 20px; }

/* the row runs to the edge of the screen, so the next card peeks in instead of being cut off */
#favorites .cr-track {
  margin-right: calc((100% - 100cqi) / 2); padding: 40px var(--gut) 34px 4px;
  grid-auto-columns: clamp(280px, 21cqi, 330px); gap: 22px;
  scroll-padding-left: 4px;
}

/* card */
#favorites .cr-card { padding: 0 20px 20px; border-radius: 28px; background: #fff; border: 1px solid rgba(216,154,30,.28); }
#favorites .cr-card-media { height: 236px; margin: 0 -20px 6px; padding-top: 18px; background: none; align-items: center; isolation: isolate; }
/* a cream plate behind every dish */
#favorites .cr-card-media::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 52%; width: 200px; height: 200px; translate: -50% -50%; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #FFFDF6 0%, var(--c) 60%, var(--c2) 100%); box-shadow: 0 0 0 10px rgba(246,239,217,.55), inset 0 -10px 22px -12px rgba(90,42,24,.25); transition: scale .6s var(--ease); }
#favorites .cr-card:hover .cr-card-media::before { scale: 1.06; }
/* multiply melts white photo backgrounds (and their grey halos) into the plate */
#favorites .cr-card-media img, #favorites .cr-card-media img.is-cut { width: 100%; max-width: 230px; height: 190px; object-fit: contain; filter: none; mix-blend-mode: multiply; }
#favorites .cr-card-media img.is-photo { width: 170px; height: 170px; border-radius: 50%; object-fit: cover; mix-blend-mode: normal; border: 5px solid #fff; box-shadow: 0 18px 30px -16px rgba(60,18,6,.5); }

#favorites .cr-card-body { gap: 10px; padding: 0; }
#favorites .cr-card-top { align-items: center; min-height: 22px; }
#favorites .cr-card .cr-cat-l { font-size: 11.5px; letter-spacing: .16em; color: var(--g); opacity: 1; }
#favorites .cr-card .cr-tbc { background: var(--r); color: #fff; }
#favorites .cr-card h3 { font-size: 21px; }
#favorites .cr-card-top:has(h3) { align-items: flex-start; }
#favorites .cr-card .cr-price b.p { font-size: 21px; }
#favorites .cr-card p.cr-d { font-size: 14px; line-height: 1.5; opacity: .85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em; }
/* sizes: one tidy segmented row */
#favorites .cr-sizes { flex-wrap: nowrap; gap: 4px; padding: 4px; border-radius: 999px; background: var(--c); overflow-x: auto; scrollbar-width: none; }
#favorites .cr-sizes::-webkit-scrollbar { display: none; }
#favorites .size.cr-size { flex: 1 0 auto; min-width: 0; min-height: 36px; padding: 0 10px; border: 0; font-size: 12.5px; white-space: nowrap; color: var(--b); }
#favorites .size.cr-size[aria-pressed="true"] { background: #fff; color: var(--m); box-shadow: 0 4px 10px -6px rgba(90,42,24,.6); }
#favorites .cr-card .cr-btn { margin-top: auto; min-height: 50px; gap: 10px; }
#favorites .cr-card-body > .cr-btn { margin-top: auto; }
#favorites .cr-card .cr-btn svg { width: 18px; height: 18px; }
#favorites .cr-card-body > p.cr-d + .cr-btn, #favorites .cr-card-body > .cr-sizes + .cr-btn { margin-top: auto; }
#favorites .cr-card-body::after { content: none; }
#favorites .cr-card-body > :last-child { margin-top: auto; }

@container cr (max-width: 1023px) {
  #favorites .cr-sec-head > .cr-fav-nav .cr-icon-btn { display: none; }
}
@container cr (max-width: 767px) {
  #favorites .cr-fav-nav { display: flex; }
  #favorites .cr-track { grid-auto-columns: 78cqi; gap: 14px; }
}
#favorites .cr-sizes { overflow: visible; }
#favorites .size.cr-size { flex: 1 1 0; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-height: 44px; padding: 4px 2px; border-radius: 16px; line-height: 1.05; }
#favorites .size.cr-size b { font-size: 14px; font-weight: 900; }
#favorites .size.cr-size small { font-size: 10.5px; font-weight: 700; opacity: .8; }

/* Deals & Combos tile: a real combo spread instead of the illustrated pizza */
.cr-cat-dl .cr-media.cr-combo { left: 0; right: 0; top: 13%; bottom: 30%; }
.cr-combo img { position: absolute; width: auto; max-width: none; filter: drop-shadow(0 26px 24px rgba(60,10,4,.45)); transition: transform .8s var(--ease); }
.cr-combo-pz { width: 68% !important; left: 4%; top: 0; }
.cr-combo-dr { height: 66%; right: 2%; top: 2%; }
.cr-combo-bg { width: 44% !important; right: 14%; bottom: -6%; }
.cr-combo-fr { width: 34% !important; left: 8%; bottom: -12%; }
.cr-cat-dl:hover .cr-combo-pz { transform: rotate(14deg); }
.cr-cat-dl:hover .cr-combo-bg { transform: translateY(-8px) rotate(-4deg); }
.cr-cat-dl:hover .cr-combo-fr { transform: translateY(-6px) rotate(5deg); }
.cr-cat-dl:hover .cr-combo-dr { transform: translateY(-6px); }
@container cr (max-width: 1023px) { .cr-cat-dl .cr-media.cr-combo { left: 30%; right: 0; top: 6%; bottom: 8%; } }
@container cr (max-width: 767px) { .cr-cat-dl .cr-media.cr-combo { left: 0; top: 14%; bottom: 34%; } }
.cr-cat-dl .cr-combo img { height: auto; }
.cr-cat-dl .cr-combo .cr-combo-pz { width: 64% !important; left: 6%; top: 0; }
.cr-cat-dl .cr-combo .cr-combo-dr { width: 30% !important; right: 5%; top: 4%; }
.cr-cat-dl .cr-combo .cr-combo-bg { width: 40% !important; right: 20%; bottom: 0; }
.cr-cat-dl .cr-combo .cr-combo-fr { width: 32% !important; left: 10%; bottom: -2%; }
.cr-cat-dl h3, .cr-cat-dl p { position: relative; z-index: 2; }
@container cr (max-width: 767px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 54% !important; left: 8%; }
  .cr-cat-dl .cr-combo .cr-combo-dr { width: 26% !important; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 36% !important; bottom: 4%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 28% !important; bottom: 4%; }
}

/* Deals & Combos v2: one big pizza off the corner (like the pizza tile), burger + fries in front, price sticker */
.cr-cat-dl { overflow: hidden; isolation: isolate; }
.cr-cat-dl .cr-media.cr-combo { inset: 0; z-index: 0; }
.cr-cat-dl .cr-combo img { position: absolute; height: auto; filter: drop-shadow(0 28px 26px rgba(60,10,4,.5)); }
.cr-cat-dl .cr-combo .cr-combo-pz { width: 82% !important; right: -22%; left: auto; top: -16%; }
.cr-cat-dl .cr-combo .cr-combo-fr { width: 34% !important; left: 4%; top: 26%; bottom: auto; transform: rotate(-8deg); }
.cr-cat-dl .cr-combo .cr-combo-bg { width: 50% !important; left: 18%; top: 30%; right: auto; bottom: auto; }
.cr-cat-dl:hover .cr-combo-pz { transform: rotate(18deg); }
.cr-cat-dl:hover .cr-combo-fr { transform: rotate(-12deg) translateY(-6px); }
.cr-cat-dl:hover .cr-combo-bg { transform: translateY(-10px) rotate(-3deg); }
/* keep the words readable over the food */
.cr-cat-dl::after { content: ""; position: absolute; inset: auto 0 0 0; height: 48%; z-index: 1; background: linear-gradient(0deg, rgba(150,30,20,.95) 0%, rgba(198,58,43,.75) 45%, rgba(198,58,43,0) 100%); pointer-events: none; }
.cr-cat-dl h3, .cr-cat-dl p, .cr-cat-dl .cr-idx, .cr-cat-dl .cr-go { position: relative; z-index: 2; }
.cr-cat-dl .cr-go { position: absolute; }
.cr-combo-tag { position: absolute; z-index: 2; left: 26px; top: 64px; display: grid; place-items: center; align-content: center; width: 104px; height: 104px; border-radius: 50%; background: var(--g); color: var(--m); box-shadow: 0 0 0 6px rgba(216,154,30,.25), 0 18px 30px -14px rgba(60,10,4,.6); rotate: -10deg; text-align: center; line-height: 1; }
.cr-combo-tag small { font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.cr-combo-tag b { margin-top: 4px; font-size: 24px; font-weight: 900; letter-spacing: -.02em; }
@container cr (max-width: 1023px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 60% !important; right: -12%; top: -20%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 26% !important; left: 30%; top: 14%; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 36% !important; left: 40%; top: 18%; }
}
@container cr (max-width: 767px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 86% !important; right: -26%; top: -14%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 34% !important; left: 4%; top: 24%; bottom: auto; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 50% !important; left: 18%; top: 26%; bottom: auto; }
  .cr-combo-tag { width: 86px; height: 86px; left: 18px; top: 56px; }
  .cr-combo-tag b { font-size: 19px; }
}
.cr-cat-dl .cr-idx { position: absolute; }
/* Deals & Combos v3: clean cut-outs only (no plates), one calm diagonal: pizza → burger → wings */
.cr-cat-dl .cr-combo .cr-combo-pz { width: 78% !important; right: -24%; left: auto; top: -14%; transform: none; }
.cr-cat-dl .cr-combo .cr-combo-fr { width: 36% !important; left: 6%; top: 40%; transform: rotate(-6deg); }
.cr-cat-dl .cr-combo .cr-combo-bg { width: 46% !important; left: 32%; top: 30%; }
.cr-cat-dl:hover .cr-combo-pz { transform: rotate(16deg); }
.cr-cat-dl:hover .cr-combo-fr { transform: rotate(-10deg) translateY(-6px); }
.cr-combo-tag { top: 58px; }
@container cr (max-width: 1023px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 56% !important; right: -12%; top: -22%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 26% !important; left: 34%; top: 22%; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 32% !important; left: 52%; top: 18%; }
}
@container cr (max-width: 767px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 80% !important; right: -24%; top: -12%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 36% !important; left: 4%; top: 38%; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 46% !important; left: 30%; top: 30%; }
}
@container cr (max-width: 767px) {
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 40% !important; top: 26%; left: 32%; }
  .cr-cat-dl .cr-combo .cr-combo-fr { width: 32% !important; top: 32%; }
}
/* Deals & Combos v4: just the Creamy pizza and a burger */
.cr-cat-dl .cr-combo .cr-combo-pz { width: 84% !important; right: -22%; top: -16%; }
.cr-cat-dl .cr-combo .cr-combo-bg { width: 52% !important; left: 10%; top: 30%; }
@container cr (max-width: 1023px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 58% !important; right: -12%; top: -22%; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 36% !important; left: 40%; top: 16%; }
}
@container cr (max-width: 767px) {
  .cr-cat-dl .cr-combo .cr-combo-pz { width: 84% !important; right: -22%; top: -14%; }
  .cr-cat-dl .cr-combo .cr-combo-bg { width: 46% !important; left: 10%; top: 26%; }
}

/* Homepage small deal cards: a real photo of the main dish in the top-right corner */
.cr-deal-pic { position: absolute; right: -36px; top: -40px; width: 230px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(246,239,217,.12) 0%, rgba(246,239,217,.04) 62%, transparent 63%); pointer-events: none; }
.cr-deal-pic::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; border: 1px dashed rgba(216,154,30,.45); }
.cr-deal-pic img { position: absolute; left: 50%; top: 52%; width: 74%; translate: -50% -50%; filter: drop-shadow(0 18px 18px rgba(0,0,0,.45)); transition: transform 1s var(--ease); }
.cr-deal-sm:hover .cr-deal-pic img { transform: rotate(14deg) scale(1.05); }
.cr-deal-sm h3, .cr-deal-sm ul { position: relative; z-index: 1; max-width: 62%; }
@container cr (max-width: 767px) {
  .cr-deal-pic { width: 160px; right: -26px; top: -28px; }
  .cr-deal-sm h3, .cr-deal-sm ul { max-width: 64%; }
}

/* ---------- Deals hero v2: two balanced halves, whole pizza on the right ---------- */
@container cr (min-width: 1024px) {
  .cr-hx-deals { min-height: min(820px, 100svh); display: flex; align-items: center; padding-bottom: 72px; }
  .cr-hx-deals > .cr-wrap { width: 100%; }
  .cr-hx-deals-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 48px; }
  .cr-hx-deals-copy { max-width: 640px; }
  .cr-hx-deals .cr-hx-h1 { font-size: clamp(56px, 5.6cqi, 92px); text-wrap: nowrap; }
  .cr-hx-deals .cr-hx-gold { display: inline-block; white-space: nowrap; }
  /* pizza: centred in the right half, lined up with the page content, never cut off */
  .cr-hx-deals-art {
    right: max(var(--gut), calc((100% - 1520px) / 2 + var(--gut)));
    top: calc(50% + var(--hd) / 2 - 12px); translate: 0 -50%;
    width: min(600px, 42%, calc(100svh - var(--hd) - 120px));
  }
  /* sticker sits on the pizza's lower-left edge */
  .cr-hx-sticker { grid-column: 2; justify-self: start; align-self: end; margin: 0 0 -40px 0; width: 190px; rotate: -8deg; }
  .cr-hx-sticker b { font-size: 40px; }
}

/* Delivery page: the 45-minute promise under the intro */
.cr-eta { margin-top: 18px; display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 999px; background: #fff; border: 1.5px solid rgba(216,154,30,.55); box-shadow: 0 14px 30px -22px rgba(90,42,24,.6); color: var(--b); font-size: 15px; line-height: 1.35; animation: cr-rise 1s var(--ease) .35s both; }
.cr-eta svg { flex: none; width: 38px; height: 38px; padding: 9px; border-radius: 50%; background: var(--m); color: var(--g); }
.cr-eta b { color: var(--m); font-weight: 900; }
@container cr (max-width: 767px) { .cr-eta { border-radius: 20px; } }
