/* Alvin & Raynes Store: shared design system for every e-commerce page.
   Pages link this from their static <head>; page-specific rules stay in each
   page's own <helmet><style>. */

:root{
  --ink:oklch(22% 0.03 265); --ink-2:oklch(42% 0.02 262); --ink-3:oklch(50% 0.02 262);
  --line:oklch(91% 0.012 258); --line-2:oklch(84% 0.03 258);
  --canvas:oklch(98.2% 0.006 258); --surface:#fff; --tint:oklch(96.5% 0.008 258);
  --brand:oklch(51% 0.17 252); --brand-deep:oklch(42% 0.15 255); --brand-2:oklch(56% 0.15 300); --accent:oklch(74% 0.13 199);
  --navy-1:oklch(17% 0.06 275); --navy-2:oklch(30% 0.11 258);
  --on-dark:oklch(96% 0.01 258); --on-dark-2:oklch(84% 0.02 258);
  --wa:oklch(55% 0.14 150); --wa-deep:oklch(38% 0.11 150); --ok-bg:oklch(94% 0.05 150); --ok-ink:oklch(35% 0.1 150);
  --alert:oklch(56% 0.19 25);
  --grad:linear-gradient(135deg,var(--brand),var(--brand-2));
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px;
  --shadow-sm:0 1px 2px oklch(24% 0.08 275 / .06),0 2px 8px -2px oklch(24% 0.08 275 / .06);
  --shadow-md:0 18px 36px -16px oklch(24% 0.08 275 / .22);
  --display:'Space Grotesk',ui-sans-serif,system-ui,sans-serif; --body:'Manrope',ui-sans-serif,system-ui,sans-serif;
  --gutter:clamp(16px,4vw,32px); --section:clamp(56px,7vw,96px);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- base ---------- */
/* support.js sets #dc-root>.sc-host{height:100%}, capping the page box at one
   screen, so the sticky header scrolled away after one screen. Let it grow. */
html body #dc-root,html body #dc-root>.sc-host{height:auto;min-height:100%;}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
::selection{background:oklch(74% 0.13 199 / .35);}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px;}
[id]{scroll-margin-top:84px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-weight:700;}
.skip:focus{top:12px;}
.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gutter);}
.container.narrow{max-width:960px;}
.section{padding-block:var(--section) 0;}
.eyebrow{font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:10px;}
.h2{font-size:clamp(1.625rem,1.2rem + 1.5vw,2.125rem);}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,32px);}
.section-head p.sub{color:var(--ink-2);margin-top:8px;max-width:56ch;}
.text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:800;font-size:15px;color:var(--brand-deep);}
.text-link:hover{color:var(--brand);}
.muted{color:var(--ink-2);}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;font-weight:700;font-size:15px;line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease;}
.btn:hover{transform:translateY(-1px);}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 24px -10px oklch(51% 0.17 252 / .7);}
.btn-primary:hover{box-shadow:0 14px 30px -10px oklch(51% 0.17 252 / .8);}
.btn-light{background:#fff;color:var(--navy-1);box-shadow:0 12px 30px -12px oklch(10% 0 0 / .45);}
.btn-ghost-dark{background:oklch(100% 0 0 / .06);border-color:oklch(100% 0 0 / .32);color:#fff;}
.btn-ghost-dark:hover{background:oklch(100% 0 0 / .14);}
.btn-outline{background:#fff;border-color:var(--line-2);color:var(--ink);}
.btn-outline:hover{border-color:var(--brand-deep);color:var(--brand-deep);}
.btn-wa{background:var(--wa);color:#fff;}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:10px;}
.btn-block{width:100%;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:oklch(100% 0 0 / .88);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);}
.header-bar{display:flex;align-items:center;gap:20px;min-height:68px;}
.brand-link{display:flex;align-items:center;flex:0 0 auto;}
.brand-link img{height:44px;width:auto;}
.nav{display:flex;gap:2px;flex:1;}
.nav a{padding:10px 12px;border-radius:8px;font-size:15px;font-weight:600;color:var(--ink-2);transition:color .15s,background-color .15s;}
.nav a:hover{color:var(--brand);background:var(--tint);}
.nav a[aria-current="page"]{color:var(--ink);font-weight:800;}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;}
.icon-btn:hover{border-color:var(--line-2);}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--alert);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.menu-btn{display:none;}
.menu-btn .i-close{display:none;}
.menu-open .menu-btn .i-open{display:none;} .menu-open .menu-btn .i-close{display:block;}
.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff;padding:8px var(--gutter) 20px;}
.mobile-nav a{display:flex;align-items:center;min-height:48px;font-size:16px;font-weight:600;border-bottom:1px solid oklch(95% 0.008 258);}
.mobile-nav a[aria-current="page"]{font-weight:800;color:var(--brand-deep);}
.mobile-nav .btn{margin-top:16px;width:100%;border-bottom:0;}

/* ---------- dark heroes ---------- */
.hero,.page-hero{position:relative;overflow:hidden;isolation:isolate;color:var(--on-dark);background:linear-gradient(135deg,var(--navy-1),var(--navy-2));}
.hero::before,.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(oklch(100% 0 0 / .05) 1px,transparent 1px),linear-gradient(90deg,oklch(100% 0 0 / .05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%);mask-image:radial-gradient(circle at 30% 20%,#000,transparent 70%);}
.hero-glow{position:absolute;inset:-30%;z-index:-2;pointer-events:none;background:radial-gradient(34% 40% at 78% 20%,oklch(74% 0.13 199 / .42),transparent 70%),radial-gradient(32% 38% at 14% 86%,oklch(56% 0.15 300 / .45),transparent 70%),radial-gradient(24% 28% at 48% 42%,oklch(51% 0.17 252 / .3),transparent 70%);animation:glow-drift 24s ease-in-out infinite alternate;will-change:transform;}
.page-hero .container{padding-block:clamp(40px,6vw,72px);}
.page-hero h1{font-size:clamp(2rem,1.3rem + 2.6vw,3rem);color:#fff;}
.page-hero .lead{color:var(--on-dark-2);max-width:60ch;margin-top:14px;font-size:clamp(1rem,.95rem + .3vw,1.125rem);}
.page-hero .eyebrow{color:oklch(84% 0.08 199);}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:oklch(80% 0.02 258);margin-bottom:14px;}
.crumbs a{color:#fff;font-weight:700;}
.crumbs a:hover{text-decoration:underline;}
.sheen{background:linear-gradient(90deg,oklch(88% 0.09 199),oklch(82% 0.11 300),oklch(88% 0.09 199));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite alternate;}
.chip-dark{display:inline-block;padding:7px 14px;border-radius:999px;background:oklch(100% 0 0 / .08);border:1px solid oklch(100% 0 0 / .16);font-size:13px;font-weight:700;color:oklch(88% 0.05 199);margin-bottom:22px;}

/* ---------- cards & grids ---------- */
.icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:oklch(94% 0.03 258);color:var(--brand-deep);flex:0 0 auto;}
.icon svg{width:22px;height:22px;}
.icon-sm{width:36px;height:36px;border-radius:10px;} .icon-sm svg{width:19px;height:19px;}
.card-grid{display:grid;gap:16px;margin:0;padding:0;list-style:none;}
.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.info{position:relative;display:block;height:100%;padding:24px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s ease;}
a.info:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.info h3{font-size:17px;margin:16px 0 6px;}
.info p{font-size:14.5px;color:var(--ink-2);line-height:1.55;}
.info .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:800;color:var(--brand-deep);}
.panel{padding:clamp(20px,3vw,28px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);}

/* product cards (home featured, shop, related) */
.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;}
.product-grid.four-up{grid-template-columns:repeat(4,minmax(0,1fr));}
.pcard{position:relative;display:flex;flex-direction:column;height:100%;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s ease,border-color .2s ease;}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:oklch(86% 0.03 258);}
.pcard-media{aspect-ratio:1/1;padding:18px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid oklch(95% 0.006 258);background:#fff;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;}
.pcard-media img{width:100%;height:100%;object-fit:contain;transition:transform .35s var(--ease);}
.pcard:hover .pcard-media img{transform:scale(1.04);}
.badge{position:absolute;top:12px;left:12px;z-index:1;padding:4px 10px;border-radius:999px;background:var(--ok-bg);color:var(--ok-ink);font-size:12px;font-weight:800;}
.pcard-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1;}
.pcard-brand{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.pcard-title{font-family:var(--body);font-size:15px;font-weight:700;line-height:1.35;letter-spacing:0;}
.pcard-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-title a::after{content:"";position:absolute;inset:0;z-index:2;border-radius:var(--r-lg);}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;}
.price{font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink);white-space:nowrap;}
.price-ask{font-size:14px;font-weight:700;color:var(--ink-2);}
.add{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line-2);background:#fff;color:var(--brand-deep);font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s;}
.add:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;}
.add .i-check,.add.is-added .i-plus{display:none;}
.add.is-added .i-check{display:block;}
.add.is-added{background:var(--ok-bg);border-color:oklch(80% 0.08 150);color:var(--ok-ink);}
.add-wa{color:var(--wa-deep);border-color:oklch(82% 0.07 150);}
.add-wa:hover{background:var(--wa);border-color:var(--wa);color:#fff;}

/* small product tiles (recently viewed) */
.mini-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,170px);gap:12px;overflow-x:auto;padding-bottom:6px;margin:0;list-style:none;padding-left:0;scroll-snap-type:x proximity;}
.mini-row > li{scroll-snap-align:start;}
.mini{display:flex;flex-direction:column;height:100%;border-radius:var(--r-md);background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s ease;}
.mini:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.mini-media{display:flex;aspect-ratio:1/1;padding:10px;background:#fff;border-bottom:1px solid oklch(95% 0.006 258);align-items:center;justify-content:center;}
.mini-media img{max-width:100%;max-height:100%;object-fit:contain;}
.mini-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:8px 10px 10px;font-size:13px;font-weight:700;line-height:1.35;}

/* chips (filters) */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:700;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s;}
.chip:hover{border-color:var(--brand-deep);color:var(--brand-deep);}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff;}
.chip .count{font-size:12px;font-weight:800;color:var(--ink-3);}
.chip[aria-pressed="true"] .count{color:oklch(86% 0.02 258);}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;}
.field label,.label{font-size:14px;font-weight:700;}
.input,.select,.textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:#fff;font-size:15px;transition:border-color .15s,box-shadow .15s;}
.textarea{min-height:140px;resize:vertical;}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px oklch(51% 0.17 252 / .15);}
.input[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:var(--alert);}
.hint{font-size:13px;color:var(--ink-3);}
.error{font-size:13.5px;font-weight:700;color:oklch(48% 0.19 25);}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:12px;background:#fff;}
.stepper button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer;font-size:18px;font-weight:800;border-radius:12px;}
.stepper button:hover{background:var(--tint);}
.stepper output{min-width:36px;text-align:center;font-weight:800;}

/* dark feature band + cta */
.feature{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,48px);align-items:center;padding:clamp(28px,5vw,56px);border-radius:var(--r-xl);color:var(--on-dark);background:linear-gradient(135deg,var(--navy-1),var(--navy-2));}
.feature h2{color:#fff;}
.feature p.sub{color:var(--on-dark-2);margin:14px 0 26px;max-width:52ch;}
.pill-label{display:inline-block;padding:6px 12px;border-radius:999px;background:oklch(74% 0.13 199 / .18);color:oklch(88% 0.08 199);font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
.feature-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.feature-list li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-md);background:oklch(100% 0 0 / .06);border:1px solid oklch(100% 0 0 / .12);font-weight:700;color:#fff;}
.feature-list .icon{background:oklch(100% 0 0 / .12);color:#fff;}
.cta{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:clamp(28px,4vw,44px);border-radius:var(--r-xl);color:var(--on-dark);background:linear-gradient(120deg,var(--navy-1),var(--navy-2));}
.cta h2{color:#fff;font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem);}
.cta p{color:var(--on-dark-2);margin-top:6px;}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.cta .cta-row{margin-top:0;}
.feature > .hero-glow,.cta > .hero-glow{inset:-60%;}

/* brands strip */
.brands{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(20px,3vw,44px);padding:24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);}
.brands img{height:28px;width:auto;object-fit:contain;}
.brands-label{width:100%;text-align:center;font-size:13px;font-weight:800;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;}

/* ---------- footer ---------- */
.site-footer{margin-top:var(--section);background:linear-gradient(160deg,oklch(20% 0.07 272),oklch(27% 0.09 262));color:var(--on-dark-2);border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--brand),var(--brand-2),var(--accent)) 1;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-block:56px 28px;}
.footer-logo{display:inline-flex;padding:8px 12px;border-radius:10px;background:#fff;margin-bottom:16px;}
.footer-logo img{height:36px;width:auto;}
.site-footer p{font-size:14px;max-width:34ch;}
.footer-title{color:#fff;font-weight:800;font-size:14px;margin-bottom:6px;}
.footer-links{display:flex;flex-direction:column;}
.footer-links a,.footer-links span{display:flex;align-items:center;min-height:40px;font-size:14.5px;}
.footer-links a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid oklch(100% 0 0 / .1);padding-block:20px 28px;font-size:13px;color:oklch(74% 0.02 258);}
.footer-bottom ul{display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.wa-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 14px 30px -10px oklch(45% 0.12 150 / .7);transition:transform .2s var(--ease);}
.wa-fab:hover{transform:scale(1.06);}

/* ---------- loading ---------- */
.skeleton{background:linear-gradient(90deg,oklch(94% 0.008 258),oklch(97% 0.006 258),oklch(94% 0.008 258));background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px;}

/* ---------- motion ---------- */
@keyframes shimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
@keyframes glow-drift{0%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(-5%,4%,0) scale(1.08);}100%{transform:translate3d(4%,-3%,0) scale(1.02);}}
@keyframes sheen{from{background-position:0% 50%;}to{background-position:100% 50%;}}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 oklch(64% 0.17 150 / .55);}70%{box-shadow:0 0 0 10px oklch(64% 0.17 150 / 0);}100%{box-shadow:0 0 0 0 oklch(64% 0.17 150 / 0);}}
@keyframes reveal-up{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
.pulse{width:9px;height:9px;border-radius:50%;background:oklch(64% 0.17 150);animation:live-pulse 2.2s ease-out infinite;}
/* Scroll reveal: CSS scroll-driven animation. Browsers without support simply
   show the content; put .reveal on a wrapper, never on an element that has its
   own hover transform (the animation's end state would override it). */
@supports (animation-timeline: view()){
  .reveal{animation:reveal-up linear both;animation-timeline:view();animation-range:entry 0% entry 55%;}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .product-grid.limit > li:nth-child(n+9){display:none;}
  .card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:960px){
  .product-grid,.product-grid.four-up{grid-template-columns:repeat(3,minmax(0,1fr));}
  .product-grid.limit > li:nth-child(n+9){display:block;}
  .product-grid.limit > li:nth-child(n+10){display:none;}
  .feature{grid-template-columns:1fr;}
}
@media (max-width:880px){
  .nav,.header-actions .btn{display:none;}
  .menu-btn{display:inline-flex;}
  .menu-open .mobile-nav{display:block;}
  .card-grid.three{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .product-grid,.product-grid.four-up{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .product-grid.limit > li:nth-child(n+10){display:block;}
  .pcard-media{padding:12px;}
  .pcard-body{padding:12px;}
  .pcard-foot{flex-direction:column;align-items:stretch;gap:10px;}
  .price{font-size:16.5px;}
  .card-grid.four,.card-grid.two{grid-template-columns:1fr;}
  .cta-row .btn{flex:1 1 100%;}
  .footer-grid{grid-template-columns:1fr;}
  .site-footer{padding-bottom:72px;}
  .wa-fab{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
