/* Krishaa visual system. Shared design rules follow the functional component
   styles so the existing forms and content patterns keep their behaviour. */
:root {
  --brand-navy: #081b44;
  --brand-dark: #06152f;
  --brand-blue: #168be8;
  --brand-blue-ink: #086bad;
  --brand-cyan: #18c4f4;
  --surface-base: #ffffff;
  --surface-soft: #f5f9fe;
  --surface-blue: #eaf5ff;
  --surface-ice: #f0f8ff;
  --surface-gradient: linear-gradient(115deg, #f7fbff 0%, #e8f5ff 58%, #dcefff 100%);
  --text-primary: #071f4a;
  --text-secondary: #3f5877;
  --surface: #ffffff;
  --surface-alt: var(--surface-soft);
  --text: var(--text-primary);
  --text-muted: var(--text-secondary);
  --border: #d5e5f1;
  --container: 1240px;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --shadow-soft: 0 18px 55px rgba(8, 27, 68, .08);
  --color-primary: var(--brand-navy);
  --color-accent: var(--brand-blue-ink);
  --color-teal: var(--brand-cyan);
  --color-bg: var(--surface-alt);
  --color-alt-bg: var(--surface-alt);
  --color-text: var(--text);
  --color-text-muted: var(--text-muted);
  --color-text-faint: #637894;
  --color-border: var(--border);
  --max-width: var(--container);
  --shadow-card: none;
  --shadow-hover: var(--shadow-soft);
}

html { scroll-padding-top: 84px; }
body { color: var(--text); background: var(--surface); }
p { color: inherit; }
h1, h2, h3 { color: var(--brand-navy); }
h1, h2 { font-family: Oswald, Impact, sans-serif; font-weight: 500; letter-spacing: -.015em; }
h1 { font-size: clamp(2.8rem, 5.7vw, 5.6rem); line-height: 1.06; }
h2 { font-size: clamp(2.05rem, 3.6vw, 3.7rem); line-height: 1.13; }
h3 { font-size: clamp(1.08rem, 1.4vw, 1.35rem); line-height: 1.3; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--brand-cyan); outline-offset: 4px; }
.container { width: min(calc(100% - clamp(2rem, 6vw, 6rem)), var(--container)); }
.section { padding: clamp(4.4rem, 8vw, 7.5rem) 0; }
.section-alt, .section-soft { background: var(--surface-soft); }
.section-white { background: var(--surface-base); }
.section-ice { background: var(--surface-ice); }
.section-gradient { background: var(--surface-gradient); }
.eyebrow { color: var(--brand-blue-ink); font-size: .72rem; letter-spacing: .17em; font-weight: 700; }
.section-heading { max-width: 900px; margin-bottom: clamp(2.2rem, 5vw, 4rem); }
.section-heading h2 { max-width: 19ch; margin-bottom: 1rem; }
.section-heading p:not(.eyebrow) { max-width: 68ch; color: var(--text-muted); font-size: 1.04rem; }

/* Navigation */
.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--border); box-shadow: 0 3px 24px rgba(15,70,128,.035); }
.nav-wrapper { width: min(calc(100% - 2.5rem), 1500px); min-height: 86px; gap: 1.4rem; }
.brand { gap: .7rem; flex: 0 0 auto; font-weight: 700; font-size: .94rem; line-height: 1.1; letter-spacing: -.02em; }
.site-header .brand { padding: 0; background: transparent; border-radius: 0; }
.brand b { display: block; color: #456184; font-size: .73rem; letter-spacing: .03em; text-transform: uppercase; }
.brand-logo { width: 56px; height: 56px; object-fit: contain; border-radius: 0; box-shadow: none; }
.site-nav { gap: clamp(.7rem, 1.35vw, 1.5rem); }
.site-nav a { color: var(--brand-navy); font-size: .79rem; font-weight: 650; letter-spacing: .025em; }
.site-nav a::after { bottom: -11px; height: 2px; border-radius: 0; background: var(--brand-blue); }
.site-nav a:hover, .site-nav a.active { color: var(--brand-blue-ink); }
.site-nav .nav-offering { color: var(--brand-blue-ink); }
.site-nav .nav-offering.active { color: var(--brand-blue-ink); }
.social-links { display: flex; align-items: center; gap: .2rem; }
.social-links a { display: inline-grid; place-items: center; width: 34px; height: 34px; color: var(--brand-navy); border: 1px solid transparent; transition: color .2s, border-color .2s, background .2s; }
.social-links a:hover { color: var(--brand-blue); border-color: var(--border); background: var(--surface-alt); }
.header-social .social-links a { color: var(--brand-navy); }
.header-social .social-links a:hover { color: var(--brand-blue-ink); border-color: var(--border); background: var(--surface-blue); }
.social-links svg { width: 16px; height: 16px; }
.menu-toggle { display: none; border-color: var(--border); border-radius: 4px; width: 44px; height: 44px; background: var(--surface-base); }
.menu-toggle span { background: var(--brand-navy); }
.nav-backdrop[hidden] { display: none; }
.nav-backdrop { position: fixed; inset: 0; z-index: 1001; background: rgba(3,17,42,.58); }
.mobile-nav { position: fixed; z-index: 1002; top: 0; right: 0; bottom: 0; width: min(400px, 100%); padding: 1.5rem; display: flex; flex-direction: column; background: #fff; box-shadow: -18px 0 60px rgba(0,0,0,.15); transform: translateX(100%); visibility: hidden; transition: transform .28s ease, visibility 0s linear .28s; overflow-y: auto; }
.mobile-nav.is-open { transform: translateX(0); visibility: visible; transition: transform .28s ease, visibility 0s; }
.mobile-nav-head { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.mobile-nav-head .brand-logo { width: 46px; height: 46px; }
.menu-close { flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid var(--border); background: white; color: var(--brand-navy); font: 2rem/1 Inter, sans-serif; cursor: pointer; }
.mobile-nav nav { display: grid; padding: 1.4rem 0; }
.mobile-nav nav a { padding: .85rem .2rem; border-bottom: 1px solid var(--border); color: var(--brand-navy); font-family: Oswald, sans-serif; font-size: 1.34rem; letter-spacing: .015em; }
.mobile-nav nav a.active { color: var(--brand-blue-ink); }
.mobile-nav-foot { margin-top: auto; padding-top: 1.5rem; color: var(--text-muted); }
.mobile-nav-foot p { font-size: .87rem; }
body.nav-open { overflow: hidden; }

/* Buttons and hero */
.btn { min-height: 48px; padding: .9rem 1.45rem; border-radius: 3px; white-space: normal; text-align: center; font-size: .84rem; font-weight: 650; }
.btn-primary { color: white; background: #0875c1; box-shadow: none; }
.btn-primary:hover { background: #075e9d; }
.btn-secondary { color: var(--brand-navy); border: 1px solid var(--brand-navy); background: transparent; }
.btn-secondary:hover { color: white; background: var(--brand-navy); }
.hero { display: flex; align-items: center; min-height: min(740px, 82vh); padding: 5.5rem 0 6rem; color: var(--text-primary); background: var(--surface-gradient); }
.hero::before { inset: 0; width: auto; height: auto; border-radius: 0; background-image: linear-gradient(rgba(51,140,205,.065) 1px, transparent 1px), linear-gradient(90deg,rgba(51,140,205,.065) 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(90deg,transparent 15%,black); }
.hero-grid { position: relative; z-index: 1; grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr); gap: clamp(2rem,5vw,6rem); }
.hero .eyebrow { color: var(--brand-blue-ink); }
.hero h1 { color: var(--brand-navy); max-width: 12ch; }
.hero-copy p:not(.eyebrow) { color: var(--text-secondary); font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.7; }
.hero .btn-secondary, .launch-hero .btn-secondary, .career-hero .btn-secondary { color: var(--brand-navy); border-color: var(--brand-navy); }
.hero .btn-secondary:hover, .launch-hero .btn-secondary:hover, .career-hero .btn-secondary:hover { color: white; background: var(--brand-navy); }
.hero-art { padding: 0; border: 0; border-radius: 0; background: transparent; }
.hero-art img { width: 100%; height: auto; filter: drop-shadow(0 28px 30px rgba(45,119,171,.12)); }
.page-hero { position: relative; overflow: hidden; padding: clamp(5rem,8vw,8rem) 0; color: var(--text-primary); background: var(--surface-gradient); }
.page-hero::after { content: ''; position: absolute; right: -5rem; bottom: -12rem; width: min(48vw,600px); aspect-ratio: 1; border: 1px solid rgba(22,139,232,.18); border-radius: 50%; box-shadow: 0 0 0 85px rgba(22,139,232,.025),0 0 0 170px rgba(22,139,232,.018); pointer-events: none; }
.page-hero > .container { position: relative; z-index: 1; }
.page-hero h1 { max-width: 24ch; color: var(--brand-navy); font-size: clamp(2.6rem,5vw,4.8rem); }
.page-hero .eyebrow { color: var(--brand-blue-ink); }
.page-hero p:not(.eyebrow) { max-width: 70ch; color: var(--text-secondary); font-size: 1.05rem; }
.page-hero .hero-actions { margin-top: 1.8rem; }
.page-hero .btn-secondary { color: var(--brand-navy); border-color: var(--brand-navy); }
.page-about .page-hero, .page-contact .page-hero, .detail-software .page-hero { display: flex; align-items: center; min-height: 560px; color: var(--brand-navy); background: linear-gradient(90deg,var(--surface-ice) 0%,rgba(240,248,255,.96) 39%,rgba(240,248,255,.18) 72%),url('../images/hero-tech.svg') right center / 56% auto no-repeat; }
.page-contact .page-hero { min-height: 540px; background: url('../images/contact-connect.svg') right 5% center / min(53%,760px) auto no-repeat,linear-gradient(105deg,#edf7ff 0%,#edf7ff 46%,#dceefd 100%); }
.page-contact .page-hero p:not(.eyebrow) { max-width: 48ch; }
.page-about .page-hero::after, .page-contact .page-hero::after, .page-services .page-hero::after, .page-solutions .page-hero::after, .page-work .page-hero::after, .page-detail .page-hero::after { display: none; }
.page-about .page-hero h1, .page-contact .page-hero h1, .detail-software .page-hero h1 { color: var(--brand-navy); max-width: 15ch; }
.page-about .page-hero p:not(.eyebrow), .page-contact .page-hero p:not(.eyebrow), .detail-software .page-hero p:not(.eyebrow) { color: #38536f; max-width: 58ch; }
.page-about .page-hero .eyebrow, .page-contact .page-hero .eyebrow, .detail-software .page-hero .eyebrow { color: var(--brand-blue-ink); }
.detail-software .page-hero .btn-secondary { color: var(--brand-navy); border-color: var(--brand-navy); }
.detail-software .page-hero .btn-secondary:hover { color: white; background: var(--brand-navy); }
.page-services .page-hero, .detail-cloud .page-hero { display: flex; align-items: center; min-height: 600px; background: url('../images/home-business-systems.jpg') center / cover no-repeat,var(--surface-ice); }
.page-solutions .page-hero { display: flex; align-items: center; min-height: 580px; background: url('../images/connected-platforms.webp') right 6% center / auto 86% no-repeat,var(--surface-gradient); }
.page-solutions .page-hero h1 { max-width: 13ch; }
.page-solutions .page-hero p:not(.eyebrow) { max-width: 46ch; }
.page-work .page-hero, .detail-data .page-hero { min-height: 540px; background: linear-gradient(90deg,var(--surface-ice) 0%,rgba(240,248,255,.96) 43%,rgba(240,248,255,.25) 100%),url('../images/work-mis.svg') right center / auto 103% no-repeat,var(--surface-blue); }
.detail-messaging .page-hero { min-height: 540px; background: linear-gradient(90deg,var(--surface-ice) 0%,rgba(240,248,255,.96) 43%,rgba(240,248,255,.25) 100%),url('../images/work-messaging.svg') right center / auto 103% no-repeat,var(--surface-blue); }

/* Editorial content patterns */
.card, .feature, .why-card, .work-card { border-radius: 0; box-shadow: none; }
.card:hover, .feature:hover, .why-card:hover, .work-card:hover { transform: none; box-shadow: none; border-color: var(--brand-blue); }
.card-grid { gap: 1px; background: var(--border); border: 1px solid var(--border); }
.card-grid .card { min-width: 0; border: 0; padding: clamp(1.4rem,2.8vw,2.3rem); background: white; }
.card-grid .card p { color: var(--text-muted); }
.card-grid .card-feat { color: var(--brand-navy); background: var(--surface-blue); }
.card-grid .card-feat h3, .card-grid .card-feat p { color: var(--brand-navy); }
.card-grid .card-feat .btn { margin-top: 1rem; }
.card-link { color: #0875c8; font-weight: 700; }
.icon-box, .why-icon { background: transparent; border: 1px solid #c9e4f8; border-radius: 2px; }
.icon-box svg, .why-icon svg { stroke: var(--brand-blue); }
.feature { padding: 1.7rem; border-color: var(--border); }
.work-tag, .solution-badge { color: var(--brand-blue-ink); background: transparent; border: 0; border-radius: 0; padding: 0; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; }
.work-tech span, .spec-tags span { border-radius: 2px; background: #edf4fa; border-color: var(--border); }
.why-grid { gap: 0; border-top: 1px solid var(--border); }
.why-card { padding: 1.6rem 1.6rem 1.6rem 0; border: 0; border-bottom: 1px solid var(--border); background: transparent; }
.why-card:nth-child(3n+2), .why-card:nth-child(3n+3) { padding-left: 1.6rem; }
.why-icon { border: 0; margin-bottom: .65rem; }
.work-grid { gap: 1px; background: var(--border); border: 1px solid var(--border); }
.work-card { position: relative; min-height: 340px; padding: 2rem; background: white; border: 0; display: flex; flex-direction: column; }
.work-card::before { content: ''; height: 5px; position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(90deg,var(--brand-blue),var(--brand-cyan)); }
.work-card:nth-child(2)::before { background: var(--brand-blue-ink); }
.work-card:nth-child(3)::before { background: var(--brand-cyan); }
.work-visual { display: none; }
.work-card .work-tech { margin-top: auto; padding-top: 2rem; }
.cta-band { color: white; background: linear-gradient(110deg,#086fbc,#168be8 65%,#27a9e7); }
.cta-band::before { border: 1px solid rgba(255,255,255,.25); background: transparent; }
.cta-band h2 { max-width: 18ch; }
.cta-band p { color: #eff9ff; }

/* Homepage sections have stable visual identities independent of their position. */
.home-hero { display: block; min-height: 0; padding-block: clamp(3.5rem,5vw,5rem) 2.2rem; background: radial-gradient(circle at 78% 31%,#e1f3ff 0,transparent 36%),linear-gradient(110deg,#fff 0%,#f5fbff 52%,#edf7ff 100%); }
.home-hero::before { display: none; }
.home-hero .hero-grid { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: clamp(2rem,4vw,4rem); align-items: center; }
.home-hero .hero-copy { max-width: 570px; }
.home-hero h1 { max-width: 11ch; font-size: clamp(3.55rem,5.5vw,5.65rem); line-height: 1.04; }
.home-hero .hero-copy p:not(.eyebrow) { max-width: 48ch; color: var(--text-secondary); text-shadow: none; }
.home-hero .btn { min-height: 58px; padding: 1rem 1.75rem; border-radius: 100px; }
.home-hero .btn-primary { color: white; background: var(--brand-blue-ink); }
.home-hero .btn-primary:hover { background: var(--brand-navy); }
.home-hero .btn-secondary { border-color: var(--brand-navy); }
.home-hero-visual { position: relative; min-width: 0; align-self: stretch; overflow: hidden; border: 1px solid #d5e9f6; border-radius: 8px; background: #e8f5fd; box-shadow: 0 24px 55px rgba(37,105,161,.12); }
.home-hero-visual img { display: block; width: 100%; height: 100%; min-height: 550px; object-fit: cover; object-position: 51% center; }
.home-hero-visual-caption { position: absolute; inset: auto 1rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.9); background: rgba(255,255,255,.9); backdrop-filter: blur(10px); color: var(--brand-navy); font-size: .7rem; font-weight: 700; letter-spacing: .015em; box-shadow: 0 10px 32px rgba(8,27,68,.08); }
.home-hero-visual-caption span + span::before { content: '→'; margin-right: .65rem; color: var(--brand-blue-ink); }
.home-hero-capabilities { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 0; margin-top: clamp(2.2rem,4vw,3.4rem); padding: 0; list-style: none; border-top: 1px solid #bcdcef; border-bottom: 1px solid #bcdcef; }
.home-hero-capabilities li { min-width: 0; border-right: 1px solid #bcdcef; }
.home-hero-capabilities li:first-child { border-left: 1px solid #bcdcef; }
.home-hero-capabilities a { display: flex; gap: .75rem; min-height: 100%; padding: 1.15rem .85rem; color: var(--brand-navy); font-size: .83rem; font-weight: 750; line-height: 1.24; background: rgba(255,255,255,.55); transition: background .2s ease, color .2s ease; }
.home-hero-capabilities a:hover { color: var(--brand-blue-ink); background: white; }
.home-hero-capabilities li:nth-child(-n+4) a { background: rgba(228,246,255,.76); }
.home-hero-capabilities li:nth-child(-n+4) a:hover { background: white; }
.home-hero-capabilities small { display: block; margin-top: .2rem; color: var(--text-secondary); font-size: .78rem; font-weight: 550; }
.home-capability-index { flex: 0 0 auto; color: var(--brand-blue-ink); font: 500 1.25rem/1 Oswald,sans-serif; }
.home-product-ribbon { padding-block: clamp(3.5rem,6vw,5.5rem); border-bottom: 1px solid var(--border); }
.home-product-ribbon .container { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2rem,6vw,7rem); align-items: center; }
.home-product-ribbon-intro h2 { max-width: 12ch; margin: 0; font-size: clamp(2rem,3.2vw,3.3rem); }
.home-product-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--border); }
.home-product-item { display: grid; grid-template-columns: 2.3rem 1fr; gap: .8rem; min-height: 86px; padding: 1.1rem .9rem 1.1rem 0; border-bottom: 1px solid var(--border); color: var(--brand-navy); }
.home-product-item:nth-child(odd) { border-right: 1px solid var(--border); padding-right: 1.2rem; }
.home-product-item:nth-child(even) { padding-left: 1.2rem; }
.home-product-item:hover { color: var(--brand-blue-ink); }
.home-product-number { color: var(--brand-blue); font: 500 1.35rem/1 Oswald,sans-serif; }
.home-product-item strong, .home-product-item small { display: block; }
.home-product-item strong { font-size: .94rem; }
.home-product-item small { margin-top: .25rem; color: var(--text-secondary); font-size: .78rem; line-height: 1.35; }
.section-ice { color: var(--text-primary); background: var(--surface-ice); }
.section-ice .section-heading h2 { color: var(--brand-navy); }
.section-ice .section-heading p:not(.eyebrow) { color: var(--text-secondary); }
.section-ice .eyebrow { color: var(--brand-blue-ink); }
.section-light { background: var(--surface-base); }
.section-gradient { color: var(--text-primary); background: var(--surface-gradient); }
.section-gradient h2, .section-gradient h3 { color: var(--brand-navy); }
.section-gradient .section-heading p:not(.eyebrow) { color: var(--text-secondary); }
.section-gradient .eyebrow { color: var(--brand-blue-ink); }

.solutions-showcase { padding-block: clamp(6rem, 10vw, 10rem); }
.solutions-showcase .section-heading { max-width: none; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0,1.1fr); align-items: end; gap: 0 5rem; }
.solutions-showcase .section-heading .eyebrow { grid-column: 1 / -1; }
.solutions-showcase .section-heading h2 { max-width: 14ch; margin: 0; }
.solutions-showcase .section-heading p:not(.eyebrow) { max-width: 30ch; font-size: 1.2rem; }
.solutions-showcase .card-grid { position: relative; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(18rem,27vw,24rem); border: 0; background: transparent; counter-reset: solution; }
.solutions-art { position: absolute; z-index: 0; top: 48%; left: 50%; width: min(34%, 410px); transform: translate(-50%,-50%); pointer-events: none; }
.solutions-art img { display: block; width: 100%; height: auto; filter: drop-shadow(0 25px 35px rgba(30,110,173,.16)); }
.solutions-showcase .card-grid .card { position: relative; z-index: 1; }
.solutions-showcase .card-grid .card { background: transparent; }
.solutions-showcase .solution-card { display: grid; grid-template-columns: 6rem 1fr; align-content: start; gap: .4rem 1.8rem; min-height: 270px; padding: 2.5rem 0; border-top: 1px solid #bfdcf0; counter-increment: solution; }
.solutions-showcase .solution-card::before { content: counter(solution, decimal-leading-zero); grid-row: 1 / 4; font: 400 clamp(4.5rem,7vw,7rem)/.9 Oswald,sans-serif; color: var(--brand-blue); }
.solutions-showcase .solution-card h3 { margin: 0; color: var(--brand-navy); font: 500 clamp(1.6rem,2vw,2.2rem)/1.15 Oswald,sans-serif; }
.solutions-showcase .solution-card p { margin: 0; color: var(--text-secondary); }
.solutions-showcase .solution-card .card-link { margin-top: 1rem; color: var(--brand-blue-ink); }
.solutions-showcase .solution-card h3, .solutions-showcase .solution-card p, .solutions-showcase .solution-card .card-link { grid-column: 2; }
.solutions-showcase .icon-box { display: none; }
.solutions-showcase .card-grid .card-feat { display: flex; flex-direction: column; justify-content: center; min-height: 270px; padding: 2.5rem; background: #d8eeff; }
.solutions-showcase .card-feat h3 { font: 500 2rem/1.2 Oswald,sans-serif; }

.expertise-showcase { padding-block: clamp(7rem, 11vw, 11rem); }
.expertise-showcase .section-heading { max-width: 1000px; }
.expertise-showcase .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.expertise-showcase .card-grid .card { min-height: 285px; }
.expertise-showcase .card-grid .card:first-child { grid-row: span 4; display: flex; flex-direction: column; justify-content: end; min-height: 760px; background: var(--surface-blue) url('../images/engineering-stack.svg') center 15% / 90% auto no-repeat; }
.expertise-showcase .card-grid .card:not(:first-child):not(:last-child) { min-height: 190px; padding: 1.6rem 2rem; }
.expertise-showcase .card-grid .card:not(:first-child):not(:last-child) .icon-box { display: none; }
.expertise-showcase .card-grid .card:first-child h3, .expertise-showcase .card-grid .card:first-child p { color: var(--brand-navy); }
.expertise-showcase .card-grid .card:first-child .card-link { color: var(--brand-blue-ink); }
.expertise-showcase .card-grid .card:first-child .icon-box { border-color: #a5d6f4; }
.expertise-showcase .card-grid .card:first-child .icon-box svg { stroke: var(--brand-blue); }
.expertise-showcase .card-grid .card:last-child { grid-column: 1 / -1; min-height: 0; }
.expertise-showcase .icon-box { margin-bottom: 1.6rem; }

.services-overview { padding-block: clamp(6rem, 9vw, 9rem); }
.services-overview .card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); border-color: #bbd9ee; background: #bbd9ee; }
.services-overview .card { padding: 2.4rem 1.6rem; background: rgba(255,255,255,.62); }
.services-overview .card h3, .services-overview .card p { color: var(--brand-navy); }
.services-overview .card p { color: var(--text-secondary); }
.services-overview .icon-box { border: 0; margin-bottom: 1.5rem; }
.services-overview .icon-box svg { stroke: var(--brand-blue); }
.services-overview .btn-secondary { margin-top: 2rem; color: var(--brand-navy); border-color: var(--brand-navy); }
.services-overview .btn-secondary:hover { color: white; background: var(--brand-navy); }

.work-showcase { padding-block: clamp(7rem, 11vw, 11rem); }
.work-showcase .work-grid { grid-template-columns: 1.1fr .9fr; }
.work-showcase .work-card { min-height: 410px; }
.work-showcase .work-card:first-child { grid-row: span 2; min-height: 820px; }
.work-showcase .work-card::before { display: none; }
.work-showcase .work-visual { display: block; flex: 0 0 auto; height: 240px; margin: -2rem -2rem 1.8rem; background-position: center; background-size: cover; }
.work-showcase .work-card:first-child .work-visual { height: 555px; }
.work-visual-hrms { background-image: url('../images/work-hrms.svg'); }
.work-visual-cloud { background-image: url('../images/work-cloud.svg'); }
.work-visual-messaging { background-image: url('../images/work-messaging.svg'); }
.work-showcase .btn-secondary { margin-top: 2rem; }

.why-showcase { padding-block: clamp(6rem, 10vw, 10rem); }
.why-showcase .why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); counter-reset: principle; border-color: var(--border); }
.why-showcase .why-card { counter-increment: principle; display: grid; grid-template-columns: 4rem 1fr; gap: .25rem 1.5rem; border-color: var(--border); }
.why-showcase .why-card::before { content: counter(principle, decimal-leading-zero); grid-row: 1 / 3; color: var(--brand-blue); font: 400 3.4rem/.95 Oswald,sans-serif; }
.why-showcase .why-icon { display: none; }
.why-showcase .why-card h3, .why-showcase .why-card p { grid-column: 2; margin: 0; }
.why-showcase .why-card h3 { color: var(--brand-navy); font: 500 1.45rem/1.2 Oswald,sans-serif; }
.why-showcase .why-card p { color: var(--text-secondary); }
.related-showcase { background: white; }

/* About, services, solutions, case studies */
.page-about .about-intro { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,6rem); }
.page-about .value-item { border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: 1.25rem 0; }
.page-about .value-number { color: var(--brand-blue); opacity: 1; }
.page-about .about-purpose .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-about .about-purpose .card { min-height: 210px; }
.page-about .about-focus .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); counter-reset: focus; }
.page-about .about-focus .card { counter-increment: focus; display: grid; grid-template-columns: 2.7rem 1fr; gap: .4rem 1rem; }
.page-about .about-focus .card::before { content: counter(focus, decimal-leading-zero); grid-row: 1 / 3; color: var(--brand-blue-ink); font-family: Oswald,sans-serif; font-size: 1.7rem; }
.page-about .about-focus .icon-box { display: none; }
.page-about .about-focus .card h3, .page-about .about-focus .card p { grid-column: 2; margin: 0; }
.page-about .about-focus { color: var(--text-primary); background: var(--surface-gradient); }
.page-about .about-focus .section-heading h2, .page-about .about-focus .card h3 { color: var(--brand-navy); }
.page-about .about-focus .section-heading p:not(.eyebrow), .page-about .about-focus .card p { color: var(--text-secondary); }
.page-about .about-focus .eyebrow, .page-about .about-focus .card::before { color: var(--brand-blue-ink); }
.page-about .about-focus .card-grid { border-color: #c5e0f2; background: #c5e0f2; }
.page-about .about-focus .card { background: rgba(255,255,255,.68); }
.page-services .service-group-header { display: grid; grid-template-columns: 80px 1fr; gap: 2rem; }
.page-services .service-group-badge { border-top: 2px solid var(--brand-blue); padding-top: 1rem; }
.page-services .service-band-tint { color: var(--text-primary); background: var(--surface-blue); }
.page-services .service-band-tint h2, .page-services .service-band-tint .service-group-header p { color: var(--brand-navy); }
.page-services .service-band-tint .eyebrow { color: var(--brand-blue-ink); }
.page-services .service-band-tint .card-grid { border-color: #c2e0f2; background: #c2e0f2; }
.page-services .service-band-tint .card { background: rgba(255,255,255,.75); color: var(--text-secondary); }
.page-services .service-band-tint .card h3 { color: var(--brand-navy); }
.page-services .service-band-tint .card p, .page-services .service-band-tint .service-list li { color: var(--text-secondary); }
.page-services .service-band-tint .service-list li::before { color: var(--brand-blue); }
.page-solutions .solution-block { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.page-solutions .solution-block-label { border-top: 2px solid var(--brand-blue); padding-top: 1.2rem; }
.page-solutions .solution-header { gap: 2rem; }
.page-solutions .solution-header h2 { max-width: 22ch; }
.page-solutions .solution-content { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); border-color: var(--border); gap: 3rem; }
.page-solutions .solution-product { position: relative; }
.page-solutions .solution-product > .container { position: relative; z-index: 1; }
.page-solutions .solution-header { max-width: 54%; min-height: 330px; }
.page-solutions .solution-preview { position: absolute; top: 1.4rem; right: 0; width: min(43%,535px); margin: 0; }
.page-solutions .solution-preview img { display: block; width: 100%; height: auto; border: 1px solid #c5ddea; background: var(--surface-blue); box-shadow: 0 18px 45px rgba(8,60,109,.09); }
.page-solutions .solution-preview figcaption { margin-top: .55rem; color: var(--text-secondary); font-size: .7rem; letter-spacing: .09em; text-align: right; text-transform: uppercase; }
.page-solutions .solution-catalogue-alt { background: var(--surface-alt); }
.page-solutions .solution-benefits { padding: 1.2rem 0; }
.page-solutions .solution-specs { padding: 1.2rem 0 1.2rem 2rem; border-left: 1px solid var(--border); }
.case-study { border: 0; border-radius: 0; padding: 0; box-shadow: none; background: transparent; }
.case-study-header { border-top: 2px solid var(--brand-blue); padding-top: 1.3rem; border-bottom-color: var(--border); }
.case-study-header h2 { max-width: 22ch; font-size: clamp(2rem,3.3vw,3.3rem); }
.case-number { font-family: Oswald,sans-serif; color: #b9d4e9; opacity: 1; font-weight: 400; font-size: clamp(4rem,8vw,8rem); }
.case-visual { height: clamp(250px, 29vw, 390px); margin: 2.5rem 0 3rem; background-position: center; background-size: cover; }
.case-visual-hrms { background-image: url('../images/work-hrms.svg'); }
.case-visual-cloud { background-image: url('../images/work-cloud.svg'); }
.case-visual-messaging { background-image: url('../images/work-messaging.svg'); }
.case-visual-mis { background-image: url('../images/work-mis.svg'); }
.case-study-body { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(2rem,5vw,5rem); }
.case-section { border-bottom: 1px solid var(--border); padding-bottom: 1.4rem; }
.case-section h4 { color: var(--brand-blue); }

/* Detail pages retain every approved sentence in a more structured rhythm. */
.page-detail .detail-challenge .card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); counter-reset: challenge; }
.page-detail .detail-challenge .card { counter-increment: challenge; border-top: 2px solid var(--brand-blue); }
.page-detail .detail-challenge .card::before { content: counter(challenge, decimal-leading-zero); display: block; margin-bottom: 1rem; color: var(--brand-blue); font-family: Oswald,sans-serif; font-size: 2rem; }
.page-detail .detail-capabilities { color: var(--text-primary); background: var(--surface-blue); }
.page-detail .detail-capabilities .section-heading h2 { color: var(--brand-navy); }
.page-detail .detail-capabilities .section-heading p:not(.eyebrow) { color: var(--text-secondary); }
.page-detail .detail-capabilities .eyebrow { color: var(--brand-blue-ink); }
.page-detail .detail-capabilities .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); background: #c2e0f2; border-color: #c2e0f2; }
.page-detail .detail-capabilities .card { padding: 1.55rem 2rem; background: rgba(255,255,255,.78); }
.page-detail .detail-capabilities .card h3 { color: var(--brand-navy); }
.page-detail .detail-capabilities .card p { color: var(--text-secondary); }
.page-detail .detail-process .card { border-top: 2px solid var(--brand-cyan); }
.page-detail .detail-use-cases .why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Business launch and careers inherit the same brand while keeping their flows. */
.career-hero { background: var(--surface-gradient); }
.career-hero h1 { font-size: clamp(2.6rem,5vw,4.7rem); max-width: 17ch; font-family: Oswald,sans-serif; }
.career-hero h1, .career-hero-lead { color: var(--brand-navy); }
.career-hero-note { color: var(--text-secondary); }
.career-hero .eyebrow, .career-cta .eyebrow { color: var(--brand-blue-ink); }
.launch-hero { display: flex; align-items: center; min-height: 740px; padding: 6rem 0; color: var(--brand-navy); background: #e6f2fd url('../images/business-launch-system.webp') center / cover no-repeat; }
.launch-hero::before { display: none; }
.launch-hero-grid { display: block; }
.launch-hero .hero-copy { position: relative; z-index: 1; max-width: 650px; }
.launch-hero h1 { max-width: 17ch; color: var(--brand-navy); font: 500 clamp(3.3rem, 5.4vw, 5.8rem)/1.08 Oswald,sans-serif; }
.launch-hero .eyebrow { color: var(--brand-blue-ink); }
.launch-hero .hero-copy p:not(.eyebrow) { max-width: 51ch; color: #294362; font-size: 1.12rem; }
.launch-hero .btn { min-height: 54px; border-radius: 100px; }
.launch-hero .btn-secondary { color: var(--brand-navy); border-color: var(--brand-navy); }
.launch-hero .btn-secondary:hover { color: white; background: var(--brand-navy); }
.launch-hero .hero-note { color: #526783 !important; }
.launch-flow-strip { padding: 2.5rem 0; background: var(--surface-blue); border-block: 1px solid var(--border); }
.launch-flow-strip .launch-map { display: grid; grid-template-columns: 1fr 3rem 1.55fr 3rem 1fr; align-items: center; gap: 1rem; max-width: none; padding: 0; border: 0; box-shadow: none; background: transparent; }
.launch-flow-strip .launch-map-node { min-height: 88px; color: var(--brand-navy); border: 1px solid #b5d9f0; background: var(--surface-base); }
.launch-flow-strip .launch-map-node span { color: var(--brand-blue-ink); }
.launch-flow-strip .launch-map-live { background: #d5edff; }
.launch-flow-strip .launch-map-line { width: 3rem; height: 2px; background: #29a7eb; }
.launch-flow-strip .launch-map-grid span { color: var(--brand-navy); border-color: #b5d9f0; background: var(--surface-base); }
.launch-section-nav { position: sticky; z-index: 900; top: 86px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); }
.launch-section-nav .container { display: flex; align-items: center; gap: clamp(1.2rem,3vw,3rem); min-height: 55px; overflow-x: auto; scrollbar-width: thin; }
.launch-section-nav a { flex: 0 0 auto; padding: 1rem 0; color: var(--brand-navy); font-size: .85rem; font-weight: 700; border-bottom: 2px solid transparent; }
.launch-section-nav a:hover, .launch-section-nav a:focus-visible { color: var(--brand-blue-ink); border-color: var(--brand-blue); }
.launch-map, .career-signal { border-radius: 6px; background: var(--surface-base); border-color: #b5d9f0; }
.launch-map-live { background: #d5edff; }
.launch-audiences { background: white; }
.launch-audiences .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 4rem; border: 0; background: transparent; counter-reset: audience; }
.launch-audiences .card { display: grid; grid-template-columns: 3.7rem 1fr; align-content: start; gap: .3rem 1rem; min-height: 170px; padding: 1.5rem 0; border-top: 1px solid var(--border); background: transparent; counter-increment: audience; }
.launch-audiences .card::before { content: counter(audience, decimal-leading-zero); grid-row: 1 / 3; color: var(--brand-blue); font: 400 2.9rem/.95 Oswald,sans-serif; }
.launch-audiences .card h3, .launch-audiences .card p { grid-column: 2; margin: 0; }
.launch-help { color: var(--text-primary); background: var(--surface-gradient); }
.launch-help .section-heading h2 { color: var(--brand-navy); }
.launch-help .section-heading p:not(.eyebrow) { color: var(--text-secondary); }
.launch-help .eyebrow { color: var(--brand-blue-ink); }
.launch-help .feature-grid { gap: 0; border-top: 1px solid #b9d9ee; }
.launch-help .feature { padding: 2rem 1.5rem; border: 0; border-left: 1px solid #b9d9ee; background: transparent; }
.launch-help .feature:first-child { border-left: 0; }
.launch-help .feature h3 { color: var(--brand-navy); }
.launch-help .feature p { color: var(--text-secondary); }
.launch-help .step-kicker { color: var(--brand-blue-ink); }
.launch-journey { background: #edf5fc; }
.launch-scope { background: white; }
.launch-platform { background: #f1f7fd; }
.launch-compliance { background: white; }
.launch-support { background: #f1f7fd; }
.journey-phase, .platform-card, .needs-board > div, .compliance-panel,
.launch-form fieldset, .faq-item, .career-reason, .career-audience, .college-panel,
.career-cta-inner { border-radius: 4px; box-shadow: none; }
.journey-phase { border-top: 2px solid var(--brand-blue); }
.career-growth, .ownership-section { background: var(--surface-ice); }
.career-hero::after { border-color: #b7dced; box-shadow: 0 0 0 5rem rgba(22,139,232,.035),0 0 0 10rem rgba(22,139,232,.025); }
.career-signal { background: rgba(255,255,255,.86); border-color: #b5d9f0; box-shadow: 0 20px 60px rgba(43,112,172,.1); }
.career-signal-head, .career-signal-foot { border-color: var(--border); }
.career-signal-head span, .career-signal-track small, .career-signal-foot { color: var(--text-secondary); }
.career-signal-track strong { color: var(--brand-navy); }
.career-signal-track li:not(:last-child)::after { background: #85c7e9; }
.career-signal-track li > span, .growth-index { color: var(--brand-blue-ink); border-color: #a7d3ef; background: white; }
.career-signal-head strong, .career-signal-foot span { color: var(--brand-blue-ink); }
.career-growth-intro .eyebrow { color: var(--brand-blue-ink); }
.career-growth-intro h2, .growth-step h3 { color: var(--brand-navy); }
.career-growth-intro > p:last-child, .growth-step p { color: var(--text-secondary); }
.ownership-copy h2 { color: var(--brand-navy); }
.ownership-copy p:not(.eyebrow) { color: var(--text-secondary); }
.ownership-assets li { color: var(--text-primary); border-color: #b9daee; background: white; }
.ownership-assets li::before { color: var(--brand-blue); }
.career-reason { border-top: 2px solid var(--brand-blue); }
.career-reason-featured { background: var(--surface-alt); }
.career-reasons { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--border); }
.career-reasons .career-reason:nth-child(n) { grid-column: auto; min-height: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 1.8rem; }
.career-reasons .career-reason:first-child { grid-column: 1 / -1; background: var(--surface-alt); }
.career-reasons .career-reason:nth-child(2n) { border-right: 1px solid var(--border); }
.career-audience-highlight { background: linear-gradient(140deg,#e5f5ff,#d5eeff); }
.career-audience-highlight h3 { color: var(--brand-navy); }
.career-audience-highlight p { color: var(--text-secondary); }
.career-audience-highlight .audience-label { color: var(--brand-blue-ink); }
.career-cta-inner { background: linear-gradient(115deg,#0875c1,#299ee3); box-shadow: 0 18px 45px rgba(10,100,175,.15); }
.career-cta h2 { color: white; }
.career-cta p:not(.eyebrow) { color: #edf8ff; }
.career-cta .eyebrow { color: #eafaff; }
.college-section { background: var(--surface-alt); }
.value-group { border-top-color: var(--brand-blue); }
.value-group:nth-child(even) { border-color: var(--brand-cyan); }
.launch-form-section { background: linear-gradient(180deg,#dcefff 0,#dcefff 360px,var(--surface-soft) 360px,var(--surface-soft) 100%); }
.launch-form-shell { max-width: 1120px; }
.launch-form-section .section-heading h2 { color: var(--brand-navy); }
.launch-form-section .section-heading p:not(.eyebrow) { color: var(--text-secondary); }
.launch-form-section .eyebrow { color: var(--brand-blue-ink); }
.launch-form { gap: 0; padding: clamp(1.25rem,4vw,4rem); background: white; box-shadow: 0 24px 70px rgba(5,24,58,.14); }
.launch-form fieldset { padding: 2.2rem 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.launch-form fieldset:first-of-type { border-top: 0; }
.launch-form legend { padding: 0 1rem 0 0; font: 500 clamp(1.6rem,2.4vw,2.1rem)/1.2 Oswald,sans-serif; }
.launch-form legend span { margin-right: .7rem; color: var(--brand-blue); font-size: 1.5rem; }
.choice-card { min-height: 54px; border-radius: 2px; background: #f8fbfe; }
.launch-form .choice-card span { min-width: 0; overflow-wrap: anywhere; }
.choice-card:has(input:checked) { border-color: var(--brand-blue); background: #eaf5fd; color: var(--brand-navy); }
.launch-form .captcha-check { margin-top: 1.5rem; padding: 1.5rem; background: #edf5fc; border-radius: 2px; }
.launch-form .form-submit-row { margin-top: 1rem; padding: 1rem 0; }
.launch-form .form-submit-row .btn { border-radius: 100px; }
.form-status.is-success { color: #126b55; }
.form-status.is-error { color: #b42318; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { min-height: 60px; }
.faq-list { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: .7rem 1.5rem; }

/* Contact, legal, 404 */
.contact-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(2rem,5vw,6rem); }
.contact-grid > * { min-width: 0; }
.contact-detail a { overflow-wrap: anywhere; }
.contact-side { gap: 0; }
.contact-detail, .expect-item { border-radius: 0; border: 0; border-top: 1px solid var(--border); box-shadow: none; }
.contact-form input, .contact-form textarea, .contact-form select,
.launch-form input, .launch-form textarea, .launch-form select { border-radius: 3px; }
.privacy-main { background: var(--surface-alt); padding: 4rem 0 7rem; }
.privacy-content { max-width: 860px; background: white; padding: clamp(1.5rem,5vw,4rem); border: 1px solid var(--border); }
.privacy-content h1 { font-size: clamp(2.6rem,5vw,4rem); }
.privacy-content h2 { margin-top: 2.5rem; font-size: clamp(1.5rem,3vw,2rem); }
.privacy-content p, .privacy-content li { color: var(--text-muted); }
.privacy-content ul { list-style: disc; padding-left: 1.4rem; }
.privacy-content a { color: #0875c8; text-decoration: underline; }
.privacy-content .updated { color: var(--text-muted); font-size: .85rem; }
.privacy-content .notice { margin: 2rem 0; padding: 1rem 1.4rem; background: #eaf5fd; border-left: 3px solid var(--brand-blue); }
.privacy-content .footer { margin-top: 3rem; border-top: 1px solid var(--border); padding-top: 1rem; color: var(--text-muted); font-size: .85rem; }
.page-404 main { min-height: 55vh; }

/* Footer */
.site-footer { padding: 0 0 1.5rem; background: var(--surface-ice); color: var(--text-secondary); border-top: 1px solid var(--border); }
.footer-top { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: 4rem 0; border-bottom: 1px solid var(--border); }
.footer-top h2 { max-width: 16ch; margin: 0; color: var(--brand-navy); font-size: clamp(2.1rem,3.8vw,3.8rem); }
.footer-top .eyebrow { color: var(--brand-blue-ink); }
.footer-top .btn { flex: 0 0 auto; }
.footer-grid { grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr); padding-top: 3rem; gap: clamp(2rem,5vw,6rem); }
.footer-identity .brand { width: fit-content; padding: 0; margin-bottom: 1.4rem; background: transparent; border-radius: 0; color: var(--brand-navy); }
.footer-identity .brand:hover { color: var(--brand-navy); }
.footer-identity .social-links { margin-top: 1rem; }
.footer-identity .social-links a { color: var(--brand-navy); border-color: #c8e0f0; }
.site-footer a { color: var(--text-secondary); }
.site-footer a:hover { color: var(--brand-blue-ink); }
.site-footer .btn-primary, .site-footer .btn-primary:hover, .site-footer .btn-primary:focus-visible { color: #fff; }
.footer-nav-label { color: var(--brand-blue-ink); }
.footer-grid nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem 1rem; }
.footer-grid nav a { font-size: .82rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; color: var(--text-secondary); border-color: var(--border); margin-top: 3rem; }

/* Keep content visible when script is unavailable. */
.reveal { opacity: 1; transform: none; }
.reveal.visible { opacity: 1; transform: none; animation: reveal-in .5s ease both; }
@keyframes reveal-in { from { opacity: .72; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 1200px) {
  .header-social { display: none; }
  .site-nav { gap: .9rem; }
  .site-nav a { font-size: .77rem; }
}
@media (max-width: 1120px) {
  .site-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  body:not(.nav-enhanced) .nav-wrapper { flex-wrap: wrap; padding-bottom: 1rem; }
  body:not(.nav-enhanced) .site-nav { display: flex; flex-basis: 100%; flex-wrap: wrap; }
  body:not(.nav-enhanced) .menu-toggle { display: none; }
  .services-overview .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .solutions-showcase .card-grid { column-gap: 4rem; }
  .solutions-art { position: relative; top: auto; left: auto; grid-column: 1 / -1; width: min(420px,80%); margin: 0 auto 2rem; transform: none; }
}
@media (min-width: 821px) and (max-width: 1120px) { .menu-toggle { display: inline-flex; } }
@media (max-width: 900px) {
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-art { display: block; max-width: 600px; }
  .launch-hero { display: block; min-height: 0; padding: clamp(310px,47vw,390px) 0 5rem; background: #eaf4fd; }
  .launch-hero::before { display: block; width: 100%; height: clamp(260px,40vw,340px); inset: 0 0 auto; border-radius: 0; background: url('../images/business-launch-system.webp') 65% center / cover no-repeat; }
  .launch-hero h1 { font-size: clamp(3rem,6vw,4.6rem); }
  .launch-flow-strip .launch-map { grid-template-columns: 1fr; justify-items: stretch; max-width: 620px; margin: auto; }
  .launch-flow-strip .launch-map-line { width: 2px; height: 1.3rem; margin: auto; }
  .launch-help .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .launch-help .feature:nth-child(3) { border-left: 0; }
  .page-about .page-hero, .detail-software .page-hero { min-height: 0; padding-top: 290px; background: #edf7ff; }
  .page-about .page-hero::after, .detail-software .page-hero::after { display: block; inset: 0 0 auto; width: 100%; height: 240px; border: 0; border-radius: 0; box-shadow: none; background: var(--surface-blue) url('../images/hero-tech.svg') center / contain no-repeat; }
  .page-solutions .page-hero { min-height: 0; padding-top: 290px; background: var(--surface-ice); }
  .page-solutions .page-hero::after { display: block; inset: 0 0 auto; width: 100%; height: 240px; border: 0; border-radius: 0; box-shadow: none; background: var(--surface-blue) url('../images/connected-platforms.webp') center / contain no-repeat; }
  .page-contact .page-hero { min-height: 0; padding-top: 290px; background: #edf7ff; }
  .page-contact .page-hero::after { display: block; inset: 0 0 auto; width: 100%; height: 240px; border: 0; border-radius: 0; box-shadow: none; background: #dceefd url('../images/contact-connect.svg') center / auto 100% no-repeat; }
  .page-solutions .solution-header { max-width: none; min-height: 0; }
  .page-solutions .solution-preview { position: static; width: 100%; max-width: 680px; margin: 0 auto 2rem; }
  .home-hero { padding-top: 4rem; padding-bottom: 2rem; }
  .home-hero .hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-hero .hero-copy { max-width: 670px; }
  .home-hero h1 { font-size: clamp(3.5rem, 7.7vw, 5rem); }
  .home-hero-visual { max-width: 760px; width: 100%; margin-inline: auto; }
  .home-hero-visual img { min-height: 0; aspect-ratio: 1.56; }
  .home-hero-capabilities { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 2rem; }
  .home-hero-capabilities li:nth-child(n+4) { border-top: 1px solid #bcdcef; }
  .home-hero-capabilities li:nth-child(4) { border-left: 1px solid #bcdcef; }
  .solutions-showcase .section-heading { grid-template-columns: 1fr; }
  .home-product-ribbon .container { grid-template-columns: 1fr; gap: 2rem; }
  .home-product-ribbon-intro h2 { max-width: 18ch; }
  .solutions-showcase .section-heading p:not(.eyebrow) { margin-top: 1.5rem; }
  .work-showcase .work-grid { grid-template-columns: 1fr; }
  .work-showcase .work-card:first-child { grid-row: auto; min-height: 500px; }
  .work-showcase .work-card:first-child .work-visual { height: 270px; }
  .page-about .about-intro, .case-study-body, .contact-grid { grid-template-columns: minmax(0,1fr); }
  .page-solutions .solution-content { grid-template-columns: 1fr; }
  .page-solutions .solution-specs { border-left: 0; border-top: 1px solid var(--border); padding: 1.2rem 0; }
  .case-visual { height: clamp(210px, 55vw, 330px); }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-identity { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .page-solutions .solution-header { gap: 1rem; }
  .nav-wrapper { min-height: 72px; }
  .brand-logo { width: 48px; height: 48px; }
  .hero { padding: 4.5rem 0 5rem; }
  .home-hero { padding-top: 2.7rem; padding-bottom: 2rem; }
  .home-hero h1 { font-size: clamp(2.55rem, 10vw, 3.4rem); }
  .home-hero .hero-grid { gap: 2rem; }
  .home-hero-visual img { aspect-ratio: 1.28; object-position: 53% center; }
  .home-hero-visual-caption { display: none; }
  .home-hero-capabilities { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-hero-capabilities li:nth-child(odd) { border-left: 1px solid #bcdcef; }
  .home-hero-capabilities li:nth-child(n+3) { border-top: 1px solid #bcdcef; }
  .home-hero-capabilities a { min-height: 72px; padding: .85rem .65rem; font-size: .78rem; }
  .home-hero-capabilities small { font-size: .74rem; }
  .launch-hero { padding-top: 290px; padding-bottom: 4.5rem; }
  .launch-hero::before { height: 240px; }
  .launch-hero h1 { font-size: clamp(2.8rem, 10vw, 3.8rem); }
  .launch-hero .hero-actions { flex-direction: column; align-items: stretch; }
  .launch-hero .hero-actions .btn { width: 100%; }
  .launch-section-nav { top: 72px; }
  .launch-audiences .card-grid { grid-template-columns: 1fr; }
  .launch-audiences .card { min-height: 0; }
  .launch-help .feature-grid { grid-template-columns: 1fr; }
  .launch-help .feature { border-left: 0; border-bottom: 1px solid #b9d9ee; padding-inline: 0; }
  .launch-form-section { background: linear-gradient(180deg,#dcefff 0,#dcefff 300px,var(--surface-soft) 300px,var(--surface-soft) 100%); }
  .launch-form .compact-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .launch-form .choice-card { min-height: 62px; }
  .launch-form .form-submit-row { flex-direction: column; align-items: stretch; }
  .faq-list { grid-template-columns: 1fr; }
  .hero-art { max-width: 440px; }
  .solutions-showcase .card-grid,
  .expertise-showcase .card-grid,
  .services-overview .card-grid,
  .why-showcase .why-grid,
  .page-about .about-purpose .card-grid,
  .page-about .about-focus .card-grid,
  .page-detail .detail-challenge .card-grid,
  .page-detail .detail-capabilities .card-grid,
  .page-detail .detail-use-cases .why-grid { grid-template-columns: 1fr; }
  .home-product-list { grid-template-columns: 1fr; }
  .home-product-item:nth-child(odd) { border-right: 0; padding-right: .9rem; }
  .home-product-item:nth-child(even) { padding-left: 0; }
  .expertise-showcase .card-grid .card:first-child { grid-row: auto; min-height: 440px; }
  .expertise-showcase .card-grid .card:last-child { grid-column: auto; }
  .solutions-showcase .solution-card { grid-template-columns: 4.5rem 1fr; min-height: 0; }
  .solutions-showcase .solution-card::before { font-size: 4rem; }
  .solutions-showcase .card-grid .card-feat { min-height: 240px; }
  .why-showcase .why-card { grid-template-columns: 3.3rem 1fr; }
  .why-showcase .why-card::before { font-size: 2.8rem; }
  .page-services .service-group-header { grid-template-columns: 1fr; gap: .6rem; }
  .why-card:nth-child(n) { padding-left: 0; }
  .career-reasons { grid-template-columns: 1fr; }
  .career-reasons .career-reason:nth-child(n) { grid-column: auto; border-right: 0; padding-inline: 0; }
  .footer-top { align-items: start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-identity { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 430px) {
  .brand { font-size: .82rem; }
  .brand b { font-size: .62rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .page-hero h1 { font-size: clamp(2.35rem,11vw,3rem); }
  .case-study-header { flex-direction: column-reverse; }
  .case-number { display: block; font-size: 4rem; }
}
