/*
Theme Name: AMBA Mediterranean Grill
Description: AMBA Mediterranean Grill, Joliet IL. Block theme with a scroll-film homepage hero.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: amba-site
*/

/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:"Londrina Solid";font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/londrina-solid-900.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lato-400.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/lato-400i.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/lato-700.woff2) format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/lato-900.woff2) format("woff2")}

:root{
  --ab-yellow:#FFCC2B; --ab-handoff:#FBC336; --ab-red:#AD1A19; --ab-orange:#E48413;
  --ab-cream:#FFF3DF; --ab-ink:#252525; --ab-wood:#3b2a1f; --ab-navy:#1B1B2B; --ab-green:#009933;
  --ab-display:"Londrina Solid", "Arial Black", Impact, sans-serif;
  --ab-body:"Lato", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --ab-gutter:clamp(16px,4vw,56px);
  --ab-max:1240px;
  --ab-radius:22px;
}

html{scroll-behavior:auto}
body{margin:0;background:var(--ab-cream);color:var(--ab-ink);font-family:var(--ab-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto}
:where(a){color:inherit}
:focus-visible{outline:3px solid var(--ab-red);outline-offset:3px;border-radius:4px}
.ab-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ab-ink);color:var(--ab-cream);padding:10px 16px;border-radius:999px;font-weight:700}
.ab-skip:focus{left:12px}

/* WP layout neutralisers inside our own sections */
.ab-home{margin:0}
.ab-home > *{margin-block:0 !important}
.ab-sec.is-layout-constrained > *{max-width:none;margin-left:0 !important;margin-right:0 !important}
.ab-sec :where(h2,h3,p){margin-top:0}

/* ---------- shared section shell ---------- */
.ab-sec{padding:clamp(72px,10vw,140px) var(--ab-gutter)}
.ab-wrap{max-width:var(--ab-max);margin-inline:auto !important}
.ab-eyebrow{font:900 13px/1 var(--ab-body);letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px !important;color:var(--ab-red)}
.ab-sec h2.wp-block-heading{font:900 clamp(44px,7vw,96px)/.92 var(--ab-display);letter-spacing:.005em;margin:0 0 22px;color:var(--ab-ink);font-variation-settings:normal}
.ab-sec h3.wp-block-heading{font:900 clamp(28px,3vw,38px)/1 var(--ab-display);margin:0 0 10px;color:var(--ab-ink)}
.ab-lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:34em}
.ab-sec p{font-size:17px;line-height:1.6}

/* buttons */
.ab-sec .wp-block-buttons{gap:12px}
.wp-block-button .wp-block-button__link,
.ab-btn{
  display:inline-flex;align-items:center;gap:.5em;font:900 15px/1 var(--ab-body);letter-spacing:.06em;text-transform:uppercase;
  background:var(--ab-ink);color:var(--ab-cream);padding:18px 28px;border-radius:999px;border:2px solid var(--ab-ink);text-decoration:none;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.wp-block-button .wp-block-button__link:hover,.ab-btn:hover{transform:translateY(-2px);background:var(--ab-red);border-color:var(--ab-red);color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ab-ink)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ab-ink);color:var(--ab-cream);border-color:var(--ab-ink)}

/* images with reserved space (no layout shift) */
.ab-sec .wp-block-image{margin:0}
.ab-sec .wp-block-image img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- 1. Build your bowl in four steps (starts on the film's last colour) ---------- */
.ab-steps{background:var(--ab-handoff);position:relative}
.ab-steps .ab-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 60px;align-items:end;margin-bottom:clamp(40px,5vw,64px) !important}
.ab-steps .ab-head p{margin:0}
.ab-steps .ab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.ab-step{background:var(--ab-cream);border-radius:var(--ab-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 0 rgba(37,37,37,.08)}
.ab-step .wp-block-image{aspect-ratio:4/3;overflow:hidden}
.ab-step .wp-block-image img{transition:transform .6s ease}
.ab-step:hover .wp-block-image img{transform:scale(1.04)}
.ab-step .ab-step-body{padding:22px 22px 26px}
.ab-step .ab-num{font:900 15px/1 var(--ab-body);letter-spacing:.18em;color:var(--ab-red);margin-bottom:12px !important}
.ab-step p:last-child{margin-bottom:0;font-size:16px}
.ab-steps .wp-block-buttons{margin-top:clamp(36px,4vw,52px) !important}

/* ---------- 2. Signature bowls ---------- */
.ab-sig{background:var(--ab-cream)}
.ab-sig .ab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,28px);margin-top:clamp(36px,4vw,56px) !important}
.ab-bowl{display:flex;flex-direction:column}
.ab-bowl .wp-block-image{aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:var(--ab-wood);box-shadow:0 18px 40px -22px rgba(37,37,37,.55);margin-bottom:22px !important}
.ab-bowl .wp-block-image img{transform:scale(1.18);transition:transform .7s ease}
.ab-bowl:hover .wp-block-image img{transform:scale(1.26) rotate(4deg)}
.ab-bowl .ab-tag{display:inline-block;align-self:flex-start;font:900 12px/1 var(--ab-body);letter-spacing:.16em;text-transform:uppercase;background:var(--ab-yellow);padding:7px 10px;border-radius:999px;margin-bottom:12px !important}
.ab-bowl p{font-size:16px;margin-bottom:0}
.ab-sig .ab-note{margin-top:28px !important;font-size:14px;opacity:.7}

/* ---------- 3. Catering teaser ---------- */
.ab-cater{background:var(--ab-red);color:var(--ab-cream)}
.ab-cater .ab-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.ab-cater h2.wp-block-heading{color:var(--ab-cream)}
.ab-cater .ab-eyebrow{color:var(--ab-yellow)}
.ab-cater .ab-photo{aspect-ratio:5/4;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ab-cater .ab-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:26px 0 34px !important}
.ab-cater .ab-list p{margin:0;font-weight:700;padding-left:22px;position:relative}
.ab-cater .ab-list p::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;background:var(--ab-yellow)}
.ab-cater .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-cater .wp-block-button .wp-block-button__link:hover{background:var(--ab-cream);border-color:var(--ab-cream)}
.ab-cater .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--ab-cream);color:var(--ab-cream)}
.ab-cater .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ab-cream);color:var(--ab-red)}

/* ---------- 4. Visit / order ---------- */
.ab-visit{background:var(--ab-cream)}
.ab-visit .ab-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:stretch}
.ab-visit .ab-card{background:var(--ab-yellow);border-radius:var(--ab-radius);padding:clamp(26px,3vw,40px)}
.ab-visit .ab-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:6px 0 30px !important}
.ab-visit .ab-facts p{margin:0;font-size:17px}
.ab-visit .ab-facts strong{display:block;font:900 12px/1 var(--ab-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-red);margin-bottom:8px}
.ab-visit .ab-photo{aspect-ratio:4/5;border-radius:var(--ab-radius);overflow:hidden;min-height:100%}
.ab-visit .ab-fine{font-size:13px !important;opacity:.65;margin-top:20px !important}

/* ---------- Our story ---------- */
.ab-story{background:#FFE7A8}
.ab-story .ab-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.ab-story .ab-photo{aspect-ratio:4/3;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 60px -30px rgba(37,37,37,.55)}
.ab-story .wp-block-buttons{margin-top:26px !important}

/* ---------- Reviews ---------- */
.ab-reviews{background:var(--ab-navy);color:var(--ab-cream)}
.ab-reviews h2.wp-block-heading{color:var(--ab-yellow)}
.ab-reviews .ab-eyebrow{color:var(--ab-yellow)}
.ab-reviews .ab-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 60px;align-items:end;margin-bottom:clamp(40px,5vw,64px) !important}
.ab-reviews .ab-head p{margin:0}
.ab-reviews .ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.ab-review{margin:0;background:var(--ab-cream);color:var(--ab-ink);border-radius:var(--ab-radius);padding:26px 26px 22px;display:flex;flex-direction:column}
.ab-review .ab-stars{color:#E8A600;letter-spacing:.12em;font-size:18px;margin-bottom:12px !important}
.ab-review .ab-quote{font-size:18px;line-height:1.5;flex:1}
.ab-review .ab-who{font-weight:900;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 0 !important}
.ab-review:nth-child(3n+1){transform:rotate(-.6deg)}
.ab-review:nth-child(3n){transform:rotate(.6deg)}

/* ---------- footer ---------- */
.ab-foot{background:var(--ab-navy);color:var(--ab-cream);padding:56px var(--ab-gutter) 40px}
.ab-foot .ab-wrap{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:flex-end}
.ab-foot .ab-logo img{display:block;height:84px;width:auto}
.ab-foot address{font-style:normal;line-height:1.7;font-size:15px}
.ab-foot address a{text-decoration:none}
.ab-foot .ab-social{display:flex;gap:16px;font-weight:700}
.ab-foot nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;margin:0;padding:0}
.ab-foot nav a{text-decoration:none;font-weight:700}
.ab-foot nav a:hover{color:var(--ab-yellow)}
.ab-foot small{display:block;width:100%;opacity:.6;font-size:13px}

/* ---------- inner-page header (not used over the film) ---------- */
.ab-top{background:var(--ab-cream);padding:18px var(--ab-gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}
.ab-top .ab-logo img{display:block;height:56px;width:auto}
.ab-top nav{display:flex;gap:24px;font-weight:900;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.ab-top nav a{text-decoration:none}
@media (max-width:760px){.ab-top nav{display:none}}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .ab-steps .ab-grid,.ab-sig .ab-grid,.ab-reviews .ab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-steps .ab-head,.ab-reviews .ab-head{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ab-cater .ab-split,.ab-visit .ab-split,.ab-story .ab-split{grid-template-columns:1fr}
  .ab-reviews .ab-grid{grid-template-columns:1fr}
  .ab-visit .ab-photo{aspect-ratio:4/3;min-height:0}
}
@media (max-width:520px){
  .ab-steps .ab-grid{grid-template-columns:1fr}
  .ab-sig .ab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .ab-bowl h3.wp-block-heading{font-size:24px}
  .ab-bowl p{font-size:15px}
  .ab-cater .ab-list,.ab-visit .ab-facts{grid-template-columns:1fr}
  .wp-block-button .wp-block-button__link{padding:16px 22px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
.ab-bowl .ab-pos-low img{object-position:50% 80%}
.ab-grid > *,.ab-split > *,.ab-head > *,.ab-step > *,.ab-list > *,.ab-facts > *{margin-block-start:0 !important}
.ab-story-text .ab-lede,.ab-cater-text .ab-lede{margin-bottom:1em !important}

/* ---------- Gyro story (scroll-scrubbed) ---------- */
/* Food on the left, copy on the right, nothing laid over the food. */
.ab-gyro{background:#0b0a09;color:var(--ab-cream);position:relative}
.ab-gyro .abg-stage{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);min-height:100vh}
.ab-gyro .abg-media{position:relative;min-height:56vw}
.ab-gyro .abg-poster,.ab-gyro .abg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ab-gyro .abg-poster{object-fit:contain;object-position:45% 50%}
.ab-gyro .abg-canvas{opacity:0;transition:opacity .4s ease}
.ab-gyro.abg-live .abg-canvas{opacity:1}
.ab-gyro .abg-media::after{content:"";position:absolute;top:0;bottom:0;right:0;width:12%;background:linear-gradient(90deg,rgba(11,10,9,0),#0b0a09);pointer-events:none}
.ab-gyro .abg-copy{box-sizing:border-box;position:relative;z-index:2;padding:clamp(48px,6vw,96px) var(--ab-gutter) clamp(48px,6vw,96px) clamp(8px,2vw,32px);display:grid;align-content:center;gap:56px}
.ab-gyro .abg-beat{max-width:30rem}
.ab-gyro .abg-beat h2{font:900 clamp(44px,5.4vw,84px)/.92 var(--ab-display);color:var(--ab-yellow);margin:0 0 16px;font-variation-settings:normal}
.ab-gyro .abg-beat p{font-size:clamp(17px,1.4vw,20px);line-height:1.5;margin:0;color:var(--ab-cream)}
.ab-gyro .abg-eyebrow{font:900 13px/1 var(--ab-body) !important;letter-spacing:.22em;text-transform:uppercase;color:var(--ab-orange) !important;margin-bottom:18px !important}
.ab-gyro blockquote{margin:22px 0 0;padding:16px 18px;border-left:4px solid var(--ab-yellow);background:rgba(255,243,223,.07);border-radius:0 14px 14px 0}
.ab-gyro blockquote p{font-size:18px !important}
.ab-gyro cite{display:block;margin-top:10px;font:900 12px/1 var(--ab-body);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--ab-yellow)}
.ab-gyro .abg-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ab-gyro .abg-go{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-gyro .abg-ghost{background:transparent;border-color:var(--ab-cream);color:var(--ab-cream)}
.ab-gyro .abg-bar{display:none}
/* with JS + motion: pin the stage and scrub; beats share one spot in the right column */
@media (prefers-reduced-motion:no-preference){
  .ab-gyro.abg-on .abg-driver{height:340vh}
  .ab-gyro.abg-on .abg-stage{position:sticky;top:0;height:100vh;min-height:0}
  .ab-gyro.abg-on .abg-media{min-height:0}
  .ab-gyro.abg-on .abg-copy{display:block}
  .ab-gyro.abg-on .abg-beat{position:absolute;left:clamp(8px,2vw,32px);right:var(--ab-gutter);top:50%;opacity:0;will-change:opacity,transform;transform:translateY(calc(var(--abg-shift,-50%) + var(--abg-y,0px)))}
  .ab-gyro.abg-on .abg-first{opacity:1}
  .ab-gyro.abg-on .abg-bar{display:block;position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,243,223,.15);z-index:3}
  .ab-gyro.abg-on .abg-bar i{display:block;height:100%;background:var(--ab-yellow);transform:scaleX(0);transform-origin:0 50%}
}
@media (max-width:860px){
  .ab-gyro .abg-stage{grid-template-columns:1fr;grid-template-rows:auto auto}
  .ab-gyro .abg-media{min-height:0;aspect-ratio:4/3}
  .ab-gyro .abg-media::after{top:auto;left:0;width:auto;height:18%;background:linear-gradient(180deg,rgba(11,10,9,0),#0b0a09)}
  .ab-gyro .abg-copy{padding:8px var(--ab-gutter) 48px}
  .ab-gyro.abg-on .abg-stage{grid-template-rows:56% 44%}
  .ab-gyro.abg-on .abg-media{aspect-ratio:auto}
  .ab-gyro.abg-on .abg-beat{left:var(--ab-gutter);top:6px;max-width:none;--abg-shift:0%}
}

/* ---------- Wraps, pitas and falafel ---------- */
.ab-more{background:var(--ab-yellow)}
.ab-more .ab-head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 60px;align-items:end;margin-bottom:clamp(40px,5vw,64px) !important}
.ab-more .ab-head p{margin:0}
.ab-more .ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.ab-more-card{background:var(--ab-cream);border-radius:var(--ab-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 50px -32px rgba(37,37,37,.6)}
.ab-more-card .wp-block-image{aspect-ratio:4/3;overflow:hidden}
.ab-more-card .wp-block-image img{transition:transform .7s ease}
.ab-more-card:hover .wp-block-image img{transform:scale(1.06)}
.ab-more-body{padding:22px 24px 26px;position:relative}
.ab-more .ab-price{position:absolute;top:-22px;right:20px;background:var(--ab-red);color:#fff;font:900 22px/1 var(--ab-display) !important;padding:12px 16px;border-radius:999px;margin:0 !important;transform:rotate(-4deg)}
.ab-more-body p{font-size:16px;margin-bottom:0}
.ab-falafel{margin-top:clamp(28px,3vw,40px) !important;background:var(--ab-ink);color:var(--ab-cream);border-radius:var(--ab-radius);padding:22px 26px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.ab-falafel p{margin:0 !important;font-size:16px;padding-left:18px;position:relative}
.ab-falafel p::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--ab-green)}
.ab-falafel .ab-fal-title{padding-left:0;font:900 26px/1 var(--ab-display);color:var(--ab-yellow)}
.ab-falafel .ab-fal-title::before{display:none}
.ab-falafel .ab-fal-title strong{font-weight:900}
.ab-more .wp-block-buttons{margin-top:clamp(28px,3vw,40px) !important}
@media (max-width:1000px){.ab-more .ab-head{grid-template-columns:1fr}}
@media (max-width:760px){.ab-more .ab-grid{grid-template-columns:1fr}.ab-falafel{flex-direction:column;align-items:flex-start}}
.ab-falafel > *{margin-block-start:0 !important}

/* ================= Inner pages ================= */
.ab-top{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(37,37,37,.08)}
.admin-bar .ab-top{top:32px}
@media (max-width:782px){.admin-bar .ab-top{top:0}}
.ab-top .ab-btn{padding:14px 22px;font-size:14px}
.ab-top nav a:hover{color:var(--ab-red)}
.ab-inner h1.wp-block-heading{font:900 clamp(48px,7.6vw,104px)/.92 var(--ab-display);margin:0 0 22px;color:var(--ab-ink);font-variation-settings:normal}

/* page hero */
.ab-pagehero{background:var(--ab-yellow);padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(56px,8vw,110px)}
.ab-pagehero .ab-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.ab-pagehero .ab-split > :only-child{grid-column:1 / -1;max-width:860px}
.ab-pagehero .ab-photo{aspect-ratio:5/4;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 60px -30px rgba(37,37,37,.55)}
.ab-pagehero .wp-block-buttons{margin-top:28px !important}
.ab-ph-red{background:var(--ab-red);color:var(--ab-cream)}
.ab-ph-red h1.wp-block-heading{color:var(--ab-cream)}
.ab-ph-red .ab-eyebrow{color:var(--ab-yellow)}
.ab-ph-red .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-ph-red .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--ab-cream);color:var(--ab-cream)}
.ab-ph-cream{background:#FFE7A8}
.ab-ph-short .ab-photo{aspect-ratio:16/11}

/* jump nav */
.ab-jump{position:sticky;top:92px;z-index:40;display:flex;gap:8px;overflow-x:auto;padding:12px var(--ab-gutter);background:var(--ab-cream);border-bottom:1px solid rgba(37,37,37,.1);scrollbar-width:none}
.admin-bar .ab-jump{top:124px}
.ab-jump::-webkit-scrollbar{display:none}
.ab-jump a{flex:none;font:900 13px/1 var(--ab-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:11px 16px;border-radius:999px;border:2px solid var(--ab-ink)}
.ab-jump a:hover{background:var(--ab-ink);color:var(--ab-cream)}
@media (min-width:1352px){.ab-jump{justify-content:center}}
.ab-menu-sec [id]{scroll-margin-top:170px}

/* menu sections */
.ab-menu-sec{background:var(--ab-cream)}
.ab-menu-alt{background:#FFE7A8}
.ab-menu-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px) !important}
.ab-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.ab-menu-card{background:#fff;border-radius:var(--ab-radius);padding:24px;box-shadow:0 18px 40px -30px rgba(37,37,37,.5)}
.ab-menu-card.ab-wide{grid-column:span 3}
.ab-menu-card:last-child{grid-column:span 1}
.ab-num{font:900 12px/1 var(--ab-body) !important;letter-spacing:.18em;text-transform:uppercase;color:var(--ab-red);margin-bottom:10px !important}
.ab-chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ab-chips li{background:var(--ab-cream);border-radius:999px;padding:8px 12px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.ab-chips em{font-style:normal;color:var(--ab-red)}
.ab-diet{display:inline-block;font:900 10px/1 var(--ab-body);letter-spacing:.06em;padding:4px 6px;border-radius:5px;vertical-align:middle}
.ab-diet-v{background:var(--ab-green);color:#fff}
.ab-diet-gf{background:var(--ab-yellow);color:var(--ab-ink)}
.ab-diet-hot{background:var(--ab-red);color:#fff}
.ab-callout{margin-top:clamp(28px,3vw,40px) !important;background:var(--ab-ink);color:var(--ab-cream);border-radius:var(--ab-radius);padding:22px 26px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.ab-callout p{margin:0;font-size:18px}
.ab-callout strong{color:var(--ab-yellow)}
.ab-callout .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-menu-sec .ab-split,.ab-bros .ab-split,.ab-cta-band .ab-split,.ab-inquiry .ab-split,.ab-visit-page .ab-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.ab-menu-photos{display:grid;gap:18px;position:sticky;top:180px}
.ab-menu-photos .ab-photo{aspect-ratio:4/3;border-radius:var(--ab-radius);overflow:hidden}
.ab-menu-photos .ab-photo:nth-child(2){transform:rotate(-1.5deg);width:80%;margin-left:auto !important}
.ab-menu-list{list-style:none;margin:8px 0 26px;padding:0}
.ab-menu-list li{padding:14px 0;border-bottom:1px dashed rgba(37,37,37,.25)}
.ab-mi-top{display:flex;align-items:baseline;gap:10px}
.ab-mi-name{font:900 clamp(20px,1.8vw,24px)/1.1 var(--ab-display)}
.ab-mi-dots{flex:1;border-bottom:2px dotted rgba(37,37,37,.3);transform:translateY(-4px);min-width:20px}
.ab-mi-price{font:900 17px/1 var(--ab-body);color:var(--ab-red);white-space:nowrap}
.ab-mi-desc{margin:6px 0 0 !important;font-size:15px !important;opacity:.8}
.ab-mi-tags{margin-top:6px;display:flex;gap:5px}
.ab-menu-text h3.wp-block-heading{margin-top:18px}
.ab-fine{font-size:14px !important;opacity:.75}
.ab-menu-family{background:var(--ab-ink);color:var(--ab-cream)}
.ab-menu-family h2.wp-block-heading{color:var(--ab-yellow)}
.ab-menu-family .ab-eyebrow{color:var(--ab-orange)}
.ab-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-bottom:32px !important}
.ab-family-grid.ab-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ab-family-card{background:var(--ab-cream);color:var(--ab-ink);border-radius:var(--ab-radius);padding:28px;position:relative;overflow:hidden}
.ab-family-card .wp-block-image{margin:-28px -28px 22px !important;aspect-ratio:16/10;overflow:hidden}
.ab-family-card .ab-price{display:inline-block;background:var(--ab-red);color:#fff;font:900 26px/1 var(--ab-display) !important;padding:12px 18px;border-radius:999px;margin-bottom:14px !important;transform:rotate(-3deg)}
.ab-menu-family .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-menu-family .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--ab-cream);color:var(--ab-cream)}
.ab-menu-note{background:var(--ab-cream);padding-top:0}

/* bowl picker */
.ab-picker{background:var(--ab-cream)}
.ab-picker-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.ab-step-set{border:0;margin:0 0 34px;padding:0}
.ab-step-set legend{font:900 clamp(26px,2.6vw,34px)/1.1 var(--ab-display);padding:0;margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ab-step-set legend .ab-num{flex-basis:100%;margin:0 !important}
.ab-step-set legend small{font:700 14px/1 var(--ab-body);opacity:.7}
.ab-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.ab-opt{position:relative;cursor:pointer}
.ab-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ab-opt-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:56px;padding:12px 14px;background:#fff;border:2px solid rgba(37,37,37,.12);border-radius:16px;font-weight:700;transition:border-color .15s,background .15s,transform .15s}
.ab-opt:hover .ab-opt-body{border-color:var(--ab-ink)}
.ab-opt input:focus-visible + .ab-opt-body{outline:3px solid var(--ab-red);outline-offset:2px}
.ab-opt.is-on .ab-opt-body,.ab-opt input:checked + .ab-opt-body{background:var(--ab-yellow);border-color:var(--ab-ink);transform:translateY(-1px)}
.ab-opt-name{flex:1 1 auto}
.ab-opt-plus{font-weight:900;color:var(--ab-red);font-size:14px}
.ab-summary{position:sticky;top:120px;background:var(--ab-ink);color:var(--ab-cream);border-radius:var(--ab-radius);padding:26px}
.ab-summary .ab-eyebrow{color:var(--ab-yellow)}
.ab-sum-list{list-style:none;margin:0 0 18px;padding:0;min-height:60px}
.ab-sum-list li{padding:10px 0;border-bottom:1px solid rgba(255,243,223,.15);display:grid;gap:3px}
.ab-sum-list b{font:900 12px/1 var(--ab-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ab-yellow)}
.ab-sum-empty{opacity:.7}
.ab-sum-total{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 10px}
.ab-sum-total span{font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.ab-sum-total strong{font:900 48px/1 var(--ab-display);color:var(--ab-yellow)}
.ab-sum-actions{display:grid;gap:10px;margin-top:16px}
.ab-sum-actions .ab-btn{justify-content:center;cursor:pointer}
.ab-summary .ab-order{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-summary .ab-copy,.ab-summary .ab-reset{background:transparent;border-color:rgba(255,243,223,.5);color:var(--ab-cream)}
.ab-copy-msg{font-size:14px;margin:12px 0 0;white-space:pre-line}

/* catering */
.ab-cater-packs{background:var(--ab-cream)}
.ab-how{background:var(--ab-yellow)}
.ab-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.ab-how-grid.ab-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-how-step{background:var(--ab-cream);border-radius:var(--ab-radius);padding:26px}
.ab-how-step p{font-size:16px}
.ab-how-step .wp-block-buttons{margin-top:14px !important}
.ab-big{font:900 64px/1 var(--ab-display) !important;color:var(--ab-red);margin-bottom:6px !important}
.ab-inquiry{background:var(--ab-cream)}
.ab-form{background:#fff;border-radius:var(--ab-radius);padding:clamp(22px,3vw,36px);box-shadow:0 24px 50px -36px rgba(37,37,37,.6);display:grid;gap:16px}
.ab-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ab-field{display:grid;gap:6px}
.ab-field label{font:900 13px/1.2 var(--ab-body);letter-spacing:.08em;text-transform:uppercase}
.ab-field input,.ab-field select,.ab-field textarea{font:400 17px/1.4 var(--ab-body);color:var(--ab-ink);background:var(--ab-cream);border:2px solid rgba(37,37,37,.18);border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
.ab-field input:focus,.ab-field select:focus,.ab-field textarea:focus{border-color:var(--ab-ink);outline:none;box-shadow:0 0 0 3px rgba(255,204,43,.7)}
.ab-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ab-submit{justify-self:start;cursor:pointer}
.ab-form-msg{margin:0;padding:14px 16px;border-radius:12px;font-weight:700}
.ab-form-msg.is-ok{background:#e3f5e6;color:#0b5d1e}
.ab-form-msg.is-err{background:#fde3e1;color:var(--ab-red)}

/* about */
.ab-bros{background:var(--ab-cream)}
.ab-bros .ab-tall{aspect-ratio:3/4;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(-1.5deg)}
.ab-bro-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ab-bro{background:#fff;border-radius:18px;padding:20px}
.ab-bro p{font-size:16px;margin:0}
.ab-values{background:var(--ab-yellow)}
.ab-cta-band{background:var(--ab-red);color:var(--ab-cream)}
.ab-cta-band .ab-split{align-items:center}
.ab-cta-band h2.wp-block-heading{color:var(--ab-cream)}
.ab-cta-band .ab-photo{aspect-ratio:4/3;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(1.5deg)}
.ab-cta-band .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-cta-band .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--ab-cream);color:var(--ab-cream)}

/* visit */
.ab-visit-page{background:var(--ab-cream)}
.ab-visit-cards{display:grid;gap:16px}
.ab-vcard{background:#fff;border-radius:var(--ab-radius);padding:24px 26px}
.ab-vcard h2.wp-block-heading{font-size:clamp(30px,3vw,40px) !important;margin-bottom:10px}
.ab-vcard address{font-style:normal;font-size:19px;line-height:1.5;margin-bottom:10px}
.ab-link{font-weight:900;color:var(--ab-red)}
.ab-hours{border-collapse:collapse;width:100%;font-size:17px}
.ab-hours th{text-align:left;font-weight:700;padding:8px 12px 8px 0}
.ab-hours td{text-align:right;padding:8px 0}
.ab-hours tr + tr{border-top:1px dashed rgba(37,37,37,.25)}
.ab-map{position:relative;display:block;min-height:440px;border-radius:var(--ab-radius);overflow:hidden;background:#f3e6c9;text-decoration:none;color:var(--ab-ink)}
.ab-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(37,37,37,.07) 2px,transparent 2px),linear-gradient(90deg,rgba(37,37,37,.07) 2px,transparent 2px);background-size:48px 48px}
.ab-map-road{position:absolute;background:#fff;box-shadow:0 0 0 3px rgba(37,37,37,.08)}
.ab-map-rte{left:52%;top:-10%;bottom:-10%;width:34px;transform:rotate(8deg)}
.ab-map-rte b{position:absolute;top:18%;left:50%;transform:translateX(-50%) rotate(-90deg);font:900 12px/1 var(--ab-body);letter-spacing:.14em;white-space:nowrap;color:rgba(37,37,37,.5)}
.ab-map-x{top:58%;left:-10%;right:-10%;height:22px;transform:rotate(-4deg)}
.ab-map-pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-100%);background:var(--ab-ink);border-radius:18px;padding:10px 12px;box-shadow:0 16px 30px -12px rgba(0,0,0,.5)}
.ab-map-pin::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);border:10px solid transparent;border-bottom:0;border-top-color:var(--ab-ink)}
.ab-map-pin img{display:block;width:110px;height:auto}
.ab-map-cta{position:absolute;left:20px;bottom:20px;background:var(--ab-yellow);font:900 13px/1 var(--ab-body);letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;border-radius:999px}
.ab-map:hover .ab-map-cta{background:var(--ab-ink);color:var(--ab-cream)}
.ab-ways{background:var(--ab-yellow)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* inner responsive */
@media (max-width:1000px){
  .ab-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-menu-card.ab-wide{grid-column:1 / -1}
  .ab-menu-card:last-child{grid-column:1 / -1}
  .ab-family-grid.ab-three,.ab-how-grid,.ab-how-grid.ab-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-picker-grid{grid-template-columns:1fr}
  .ab-summary{position:sticky;top:auto;bottom:12px;z-index:30}
}
@media (max-width:760px){
  .ab-pagehero .ab-split,.ab-menu-sec .ab-split,.ab-bros .ab-split,.ab-cta-band .ab-split,.ab-inquiry .ab-split,.ab-visit-page .ab-split{grid-template-columns:1fr}
  .ab-menu-grid,.ab-family-grid,.ab-family-grid.ab-three,.ab-how-grid,.ab-how-grid.ab-four,.ab-bro-list,.ab-row{grid-template-columns:1fr}
  .ab-menu-photos{position:static}
  .ab-jump{top:88px}
  .ab-map{min-height:320px}
  .ab-opts{grid-template-columns:1fr 1fr}
  .ab-summary{padding:18px}
  .ab-sum-list{max-height:120px;overflow:auto}
  .ab-sum-total strong{font-size:36px}
}
.ab-menu-grid > *,.ab-family-grid > *,.ab-how-grid > *,.ab-bro-list > *,.ab-visit-cards > *,.ab-menu-photos > *,.ab-ph-text > *{margin-block-start:0 !important}
.ab-foot a{color:var(--ab-cream)}
.ab-foot a:hover{color:var(--ab-yellow)}
.ab-top nav a{color:var(--ab-ink)}
/* header: mobile menu */
.ab-top-end{display:flex;align-items:center;gap:12px}
.ab-mnav{display:none;position:relative}
.ab-mnav summary{list-style:none;cursor:pointer;width:48px;height:48px;border-radius:50%;background:var(--ab-yellow);display:grid;place-content:center;gap:5px}
.ab-mnav summary::-webkit-details-marker{display:none}
.ab-mnav summary span{display:block;width:20px;height:3px;border-radius:2px;background:var(--ab-ink)}
.ab-mnav nav{position:absolute;right:0;top:58px;width:min(78vw,300px);background:var(--ab-ink);border-radius:18px;padding:10px;display:grid !important;gap:2px;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.ab-mnav nav a{color:var(--ab-cream) !important;padding:14px 14px;border-radius:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:14px;text-decoration:none}
.ab-mnav nav a:hover{background:rgba(255,243,223,.1)}
@media (max-width:760px){.ab-mnav{display:block}.ab-top .ab-btn{padding:13px 16px;font-size:13px}}
/* bowl picker: compact total bar on small screens */
.ab-mbar{display:none}
@media (max-width:1000px){
  .ab-summary{position:static}
  .ab-mbar{display:flex;position:sticky;bottom:10px;z-index:30;margin:0 var(--ab-gutter);justify-content:space-between;align-items:center;gap:12px;background:var(--ab-ink);color:var(--ab-cream);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 16px 30px -14px rgba(0,0,0,.6)}
  .ab-mbar span{font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
  .ab-mbar strong{font:900 26px/1 var(--ab-display);color:var(--ab-yellow);margin-left:6px;letter-spacing:0}
  .ab-mbar .ab-btn{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink);padding:14px 18px;font-size:13px}
  .ab-picker{padding-bottom:40px}
  .ab-summary{scroll-margin-top:110px}
}

/* ================= Sonic Boom layer ================= */
/* first section after the film: trust strip + problem */
.ab-problem{background:var(--ab-handoff);padding-top:clamp(40px,5vw,72px)}
.ab-trust{list-style:none;margin:0 0 clamp(44px,6vw,80px);padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ab-trust li{background:var(--ab-ink);color:var(--ab-cream);border-radius:999px;padding:11px 16px;font:700 14px/1 var(--ab-body);letter-spacing:.02em}
.ab-trust b{color:var(--ab-yellow);font-weight:900}
.ab-trust .ab-open a{text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:8px}
.ab-trust .ab-open a::before{content:"";width:9px;height:9px;border-radius:50%;background:rgba(255,243,223,.5)}
.ab-trust .ab-open.is-open a::before{background:#3ddc6b;box-shadow:0 0 0 4px rgba(61,220,107,.25)}
.ab-trust .ab-open.is-closed a::before{background:var(--ab-orange)}
.ab-problem-head{max-width:820px}
.ab-problem h2.wp-block-heading{font:900 clamp(44px,7vw,96px)/.92 var(--ab-display);margin:0 0 clamp(28px,4vw,48px);color:var(--ab-ink)}
.ab-pains{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.ab-pain{background:var(--ab-cream);border-radius:var(--ab-radius);padding:24px 22px 22px;position:relative;box-shadow:0 18px 36px -28px rgba(37,37,37,.6)}
.ab-pain:nth-child(odd){transform:rotate(-.7deg)}
.ab-pain:nth-child(even){transform:rotate(.7deg)}
.ab-pain-x{position:absolute;top:-14px;left:20px;width:30px;height:30px;border-radius:50%;background:var(--ab-red)}
.ab-pain-x::before,.ab-pain-x::after{content:"";position:absolute;left:8px;top:14px;width:14px;height:3px;border-radius:2px;background:#fff;transform:rotate(45deg)}
.ab-pain-x::after{transform:rotate(-45deg)}
.ab-pain-bad{font-size:16px !important;margin:6px 0 14px !important;text-decoration:line-through;text-decoration-color:rgba(173,26,25,.7);text-decoration-thickness:2px;opacity:.75}
.ab-pain-fix{font:900 clamp(22px,2vw,26px)/1.05 var(--ab-display) !important;margin:0 !important;color:var(--ab-ink)}
.ab-problem-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:clamp(32px,4vw,52px)}
.ab-problem .ab-we{font:900 clamp(28px,3vw,40px)/1 var(--ab-display);margin:0 18px 0 0 !important;color:var(--ab-red)}
.ab-btn-ghost{background:transparent;color:var(--ab-ink)}
.ab-btn-ghost:hover{background:var(--ab-ink);color:var(--ab-cream);border-color:var(--ab-ink)}
@media (max-width:1000px){.ab-pains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ab-pains{grid-template-columns:1fr;gap:22px}.ab-trust li{font-size:13px;padding:10px 13px}}

/* new section rhythm: film, problem (#FBC336), reviews (navy), steps (cream), bowls (light yellow) */
.ab-steps{background:var(--ab-cream)}
.ab-sig{background:#FFE7A8}
.ab-story{background:var(--ab-cream)}

/* phone action bar */
.ab-sticky{display:none}
@media (max-width:760px){
  .ab-sticky{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:var(--ab-ink);border-radius:999px;padding:6px;box-shadow:0 16px 30px -12px rgba(0,0,0,.6);transform:translateY(140%);transition:transform .3s ease}
  .ab-sticky.is-on{transform:none}
  .ab-sticky a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;color:var(--ab-cream) !important;text-decoration:none;font:900 13px/1 var(--ab-body);letter-spacing:.08em;text-transform:uppercase}
  .ab-sticky .ab-st-order{background:var(--ab-yellow);color:var(--ab-ink) !important}
  .ab-foot{padding-bottom:96px}
  .slug-build-your-bowl .ab-sticky{display:none}
}
@media (prefers-reduced-motion:reduce){.ab-sticky{transition:none}}

/* catering form steps */
.ab-fprog{margin:0;font:900 12px/1 var(--ab-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-red)}
.ab-fprog:empty{display:none}
.ab-fstep{display:grid;gap:16px}
.ab-fstep[hidden]{display:none}
.ab-form:not(.is-stepped) .ab-next,.ab-form:not(.is-stepped) .ab-back{display:none}
.ab-factions{display:flex;flex-wrap:wrap;gap:10px}
.ab-next,.ab-submit{cursor:pointer;justify-self:start}
.ab-back{cursor:pointer;background:transparent;color:var(--ab-ink)}

/* ================= SEO pages (dish, catering, town, answer) ================= */
.ab-crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font:700 13px/1.3 var(--ab-body)}
.ab-crumbs li + li::before{content:"/";margin-right:6px;opacity:.5}
.ab-crumbs a{text-decoration:none;opacity:.8}
.ab-crumbs a:hover{opacity:1;text-decoration:underline}
.ab-ph-red .ab-crumbs{color:var(--ab-cream)}
.ab-ph-seo h1.wp-block-heading{font-size:clamp(44px,6.4vw,88px)}
.ab-article{background:var(--ab-cream)}
.ab-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);align-items:start}
.ab-art-body{max-width:720px}
.ab-art-body h2.wp-block-heading{font-size:clamp(32px,3.4vw,46px) !important;line-height:1 !important;margin:clamp(36px,4vw,52px) 0 14px !important}
.ab-art-sec:first-child h2.wp-block-heading,.ab-quick + .ab-art-sec h2.wp-block-heading{margin-top:0 !important}
.ab-art-body p,.ab-art-body li{font-size:18px;line-height:1.7}
.ab-art-body a{color:var(--ab-red);font-weight:700}
.ab-art-body ul{padding-left:1.2em;margin:0 0 1em}
.ab-art-body li::marker{color:var(--ab-red)}
.ab-quick{background:var(--ab-yellow);border-radius:var(--ab-radius);padding:24px 26px;margin-bottom:clamp(36px,4vw,52px) !important}
.ab-quick .ab-eyebrow{margin-bottom:10px !important}
.ab-quick-text{font-size:20px !important;line-height:1.55 !important;margin:0 !important;font-weight:700}
.ab-art-quote{margin:clamp(36px,4vw,52px) 0 0;background:var(--ab-navy);color:var(--ab-cream);border-radius:var(--ab-radius);padding:28px;transform:rotate(-.6deg)}
.ab-art-quote blockquote{margin:0}
.ab-art-quote p{font:900 clamp(22px,2.2vw,30px)/1.15 var(--ab-display) !important;margin:0 0 12px !important;color:var(--ab-yellow)}
.ab-art-quote figcaption{font:900 12px/1 var(--ab-body);letter-spacing:.16em;text-transform:uppercase}
.ab-side{position:sticky;top:120px;background:#fff;border-radius:var(--ab-radius);padding:24px;box-shadow:0 24px 50px -36px rgba(37,37,37,.6);display:grid;gap:10px}
.ab-side .ab-eyebrow{margin:0 !important}
.ab-try{list-style:none;margin:0;padding:0}
.ab-try li{padding:12px 0;border-bottom:1px dashed rgba(37,37,37,.22);display:grid;gap:3px;font-size:15px}
.ab-try-top{display:flex;justify-content:space-between;gap:10px}
.ab-try b{font:900 20px/1.1 var(--ab-display)}
.ab-try em{font-style:normal;font-weight:900;color:var(--ab-red);white-space:nowrap}
.ab-side .ab-btn{justify-content:center}
.ab-side-go{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-side-ghost{background:transparent;color:var(--ab-ink)}
.ab-side-ghost:hover{color:#fff}
.ab-side-info{font-size:14px;margin:6px 0 0;opacity:.8}
.ab-faqs{background:var(--ab-yellow)}
.ab-faqs .ab-wrap{max-width:900px}
.ab-faq{background:var(--ab-cream);border-radius:18px;margin-top:12px;overflow:hidden}
.ab-faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 22px;font:900 clamp(20px,1.8vw,24px)/1.15 var(--ab-display);position:relative}
.ab-faq summary::-webkit-details-marker{display:none}
.ab-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--ab-ink);color:var(--ab-yellow);display:grid;place-items:center;font:900 20px/1 var(--ab-body)}
.ab-faq[open] summary::after{content:"–"}
.ab-faq > div{padding:0 22px 20px}
.ab-faq p{margin:0;font-size:17px;line-height:1.65}
.ab-faq a{color:var(--ab-red);font-weight:700}
.ab-related{background:var(--ab-cream)}
.ab-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}
.ab-rel{display:grid;gap:8px;background:#fff;border-radius:18px;padding:22px;text-decoration:none;color:var(--ab-ink);border:2px solid transparent;transition:transform .2s,border-color .2s}
.ab-rel:hover{transform:translateY(-3px);border-color:var(--ab-ink)}
.ab-rel .ab-eyebrow{margin:0 !important}
.ab-rel b{font:900 24px/1.05 var(--ab-display)}
@media (max-width:1000px){.ab-art-grid{grid-template-columns:1fr}.ab-side{position:static;max-width:520px}}

/* footer: explore links */
.ab-foot .ab-explore{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px;padding:24px 0;border-top:1px solid rgba(255,243,223,.15);border-bottom:1px solid rgba(255,243,223,.15)}
.ab-foot .ab-explore p{margin:0 0 8px;font:900 12px/1 var(--ab-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-yellow)}
.ab-foot .ab-explore ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.ab-foot .ab-explore a{text-decoration:none}
@media (max-width:760px){.ab-foot .ab-explore{grid-template-columns:1fr 1fr}}
.ab-crumbs a{color:inherit}
/* QA contrast fixes (WCAG AA) */
.ab-problem .ab-eyebrow{color:#8a1212}
.ab-visit .ab-fine{opacity:.88 !important}
.ab-map-rte b{color:#4a4a4a}

/* ================= Scroll story motion (motion.js tags elements; reduced-motion skips it all) ================= */
.ab-motion [data-rv]{--rv-ease:cubic-bezier(.2,.75,.15,1);transition:opacity .8s var(--rv-ease) var(--rv-delay,0ms),transform 1s var(--rv-ease) var(--rv-delay,0ms),clip-path 1s var(--rv-ease) var(--rv-delay,0ms);will-change:opacity,transform}
.ab-motion [data-rv="up"]{opacity:0;transform:translate3d(0,34px,0)}
.ab-motion [data-rv="left"]{opacity:0;transform:translate3d(-60px,10px,0)}
.ab-motion [data-rv="right"]{opacity:0;transform:translate3d(60px,10px,0)}
.ab-motion [data-rv="scale"]{opacity:0;transform:scale(.92)}
.ab-motion [data-rv="pop"]{opacity:0;transform:scale(.6) translateY(10px);transition-timing-function:cubic-bezier(.3,1.6,.5,1)}
.ab-motion [data-rv="card"]{opacity:0;transform:translate3d(0,60px,0) rotate(-3deg)}
.ab-motion [data-rv="plate"]{opacity:0;transform:translate3d(0,40px,0) scale(.82) rotate(-24deg)}
.ab-motion [data-rv="tilt"]{opacity:0;transform:translate3d(0,40px,0) rotate(5deg) scale(.96)}
.ab-motion [data-rv].is-in{opacity:1;transform:none}
/* keep the designed resting tilts */
.ab-motion .ab-review[data-rv].is-in:nth-child(3n+1){transform:rotate(-.6deg)}
.ab-motion .ab-review[data-rv].is-in:nth-child(3n){transform:rotate(.6deg)}
.ab-motion .ab-pain[data-rv].is-in:nth-child(odd){transform:rotate(-.7deg)}
.ab-motion .ab-pain[data-rv].is-in:nth-child(even){transform:rotate(.7deg)}
.ab-motion .ab-story .ab-photo[data-rv].is-in,.ab-motion .ab-cta-band .ab-photo[data-rv].is-in,.ab-motion .ab-pagehero .ab-photo[data-rv].is-in{transform:rotate(1.5deg)}
.ab-motion .ab-bros .ab-photo[data-rv].is-in,.ab-motion .ab-cater .ab-photo[data-rv].is-in{transform:rotate(-1.5deg)}
.ab-motion .ab-menu-photos .ab-photo:nth-child(2)[data-rv].is-in{transform:rotate(-1.5deg)}

/* headings: words rise out of a mask, one after another */
.ab-motion [data-rv="words"]{opacity:1;transform:none}
.ab-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.ab-w > span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.75,.15,1) calc(var(--wi) * 70ms)}
[data-rv="words"].is-in .ab-w > span{transform:none}

/* pain cards: the old way gets struck out, then our answer lands */
.ab-motion .ab-pain[data-rv] .ab-pain-bad{text-decoration:none;background:linear-gradient(rgba(173,26,25,.75),rgba(173,26,25,.75)) no-repeat 0 55% / 0% 2px;transition:background-size .7s ease calc(var(--rv-delay,0ms) + 450ms)}
.ab-motion .ab-pain[data-rv].is-in .ab-pain-bad{background-size:100% 2px}
.ab-motion .ab-pain[data-rv] .ab-pain-fix{opacity:0;transform:translateY(12px);transition:opacity .6s ease calc(var(--rv-delay,0ms) + 900ms),transform .7s cubic-bezier(.2,.75,.15,1) calc(var(--rv-delay,0ms) + 900ms)}
.ab-motion .ab-pain[data-rv].is-in .ab-pain-fix{opacity:1;transform:none}
.ab-motion .ab-pain[data-rv] .ab-pain-x{transform:scale(0);transition:transform .45s cubic-bezier(.3,1.6,.5,1) calc(var(--rv-delay,0ms) + 250ms)}
.ab-motion .ab-pain[data-rv].is-in .ab-pain-x{transform:none}
.ab-motion .ab-problem-cta .ab-we[data-rv]{transform:scale(1.6) rotate(-6deg);transition-timing-function:cubic-bezier(.3,1.5,.5,1)}
.ab-motion .ab-problem-cta .ab-we[data-rv].is-in{transform:rotate(-2deg)}

/* reviews: stars fill in after the card lands */
.ab-motion .ab-review[data-rv] .ab-stars{background:linear-gradient(90deg,#E8A600 50%,rgba(37,37,37,.15) 50%) 100% 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .9s ease calc(var(--rv-delay,0ms) + 350ms)}
.ab-motion .ab-review[data-rv].is-in .ab-stars{background-position:0 0}

/* the AMBA Way: photos zoom out of a slight crop as each step lands */
.ab-motion .ab-step[data-rv] .wp-block-image img{transform:scale(1.18);transition:transform 1.4s cubic-bezier(.2,.75,.15,1) var(--rv-delay,0ms)}
.ab-motion .ab-step[data-rv].is-in .wp-block-image img{transform:none}
.ab-motion .ab-step[data-rv] .ab-num{display:inline-block;opacity:0;transform:translateX(-14px);transition:opacity .5s ease calc(var(--rv-delay,0ms) + 300ms),transform .6s ease calc(var(--rv-delay,0ms) + 300ms)}
.ab-motion .ab-step[data-rv].is-in .ab-num{opacity:1;transform:none}

/* wraps: price tags stamp on after the card arrives */
.ab-motion .ab-more-card[data-rv] .ab-price{transform:scale(0) rotate(-30deg);transition:transform .5s cubic-bezier(.3,1.6,.5,1) 550ms}
.ab-motion .ab-more-card[data-rv].is-in .ab-price{transform:rotate(-4deg)}

/* visit: the open-now dot breathes */
@keyframes abPulse{0%,100%{box-shadow:0 0 0 4px rgba(61,220,107,.25)}50%{box-shadow:0 0 0 9px rgba(61,220,107,0)}}
.ab-motion .ab-trust .ab-open.is-open a::before{animation:abPulse 2s ease-in-out infinite}

/* scroll-linked: sections ride up over the one before like a stack of cards, and photos drift (parallax) */
@supports (animation-timeline: view()){
  .ab-motion .ab-home > .ab-sec:not(.ab-problem),.ab-motion .ab-home > .ab-gyro{position:relative;z-index:1;margin-top:-40px !important;border-radius:40px 40px 0 0;box-shadow:0 -24px 50px -30px rgba(0,0,0,.35);animation:abStack linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  @keyframes abStack{from{border-radius:72px 72px 0 0;transform:translateY(60px) scale(.985)}to{border-radius:40px 40px 0 0;transform:none}}
  .ab-motion .ab-home > .ab-gyro{overflow:clip}
  .ab-motion .ab-photo img,.ab-motion .ab-bowl .wp-block-image img,.ab-motion .ab-more-card .wp-block-image img{animation:abDrift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  @keyframes abDrift{from{translate:0 -5%}to{translate:0 5%}}
  .ab-motion .ab-photo img{scale:1.12}
  .ab-motion .ab-more-card .wp-block-image img{scale:1.1}
}
@media (prefers-reduced-motion:reduce){.ab-w > span{transform:none !important}}
.ab-menu-note .ab-fine{opacity:1 !important}

/* ---------- The crew (Our Story) + homepage story collage ---------- */
.ab-crew{background:#FFE7A8}
.ab-crew-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.ab-crew-grid .ab-photo{border-radius:var(--ab-radius);overflow:hidden;margin:0;min-height:0}
.ab-crew-grid .ab-crew-main{grid-row:1 / span 2;aspect-ratio:auto}
.ab-crew-grid .ab-photo:not(.ab-crew-main){aspect-ratio:4/3}
.ab-crowd{background:var(--ab-navy);color:var(--ab-cream)}
.ab-crowd h2.wp-block-heading{color:var(--ab-yellow)}
.ab-crowd .ab-eyebrow{color:var(--ab-yellow)}
.ab-crowd-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:clamp(14px,1.8vw,22px);align-items:center}
.ab-crowd-grid .ab-photo{border-radius:var(--ab-radius);overflow:hidden;margin:0;aspect-ratio:4/3}
.ab-crowd-grid .ab-photo:nth-child(1){transform:rotate(-1.5deg)}
.ab-crowd-grid .ab-photo:nth-child(3){transform:rotate(1.5deg)}
.ab-crowd-grid .ab-crowd-tall{aspect-ratio:4/5}
.ab-story-photos{position:relative;padding-bottom:12%}
.ab-story .ab-story-photos .ab-story-main{aspect-ratio:3/2;transform:rotate(-1.2deg)}
.ab-story .ab-story-photos .ab-story-inset{position:absolute;right:-4%;bottom:0;width:48%;aspect-ratio:4/3;transform:rotate(3deg);border:6px solid var(--ab-cream);box-shadow:0 24px 50px -24px rgba(37,37,37,.6)}
.ab-story-photos > *{margin-block-start:0 !important}
@media (max-width:760px){
  .ab-crew-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .ab-crew-grid .ab-crew-main{grid-row:auto;aspect-ratio:3/2}
  .ab-crowd-grid{grid-template-columns:1fr}
  .ab-crowd-grid .ab-crowd-tall{aspect-ratio:4/3}
  .ab-story-photos{padding-bottom:18%}
}
.ab-crew-grid > *,.ab-crowd-grid > *{margin-block-start:0 !important}
.ab-motion .ab-story .ab-story-main[data-rv].is-in{transform:rotate(-1.2deg)}
.ab-motion .ab-story .ab-story-inset[data-rv].is-in{transform:rotate(3deg)}
.ab-motion .ab-crowd-grid .ab-photo:nth-child(1)[data-rv].is-in{transform:rotate(-1.5deg)}
.ab-motion .ab-crowd-grid .ab-photo:nth-child(3)[data-rv].is-in{transform:rotate(1.5deg)}

/* ---------- Grow with AMBA ---------- */
.ab-grow-why{background:var(--ab-cream)}
.ab-grow-why .ab-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center}
.ab-grow-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px !important}
.ab-grow-point{background:#fff;border-radius:18px;padding:20px;border-left:5px solid var(--ab-yellow)}
.ab-grow-point h3.wp-block-heading{font-size:24px !important;margin-bottom:6px}
.ab-grow-point p{font-size:16px;margin:0}
.ab-grow-why .ab-photo{aspect-ratio:4/5;border-radius:var(--ab-radius);overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 60px -30px rgba(37,37,37,.55)}
.ab-motion .ab-grow-why .ab-photo[data-rv].is-in{transform:rotate(1.5deg)}
.ab-grow-who{background:#FFE7A8}
.ab-grow-who .ab-how-step{border-top:5px solid var(--ab-red)}
.ab-disclaimer{margin-top:6px !important;font-size:12.5px !important;line-height:1.5;opacity:.8 !important}
.ab-grow-band{background:var(--ab-ink);color:var(--ab-cream);padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.ab-grow-band-in{max-width:860px}
.ab-grow-band h2.wp-block-heading{color:var(--ab-yellow);font-size:clamp(38px,5.4vw,72px) !important}
.ab-grow-band .ab-eyebrow{color:var(--ab-orange)}
.ab-grow-band .wp-block-button .wp-block-button__link{background:var(--ab-yellow);border-color:var(--ab-yellow);color:var(--ab-ink)}
.ab-crew .ab-callout{margin-top:clamp(28px,3vw,40px) !important}
@media (max-width:760px){.ab-grow-why .ab-split,.ab-grow-points{grid-template-columns:1fr}.ab-grow-why .ab-photo{aspect-ratio:4/3}}
.ab-grow-points > *,.ab-grow-band-in > *{margin-block-start:0 !important}
/* top menu with Grow with AMBA: tighten on mid-size screens, burger below 960px */
@media (max-width:1240px){.ab-top nav{gap:16px;font-size:13px;letter-spacing:.05em}}
@media (max-width:960px){.ab-top nav{display:none}.ab-mnav{display:block}}
html{overflow-x:clip}.ab-home,.ab-inner,main{overflow-x:clip}
