/* ============================================================
   Industry pages — shared module stylesheet.
   Loaded on every /industries/{industry}/ page rendered by the industry
   template, and borrowed by the location pages (which reuse a handful of
   the shared pieces: .ind-head, .ind-facts, .ind-radial, .ind-journey,
   .ind-plans, .ind-steps, .ind-timing, .ind-foot, .ind-btn-row).
   Everything global (tokens, type, buttons, .sec/.band/.dark, .faq-list,
   .final, sticky CTA, .sm browser mock-up, .gsr search page, .istrip)
   comes from primestart.css and is not repeated here.

   September 2026: brought to the standard the owner set with the About,
   Websites, SEO, Home, Pricing and Our Work pages. Editorial
   hairlines instead of card grids, numbering only for real sequences on
   light-orange markers, one dark band per page, the price as one sum,
   restrained play-once motion, and the benchmark hero family (kept,
   search-story, statement, fan, story). Phone rules (<=640px) sit at the
   end of the file: nothing leaves the DOM, long ledgers become accordions.
   Prefix: ind-
   ============================================================ */

/* ---------- shared pieces ---------- */
.ind-sec [hidden],.ind-hero [hidden]{display:none!important}
.ind-n{font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--orange-dk);font-variant-numeric:tabular-nums}
.ind-mark{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;flex:none;
  background:#FBEBDD;border:1px solid rgba(217,98,14,.28);color:var(--orange-dk);
  font-family:var(--fh);font-size:14px;font-weight:800;letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums;
}
.ind-foot{margin-top:28px;color:var(--muted);font-size:16px;line-height:1.6;max-width:66ch}
.ind-foot b{color:var(--ink);font-weight:600}
.ind-note{font-size:14.5px}
.ind-center{justify-content:center}
.ind-btn-row{display:flex;gap:13px 22px;flex-wrap:wrap;align-items:center;margin-top:28px}
.ind-head{margin-bottom:44px;max-width:38ch}
.ind-head h2{margin-bottom:0;text-wrap:balance}
.ind-head .lede{margin-top:16px}
.ind-head-c{text-align:center;margin-left:auto;margin-right:auto}
.ind-head-c .lede{margin-left:auto;margin-right:auto}
.ind-head-split{max-width:none;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:52px}
.ind-head-split h2{max-width:16ch}
.ind-head-split .lede{margin-top:0;padding-bottom:6px}
.ind-head-split .eyebrow{grid-column:1/-1;margin-bottom:0}
.dark .ind-head h2,.dark .ind-head .lede{color:inherit}
.ind-visual-note{text-align:center;font-size:13px;color:var(--muted);margin:16px auto 0;max-width:44ch;line-height:1.5}
.ind-points{list-style:none;margin:28px 0 0;padding:0}
.ind-points li{padding:16px 0;border-top:1px solid var(--line)}
.ind-points li:last-child{border-bottom:1px solid var(--line)}
.ind-points b{display:block;font-family:var(--fh);font-weight:700;font-size:16.5px;letter-spacing:-0.02em;margin-bottom:4px}
.ind-points p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0}
.ind-ticks{list-style:none;margin:28px 0 0;padding:0}
.ind-ticks li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.ind-ticks li:last-child{border-bottom:1px solid var(--line)}
.ind-ticks .tick{width:18px;height:18px;flex:none;color:var(--orange-dk);margin-top:3px}
.ind-reassure{margin-top:22px;font-size:15.5px;line-height:1.6;color:var(--muted);max-width:60ch}
/* The route for a reader who already has a website. Set apart by a hairline
   rather than a box: it is an alternative to what the page has just sold, not
   an upsell on top of it, and a card here would compete with the plan summary
   it sits beside. */
.ind-seo-alt{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.62;color:var(--muted);max-width:62ch}
.ind-seo-alt b{color:var(--ink);font-family:var(--fh);font-weight:700;letter-spacing:-0.018em}
.ind-ph-none{display:block;width:100%;aspect-ratio:16/9;background:var(--line-2);border-radius:12px}
.ind-wrap-wide{max-width:calc(var(--w) + 120px)}
.wash{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* the "Live" chip and the "Designed by PrimeStart" mark the scenes share */
.ind-live{
  position:absolute;right:14px;top:-13px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:100px;background:var(--white);border:1px solid var(--line);
  font-family:var(--fh);font-size:12.5px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);
  box-shadow:0 12px 26px -16px rgba(18,33,47,.45);
  opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .5s var(--ease-out);
}
.ind-live i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(217,98,14,.18)}
.ind-live.on,html:not(.js) .ind-live{opacity:1;transform:none}
.ind-dmark{
  position:absolute;right:14px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;width:auto;height:auto;border-radius:100px;
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);padding:6px 11px 6px 8px;
  box-shadow:0 8px 18px -10px rgba(18,33,47,.5);opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease),transform .45s var(--ease-out);
}
.ind-dmark i{width:14px;height:14px;border-radius:4px;background:var(--orange);position:relative;display:block}
.ind-dmark i::after{content:"";position:absolute;left:5px;top:4px;border-left:5px solid #fff;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent}
.ind-dmark.on,html:not(.js) .ind-dmark{opacity:1;transform:none}
.ind-scene-foot{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.55;max-width:52ch}
.ind-scene-cap{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.ind-scene-cap b{font-family:var(--fh);font-size:15.5px;font-weight:700;letter-spacing:-0.025em;color:var(--ink)}
.ind-scene-cap span{font-size:14px;color:var(--muted)}
.ind-scene-cap em{margin-left:auto;font-style:normal;font-family:var(--fh);font-size:13px;font-weight:700;letter-spacing:-0.015em;color:var(--muted)}

/* ============================================================
   HERO
   ============================================================ */
.ind-hero{padding:84px 0 96px;border-bottom:1px solid var(--line);overflow:clip}
.ind-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}
.ind-hero h1{font-size:clamp(40px,4vw,54px);line-height:1.04;letter-spacing:-0.045em;margin:0 0 22px;max-width:15ch;text-wrap:balance}
.ind-lead{font-size:19px;color:var(--muted);line-height:1.58;max-width:44ch;margin:0}
.ind-hero .hero-ctas{margin:32px 0 0}
.ind-hfacts{display:grid;grid-template-columns:auto auto auto;gap:0 40px;justify-content:start;margin:38px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.ind-hfacts div{display:flex;flex-direction:column-reverse;gap:4px}
.ind-hfacts dt{font-size:13px;color:var(--muted);letter-spacing:0}
.ind-hfacts dd{margin:0;font-family:var(--fh);font-size:28px;font-weight:800;letter-spacing:-0.045em;line-height:1;color:var(--ink)}
.ind-hero .eyebrow,.ind-hero h1,.ind-lead,.ind-hero .hero-ctas,.ind-hfacts,.ind-hero-visual{animation:rise .6s cubic-bezier(.2,.7,.3,1) both}
.ind-hero h1{animation-delay:.05s}
.ind-lead{animation-delay:.1s}
.ind-hero .hero-ctas{animation-delay:.15s}
.ind-hfacts{animation-delay:.2s}
.ind-hero-visual{animation-delay:.15s;min-width:0}
/* the old four-fact row: kept for the location pages */
.ind-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;background:var(--white);margin-top:32px;overflow:hidden}
.ind-facts div{padding:16px 18px;border-right:1px solid var(--line)}
.ind-facts div:last-child{border-right:0}
.ind-facts strong{display:block;font-family:var(--fh);font-weight:800;font-size:17px;letter-spacing:-0.01em}
.ind-facts span{font-size:13.5px;color:var(--muted)}
/* layouts */
.ind-hero-l-band .ind-hero-grid{grid-template-columns:1fr;gap:52px}
.ind-hero-l-band .ind-hero-copy{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto auto auto;gap:0 56px;align-items:start}
.ind-hero-l-band .ind-hero-copy .eyebrow{grid-column:1/-1;grid-row:1}
.ind-hero-l-band .ind-hero-copy h1{grid-column:1;grid-row:2/span 2;margin-bottom:0;max-width:12ch}
.ind-hero-l-band .ind-hero-copy .ind-lead{grid-column:2;grid-row:2;margin:6px 0 0;align-self:end}
.ind-hero-l-band .ind-hero-copy .hero-ctas{grid-column:2;grid-row:3;align-self:start;margin-top:28px}
.ind-hero-l-band .ind-hero-copy .ind-hfacts{grid-column:1/-1;grid-row:4;margin-top:40px}
.ind-hero-l-right .ind-hero-grid{grid-template-columns:1.08fr .92fr}
.ind-hero-l-right .ind-hero-visual{order:-1}
.ind-hero-split .ind-hero-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.ind-hero-mosaic .ind-hero-grid,.ind-hero-scene .ind-hero-grid{grid-template-columns:1fr 1.02fr}
.ind-hero-statement .ind-hero-grid{grid-template-columns:1fr .96fr;align-items:center}
.ind-hero-search-story .ind-hero-grid,.ind-hero-story .ind-hero-grid{align-items:start}

/* ---------- kept: the finished site and the line of what we keep doing ---------- */
.ind-kp{position:relative;min-width:0}
.ind-kp-frame{position:relative}
.ind-kp-sm .sm-hero{height:190px}
.ind-kp-sm .sm-link + .sm-link + .sm-link + .sm-link{display:none}
.ind-kp .sm-pills span:last-child{transition:opacity .45s var(--ease),transform .5s var(--ease-out),border-color .4s var(--ease),color .4s var(--ease),background-color .4s var(--ease)}
.ind-kp.is-live:not(.changed) .sm-pills span:last-child{opacity:0;transform:translateY(4px)}
.ind-kp.changed .sm-pills span:last-child{animation:indNew 2.2s var(--ease) both}
@keyframes indNew{0%,55%{border-color:var(--orange);color:var(--orange-dk);background:var(--wash)}100%{border-color:#E6E0D6;color:#2B3B4B;background:#fff}}
.ind-kp-line{list-style:none;margin:28px 0 0;padding:20px 0 0;position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0 12px}
.ind-kp-line::before,.ind-kp-line::after{content:"";position:absolute;left:8px;right:calc(20% - 8px);top:27px;height:2px;border-radius:2px}
.ind-kp-line::before{background:var(--line)}
.ind-kp-line::after{background:var(--orange);transform:scaleX(var(--p,1));transform-origin:0 50%;transition:transform .7s var(--ease-io)}
.ind-kp-node{position:relative;padding-top:24px;min-width:0}
.ind-kp-dot{position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--line);transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.ind-kp-node b{display:block;font-family:var(--fh);font-size:13.5px;font-weight:700;letter-spacing:-0.022em;line-height:1.3;color:#9AA5AF;transition:color .35s var(--ease)}
.ind-kp-node em{display:block;font-style:normal;font-size:12px;line-height:1.45;color:#B3BBC3;margin-top:3px;transition:color .35s var(--ease)}
.ind-kp:not(.is-live) .ind-kp-dot,.ind-kp-node.on .ind-kp-dot{background:var(--orange);border-color:var(--orange)}
.ind-kp:not(.is-live) .ind-kp-node b,.ind-kp-node.on b{color:var(--ink)}
.ind-kp:not(.is-live) .ind-kp-node em,.ind-kp-node.on em{color:var(--muted)}
.ind-kp:not(.is-live) .ind-kp-yours b,.ind-kp-yours.on b{color:var(--orange-dk)}
.ind-kp:not(.is-live) .ind-kp-yours .ind-kp-dot,.ind-kp-yours.on .ind-kp-dot{transform:scale(1.18);box-shadow:0 0 0 4px var(--wash)}

/* ---------- search-story: the search that finds the site ---------- */
.ind-gs{position:relative;min-width:0}
.ind-gs-stage{position:relative;display:grid}
.ind-gs-stage > *{grid-area:1/1;min-width:0}
.ind-gs-page{align-self:start;transition:opacity .4s var(--ease),transform .5s var(--ease)}
.ind-gs-page .gsr-body{padding-bottom:12px}
.ind-gs-page .gsr-res{padding:8px 0 7px}
.ind-gs-other .gsr-snip{-webkit-line-clamp:1}
.ind-gs-other{opacity:.72}
.ind-gs-fav{background:color-mix(in srgb,var(--b,#1F3350) 12%,#fff);color:var(--b,#1F3350);border-color:color-mix(in srgb,var(--b,#1F3350) 22%,#fff)}
.ind-gs-first .gsr-title{transition:text-decoration-color .2s,color .2s}
.ind-gs-first.hi .gsr-title{text-decoration:underline;text-decoration-color:var(--gblue)}
.ind-gs-site{position:relative;align-self:stretch;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .5s var(--ease),transform .6s var(--ease-out)}
.ind-gs-site.on{opacity:1;transform:none}
.ind-gs-sm{flex:1;display:flex;flex-direction:column;min-height:0}
.ind-gs-sm .sm-page{flex:1;display:flex;flex-direction:column;min-height:0}
.ind-gs-sm .sm-hero{flex:1;height:auto;min-height:186px}
.ind-gs-sm .sm-areas{display:none}
[data-scene="ind-search"].is-live .ind-gs-page.off{opacity:0;transform:translateY(-8px);pointer-events:none}
[data-scene="ind-search"].is-done .ind-gs-page,html:not(.js) .ind-gs-page{opacity:0;pointer-events:none}
[data-scene="ind-search"].is-done .ind-gs-site,html:not(.js) .ind-gs-site{opacity:1;transform:none}
[data-scene="ind-search"].is-done .ps-cursor{opacity:0}
.ind-gs.is-live .ind-gs-sm [data-s]{transition:opacity .4s var(--ease),transform .5s var(--ease)}
.ind-gs.is-live .ind-gs-sm [data-s]:not(.on){opacity:0;transform:translateY(6px)}
.ind-gs.is-live .sm-hero[data-s] .sm-photo{transform:scale(1.08)}
.ind-gs.is-live .sm-hero[data-s].on .sm-photo,.ind-gs.is-done .sm-photo{transform:scale(1)}

/* ---------- statement: the promise, and the Client Platform phone ---------- */
.ind-st{position:relative;padding:0 0 172px;min-width:0}
.ind-st-panel{
  position:relative;z-index:1;max-width:560px;
  background:var(--white);border:1px solid var(--line);border-left:3px solid var(--orange);
  border-radius:0 18px 18px 0;padding:34px 36px 30px;
  box-shadow:0 30px 60px -40px rgba(18,33,47,.35);
}
.ind-st-promise{font-family:var(--fh);font-size:clamp(26px,2.5vw,34px);font-weight:800;line-height:1.1;letter-spacing:-0.042em;color:var(--ink);margin:0}
.ind-st-promise b{display:block;font-weight:800}
.ind-st-o{color:var(--orange-dk)}
.ind-st-ledger{list-style:none;margin:22px 0 0;padding:0;max-width:220px}
.ind-st-ledger li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-family:var(--fh);font-size:14.5px;font-weight:600;letter-spacing:-0.018em;color:var(--ink);line-height:1.3;transition:opacity .35s var(--ease),transform .4s var(--ease-out)}
.ind-st-ledger li:last-child{border-bottom:1px solid var(--line)}
.ind-st-ledger .tick{width:15px;height:15px;flex:none;color:var(--orange-dk)}
.ind-st.is-live .ind-st-ledger li:not(.on){opacity:.35;transform:translateX(-4px)}
.ind-st .ind-st-phone{position:absolute;right:-14px;top:118px;z-index:2}

/* the Client Platform phone (statement hero, platform module) */
.ind-cp-phone{width:224px;padding:9px;border-radius:32px;background:var(--ink);box-shadow:0 40px 80px -40px rgba(18,33,47,.6),inset 0 0 0 2px rgba(255,255,255,.08);position:relative;font-family:var(--fb);color:var(--ink)}
.ind-cp-phone::before{content:"";position:absolute;left:50%;top:9px;width:70px;height:20px;border-radius:0 0 14px 14px;background:var(--ink);transform:translateX(-50%);z-index:3}
.ind-cp-dash{background:var(--paper);border-radius:24px;padding:36px 13px 14px;overflow:hidden}
.ind-cp-top{display:flex;align-items:center;justify-content:space-between;font-size:11.5px}
.ind-cp-logo{display:inline-flex;align-items:center;gap:6px;font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:-0.04em;color:var(--ink)}
.ind-cp-logo i{width:16px;height:16px;border-radius:5px;background:var(--orange);display:inline-block;position:relative;flex:none}
.ind-cp-logo i::after{content:"";position:absolute;left:6px;top:4px;border-left:5px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent}
.ind-cp-acct{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}
.ind-cp-hello{margin-top:16px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ind-cp-hello b{font-family:var(--fh);font-size:16px;font-weight:800;letter-spacing:-0.035em}
.ind-cp-stage{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--orange-dk);background:var(--wash);border-radius:100px;padding:4px 9px;white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease)}
.ind-cp-stage-live{background:#E6F4EA;color:#1F7A4D}
.ind-cp-steps{list-style:none;margin:14px 0 0;padding:0;position:relative}
.ind-cp-steps::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:var(--line)}
.ind-cp-steps li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0 6px 24px;font-size:12.5px;font-weight:500;color:var(--muted);transition:color .3s var(--ease)}
.ind-cp-steps li::before{content:"";position:absolute;left:2px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--line);transform:translateY(-50%);transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.ind-cp-steps li.done{color:var(--ink)}
.ind-cp-steps li.done::before{background:var(--orange);border-color:var(--orange)}
.ind-cp-steps li.now{color:var(--ink);font-weight:600}
.ind-cp-steps li.now::before{border-color:var(--orange);box-shadow:0 0 0 3px var(--wash)}
.ind-cp-steps li.done.now::before{background:var(--orange)}
.ind-cp-steps em{font-style:normal;font-size:11px;color:var(--muted)}
.ind-cp-steps li.done em{color:var(--orange-dk)}
.ind-cp-msg,.ind-cp-growth{margin-top:14px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:opacity .35s var(--ease),transform .4s var(--ease-out)}
.ind-cp-k{display:block;font-family:var(--fh);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ind-cp-msg p,.ind-cp-growth p{font-size:12px;line-height:1.5;color:var(--ink-2);margin:0}
.ind-cp-growth em{display:block;margin-top:6px;font-style:normal;font-family:var(--fh);font-size:10.5px;font-weight:700;color:var(--orange-dk)}
.ind-cp-actions{margin-top:12px;display:flex;gap:6px;flex-wrap:wrap}
.ind-cp-actions span{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:-0.01em;padding:7px 10px;border-radius:100px;background:var(--white);border:1px solid var(--line);color:var(--ink)}
.ind-cp-actions span:first-child{background:var(--orange);border-color:var(--orange);color:#fff}
/* the statement scene: stages complete one by one, then live */
.ind-st.is-live .ind-cp-steps li[data-s]:not(.on){color:var(--muted);font-weight:500}
.ind-st.is-live .ind-cp-steps li[data-s]:not(.on)::before{background:var(--white);border-color:var(--line);box-shadow:none}
.ind-st.is-live .ind-cp-steps li[data-s]:not(.on) em{color:var(--muted)}
.ind-st.is-live .ind-cp-stage:not(.on){background:var(--wash);color:var(--orange-dk)}
.ind-st.is-live .ind-cp-msg:not(.on){opacity:0;transform:translateY(6px)}

/* ---------- fan: five pages, one website ---------- */
.ind-fan{position:relative;min-width:0}
.ind-fan-stage{position:relative;padding-top:34px}
.ind-fan-frame{position:relative;z-index:2;transition:opacity .6s var(--ease),transform .8s var(--ease-out)}
.ind-fan-shot{position:relative}
.ind-fan-sm{height:380px;box-shadow:0 34px 70px -34px rgba(18,33,47,.55)}
.ind-fan-sm .sm-page{transition:transform var(--dur,1s) var(--ease-io);will-change:transform}
.ind-fan-sm .sm-hero{height:196px}
.ind-fan-sm .sm-link + .sm-link + .sm-link + .sm-link{display:none}
.ind-fan-sheets{list-style:none;margin:0;padding:0;position:absolute;inset:0;z-index:1;pointer-events:none}
.ind-fan-sheet{
  position:absolute;left:50%;top:50%;width:112px;aspect-ratio:3/4;margin:-84px 0 0 -56px;
  background:var(--white);border:1px solid var(--line);border-radius:8px;padding:9px 9px 24px;
  display:flex;flex-direction:column;gap:6px;box-shadow:0 18px 34px -24px rgba(18,33,47,.45);
  transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg)) scale(var(--s,1));
  opacity:var(--o,1);transition:transform .9s var(--ease-io),opacity .5s var(--ease);
}
.ind-fan-sheet b{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-family:var(--fh);font-size:11.5px;font-weight:700;letter-spacing:-0.02em;color:var(--ink)}
.ind-sheet-bar{height:5px;border-radius:3px;background:var(--ink);width:38%}
.ind-sheet-hero{height:32px;border-radius:4px;background:linear-gradient(135deg,#E9E2D6,#D9CFBF)}
.ind-sheet-photo{height:30px;border-radius:4px;background:#E9E2D6}
.ind-sheet-row{height:5px;border-radius:3px;background:var(--line);width:88%}
.ind-sheet-row.short{width:56%}
.ind-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ind-sheet-grid i{display:block;height:16px;border-radius:3px;background:#E9E2D6}
.ind-sheet-pills{display:flex;gap:4px}
.ind-sheet-pills i{display:block;height:8px;width:22px;border-radius:100px;background:#E9E2D6}
.ind-sheet-field{height:11px;border-radius:3px;border:1px solid var(--line);background:var(--paper)}
.ind-sheet-btn{height:11px;border-radius:3px;background:var(--orange);width:60%}
/* rest: three sheets peek behind the frame's top edge */
.ind-fan-sheet[data-i="0"]{--x:-46%;--y:-118%;--r:-10deg;--s:.86;--o:1}
.ind-fan-sheet[data-i="1"]{--x:-8%;--y:-124%;--r:-3deg;--s:.86;--o:1}
.ind-fan-sheet[data-i="2"]{--x:30%;--y:-120%;--r:5deg;--s:.86;--o:1}
.ind-fan-sheet[data-i="3"],.ind-fan-sheet[data-i="4"]{--x:0;--y:-110%;--r:0deg;--s:.8;--o:0}
/* the scene: sheets fan across the stage, then gather into the frame */
.ind-fan.is-live:not(.built) .ind-fan-frame{opacity:0;transform:translateY(18px) scale(.985)}
.ind-fan.is-live.spread .ind-fan-sheet{--o:1;transition-duration:.7s,.45s}
.ind-fan.is-live.spread .ind-fan-sheet[data-i="0"]{--x:-190%;--y:-40%;--r:-12deg;--s:1}
.ind-fan.is-live.spread .ind-fan-sheet[data-i="1"]{--x:-95%;--y:-70%;--r:-6deg;--s:1}
.ind-fan.is-live.spread .ind-fan-sheet[data-i="2"]{--x:0;--y:-82%;--r:0deg;--s:1}
.ind-fan.is-live.spread .ind-fan-sheet[data-i="3"]{--x:95%;--y:-70%;--r:6deg;--s:1}
.ind-fan.is-live.spread .ind-fan-sheet[data-i="4"]{--x:190%;--y:-40%;--r:12deg;--s:1}
.ind-fan.is-live.gather .ind-fan-sheet[data-i]{--x:0;--y:-50%;--r:0deg;--s:.92;--o:0;transition-duration:.75s,.55s}
.ind-fan.is-live.gather .ind-fan-sheet[data-i="1"]{transition-delay:.06s}
.ind-fan.is-live.gather .ind-fan-sheet[data-i="2"]{transition-delay:.12s}
.ind-fan.is-live.gather .ind-fan-sheet[data-i="3"]{transition-delay:.18s}
.ind-fan.is-live.gather .ind-fan-sheet[data-i="4"]{transition-delay:.24s}
.ind-fan.is-live.built .ind-fan-frame{opacity:1;transform:none}
.ind-fan.is-live:not(.spread):not(.is-done) .ind-fan-sheet[data-i]{--o:0;--x:0;--y:-50%;--r:0deg;--s:.9}
.ind-fan.is-done .ind-fan-sheet{transition-duration:.8s,.5s}

/* ---------- story: five beats in one frame ---------- */
.ind-sf{position:relative;min-width:0}
.ind-sf-frame{position:relative;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(18,33,47,.12);box-shadow:0 1px 2px rgba(18,33,47,.04),0 34px 70px -34px rgba(18,33,47,.5)}
.ind-sf-chrome{height:34px;background:#EDEAE4;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #DDD7CC}
.ind-sf-chrome i{width:9px;height:9px;border-radius:50%;background:#C9C2B5;flex:none}
.ind-sf-url{margin-left:8px;flex:1;height:22px;border-radius:6px;background:#fff;border:1px solid #DDD7CC;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:11px;color:#6B7A88;font-family:var(--fb);white-space:nowrap;overflow:hidden;position:relative}
.ind-sf-url svg{flex:none;color:#7C8A96}
.ind-sf-u{position:absolute;left:26px;opacity:0;transition:opacity .3s var(--ease)}
.ind-sf[data-beat="1"] .ind-sf-u[data-u="1"],.ind-sf[data-beat="2"] .ind-sf-u[data-u="2"],.ind-sf[data-beat="3"] .ind-sf-u[data-u="3"],.ind-sf[data-beat="4"] .ind-sf-u[data-u="4"],.ind-sf[data-beat="5"] .ind-sf-u[data-u="5"]{opacity:1}
.ind-sf-screen{position:relative;background:#fff;height:356px}
.ind-sf-screen > [data-b]{position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease);pointer-events:none}
.ind-sf[data-beat="1"] [data-b="site"],.ind-sf[data-beat="5"] [data-b="site"],
.ind-sf[data-beat="2"] [data-b="dir"],.ind-sf[data-beat="3"] [data-b="find"],.ind-sf[data-beat="4"] [data-b="locs"]{opacity:1}
.ind-sf-site{overflow:hidden}
.ind-sf-sm{border:0;border-radius:0;box-shadow:none}
.ind-sf-sm .sm-chrome{display:none}
.ind-sf-sm .sm-hero{height:156px}
.ind-sf-sm .sm-areas,.ind-sf-sm .sm-foot{display:none}
.ind-sf-sm .sm-services{padding-bottom:16px}
.ind-sf-sm .sm-link + .sm-link + .sm-link + .sm-link{display:none}
.ind-sf-chips{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:8px 12px;height:42px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);opacity:0;transform:translateY(100%);transition:opacity .35s var(--ease),transform .5s var(--ease-out)}
.ind-sf[data-beat="1"] .ind-sf-chips{opacity:1;transform:none}
.ind-sf-chip{font-family:var(--fh);font-size:11px;font-weight:600;letter-spacing:-0.015em;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:5px 9px;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .3s var(--ease),transform .4s var(--ease-out)}
.ind-sf-chip b{font-weight:800}
.ind-sf-chip-grow{border-color:#F2DFC6;background:var(--wash);color:var(--orange-dk)}
.ind-sf-chip.on,.ind-sf.is-done .ind-sf-chip,html:not(.js) .ind-sf-chip{opacity:1;transform:none}
.ind-sf-chips em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-sf-site .ind-dmark{right:14px;top:168px;bottom:auto;background:var(--white);font-size:12px;padding:6px 12px}
.ind-sf-bar{display:flex;align-items:center;gap:14px;height:40px;padding:0 16px;border-bottom:1px solid var(--line)}
.ind-sf-logo{display:inline-flex;align-items:center;gap:6px;font-family:var(--fh);font-weight:800;font-size:12.5px;letter-spacing:-0.04em;color:var(--ink)}
.ind-sf-logo i{width:14px;height:14px;border-radius:4px;background:var(--orange);display:inline-block}
.ind-sf-nav{display:flex;gap:12px;margin-left:8px;font-family:var(--fh);font-size:10.5px;font-weight:600;color:var(--muted)}
.ind-sf-nav i{font-style:normal;padding:2px 0;border-bottom:1.5px solid transparent}
.ind-sf-nav i.on{color:var(--ink);border-bottom-color:var(--orange)}
.ind-sf-cta{margin-left:auto;font-family:var(--fh);font-size:10.5px;font-weight:700;color:#fff;background:var(--orange);border-radius:5px;padding:5px 9px}
.ind-sf-h{margin:0;padding:18px 16px 14px;font-family:var(--fh);font-size:15.5px;font-weight:800;letter-spacing:-0.035em;color:var(--ink);line-height:1.2}
.ind-sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px}
.ind-sf-tile{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:12px 12px 13px;border:1px solid var(--line);border-radius:9px;background:var(--paper);transition:border-color .25s var(--ease),transform .3s var(--ease-out),box-shadow .3s var(--ease),background-color .25s var(--ease)}
.ind-sf-tile img{width:40px;height:40px;border-radius:9px;object-fit:cover;display:block}
.ind-sf-tile b{font-family:var(--fh);font-size:11.5px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);line-height:1.2}
.ind-sf-tile.hi{border-color:var(--orange);background:var(--white);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(18,33,47,.5)}
.ind-sf-tile.hit{transform:translateY(0) scale(.98)}
.ind-sf .ps-cursor{left:0;top:0;transform:translate(60%,55%)}
.ind-sf.is-done .ps-cursor,html:not(.js) .ind-sf .ps-cursor{opacity:0}
.ind-sf-find{display:flex;flex-direction:column;justify-content:center;padding:0 40px;background:var(--paper)}
.ind-sf-field{display:flex;align-items:center;gap:14px;min-height:56px;padding:0 18px;background:var(--white);border:1px solid var(--line);border-radius:100px;box-shadow:0 14px 30px -24px rgba(18,33,47,.45)}
.ind-sf-mag{width:20px;height:20px;flex:none;color:var(--muted)}
.ind-sf-q{font-family:var(--fh);font-size:clamp(20px,1.8vw,24px);font-weight:800;letter-spacing:-0.035em;line-height:1.1;white-space:nowrap;display:flex;gap:.28em;min-height:1.1em;overflow:hidden}
.ind-sf-q b{color:var(--ink);font-weight:800}
.ind-sf-q i{font-style:normal;color:var(--orange-dk)}
.ind-sf-q .ps-type{display:inline-block}
.ind-sf-q .ps-type.caret::after,.ind-sf-q .ps-type.typing::after{height:.9em;width:2px;vertical-align:-0.08em}
.ind-sf-result{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;margin-top:14px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .55s var(--ease-out)}
.ind-sf-result.on,.ind-sf.is-done .ind-sf-result,html:not(.js) .ind-sf-result{opacity:1;transform:none}
.ind-sf-fav{width:34px;height:34px;border-radius:9px;background:var(--b,var(--ink));color:#fff;display:grid;place-items:center;font-family:var(--fh);font-weight:800;font-size:15px}
.ind-sf-res-copy{min-width:0;line-height:1.25}
.ind-sf-res-copy b{display:block;font-family:var(--fh);font-size:15px;font-weight:700;letter-spacing:-0.024em;color:var(--ink)}
.ind-sf-res-copy em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-sf-res-tag{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--orange-dk);background:var(--wash);border-radius:100px;padding:4px 10px;white-space:nowrap}
.ind-sf-find-k{margin:18px 0 0;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.ind-sf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px}
.ind-sf-card{position:relative;display:block;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:var(--paper);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease),border-color .3s var(--ease)}
.ind-sf-card img{display:block;width:100%;height:78px;object-fit:cover}
.ind-sf-card b{display:block;padding:7px 10px 8px;font-family:var(--fh);font-size:11.5px;font-weight:700;letter-spacing:-0.02em;color:var(--ink)}
.ind-sf-card.hi{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 14px 26px -16px rgba(18,33,47,.5)}
.ind-sf-card.hi b{color:var(--orange-dk)}
.ind-sf-card.hi::after{content:"";position:absolute;right:8px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.ind-sf-dots{list-style:none;margin:16px 0 0;padding:0;display:flex;gap:8px;justify-content:center}
.ind-sf-dots li{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .3s var(--ease),transform .3s var(--ease)}
.ind-sf-dots li.done{background:#D5CEC2}
.ind-sf-dots li.now{background:var(--orange);transform:scale(1.25)}
html:not(.js) .ind-sf-dots li:nth-child(-n+4){background:#D5CEC2}
html:not(.js) .ind-sf-dots li:last-child{background:var(--orange);transform:scale(1.25)}

/* ---------- photo: a large photograph and a hairline caption panel ---------- */
.ind-hero-fig{margin:0;position:relative}
.ind-hero-fig.has-card{padding:0 0 38px}
.ind-hero-img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:12px;display:block;box-shadow:0 34px 70px -34px rgba(18,33,47,.5)}
.ind-hero-card{
  position:absolute;left:-24px;bottom:0;max-width:66%;
  background:var(--white);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 14px 14px 0;
  padding:18px 24px;box-shadow:0 30px 60px -40px rgba(18,33,47,.35);
}
.ind-hero-card b{display:block;font-family:var(--fh);font-size:clamp(18px,1.7vw,22px);font-weight:800;letter-spacing:-0.035em;line-height:1.15;color:var(--ink)}
.ind-hero-card span{display:block;margin-top:5px;font-size:14px;color:var(--muted);line-height:1.5}
.ind-hero-inset{position:absolute;right:-6px;top:-22px;width:34%;border-radius:10px;overflow:hidden;border:4px solid var(--paper);box-shadow:0 18px 40px -20px rgba(18,33,47,.5)}
.ind-hero-inset img{display:block;width:100%;aspect-ratio:1;object-fit:cover}

/* ---------- band: a wide photograph and hairline facts under it ---------- */
.ind-band-fig{margin:0;position:relative}
.ind-band-img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center;border-radius:12px;display:block}
.ind-band-facts{display:flex;flex-wrap:wrap;gap:0 48px;margin:0;padding-top:18px;border-top:1px solid var(--line);margin-top:22px}
.ind-band-facts span{display:flex;flex-direction:column-reverse;gap:4px;position:relative;padding-left:18px}
.ind-band-facts span::before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--orange);border-radius:2px}
.ind-band-facts b{font-family:var(--fh);font-size:22px;font-weight:800;letter-spacing:-0.04em;line-height:1;color:var(--ink)}
.ind-band-facts em{font-style:normal;font-size:13px;color:var(--muted)}

/* ---------- split: the photograph bleeding to the right edge ---------- */
.ind-split-fig{margin:0;position:relative;min-height:520px;height:100%}
.ind-split-img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;border-radius:12px;display:block}
.ind-split-card{left:-24px;bottom:40px;max-width:60%}
@media (min-width:1201px){
  .ind-hero-split .ind-hero-visual{margin-right:calc(-1 * ((100vw - var(--w)) / 2 + var(--pad)))}
  .ind-split-img{border-radius:12px 0 0 12px}
}

/* ---------- mosaic ---------- */
.ind-mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(3,1fr);gap:12px;min-height:520px}
.ind-mosaic-item{margin:0;position:relative;border-radius:12px;overflow:hidden;background:var(--line-2)}
.ind-mosaic-item:first-child{grid-row:1/span 3}
.ind-mosaic-item img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.ind-mosaic-item figcaption{position:absolute;left:12px;bottom:12px;background:rgba(18,33,47,.78);color:#fff;font-family:var(--fh);font-size:12px;font-weight:700;padding:6px 10px;border-radius:7px;letter-spacing:-0.01em}

/* ---------- phone (the Electricians family) ---------- */
.ind-phone-wrap{position:relative;display:flex;justify-content:center;padding:28px 0 0}
.ind-phone-wrap::before{content:"";position:absolute;inset:0 6% 24px;background:var(--wash);border-radius:28px;z-index:0}
.ind-phone{position:relative;z-index:1;width:318px;height:640px;background:var(--ink);border-radius:40px;padding:12px;box-shadow:0 30px 60px rgba(18,33,47,.18),0 2px 6px rgba(18,33,47,.2)}
.ind-screen{background:var(--paper);border-radius:30px;height:100%;overflow:hidden;display:flex;flex-direction:column;font-size:11.5px;line-height:1.35;color:var(--ink)}
.ind-status{display:flex;justify-content:space-between;padding:12px 20px 6px;font-family:var(--fh);font-weight:700;font-size:11px}
.ind-status i{font-style:normal;letter-spacing:.06em}
.ind-s-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--white);border-bottom:1px solid var(--line)}
.ind-s-brand{font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:-0.02em}
.ind-s-call{font-family:var(--fh);font-weight:700;font-size:10.5px;background:var(--orange);color:#fff;padding:6px 10px;border-radius:7px;white-space:nowrap}
.ind-s-urgent{background:var(--ink);color:#fff;font-family:var(--fh);font-weight:700;font-size:10.5px;padding:7px 16px;display:flex;align-items:center;gap:8px}
.ind-s-urgent::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none}
.ind-s-body{padding:14px 16px;flex:1;overflow:hidden}
.ind-s-photo{aspect-ratio:16/9;border-radius:10px;background-size:cover;background-position:center;margin-bottom:12px}
.ind-s-h{display:block;font-family:var(--fh);font-weight:800;font-size:19px;line-height:1.1;letter-spacing:-0.02em;margin-bottom:6px}
.ind-s-hero p{color:var(--muted);font-size:11px;margin-bottom:12px}
.ind-s-btns{display:flex;gap:7px;margin-bottom:18px}
.ind-s-btns span{flex:1;text-align:center;font-family:var(--fh);font-weight:700;font-size:11px;padding:9px 6px;border-radius:7px}
.ind-s-btns .p{background:var(--orange);color:#fff}
.ind-s-btns .o{border:1.5px solid var(--line);background:var(--white)}
.ind-s-title{font-family:var(--fh);font-weight:800;font-size:12.5px;margin-bottom:8px}
.ind-s-list{list-style:none;margin:0;padding:0}
.ind-s-list li{display:flex;justify-content:space-between;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-bottom:6px;font-weight:500}
.ind-s-list li::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(-45deg);margin-right:3px}
.ind-s-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.ind-s-trust div{border:1px dashed var(--line);border-radius:7px;padding:8px 6px;text-align:center;font-size:9.5px;color:var(--muted);line-height:1.25}
.ind-s-footbar{background:var(--ink);color:#fff;text-align:center;font-family:var(--fh);font-weight:700;font-size:11.5px;padding:12px}

/* ============================================================
   MOCK-UPS (booking, menu, listing, radial, form, results, compare)
   ============================================================ */
.ind-mock{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(18,33,47,.04),0 34px 70px -34px rgba(18,33,47,.5);overflow:hidden;font-family:var(--fb);max-width:440px;margin:0 auto}
.ind-mock-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--paper)}
.ind-mock-brand{font-family:var(--fh);font-weight:800;font-size:14px;letter-spacing:-0.02em}
.ind-mock-pill{font-family:var(--fh);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-dk);background:var(--wash);padding:5px 9px;border-radius:6px}
.ind-mock-photo{aspect-ratio:16/8;background-size:cover;background-position:center;background-color:var(--line-2)}
.ind-mock-btn{margin:14px 18px 0;background:var(--orange);color:#fff;text-align:center;font-family:var(--fh);font-weight:700;font-size:14px;padding:13px;border-radius:10px}
.ind-mock-note{margin:10px 18px 18px;text-align:center;font-size:12.5px;color:var(--muted)}
/* booking */
.ind-booking-svcs{padding:14px 18px 4px;display:grid;gap:7px}
.ind-booking-svc{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:13px}
.ind-booking-svc.on{border-color:var(--orange);background:var(--wash)}
.ind-booking-svc b{font-family:var(--fh);font-weight:700;letter-spacing:-0.015em}
.ind-booking-svc span{color:var(--muted);font-size:12px}
.ind-booking-svc em{font-style:normal;font-family:var(--fh);font-weight:700}
.ind-booking-days{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:12px 18px 0}
.ind-booking-days span{text-align:center;font-family:var(--fh);font-weight:700;font-size:12px;padding:9px 0;border-radius:8px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2)}
.ind-booking-days span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ind-booking-times{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px 0}
.ind-booking-times span{font-size:12.5px;font-weight:500;padding:7px 11px;border-radius:7px;border:1px solid var(--line);background:var(--white)}
.ind-booking-times span.on{border-color:var(--orange);color:var(--orange-dk);background:var(--wash);font-weight:600}
/* menu */
.ind-menu-photo{aspect-ratio:16/7}
.ind-menu-sec{padding:14px 18px 6px}
.ind-menu-sec > b{display:block;font-family:var(--fh);font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-dk);margin-bottom:8px}
.ind-menu-item{display:flex;align-items:baseline;gap:8px;padding:6px 0;font-size:13.5px}
.ind-menu-item span{font-weight:500}
.ind-menu-item small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;font-weight:400}
.ind-menu-item i{flex:1;border-bottom:1px dotted #C6BFB2;min-width:12px;transform:translateY(-4px)}
.ind-menu-item em{font-style:normal;font-family:var(--fh);font-weight:700;white-space:nowrap}
/* listing */
.ind-listing{max-width:560px}
.ind-listing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}
.ind-listing-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;padding-bottom:12px;background:var(--white)}
.ind-listing-photo{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:var(--line-2);position:relative}
.ind-listing-photo span{position:absolute;left:8px;top:8px;background:var(--ink);color:#fff;font-family:var(--fh);font-size:10px;font-weight:700;padding:4px 7px;border-radius:5px}
.ind-listing-card b{display:block;font-family:var(--fh);font-weight:700;font-size:13px;letter-spacing:-0.015em;padding:10px 12px 2px}
.ind-listing-card em{display:block;font-style:normal;font-family:var(--fh);font-weight:800;font-size:14px;padding:0 12px;color:var(--orange-dk)}
.ind-listing-card span{display:block;font-size:11px;color:var(--muted);padding:4px 12px 0}
/* radial service area (shared with the location pages) */
.ind-radial{position:relative;width:min(100%,460px);aspect-ratio:1;margin:0 auto;container-type:inline-size}
.ind-radial-base{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;background:var(--ink);color:#fff;border-radius:50%;width:108px;height:108px;display:grid;place-content:center;box-shadow:0 0 0 8px var(--paper),0 18px 40px -16px rgba(18,33,47,.5)}
.ind-radial-base b{font-family:var(--fh);font-weight:800;font-size:14px;letter-spacing:-0.02em;line-height:1.1}
.ind-radial-base span{font-size:10.5px;color:var(--on-dark-muted);margin-top:3px}
.ind-radial-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px dashed #C9C1B3;border-radius:50%}
.ind-radial-ring-1{width:44%;height:44%;--r:22cqw}
.ind-radial-ring-2{width:72%;height:72%;--r:36cqw}
.ind-radial-ring-3{width:100%;height:100%;--r:50cqw}
.ind-radial-town{position:absolute;left:50%;top:50%;--a:calc(var(--i) * (360deg / var(--n)) - 90deg + 18deg);transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(-1 * var(--a)));background:var(--white);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:-0.01em;white-space:nowrap;box-shadow:0 6px 14px -8px rgba(18,33,47,.35)}
.ind-radial-ring-2 .ind-radial-town{--a:calc(var(--i) * (360deg / var(--n)) - 90deg - 12deg)}
.ind-radial-ring-3 .ind-radial-town{--a:calc(var(--i) * (360deg / var(--n)) - 90deg + 30deg);color:var(--ink-2)}
.ind-radial-line{margin-top:26px;text-align:center;color:var(--muted);font-size:15px;max-width:44ch;margin-left:auto;margin-right:auto;line-height:1.55}
/* form mock */
.ind-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px 0}
.ind-form-field{border:1.5px solid var(--line);border-radius:9px;padding:8px 11px 9px;background:var(--paper)}
.ind-form-field.wide{grid-column:1/-1}
.ind-form-field label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ind-form-field span{display:block;font-size:13px;color:var(--ink);font-weight:500;min-height:1.3em}
.ind-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:14px 18px 0}
.ind-cal i{display:block;aspect-ratio:1;border-radius:6px;background:var(--paper);border:1px solid var(--line)}
.ind-cal i.taken{background:repeating-linear-gradient(135deg,#EFEAE1 0 4px,#E3DDD2 4px 8px);border-color:#E3DDD2}
.ind-cal i.on{background:var(--orange);border-color:var(--orange)}
/* search results (the simple three-result card) */
.ind-serp{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:0 1px 2px rgba(18,33,47,.04),0 34px 70px -34px rgba(18,33,47,.5);max-width:520px;margin:0 auto}
.ind-serp-bar{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;padding:10px 16px;font-size:15px;font-weight:500;margin-bottom:14px}
.ind-serp-bar i{width:14px;height:14px;border:2px solid var(--muted);border-radius:50%;position:relative;flex:none}
.ind-serp-bar i::after{content:"";position:absolute;width:6px;height:2px;background:var(--muted);right:-5px;bottom:-2px;transform:rotate(45deg)}
.ind-serp-r{padding:12px 12px;border-radius:10px;position:relative}
.ind-serp-r small{display:block;font-size:12px;color:var(--muted)}
.ind-serp-r b{display:block;font-family:var(--fb);font-weight:600;font-size:16px;color:#1A3B8F;margin:2px 0 3px}
.ind-serp-r span{display:block;font-size:13px;color:var(--ink-2);line-height:1.45}
.ind-serp-r.you{background:var(--wash);border:1px solid #F2DFC6}
.ind-serp-r.you em{position:absolute;right:12px;top:12px;font-style:normal;font-family:var(--fh);font-size:11px;font-weight:700;color:var(--orange-dk);background:var(--white);border:1px solid #F2DFC6;padding:3px 8px;border-radius:6px}
/* compare slider */
.ind-compare{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--line-2);box-shadow:0 34px 70px -34px rgba(18,33,47,.5);--pos:50%}
.ind-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ind-compare-after,.ind-compare-before{position:absolute;inset:0}
.ind-compare-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ind-compare-tag{position:absolute;left:14px;top:14px;background:rgba(18,33,47,.8);color:#fff;font-family:var(--fh);font-weight:700;font-size:12px;padding:6px 10px;border-radius:7px}
.ind-compare-tag-r{left:auto;right:14px;background:var(--orange)}
.ind-compare-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.ind-compare-handle i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);display:grid;place-items:center}
.ind-compare-handle i::before,.ind-compare-handle i::after{content:"";width:7px;height:7px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);position:absolute;top:50%;transform:translateY(-50%) rotate(45deg);left:11px}
.ind-compare-handle i::after{transform:translateY(-50%) rotate(-135deg);left:auto;right:11px}
.ind-compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ind-compare.is-focus{outline:3px solid var(--amber);outline-offset:3px}

/* ============================================================
   MODULES
   ============================================================ */
/* 1. five-second: a hairline ledger beside a sticky head */
.ind-check{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.ind-check-copy{position:sticky;top:110px;margin-bottom:0}
.ind-check-list{list-style:none;margin:0;padding:0}
.ind-check-list li{display:grid;grid-template-columns:44px 1fr 1.15fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.ind-check-list li:last-child{border-bottom:1px solid var(--line)}
.ind-check-list h3{font-size:19px;margin:0}
.ind-check-list p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}
.ind-check-list p b{color:var(--ink);font-weight:600}
.ind-sec-five-second-grid .ind-check{display:block}
.ind-sec-five-second-grid .ind-check-copy{position:static;margin-bottom:44px;max-width:none;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.ind-sec-five-second-grid .ind-check-copy h2{max-width:16ch}
.ind-sec-five-second-grid .ind-check-copy .lede{margin-top:0;padding-bottom:6px}
.ind-sec-five-second-grid .ind-check-copy .eyebrow{grid-column:1/-1;margin-bottom:0}
.ind-sec-five-second-grid .ind-check-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.ind-sec-five-second-grid .ind-check-list li{grid-template-columns:44px 1fr;padding:24px 0}
.ind-sec-five-second-grid .ind-check-list li p{grid-column:2;margin-top:6px}
.ind-sec-five-second-grid .ind-check-list li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.ind-sec-five-second-grid .ind-check-list li:last-child{border-bottom:1px solid var(--line)}
.ind-sec-five-second-numbered .ind-check{display:block}
.ind-sec-five-second-numbered .ind-check-copy{position:static}
.ind-sec-five-second-numbered .ind-check-list li{grid-template-columns:60px .8fr 1.2fr;padding:30px 0}
.ind-sec-five-second-numbered .ind-check-list .ind-n{font-size:28px;letter-spacing:-0.03em;line-height:1;color:#C9C1B3}

/* 2. urgent vs planned: two columns on one hairline; dark only inside the dark band */
.ind-split{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;border-top:1px solid var(--line)}
.ind-split > div{padding:36px 0 8px;position:relative}
.ind-split > div::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--orange)}
.ind-time{font-family:var(--fh);font-weight:800;font-size:35px;letter-spacing:-0.03em;color:var(--ink);line-height:1;margin-bottom:6px}
.ind-when{color:var(--orange-dk);font-family:var(--fh);font-weight:700;margin-bottom:22px}
.ind-split p{color:var(--muted);margin-bottom:22px;max-width:44ch;font-size:16px;line-height:1.6}
.ind-split ul{list-style:none;margin:0;padding:0}
.ind-split ul li{padding:11px 0;border-top:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;color:var(--ink-2);font-size:15.5px;line-height:1.5}
.ind-split ul li::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:9px}
.ind-split-foot{margin-top:28px;color:var(--muted);max-width:64ch;font-size:16px;line-height:1.6}
.dark .ind-split{border-top-color:rgba(255,255,255,.14)}
.dark .ind-split > div::before{background:var(--amber)}
.dark .ind-time{color:#fff}
.dark .ind-when{color:var(--amber)}
.dark .ind-split p{color:#C9D3DC}
.dark .ind-split ul li{border-top-color:rgba(255,255,255,.12);color:var(--on-dark)}
.dark .ind-split ul li::before{background:var(--amber)}
.dark .ind-split-foot{color:var(--on-dark-muted)}

/* 3. services */
.ind-tablist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:18px}
.ind-tablist [role=tab]{font:inherit;font-family:var(--fh);font-weight:700;font-size:15px;letter-spacing:-0.015em;padding:11px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);color:var(--ink-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.ind-tablist [role=tab]:hover{border-color:var(--ink-2)}
.ind-tablist [role=tab][aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ind-tablist [role=tab]:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.ind-group-intro{color:var(--muted);font-size:16.5px;line-height:1.6;max-width:62ch;margin:0 0 24px}
.ind-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;border-top:1px solid var(--line)}
.ind-svc{padding:22px 0;border-bottom:1px solid var(--line)}
.ind-svc h3{font-size:17.5px;margin:0 0 6px}
.ind-svc p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.ind-ladder{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ind-ladder li{display:grid;grid-template-columns:60px 1fr 180px;gap:24px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.ind-ladder h3{font-size:19px;margin:0 0 4px}
.ind-ladder p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0;max-width:60ch}
.ind-ladder em{font-style:normal;font-family:var(--fh);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right;padding-top:6px}
/* tiles: three hairline columns, each led by a photograph */
.ind-svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.ind-svc-tile{padding-bottom:8px}
.ind-svc-tile-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.ind-svc-tile h3{font-size:19px;margin:20px 0 6px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.ind-svc-tile p{color:var(--muted);font-size:15px;line-height:1.55;margin:10px 0 6px}
.ind-svc-tile ul{list-style:none;margin:0;padding:0}
.ind-svc-tile li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500}
.ind-svc-cols{display:grid;gap:56px;align-items:start}
.ind-svc-cols.has-photo{grid-template-columns:.8fr 1.2fr}
.ind-svc-cols-photo{margin:0;position:sticky;top:110px}
.ind-svc-cols-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.ind-svc-cols-in{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ind-svc-col h3{font-size:19px;margin:0 0 10px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.ind-svc-col p{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 6px}
.ind-svc-col ul{list-style:none;margin:0;padding:0}
.ind-svc-col li{padding:11px 0;border-bottom:1px solid var(--line)}
.ind-svc-col li b{display:block;font-family:var(--fh);font-weight:700;font-size:15.5px;letter-spacing:-0.015em}
.ind-svc-col li span{display:block;color:var(--muted);font-size:14px;margin-top:2px;line-height:1.5}

/* 4. site plan: a hairline plan beside a sticky head */
.ind-sec-site-plan-list .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:0 56px;align-items:start}
.ind-sec-site-plan-list .ind-head{position:sticky;top:110px;margin-bottom:0;max-width:none;grid-column:1;grid-row:1/span 3}
.ind-sec-site-plan-list .ind-plan{grid-column:2;grid-row:1;max-width:none}
.ind-sec-site-plan-list .ind-plan-note{grid-column:2;grid-row:2;margin-top:22px}
.ind-sec-site-plan-list .ind-plan-reassure{grid-column:2;grid-row:3;margin-top:14px}
.ind-plan{max-width:720px}
.ind-plan-head{padding:0 0 16px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ind-plan-head h3{font-size:18.5px;margin:0}
.ind-plan-head span{font-family:var(--fh);font-weight:700;font-size:14.5px;color:var(--muted);white-space:nowrap}
.ind-pages{padding:0}
.ind-page{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.ind-page-n{padding-top:2px}
.ind-page-n .ind-mark{width:32px;height:32px;font-size:13.5px}
.ind-page-h{font-family:var(--fh);font-weight:800;font-size:17px;margin:6px 0 4px;letter-spacing:-0.02em}
.ind-page p{color:var(--muted);font-size:15px;line-height:1.55;margin:0;max-width:58ch}
.ind-page ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.ind-page ul li{font-size:13px;font-weight:500;background:var(--white);border:1px solid var(--line);border-radius:100px;padding:5px 11px}
.ind-page ul li.empty{color:var(--muted);border-style:dashed;background:transparent;font-weight:400}
.ind-strip{margin-top:10px;font-size:14px;font-weight:600;color:var(--orange-dk);display:none}
.ind-strip.show{display:block}
.ind-plan-foot{padding:18px 0 0;font-size:14.5px;color:var(--muted);line-height:1.5}
.ind-plan-foot b{color:var(--ink);font-weight:600}
.ind-plan-note{margin-top:22px}
/* sitemap diagram */
.ind-sitemap{position:relative;padding-top:8px}
.ind-sitemap-root{width:max-content;margin:0 auto 46px;background:var(--ink);color:#fff;border-radius:12px;padding:14px 22px;text-align:center;position:relative}
.ind-sitemap-root b{display:block;font-family:var(--fh);font-weight:800;font-size:15px;letter-spacing:-0.02em}
.ind-sitemap-root span{font-size:12.5px;color:var(--on-dark-muted)}
.ind-sitemap-root::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:26px;background:#C9C1B3}
.ind-sitemap-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.ind-sitemap-row::before{content:"";position:absolute;left:10%;right:10%;top:-20px;height:2px;background:#C9C1B3}
.ind-sitemap-page{position:relative;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px 18px 18px}
.ind-sitemap-page::before{content:"";position:absolute;left:50%;top:-20px;width:2px;height:20px;background:#C9C1B3}
.ind-sitemap-page b{display:block;font-family:var(--fh);font-weight:800;font-size:15.5px;letter-spacing:-0.02em;margin-bottom:6px}
.ind-sitemap-page p{font-size:13.5px;color:var(--muted);line-height:1.5;margin:0}
.ind-sitemap-page ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.ind-sitemap-page li{font-size:12px;font-weight:500;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:3px 8px}
/* browser-tab site plan */
.ind-plantabs{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(18,33,47,.04),0 34px 70px -34px rgba(18,33,47,.5)}
.ind-plantabs-nav{display:flex;align-items:center;gap:4px;padding:14px 22px;background:#EDEAE4;border-bottom:1px solid #DDD7CC;flex-wrap:wrap}
.ind-plantabs-logo{font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:.04em;margin-right:14px}
.ind-plantabs-nav [role=tab]{font:inherit;font-family:var(--fh);font-weight:700;font-size:14px;padding:8px 14px;border-radius:8px;border:0;background:transparent;color:var(--ink-2);cursor:pointer}
.ind-plantabs-nav [role=tab][aria-selected=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 2px rgba(18,33,47,.08)}
.ind-plantabs-nav [role=tab]:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.ind-plantabs-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px 40px;min-height:300px}
.ind-plantabs-copy .ind-n{display:block;margin-bottom:12px}
.ind-plantabs-copy h3{font-size:24px;margin:0 0 10px}
.ind-plantabs-copy p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}
.ind-plantabs-copy ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0}
.ind-plantabs-copy li{font-size:13.5px;font-weight:500;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:5px 11px}
.ind-plantabs-art{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto 1fr;gap:8px}
.ind-plantabs-art i{display:block;height:8px;border-radius:4px;background:#E3DDD2}
.ind-plantabs-art i.a{grid-column:1/-1;height:14px;width:60%;background:var(--ink)}
.ind-plantabs-art i.b{grid-column:1/-1;height:26px;width:34%;background:var(--orange);border-radius:6px}
.ind-plantabs-photo{grid-column:1/-1;border-radius:8px;background-size:cover;background-position:center;background-color:#E3DDD2;min-height:120px}
/* builder */
.ind-builder{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ind-choices h3{margin-bottom:6px;font-size:22px}
.ind-hint{color:var(--muted);font-size:15px;margin-bottom:22px}
.ind-choice-group{border:0;margin:0 0 26px;padding:0;min-width:0}
.ind-choice-group legend{font-family:var(--fh);font-weight:700;font-size:15px;color:var(--ink-2);margin-bottom:10px;padding:0}
.ind-choice{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--white);border:1.5px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.ind-choice:hover{border-color:var(--ink-2)}
.ind-choice:focus-within{outline:3px solid var(--amber);outline-offset:2px}
.ind-choice input{width:20px;height:20px;accent-color:var(--orange);cursor:pointer;flex:0 0 auto;margin:0}
.ind-choice.on{border-color:var(--orange)}
.ind-choice span{font-weight:500;font-size:16px}
.ind-builder .ind-plan{position:sticky;top:110px;max-width:none}

/* 5. trust: hairline lists, no boxes */
.ind-cred{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ind-cred-copy .ind-head{margin-bottom:0}
.ind-lede-2{margin-top:14px}
.ind-cred-strip h3,.ind-cred-check h3{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.ind-cred-strip ul{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;list-style:none;margin:0;padding:0}
.ind-cred-strip li{padding:12px 0;border-bottom:1px solid var(--line);font-weight:500;font-size:15px;display:flex;align-items:center;gap:10px;line-height:1.4}
.ind-cred-strip li::before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid var(--orange);flex:0 0 auto}
.ind-cred-note{margin-top:16px;font-size:14px;color:var(--muted);line-height:1.5}
.ind-cred-check ul{list-style:none;margin:0;padding:0}
.ind-cred-check li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:500;line-height:1.45}
.ind-cred-check li .tick{width:20px;height:20px;color:var(--orange-dk);flex:none}
.ind-cred-wall{display:grid;gap:22px}
.ind-cred-wall .ind-cred-photo{margin:0}
.ind-cred-wall .ind-cred-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.ind-badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.ind-badges li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-family:var(--fh);font-weight:700;font-size:14.5px;letter-spacing:-0.015em;color:var(--ink-2);line-height:1.35}
.ind-badges li i{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--amber);flex:none;display:grid;place-items:center}
.ind-badges li i::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--wash)}
.ind-sec-trust-wall .ind-cred{align-items:start}

/* 6. before & after */
.ind-ba-grid{display:grid;gap:56px;align-items:center;max-width:760px;margin:0 auto}
.ind-ba-grid.has-points{grid-template-columns:1.15fr .85fr;max-width:none}
.ind-ba-grid .ind-points{margin-top:0}
.ind-pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ind-pair{margin:0}
.ind-pair-imgs{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:12px;overflow:hidden}
.ind-pair-imgs span{position:relative;display:block}
.ind-pair-imgs img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.ind-pair-imgs em{position:absolute;left:8px;bottom:8px;font-style:normal;font-family:var(--fh);font-weight:700;font-size:11px;padding:4px 8px;border-radius:6px;background:rgba(18,33,47,.8);color:#fff}
.ind-pair-imgs span:last-child em{background:var(--orange)}
.ind-pair figcaption{margin-top:12px;font-size:14.5px;color:var(--muted);line-height:1.5}

/* 7. craft / projects */
.ind-craft{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
.ind-craft-photo{margin:0;position:sticky;top:110px}
.ind-craft-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 34px 70px -34px rgba(18,33,47,.5)}
.ind-craft-copy .ind-head{margin-bottom:22px}
.ind-craft-intro{font-size:17px;color:var(--ink-2);line-height:1.6;margin:0 0 26px;max-width:52ch}
.ind-details{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ind-details li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.ind-details h3{font-size:17.5px;margin:0 0 5px}
.ind-details p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0}
.ind-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ind-project{margin:0}
.ind-project-lg{grid-column:1/span 2}
.ind-project-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px}
.ind-project-lg .ind-project-photo img{aspect-ratio:16/9}
.ind-project figcaption{padding:14px 2px 0}
.ind-project-area{display:block;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dk);margin-bottom:4px}
.ind-project figcaption b{display:block;font-family:var(--fh);font-weight:700;font-size:17px;letter-spacing:-0.02em}
.ind-project figcaption p{color:var(--muted);font-size:14.5px;line-height:1.5;margin:4px 0 0}

/* 8. gallery */
.ind-gallery figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:var(--line-2)}
.ind-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.ind-gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(18,33,47,.78);color:#fff;font-family:var(--fh);font-size:12px;font-weight:700;padding:6px 10px;border-radius:7px}
.ind-gallery-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:260px 200px;gap:12px}
.ind-gallery-mosaic figure:nth-child(1){grid-column:1/span 2;grid-row:1}
.ind-gallery-mosaic figure:nth-child(2){grid-column:3/span 2;grid-row:1}
.ind-gallery-mosaic figure:nth-child(3){grid-column:1;grid-row:2}
.ind-gallery-mosaic figure:nth-child(4){grid-column:2/span 2;grid-row:2}
.ind-gallery-mosaic figure:nth-child(5){grid-column:4;grid-row:2}
.ind-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ind-gallery-grid img{aspect-ratio:4/3}
.ind-gallery-filmstrip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;scrollbar-width:thin}
.ind-gallery-filmstrip figure{flex:0 0 min(360px,72vw);scroll-snap-align:start;aspect-ratio:4/5}
.ind-gallery-filmstrip figure:nth-child(even){aspect-ratio:4/3;flex-basis:min(420px,80vw);align-self:end}
.ind-gallery-filmstrip:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

/* 9-10, 19, 22, 25, 27: mock + copy grids */
.ind-mockgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.ind-mock-right .ind-mockgrid-visual{order:2}
.ind-mockgrid-wide{grid-template-columns:1.1fr .9fr}
.ind-mockgrid-copy .ind-head{margin-bottom:0}
.ind-mini-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:0}
.ind-mini-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.ind-mini-steps li:last-child{border-bottom:1px solid var(--line)}
.ind-mini-steps li > span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#FBEBDD;border:1px solid rgba(217,98,14,.28);color:var(--orange-dk);font-family:var(--fh);font-weight:800;font-size:14px}
.ind-mini-steps b{display:block;font-family:var(--fh);font-weight:700;font-size:16.5px;letter-spacing:-0.02em;margin-bottom:3px;padding-top:6px}
.ind-mini-steps p{color:var(--muted);font-size:15px;line-height:1.5;margin:0}
.ind-mobile-stage{background:var(--wash);border-radius:28px;padding:40px 24px;display:flex;justify-content:center;max-width:440px;margin:0 auto}
.ind-mobile-stage .scene-phone{position:relative;left:auto;bottom:auto;width:272px;border-width:9px;border-radius:34px}
.ind-mobile-stage .scene-phone-screen{height:520px;border-radius:26px}
.ind-mobile-stage .scene-phone-bar{padding:9px 12px}
.ind-mobile-stage .scene-phone-hero b{font-size:16px}
.ind-mobile-stage .scene-phone-hero span{font-size:12px;padding:6px 11px}
.ind-mobile-stage .scene-phone-rows{padding:6px 14px 10px}
.ind-mobile-stage .scene-phone-rows span{font-size:13px;padding:10px 0}
.ind-mobile-stage .scene-phone-gal{padding:4px 14px 8px}
.ind-mobile-stage .scene-phone-cta{margin:6px 14px 10px;padding:14px 12px}
.ind-mobile-stage .scene-phone-cta b{font-size:14px}
.ind-mobile-stage .scene-phone-cta span{font-size:12px}
.ind-mobile-stage .scene-phone-view{overflow-y:auto}
.ind-mobile-stage .scene-phone-page{position:relative}

/* 11. service area */
.ind-area{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ind-area-copy .ind-head{margin-bottom:0}
.ind-area-list{border-top:2px solid var(--ink);padding-top:16px}
.ind-area-list > b{display:block;font-family:var(--fh);font-weight:800;font-size:18px;letter-spacing:-0.02em;margin-bottom:10px}
.ind-area-list ul{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.ind-area-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:500;break-inside:avoid}
.ind-area-list p{margin:16px 0 0;font-size:14.5px;color:var(--muted);line-height:1.55}

/* 12. growth */
.ind-growth{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.ind-growth-copy .ind-head{margin-bottom:0}
.ind-facts-list{list-style:none;margin:28px 0 0;padding:0}
.ind-facts-list li{padding:14px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:16px;font-size:15.5px;line-height:1.55}
.ind-facts-list li:last-child{border-bottom:1px solid var(--line)}
.ind-facts-list b{font-family:var(--fh);font-weight:800;letter-spacing:-0.01em}
.ind-facts-list span{color:var(--ink-2)}
.ind-nopromise{margin-top:28px;padding:22px 26px;border-left:3px solid var(--orange);background:var(--white);border:1px solid var(--line);border-left-width:3px;border-left-color:var(--orange);border-radius:0 12px 12px 0}
.ind-nopromise strong{font-family:var(--fh);font-weight:800;display:block;margin-bottom:4px}
.ind-nopromise p{color:var(--ink-2);font-size:15.5px;line-height:1.6;margin:0}
.ind-town{padding:0}
.ind-town label,.ind-town-k{display:block;font-family:var(--fh);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ind-town input{width:100%;font:inherit;font-size:16.5px;padding:14px 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);margin-bottom:6px}
.ind-town input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(217,98,14,.18)}
.ind-searches{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ind-searches li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ind-searches li::before{content:"";width:16px;height:16px;border:2px solid var(--muted);border-radius:50%;flex:0 0 auto}
.ind-searches li span{font-family:var(--fh);font-weight:700;font-size:17px;letter-spacing:-0.02em}
.ind-searches li em{font-style:normal;color:var(--orange-dk)}
.ind-serp + .ind-town{margin-top:26px}
.ind-growth-note,.ind-demo-note{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.5}
.ind-journey{list-style:none;margin:0;padding:0;position:relative}
.ind-journey::before{content:"";position:absolute;left:21px;top:16px;bottom:16px;width:2px;background:var(--line)}
.ind-journey li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:0 0 26px;position:relative}
.ind-journey li:last-child{padding-bottom:0}
.ind-journey .ind-n{width:44px;height:44px;border-radius:50%;background:var(--white);border:2px solid var(--orange);display:grid;place-items:center;font-size:12px;position:relative;z-index:1}
.ind-journey b{display:block;font-family:var(--fh);font-weight:700;font-size:17.5px;letter-spacing:-0.02em;padding-top:9px}
.ind-journey b em{font-style:normal;color:var(--orange-dk)}
.ind-journey p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:6px 0 0}
.ind-journey + .ind-growth-note{margin-top:22px}

/* 12b. growth logic: a numbered spine beside the case for SEO */
.ind-gl{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.ind-gl-copy{position:sticky;top:110px}
.ind-gl-copy .ind-head{margin-bottom:0}
.ind-gl-searches{margin-top:28px}
.ind-gl-terms{margin-top:26px;font-size:15.5px;line-height:1.6;color:var(--muted);max-width:44ch}
.ind-gl-terms b{font-family:var(--fh);font-size:17px;font-weight:800;letter-spacing:-0.025em;color:var(--ink)}
.ind-gl-foot{grid-column:1/-1}
.ind-sec-growth-logic-row .ind-gl{grid-template-columns:1fr;gap:44px}
.ind-sec-growth-logic-row .ind-gl-copy{position:static;display:grid;grid-template-columns:1.1fr .9fr;gap:0 60px;align-items:end}
.ind-sec-growth-logic-row .ind-gl-copy .ind-head{grid-column:1;grid-row:1/span 3}
.ind-sec-growth-logic-row .ind-gl-copy .ind-gl-searches,.ind-sec-growth-logic-row .ind-gl-copy .ind-gl-terms,.ind-sec-growth-logic-row .ind-gl-copy .ind-btn-row{grid-column:2}
.ind-sec-growth-logic-row .ind-gl-copy .ind-gl-searches{margin-top:0}
.ind-sec-growth-logic-row .ind-spine{display:grid;grid-template-columns:repeat(4,1fr);gap:48px 32px;border-top:0}
.ind-sec-growth-logic-row .ind-spine::before{display:none}
.ind-sec-growth-logic-row .ind-spine li{display:block;padding:22px 0 0;border-top:2px solid var(--line);border-bottom:0;position:relative}
.ind-sec-growth-logic-row .ind-spine li::before{content:"";position:absolute;left:0;top:-2px;width:44px;height:2px;background:var(--orange)}
.ind-sec-growth-logic-row .ind-spine li > div{margin-top:16px}

/* the spine: a vertical hairline with light-orange markers (process, growth logic) */
.ind-spine{list-style:none;margin:0;padding:0;position:relative}
.ind-spine::before{content:"";position:absolute;left:16px;top:22px;bottom:22px;width:2px;background:var(--line)}
.ind-spine li{display:grid;grid-template-columns:34px 1fr;gap:22px;padding:18px 0;align-items:start;position:relative}
.ind-spine li + li{border-top:1px solid var(--line-2)}
.ind-spine .ind-mark{position:relative;z-index:1;box-shadow:0 0 0 6px var(--paper)}
.band .ind-spine .ind-mark,.ind-sec.band .ind-spine .ind-mark{box-shadow:0 0 0 6px var(--white)}
.wash .ind-spine .ind-mark{box-shadow:0 0 0 6px var(--wash)}
.ind-spine h3{font-size:18.5px;margin:6px 0 6px;letter-spacing:-0.025em}
.ind-spine p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0;max-width:52ch}
.ind-spine[data-scene] li[data-s]{transition:opacity .45s var(--ease),transform .5s var(--ease-out)}
.ind-spine[data-scene].is-live li[data-s]:not(.on){opacity:0;transform:translateY(8px)}

/* 13. pricing: the Website plan as one sum */
.ind-sum-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}
.ind-sum-copy .ind-head{margin-bottom:22px}
.ind-sum-best{font-family:var(--fh);font-size:18px;font-weight:600;letter-spacing:-0.025em;line-height:1.4;color:var(--ink);margin:0 0 18px;max-width:40ch}
.ind-sum-p{font-size:16.5px;line-height:1.65;color:var(--muted);max-width:52ch;margin:0 0 16px}
.ind-sum-growth{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.6;color:var(--muted);max-width:52ch}
.ind-sum-growth b{display:block;font-family:var(--fh);font-weight:700;letter-spacing:-0.02em;color:var(--ink);margin-bottom:4px}
.ind-sum{border-top:2px solid var(--ink);padding-top:26px;display:flex;flex-direction:column}
.ind-sum-top{display:flex;flex-direction:column;gap:10px}
.ind-sum-k{font-family:var(--fh);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk)}
.ind-sum-price{display:flex;align-items:baseline;gap:10px;margin:0;flex-wrap:wrap}
.ind-sum-price b{font-family:var(--fh);font-size:clamp(48px,5vw,64px);font-weight:800;letter-spacing:-0.055em;line-height:.95;color:var(--ink);font-variant-numeric:tabular-nums}
.ind-sum-price span{font-size:15px;color:var(--muted)}
.ind-sum-line{margin:6px 0 0;font-size:16.5px;line-height:1.55;color:var(--muted);max-width:36ch}
.ind-sum-rows{margin:26px 0 0;display:grid}
.ind-sum-rows > div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.ind-sum-rows > div:last-child{border-bottom:1px solid var(--line)}
.ind-sum-rows dt{color:var(--muted)}
.ind-sum-rows dd{margin:0;color:var(--ink);font-weight:500}
.ind-sum-rows .is-key dt,.ind-sum-rows .is-key dd{font-family:var(--fh);font-weight:700;letter-spacing:-0.02em;color:var(--orange-dk)}
.ind-sum-inc{flex:1}
.ind-sum-inc-k{margin:28px 0 0;padding-bottom:12px;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ind-sum-list{list-style:none;margin:0;padding:0}
.ind-sum-list li{padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.ind-sum-list li:last-child{border-bottom:1px solid var(--line)}
.ind-sum-list li b{display:block;font-family:var(--fh);font-weight:700;letter-spacing:-0.02em;color:var(--ink);font-size:15.5px}
.ind-sum-list li em{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:2px;line-height:1.5}
.ind-sum-list li.is-ind b{color:var(--orange-dk)}
.ind-sum-dots li{position:relative;padding-left:26px}
.ind-sum-dots li::before{content:"";position:absolute;left:2px;top:21px;width:8px;height:8px;border-radius:50%;background:var(--orange)}
.ind-sum-list li.is-key{font-family:var(--fh);font-weight:700;letter-spacing:-0.02em;color:var(--orange-dk)}
.ind-sum-list li.is-key::before{background:var(--orange-dk)}
.ind-sum-terms{margin:18px 0 0;display:grid}
.ind-sum-terms > div{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;padding:10px 0;border-top:1px solid var(--line-2);font-size:14px;line-height:1.5}
.ind-sum-terms dt{color:var(--muted)}
.ind-sum-terms dd{margin:0;color:var(--ink-2)}
.ind-sum-ctas{margin-top:auto;padding-top:26px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
/* 13b. products: two sums side by side */
.ind-sums{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;align-items:stretch}
.ind-sum-growth{border-top-color:var(--orange)}
.ind-sums-foot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:15.5px;line-height:1.6;max-width:72ch}
/* the old duo plans and their foot (location pages) */
.ind-plans{max-width:1000px;margin:0 auto}
.ind-price-note{font-family:var(--fh);font-weight:700;color:var(--orange-dk);margin:12px 0 0;font-size:15.5px}
.ind-plans-foot{text-align:center;margin-top:28px;color:var(--muted)}

/* 13c. the Client Platform */
.ind-cp{display:grid;grid-template-columns:1fr .92fr;gap:80px;align-items:center}
.ind-cp-copy .ind-head{margin-bottom:0}
.ind-cp-more{margin-top:22px}
/* the frame the Client Platform phone stands in (platform module).
   A phone is about half as wide as it is tall: 320px keeps that honest,
   whatever the dashboard content adds up to. */
.ind-cp-frame{background:var(--wash);border-radius:28px;padding:40px 24px;display:flex;justify-content:center;font-family:var(--fb)}
.ind-cp-frame .ind-cp-phone{width:320px;padding:11px;border-radius:42px}
.ind-cp-frame .ind-cp-dash{padding:46px 18px 20px;border-radius:33px}
.ind-cp-frame .ind-cp-hello b{font-size:19px}
.ind-cp-frame .ind-cp-steps li{font-size:14px;padding:9px 0 9px 26px}
.ind-cp-l-browser{grid-template-columns:.8fr 1.2fr;align-items:center}
.ind-cp-l-browser .ind-cp-visual{order:2}
.ind-cp-browser{border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(18,33,47,.12);box-shadow:0 1px 2px rgba(18,33,47,.04),0 34px 70px -34px rgba(18,33,47,.5);font-family:var(--fb);color:var(--ink)}
.ind-cp-chrome{height:34px;background:#EDEAE4;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #DDD7CC}
.ind-cp-chrome i{width:9px;height:9px;border-radius:50%;background:#C9C2B5;flex:none}
.ind-cp-url{margin-left:8px;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #DDD7CC;border-radius:6px;font-size:11px;color:#6A737C;padding:4px 10px;flex:1;max-width:280px;white-space:nowrap}
.ind-cp-url svg{color:#3E8E5A;flex:none}
.ind-cp-app{display:grid;grid-template-columns:150px 1fr;min-height:360px}
.ind-cp-side{background:var(--paper);border-right:1px solid var(--line);padding:16px 14px}
.ind-cp-side .ind-cp-logo{font-size:12.5px}
.ind-cp-biz{margin-top:14px;padding:10px 11px;background:var(--white);border:1px solid var(--line);border-radius:10px}
.ind-cp-biz small{display:block;font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ind-cp-biz b{display:block;font-family:var(--fh);font-size:11.5px;font-weight:800;letter-spacing:-0.02em;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-cp-biz em{display:inline-block;margin-top:5px;font-style:normal;font-family:var(--fh);font-size:9.5px;font-weight:700;color:var(--orange-dk);background:var(--wash);border-radius:100px;padding:2px 7px}
.ind-cp-menu{list-style:none;margin:14px 0 0;padding:0}
.ind-cp-menu li{position:relative;font-family:var(--fh);font-size:11px;font-weight:600;color:var(--ink-2);padding:7px 9px;border-radius:7px;display:flex;align-items:center;gap:8px}
.ind-cp-menu li::before{content:"";width:9px;height:9px;border-radius:3px;border:1.5px solid #B7BFC7;flex:none}
.ind-cp-menu li.on{background:var(--wash);color:var(--orange-dk)}
.ind-cp-menu li.on::before{border-color:var(--orange)}
.ind-cp-menu li.lock{color:var(--muted)}
.ind-cp-menu li.lock::after{content:"";margin-left:auto;width:8px;height:8px;border:1.5px solid #B7BFC7;border-radius:2px 2px 3px 3px;box-sizing:border-box}
.ind-cp-main{padding:22px 24px 24px}
.ind-cp-eyebrow{margin:0 0 8px;font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dk);display:flex;align-items:center;gap:8px}
.ind-cp-eyebrow::before{content:"";width:18px;height:2px;background:var(--orange);border-radius:2px}
.ind-cp-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ind-cp-title b{font-family:var(--fh);font-size:20px;font-weight:800;letter-spacing:-0.035em;line-height:1.15}
.ind-cp-facts{margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 16px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:10px}
.ind-cp-facts > div{min-width:0}
.ind-cp-facts dt{font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ind-cp-facts dd{margin:3px 0 0;font-size:11.5px;font-weight:500;color:var(--ink);line-height:1.35}
.ind-cp-next,.ind-cp-gr{margin-top:12px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center}
.ind-cp-next .ind-cp-k,.ind-cp-gr .ind-cp-k{grid-column:1/-1;margin-bottom:0}
.ind-cp-next p,.ind-cp-gr p{font-size:11.5px;line-height:1.45;color:var(--ink-2);margin:0}
.ind-cp-btn{font-family:var(--fh);font-size:10.5px;font-weight:700;color:#fff;background:var(--orange);border-radius:6px;padding:7px 11px;white-space:nowrap}
.ind-cp-gr{background:var(--white)}
.ind-cp-gr em{font-style:normal;font-family:var(--fh);font-size:10px;font-weight:700;color:var(--orange-dk);background:var(--wash);border-radius:100px;padding:3px 8px;white-space:nowrap}

/* 14. process: head beside the spine */
.ind-process{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.ind-process-copy{position:sticky;top:110px}
.ind-process-copy .ind-head{margin-bottom:0}
.ind-process-more{margin-top:26px}
.ind-steps{list-style:none;margin:0;padding:0}
.ind-timing{margin-top:28px;border-top:1px solid var(--line)}
.ind-timing div{padding:18px 0;border-bottom:1px solid var(--line)}
.ind-timing strong{font-family:var(--fh);font-weight:800;display:block;margin-bottom:6px;font-size:16.5px;letter-spacing:-0.02em}
.ind-timing p{color:var(--muted);font-size:15px;line-height:1.6;margin:0;max-width:60ch}

/* 15. faq */
.ind-faq{max-width:820px;margin:0 auto}

/* 17. decision: tabs stay; cards become hairline columns */
.ind-decision{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;border-top:1px solid var(--ink);padding-top:28px}
.ind-decision-list{display:grid;gap:8px}
.ind-decision-list [role=tab]{font:inherit;text-align:left;display:flex;align-items:center;gap:14px;font-family:var(--fh);font-weight:700;font-size:16px;letter-spacing:-0.02em;padding:16px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.ind-decision-list [role=tab]:hover{border-color:var(--ink-2)}
.ind-decision-list [role=tab][aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ind-decision-list [role=tab][aria-selected=true] .ind-n{color:var(--amber)}
.ind-decision-list [role=tab]:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.ind-decision-panel h3{font-size:24px;margin:6px 0 12px}
.ind-decision-panel > p{color:var(--ink-2);font-size:16.5px;line-height:1.6;margin:0}
.ind-decision-k2{font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px!important}
.ind-decision-panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.ind-decision-panel li{font-size:14px;font-weight:500;background:var(--white);border:1px solid var(--line);border-radius:100px;padding:7px 12px}
.ind-decision-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;border-top:1px solid var(--line)}
.ind-decision-card{padding:26px 0 28px;position:relative}
.ind-decision-card::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--orange)}
.ind-decision-k{display:block;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dk);margin-bottom:12px}
.ind-decision-card h3{font-size:20px;margin:0 0 10px}
.ind-decision-card p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0}
.ind-decision-card ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0}
.ind-decision-card li{font-size:13.5px;font-weight:500;background:var(--white);border:1px solid var(--line);border-radius:100px;padding:5px 11px}

/* 18. expertise */
.ind-expertise{display:grid;gap:56px;align-items:start}
.ind-expertise.has-photo{grid-template-columns:.75fr 1.25fr}
.ind-expertise-photo{margin:0;position:sticky;top:110px}
.ind-expertise-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.ind-expertise-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px;border-top:1px solid var(--line)}
.ind-expertise-list li{padding:24px 0 26px;border-bottom:1px solid var(--line)}
.ind-expertise-list .ind-n{display:block;margin-bottom:12px}
.ind-expertise-list h3{font-size:18.5px;margin:0 0 8px}
.ind-expertise-list p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.ind-expertise.has-photo .ind-expertise-list{grid-template-columns:1fr 1fr}
.ind-expertise-list.ind-expertise-list-one{grid-template-columns:1fr}

/* 20. experience */
.ind-exp{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:start}
.ind-exp-right .ind-exp-photo{order:2}
.ind-exp-photo{margin:0;position:sticky;top:110px}
.ind-exp-photo img{display:block;width:100%;aspect-ratio:8/7;object-fit:cover;border-radius:12px;box-shadow:0 34px 70px -34px rgba(18,33,47,.5)}
.ind-exp-copy .ind-head{margin-bottom:8px}
.ind-exp-list{list-style:none;margin:0;padding:0}
.ind-exp-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.ind-exp-list li:last-child{border-bottom:1px solid var(--line)}
.ind-exp-list h3{font-size:17.5px;margin:0 0 4px}
.ind-exp-list p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0}

/* 21. seasonal */
.ind-seasons{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ind-season-list{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.ind-season-list [role=tab]{font:inherit;text-align:left;padding:20px 24px;border:0;border-right:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink);transition:background .15s}
.ind-season-list [role=tab]:last-child{border-right:0}
.ind-season-list [role=tab] b{display:block;font-family:var(--fh);font-weight:800;font-size:17px;letter-spacing:-0.02em}
.ind-season-list [role=tab] span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ind-season-list [role=tab][aria-selected=true]{background:var(--white);box-shadow:inset 0 -3px 0 0 var(--orange)}
.ind-season-list [role=tab]:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}
.ind-season-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:36px 40px;align-items:center}
.ind-season-photo{margin:0}
.ind-season-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.ind-season-copy h3{font-size:24px;margin:0 0 10px}
.ind-season-copy p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 14px}
.ind-season-copy ul{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.ind-season-copy li{padding:8px 0;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:500;break-inside:avoid}

/* 23. timetable */
.ind-tt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.ind-tt-copy .ind-head{margin-bottom:0}
.ind-tt{max-width:none}
.ind-tt table{width:100%;border-collapse:collapse;font-size:12.5px}
.ind-tt th,.ind-tt td{padding:9px 8px;border-bottom:1px solid var(--line-2);text-align:center;vertical-align:middle}
.ind-tt thead th{font-family:var(--fh);font-weight:700;font-size:12px;color:var(--muted);background:var(--paper)}
.ind-tt tbody th{font-family:var(--fh);font-weight:700;color:var(--ink-2);text-align:left;white-space:nowrap}
.ind-tt td span{display:block;background:var(--wash);border:1px solid #F2DFC6;border-radius:6px;padding:6px 4px;font-weight:600;color:var(--ink);font-size:11.5px;line-height:1.25}
.ind-tt tbody tr:nth-child(odd) td:nth-child(3) span{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 24. price list */
.ind-pl{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ind-pl-copy .ind-head{margin-bottom:0}
.ind-pl-list ul{list-style:none;margin:0;padding:10px 18px 18px}
.ind-pl-list li{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.ind-pl-list li:last-child{border-bottom:0}
.ind-pl-list li > span{font-weight:500}
.ind-pl-list li small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}
.ind-pl-list li i{flex:1;border-bottom:1px dotted #C6BFB2;min-width:12px;transform:translateY(-4px)}
.ind-pl-list li em{font-style:normal;font-family:var(--fh);font-weight:700;white-space:nowrap}
.ind-pl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;border-top:1px solid var(--ink)}
.ind-pl-card{padding:20px 0 22px;position:relative}
.ind-pl-card:nth-child(2)::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--orange)}
.ind-pl-card b{display:block;font-family:var(--fh);font-weight:700;font-size:15px;letter-spacing:-0.02em;margin-bottom:8px}
.ind-pl-card em{display:block;font-style:normal;font-family:var(--fh);font-weight:800;font-size:26px;letter-spacing:-0.04em;line-height:1}
.ind-pl-card span{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.45}

/* 26. care */
.ind-care{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.ind-care-copy .ind-head{margin-bottom:24px}
.ind-care-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ind-care-list li{padding:18px 0;border-bottom:1px solid var(--line)}
.ind-care-list b{display:block;font-family:var(--fh);font-weight:700;font-size:17px;letter-spacing:-0.02em;margin-bottom:4px}
.ind-care-list p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0}
.ind-care-note{margin-top:26px;padding:20px 24px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 12px 12px 0}
.ind-care-note strong{font-family:var(--fh);font-weight:800;display:block;margin-bottom:4px}
.ind-care-note p{color:var(--ink-2);font-size:15px;line-height:1.6;margin:0}
.ind-care-photo{margin:0;position:sticky;top:110px}
.ind-care-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}

/* 28. compare businesses: hairline columns */
.ind-cmp{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;border-top:1px solid var(--line)}
.ind-cmp-col{padding:30px 0 8px;position:relative}
.ind-cmp-col::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--orange)}
.ind-cmp-k{display:block;font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dk);margin-bottom:12px}
.ind-cmp-col h3{font-size:22px;margin:0 0 12px}
.ind-cmp-col p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 18px}
.ind-cmp-col ul{list-style:none;margin:0;padding:0}
.ind-cmp-col li{padding:10px 0;border-top:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.ind-cmp-col li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:9px}
.ind-cmp:has(.ind-cmp-col:nth-child(3)){grid-template-columns:repeat(3,1fr);gap:0 48px}

/* 29. editorial */
.ind-ed{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.ind-ed-left .ind-ed-photo{order:-1}
.ind-ed-none{grid-template-columns:1fr;max-width:760px}
.ind-ed-copy .ind-head{margin-bottom:20px}
.ind-ed-p{font-size:17px;line-height:1.65;color:var(--ink-2);margin:0 0 16px;max-width:60ch}
.ind-ed-quote{margin:26px 0 0;padding:22px 26px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 14px 14px 0}
.ind-ed-quote p{font-family:var(--fh);font-size:19px;font-weight:700;letter-spacing:-0.025em;line-height:1.35;margin:0}
.ind-ed-quote cite{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:8px}
.ind-ed-photo{margin:0}
.ind-ed-photo img{display:block;width:100%;aspect-ratio:8/9;object-fit:cover;border-radius:12px;box-shadow:0 34px 70px -34px rgba(18,33,47,.5)}

/* final */
.ind-final .sub a{color:var(--on-dark-2);border-bottom:1px solid rgba(255,255,255,.35);text-decoration:none}
.ind-final .sub a:hover{color:#fff;border-color:#fff}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .ind-hero-grid{gap:48px}
  .ind-mockgrid,.ind-growth,.ind-area,.ind-pl,.ind-tt-grid,.ind-exp,.ind-ed,.ind-care,.ind-craft,.ind-check,.ind-cred,.ind-gl,.ind-process,.ind-cp,.ind-sum-grid{gap:44px}
  .ind-sums{gap:0 40px}
  .ind-kp-node b{font-size:12.5px}
  .ind-kp-node em{font-size:11.5px}
  .ind-st .ind-st-phone{right:0}
}
@media (max-width:1040px){
  .ind-hero{padding:60px 0 72px}
  .ind-hero-grid,.ind-hero-l-right .ind-hero-grid,.ind-hero-split .ind-hero-grid,.ind-hero-mosaic .ind-hero-grid,.ind-hero-scene .ind-hero-grid,.ind-hero-statement .ind-hero-grid{grid-template-columns:minmax(0,1fr);gap:52px}
  .ind-hero-l-right .ind-hero-visual{order:2}
  .ind-hero h1{max-width:17ch}
  .ind-hero-visual{max-width:640px}
  .ind-hero-l-band .ind-hero-copy{grid-template-columns:1fr;gap:0}
  .ind-hero-l-band .ind-hero-copy h1,.ind-hero-l-band .ind-hero-copy .ind-lead,.ind-hero-l-band .ind-hero-copy .hero-ctas,.ind-hero-l-band .ind-hero-copy .ind-hfacts{grid-column:1;grid-row:auto}
  .ind-hero-l-band .ind-hero-copy h1{margin-bottom:22px}
  .ind-hero-l-band .ind-hero-visual{max-width:none}
  .ind-facts{grid-template-columns:repeat(2,1fr)}
  .ind-facts div:nth-child(2){border-right:0}
  .ind-facts div:nth-child(1),.ind-facts div:nth-child(2){border-bottom:1px solid var(--line)}
  .ind-split-fig,.ind-split-img{min-height:380px;height:auto}
  .ind-split-img{aspect-ratio:16/10}
  .ind-mosaic{min-height:420px}
  .ind-st{padding-bottom:150px}
  .ind-st-panel{max-width:600px}
  .ind-st .ind-st-phone{right:auto;left:380px}
  .ind-head-split{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
  .ind-check{grid-template-columns:1fr;gap:32px}
  .ind-check-copy{position:static}
  .ind-sec-five-second-grid .ind-check-copy{grid-template-columns:1fr;gap:12px}
  .ind-sec-five-second-grid .ind-check-list{grid-template-columns:1fr;gap:0}
  .ind-sec-five-second-grid .ind-check-list li:nth-last-child(-n+2){border-bottom:0}
  .ind-sec-five-second-grid .ind-check-list li:last-child{border-bottom:1px solid var(--line)}
  .ind-svc-grid{grid-template-columns:1fr 1fr}
  .ind-svc-tiles{grid-template-columns:1fr 1fr}
  .ind-svc-cols.has-photo{grid-template-columns:1fr}
  .ind-svc-cols-photo{position:static}
  .ind-svc-cols-photo img{aspect-ratio:16/9}
  .ind-builder{grid-template-columns:1fr;gap:32px}
  .ind-builder .ind-plan{position:static}
  .ind-sec-site-plan-list .wrap{grid-template-columns:1fr;gap:0}
  .ind-sec-site-plan-list .ind-head{position:static;grid-column:1;grid-row:auto;margin-bottom:28px}
  .ind-sec-site-plan-list .ind-plan,.ind-sec-site-plan-list .ind-plan-note,.ind-sec-site-plan-list .ind-plan-reassure{grid-column:1;grid-row:auto}
  .ind-sitemap-row{grid-template-columns:repeat(3,1fr)}
  .ind-sitemap-row::before,.ind-sitemap-page::before,.ind-sitemap-root::after{display:none}
  .ind-sitemap-root{margin-bottom:22px}
  .ind-plantabs-panel{grid-template-columns:1fr}
  .ind-cred{grid-template-columns:1fr;gap:36px}
  .ind-ba-grid.has-points{grid-template-columns:1fr}
  .ind-pairs{grid-template-columns:1fr 1fr}
  .ind-craft{grid-template-columns:1fr}
  .ind-craft-photo{position:static}
  .ind-projects{grid-template-columns:1fr 1fr}
  .ind-project-lg{grid-column:1/-1}
  .ind-gallery-mosaic{grid-template-rows:220px 170px}
  .ind-mockgrid,.ind-mockgrid-wide,.ind-area,.ind-growth,.ind-pl,.ind-tt-grid,.ind-exp,.ind-ed,.ind-care,.ind-decision,.ind-gl,.ind-process,.ind-cp,.ind-cp-l-browser,.ind-sum-grid{grid-template-columns:minmax(0,1fr)}
  .ind-mockgrid > *,.ind-area > *,.ind-growth > *,.ind-pl > *,.ind-tt-grid > *,.ind-exp > *,.ind-ed > *,.ind-care > *,.ind-decision > *,.ind-gl > *,.ind-process > *,.ind-cp > *,.ind-sum-grid > *{min-width:0}
  .ind-mock-right .ind-mockgrid-visual,.ind-exp-right .ind-exp-photo,.ind-ed-left .ind-ed-photo,.ind-cp-l-browser .ind-cp-visual{order:0}
  .ind-mockgrid-visual{order:2}
  .ind-gl-copy,.ind-process-copy{position:static}
  .ind-sec-growth-logic-row .ind-gl-copy{grid-template-columns:1fr}
  .ind-sec-growth-logic-row .ind-gl-copy .ind-head{grid-row:auto}
  .ind-sec-growth-logic-row .ind-gl-copy .ind-gl-searches,.ind-sec-growth-logic-row .ind-gl-copy .ind-gl-terms,.ind-sec-growth-logic-row .ind-gl-copy .ind-btn-row{grid-column:1}
  .ind-sec-growth-logic-row .ind-gl-copy .ind-gl-searches{margin-top:28px}
  .ind-sec-growth-logic-row .ind-spine{grid-template-columns:1fr 1fr;gap:32px}
  .ind-sums{grid-template-columns:1fr;gap:56px}
  .ind-expertise.has-photo{grid-template-columns:1fr}
  .ind-expertise-photo{position:static}
  .ind-expertise-photo img{aspect-ratio:16/9}
  .ind-expertise-list,.ind-expertise.has-photo .ind-expertise-list{grid-template-columns:1fr 1fr}
  .ind-care-photo,.ind-exp-photo{position:static}
  .ind-care-photo img{aspect-ratio:16/9}
  .ind-season-panel{grid-template-columns:1fr}
  .ind-decision-cards{grid-template-columns:1fr 1fr;gap:0 40px}
  .ind-cmp,.ind-cmp:has(.ind-cmp-col:nth-child(3)){grid-template-columns:1fr;gap:0}
  .ind-cmp-col{border-top:1px solid var(--line);padding-top:26px}
  .ind-cmp-col:first-child{border-top:0}
  .ind-ed-photo img,.ind-exp-photo img{aspect-ratio:16/10}
  .ind-cp-app{grid-template-columns:130px 1fr}
}
@media (max-width:820px){
  .ind-st .ind-st-phone{left:auto;right:0}
  .ind-st-panel{max-width:none;padding-right:240px}
  .ind-cp-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .ind-phone{width:290px;height:590px}
  .ind-hero-fig.has-card{padding:0 0 30px}
  .ind-hero-card{left:0;max-width:86%;padding:14px 18px}
  .ind-split-card{left:0;bottom:14px}
  .ind-hero-inset{width:38%;top:-12px;right:0}
  .ind-band-img{aspect-ratio:16/10}
  .ind-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px;min-height:0}
  .ind-mosaic-item:first-child{grid-column:1/-1;grid-row:1}
  .ind-mosaic-item:nth-child(4){display:none}
  .ind-check-list li,.ind-sec-five-second-numbered .ind-check-list li{grid-template-columns:36px 1fr;gap:6px 14px;padding:20px 0}
  .ind-check-list li p{grid-column:2}
  .ind-split{grid-template-columns:1fr;gap:0}
  .ind-split > div{padding:28px 0 8px;border-top:1px solid var(--line)}
  .ind-split > div:first-child{border-top:0}
  .dark .ind-split > div{border-top-color:rgba(255,255,255,.12)}
  .ind-svc-grid{grid-template-columns:1fr}
  .ind-svc-tiles{grid-template-columns:1fr;gap:32px}
  .ind-svc-cols-in{grid-template-columns:1fr}
  .ind-ladder li{grid-template-columns:44px 1fr;gap:6px 14px}
  .ind-ladder em{grid-column:2;text-align:left;padding-top:0;font-size:11.5px}
  .ind-sitemap-row{grid-template-columns:1fr 1fr}
  .ind-plantabs-panel{padding:24px 22px}
  .ind-cred-strip ul,.ind-badges{grid-template-columns:1fr}
  .ind-pairs,.ind-projects,.ind-gallery-grid{grid-template-columns:1fr}
  .ind-gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 140px}
  .ind-gallery-mosaic figure:nth-child(1){grid-column:1/-1;grid-row:1}
  .ind-gallery-mosaic figure:nth-child(2){grid-column:1/-1;grid-row:2}
  .ind-gallery-mosaic figure:nth-child(3){grid-column:1;grid-row:3}
  .ind-gallery-mosaic figure:nth-child(4){grid-column:2;grid-row:3}
  .ind-gallery-mosaic figure:nth-child(5){display:none}
  .ind-facts-list li{grid-template-columns:1fr;gap:4px}
  .ind-sec-growth-logic-row .ind-spine{grid-template-columns:1fr;gap:0}
  .ind-sec-growth-logic-row .ind-spine li{border-top:1px solid var(--line);padding:18px 0}
  .ind-sec-growth-logic-row .ind-spine li::before{display:none}
  .ind-season-list{grid-template-columns:1fr 1fr}
  .ind-season-list [role=tab]{border-bottom:1px solid var(--line);padding:14px 18px}
  .ind-season-list [role=tab]:nth-child(2n){border-right:0}
  .ind-season-panel{padding:22px}
  .ind-season-copy ul{columns:1}
  .ind-area-list ul{columns:1}
  .ind-decision{grid-template-columns:1fr;padding-top:18px}
  .ind-decision-cards{grid-template-columns:1fr;gap:0}
  .ind-decision-card{border-top:1px solid var(--line)}
  .ind-decision-card:first-child{border-top:0}
  .ind-expertise-list,.ind-expertise.has-photo .ind-expertise-list{grid-template-columns:1fr}
  .ind-pl-cards{grid-template-columns:1fr;gap:0}
  .ind-pl-card{border-top:1px solid var(--line)}
  .ind-pl-card:first-child{border-top:0}
  .ind-radial{width:min(100%,360px)}
  .ind-radial-town{font-size:11px;padding:4px 8px}
  .ind-radial-base{width:92px;height:92px}
  .ind-listing-grid{grid-template-columns:1fr 1fr;padding:10px;gap:8px}
  .ind-tt-grid{grid-template-columns:minmax(0,1fr)}
  .ind-tt-grid > *{min-width:0}
  .ind-tt{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ind-tt table{font-size:11px;min-width:440px}
  .ind-tt th,.ind-tt td{padding:7px 4px}
  .ind-btn-row .btn{width:100%}
  .ind-sum-rows > div,.ind-sum-terms > div{grid-template-columns:1fr;gap:2px}
  .ind-cp-app{grid-template-columns:1fr}
  .ind-cp-side{display:none}
  .ind-cp-main{padding:18px 16px 20px}
}

/* ============================================================
   PHONE (<=640px): the page composed for a phone. Nothing leaves the
   DOM; long ledgers become accordions (site.js, data-m-acc) and the
   hero visuals of the benchmark family stay, sized for the width.
   ============================================================ */
@media (max-width:640px){
  .ind-hero{padding:44px 0 56px}
  .ind-hero-grid{gap:34px}
  .ind-hero h1{max-width:none;font-size:clamp(31px,8.4vw,38px);letter-spacing:-0.038em;margin-bottom:16px}
  .ind-lead{font-size:16.5px;max-width:none}
  .ind-hero .hero-ctas{margin-top:24px;gap:10px}
  .ind-hero .hero-ctas .btn{width:100%}
  .ind-hfacts{margin-top:26px;padding-top:18px;gap:0 28px}
  .ind-hfacts dd{font-size:24px}
  .ind-hero-visual{max-width:none;margin-top:6px}
  /* the benchmark family and the photographic families keep their visual on a phone;
     mobile.css hides the older mock-up families and is not edited here */
  html .page-template-industry .ind-hero.ind-hero-scene-family .ind-hero-visual,
  html .page-template-industry .ind-hero.ind-hero-band .ind-hero-visual,
  html .page-template-industry .ind-hero.ind-hero-split .ind-hero-visual{display:block}
  /* kept */
  .ind-kp-sm .sm-hero{height:164px;padding:0 16px}
  .ind-kp-sm .sm-hero-copy{max-width:78%}
  .ind-kp-sm .sm-hero-copy b{font-size:16px}
  .ind-kp-sm .sm-nav{padding:0 14px;gap:10px}
  .ind-kp-sm .sm-band,.ind-kp-sm .sm-foot{padding-left:14px;padding-right:14px}
  .ind-live{right:10px;top:-11px;font-size:12px;padding:5px 10px}
  .ind-kp-line{grid-template-columns:1fr;gap:0;margin-top:22px;padding-top:0}
  .ind-kp-line::before,.ind-kp-line::after{display:none}
  .ind-kp-node{display:grid;grid-template-columns:16px 1fr;column-gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
  .ind-kp-node:last-child{border-bottom:1px solid var(--line)}
  .ind-kp-dot{position:static}
  .ind-kp-node b{font-size:14.5px}
  .ind-kp-node em{grid-column:2;margin-top:1px;font-size:12.5px}
  /* search-story */
  .ind-gs-page .gsr-head{padding:14px 14px 0}
  .ind-gs-page .gsr-field{height:42px}
  .ind-gs-page .gsr-q{font-size:15px}
  .ind-gs-page .gsr-tabs{padding:10px 14px 0 26px;gap:16px;font-size:12.5px}
  .ind-gs-page .gsr-body{padding:10px 14px 14px}
  .ind-gs-page .gsr-title{font-size:16px}
  .ind-gs-page .gsr-snip{font-size:12.5px}
  .ind-gs-sm .sm-hero{min-height:150px}
  .ind-gs-sm .sm-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ind-gs-sm .sm-cards span:nth-child(4){display:none}
  .ind-gs-sm .sm-link + .sm-link + .sm-link{display:none}
  .ind-scene-foot{font-size:12px}
  /* statement: the panel first, the phone beneath it on its own stage */
  .ind-st{padding-bottom:0}
  .ind-st-panel{padding:24px 22px 22px;border-radius:0 14px 14px 0}
  .ind-st-promise{font-size:clamp(24px,7vw,28px)}
  .ind-st-ledger{max-width:none;margin-top:16px}
  .ind-st-ledger li{padding:9px 0;font-size:14px}
  .ind-st .ind-st-phone{position:relative;right:auto;top:auto;left:auto;margin:22px auto 0;width:232px}
  /* fan */
  .ind-fan-stage{padding-top:26px}
  .ind-fan-sm{height:320px}
  .ind-fan-sm .sm-hero{height:150px;padding:0 16px}
  .ind-fan-sm .sm-hero-copy b{font-size:16px}
  .ind-fan-sm .sm-link + .sm-link + .sm-link{display:none}
  .ind-fan-sheet{width:88px;margin:-66px 0 0 -44px;padding:7px 7px 20px}
  .ind-fan-sheet b{font-size:10px;bottom:5px}
  .ind-fan.is-live.spread .ind-fan-sheet[data-i="0"]{--x:-150%;--y:-50%}
  .ind-fan.is-live.spread .ind-fan-sheet[data-i="4"]{--x:150%;--y:-50%}
  .ind-scene-cap{margin-top:16px;gap:8px}
  .ind-scene-cap em{margin-left:0;width:100%}
  /* story */
  .ind-sf-screen{height:300px}
  .ind-sf-sm .sm-hero{height:132px;padding:0 14px}
  .ind-sf-sm .sm-hero-copy b{font-size:15px}
  .ind-sf-sm .sm-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ind-sf-sm .sm-cards span:nth-child(4){display:none}
  .ind-sf-sm .sm-link + .sm-link + .sm-link{display:none}
  .ind-sf-chips{gap:6px;padding:7px 10px}
  .ind-sf-chip{font-size:10px;padding:4px 8px}
  .ind-sf-chips em{display:none}
  .ind-sf-site .ind-dmark{top:140px;font-size:11px}
  .ind-sf-nav{display:none}
  .ind-sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px}
  .ind-sf-grid .ind-sf-tile:nth-child(n+7){display:none}
  .ind-sf-tile{flex-direction:row;align-items:center;gap:10px;padding:8px 10px}
  .ind-sf-tile img{width:32px;height:32px}
  .ind-sf-h{padding:14px 12px 10px;font-size:14px}
  .ind-sf-find{padding:0 18px}
  .ind-sf-field{min-height:48px;padding:0 14px}
  .ind-sf-q{font-size:18px}
  .ind-sf-result{grid-template-columns:30px 1fr auto;gap:10px;padding:10px 12px}
  .ind-sf-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px}
  .ind-sf-cards .ind-sf-card:nth-child(n+5){display:none}
  .ind-sf-card img{height:64px}
  /* photo, band, split */
  .ind-hero-img{aspect-ratio:4/3}
  .ind-band-facts{gap:14px 32px;margin-top:16px;padding-top:14px}
  .ind-band-facts b{font-size:20px}
  .ind-split-fig,.ind-split-img{min-height:0}
  .ind-split-img{aspect-ratio:4/3}
  /* modules */
  .ind-sec{padding:60px 0}
  .ind-sec .ind-head{margin-bottom:22px;max-width:none}
  .ind-sec .ind-head h2{font-size:clamp(26px,7.2vw,30px)}
  .ind-sec .lede{font-size:15.5px}
  .ind-foot{font-size:15px;margin-top:20px}
  .ind-check-list li,.ind-sec-five-second-numbered .ind-check-list li{padding:14px 0}
  .ind-check-list h3{font-size:17px}
  .ind-check-list p{font-size:15px}
  .ind-spine::before{left:14px}
  .ind-sec-process .ind-spine::before{display:none}
  .ind-spine li{grid-template-columns:30px 1fr;gap:14px;padding:14px 0}
  .ind-spine .ind-mark{width:30px;height:30px;font-size:12.5px}
  .ind-spine h3{font-size:16.5px;margin-top:4px}
  .ind-spine p{font-size:14.5px}
  .ind-timing{margin-top:18px}
  .ind-timing div{padding:14px 0}
  .ind-timing p{font-size:14.5px}
  .ind-process-more{margin-top:16px}
  .ind-sum{padding-top:20px}
  .ind-sum-price b{font-size:44px}
  .ind-sum-rows{margin-top:18px}
  .ind-sum-rows > div{padding:9px 0;font-size:14.5px}
  .ind-sum-inc-k{margin-top:18px}
  .ind-sum-list li{padding:9px 0;font-size:14.5px}
  .ind-sum-ctas{padding-top:18px;gap:14px}
  .ind-sum-ctas .btn{width:100%}
  .ind-sum-p{font-size:15.5px}
  .ind-sums{gap:40px}
  .ind-sums-foot{margin-top:28px;font-size:14.5px}
  .ind-searches li{padding:11px 0}
  .ind-searches li span{font-size:15.5px}
  .ind-facts-list li{padding:9px 0;font-size:14.5px}
  .ind-nopromise{padding:16px 18px}
  .ind-nopromise p{font-size:14.5px}
  .ind-gl-terms{font-size:14.5px}
  .ind-cp-frame{padding:26px 12px}
  .ind-cp-frame .ind-cp-phone{width:270px}
  .ind-cp-browser{overflow:hidden}
  .ind-cp-title b{font-size:17px}
  .ind-cp-facts{grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px}
  .ind-cp-next,.ind-cp-gr{grid-template-columns:1fr}
  .ind-ticks li{font-size:14.5px;padding:9px 0}
  .ind-reassure{font-size:14.5px}
  .ind-seo-alt{font-size:14.5px;margin-top:20px;padding-top:16px;max-width:none}
  .ind-plan-head{padding-bottom:12px}
  .ind-page{grid-template-columns:36px 1fr;gap:12px;padding:16px 0}
  .ind-page-n .ind-mark{width:28px;height:28px;font-size:12.5px}
  .ind-page-h{font-size:16px;margin-top:3px}
  .ind-page p{font-size:14.5px}
  .ind-plan-note,.ind-plan-reassure{margin-top:16px}
  .ind-mock-btn{margin:12px 14px 0}
  .ind-booking-svcs,.ind-form-fields{padding-left:14px;padding-right:14px}
  .ind-form-fields{grid-template-columns:1fr}
  .ind-booking-days{grid-template-columns:repeat(6,1fr);gap:4px;padding:10px 14px 0}
  .ind-booking-times{padding:8px 14px 0}
  .ind-mock-note{margin:10px 14px 16px}
  .ind-mosaic{grid-template-rows:180px 130px}
  .ind-radial-town{font-size:10px;padding:3px 7px}
  /* The town pills are centred ON their ring, so half of each pill sits outside
     it. With the outer ring at 50cqw — half the container — a pill at the 3 or 9
     o'clock position hangs past the container and off the screen: "Alresford"
     and "Salisbury" pushed the tree surgeons page to 398px inside a 390px
     viewport. Pulling the rings in leaves room for the pill's own width at every
     phone size, and the dashed circles move with them so the pills still sit on
     their ring. Phone-only; the desktop diagram is untouched. */
  .ind-radial-ring-1{width:32%;height:32%;--r:16cqw}
  .ind-radial-ring-2{width:54%;height:54%;--r:27cqw}
  .ind-radial-ring-3{width:76%;height:76%;--r:38cqw}
  .ind-mobile-stage{padding:28px 12px}
  .ind-listing-grid{grid-template-columns:1fr}
  .ind-tablist [role=tab]{font-size:14px;padding:9px 14px;min-height:44px}
  .ind-time{font-size:30px}
  .ind-cmp-col h3,.ind-decision-card h3{font-size:19px}
  .ind-svc-tile h3,.ind-svc-col h3{font-size:17.5px}
}
@media (max-width:360px){
  .ind-hfacts{grid-template-columns:1fr;gap:14px}
  .ind-kp-sm .sm-cards,.ind-fan-sm .sm-cards,.ind-gs-sm .sm-cards,.ind-sf-sm .sm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ind-kp-sm .sm-link + .sm-link + .sm-link{display:none}
  .ind-kp-sm .sm-url,.ind-fan-sm .sm-url{max-width:150px}
  .ind-kp-sm .sm-hero-copy b{font-size:14.5px}
  .ind-sf-grid,.ind-sf-cards{grid-template-columns:1fr}
  .ind-phone{width:min(290px,100%)}
}
@media (prefers-reduced-motion:reduce){
  .ind-choice,.ind-tablist [role=tab],.ind-decision-list [role=tab],.ind-season-list [role=tab]{transition:none}
  .ind-gs-page,.ind-gs-site,.ind-dmark,.ind-live,.ind-fan-sheet,.ind-fan-frame,.ind-kp-line::after,.ind-kp-dot,.ind-st-ledger li,.ind-cp-msg,.ind-sf-screen > [data-b],.ind-sf-chips,.ind-sf-chip,.ind-sf-result,.ind-spine[data-scene] li[data-s]{transition:none}
  .ind-hero .eyebrow,.ind-hero h1,.ind-lead,.ind-hero .hero-ctas,.ind-hfacts,.ind-hero-visual{animation:none}
}

/* ============================================================
   Dark sections, for every module (5 September 2026)

   The engine allows one dark band per page for rhythm, but only the
   urgent-planned module had dark styling, so authors kept leaving the band
   out and pages lost their tonal break. Rather than write a dark variant for
   every module, an industry section marked dark redefines the tokens the
   modules already build on, so hairlines, cards, headings and muted text all
   flip together. Modules with bespoke dark rules (urgent-planned, below)
   still win, because they set explicit colours.
   ============================================================ */
/* The overrides sit on the children, not the section: the shared .dark rule
   paints the section with var(--ink), so redefining that token on the section
   itself would turn the dark ground white. */
.ind-sec.dark > *{
  --ink:#FFFFFF;
  --ink-2:#E4EAF0;
  --muted:#A3B5C4;
  --line:rgba(255,255,255,.14);
  --line-2:rgba(255,255,255,.10);
  --white:rgba(255,255,255,.05);
  --paper:rgba(255,255,255,.04);
  --wash:rgba(240,160,60,.13);
  --orange-dk:var(--amber);
}
/* the orange rule and numbered markers read as amber on the dark ground */
.ind-sec.dark .eyebrow{color:var(--amber)}
.ind-sec.dark .eyebrow::before{background:var(--amber)}
.ind-sec.dark .ind-n{background:rgba(240,160,60,.16);border-color:rgba(240,160,60,.4);color:var(--amber)}
.ind-sec.dark .ind-foot{color:var(--on-dark-muted)}
.ind-sec.dark .ind-foot b{color:#fff}
.ind-sec.dark .link-u{color:var(--amber);border-bottom-color:rgba(240,160,60,.5)}
.ind-sec.dark .link-u:hover{color:#fff;border-bottom-color:#fff}
/* photographs sit a touch calmer against the dark ground */
.ind-sec.dark img{filter:saturate(.96)}

/* ============================================================
   PHONE, SECOND PASS (5 September 2026)

   The first pass fixed type size and touch targets. This one fixes
   height. Measured at 390px, an industry page ran to 16,822px over
   fifteen sections, with four modules past 1,500px each: the hero,
   the Client Platform, the SEO logic and the price block. Two
   causes, both structural rather than typographic. Every two-column
   desktop module simply stacks on a phone, so a section becomes a
   tall copy block followed by a tall visual block. And .ind-sec kept
   60px of padding top and bottom, which across fifteen sections
   spent 1,800px on air alone.

   Nothing leaves the DOM. The copy, the FAQ, the internal links and
   the searches all stay, because these pages earn the site's search
   traffic. What changes is shape: ledgers put the label above its
   value, device mock-ups are cropped rather than scaled down until
   their screens stop reading, and the rhythm tightens.
   ============================================================ */
@media (max-width:640px){
  .ind-sec{padding:40px 0}
  .ind-sec .ind-head{margin-bottom:18px}
  .ind-sec .ind-head .lede{margin-top:8px}
  .ind-sec .ind-head h2{line-height:1.14}

  /* --- Client Platform: crop the phone, don't shrink it ---
     A dashboard rendered at 270px wide was 821px of the section and
     still too small to read. Cropped to its top, where the project
     stages and the latest update are, it says the same thing in half
     the height and the screen stays legible. */
  .ind-cp{gap:22px}
  .ind-cp-frame{padding:18px 10px 0;max-height:420px;overflow:hidden;
    -webkit-mask-image:linear-gradient(#000 78%,rgba(0,0,0,0));
    mask-image:linear-gradient(#000 78%,rgba(0,0,0,0))}
  .ind-cp-frame .ind-cp-phone{width:252px}
  .ind-cp-copy .ind-foot{margin-top:14px}
  .ind-cp-more{margin-top:12px}
  .ind-ticks li{padding:8px 0}
  .ind-visual-note{margin-top:12px}

  /* --- SEO logic: label above value ---
     "Monthly work" and its sentence were competing for 340px, so the
     sentence wrapped to six lines beside a one-word label. */
  .ind-growth{gap:20px}
  .ind-facts-list li{padding:8px 0}
  .ind-facts-list li b{display:block;margin-bottom:2px}
  .ind-nopromise{padding:14px 16px;margin-top:16px}
  .ind-growth-visual .ind-searches li{padding:9px 0}
  .ind-growth-note{margin-top:12px}

  /* --- the price block --- */
  .ind-sum-grid{gap:22px}
  .ind-sum-copy .ind-sum-p{margin-top:10px}
  .ind-sum{padding-top:16px}
  .ind-sum-price b{font-size:40px}
  .ind-sum-rows{margin-top:14px}
  .ind-sum-rows > div{padding:8px 0}
  .ind-sum-inc-k{margin-top:14px}
  .ind-sum-list li{padding:8px 0}
  .ind-sum-ctas{padding-top:14px;gap:10px}

  /* --- readability floor inside the engine ---
     Notes and captions sat at 13 to 14px, under the 14.5px the system
     sets for anything carrying a sentence. Numbered markers and keys
     are labels rather than copy, so they stay small but not tiny. */
  .ind-visual-note,.ind-growth-note,.ind-cred-note,
  .ind-nopromise p,.ind-foot,.ind-reassure,.ind-scene-foot{font-size:14.5px;line-height:1.55}
  .ind-kp-node em,.ind-sum-k,.ind-town-k,.ind-mark,.ind-n,.ind-step-n{font-size:13px}
}
/* The band-layout hero kept a desktop measure on phones. Its H1 is
   capped at 12ch by a two-class selector, which outranked both the
   phone override in this file and the one in mobile.css, so the
   heading was laid out in a 235px column inside a 331px one and the
   cafes page wrapped its H1 to five short lines. The owner's brief
   rules out headings of five and six lines, and the fix is width, not
   type size: at 29px the same sentence had five lines at every size
   from 25 to 29px, because the measure never changed. Phones only. */
@media (max-width:640px){
  .ind-hero .ind-hero-copy h1,
  .ind-hero .ind-hero-copy .ind-lead,
  .ind-hero .ind-hero-copy .hero-sub{max-width:none}
}