
:root{
  --accent:#0E8DAE;
  --accent-dark:#0A6E88;
  --accent-tint:#E3F3F7;
  --navy:#15123F;
  --navy-soft:#231D63;
  --ink:#191C22;
  --ink-soft:#5B6270;
  --bg:#FFFFFF;
  --bg-alt:#F7F7F8;
  --line:#E7E7E9;
  --radius:12px;
  --max:1200px;
  --display:'Poppins', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'JetBrains Mono', monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.01ms !important; transition-duration:.01ms !important;} }
a{color:inherit;} img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--display); margin:0 0 .5em; letter-spacing:-0.01em; color:var(--ink); font-weight:700;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
section{padding:96px 0;}
@media (max-width:720px){section{padding:60px 0;}}
.eyebrow{font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:.5rem; margin-bottom:.9rem; font-weight:600;}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--accent); display:inline-block; border-radius:2px;}
.section-head{max-width:640px; margin:0 auto 3.2rem; text-align:center;}
.section-head p{color:var(--ink-soft); font-size:1.02rem;}
.section-head.left{margin-left:0;text-align:left;}

/* TOP BAR */
.topbar{background:var(--navy); color:#B7BAC2; font-size:.82rem;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:40px; flex-wrap:wrap; gap:.5rem;}
.topbar a{text-decoration:none; color:#B7BAC2;}
.topbar a:hover{color:#fff;}
.topbar .left{display:flex; gap:1.6rem; flex-wrap:wrap;}
.topbar .left span{display:flex; align-items:center; gap:.4rem;}
.topbar .social{display:flex; gap:.9rem;}

/* HEADER */
header{position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--line);}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:82px;}
.brand{display:flex; align-items:center; gap:.6rem; font-family:var(--display); font-weight:800; font-size:1.2rem; text-decoration:none;}
.brand .mark{width:38px; height:38px; border-radius:9px; background:var(--accent); display:flex; align-items:center; justify-content:center;}
.brand .mark svg{width:22px; height:22px;}
.navlinks{display:flex; gap:2rem; list-style:none; margin:0; padding:0; font-size:.93rem; font-weight:500; align-items:center;}
.navlinks li{position:relative;}
.navlinks a{text-decoration:none; color:var(--ink); padding:6px 0;}
.navlinks a:hover{color:var(--accent);}
.dropdown{display:none; position:absolute; top:100%; left:-16px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:.6rem; min-width:230px; box-shadow:0 20px 40px -20px rgba(0,0,0,.2); z-index:10;}
.navlinks li:hover .dropdown{display:block;}
.dropdown a{display:block; padding:.55rem .8rem; border-radius:7px; font-size:.88rem; color:var(--ink-soft);}
.dropdown a:hover{background:var(--accent-tint); color:var(--accent-dark);}
.nav-right{display:flex; align-items:center; gap:1.6rem;}
.nav-phone{font-family:var(--mono); font-size:.85rem; display:flex; align-items:center; gap:.5rem;}
.nav-phone .ic{width:34px;height:34px;border-radius:50%;background:var(--accent-tint); color:var(--accent); display:flex;align-items:center;justify-content:center;}
.menu-btn{display:none; background:none;border:none;cursor:pointer;}
@media (max-width:960px){ .navlinks{display:none;} .nav-phone{display:none;} .menu-btn{display:block;} }

.btn{font-family:var(--body); font-weight:600; font-size:.9rem; padding:.9rem 1.6rem; border-radius:8px; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; border:2px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--accent); color:#fff;}
.btn-primary:hover{background:var(--accent-dark); box-shadow:0 14px 28px -12px rgba(233,72,44,.55);}
.btn-outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.4);}
.btn-outline:hover{border-color:#fff;}
.btn-dark{background:var(--navy); color:#fff;}
.btn-dark:hover{background:var(--navy-soft);}
.btn-sm{padding:.62rem 1.2rem; font-size:.82rem;}

/* HERO SLIDER */
.hero{position:relative; background:var(--navy); color:#fff; overflow:hidden; min-height:560px; display:flex; align-items:center;}
.hero-bg-shape{position:absolute; inset:0; background:
  radial-gradient(600px 400px at 85% 10%, rgba(14,141,174,.28), transparent 60%),
  radial-gradient(500px 300px at 10% 90%, rgba(21,18,63,.35), transparent 60%);
}
.slides{position:relative; width:100%;}
.slide{display:none; padding:80px 0;}
.slide.active{display:block; animation:fadeSlide .7s ease;}
@keyframes fadeSlide{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
.slide-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
@media (max-width:900px){.slide-grid{grid-template-columns:1fr;}}
.slide .tag{font-family:var(--mono); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); background:rgba(14,141,174,.16); display:inline-block; padding:.4rem .9rem; border-radius:20px; margin-bottom:1.2rem;}
.slide h1, .slide .slide-title{font-size:clamp(1.9rem,4vw,3rem); line-height:1.15; color:#fff; max-width:22ch; font-family:var(--display); font-weight:700; margin:0 0 .5em;}
.slide p.lead{color:#C7CBD4; font-size:1.05rem; max-width:48ch; margin:1.1rem 0 2rem;}
.slide-ctas{display:flex; gap:1rem; flex-wrap:wrap;}
.hero-visual{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:2rem; min-height:280px;}
.hero-visual .row{display:flex; justify-content:space-between; align-items:center; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.08); font-size:.86rem; color:#C7CBD4;}
.hero-visual .row:first-child{border-top:none;}
.hero-visual .row b{color:#fff;}
.hero-visual .chip{font-family:var(--mono); font-size:.7rem; background:rgba(14,141,174,.22); color:#8FE3EF; padding:.25rem .6rem; border-radius:6px;}
.slider-controls{position:absolute; bottom:26px; left:0; right:0; display:flex; justify-content:center; gap:.6rem; z-index:5;}
.slider-controls button{width:10px; height:10px; border-radius:50%; border:none; background:rgba(255,255,255,.3); cursor:pointer; padding:0;}
.slider-controls button.active{background:var(--accent); width:26px; border-radius:6px;}
.slide-arrow{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#fff; width:44px; height:44px; border-radius:50%; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center;}
.slide-arrow:hover{background:var(--accent); border-color:var(--accent);}
.slide-arrow.prev{left:18px;} .slide-arrow.next{right:18px;}
@media (max-width:700px){.slide-arrow{display:none;}}

/* INTRO */
.intro-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
@media (max-width:880px){.intro-grid{grid-template-columns:1fr;}}
.intro-grid h2{font-size:clamp(1.7rem,3.2vw,2.3rem);}
.intro-grid p{color:var(--ink-soft);}
.intro-visual{background:var(--bg-alt); border-radius:16px; padding:2rem; border:1px solid var(--line);}
.intro-list{list-style:none; margin:1.5rem 0 0; padding:0;}
.intro-list li{display:flex; gap:.8rem; padding:.7rem 0; border-top:1px solid var(--line); font-size:.94rem;}
.intro-list li:first-child{border-top:none;}
.intro-list .ico{color:var(--accent); font-family:var(--mono);}

/* STATS COUNTER */
.stats{background:var(--navy); color:#fff;}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center;}
@media (max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr);}}
.stat .num{font-family:var(--display); font-size:2.6rem; font-weight:800; color:var(--accent);}
.stat .lab{font-family:var(--mono); font-size:.72rem; color:#9EA3B0; letter-spacing:.06em; text-transform:uppercase; margin-top:.4rem;}

/* SERVICES GRID */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; transition:transform .2s ease, box-shadow .2s ease;}
.svc-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px -26px rgba(20,23,31,.25); border-color:#f0d4cd;}
.svc-icon{width:52px;height:52px;border-radius:12px;background:var(--accent-tint); color:var(--accent); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem;}
.svc-card h3{font-size:1.08rem;}
.svc-card p{color:var(--ink-soft); font-size:.92rem; margin-bottom:1rem;}
.svc-card .more{font-family:var(--mono); font-size:.78rem; color:var(--accent); text-decoration:none; font-weight:600;}

/* PRODUCT LINE */
.products{background:var(--bg-alt);}
.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;}
@media (max-width:960px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.product-grid{grid-template-columns:1fr;}}
.product-box{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.product-thumb{height:110px; position:relative; display:flex; align-items:center; justify-content:center;}
.product-thumb span{font-family:var(--display); font-weight:800; font-size:1.4rem; color:#fff; letter-spacing:.02em;}
.product-body{padding:1.2rem 1.3rem 1.4rem;}
.product-body h4{font-size:.98rem; margin-bottom:.35rem;}
.product-body p{font-size:.85rem; color:var(--ink-soft); margin:0;}

/* WHY / COMPARE reuse */
.compare{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;}
@media (max-width:760px){.compare{grid-template-columns:1fr;}}
.compare-card{border-radius:var(--radius); padding:2rem;}
.compare-card.old{background:#fff; border:1px dashed #d8d3d1; color:var(--ink-soft);}
.compare-card.new{background:var(--navy); color:#fff;}
.compare-card h4{color:inherit;}
.compare-card ul{list-style:none; margin:1rem 0 0; padding:0;}
.compare-card li{padding:.5rem 0; border-top:1px solid rgba(0,0,0,.06); font-size:.94rem; display:flex; gap:.6rem;}
.compare-card.new li{border-top:1px solid rgba(255,255,255,.1);}
.compare-card li .ico{font-family:var(--mono);}
.compare-card.old li .ico{color:#B7442F;}
.compare-card.new li .ico{color:var(--accent);}

/* PROCESS */
.process-line{display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; position:relative;}
@media (max-width:900px){.process-line{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.process-line{grid-template-columns:1fr;}}
.process-line-4{grid-template-columns:repeat(4,1fr) !important;}
@media (max-width:900px){.process-line-4{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:560px){.process-line-4{grid-template-columns:1fr !important;}}
.process-step{position:relative; padding-top:2.2rem;}
.process-step .idx{font-family:var(--mono); color:var(--accent); font-size:.8rem; font-weight:700;}
.process-step h4{font-size:1rem; margin:.4rem 0;}
.process-step p{color:var(--ink-soft); font-size:.88rem; margin:0;}
.process-step::before{content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--line); border-radius:3px;}
.process-step::after{content:""; position:absolute; top:-3.5px; left:0; width:10px; height:10px; border-radius:50%; background:var(--accent);}

/* TESTIMONIALS */
.test-wrap{position:relative;}
.test-track{display:flex; gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.5rem;}
.test-track::-webkit-scrollbar{height:6px;}
.test-track::-webkit-scrollbar-thumb{background:var(--line); border-radius:6px;}
.test-card{scroll-snap-align:start; min-width:320px; flex:1; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem;}
.test-head{display:flex; align-items:center; gap:.9rem; margin-bottom:1rem;}
.avatar{width:46px;height:46px;border-radius:50%; background:var(--accent-tint); color:var(--accent); font-family:var(--display); font-weight:700; display:flex; align-items:center; justify-content:center;}
.test-card .stars{color:var(--accent); font-size:.85rem; margin-bottom:.6rem;}
.who-name{font-weight:600; font-size:.92rem;}
.who-role{font-size:.78rem; color:var(--ink-soft);}

/* STANDARDS STRIP */
.standards{background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:40px 0;}
.standards .wrap{display:flex; justify-content:center; gap:2.4rem; flex-wrap:wrap; align-items:center;}
.standard-badge{font-family:var(--mono); font-size:.85rem; font-weight:600; color:var(--ink-soft); border:1px solid var(--line); padding:.6rem 1.1rem; border-radius:8px;}

/* PRICING */
.pricing{background:var(--bg-alt);}
.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;}
@media (max-width:920px){.price-grid{grid-template-columns:1fr;}}
.price-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2.2rem; display:flex; flex-direction:column;}
.price-card.featured{background:var(--navy); color:#fff; border-color:var(--navy); position:relative;}
.price-card.featured::before{content:"Most Popular"; position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff; font-family:var(--mono); font-size:.68rem; padding:.3rem .8rem; border-radius:20px;}
.price-card .tag{font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent);}
.price-card.featured .tag{color:#8FE3EF;}
.price-card h3{margin:.5rem 0 .3rem; font-size:1.3rem;}
.price-card .price{font-family:var(--display); font-size:1.5rem; margin-bottom:1.2rem;}
.price-card ul{list-style:none; padding:0; margin:0 0 1.6rem; flex:1;}
.price-card li{padding:.45rem 0; font-size:.9rem; border-top:1px solid var(--line);}
.price-card.featured li{border-top:1px solid rgba(255,255,255,.12); color:#DCE0E8;}

/* FAQ */
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:1.3rem 0; display:flex; justify-content:space-between; align-items:center; font-family:var(--display); font-weight:600; font-size:1rem; color:var(--ink);}
.faq-q .plus{font-family:var(--mono); color:var(--accent); font-size:1.3rem; transition:transform .25s ease;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; color:var(--ink-soft); font-size:.94rem;}
.faq-a p{padding-bottom:1.2rem; margin:0; max-width:65ch;}

/* BLOG */
.blog-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem;}
@media (max-width:960px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff;}
.blog-thumb{height:120px; background:linear-gradient(135deg, var(--navy), #231D63); position:relative;}
.blog-thumb::after{content:""; position:absolute; inset:0; background:radial-gradient(160px 90px at 80% 20%, rgba(14,141,174,.40), transparent 70%);}
.blog-date{position:absolute; bottom:8px; left:8px; background:var(--accent); color:#fff; font-family:var(--mono); font-size:.66rem; padding:.25rem .5rem; border-radius:5px;}
.blog-body{padding:1.2rem 1.3rem;}
.blog-body .tag{font-family:var(--mono); font-size:.66rem; color:var(--accent); text-transform:uppercase; letter-spacing:.06em;}
.blog-body h4{font-size:.94rem; margin:.5rem 0;}
.blog-body p{font-size:.84rem; color:var(--ink-soft); margin:0;}

/* CALLBACK / CONTACT */
.callback{background:var(--navy); color:#fff;}
.callback-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
@media (max-width:880px){.callback-grid{grid-template-columns:1fr;}}
.callback h2{color:#fff;}
.callback p{color:#B7BAC2;}
.callback-info .row{display:flex; gap:.9rem; padding:.9rem 0; border-top:1px solid rgba(255,255,255,.1); font-size:.94rem;}
.callback-info .row:first-child{border-top:none;}
.callback-info a{color:#fff; text-decoration:none;}
.callback-info a:hover{color:var(--accent);}
.form-card{background:#fff; border-radius:var(--radius); padding:2rem; color:var(--ink);}
.form-field{margin-bottom:1.1rem;}
.form-field label{display:block; font-family:var(--mono); font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.4rem;}
.form-field input, .form-field textarea, .form-field select{width:100%; padding:.85rem 1rem; border-radius:8px; border:1px solid var(--line); background:#fff; font-family:var(--body); font-size:.95rem; color:var(--ink);}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}

/* CLIENT LOGO MARQUEE */
.marquee-wrap{width:100%; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
.marquee-track{display:flex; width:max-content; gap:1.2rem; animation:marqueeScroll 46s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;}}
.client-card{flex:0 0 auto; width:130px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem .8rem; display:flex; flex-direction:column; align-items:center; gap:.6rem; text-align:center;}
.client-card img{width:64px; height:64px; border-radius:50%; object-fit:cover;}
.client-card span{font-size:.72rem; color:var(--ink-soft); line-height:1.3;}

footer{background:#100D38; color:#9DA1AC; padding:64px 0 28px;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
footer h5{color:#fff; font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem;}
footer ul{list-style:none; padding:0; margin:0;}
footer li{margin-bottom:.6rem; font-size:.9rem;}
footer a{text-decoration:none; color:#9DA1AC;}
footer a:hover{color:#fff;}
.footer-bottom{margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.8rem;}

.back-top{position:fixed; right:24px; bottom:24px; width:46px; height:46px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; border:none; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease; z-index:900;}
.back-top.show{opacity:1; pointer-events:auto;}
.back-top:hover{transform:translateY(-3px);}
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.skip-link{position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:.6rem 1rem; z-index:2000;}
.skip-link:focus{left:12px; top:12px;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

/* ===== department pages ===== */
.crumbs{font-size:.82rem;color:#9EA3B0;margin-bottom:1.2rem;}
.crumbs a{color:#C7CBD4;text-decoration:none;} .crumbs a:hover{color:#fff;}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem;}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:#6b7080;}
.d-hero{background:var(--navy);color:#fff;padding:72px 0 80px;position:relative;overflow:hidden;}
.d-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 85% 10%, rgba(14,141,174,.28), transparent 60%);}
.d-hero .wrap{position:relative;}
.d-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;max-width:24ch;}
.d-hero p.lead{color:#C7CBD4;font-size:1.08rem;max-width:60ch;margin:1rem 0 2rem;}
.d-hero .tag{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#8FE3EF;background:rgba(14,141,174,.18);display:inline-block;padding:.4rem .9rem;border-radius:20px;margin-bottom:1.1rem;}
.d-cols{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;}
@media (max-width:880px){.d-cols{grid-template-columns:1fr;gap:32px;}}
.d-cols p{color:var(--ink-soft);}
.pain-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;}
.pain-card h3{font-size:1rem;margin-bottom:.8rem;}
.pain-card ul{list-style:none;margin:0;padding:0;}
.pain-card li{padding:.6rem 0;border-top:1px solid var(--line);font-size:.93rem;display:flex;gap:.6rem;}
.pain-card li:first-child{border-top:none;}
.pain-card li::before{content:"—";color:#c0392b;font-family:var(--mono);}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;}
.feat{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:#fff;}
.feat h3{font-size:1.02rem;margin-bottom:.4rem;}
.feat p{margin:0;color:var(--ink-soft);font-size:.92rem;}
.alt{background:var(--bg-alt);}
.flow{list-style:none;counter-reset:f;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.flow li{counter-increment:f;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;font-size:.92rem;}
.flow li::before{content:"0" counter(f);display:block;font-family:var(--mono);color:var(--accent);font-weight:600;margin-bottom:.4rem;}
.faq-d details{border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:.8rem;background:#fff;}
.faq-d summary{cursor:pointer;font-weight:600;font-family:var(--display);list-style:none;display:flex;justify-content:space-between;gap:1rem;}
.faq-d summary::-webkit-details-marker{display:none;}
.faq-d summary::after{content:"+";color:var(--accent);font-family:var(--mono);}
.faq-d details[open] summary::after{content:"–";}
.faq-d details p{color:var(--ink-soft);margin:.8rem 0 0;}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;}
.rel-grid a{display:block;border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;text-decoration:none;background:#fff;transition:border-color .15s;}
.rel-grid a:hover{border-color:var(--accent);}
.rel-grid b{display:block;font-family:var(--display);}
.rel-grid span{font-size:.85rem;color:var(--ink-soft);}
.cta-band{background:var(--navy);color:#fff;text-align:center;}
.cta-band h2{color:#fff;}
.cta-band p{color:#C7CBD4;max-width:56ch;margin:0 auto 1.6rem;}
.cta-band .row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hub-group{margin-bottom:3rem;}
.usp{background:var(--accent-tint);border-bottom:1px solid var(--line);}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-top:1.2rem!important;padding-bottom:1.2rem!important;}
@media (max-width:800px){.usp-grid{grid-template-columns:1fr 1fr;}}
.usp-grid b{display:block;font-family:var(--display);color:var(--accent-dark);font-size:.95rem;}
.usp-grid span{font-size:.82rem;color:var(--ink-soft);}
.hub-group h2{font-size:1.4rem;}
.prose{max-width:780px;}
.prose p{color:var(--ink-soft);}
.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff;}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;padding:.85rem 28px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500;}
.dropdown.wide{min-width:520px;display:none;grid-template-columns:1fr 1fr;gap:0 .4rem;}
.navlinks li:hover .dropdown.wide{display:grid;}
