/* Web Challengers — Modern UI layer (loaded last; additive overrides only) */
:root{
  --mu-ease:cubic-bezier(.22,.8,.24,1);
  --mu-ring:0 0 0 3px rgba(125,255,69,.55);
  --mu-shadow-sm:0 1px 2px rgba(10,16,28,.06),0 6px 18px rgba(10,16,28,.06);
  --mu-shadow-md:0 2px 4px rgba(10,16,28,.05),0 16px 40px rgba(10,16,28,.10);
  --mu-shadow-lg:0 4px 8px rgba(10,16,28,.06),0 30px 70px rgba(10,16,28,.16);
  --mu-glass-dark:rgba(9,13,22,.72);
  --mu-glass-light:rgba(255,255,255,.80);
}

/* ---- Base polish ---- */
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}
::selection{background:#7dff45;color:#08111a}
h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}
p,li{text-wrap:pretty}
img{height:auto}
:focus-visible{outline:2px solid #08111a;outline-offset:3px;border-radius:6px;box-shadow:var(--mu-ring)}
.section-dark :focus-visible,.site-header:not(.surface-header) :focus-visible{outline-color:#fff}
.page-noise{opacity:.018!important}

/* ---- Scroll progress ---- */
.mu-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:300;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#7dff45,#c2ff47);pointer-events:none}

/* ---- Header: sticky glass ---- */
.site-header,.surface-header{position:fixed!important;top:0;left:0;width:100%;transition:background .3s var(--mu-ease),box-shadow .3s var(--mu-ease),backdrop-filter .3s var(--mu-ease)}
.site-header .nav-wrap{transition:height .3s var(--mu-ease)}
.site-header.is-scrolled{background:var(--mu-glass-dark);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.18)}
.surface-header.is-scrolled{background:var(--mu-glass-light)!important;-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);box-shadow:0 1px 0 rgba(17,21,33,.08),0 12px 30px rgba(17,21,33,.08)}
.site-header.is-scrolled .nav-wrap{height:68px!important}
.desktop-nav>a,.nav-dropdown-trigger{position:relative;padding:8px 2px;border-radius:8px}
.desktop-nav>a:after,.nav-dropdown-trigger:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:#7dff45;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--mu-ease)}
.desktop-nav>a:hover:after,.desktop-nav>a.is-active:after,.nav-dropdown-trigger:hover:after,.nav-dropdown-trigger.is-active:after{transform:scaleX(1)!important;display:block!important;height:2px!important;bottom:2px!important;top:auto!important;width:auto!important;background:#7dff45!important}
.nav-dropdown-menu{border-radius:18px!important;box-shadow:var(--mu-shadow-lg)!important;border:1px solid rgba(17,21,33,.08)}
.nav-dropdown-menu a{border-radius:12px;transition:background .2s ease,transform .2s var(--mu-ease)}
.nav-dropdown-menu a:hover{transform:translateX(3px)}
.mobile-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}

/* ---- Buttons ---- */
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--mu-ease),box-shadow .25s var(--mu-ease),background .2s ease,color .2s ease,border-color .2s ease!important}
.button:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--mu-ease)}
.button:hover:after{transform:translateX(120%)}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0) scale(.98)}
.button span{transition:transform .25s var(--mu-ease)}
.button:hover span{transform:translate(3px,-3px)}
.button-accent{box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 14px 34px rgba(125,255,69,.22)}
.button-accent:hover{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 20px 44px rgba(125,255,69,.32)}
.button-ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* ---- Eyebrows & headings ---- */
.eyebrow,.hero-kicker{display:inline-flex;align-items:center;gap:10px;flex-wrap:nowrap;white-space:nowrap;max-width:100%}
.eyebrow:before{content:"";width:28px;height:2px;flex:0 0 28px;border-radius:1px;background:#3f9f2c;box-shadow:none;opacity:1}
.hero h1,.inner-hero h1{letter-spacing:-.04em;line-height:1.02}
.section-heading-title,.split-heading h2{letter-spacing:-.035em}

/* ---- Hero depth ---- */
.hero:after,.inner-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:140px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(9,13,22,.25))}
.hero-product-scene,.hero-visual-board,.inner-hero-card,.visual-panel-chart{box-shadow:var(--mu-shadow-lg)}

/* ---- Cards: unified lift, border and glow ---- */
.smart-card,.process-card,.industry-card,.ix-card,.cs-card,.tm-card,.team-card,.team-preview-card,.project-card,.project-showcase-card,.case-study-index-card,.engagement-card,.csd-highlight,.csd-outcome,.csd-story-card,.csd-related-card,.feature-solution,.command-card,.modern-card{
  transition:transform .35s var(--mu-ease),box-shadow .35s var(--mu-ease),border-color .35s ease,background-color .35s ease!important;
  will-change:transform}
.smart-card:hover,.process-card:hover,.industry-card:hover,.ix-card:hover,.cs-card:hover,.tm-card:hover,.team-card:hover,.team-preview-card:hover,.project-card:hover,.project-showcase-card:hover,.case-study-index-card:hover,.engagement-card:hover,.csd-related-card:hover,.modern-card:hover{
  transform:translateY(-6px);box-shadow:var(--mu-shadow-lg)!important;border-color:rgba(125,255,69,.55)!important}
.cs-card img,.tm-card img,.project-card img,.project-showcase-media img,.case-study-index-media img,.case-study-featured-media img,.team-card-image img{transition:transform .8s var(--mu-ease)}
.cs-card:hover img,.tm-card:hover img,.project-card:hover img,.project-showcase-card:hover img,.case-study-index-card:hover img,.case-study-featured-card:hover img,.team-card:hover img{transform:scale(1.045)}
.cs-card,.tm-card,.project-card,.project-showcase-card,.case-study-index-card{overflow:hidden}
.card-link,.text-arrow-link{transition:gap .25s var(--mu-ease),color .2s ease}
.card-link:hover,.text-arrow-link:hover{gap:14px}

/* ---- Tags / pills ---- */
.tag-row span,.ix-tags span,.cs-pill-link,.case-study-meta span{border-radius:999px;transition:background .2s ease,transform .2s var(--mu-ease)}
.cs-pill-link:hover{transform:translateY(-1px)}

/* ---- Stats ---- */
.stat-grid>*,.dashboard-metrics>*{transition:transform .3s var(--mu-ease)}
.stat-grid>*:hover{transform:translateY(-3px)}

/* ---- FAQ ---- */
.faq-item{border-radius:16px;transition:background .25s ease,box-shadow .25s ease,padding .25s ease}
.faq-item.open{background:#fff;box-shadow:var(--mu-shadow-sm)}
.faq-item button{transition:color .2s ease}
.faq-item button:hover{color:#08111a}

/* ---- Forms ---- */
.project-form{border-radius:28px;box-shadow:var(--mu-shadow-md)}
input:not([type=checkbox]):not([type=radio]),.project-form select,.project-form textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
.project-form label{font-weight:600;letter-spacing:-.005em}
.form-alert{border-radius:14px}
.estimate-step{border-radius:22px}

/* ---- Footer ---- */
.site-footer{position:relative;border-top:1px solid rgba(17,21,33,.08)}
.site-footer:before{content:"";position:absolute;top:-1px;left:50%;width:min(420px,60%);height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#7dff45,transparent)}
.footer-col a,.footer-bottom a{position:relative;transition:color .2s ease,transform .25s var(--mu-ease);display:inline-block}
.footer-col a:hover{transform:translateX(4px);color:#08111a}
.footer-heading{letter-spacing:.12em;text-transform:uppercase;font-size:12px}

/* ---- Breadcrumbs ---- */
.breadcrumbs a{transition:color .2s ease}
.breadcrumbs a:hover{color:#08111a;text-decoration:underline;text-underline-offset:3px}

/* ---- Back to top ---- */
.mu-top{position:fixed;right:22px;bottom:22px;z-index:200;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#08111a;color:#7dff45;display:grid;place-items:center;cursor:pointer;box-shadow:var(--mu-shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,transform .3s var(--mu-ease),visibility .3s,background .2s ease}
.mu-top.is-visible{opacity:1;visibility:visible;transform:none}
.mu-top:hover{background:#7dff45;color:#08111a;transform:translateY(-3px)}
.mu-top svg{width:18px;height:18px}

/* ---- Reveal polish (only when JS active) ---- */
.js .reveal{transition-timing-function:var(--mu-ease)!important}

/* ---- Media & misc ---- */
.case-study-gallery-frame,.csd-shot,.project-showcase-media{border-radius:20px}
.legal-copy{line-height:1.75}
.rich-copy p{line-height:1.75}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:rgba(17,21,33,.28);border-radius:999px;border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:rgba(17,21,33,.5);background-clip:content-box;border:3px solid transparent}

/* ---- Mobile ---- */
@media (max-width:760px){
  .mu-top{right:14px;bottom:14px;width:42px;height:42px}
  .smart-card:hover,.process-card:hover,.industry-card:hover,.ix-card:hover,.cs-card:hover,.tm-card:hover,.project-card:hover{transform:none}
  .button{min-height:52px}
}

/* ---- Accessibility: reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .button:after{display:none}
  .mu-progress{display:none}
}
@media print{.mu-progress,.mu-top,.page-noise{display:none!important}.site-header,.surface-header{position:static!important}}

/* ==== Case study gallery cards (professional / modern) ==== */
.csd-gallery .csd-gallery-grid{gap:clamp(18px,2.4vw,32px);align-items:stretch}
/* bento layout: first two cards half width, the rest in rows of three */
.csd-gallery .csd-gallery-grid.is-bento{grid-template-columns:repeat(12,minmax(0,1fr))}
.csd-gallery .is-bento .csd-shot{grid-column:span 4}
.csd-gallery .is-bento .csd-shot:nth-child(-n+2){grid-column:span 6}
.csd-gallery .is-bento.csd-gn-1 .csd-shot{grid-column:1/-1;max-width:760px;margin-inline:auto;width:100%}
.csd-gallery .is-bento.csd-tail-1 .csd-shot:last-child{grid-column:1/-1}
.csd-gallery .is-bento.csd-tail-1 .csd-shot:last-child .csd-shot-frame{aspect-ratio:2.4/1}
.csd-gallery .is-bento.csd-tail-2 .csd-shot:nth-last-child(-n+2){grid-column:span 6}
.csd-gallery .csd-shot{display:flex;flex-direction:column;margin:0;overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(17,21,33,.08);box-shadow:0 1px 2px rgba(17,21,33,.04),0 18px 44px rgba(17,21,33,.08);transition:transform .35s var(--mu-ease),box-shadow .35s var(--mu-ease),border-color .35s var(--mu-ease)}
.csd-gallery .csd-shot:hover{transform:translateY(-5px);border-color:rgba(17,21,33,.16);box-shadow:0 2px 4px rgba(17,21,33,.05),0 34px 70px rgba(17,21,33,.16)}
.csd-gallery .csd-shot-open{position:relative;display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;cursor:zoom-in;text-align:left;color:inherit}
.csd-gallery .csd-shot-open:hover{transform:none;box-shadow:none;border-color:transparent}
.csd-gallery .csd-shot-open:focus-visible{outline:3px solid rgba(125,255,69,.7);outline-offset:-3px}

/* window title bar */
.csd-shot-bar{position:relative;display:flex;align-items:center;gap:6px;height:38px;padding:0 90px 0 16px;background:linear-gradient(180deg,#f7f8fb,#eff1f6);border-bottom:1px solid rgba(17,21,33,.07)}
.csd-shot-bar i{flex:none;width:9px;height:9px;border-radius:50%;background:#d3d7e0}
.csd-shot-bar i:nth-child(1){background:#ff8f87}.csd-shot-bar i:nth-child(2){background:#ffd27a}.csd-shot-bar i:nth-child(3){background:#7fdc96}
.csd-shot-bar em{margin-left:10px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.01em;color:#6b7383}
.csd-shot-bar em:empty{display:none}

/* screenshot */
.csd-gallery .csd-shot-frame{--pad:0px;position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,#eef0f6,#e4e8f0)}
.csd-gallery .csd-shot-frame img{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:none;transform:scale(1);transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.csd-gallery .csd-shot-open:hover img{transform:scale(1.035)}
.csd-gallery .csd-shot-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,17,26,0) 55%,rgba(8,17,26,.28));opacity:0;transition:opacity .35s ease;pointer-events:none}
.csd-gallery .csd-shot-open:hover .csd-shot-frame:after,.csd-gallery .csd-shot-open:focus-visible .csd-shot-frame:after{opacity:1}

/* counter lives in the title bar; "full view" appears on hover */
.csd-gallery .csd-shot-count{position:absolute;left:auto;right:16px;top:0;height:38px;display:flex;align-items:center;padding:0;border-radius:0;background:none;backdrop-filter:none;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:#8a92a2}
.csd-gallery .csd-shot-action{right:16px;bottom:16px;padding:8px 14px 8px 10px;background:rgba(8,17,26,.92);opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s var(--mu-ease)}
.csd-gallery .csd-shot-action i{width:20px;height:20px;border-radius:50%;background:#7dff45;color:#08111a;font-weight:700}
.csd-gallery .csd-shot-open:hover .csd-shot-action,.csd-gallery .csd-shot-open:focus-visible .csd-shot-action{opacity:1;transform:none}

/* caption */
.csd-gallery .csd-shot figcaption{flex:1;display:flex;align-items:flex-start;gap:14px;padding:18px 22px 22px;border-top:1px solid rgba(17,21,33,.06)}
.csd-gallery .csd-shot figcaption .csd-shot-no{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#08111a;color:#7dff45;font-size:.72rem;font-weight:800;letter-spacing:.04em;line-height:1}
.csd-gallery .csd-shot figcaption .csd-shot-text{display:grid;gap:5px;min-width:0;font-size:inherit;color:inherit}
.csd-gallery .csd-shot figcaption strong{font-size:1.02rem;line-height:1.3;letter-spacing:-.02em;color:#111521}
.csd-gallery .csd-shot figcaption .csd-shot-text span{font-size:.9rem;line-height:1.6;color:#5f6676}

/* compact captions on the smaller cards */
.csd-gallery .is-bento .csd-shot:nth-child(n+3) figcaption{gap:12px;padding:14px 16px 18px}
.csd-gallery .is-bento .csd-shot:nth-child(n+3) figcaption .csd-shot-no{width:30px;height:30px;border-radius:9px;font-size:.68rem}
.csd-gallery .is-bento .csd-shot:nth-child(n+3) figcaption strong{font-size:.96rem}
.csd-gallery .is-bento .csd-shot:nth-child(n+3) figcaption .csd-shot-text span{font-size:.86rem;line-height:1.55}
.csd-gallery .is-bento .csd-shot:nth-child(n+3) .csd-shot-bar{padding-right:78px}

@media (max-width:1020px){
  .csd-gallery .csd-gallery-grid.is-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csd-gallery .is-bento .csd-shot,.csd-gallery .is-bento .csd-shot:nth-child(-n+2),.csd-gallery .is-bento.csd-tail-2 .csd-shot:nth-last-child(-n+2){grid-column:auto}
  .csd-gallery .is-bento.csd-tail-1 .csd-shot:last-child{grid-column:auto}
  .csd-gallery .is-bento.csd-tail-1 .csd-shot:last-child .csd-shot-frame{aspect-ratio:16/10}
  .csd-gallery .is-bento.is-n-odd .csd-shot:last-child{grid-column:1/-1}
  .csd-gallery .is-bento.is-n-odd .csd-shot:last-child .csd-shot-frame{aspect-ratio:2.4/1}
  .csd-gallery .is-bento.csd-gn-1 .csd-shot{grid-column:1/-1}
}
@media (hover:none){
  .csd-gallery .csd-shot-action{opacity:1;transform:none}
}
@media (max-width:760px){
  .csd-gallery .csd-gallery-grid,.csd-gallery .csd-gallery-grid.is-bento{grid-template-columns:1fr}
  .csd-gallery .is-bento.is-n-odd .csd-shot:last-child .csd-shot-frame{aspect-ratio:16/10}
  .csd-gallery .csd-shot,.csd-gallery .csd-shot-open{border-radius:18px}
  .csd-gallery .csd-shot{border-radius:18px}
  .csd-gallery .csd-shot-open{border-radius:0}
  .csd-shot-bar{height:34px;padding-left:14px}
  .csd-gallery .csd-shot-count{height:34px}
  .csd-gallery .csd-shot figcaption{padding:16px 18px 20px;gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .csd-gallery .csd-shot,.csd-gallery .csd-shot-frame img,.csd-gallery .csd-shot-action{transition:none!important}
  .csd-gallery .csd-shot:hover{transform:none}
  .csd-gallery .csd-shot-open:hover img{transform:none}
}

/* Global display-heading rhythm hardening — 2026-10
   Keep large multiline headings readable across hero, landing, entity and case-study
   templates. Older page-specific rules intentionally use sub-1 line heights; this
   final layer restores safe vertical rhythm without changing the established sizes. */
:where(
  .hero-refined h1,
  .hero-copy h1,
  .inner-hero-copy h1,
  .team-hero-copy h1,
  .careers-copy h1,
  .case-study-hero-copy h1,
  .team-profile-top h1,
  .dp-display
){
  line-height:1.055!important;
  letter-spacing:-.045em!important;
}

/* Accent/italic lines need their own breathing room because serif italics have
   taller ascenders/descenders than the primary sans-serif display face. */
:where(
  .hero-refined h1 em,
  .hero-copy h1 em,
  .inner-hero-copy h1 em,
  .team-hero-copy h1 em,
  .careers-copy h1 em,
  .case-study-hero-copy h1 em,
  .dp-display em
){
  line-height:1.1!important;
}

:where(
  .section-heading h2,
  .section-heading-title h2,
  .intro-split h2,
  .process-title-block h2,
  .feature-solution h2,
  .faq-section .section-heading h2,
  .contact-cta h2,
  .project-gallery-head h2,
  .project-showcase-head h2,
  .case-study-index-head h2,
  .case-study-intro h2,
  .case-study-detail h2,
  .case-study-story h2,
  .case-study-outcomes h2,
  .case-study-gallery h2,
  .case-study-related h2,
  .dp-section-head h2,
  .dp-overview-head h2,
  .dp-faq-intro h2,
  .lp-head h2,
  .cs-head h2,
  .csd-head h2,
  .csd-overview-copy h2,
  .csd-story-card h2,
  .csd-cta h2,
  .contact-copy h2,
  .expert-guide-head h2
){
  line-height:1.085!important;
  letter-spacing:-.035em!important;
}

:where(
  .section-heading h2 em,
  .section-heading-title h2 em,
  .intro-split h2 em,
  .process-title-block h2 em,
  .feature-solution h2 em,
  .faq-section .section-heading h2 em,
  .contact-cta h2 em,
  .dp-section-head h2 em,
  .dp-overview-head h2 em,
  .lp-head h2 em
){
  line-height:1.12!important;
}

/* Larger card/subsection titles get a little more vertical separation too, while
   compact labels and navigation remain untouched. */
:where(
  .service-content h3,
  .work-copy h3,
  .smart-card h3,
  .process-card h3,
  .project-card h3,
  .project-showcase-card h3,
  .case-study-featured-copy h3,
  .case-study-index-body h3,
  .cs-feature-copy h3,
  .cs-project-card h3,
  .expert-guide-title h3
){
  line-height:1.14!important;
  letter-spacing:-.025em!important;
}

@media(max-width:760px){
  :where(
    .hero-refined h1,
    .hero-copy h1,
    .inner-hero-copy h1,
    .team-hero-copy h1,
    .careers-copy h1,
    .case-study-hero-copy h1,
    .team-profile-top h1,
    .dp-display
  ){
    line-height:1.075!important;
    letter-spacing:-.035em!important;
  }

  :where(
    .section-heading h2,
    .section-heading-title h2,
    .intro-split h2,
    .process-title-block h2,
    .feature-solution h2,
    .faq-section .section-heading h2,
    .contact-cta h2,
    .project-gallery-head h2,
    .project-showcase-head h2,
    .case-study-index-head h2,
    .case-study-intro h2,
    .case-study-detail h2,
    .case-study-story h2,
    .case-study-outcomes h2,
    .case-study-gallery h2,
    .case-study-related h2,
    .dp-section-head h2,
    .dp-overview-head h2,
    .dp-faq-intro h2,
    .lp-head h2,
    .cs-head h2,
    .csd-head h2,
    .csd-overview-copy h2,
    .csd-story-card h2,
    .csd-cta h2,
    .contact-copy h2,
    .expert-guide-head h2
  ){
    line-height:1.105!important;
    letter-spacing:-.028em!important;
  }
}

/* Hero heading breathing room — final frontend override.
   Slightly relax multiline H1/H2 rhythm so wrapped lines and accent lines never
   visually touch, while preserving the existing hero sizes and composition. */
:where(
  .hero h1,.hero h2,
  .inner-hero h1,.inner-hero h2,
  .team-hero h1,.team-hero h2,
  .careers-hero h1,.careers-hero h2,
  .case-study-hero h1,.case-study-hero h2,
  .dp-hero h1,.dp-hero h2,
  .hero-refined h1,.hero-refined h2,
  .hero-copy h1,.hero-copy h2,
  .inner-hero-copy h1,.inner-hero-copy h2,
  .team-hero-copy h1,.team-hero-copy h2,
  .careers-copy h1,.careers-copy h2,
  .case-study-hero-copy h1,.case-study-hero-copy h2
){
  line-height:1.095!important;
  letter-spacing:-.038em!important;
}

:where(
  .hero h1 em,.hero h2 em,
  .inner-hero h1 em,.inner-hero h2 em,
  .team-hero h1 em,.team-hero h2 em,
  .careers-hero h1 em,.careers-hero h2 em,
  .case-study-hero h1 em,.case-study-hero h2 em,
  .dp-hero h1 em,.dp-hero h2 em,
  .hero-refined h1 em,.hero-refined h2 em,
  .hero-copy h1 em,.hero-copy h2 em,
  .inner-hero-copy h1 em,.inner-hero-copy h2 em,
  .team-hero-copy h1 em,.team-hero-copy h2 em,
  .careers-copy h1 em,.careers-copy h2 em,
  .case-study-hero-copy h1 em,.case-study-hero-copy h2 em
){
  line-height:1.14!important;
}

@media(max-width:760px){
  :where(
    .hero h1,.hero h2,
    .inner-hero h1,.inner-hero h2,
    .team-hero h1,.team-hero h2,
    .careers-hero h1,.careers-hero h2,
    .case-study-hero h1,.case-study-hero h2,
    .dp-hero h1,.dp-hero h2,
    .hero-refined h1,.hero-refined h2,
    .hero-copy h1,.hero-copy h2,
    .inner-hero-copy h1,.inner-hero-copy h2,
    .team-hero-copy h1,.team-hero-copy h2,
    .careers-copy h1,.careers-copy h2,
    .case-study-hero-copy h1,.case-study-hero-copy h2
  ){
    line-height:1.115!important;
    letter-spacing:-.03em!important;
  }
}

/* Header navigation: line-only hover / active states.
   Keep the existing underline as the sole top-level navigation indicator. */
.desktop-nav > a,
.desktop-nav .nav-dropdown-trigger{
  background:transparent!important;
  box-shadow:none!important;
}
.desktop-nav > a:hover,
.desktop-nav > a:focus-visible,
.desktop-nav > a.is-active,
.desktop-nav .nav-dropdown-trigger:hover,
.desktop-nav .nav-dropdown-trigger:focus-visible,
.desktop-nav .nav-dropdown.is-open > .nav-dropdown-trigger,
.desktop-nav .nav-dropdown.is-active > .nav-dropdown-trigger{
  background:transparent!important;
  box-shadow:none!important;
}
.surface-header .desktop-nav > a:hover,
.surface-header .desktop-nav > a:focus-visible,
.surface-header .desktop-nav > a.is-active{
  background:transparent!important;
}
.desktop-nav .nav-dropdown-trigger:hover .nav-chevron,
.desktop-nav .nav-dropdown-trigger:focus-visible .nav-chevron,
.desktop-nav .nav-dropdown.is-open .nav-chevron,
.desktop-nav .nav-dropdown.is-active .nav-chevron{
  background:transparent!important;
}
.desktop-nav > a:hover::after,
.desktop-nav > a:focus-visible::after,
.desktop-nav > a.is-active::after,
.desktop-nav .nav-dropdown-trigger:hover::after,
.desktop-nav .nav-dropdown-trigger:focus-visible::after,
.desktop-nav .nav-dropdown.is-open > .nav-dropdown-trigger::after,
.desktop-nav .nav-dropdown.is-active > .nav-dropdown-trigger::after{
  display:block!important;
  transform:scaleX(1)!important;
  height:2px!important;
  background:#7dff45!important;
}
.surface-header .desktop-nav > a.is-active::after{
  display:block!important;
}

/* Compact portfolio landing heroes — 2026-10-14
   Scope is intentionally limited to Services, Solutions, Industries and Case Studies.
   CMS image/background, shade/transparency and hero-extra-height layers remain untouched. */
@media (min-width:761px){
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero{
    min-height:0!important;
    padding-top:clamp(108px,9vw,132px)!important;
    padding-bottom:clamp(42px,4.5vw,60px)!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-clean .inner-hero-grid,
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-with-background-image .inner-hero-grid{
    min-height:clamp(350px,39vw,430px)!important;
    padding-bottom:0!important;
    align-items:center!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-clean .inner-hero-copy,
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-with-background-image .inner-hero-copy{
    max-width:min(700px,59%)!important;
    padding:8px 0 12px!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-copy h1{
    max-width:15ch!important;
    font-size:clamp(3rem,4.45vw,4.85rem)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
    text-wrap:balance!important;
  }
  body:is(.page-services,.page-solutions) .inner-hero-copy .service-solution-hero-title{
    max-width:17ch!important;
    font-size:clamp(2.75rem,4vw,4.25rem)!important;
    line-height:1.075!important;
  }
  body:is(.page-services,.page-solutions) .inner-hero-copy .service-solution-hero-lede{
    max-width:29ch!important;
    margin:12px 0 0!important;
    font-size:clamp(1.18rem,1.65vw,1.55rem)!important;
    line-height:1.28!important;
    letter-spacing:-.025em!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-copy>p{
    max-width:610px!important;
    margin:18px 0 22px!important;
    font-size:16px!important;
    line-height:1.65!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-copy .hero-actions{
    margin-top:20px!important;
    gap:10px!important;
  }

  /* Individual case-study/project heroes use the same tighter vertical rhythm.
     Extra-height remains additive because its CMS margins are not changed here. */
  body[class*="page-project-"] .case-study-hero{
    min-height:clamp(460px,56vh,620px)!important;
  }
  body[class*="page-project-"] .case-study-hero-inner{
    padding-top:clamp(104px,11vh,138px)!important;
    padding-bottom:clamp(58px,7vh,82px)!important;
  }
  body[class*="page-project-"] .case-study-hero-copy h1{
    max-width:13ch!important;
    font-size:clamp(2.85rem,5.25vw,5rem)!important;
    line-height:1.075!important;
    letter-spacing:-.04em!important;
    margin:16px 0 18px!important;
  }
  body[class*="page-project-"] .case-study-hero-copy>p{
    max-width:650px!important;
    font-size:clamp(1rem,1.25vw,1.16rem)!important;
    line-height:1.62!important;
  }
}

@media (min-width:761px) and (max-width:980px){
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-clean .inner-hero-copy,
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-with-background-image .inner-hero-copy{
    max-width:min(700px,72%)!important;
  }
}

@media (max-width:760px){
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero{
    padding-top:96px!important;
    padding-bottom:42px!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-clean .inner-hero-grid,
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-with-background-image .inner-hero-grid{
    min-height:0!important;
    padding-bottom:0!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-clean .inner-hero-copy,
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-with-background-image .inner-hero-copy{
    max-width:100%!important;
    padding:8px 0!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-copy h1,
  body:is(.page-services,.page-solutions) .inner-hero-copy .service-solution-hero-title{
    max-width:none!important;
    font-size:clamp(2.3rem,10.8vw,3.45rem)!important;
    line-height:1.105!important;
  }
  body:is(.page-services,.page-solutions) .inner-hero-copy .service-solution-hero-lede{
    margin-top:10px!important;
    font-size:clamp(1.08rem,5vw,1.35rem)!important;
    line-height:1.3!important;
  }
  body:is(.page-services,.page-solutions,.page-industries,.page-case-studies) .inner-hero-copy>p{
    margin:15px 0 19px!important;
    font-size:.96rem!important;
    line-height:1.6!important;
  }
  body[class*="page-project-"] .case-study-hero-inner{
    padding-top:104px!important;
    padding-bottom:54px!important;
  }
  body[class*="page-project-"] .case-study-hero-copy h1{
    font-size:clamp(2.35rem,11vw,3.55rem)!important;
    line-height:1.1!important;
    margin:14px 0 16px!important;
  }
}

/* Compact entity detail heroes — Services / Solutions / Industries / Case Studies.
   Layout-only refinement: do not alter CMS background, image, overlay/transparency,
   overlay-width/darkness variables, or additive hero-extra-height behaviour. */
@media (min-width:761px){
  body.page-entity-detail .dp-hero{
    padding-top:clamp(122px,9vw,142px)!important;
    padding-bottom:clamp(46px,4.5vw,58px)!important;
  }
  body.page-entity-detail .dp-hero-layout{
    grid-template-columns:minmax(0,1.32fr) minmax(290px,.68fr)!important;
    gap:clamp(34px,4vw,54px)!important;
    align-items:center!important;
  }
  body.page-entity-detail .dp-hero .breadcrumbs{
    margin-bottom:20px!important;
  }
  body.page-entity-detail .dp-kicker{
    margin-bottom:17px!important;
  }
  body.page-entity-detail .dp-display{
    max-width:820px!important;
    margin-bottom:18px!important;
    font-size:clamp(2.65rem,4.9vw,4.6rem)!important;
    line-height:1.045!important;
    letter-spacing:-.048em!important;
  }
  body.page-entity-detail .dp-lede{
    max-width:620px!important;
    margin-bottom:24px!important;
    font-size:clamp(1rem,1.28vw,1.16rem)!important;
    line-height:1.58!important;
  }
  body.page-entity-detail .dp-actions{
    gap:10px!important;
  }
  body.page-entity-detail .dp-hero-tags{
    margin-top:26px!important;
    padding-top:20px!important;
  }
  body.page-entity-detail .dp-hero-tags li{
    padding:7px 11px!important;
  }
  body.page-entity-detail .dp-glance{
    padding:20px 21px 18px!important;
    border-radius:22px!important;
  }
  body.page-entity-detail .dp-glance-head{
    padding-bottom:15px!important;
  }
  body.page-entity-detail .dp-glance-icon{
    width:42px!important;
    height:42px!important;
    border-radius:12px!important;
  }
  body.page-entity-detail .dp-glance-list div{
    padding:11px 0!important;
  }
  body.page-entity-detail .dp-glance-stack{
    padding:14px 0 2px!important;
  }
  body.page-entity-detail .dp-glance-cta{
    margin-top:12px!important;
    padding:12px 14px!important;
  }

  /* Project detail / case-study entity hero. Extra-height remains additive via hero.css. */
  body[class*="page-project-"] .case-study-hero{
    min-height:clamp(410px,50vh,540px)!important;
  }
  body[class*="page-project-"] .case-study-hero-inner{
    padding-top:clamp(96px,9vh,122px)!important;
    padding-bottom:clamp(44px,5vh,62px)!important;
  }
  body[class*="page-project-"] .case-study-hero-copy .breadcrumbs{
    margin-bottom:15px!important;
  }
  body[class*="page-project-"] .case-study-hero-copy h1{
    max-width:14ch!important;
    margin:12px 0 14px!important;
    font-size:clamp(2.55rem,4.7vw,4.45rem)!important;
    line-height:1.07!important;
  }
  body[class*="page-project-"] .case-study-hero-copy>p{
    max-width:640px!important;
    font-size:clamp(.98rem,1.1vw,1.1rem)!important;
    line-height:1.56!important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  body.page-entity-detail .dp-hero{
    padding-top:118px!important;
    padding-bottom:48px!important;
  }
  body.page-entity-detail .dp-hero-layout{
    grid-template-columns:minmax(0,1.12fr) minmax(270px,.88fr)!important;
    gap:30px!important;
  }
  body.page-entity-detail .dp-display{
    font-size:clamp(2.55rem,5.6vw,4rem)!important;
  }
}

@media (max-width:760px){
  body.page-entity-detail .dp-hero{
    padding-top:102px!important;
    padding-bottom:38px!important;
  }
  body.page-entity-detail .dp-hero-layout{
    gap:26px!important;
  }
  body.page-entity-detail .dp-hero .breadcrumbs{
    margin-bottom:16px!important;
  }
  body.page-entity-detail .dp-kicker{
    margin-bottom:14px!important;
  }
  body.page-entity-detail .dp-display{
    margin-bottom:15px!important;
    font-size:clamp(2.25rem,10.4vw,3.15rem)!important;
    line-height:1.075!important;
  }
  body.page-entity-detail .dp-lede{
    margin-bottom:20px!important;
    font-size:.98rem!important;
    line-height:1.55!important;
  }
  body.page-entity-detail .dp-hero-tags{
    margin-top:22px!important;
    padding-top:17px!important;
  }
  body.page-entity-detail .dp-glance{
    padding:18px 18px 16px!important;
    border-radius:20px!important;
  }

  body[class*="page-project-"] .case-study-hero{
    min-height:0!important;
  }
  body[class*="page-project-"] .case-study-hero-inner{
    padding-top:94px!important;
    padding-bottom:42px!important;
  }
  body[class*="page-project-"] .case-study-hero-copy h1{
    margin:11px 0 13px!important;
    font-size:clamp(2.18rem,10.2vw,3.15rem)!important;
    line-height:1.095!important;
  }
  body[class*="page-project-"] .case-study-hero-copy>p{
    font-size:.96rem!important;
    line-height:1.55!important;
  }
}

/* Estimate experience refinement — presentation only; calculation, autosave and submission remain unchanged. */
.page-estimate .estimate-section{
  position:relative;
  overflow:hidden;
  padding-top:clamp(58px,7vw,88px)!important;
  padding-bottom:clamp(72px,8vw,106px)!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(136,158,110,.10),transparent 27%),
    linear-gradient(180deg,#f8f7f3 0%,#f4f2ec 100%)!important;
}
.page-estimate .estimate-section:before{
  position:absolute;
  top:32px;
  right:-110px;
  width:310px;
  height:310px;
  border:1px solid rgba(95,117,74,.09);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.page-estimate .estimate-layout{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(282px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(26px,3.5vw,50px)!important;
}
.page-estimate .estimate-guide{
  top:96px!important;
  gap:18px!important;
  padding:clamp(23px,2.6vw,32px)!important;
  border-radius:24px!important;
  box-shadow:0 24px 62px rgba(18,30,38,.14)!important;
}
.page-estimate .estimate-guide h2{
  margin:-5px 0 -5px!important;
  font-size:clamp(1.9rem,2.55vw,2.45rem)!important;
  line-height:1.08!important;
}
.page-estimate .estimate-guide>p{font-size:.87rem!important;line-height:1.65!important}
.page-estimate .estimate-guide-steps article{
  position:relative;
  padding:13px 0!important;
  opacity:.72;
  transition:opacity .2s ease,transform .2s ease;
}
.page-estimate .estimate-guide-steps article.is-current,
.page-estimate .estimate-guide-steps article.is-complete{opacity:1}
.page-estimate .estimate-guide-steps article.is-current{transform:translateX(3px)}
.page-estimate .estimate-guide-steps article.is-current:after{
  position:absolute;
  top:13px;
  bottom:13px;
  left:-32px;
  width:3px;
  border-radius:6px;
  background:#a8bc8e;
  content:"";
}
.page-estimate .estimate-guide-steps article.is-complete .estimate-guide-number:before{
  content:"✓";
  font-size:.73rem;
  font-weight:900;
}
.page-estimate .estimate-guide-steps article.is-complete .estimate-guide-number{font-size:0!important}
.page-estimate .estimate-guide-note{padding:13px!important;border-radius:14px!important}
.page-estimate .estimate-guide-contact{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(196,211,179,.32);
}
.page-estimate .estimate-form{
  gap:18px!important;
  padding:clamp(18px,2.5vw,27px)!important;
  border-color:rgba(25,36,42,.085)!important;
  border-radius:24px!important;
  box-shadow:0 22px 62px rgba(21,33,38,.075)!important;
}
.page-estimate .estimate-form .fx-progress{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:estimate-step!important;
}
.page-estimate .estimate-form .fx-progress li{
  position:relative!important;
  display:grid!important;
  min-width:0!important;
  gap:6px!important;
  padding:10px 9px 9px!important;
  border:1px solid rgba(27,37,46,.08)!important;
  border-radius:12px!important;
  background:#f7f8f5!important;
  color:#7a8387!important;
  font-size:.61rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease!important;
}
.page-estimate .estimate-form .fx-progress li:before{
  display:grid!important;
  width:20px!important;
  height:20px!important;
  place-items:center!important;
  border:1px solid rgba(80,93,83,.18)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#66715f!important;
  counter-increment:estimate-step!important;
  content:counter(estimate-step)!important;
  font-size:.58rem!important;
  font-weight:850!important;
}
.page-estimate .estimate-form .fx-progress li.is-current{
  border-color:rgba(100,124,77,.34)!important;
  background:#f1f5eb!important;
  color:#435337!important;
  box-shadow:0 6px 18px rgba(45,62,34,.055)!important;
}
.page-estimate .estimate-form .fx-progress li.is-current:before{
  border-color:#71865c!important;
  background:#71865c!important;
  color:#fff!important;
}
.page-estimate .estimate-form .fx-progress li.is-complete{
  border-color:rgba(112,134,91,.18)!important;
  background:#f7f9f4!important;
  color:#65725c!important;
}
.page-estimate .estimate-form .fx-progress li.is-complete:before{
  border-color:#9cae8b!important;
  background:#e8efe0!important;
  color:#526642!important;
  content:"✓"!important;
}
.page-estimate .estimate-step{
  gap:20px!important;
  padding:2px!important;
}
.page-estimate .estimate-step-heading{
  gap:7px!important;
  padding:3px 0 16px!important;
  border-bottom:1px solid rgba(27,37,46,.085)!important;
}
.page-estimate .estimate-step-heading>span{
  color:#667b53!important;
  font-size:.64rem!important;
  letter-spacing:.145em!important;
}
.page-estimate .estimate-step-heading h3{
  font-size:clamp(1.52rem,2.25vw,1.9rem)!important;
  line-height:1.15!important;
}
.page-estimate .estimate-step-heading p{max-width:650px!important;font-size:.86rem!important;line-height:1.6!important}

/* First screen: stronger service-selection cards. */
.page-estimate .estimate-project-choices{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  padding:0!important;
}
.page-estimate .estimate-project-choice{
  min-height:124px!important;
  grid-template-columns:22px minmax(0,1fr) 30px!important;
  gap:12px!important;
  align-content:start!important;
  padding:15px!important;
  border:1px solid rgba(25,36,42,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff 0%,#fdfdfb 100%)!important;
  box-shadow:0 4px 14px rgba(18,29,34,.025)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.page-estimate .estimate-project-choice:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(91,116,67,.42)!important;
  background:#fff!important;
  box-shadow:0 14px 30px rgba(23,35,29,.075)!important;
}
.page-estimate .estimate-project-choice.is-selected{
  transform:translateY(-1px)!important;
  border-color:#71875b!important;
  background:linear-gradient(145deg,#f0f5e9 0%,#f9fbf6 100%)!important;
  box-shadow:0 0 0 2px rgba(113,135,91,.10),0 14px 32px rgba(37,53,28,.07)!important;
}
.page-estimate .estimate-choice-mark{
  width:20px!important;
  height:20px!important;
  margin-top:2px!important;
  border-width:1.5px!important;
  background:#fff!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-mark{
  border-color:#60764c!important;
  background:#60764c!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-mark:after{
  width:6px!important;
  height:10px!important;
  transform:rotate(45deg)!important;
  border:solid #fff!important;
  border-width:0 2px 2px 0!important;
  border-radius:0!important;
  background:transparent!important;
}
.page-estimate .estimate-choice-copy{gap:7px!important}
.page-estimate .estimate-choice-meta{min-height:19px!important}
.page-estimate .estimate-choice-meta>small{
  padding:4px 7px!important;
  background:#f0f2ee!important;
  color:#667559!important;
  font-size:.56rem!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-meta>small{background:#e2ead8!important;color:#50653e!important}
.page-estimate .estimate-choice-meta>b{font-size:.56rem!important;color:#60784b!important}
.page-estimate .estimate-choice-copy strong{
  font-size:.93rem!important;
  line-height:1.28!important;
}
.page-estimate .estimate-choice-description{
  max-width:42ch!important;
  color:#6b7478!important;
  font-size:.74rem!important;
  line-height:1.48!important;
}
.page-estimate .estimate-choice-arrow{
  width:28px!important;
  height:28px!important;
  align-self:center!important;
  border-color:rgba(27,37,46,.09)!important;
  background:#fafbf8!important;
  color:#73816b!important;
}
.page-estimate .estimate-project-choice:hover .estimate-choice-arrow,
.page-estimate .estimate-project-choice.is-selected .estimate-choice-arrow{
  transform:translate(2px,-2px)!important;
  border-color:#cfdbc4!important;
  background:#e7efdf!important;
  color:#496238!important;
}
.page-estimate .estimate-project-choice:focus-within{
  outline:3px solid rgba(93,121,66,.20)!important;
  outline-offset:2px!important;
}

/* Remaining steps: unified fields, feature choices and review surface. */
.page-estimate .estimate-fieldset{
  padding:17px!important;
  border:1px solid rgba(27,37,46,.085)!important;
  border-radius:16px!important;
  background:#fbfbf9!important;
}
.page-estimate .estimate-form .estimate-fieldset>legend{
  width:auto!important;
  margin:0 0 3px!important;
  padding:0 8px!important;
  border:0!important;
  color:#536346!important;
  font-size:.72rem!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.page-estimate .estimate-form .form-grid{gap:16px!important}
.page-estimate .estimate-form label>span,
.page-estimate .estimate-message>span{
  color:#455058!important;
  font-size:.75rem!important;
  font-weight:720!important;
}
.page-estimate .estimate-form input[type="text"],
.page-estimate .estimate-form input[type="email"],
.page-estimate .estimate-form input[type="tel"],
.page-estimate .estimate-form input[type="url"],
.page-estimate .estimate-form select,
.page-estimate .estimate-form textarea{
  border-color:rgba(34,46,53,.14)!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(19,30,36,.02)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.page-estimate .estimate-form input[type="text"]:hover,
.page-estimate .estimate-form input[type="email"]:hover,
.page-estimate .estimate-form input[type="tel"]:hover,
.page-estimate .estimate-form input[type="url"]:hover,
.page-estimate .estimate-form select:hover,
.page-estimate .estimate-form textarea:hover{border-color:rgba(80,102,62,.32)!important}
.page-estimate .estimate-form input[type="text"]:focus,
.page-estimate .estimate-form input[type="email"]:focus,
.page-estimate .estimate-form input[type="tel"]:focus,
.page-estimate .estimate-form input[type="url"]:focus,
.page-estimate .estimate-form select:focus,
.page-estimate .estimate-form textarea:focus{
  border-color:#71875b!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(113,135,91,.12)!important;
}
.page-estimate .estimate-scope-fields{
  gap:14px!important;
  padding:16px!important;
  border:1px solid rgba(27,37,46,.08)!important;
  border-radius:16px!important;
  background:#fbfbf9!important;
}
.page-estimate .estimate-features{
  gap:9px!important;
  padding:16px!important;
  border-radius:16px!important;
  background:#f8f9f5!important;
}
.page-estimate .estimate-features>legend{margin-bottom:3px!important;border:0!important;padding:0 7px!important}
.page-estimate .estimate-features label{
  min-height:44px!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  padding:10px 11px!important;
  border:1px solid rgba(29,41,47,.08)!important;
  border-radius:11px!important;
  background:#fff!important;
  cursor:pointer!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.page-estimate .estimate-features label:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(95,119,74,.30)!important;
  box-shadow:0 6px 15px rgba(28,40,32,.045)!important;
}
.page-estimate .estimate-features label:has(input:checked){
  border-color:#81966d!important;
  background:#eff4e9!important;
  box-shadow:0 0 0 2px rgba(119,143,96,.08)!important;
}
.page-estimate .estimate-features input{margin:0!important}
.page-estimate .estimate-features label:has(input:checked)>span{color:#435637!important;font-weight:700!important}
.page-estimate .estimate-mobile-bundle{
  padding:15px!important;
  border-color:rgba(112,137,88,.35)!important;
  background:linear-gradient(135deg,#edf3e6,#f9fbf6)!important;
  box-shadow:none!important;
}
.page-estimate .estimate-mobile-bundle-choice{
  padding:10px 11px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  transition:border-color .18s ease,background .18s ease!important;
}
.page-estimate .estimate-mobile-bundle-choice:hover{border-color:rgba(102,126,78,.20)!important;background:rgba(255,255,255,.55)!important}
.page-estimate .estimate-mobile-bundle-choice:has(input:checked){border-color:#839a6d!important;background:#fff!important}
.page-estimate .estimate-draft-consent{
  align-items:flex-start!important;
  padding:13px 14px!important;
  border:1px solid rgba(27,37,46,.08)!important;
  border-radius:13px!important;
  background:#fafaf8!important;
}
.page-estimate .estimate-draft-consent>span{font-size:.74rem!important;line-height:1.5!important}
.page-estimate .estimate-result{
  gap:10px!important;
  padding:20px!important;
  border-color:rgba(91,114,69,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#edf3e7 0%,#f8faf5 58%,#fff 100%)!important;
  box-shadow:0 14px 34px rgba(41,58,31,.055)!important;
}
.page-estimate .estimate-result strong{font-size:clamp(1.9rem,3.8vw,2.55rem)!important}
.page-estimate .estimate-result li{
  padding:7px 0!important;
  border-bottom:1px solid rgba(76,96,60,.09)!important;
}
.page-estimate .estimate-result li:last-child{border-bottom:0!important}
.page-estimate .estimate-assurance{
  padding:13px 15px!important;
  border:1px solid rgba(113,135,91,.16)!important;
  border-left:3px solid #84936d!important;
  border-radius:0 12px 12px 0!important;
  background:#f8faf5!important;
}
.page-estimate .estimate-step-actions{
  align-items:center!important;
  padding-top:2px!important;
}
.page-estimate .estimate-step-actions .button,
.page-estimate .estimate-step>.button-accent{
  min-height:48px!important;
  border-radius:12px!important;
}
.page-estimate .estimate-step-actions .button-outline:hover{
  border-color:rgba(88,111,68,.38)!important;
  background:#f5f7f1!important;
  color:#314128!important;
}
.page-estimate .estimate-form>.form-alert,
.page-estimate .estimate-save-status:not([hidden]){border-radius:13px!important}

@media(max-width:900px){
  .page-estimate .estimate-layout{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
  .page-estimate .estimate-guide{position:relative!important;top:auto!important}
  .page-estimate .estimate-guide-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .page-estimate .estimate-guide-steps article{
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:10px!important;
    border:1px solid rgba(235,241,228,.10)!important;
    border-radius:12px!important;
  }
  .page-estimate .estimate-guide-steps article.is-current:after{display:none!important}
  .page-estimate .estimate-guide-steps small{display:none!important}
}
@media(max-width:680px){
  .page-estimate .estimate-section{padding-top:46px!important;padding-bottom:72px!important}
  .page-estimate .estimate-guide{padding:20px!important;border-radius:20px!important}
  .page-estimate .estimate-guide h2{font-size:1.85rem!important}
  .page-estimate .estimate-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-estimate .estimate-form{padding:16px!important;border-radius:20px!important}
  .page-estimate .estimate-form .fx-progress{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-estimate .estimate-form .fx-progress li{grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;padding:9px!important}
  .page-estimate .estimate-project-choices{grid-template-columns:minmax(0,1fr)!important}
  .page-estimate .estimate-project-choice{min-height:0!important;padding:14px!important}
  .page-estimate .estimate-step-heading{padding-bottom:14px!important}
  .page-estimate .estimate-fieldset,.page-estimate .estimate-scope-fields,.page-estimate .estimate-features{padding:13px!important}
  .page-estimate .estimate-scope-fields,.page-estimate .estimate-features{grid-template-columns:minmax(0,1fr)!important}
  .page-estimate .estimate-step-actions{align-items:stretch!important;flex-direction:column-reverse!important}
  .page-estimate .estimate-step-actions .button,.page-estimate .estimate-step>.button-accent{width:100%!important;justify-content:center!important}
  .page-estimate .estimate-result li{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
}
@media(prefers-reduced-motion:reduce){
  .page-estimate .estimate-project-choice,
  .page-estimate .estimate-choice-arrow,
  .page-estimate .estimate-features label,
  .page-estimate .estimate-guide-steps article{transition:none!important}
}


/* Contact, estimate and careers forms: compact modern field system. */
.page-contact .project-form,
.page-careers .project-form{
  padding:clamp(20px,2.35vw,28px)!important;
  border:1px solid rgba(24,34,39,.09)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 20px 52px rgba(20,31,35,.065)!important;
}
.page-contact .project-form-header,
.page-careers .project-form-header{
  gap:13px!important;
  margin-bottom:20px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid rgba(25,36,42,.08)!important;
}
.page-contact .project-form-header-mark,
.page-careers .project-form-header-mark{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:11px!important;
}
.page-contact .project-form-eyebrow,
.page-careers .project-form-eyebrow{
  font-size:.62rem!important;
  letter-spacing:.13em!important;
}
.page-contact .project-form-header h3,
.page-careers .project-form-header h3{
  margin-top:4px!important;
  font-size:clamp(1.42rem,2vw,1.72rem)!important;
  line-height:1.15!important;
}
.page-contact .project-form-header p,
.page-careers .project-form-header p{
  margin-top:5px!important;
  max-width:58ch!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
.page-contact .project-form .form-grid,
.page-careers .project-form .form-grid{
  gap:13px 14px!important;
}
.page-contact .project-form label,
.page-careers .project-form label{
  gap:6px!important;
}
.page-contact .project-form label>span,
.page-careers .project-form label>span{
  color:#4c5559!important;
  font-size:.69rem!important;
  font-weight:750!important;
  line-height:1.3!important;
  letter-spacing:.035em!important;
}
.page-contact .project-form input:not([type=checkbox]):not([type=radio]),
.page-contact .project-form select,
.page-careers .project-form input:not([type=checkbox]):not([type=radio]),
.page-careers .project-form select{
  min-height:44px!important;
  height:44px!important;
  padding:9px 13px!important;
  border:1px solid rgba(31,43,50,.13)!important;
  border-radius:11px!important;
  background:#fbfcfa!important;
  font-size:.89rem!important;
  box-shadow:inset 0 1px 0 rgba(18,29,34,.015)!important;
}
.page-contact .project-form select,
.page-careers .project-form select{
  padding-right:40px!important;
  background-position:right 14px center!important;
}
.page-contact .project-form textarea,
.page-careers .project-form textarea{
  min-height:126px!important;
  height:auto!important;
  padding:11px 13px!important;
  border:1px solid rgba(31,43,50,.13)!important;
  border-radius:11px!important;
  background:#fbfcfa!important;
  font-size:.89rem!important;
  line-height:1.55!important;
  box-shadow:inset 0 1px 0 rgba(18,29,34,.015)!important;
}
.page-contact .project-form input:not([type=checkbox]):not([type=radio]):hover,
.page-contact .project-form select:hover,
.page-contact .project-form textarea:hover,
.page-careers .project-form input:not([type=checkbox]):not([type=radio]):hover,
.page-careers .project-form select:hover,
.page-careers .project-form textarea:hover{
  border-color:rgba(78,102,58,.34)!important;
  background:#fff!important;
}
.page-contact .project-form input:not([type=checkbox]):not([type=radio]):focus,
.page-contact .project-form select:focus,
.page-contact .project-form textarea:focus,
.page-careers .project-form input:not([type=checkbox]):not([type=radio]):focus,
.page-careers .project-form select:focus,
.page-careers .project-form textarea:focus{
  border-color:#6f8658!important;
  background:#fff!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(111,134,88,.12)!important;
}
.page-contact .project-form .full,
.page-careers .project-form .full{margin-top:13px!important}
.page-contact .project-form .consent,
.page-careers .project-form .consent{
  gap:9px!important;
  margin:15px 0!important;
  padding:11px 12px!important;
  border:1px solid rgba(31,43,50,.075)!important;
  border-radius:11px!important;
  background:#fafbf8!important;
}
.page-contact .project-form .consent input,
.page-careers .project-form .consent input{
  width:16px!important;
  height:16px!important;
  margin-top:1px!important;
  accent-color:#667d50!important;
}
.page-contact .project-form .consent span,
.page-careers .project-form .consent span{
  font-size:.7rem!important;
  line-height:1.48!important;
}
.page-contact .project-form>.button,
.page-careers .project-form>.button{
  min-height:45px!important;
  padding:11px 17px!important;
  border-radius:11px!important;
}
.page-contact .project-form .form-note,
.page-careers .project-form .form-note{
  margin-top:11px!important;
  font-size:.66rem!important;
  line-height:1.48!important;
}

/* Keep the estimate field treatment equally compact throughout all steps. */
.page-estimate .estimate-form input[type="text"],
.page-estimate .estimate-form input[type="email"],
.page-estimate .estimate-form input[type="tel"],
.page-estimate .estimate-form input[type="url"],
.page-estimate .estimate-form select{
  min-height:44px!important;
  height:44px!important;
  padding:9px 13px!important;
  border-radius:11px!important;
  font-size:.89rem!important;
}
.page-estimate .estimate-form select{
  padding-right:40px!important;
  background-position:right 14px center!important;
}
.page-estimate .estimate-form textarea{
  min-height:124px!important;
  height:auto!important;
  padding:11px 13px!important;
  border-radius:11px!important;
  font-size:.89rem!important;
  line-height:1.55!important;
}
.page-estimate .estimate-form .form-grid{gap:13px 14px!important}
.page-estimate .estimate-form label{gap:6px!important}
.page-estimate .estimate-form .estimate-message{margin-top:0!important}

@media(max-width:680px){
  .page-contact .project-form,
  .page-careers .project-form{padding:16px!important;border-radius:18px!important}
  .page-contact .project-form-header,
  .page-careers .project-form-header{margin-bottom:16px!important;padding-bottom:15px!important}
  .page-contact .project-form .form-grid,
  .page-careers .project-form .form-grid,
  .page-estimate .estimate-form .form-grid{gap:11px!important}
  .page-contact .project-form textarea,
  .page-careers .project-form textarea,
  .page-estimate .estimate-form textarea{min-height:112px!important}
}

/* Estimate step 1 — clean selected card + checkbox (2026-10-14). */
.page-estimate .estimate-project-choices{
  gap:12px!important;
}
.page-estimate .estimate-project-choice{
  position:relative!important;
  display:block!important;
  min-height:148px!important;
  padding:22px 60px 22px 22px!important;
  overflow:hidden!important;
  border:1px solid #dfe3df!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(22,31,25,.02)!important;
  transform:none!important;
  cursor:pointer!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
.page-estimate .estimate-project-choice:before,
.page-estimate .estimate-project-choice:after{
  display:none!important;
  content:none!important;
}
.page-estimate .estimate-project-choice:hover{
  transform:translateY(-2px)!important;
  border-color:#c4d0bc!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(31,46,34,.055)!important;
}
.page-estimate .estimate-project-choice.is-selected,
.page-estimate .estimate-project-choice:has(input:checked){
  transform:none!important;
  border-color:#71865f!important;
  background:#f8faf5!important;
  box-shadow:0 0 0 1px rgba(113,134,95,.08),0 8px 20px rgba(48,66,39,.045)!important;
}
.page-estimate .estimate-project-choice>input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.page-estimate .estimate-choice-mark{
  position:absolute!important;
  top:21px!important;
  right:21px!important;
  z-index:3!important;
  display:block!important;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  border:1.5px solid #aeb7ae!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.page-estimate .estimate-project-choice:hover .estimate-choice-mark{
  border-color:#7f9271!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-mark,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-mark{
  border-color:#637b50!important;
  background:#637b50!important;
  box-shadow:0 2px 5px rgba(64,83,50,.14)!important;
}
.page-estimate .estimate-choice-mark:after{
  display:none!important;
  content:""!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-mark:after,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-mark:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:7px!important;
  top:4px!important;
  width:6px!important;
  height:11px!important;
  border:solid #fff!important;
  border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;
}
.page-estimate .estimate-choice-copy{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  min-width:0!important;
}
.page-estimate .estimate-choice-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  min-height:22px!important;
  margin:0 0 11px!important;
  padding:0!important;
}
.page-estimate .estimate-choice-meta>small{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:4px 9px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f1f3ef!important;
  color:#59645a!important;
  font-size:.59rem!important;
  font-weight:850!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.page-estimate .estimate-choice-meta>b{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:4px 9px!important;
  border:0!important;
  border-radius:999px!important;
  background:#edf4e8!important;
  color:#536746!important;
  font-size:.55rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-meta>small,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-meta>small{
  background:#eaf0e4!important;
  color:#536348!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-meta>b,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-meta>b{
  background:#e3ecd9!important;
  color:#4f6242!important;
}
.page-estimate .estimate-choice-copy strong{
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  color:#202a30!important;
  font-size:1rem!important;
  font-weight:780!important;
  line-height:1.3!important;
  letter-spacing:-.018em!important;
}
.page-estimate .estimate-choice-description{
  display:block!important;
  max-width:48ch!important;
  margin-top:10px!important;
  color:#6f7779!important;
  font-size:.76rem!important;
  line-height:1.55!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-copy strong,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-copy strong{
  color:#2e3c28!important;
}
.page-estimate .estimate-project-choice.is-selected .estimate-choice-description,
.page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-description{
  color:#646e60!important;
}
.page-estimate .estimate-choice-arrow{
  display:none!important;
}
.page-estimate .estimate-project-choice:focus-within{
  outline:none!important;
  border-color:#637b50!important;
  box-shadow:0 0 0 3px rgba(99,123,80,.13)!important;
}
.page-estimate .estimate-project-choice>input:focus-visible+.estimate-choice-mark{
  outline:none!important;
}
@media(max-width:720px){
  .page-estimate .estimate-project-choice{
    min-height:0!important;
    padding:18px 54px 18px 18px!important;
    border-radius:15px!important;
  }
  .page-estimate .estimate-choice-mark{
    top:17px!important;
    right:17px!important;
    width:23px!important;
    height:23px!important;
    border-radius:6px!important;
  }
  .page-estimate .estimate-project-choice.is-selected .estimate-choice-mark:after,
  .page-estimate .estimate-project-choice:has(input:checked) .estimate-choice-mark:after{
    left:6px!important;
    top:3px!important;
  }
  .page-estimate .estimate-choice-meta{
    margin-bottom:9px!important;
  }
  .page-estimate .estimate-choice-copy strong{
    font-size:.95rem!important;
  }
  .page-estimate .estimate-choice-description{
    margin-top:8px!important;
    font-size:.73rem!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .page-estimate .estimate-project-choice,
  .page-estimate .estimate-choice-mark{
    transition:none!important;
  }
  .page-estimate .estimate-project-choice:hover{
    transform:none!important;
  }
}

/* Process/outcome icon refinement (2026-10-14)
   Replaces the small bright-green bullets/checks used in process cards
   with a cleaner, more professional directional badge across the home
   process section and the shared landing-page process cards. */
body .process-section .process-result,
body .lp-step-out{
  gap:10px!important;
}

body .process-section .process-result > span,
body .lp-step-out i{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  border-radius:8px!important;
  border:1px solid rgba(106,129,86,.28)!important;
  background:linear-gradient(180deg,#f9fcf5 0%,#e7efdc 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 6px 14px rgba(77,102,57,.10)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
}

body .process-section .process-result > span::before,
body .lp-step-out i::before{
  content:"";
  position:absolute;
  width:9px;
  height:2px;
  left:5px;
  top:12px;
  border-radius:999px;
  background:#22301b;
  transform:rotate(-45deg);
  transform-origin:left center;
}

body .process-section .process-result > span::after,
body .lp-step-out i::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  top:5px;
  right:4px;
  border-top:2px solid #22301b;
  border-right:2px solid #22301b;
  border-radius:1px;
}

@media(max-width:640px){
  body .process-section .process-result > span,
  body .lp-step-out i{
    flex-basis:20px!important;
    width:20px!important;
    height:20px!important;
    border-radius:7px!important;
  }

  body .process-section .process-result > span::before,
  body .lp-step-out i::before{
    width:8px;
    left:4px;
    top:11px;
  }

  body .process-section .process-result > span::after,
  body .lp-step-out i::after{
    width:5px;
    height:5px;
    top:5px;
    right:4px;
  }
}

/* Frontend outcome/check icon clarity pass (2026-10-14)
   Makes the small green badge icons clearer and more legible across
   home/landing process cards and any shared frontend blocks using them. */
body .process-section .process-result,
body .lp-step-out{
  align-items:center!important;
  gap:11px!important;
}

body .process-section .process-result > span,
body .lp-step-out i{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  border-radius:7px!important;
  border:1px solid rgba(119,160,62,.42)!important;
  background:linear-gradient(180deg,#b2ff5a 0%,#89df38 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 6px 14px rgba(93,132,41,.18)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
}

body .process-section .process-result > span::before,
body .lp-step-out i::before{
  content:""!important;
  position:absolute!important;
  width:8px!important;
  height:5px!important;
  left:7px!important;
  top:7px!important;
  border-left:2.4px solid #0f1a0a!important;
  border-bottom:2.4px solid #0f1a0a!important;
  border-radius:1px!important;
  background:transparent!important;
  transform:rotate(-45deg)!important;
  transform-origin:left center!important;
}

body .process-section .process-result > span::after,
body .lp-step-out i::after{
  content:none!important;
}

@media(max-width:640px){
  body .process-section .process-result,
  body .lp-step-out{
    gap:10px!important;
  }

  body .process-section .process-result > span,
  body .lp-step-out i{
    flex-basis:22px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    border-radius:6px!important;
  }

  body .process-section .process-result > span::before,
  body .lp-step-out i::before{
    width:7px!important;
    height:4px!important;
    left:6px!important;
    top:7px!important;
    border-left-width:2.2px!important;
    border-bottom-width:2.2px!important;
  }
}


/* Global FAQ typography refinement (2026-10-14)
   Reduce overly heavy FAQ headings/questions across all frontend FAQ variants. */
body .dp-faq-intro h2{
  font-weight:700!important;
}

body .dp-faq-q,
body .faq-item button,
body .faq-item button span{
  font-weight:650!important;
}

@media(max-width:640px){
  body .dp-faq-q,
  body .faq-item button,
  body .faq-item button span{
    font-weight:650!important;
  }
}

/* Main-navigation hero footer strip (2026-10-14)
   Shared SEO/supporting line + concise CTA, visually bonded to non-home heroes. */
.nav-hero-strip{
  position:relative;
  z-index:8;
  width:100%;
  margin:0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(17,21,33,.09);
  background:
    radial-gradient(520px 150px at 12% 0%,rgba(125,255,69,.10),transparent 72%),
    linear-gradient(180deg,#101722 0%,#0c131d 100%);
  box-shadow:0 14px 34px rgba(12,18,28,.10);
}
.nav-hero-strip-inner{
  min-height:84px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  padding-top:16px;
  padding-bottom:16px;
}
.nav-hero-strip-copy{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:22px;
}
.nav-hero-strip-label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
  color:rgba(255,255,255,.70);
  font-size:.68rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nav-hero-strip-label i{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#7dff45;
  box-shadow:0 0 0 5px rgba(125,255,69,.08);
}
.nav-hero-strip-copy p{
  position:relative;
  margin:0;
  padding-left:22px;
  max-width:900px;
  color:rgba(255,255,255,.80);
  font-size:.92rem;
  line-height:1.6;
  font-weight:450;
  letter-spacing:-.005em;
}
.nav-hero-strip-copy p::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:32px;
  background:rgba(255,255,255,.14);
  transform:translateY(-50%);
}
.nav-hero-strip-cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:6px 7px 6px 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:.79rem;
  line-height:1;
  font-weight:750;
  text-decoration:none;
  white-space:nowrap;
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
.nav-hero-strip-cta i{
  position:relative;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  background:#7dff45;
  box-shadow:0 5px 15px rgba(125,255,69,.17);
}
.nav-hero-strip-cta i::before{
  content:"";
  width:8px;
  height:8px;
  border-top:1.8px solid #0b1508;
  border-right:1.8px solid #0b1508;
  transform:translateX(-1px) rotate(45deg);
}
.nav-hero-strip-cta i::after{
  content:"";
  position:absolute;
  width:9px;
  height:1.8px;
  border-radius:999px;
  background:#0b1508;
  transform:translateX(-2px);
}
.nav-hero-strip-cta:hover,
.nav-hero-strip-cta:focus-visible{
  border-color:rgba(125,255,69,.55);
  background:rgba(125,255,69,.08);
  transform:translateY(-1px);
}
.nav-hero-strip-cta:focus-visible{
  outline:2px solid rgba(125,255,69,.70);
  outline-offset:3px;
}

@media(max-width:1024px){
  .nav-hero-strip-inner{
    min-height:0;
    grid-template-columns:minmax(0,1fr) auto;
    gap:22px;
    padding-top:18px;
    padding-bottom:18px;
  }
  .nav-hero-strip-copy{
    grid-template-columns:1fr;
    gap:9px;
  }
  .nav-hero-strip-copy p{
    padding-left:0;
    max-width:720px;
    font-size:.88rem;
  }
  .nav-hero-strip-copy p::before{display:none}
}

@media(max-width:720px){
  .nav-hero-strip-inner{
    grid-template-columns:1fr;
    gap:15px;
    padding-top:19px;
    padding-bottom:20px;
  }
  .nav-hero-strip-copy{gap:10px}
  .nav-hero-strip-label{
    font-size:.63rem;
    letter-spacing:.11em;
  }
  .nav-hero-strip-copy p{
    max-width:none;
    font-size:.86rem;
    line-height:1.58;
  }
  .nav-hero-strip-cta{
    justify-self:start;
    min-height:42px;
    padding-left:15px;
    gap:10px;
    font-size:.76rem;
  }
  .nav-hero-strip-cta i{
    width:29px;
    height:29px;
    flex-basis:29px;
  }
}

@media(max-width:420px){
  .nav-hero-strip-inner{gap:14px}
  .nav-hero-strip-copy p{font-size:.83rem}
}

@media(prefers-reduced-motion:reduce){
  .nav-hero-strip-cta{transition:none}
}

/* Shared frontend green outcome badge refinement (2026-10-14)
   Keep the badge circular with a soft green shade and a centered tick
   anywhere this shared process/outcome pattern appears. */
body .process-section .process-result,
body .lp-step-out{
  align-items:center!important;
  gap:11px!important;
}

body .process-section .process-result > span,
body .lp-step-out i{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:hidden!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  border-radius:999px!important;
  border:1px solid rgba(117,163,52,.34)!important;
  background:radial-gradient(circle at 35% 30%,#c8ff8e 0%,#a1ef53 46%,#8bdc3d 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 7px 16px rgba(125,188,63,.18)!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
}

body .process-section .process-result > span::before,
body .lp-step-out i::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:7px!important;
  height:4px!important;
  margin-left:-3.5px!important;
  margin-top:-3px!important;
  border-left:2.1px solid #10200a!important;
  border-bottom:2.1px solid #10200a!important;
  border-radius:1px!important;
  background:transparent!important;
  transform:rotate(-45deg)!important;
  transform-origin:center center!important;
}

body .process-section .process-result > span::after,
body .lp-step-out i::after{
  content:none!important;
}

@media(max-width:640px){
  body .process-section .process-result > span,
  body .lp-step-out i{
    flex-basis:20px!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
  }

  body .process-section .process-result > span::before,
  body .lp-step-out i::before{
    width:6px!important;
    height:3.5px!important;
    margin-left:-3px!important;
    margin-top:-2.5px!important;
  }
}

/* Navigation hero strip — dark green gradient refinement (2026-10-14)
   Gives every shared non-home navigation hero strip a richer branded green tone
   while keeping text contrast and CTA clarity intact. */
.nav-hero-strip{
  border-top-color:rgba(166,255,118,.12)!important;
  border-bottom-color:rgba(9,35,26,.28)!important;
  background:
    radial-gradient(720px 180px at 8% 0%,rgba(112,255,104,.14),transparent 70%),
    radial-gradient(520px 180px at 88% 100%,rgba(44,122,79,.16),transparent 72%),
    linear-gradient(110deg,#0d251d 0%,#102c22 34%,#0b2019 68%,#0a1715 100%)!important;
  box-shadow:0 16px 38px rgba(7,31,23,.16)!important;
}

.nav-hero-strip::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 28%,transparent 72%,rgba(125,255,69,.025));
}

.nav-hero-strip-inner{
  position:relative;
  z-index:1;
}

.nav-hero-strip-label{
  color:rgba(226,242,232,.78)!important;
}

.nav-hero-strip-copy p{
  color:rgba(235,244,239,.84)!important;
}

.nav-hero-strip-copy p::before{
  background:rgba(202,232,214,.18)!important;
}

.nav-hero-strip-cta{
  border-color:rgba(191,229,204,.20)!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.nav-hero-strip-cta:hover,
.nav-hero-strip-cta:focus-visible{
  border-color:rgba(125,255,69,.52)!important;
  background:rgba(125,255,69,.09)!important;
}

/* Insights & News — landing + article refinement (2026-10-14) */
.insight-index{padding:clamp(70px,8vw,118px) 0;background:#f5f3ed}
.insight-index-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:70px;align-items:end;margin-bottom:42px;padding-bottom:32px;border-bottom:1px solid rgba(17,21,33,.12)}
.insight-index-head h2{margin:10px 0 0;max-width:820px;font-size:clamp(2.25rem,4.2vw,4.3rem);line-height:1.01;letter-spacing:-.055em;text-wrap:balance}
.insight-index-head h2 em{font-family:Georgia,serif;font-weight:400;color:#617057}
.insight-index-head>p{justify-self:end;max-width:560px;margin:0;color:#59616c;font-size:1rem;line-height:1.75}
.insight-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);min-height:500px;margin-bottom:18px;overflow:hidden;border:1px solid rgba(17,21,33,.12);border-radius:28px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 22px 65px rgba(18,24,30,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.insight-feature:hover{transform:translateY(-4px);border-color:rgba(73,111,55,.35);box-shadow:0 30px 75px rgba(18,24,30,.11)}
.insight-feature-media,.insight-card-media{position:relative;overflow:hidden;background:linear-gradient(145deg,#142319,#22372a)}
.insight-feature-media:after,.insight-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(34,81,50,.08),transparent 55%);pointer-events:none}
.insight-feature-media img,.insight-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.65,.2,1)}
.insight-feature:hover .insight-feature-media img,.insight-card:hover .insight-card-media img{transform:scale(1.025)}
.insight-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4.2vw,62px)}
.insight-meta{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:20px;color:#657067;font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.insight-meta span{display:inline-flex;align-items:center;gap:8px}
.insight-meta span:before{content:"";width:7px;height:7px;border-radius:50%;background:#79dc43;box-shadow:0 0 0 4px rgba(121,220,67,.11)}
.insight-meta time{padding-left:11px;border-left:1px solid rgba(17,21,33,.13)}
.insight-feature h3{margin:0 0 18px;font-size:clamp(2rem,3.2vw,3.65rem);line-height:1.04;letter-spacing:-.052em;text-wrap:balance}
.insight-feature-copy>p{margin:0 0 28px;color:#626a75;font-size:1rem;line-height:1.76}
.insight-read{display:inline-flex;align-items:center;gap:10px;margin-top:auto;color:#172019;font-size:.82rem;font-weight:800}
.insight-read i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e9f2e2;color:#29421f;font-style:normal;transition:transform .2s ease,background .2s ease}
.insight-feature:hover .insight-read i,.insight-card:hover .insight-read i{transform:translate(2px,-1px);background:#a8f067}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.insight-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(17,21,33,.11);border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 14px 40px rgba(18,24,30,.045);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.insight-card:hover{transform:translateY(-4px);border-color:rgba(73,111,55,.30);box-shadow:0 22px 50px rgba(18,24,30,.085)}
.insight-card-media{aspect-ratio:16/9}
.insight-card-copy{display:flex;flex:1;flex-direction:column;padding:26px 25px 24px}
.insight-card .insight-meta{margin-bottom:15px;font-size:.66rem}
.insight-card h3{margin:0 0 12px;font-size:1.25rem;line-height:1.26;letter-spacing:-.032em;text-wrap:balance}
.insight-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0 0 23px;color:#636b76;font-size:.9rem;line-height:1.65}
.insight-card .insight-read{padding-top:17px;border-top:1px solid rgba(17,21,33,.10)}
.insight-empty{padding:50px;border:1px dashed rgba(17,21,33,.2);border-radius:22px;background:#fff;text-align:center}
.insight-empty strong{font-size:1.15rem}.insight-empty p{margin:8px 0 0;color:#69717b}

.insight-detail-hero{position:relative;overflow:hidden;padding:clamp(132px,12vw,190px) 0 clamp(68px,7vw,100px);background:radial-gradient(900px 520px at 8% 0%,rgba(52,122,75,.34),transparent 64%),linear-gradient(128deg,#07130e 0%,#0d2117 48%,#111b18 100%)}
.insight-detail-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(128,228,85,.42),transparent)}
.insight-detail-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:70px;align-items:center}
.insight-detail-hero .breadcrumbs{margin-bottom:28px;color:rgba(255,255,255,.48)}
.insight-detail-hero .breadcrumbs a{color:rgba(255,255,255,.62)}
.insight-meta-light{color:rgba(255,255,255,.66)}
.insight-meta-light time{border-left-color:rgba(255,255,255,.18)}
.insight-detail-hero h1{max-width:940px;margin:0;font-size:clamp(2.75rem,5.4vw,5.8rem);line-height:.98;letter-spacing:-.063em;color:#fff;text-wrap:balance}
.insight-detail-hero-copy>p{max-width:800px;margin:26px 0 0;color:rgba(255,255,255,.69);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.72}
.insight-detail-visual{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:#102017;box-shadow:0 30px 90px rgba(0,0,0,.28);transform:rotate(1deg)}
.insight-detail-visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.insight-article-shell{display:grid;grid-template-columns:minmax(0,820px);justify-content:center}
.insight-article-body{padding:clamp(62px,7vw,104px) 0;color:#3f4650}
.insight-article-body p,.insight-article-body li{font-size:clamp(1rem,1.08vw,1.08rem);line-height:1.88}
.insight-article-body p{margin:0 0 25px}
.insight-article-body .insight-lead{margin-bottom:36px;color:#1d2521;font-size:clamp(1.18rem,1.55vw,1.4rem);line-height:1.72;font-weight:580;letter-spacing:-.015em}
.insight-article-body h2{margin:58px 0 19px;color:#111821;font-size:clamp(1.75rem,2.7vw,2.7rem);line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
.insight-article-body ul{display:grid;gap:12px;margin:22px 0 34px;padding:0;list-style:none}
.insight-article-body li{position:relative;padding:14px 18px 14px 48px;border:1px solid rgba(17,21,33,.1);border-radius:14px;background:#f8f8f5}
.insight-article-body li:before{content:"✓";position:absolute;left:16px;top:15px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#a7ef61;color:#10200a;font-size:.68rem;font-weight:900}
.insight-article-body blockquote{margin:38px 0;padding:26px 28px;border-left:3px solid #71ad53;border-radius:0 18px 18px 0;background:#f1f5ed;color:#273124;font-size:1.15rem;line-height:1.7}
.insight-related{padding:clamp(64px,7vw,98px) 0;background:#edf1e9;border-top:1px solid rgba(17,21,33,.08)}
.insight-related-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.insight-related-head h2{margin:8px 0 0;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.04;letter-spacing:-.052em}
.insight-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.insight-related-card{display:flex;min-height:220px;flex-direction:column;padding:27px;border:1px solid rgba(17,21,33,.1);border-radius:20px;background:#fff;color:inherit;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.insight-related-card:hover{transform:translateY(-3px);border-color:rgba(71,116,51,.3);box-shadow:0 18px 45px rgba(18,24,30,.07)}
.insight-related-card>span{color:#65745f;font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.insight-related-card h3{margin:18px 0 30px;font-size:1.18rem;line-height:1.3;letter-spacing:-.025em}
.insight-related-card small{margin-top:auto;font-size:.78rem;font-weight:800;color:#34472e}

@media(max-width:1100px){
  .insight-index-head{grid-template-columns:1fr;gap:18px}.insight-index-head>p{justify-self:start;max-width:720px}
  .insight-feature{grid-template-columns:1fr 1fr;min-height:430px}
  .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-detail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:42px}
}
@media(max-width:760px){
  .insight-index{padding:64px 0}.insight-index-head{margin-bottom:26px;padding-bottom:24px}.insight-index-head h2{font-size:clamp(2.25rem,11vw,3.35rem)}
  .insight-feature{grid-template-columns:1fr;min-height:0;border-radius:22px}.insight-feature-media{aspect-ratio:16/9}.insight-feature-copy{padding:28px 24px 30px}.insight-feature h3{font-size:clamp(1.85rem,8vw,2.55rem)}
  .insight-grid{grid-template-columns:1fr;gap:14px}.insight-card{border-radius:19px}.insight-card-copy{padding:22px 21px}.insight-card h3{font-size:1.18rem}
  .insight-detail-hero{padding:118px 0 58px}.insight-detail-hero-grid{grid-template-columns:1fr;gap:32px}.insight-detail-hero h1{font-size:clamp(2.5rem,12vw,3.8rem)}.insight-detail-visual{border-radius:20px;transform:none}
  .insight-article-body{padding:58px 0}.insight-article-body h2{margin-top:44px}.insight-article-body li{padding-left:45px}
  .insight-related-grid{grid-template-columns:1fr}.insight-related-card{min-height:0}.insight-related-head{display:block}
}
@media(prefers-reduced-motion:reduce){.insight-feature,.insight-card,.insight-related-card,.insight-feature-media img,.insight-card-media img{transition:none!important}}


/* Insights landing hero — compact navigation-page treatment (2026-10-14) */
body.page-insights .inner-hero{
  min-height:0!important;
}

body.page-insights .inner-hero .inner-hero-grid{
  min-height:0!important;
  padding-top:clamp(108px,9vw,132px)!important;
  padding-bottom:clamp(50px,4.5vw,68px)!important;
  align-items:center!important;
}

body.page-insights .inner-hero-copy{
  max-width:900px!important;
}

body.page-insights .inner-hero-copy .eyebrow{
  margin-bottom:14px!important;
}

body.page-insights .inner-hero-copy h1{
  max-width:900px!important;
  margin-bottom:16px!important;
  font-size:clamp(3rem,5.8vw,5rem)!important;
  line-height:.99!important;
  letter-spacing:-.052em!important;
  text-wrap:balance!important;
}

body.page-insights .inner-hero-copy p{
  max-width:720px!important;
  margin-bottom:0!important;
  font-size:clamp(1rem,1.35vw,1.1rem)!important;
  line-height:1.68!important;
}

body.page-insights .inner-hero-copy .hero-actions{
  margin-top:24px!important;
}

@media(max-width:900px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:102px!important;
    padding-bottom:50px!important;
  }

  body.page-insights .inner-hero-copy h1{
    font-size:clamp(2.75rem,8.5vw,4.2rem)!important;
    line-height:1!important;
  }
}

@media(max-width:640px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:90px!important;
    padding-bottom:40px!important;
  }

  body.page-insights .inner-hero-copy .eyebrow{
    margin-bottom:12px!important;
  }

  body.page-insights .inner-hero-copy h1{
    max-width:none!important;
    margin-bottom:13px!important;
    font-size:clamp(2.35rem,11.5vw,3.3rem)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }

  body.page-insights .inner-hero-copy p{
    max-width:none!important;
    font-size:.96rem!important;
    line-height:1.62!important;
  }

  body.page-insights .inner-hero-copy .hero-actions{
    margin-top:20px!important;
  }
}


/* Insights hero — tighter standard landing-page height (2026-10-14) */
body.page-insights .inner-hero .inner-hero-grid{
  padding-top:88px!important;
  padding-bottom:34px!important;
}

body.page-insights .inner-hero-copy .eyebrow{
  margin-bottom:10px!important;
}

body.page-insights .inner-hero-copy h1{
  margin-bottom:12px!important;
  font-size:clamp(2.8rem,5.1vw,4.55rem)!important;
  line-height:1!important;
}

body.page-insights .inner-hero-copy p{
  font-size:1rem!important;
  line-height:1.58!important;
}

body.page-insights .inner-hero-copy .hero-actions{
  margin-top:18px!important;
}

@media(max-width:900px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:82px!important;
    padding-bottom:32px!important;
  }
}

@media(max-width:640px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:76px!important;
    padding-bottom:28px!important;
  }

  body.page-insights .inner-hero-copy h1{
    font-size:clamp(2.2rem,10.5vw,3rem)!important;
    margin-bottom:10px!important;
  }

  body.page-insights .inner-hero-copy p{
    font-size:.94rem!important;
    line-height:1.55!important;
  }
}

/* Insights landing + article heroes — standard compact treatment (2026-10-14) */
body.page-insights .inner-hero .inner-hero-grid{
  padding-top:78px!important;
  padding-bottom:26px!important;
}
body.page-insights .inner-hero-copy .eyebrow{margin-bottom:9px!important}
body.page-insights .inner-hero-copy h1{
  margin-bottom:10px!important;
  font-size:clamp(2.65rem,4.8vw,4.25rem)!important;
  line-height:1!important;
}
body.page-insights .inner-hero-copy p{
  max-width:700px!important;
  font-size:.98rem!important;
  line-height:1.56!important;
}
body.page-insights .inner-hero-copy .hero-actions{margin-top:16px!important}

/* Detail pages use their own hero renderer; keep it equally compact. */
body[class*="page-insight-"] .insight-detail-hero,
body.page-insights .insight-detail-hero{
  padding:96px 0 44px!important;
}
body[class*="page-insight-"] .insight-detail-hero-grid,
body.page-insights .insight-detail-hero-grid{
  gap:44px!important;
}
body[class*="page-insight-"] .insight-detail-hero .breadcrumbs,
body.page-insights .insight-detail-hero .breadcrumbs{
  margin-bottom:17px!important;
}
body[class*="page-insight-"] .insight-detail-hero .insight-meta,
body.page-insights .insight-detail-hero .insight-meta{
  margin-bottom:14px!important;
}
body[class*="page-insight-"] .insight-detail-hero h1,
body.page-insights .insight-detail-hero h1{
  font-size:clamp(2.45rem,4.65vw,4.8rem)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
body[class*="page-insight-"] .insight-detail-hero-copy>p,
body.page-insights .insight-detail-hero-copy>p{
  max-width:740px!important;
  margin-top:17px!important;
  font-size:1rem!important;
  line-height:1.62!important;
}
body[class*="page-insight-"] .insight-detail-visual,
body.page-insights .insight-detail-visual{
  border-radius:22px!important;
}
body[class*="page-insight-"] .insight-detail-visual img,
body.page-insights .insight-detail-visual img{
  aspect-ratio:16/10!important;
}

/* Keep the Insights strip visually bonded to both hero variants. */
body.page-insights .inner-hero + .nav-hero-strip,
body[class*="page-insight-"] .insight-detail-hero + .nav-hero-strip,
body.page-insights .insight-detail-hero + .nav-hero-strip{
  margin-top:0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}

@media(max-width:900px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:74px!important;
    padding-bottom:24px!important;
  }
  body[class*="page-insight-"] .insight-detail-hero,
  body.page-insights .insight-detail-hero{
    padding:86px 0 38px!important;
  }
  body[class*="page-insight-"] .insight-detail-hero-grid,
  body.page-insights .insight-detail-hero-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  body[class*="page-insight-"] .insight-detail-visual,
  body.page-insights .insight-detail-visual{
    max-width:700px!important;
    transform:none!important;
  }
}

@media(max-width:640px){
  body.page-insights .inner-hero .inner-hero-grid{
    padding-top:70px!important;
    padding-bottom:22px!important;
  }
  body.page-insights .inner-hero-copy h1{
    font-size:clamp(2.1rem,10vw,2.9rem)!important;
  }
  body[class*="page-insight-"] .insight-detail-hero,
  body.page-insights .insight-detail-hero{
    padding:78px 0 32px!important;
  }
  body[class*="page-insight-"] .insight-detail-hero .breadcrumbs,
  body.page-insights .insight-detail-hero .breadcrumbs{
    margin-bottom:14px!important;
  }
  body[class*="page-insight-"] .insight-detail-hero h1,
  body.page-insights .insight-detail-hero h1{
    font-size:clamp(2.15rem,10.8vw,3.05rem)!important;
    line-height:1.02!important;
  }
  body[class*="page-insight-"] .insight-detail-hero-copy>p,
  body.page-insights .insight-detail-hero-copy>p{
    margin-top:14px!important;
    font-size:.94rem!important;
    line-height:1.58!important;
  }
}


/* Insights detail — editorial story hero (2026-10-14)
   Title/content first, contained feature image below. */
body[class*="page-insight-"] .insight-detail-hero{
  overflow:visible!important;
  padding:104px 0 0!important;
  background:
    radial-gradient(760px 300px at 12% 0%,rgba(102,138,76,.08),transparent 70%),
    linear-gradient(180deg,#fbfcf8 0%,#f5f7f1 100%)!important;
  color:#111521!important;
}

body[class*="page-insight-"] .insight-detail-hero:after{
  display:none!important;
}

body[class*="page-insight-"] .insight-detail-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:34px!important;
  align-items:start!important;
  max-width:1180px!important;
}

body[class*="page-insight-"] .insight-detail-hero-copy{
  width:min(100%,980px)!important;
  margin:0 auto!important;
  text-align:left!important;
}

body[class*="page-insight-"] .insight-detail-hero .breadcrumbs{
  margin-bottom:20px!important;
  color:#7b827c!important;
}

body[class*="page-insight-"] .insight-detail-hero .breadcrumbs a{
  color:#59645c!important;
}

body[class*="page-insight-"] .insight-detail-hero .insight-meta-light{
  margin-bottom:17px!important;
  color:#52604f!important;
}

body[class*="page-insight-"] .insight-detail-hero .insight-meta-light span{
  color:#4f6f3f!important;
}

body[class*="page-insight-"] .insight-detail-hero h1{
  max-width:950px!important;
  margin:0!important;
  color:#111521!important;
  font-size:clamp(2.75rem,5.1vw,5.15rem)!important;
  line-height:.99!important;
  letter-spacing:-.058em!important;
  text-wrap:balance!important;
}

body[class*="page-insight-"] .insight-detail-hero-copy>p{
  max-width:780px!important;
  margin:20px 0 0!important;
  color:#5e6662!important;
  font-size:clamp(1rem,1.25vw,1.14rem)!important;
  line-height:1.7!important;
}

body[class*="page-insight-"] .insight-detail-visual{
  width:100%!important;
  max-width:1120px!important;
  margin:4px auto -1px!important;
  overflow:hidden!important;
  border:1px solid rgba(17,21,33,.10)!important;
  border-radius:28px 28px 0 0!important;
  background:#e9eee6!important;
  box-shadow:0 24px 60px rgba(21,31,24,.10)!important;
  transform:none!important;
}

body[class*="page-insight-"] .insight-detail-visual img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/8.7!important;
  object-fit:cover!important;
  object-position:center!important;
}

body[class*="page-insight-"] .insight-detail-hero + .nav-hero-strip{
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
  border-top:0!important;
}

body[class*="page-insight-"] .insight-article-shell{
  padding-top:clamp(58px,6vw,86px)!important;
}

@media(max-width:900px){
  body[class*="page-insight-"] .insight-detail-hero{
    padding-top:88px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-grid{
    gap:28px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero h1{
    font-size:clamp(2.5rem,8.2vw,4.1rem)!important;
  }

  body[class*="page-insight-"] .insight-detail-visual{
    border-radius:22px 22px 0 0!important;
  }
}

@media(max-width:640px){
  body[class*="page-insight-"] .insight-detail-hero{
    padding-top:76px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-grid{
    gap:23px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero .breadcrumbs{
    margin-bottom:15px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero .insight-meta-light{
    margin-bottom:13px!important;
  }

  body[class*="page-insight-"] .insight-detail-hero h1{
    font-size:clamp(2.18rem,10.5vw,3.2rem)!important;
    line-height:1.02!important;
    letter-spacing:-.047em!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-copy>p{
    margin-top:15px!important;
    font-size:.96rem!important;
    line-height:1.62!important;
  }

  body[class*="page-insight-"] .insight-detail-visual{
    border-radius:18px 18px 0 0!important;
    box-shadow:0 16px 38px rgba(21,31,24,.09)!important;
  }

  body[class*="page-insight-"] .insight-detail-visual img{
    aspect-ratio:4/3!important;
  }

  body[class*="page-insight-"] .insight-article-shell{
    padding-top:48px!important;
  }
}

/* Insights detail editorial hero refinement (2026-10-14)
   Remove the CTA strip from article heroes and align title copy width
   exactly with the featured image container. */
body[class*="page-insight-"] .insight-detail-hero-copy{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
}

body[class*="page-insight-"] .insight-detail-hero h1,
body[class*="page-insight-"] .insight-detail-hero-copy>p{
  max-width:1120px!important;
}

body[class*="page-insight-"] .insight-detail-hero + .nav-hero-strip{
  display:none!important;
}

@media(max-width:900px){
  body[class*="page-insight-"] .insight-detail-hero-copy{
    max-width:1120px!important;
  }
}


/* Insights article hero/content spacing + complete image radius (2026-10-14) */
body[class*="page-insight-"] .insight-detail-visual{
  margin-bottom:0!important;
  border-radius:28px!important;
}

body[class*="page-insight-"] .insight-detail-visual img{
  border-radius:inherit!important;
}

body[class*="page-insight-"] .insight-article-shell{
  padding-top:0!important;
}

body[class*="page-insight-"] .insight-article-body{
  padding-top:clamp(34px,4vw,52px)!important;
}

@media(max-width:900px){
  body[class*="page-insight-"] .insight-detail-visual{
    border-radius:22px!important;
  }

  body[class*="page-insight-"] .insight-article-body{
    padding-top:34px!important;
  }
}

@media(max-width:640px){
  body[class*="page-insight-"] .insight-detail-visual{
    border-radius:18px!important;
  }

  body[class*="page-insight-"] .insight-article-shell{
    padding-top:0!important;
  }

  body[class*="page-insight-"] .insight-article-body{
    padding-top:28px!important;
  }
}


/* Insights detail typography + reading-width balance (2026-10-14)
   Reduce oversized article headlines and rebalance the reading column. */
body[class*="page-insight-"] .insight-detail-hero h1{
  max-width:1000px!important;
  font-size:clamp(2.65rem,4.35vw,4.45rem)!important;
  line-height:1.015!important;
  letter-spacing:-.052em!important;
}

body[class*="page-insight-"] .insight-detail-hero-copy>p{
  max-width:820px!important;
  margin-top:17px!important;
  font-size:clamp(.98rem,1.08vw,1.08rem)!important;
  line-height:1.66!important;
}

body[class*="page-insight-"] .insight-detail-hero-grid{
  gap:28px!important;
}

body[class*="page-insight-"] .insight-article-shell{
  grid-template-columns:minmax(0,860px)!important;
}

body[class*="page-insight-"] .insight-article-body{
  padding-top:clamp(32px,3.5vw,46px)!important;
}

body[class*="page-insight-"] .insight-article-body p,
body[class*="page-insight-"] .insight-article-body li{
  font-size:clamp(1rem,1vw,1.06rem)!important;
  line-height:1.82!important;
}

body[class*="page-insight-"] .insight-article-body .insight-lead{
  max-width:820px!important;
  margin-bottom:31px!important;
  font-size:clamp(1.14rem,1.35vw,1.3rem)!important;
  line-height:1.68!important;
  font-weight:560!important;
}

body[class*="page-insight-"] .insight-article-body h2{
  margin-top:50px!important;
  margin-bottom:16px!important;
  font-size:clamp(1.72rem,2.25vw,2.35rem)!important;
  line-height:1.12!important;
  letter-spacing:-.038em!important;
}

body[class*="page-insight-"] .insight-article-body blockquote{
  margin:32px 0!important;
  font-size:1.08rem!important;
}

@media(max-width:900px){
  body[class*="page-insight-"] .insight-detail-hero h1{
    max-width:900px!important;
    font-size:clamp(2.45rem,7.2vw,3.75rem)!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-grid{
    gap:24px!important;
  }

  body[class*="page-insight-"] .insight-article-shell{
    grid-template-columns:minmax(0,820px)!important;
  }
}

@media(max-width:640px){
  body[class*="page-insight-"] .insight-detail-hero h1{
    max-width:none!important;
    font-size:clamp(2.08rem,9.5vw,2.9rem)!important;
    line-height:1.035!important;
    letter-spacing:-.043em!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-copy>p{
    max-width:none!important;
    margin-top:14px!important;
    font-size:.94rem!important;
    line-height:1.58!important;
  }

  body[class*="page-insight-"] .insight-detail-hero-grid{
    gap:20px!important;
  }

  body[class*="page-insight-"] .insight-article-body{
    padding-top:26px!important;
  }

  body[class*="page-insight-"] .insight-article-body p,
  body[class*="page-insight-"] .insight-article-body li{
    font-size:.98rem!important;
    line-height:1.76!important;
  }

  body[class*="page-insight-"] .insight-article-body .insight-lead{
    font-size:1.1rem!important;
    line-height:1.64!important;
  }

  body[class*="page-insight-"] .insight-article-body h2{
    margin-top:40px!important;
    font-size:clamp(1.55rem,7vw,2rem)!important;
  }
}


/* Insights detail title — remove max-width constraint (2026-10-14) */
body[class*="page-insight-"] .insight-detail-hero h1{
  max-width:none!important;
}


/* Home hero bottom message + CTA (2026-10-14)
   Public hero stats are intentionally not rendered; their CMS data remains intact. */
.page-home .hero-refined{
  overflow:hidden!important;
}

.page-home .home-hero-bottom{
  position:relative;
  z-index:6;
  width:100%;
  margin-top:clamp(32px,5vw,68px);
  border-top:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(520px 150px at 14% 50%,rgba(121,255,69,.10),transparent 72%),
    linear-gradient(105deg,rgba(10,45,31,.88) 0%,rgba(8,31,28,.94) 48%,rgba(8,20,26,.96) 100%);
  box-shadow:0 -1px 0 rgba(255,255,255,.025) inset;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.page-home .home-hero-bottom-inner{
  min-height:78px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  padding-top:15px;
  padding-bottom:15px;
}

.page-home .home-hero-bottom-copy{
  min-width:0;
  display:flex;
  align-items:center;
  gap:24px;
}

.page-home .home-hero-bottom-label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  color:#b8f69c;
  font-size:.66rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.page-home .home-hero-bottom-label:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7dff45;
  box-shadow:0 0 0 5px rgba(125,255,69,.09),0 0 16px rgba(125,255,69,.26);
}

.page-home .home-hero-bottom-copy p{
  position:relative;
  max-width:820px;
  margin:0;
  padding-left:24px;
  color:rgba(255,255,255,.78);
  font-size:.88rem;
  line-height:1.55;
}

.page-home .home-hero-bottom-copy p:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:30px;
  background:rgba(255,255,255,.16);
  transform:translateY(-50%);
}

.page-home .home-hero-bottom-cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:6px 7px 6px 17px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:#fff;
  font-size:.78rem;
  line-height:1;
  font-weight:750;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.page-home .home-hero-bottom-cta i{
  position:relative;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:50%;
  background:#7dff45;
  box-shadow:0 6px 16px rgba(125,255,69,.18);
}

.page-home .home-hero-bottom-cta i:before{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-top:1.8px solid #0b1508;
  border-right:1.8px solid #0b1508;
  transform:translateX(-1px) rotate(45deg);
}

.page-home .home-hero-bottom-cta i:after{
  content:"";
  position:absolute;
  width:9px;
  height:1.8px;
  border-radius:999px;
  background:#0b1508;
  transform:translateX(-2px);
}

.page-home .home-hero-bottom-cta:hover,
.page-home .home-hero-bottom-cta:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(125,255,69,.56);
  background:rgba(125,255,69,.10);
}

.page-home .home-hero-bottom-cta:focus-visible{
  outline:2px solid rgba(125,255,69,.72);
  outline-offset:3px;
}

@media(max-width:1024px){
  .page-home .home-hero-bottom{
    margin-top:34px;
  }

  .page-home .home-hero-bottom-inner{
    gap:22px;
    min-height:72px;
  }

  .page-home .home-hero-bottom-copy{
    display:grid;
    gap:8px;
  }

  .page-home .home-hero-bottom-copy p{
    padding-left:0;
    max-width:700px;
    font-size:.84rem;
  }

  .page-home .home-hero-bottom-copy p:before{
    display:none;
  }
}

@media(max-width:720px){
  .page-home .home-hero-bottom{
    margin-top:28px;
  }

  .page-home .home-hero-bottom-inner{
    grid-template-columns:1fr;
    gap:14px;
    padding-top:17px;
    padding-bottom:18px;
  }

  .page-home .home-hero-bottom-label{
    font-size:.62rem;
  }

  .page-home .home-hero-bottom-copy p{
    max-width:none;
    font-size:.82rem;
    line-height:1.56;
  }

  .page-home .home-hero-bottom-cta{
    justify-self:start;
    min-height:41px;
    padding-left:15px;
    font-size:.75rem;
  }

  .page-home .home-hero-bottom-cta i{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
}

@media(prefers-reduced-motion:reduce){
  .page-home .home-hero-bottom-cta{
    transition:none;
  }
}


/* Home hero bottom strip — sit directly after hero, not overlaid (2026-10-14) */
.page-home .hero-refined{
  overflow:hidden!important;
}

.page-home .home-hero-bottom{
  position:relative!important;
  z-index:4!important;
  margin-top:0!important;
  width:100%!important;
}

.page-home .hero-refined + .home-hero-bottom{
  margin-top:0!important;
}

@media(max-width:1024px){
  .page-home .home-hero-bottom{
    margin-top:0!important;
  }
}

@media(max-width:720px){
  .page-home .home-hero-bottom{
    margin-top:0!important;
  }
}

/* Approach page — strategic delivery expansion + UI refinement (2026-10-14) */
.page-approach .process-section{
  background:#f7f6f1!important;
}
.page-approach .process-intro{
  align-items:end!important;
  gap:clamp(30px,5vw,76px)!important;
}
.page-approach .process-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.page-approach .process-card{
  min-height:318px!important;
  padding:28px 26px 24px!important;
  border:1px solid rgba(17,21,33,.10)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(17,21,33,.045)!important;
}
.page-approach .process-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(87,130,62,.28)!important;
  box-shadow:0 22px 48px rgba(17,21,33,.075)!important;
}
.page-approach .process-card-top{
  margin-bottom:26px!important;
}
.page-approach .process-card-top>span{
  display:grid!important;
  width:46px!important;
  height:46px!important;
  place-items:center!important;
  border-radius:14px!important;
  background:#f2f0e9!important;
  color:#59616a!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
.page-approach .process-card-top small{
  display:none!important;
}
.page-approach .process-card h3{
  margin:0 0 11px!important;
  font-size:1.16rem!important;
  line-height:1.25!important;
}
.page-approach .process-card>p{
  margin:0!important;
  color:#626a74!important;
  font-size:.92rem!important;
  line-height:1.68!important;
}
.page-approach .process-result{
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid rgba(17,21,33,.10)!important;
  color:#18201b!important;
  font-size:.76rem!important;
  font-weight:750!important;
}
.page-approach .process-result>span{
  width:21px!important;
  height:21px!important;
  flex-basis:21px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 30%,#c8ff8e 0%,#a1ef53 48%,#8bdc3d 100%)!important;
  color:#10200a!important;
  font-size:.68rem!important;
}

.page-approach .expert-guide-section{
  background:#0a1412!important;
  color:#fff!important;
}
.page-approach .expert-guide-section .eyebrow,
.page-approach .expert-guide-section h2,
.page-approach .expert-guide-section h3{
  color:#fff!important;
}
.page-approach .expert-guide-section h2 em{
  color:#9fcd8c!important;
}
.page-approach .expert-guide-section .section-heading-copy,
.page-approach .expert-guide-section .expert-guide-intro>p,
.page-approach .expert-guide-section .expert-guide-row p,
.page-approach .expert-guide-section .expert-guide-row li{
  color:rgba(255,255,255,.67)!important;
}
.page-approach .expert-guide-row{
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
  border-radius:22px!important;
}

.page-approach .section-key-long-term-thinking .smart-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.page-approach .section-key-long-term-thinking .smart-card{
  min-height:248px!important;
  padding:26px 24px!important;
  border-radius:20px!important;
}
.page-approach .section-key-long-term-thinking .smart-card p{
  max-width:none!important;
  line-height:1.66!important;
}

.approach-links-section{
  position:relative;
  overflow:hidden;
  padding:clamp(78px,8vw,118px) 0;
  background:
    radial-gradient(760px 420px at 9% 0%,rgba(125,255,69,.10),transparent 68%),
    radial-gradient(620px 360px at 92% 100%,rgba(62,117,83,.18),transparent 70%),
    linear-gradient(135deg,#091811 0%,#0b2119 48%,#0a1518 100%);
  color:#fff;
}
.approach-links-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 85%);
}
.approach-links-section .shell{position:relative;z-index:1}
.approach-links-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:64px;
  align-items:end;
  margin-bottom:38px;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.approach-links-head .eyebrow{color:#a7d798!important}
.approach-links-head h2{
  max-width:760px;
  margin:12px 0 0;
  color:#fff;
  font-size:clamp(2.35rem,4vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.approach-links-head h2 em{font-family:Georgia,serif;font-weight:400;color:#a3ce91}
.approach-links-head>p{
  max-width:560px;
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:1rem;
  line-height:1.75;
  justify-self:end;
}
.approach-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.approach-link-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:350px;
  flex-direction:column;
  padding:26px 24px 22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  color:#fff;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.approach-link-card:before{
  content:"";
  position:absolute;
  left:24px;
  top:0;
  width:44px;
  height:3px;
  border-radius:0 0 4px 4px;
  background:#7dff45;
}
.approach-link-card:hover{
  transform:translateY(-5px);
  border-color:rgba(125,255,69,.34);
  background:linear-gradient(180deg,rgba(125,255,69,.09),rgba(255,255,255,.045));
  box-shadow:0 24px 50px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07);
}
.approach-link-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:34px}
.approach-link-no{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:rgba(255,255,255,.085);color:#b8f4a0;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.approach-link-top small{color:rgba(255,255,255,.45);font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.approach-link-card h3{margin:0 0 12px;color:#fff;font-size:1.24rem;line-height:1.2;letter-spacing:-.025em}
.approach-link-card>p{margin:0;color:rgba(255,255,255,.62);font-size:.9rem;line-height:1.68}
.approach-link-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.approach-link-tags span{padding:7px 9px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:rgba(255,255,255,.58);font-size:.62rem;font-weight:700}
.approach-link-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);color:#fff;font-size:.77rem;font-weight:750}
.approach-link-cta i{position:relative;display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#7dff45}
.approach-link-cta i:before{content:"";position:absolute;width:8px;height:8px;border-top:1.8px solid #0b1508;border-right:1.8px solid #0b1508;transform:translateX(-1px) rotate(45deg)}
.approach-link-cta i:after{content:"";position:absolute;width:9px;height:1.8px;border-radius:999px;background:#0b1508;transform:translateX(-2px)}

@media(max-width:1100px){
  .page-approach .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-approach .section-key-long-term-thinking .smart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .approach-links-head{grid-template-columns:1fr;gap:18px}
  .approach-links-head>p{max-width:720px;justify-self:start}
  .approach-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach-link-card{min-height:310px}
}
@media(max-width:640px){
  .page-approach .process-grid,
  .page-approach .section-key-long-term-thinking .smart-grid{grid-template-columns:1fr!important}
  .page-approach .process-card{min-height:0!important;padding:24px 21px 21px!important}
  .page-approach .process-card-top{margin-bottom:20px!important}
  .page-approach .section-key-long-term-thinking .smart-card{min-height:0!important}
  .approach-links-section{padding:64px 0}
  .approach-links-head{margin-bottom:28px;padding-bottom:24px}
  .approach-links-head h2{font-size:clamp(2.1rem,10vw,3rem)}
  .approach-links-grid{grid-template-columns:1fr;gap:12px}
  .approach-link-card{min-height:0;padding:23px 21px 20px;border-radius:18px}
  .approach-link-top{margin-bottom:26px}
  .approach-link-card>p{font-size:.88rem}
}


/* Approach page band separation + cost-control redesign (2026-10-14) */
.page-approach #approach-experience{
  background:#fff!important;
  border-top:1px solid rgba(17,21,33,.06)!important;
  border-bottom:1px solid rgba(17,21,33,.07)!important;
}
.page-approach #delivery-process{
  background:radial-gradient(700px 340px at 92% 12%,rgba(116,151,89,.08),transparent 68%),#f3f0e8!important;
}
.page-approach #approach-cost-control{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(78px,8vw,116px) 0!important;
  border:0!important;
  background:
    radial-gradient(780px 500px at -5% -8%,rgba(125,255,69,.14),transparent 68%),
    radial-gradient(650px 420px at 105% 105%,rgba(77,131,95,.22),transparent 70%),
    linear-gradient(135deg,#071712 0%,#0b241a 48%,#08151a 100%)!important;
}
.page-approach #approach-cost-control:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px)!important;
  background-size:52px 52px!important;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 88%)!important;
}
.page-approach #approach-cost-control .shell{position:relative!important;z-index:1!important}
.page-approach #approach-cost-control .expert-guide-head{
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.72fr)!important;
  gap:clamp(38px,7vw,100px)!important;
  margin-bottom:34px!important;
}
.page-approach #approach-cost-control .expert-guide-head h2{
  max-width:760px!important;
  font-size:clamp(2.5rem,4.5vw,4.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.page-approach #approach-cost-control .expert-guide-head>p{
  max-width:560px!important;
  color:rgba(255,255,255,.68)!important;
  font-size:1rem!important;
  line-height:1.72!important;
}
.page-approach #approach-cost-control .expert-guide-highlights{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 24px!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.10)!important;
}
.page-approach #approach-cost-control .expert-guide-highlights>div{
  min-width:0!important;
  padding:17px 16px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.045)!important;
}
.page-approach #approach-cost-control .expert-guide-highlights strong{
  display:block!important;
  margin-bottom:7px!important;
  color:#b7ff92!important;
  font-size:.76rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.page-approach #approach-cost-control .expert-guide-highlights span{
  display:block!important;
  color:rgba(255,255,255,.67)!important;
  font-size:.78rem!important;
  line-height:1.48!important;
}
.page-approach #approach-cost-control .expert-guide-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  border-top:0!important;
}
.page-approach #approach-cost-control .expert-guide-row{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:24px!important;
  min-height:0!important;
  padding:28px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.032))!important;
  box-shadow:0 20px 48px rgba(0,0,0,.10)!important;
  transition:transform .25s ease,border-color .25s ease,background .25s ease!important;
}
.page-approach #approach-cost-control .expert-guide-row:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(164,238,126,.30)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045))!important;
}
.page-approach #approach-cost-control .expert-guide-title{
  padding-bottom:20px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.page-approach #approach-cost-control .expert-guide-title>span{
  margin-bottom:13px!important;
  color:#9fd888!important;
  font-size:.66rem!important;
  letter-spacing:.13em!important;
}
.page-approach #approach-cost-control .expert-guide-title h3{
  max-width:520px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.3rem,1.65vw,1.65rem)!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
}
.page-approach #approach-cost-control .expert-guide-body{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  max-width:none!important;
}
.page-approach #approach-cost-control .expert-guide-body p{
  margin:0 0 19px!important;
  color:rgba(255,255,255,.67)!important;
  font-size:.9rem!important;
  line-height:1.7!important;
}
.page-approach #approach-cost-control .expert-guide-body ul{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 18px!important;
  margin:0!important;
}
.page-approach #approach-cost-control .expert-guide-body li{
  position:relative!important;
  padding:10px 0 10px 19px!important;
  border-top:1px solid rgba(255,255,255,.085)!important;
  color:rgba(255,255,255,.74)!important;
  font-size:.78rem!important;
  line-height:1.5!important;
}
.page-approach #approach-cost-control .expert-guide-body li:before{
  left:0!important;
  top:15px!important;
  width:7px!important;
  height:7px!important;
  background:#8ee857!important;
  box-shadow:0 0 0 4px rgba(142,232,87,.07)!important;
}
.page-approach #approach-cost-control .expert-guide-result{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:#d9ebd1!important;
  font-size:.75rem!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.page-approach #approach-cost-control .expert-guide-result i{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#b5ff73,#83dc43)!important;
}
.page-approach #approach-cost-control .expert-guide-result i:before{
  content:""!important;
  width:7px!important;
  height:4px!important;
  margin-top:-2px!important;
  border-left:2px solid #10200a!important;
  border-bottom:2px solid #10200a!important;
  transform:rotate(-45deg)!important;
}
.page-approach .section-key-long-term-thinking{
  background:radial-gradient(620px 320px at 10% 0%,rgba(96,136,76,.08),transparent 70%),#eaf0e8!important;
  border-top:1px solid rgba(32,58,39,.08)!important;
  border-bottom:1px solid rgba(32,58,39,.08)!important;
}
.page-approach #approach-connected{border-top:0!important}
.page-approach #approach-connected + .cs-showcase{
  padding-top:clamp(72px,7vw,102px)!important;
  padding-bottom:clamp(72px,7vw,102px)!important;
  background:radial-gradient(680px 340px at 90% 0%,rgba(104,137,83,.07),transparent 70%),#f7f3e9!important;
}
.page-approach #approach-connected + .cs-showcase .cs-feature{
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-approach .dp-faq,
.page-approach .faq-section{background:#fff!important}

@media(max-width:960px){
  .page-approach #approach-cost-control .expert-guide-highlights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-approach #approach-cost-control .expert-guide-list{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .page-approach #approach-cost-control{padding:64px 0!important}
  .page-approach #approach-cost-control .expert-guide-head{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-bottom:25px!important;
  }
  .page-approach #approach-cost-control .expert-guide-head h2{font-size:clamp(2.15rem,10.5vw,3rem)!important}
  .page-approach #approach-cost-control .expert-guide-highlights{
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:8px!important;
    border-radius:18px!important;
  }
  .page-approach #approach-cost-control .expert-guide-highlights>div{padding:14px!important}
  .page-approach #approach-cost-control .expert-guide-row{
    gap:20px!important;
    padding:22px 20px!important;
    border-radius:18px!important;
  }
  .page-approach #approach-cost-control .expert-guide-body ul{grid-template-columns:1fr!important}
}

/* Page-end hand-off -------------------------------------------------------
   Keep the footer visually separate on pages that do not already finish
   with the full dark contact CTA. Editorial insight pages receive a compact
   next-step panel; form/legal endings receive a quiet divider instead. */
.page-end-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(48px,5.3vw,76px) 0;
}
.page-end-cta:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-170px;
  top:-210px;
  border:1px solid rgba(124,255,69,.13);
  border-radius:50%;
  pointer-events:none;
}
.page-end-cta-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(34px,6vw,88px);
  align-items:end;
}
.page-end-cta-copy h2{
  margin:13px 0 15px;
  max-width:760px;
  color:#fff;
  font-size:clamp(2rem,3.3vw,3.65rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.page-end-cta-copy p{
  margin:0;
  max-width:720px;
  color:rgba(255,255,255,.7);
  font-size:clamp(.94rem,1vw,1.02rem);
  line-height:1.7;
}
.page-end-cta-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px;
  padding-bottom:3px;
}
.page-end-cta-actions .button{margin:0}
.page-end-secondary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.78);
  font-size:.88rem;
  font-weight:750;
  text-decoration:none;
  transition:color .2s ease,gap .2s ease;
}
.page-end-secondary:hover,.page-end-secondary:focus-visible{
  color:#fff;
  gap:14px;
}
.page-end-separator{
  padding:clamp(30px,4vw,52px) 0 0;
  background:transparent;
}
.page-end-separator .shell span{
  display:block;
  height:1px;
  background:linear-gradient(90deg,rgba(17,21,33,.04),rgba(17,21,33,.18) 18%,rgba(17,21,33,.18) 82%,rgba(17,21,33,.04));
}
@media(max-width:760px){
  .page-end-cta{padding:46px 0}
  .page-end-cta-grid{grid-template-columns:1fr;gap:26px}
  .page-end-cta-copy h2{font-size:clamp(2rem,9.5vw,2.75rem)}
  .page-end-cta-actions{gap:14px}
  .page-end-separator{padding-top:30px}
}
