/* ProfitJets — Command Center (app-v2) stylesheet */
:root{
  --bg:#F4F5F7; --panel:#FFFFFF; --panel-2:#FAFBFC;
  --rail:#16181F; --rail-2:#1E212A; --rail-line:rgba(255,255,255,.08); --rail-txt:#9DA2AE;
  /* --muted and --muted-2 were #888E9A and #AEB3BC, which measured 3.02:1 and
     1.93:1 on the page backgrounds: both below the 4.5:1 that WCAG AA asks of
     body text. Darkened to clear it (5.51:1 and 4.76:1) while keeping the two
     tones a step apart. They are for text on LIGHT surfaces only; use
     --rail-txt on the dark panels. */
  --ink:#14161C; --text:#3A3F49; --muted:#5F636D; --muted-2:#686D77; --line:#E8EAEE; --line-2:#DDE0E6;
  /* --green was #1FA85E, 2.77:1 on its own --green-50 badge; darkened to 4.87:1 */
  --orange:#FF8303; --orange-d:#E06E00; --orange-l:#FF9A33; --orange-50:#FFF2E2; --green:#0F7A41; --green-50:#E6F7EE;
  /* CTA panels only. White on the brand orange measures 2.12 to 1, well under
     the 4.5 it needs, and white cannot be made to pass on a mid orange: the
     background has to come down. These two are the darkest orange that still
     reads as the brand, and give white 4.8 and 6.5 to 1. Used ONLY by the five
     white-on-orange panels. Buttons, links and orange text keep --orange and
     --orange-d untouched, as Ankit asked. */
  --cta-a:#BC5200; --cta-b:#9E4200;
  --disp:'Inter Tight',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif; --script:'Caveat',cursive;
  --navH:70px; --bannerH:46px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{font-family:var(--body);background:var(--bg);color:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
/* height:auto keeps the width/height attributes from squashing an image when
   the container is narrower than its intrinsic size. Scoped height rules
   elsewhere are more specific and still win. */
img,svg{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}ul{list-style:none}button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);font-weight:700;line-height:1.06;letter-spacing:-.025em}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:15px;padding:12px 22px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .22s,background .18s}
.btn-primary{background:var(--orange);color:var(--ink);box-shadow:0 8px 20px rgba(255,131,3,.28)}
.btn-primary:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-ghost{background:var(--panel);border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--ink);font-weight:700}
.btn-light:hover{transform:translateY(-1px)}
.btn-lg{padding:15px 28px;font-size:16px}

/* ============ HEADER: horizontal nav + fixed banner ============ */
.header{position:fixed;top:0;left:0;right:0;z-index:50}
.nav{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);height:var(--navH);display:flex;align-items:center}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{font-family:var(--disp);font-weight:800;font-size:23px;letter-spacing:-.04em;color:var(--ink);display:flex;align-items:center;gap:8px;flex:none}
.brand b{color:var(--orange)}
.brand img{height:38px;width:auto}
.nlinks{display:flex;align-items:center;gap:26px}
.nlinks a{font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--text);transition:.15s;position:relative;padding:6px 0}
.nlinks a:hover{color:var(--orange-d)}
.nlinks a.active{color:var(--ink)}
.nlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--orange)}
.ncta{display:flex;align-items:center;gap:14px;flex:none}
.nphone{font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--ink)}
.mtoggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.mtoggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}

/* fixed announce banner */
.banner{height:var(--bannerH);background:var(--ink);color:#fff;display:flex;align-items:center}
.banner .wrap{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.banner .bt{font-family:var(--disp);font-weight:600;font-size:14.5px;color:#fff;display:inline-flex;align-items:center;gap:9px}
.banner .bt .pulse{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,131,3,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,131,3,.5)}70%{box-shadow:0 0 0 8px rgba(255,131,3,0)}100%{box-shadow:0 0 0 0 rgba(255,131,3,0)}}
.banner .bt b{color:var(--orange-l)}
.banner .bbtn{background:var(--orange);color:var(--ink);font-family:var(--disp);font-weight:700;font-size:13.5px;padding:7px 16px;border-radius:99px;transition:.18s;display:inline-flex;align-items:center;gap:6px}
.banner .bbtn:hover{background:var(--orange-l);transform:translateY(-1px)}
.banner .bbtn svg{width:14px;height:14px}

/* mobile dropdown */
.mnav{display:none}
.mnav.open{display:block;background:#fff;border-bottom:1px solid var(--line);padding:8px 32px 20px}
.mnav a{display:block;font-family:var(--disp);font-weight:600;font-size:16px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}
.mnav .btn{width:100%;margin-top:14px}
/* .mnav a sets --text on every link, including the orange Get Started button,
   where it measured 4.28 against the 4.5 it needs. The desktop button already
   uses --ink and clears 7.3, so this only brings the two into line. */
.mnav .btn-primary{color:var(--ink)}

/* ============ MAIN ============ */
.main{padding-top:calc(var(--navH) + var(--bannerH))}
.view{padding:46px 0;scroll-margin-top:120px}
.view .wrap{}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d);margin-bottom:14px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.sec-title{font-size:clamp(26px,3vw,38px);margin-bottom:12px}
.sec-lede{font-size:18px;color:var(--muted);max-width:600px}

/* ============ HERO ============ */
.hero{padding:34px 0 42px}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(34px,4.2vw,52px);line-height:1.02;letter-spacing:-.03em;margin-bottom:14px}
.hero h1 .hl{color:var(--orange)}
.script-tag{font-family:var(--script);font-weight:700;font-size:clamp(28px,3.2vw,40px);color:var(--ink);line-height:1;margin-bottom:22px;display:inline-block;position:relative}
.script-tag::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:11px;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12'%3E%3Cpath d='M2 8 C70 2 150 2 220 5 C255 6.5 280 8 298 6' fill='none' stroke='%23FF8303' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.hero p.lede{font-size:19px;color:var(--muted);max-width:520px;margin-bottom:22px}
.svc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.svc-chips span,.svc-chips a{font-family:var(--disp);font-weight:600;font-size:13.5px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:99px;padding:7px 14px;display:inline-flex;align-items:center;gap:7px}
.svc-chips span::before,.svc-chips a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.hero .hactions{display:flex;gap:12px;flex-wrap:wrap}
/* integrations / works-with strip (logo chips) */
.tools{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line-2)}
.tools .tools-lab{display:block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.tool-logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tl-chip{height:46px;padding:0 15px;background:#fff;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:.16s}
.tl-chip:hover{border-color:var(--line-2);box-shadow:0 4px 12px rgba(20,22,28,.07);transform:translateY(-1px)}
.tl-chip img{height:22px;width:auto;max-width:104px;object-fit:contain;display:block}
.tool-logos .more{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--orange-d);padding:0 6px}

/* hero dashboard (right) */
.dashwrap{position:relative}
.dashwrap .dlabel{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--muted);margin-bottom:12px}
.dashwrap .dlabel .ld{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.dash{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 24px 60px rgba(20,22,28,.1)}
.tile{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:16px}
.tile.span2{grid-column:span 2}
.tile .th{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.tile .tl{font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--muted)}
.tile .badge{font-size:10.5px;font-weight:700;color:var(--green);background:var(--green-50);padding:3px 8px;border-radius:6px}
.tile .big{font-family:var(--disp);font-weight:800;font-size:26px;color:var(--ink);letter-spacing:-.03em;line-height:1}
.tile .sub{font-size:12px;color:var(--muted);margin-top:5px}
.tile.chart .big{font-size:22px}
.tile.chart{padding-bottom:6px}
.tile.close .cl-row{display:flex;align-items:center;gap:9px;margin-top:4px}
.tile.close .cdot{width:20px;height:20px;border-radius:50%;background:var(--green-50);display:grid;place-items:center;flex:none}
.tile.close .cdot svg{width:11px;height:11px;color:var(--green)}
.tile.close .cl-t{font-family:var(--disp);font-weight:700;font-size:13.5px;color:var(--ink)}
.tile.close .cbar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:12px}
.tile.close .cbar i{display:block;height:100%;width:90%;background:linear-gradient(90deg,var(--orange),var(--orange-l));border-radius:99px}

/* ============ MARQUEE ============ */
.marquee{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden}
.marquee .lab{text-align:center;font-family:var(--disp);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.mtrack-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mtrack{display:flex;gap:60px;width:max-content;animation:scroll 30s linear infinite}
/* these are real client names, so they have to be readable: #C2C6CE on white
   was 1.71 to 1, under the 3.0 that 23px bold needs. This clears 4.5. */
.mtrack span{font-family:var(--disp);font-weight:700;font-size:23px;color:#6E7480;letter-spacing:-.02em;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.mtrack span::before{content:"";width:24px;height:24px;border-radius:7px;background:#E4E7EC;flex:none}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ============ SERVICES EXPLORER ============ */
.explorer{display:grid;grid-template-columns:300px 1fr;gap:22px;margin-top:26px}
.svc-rail{display:flex;flex-direction:column;gap:6px}
.svc-tab{display:flex;align-items:center;gap:13px;padding:16px;border-radius:13px;cursor:pointer;border:1px solid transparent;transition:.16s;background:var(--panel-2)}
.svc-tab:hover{background:var(--panel);border-color:var(--line)}
.svc-tab.on{background:var(--panel);border-color:var(--line-2);box-shadow:0 6px 18px rgba(20,22,28,.06)}
.svc-tab .si{width:40px;height:40px;border-radius:10px;background:var(--orange-50);display:grid;place-items:center;flex:none;transition:.16s}
.svc-tab.on .si{background:var(--orange)}
.svc-tab .si svg{width:21px;height:21px;color:var(--orange-d);transition:.16s}
.svc-tab.on .si svg{color:#fff}
.svc-tab .stt{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--ink)}
.svc-tab .sts{font-size:12.5px;color:var(--muted)}
.svc-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px;position:relative;overflow:hidden}
.svc-detail .svc-more{font-size:14.5px;line-height:1.65;color:var(--muted);margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.svc-detail .svc-more b{color:var(--ink);font-weight:700}
/* each panel names a service that has its own page; this is the way through */
.svc-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--disp);font-weight:700;font-size:15px;color:var(--orange-d);transition:gap .16s}
.svc-link svg{width:16px;height:16px}
.svc-link:hover{gap:12px}
.svc-detail{display:none}
.svc-detail.on{display:block;animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.svc-detail .dt{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.svc-detail .dt .di{width:52px;height:52px;border-radius:13px;background:var(--orange-50);display:grid;place-items:center}
.svc-detail .dt .di svg{width:27px;height:27px;color:var(--orange-d)}
.svc-detail h3{font-size:27px;margin-bottom:0}
.svc-detail>p{font-size:18px;color:var(--muted);margin-bottom:22px;max-width:560px}
.svc-detail .feats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.svc-detail .feats li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--text)}
.svc-detail .feats .fk{width:24px;height:24px;border-radius:7px;background:var(--green-50);display:grid;place-items:center;flex:none}
.svc-detail .feats .fk svg{width:13px;height:13px;color:var(--green)}

/* ============ STICKY how it works ============ */
.sticky-wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:22px}
.sticky-visual{position:sticky;top:140px}
.sv-card{background:var(--rail);border-radius:20px;padding:30px;color:#fff;box-shadow:0 24px 60px rgba(20,22,28,.18)}
.sv-card .svh{font-family:var(--disp);font-weight:700;font-size:17px;margin-bottom:6px}
.sv-card .svs{font-size:13px;color:var(--rail-txt);margin-bottom:22px}
.sv-step{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--rail-line);opacity:.4;transition:.4s}
.sv-step:last-child{border-bottom:0}
.sv-step.lit{opacity:1}
.sv-step .sk{width:30px;height:30px;border-radius:8px;background:var(--rail-2);display:grid;place-items:center;flex:none;font-family:var(--disp);font-weight:700;font-size:13px;color:var(--rail-txt);transition:.4s}
.sv-step.lit .sk{background:var(--orange);color:var(--ink)}
.sv-step .sl{font-size:14.5px;color:#fff}
.steps-scroll{display:flex;flex-direction:column;gap:16px}
.step-block{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;min-height:150px;display:flex;flex-direction:column;justify-content:center}
.step-block .num{font-family:var(--disp);font-weight:800;font-size:14px;color:var(--orange);letter-spacing:.04em;margin-bottom:10px}
.step-block h3{font-size:24px;margin-bottom:10px}
.step-block p{color:var(--muted);font-size:16px}

/* ============ CALCULATOR panel ============ */
.calc-tile{background:var(--rail);border-radius:20px;padding:34px;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden;margin-top:30px}
.calc-tile::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,131,3,.25),transparent 65%);top:-160px;right:-120px}
.calc-tile .cl{position:relative;z-index:2}
.calc-tile .eyebrow{color:var(--orange-l)}
.calc-tile h2{color:#fff;font-size:30px;margin-bottom:10px}
.calc-tile p{color:var(--rail-txt);font-size:16px;margin-bottom:24px}
.row{margin-bottom:20px}
.rl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.rl .lbl{font-size:13.5px;color:var(--rail-txt)}
.rl .val{font-family:var(--disp);font-weight:700;font-size:17px;color:#fff}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--orange-l)) no-repeat,rgba(255,255,255,.12);background-size:50% 100%;outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:pointer}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:pointer}
/* the track rule above sets outline:none, which left the slider as the one
   control on the site a keyboard user could reach and not see. The ring goes
   back on the track: Chromium does not repaint a box-shadow added to
   ::-webkit-slider-thumb by a :focus-visible on the host, so a thumb-only
   indicator looks right in the stylesheet and draws nothing on screen */
input[type=range]:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:99px}
.seg{display:flex;gap:5px;background:rgba(0,0,0,.25);border:1px solid var(--rail-line);border-radius:10px;padding:4px}
.seg button{flex:1;font-family:var(--disp);font-weight:600;font-size:13px;color:var(--rail-txt);background:none;border:0;padding:9px 6px;border-radius:7px;cursor:pointer;transition:.15s}
.seg button.on{background:rgba(255,255,255,.1);color:#fff}
.calc-out{position:relative;z-index:2;text-align:center;background:rgba(255,255,255,.04);border:1px solid var(--rail-line);border-radius:16px;padding:28px}
.calc-out .ol{font-size:12px;color:var(--rail-txt);text-transform:uppercase;letter-spacing:.1em}
.calc-out .big{font-family:var(--disp);font-weight:800;font-size:clamp(46px,6vw,72px);color:var(--orange-l);line-height:1;margin:8px 0}
/* sits inside the dark calculator card, so it takes the rail grey, not --muted-2,
   which is now dark enough for light surfaces and would sink into this one */
.calc-out .sub{font-size:12.5px;color:var(--rail-txt)}
.calc-out .pills{display:flex;gap:8px;justify-content:center;margin-top:18px}
.calc-out .pp{background:rgba(255,255,255,.05);border:1px solid var(--rail-line);border-radius:9px;padding:8px 11px;font-size:11.5px;color:var(--rail-txt)}
.calc-out .pp b{display:block;font-family:var(--disp);font-weight:700;color:#fff;font-size:15px}

/* ============ horizontal case strip ============ */
.cases{display:flex;gap:18px;overflow-x:auto;padding:6px 4px 18px;scroll-snap-type:x mandatory;margin-top:30px}
.cases::-webkit-scrollbar{height:8px}.cases::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}
.case{scroll-snap-align:start;flex:0 0 360px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}
.case .stars{color:#F4A935;letter-spacing:2px;margin-bottom:12px}
.case p{font-size:16px;color:var(--ink);margin-bottom:18px}
.case .who{display:flex;align-items:center;gap:11px}
.case .av{width:42px;height:42px;border-radius:10px;background:var(--orange-50);color:var(--orange-d);display:grid;place-items:center;font-family:var(--disp);font-weight:700}
.case .wn{font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--ink)}
.case .wr{font-size:12.5px;color:var(--muted)}

/* ============ metrics strip ============ */
.mstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:30px}
.mstrip .m{background:var(--panel);padding:28px}
.mstrip .num{font-family:var(--disp);font-weight:800;font-size:42px;color:var(--ink);letter-spacing:-.03em;line-height:1}
.mstrip .num span{color:var(--orange)}
.mstrip .ml{color:var(--muted);font-size:14.5px;margin-top:8px}

/* industries grid */
.ichips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ichip{display:inline-flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:11px 18px;font-family:var(--disp);font-weight:600;font-size:15px;color:var(--ink);transition:.16s}
.ichip:hover{border-color:var(--orange);background:var(--orange-50)}
.ichip svg{width:17px;height:17px;color:var(--orange-d)}

/* ============ RESOURCES / BLOG ============ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.post{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.post:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(20,22,28,.1)}
.post .pt{height:140px;background:linear-gradient(135deg,var(--orange-50),#fff);border-bottom:1px solid var(--line);display:flex;align-items:flex-end;padding:16px}
.post .pt span{font-family:var(--disp);font-weight:700;font-size:12px;color:var(--orange-d);background:#fff;border:1px solid var(--line);padding:5px 12px;border-radius:99px}
.post .pb{padding:22px}
.post h3{font-size:18px;margin-bottom:8px;line-height:1.25}
.post p{font-size:14px;color:var(--muted);margin-bottom:14px}
.post .pmeta{font-family:var(--disp);font-weight:600;font-size:12.5px;color:var(--muted-2)}
.blog-cta{text-align:center;margin-top:30px}

/* CTA */
.cta{background:linear-gradient(120deg,var(--cta-a),var(--cta-b));border-radius:20px;padding:46px;text-align:center;color:#fff;margin-top:8px}
.cta-logo{display:inline-flex;background:#fff;border-radius:10px;padding:6px 12px;margin-bottom:16px;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.cta-logo img{height:22px;width:auto;display:block}
.cta h2{color:#fff;font-size:34px;margin-bottom:12px}
.cta p{color:rgba(255,255,255,.97);font-size:18px;max-width:520px;margin:0 auto 24px}
.cta .hactions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
/* CTA Option B, used by all 199 service, industry and location pages.
   It used to be a WHITE card with an orange left edge, which meant a visitor
   moving from a blog post to a service page met a different-looking ask: 330
   pages closed on an orange band, 199 on a white card. Same band as .ed-band
   and .blg-cta now, so every page on the site closes the same way. Left
   alignment and the logo pill are kept: only the surface changes. */
.cta.cta-b{background:linear-gradient(135deg,var(--cta-a) 0%,var(--cta-b) 100%);
  border:0;border-radius:24px;text-align:left;position:relative;overflow:hidden}
.cta.cta-b::after{content:"";position:absolute;right:-100px;top:-110px;width:340px;height:340px;
  border-radius:50%;background:rgba(255,255,255,.1)}
.cta.cta-b>*{position:relative;z-index:1}
.cta-b h2{color:#fff}
.cta-b p{color:rgba(255,255,255,.97);margin:0 0 24px}
.cta-b .hactions{justify-content:flex-start}
/* white pill on the band, matching .ed-bbtn and .blg-cta .solid */
.cta-b .btn-light{background:#fff;color:var(--ink);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.cta-b .btn-light:hover{background:#fff;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.24)}
.cta-b .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.cta-b .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.75)}

/* footer */
.foot{margin-top:50px;padding:34px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:14px}
.foot .fl{display:flex;gap:26px;flex-wrap:wrap}
.foot a:hover{color:var(--orange-d)}

/* ============ WHY / comparison (compact) ============ */
.why-head{text-align:center;margin-bottom:18px}
.why-head .eyebrow{justify-content:center}
.why-head h2{font-size:clamp(26px,3vw,40px)}
.why-head h2 .hl{color:var(--orange-d)}
.cmp{max-width:880px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(20,22,28,.06)}
.cmp-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr}
.cmp-grid>div{padding:15px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center}
.cmp-grid>div:nth-last-child(-n+3){border-bottom:0}
.cmp-h{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink);justify-content:center}
.cmp-h.pj{color:var(--orange-d)}
.cmp-feat{font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--text)}
.cmp-val{justify-content:center;font-size:14px;color:var(--muted)}
.cmp-val.g{color:var(--green);font-family:var(--disp);font-weight:700}
.cmp-val.strong{color:var(--orange-d);font-family:var(--disp);font-weight:800;font-size:16px}
.cmp-val svg{width:19px;height:19px;color:var(--green)}
.cmp-col-pj{background:var(--orange-50)}

/* ============ tagline band (after testimonials) ============ */
.tagband{text-align:center;padding:32px 0}
.tagband .script-tag{font-size:clamp(30px,3.6vw,46px)}
.tagband .script-tag::after{bottom:-14px;height:13px}

/* Reveal: always visible (no hidden initial state, so content can never get stuck invisible) */
.reveal{opacity:1;transform:none}

/* ============ responsive ============ */
@media(max-width:1080px){
  .nlinks,.nphone{display:none}
  .mtoggle{display:block}
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .explorer{grid-template-columns:1fr}
  .sticky-wrap{grid-template-columns:1fr}
  .sticky-visual{position:static}
  .blog-grid{grid-template-columns:1fr 1fr}
  .calc-tile{grid-template-columns:1fr}
  .mstrip{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .dash{grid-template-columns:1fr}.tile.span2{grid-column:auto}
  .svc-detail .feats{grid-template-columns:1fr}
  .mstrip,.blog-grid{grid-template-columns:1fr}
  .cta{padding:34px 22px}.cta h2{font-size:26px}
  .case{flex-basis:280px}
  .banner .bt{font-size:13px}
}

/* ===================================================================
   ADDITIONS (nav dropdown, testimonials v2, footer, certs, industries)
   =================================================================== */

/* nav: fit more items */
.nlinks{gap:20px}
.nlinks a{font-size:14px}
/* Resources dropdown */
.has-sub{position:relative}
.has-sub>a{display:inline-flex;align-items:center;gap:5px}
.has-sub>a .car{width:9px;height:9px;transition:transform .2s}
.has-sub:hover>a .car{transform:rotate(180deg)}
.subm{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(20,22,28,.14);padding:8px;min-width:220px;opacity:0;visibility:hidden;transition:.2s;z-index:60}
.has-sub:hover .subm{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.subm a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--text)}
.subm a:hover{background:var(--panel-2);color:var(--orange-d)}
.subm a svg{width:17px;height:17px;color:var(--orange-d);flex:none}
/* ===================================================================
   INDUSTRY PAGES — distinct layout (dark stat hero, numbered rows, tax band)
   =================================================================== */
.ind-hero{background:var(--rail);color:#fff;position:relative;overflow:hidden;padding:56px 0 52px}
.ind-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,131,3,.26),transparent 62%);top:-200px;right:-140px;pointer-events:none}
.ind-hero .wrap{position:relative;z-index:2}
.ind-hero .crumb2,.ind-hero .crumb2 a{color:#9DA2AE}
.ind-hero .crumb2 a:hover{color:#fff}.ind-hero .crumb2 b{color:#fff}
.ind-hero .eyebrow{color:var(--orange-l)}
.ind-hero h1{color:#fff;font-size:clamp(34px,4.6vw,54px);line-height:1.05;letter-spacing:-.03em;max-width:17ch;margin-bottom:16px}
.ind-hero h1 .hl{color:var(--orange-l)}
.ind-hero .lede{color:#C7CBD3;font-size:20px;max-width:660px;margin-bottom:26px}
.ind-hero .hactions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.ind-hero .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3);color:#fff}
.ind-hero .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.ind-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid rgba(255,255,255,.14);padding-top:26px}
.ind-stat .v{font-family:var(--disp);font-weight:800;font-size:24px;color:var(--orange-l);letter-spacing:-.02em;line-height:1.1}
.ind-stat .l{font-size:13.5px;color:#9DA2AE;margin-top:5px}
@media(max-width:760px){.ind-stats{grid-template-columns:1fr 1fr}}

.ind-rows{margin-top:28px;border-top:1px solid var(--line)}
.ind-row{display:grid;grid-template-columns:38px 54px 1fr;gap:20px;align-items:start;padding:22px 6px;border-bottom:1px solid var(--line);transition:.16s}
.ind-row:hover{background:linear-gradient(90deg,var(--panel-2),transparent);padding-left:16px}
.ind-row .ir-n{font-family:var(--disp);font-weight:800;font-size:15px;color:var(--muted-2);padding-top:15px}
.ind-row .ir-ic{width:54px;height:54px;border-radius:14px;background:var(--orange-50);display:grid;place-items:center}
.ind-row .ir-ic svg{width:26px;height:26px;color:var(--orange-d)}
.ind-row h3{font-size:20px;margin-bottom:5px}
.ind-row p{color:var(--muted);font-size:15.5px;max-width:680px}
@media(max-width:560px){.ind-row{grid-template-columns:48px 1fr;gap:16px}.ind-row .ir-n{display:none}}

.ind-tax{background:linear-gradient(120deg,var(--cta-a),var(--cta-b));color:#fff;border-radius:22px;padding:44px;position:relative;overflow:hidden}
.ind-tax .eyebrow{color:#fff}.ind-tax .eyebrow::before{background:#fff}
.ind-tax h2{color:#fff;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;margin-bottom:12px;max-width:18ch}
.ind-tax p{color:rgba(255,255,255,.97);font-size:17px;max-width:600px;margin-bottom:24px}
.ind-tax-chips{display:flex;flex-wrap:wrap;gap:10px}
.ind-tax-chips span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:10px 16px;font-family:var(--disp);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.ind-tax-chips span svg{width:15px;height:15px}
@media(max-width:560px){.ind-tax{padding:32px 24px}}
/* toned-down (soft) tax band: light, minimal orange */
.ind-tax.soft{background:var(--panel-2);color:var(--ink);border:1px solid var(--line)}
.ind-tax.soft .eyebrow{color:var(--orange-d)}
.ind-tax.soft .eyebrow::before{background:var(--orange)}
.ind-tax.soft h2{color:var(--ink)}
.ind-tax.soft h2 .hl{color:var(--orange-d)}
.ind-tax.soft p{color:var(--muted)}
.ind-tax.soft .ind-tax-chips span{background:#fff;border:1px solid var(--line);color:var(--text)}
.ind-tax.soft .ind-tax-chips span svg{color:var(--green)}

/* ===== Industry design VARIANTS (exploration) + illustration ===== */
.illus-wrap{position:relative}
.re-illus{width:100%;height:auto;display:block}
.illus-chip{position:absolute;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(20,22,28,.14);padding:11px 15px;display:flex;align-items:center;gap:10px;z-index:3}
.illus-chip .cic{width:34px;height:34px;border-radius:9px;background:var(--orange);display:grid;place-items:center;flex:none}
.illus-chip .cic svg{width:17px;height:17px;color:#fff}
.illus-chip .ct{font-family:var(--disp);font-weight:800;font-size:15px;color:var(--ink);line-height:1.1}
.illus-chip .cs{font-size:11.5px;color:var(--muted)}
.illus-chip.c1{top:6%;left:-14px}
.illus-chip.c2{bottom:10%;right:-10px}

/* Variant B: airy illustrated */
.reb-hero{background:linear-gradient(180deg,#FFF3E6,#FDF9F2 55%,#fff);padding:48px 0 56px;overflow:hidden}
.reb-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.reb-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.03;letter-spacing:-.03em;margin-bottom:14px}
.reb-hero h1 .hl{color:var(--orange)}
.reb-hero .lede{font-size:20px;color:var(--muted);max-width:520px;margin-bottom:24px}
.reb-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:184px;gap:16px;margin-top:30px}
.reb-b{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;transition:.22s;position:relative;overflow:hidden}
.reb-b:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(20,22,28,.08)}
.reb-b.lg{grid-column:span 2;grid-row:span 2;background:linear-gradient(180deg,var(--orange-50),#fff)}
.reb-b.wide{grid-column:span 2}
.reb-b .bic{width:48px;height:48px;border-radius:12px;background:var(--orange-50);display:grid;place-items:center;margin-bottom:14px}
.reb-b .bic svg{width:24px;height:24px;color:var(--orange-d)}
.reb-b h3{font-size:19px;margin-bottom:6px}.reb-b.lg h3{font-size:26px}
.reb-b p{color:var(--muted);font-size:14.5px}
@media(max-width:980px){.reb-grid{grid-template-columns:1fr;gap:32px}.reb-bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.reb-b{min-height:170px}.reb-b.lg,.reb-b.wide{grid-column:span 2;grid-row:auto}}
@media(max-width:560px){.reb-bento{grid-template-columns:1fr}.reb-b.lg,.reb-b.wide{grid-column:auto}}

/* Variant C: bold color-block editorial */
.rec-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px}
.rec-l{background:linear-gradient(150deg,var(--cta-a),var(--cta-b));color:#fff;padding:60px 54px;display:flex;flex-direction:column;justify-content:center}
.rec-l .eyebrow{color:#fff}.rec-l .eyebrow::before{background:#fff}
.rec-l h1{color:#fff;font-size:clamp(34px,4.2vw,54px);line-height:1.02;letter-spacing:-.03em;margin-bottom:16px}
.rec-l p{color:rgba(255,255,255,.97);font-size:19px;max-width:460px;margin-bottom:26px}
.rec-l .btn-light{background:#fff;color:var(--orange-d)}
.rec-l .btn-out{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.rec-l .crumb2,.rec-l .crumb2 a{color:rgba(255,255,255,.93)}.rec-l .crumb2 b{color:#fff}
.rec-r{background:var(--rail);display:grid;place-items:center;padding:48px 40px;position:relative;overflow:hidden}
.rec-r::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,131,3,.22),transparent 62%);top:-120px;right:-120px}
.rec-list{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:6px 34px}
.rec-li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.rec-li .k{width:34px;height:34px;border-radius:9px;background:var(--orange-50);display:grid;place-items:center;flex:none}
.rec-li .k svg{width:17px;height:17px;color:var(--orange-d)}
.rec-li h3{font-size:17px;margin-bottom:3px}.rec-li p{color:var(--muted);font-size:14px}
@media(max-width:900px){.rec-hero{grid-template-columns:1fr}.rec-l{padding:48px 26px}.rec-list{grid-template-columns:1fr}}

/* ===================================================================
   STATE PAGES (unique layout: map card hero, facts ribbon, city chips)
   =================================================================== */
.st-hero{background:linear-gradient(180deg,#FFF6EC,#FDF9F2 55%,#fff);padding:48px 0 52px;overflow:hidden}
.st-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}
.st-hero h1{font-size:clamp(33px,4.4vw,54px);line-height:1.04;letter-spacing:-.03em;margin-bottom:14px}
.st-hero h1 .hl{color:var(--orange)}
.st-hero .lede{font-size:20px;color:var(--muted);max-width:520px;margin-bottom:24px}
.st-mapcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px rgba(20,22,28,.12);padding:26px;display:grid;place-items:center;min-height:360px;background-image:radial-gradient(rgba(20,22,28,.045) 1px,transparent 1px);background-size:22px 22px}
.st-mapcard .st-badge{position:absolute;top:18px;right:18px;background:var(--ink);color:#fff;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.06em;padding:6px 12px;border-radius:8px}
.st-mapcard .st-cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:var(--disp);font-weight:800;font-size:16px;color:var(--ink)}
.st-mapcard .st-cap span{display:block;font-family:var(--body);font-weight:600;font-size:12px;color:var(--muted);margin-top:2px}
.st-map{height:250px;width:auto;display:block}
.st-chip{position:absolute;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(20,22,28,.14);padding:9px 14px;font-family:var(--disp);font-weight:700;font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:8px;z-index:3}
.st-chip svg{width:16px;height:16px;color:var(--orange-d)}
.st-chip.c1{top:9%;left:-14px}
.st-chip.c2{bottom:18%;right:-12px}
.st-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:30px}
.st-fact{background:#fff;padding:20px}
.st-fact .fv{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--orange-d);letter-spacing:-.01em}
.st-fact .fl{font-size:13px;color:var(--muted);margin-top:4px}
.st-cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.st-city{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--ink)}
.st-city svg{width:15px;height:15px;color:var(--orange-d)}
@media(max-width:980px){.st-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:760px){.st-facts{grid-template-columns:1fr 1fr}}

/* Variant "Framed premium" (new C) */
.rcf-hero{background:linear-gradient(180deg,#FFF6EC,#FDF9F2 60%,#fff);padding:52px 0 58px;overflow:hidden}
.rcf-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}
.rcf-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.03;letter-spacing:-.03em;margin-bottom:14px}
.rcf-hero h1 .hl{color:var(--orange)}
.rcf-hero .lede{font-size:20px;color:var(--muted);max-width:520px;margin-bottom:22px}
.rcf-trust{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--muted);font-size:14px;font-family:var(--disp);font-weight:600}
.rcf-trust .stars{color:#F4A935;letter-spacing:1px;font-size:15px}
.rcf-frame{position:relative;border-radius:26px;padding:20px;background:#fff;box-shadow:0 30px 70px rgba(20,22,28,.12),0 6px 18px rgba(20,22,28,.05)}
.rcf-frame::before{content:"";position:absolute;inset:-1.5px;border-radius:26px;padding:1.5px;background:linear-gradient(140deg,var(--orange),rgba(255,131,3,0) 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
@media(max-width:980px){.rcf-grid{grid-template-columns:1fr;gap:32px}}

/* Variant "Spotlight" (new D) */
.rcs-hero{background:radial-gradient(120% 80% at 50% 0%,#FFEBD3,#FDF9F2 55%,#fff);padding:54px 0 46px;text-align:center;overflow:hidden}
.rcs-hero .eyebrow{justify-content:center}
.rcs-hero h1{font-size:clamp(36px,5vw,60px);line-height:1.02;letter-spacing:-.03em;margin:0 auto 16px;max-width:15ch}
.rcs-hero h1 .hl{color:var(--orange)}
.rcs-hero .lede{font-size:20px;color:var(--muted);max-width:600px;margin:0 auto 24px}
.rcs-hero .hactions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.rcs-illus{position:relative;max-width:600px;margin:36px auto 0}
.rcs-illus .illus-chip.c1{top:12%;left:-8px}
.rcs-illus .illus-chip.c2{bottom:16%;right:-8px}
.rcs-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;max-width:920px;margin:36px auto 0}
.rcs-ribbon .rb{background:#fff;padding:20px 16px;text-align:center}
.rcs-ribbon .v{font-family:var(--disp);font-weight:800;font-size:20px;color:var(--orange-d);letter-spacing:-.02em}
.rcs-ribbon .l{font-size:13px;color:var(--muted);margin-top:4px}
@media(max-width:760px){.rcs-ribbon{grid-template-columns:1fr 1fr}}

/* wide multi-column mega submenu (e.g. Industries) */
.subm.subm--mega{width:min(700px,88vw);left:0;transform:translateX(0) translateY(8px);display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.has-sub:hover .subm.subm--mega{transform:translateX(0) translateY(0)}
.subm--mega a{font-size:13.5px;padding:9px 12px;gap:9px}
.subm--mega a .idot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.mnav .sublabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:14px 0 4px;font-family:var(--disp);font-weight:600}
.mnav .subitem{padding-left:16px}

/* industries: simple dot chips (easy to extend, just add a span) */
.ichips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ichip{display:inline-flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:10px 18px;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--ink);transition:.16s;cursor:default}
/* the chips on the home page are links to the industry pages; the ones used
   elsewhere as plain labels keep the default cursor */
a.ichip{cursor:pointer}
.ichip:hover{border-color:var(--orange);background:var(--orange-50);transform:translateY(-2px)}
.ichip .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}

/* ============ TESTIMONIALS v2 (highlighted name, header, photo) ============ */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.tcard{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:28px 26px 0;display:flex;flex-direction:column;min-height:440px;background:linear-gradient(180deg,var(--tint),#fff 62%)}
.tcard--a{--tint:#FFF4D6;--mark:#FFE08A}
.tcard--b{--tint:#E7F6ED;--mark:#B7E9CB}
.tcard--c{--tint:#FFEEDD;--mark:#FFCFA6}
.tname{align-self:flex-start;font-family:var(--disp);font-weight:800;font-size:20px;color:var(--ink);background:var(--mark);padding:3px 10px;border-radius:4px;line-height:1.25;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.trole{font-size:13px;color:var(--muted);font-weight:600;margin:10px 0 18px}
.thead{font-family:var(--disp);font-weight:800;font-size:16px;color:var(--ink);margin-bottom:10px}
.tquote{font-size:14.5px;line-height:1.6;color:var(--text);position:relative;z-index:2}
.tphoto{margin-top:auto;position:relative;z-index:2;align-self:center;width:150px;height:150px;border-radius:14px 14px 0 0;overflow:hidden;background:var(--mark)}
.tphoto img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.tphoto .tinitials{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:40px;color:rgba(20,22,28,.35)}
.twm{position:absolute;left:0;right:0;bottom:0;z-index:1;opacity:.5;pointer-events:none}
/* Text-only testimonials on location (tax/bookkeeping) pages */
.st-hero~.view .tcard{min-height:auto;padding:28px 26px 30px}
.st-hero~.view .tphoto{display:none}
.st-hero~.view .twm{display:none}
.st-hero~.view .tquote{margin-bottom:0}

/* ============ SITE FOOTER (locked template) ============ */
.site-foot{background:var(--rail);color:#B7BCC6;padding:64px 0 28px;margin-top:8px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1.2fr 1.1fr;gap:44px}
.foot-about .foot-logo{height:38px;width:auto;margin-bottom:16px}
.foot-about p{font-size:14.5px;color:#9AA0AC;line-height:1.7;max-width:340px}
.foot-col h3{color:#fff;font-family:var(--disp);font-weight:700;font-size:15px;margin-bottom:16px;letter-spacing:-.01em}
.foot-contact .fc-row{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px;font-size:14.5px;color:#B7BCC6;line-height:1.5}
.foot-contact .fc-row svg{width:18px;height:18px;color:var(--orange-l);flex:none;margin-top:2px}
.foot-contact a:hover{color:#fff}
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:38px;height:38px;border-radius:9px;background:var(--rail-2);border:1px solid var(--rail-line);display:grid;place-items:center;transition:.16s}
.foot-social a:hover{background:var(--orange);border-color:var(--orange)}
.foot-social svg{width:18px;height:18px;color:#C9CDD6}
.foot-social a:hover svg{color:#fff}
.foot-links{display:grid;gap:2px}
.foot-links a{font-size:14.5px;color:#B7BCC6;padding:6px 0;transition:.15s}
.foot-links a:hover{color:var(--orange-l)}
.certs{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:30px 0;margin-top:44px;border-top:1px solid var(--rail-line);border-bottom:1px solid var(--rail-line)}
.certs .certs-lab{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8A909C}
.cert{display:inline-flex;align-items:center;gap:10px}
.cert img{height:54px;width:auto}
.cert-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--rail-line);background:var(--rail-2);text-align:center;padding:6px}
.cert-badge b{font-family:var(--disp);font-weight:800;font-size:11px;color:#fff;line-height:1.05}
.cert-badge span{font-size:8px;color:#9AA0AC;letter-spacing:.02em}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:13.5px;color:#8A909C}

@media(max-width:1080px){
  .tgrid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .tgrid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .tcard{min-height:auto;padding-bottom:0}
}

/* ===================================================================
   SERVICES PAGE (scoped additions — do not alter shared header/footer)
   =================================================================== */
.page-hero{padding:46px 0 8px}
.page-hero .eyebrow{margin-bottom:12px}
.page-hero h1{font-size:clamp(32px,4vw,50px);line-height:1.04;letter-spacing:-.03em;margin-bottom:14px;max-width:16ch}
.page-hero h1 .hl{color:var(--orange)}
.page-hero .lede{font-size:19px;color:var(--muted);max-width:620px;margin-bottom:22px}
.page-hero .hactions{display:flex;gap:12px;flex-wrap:wrap}

.svc-blocks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
.svc-block{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px;transition:.2s;scroll-margin-top:130px;display:flex;flex-direction:column}
.svc-block:hover{box-shadow:0 16px 40px rgba(20,22,28,.08);transform:translateY(-3px);border-color:var(--line-2)}
.svc-block .sb-ic{width:54px;height:54px;border-radius:13px;background:var(--orange-50);display:grid;place-items:center;margin-bottom:16px}
.svc-block .sb-ic svg{width:27px;height:27px;color:var(--orange-d)}
.svc-block h2{font-size:22px;margin-bottom:8px;letter-spacing:-.02em}
.svc-block .sb-desc{color:var(--muted);font-size:15px;margin-bottom:16px}
.svc-block ul{display:grid;gap:9px;margin-bottom:18px}
.svc-block li{display:flex;gap:10px;font-size:14.5px;color:var(--text);align-items:flex-start}
.svc-block li .k{width:22px;height:22px;border-radius:6px;background:var(--green-50);display:grid;place-items:center;flex:none;margin-top:1px}
.svc-block li .k svg{width:12px;height:12px;color:var(--green)}
.svc-block .sb-link{margin-top:auto;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--orange-d);display:inline-flex;align-items:center;gap:6px}
.svc-block .sb-link svg{width:16px;height:16px;transition:.2s}
.svc-block:hover .sb-link svg{transform:translateX(4px)}

/* process row */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.proc-step{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.proc-step .pn{font-family:var(--disp);font-weight:800;font-size:14px;color:var(--orange);margin-bottom:10px}
.proc-step h3{font-size:18px;margin-bottom:7px}
.proc-grid.who-titled .proc-step h3{color:var(--orange)}
.proc-step p{color:var(--muted);font-size:14px}

/* FAQ accordion */
.faq{max-width:860px;margin:26px auto 0;display:grid;gap:12px}
.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;font-family:var(--disp);font-weight:700;font-size:16.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .fi{width:22px;height:22px;flex:none;transition:transform .25s;color:var(--orange-d)}
.faq-item.open .faq-q .fi{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 22px 20px;color:var(--muted);font-size:15px;line-height:1.65;margin:0}
@media(max-width:1080px){.svc-blocks{grid-template-columns:1fr}.proc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proc-grid{grid-template-columns:1fr}}

/* ===== Service DETAIL pages (bookkeeping.html, tax.html, ...) ===== */
.crumb2{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--muted);margin-bottom:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crumb2 a{color:var(--muted)}.crumb2 a:hover{color:var(--orange-d)}
.crumb2 .sep{color:var(--muted-2)}
.crumb2 b{color:var(--ink);font-weight:700}
.incl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
.incl-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.incl-card .ic-ic{width:44px;height:44px;border-radius:11px;background:var(--orange-50);display:grid;place-items:center;margin-bottom:14px}
.incl-card .ic-ic svg{width:22px;height:22px;color:var(--orange-d)}
.incl-card h3{font-size:18px;margin-bottom:7px}
.incl-card p{color:var(--muted);font-size:14.5px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.rel{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;transition:.16s}
.rel:hover{border-color:var(--orange);background:var(--orange-50);transform:translateY(-2px)}
.rel .r-ic{width:40px;height:40px;border-radius:10px;background:var(--orange-50);display:grid;place-items:center;flex:none}
.rel .r-ic svg{width:20px;height:20px;color:var(--orange-d)}
.rel .rt{font-family:var(--disp);font-weight:700;font-size:15.5px;color:var(--ink)}
.rel .rs{font-size:12.5px;color:var(--muted)}
@media(max-width:1080px){.incl-grid{grid-template-columns:1fr 1fr}.rel-grid{grid-template-columns:1fr}}
@media(max-width:560px){.incl-grid{grid-template-columns:1fr}}
/* service-page hero: two-column (text + visual) */
.ph-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:center}
.ph-visual{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(20,22,28,.1);padding:24px}
.ph-visual .phv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.ph-visual .phv-t{font-family:var(--disp);font-weight:800;font-size:16px;color:var(--ink)}
.ph-visual .phv-s{font-size:12px;color:var(--muted)}
.ph-visual .phv-badge{font-size:11px;font-weight:700;color:var(--green);background:var(--green-50);padding:4px 10px;border-radius:99px}
.phv-rows{display:grid;gap:10px;margin-bottom:16px}
.phv-row{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink);font-weight:600;font-family:var(--disp)}
.phv-row .ck{width:22px;height:22px;border-radius:50%;background:var(--green);display:grid;place-items:center;flex:none}
.phv-row .ck svg{width:12px;height:12px;color:#fff}
.phv-stat{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px}
.phv-stat .l{font-size:12px;color:var(--muted);font-weight:600}
.phv-stat .v{font-family:var(--disp);font-weight:800;font-size:24px;color:var(--ink);letter-spacing:-.02em}
.phv-chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(20,22,28,.14);padding:11px 15px;display:flex;align-items:center;gap:10px;bottom:-18px;left:-16px}
.phv-chip .ci{width:32px;height:32px;border-radius:9px;background:var(--green);display:grid;place-items:center;flex:none}
.phv-chip .ci svg{width:16px;height:16px;color:#fff}
.phv-chip .ct{font-family:var(--disp);font-weight:800;font-size:14px;color:var(--ink);line-height:1.1}
.phv-chip .cs{font-size:11px;color:var(--muted)}
@media(max-width:1080px){.ph-grid{grid-template-columns:1fr;gap:34px}}

/* details split (replaces the comparison block on service pages) */
.detail-split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.detail-split p{color:var(--muted);font-size:15.5px;line-height:1.7;margin-bottom:14px}
.detail-split .feats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.detail-split .feats li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--text)}
.detail-split .feats .fk{width:24px;height:24px;border-radius:7px;background:var(--green-50);display:grid;place-items:center;flex:none;margin-top:1px}
.detail-split .feats .fk svg{width:13px;height:13px;color:var(--green)}
@media(max-width:1080px){.detail-split{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.detail-split .feats{grid-template-columns:1fr}}

/* bigger "works with" tools variant */
.tools.tools-lg{padding-top:26px}
.tools.tools-lg .tools-lab{font-size:14px;letter-spacing:.06em;margin-bottom:18px}
.tools.tools-lg .tl-chip{height:64px;padding:0 22px;border-radius:12px}
.tools.tools-lg .tl-chip img{height:32px;max-width:150px}
.tools.tools-lg .more{font-size:15px}

/* before / after comparison */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.ba-col{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}
.ba-col.after{background:linear-gradient(180deg,var(--orange-50),#fff);border-color:#F3D8B4}
.ba-col h3{font-size:19px;margin-bottom:18px;color:var(--ink)}
/* was #9AA0AC, 2.63 on white against the 3.0 that 19px bold needs. Still
   clearly the quieter of the two columns, just readable now. */
.ba-col.before h3{color:#868C99}
.ba-list{display:grid;gap:13px}
.ba-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--text)}
.ba-list .bi{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:none;margin-top:1px}
.ba-col.before .bi{background:#FBECEC;color:#C0392B}
.ba-col.after .bi{background:var(--green-50);color:var(--green)}
.ba-list .bi svg{width:13px;height:13px}
@media(max-width:760px){.ba-grid{grid-template-columns:1fr}}

/* 5-step process grid */
.steps5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:30px}
@media(max-width:1080px){.steps5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps5{grid-template-columns:1fr}}

/* footer: 4-column variant + logo chip (footer update) */
.site-foot .foot-grid.f4{grid-template-columns:1.6fr 1fr 1fr 1fr}
.foot-logo-chip{display:inline-flex;align-items:center;background:#fff;border-radius:12px;padding:11px 15px;margin-bottom:18px}
.foot-logo-chip img{height:28px;width:auto;display:block}
@media(max-width:1080px){.site-foot .foot-grid.f4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.site-foot .foot-grid.f4{grid-template-columns:1fr}}

/* ===== RESP-HARDENING: responsive fixes rolled out from the home page ===== */
/* overflow-x:hidden makes body a scroll container, which silently breaks every
   position:sticky on the site. clip does the same guarding without that side
   effect; hidden is left first as the fallback for older browsers. */
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
*{min-width:0}
.wrap{max-width:1360px;padding-left:clamp(18px,3.6vw,44px);padding-right:clamp(18px,3.6vw,44px)}
@media (min-width:1700px){.wrap{max-width:1520px}.view{padding:58px 0}}
@media (max-width:560px){.wrap{padding-left:16px;padding-right:16px}}
.mnav.open{max-height:calc(100vh - 150px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:22px}
/* The banner wraps to two lines under 640px and three under ~480px, so its real
   height is 77px and 94px there, not 46px. Everything that clears the fixed
   chrome derives from --bannerH (.main padding, sticky offsets, scroll-margin),
   so correcting the token fixes all of them at once. Measured, then rounded up. */
@media (max-width:640px){:root{--bannerH:80px}}
@media (max-width:479px){:root{--bannerH:96px}}
@media (max-width:640px){.banner{height:auto;min-height:var(--bannerH);padding:8px 0}.banner .wrap{gap:10px}.banner .bt{font-size:12.5px;line-height:1.35;text-align:center}.banner .bbtn{font-size:12.5px;padding:7px 14px}}
@media (max-width:640px){.certs{gap:14px;justify-content:center}.certs .certs-lab{flex:0 0 100%;text-align:center;margin-bottom:2px}.cert-badge{width:54px;height:54px}}

/* ===== ILINK: internal-linking blocks (unique classes, no clash with .rel/.rel-grid) ===== */
.ilink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.ilink-card{display:flex;align-items:center;gap:11px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.35;transition:transform .18s,border-color .18s,box-shadow .18s}
.ilink-card:hover{border-color:var(--orange);box-shadow:0 8px 22px rgba(20,20,40,.09);transform:translateY(-2px)}
.ilink-card svg{width:17px;height:17px;color:var(--orange);flex:none}
a.st-city{text-decoration:none}
a.st-city:hover{border-color:var(--orange);color:var(--orange-d)}
@media(max-width:900px){.ilink-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ilink-grid{grid-template-columns:1fr}}

/* ===== SM-LIST: HTML sitemap link columns ===== */
.sm-list{columns:3;column-gap:34px;margin-top:22px}
.sm-list a{display:block;break-inside:avoid;padding:7px 0;font-size:14.5px;color:var(--text);border-bottom:1px solid var(--line);transition:.15s}
.sm-list a:hover{color:var(--orange-d);padding-left:4px}
@media(max-width:900px){.sm-list{columns:2}}
@media(max-width:560px){.sm-list{columns:1}}


/* ===== CMP-GRID (two-column comparison, stacks on small screens) ===== */
.incl-grid.cmp-grid{grid-template-columns:1fr 1fr}
@media (max-width:820px){.incl-grid.cmp-grid{grid-template-columns:1fr}}


/* ==========================================================================
   EDITORIAL SYSTEM  —  About / Pricing / Contact / Blog
   A separate design language from the service-page kit: hairline rules and
   asymmetric grids instead of card grids, large display type, sticky rails.
   Same font stack and same orange. Everything is scoped under .ed so no
   other page is affected.
   ========================================================================== */
/* was clamp(54px,6.6vw,104px), which put 95px above and below every section at
   a normal desktop width, nearly double the 46px the rest of the site uses */
.ed{--edg:clamp(46px,5vw,78px)}
.ed-sec{padding:var(--edg) 0}
/* FAQ sections on the editorial pages (contact, pricing, about) put a
   left-aligned heading above a CENTRED .faq list, so the list sat 186px in from
   the heading and left a wide empty wedge under it, with a matching gap to the
   right of the list. Ankit flagged exactly this. Pairing the two as columns
   spends that space on the heading instead of padding it out. The service and
   location pages are untouched: their FAQ heading is centred, so a centred list
   is already correct there. Below 900px both stack, as before. */
@media (min-width:900px){
  .ed-sec .ed-hold:has(> .faq){display:grid;grid-template-columns:minmax(260px,360px) 1fr;
    gap:clamp(32px,4vw,64px);align-items:start}
  .ed-sec .ed-hold:has(> .faq) > .reveal:first-child{max-width:none;position:sticky;top:96px}
  .ed-sec .faq{margin:0;max-width:none}
}
.ed-sec.tight{padding:clamp(34px,4.2vw,58px) 0}
.ed-sec.alt{background:var(--panel-2)}
.ed-sec.paper{background:var(--panel)}
.ed-sec.dark{background:var(--rail)}
.ed-hold{max-width:1360px;margin:0 auto;padding:0 clamp(18px,3.6vw,44px)}
.ed-narrow{max-width:900px}

/* ---- kicker ---- */
.ed-k{display:flex;align-items:center;gap:9px;font-family:var(--body);font-weight:600;font-size:11.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-d);margin:0 0 20px}
.ed-k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.ed-sec.dark .ed-k{color:var(--orange-l)}

/* ---- display type ---- */
.ed-d1{font-family:var(--disp);font-weight:800;font-size:clamp(36px,6vw,74px);line-height:1;letter-spacing:-.032em;color:var(--ink);margin:0}
.ed-d2{font-family:var(--disp);font-weight:800;font-size:clamp(27px,3.5vw,44px);line-height:1.08;letter-spacing:-.026em;color:var(--ink);margin:0 0 16px}
.ed-d3{font-family:var(--disp);font-weight:700;font-size:clamp(19px,1.9vw,25px);line-height:1.22;letter-spacing:-.018em;color:var(--ink);margin:0 0 12px}
.ed-sec.dark .ed-d1,.ed-sec.dark .ed-d2,.ed-sec.dark .ed-d3{color:#fff}
.ed-d1 em,.ed-d2 em,.ed-d3 em{font-style:normal;color:var(--orange)}
.ed-sec.dark .ed-d1 em,.ed-sec.dark .ed-d2 em{color:var(--orange-l)}
.ed-p{font-size:clamp(15px,1.1vw,16.5px);line-height:1.78;color:var(--muted);margin:0 0 15px}
.ed-p:last-child{margin-bottom:0}
.ed-p.lg{font-size:clamp(16.5px,1.4vw,20px);line-height:1.62;color:var(--muted)}
.ed-p.sm{font-size:14px;line-height:1.7;color:var(--muted)}
.ed-sec.dark .ed-p{color:#B4B9C4}
.ed-a{color:var(--orange-d);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(224,110,0,.32)}
.ed-a:hover{border-bottom-color:var(--orange-d)}

/* ---- hero ---- */
.ed-hero{padding:clamp(40px,4.8vw,74px) 0 clamp(36px,4.2vw,58px)}
.ed-hg{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:clamp(26px,4vw,66px);align-items:start}
@media (max-width:980px){.ed-hg{grid-template-columns:1fr;align-items:start;gap:32px}}
.ed-hmeta{border-left:2px solid var(--line-2);padding-left:22px}
.ed-hmeta>div{margin-bottom:20px}
.ed-hmeta>div:last-child{margin-bottom:0}
.ed-hmeta dt{font-family:var(--body);font-weight:600;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.ed-hmeta dd{margin:0;font-family:var(--disp);font-weight:700;font-size:16px;color:var(--ink);line-height:1.4}
.ed-hmeta dd a{color:var(--orange-d);text-decoration:none;border-bottom:1px solid rgba(224,110,0,.35)}
.ed-hmeta dd a:hover{color:var(--orange);border-bottom-color:var(--orange)}

/* ---- hairline fact rail ---- */
.ed-rail{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2);margin-top:clamp(32px,3.8vw,56px)}
.ed-rail>div{padding:26px 28px 2px;border-right:1px solid var(--line)}
.ed-rail>div:first-child{padding-left:0}
.ed-rail>div:last-child{border-right:0;padding-right:0}
.ed-rail b{display:block;font-family:var(--disp);font-size:clamp(18px,1.9vw,24px);font-weight:800;color:var(--ink);letter-spacing:-.022em;line-height:1.2;margin-bottom:8px}
.ed-rail span{display:block;font-size:13.5px;line-height:1.62;color:var(--muted)}
@media (max-width:860px){
  .ed-rail{grid-template-columns:1fr 1fr}
  .ed-rail>div{padding:20px 20px 20px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .ed-rail>div:nth-child(2n){border-right:0;padding-right:0}
  .ed-rail>div:nth-child(2n+1){padding-left:0}
}
@media (max-width:480px){.ed-rail{grid-template-columns:1fr}.ed-rail>div{border-right:0;padding-right:0}}

/* ---- statement: sticky label column + wide text ---- */
.ed-state{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:clamp(24px,4vw,74px)}
@media (max-width:900px){.ed-state{grid-template-columns:1fr;gap:24px}}
.ed-stick{position:sticky;top:calc(var(--navH) + var(--bannerH) + 26px);align-self:start}
@media (max-width:900px){.ed-stick{position:static}}
.ed-pull{font-family:var(--disp);font-weight:800;font-size:clamp(22px,2.7vw,34px);line-height:1.24;letter-spacing:-.022em;color:var(--ink);margin:0 0 24px;padding-left:22px;border-left:3px solid var(--orange)}

/* ---- numbered hairline rows ---- */
.ed-nrows{border-top:1px solid var(--line-2);margin-top:clamp(26px,3vw,44px)}
.ed-nrow{display:grid;grid-template-columns:92px minmax(0,.72fr) minmax(0,1.2fr);gap:clamp(14px,2.4vw,38px);padding:clamp(22px,2.5vw,32px) 0;border-bottom:1px solid var(--line);align-items:start;transition:background .26s ease,padding .26s ease}
.ed-nrow:hover{background:linear-gradient(90deg,var(--orange-50),rgba(255,242,226,0) 58%)}
.ed-nrow .n{font-family:var(--disp);font-weight:800;font-size:clamp(24px,2.9vw,38px);color:var(--orange);letter-spacing:-.035em;line-height:1}
.ed-nrow h3{font-family:var(--disp);font-weight:700;font-size:clamp(16.5px,1.55vw,21px);color:var(--ink);margin:0;line-height:1.26;letter-spacing:-.016em}
.ed-nrow p{margin:0;font-size:14.8px;line-height:1.76;color:var(--muted)}
@media (max-width:820px){
  .ed-nrow{grid-template-columns:54px minmax(0,1fr);gap:6px 16px;padding:20px 0}
  .ed-nrow .n{grid-row:1/span 2;font-size:26px}
  .ed-nrow h3{margin-bottom:4px}
}

/* ---- index rows (reads like a contents list) ---- */
.ed-ix{border-top:1px solid var(--line-2);margin-top:clamp(24px,2.8vw,40px)}
.ed-ixr{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr) 44px;gap:clamp(14px,2.4vw,36px);align-items:center;padding:clamp(17px,2vw,25px) 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .24s ease,padding .24s ease}
.ed-ixr:hover{background:linear-gradient(90deg,var(--orange-50),rgba(255,242,226,0) 55%);padding-left:14px}
.ed-ixr h3{font-family:var(--disp);font-weight:700;font-size:clamp(16px,1.45vw,19.5px);color:var(--ink);margin:0;line-height:1.28;letter-spacing:-.015em}
.ed-ixr p{margin:0;font-size:14.2px;line-height:1.68;color:var(--muted)}
.ed-ixr .go{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;justify-self:end;color:var(--ink);transition:.22s;flex:none}
.ed-ixr .go svg{width:15px;height:15px}
.ed-ixr:hover .go{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.ed-sec.dark .ed-ix{border-top-color:var(--rail-line)}
.ed-sec.dark .ed-ixr{border-bottom-color:var(--rail-line)}
.ed-sec.dark .ed-ixr h3{color:#fff}
.ed-sec.dark .ed-ixr p{color:var(--rail-txt)}
.ed-sec.dark .ed-ixr .go{border-color:var(--rail-line);color:#fff}
.ed-sec.dark .ed-ixr:hover{background:linear-gradient(90deg,rgba(255,131,3,.12),transparent 55%)}
@media (max-width:760px){
  .ed-ixr{grid-template-columns:minmax(0,1fr) 40px;gap:6px 14px}
  .ed-ixr h3{margin-bottom:4px}
  .ed-ixr p{grid-column:1}
  .ed-ixr .go{grid-row:1/span 2}
}

/* ---- horizontal timeline (dark band) ---- */
.ed-tl{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(30px,3.6vw,50px)}
.ed-tl>div{position:relative;padding:0 24px 0 0}
.ed-tl>div:last-child{padding-right:0}
.ed-tl>div::before{content:"";position:absolute;left:0;top:8px;width:100%;height:1px;background:var(--rail-line)}
.ed-tl>div:last-child::before{width:9px}
.ed-tl .dot{width:17px;height:17px;border-radius:50%;background:var(--rail);border:2px solid var(--orange);position:relative;z-index:1;margin:0 0 22px}
.ed-tl>div:first-child .dot{background:var(--orange)}
.ed-tl .st{display:block;font-family:var(--body);font-weight:600;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-l);margin-bottom:11px}
/* h3 as well as h4: this timeline sits on the dark rail, and a step written
   with an h3 was inheriting --ink and rendering black on black */
.ed-tl h3,.ed-tl h4{font-family:var(--disp);font-weight:700;font-size:16px;color:#fff;margin:0 0 9px;line-height:1.3}
.ed-tl p{font-size:13.4px;line-height:1.66;color:var(--rail-txt);margin:0}
@media (max-width:940px){
  .ed-tl{grid-template-columns:1fr 1fr;gap:0 26px}
  .ed-tl>div{padding:0 0 28px 0}
  .ed-tl>div::before{display:none}
  .ed-tl .dot{margin-bottom:14px}
}
@media (max-width:600px){
  .ed-tl{grid-template-columns:1fr}
  .ed-tl>div{padding:0 0 26px 30px}
  .ed-tl>div::before{display:block;left:8px;top:4px;width:1px;height:100%;background:var(--rail-line)}
  .ed-tl>div:last-child::before{height:0}
  .ed-tl .dot{position:absolute;left:0;top:0;margin:0}
}

/* ---- offset column set ---- */
.ed-off{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.2vw,34px);margin-top:clamp(28px,3.2vw,46px)}
.ed-off>div{border-top:2px solid var(--ink);padding-top:19px}
.ed-off>div:nth-child(2n){border-top-color:var(--orange)}
.ed-off h3{font-family:var(--disp);font-weight:700;font-size:17.5px;color:var(--ink);margin:0 0 10px;line-height:1.28}
.ed-off p{font-size:14.4px;line-height:1.72;color:var(--muted);margin:0}
@media (max-width:1000px){.ed-off{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ed-off{grid-template-columns:1fr}}

/* ---- two-column hairline checklist ---- */
.ed-chk{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3.4vw,58px);border-top:1px solid var(--line-2);margin-top:clamp(26px,3vw,42px)}
.ed-chk>div{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.ed-chk .tick{width:22px;height:22px;border-radius:7px;background:var(--orange-50);color:var(--orange-d);display:grid;place-items:center;flex:none;margin-top:2px}
.ed-chk .tick svg{width:12px;height:12px}
.ed-chk h4{font-family:var(--disp);font-weight:700;font-size:15.5px;color:var(--ink);margin:0 0 6px;line-height:1.3}
.ed-chk p{font-size:14px;line-height:1.68;color:var(--muted);margin:0}
@media (max-width:760px){.ed-chk{grid-template-columns:1fr}}

/* ---- ledger comparison table ---- */
.ed-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:clamp(26px,3vw,44px)}
.ed-tbl{width:100%;min-width:620px;border-collapse:collapse;font-family:var(--body)}
.ed-tbl th,.ed-tbl td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.ed-tbl thead th{font-weight:600;font-size:10.5px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding-top:0;border-bottom:1px solid var(--line-2)}
.ed-tbl thead th.hi{color:var(--orange-d)}
.ed-tbl tbody th{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink);width:24%}
.ed-tbl td{font-size:14.4px;line-height:1.68;color:var(--text)}
.ed-tbl .hi{background:var(--orange-50)}
.ed-tbl td.hi{color:var(--ink)}
.ed-tbl tbody tr:last-child th,.ed-tbl tbody tr:last-child td{border-bottom:0}
.ed-tbl th:first-child,.ed-tbl td:first-child{padding-left:0}

/* ---- pricing configurator ---- */
.ed-cfg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,3.4vw,58px);align-items:start;margin-top:clamp(28px,3.2vw,46px)}
@media (max-width:940px){.ed-cfg{grid-template-columns:1fr}}
.ed-q{padding:0 0 26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.ed-q:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ed-qh{display:flex;align-items:baseline;gap:12px;margin-bottom:15px}
.ed-qh .qn{font-family:var(--disp);font-weight:800;font-size:12px;color:var(--orange);letter-spacing:.08em;flex:none}
.ed-qh h3{font-family:var(--disp);font-weight:700;font-size:17.5px;color:var(--ink);margin:0;line-height:1.3}
.ed-opts{display:flex;flex-wrap:wrap;gap:9px}
.ed-opt{font-family:var(--body);font-weight:600;font-size:13.5px;line-height:1;border:1px solid var(--line-2);background:var(--panel);border-radius:10px;padding:11px 16px;color:var(--text);cursor:pointer;transition:.18s}
.ed-opt:hover{border-color:var(--orange-l);color:var(--ink)}
.ed-opt.on{background:var(--orange);border-color:var(--orange);color:#fff}
.ed-sum{position:sticky;top:calc(var(--navH) + var(--bannerH) + 24px);border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:clamp(24px,2.6vw,32px);box-shadow:0 18px 44px rgba(20,22,28,.07)}
@media (max-width:940px){.ed-sum{position:static}}
.ed-sum h3{font-family:var(--disp);font-weight:800;font-size:19px;color:var(--ink);margin:0 0 4px;letter-spacing:-.018em}
.ed-srow{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed var(--line-2);font-size:13.8px}
.ed-srow>span{color:var(--muted);flex:none}
.ed-srow>b{color:var(--ink);font-weight:600;text-align:right}
.ed-note{background:var(--orange-50);border-radius:12px;padding:15px 17px;font-size:13.4px;line-height:1.68;color:#7A4A0C;margin:18px 0}

/* ---- contact console ---- */
.ed-con{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--panel);box-shadow:0 26px 64px rgba(20,22,28,.09)}
@media (max-width:940px){.ed-con{grid-template-columns:1fr}}
.ed-cl{background:var(--rail);padding:clamp(28px,3.4vw,48px)}
.ed-cr{padding:clamp(28px,3.4vw,48px)}
.ed-ch{display:flex;gap:15px;padding:19px 0;border-bottom:1px solid var(--rail-line);text-decoration:none;align-items:flex-start}
.ed-ch:last-of-type{border-bottom:0;padding-bottom:0}
.ed-ch .i{width:40px;height:40px;border-radius:11px;background:rgba(255,131,3,.15);color:var(--orange-l);display:grid;place-items:center;flex:none}
.ed-ch .i svg{width:18px;height:18px}
.ed-ch dt{font-family:var(--body);font-weight:600;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--rail-txt);margin:2px 0 8px}
.ed-ch dd{margin:0;font-family:var(--disp);font-weight:700;font-size:16.5px;color:#fff;line-height:1.35;word-break:break-word}
.ed-ch small{display:block;margin-top:6px;font-family:var(--body);font-weight:400;font-size:12.6px;line-height:1.6;color:var(--rail-txt)}
a.ed-ch:hover dd{color:var(--orange-l)}

/* ---- forms ---- */
.ed-f{display:grid;gap:16px}
.ed-f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.ed-f2{grid-template-columns:1fr}}
.ed-lb{display:grid;gap:8px;font-family:var(--body);font-weight:600;font-size:11px;line-height:1;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.ed-in{width:100%;padding:13px 15px;border:1px solid var(--line-2);border-radius:11px;font-family:var(--body);font-weight:400;font-size:15px;line-height:1.5;color:var(--ink);background:var(--panel-2);transition:.18s}
.ed-in::placeholder{color:var(--muted-2)}
.ed-in:focus{outline:0;border-color:var(--orange);background:var(--panel);box-shadow:0 0 0 4px rgba(255,131,3,.14)}
textarea.ed-in{resize:vertical;min-height:112px}
select.ed-in{cursor:pointer}
.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--orange);color:var(--ink);border:0;border-radius:12px;padding:15px 26px;font-family:var(--body);font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;transition:.2s}
.ed-btn:hover{background:var(--orange-d);transform:translateY(-1px);box-shadow:0 12px 26px rgba(255,131,3,.3)}
.ed-btn.full{width:100%}
.ed-btn svg{width:16px;height:16px;flex:none}
.ed-err{display:none;color:#C42B2B;font-size:13px;margin:0;line-height:1.6}

/* ---- closing band ---- */
.ed-band{background:linear-gradient(135deg,var(--cta-a) 0%,var(--cta-b) 100%);border-radius:24px;padding:clamp(36px,4.4vw,64px) clamp(26px,4vw,60px);position:relative;overflow:hidden}
.ed-band::after{content:"";position:absolute;right:-100px;top:-110px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.1)}
.ed-band>*{position:relative;z-index:1}
.ed-band h2{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.3vw,42px);line-height:1.1;letter-spacing:-.026em;color:#fff;margin:0 0 13px;max-width:640px}
.ed-band p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.97);margin:0 0 26px;max-width:560px}
.ed-bb{display:flex;flex-wrap:wrap;gap:12px}
.ed-bbtn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--ink);font-family:var(--body);font-weight:700;font-size:15px;padding:15px 26px;border-radius:12px;text-decoration:none;transition:.2s}
.ed-bbtn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.2)}
.ed-bbtn{white-space:nowrap}
.ed-bbtn svg{width:16px;height:16px;flex:none}
.ed-bbtn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff}
.ed-bbtn.ghost:hover{background:rgba(255,255,255,.12);box-shadow:none}

/* ---- blog magazine ---- */
.ed-feat{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,3.4vw,54px);align-items:center;margin-top:clamp(26px,3vw,42px)}
@media (max-width:900px){.ed-feat{grid-template-columns:1fr}}
.ed-cov{aspect-ratio:16/10;border-radius:18px;overflow:hidden;position:relative;display:grid;place-items:center;background:linear-gradient(140deg,#242833,#16181F)}
.ed-cov::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:34px 34px}
.ed-cov::after{content:attr(data-l);font-family:var(--disp);font-weight:800;font-size:clamp(60px,9vw,150px);line-height:1;letter-spacing:-.05em;color:rgba(255,255,255,.09)}
.ed-cov.o{background:linear-gradient(140deg,#FF9A33,#E06E00)}
.ed-cov.o::after{color:rgba(255,255,255,.25)}
.ed-cov.p{background:linear-gradient(140deg,#FFF3E5,#FFE0BE)}
.ed-cov.p::before{background-image:linear-gradient(rgba(224,110,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(224,110,0,.07) 1px,transparent 1px)}
.ed-cov.p::after{color:rgba(224,110,0,.2)}
.ed-cat{display:inline-block;font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-d)}
.ed-mag{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px);margin-top:clamp(24px,2.8vw,40px)}
@media (max-width:1020px){.ed-mag{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ed-mag{grid-template-columns:1fr}}
.ed-post{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.ed-post:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(20,22,28,.11);border-color:var(--line-2)}
.ed-post .ed-cov{border-radius:0;aspect-ratio:16/9}
.ed-pb{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.ed-post h3{font-family:var(--disp);font-weight:700;font-size:17.5px;line-height:1.3;letter-spacing:-.016em;color:var(--ink);margin:0}
.ed-post p{font-size:14px;line-height:1.66;color:var(--muted);margin:0}
.ed-pm{margin-top:auto;padding-top:6px;font-size:12.4px;color:var(--muted-2);display:flex;align-items:center;gap:9px}
.ed-pm .d{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}
.ed-fch{display:flex;flex-wrap:wrap;gap:9px;margin-top:clamp(22px,2.6vw,34px)}
.ed-fc{font-family:var(--body);font-weight:600;font-size:13px;line-height:1;border:1px solid var(--line-2);background:var(--panel);border-radius:999px;padding:10px 18px;color:var(--text);cursor:pointer;transition:.18s}
.ed-fc:hover{border-color:var(--orange-l);color:var(--ink)}
.ed-fc.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ed-empty{padding:40px 0;text-align:center;color:var(--muted);font-size:15px}

/* ---- FAQ restyled to hairlines inside .ed ---- */
.ed .faq{max-width:900px;margin:clamp(24px,2.8vw,40px) auto 0;gap:0;border-top:1px solid var(--line-2)}
.ed .faq-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.ed .faq-q{padding:21px 0;font-size:clamp(15.5px,1.35vw,18px);gap:20px}
.ed .faq-a p{padding:0 0 21px;font-size:15px;color:var(--text)}


/* ---- people: partner photos, team tiles, group shot ---- */
.ed-ppl{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,38px);margin-top:clamp(28px,3.2vw,46px)}
@media (max-width:900px){.ed-ppl{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ed-ppl{grid-template-columns:1fr}}
.ed-pc{display:flex;flex-direction:column}
.ed-shot{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);margin-bottom:18px}
.ed-shot img{width:100%;height:100%;object-fit:cover;display:block}
.ed-fb{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(140deg,#F7F8FA,#EBEEF2)}
.ed-fb svg{width:34%;max-width:76px;height:auto;color:#CFD4DC}
.ed-pc h3{font-family:var(--disp);font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.016em;color:var(--ink);margin:0 0 7px}
.ed-role{display:block;font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1.3;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-d);margin-bottom:11px}
.ed-pc p{font-size:14.2px;line-height:1.7;color:var(--text);margin:0}
.ed-pc .lnk{margin-top:13px;font-family:var(--body);font-weight:600;font-size:13px;color:var(--ink);text-decoration:none;display:inline-flex;gap:7px;align-items:center;border-bottom:1px solid var(--line-2);padding-bottom:3px;width:fit-content;transition:.18s}
.ed-pc .lnk:hover{color:var(--orange-d);border-bottom-color:var(--orange)}
.ed-pc .lnk svg{width:14px;height:14px;flex:none}
.ed-team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(26px,3vw,42px)}
@media (max-width:1000px){.ed-team{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.ed-team{grid-template-columns:1fr 1fr}}
.ed-team .ed-shot{aspect-ratio:1/1;border-radius:14px;margin-bottom:14px}
.ed-team h4{font-family:var(--disp);font-weight:700;font-size:15.5px;line-height:1.3;color:var(--ink);margin:0 0 6px}
.ed-team .ed-role{margin-bottom:0;font-size:10px}
.ed-group{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);aspect-ratio:21/9;margin-top:clamp(26px,3vw,42px)}
.ed-group img{width:100%;height:100%;object-fit:cover;display:block}
.ed-group .ed-fb svg{max-width:64px}
@media (max-width:700px){.ed-group{aspect-ratio:16/10}}
.ed-cap{margin-top:14px;font-size:13.5px;line-height:1.65;color:var(--muted)}


/* ---- group-photo gallery (2 or 3 whole-team shots) ---- */
.ed-gal{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);margin-top:clamp(26px,3vw,42px)}
.ed-gal>figure{margin:0;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);aspect-ratio:16/10}
.ed-gal>figure:first-child{grid-column:1/-1;aspect-ratio:21/9}
.ed-gal>figure:only-child{aspect-ratio:21/9}
.ed-gal img{width:100%;height:100%;object-fit:cover;display:block}
.ed-gal .ed-fb svg{max-width:64px}
.ed-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 22px 17px;font-family:var(--body);font-weight:600;font-size:13.5px;line-height:1.5;color:#fff;background:linear-gradient(rgba(15,17,22,0),rgba(15,17,22,.74))}
@media (max-width:700px){.ed-gal{grid-template-columns:1fr}.ed-gal>figure,.ed-gal>figure:first-child{aspect-ratio:16/10}}


/* ---- hero CTA row ---- */
.ed-hact{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ed-btn.ghost{background:transparent;border:1.5px solid var(--line-2);color:var(--ink)}
.ed-btn.ghost:hover{background:var(--panel);border-color:var(--orange);color:var(--orange-d);box-shadow:none}

/* ---- stat band ---- */
.ed-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2);margin-top:clamp(28px,3.2vw,46px)}
.ed-stats>div{padding:30px 28px 4px;border-right:1px solid var(--line)}
.ed-stats>div:first-child{padding-left:0}
.ed-stats>div:last-child{border-right:0;padding-right:0}
.ed-stats .num{font-family:var(--disp);font-weight:800;font-size:clamp(34px,4.4vw,56px);line-height:1;letter-spacing:-.035em;color:var(--orange);margin-bottom:13px}
.ed-stats h3{font-family:var(--disp);font-weight:700;font-size:16.5px;line-height:1.3;color:var(--ink);margin:0 0 8px}
.ed-stats p{font-size:14px;line-height:1.66;color:var(--muted);margin:0}
@media (max-width:900px){
  .ed-stats{grid-template-columns:1fr 1fr}
  .ed-stats>div{padding:24px 22px 24px 0;border-bottom:1px solid var(--line)}
  .ed-stats>div:nth-child(2n){border-right:0;padding-right:0}
  .ed-stats>div:nth-child(2n+1){padding-left:0}
}
@media (max-width:520px){.ed-stats{grid-template-columns:1fr}.ed-stats>div{border-right:0;padding-right:0}}


/* ---- office cards (US + India) ---- */
.ed-offices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,30px);margin-top:clamp(26px,3vw,42px)}
@media (max-width:760px){.ed-offices{grid-template-columns:1fr}}
.ed-office{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column}
.ed-office .oh{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ed-office .oi{width:38px;height:38px;border-radius:11px;background:var(--orange-50);color:var(--orange-d);display:grid;place-items:center;flex:none}
.ed-office .oi svg{width:17px;height:17px}
.ed-office .lbl{display:block;font-family:var(--body);font-weight:700;font-size:10px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ed-office h3{font-family:var(--disp);font-weight:700;font-size:18px;line-height:1.25;color:var(--ink);margin:0}
.ed-office address{font-style:normal;font-size:14.6px;line-height:1.72;color:var(--muted);margin:0 0 auto}
.ed-office .orow{display:flex;gap:10px;align-items:center;font-size:14.6px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ed-office .orow svg{width:15px;height:15px;color:var(--orange-d);flex:none}
.ed-office .orow a{color:var(--ink);font-weight:600;text-decoration:none}
.ed-office .orow a:hover{color:var(--orange-d)}


/* ---- footer: two offices ---- */
.site-foot .fc-lab{display:block;font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-l);margin-bottom:6px}
.site-foot .fc-row.fc-office{margin-bottom:10px}
.site-foot .fc-row.fc-tel{margin-bottom:16px;padding-left:29px}
.site-foot .fc-row.fc-tel svg{display:none}


/* ---- location directory on the core service pages ---- */
.loc-wrap{margin-top:clamp(26px,3vw,40px);display:grid;gap:clamp(22px,2.6vw,34px)}
.loc-group{border-top:1px solid var(--line-2);padding-top:19px}
.loc-h{display:flex;align-items:center;gap:11px;margin:0;font-family:var(--disp);font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.loc-n{display:inline-grid;place-items:center;min-width:24px;height:21px;padding:0 7px;border-radius:99px;background:var(--orange-50);color:var(--orange-d);font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:0}
.loc-group .st-cities{margin-top:15px;gap:9px}
.loc-group .st-city{font-size:14px;padding:8px 15px}
@media (max-width:560px){.loc-group .st-city{font-size:13.5px;padding:7px 13px}.loc-group .st-cities{gap:8px}}


/* ---- location directory: tabbed, so 60 links do not eat 900px of page ---- */
.loc-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line-2);padding-bottom:15px;margin-bottom:22px}
.loc-tab{display:inline-flex;align-items:center;gap:9px;background:transparent;border:1px solid transparent;border-radius:99px;padding:9px 17px;font-family:var(--disp);font-weight:700;font-size:13.5px;line-height:1;letter-spacing:.02em;color:var(--muted);cursor:pointer;transition:.18s}
.loc-tab:hover{color:var(--ink);background:var(--panel);border-color:var(--line)}
.loc-tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.loc-tab .loc-n{background:var(--orange-50);color:var(--orange-d)}
.loc-tab.on .loc-n{background:rgba(255,255,255,.2);color:#fff}
.loc-panel{display:none}
.loc-panel.on{display:block}
.loc-panel .st-cities{margin-top:0}
@media (max-width:560px){
  .loc-tabs{gap:6px;padding-bottom:12px;margin-bottom:18px}
  .loc-tab{padding:8px 13px;font-size:12.5px;gap:7px}
}


/* ============================================================================
   BLOG ARTICLE TEMPLATE
   Shares the site header, footer and tokens. Scoped under .blg so nothing
   here can reach the service or location pages.
   ========================================================================== */
.blg{--measure:none}
/* the article runs narrower than the site grid: at 1360px the reading column
   left 215px of dead space on the right and a near-empty rail on the left */
.blg .wrap{max-width:1300px}

/* ---- article masthead ---- */
.blg-head{padding:clamp(20px,2.4vw,30px) 0 0}
.blg-cat{display:inline-flex;align-items:center;gap:8px;background:var(--orange-50);color:var(--orange-d);border-radius:99px;padding:7px 15px;font-family:var(--body);font-weight:700;font-size:11px;line-height:1;letter-spacing:.13em;text-transform:uppercase}
/* 22ch wrapped a 54 character headline onto three short lines and left half the
   header empty to the right. 38ch holds the longest headline in the cluster
   (70 chars) on two lines while still reading as a headline, not a paragraph. */
.blg-h1{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3.6vw,42px);line-height:1.1;letter-spacing:-.028em;color:var(--ink);margin:14px 0 0;max-width:38ch;text-wrap:balance}
.blg-sub{font-size:clamp(15.5px,1.35vw,17.5px);line-height:1.6;color:var(--muted);margin:12px 0 0;max-width:64ch}
/* capped to the banner width so the header reads as one block instead of the
   read time drifting 400px away from the headline */
.blg-byline{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);max-width:900px}
.blg-ava{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--orange-50);flex:none}
.blg-who b{display:block;font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.3}
.blg-who span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.blg-who a{color:var(--orange-d);text-decoration:none;font-weight:600}
.blg-who a:hover{text-decoration:underline}
.blg-facts{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.blg-facts b{color:var(--ink);font-weight:600}
@media (max-width:640px){.blg-facts{margin-left:0;width:100%}}

/* ---- featured image ---- */
/* full 1300px width made the banner 680px tall, which pushed the first
   paragraph off the screen on a laptop. Capped so it reads as an illustration
   rather than a second screen of its own. */
.blg-hero{margin:clamp(16px,1.9vw,22px) 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);max-width:900px}
.blg-hero img{width:100%;height:auto;display:block;aspect-ratio:1200/630}
.blg-cap{margin-top:10px;font-size:12.5px;color:var(--muted-2);line-height:1.5}

/* ---- layout: sticky contents + article ---- */
/* three tracks: contents, article, and a sticky aside so the width is used
   instead of leaving two dead gutters either side of a narrow column */
.blg-grid{display:grid;grid-template-columns:196px minmax(0,1fr) 264px;gap:clamp(22px,2.6vw,40px);align-items:stretch;padding:clamp(22px,2.6vw,32px) 0 0}
@media (max-width:1180px){.blg-grid{grid-template-columns:196px minmax(0,1fr)}}
@media (max-width:940px){.blg-grid{grid-template-columns:1fr;gap:22px}}
.blg-toc > .stick,.blg-aside > .stick{position:sticky;top:calc(var(--navH) + var(--bannerH) + 18px)}
.blg-toc{border-left:2px solid var(--line);padding-left:16px}
.blg-toc > .stick{max-height:calc(100vh - var(--navH) - var(--bannerH) - 40px);overflow-y:auto;scrollbar-width:thin}
@media (max-width:940px){.blg-toc{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  .blg-toc > .stick{position:static;max-height:none;overflow:visible}}
.blg-toc h2{font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.blg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:toc}
.blg-toc a{display:block;font-size:12.8px;line-height:1.4;color:var(--muted);text-decoration:none;transition:.16s}
.blg-toc a:hover{color:var(--orange-d)}
.blg-toc a.on{color:var(--ink);font-weight:600}
@media (max-width:940px){.blg-toc ol{grid-template-columns:1fr 1fr;gap:8px 22px}}
@media (max-width:560px){.blg-toc ol{grid-template-columns:1fr}}

/* ---- prose ---- */
.blg-body{max-width:var(--measure);font-size:16px;line-height:1.62;color:var(--text)}
.blg-body > p{margin:0 0 13px}
.blg-body h2{font-family:var(--disp);font-weight:800;font-size:clamp(22px,2.6vw,30px);line-height:1.18;letter-spacing:-.022em;color:var(--ink);margin:clamp(24px,2.4vw,30px) 0 10px;scroll-margin-top:calc(var(--navH) + var(--bannerH) + 20px)}
.blg-body h2::after{content:"";display:block;width:36px;height:3px;background:var(--orange);border-radius:2px;margin-top:9px}
/* Subheadings were plain bold text and read as body copy when skimming. The H2
   carries an orange rule under it; the H3 gets a shorter orange rule beside it,
   which marks it as a heading without competing with the section above. */
.blg-body h3{font-family:var(--disp);font-weight:700;font-size:clamp(17.5px,1.9vw,21px);line-height:1.3;letter-spacing:-.015em;color:var(--ink);margin:26px 0 8px;padding-left:13px;border-left:3px solid var(--orange);scroll-margin-top:calc(var(--navH) + var(--bannerH) + 20px)}
.blg-body a{color:var(--orange-d);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(224,110,0,.32)}
.blg-body a:hover{border-bottom-color:var(--orange-d)}
.blg-body strong{color:var(--ink);font-weight:600}
.blg-body ul{list-style:none;margin:0 0 15px;padding:0;display:grid;gap:7px}
.blg-body ul li{position:relative;padding-left:26px;line-height:1.6}
.blg-body ul li::before{content:"";position:absolute;left:4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.blg-body ul li b{color:var(--ink);font-weight:600}

/* ---- pull quote from the author ---- */
.blg-quote{margin:clamp(20px,2.2vw,26px) 0;padding:clamp(16px,1.8vw,21px);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:0 12px 12px 0}
.blg-quote p{font-family:var(--disp);font-weight:600;font-size:clamp(16.5px,1.8vw,20px);line-height:1.5;color:var(--ink);margin:0;letter-spacing:-.012em}
.blg-quote cite{display:block;margin-top:14px;font-style:normal;font-size:13px;color:var(--muted);font-family:var(--body)}
.blg-quote cite b{color:var(--ink);font-weight:600}
.blg-quote cite a{color:var(--orange-d);font-weight:600;text-decoration:none;border:0}

/* ---- "from our books" data callout ---- */
.blg-note{margin:clamp(16px,1.8vw,22px) 0;padding:15px 17px;background:var(--orange-50);border-radius:12px}
.blg-note b.lab{display:block;font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d);margin-bottom:10px}
.blg-note p{margin:0;font-size:15px;line-height:1.62;color:#5A3208}
.blg-note p + p{margin-top:12px}

/* ---- five-step process ---- */
.blg-steps{display:grid;gap:8px;margin:16px 0 4px;counter-reset:st}
.blg-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.blg-step .sn{width:34px;height:34px;border-radius:10px;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:15px}
.blg-step h3{margin:4px 0 6px!important;font-size:16.5px!important}
.blg-step p{margin:0;font-size:14.5px;line-height:1.58;color:var(--muted)}

/* ---- comparison table ---- */
.blg-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0 18px;border:1px solid var(--line);border-radius:12px}
.blg-tbl{width:100%;min-width:600px;border-collapse:collapse;font-size:14.5px;background:var(--panel)}
.blg-tbl th,.blg-tbl td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.blg-tbl thead th{background:var(--ink);color:#fff;font-family:var(--disp);font-weight:700;font-size:13.5px;border-bottom:0}
.blg-tbl tbody th{font-family:var(--disp);font-weight:700;color:var(--ink);width:20%;background:var(--panel-2)}
.blg-tbl tbody tr:last-child th,.blg-tbl tbody tr:last-child td{border-bottom:0}
.blg-tbl td{color:var(--text);line-height:1.6}

/* ---- inline figure ---- */
.blg-fig{margin:clamp(16px,1.8vw,22px) 0}
.blg-fig img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line)}
.blg-fig figcaption{margin-top:10px;font-size:12.5px;color:var(--muted-2);line-height:1.5}

/* ---- author box ---- */
.blg-author{margin:clamp(28px,3vw,36px) 0 0;padding:clamp(18px,2.2vw,24px);background:var(--panel-2);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:560px){.blg-author{grid-template-columns:1fr}}
.blg-author img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--orange-50)}
.blg-author .lab{font-family:var(--body);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.blg-author h3{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--ink);margin:0 0 6px}
.blg-author p{margin:0;font-size:14.5px;line-height:1.68;color:var(--muted)}
.blg-author a{color:var(--orange-d);font-weight:600;text-decoration:none}
.blg-author a:hover{text-decoration:underline}

/* ---- faq ---- */
.blg-faqs{margin-top:clamp(28px,3vw,36px);border-top:1px solid var(--line-2)}
.blg-faqs .blg-q{border-bottom:1px solid var(--line)}
.blg-faqs summary{cursor:pointer;list-style:none;padding:14px 40px 14px 0;position:relative;font-family:var(--disp);font-weight:700;font-size:clamp(15.5px,1.4vw,17.5px);line-height:1.4;color:var(--ink)}
.blg-faqs summary::-webkit-details-marker{display:none}
/* the question is marked up as an H3 for search engines; it must not pick up
   the heading margins or size, so it inherits the summary's own type */
.blg-faqs summary h3{font:inherit;color:inherit;letter-spacing:inherit;margin:0;display:inline}
.blg-faqs summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;margin-top:-7px;border-right:2px solid var(--orange-d);border-bottom:2px solid var(--orange-d);transform:rotate(45deg);transition:transform .22s}
.blg-faqs .blg-q[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.blg-faqs .blg-a{padding:0 0 15px;font-size:15px;line-height:1.65;color:var(--text)}
.blg-faqs .blg-a p{margin:0}

/* ---- related posts ---- */
.blg-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
@media (max-width:900px){.blg-rel{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.blg-rel{grid-template-columns:1fr}}
.blg-rc{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.blg-rc:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,22,28,.09);border-color:var(--line-2)}
.blg-rc span{font-family:var(--body);font-weight:700;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--orange-d)}
.blg-rc b{font-family:var(--disp);font-weight:700;font-size:16px;line-height:1.32;color:var(--ink);letter-spacing:-.013em}

/* ---- share row ---- */
.blg-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:clamp(24px,2.6vw,32px);padding-top:16px;border-top:1px solid var(--line)}
.blg-share span{font-size:12.5px;color:var(--muted);margin-right:4px}
.blg-share a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--muted);transition:.18s}
.blg-share a:hover{border-color:var(--orange);color:var(--orange-d);background:var(--orange-50)}
.blg-share svg{width:16px;height:16px}

.ed-cov.ed-cov-img{background:var(--panel-2)}
.ed-cov.ed-cov-img::before,.ed-cov.ed-cov-img::after{display:none}
.ed-cov.ed-cov-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- blog article CTA: three tracks so a wide band is actually used.
   copy | proof points | actions, divided by hairlines. ---- */
.blg-cta{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(20px,2.6vw,34px);
  align-items:center;background:linear-gradient(120deg,var(--cta-a),var(--cta-b));
  border-radius:18px;padding:clamp(24px,2.6vw,30px) clamp(24px,2.8vw,34px);position:relative;overflow:hidden}
.blg-cta::after{content:"";position:absolute;right:-90px;top:-110px;width:320px;height:320px;
  border-radius:50%;background:rgba(255,255,255,.09)}
.blg-cta>*{position:relative;z-index:1}
.blg-cta .lab{display:flex;align-items:center;gap:9px;font-family:var(--body);font-weight:700;
  font-size:10.5px;line-height:1;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.95);margin:0 0 11px}
.blg-cta .lab::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
.blg-cta h2{font-family:var(--disp);font-weight:800;font-size:clamp(22px,2.6vw,32px);line-height:1.14;
  letter-spacing:-.026em;color:#fff;margin:0 0 9px}
.blg-cta h2::after{display:none}
.blg-cta p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.97)}
.blg-cta .trust{display:grid;gap:11px;padding-left:clamp(20px,2.6vw,34px);
  border-left:1px solid rgba(255,255,255,.28)}
.blg-cta .trust span{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;
  color:#fff;white-space:nowrap}
.blg-cta .trust svg{width:14px;height:14px;flex:none;opacity:.9}
.blg-cta .acts{display:flex;flex-direction:column;gap:10px;flex:none;min-width:214px}
.blg-cta .acts a{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;
  border-radius:11px;padding:14px 24px;font-family:var(--body);font-weight:700;font-size:14.5px;
  text-decoration:none;transition:.18s}
.blg-cta .acts a.solid{background:#fff;color:var(--cta-b)}
.blg-cta .acts a.solid:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.2)}
.blg-cta .acts a.ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.blg-cta .acts a.ghost:hover{background:rgba(255,255,255,.14)}
@media (max-width:1080px){
  .blg-cta{grid-template-columns:minmax(0,1fr) auto}
  .blg-cta .trust{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:10px 22px;
    padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.26)}
}
@media (max-width:680px){
  .blg-cta{grid-template-columns:1fr;gap:18px}
  .blg-cta .acts{flex-direction:row;flex-wrap:wrap;min-width:0;grid-row:3}
  .blg-cta .acts a{flex:1 1 auto}
  .blg-cta .trust{grid-row:2}
}

/* ---- article right rail ---- */
.blg-aside > .stick{display:grid;gap:14px}
.blg-aside .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.blg-aside .card.accent{background:linear-gradient(140deg,var(--cta-a),var(--cta-b));border:0}
.blg-aside .lab{display:block;font-family:var(--body);font-weight:700;font-size:10px;line-height:1;
  letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}
.blg-aside .card.accent .lab{color:rgba(255,255,255,.95)}
.blg-aside h3{font-family:var(--disp);font-weight:700;font-size:16.5px;line-height:1.25;
  letter-spacing:-.015em;color:var(--ink);margin:0 0 8px}
.blg-aside .card.accent h3{color:#fff}
.blg-aside p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}
.blg-aside .card.accent p{color:rgba(255,255,255,.97)}
.blg-aside ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.blg-aside li{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.45;color:#fff;font-weight:600}
.blg-aside li svg{width:13px;height:13px;flex:none;margin-top:2px;opacity:.9}
.blg-aside .btn-wrap{margin-top:14px}
.blg-aside .go{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;
  color:var(--cta-b);border-radius:10px;padding:12px 18px;font-family:var(--body);font-weight:700;
  font-size:14px;text-decoration:none;transition:.18s;white-space:nowrap}
.blg-aside .go:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.blg-aside .facts{display:grid;gap:9px;margin-top:2px}
.blg-aside .facts div{display:flex;justify-content:space-between;gap:12px;font-size:13px;
  padding-bottom:9px;border-bottom:1px solid var(--line)}
.blg-aside .facts div:last-child{border-bottom:0;padding-bottom:0}
.blg-aside .facts span{color:var(--muted)}
.blg-aside .facts b{color:var(--ink);font-weight:600;text-align:right}

/* the rail only earns its place when there is spare width. Below this there is
   none, and the closing CTA band already carries the same offer. */
@media (max-width:1180px){.blg-aside{display:none}}

/* ---- BLOG: mid-article CTA -------------------------------------------
   The closing band sits below the FAQs, which is a long way down on a
   2,000 word article. This one sits in the flow, reads as part of the page
   and gives the reader an exit to the contact form while they are still in
   the argument. */
.blg-mid{display:flex;align-items:center;gap:clamp(14px,1.8vw,22px);flex-wrap:wrap;
  margin:clamp(22px,2.4vw,30px) 0;padding:clamp(16px,1.9vw,22px) clamp(18px,2vw,24px);
  background:var(--orange-50);border:1px solid #F6CB9A;border-radius:14px}
.blg-mid .txt{flex:1 1 300px;min-width:0}
.blg-mid .lab{display:block;font-family:var(--body);font-weight:700;font-size:10.5px;
  line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d);margin-bottom:8px}
.blg-mid b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(16px,1.8vw,19px);
  line-height:1.24;color:var(--text);margin-bottom:5px}
.blg-mid p{margin:0;font-size:14.5px;line-height:1.55;color:#5A3208}
.blg-mid a.go{display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap;
  padding:11px 19px;border-radius:9px;background:var(--orange);color:var(--ink);font-weight:700;
  font-size:14px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.blg-mid a.go:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(255,131,3,.32)}
.blg-mid a.go svg{width:15px;height:15px;flex:none}
@media (max-width:560px){.blg-mid a.go{width:100%;justify-content:center}}

/* ============ RESOURCE CARD LINK ============
   The nine cards on /resources/ were titles and descriptions in a plain div
   with no destination, so clicking one did nothing. Each is now an anchor to
   its own page. This inherits the card's existing look and adds the affordance
   that tells a reader it goes somewhere. */
a.incl-card{text-decoration:none;color:inherit;display:block;transition:
  transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.incl-card:hover{transform:translateY(-2px);border-color:var(--orange);
  box-shadow:0 10px 26px rgba(20,22,28,.07)}
a.incl-card .ic-more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  font-family:var(--body);font-weight:600;font-size:13.5px;color:var(--orange-d)}
a.incl-card .ic-more svg{width:14px;height:14px;flex:none;transition:transform .18s ease}
a.incl-card:hover .ic-more svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){
  a.incl-card,a.incl-card .ic-more svg{transition:none}
  a.incl-card:hover{transform:none}
  a.incl-card:hover .ic-more svg{transform:none}
}

/* ============ COST COMPARISON CALCULATOR ============
   Used on one page, /finance-cost-comparison-calculator/. Every figure is
   entered by the visitor and nothing is stored or sent, so there is no state
   to style beyond the inputs and the result. */
.calcx{border:1px solid var(--line);border-radius:18px;background:var(--panel);
  padding:clamp(20px,3vw,30px)}
.calcx-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px)}
.calcx-col h3{font-family:var(--disp);font-weight:700;font-size:17px;
  color:var(--ink);margin:0 0 16px}
.calcx-col label{display:block;font-family:var(--body);font-size:13.5px;
  line-height:1.5;color:var(--muted);margin-bottom:14px}
.calcx-col input{display:block;width:100%;margin-top:6px;padding:10px 12px;
  font:600 15px/1.3 var(--body);color:var(--ink);background:var(--panel-2);
  border:1px solid var(--line);border-radius:9px;transition:border-color .15s ease}
.calcx-col input:focus{outline:2px solid var(--orange);outline-offset:1px;
  border-color:var(--orange)}
.calcx-hint{font-size:13px;line-height:1.6;color:var(--muted);margin:18px 0 0}
.calcx-out{margin-top:6px;border-top:1px solid var(--line);padding-top:20px}
.calcx-out .cx-row{display:flex;justify-content:space-between;gap:18px;
  align-items:baseline;padding:9px 0;font-family:var(--body);font-size:15px;
  color:var(--muted)}
.calcx-out .cx-row b{font-family:var(--disp);font-weight:700;font-size:17px;
  color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.calcx-out .cx-diff{border-top:1px solid var(--line);margin-top:8px;padding-top:15px}
.calcx-out .cx-diff b{color:var(--orange-d)}
.calcx-out .cx-note{font-size:13.5px;line-height:1.65;color:var(--muted);
  margin:12px 0 0}
.calcx-foot{font-size:12.5px;line-height:1.6;color:var(--muted);margin:16px 0 0}
@media (max-width:760px){.calcx-grid{grid-template-columns:1fr}}
