/* EcpPro 2026 design system (marketing concept, October 2026). Used by src/templates/site.html. */
:root{
  color-scheme:light;
  --orange:#F5871F; --orange-d:#DC6E0C; --orange-l:#FFF3E6;
  --blue:#179BD7; --blue-d:#0E7BAE; --blue-l:#E8F6FD;
  --ink:#1F262D; --ink-2:#2C3742; --ink-3:#47535F;
  --grey:#66727E; --grey-2:#8B96A1; --line:#E4E9ED; --bg:#F7F9FB; --white:#fff;
  --green:#1E9E6A; --red:#D64545;
  --r:14px; --r-s:8px; --pill:100px;
  --sh-s:0 1px 2px rgba(31,38,45,.06),0 2px 8px rgba(31,38,45,.05);
  --sh:0 4px 12px rgba(31,38,45,.07),0 12px 32px rgba(31,38,45,.07);
  --sh-l:0 12px 28px rgba(31,38,45,.10),0 32px 72px rgba(31,38,45,.14);
  --max:1180px;
  --F:'Open Sans',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --H:Lato,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--F);color:var(--ink-3);background:var(--white);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--H);color:var(--ink);line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2.05rem,4.4vw,3.6rem);font-weight:900}
h2{font-size:clamp(1.7rem,3vw,2.55rem);font-weight:900}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
h4{font-size:1rem;font-weight:700}
p{margin:0 0 1rem}
a{color:var(--blue-d);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:86px 0}
.bg-alt{background:var(--bg)}
.bg-dark{background:var(--ink);color:rgba(255,255,255,.78)}
.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff}
.eyebrow{font-family:var(--F);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d);margin-bottom:14px}
.bg-dark .eyebrow,.hero .eyebrow{color:var(--orange)}
.lead{font-size:1.13rem;color:var(--grey);max-width:64ch}
.bg-dark .lead{color:rgba(255,255,255,.72)}
.center{text-align:center}
.center .lead{margin-inline:auto}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--F);font-weight:700;font-size:.95rem;border-radius:var(--pill);padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap;text-decoration:none}
.btn-p{background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 4px 14px rgba(245,135,31,.34)}
.btn-p:hover{background:var(--orange-d);border-color:var(--orange-d);transform:translateY(-1px);box-shadow:0 8px 22px rgba(245,135,31,.42)}
.btn-s{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-s:hover{border-color:var(--ink);background:var(--white)}
.bg-dark .btn-s,.hero .btn-s,.fcta .btn-s{color:#fff;border-color:rgba(255,255,255,.45)}
.bg-dark .btn-s:hover,.hero .btn-s:hover,.fcta .btn-s:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.btn-sm{padding:10px 20px;font-size:.86rem}
.btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.txtlink{font-weight:700;color:var(--blue-d);display:inline-flex;align-items:center;gap:6px}
.txtlink::after{content:'→';transition:.18s}
.txtlink:hover{gap:10px}

.nav{position:sticky;top:0;z-index:150;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 24px;height:78px;display:flex;align-items:center;gap:32px}
.nav-logo{flex:none;position:relative}
.nav-logo img{height:46px;width:auto}
.nlinks{display:flex;gap:26px;list-style:none;font-size:.92rem;font-weight:600}
.nlinks a{color:var(--ink-2)}
.nlinks a:hover{color:var(--orange-d)}
.nlinks span{font-size:.6rem;color:var(--grey-2);margin-left:3px}
.nav-cta{margin-left:auto;display:flex;gap:10px;align-items:center;flex:none}
@media(max-width:980px){.nlinks{display:none}}

.hero{position:relative;overflow:hidden;padding:96px 0 130px;background:#C96A10}
.hero-bg{position:absolute;inset:0;background:url('/media/design/hero.jpg') center right/cover no-repeat}
.hero-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(31,38,45,.94) 0%,rgba(31,38,45,.86) 26%,rgba(160,79,10,.62) 56%,rgba(245,135,31,.28) 80%,rgba(245,135,31,.1) 100%)}
.hero .wrap{position:relative;z-index:3}
.hero h1{color:#fff;max-width:20ch}
.hero h1 em{font-style:normal;color:var(--orange);display:block}
.hero .lead{color:rgba(255,255,255,.84);font-size:1.16rem;max-width:52ch;margin:20px 0 30px}
.hero-copy{max-width:620px;position:relative}
.reassure{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;font-size:.82rem;color:rgba(255,255,255,.68)}
.reassure div{display:flex;align-items:center;gap:7px}
.hbadges{display:flex;gap:12px;align-items:center;margin-top:30px;position:relative}
.hbadges img{height:46px;width:auto;filter:brightness(0) invert(1);opacity:.85}

.band{margin-top:-96px;position:relative;z-index:4;padding-bottom:70px}
.band-in{display:grid;grid-template-columns:1.28fr .72fr;gap:26px;align-items:end}
@media(max-width:900px){.band-in{grid-template-columns:1fr}.band{margin-top:-70px}}
.band-side{display:grid;gap:14px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh)}
.stat b{font-family:var(--H);font-weight:900;font-size:1.6rem;color:var(--ink);display:block;line-height:1.1}
.stat small{font-size:.78rem;color:var(--grey);display:block;margin-top:2px}

.app{background:#fff;border-radius:var(--r);box-shadow:var(--sh-l);overflow:hidden;border:1px solid var(--line);position:relative}
.app-bar{background:var(--ink);padding:9px 13px;display:flex;align-items:center;gap:7px}
.app-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22);display:block}
.app-bar span{margin-left:8px;font-size:.68rem;color:rgba(255,255,255,.5)}
.app-body{padding:16px;background:#FBFCFD}
.app-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:10px}
.app-h b{font-family:var(--H);font-weight:900;font-size:.9rem;color:var(--ink)}
.app-h em{font-style:normal;font-size:.64rem;background:var(--blue-l);color:var(--blue-d);padding:3px 9px;border-radius:var(--pill);font-weight:700;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:10px}
.kpi small{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-2);font-weight:700;margin-bottom:3px}
.kpi b{font-family:var(--H);font-weight:900;font-size:1.22rem;color:var(--ink);display:block;line-height:1.1}
.kpi u{text-decoration:none;font-size:.6rem;font-weight:700}
.up{color:var(--green)}.dn{color:var(--red)}
.bars{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:12px}
.bars-top{display:flex;justify-content:space-between;font-size:.62rem;color:var(--grey-2);font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:11px}
.brow{display:grid;grid-template-columns:82px 1fr 46px;gap:9px;align-items:center;margin-bottom:8px;font-size:.66rem}
.brow span{color:var(--ink-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btrack{height:7px;background:#EEF1F4;border-radius:var(--pill);overflow:hidden}
.bfill{height:100%;border-radius:var(--pill)}
.brow u{text-decoration:none;text-align:right;font-weight:700;color:var(--ink);font-size:.64rem}

.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:.2s;position:relative}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px);border-color:#D3DBE2}
.card h3{margin-bottom:9px}
.card p{font-size:.94rem;color:var(--grey);margin-bottom:14px}
.ico-img{width:74px;height:74px;margin-bottom:14px;position:relative}
.ico-img img{width:100%;height:100%;object-fit:contain}
.tick{list-style:none;font-size:.94rem}
.tick li{position:relative;padding-left:27px;margin-bottom:10px;color:var(--ink-3)}
.tick li::before{content:'';position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--orange-l);border:1px solid rgba(245,135,31,.4)}
.tick li::after{content:'';position:absolute;left:5px;top:11px;width:5px;height:8px;border-right:2px solid var(--orange-d);border-bottom:2px solid var(--orange-d);transform:rotate(42deg)}
.cross li::before{background:#FBECEC;border-color:rgba(214,69,69,.3)}
.cross li::after{content:'×';border:0;left:5px;top:5px;width:auto;height:auto;color:var(--red);font-weight:700;font-size:.86rem;transform:none}

.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;background:#fff}
.strip p{text-align:center;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-2);font-weight:700;margin-bottom:20px}
.strip-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
.lg{height:46px;min-width:130px;padding:0 20px;border:1px solid var(--line);border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;font-family:var(--H);font-weight:900;font-size:.9rem;color:var(--grey);background:#FCFDFE}
.lg img{height:24px;width:auto}
.lg.dash{border-style:dashed;color:var(--grey-2);font-family:var(--F);font-size:.78rem;font-weight:600}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
thead th{background:var(--bg);font-family:var(--H);font-weight:900;color:var(--ink);font-size:.84rem}
tbody tr:last-child td{border-bottom:0}
td.c,th.c{text-align:center}
.us{background:var(--orange-l)}
thead th.us{background:var(--orange);color:#fff}
.yes{color:var(--green);font-weight:700}
.no{color:var(--grey-2)}
.part{color:var(--orange-d);font-weight:600;font-size:.84rem}

.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;position:relative}
.quote .qm{font-family:var(--H);font-size:2.4rem;font-weight:900;color:var(--orange);line-height:.6;margin-bottom:12px}
.quote blockquote{font-size:.96rem;color:var(--ink-2);margin-bottom:16px;flex:1}
.quote blockquote strong{color:var(--ink)}
.qmetric{background:var(--orange-l);border-radius:var(--r-s);padding:10px 13px;margin-bottom:16px;font-size:.8rem;color:var(--orange-d);font-weight:700}
.who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line);position:relative}
.who img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--orange-l)}
.who b{display:block;font-family:var(--H);font-size:.92rem;color:var(--ink);font-weight:900}
.who small{color:var(--grey-2);font-size:.76rem}

.region{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--pill);padding:4px;gap:2px;margin-bottom:12px;flex-wrap:wrap;justify-content:center}
.region button{background:transparent;border:0;font-family:var(--F);font-weight:700;font-size:.84rem;color:var(--grey);padding:8px 20px;border-radius:var(--pill);cursor:pointer;transition:.16s}
.region button[aria-selected=true]{background:var(--ink);color:#fff}
.calc{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.calc-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.calc-top label{font-family:var(--H);font-weight:900;color:var(--ink);font-size:1.05rem}
.calc-val{font-family:var(--H);font-weight:900;font-size:1.5rem;color:var(--orange-d)}
input[type=range]{width:100%;appearance:none;height:6px;border-radius:var(--pill);background:linear-gradient(90deg,var(--orange) var(--p,30%),#DFE5EA var(--p,30%));outline:0;margin:18px 0 8px}
input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--orange);cursor:pointer;box-shadow:var(--sh-s)}
.scale{display:flex;justify-content:space-between;font-size:.7rem;color:var(--grey-2);font-weight:600}
.calc-out{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;margin-top:22px}
.calc-out div{background:#fff;padding:14px}
.calc-out small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-2);font-weight:700;margin-bottom:4px}
.calc-out b{font-family:var(--H);font-weight:900;font-size:1.14rem;color:var(--ink)}
.calc-out div:last-child{background:var(--ink)}
.calc-out div:last-child small{color:rgba(255,255,255,.5)}
.calc-out div:last-child b{color:var(--orange)}
@media(max-width:700px){.calc-out{grid-template-columns:1fr 1fr}}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
@media(max-width:960px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;position:relative;display:flex;flex-direction:column}
.plan.pop{border:2px solid var(--orange);box-shadow:var(--sh);padding-top:34px}
.badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 15px;border-radius:var(--pill);white-space:nowrap}
.plan h3{font-size:1.06rem;margin-bottom:4px}
.plan .cap{font-size:.82rem;color:var(--grey-2);margin-bottom:18px}
.price{font-family:var(--H);font-weight:900;font-size:2.5rem;color:var(--ink);line-height:1;letter-spacing:-.03em}
.price sup{font-size:1.1rem;font-weight:700;top:-.7em;position:relative}
.price small{font-size:.82rem;font-weight:400;color:var(--grey-2);font-family:var(--F)}
.plan .exgst{font-size:.72rem;color:var(--grey-2);margin:6px 0 18px}
.plan .tick{margin-bottom:20px;flex:1}
.plan .tick li{font-size:.88rem;margin-bottom:8px}
.plan .btns{flex-direction:column;align-items:stretch}
.plan .btn{justify-content:center}
.addons b{font-family:var(--H);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey-2);display:block;margin-bottom:10px}
.addons ul{list-style:none;font-size:.84rem}
.addons li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;color:var(--ink-3);border-bottom:1px dashed var(--line)}
.addons li:last-child{border:0}
.addons li em{font-style:normal;color:var(--grey-2);font-size:.78rem;white-space:nowrap}

.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s;position:relative;padding-top:52px}
.step::before{content:counter(s);position:absolute;top:0;left:0;width:38px;height:38px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--H);font-weight:900;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.step h3{margin-bottom:7px}
.step p{font-size:.93rem;color:var(--grey);margin:0}

.ints{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:820px){.ints{grid-template-columns:1fr 1fr}}
.int{border:1px solid var(--line);border-radius:var(--r-s);padding:18px;background:#fff;text-align:center;transition:.18s}
.int:hover{border-color:var(--orange);box-shadow:var(--sh-s)}
.int b{display:block;font-family:var(--H);font-weight:900;font-size:.94rem;color:var(--ink);margin-bottom:2px}
.int small{font-size:.74rem;color:var(--grey-2)}

.maps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
@media(max-width:700px){.maps{grid-template-columns:1fr}}
.map{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:18px;text-align:center}
.map img{height:96px;width:auto;margin:0 auto 12px;object-fit:contain}
.map b{display:block;font-family:var(--H);font-weight:900;color:#fff;font-size:.94rem}
.map small{font-size:.76rem;color:rgba(255,255,255,.6)}

.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
@media(max-width:820px){.vids{grid-template-columns:1fr}}
.vid{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff;position:relative}
.vid-th{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.vid-th img{width:100%;height:100%;object-fit:cover}
.vid-th::after{content:'';position:absolute;inset:0;background:rgba(31,38,45,.28)}
.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.play::after{content:'';border-left:15px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.vid-cap{padding:16px 18px}
.vid-cap b{font-family:var(--H);font-weight:900;color:var(--ink);font-size:.96rem;display:block}
.vid-cap small{color:var(--grey-2);font-size:.78rem}

.fcta{position:relative;overflow:hidden;background:var(--ink)}
.fcta-bg{position:absolute;inset:0;background:url('/media/design/cta.jpg') center/cover no-repeat;opacity:.5}
.fcta-ov{position:absolute;inset:0;background:linear-gradient(120deg,rgba(31,38,45,.94),rgba(31,38,45,.7) 48%,rgba(220,110,12,.72))}
.fcta .wrap{position:relative;z-index:3;text-align:center}
.fcta h2{color:#fff;margin-bottom:14px}
.fcta .lead{color:rgba(255,255,255,.8);margin:0 auto 28px}
.fcta .btns{justify-content:center}

.solhero{position:relative;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}
.solhero-bg{position:absolute;inset:0;background:url('/media/design/solution.jpg') center/cover no-repeat;opacity:.14}
.solhero .wrap{position:relative;z-index:2;padding-top:62px;padding-bottom:58px}

.foot{background:var(--ink);color:rgba(255,255,255,.6);padding:56px 0 26px;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px;margin-bottom:38px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot h5{color:#fff;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-weight:900}
.foot ul{list-style:none}
.foot li{margin-bottom:8px}
.foot a{color:rgba(255,255,255,.6)}
.foot a:hover{color:var(--orange)}
.foot-logo{position:relative;margin-bottom:14px}
.foot-logo img{height:44px;width:auto}
.certs{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap;align-items:center;position:relative}
.certs img{height:52px;width:auto}
.foot-b{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.78rem}

.phero{background:var(--bg);border-bottom:1px solid var(--line);padding:62px 0 56px}
.crumb{font-size:.8rem;color:var(--grey-2);margin-bottom:16px;font-weight:600}
.crumb a{color:var(--grey-2)}
.two{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:34px}}
.callout{background:var(--blue-l);border:1px solid rgba(23,155,215,.28);border-radius:var(--r);padding:22px}
.callout h4{color:var(--blue-d);margin-bottom:8px}
.callout p{font-size:.9rem;color:var(--ink-2);margin:0}
.honest{background:#FFFBF5;border:1px solid rgba(245,135,31,.3);border-left:4px solid var(--orange);border-radius:0 var(--r) var(--r) 0;padding:22px 24px}
.honest h4{margin-bottom:8px}
.honest p{font-size:.92rem;margin:0 0 10px;color:var(--ink-2)}
.honest p:last-child{margin:0}
.faqq{border-bottom:1px solid var(--line);padding:20px 0}
.faqq h4{margin-bottom:7px}
.faqq p{font-size:.92rem;color:var(--grey);margin:0}

.photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 14px 34px rgba(26,26,26,.12);background:var(--bg)}
.photo-sm{margin-top:26px;max-width:460px}
.photo-head{align-items:center;margin-bottom:44px}
.card.leader{padding-top:0;overflow:hidden}
.lead-ph{display:block;width:calc(100% + 2*var(--cardpad,28px));max-width:none;margin:0 calc(-1*var(--cardpad,28px)) 20px;aspect-ratio:1/1;object-fit:cover;object-position:50% 12%;background:#f4f4f4}

.nlinks .dd{position:relative}
.ddm{display:none;position:absolute;top:100%;left:-14px;padding-top:12px;min-width:240px}
.ddm::before{content:"";position:absolute;inset:12px 0 0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.ddm a{position:relative;display:block;padding:9px 18px;color:var(--ink-2)}
.ddm a:first-child{margin-top:8px}.ddm a:last-child{margin-bottom:8px}
.ddm a:hover{color:var(--orange-d)}
.dd:hover .ddm,.dd:focus-within .ddm{display:block}
.app .shotimg{width:100%;display:block;background:#f3f5f7;min-height:120px}
a.card{display:block;color:inherit}
a.card .txtlink{margin-top:4px}
.tabp[hidden]{display:none}
.aos details.ao{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden;transition:.2s}
.aos details.ao[open]{border-color:var(--orange);box-shadow:var(--sh)}
.ao summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px}
.ao summary::-webkit-details-marker{display:none}
.ao summary span b{display:block;font-family:var(--H);font-weight:900;font-size:1.1rem;color:var(--ink)}
.ao summary span small{color:var(--grey);font-size:.86rem}
.ao summary em{font-style:normal;font-size:.78rem;font-weight:700;color:var(--orange-d);background:var(--orange-l);padding:4px 12px;border-radius:var(--pill);white-space:nowrap}
.ao summary::after{content:"+";font-family:var(--H);font-size:1.6rem;color:var(--orange);margin-left:6px}
.ao[open] summary::after{content:"\2212"}
.ao-b{padding:0 24px 24px}
.ao-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ao-tags span{font-size:.74rem;font-weight:700;padding:4px 11px;border-radius:var(--pill);background:var(--blue-l);color:var(--blue-d)}
.ao-lead{font-family:var(--H);font-weight:900;color:var(--ink);font-size:1.08rem}
.ao-shots{display:grid;gap:14px;margin-top:8px}
.ao-shots img{width:100%;border:1px solid var(--line);border-radius:var(--r-s)}
.ao-shots figcaption{font-size:.76rem;color:var(--grey-2);margin-top:5px}
@media(max-width:700px){.ao summary em{display:none}.cbar{gap:10px}}
@media(max-width:960px){.plans[style]{grid-template-columns:1fr!important}}
@media(max-width:560px){.nav-cta .btn-s{display:none}.nav-in{gap:14px}.nav-logo img{height:38px}}

body{background:#fff;color:var(--ink-3)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* --- Site additions beyond the concept --- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:#fff;padding:12px 16px;font-weight:700}
.skip-link:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.nlinks a[aria-current=page]{color:var(--orange-d)}
/* Mobile menu: the concept hides the links below 980px with no alternative. */
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:var(--r-s);width:44px;height:44px;cursor:pointer;flex:none;align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:.18s}
.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav.open .nav-toggle span{background:transparent}
.nav.open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav.open .nav-toggle span::after{top:0;transform:rotate(-45deg)}
@media(max-width:980px){
 .nav-toggle{display:inline-flex}
 .nav-cta{margin-left:auto}
 .nav.open .nlinks{display:flex;flex-direction:column;gap:0;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh);padding:8px 24px 18px;max-height:calc(100vh - 78px);overflow:auto}
 .nav.open .nlinks>li>a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
 .nav.open .nlinks span{display:none}
 .nav.open .ddm{display:block;position:static;padding:0 0 6px 14px;min-width:0}
 .nav.open .ddm::before{display:none}
 .nav.open .ddm a{padding:9px 0}
}
@media(max-width:560px){.nav-cta .btn-p{padding:9px 14px}}
[id]{scroll-margin-top:96px}
.nlinks .menu-only{display:none}
.nav.open .nlinks .menu-only{display:block}
/* Video lightbox (Vimeo links) */
.video-dialog{border:0;padding:0;background:transparent;width:min(960px,92vw);max-width:92vw}
.video-dialog::backdrop{background:rgba(31,38,45,.82)}
.video-frame{aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.video-close{position:absolute;top:-44px;right:0;background:transparent;border:0;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
/* Embedded booking calendar */
.booking-frame{display:block;width:100%;min-height:720px;border:0;background:#fff}
.booking-fallback{display:grid;place-items:center;text-align:center;padding:48px 28px;min-height:420px;background:var(--bg)}
.booking-fallback b{font-family:var(--H);font-weight:900;font-size:1.3rem;color:var(--ink)}
.booking-fallback p{max-width:36ch;margin:10px auto 20px;color:var(--grey)}
.booking-frame:not([hidden])+.booking-fallback{display:none}
.marketplace-note{font-size:.82rem;color:var(--grey-2)}
/* Embedded forms (src/embeds, isolated iframes that report their height) */
.site-embed{display:block;width:100%;height:390px;border:0;background:transparent}
.site-embed-newsletter{height:145px;max-width:300px;margin-bottom:18px}
.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1.5fr}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-news{grid-column:1/-1}}
/* Long-form documents (SLA, terms, privacy) */
.prose{max-width:860px;color:var(--ink-3)}
.prose h2{font-size:1.6rem;margin:0 0 18px}
.prose h3,.prose h4{margin:28px 0 10px}
.prose p,.prose li{font-size:.98rem}
.prose ul,.prose ol{padding-left:24px;margin:0 0 1rem}
.prose li{margin-bottom:8px}
.prose ol ol,.prose ol ul,.prose ul ul{margin-top:8px}
.prose table{min-width:0;margin:14px 0 18px;border:1px solid var(--line)}
.prose th,.prose td{padding:10px 14px}
.prose thead th{background:var(--bg)}
.prose a{text-decoration:underline}
.prose b,.prose strong{color:var(--ink)}
/* Footer social icons, as on the original site footer */
.foot .social{display:flex;gap:6px}
.foot .social a{display:inline-flex;width:30px;height:30px;border:1px solid rgba(255,255,255,.35);border-radius:3px;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transition:.16s}
.foot .social a:hover{color:#fff;border-color:var(--orange);background:var(--orange)}
.foot .social a::before{content:'';width:16px;height:16px;background:currentColor;display:block}
.foot .social-linkedin::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 5h3v11H0zM1.5 0a1.7 1.7 0 1 0 0 3.4 1.7 1.7 0 0 0 0-3.4M5 5h3v1.5C8.8 5.3 9.8 4.8 11.2 4.8 14.3 4.8 16 6.7 16 10v6h-3v-5.6c0-1.8-.6-2.7-2.1-2.7S8 8.8 8 10.5V16H5z'/%3E%3C/svg%3E") center/contain no-repeat}
.foot .social-youtube::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath fill-rule='evenodd' d='M3 2h14a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3m5 3v6l5-3z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Book a demo page (2026 concept, booking card holds the embedded Microsoft Bookings calendar) */
.bkw{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 26px 56px rgba(26,26,26,.09);overflow:hidden;scroll-margin-top:140px}
.bkw-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 26px;background:linear-gradient(90deg,#FFF6EC,#fff 70%)}
.bkw-head b{display:block;font-family:var(--H);font-weight:900;font-size:1.25rem;color:var(--ink)}
.bkw-head small{color:var(--grey);font-size:.84rem}
.bkw-alt{padding:14px 26px;border-top:1px solid var(--line);background:#FCFAF7;font-size:.84rem;color:var(--grey)}
@media (max-width:760px){.bkw-head{padding:18px}}
.dhero{position:relative;overflow:hidden;background:radial-gradient(1200px 520px at 85% 10%,#FFF1E1 0%,rgba(255,241,225,0) 60%),linear-gradient(180deg,#FFFBF6,#fff);padding:58px 0 40px;border-bottom:1px solid var(--line)}
.dhero-art{position:absolute;right:-6%;top:-10%;width:62%;height:120%;opacity:.9;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent);pointer-events:none}
.dhero-art img{width:100%;height:100%;object-fit:cover;animation:dpulse 7s ease-in-out infinite}
.dhero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.dhero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.05;margin:4px 0 18px;max-width:16ch}
.dhero h1 em{font-style:normal;color:var(--orange)}
.dhero .lead{max-width:52ch;margin-bottom:28px}
.btn-s.dk{color:var(--ink);border-color:var(--line);background:#fff}
.btn-s.dk:hover{border-color:var(--orange);color:var(--orange-d)}
.dreassure{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;font-size:.86rem;color:var(--grey);font-weight:600}
.dcard{background:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #F6DDBF;border-radius:22px;padding:28px;box-shadow:0 30px 60px rgba(26,26,26,.10),0 8px 18px rgba(245,135,31,.10)}
.dcard-top{display:flex;align-items:center;justify-content:flex-start;margin-bottom:14px}
.dlive{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-d);background:#FFF3E5;border-radius:999px;padding:6px 12px}
.dlive i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(245,135,31,.6);animation:dping 1.8s infinite}
.dcard h3{font-size:1.3rem;margin-bottom:14px}
.dlist{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:14px}
.dlist li{display:flex;gap:14px;align-items:flex-start}
.dlist b{display:block;color:var(--ink);font-size:.98rem}
.dlist small{color:var(--grey);font-size:.86rem;line-height:1.45}
.d-ico{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#FFF6EC,#FFE9D2);border:1px solid #F9D9B4}
.d-ico svg{width:22px!important;height:22px!important;fill:none;stroke:var(--orange-d);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.dstep{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;text-align:center}
.dstep .d-ico{width:56px;height:56px;margin:0 auto 16px;border-radius:16px}
.dstep .d-ico svg{width:28px!important;height:28px!important}
.dnum{position:absolute;top:14px;right:16px;font-family:var(--H);font-weight:900;font-size:2.2rem;color:#FBE3C6;line-height:1}
.dstep h3{font-size:1.12rem;margin-bottom:8px}
.dstep p{margin:0;font-size:.94rem}
.dbook{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}
.dside{display:grid;gap:20px;position:sticky;top:96px}
.dpanel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.dpanel h3{font-size:1.1rem;margin-bottom:6px}
.dpanel>p{font-size:.88rem;margin-bottom:14px}
.dpanel-q{padding:0;border:0;background:none}
.dpanel-q .quote{margin:0}
.dbadges{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--ink);border-radius:18px}
.dbadges p{color:rgba(255,255,255,.75)!important}
.dbadges img{height:52px;width:auto}
.dbadges p{margin:0;font-size:.8rem;color:var(--grey)}
.dstats{position:relative;overflow:hidden}
.dstats .wrap{position:relative;z-index:1}
.dstats-art{position:absolute;inset:0;opacity:.10;pointer-events:none}
.dstats-art img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.dhero-in,.dbook{grid-template-columns:1fr}.dside{position:static}.dhero-art{width:120%;right:-40%;opacity:.5}.dsteps{grid-template-columns:1fr}.dsteps:before{display:none}}
@media (prefers-reduced-motion:reduce){.dhero-art img,.dlive i{animation:none}}
@keyframes dpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes dping{0%{box-shadow:0 0 0 0 rgba(245,135,31,.55)}100%{box-shadow:0 0 0 12px rgba(245,135,31,0)}}
.bkw .booking-frame{height:min(980px,calc(100vh - 140px));min-height:640px;border-top:1px solid var(--line)}
.bkw .booking-fallback{min-height:360px;border-top:1px solid var(--line)}
