/* TechSprite V12 — consolidated responsive design system */
:root{
  --navy-950:#041426;
  --navy-900:#071b33;
  --navy-800:#0b2a4d;
  --navy-700:#123a64;
  --orange-600:#f45b13;
  --orange-500:#ff6a1a;
  --orange-100:#fff0e7;
  --ink-900:#142238;
  --ink-700:#3f4e62;
  --ink-600:#59687b;
  --ink-500:#758295;
  --line:#dde4eb;
  --line-strong:#ccd6e0;
  --surface:#ffffff;
  --surface-soft:#f6f8fb;
  --surface-warm:#fffaf7;
  --shadow-sm:0 8px 24px rgba(8,28,52,.07);
  --shadow-md:0 18px 48px rgba(8,28,52,.11);
  --shadow-lg:0 28px 72px rgba(4,20,38,.20);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:22px;
  --container:1180px;
  --header-h:74px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;min-width:320px;font-family:Montserrat,Arial,sans-serif;color:var(--ink-900);background:var(--surface);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
svg{display:block;flex:0 0 auto}
main{display:block}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.narrow{max-width:820px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;color:var(--navy-900);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow-md);font-size:13px;font-weight:700}
.skip-link:focus{top:16px}
.icon{width:22px;height:22px}
.mini{width:16px;height:16px}
.micro{width:14px;height:14px}
.tick,.mini-check,.scope-check,.blueprint-check{width:18px;height:18px}
.kicker-icon,.service-kicker-icon,.section-label-icon{width:17px;height:17px}
.service-link-svg-v9,.capability-svg-v10,.process-svg-v10,.blueprint-svg,.heading-svg-v9,.pillar-icon,.metric-icon,.why-icon,.visual-inline-icon,.related-icon-v8{width:20px;height:20px}

/* Header */
.utility-bar{background:#020d1d;color:#bdcad7;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px}
.utility-bar>.container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.utility-left,.utility-right{display:flex;align-items:center;gap:20px;min-width:0}
.utility-left span,.utility-right a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.utility-right a{transition:color .18s ease}
.utility-right a:hover{color:#fff}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(4,20,38,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 7px 24px rgba(0,0,0,.08)}
.nav-shell{height:var(--header-h);display:flex;align-items:center;position:relative}
.brand{width:176px;flex:0 0 176px;display:flex;align-items:center;margin-right:34px}
.brand img{width:176px;max-height:48px;object-fit:contain;object-position:left center}
.main-nav{height:100%;display:flex;align-items:center;gap:3px;min-width:0}
.main-nav>a,.services-trigger{height:42px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#e2e9f1;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease}
.main-nav>a:hover,.main-nav>a:focus-visible,.services-trigger:hover,.services-trigger:focus-visible{background:rgba(255,255,255,.075);color:#fff;outline:none}
.services-nav{height:100%;display:flex;align-items:center;position:static}
.services-trigger .mini{transition:transform .18s ease}
.services-nav.open .services-trigger .mini{transform:rotate(180deg)}
.header-cta{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;background:linear-gradient(135deg,#ff7d33,var(--orange-600));color:#fff;font-size:11.5px;font-weight:800;box-shadow:0 10px 24px rgba(244,91,19,.20);transition:transform .18s ease,box-shadow .18s ease}
.header-cta:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(244,91,19,.26)}
.nav-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;border-radius:9px;padding:9px;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:#fff;border-radius:2px;margin:5px 0;transition:.2s}

.mega-menu{position:absolute;left:0;right:0;top:var(--header-h);width:100%;max-height:calc(100vh - var(--header-h) - 34px);overflow:auto;background:#fff;color:var(--ink-900);border:1px solid #e4e9ef;border-top:0;border-radius:0 0 18px 18px;box-shadow:0 30px 70px rgba(0,16,38,.22);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.services-nav:hover .mega-menu,.services-nav.open .mega-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mega-top{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f8fafc;border-bottom:1px solid var(--line)}
.mega-top span{display:block;color:var(--orange-600);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.mega-top strong{display:block;font-size:15px;line-height:1.35}
.mega-top>a,.mega-bottom>a{display:inline-flex;align-items:center;gap:7px;color:var(--orange-600);font-size:10.5px;font-weight:800;white-space:nowrap}
.mega-body{padding:20px 22px 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 24px}
.mega-col{min-width:0}
.mega-title{display:flex;align-items:center;gap:10px;padding-bottom:9px;margin-bottom:7px;border-bottom:1px solid #edf1f5}
.mega-title>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--orange-100);color:var(--orange-600)}
.mega-title small{display:block;color:#8b97a7;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mega-title strong{display:block;font-size:12.5px;line-height:1.35}
.mega-col>a{display:flex;align-items:center;gap:9px;min-height:35px;padding:5px 6px;border-radius:8px;color:#35445a;font-size:11.5px;font-weight:600;line-height:1.45;transition:background .16s ease,color .16s ease}
.mega-col>a:hover{background:#fff6f0;color:var(--orange-600)}
.mega-link-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:8px;background:#f1f4f8;color:#647286}
.mega-col>a:hover .mega-link-icon{background:#ffe9dc;color:var(--orange-600)}
.mega-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 22px;background:var(--navy-900);color:#c4cfdb;font-size:10px;line-height:1.5}

/* Shared typography and controls */
.eyebrow,.hero-kicker,.service-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--orange-600);font-size:10px;line-height:1.35;font-weight:800;letter-spacing:.105em;text-transform:uppercase}
.eyebrow.light{color:#ff9c62}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:800;line-height:1.2;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,#ff7d33,var(--orange-600));color:#fff;box-shadow:0 10px 24px rgba(244,91,19,.16)}
.btn.primary:hover{box-shadow:0 14px 30px rgba(244,91,19,.24)}
.btn.secondary{background:#fff;color:var(--navy-900);border-color:var(--line-strong)}
.home-hero .btn.secondary,.service-hero-v8 .btn.secondary,.contact-page .btn.secondary,.legal-hero .btn.secondary,.cta-band .btn.secondary,.dark-section .btn.secondary{background:rgba(255,255,255,.05);color:#fff;border-color:rgba(255,255,255,.22)}
.text-link,.learn{display:inline-flex;align-items:center;gap:6px;color:var(--orange-600);font-size:11px;font-weight:800}
.section{padding:74px 0}
.section.tint{background:var(--surface-soft)}
.dark-section{background:linear-gradient(130deg,#04172f,#082b50);color:#fff}
.section-heading,.section-heading-v8{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.66fr);gap:48px;align-items:end;margin-bottom:30px}
.section-heading h2,.section-heading-v8 h2,.image-copy-grid h2,.overview-copy-v8 h2,.scope-copy-v8 h2,.demand-focus-copy-v10 h2,.visual-context-copy-v9 h2,.faq-layout-v8 h2,.contact-copy h1,.page-hero h1,.legal-hero h1{font-size:clamp(30px,3vw,39px);line-height:1.18;letter-spacing:-.026em;margin:7px 0 0}
.section-heading>p,.section-heading-v8>p{margin:0;color:var(--ink-600);font-size:14.5px;line-height:1.75}
.section-heading-v8.light>p{color:#bdc9d7}
.lead{font-size:16.5px;line-height:1.78;color:var(--ink-600);margin:12px 0 19px}

/* Home */
.home-hero,.page-hero,.service-hero-v8,.contact-page,.legal-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#031328 0%,#082b50 72%,#0a315a 100%);color:#fff}
.home-hero::before,.page-hero::before,.service-hero-v8::before,.contact-page::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(255,108,26,.17),transparent 70%);pointer-events:none}
.home-hero-grid{min-height:570px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.86fr);gap:56px;align-items:center;padding:58px 0}
.home-copy{position:relative;z-index:1}
.home-copy h1{font-size:clamp(36px,3.7vw,47px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 18px;max-width:760px}
.home-copy>p{font-size:16.5px;line-height:1.74;color:#c6d2df;max-width:690px;margin:0 0 25px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:#d0d9e4;font-size:10.5px}
.hero-trust span{display:inline-flex;align-items:center;gap:5px}
.home-visual{position:relative;z-index:1}
.home-visual>img{width:100%;height:385px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-lg)}
.hero-float{position:static;margin-top:14px;background:#fff;color:var(--ink-900);padding:12px 14px;border-radius:13px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm);width:max-content;max-width:100%}
.hero-float>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:var(--orange-100);color:var(--orange-600)}
.hero-float small{display:block;color:#8995a4;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.hero-float strong{display:block;font-size:10.5px;line-height:1.35}
.trust-bar{border-bottom:1px solid var(--line);background:#fff}
.trust-bar>.container{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:auto;scrollbar-width:none}
.trust-bar>.container::-webkit-scrollbar{display:none}
.trust-bar span{font-size:9px;color:#7b8899;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.image-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.image-service-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.image-service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#ffc7a7}
.card-image{height:158px;overflow:hidden;background:#eef2f6}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.image-service-card:hover .card-image img{transform:scale(1.03)}
.card-body{padding:17px 18px 18px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.card-body small{color:#8a96a5;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.service-link-icon-v9{width:38px;height:38px;display:grid;place-items:center;margin:11px 0 2px;border-radius:10px;background:var(--orange-100);color:var(--orange-600)}
.card-body h3{font-size:16px;line-height:1.35;margin:6px 0 7px}
.card-body p{font-size:12.75px;line-height:1.65;color:var(--ink-600);margin:0 0 13px;flex:1}
.image-copy-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:58px;align-items:center}
.feature-photo{overflow:hidden;border-radius:20px;box-shadow:var(--shadow-md);background:#edf2f6}
.feature-photo img{width:100%;height:390px;object-fit:cover}
.clean-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
.clean-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-700)}
.clean-list svg{color:var(--orange-600);margin-top:3px}
.process-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.process-cards article{min-width:0;padding:21px;background:#fff;border:1px solid var(--line);border-radius:15px}
.process-cards article>span{display:block;color:var(--orange-600);font-size:9px;font-weight:800;margin-bottom:18px}
.process-cards article>svg{color:var(--orange-600);margin-bottom:16px}
.process-cards h3{font-size:16px;margin:0 0 6px}
.process-cards p{font-size:12.75px;color:var(--ink-600);line-height:1.65;margin:0}
.cta-band{padding:48px 0;background:var(--navy-900);color:#fff}
.cta-band>.container{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-band h2{font-size:30px;line-height:1.2;letter-spacing:-.024em;margin:6px 0 0;max-width:780px}

/* Standard page hero / services catalogue */
.page-hero-grid{min-height:430px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,.78fr);gap:54px;align-items:center;padding:56px 0}
.page-hero-copy{position:relative;z-index:1}
.page-hero-copy>p,.page-hero p{font-size:16px;line-height:1.75;color:#c7d2df;margin:13px 0 0}
.page-hero-photo{overflow:hidden;border-radius:20px;box-shadow:var(--shadow-lg)}
.page-hero-photo img{width:100%;height:335px;object-fit:cover}
.catalogue-group{padding:0 0 45px;margin-bottom:45px;border-bottom:1px solid var(--line)}
.catalogue-group:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.catalogue-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:46px;align-items:end;margin-bottom:19px}
.catalogue-head>div{display:flex;align-items:center;gap:12px}
.catalogue-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:12px;background:var(--orange-100);color:var(--orange-600)}
.catalogue-head small{display:block;color:#8a96a6;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.catalogue-head h2{font-size:26px;line-height:1.25;margin:2px 0 0}
.catalogue-head>p{font-size:13px;line-height:1.68;color:var(--ink-600);margin:0}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalogue-grid>a{min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.catalogue-grid>a:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#ffc7a7}
.catalogue-service-icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:14px;border-radius:10px;background:#f1f4f8;color:var(--navy-800)}
.catalogue-grid h3{font-size:15px;line-height:1.4;margin:0 0 6px}
.catalogue-grid p{font-size:12.5px;line-height:1.62;color:var(--ink-600);margin:0 0 11px}

/* Service page hero */
.service-hero-v8{padding:0 0 60px}
.service-hero-v8 .breadcrumbs{padding-top:20px}
.breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#9eb0c3;font-size:10px;line-height:1.4;margin-bottom:16px}
.breadcrumbs a:hover{color:#fff}
.service-hero-grid-v8{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:44px;align-items:start}
.service-hero-copy-v8{min-width:0;position:relative;z-index:1}
.service-kicker{color:#ff9f67}
.service-hero-copy-v8 h1{font-size:clamp(36px,3.6vw,47px);line-height:1.1;letter-spacing:-.033em;margin:12px 0 14px;max-width:790px}
.service-lead-v8{font-size:17.5px;line-height:1.62;color:#f4f7fa;font-weight:600;max-width:760px;margin:0 0 12px}
.service-summary-v8{font-size:15px;line-height:1.76;color:#c7d3df;max-width:760px;margin:0 0 17px}
.hero-points-v8{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:8px}
.hero-points-v8 li{display:flex;align-items:flex-start;gap:8px;color:#dbe4ed;font-size:12.75px;line-height:1.55}
.hero-points-v8 svg{color:#ff9a60;margin-top:1px}
.service-hero-image-v8{height:270px;max-width:780px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0a2a4d;box-shadow:0 20px 50px rgba(0,0,0,.17)}
.service-hero-image-v8 img{width:100%;height:100%;object-fit:cover}
.service-form-v8{position:sticky;top:calc(var(--header-h) + 18px);z-index:2;min-width:0;overflow:hidden;padding:21px 20px 18px;background:#fff;color:var(--ink-900);border:1px solid rgba(255,255,255,.75);border-radius:18px;box-shadow:var(--shadow-lg)}
.form-accent{height:3px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--orange-600),#ff9d66)}
.form-heading-v8{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #edf1f5}
.form-heading-v8>span,.form-heading>span{display:block;color:var(--orange-600);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.form-heading-v8 h2{font-size:19px;line-height:1.3;letter-spacing:-.015em;margin:0 0 5px}
.form-heading-v8 p{font-size:11.5px;line-height:1.55;color:var(--ink-600);margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.field{display:flex;flex-direction:column;min-width:0;gap:4px}
.field.full{grid-column:1/-1}
.field label{font-size:10.5px;line-height:1.3;font-weight:700;color:#46556a}
.field label em{font-style:normal;color:var(--orange-600)}
.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;border:1px solid #d6dfe8;background:#fff;color:var(--ink-900);border-radius:8px;padding:9px 10px;font-size:12px;line-height:1.35;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.field input,.field select{height:39px}
.field textarea{min-height:70px;resize:vertical;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#ff9b62;box-shadow:0 0 0 3px rgba(244,91,19,.08)}
.phone-field{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;min-width:0}
.consent{align-self:end}
.consent label{display:flex;align-items:flex-start;gap:7px;font-size:9.5px;line-height:1.45;font-weight:500}
.consent input{width:15px!important;height:15px!important;min-width:15px!important;margin:0!important;padding:0!important}
.consent a{color:var(--orange-600);font-weight:700}
.form-submit{display:grid;gap:6px}
.form-submit .btn{width:100%;min-height:39px;border-radius:8px;font-size:11.25px;padding-inline:14px}
.form-submit p{margin:0;color:#8995a5;font-size:8.5px;line-height:1.4;text-align:center}
.form-contact-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;margin-top:11px;border-top:1px solid #edf1f5}
.form-contact-row a{display:inline-flex;align-items:center;gap:5px;color:#4e5d70;font-size:9px;font-weight:700}
.form-contact-row a:hover{color:var(--orange-600)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Service content */
.overview-grid-v8{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:56px;align-items:start}
.overview-copy-v8>p,.scope-copy-v8>p,.demand-focus-copy-v10>p,.visual-context-copy-v9>p,.faq-layout-v8>div>p{font-size:15px;line-height:1.8;color:var(--ink-600);margin:13px 0 0}
.best-for-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.best-for-card h3{font-size:17px;line-height:1.4;margin:9px 0 13px}
.best-for-card ul{list-style:none;padding:0;margin:0 0 15px;display:grid;gap:9px}
.best-for-card li{display:flex;gap:8px;align-items:flex-start;color:var(--ink-700);font-size:12.5px;line-height:1.55}
.best-for-card li svg{color:var(--orange-600);margin-top:1px}
.capability-grid-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.capability-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;min-width:0;padding:19px;background:#fff;border:1px solid var(--line);border-radius:15px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.capability-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#ffc8aa}
.capability-icon-v10{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--orange-100);color:var(--orange-600)}
.capability-no{position:absolute;right:15px;top:14px;color:#a1acb9;font-size:8px;font-weight:800;letter-spacing:.08em}
.capability-card h3{padding-right:24px;font-size:14px;line-height:1.42;margin:1px 0 7px}
.capability-card p{font-size:11.75px;line-height:1.63;color:var(--ink-600);margin:0}
.pillar-grid-v8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pillar-grid-v8 article{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}
.pillar-grid-v8 article>span,.blueprint-icon,.visual-point-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--orange-100);color:var(--orange-600)}
.pillar-grid-v8 h3{font-size:14.5px;line-height:1.4;margin:14px 0 6px}
.pillar-grid-v8 p{font-size:12px;line-height:1.62;color:var(--ink-600);margin:0}
.demand-focus-v10{padding-top:0}
.demand-focus-grid-v10{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:55px;align-items:center;padding-top:68px;border-top:1px solid var(--line)}
.demand-focus-copy-v10 h2{margin-top:8px}
.demand-focus-card-v10{overflow:hidden;border-radius:20px;background:#edf2f6;box-shadow:var(--shadow-md)}
.demand-focus-card-v10>img{width:100%;height:390px;object-fit:cover}
.scope-grid-v8{display:grid;grid-template-columns:minmax(360px,.94fr) minmax(0,1.06fr);gap:58px;align-items:center}
.scope-image-v8{overflow:hidden;border-radius:20px;background:#eef2f5;box-shadow:var(--shadow-md)}
.scope-image-v8 img{width:100%;height:430px;object-fit:cover}
.scope-list-v8{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
.scope-list-v8 li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.55;color:var(--ink-700)}
.scope-list-v8 svg{color:var(--orange-600);margin-top:1px}
.section-heading-v9-with-icon{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(300px,.62fr);gap:16px 22px;align-items:end;margin-bottom:28px}
.section-heading-icon-v9{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--orange-100);color:var(--orange-600);align-self:start}
.section-heading-v9-with-icon h2{font-size:clamp(29px,2.8vw,37px);line-height:1.18;letter-spacing:-.024em;margin:7px 0 0}
.section-heading-v9-with-icon>p{font-size:14px;line-height:1.75;color:var(--ink-600);margin:0}
.blueprint-grid-v9{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.blueprint-grid-v9 article{padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px}
.blueprint-grid-v9 h3{font-size:14px;line-height:1.4;margin:14px 0 12px}
.blueprint-grid-v9 ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.blueprint-grid-v9 li{display:flex;align-items:flex-start;gap:7px;font-size:11.75px;line-height:1.55;color:var(--ink-600)}
.blueprint-grid-v9 li svg{color:var(--orange-600);margin-top:1px}
.process-grid-v8{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.process-v8-card{min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px}
.process-icon-v10{width:42px;height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:11px;background:var(--orange-100);color:var(--orange-600);margin-bottom:14px}
.process-icon-v10 small{font-size:7.5px;font-weight:800;color:#a44c21}
.process-v8-card h3{font-size:13.5px;line-height:1.4;margin:0 0 6px}
.process-v8-card p{font-size:11.5px;line-height:1.62;color:var(--ink-600);margin:0}
.metric-grid-v8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric-grid-v8 article{padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.04)}
.metric-grid-v8 article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.08);color:#ff9b61}
.metric-grid-v8 h3{font-size:14px;line-height:1.4;margin:14px 0 6px}
.metric-grid-v8 p{font-size:11.75px;line-height:1.62;color:#bcc9d7;margin:0}
.measurement-note-v8{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.measurement-note-v8 h3{font-size:15px;margin:6px 0 0}
.tool-chips-v8{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.tool-chips-v8 span{padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);color:#d5dee8;font-size:9px;font-weight:600}
.visual-context-grid-v9{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:58px;align-items:center}
.visual-context-media-v9{margin:0;overflow:hidden;border-radius:20px;background:#edf2f6;box-shadow:var(--shadow-md)}
.visual-context-media-v9>img{width:100%;height:410px;object-fit:cover}
.visual-intro-v9{font-size:16px!important;color:var(--ink-700)!important;font-weight:500}
.visual-points-v9{display:grid;gap:11px;margin-top:20px}
.visual-points-v9 article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:start}
.visual-points-v9 h3{font-size:13.5px;margin:0 0 3px}
.visual-points-v9 p{font-size:11.75px;line-height:1.6;color:var(--ink-600);margin:0}
.why-grid-v8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.why-grid-v8 article{padding:19px;background:#fff;border:1px solid var(--line);border-radius:15px}
.why-grid-v8 article>svg{width:22px;height:22px;color:var(--orange-600);margin-bottom:14px}
.why-grid-v8 h3{font-size:14px;line-height:1.4;margin:0 0 6px}
.why-grid-v8 p{font-size:11.75px;line-height:1.62;color:var(--ink-600);margin:0}
.faq-layout-v8{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:62px;align-items:start}
.faq-layout-v8>div:first-child{position:sticky;top:calc(var(--header-h) + 24px)}
.faq-layout-v8 .btn{margin-top:18px}
.faq-list details{border-bottom:1px solid var(--line);padding:16px 0}
.faq-list details:first-child{padding-top:0}
.faq-list summary{display:flex;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;font-size:13px;line-height:1.5;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--orange-600);font-size:18px;line-height:1}
.faq-list p{font-size:12.25px;line-height:1.7;color:var(--ink-600);margin:9px 32px 0 0}
.related-section-v8{background:#fbfcfd}
.related-grid-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-card-v8{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;background:#fff;border:1px solid var(--line);border-radius:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.related-card-v8:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#ffc8aa}
.related-thumb-v9{height:145px;overflow:hidden;background:#eef2f6}
.related-thumb-v9 img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.related-card-v8:hover .related-thumb-v9 img{transform:scale(1.025)}
.related-card-v8>span{width:38px;height:38px;display:grid;place-items:center;margin:16px 19px 11px;border-radius:10px;background:var(--orange-100);color:var(--orange-600)}
.related-card-v8>small,.related-card-v8>h3,.related-card-v8>p,.related-card-v8>b{margin-left:19px;margin-right:19px}
.related-card-v8 small{font-size:8px;color:#8a96a6;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.related-card-v8 h3{font-size:15.5px;line-height:1.4;margin-top:4px;margin-bottom:6px}
.related-card-v8 p{font-size:12.25px;line-height:1.62;color:var(--ink-600);margin-top:0;margin-bottom:11px;flex:1}
.related-card-v8 b{display:flex;align-items:center;gap:6px;color:var(--orange-600);font-size:10.5px;margin-bottom:18px}

/* Legacy service-layout helpers retained for non-V8 pages */
.service-top{padding:54px 0 62px;background:linear-gradient(125deg,#031328,#082b50);color:#fff}
.service-top-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr);gap:48px;align-items:start}
.service-intro h1{font-size:clamp(36px,4vw,49px);line-height:1.1;letter-spacing:-.032em;margin:0 0 14px}
.service-intro>p,.service-lead{font-size:16px;line-height:1.72;color:#c7d3df}
.service-hero-photo{height:290px;overflow:hidden;border-radius:18px;box-shadow:var(--shadow-lg)}
.service-hero-photo>img{width:100%;height:100%;object-fit:cover}
.top-form-card{padding:23px;background:#fff;color:var(--ink-900);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md)}
.form-heading{margin-bottom:16px}
.form-heading h2{font-size:21px;line-height:1.3;margin:4px 0 6px}
.form-heading p{font-size:12.5px;line-height:1.6;color:var(--ink-600);margin:0}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px}
.article-copy h2,.image-band-copy h2{font-size:clamp(29px,2.8vw,37px);line-height:1.2;letter-spacing:-.023em;margin:6px 0}
.article-copy>p,.image-band-copy>p{font-size:15px;line-height:1.8;color:var(--ink-600)}
.article-aside{display:grid;gap:14px;align-content:start}
.aside-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.aside-icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:13px;border-radius:10px;background:var(--orange-100);color:var(--orange-600)}
.aside-card h3{font-size:14.5px;margin:0 0 6px}
.aside-card p{font-size:12px;line-height:1.6;color:var(--ink-600);margin:0}
.deliverable-grid,.outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.deliverable-grid article{display:flex;gap:9px;align-items:flex-start;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.deliverable-grid p{font-size:12px;line-height:1.6;margin:0}
.image-band{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:58px;align-items:center}
.image-band-photo{overflow:hidden;border-radius:20px;box-shadow:var(--shadow-md)}
.image-band-photo img{width:100%;height:420px;object-fit:cover}
.process-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}
.process-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px}
.process-list li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--orange-100);color:var(--orange-600);font-size:9px;font-weight:800}
.process-list strong{font-size:13px}
.process-list p{font-size:11.5px;line-height:1.6;color:var(--ink-600);margin:2px 0 0}
.outcome-grid article{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}
.outcome-grid h3{font-size:14px;margin:0 0 6px}
.outcome-grid p{font-size:11.75px;line-height:1.62;color:#bdcad8;margin:0}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.related-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.related-card h3{font-size:15px;margin:4px 0 6px}
.related-card p{font-size:12px;line-height:1.6;color:var(--ink-600);margin:0}

/* Contact */
.contact-page{padding:60px 0 70px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:58px;align-items:start}
.contact-copy{position:relative;z-index:1}
.contact-copy h1{font-size:clamp(38px,4vw,50px);margin:10px 0 13px}
.contact-copy>p{font-size:16px;line-height:1.75;color:#c8d3df;max-width:680px;margin:0 0 22px}
.contact-cards{display:grid;gap:10px;margin:0 0 22px}
.contact-cards>a,.contact-cards>div{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045)}
.contact-cards>a>span,.contact-cards>div>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:9px;background:rgba(255,255,255,.08);color:#ff9c63}
.contact-cards small{display:block;color:#95a9bd;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-cards strong{display:block;font-size:11.5px;line-height:1.45}
.contact-photo{overflow:hidden;border-radius:18px;box-shadow:var(--shadow-lg)}
.contact-photo img{width:100%;height:265px;object-fit:cover}
.contact-form-card{position:relative;z-index:2}

/* Legal */
.legal-hero{padding:62px 0}
.legal-hero h1{font-size:clamp(34px,3.5vw,45px);margin:9px 0 10px}
.legal-hero p{font-size:15px;line-height:1.7;color:#c8d3df;margin:0 0 18px}
.legal-copy h2{font-size:23px;line-height:1.3;margin:28px 0 9px}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p,.legal-copy li{font-size:14px;line-height:1.8;color:var(--ink-600)}
.legal-copy a{color:var(--orange-600);font-weight:700}

/* Footer */
.site-footer{background:#020f20;color:#c4ced9;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1.35fr .7fr .85fr 1fr;gap:44px;padding:52px 0 38px}
.footer-brand img{width:175px;max-height:48px;object-fit:contain;object-position:left center;margin-bottom:14px}
.footer-brand p,.footer-grid p{font-size:12px;line-height:1.65;color:#95a5b7;margin:0}
.footer-grid h4{color:#fff;font-size:12px;margin:0 0 13px}
.footer-grid>div:not(.footer-brand) a{display:block;padding:5px 0;color:#aebbc9;font-size:11.5px;line-height:1.55}
.footer-grid>div:not(.footer-brand) a:hover{color:#fff}
.footer-bottom{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.07);color:#8192a5;font-size:9.5px}
.toast{position:fixed;right:18px;bottom:18px;z-index:1200;max-width:360px;padding:12px 14px;border-radius:10px;background:#071b33;color:#fff;box-shadow:var(--shadow-md);font-size:11px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}
.toast.show{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width:1100px){
  :root{--header-h:70px}
  .brand{width:164px;flex-basis:164px;margin-right:20px}.brand img{width:164px}
  .main-nav>a,.services-trigger{padding-inline:10px;font-size:12.5px}.header-cta{padding-inline:13px}
  .service-hero-grid-v8{grid-template-columns:minmax(0,1fr) 380px;gap:34px}
  .image-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid-v8{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-v8-card:nth-last-child(-n+2){grid-column:auto}
}

@media (max-width:980px){
  .utility-bar{display:none}
  .nav-shell{height:var(--header-h)}
  .brand{margin-right:0}
  .nav-toggle{display:block}
  .header-cta{margin-left:9px}
  .main-nav{display:none;position:absolute;top:calc(var(--header-h) - 1px);left:0;right:0;height:auto;max-height:calc(100vh - var(--header-h) - 16px);overflow:auto;padding:10px;background:#fff;color:var(--ink-900);border:1px solid var(--line);border-radius:0 0 15px 15px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:2px}
  .nav-shell.open .main-nav{display:flex}
  .main-nav>a,.services-trigger{width:100%;height:42px;justify-content:space-between;padding:0 12px;color:var(--ink-900);border-radius:8px;font-size:12.5px}
  .main-nav>a:hover,.services-trigger:hover{background:var(--surface-soft);color:var(--orange-600)}
  .services-nav{height:auto;display:block;width:100%}
  .mega-menu{position:static;width:100%;max-height:none;margin-top:4px;border:1px solid var(--line);border-radius:12px;box-shadow:none;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;overflow:visible}
  .services-nav:hover .mega-menu{display:none}
  .services-nav.open .mega-menu{display:block}
  .mega-top{padding:13px 14px}.mega-top>div{min-width:0}.mega-top>a{display:none}
  .mega-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:15px}
  .mega-bottom{padding:11px 14px}

  .home-hero-grid,.page-hero-grid,.contact-grid,.image-copy-grid,.overview-grid-v8,.demand-focus-grid-v10,.scope-grid-v8,.visual-context-grid-v9{grid-template-columns:1fr;gap:34px}
  .home-hero-grid{min-height:0;padding:52px 0}.home-visual{max-width:700px}.home-visual>img{height:350px}
  .page-hero-grid{min-height:0;padding:50px 0}.page-hero-photo{max-width:680px}.page-hero-photo img{height:330px}
  .contact-grid{grid-template-columns:1fr 1fr;align-items:start}
  .service-hero-grid-v8{grid-template-columns:1fr;gap:30px}
  .service-form-v8{position:relative;top:auto;max-width:720px}
  .section-heading,.section-heading-v8{grid-template-columns:1fr;gap:12px}
  .section-heading-v9-with-icon{grid-template-columns:46px 1fr}.section-heading-v9-with-icon>p{grid-column:1/-1}
  .capability-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar-grid-v8,.metric-grid-v8,.why-grid-v8,.process-cards,.deliverable-grid,.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scope-list-v8{grid-template-columns:1fr}
  .blueprint-grid-v9,.catalogue-grid,.related-grid-v8,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .demand-focus-grid-v10{padding-top:58px}.demand-focus-card-v10{max-width:700px}.demand-focus-card-v10>img{height:360px}
  .scope-image-v8,.visual-context-media-v9{max-width:700px}.scope-image-v8 img,.visual-context-media-v9>img{height:360px}
  .faq-layout-v8{grid-template-columns:1fr;gap:28px}.faq-layout-v8>div:first-child{position:static}
  .measurement-note-v8{align-items:flex-start;flex-direction:column}.tool-chips-v8{justify-content:flex-start}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:32px}.footer-grid>div:last-child{grid-column:1/-1}
  .content-layout,.service-top-grid,.image-band{grid-template-columns:1fr;gap:36px}
}

@media (max-width:760px){
  .container{width:min(var(--container),calc(100% - 28px))}
  .header-cta{display:none}
  .brand{width:154px;flex-basis:154px}.brand img{width:154px}
  .section{padding:58px 0}
  .home-copy h1,.service-hero-copy-v8 h1,.contact-copy h1{font-size:clamp(32px,9.5vw,41px)}
  .home-copy>p,.service-summary-v8,.page-hero-copy>p,.contact-copy>p{font-size:14.5px}
  .service-lead-v8{font-size:16px}
  .home-visual>img,.page-hero-photo img,.demand-focus-card-v10>img,.scope-image-v8 img,.visual-context-media-v9>img,.feature-photo img,.image-band-photo img{height:290px}
  .contact-grid{grid-template-columns:1fr}
  .contact-photo{display:none}
  .image-service-grid,.capability-grid-v8,.pillar-grid-v8,.metric-grid-v8,.why-grid-v8,.process-cards,.deliverable-grid,.outcome-grid,.blueprint-grid-v9,.catalogue-grid,.related-grid-v8,.related-grid{grid-template-columns:1fr}
  .process-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalogue-head{grid-template-columns:1fr;gap:10px}
  .cta-band>.container{align-items:flex-start;flex-direction:column;gap:20px}
  .cta-band h2{font-size:26px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.consent{align-self:auto}
  .service-form-v8{padding:19px 17px 16px}
  .form-contact-row{align-items:flex-start;flex-direction:column}
  .mega-body{grid-template-columns:1fr}.mega-bottom{align-items:flex-start;flex-direction:column;gap:7px}
}

@media (max-width:520px){
  .container{width:min(var(--container),calc(100% - 22px))}
  .nav-shell{height:66px}.brand{width:145px;flex-basis:145px}.brand img{width:145px}.nav-toggle{width:40px;height:40px}
  .main-nav{top:65px}
  .home-hero-grid{padding:42px 0}.home-copy h1,.service-hero-copy-v8 h1,.contact-copy h1{font-size:31px;line-height:1.12}.home-copy>p{font-size:14px}
  .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
  .hero-trust{display:grid;gap:7px}
  .home-visual>img,.page-hero-photo img,.demand-focus-card-v10>img,.scope-image-v8 img,.visual-context-media-v9>img,.feature-photo img,.image-band-photo img{height:235px}
  .hero-float{width:100%}
  .service-hero-v8{padding-bottom:44px}.service-hero-v8 .breadcrumbs{padding-top:15px}
  .service-hero-image-v8{height:215px}
  .process-grid-v8{grid-template-columns:1fr}
  .section-heading h2,.section-heading-v8 h2,.image-copy-grid h2,.overview-copy-v8 h2,.scope-copy-v8 h2,.demand-focus-copy-v10 h2,.visual-context-copy-v9 h2,.faq-layout-v8 h2,.section-heading-v9-with-icon h2{font-size:27px}
  .section-heading-v9-with-icon{grid-template-columns:1fr}.section-heading-icon-v9{margin-bottom:2px}
  .section-heading-v9-with-icon>p{grid-column:auto}
  .scope-list-v8 li,.best-for-card li{font-size:12px}
  .capability-card{grid-template-columns:40px minmax(0,1fr);padding:17px}.capability-icon-v10{width:40px;height:40px}.capability-card h3{font-size:13.5px}
  .phone-field{grid-template-columns:100px minmax(0,1fr)}
  .footer-grid{grid-template-columns:1fr}.footer-brand,.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding:14px 0}
  .legal-hero{padding:48px 0}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Structural marker classes: intentionally light-touch, kept explicit so every template class is owned by V12 CSS. */
.lead-form,.compact-service-form,.compact-grid,.service-catalogue,.service-overview-v8,.capability-section-v8,.service-pillars-section,.scope-section-v8,.engagement-blueprint-v9,.process-section-v8,.measurement-v8,.visual-context-v9,.why-v8,.faq-v8{min-width:0}
.capability-no-v10{line-height:1}
.main-nav>a.active,.services-trigger.active{background:rgba(255,255,255,.09);color:#fff}
.mega-col>a.active{background:#fff2e9;color:var(--orange-600)}
@media (max-width:980px){.main-nav>a.active,.services-trigger.active{background:#f3f6f9;color:var(--orange-600)}}


/* V12 final icon & image safety rules */
svg use{pointer-events:none}
.catalogue-service-icon,.mega-link-icon,.section-heading-icon-v9,.capability-icon-v10,.process-icon-v10,.blueprint-icon,.pillar-icon-wrap,.metric-icon-wrap,.why-icon-wrap,.related-icon-wrap{position:static;inset:auto;z-index:auto}
.card-image svg,.service-hero-image-v8 svg,.scope-image-v8 svg,.visual-context-media-v9 svg,.demand-focus-card-v10>svg,.related-thumb-v9 svg,.feature-photo svg,.page-hero-photo svg,.contact-photo svg,.home-visual>svg{display:none!important}
.catalogue-grid>a{position:relative}
.catalogue-service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#fff1e8;color:var(--orange-600);margin-bottom:14px}
.catalogue-service-icon .icon{width:21px;height:21px}
.catalogue-grid .learn .mini,.text-link .mini,.btn .mini,.header-cta .mini{width:15px;height:15px}
.section-heading-v9-with-icon .eyebrow{gap:0}


/* ========================================================================== 
   TechSprite V13 Professional Refresh — SVG-free UI
   Decorative SVG sprite icons were intentionally removed from all templates.
   Navigation cues and list markers below are pure CSS / text, so content images
   remain completely clean and free from icon overlays.
   ========================================================================== */
:root{
  --navy-950:#04111f;
  --navy-900:#071a30;
  --navy-800:#0b2948;
  --navy-700:#123b65;
  --orange-600:#f26522;
  --orange-500:#ff7a32;
  --orange-100:#fff3ec;
  --ink-900:#122238;
  --ink-700:#3c4b60;
  --ink-600:#5c6b7e;
  --ink-500:#7b8797;
  --line:#e2e8ef;
  --line-strong:#d2dce6;
  --surface-soft:#f7f9fc;
  --shadow-sm:0 10px 30px rgba(5,24,46,.07);
  --shadow-md:0 20px 50px rgba(5,24,46,.11);
  --shadow-lg:0 32px 80px rgba(2,16,34,.22);
  --radius-md:18px;
  --radius-lg:26px;
  --container:1220px;
}

body{letter-spacing:-.006em;background:#fff}
.section{padding:88px 0}
.container{width:min(var(--container),calc(100% - 48px))}
::selection{background:#ffe2d1;color:var(--navy-950)}
:focus-visible{outline:3px solid rgba(242,101,34,.28);outline-offset:3px}

/* Header refinement */
.utility-bar{background:#020c18;border-bottom-color:rgba(255,255,255,.055)}
.utility-bar>.container{min-height:32px}
.utility-left span,.utility-right a{gap:0}
.utility-left span::before,.utility-right a::before{content:"";width:5px;height:5px;border-radius:50%;margin-right:8px;background:#f47a38;opacity:.9}
.site-header{background:rgba(4,17,31,.965);border-bottom-color:rgba(255,255,255,.07);box-shadow:0 8px 28px rgba(0,0,0,.12)}
.nav-shell{height:76px}
.brand{width:190px;flex-basis:190px;margin-right:40px}
.brand img{width:190px;max-height:52px}
.main-nav>a,.services-trigger{height:44px;padding:0 14px;border-radius:10px;font-size:12.5px;font-weight:700;letter-spacing:0}
.services-trigger::after{content:"";width:6px;height:6px;margin-left:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.services-nav.open .services-trigger::after{transform:rotate(225deg) translate(-1px,-1px)}
.header-cta{min-height:44px;padding:0 18px;border-radius:999px;font-size:11.5px;background:linear-gradient(135deg,#ff7d38,#ed5c18);box-shadow:0 12px 30px rgba(242,101,34,.24)}
.header-cta::after,.btn.primary::after,.text-link::after,.catalogue-grid .learn::after,.mega-top>a::after,.mega-bottom>a::after,.related-card-v8 b::after{content:"→";font-size:1.05em;line-height:1;transition:transform .18s ease}
.header-cta:hover::after,.btn.primary:hover::after,.text-link:hover::after,.catalogue-grid .learn:hover::after,.mega-top>a:hover::after,.mega-bottom>a:hover::after,.related-card-v8:hover b::after{transform:translateX(3px)}

/* SVG-free mega menu */
.mega-menu{top:76px;border-radius:0 0 22px 22px;box-shadow:0 34px 90px rgba(0,14,33,.24)}
.mega-body{gap:22px 30px;padding:24px 26px 22px}
.mega-title>span,.mega-link-icon{display:none!important}
.mega-title{gap:0;padding-bottom:10px;margin-bottom:7px}
.mega-col>a{gap:0;min-height:36px;padding:6px 8px;font-size:11.5px;border-left:2px solid transparent}
.mega-col>a:hover,.mega-col>a.active{border-left-color:var(--orange-600);background:#fff7f2}

/* Typography / controls */
.eyebrow,.hero-kicker,.service-kicker{gap:0;position:relative;padding-left:18px;letter-spacing:.115em}
.eyebrow::before,.hero-kicker::before,.service-kicker::before{content:"";position:absolute;left:0;top:50%;width:10px;height:2px;border-radius:99px;background:currentColor;transform:translateY(-50%)}
.btn{min-height:46px;padding:0 20px;border-radius:11px;font-size:11.75px}
.btn.secondary{background:rgba(255,255,255,.98);border-color:rgba(255,255,255,.2)}
.section-heading,.section-heading-v8{margin-bottom:34px}
.section-heading h2,.section-heading-v8 h2,.image-copy-grid h2,.overview-copy-v8 h2,.scope-copy-v8 h2,.demand-focus-copy-v10 h2,.visual-context-copy-v9 h2,.faq-layout-v8 h2,.contact-copy h1,.page-hero h1,.legal-hero h1{letter-spacing:-.035em}

/* Hero */
.home-hero,.page-hero,.service-hero-v8,.contact-page,.legal-hero{background:linear-gradient(128deg,#03111f 0%,#082642 62%,#0b3154 100%)}
.home-hero::before,.page-hero::before,.service-hero-v8::before,.contact-page::before{width:640px;height:640px;right:-220px;top:-320px;background:radial-gradient(circle,rgba(244,110,41,.18),transparent 68%)}
.home-hero::after,.page-hero::after,.service-hero-v8::after,.contact-page::after{content:"";position:absolute;inset:auto auto -220px -220px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(42,105,155,.16),transparent 68%);pointer-events:none}
.home-hero-grid{min-height:620px;grid-template-columns:minmax(0,1.08fr) minmax(410px,.82fr);gap:72px;padding:70px 0}
.home-copy h1{font-size:clamp(42px,4.2vw,58px);line-height:1.055;letter-spacing:-.048em;margin:15px 0 20px;max-width:820px}
.home-copy>p{font-size:16.5px;line-height:1.8;max-width:710px}
.hero-trust{gap:10px 18px;margin-top:24px;font-size:10.5px}
.hero-trust span{gap:8px}
.hero-trust span::before{content:"";width:7px;height:7px;flex:0 0 7px;border:2px solid #ff9860;border-radius:50%;box-shadow:0 0 0 3px rgba(255,152,96,.08)}
.home-visual{padding:10px 0 10px 10px}
.home-visual>img{height:420px;border-radius:26px;border:1px solid rgba(255,255,255,.13);box-shadow:0 34px 80px rgba(0,0,0,.28)}
.hero-float{margin-top:18px;padding:13px 16px;border:1px solid rgba(255,255,255,.65);border-radius:14px;box-shadow:0 16px 40px rgba(3,17,31,.16)}
.hero-float>span:empty{display:none}
.hero-float{gap:0}
.hero-float small{font-size:8.5px}
.hero-float strong{font-size:11px}
.trust-bar{box-shadow:0 8px 28px rgba(8,25,45,.035)}
.trust-bar>.container{min-height:66px}
.trust-bar span{color:#708095;font-size:9px;letter-spacing:.14em}

/* Image cards: clean imagery, no decorative icon blocks */
.image-service-grid{gap:18px}
.image-service-card{border-radius:20px;border-color:#e5eaf0;box-shadow:0 1px 0 rgba(10,30,50,.02)}
.image-service-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(5,24,46,.12);border-color:#f1c6ae}
.card-image{height:180px}
.card-image img{transform:scale(1.001)}
.image-service-card:hover .card-image img{transform:scale(1.045)}
.card-body{padding:20px 20px 21px;position:relative}
.card-body::before{content:"";width:32px;height:3px;border-radius:99px;background:var(--orange-600);margin:10px 0 5px}
.service-link-icon-v9{display:none!important}
.card-body small{color:#8a96a5;font-size:8.5px}
.card-body h3{font-size:16.5px;margin-top:8px}
.card-body p{font-size:12.75px;line-height:1.7}
.feature-photo,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.contact-photo,.image-band-photo{border-radius:24px;border:1px solid #e6ebf0;box-shadow:var(--shadow-md)}

/* Lists use simple CSS markers instead of SVG icons */
.clean-list li,.hero-points-v8 li,.best-for-card li,.scope-list-v8 li,.blueprint-grid-v9 li{position:relative;padding-left:17px;gap:0}
.clean-list li::before,.hero-points-v8 li::before,.best-for-card li::before,.scope-list-v8 li::before,.blueprint-grid-v9 li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--orange-600);box-shadow:0 0 0 3px rgba(242,101,34,.09)}
.hero-points-v8 li::before{background:#ff9b62;box-shadow:0 0 0 3px rgba(255,155,98,.1)}

/* Professional service-page cards without icon tiles */
.capability-icon-v10,.section-heading-icon-v9,.catalogue-service-icon,.blueprint-icon,.visual-point-icon,.aside-icon,.related-card-v8>span:empty,.pillar-grid-v8 article>span:empty,.metric-grid-v8 article>span:empty,.contact-cards>a>span:empty,.contact-cards>div>span:empty{display:none!important}
.capability-card{display:block;padding:22px 22px 21px;border-radius:18px;border-color:#e3e9ef;min-height:190px}
.capability-card::before,.pillar-grid-v8 article::before,.why-grid-v8 article::before,.blueprint-grid-v9 article::before,.process-v8-card::before{content:"";display:block;width:34px;height:3px;margin-bottom:17px;border-radius:99px;background:linear-gradient(90deg,var(--orange-600),#ff9a62)}
.capability-no{right:18px;top:18px;font-size:9px;color:#9ba7b5}
.capability-card h3{padding-right:34px;font-size:14.5px;margin-bottom:8px}
.capability-card p{font-size:12px;line-height:1.7}
.pillar-grid-v8 article,.why-grid-v8 article,.blueprint-grid-v9 article,.process-v8-card,.best-for-card,.catalogue-grid>a,.related-card,.aside-card{border-radius:18px;border-color:#e3e9ef}
.pillar-grid-v8 h3{margin-top:0}
.metric-grid-v8 article{border-radius:18px}
.metric-grid-v8 h3{margin-top:0}
.section-heading-v9-with-icon{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:48px;align-items:end}
.section-heading-v9-with-icon>p{grid-column:auto}
.visual-points-v9 article{grid-template-columns:1fr;gap:0;padding:15px 0;border-bottom:1px solid var(--line)}
.visual-points-v9 article:last-child{border-bottom:0}
.related-card-v8>small,.related-card-v8>h3,.related-card-v8>p,.related-card-v8>b{margin-left:20px;margin-right:20px}
.related-card-v8>small{margin-top:18px}
.contact-cards>a,.contact-cards>div{gap:0;padding:14px 15px;border-radius:14px}
.catalogue-head>div{gap:0}
.catalogue-grid>a{padding:21px;position:relative;overflow:hidden}
.catalogue-grid>a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .18s ease}
.catalogue-grid>a:hover::before{background:var(--orange-600)}

/* Forms */
.service-form-v8,.top-form-card,.contact-form-card{border-radius:22px;box-shadow:0 28px 70px rgba(1,14,31,.20)}
.service-form-v8{padding:24px 23px 21px}
.form-heading-v8 h2{font-size:20px}
.field input,.field select,.field textarea{border-radius:10px;border-color:#d8e0e8;background:#fbfcfe;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#f69a65;box-shadow:0 0 0 4px rgba(242,101,34,.09)}
.form-submit .btn{min-height:43px;border-radius:10px}

/* CTA + Footer */
.cta-band{padding:58px 0;background:linear-gradient(120deg,#06172c,#0a2a4b)}
.cta-band h2{font-size:clamp(29px,3vw,36px)}
.site-footer{background:#020c18}
.footer-grid{padding:58px 0 42px}
.footer-grid h4{font-size:12.5px}
.footer-grid>div:not(.footer-brand) a{padding:6px 0;transition:color .18s ease,transform .18s ease}
.footer-grid>div:not(.footer-brand) a:hover{transform:translateX(2px)}

@media (max-width:1100px){
  .nav-shell{height:72px}.mega-menu{top:72px}
  .brand{width:174px;flex-basis:174px;margin-right:24px}.brand img{width:174px}
  .home-hero-grid{gap:48px}
}
@media (max-width:980px){
  .nav-shell{height:70px}
  .main-nav{top:69px}
  .mega-menu{top:auto}
  .main-nav>a,.services-trigger{font-size:12.5px}
  .home-hero-grid{padding:58px 0;grid-template-columns:1fr}
  .home-visual{padding:0;max-width:760px}
  .home-visual>img{height:370px}
  .section-heading-v9-with-icon{grid-template-columns:1fr;gap:12px}
  .section-heading-v9-with-icon>p{grid-column:auto}
}
@media (max-width:760px){
  .container{width:min(var(--container),calc(100% - 30px))}
  .section{padding:64px 0}
  .home-copy h1{font-size:clamp(34px,10vw,44px)}
  .home-visual>img{height:300px;border-radius:20px}
  .card-image{height:210px}
  .service-form-v8{border-radius:18px;padding:20px 18px 18px}
}
@media (max-width:520px){
  .container{width:min(var(--container),calc(100% - 24px))}
  .nav-shell{height:66px}.main-nav{top:65px}
  .brand{width:150px;flex-basis:150px}.brand img{width:150px}
  .home-hero-grid{padding:46px 0}
  .home-copy h1{font-size:33px;letter-spacing:-.038em}
  .home-visual>img{height:240px}
  .card-image{height:190px}
  .capability-card{min-height:0}
}

/* ========================================================================== 
   TechSprite V14 — Professional SVG Card System + Clean Photography
   SVG icons are intentionally used in interface/card boxes only.
   Photography containers are kept icon-free, including pseudo-elements.
   ========================================================================== */

/* Re-enable the interface SVG system removed by the V13 SVG-free pass. */
svg{display:block;flex:0 0 auto}
.micro{width:13px;height:13px}.mini{width:15px;height:15px}.icon{width:21px;height:21px}
.kicker-icon,.service-kicker-icon,.section-label-icon{width:17px;height:17px}
.service-link-svg-v9,.capability-svg-v10,.process-svg-v10,.blueprint-svg,.heading-svg-v9,.pillar-icon,.metric-icon,.why-icon,.visual-inline-icon,.related-icon-v8{width:20px;height:20px}

/* Remove V13 CSS substitutes now that real SVG icons are back. */
.utility-left span::before,.utility-right a::before,
.services-trigger::after,
.header-cta::after,.btn.primary::after,.text-link::after,.catalogue-grid .learn::after,.mega-top>a::after,.mega-bottom>a::after,.related-card-v8 b::after,
.eyebrow::before,.hero-kicker::before,.service-kicker::before,
.card-body::before,
.clean-list li::before,.hero-points-v8 li::before,.best-for-card li::before,.scope-list-v8 li::before,.blueprint-grid-v9 li::before,
.capability-card::before,.pillar-grid-v8 article::before,.why-grid-v8 article::before,.blueprint-grid-v9 article::before,.process-v8-card::before{content:none!important;display:none!important}

.eyebrow,.hero-kicker,.service-kicker{display:inline-flex;align-items:center;gap:8px;padding-left:0}
.utility-left span,.utility-right a{gap:7px}
.services-trigger{gap:6px}
.header-cta,.btn,.text-link,.catalogue-grid .learn,.mega-top>a,.mega-bottom>a,.related-card-v8 b{gap:7px}

/* Navigation icons: restrained, crisp and aligned. */
.mega-title>span{width:38px;height:38px;display:grid!important;place-items:center;border-radius:11px;background:#fff2ea;color:var(--orange-600);border:1px solid #ffe0cf}
.mega-title{gap:10px}
.mega-link-icon{width:26px;height:26px;display:grid!important;place-items:center;border-radius:8px;background:#f5f7fa;color:#607086;transition:background .18s ease,color .18s ease,transform .18s ease}
.mega-col>a{gap:8px;border-left:0}
.mega-col>a:hover .mega-link-icon,.mega-col>a.active .mega-link-icon{background:#fff0e7;color:var(--orange-600);transform:translateX(1px)}
.mega-col>a:hover,.mega-col>a.active{border-left-color:transparent}

/* Homepage and service catalogue card icons. */
.service-link-icon-v9,.catalogue-service-icon{display:grid!important;place-items:center}
.service-link-icon-v9{width:42px;height:42px;margin:0 0 13px;border-radius:12px;background:#fff1e8;color:var(--orange-600);border:1px solid #ffe0cf}
.catalogue-service-icon{width:46px;height:46px;border-radius:13px;background:#fff1e8;color:var(--orange-600);border:1px solid #ffe0cf;box-shadow:0 7px 18px rgba(242,101,34,.07)}
.card-body{padding:21px 21px 22px}
.card-body small{margin-top:0}
.catalogue-grid>a{padding:22px;border-radius:18px}
.catalogue-grid>a::before{width:3px}

/* Absolute rule: images are photography only — never carry SVG/UI artwork. */
.card-image svg,.service-hero-image-v8 svg,.scope-image-v8 svg,.visual-context-media-v9 svg,.demand-focus-card-v10>svg,.related-thumb-v9 svg,.feature-photo svg,.page-hero-photo svg,.contact-photo svg,.home-visual>svg,.image-band-photo svg,.service-hero-photo svg{display:none!important}
.card-image::before,.card-image::after,
.service-hero-image-v8::before,.service-hero-image-v8::after,
.scope-image-v8::before,.scope-image-v8::after,
.visual-context-media-v9::before,.visual-context-media-v9::after,
.demand-focus-card-v10::before,.demand-focus-card-v10::after,
.related-thumb-v9::before,.related-thumb-v9::after,
.feature-photo::before,.feature-photo::after,
.page-hero-photo::before,.page-hero-photo::after,
.contact-photo::before,.contact-photo::after,
.home-visual::before,.home-visual::after,
.image-band-photo::before,.image-band-photo::after,
.service-hero-photo::before,.service-hero-photo::after{content:none!important;display:none!important}

/* Service hero: clearer hierarchy and cleaner image presentation. */
.service-hero-v8{padding-bottom:72px}
.service-hero-v8 .breadcrumbs{padding-top:23px;margin-bottom:21px}
.service-hero-grid-v8{grid-template-columns:minmax(0,1fr) 410px;gap:52px}
.service-hero-copy-v8 h1{font-size:clamp(40px,3.9vw,54px);line-height:1.045;letter-spacing:-.047em;margin:13px 0 17px}
.service-lead-v8{font-size:18px;line-height:1.62;max-width:790px}
.service-summary-v8{font-size:14.5px;line-height:1.8;max-width:790px}
.hero-points-v8{gap:10px;margin:20px 0 25px}
.hero-points-v8 li{padding-left:0;gap:9px;font-size:12.7px}
.hero-points-v8 .tick{width:17px;height:17px;margin-top:1px;color:#ff9b62}
.service-hero-image-v8{height:315px;max-width:820px;border-radius:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 65px rgba(0,0,0,.23);background:#0a2947}
.service-hero-image-v8 img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.025)}
.service-form-v8{border-radius:24px;padding:25px 23px 21px;box-shadow:0 30px 80px rgba(0,13,31,.25)}
.form-heading-v8{padding-bottom:15px;margin-bottom:15px}
.form-heading-v8 h2{font-size:21px;letter-spacing:-.025em}

/* Section headings with useful SVG cues. */
.section-heading-v8 .eyebrow,.section-heading .eyebrow,.faq-layout-v8 .eyebrow,.visual-context-copy-v9 .eyebrow{gap:8px}
.section-label-icon{color:var(--orange-600)}
.measurement-v8 .section-label-icon,.measurement-v8 .eyebrow{color:#ff9b62}
.section-heading-v9-with-icon{grid-template-columns:50px minmax(0,1fr) minmax(300px,.62fr);gap:16px 22px;align-items:end}
.section-heading-icon-v9{width:48px;height:48px;display:grid!important;place-items:center;border-radius:13px;background:#fff1e8;color:var(--orange-600);border:1px solid #ffe0cf;align-self:start}
.section-heading-v9-with-icon>p{grid-column:auto}

/* Card language used across every service page. */
.capability-icon-v10,.blueprint-icon,.visual-point-icon,.aside-icon{display:grid!important;place-items:center}
.process-icon-v10{display:flex!important}
.capability-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:21px;border-radius:19px;min-height:198px;background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);box-shadow:0 1px 0 rgba(6,25,47,.02)}
.capability-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(5,24,46,.09);border-color:#f2c9b2}
.capability-icon-v10{width:46px;height:46px;border-radius:13px;background:#fff0e6;color:var(--orange-600);border:1px solid #ffdfcd}
.capability-no{right:17px;top:17px;color:#a7b1bd}
.capability-card h3{padding-right:30px;font-size:14.5px;margin:2px 0 8px}
.capability-card p{font-size:12px;line-height:1.7}

.pillar-grid-v8{gap:16px}
.pillar-grid-v8 article{padding:22px 21px 23px;border-radius:19px;min-height:218px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pillar-grid-v8 article:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(5,24,46,.08);border-color:#f3cab3}
.pillar-grid-v8 article>span{width:44px;height:44px;display:grid!important;place-items:center;border-radius:12px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf;box-shadow:0 8px 20px rgba(242,101,34,.06)}
.pillar-grid-v8 h3{font-size:15px;margin:16px 0 8px}
.pillar-grid-v8 p{font-size:12.25px;line-height:1.7}

.blueprint-grid-v9 article,.process-v8-card,.why-grid-v8 article,.best-for-card,.aside-card{border-radius:19px}
.blueprint-grid-v9 article{padding:22px}
.blueprint-icon{width:44px;height:44px;border-radius:12px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf}
.blueprint-grid-v9 li{padding-left:0;gap:8px}
.blueprint-grid-v9 li svg{width:16px;height:16px;flex:0 0 16px}

.process-v8-card{padding:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.process-v8-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(5,24,46,.075);border-color:#f1cbb6}
.process-icon-v10{width:46px;height:46px;border-radius:13px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf;margin-bottom:16px}
.process-v8-card h3{font-size:13.8px;margin-bottom:8px}
.process-v8-card p{line-height:1.68}

/* Metrics: icons remain in cards, never on photos. */
.metric-grid-v8 article{padding:22px;border-radius:19px;background:rgba(255,255,255,.055)}
.metric-grid-v8 article>span{width:44px;height:44px;display:grid!important;place-items:center;border-radius:12px;background:rgba(255,255,255,.09);color:#ff9b61;border:1px solid rgba(255,255,255,.08)}
.metric-grid-v8 h3{font-size:14.5px;margin:15px 0 7px}
.metric-grid-v8 p{font-size:12px;line-height:1.68}

/* Visual context points now use proper icon tiles. */
.visual-points-v9{gap:13px;margin-top:23px}
.visual-points-v9 article{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:0;border:0}
.visual-point-icon{width:44px;height:44px;border-radius:12px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf}
.visual-points-v9 h3{font-size:13.8px;margin:1px 0 4px}
.visual-points-v9 p{font-size:11.9px;line-height:1.65}

/* Working-with-us cards use icon tiles rather than decorative bars. */
.why-grid-v8 article{padding:21px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.why-grid-v8 article:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(5,24,46,.075);border-color:#f1cbb6}
.why-grid-v8 article>svg{display:block!important;width:44px;height:44px;padding:11px;box-sizing:border-box;color:var(--orange-600);background:#fff0e7;border:1px solid #ffe0cf;border-radius:12px;margin-bottom:15px}
.why-grid-v8 h3{font-size:14.5px;margin-bottom:7px}
.why-grid-v8 p{font-size:12px;line-height:1.68}

/* Related services: clean photo, icon starts below the photo. */
.related-card-v8{border-radius:19px}
.related-thumb-v9{height:165px;background:#eef2f6}
.related-card-v8>span{width:44px;height:44px;display:grid!important;place-items:center;margin:18px 20px 12px;border-radius:12px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf}
.related-card-v8>small,.related-card-v8>h3,.related-card-v8>p,.related-card-v8>b{margin-left:20px;margin-right:20px}
.related-card-v8 h3{font-size:16px}
.related-card-v8 p{line-height:1.68}
.related-card-v8 b .mini{width:14px;height:14px}

/* Standard lists use the real tick icons supplied in the markup. */
.clean-list li,.best-for-card li,.scope-list-v8 li{padding-left:0;gap:9px}
.clean-list li svg,.best-for-card li svg,.scope-list-v8 li svg{width:17px;height:17px;flex:0 0 17px;color:var(--orange-600);margin-top:2px}

/* Contact and legacy cards retain SVG icons in their own tile. */
.aside-icon{width:42px;height:42px;border-radius:12px;background:#fff0e7;color:var(--orange-600);border:1px solid #ffe0cf}
.contact-cards>a,.contact-cards>div{gap:12px}
.contact-cards>a>span,.contact-cards>div>span{display:grid!important;place-items:center}

/* Photo treatment across service content — premium but untouched by icon graphics. */
.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.feature-photo,.page-hero-photo,.contact-photo,.image-band-photo{overflow:hidden;border-radius:24px;border:1px solid #e1e8ef;box-shadow:0 20px 55px rgba(5,24,46,.11)}
.scope-image-v8 img,.visual-context-media-v9>img,.demand-focus-card-v10>img,.feature-photo img,.page-hero-photo img,.contact-photo img,.image-band-photo img{filter:saturate(.94) contrast(1.02);transition:transform .45s ease}
.scope-image-v8:hover img,.visual-context-media-v9:hover>img,.demand-focus-card-v10:hover>img,.feature-photo:hover img,.page-hero-photo:hover img,.contact-photo:hover img,.image-band-photo:hover img{transform:scale(1.018)}

/* FAQ polish. */
.faq-list details{padding:18px 0}
.faq-list summary{font-size:13.4px}
.faq-list details[open] summary{color:var(--navy-800)}
.faq-list summary span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff2ea;flex:0 0 28px}

@media (max-width:1100px){
  .service-hero-grid-v8{grid-template-columns:minmax(0,1fr) 380px;gap:36px}
  .service-hero-image-v8{height:285px}
  .process-grid-v8{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  .service-hero-grid-v8{grid-template-columns:1fr;gap:31px}
  .service-form-v8{position:relative;top:auto}
  .section-heading-v9-with-icon{grid-template-columns:48px minmax(0,1fr);gap:14px}
  .section-heading-v9-with-icon>p{grid-column:1/-1}
  .pillar-grid-v8,.metric-grid-v8,.why-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capability-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .service-hero-v8{padding-bottom:54px}
  .service-hero-copy-v8 h1{font-size:clamp(35px,10vw,45px)}
  .service-hero-image-v8{height:255px;border-radius:19px}
  .capability-grid-v8,.pillar-grid-v8,.metric-grid-v8,.why-grid-v8,.blueprint-grid-v9{grid-template-columns:1fr}
  .capability-card,.pillar-grid-v8 article{min-height:0}
  .process-grid-v8{grid-template-columns:1fr}
  .section-heading-v9-with-icon{grid-template-columns:1fr}
  .section-heading-icon-v9{margin-bottom:2px}
  .related-thumb-v9{height:190px}
}
@media (max-width:520px){
  .service-hero-image-v8{height:220px}
  .service-form-v8{padding:21px 17px 18px;border-radius:19px}
  .capability-card{grid-template-columns:44px minmax(0,1fr);padding:18px}
  .capability-icon-v10,.pillar-grid-v8 article>span,.blueprint-icon,.visual-point-icon,.related-card-v8>span,.metric-grid-v8 article>span,.why-grid-v8 article>svg{width:42px;height:42px}
}

/* ========================================================================== 
   TechSprite V15 — professional finish, reliable icons and clean photography
   ========================================================================== */

:root{
  --container:1220px;
  --line:#e1e7ee;
  --line-strong:#ccd6e0;
  --surface-soft:#f5f7fa;
  --shadow-sm:0 10px 30px rgba(5,24,46,.07);
  --shadow-md:0 22px 58px rgba(5,24,46,.11);
  --shadow-lg:0 34px 90px rgba(1,14,31,.24);
}

/* The local symbol sheet is visually hidden but remains addressable by <use>. */
.icon-sprite-root{
  position:absolute!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.icon-sprite-root>svg{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}

body{font-size:16px;line-height:1.7;background:#fff}
::selection{background:#ffe0cf;color:var(--navy-950)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(255,122,50,.34);outline-offset:3px}

/* Cleaner navigation and stronger interaction quality. */
.utility-bar{background:#020c19}
.site-header{background:rgba(3,17,32,.975);box-shadow:0 10px 32px rgba(0,0,0,.14)}
.nav-shell{gap:2px}
.main-nav>a,.services-trigger{border:1px solid transparent}
.main-nav>a:hover,.main-nav>a:focus-visible,.services-trigger:hover,.services-trigger:focus-visible{border-color:rgba(255,255,255,.08)}
.header-cta,.btn.primary{background:linear-gradient(135deg,#ff7b32 0%,#ed5816 100%)}
.header-cta{min-height:45px;padding-inline:19px}
.mega-menu{border-radius:0 0 22px 22px;box-shadow:0 34px 90px rgba(0,15,35,.24)}
.mega-col>a{min-height:38px}

/* Editorial spacing and readable hierarchy. */
.section{padding:86px 0}
.section.tint{background:linear-gradient(180deg,#f8fafc 0%,#f4f7fa 100%)}
.section-heading,.section-heading-v8{gap:58px;margin-bottom:36px}
.section-heading h2,.section-heading-v8 h2,.image-copy-grid h2,.overview-copy-v8 h2,.scope-copy-v8 h2,.demand-focus-copy-v10 h2,.visual-context-copy-v9 h2,.faq-layout-v8 h2,.contact-copy h1,.page-hero h1,.legal-hero h1{
  font-size:clamp(32px,3.2vw,42px);
  line-height:1.13;
  letter-spacing:-.041em;
}
.section-heading>p,.section-heading-v8>p{font-size:15px;line-height:1.82}
.eyebrow,.hero-kicker,.service-kicker{font-size:10.5px;letter-spacing:.12em}
.btn{min-height:48px;padding-inline:21px;border-radius:12px;font-size:12.5px}

/* Photography is always photography: no SVG, badge, chart or pseudo overlay. */
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:none!important;
}
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image)::before,
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image)::after{content:none!important;display:none!important}
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image)>:not(img):not(picture){display:none!important}
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image) img,
:where(.home-visual,.page-hero-photo,.service-hero-image-v8,.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.related-thumb-v9,.feature-photo,.contact-photo,.image-band-photo,.service-hero-photo,.card-image) picture{position:relative;z-index:1}

/* Homepage polish. */
.home-hero-grid{min-height:650px;gap:78px;padding:76px 0}
.home-copy h1{font-size:clamp(42px,4.15vw,56px);line-height:1.055;letter-spacing:-.052em}
.home-copy>p{font-size:17px;line-height:1.78}
.home-visual{padding:0;border-radius:26px;box-shadow:var(--shadow-lg)}
.home-visual>img{height:430px;border-radius:26px;filter:saturate(.93) contrast(1.035)}
.hero-float{margin-top:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.7);border-radius:15px}
.trust-bar>.container{min-height:66px}

.image-service-grid{gap:20px}
.image-service-card{border-radius:22px;border-color:#e2e8ef;box-shadow:0 1px 0 rgba(5,24,46,.02)}
.image-service-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(5,24,46,.12);border-color:#f0c4ab}
.card-image{height:190px}
.card-body{padding:22px 22px 24px}
.card-body small{font-size:8.5px}
.service-link-icon-v9{width:44px;height:44px;margin:14px 0 3px;border-radius:13px;box-shadow:0 9px 22px rgba(242,101,34,.08)}
.card-body h3{font-size:17px;margin:8px 0}
.card-body p{font-size:13px;line-height:1.72}

/* Services catalogue: calm spacing, substantial cards and consistent icons. */
.page-hero-grid{min-height:470px;gap:66px;padding:66px 0}
.page-hero-photo{border-radius:26px}
.page-hero-photo img{height:355px}
.catalogue-group{padding-bottom:54px;margin-bottom:54px}
.catalogue-head{margin-bottom:24px}
.catalogue-head h2{font-size:29px;letter-spacing:-.025em}
.catalogue-head>p{font-size:13.5px;line-height:1.75}
.catalogue-grid{gap:17px}
.catalogue-grid>a{display:flex;flex-direction:column;min-height:228px;padding:24px;border-radius:20px;border-color:#e1e7ee;box-shadow:0 1px 0 rgba(5,24,46,.02)}
.catalogue-grid>a:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(5,24,46,.095);border-color:#efc5ae}
.catalogue-service-icon{width:48px;height:48px;border-radius:14px;margin-bottom:17px}
.catalogue-grid h3{font-size:16.5px;line-height:1.42;margin-bottom:8px}
.catalogue-grid p{font-size:13px;line-height:1.7;flex:1}
.catalogue-grid .learn{margin-top:auto}

/* Every specialist service page receives one coherent premium system. */
.service-hero-v8{padding-bottom:82px}
.service-hero-v8 .breadcrumbs{padding-top:27px;margin-bottom:24px}
.service-hero-grid-v8{grid-template-columns:minmax(0,1fr) 420px;gap:58px}
.service-hero-copy-v8 h1{font-size:clamp(43px,4.1vw,58px);line-height:1.025;letter-spacing:-.054em}
.service-lead-v8{font-size:18.5px;line-height:1.65}
.service-summary-v8{font-size:15.5px;line-height:1.82}
.hero-points-v8 li{font-size:13.25px;line-height:1.62}
.service-hero-image-v8{height:350px;border-radius:25px;box-shadow:0 32px 80px rgba(0,0,0,.27)}
.service-form-v8{padding:28px 25px 23px;border-radius:26px;border-color:#fff;box-shadow:0 34px 90px rgba(0,12,29,.27)}
.form-heading-v8 h2{font-size:22px}
.form-heading-v8 p{font-size:12px}
.field{gap:6px}
.field label{font-size:11px}
.field input,.field select{height:43px}
.field input,.field select,.field textarea{border-radius:10px;padding:10px 11px;font-size:12.5px}
.field textarea{min-height:82px}

.overview-grid-v8,.demand-focus-grid-v10,.scope-grid-v8,.visual-context-grid-v9{gap:68px}
.capability-grid-v8{gap:17px}
.capability-card{min-height:210px;padding:23px;border-radius:21px}
.capability-card h3{font-size:15.5px}
.capability-card p{font-size:12.75px;line-height:1.72}
.capability-icon-v10,.section-heading-icon-v9{width:48px;height:48px;border-radius:14px}

.pillar-grid-v8{gap:18px}
.pillar-grid-v8 article{min-height:235px;padding:24px;border-radius:21px;background:linear-gradient(180deg,#fff,#fdfefe)}
.pillar-grid-v8 article>span{width:46px;height:46px;border-radius:13px}
.pillar-grid-v8 h3{font-size:16.5px;line-height:1.42;margin:18px 0 9px}
.pillar-grid-v8 p{font-size:13px;line-height:1.72}

.blueprint-grid-v9,.process-grid-v8,.metric-grid-v8,.why-grid-v8,.related-grid-v8{gap:18px}
.blueprint-grid-v9 article,.process-v8-card,.why-grid-v8 article,.best-for-card,.aside-card{border-radius:21px}
.blueprint-grid-v9 article{padding:24px}
.blueprint-grid-v9 h3,.process-v8-card h3,.why-grid-v8 h3,.metric-grid-v8 h3{font-size:15.5px;line-height:1.45}
.blueprint-grid-v9 li,.process-v8-card p,.why-grid-v8 p,.metric-grid-v8 p{font-size:12.75px;line-height:1.72}
.process-v8-card,.why-grid-v8 article,.metric-grid-v8 article{padding:23px}
.process-icon-v10,.blueprint-icon,.visual-point-icon,.metric-grid-v8 article>span{width:46px;height:46px;border-radius:13px}

.scope-image-v8,.visual-context-media-v9,.demand-focus-card-v10,.feature-photo,.page-hero-photo,.contact-photo,.image-band-photo{border-radius:26px;box-shadow:0 24px 66px rgba(5,24,46,.12)}
.scope-image-v8 img,.visual-context-media-v9>img{height:440px}
.demand-focus-card-v10>img{height:465px}
.scope-list-v8 li{font-size:13.25px;line-height:1.58}
.visual-points-v9 article{grid-template-columns:46px minmax(0,1fr);gap:15px}
.visual-points-v9 h3{font-size:14.5px}
.visual-points-v9 p{font-size:12.5px}

.faq-list details{padding:20px 0}
.faq-list summary{font-size:14px}
.faq-list p{font-size:13px;line-height:1.78}
.related-card-v8{border-radius:21px}
.related-thumb-v9{height:180px}

/* Responsive refinement. */
@media (max-width:1100px){
  .service-hero-grid-v8{grid-template-columns:minmax(0,1fr) 390px;gap:40px}
  .home-hero-grid{gap:48px}
}
@media (max-width:980px){
  .section{padding:72px 0}
  .home-hero-grid{min-height:0;padding:62px 0}
  .home-visual{max-width:760px}
  .service-hero-grid-v8{grid-template-columns:1fr;gap:36px}
  .service-form-v8{max-width:760px}
  .page-hero-grid{min-height:0;padding:58px 0}
  .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .section{padding:62px 0}
  .section-heading,.section-heading-v8{gap:14px;margin-bottom:29px}
  .home-copy h1,.service-hero-copy-v8 h1{font-size:clamp(34px,10vw,46px)}
  .home-visual>img{height:310px}
  .service-hero-v8{padding-bottom:58px}
  .service-hero-image-v8{height:270px;border-radius:21px}
  .catalogue-grid{grid-template-columns:1fr}
  .catalogue-grid>a{min-height:0}
  .pillar-grid-v8 article{min-height:0}
}
@media (max-width:520px){
  .section{padding:54px 0}
  .home-hero-grid{padding:46px 0}
  .home-visual>img{height:245px}
  .page-hero-photo img{height:245px}
  .service-hero-image-v8{height:225px}
  .service-form-v8{padding:23px 18px 19px;border-radius:21px}
  .card-image{height:175px}
  .pillar-grid-v8 h3{font-size:16px}
}

/* Compact, aligned phone field: keeps Business + Phone on the same row */
.phone-field{
  grid-template-columns:76px minmax(0,1fr);
  gap:7px;
  width:100%;
}
.phone-field select{
  padding-left:8px;
  padding-right:22px;
  font-size:11.5px;
}
.phone-field input[type="tel"]{
  width:100%;
  min-width:0;
  padding-left:9px;
  padding-right:9px;
}
.consent.field.full{
  grid-column:1 / -1;
  align-self:auto;
  padding-top:1px;
}
@media (max-width:760px){
  .phone-field{
    grid-template-columns:105px minmax(0,1fr);
    gap:8px;
  }
}
