
:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --bg:#FFFFFF; --soft:#F3F6F9; --ink:#0F1F3D; --muted:#4B5A75; --line:#D8DFE9;
  --teal:#8A6A12; --btn-bg:#0F1F3D; --btn-fg:#FFFFFF; --gold:#C79A2B;
  --band:#0F1F3D; --band-ink:#FFFFFF; --band-muted:#B9C5DA;
  color-scheme:light;
  --font:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:2px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0;font-weight:600}
h1{font-size:clamp(2.4rem,6vw,4.1rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{margin:0}
.lead{font-size:1.15rem;color:var(--muted);max-width:34em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:6px;font:inherit;font-weight:600;text-decoration:none;border:1.5px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);filter:none}
.link{font-weight:600;color:var(--teal);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:40px;height:40px;border-radius:8px;background:#fff}
.brand b{display:block;font-size:1.25rem;letter-spacing:.01em;line-height:1}
.brand small{white-space:nowrap;display:block;font-size:.76rem;color:var(--muted);margin-top:3px;line-height:1}
.nav{display:none;gap:20px;align-items:center}
.nav a{white-space:nowrap;text-decoration:none;font-weight:500;font-size:.98rem;color:var(--muted)}
.nav a:hover{color:var(--ink)}
.nav .btn{min-height:40px;padding:0 18px;color:var(--btn-fg);font-size:.95rem}
.menu-btn{width:44px;height:44px;border:0;background:transparent;color:var(--ink);border-radius:6px;padding:0;cursor:pointer;display:grid;place-items:center}
.bars{position:relative;width:24px;height:18px;display:block}
.bars i{position:absolute;left:0;width:100%;height:2.5px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease,top .2s ease}
.bars i:nth-child(1){top:0}
.bars i:nth-child(2){top:7.75px}
.bars i:nth-child(3){top:15.5px}
.menu-btn[aria-expanded="true"] .bars i:nth-child(1){top:7.75px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .bars i:nth-child(3){top:7.75px;transform:rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.bars i{transition:none}}
.mobile-nav{display:none;border-top:1px solid var(--line);padding:8px 24px 20px}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}
.mobile-nav .btn{margin-top:16px;width:100%;border-bottom:0}
@media (min-width:1320px){.site-header .wrap{max-width:1280px}.nav{display:flex}.menu-btn,.mobile-nav{display:none!important}}

/* hero */
.hero{padding:56px 0 64px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 440px at 84% 16%,rgba(199,154,43,.13),transparent 70%),radial-gradient(440px 380px at 2% 98%,rgba(15,31,61,.06),transparent 70%)}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(15,31,61,.11) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 75%);mask-image:linear-gradient(to bottom,#000,transparent 75%)}
.hero-grid{display:grid;gap:44px;position:relative;z-index:1}
.hero h1{font-size:clamp(2.4rem,9.5vw,3.3rem);line-height:1.06}
@media (min-width:900px){.hero h1{font-size:clamp(2.4rem,3.7vw,3.4rem)}}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rot{display:inline-grid;position:relative;color:var(--teal)}
.rot>span{grid-area:1/1;opacity:0;transform:translateY(.35em);transition:opacity .45s ease,transform .45s ease}
.rot>span.on{opacity:1;transform:none}
.rot::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.1em;background:var(--gold);border-radius:3px}
.hero .lead{margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:30px;align-items:center}
.hlink{gap:6px;font-weight:600;color:var(--ink);text-decoration:none;padding:0 4px;min-height:48px;display:inline-flex;align-items:center}
.hlink:hover{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.hpills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.hpills a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.85);color:var(--ink);font-weight:600;font-size:.93rem;text-decoration:none;transition:border-color .2s,transform .2s}
.hpills a:hover{border-color:var(--teal);transform:translateY(-1px)}
.hpills i{width:8px;height:8px;border-radius:50%;background:var(--teal)}
.hpills small{font-weight:400;color:var(--muted);font-size:.8rem}
.htbar{position:relative;z-index:1;margin-top:40px}
.htrust{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.htrust li{position:relative;padding-left:24px;font-size:.93rem;color:var(--muted)}
.htrust li::before{content:"";position:absolute;left:3px;top:.28em;width:6px;height:11px;border:solid var(--teal);border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (min-width:900px){.hero{padding:88px 0 96px}.hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px}.htrust{grid-template-columns:repeat(4,1fr);gap:8px 22px}}
.hero-copy>*{animation:rise .7s both}
.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}
.spot{animation:pop .7s .15s both}
@media (prefers-reduced-motion:reduce){.hero-copy>*,.spot{animation:none}.rot>span{transition:none}}


/* spotlight */
.spot{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;background:var(--soft);padding:14px;position:relative;overflow:hidden;box-shadow:0 18px 40px -22px rgba(15,31,61,.35)}
@media (min-width:900px){.spot{padding:20px}.slide h2{font-size:1.5rem}}
@keyframes sp-fill{from{width:0}to{width:100%}}
.slides{display:grid;touch-action:pan-y;overflow:hidden;transition:height .35s ease}
.slide{grid-area:1/1;align-self:start;visibility:hidden;opacity:0;transition:opacity .4s ease;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.slide.on{visibility:visible;opacity:1}
.media{width:100%;aspect-ratio:16/11;border-radius:6px;overflow:hidden;position:relative;background:#fff;border:1px solid var(--line)}
.slide h2{font-size:1.3rem;letter-spacing:-.01em;margin-top:2px}
.slide p{color:var(--muted);font-size:.97rem;line-height:1.5}
.slide .tag{margin-top:2px}
.slide .btn{min-height:44px;margin-top:2px}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes lit{from{background:#fff;color:var(--teal)}to{background:var(--teal);color:#fff}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.v-facts{padding:10px 14px;display:flex;flex-direction:column;justify-content:center;height:100%}
.fr{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:.88rem}
.fr:first-child{border-top:0}
.fr span{color:var(--muted)}.fr b{font-weight:600;text-align:right}
.slide.on .fr{animation:rise .5s both;animation-delay:calc(var(--i)*.14s + .15s)}
.v-calc{padding:10px 14px;display:flex;flex-direction:column;justify-content:center;gap:6px;height:100%}
.v-calc label{font-size:.8rem;font-weight:600;color:var(--muted)}
.v-calc input{width:100%;min-height:42px;padding:6px 12px;border:1px solid #9AA7BC;border-radius:6px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.v-calc .net small{display:block;font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-bottom:2px}
.v-calc .net{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.v-calc .mini{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}
.v-calc .mini b{color:var(--ink)}
.v-tour img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transition:opacity .6s ease}
.v-tour img.on{opacity:1;animation:kb 7s ease-out both}
.v-tour .cap{position:absolute;left:8px;bottom:8px;background:rgba(15,31,61,.9);color:#fff;font-size:.78rem;font-weight:600;padding:4px 11px;border-radius:99px;z-index:2}
.v-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 8px;height:100%;align-items:center;text-align:center}
.st{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;font-size:.78rem;line-height:1.25;color:var(--ink)}
.st i{width:34px;height:34px;border-radius:50%;border:2px solid var(--teal);display:grid;place-items:center;font-style:normal;font-weight:700;background:#fff;color:var(--teal);position:relative;z-index:1}
.st:not(:last-child)::after{content:"";position:absolute;top:17px;left:calc(50% + 20px);width:calc(100% - 40px + 4px);height:2px;background:var(--line)}
.slide.on .st{animation:rise .5s both;animation-delay:calc(var(--i)*.45s)}
.slide.on .st i{animation:lit .4s both;animation-delay:calc(var(--i)*.45s + .35s)}
.v-checks{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:12px;height:100%}
.ck{display:flex;gap:10px;align-items:center;font-size:.92rem;line-height:1.3}
.ck i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--teal);position:relative}
.ck i::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.slide.on .ck{animation:rise .5s both;animation-delay:calc(var(--i)*.45s + .1s)}
.v-stats{display:grid;grid-template-columns:1fr 1fr;height:100%}
.sc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;text-align:center}
.sc:nth-child(2n){border-right:0}.sc:nth-last-child(-n+2){border-bottom:0}
.sc b{font-size:1.8rem;letter-spacing:-.02em;line-height:1}
.sc span{font-size:.78rem;color:var(--muted)}
.slide.on .sc{animation:pop .5s both;animation-delay:calc(var(--i)*.15s)}
.vbox{position:relative;width:100%;height:100%;border:0;padding:0;cursor:pointer;display:grid;place-items:center;background:var(--band);color:#fff}
.vbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbox .play{position:relative;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center}
.vbox .play::after{content:"";border-left:17px solid var(--band);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.vbox iframe,.vbox video{position:absolute;inset:0;width:100%;height:100%;border:0}
.v-image img{width:100%;height:100%;object-fit:cover;animation:kb 12s ease-in-out infinite alternate}
.segs{display:flex;gap:5px;margin-bottom:10px}
.seg{position:relative;flex:1;height:22px;border:0;background:none;padding:0;cursor:pointer}
.seg::before{content:"";position:absolute;left:0;right:0;top:9px;height:4px;border-radius:3px;background:#D3DCE7}
.seg i{position:absolute;left:0;top:9px;height:4px;width:0;border-radius:3px;background:var(--teal)}
.seg.done i,.seg.cur i{width:100%}
.seg.cur.run i{width:0;animation:sp-fill var(--d,7000ms) linear forwards}
.seg:hover::before{background:#B9C6D6}
.spot-ctl{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.spc{white-space:nowrap;font-size:.88rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.spb{display:flex;gap:6px;align-items:center}
.arrow{width:38px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0}
.arrow:hover{border-color:var(--teal);color:var(--teal)}
.pp{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.pp:hover{border-color:var(--ink)}
@media (prefers-reduced-motion:reduce){.slides,.slide,.v-tour img{transition:none}.slide *{animation:none!important}}
.clients{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:16px}
.clients a,.clients span{color:var(--ink);font-weight:600;text-decoration:none}
.clients img{max-height:40px;width:auto;filter:grayscale(1);opacity:.85}
.quote{padding:20px 0;border-top:1px solid var(--line);max-width:46em;margin-top:16px}
.quote p{font-size:1.15rem;margin:0}
.quote cite{display:block;margin-top:8px;font-style:normal;color:var(--muted);font-size:.95rem}
/* finder and proof */
.finder{border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:24px;max-width:46em}
.finder .fstep{font-size:.88rem;color:var(--muted);margin:0 0 6px}
.finder h3{font-size:1.35rem;letter-spacing:-.01em;outline:0}
.fopts{display:grid;gap:10px;margin-top:18px}
.fo{min-height:54px;padding:12px 16px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-weight:500;text-align:left;cursor:pointer}
.fo:hover{border-color:var(--teal);background:#F8FBFB}
.fback{margin-top:16px;background:none;border:0;color:var(--teal);font:inherit;font-weight:600;cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.fres{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:20px;margin-top:16px}
.fres h4{font-size:1.25rem;margin:0 0 6px;letter-spacing:-.01em}
.fres p{margin:0 0 8px;color:var(--muted)}
.fres .fp{color:var(--ink);font-weight:600}
.fres .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.presults{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
@media (min-width:760px){.presults{grid-template-columns:repeat(4,1fr)}}
.pres{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--soft)}
.pres b{display:block;font-size:1.8rem;letter-spacing:-.02em;line-height:1.1}
.pres span{font-size:.92rem;color:var(--muted)}
.pmethod{font-size:.85rem;color:var(--muted);margin-top:10px}
.pvideos{display:grid;gap:16px;margin-top:20px}
@media (min-width:760px){.pvideos{grid-template-columns:repeat(2,1fr)}}
.pv h3{font-size:1.05rem;margin:10px 0 2px}
.pv p{margin:0;color:var(--muted);font-size:.93rem}
.pvb{position:relative;width:100%;aspect-ratio:16/9;border:0;border-radius:8px;overflow:hidden;background:var(--band);cursor:pointer;display:grid;place-items:center;padding:0}
.pvb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pvb .play{position:relative;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center}
.pvb .play::after{content:"";border-left:17px solid var(--band);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.pvb iframe,.pvb video{position:absolute;inset:0;width:100%;height:100%;border:0}
.pbadges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pbadge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-weight:600;font-size:.92rem;text-decoration:none;color:var(--ink);background:#fff}
.pbadge img{max-height:28px;width:auto}
.trust{padding:48px 0;border-bottom:1px solid var(--line);background:var(--bg)}
.trust h2{font-size:clamp(1.5rem,3vw,2rem)}
.tgrid{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--line)}
.tb{padding:18px 0;border-bottom:1px solid var(--line)}
.tb b{display:block;font-size:1.05rem;margin-bottom:4px}
.tb p{margin:0 0 6px;color:var(--muted);font-size:.97rem;max-width:34em}
@media (min-width:860px){.tgrid{grid-template-columns:repeat(3,1fr);column-gap:36px}.tb{padding:22px 0}}
.tcall{margin:20px 0 0;color:var(--muted)}
.finder details.ffollow{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.ffollow summary{cursor:pointer;font-weight:600;color:var(--teal)}
.ffollow form{display:grid;gap:10px;margin-top:12px}
.ffollow input[type=text],.ffollow input[type=tel],.ffollow input[type=email]{width:100%;min-height:46px;padding:9px 12px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.ffollow label{font-size:.88rem;font-weight:600;display:block;margin-bottom:4px}
.ffollow .fc{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;cursor:pointer;margin:0}
.ffollow .fc input{margin-top:3px;width:18px;height:18px;accent-color:var(--btn-bg);flex:none}
.ffollow .fst{font-size:.92rem;margin:0}.ffollow .fst.err{color:#9B1C1C;font-weight:600}
/* sections */
section{scroll-margin-top:72px}
.sec{padding:72px 0}
.sec.soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:40em;margin-bottom:40px}
.sec-head p{margin-top:14px;color:var(--muted);font-size:1.08rem}

/* products as rows */
.products{border-top:1px solid var(--line)}
.product{display:grid;gap:12px;padding:28px 0;border-bottom:1px solid var(--line)}
.product h3{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.product .what{color:var(--muted);margin-top:6px;max-width:34em}
.product .price b{display:block;font-size:1.1rem}
.product .price span{font-size:.9rem;color:var(--muted)}
.product .go{align-self:center;display:flex;flex-direction:column;gap:8px}
@media (min-width:860px){
  .product{grid-template-columns:1.6fr 1.1fr .7fr;gap:40px;align-items:start}
  .product .go{text-align:right;align-self:start;align-items:flex-end}
}
.plain{text-decoration:none}
.plain:hover{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.link.alt{color:var(--ink);font-weight:500}
.tag{font-size:.78rem;font-weight:600;color:var(--teal);border:1px solid var(--teal);border-radius:99px;padding:2px 10px;line-height:1.5}
.small-print{margin-top:20px;font-size:.92rem;color:var(--muted);max-width:46em}

/* managed */
.managed{display:grid;gap:40px}
.managed ul{margin:20px 0 0;padding:0;list-style:none}
.managed li{padding:10px 0 10px 26px;position:relative;border-top:1px solid var(--line)}
.managed li::before{content:"";position:absolute;left:2px;top:19px;width:10px;height:6px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.pricebox{border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--bg);align-self:start}
.pricebox .big{font-size:2.3rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.pricebox .per{color:var(--muted);margin-top:2px}
.pricebox hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.pricebox p.m{font-size:.95rem;color:var(--muted)}
.pricebox .btn{margin-top:22px;width:100%}
@media (min-width:860px){.managed{grid-template-columns:1.3fr 1fr;gap:72px}}

.pricebox table{width:100%;border-collapse:collapse;font-size:.98rem}
.pricebox th,.pricebox td{text-align:left;padding:11px 0;border-top:1px solid var(--line);font-weight:400;color:var(--muted);vertical-align:top}
.pricebox tr:first-child th,.pricebox tr:first-child td{border-top:0;padding-top:0}
.pricebox td{text-align:right;color:var(--ink);font-weight:600;padding-left:12px}

/* jobs */
.jobs{display:grid;gap:24px}
.panel{border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--bg)}
.panel h3{margin-bottom:6px}
.panel p.s{color:var(--muted);font-size:.98rem;margin-bottom:20px}
label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}
input[type=text]{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit}
input[type=text]::placeholder{color:var(--muted);opacity:.8}
.field{margin-bottom:14px}
.panel .btn{width:100%}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.98rem}
.steps li::before{content:counter(s);flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--teal);color:var(--teal);font-weight:600;font-size:.85rem;display:grid;place-items:center}
.steps+.btn{margin-top:22px}
@media (min-width:860px){.jobs{grid-template-columns:1fr 1fr;gap:32px}}


/* lead form */
.lead-form{border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--bg)}
.lead-form h3{margin-bottom:4px}
.lead-form .s{font-size:.95rem;color:var(--muted);margin:0 0 18px}
.lead-form .grid{display:grid;gap:14px}
@media (min-width:640px){.lead-form .grid.two{grid-template-columns:1fr 1fr}}
.lead-form .field{margin:0}
.lead-form input[type=email],.lead-form input[type=tel],.lead-form select,.lead-form textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.lead-form input[type=text]{border-color:#9AA7BC;background:#fff}
.lead-form textarea{min-height:96px;resize:vertical;line-height:1.5}
.lead-form .opt{font-weight:400;color:var(--muted)}
.lead-form .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:.95rem;cursor:pointer;margin:0}
.lead-form .check input{margin-top:4px;width:18px;height:18px;accent-color:var(--btn-bg);flex:none}
.lead-form .check small{display:block;color:var(--muted);font-size:.86rem}
.lead-form .btn{width:100%;margin-top:6px}
.lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-status{margin-top:12px;font-size:.95rem}
.lead-status.err{color:#9B1C1C;font-weight:600}
.lead-done{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:28px;background:var(--bg)}
.lead-done h3{font-size:1.4rem}
.lead-done p{margin-top:10px;color:var(--muted)}
.lead-done .btn{margin-top:18px}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* assessment band */
.band{background:var(--band);color:var(--band-ink);padding:72px 0;border-top:3px solid var(--gold)}
.band-grid{display:grid;gap:28px;align-items:center}
.band p{color:var(--band-muted);margin-top:14px;max-width:38em}
.band .btn{background:#fff;color:#0F1F3D;border-color:#fff}
.band .btn.ghost{background:transparent;color:#fff;border-color:#5B6E93}
.band .btn.ghost:hover{border-color:#fff}
.band .actions{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){.band-grid{grid-template-columns:1.4fr 1fr}.band .actions{justify-content:flex-end}}

/* about / contact */
.cols{display:grid;gap:40px}
@media (min-width:860px){.cols{grid-template-columns:1fr 1fr;gap:72px}}
.contact-list{list-style:none;margin:20px 0 0;padding:0}
.contact-list li{padding:12px 0;border-top:1px solid var(--line)}
.contact-list span{display:block;font-size:.88rem;color:var(--muted)}

footer{border-top:1px solid var(--line);padding:40px 0 48px;font-size:.93rem;color:var(--muted)}
.foot-grid{display:grid;gap:28px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--ink);text-decoration:underline}
@media (min-width:860px){.foot-grid{grid-template-columns:1.4fr 1fr;align-items:start}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.skip{position:absolute;left:-9999px;top:8px;background:var(--btn-bg);color:var(--btn-fg);padding:10px 16px;border-radius:6px;z-index:50;text-decoration:none;font-weight:600}
.skip:focus{left:16px}
.legal-row{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:12px}
@media (min-width:860px){.legal-row{grid-template-columns:1fr auto;align-items:center}}

/* product pages */
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:6px;font:inherit;font-weight:600;text-decoration:none;border:1.5px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink);filter:none}
.link{font-weight:600;color:var(--teal);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.crumbs{font-size:.92rem;color:var(--muted);padding:20px 0 0}
.crumbs a{color:var(--muted)}
.phero{padding:28px 0 56px}
.phero h1{font-size:clamp(2.1rem,5.5vw,3.5rem);font-weight:700;max-width:15em}
.phero .lead{margin-top:18px;font-size:1.15rem;color:var(--muted);max-width:38em}
.pricing-line{margin-top:20px;font-size:1.05rem}
.pricing-line b{font-weight:700}
.pcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line);border-radius:8px;margin-top:36px;overflow:hidden}
.stats div{padding:18px 20px;border-bottom:1px solid var(--line)}
.stats b{display:block;font-size:1.7rem;letter-spacing:-.02em}
.stats span{font-size:.92rem;color:var(--muted)}
@media (min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}.stats div{border-bottom:0;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}}
.sec{padding:64px 0}
.sec.soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}
.sec .intro{margin-top:12px;color:var(--muted);font-size:1.05rem;max-width:40em}
.shots{display:grid;gap:28px;margin-top:32px}
@media (min-width:860px){.shots{grid-template-columns:1fr 1fr;gap:32px}}
.shot{margin:0}
.shot img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.shot figcaption{margin-top:10px;font-size:.95rem;color:var(--muted)}
.shot figcaption b{color:var(--ink);font-weight:600}
.note{margin-top:18px;font-size:.9rem;color:var(--muted)}
.groups{display:grid;gap:0;margin-top:32px;border-top:1px solid var(--line)}
.group{display:grid;gap:10px;padding:26px 0;border-bottom:1px solid var(--line)}
.group h3{font-size:1.15rem}
.group ul{margin:0;padding-left:1.15em;color:var(--muted)}
.group li{margin-bottom:6px}
.group li b{color:var(--ink);font-weight:600}
@media (min-width:860px){.group{grid-template-columns:260px 1fr;gap:40px}}
.table{width:100%;border-collapse:collapse;margin-top:28px;font-size:.98rem}
.table th,.table td{text-align:left;padding:14px 12px 14px 0;border-top:1px solid var(--line);vertical-align:top}
.table thead th{border-top:0;font-size:.88rem;color:var(--muted);font-weight:600}
.table td b{font-weight:700}
.scroll{overflow-x:auto}
.faq{margin-top:28px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--teal);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq p{margin:0 0 18px;color:var(--muted);max-width:44em}
.fcta{background:var(--ink);color:#fff;padding:64px 0;border-top:3px solid var(--gold)}
.fcta h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.2rem);max-width:20em}
.fcta p{color:#B9C5DA;margin:12px 0 0;max-width:38em}
.fcta .btn{background:#fff;color:#0F1F3D;border-color:#fff}
.fcta .btn.ghost{background:transparent;color:#fff;border-color:#5B6E93}
.fcta .btn.ghost:hover{border-color:#fff}
.others{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:.97rem}
[hidden]{display:none!important}

.team{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.member{padding:18px 0;border-bottom:1px solid var(--line)}
.member b{display:block;font-size:1.05rem}
.member .role{color:var(--teal);font-weight:600;font-size:.95rem}
.member p{margin:6px 0 0;color:var(--muted);font-size:.97rem}
@media (min-width:860px){.team{grid-template-columns:1fr 1fr;column-gap:56px}}
.calc{margin-top:40px;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:24px}
.calc h3{font-size:1.25rem}
.calc .cg{display:grid;gap:14px;margin-top:18px}
@media (min-width:760px){.calc .cg{grid-template-columns:1fr 1fr 1fr}}
.calc label,.calc .lbl{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.calc input[type=number],.calc select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.calc .res{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:14px}
@media (min-width:760px){.calc .res{grid-template-columns:1fr 1fr}}
.calc .big{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.calc .sub{font-size:.92rem;color:var(--muted);margin-top:4px}
.calc .cta{margin-top:18px}
.proof q{quotes:none}
.quote{padding:20px 0;border-top:1px solid var(--line);max-width:46em}
.quote p{font-size:1.15rem;margin:0}
.quote cite{display:block;margin-top:8px;font-style:normal;color:var(--muted);font-size:.95rem}
.clients{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:16px}
.clients a,.clients span{color:var(--ink);font-weight:600;text-decoration:none}
.clients img{max-height:40px;width:auto;filter:grayscale(1);opacity:.85}


/* scorelian additions */
.hero h1{font-size:clamp(2.3rem,8.6vw,3rem)}
@media (min-width:900px){.hero h1{font-size:clamp(2.2rem,3vw,2.7rem)}.hero-grid{grid-template-columns:1.25fr 1fr}}
.hpills a{padding:0 10px;font-size:.9rem}
.hero h1 .u{display:inline-block;white-space:nowrap;color:var(--teal);transition:opacity .35s ease,transform .35s ease}
.hero h1 .u.out{opacity:0;transform:translateY(-.3em)}
.hero h1 .u.pre{opacity:0;transform:translateY(.3em);transition:none}
@media (prefers-reduced-motion:reduce){.hero h1 .u{transition:none}}
.brand img{width:auto;height:40px;border-radius:0;background:none}
.stats3{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:8px;margin-top:28px;overflow:hidden;background:var(--bg)}
.stats3 div{padding:18px 20px;border-bottom:1px solid var(--line)}
.stats3 b{display:block;font-size:1.7rem;letter-spacing:-.02em}
.stats3 span{font-size:.92rem;color:var(--muted)}
@media (min-width:760px){.stats3{grid-template-columns:repeat(4,1fr)}.stats3 div{border-bottom:0;border-right:1px solid var(--line)}.stats3 div:last-child{border-right:0}}
.steps7{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.st7{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.st7 i{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--teal);color:var(--teal);font-style:normal;font-weight:700;display:grid;place-items:center}
.st7 b{display:block}.st7 p{margin:2px 0 0;color:var(--muted);font-size:.97rem}
@media (min-width:860px){.steps7{grid-template-columns:1fr 1fr;column-gap:56px}}
.ext::after{content:" \2197";font-weight:400}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.lead-note{font-size:.9rem;color:var(--muted)}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill-row a,.pill-row span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font-weight:500;font-size:.95rem;text-decoration:none}
.pill-row a:hover{border-color:var(--teal)}
.two{display:grid;gap:24px}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr;gap:48px}}
.card{border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--bg)}
.card h3{font-size:1.15rem;margin-bottom:6px}
.card p{margin:0;color:var(--muted)}
.quote-card{border-left:3px solid var(--gold);padding:6px 0 6px 20px;margin:24px 0;font-size:1.1rem}
.quote-card cite{display:block;margin-top:8px;font-style:normal;color:var(--muted);font-size:.95rem}
.pcard{display:grid;gap:12px;margin-top:28px}
@media (min-width:760px){.pcard{grid-template-columns:repeat(3,1fr);gap:20px}}
.pcard a{display:block;border:1px solid var(--line);border-radius:8px;padding:20px;text-decoration:none;background:var(--bg)}
.pcard a:hover{border-color:var(--teal)}
.pcard b{display:block;font-size:1.05rem;margin-bottom:4px;color:var(--ink)}
.pcard span{color:var(--muted);font-size:.95rem}
.lead-panel{display:grid;gap:12px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.tabs button{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}
.calc2{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:24px;margin-top:20px}
.calc2 .cg{display:grid;gap:14px;margin-top:16px}
@media (min-width:760px){.calc2 .cg{grid-template-columns:1fr 1fr}}
.calc2 label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.calc2 input,.calc2 select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.calc2 .btn{margin-top:16px}
.res{margin-top:20px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:20px;background:var(--soft)}
.res .big{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.res .lbl{font-size:.9rem;font-weight:600;color:var(--muted)}
.res table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.97rem}
.res td{padding:9px 0;border-top:1px solid var(--line)}
.res td:last-child{text-align:right;font-weight:600;white-space:nowrap}
.book{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}
.book h3{font-size:1.2rem}.book p{margin:0;color:var(--muted)}
ul.tick{list-style:none;padding:0;margin:14px 0 0}
ul.tick li{position:relative;padding:10px 0 10px 30px;border-top:1px solid var(--line);color:var(--ink)}
ul.tick li::before{content:"";position:absolute;left:4px;top:15px;width:7px;height:12px;border:solid var(--teal);border-width:0 2px 2px 0;transform:rotate(45deg)}
.principles{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.principle{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.principle i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:700;display:grid;place-items:center;font-size:.9rem}
.principle b{display:block}.principle p{margin:2px 0 0;color:var(--muted);font-size:.97rem}
@media (min-width:860px){.principles{grid-template-columns:1fr 1fr;column-gap:56px}}
.stage{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:22px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.stage h3{font-size:1.25rem}.stage p{margin:0;color:var(--muted)}
.stage ul{margin:0;padding-left:1.1em;color:var(--muted)}
.stage .link{margin-top:auto}
.stages{display:grid;gap:16px;margin-top:28px}
@media (min-width:860px){.stages{grid-template-columns:repeat(3,1fr);gap:20px}}
.values{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--line)}
.values div{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.values i{flex:none;width:34px;height:34px;border-radius:6px;background:var(--ink);color:var(--gold);font-style:normal;font-weight:700;display:grid;place-items:center}
.values b{display:block}.values p{margin:2px 0 0;color:var(--muted);font-size:.97rem}
.timeline{margin-top:24px;border-left:2px solid var(--line);padding-left:22px}
.timeline div{position:relative;padding:0 0 22px}
.timeline div::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--gold)}
.timeline b{display:block}.timeline span{font-size:.9rem;color:var(--muted)}
.timeline p{margin:4px 0 0;color:var(--muted)}
.doc{padding:56px 0 80px}
.doc .inner{max-width:46em}
.doc h1{font-size:clamp(2rem,5vw,2.9rem);line-height:1.1;letter-spacing:-.02em;margin:0;font-weight:700}
.doc .intro{margin-top:14px;font-size:1.12rem;color:var(--muted)}
.doc .updated{margin-top:10px;font-size:.92rem;color:var(--muted)}
.doc h2{font-size:1.3rem;letter-spacing:-.01em;line-height:1.25;margin:40px 0 8px;font-weight:600}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 14px;padding-left:1.2em}
.doc li{margin-bottom:6px}
.doc a{color:var(--teal);font-weight:600;text-underline-offset:3px}
.contact-box{margin-top:44px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}
.contact-box p{margin:0}
/* header: sticky with shadow, dropdown menus */
.site-header{transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:0 8px 24px -14px rgba(15,31,61,.4)}
.dd{position:relative}
.dd-btn{background:none;border:0;font:inherit;font-weight:500;font-size:.98rem;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 0;min-height:44px;white-space:nowrap}
.dd-btn:hover,.dd.open .dd-btn{color:var(--ink)}
.dd-btn svg{transition:transform .2s ease}.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-panel{display:none;position:absolute;top:calc(100% + 4px);left:-16px;min-width:330px;max-width:92vw;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 22px 44px -18px rgba(15,31,61,.4);padding:12px;z-index:40}
.dd.open .dd-panel{display:block}
#dd-services{min-width:640px}
.dd.open #dd-services{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-items:start}
#dd-services .dd-group:first-child{grid-row:span 2}
.dd-group{padding:4px 0}.dd-group+.dd-group{border-top:0}
.dd-h{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:2px 10px 6px}
.dd-panel a{display:block;padding:9px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-weight:400;font-size:1rem}
.dd-panel a:hover,.dd-panel a:focus-visible{background:var(--soft)}
.dd-panel a b{display:block;font-size:.95rem;font-weight:600}
.dd-panel a span{display:block;font-size:.85rem;color:var(--muted);line-height:1.35}
.m-dd{border-bottom:1px solid var(--line)}
.m-dd summary{padding:14px 0;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.m-dd summary::-webkit-details-marker{display:none}
.m-dd summary::after{content:"+";font-size:1.3rem;color:var(--teal)}
.m-dd[open] summary::after{content:"\2212"}
.m-dd a{padding:10px 0 10px 14px;border-bottom:0;color:var(--muted);display:block;text-decoration:none}
.mobile-nav{max-height:calc(100vh - 70px);overflow-y:auto}

/* photos */
.hero-bg.photo{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 40%,rgba(255,255,255,.62) 100%),url(img/hero-office.jpg) center/cover no-repeat}
.pphoto{margin:30px 0 0}
.pphoto img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 22%;border-radius:12px;box-shadow:0 18px 40px -26px rgba(15,31,61,.4)}
@media (max-width:640px){.pphoto img{aspect-ratio:16/10}}


/* insights article: readable typography + desktop layout */
.art-layout{margin-top:18px}
.art-layout .article{max-width:44rem;min-width:0}
.art-aside{display:none}
@media (min-width:1024px){
  .art-layout{display:grid;grid-template-columns:minmax(0,44rem) 280px;gap:72px;justify-content:start;align-items:start}
  .art-aside:not([hidden]){display:block;position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px)}
}
.phero .article h1{font-size:clamp(1.85rem,4.4vw,2.75rem);line-height:1.15;max-width:none;margin:8px 0 0;overflow-wrap:break-word}
.article .lead-note{font-size:.9rem;font-weight:600;color:var(--teal);letter-spacing:.01em}
.article .byline{margin:14px 0 0;padding-bottom:22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.98rem}
.article .byline b{color:var(--ink);font-weight:600}
.article .body{margin-top:28px!important;font-size:1.125rem;line-height:1.75;overflow-wrap:break-word}
.article .body>*:first-child{margin-top:0}
.article .body p{margin:0 0 1.2em}
.article .body h2{font-size:clamp(1.4rem,2.8vw,1.8rem);line-height:1.25;margin:1.9em 0 .6em;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 92px)}
.article .body h3{font-size:1.2rem;margin:1.8em 0 .5em}
.article .body ul,.article .body ol{margin:0 0 1.3em;padding-left:1.4em}
.article .body li{margin:0 0 .55em;padding-left:.2em}
.article .body li::marker{color:var(--gold)}
.article .body a{color:var(--teal);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.article .body strong{font-weight:650}
.article .video{margin-top:24px}
.toc{border-left:3px solid var(--gold);padding:2px 0 2px 18px}
.toc h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin:0 0 10px}
.toc a{color:var(--ink);text-decoration:none;font-size:.95rem;line-height:1.35;display:block}
.toc a:hover,.toc a:focus-visible{color:var(--teal);text-decoration:underline}
.aside-cta{margin-top:28px;background:var(--soft);border-radius:8px;padding:18px}
.aside-cta p{font-size:.95rem;color:var(--muted);margin:0 0 12px}
.aside-cta .btn{min-height:44px;width:100%;padding:0 16px}

.article .body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.article .body blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);color:var(--muted);font-size:1.1rem}
.article .body .scroll{margin:1.6em 0;-webkit-overflow-scrolling:touch}
.article .body .table{margin-top:0;font-size:.95rem;min-width:520px}
.article .body .table th,.article .body .table td{padding:12px 14px 12px 0}
.article .body .table tbody th{font-weight:600}
.article .body .table tbody tr:last-child th,.article .body .table tbody tr:last-child td{border-bottom:1px solid var(--line)}
.article .body em{font-style:italic;color:var(--muted)}

/* ===== Header fit fix (16 Oct 2026) =====
   The logo must never shrink. Before this, the main menu was wider than the space
   beside the logo, so the browser squashed the logo (to zero width on the homepage).
   Now the logo keeps its size and the menu spacing tightens instead. */
.brand{flex:none}
.brand img{flex:none;display:block;width:auto;height:40px;max-width:none}
.nav{min-width:0}
@media (min-width:1320px){.nav{gap:14px}}
@media (min-width:1440px){.site-header .wrap{max-width:1360px}.nav{gap:20px}}

/* Phone fix (16 Oct): two-column blocks must be allowed to shrink so cards never push the page sideways */
.two{grid-template-columns:minmax(0,1fr)}
.two>*{min-width:0}
@media (min-width:860px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Photos (17 Oct 2026): supporting images, never stretched, no overlays */
.split{display:grid;gap:24px;align-items:center;margin-bottom:32px}
.split .sec-head{margin-bottom:0}
@media (min-width:860px){.split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}}
.ph{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 24px rgba(11,31,59,.10)}
.ph img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.two>div>.ph{margin-bottom:20px}

/* Request a demo or quotation form (Contact page, System demo tab) */
.rform{margin-top:8px}
.rg{display:grid;gap:14px;margin:16px 0}
@media (min-width:640px){.rg{grid-template-columns:1fr 1fr}}
.rform label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.rform input[type=text],.rform input[type=email],.rform select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.rform .opt{font-weight:400;color:var(--muted)}
.rc{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;font-size:.95rem;margin:0 0 12px!important;cursor:pointer}
.rc input{margin-top:4px;width:18px;height:18px;accent-color:var(--btn-bg);flex:none}
.rc small{display:block;color:var(--muted);font-size:.86rem}
.rform .btn{margin-top:6px}
.rstat{margin-top:12px;font-size:.95rem}.rstat.err{color:#9B1C1C;font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rform fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.rform legend{font-weight:700;font-size:1.05rem;padding:0;margin-bottom:10px}
.rform .hint{color:var(--muted);font-size:.9rem;margin:-4px 0 12px}
.opts{display:grid;gap:10px}
@media (min-width:640px){.opts.two{grid-template-columns:1fr 1fr}}
.opt-c{position:relative;display:block!important;margin:0!important;font-weight:400!important}
.opt-c input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt-c span{display:block;border:1.5px solid #9AA7BC;border-radius:8px;background:#fff;padding:12px 14px;min-height:48px;font-size:.95rem}
.opt-c span b{display:block;font-weight:700}
.opt-c span small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.opt-c input:checked+span{border-color:var(--btn-bg,#0B6670);box-shadow:0 0 0 2px var(--btn-bg,#0B6670) inset;background:#F2F8F9}
.opt-c input:focus-visible+span{outline:3px solid #C79A2B;outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .opt-c{display:inline-block!important}
.chips .opt-c span{min-height:44px;padding:10px 14px;border-radius:22px}
.qset{display:none}.qset.on{display:block}
.rform textarea{width:100%}
.rform .fld{margin-bottom:16px}
.rform input[type=url]{width:100%;min-height:48px;padding:10px 14px;border:1px solid #9AA7BC;border-radius:6px;background:#fff;color:var(--ink);font:inherit}
.steps{display:flex;gap:6px;margin:0 0 18px;padding:0;list-style:none;font-size:.82rem;color:var(--muted)}
.steps li{flex:1;border-top:4px solid var(--line);padding-top:6px}.steps li.on{border-color:var(--btn-bg,#0B6670);color:var(--ink);font-weight:600}
.summ{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:.92rem;margin:0 0 18px}

/* areas page */
.ac-hero{padding-bottom:48px}
.ac-hero .stats3{margin-top:36px}
.ac-jump{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}
.ac-jump span{font-size:.88rem;font-weight:600;color:var(--muted);margin-right:4px}
.ac-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font-weight:500;font-size:.93rem;text-decoration:none}
.ac-jump a:hover{border-color:var(--teal)}
.sec-head{max-width:40em;margin-bottom:32px}
.sec-head .intro{margin-top:12px}
.ac-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.ac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-hq,.ac-grid>.ac:last-child{grid-column:span 2}}
@media (min-width:1040px){.ac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-grid>.ac:last-child{grid-column:auto}}
.ac{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:24px;background:var(--bg);scroll-margin-top:96px}
.ac-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ac-region{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.ac-badge{font-size:.78rem;font-weight:600;background:var(--ink);color:#fff;border-radius:99px;padding:2px 12px;line-height:1.6}
.ac h3{font-size:1.6rem;line-height:1.1}
.ac-k{display:block;font-size:.88rem;font-weight:500;letter-spacing:0;color:var(--muted);margin-bottom:4px}
.ac p{color:var(--muted);font-size:.98rem}
.ac-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.ac-tags li{font-size:.8rem;font-weight:600;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:2px 11px;line-height:1.6}
.ac-links{display:grid;gap:2px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.95rem}
.ac-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-weight:600;color:var(--ink);text-decoration:none}
.ac-links a::after{content:"\2192";color:var(--teal);font-weight:400;transition:transform .15s}
.ac-links a:hover{color:var(--teal)}
.ac-links a:hover::after{transform:translateX(3px)}
.ac-links a+a{border-top:1px solid var(--line)}
.ac-hq{background:var(--soft)}
.ac-contact{display:flex;flex-direction:column;gap:2px;font-size:.97rem;color:var(--ink)!important}
.ac-contact span{flex:none;min-width:5.2em;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.ac-contact a{font-weight:600;white-space:nowrap}
.ac-dot{display:none;font-style:normal}
@media (min-width:700px){.ac-dot{display:inline}.ac-contact{flex-direction:row;gap:12px;align-items:baseline}}
.ac{min-width:0}
@media (min-width:700px){.ac-hq .ac-links{grid-template-columns:1fr 1fr;column-gap:32px}.ac-hq .ac-links a+a{border-top:0}.ac-hq .ac-links a:nth-child(n+3){border-top:1px solid var(--line)}}
.ac-how{display:grid;gap:16px}
@media (min-width:860px){.ac-how{grid-template-columns:repeat(3,1fr);gap:20px}}
.ac-n{display:grid;place-items:center;width:32px;height:32px;margin-bottom:14px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-weight:700;font-size:.9rem}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:24px 0 0;padding:0}
.ac-chips li{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:99px;background:#fff;font-weight:500;font-size:.95rem}
.ac-chips li.all{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.ac-hero .stats3 b{font-size:1.35rem;white-space:nowrap}
@media (min-width:760px){.ac-hero .stats3 b{font-size:1.7rem}}

/* Nexalia plans strip and industry system section (matches nexalia.co.ke) */
.ps-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:22px}
.ps-card{position:relative;background:#fff;border:1px solid var(--line,#d6dbe4);border-radius:14px;padding:22px 20px;box-shadow:0 6px 22px rgba(15,35,70,.06)}
.ps-card.pop{border:2px solid var(--teal,#0f766e)}
.ps-badge{position:absolute;top:-12px;left:18px;background:var(--teal,#0f766e);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}
.ps-card h3{margin:0;font-size:1.15rem}.ps-tag{margin:2px 0 12px;color:var(--muted,#51607a);font-size:.9rem}
.ps-price{margin:0;font-size:1.8rem;font-weight:800;line-height:1.1}.ps-price small{font-size:.85rem;font-weight:600;color:var(--muted,#51607a)}
.ps-per{margin:4px 0 14px;font-weight:600}.ps-card ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:.93rem}
.ps-note{margin:14px 0 0;color:var(--muted,#51607a);font-size:.85rem;max-width:60em}
.sys-kicker{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal,#0f766e)}
.sys-cols{display:grid;gap:16px;grid-template-columns:1fr;margin-top:18px}
.sys-box{background:#fff;border:1px solid var(--line,#d6dbe4);border-radius:12px;padding:18px 20px}
.sys-box h3{margin:0 0 8px;font-size:1.02rem}.sys-box ul,.pos-g ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:.93rem}
.pos-all{margin-top:18px;background:#fff;border:1px solid var(--line,#d6dbe4);border-radius:12px;padding:6px 20px}
.pos-all summary{cursor:pointer;font-weight:700;padding:12px 0}
.pos-groups{display:grid;gap:16px;grid-template-columns:1fr;padding:6px 0 10px}.pos-g h4{margin:0 0 6px;font-size:.95rem}
.pos-note{margin:12px 0 0;color:var(--muted,#51607a);font-size:.88rem;max-width:62em}
.sys-cta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:18px;align-items:center}
@media (min-width:700px){.ps-grid{grid-template-columns:repeat(2,1fr)}.sys-cols{grid-template-columns:repeat(2,1fr)}.pos-groups{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.ps-grid{grid-template-columns:repeat(4,1fr)}.pos-groups{grid-template-columns:repeat(3,1fr)}}
.ps-price{font-size:1.45rem}.ps-price small{display:block;margin-top:2px}.ps-per{font-weight:600;font-size:.95rem}

/* v18m */
ul>li.inc{list-style:none;margin-left:-18px!important;font-weight:700}
.upg-note{margin:14px 0;padding:12px 16px;background:#f3f6fb;border:1px solid #d6dbe4;border-radius:10px;font-size:.95rem}
