/* Chandlar's Enterprises — v2 */
@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%;size-adjust:107.12%}
@font-face{font-family:"Inter";src:url("/fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --teal:#0E7C7B;--teal-600:#0B6B6A;--teal-700:#0A5F5E;--teal-800:#084C4B;--teal-900:#053635;--teal-950:#042827;
  --teal-300:#7CC5C3;--teal-200:#B8E3E0;--teal-100:#D9F0EE;--pale:#F0FAF9;
  --gold:#F7B32B;--gold-300:#FBD27A;--gold-100:#FEF4DC;--gold-ink:#8A5A00;
  --ink:#1A1A1A;--muted:#46595A;--line:rgba(14,124,123,.14);--white:#fff;
  --display:"Bricolage Grotesque","Inter","Inter Fallback",system-ui,sans-serif;
  --body:"Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* 1.25 type scale, fluid */
  --fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:1rem;
  --fs-base:clamp(1.0625rem,1.02rem + .2vw,1.125rem);
  --fs-lg:clamp(1.1875rem,1.08rem + .45vw,1.375rem);
  --fs-xl:clamp(1.375rem,1.2rem + .75vw,1.75rem);
  --fs-2xl:clamp(1.75rem,1.45rem + 1.3vw,2.25rem);
  --fs-3xl:clamp(2.125rem,1.6rem + 2.2vw,3rem);
  --fs-4xl:clamp(2.5rem,1.7rem + 3.4vw,3.75rem);
  /* 8px spacing scale */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;
  --section:clamp(64px,4rem + 3vw,96px);
  --container:1120px;--gutter:24px;
  --radius:20px;--radius-sm:14px;
  --shadow-sm:0 1px 2px rgba(5,54,53,.06),0 2px 6px rgba(5,54,53,.05);
  --shadow:0 1px 2px rgba(5,54,53,.05),0 8px 24px -6px rgba(5,54,53,.12),0 24px 48px -24px rgba(5,54,53,.18);
  --shadow-lg:0 2px 4px rgba(5,54,53,.06),0 20px 40px -12px rgba(5,54,53,.22),0 40px 80px -40px rgba(5,54,53,.3);
  --hh:80px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --circuit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' fill='none' stroke='%230E7C7B' stroke-width='1.5'%3E%3Cpath d='M0 40h46l14 14h40M100 54l20-20h40M20 160v-36l16-16h44l12-12V70M160 110h-34l-14 14v36M60 0v18l-12 12'/%3E%3Ccircle cx='100' cy='54' r='3'/%3E%3Ccircle cx='92' cy='70' r='3'/%3E%3Ccircle cx='48' cy='30' r='3'/%3E%3Ccircle cx='112' cy='124' r='3'/%3E%3C/svg%3E");
  --circuit-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' fill='none' stroke='%23ffffff' stroke-width='1.5'%3E%3Cpath d='M0 40h46l14 14h40M100 54l20-20h40M20 160v-36l16-16h44l12-12V70M160 110h-34l-14 14v36M60 0v18l-12 12'/%3E%3Ccircle cx='100' cy='54' r='3'/%3E%3Ccircle cx='92' cy='70' r='3'/%3E%3Ccircle cx='48' cy='30' r='3'/%3E%3Ccircle cx='112' cy='124' r='3'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 24px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--body);font-size:var(--fs-base);line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-700);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--teal-800)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.band :focus-visible,.site-footer :focus-visible,.tier.featured :focus-visible,.dark :focus-visible{outline-color:var(--gold-300)}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0;color:var(--ink);text-wrap:balance}
h1{font-size:var(--fs-4xl)}
h2{font-size:var(--fs-3xl)}
h3{font-size:var(--fs-xl);font-weight:700;line-height:1.2}
p{margin:0 0 var(--s2);max-width:65ch}
p:last-child{margin-bottom:0}
strong{font-weight:600}
.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:16px;top:-80px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.icon{width:24px;height:24px;flex:none}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 var(--s2)}
.eyebrow::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--gold)}
.lead{font-size:var(--fs-lg);line-height:1.55;color:var(--ink)}
.muted{color:var(--muted)}
.section{padding:var(--section) 0;position:relative}
.section.pale{background:var(--pale)}
.section-head{max-width:720px;margin-bottom:var(--s5)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center p{margin-left:auto;margin-right:auto}
.section-head h2+p{margin-top:var(--s2)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:box-shadow .3s var(--ease),background .3s,border-color .3s}
.site-header .bar{display:flex;align-items:center;gap:var(--s3);height:var(--hh);transition:height .3s var(--ease)}
.site-header.scrolled{--hh:64px;background:rgba(255,255,255,.88);border-bottom-color:var(--line);box-shadow:0 8px 24px -12px rgba(5,54,53,.18)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:800;font-size:1.1875rem;letter-spacing:-.02em;white-space:nowrap;flex:none}
.brand:hover{color:var(--teal-700)}
.brand-mark{width:38px;height:38px;border-radius:11px;flex:none;box-shadow:0 4px 12px -4px rgba(14,124,123,.6);transition:transform .4s var(--ease),width .3s,height .3s}
.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.05)}
.scrolled .brand-mark{width:34px;height:34px}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav a{position:relative;display:block;padding:8px 9px;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:8px}
.nav a::after{content:"";position:absolute;left:9px;right:9px;bottom:2px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover{color:var(--teal-700)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav a[aria-current="page"]{color:var(--teal-700);font-weight:600}
.nav a[aria-current="page"]::after{transform:scaleX(1);background:var(--gold);height:3px}
.nav-cta{display:none}
.header-call{flex:none}
.menu-btn{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--white);cursor:pointer;position:relative;color:var(--ink)}
.menu-btn span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:22px}.menu-btn span:nth-child(3){top:29px}
.menu-open .menu-btn span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-open .menu-btn span:nth-child(3){top:22px;transform:rotate(-45deg)}
@media (max-width:1179px){
  .menu-btn{display:block}
  .site-header .header-call{display:none}
  .nav{position:absolute;left:0;right:0;top:100%;margin:0;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px rgba(5,54,53,.3);max-height:calc(100vh - var(--hh));max-height:calc(100dvh - var(--hh));overflow:auto;
    visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
  .menu-open .nav{visibility:visible;opacity:1;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
  .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:var(--s2) var(--gutter) var(--s3);max-width:calc(var(--container) + var(--gutter)*2);margin:0 auto}
  .nav li{border-bottom:1px solid var(--line)}
  .nav li.nav-cta{border:0;display:flex;gap:12px;padding-top:var(--s3)}
  .nav-cta .btn{flex:1}
  .nav a{padding:14px 4px;font-size:1.0625rem}
  .nav li.nav-cta a{padding:14px 18px;font-size:1rem}
  .nav a::after{left:4px;right:auto;width:28px;bottom:8px}
  .nav li.nav-cta a::after{display:none}
}
@media (max-width:420px){.brand{font-size:1.0625rem}}

/* ---------- Buttons ---------- */
.btn{--bg:var(--gold);--fg:var(--ink);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;min-height:52px;border-radius:999px;background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border:1.5px solid transparent;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 6px 16px -6px rgba(166,108,0,.55);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s;white-space:nowrap;cursor:pointer}
.btn .icon{width:20px;height:20px}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{color:var(--fg);transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 12px 24px -8px rgba(166,108,0,.6)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.97);transition-duration:.08s}
.btn .arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow,.link-arrow:hover .arrow,.next-card:hover .arrow{transform:translateX(4px)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:.9375rem}
.btn-teal{--bg:var(--teal);--fg:#fff;box-shadow:0 6px 16px -6px rgba(14,124,123,.6)}
.btn-teal:hover{--bg:var(--teal-700);color:#fff;box-shadow:0 12px 24px -8px rgba(14,124,123,.6)}
.btn-ghost{--bg:rgba(255,255,255,.7);--fg:var(--teal-800);border-color:rgba(14,124,123,.3);box-shadow:none}
.btn-ghost:hover{--bg:#fff;border-color:var(--teal);box-shadow:0 10px 20px -10px rgba(14,124,123,.4)}
.btn-ghost::after{background:linear-gradient(105deg,transparent 30%,rgba(247,179,43,.25) 48%,transparent 66%)}
.btn-outline-light{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.55);box-shadow:none}
.btn-outline-light:hover{--bg:rgba(255,255,255,.12);border-color:#fff;color:#fff;box-shadow:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-700);text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) left bottom/0 2px no-repeat;padding-bottom:2px;transition:background-size .35s var(--ease),color .2s}
.link-arrow:hover{background-size:100% 2px;color:var(--teal-800)}
.link-arrow .arrow{width:18px;height:18px;transition:transform .25s var(--ease)}

/* ---------- Backgrounds ---------- */
.bg-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(14,124,123,.16) 1.2px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 30% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 70% at 30% 40%,#000 20%,transparent 75%)}
.bg-circuit{position:absolute;inset:0;background-image:var(--circuit);background-size:160px;opacity:.06}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.blob.b1{width:520px;height:520px;background:radial-gradient(circle,rgba(14,124,123,.45),transparent 70%);top:-160px;right:-120px}
.blob.b2{width:420px;height:420px;background:radial-gradient(circle,rgba(247,179,43,.45),transparent 70%);bottom:-180px;left:-120px}
.blob.b3{width:300px;height:300px;background:radial-gradient(circle,rgba(124,197,195,.6),transparent 70%);top:30%;left:40%}
@media (prefers-reduced-motion:no-preference){
  .blob.b1{animation:drift 22s ease-in-out infinite alternate}
  .blob.b2{animation:drift 26s ease-in-out infinite alternate-reverse}
  .blob.b3{animation:drift 30s ease-in-out infinite alternate}
}
@keyframes drift{to{transform:translate3d(-40px,30px,0) scale(1.08)}}
.section>.wrap,.hero>.wrap,.page-hero>.wrap,.band>.wrap{position:relative;z-index:1}

/* ---------- Home hero ---------- */
.hero{position:relative;background:linear-gradient(180deg,var(--pale) 0%,#fff 100%);padding:clamp(48px,6vw,88px) 0 var(--section);overflow:hidden;padding-bottom:clamp(56px,7vw,88px);margin-top:calc(var(--hh) * -1);padding-top:calc(var(--hh) + clamp(40px,5vw,72px))}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:1.02fr 1fr;gap:var(--s6)}}
.hero h1{font-size:var(--fs-4xl);color:var(--teal-900)}
.hero h1 .accent{color:var(--teal);position:relative}
.hero h1 .accent .w{background:linear-gradient(transparent 72%,rgba(247,179,43,.55) 72%,rgba(247,179,43,.55) 92%,transparent 92%)}
.hero .sub{font-size:var(--fs-lg);color:var(--muted);margin-top:var(--s3);max-width:34ch}
.w{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .w{opacity:0;transform:translateY(.5em);animation:rise .8s var(--ease) forwards;animation-delay:calc(var(--i) * 70ms + 120ms)}
  .hero .sub,.hero .btn-row,.hero .eyebrow,.page-hero .crumbs,.page-hero .ph-sub,.page-hero .btn-row{opacity:0;animation:rise .8s var(--ease) forwards}
  .hero .eyebrow,.page-hero .crumbs{animation-delay:.05s}
  .hero .sub,.page-hero .ph-sub{animation-delay:.55s}
  .hero .btn-row,.page-hero .btn-row{animation-delay:.7s}
  .hero-art,.ph-art{opacity:0;animation:artIn 1.1s var(--ease) .25s forwards}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes artIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.hero-art{position:relative}
.frame{position:relative;border-radius:28px;padding:8px;background:linear-gradient(140deg,rgba(255,255,255,.9),rgba(255,255,255,.5));box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.8)}
.frame::before{content:"";position:absolute;inset:-1px;border-radius:29px;padding:1.5px;background:linear-gradient(140deg,var(--gold),rgba(14,124,123,.2) 40%,var(--teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.frame .clip{border-radius:21px;overflow:hidden;aspect-ratio:16/10;background:var(--teal-100)}
.frame .clip img{width:100%;height:100%;object-fit:cover;object-position:62% 60%}
@media (prefers-reduced-motion:no-preference){
  .float{animation:float 6s ease-in-out infinite}
  .kenburns{animation:kb 24s ease-in-out infinite alternate;transform-origin:65% 55%}
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.chip{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-size:var(--fs-sm);font-weight:600;color:var(--ink);line-height:1.25;border:1px solid rgba(14,124,123,.12)}
.chip .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--teal);color:#fff;flex:none}
.chip .ico.gold{background:var(--gold);color:var(--ink)}
.chip .ico .icon{width:20px;height:20px}
.chip small{display:block;font-weight:500;color:var(--muted);font-size:var(--fs-xs)}
.chip.c1{left:-20px;bottom:28px}
.chip.c2{right:-14px;top:24px}
@media (prefers-reduced-motion:no-preference){.chip.c1{animation:float 7s ease-in-out -2s infinite}.chip.c2{animation:float 8s ease-in-out -4s infinite}}
@media (max-width:640px){.chip.c1{left:10px;bottom:-18px}.chip.c2{right:10px;top:-16px}}

/* ---------- Inner page hero ---------- */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--pale),#fff);margin-top:calc(var(--hh) * -1);padding:calc(var(--hh) + clamp(40px,5vw,72px)) 0 clamp(48px,6vw,80px)}
.page-hero h1{color:var(--teal-900);max-width:18ch}
.page-hero .ph-sub{font-size:var(--fs-lg);color:var(--muted);margin-top:var(--s3);max-width:52ch}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0 0 var(--s3);padding:0;font-size:var(--fs-sm);font-weight:500;color:var(--muted)}
.crumbs a{color:var(--teal-700);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--teal-300)}
.crumbs [aria-current]{color:var(--gold-ink);font-weight:600}
.ph-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:900px){.ph-grid{grid-template-columns:1.1fr .9fr}}
.ph-medallion{position:relative;justify-self:center;width:min(100%,360px);aspect-ratio:1;border-radius:32px;background:linear-gradient(145deg,var(--teal),var(--teal-900));box-shadow:var(--shadow-lg);display:grid;place-items:center;overflow:hidden;color:#fff}
.ph-medallion::before{content:"";position:absolute;inset:0;background-image:var(--circuit-light);background-size:140px;opacity:.09}
.ph-medallion::after{content:"";position:absolute;width:70%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(247,179,43,.4),transparent 65%);filter:blur(20px);top:-10%;right:-15%}
.ph-medallion .mono{position:relative;z-index:1;text-align:center}
.ph-medallion .mono svg{width:120px;height:120px;margin:0 auto var(--s3)}
.ph-medallion .mono b{display:block;font-family:var(--display);font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em}
.ph-medallion .mono span{display:block;color:var(--teal-200);font-size:var(--fs-sm);margin-top:4px}
@media (max-width:899px){.ph-medallion{width:100%;max-width:480px;aspect-ratio:auto;padding:var(--s4) var(--s3)}.ph-medallion .mono svg{width:72px;height:72px;margin-bottom:var(--s2)}}

/* Care plans header with art */
.page-hero.art-hero{padding-bottom:0;background:#C0DFD9}
.art-hero .art-bg{position:relative}
@media (min-width:900px){
  .page-hero.art-hero{min-height:560px;display:flex;align-items:center;padding-bottom:clamp(48px,6vw,80px)}
  .art-hero .art-bg{position:absolute;inset:0;z-index:0}
  .art-hero .art-bg img{width:100%;height:100%;object-fit:cover;object-position:left 60%}
  .art-hero .art-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(192,223,217,0) 35%,rgba(192,223,217,.65) 55%,rgba(192,223,217,.85) 100%)}
  .art-hero .wrap{display:flex;justify-content:flex-end}
  .art-hero .ph-copy{width:min(560px,52%)}
}
@media (max-width:899px){
  .art-hero .art-bg{margin-top:var(--s4);aspect-ratio:4/3;max-height:340px;width:100%;overflow:hidden}
  .art-hero .art-bg img{width:100%;height:100%;object-fit:cover;object-position:8% 70%}
}
.art-hero .art-bg img{display:block}

/* ---------- Cards ---------- */
.grid{display:grid;gap:var(--s3)}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);height:100%}
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,var(--gold),var(--teal-300) 50%,var(--teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s var(--ease);pointer-events:none}
.card.hover:hover,.tier:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card.hover:hover::before{opacity:1}
.card h3{margin-bottom:var(--s1)}
.card p{color:var(--muted)}
.ico-tile{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:var(--s3);color:var(--teal);background:linear-gradient(145deg,var(--teal-100),#fff);border:1px solid var(--line);box-shadow:0 6px 14px -8px rgba(14,124,123,.5);transition:transform .4s var(--ease),background .3s,color .3s}
.ico-tile .icon{width:26px;height:26px}
.card.hover:hover .ico-tile{transform:rotate(-6deg) scale(1.06);background:linear-gradient(145deg,var(--teal),var(--teal-700));color:#fff}
.ico-tile.gold{color:var(--ink);background:linear-gradient(145deg,var(--gold-300),var(--gold))}

/* Home intro */
.intro-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:960px){.intro-grid{grid-template-columns:1.1fr .9fr;gap:var(--s6)}}
.statement{font-family:var(--display);font-weight:700;font-size:var(--fs-2xl);line-height:1.25;letter-spacing:-.02em;color:var(--teal-900);max-width:none}
.statement strong{font-weight:800;color:var(--teal);background:linear-gradient(transparent 62%,rgba(247,179,43,.45) 62%)}
.symptoms{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.symptoms li{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);font-weight:500;line-height:1.45;transition:transform .35s var(--ease),box-shadow .35s}
.symptoms li:hover{transform:translateX(6px);box-shadow:var(--shadow)}
.symptoms .s-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--pale);color:var(--teal);flex:none}
.symptoms .s-ico .icon{width:22px;height:22px}
.fixline{margin-top:var(--s4);font-size:var(--fs-lg);color:var(--muted)}
.fixline strong{color:var(--ink)}

/* Ways cards */
.way .price-tag{display:inline-flex;margin-top:var(--s3);padding:6px 12px;border-radius:999px;background:var(--gold-100);color:var(--gold-ink);font-weight:600;font-size:var(--fs-sm)}

/* Promise split */
.promise{display:grid;gap:var(--s5);align-items:center}
@media (min-width:900px){.promise{grid-template-columns:1fr 1fr;gap:var(--s6)}}
.promise-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.promise-list li{display:flex;gap:16px;align-items:flex-start;padding:var(--s3);border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.promise-list li p{margin:0;color:var(--ink);font-weight:500}
.promise-list .ico-tile{margin:0;width:48px;height:48px;border-radius:14px}
.promise-list .ico-tile .icon{width:22px;height:22px}

/* Website teaser */
.teaser{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,var(--teal-900),var(--teal-700));color:#fff;padding:clamp(32px,5vw,64px);display:grid;gap:var(--s4);align-items:center;box-shadow:var(--shadow-lg)}
.teaser::before{content:"";position:absolute;inset:0;background-image:var(--circuit-light);background-size:160px;opacity:.06}
.teaser::after{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(247,179,43,.35),transparent 65%);filter:blur(30px)}
.teaser>*{position:relative;z-index:1}
@media (min-width:900px){.teaser{grid-template-columns:1.2fr 1fr}}
.teaser h2{color:#fff}
.teaser .eyebrow{color:var(--gold)}
.teaser p{color:var(--teal-200)}
.teaser-prices{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.teaser-prices li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-weight:500}
.teaser-prices li b{font-family:var(--display);font-size:var(--fs-xl);color:var(--gold);font-weight:800;white-space:nowrap}
.teaser-prices li b small{font-family:var(--body);font-size:var(--fs-sm);font-weight:500;color:var(--teal-200);margin-right:4px}
.teaser .btn-row{margin-top:var(--s3)}
.example-note{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--teal-200);margin-top:var(--s3)}
.example-note .icon{width:18px;height:18px;color:var(--gold)}

/* ---------- Services ---------- */
.chips-bar{position:sticky;top:var(--hh);z-index:20;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:top .3s var(--ease)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none;list-style:none;margin:0}
.chips::-webkit-scrollbar{display:none}
.chips a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:var(--fs-sm);font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .2s}
.chips a .icon{width:16px;height:16px;color:var(--teal)}
.chips a:hover{border-color:var(--teal-300);transform:translateY(-1px)}
.chips a.active{background:var(--teal);border-color:var(--teal);color:#fff}
.chips a.active .icon{color:var(--gold)}
.svc-intro{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;flex-wrap:wrap;margin-bottom:var(--s5)}
.note{display:flex;gap:14px;align-items:center;margin:0;max-width:none;padding:16px 20px;border-radius:16px;background:var(--gold-100);border:1px solid rgba(247,179,43,.5);color:var(--ink);font-weight:500}
.note .icon{color:var(--gold-ink);width:22px;height:22px}
.quiet-note{margin:calc(var(--s3) * -1 + 4px) 0 0;padding:0 4px;max-width:none;color:var(--muted);font-size:var(--fs-sm)}
.svc{display:grid;gap:var(--s3);padding:var(--s5) 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0;padding-top:0}
.svc:last-child{padding-bottom:0}
@media (min-width:900px){.svc{grid-template-columns:320px 1fr;gap:var(--s6)}.svc-head{position:sticky;top:calc(var(--hh) + 88px);align-self:start}.svc>.quiet-note{grid-column:2;margin-top:calc(var(--s6) * -1 + var(--s2))}}
.svc-head h2{font-size:var(--fs-2xl)}
.svc-head p{margin-top:var(--s2);color:var(--muted);font-size:var(--fs-md)}
.svc-head .ico-tile{margin-bottom:var(--s2)}
.price-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:8px var(--s4);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.price-table:hover{box-shadow:var(--shadow)}
.price-table ul{list-style:none;margin:0;padding:0}
.price-table li{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.price-table li:last-child{border-bottom:0}
.price-table .name{font-weight:500}
.price-table .dots{flex:1;min-width:16px;border-bottom:2px dotted rgba(14,124,123,.25);transform:translateY(-4px)}
.price-table .amt{font-family:var(--display);font-weight:700;color:var(--teal-700);font-size:1.125rem;text-align:right;letter-spacing:-.01em}
.price-table .amt small{display:block;font-family:var(--body);font-size:var(--fs-sm);font-weight:500;color:var(--muted);letter-spacing:0}
@media (max-width:560px){
  .price-table{padding:4px var(--s3)}
  .price-table li{flex-wrap:wrap;gap:4px 12px}
  .price-table .amt{max-width:none}
}
.flat-list{list-style:none;margin:0;padding:0;display:grid;gap:4px 24px}
@media (min-width:640px){.flat-list{grid-template-columns:1fr 1fr}}
.flat-list li{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.flat-list .icon{width:20px;height:20px;color:var(--teal)}
.price-table .foot{margin:0;padding:18px 0 14px;font-size:var(--fs-md);color:var(--muted);max-width:none}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--gold-100);color:var(--gold-ink);font-weight:600;font-size:var(--fs-sm)}

/* ---------- Tiers (care plans & websites) ---------- */
.tiers{display:grid;gap:var(--s3);align-items:stretch}
@media (min-width:900px){.tiers{grid-template-columns:repeat(3,1fr);align-items:center}}
.tier{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;padding:var(--s5) var(--s4) var(--s4);box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease);height:100%}
.tier h3{font-size:var(--fs-xl)}
.tier .ico-tile{margin-bottom:var(--s3)}
.tier .price{display:flex;align-items:baseline;gap:8px;margin:var(--s3) 0 var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--line);flex-wrap:wrap}
.tier .price .from{font-size:var(--fs-sm);font-weight:500;color:var(--muted);align-self:center}
.tier .price .num{font-family:var(--display);font-size:clamp(2.75rem,2.2rem + 2vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--teal-900);font-variant-numeric:tabular-nums}
.tier .price .per{font-weight:500;color:var(--muted)}
.tier .desc{color:var(--muted);flex:1}
.tier .details{margin-top:auto;border-radius:16px;padding:var(--s3);background:var(--pale);border:1.5px dashed rgba(14,124,123,.35);text-align:center}
.tier .details p{margin:0 auto var(--s2);font-weight:600;color:var(--teal-800);display:flex;align-items:center;justify-content:center;gap:10px}
.tier .details p .icon{width:20px;height:20px;color:var(--teal)}
.tier .details .mini,.tier>.mini{display:flex;gap:8px;justify-content:center}
.tier .details .mini .btn,.tier>.mini .btn{flex:1;min-height:44px;padding:10px 14px;font-size:.9375rem}
.tier>.mini{margin-top:auto;padding-top:var(--s3);border-top:1px solid var(--line)}
.tier.featured>.mini{border-color:rgba(255,255,255,.15)}
.tier .inc li .icon{flex:none;border-radius:999px;padding:3px;background:rgba(14,124,123,.12);width:22px;height:22px;stroke-width:3}
.tier.featured .inc li .icon{background:rgba(247,179,43,.18)}
.tier .inc li{font-weight:500}
.tier .inc{align-content:start}
.plan-foot .pf-terms{flex-wrap:nowrap;text-align:left}
.tier.featured{background:linear-gradient(160deg,var(--teal-700),var(--teal-900));color:#fff;border-color:transparent;box-shadow:0 30px 60px -20px rgba(5,54,53,.55),0 0 0 2px var(--gold)}
@media (min-width:900px){.tier.featured{padding-top:calc(var(--s5) + 16px);padding-bottom:calc(var(--s4) + 16px)}}
.tier.featured::before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--circuit-light);background-size:160px;opacity:.06;pointer-events:none}
.tier.featured::after{content:"";position:absolute;top:-1px;left:24px;right:24px;height:4px;border-radius:0 0 4px 4px;background:var(--gold)}
.tier.featured h3,.tier.featured .price .num{color:#fff}
.tier.featured .price .per,.tier.featured .price .from,.tier.featured .desc{color:var(--teal-200)}
.tier.featured .price{border-color:rgba(255,255,255,.15)}
.tier.featured .ico-tile{background:linear-gradient(145deg,var(--gold-300),var(--gold));color:var(--ink);border-color:transparent}
.tier.featured .details{background:rgba(255,255,255,.08);border-color:rgba(247,179,43,.6)}
.tier.featured .details p{color:#fff}
.tier.featured .details p .icon{color:var(--gold)}
.tier>*{position:relative;z-index:1}
.tier .inc{list-style:none;margin:0 0 var(--s3);padding:0;display:grid;gap:12px;flex:1}
.tier .inc li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.tier .inc .icon{width:20px;height:20px;color:var(--teal);margin-top:2px}
.tier.featured .inc .icon{color:var(--gold)}
.tier.featured .inc li{color:#E6F5F3}
.tier .btn{width:100%}
.plan-foot{margin:var(--s5) auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.plan-foot .pf-cta{text-wrap:balance;background:none;border:0;box-shadow:none;padding:0;font-size:var(--fs-lg);font-weight:600;color:var(--teal-900)}
.plan-foot .pf-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.plan-foot p{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;padding:14px 22px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin:0;max-width:none;font-weight:500}
.plan-foot .pf-terms .icon{width:20px;height:20px;color:var(--teal)}
@media (max-width:640px){.plan-foot p{border-radius:20px}}

/* Add-on card */
.addon{margin-top:var(--s4);display:grid;gap:var(--s3);align-items:center;padding:var(--s4);border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.addon:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
@media (min-width:760px){.addon{grid-template-columns:auto 1fr auto;gap:var(--s4)}}
.addon .ico-tile{margin:0}
.addon h3{font-size:var(--fs-lg)}
.addon p{margin:6px 0 0;color:var(--muted)}
.addon .amt{font-family:var(--display);font-weight:800;font-size:var(--fs-2xl);color:var(--teal-900);white-space:nowrap;letter-spacing:-.02em}
.addon .amt small{font-family:var(--body);font-size:var(--fs-md);font-weight:500;color:var(--muted)}

/* Process steps (websites) */
.process{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3);counter-reset:p}
@media (min-width:700px){.process{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.process{grid-template-columns:repeat(4,1fr)}}
.process li{counter-increment:p;position:relative;padding:var(--s4) var(--s3) var(--s3);border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-weight:500;line-height:1.5;transition:transform .35s var(--ease),box-shadow .35s}
.process li:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.process li::before{content:counter(p,decimal-leading-zero);display:block;font-family:var(--display);font-weight:800;font-size:var(--fs-2xl);color:var(--teal);line-height:1;margin-bottom:var(--s2)}
.process li::after{content:"";position:absolute;top:0;left:var(--s3);width:40px;height:4px;border-radius:0 0 4px 4px;background:var(--gold)}
.process li .icon{position:absolute;top:var(--s4);right:var(--s3);color:var(--teal-300)}

/* ---------- How it works timeline ---------- */
.timeline{position:relative}
.tl-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}
.timeline::before,.timeline .tl-progress{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:3px;border-radius:3px;background:var(--teal-100)}
.timeline .tl-progress{background:linear-gradient(var(--teal),var(--teal-300));transform-origin:top;transform:scaleY(var(--p,1))}
.step{position:relative;display:grid;grid-template-columns:56px 1fr;gap:var(--s3)}
.step .node{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid var(--teal);color:var(--teal-900);font-family:var(--display);font-weight:800;font-size:1.375rem;box-shadow:0 0 0 6px var(--pale),var(--shadow-sm);transition:background .4s,color .4s,border-color .4s}
.step.lit .node{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.step-card{display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
@media (min-width:860px){.step-card{grid-template-columns:1fr 1fr}}
.step-copy{padding:var(--s4);display:flex;flex-direction:column;justify-content:center}
.step-copy .k{font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:var(--s1)}
.step-copy h2{font-size:var(--fs-2xl);margin-bottom:var(--s2)}
.step-copy p{color:var(--muted);font-size:var(--fs-lg)}
.step-copy p a{font-weight:600}
.step-art{position:relative;min-height:220px;background:var(--teal-100);overflow:hidden}
.step-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.step-card:hover .step-art img{transform:scale(1.04)}
@media (max-width:859px){.step-art{aspect-ratio:4/3;min-height:0}}
.step-art.motif{display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-100),#fff 60%,var(--teal-100))}
.step-art.motif::before{content:"";position:absolute;inset:0;background-image:var(--circuit);background-size:140px;opacity:.08}
.step-art.motif .big{position:relative;width:132px;height:132px;border-radius:36px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-300),var(--gold));color:var(--ink);box-shadow:0 20px 40px -16px rgba(166,108,0,.6);transform:rotate(-6deg)}
.step-art.motif .big .icon{width:60px;height:60px;stroke-width:1.6}
@media (max-width:640px){.timeline::before,.timeline .tl-progress{left:21px;top:22px}.step{grid-template-columns:44px 1fr;gap:var(--s2)}.step .node{width:44px;height:44px;font-size:1.125rem}}

/* ---------- About ---------- */
.about-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:900px){.about-grid{grid-template-columns:1.15fr .85fr;gap:var(--s6)}}
.about-copy p{font-size:var(--fs-lg);color:var(--ink)}
.about-copy p.lead{font-family:var(--display);font-weight:700;font-size:var(--fs-2xl);line-height:1.25;letter-spacing:-.02em;color:var(--teal-900)}
.about-copy p.reg{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:16px;background:var(--pale);border:1px solid var(--line);font-size:var(--fs-md);font-weight:500}
.about-copy p.reg .icon{color:var(--teal)}
.quote{position:relative;margin:0 auto;max-width:900px;text-align:center}
.quote .qmark{width:56px;height:56px;margin:0 auto var(--s3);color:var(--gold)}
.quote p{font-family:var(--display);font-weight:800;font-size:var(--fs-3xl);line-height:1.15;letter-spacing:-.02em;color:var(--teal-900);margin:0 auto;max-width:22ch}
.quote cite{display:block;margin-top:var(--s3);font-style:normal;font-weight:600;color:var(--gold-ink);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase}

/* ---------- Contact ---------- */
.contact-grid{display:grid;gap:var(--s3)}
@media (min-width:900px){.contact-grid{grid-template-columns:1.2fr 1fr}}
.call-card{position:relative;overflow:hidden;border-radius:28px;padding:clamp(32px,5vw,56px);background:linear-gradient(150deg,var(--teal),var(--teal-900));color:#fff;box-shadow:var(--shadow-lg)}
.call-card::before{content:"";position:absolute;inset:0;background-image:var(--circuit-light);background-size:160px;opacity:.07}
.call-card::after{content:"";position:absolute;width:360px;height:360px;right:-120px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(247,179,43,.4),transparent 65%);filter:blur(24px)}
.call-card>*{position:relative;z-index:1}
.call-card .lead{color:var(--teal-200);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-sm);margin-bottom:var(--s1)}
.big-phone{display:inline-block;font-family:var(--display);font-weight:800;font-size:clamp(2.25rem,1.6rem + 3vw,3.75rem);letter-spacing:-.03em;line-height:1.05;color:#fff;text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) left 100%/0 4px no-repeat;transition:background-size .4s var(--ease);white-space:nowrap}
.big-phone:hover{color:#fff;background-size:100% 4px}
.email-line{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.15);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.email-line .icon{color:var(--gold)}
.email-line a{color:#fff;font-weight:600;font-size:var(--fs-lg);word-break:break-all}
.email-line a:hover{color:var(--gold-300)}
.hours-line{margin:var(--s2) 0 0;color:var(--teal-100);font-size:var(--fs-sm);max-width:none}
.area-card{display:flex;flex-direction:column;gap:var(--s3)}
.area-card p{font-size:var(--fs-lg);color:var(--ink);font-weight:500}
.modes{list-style:none;margin:auto 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.modes li{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;border-radius:16px;background:var(--pale);border:1px solid var(--line);font-weight:600;font-size:var(--fs-sm);text-align:center}
.modes .icon{color:var(--teal)}

/* ---------- Next cards / 404 ---------- */
.next-grid{display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.next-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);font-weight:600;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.next-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--teal-300);color:var(--teal-800)}
.next-card .ico-tile{margin:0;width:44px;height:44px;border-radius:12px}
.next-card .ico-tile .icon{width:20px;height:20px}
.next-card .arrow{margin-left:auto;width:18px;height:18px;color:var(--teal);transition:transform .25s var(--ease)}
.nf-art{justify-self:center;width:min(100%,420px);border-radius:32px;overflow:hidden;box-shadow:var(--shadow-lg);background:#B3DAD5}
.nf-art img{width:100%;aspect-ratio:1;object-fit:cover;object-position:70% 50%}

/* ---------- CTA band ---------- */
.band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--teal-700) 0%,var(--teal) 55%,var(--teal-600) 100%);color:#fff;padding:var(--section) 0;text-align:center}
.band::before{content:"";position:absolute;inset:0;background-image:var(--circuit-light);background-size:160px;opacity:.06}
.band .blob.b1{background:radial-gradient(circle,rgba(247,179,43,.35),transparent 70%);top:-260px;right:-160px}
.band .blob.b2{background:radial-gradient(circle,rgba(124,197,195,.45),transparent 70%)}
.band h2{color:#fff;font-size:var(--fs-3xl);max-width:none}
.band .band-sub{color:var(--teal-200);margin:var(--s2) auto 0;font-size:var(--fs-lg)}
.band .band-sub a{color:#fff}
.band .btn-row{justify-content:center}
.band .next{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:center;align-items:center}
.band .next span{font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.band .link-arrow{color:#fff}
.band .link-arrow:hover{color:#fff}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:var(--teal-950);color:#C9E4E1;padding:var(--s7) 0 var(--s4);font-size:var(--fs-md);overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background-image:var(--circuit-light);background-size:160px;opacity:.035}
.site-footer::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--teal))}
.site-footer .wrap{position:relative;z-index:1}
.f-grid{display:grid;gap:var(--s5)}
@media (min-width:860px){.f-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer .brand{color:#fff}
.site-footer .brand:hover{color:var(--gold-300)}
.f-about p{margin-top:var(--s2);max-width:36ch;color:#C9E4E1}
.site-footer h2{font-family:var(--body);font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 var(--s3)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{color:#E6F5F3;text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) left bottom/0 1.5px no-repeat;transition:background-size .3s var(--ease),color .2s;padding-bottom:1px}
.site-footer a:hover{color:#fff;background-size:100% 1.5px}
.site-footer a[aria-current="page"]{color:var(--gold-300)}
.f-contact li{display:flex;gap:10px;align-items:center}
.f-contact .icon{width:18px;height:18px;color:var(--gold)}
.f-contact .f-hours{display:block;margin-top:4px;color:#9CC7C3;font-size:var(--fs-sm);max-width:32ch}
.f-pages{grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:24px!important}
.f-bottom{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:var(--fs-sm);color:#9CC7C3}
.f-bottom a{color:#C9E4E1}

/* ---------- Mobile call bar ---------- */
.mobile-call{display:none}
@media (max-width:759px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .mobile-call{display:flex;gap:10px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;padding:8px;border-radius:20px;background:rgba(5,54,53,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 40px -12px rgba(5,54,53,.6)}
  .mobile-call .btn{flex:1;min-width:0;white-space:nowrap;min-height:48px;padding:10px 12px;font-size:.9375rem}
  .mobile-call .btn:first-child{flex:1.7}
}

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;translate:0 16px;transition-property:opacity,translate,scale,transform,box-shadow,background-color,color,border-color;transition-duration:.8s,.8s,.8s,.35s,.35s,.3s,.3s,.3s;transition-timing-function:var(--ease);transition-delay:calc(var(--d,0) * 60ms),calc(var(--d,0) * 60ms),calc(var(--d,0) * 60ms),0s,0s,0s,0s,0s}
  .js [data-reveal="left"]{translate:-24px 0}
  .js [data-reveal="right"]{translate:24px 0}
  .js [data-reveal="zoom"]{translate:none;scale:.96}
  .js [data-reveal].in{opacity:1;translate:none;scale:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.frame .clip,.step-art,.nf-art,.art-bg{-webkit-mask-image:-webkit-radial-gradient(white,black);isolation:isolate}
.kenburns{will-change:transform}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:rgba(255,255,255,.96)}.chips-bar{background:rgba(255,255,255,.97)}.mobile-call{background:rgba(5,54,53,.97)}}
@media (hover:none){
  .brand:hover .brand-mark,.btn:hover,.card.hover:hover,.tier:hover,.card.hover:hover .ico-tile,.symptoms li:hover,.chips a:hover,.addon:hover,.process li:hover,.step-card:hover,.step-card:hover .step-art img,.next-card:hover{transform:none}
  .btn:active{transform:scale(.97)}
}
@media (max-width:899px){.blob{filter:blur(40px);animation:none!important}}
@media print{.site-header,.mobile-call,.band .next,.bg-layer{display:none}}

.hero .bg-layer{-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
@media (max-width:479px){.eyebrow{letter-spacing:.08em;font-size:.75rem}.eyebrow::before{width:16px}}
@media (max-width:559px){.price-table li{flex-wrap:wrap;row-gap:2px}.price-table .name{flex:1 0 100%}.price-table .dots{display:none}.price-table .amt{flex:1 0 100%;text-align:left;font-size:1.0625rem}}
a[href^="tel:"],a[href^="sms:"]{white-space:nowrap}
