/* Concept A — "Big Slice": bold & punchy. Anton + Heebo. */
:root{--navy:#182F4F;--ink:#0F1E33;--teal:#48B9CF;--teal-d:#2E97AD;--orange:#FF6B30;--cream:#F8EADC;--white:#fff;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Heebo,system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:17px;line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
h1,h2,h3,.sec-h{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.95}
.sec{padding:110px 0}
.sec-h{font-size:88px;margin-bottom:36px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:15px;text-decoration:none;border:3px solid var(--ink);transition:.2s}
.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:4px 4px 0 var(--ink)}
.btn-ghost{background:transparent}
.btn-nav{background:var(--orange);border-color:var(--orange);color:#fff;padding:12px 22px}
.block{display:flex;justify-content:center;width:100%}
/* header */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.hdr{display:flex;align-items:center;justify-content:space-between;height:96px}
.logo img{height:78px}
.nav{display:flex;gap:28px;align-items:center;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.nav a{text-decoration:none}.nav a.is-active{color:var(--teal)}
.burger{display:none}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;background:var(--navy);color:#fff;min-height:720px}
.hero-txt{padding:90px 40px 80px max(40px,calc((100vw - 1280px)/2 + 40px));display:flex;flex-direction:column;justify-content:center}
.hero h1 span{display:block}
.hero h1 span:nth-child(1){font-size:44px;color:var(--teal);margin-bottom:10px}
.hero h1 span:nth-child(2){font-size:96px;color:var(--orange)}
.hero h1 span:nth-child(3){font-size:96px}
.hero h2{font-family:Heebo;text-transform:none;font-weight:400;font-size:24px;margin-top:30px;line-height:1.3;max-width:520px}
.hero h2.pill{display:inline-block;align-self:flex-start;margin-top:18px;background:var(--teal);color:var(--ink);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.1em;padding:10px 18px;border-radius:999px}
.hero-img{position:relative;overflow:hidden}
.hero-img img:first-child{width:100%;height:100%;object-fit:cover}
.sticker{position:absolute;left:-10px;bottom:40px;width:170px;transform:rotate(-10deg);background:var(--orange);border-radius:50%;padding:22px;box-shadow:6px 6px 0 var(--ink)}
/* taste */
.taste{background:var(--cream)}
.taste-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.taste .sec-h{color:var(--navy);font-size:120px}
.lead{font-size:22px;font-weight:500;margin-bottom:18px}
.taste p a{color:var(--navy);text-decoration-color:var(--orange);text-decoration-thickness:3px;font-weight:700}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.taste-img{border-radius:var(--r);overflow:hidden;border:4px solid var(--ink);box-shadow:12px 12px 0 var(--teal);transform:rotate(2deg)}
.taste-img img{aspect-ratio:4/5;object-fit:cover;width:100%}
/* menus row */
.menus-row{background:var(--teal);padding:90px 0}
.menus-row .sec-h{color:var(--ink);font-size:96px}
.mbtns{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.mbtn{display:flex;justify-content:space-between;align-items:flex-end;min-height:150px;padding:22px;border-radius:var(--r);background:var(--navy);color:#fff;text-decoration:none;font-family:Anton;font-size:28px;line-height:1;letter-spacing:.02em}
.mbtn:nth-child(2){background:var(--cream);color:var(--ink)}.mbtn:nth-child(3){background:var(--orange)}.mbtn:nth-child(4){background:var(--ink)}.mbtn:nth-child(5){background:#fff;color:var(--ink)}
.mbtn i{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
/* reviews */
.reviews{background:var(--navy);color:#fff}
.rv-wrap{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}
.rv-sum{display:flex;flex-direction:column;gap:8px}
.rv-ex{font-family:Anton;font-size:64px;line-height:1;color:var(--orange)}
.stars{color:#FFC93C;display:inline-flex;gap:2px}
.rv-sum .stars svg{width:26px;height:26px}
.rv-based{font-weight:700}.rv-g{font-size:13px;opacity:.7;text-transform:uppercase;letter-spacing:.15em}
.rv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rv{background:#fff;color:var(--ink);border-radius:var(--r);padding:24px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--teal)}
.rv p{font-size:15px;margin-top:10px;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rv-top{display:flex;gap:12px;align-items:center;margin-bottom:8px}.rv-top small{display:block;color:#5c6b80;font-size:12px}
.av{width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:800}
/* pizza */
.pizza{background:var(--cream)}
.pz-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.pz-img{border-radius:var(--r);overflow:hidden;border:4px solid var(--ink);box-shadow:-12px 12px 0 var(--orange)}
.pz-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pz-block+.pz-block{margin-top:44px;padding-top:44px;border-top:4px solid var(--ink)}
.pz-block h3{font-size:56px;color:var(--navy);margin-bottom:18px}
/* gallery */
.gallery{background:var(--ink);color:#fff}
.gallery .sec-h{color:var(--teal)}
.g-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.g-grid figure{border-radius:10px;overflow:hidden}.g-grid img{width:100%;height:100%;object-fit:cover}
.g0{grid-column:span 2;grid-row:span 2}.g4{grid-row:span 2}.g8{grid-row:span 2}.g9{grid-column:span 2}
/* contact */
.contact{background:var(--orange);color:#fff}
.ct{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:center}
.contact .sec-h{font-size:120px;color:var(--ink)}
.contact p{font-size:22px;max-width:640px}
.ct-email{font-family:Anton;font-weight:400;font-size:46px;margin-top:26px;color:#fff;text-transform:none}
.ct-wa{background:#fff;color:var(--ink);border-radius:var(--r);padding:28px;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);text-align:center}
.ct-wa h3{font-size:26px;display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:16px;line-height:1.05}
.qr{width:180px;margin:0 auto}
/* footer */
.site-footer{background:var(--navy);color:#cfd8e3;padding:60px 0 120px;font-size:14px;text-align:center}
.ft-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:30px}
.ft-logo{height:90px}.social{display:flex;gap:10px}.social a{width:40px;height:40px;border-radius:50%;background:var(--teal);color:var(--ink);display:grid;place-items:center;font-weight:800;text-decoration:none}
.ft-locs p{margin:6px 0}.ft-locs a{text-decoration:none}.sep{opacity:.35;margin:0 6px}.copy{margin-top:22px;opacity:.7}
.sticky-banner{position:fixed;left:0;right:0;bottom:0;background:var(--teal);color:var(--ink);font-weight:700;text-align:center;padding:12px 50px;z-index:30;font-size:15px}
.sticky-banner button{position:absolute;right:14px;top:8px;background:var(--ink);color:#fff;border:0;width:28px;height:28px;border-radius:50%;font-size:18px}
.m-cta{display:none}
/* ---------- pricing ---------- */
.p-hero{position:relative;background:var(--bg) center/cover;color:#fff;padding:150px 0 120px}
.p-hero-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,51,.92),rgba(15,30,51,.45))}
.p-hero .wrap{position:relative}.p-hero h1{font-size:130px}.p-hero h4{font-family:Anton;font-weight:400;font-size:48px;color:var(--orange);text-transform:uppercase}
.p-intro{background:var(--teal);padding:90px 0}.narrow{max-width:1000px}
.p-intro .sec-h{font-size:80px;margin-bottom:20px}.p-intro-sub{font-family:Heebo;text-transform:none;font-size:30px;font-weight:700;line-height:1.25;margin-bottom:22px}
.p-intro p{font-size:19px}
.est{background:var(--cream)}
.est-head{max-width:760px;margin-bottom:40px}.est-head .sec-h{font-size:96px;color:var(--navy);margin:8px 0 16px}
.kicker{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.est-grid{display:grid;grid-template-columns:1fr 400px;gap:28px;align-items:start}
.panel{background:#fff;border:3px solid var(--ink);border-radius:var(--r);padding:28px;margin-bottom:20px}
.step{display:flex;gap:16px;align-items:center;margin-bottom:20px}.step h3{font-size:34px;color:var(--navy)}
.num{width:54px;height:54px;border-radius:50%;background:var(--orange);color:#fff;font-family:Anton;font-size:28px;display:grid;place-items:center;flex:none}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.opts.three{grid-template-columns:repeat(3,1fr)}
.opt{position:relative;display:flex;flex-direction:column;gap:8px;border:3px solid #e2d3c3;border-radius:12px;padding:20px 20px 18px 54px;background:var(--cream)}
.opt .radio{position:absolute;left:18px;top:22px;width:22px;height:22px;border-radius:50%;border:3px solid var(--ink);background:#fff}
.opt.is-on{background:var(--navy);color:#fff;border-color:var(--ink);box-shadow:5px 5px 0 var(--orange)}
.opt.is-on .radio{background:var(--orange);box-shadow:inset 0 0 0 4px #fff}
.opt-t{font-family:Anton;font-size:24px;text-transform:uppercase;line-height:1.05}
.opt-d{font-size:14px;line-height:1.5;opacity:.9}.opt-p{font-weight:800;color:var(--orange);font-size:18px}
.opt.sm .opt-t{font-size:21px}
.badge{font-style:normal;font-family:Heebo;font-size:11px;font-weight:800;letter-spacing:.1em;background:var(--teal);color:var(--ink);padding:3px 8px;border-radius:999px;vertical-align:middle}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.pl{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.segs{display:flex;gap:8px}.seg{flex:1;text-align:center;padding:14px;border-radius:999px;border:3px solid var(--ink);font-weight:800;background:#fff}.seg.is-on{background:var(--ink);color:#fff}
.fld label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}.fld small{display:block;font-size:13px;color:#5c6b80;margin-top:6px;line-height:1.4}
.stepper{display:flex;border:3px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff;max-width:240px}
.stepper button{width:52px;border:0;background:var(--cream);font-size:22px;font-weight:800}.stepper input{flex:1;border:0;text-align:center;font-family:Anton;font-size:26px;width:60px;padding:8px}
.items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tiers-box{margin-top:24px;background:var(--cream);border-radius:12px;padding:20px}
.tiers{display:flex;gap:10px;margin-bottom:12px}.tier{padding:8px 16px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-size:15px}.tier.is-on{background:var(--orange);border-color:var(--orange);color:#fff}
.check{display:flex;gap:14px;align-items:flex-start}.check .box{width:26px;height:26px;border:3px solid var(--ink);border-radius:6px;flex:none;background:#fff}.check small{display:block;font-size:13px;color:#5c6b80}
.check.sm{margin-top:10px;font-size:14px;align-items:center}.check.sm .box{width:20px;height:20px}
.est-sum{position:sticky;top:120px}
.sum-card{background:var(--navy);color:#fff;border-radius:var(--r);padding:30px;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--orange)}
.sum-lines{list-style:none;margin-bottom:22px}.sum-lines li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.25);font-size:15px}.sum-lines small{opacity:.7;display:block}
.total{font-family:Anton;font-size:96px;line-height:1;color:var(--orange);margin:6px 0}
.pg{font-size:20px;font-weight:700}.tn{font-size:13px;opacity:.75;margin:10px 0 16px}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;opacity:.9}.meta2{font-size:13px;font-style:italic;opacity:.7;margin:10px 0 22px}
.form .form-h{font-size:48px;color:var(--navy);margin-bottom:10px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.f-grid .wide{grid-column:1/-1}
.f-grid input,.f-grid textarea{width:100%;border:3px solid #e2d3c3;border-radius:10px;padding:14px;font:inherit;background:var(--cream)}.f-grid textarea{height:110px}
.priv,.note{font-size:13px;color:#5c6b80;margin:10px 0 18px}.note{margin-top:18px}
.p-faq{padding:30px 0;background:var(--ink);color:#fff;text-align:center;font-size:20px;font-weight:700}.p-faq a{color:var(--teal)}
/* ---------- menus page ---------- */
.mn-hero{background:var(--navy);color:#fff;padding:90px 0 70px}.mn-hero h1{font-size:150px;color:var(--orange)}
.legend{display:flex;gap:10px;align-items:center;margin-top:16px;font-weight:500}
.diet{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:800;text-decoration:none;border:2px solid currentColor;font-family:Heebo}
.diet-v{background:#E3F4E6;color:#1E7A36}.diet-ve{background:#D7F0D2;color:#0B5A2B}
.tabs-bar{position:sticky;top:96px;z-index:15;background:var(--cream);border-bottom:3px solid var(--ink)}
.tabs{display:flex;gap:10px;padding-top:16px;padding-bottom:16px;overflow-x:auto}
.tab{white-space:nowrap;padding:12px 22px;border-radius:999px;border:3px solid var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:14px;text-decoration:none;background:#fff}
.tab.is-on{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.mn-body{padding-top:60px;padding-bottom:40px}
.menu{margin-bottom:80px}
.m-head{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:center;margin-bottom:28px}
.m-head figure{border-radius:var(--r);overflow:hidden;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--teal)}.m-head img{width:100%;aspect-ratio:16/10;object-fit:cover}
.m-head h2{font-size:80px;color:var(--navy)}.m-note{font-size:18px;margin-top:12px;max-width:760px}
.grp-h{font-size:34px;color:var(--orange);margin:24px 0 12px}
.dishes{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:3px solid var(--ink)}
.dish{padding:18px 0;border-bottom:2px solid #e2d3c3}
.dish-n{display:flex;gap:10px;align-items:center}
.dish h4{font-family:Anton;font-weight:400;font-size:24px;text-transform:uppercase;line-height:1.1;color:var(--ink)}
.dish p{font-size:15px;color:#3b4a5e;margin-top:4px}.dish-note{grid-column:1/-1;padding:16px 0;font-style:italic}
.mn-cta{background:var(--orange);color:#fff;text-align:center}.mn-cta .sec-h{font-size:100px;color:var(--ink)}.mn-cta p{font-size:20px;max-width:640px;margin:0 auto}.mn-cta .btns{justify-content:center}
.mn-cta .btn-primary{background:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 #fff}.mn-cta .btn-ghost{border-color:#fff;color:#fff}
/* ---------- mobile ---------- */
@media (max-width:760px){
 body{font-size:16px}.wrap{padding:0 20px}.sec{padding:64px 0}.sec-h{font-size:54px!important;margin-bottom:22px}
 .hdr{height:72px}.logo img{height:56px}.nav{display:none}
 .burger{display:flex;flex-direction:column;gap:5px;background:var(--orange);border:0;border-radius:12px;padding:13px 12px}.burger span{width:22px;height:3px;background:#fff;border-radius:2px}
 .hero{grid-template-columns:1fr;min-height:0}.hero-txt{padding:44px 20px 40px}
 .hero h1 span:nth-child(1){font-size:26px}.hero h1 span:nth-child(2),.hero h1 span:nth-child(3){font-size:52px}
 .hero h2{font-size:19px;margin-top:20px}.hero-img{height:300px}.sticker{width:110px;padding:14px;left:auto;right:16px;bottom:-20px}
 .taste-grid,.pz-grid,.ct,.rv-wrap{grid-template-columns:1fr;gap:32px}
 .lead{font-size:19px}.btns{gap:10px}.btn{padding:13px 20px;font-size:13px}
 .taste-img{transform:none;box-shadow:8px 8px 0 var(--teal)}
 .mbtns{grid-template-columns:1fr 1fr;gap:10px}.mbtn{min-height:96px;font-size:21px;padding:16px}.mbtn:last-child{grid-column:1/-1}
 .rv-cards{grid-template-columns:1fr}.rv-sum{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.rv-ex{font-size:44px}
 .pz-block h3{font-size:36px}.pz-img img{aspect-ratio:1}
 .g-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px}.g-grid figure:nth-child(n+8){display:none}.g4,.g8{grid-row:span 1}.g9{grid-column:span 1}
 .ct-email{font-size:26px;word-break:break-word}.contact p{font-size:18px}
 .ft-top{flex-direction:column;gap:18px}.ft-locs p{line-height:1.9}
 .sticky-banner{font-size:13px;padding:10px 44px 10px 16px;text-align:left}
 .mn-hero{padding:50px 0 40px}.mn-hero h1{font-size:72px}.tabs-bar{top:72px}.tab{padding:10px 16px;font-size:12px}
 .m-head{grid-template-columns:1fr;gap:18px}.m-head h2{font-size:48px}.dishes{grid-template-columns:1fr}.dish h4{font-size:20px}
 .menu{margin-bottom:56px}
 .page-menus .m-cta{display:flex;position:fixed;left:12px;right:12px;bottom:56px;z-index:31}.page-menus .m-cta .btn{flex:1;justify-content:center;box-shadow:4px 4px 0 var(--ink)}
}
/* fixes */
.sticky-banner{position:relative;bottom:auto;padding:10px 50px}
.sticky-banner button{top:6px}
.site-footer{padding-bottom:50px}
.g-grid{grid-auto-flow:dense}.g8{grid-row:span 1}
.ct-wa h3 svg{width:30px;height:30px;color:#25D366;flex:none}
.tabs-in{display:flex;align-items:center;justify-content:space-between;gap:20px}.tabs{flex:1}.tab-cta{padding:12px 22px;flex:none}
@media (max-width:760px){.sticky-banner{padding:9px 44px 9px 16px}.tab-cta{padding:10px 14px;font-size:12px;box-shadow:none}.tabs-in{gap:10px;padding-right:12px}.g-grid figure:nth-child(n+8){display:block}.g-grid figure:nth-child(n+9){display:none}}
@media (max-width:760px){.g-grid figure:nth-child(n+9){display:block}.g-grid figure:nth-child(n+10){display:none}.ct-email{font-size:22px}}
.segs{flex-wrap:nowrap}.seg{white-space:nowrap;padding:13px 10px;font-size:14px;border-radius:12px}
.fld .check{display:flex}
.opt-s{font-size:13px;font-weight:700;color:var(--teal-d);margin-top:-4px}.opt.is-on .opt-s{color:var(--teal)}
.cook-p{font-size:14px;line-height:1.5;color:#3b4a5e;margin:-4px 0 14px}
.opts:not(.three) .opt:last-child:nth-child(odd){grid-column:1/-1}
/* full-site generic page blocks (preview build) */
.hero-sub{min-height:520px}.hero-sub .hero-txt h1 span{font-size:64px;color:#fff}.hero-sub .hero-txt h1 span:first-child{font-size:72px;color:var(--orange)}
.hero-sub .btn{margin-top:28px;align-self:flex-start}.hero-sub .hero-img img{width:100%;height:100%;object-fit:cover}
.cp{padding:90px 0}.cp-alt{background:#fff}
.cp-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}.cp-one{grid-template-columns:1fr;max-width:960px}
.cp-h{font-size:52px;margin:0 0 24px}.cp-h3{font-size:32px;margin:30px 0 10px;color:var(--navy)}.cp-h4{font-family:Heebo;font-weight:800;font-size:20px;margin:22px 0 6px}
.cp-copy p{margin:0 0 16px}.cp-copy a{color:var(--teal-d);font-weight:700}.cp-list{margin:0 0 16px 22px}
.cp-img img{border-radius:var(--r);box-shadow:8px 8px 0 var(--ink);width:100%;object-fit:cover}.cp-img .qr{width:160px;margin-top:24px;box-shadow:none}
.cp .btns{margin:20px 0 30px}
.faq-q{background:#fff;border:2px solid var(--ink);border-radius:var(--r);margin:10px 0;padding:14px 20px}.faq-q summary{font-weight:800;cursor:pointer}.faq-q div{padding-top:10px}
@media(max-width:900px){.cp-grid{grid-template-columns:1fr}.hero-sub .hero-txt h1 span,.hero-sub .hero-txt h1 span:first-child{font-size:44px}.cp-h{font-size:38px}}

/* Nav option B (Ian 13 Oct) */
.site-header{background:#0F1E33!important;border-bottom:4px solid #FF6B30}

/* Footer option C (Ian approved 13 Oct) */
/* footer options */
.fx{background:#0F1E33;color:#c9d3df;padding:0;text-align:left;border-top:4px solid #FF6B30;font-size:15px}
.fx h4{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:#fff;font-size:20px;margin-bottom:14px}
.fx a{text-decoration:none}.fx a:hover{color:#FF6B30}
.fx-logo{height:96px}
.fx-line{margin:16px 0 18px;max-width:300px;line-height:1.55}
.fx-soc{display:flex;gap:10px}.fx-soc a{width:42px;height:42px;border-radius:50%;border:2px solid #FF6B30;color:#fff;display:grid;place-items:center}.fx-soc a:hover{background:#FF6B30;color:#fff}
.fx-col{display:flex;flex-direction:column;gap:7px}
.fx-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 18px}
.fx-areas.inline{display:flex;flex-wrap:wrap;gap:8px 10px}.fx-areas.inline a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 12px;font-size:14px}
.fx-small{font-size:14px;opacity:.85;margin-bottom:14px}
.fx-btn{box-shadow:4px 4px 0 #000;padding:14px 24px;font-size:14px;border-color:#FF6B30}
.fx-btn:hover{color:#fff!important;transform:translate(-2px,-2px)}
.fx-mail{display:block;margin-top:18px;color:#fff;font-weight:700}
.fx-bot{background:#0a1626;font-size:13px;padding:16px 0;color:#8b98aa}.fx-bot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* C */
.fxC-grid{display:grid;grid-template-columns:1.1fr 1.6fr;gap:60px;padding-top:70px;padding-bottom:50px}
.fxC-kicker{color:#48B9CF;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.fxC-h{font-family:Anton,Impact,sans-serif;text-transform:uppercase;color:#fff;font-size:76px;line-height:.95;margin:10px 0 26px}
.fxC-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.fxC-areas{padding-top:30px;padding-bottom:30px;border-top:1px solid rgba(255,255,255,.12)}.fxC-areas h4{font-size:17px;color:#FF6B30}
.fxC-logo{display:flex;justify-content:center;padding-bottom:30px}.fxC-logo .fx-logo{height:70px;opacity:.9}
@media(max-width:760px){
.fxC-grid{grid-template-columns:1fr;gap:36px;padding-top:48px}.fxC-h{font-size:54px}.fxC-cols{grid-template-columns:1fr 1fr}.fxC-cols>div:last-child{grid-column:1/-1}.fx-areas.inline{justify-content:center}
.fx-bot .wrap{flex-direction:column;align-items:center;text-align:center}}
/* Mobile menu (13 Oct) */
@media (max-width:760px){.site-header{position:relative;z-index:50}.site-header.nav-open .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:#0F1E33;border-bottom:4px solid #FF6B30;padding:8px 20px 16px;gap:0;z-index:60}.site-header.nav-open .nav a{display:block;padding:14px 0;color:#fff;font-size:18px;border-bottom:1px solid rgba(255,255,255,.12)}.site-header.nav-open .nav a:last-child{border-bottom:0}.site-header.nav-open .burger span:nth-child(2){opacity:0}}

/* Pricing hero: fit narrow phones (2026-10-14) */
@media (max-width:600px){
.p-hero h1{font-size:clamp(40px,14vw,64px);line-height:1.02;overflow-wrap:break-word;max-width:100%}
.p-hero h4{font-size:clamp(22px,7vw,32px);line-height:1.15}
.p-hero .wrap{max-width:100%;box-sizing:border-box}
}
/* menus: sticky tab bar fix 2026-10-14 */
.tabs-bar{z-index:40;background:#F8EADC}
.menu{scroll-margin-top:190px}
@media (max-width:700px){.tabs-bar{top:0}.tabs-in{padding-right:20px}.tabs{flex-wrap:wrap;overflow:visible;gap:6px;padding-top:10px;padding-bottom:10px;justify-content:center}.tab{padding:6px 11px;font-size:11px;border-width:2px;letter-spacing:.04em}.tab.is-on{box-shadow:2px 2px 0 var(--ink)}.tab-cta{display:none}.menu{scroll-margin-top:150px}}

/* SPC homepage hero fix 2026-10-24: fit heading, subtext and image in the first screen on laptop sizes. Desktop only; mobile (<=760px) unchanged. */
@media (min-width:761px){
.hero:not(.hero-sub){min-height:clamp(520px,calc(100vh - 144px),720px)}
.hero:not(.hero-sub) .hero-txt{padding-top:clamp(28px,5vh,56px);padding-bottom:clamp(28px,5vh,56px)}
.hero:not(.hero-sub) .hero-img img:first-child{position:absolute;inset:0}
.hero:not(.hero-sub) h1 span:nth-child(1){font-size:clamp(26px,2.4vw,40px);margin-bottom:6px}
.hero:not(.hero-sub) h1 span:nth-child(2),.hero:not(.hero-sub) h1 span:nth-child(3){font-size:clamp(46px,min(4.6vw,8vh),84px);line-height:1.02}
.hero:not(.hero-sub) h2{font-size:clamp(18px,1.5vw,22px);margin-top:clamp(14px,2.5vh,24px)}
.hero:not(.hero-sub) h2.pill{margin-top:14px;font-size:15px}
}

/* Home hero: full-bleed background video (2026-10-27). Breakpoint aligned to the site's 760px. */
.hero.hero-video{display:flex;align-items:center;position:relative;overflow:hidden;isolation:isolate;background:var(--navy)}
.hero-video .hero-bg{position:absolute;inset:0;z-index:-2}
.hero-video .hero-bg-video,.hero-video .hero-bg-still img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero-video .hero-bg-still{display:block}
.hero-video .hero-bg-video{z-index:1}
.hero-video .hero-bg-ov{position:absolute;inset:0;z-index:2;background:rgba(24,47,79,.18)}
/* Dark scrim tied to the text column, so contrast holds at every width */
.hero-video .hero-txt{position:relative;width:fit-content;max-width:100%}
.hero-video h1 span:nth-child(3){max-width:9em}
.hero-video .hero-txt::before,.hero-video .hero-txt::after{content:"";position:absolute;z-index:-1;top:-100vh;bottom:-100vh;pointer-events:none}
.hero-video .hero-txt::before{left:-100vw;right:-24px;background:rgba(24,47,79,.88)}
.hero-video .hero-txt::after{left:calc(100% + 24px);width:26vw;background:linear-gradient(90deg,rgba(24,47,79,.88),rgba(24,47,79,.45) 45%,rgba(24,47,79,0))}
@media (max-width:760px){
 .hero-video .hero-bg-video{display:none}
 .hero-video .hero-bg-still img{object-position:50% 100%}
 .hero-video{align-items:flex-start}
 .hero-video .hero-txt{width:auto;padding-bottom:170px}
 .hero-video .hero-txt::before,.hero-video .hero-txt::after{display:none}
 .hero-video .hero-bg-ov{background:linear-gradient(180deg,rgba(24,47,79,.9) 0%,rgba(24,47,79,.9) calc(100% - 200px),rgba(24,47,79,.15) 100%)}
}
@media (prefers-reduced-motion:reduce){
 .hero-video .hero-bg-video{display:none}
}
/* Header fit: Home..FAQ, Contact Us, Get Quote (Ian 27 Oct) - 761-1023px only; 1024+ unchanged */
@media (min-width:761px) and (max-width:1023px){
 .site-header .logo{flex-shrink:0}
 .site-header .nav{gap:clamp(12px,1.8vw,22px);font-size:12.5px;letter-spacing:.05em}
 .site-header .nav a{white-space:nowrap}
 .site-header .btn-nav{padding:11px 16px}
}
@media (min-width:761px) and (max-width:849px){
 .site-header .nav{gap:11px;font-size:12px;letter-spacing:.04em}
 .site-header .btn-nav{padding:10px 14px}
}
@media (max-width:760px){
 .site-header.nav-open .nav a.btn-nav{padding:14px 32px;margin-top:12px;font-size:16px}
}
/* Get Quote lands on the calculator below the sticky desktop header */
@media (min-width:761px){#estimator{scroll-margin-top:100px}}
/* Home mobile (<=760px): plain navy hero, photo shown in full underneath (Ian 27 Oct) */
.hero-photo-m{display:none}
@media (max-width:760px){
 .hero-video .hero-bg{display:none}
 .hero-video .hero-txt{padding-bottom:44px}
 .hero-photo-m{display:block;margin:0;background:var(--navy);line-height:0}
 .hero-photo-m picture,.hero-photo-m img{display:block;width:100%;height:auto}
}
/* Hero video Safari fix: poster stays visible until the video is actually playing (2026-10-27) */
.hero-video .hero-bg-video{opacity:0;transition:opacity .4s ease}
.hero-video .hero-bg-video.is-playing{opacity:1}
/* SPC home Taste section: real paragraph spacing + comfortable measure (20261027hp) */
.taste-copy>p:not(.lead){max-width:64ch;line-height:1.7;margin-bottom:1.05em}
.taste-copy>p:not(.lead):last-of-type{margin-bottom:0}
.taste-copy>.lead{margin-bottom:22px}
@media (max-width:760px){.taste-copy>p:not(.lead){max-width:none;margin-bottom:1em}}
/* SPC sub-page banners: Parties, Corporate, Reviews match Home/Weddings (portrait photo no longer sets banner height) (20261027hp) */
:is(.page-parties,.page-corporate,.page-reviews) .hero-sub{min-height:clamp(520px,calc(100vh - 144px),720px)}
:is(.page-parties,.page-corporate,.page-reviews) .hero-sub .hero-img img{position:absolute;inset:0}
@media (max-width:760px){:is(.page-parties,.page-corporate,.page-reviews) .hero-sub{min-height:0}}
/* Pizza Making Classes: banner alignment (photos come from the separate spc-classes-photos job) (20261027hp) */
.page-classes .hero-sub{min-height:clamp(520px,calc(100vh - 144px),720px)}
.page-classes .hero-sub .hero-img img{position:absolute;inset:0}
@media (max-width:760px){.page-classes .hero-sub{min-height:0}}
