/* ========================================================================
   Seriba Technology — corporate marketing layer
   A restrained, evidence-led system for the homepage, service catalogue,
   and product pages. Loaded after site.css to preserve existing utilities.
   ======================================================================== */

:root {
  --business-green: #123f2d;
  --business-green-deep: #0b2d20;
  --business-green-soft: #e8f1ec;
  --business-gold: #bd8a53;
  --business-ivory: #f7f3ea;
  --business-line: #ded8cc;
  --business-text: #16211d;
  --business-muted: #59645f;
  --business-blue: #e9f0f4;
  --business-radius: 12px;
  --business-shadow: 0 22px 70px rgba(8, 30, 22, .14);
}

body { font-size: 16px; letter-spacing: -.006em; }
.h-display, .h1, .h2, .h3, .h4, .card__title, .feature-card__title,
.statbar__value, .foot__brand { font-family: var(--font-body); }
.h-display, .h1, .h2 { letter-spacing: -.038em; }
.italic-accent, .italic-accent--light { font-style: normal; }

.nav { background: rgba(11, 45, 32, .97); border-bottom: 1px solid rgba(255,255,255,.1); }
.nav__inner { max-width: 1440px; }
.nav__brand { min-width: 142px; display: flex; align-items: center; gap: .65rem; }
.nav__brand img { width: 106px; height: 34px; object-fit: contain; object-position: left center; }
.nav__brand small { display: block; color: rgba(255,255,255,.62); font: 500 .58rem/1 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.nav__links { gap: .2rem; }
.nav__link { padding: .65rem .78rem; font-size: .89rem; font-weight: 600; letter-spacing: .005em; }
.nav__link::after { left: .78rem; right: .78rem; }
.nav__dropdown {
  min-width: 245px;
  max-height: calc(100vh - var(--nav-h) - 1rem);
  overflow-y: auto;
}
.nav__dropdown-link { white-space: normal; }

.business-kicker {
  display: inline-flex; align-items: center; gap: .65rem;
  color: #dfb983; font: 500 .67rem/1.3 var(--font-mono);
  letter-spacing: .15em; text-transform: uppercase;
}
.business-kicker::before { content: ''; width: 24px; height: 1px; background: currentColor; }
.business-kicker--dark { color: #8a5f34; }
.business-heading { max-width: 760px; font-size: clamp(1.9rem, 3.1vw, 2.9rem); line-height: 1.09; letter-spacing: -.036em; }
.business-heading--light { color: #fff; }
.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.section-heading-row > div:first-child { max-width: 850px; }
.section-heading-row .business-heading { margin-top: 1rem; }
.section-heading-row > p { max-width: 44ch; color: var(--business-muted); }
.text-link { color: var(--business-green); font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-chip { display: inline-flex; align-items: center; width: fit-content; padding: .36rem .7rem; border: 1px solid #bfd4c7; border-radius: 999px; color: var(--business-green); background: #f3f8f5; font: 600 .7rem/1 var(--font-mono); }
.product-chip--light { color: #f5e7d6; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); }

/* Homepage hero */
.business-hero { position: relative; overflow: hidden; min-height: 690px; padding: calc(var(--nav-h) + 3.9rem) 0 4.6rem; background: var(--business-green-deep); color: #fff; }
.business-hero::before { content: ''; position: absolute; width: 620px; height: 620px; right: -180px; top: -190px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 95px rgba(255,255,255,.025), 0 0 0 190px rgba(255,255,255,.018); }
.business-hero__grid { position: absolute; inset: 0; opacity: .07; background-image: linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to right, black, transparent 72%); }
.business-hero__inner { position: relative; display: grid; grid-template-columns: minmax(420px, .82fr) minmax(600px, 1.18fr); gap: clamp(3rem, 5.5vw, 6rem); align-items: start; }
.business-hero__copy { padding-top: .3rem; }
.business-hero__copy h1 { max-width: 680px; margin-top: 1.25rem; font-size: clamp(2.85rem, 4.35vw, 4.35rem); line-height: 1; letter-spacing: -.046em; font-weight: 650; text-wrap: balance; }
.business-hero__copy > p { max-width: 650px; margin-top: 1.65rem; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.65; }
.business-hero__actions { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 2.2rem; }
.business-hero__proof { display: flex; flex-wrap: wrap; gap: .55rem 1.3rem; margin-top: 2.35rem; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.62); font-size: .82rem; }
.business-hero__proof span { display: flex; align-items: center; gap: .45rem; }
.business-hero__proof span::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--business-gold); }

.product-stage { position: relative; min-height: 480px; margin-top: 1.15rem; transform: translateY(-1rem); }
.product-stage__label { position: absolute; top: -36px; right: 1rem; display: flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.66); font: 500 .68rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #8fd0a9; box-shadow: 0 0 0 5px rgba(143,208,169,.12); }
.product-stage__desktop { overflow: hidden; width: 100%; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: #fff; box-shadow: var(--business-shadow); transform: perspective(1400px) rotateY(-2deg); transform-origin: left center; }
.product-stage__desktop > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top left; }
.product-stage__bar { height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 12px; border-bottom: 1px solid #e7e3db; background: #f8f7f4; color: #6d746f; font: 500 .63rem/1 var(--font-mono); }
.product-stage__bar i { width: 7px; height: 7px; border-radius: 50%; background: #c9c3b8; }
.product-stage__bar i:first-child { background: #d79074; }
.product-stage__bar i:nth-child(2) { background: #d9b875; }
.product-stage__bar i:nth-child(3) { background: #7faf8f; margin-right: 4px; }
.product-stage__phone { position: absolute; width: 178px; height: 365px; right: -22px; bottom: -35px; overflow: hidden; border: 7px solid #10231b; border-radius: 25px; background: #fff; box-shadow: 0 22px 50px rgba(0,0,0,.35); }
.product-stage__phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.product-stage__note { position: absolute; left: -24px; bottom: 5px; display: flex; flex-direction: column; min-width: 180px; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(18,63,45,.94); box-shadow: 0 12px 32px rgba(0,0,0,.2); }
.product-stage__note strong { font-size: .9rem; }
.product-stage__note span { margin-top: .2rem; color: rgba(255,255,255,.58); font-size: .75rem; }

.trust-strip { border-bottom: 1px solid var(--business-line); background: #fff; }
.trust-strip__inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; color: #46524d; font-size: .87rem; font-weight: 600; }
.trust-strip__label { color: #8a5f34; font: 500 .66rem/1 var(--font-mono); letter-spacing: .13em; text-transform: uppercase; }

.business-intro .shell { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: clamp(3rem, 9vw, 9rem); }
.business-intro__heading h2 { margin-top: 1.1rem; max-width: 800px; font-size: clamp(2.15rem, 3.65vw, 3.5rem); line-height: 1.06; letter-spacing: -.042em; text-wrap: balance; }
.business-intro__body { padding-top: 2.25rem; }
.business-intro__body p { color: var(--business-muted); font-size: 1.08rem; line-height: 1.75; }
.business-intro__body .text-link { display: inline-block; margin-top: 1.5rem; }

.service-preview__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.service-preview__card { position: relative; min-height: 310px; padding: 2rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); background: #fff; color: var(--business-text); text-decoration: none; transition: background .2s, transform .2s, box-shadow .2s; }
.service-preview__card:hover { z-index: 2; background: #f4f8f5; box-shadow: 0 18px 40px rgba(12,50,36,.1); transform: translateY(-2px); }
.service-preview__number { color: #9b7753; font: 500 .68rem/1 var(--font-mono); }
.service-preview__card h3 { max-width: 330px; margin-top: 1.55rem; font-size: 1.38rem; line-height: 1.16; }
.service-preview__card p { margin-top: .9rem; color: var(--business-muted); font-size: .92rem; line-height: 1.58; }
.service-preview__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.35rem; }
.service-preview__tags span { padding: .3rem .55rem; border-radius: 4px; background: #eef2ef; color: #4f5e56; font-size: .7rem; }
.service-preview__arrow { position: absolute; right: 1.5rem; top: 1.55rem; color: var(--business-green); font-size: 1.2rem; }

.product-feature__header { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 4rem; margin-bottom: 3rem; }
.product-feature__header h2 { max-width: 760px; margin-top: 1rem; font-size: clamp(2.1rem, 3.45vw, 3.3rem); line-height: 1.06; letter-spacing: -.041em; text-wrap: balance; }
.product-feature__header > p { color: var(--business-muted); font-size: 1.02rem; line-height: 1.72; }
.product-feature__canvas { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); min-height: 560px; overflow: hidden; border-radius: 14px; background: var(--business-green-deep); box-shadow: var(--business-shadow); }
.product-feature__screen { align-self: center; margin: 2.5rem 0 2.5rem 2.5rem; overflow: hidden; border-radius: 8px 0 0 8px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 22px 60px rgba(0,0,0,.25); }
.product-feature__screen img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top left; }
.product-feature__content { display: flex; flex-direction: column; justify-content: center; padding: 3rem; background: linear-gradient(145deg, #154a35, #0c3023); color: #fff; }
.product-feature__content h3 { margin-top: 1.25rem; font-size: 2.2rem; letter-spacing: -.035em; }
.product-feature__capabilities { display: grid; gap: .85rem; margin: 1.5rem 0 2rem; }
.product-feature__capabilities div { display: flex; gap: .65rem; color: rgba(255,255,255,.72); font-size: .9rem; }
.product-feature__capabilities span { color: #c9a374; }
.product-feature__content .btn { align-self: flex-start; }

.portfolio-section__intro { display: grid; grid-template-columns: .5fr 1fr; align-items: end; gap: 3rem; margin-bottom: 2.7rem; }
.portfolio-section__intro h2 { color: #fff; font-size: clamp(2.1rem, 3.45vw, 3.3rem); line-height: 1.06; letter-spacing: -.041em; text-wrap: balance; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.portfolio-card { min-height: 570px; display: flex; flex-direction: column; overflow: hidden; padding: 2rem 2rem 0; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: #202a25; color: #fff; text-decoration: none; transition: transform .2s, border-color .2s; }
.portfolio-card:nth-child(2) { background: #28251f; }
.portfolio-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.3); }
.portfolio-card__top { display: flex; justify-content: space-between; color: #d2b087; font: 500 .68rem/1 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.portfolio-card h3 { margin-top: 2.2rem; font-size: 2.5rem; letter-spacing: -.045em; }
.portfolio-card > p { max-width: 540px; margin-top: .7rem; color: rgba(255,255,255,.62); line-height: 1.65; }
.portfolio-card__media { margin-top: 2rem; overflow: hidden; border-radius: 8px 8px 0 0; border: 1px solid rgba(255,255,255,.12); border-bottom: 0; background: #fff; }
.portfolio-card__media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top left; }

.operating-model .shell { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: clamp(3rem, 8vw, 8rem); }
.operating-model__lead h2 { margin-top: 1rem; font-size: clamp(2.05rem, 3.3vw, 3.1rem); line-height: 1.07; letter-spacing: -.04em; }
.operating-model__lead p { margin-top: 1.2rem; color: var(--business-muted); font-size: 1rem; line-height: 1.7; }
.operating-model__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.operating-model__grid article { min-height: 235px; padding: 1.65rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); }
.operating-model__grid strong { color: #a1774d; font: 500 .67rem/1 var(--font-mono); }
.operating-model__grid h3 { margin-top: 1.5rem; font-size: 1.2rem; }
.operating-model__grid p { margin-top: .6rem; color: var(--business-muted); font-size: .9rem; line-height: 1.58; }

/* Homepage delivery process */
.process-section__layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.process-section__intro { position: sticky; top: calc(var(--nav-h) + 2rem); }
.process-section__intro h2 { max-width: 520px; margin-top: 1rem; font-size: clamp(2.05rem, 3.25vw, 3.05rem); line-height: 1.08; letter-spacing: -.039em; text-wrap: balance; }
.process-section__intro > p { max-width: 48ch; margin-top: 1rem; color: var(--business-muted); font-size: 1rem; line-height: 1.7; }
.section--green .process-section__intro > p, .section--ink .process-section__intro > p { color: rgba(255,255,255,.62); }
.process-section__assurance { display: grid; gap: .7rem; margin-top: 2rem; padding-top: 1.35rem; border-top: 1px solid var(--business-line); }
.section--green .process-section__assurance, .section--ink .process-section__assurance { border-color: rgba(255,255,255,.14); }
.process-section__assurance span { display: flex; align-items: center; gap: .65rem; color: #48554f; font-size: .82rem; font-weight: 650; }
.section--green .process-section__assurance span, .section--ink .process-section__assurance span { color: rgba(255,255,255,.72); }
.process-section__assurance span::before { content: ''; width: 7px; height: 7px; border: 2px solid var(--business-gold); border-radius: 50%; }
.steps-grid--business { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin: 0; border: 1px solid var(--business-line); background: var(--business-line); }
.steps-grid--business::before { display: none; }
.steps-grid--business .step-card { min-height: 250px; padding: 1.8rem; border: 0; border-radius: 0; box-shadow: none; }
.steps-grid--business .step-card:hover { z-index: 2; transform: none; background: #f5f8f6; box-shadow: inset 0 0 0 1px #a9c1b3; }
.steps-grid--business .step-card__number { position: static; color: #a37c54; font: 500 .66rem/1 var(--font-mono); letter-spacing: .08em; }
.steps-grid--business .step-card__title { max-width: 260px; margin-top: 1.45rem; font-size: 1.12rem; }
.steps-grid--business .step-card__body { font-size: .84rem; line-height: 1.6; }
.steps-grid--business .chip { border-radius: 3px; }

.insight-preview__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.insight-preview__card { min-height: 290px; display: flex; flex-direction: column; padding: 1.8rem; border: 1px solid var(--business-line); border-radius: 8px; background: #fff; color: var(--business-text); text-decoration: none; }
.insight-preview__card > span { color: #8a5f34; font: 500 .67rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.insight-preview__card h3 { margin-top: 1.6rem; font-size: 1.35rem; line-height: 1.2; }
.insight-preview__card p { margin-top: .8rem; color: var(--business-muted); font-size: .9rem; line-height: 1.6; }
.insight-preview__card small { margin-top: auto; padding-top: 1.5rem; color: #89918d; }

/* Shared catalogue hero */
.catalog-hero { padding: calc(var(--nav-h) + 5rem) 0 5.2rem; background: var(--business-green-deep); color: #fff; }
.catalog-hero--services { background: linear-gradient(120deg, #0b2d20 0%, #143f2d 70%, #1e533d 100%); }
.catalog-hero__inner { max-width: 1120px; }
.catalog-hero .crumbs { margin-bottom: 2.5rem; }
.catalog-hero h1 { max-width: 1000px; margin-top: 1.2rem; font-size: clamp(2.7rem, 4.6vw, 4.35rem); line-height: 1; letter-spacing: -.046em; text-wrap: balance; }
.catalog-hero p { max-width: 760px; margin-top: 1.5rem; color: rgba(255,255,255,.68); font-size: 1.12rem; line-height: 1.7; }

/* Products catalogue */
.product-catalog__item { display: grid; grid-template-columns: minmax(350px, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; padding: 5rem 0; border-bottom: 1px solid var(--business-line); }
.product-catalog__item:first-child { padding-top: 1rem; }
.product-catalog__item--reverse .product-catalog__copy { order: 2; }
.product-catalog__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; color: #8a6a4b; font: 500 .67rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.product-catalog__copy h2 { margin-top: 1.6rem; font-size: clamp(2.15rem, 3.4vw, 3.3rem); line-height: 1.06; letter-spacing: -.041em; }
.product-catalog__copy h3 { margin-top: .7rem; color: #335c49; font-size: 1.15rem; font-weight: 600; line-height: 1.35; }
.product-catalog__copy > p { margin-top: 1.2rem; color: var(--business-muted); line-height: 1.72; }
.product-catalog__capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem 1rem; margin: 1.5rem 0 2rem; list-style: none; }
.product-catalog__capabilities li { position: relative; padding-left: 1rem; color: #3e4a45; font-size: .84rem; line-height: 1.45; }
.product-catalog__capabilities li::before { content: ''; position: absolute; left: 0; top: .48rem; width: 5px; height: 5px; border-radius: 50%; background: var(--business-gold); }
.product-catalog__visual { display: block; overflow: hidden; padding: 1.25rem 1.25rem 0; border-radius: 12px; background: var(--business-ivory); box-shadow: 0 20px 55px rgba(14,40,30,.12); }
.product-catalog__visual img { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top left; border: 1px solid #ddd7ca; border-bottom: 0; border-radius: 7px 7px 0 0; }
.product-catalog__placeholder { min-height: 430px; display: flex; flex-direction: column; justify-content: flex-end; padding: 3rem; border-radius: 8px 8px 0 0; background: linear-gradient(145deg, #174c36, #0b2d20); color: #fff; }
.product-catalog__placeholder span { color: #d9b480; font: 500 .68rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.product-catalog__placeholder strong { margin-top: 1rem; font-size: 3rem; }
.product-catalog__placeholder small { margin-top: .5rem; color: rgba(255,255,255,.65); }
.product-foundation__heading { max-width: 820px; }
.product-foundation__heading h2 { margin-top: 1rem; font-size: clamp(2.05rem, 3.3vw, 3.1rem); line-height: 1.07; letter-spacing: -.04em; }
.product-foundation__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 3rem; border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.product-foundation__grid article { min-height: 250px; padding: 1.6rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); background: #fff; }
.product-foundation__grid span { color: #8a6a4b; font: 500 .67rem/1 var(--font-mono); }
.product-foundation__grid h3 { margin-top: 1.5rem; font-size: 1.2rem; }
.product-foundation__grid p { margin-top: .6rem; color: var(--business-muted); font-size: .88rem; line-height: 1.58; }

/* Product detail */
.product-hero { position: relative; overflow: hidden; padding: calc(var(--nav-h) + 4rem) 0 5rem; background: var(--business-green-deep); color: #fff; }
.product-hero::after { content: ''; position: absolute; inset: auto -10% -55% 45%; height: 620px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--product-accent), transparent 68%), transparent 70%); opacity: .5; }
.product-hero__pattern { position: absolute; inset: 0; opacity: .06; background-image: linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px); background-size: 88px 88px; }
.product-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.product-hero__brand { display: flex; align-items: center; gap: .8rem; color: #d8b07a; font: 500 .68rem/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.product-hero__copy h1 { margin-top: 1.5rem; max-width: 720px; font-size: clamp(2.75rem,4.35vw,4.2rem); line-height: 1; letter-spacing: -.046em; text-wrap: balance; }
.product-hero__lead { margin-top: 1.4rem; color: rgba(255,255,255,.7); font-size: 1.08rem; line-height: 1.68; }
.product-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.product-hero__quick { display: grid; gap: .45rem; margin-top: 2rem; color: rgba(255,255,255,.58); font-size: .8rem; }
.product-hero__visual { position: relative; min-height: 430px; }
.product-hero__screen { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: #fff; box-shadow: var(--business-shadow); }
.product-hero__screen > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top left; }
.product-hero__mobile { position: absolute; width: 156px; height: 325px; right: -18px; bottom: -55px; overflow: hidden; border: 6px solid #111d18; border-radius: 24px; background: #fff; box-shadow: 0 20px 48px rgba(0,0,0,.35); }
.product-hero__mobile img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.product-hero__identity { min-height: 400px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: linear-gradient(145deg, color-mix(in srgb,var(--product-accent),#0b2d20 55%), #0b2d20); text-align: center; }
.product-hero__identity strong { font-size: clamp(2.6rem,5vw,5rem); }
.product-hero__identity span { margin-top: .75rem; color: rgba(255,255,255,.64); }
.product-outcomes { background: #fff; border-bottom: 1px solid var(--business-line); }
.product-outcomes__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.product-outcomes article { min-height: 165px; padding: 1.7rem; border-right: 1px solid var(--business-line); }
.product-outcomes article:first-child { border-left: 1px solid var(--business-line); }
.product-outcomes strong { display: block; color: var(--business-green); font-size: 1.5rem; letter-spacing: -.03em; }
.product-outcomes span { display: block; margin-top: .3rem; font-weight: 700; }
.product-outcomes p { margin-top: .5rem; color: var(--business-muted); font-size: .8rem; line-height: 1.45; }
.product-overview__grid { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); gap: clamp(3rem,8vw,8rem); }
.product-overview aside h2 { margin-top: 1rem; font-size: clamp(2rem,3vw,3rem); line-height: 1.08; }
.product-prose { max-width: 820px; }
.product-prose h2 { font-size: 1.45rem; }
.product-modules__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 2.5rem; border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.product-modules__grid article { min-height: 170px; padding: 1.4rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); background: #fff; }
.product-modules__grid article > span { color: #9b7753; font: 500 .64rem/1 var(--font-mono); }
.product-modules__grid h3 { margin-top: 1.35rem; font-size: 1.02rem; line-height: 1.3; }
.product-modules__grid small { display: inline-flex; margin-top: .75rem; padding: .24rem .45rem; border-radius: 3px; background: #edf3ef; color: #486655; font: 500 .61rem/1 var(--font-mono); }
.product-tour__heading { max-width: 780px; }
.product-tour__heading h2 { margin-top: 1rem; font-size: clamp(2.05rem,3.25vw,3.1rem); line-height: 1.07; letter-spacing: -.04em; }
.product-tour__heading p { margin-top: .8rem; color: var(--business-muted); }
.product-tour__desktop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin-top: 2.75rem; }
.product-tour__desktop-grid figure > div { overflow: hidden; border: 1px solid var(--business-line); border-radius: 8px; background: #f3f1eb; }
.product-tour__desktop-grid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top left; transition: transform .35s; }
.product-tour__desktop-grid figure:hover img { transform: scale(1.012); }
.product-tour__desktop-grid figcaption { display: flex; flex-direction: column; padding-top: .8rem; }
.product-tour__desktop-grid figcaption strong { font-size: .92rem; }
.product-tour__desktop-grid figcaption span { margin-top: .2rem; color: var(--business-muted); font-size: .8rem; }
.product-tour__mobile-row { display: grid; grid-template-columns: minmax(280px,.55fr) minmax(0,1.45fr); gap: 3rem; align-items: center; margin-top: 5rem; padding: 3rem; border-radius: 12px; background: var(--business-green-deep); color: #fff; }
.product-tour__mobile-copy > span { color: #d5ad76; font: 500 .67rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.product-tour__mobile-copy h3 { margin-top: 1.2rem; font-size: 2rem; line-height: 1.1; }
.product-tour__mobile-copy p { margin-top: .9rem; color: rgba(255,255,255,.62); line-height: 1.65; }
.phone-gallery { display: flex; align-items: flex-start; gap: 1rem; overflow-x: auto; padding: 1rem .5rem 1.25rem; scrollbar-color: #b78855 transparent; }
.phone-gallery figure { min-width: 175px; }
.phone-gallery img { width: 175px; height: 355px; object-fit: cover; object-position: top; border: 5px solid #18241f; border-radius: 22px; box-shadow: 0 14px 35px rgba(0,0,0,.35); }
.phone-gallery figcaption { margin-top: .7rem; color: rgba(255,255,255,.66); font-size: .72rem; text-align: center; }
.product-use-cases__heading { max-width: 850px; }
.product-use-cases__heading h2 { margin-top: 1rem; color: #fff; font-size: clamp(2.05rem,3.3vw,3.15rem); line-height: 1.07; letter-spacing: -.04em; }
.product-use-cases__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 3rem; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.product-use-cases__grid article { min-height: 240px; padding: 1.8rem; background: var(--green-800); }
.product-use-cases__grid span { color: #d8b17e; font: 500 .65rem/1 var(--font-mono); }
.product-use-cases__grid h3 { margin-top: 1.5rem; color: #fff; font-size: 1.25rem; }
.product-use-cases__grid p { margin-top: .7rem; color: rgba(255,255,255,.6); font-size: .9rem; line-height: 1.6; }
.product-structure__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(3rem,7vw,7rem); }
.product-structure h2 { margin-top: 1rem; font-size: clamp(2rem,3vw,3.1rem); line-height: 1.07; letter-spacing: -.045em; }
.layer-list, .audience-list { margin-top: 2rem; border-top: 1px solid var(--business-line); }
.layer-list article, .audience-list article { display: grid; grid-template-columns: .55fr 1.45fr; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--business-line); }
.layer-list strong, .audience-list h3 { font-size: .94rem; }
.layer-list span, .audience-list p { color: var(--business-muted); font-size: .86rem; line-height: 1.55; }
.documentation-grid, .related-products__grid, .related-services__grid, .case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.documentation-grid a, .related-products__grid a, .related-services__grid a { min-height: 220px; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid var(--business-line); border-radius: 8px; background: #fff; color: var(--business-text); text-decoration: none; }
.documentation-grid h3, .related-products__grid h3, .related-services__grid h3 { font-size: 1.2rem; }
.documentation-grid p, .related-products__grid p, .related-services__grid p { margin-top: .7rem; color: var(--business-muted); font-size: .88rem; line-height: 1.6; }
.documentation-grid span, .related-products__grid strong, .related-services__grid strong { margin-top: auto; padding-top: 1.2rem; color: var(--business-green); font-size: .8rem; }
.related-products__grid > a > span { color: #8a6a4b; font: 500 .64rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; margin: 0 0 1.1rem; padding: 0; }

/* Services */
.service-principles { border-bottom: 1px solid var(--business-line); background: #fff; }
.service-principles__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-principles article { min-height: 180px; padding: 1.65rem; border-right: 1px solid var(--business-line); }
.service-principles article:first-child { border-left: 1px solid var(--business-line); }
.service-principles span { color: #966e47; font: 500 .64rem/1 var(--font-mono); }
.service-principles strong { display: block; margin-top: 1.2rem; font-size: 1.05rem; }
.service-principles p { margin-top: .5rem; color: var(--business-muted); font-size: .84rem; line-height: 1.55; }
.service-catalog__heading { max-width: 900px; margin-bottom: 2.7rem; }
.service-catalog__heading h2 { margin-top: 1rem; font-size: clamp(2.1rem,3.45vw,3.3rem); line-height: 1.06; letter-spacing: -.041em; }
.service-catalog__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.service-catalog__card { min-height: 405px; display: flex; flex-direction: column; padding: 1.8rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); color: var(--business-text); text-decoration: none; transition: background .2s, box-shadow .2s; }
.service-catalog__card:hover { z-index: 2; background: #f2f7f4; box-shadow: 0 18px 45px rgba(16,53,39,.1); }
.service-catalog__top { display: flex; justify-content: space-between; color: #98724d; font: 500 .65rem/1 var(--font-mono); }
.service-catalog__card h3 { margin-top: 1.8rem; font-size: 1.42rem; line-height: 1.16; }
.service-catalog__card > p { margin-top: .8rem; color: var(--business-muted); font-size: .9rem; line-height: 1.6; }
.service-catalog__card ul { display: grid; gap: .45rem; margin-top: 1.3rem; list-style: none; }
.service-catalog__card li { position: relative; padding-left: .9rem; color: #405049; font-size: .78rem; }
.service-catalog__card li::before { content: ''; position: absolute; left: 0; top: .45rem; width: 4px; height: 4px; border-radius: 50%; background: #b18252; }
.service-catalog__sectors { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; padding-top: 1.4rem; }
.service-catalog__sectors span { padding: .28rem .48rem; background: #eef2ef; border-radius: 3px; color: #56625c; font-size: .68rem; }
.service-engagement__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,7vw,7rem); }
.service-engagement h2 { margin-top: 1rem; color: #fff; font-size: clamp(2.05rem,3.25vw,3.1rem); line-height: 1.07; letter-spacing: -.04em; }
.service-engagement__steps { border-top: 1px solid rgba(255,255,255,.15); }
.service-engagement__steps article { display: grid; grid-template-columns: .55fr 1.45fr; gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.service-engagement__steps strong { color: #fff; }
.service-engagement__steps p { color: rgba(255,255,255,.58); font-size: .88rem; line-height: 1.6; }
.service-hero { padding: calc(var(--nav-h) + 4.5rem) 0 4.8rem; background: linear-gradient(120deg,#0b2d20,#164631); color: #fff; }
.service-hero__inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.service-hero h1 { margin-top: 1.3rem; max-width: 840px; font-size: clamp(2.75rem,4.55vw,4.35rem); line-height: 1; letter-spacing: -.046em; text-wrap: balance; }
.service-hero__copy > p { max-width: 740px; margin-top: 1.4rem; color: rgba(255,255,255,.68); font-size: 1.08rem; line-height: 1.7; }
.service-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.service-hero__panel { padding: 1.8rem; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.05); }
.service-hero__panel > span { display: block; margin-bottom: 1rem; color: #d6ae78; font: 500 .66rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.service-hero__panel div { display: flex; gap: .65rem; padding: .72rem 0; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.72); font-size: .85rem; }
.service-hero__panel i { color: #d7b27f; font-style: normal; }
.service-outcomes { border-bottom: 1px solid var(--business-line); background: #fff; }
.service-outcomes__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-outcomes article { min-height: 155px; padding: 1.6rem; border-right: 1px solid var(--business-line); }
.service-outcomes article:first-child { border-left: 1px solid var(--business-line); }
.service-outcomes h2 { color: var(--business-green); font-size: 1.1rem; }
.service-outcomes p { margin-top: .55rem; color: var(--business-muted); font-size: .82rem; line-height: 1.52; }
.service-detail__grid { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: clamp(3rem,8vw,8rem); }
.service-detail__nav { position: sticky; top: calc(var(--nav-h) + 2rem); align-self: start; }
.service-sector-list { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.5rem 0; padding: 1.2rem 0; border-top: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); }
.service-sector-list strong { width: 100%; margin-bottom: .45rem; font-size: .82rem; }
.service-sector-list span { padding: .28rem .5rem; border-radius: 3px; background: #eef3ef; color: #4d5e55; font-size: .68rem; }
.service-prose { max-width: 820px; }
.service-prose h2 { font-size: 1.55rem; }
.service-capabilities { margin-top: 4rem; }
.service-capabilities__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 1.5rem; border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.service-capabilities__grid article { min-height: 145px; padding: 1.3rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); }
.service-capabilities__grid span { color: #99734d; font: 500 .64rem/1 var(--font-mono); }
.service-capabilities__grid h3 { margin-top: 1.1rem; font-size: 1rem; line-height: 1.35; }
.service-process__heading { max-width: 860px; }
.service-process__heading h2 { margin-top: 1rem; font-size: clamp(2.05rem,3.25vw,3.1rem); line-height: 1.07; letter-spacing: -.04em; }
.service-process__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 2.6rem; border-top: 1px solid var(--business-line); border-left: 1px solid var(--business-line); }
.service-process__grid article { min-height: 245px; padding: 1.5rem; border-right: 1px solid var(--business-line); border-bottom: 1px solid var(--business-line); background: #fff; }
.service-process__grid span { color: #9b7752; font: 500 .65rem/1 var(--font-mono); }
.service-process__grid h3 { margin-top: 1.4rem; font-size: 1.12rem; }
.service-process__grid p { margin-top: .65rem; color: var(--business-muted); font-size: .84rem; line-height: 1.58; }
.service-deliverables__grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,8rem); }
.service-deliverables h2 { margin-top: 1rem; font-size: clamp(2.05rem,3.15vw,3rem); line-height: 1.08; letter-spacing: -.039em; }
.service-deliverables__grid > div > p { margin-top: 1rem; color: var(--business-muted); line-height: 1.65; }
.service-deliverables ol { list-style: none; border-top: 1px solid var(--business-line); }
.service-deliverables li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--business-line); font-weight: 600; }
.service-deliverables li span { color: #9a7650; font: 500 .64rem/1.5 var(--font-mono); }
.case-grid a { min-height: 230px; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; color: #fff; text-decoration: none; }
.case-grid span { color: #d8b17d; font: 500 .64rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.case-grid h3 { margin-top: 1.5rem; font-size: 1.2rem; }
.case-grid p { margin-top: .7rem; color: rgba(255,255,255,.58); font-size: .86rem; line-height: 1.6; }

/* CTA and footer */
.cta-band { position: relative; overflow: hidden; background: linear-gradient(115deg,#164a35,#0b2d20); color: #fff; }
.cta-band::after { content: ''; position: absolute; width: 430px; height: 430px; right: -130px; top: -180px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.cta-band__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.cta-band__actions { display: flex; flex-direction: column; gap: .7rem; min-width: 220px; }
.foot__wordmark { width: 135px; max-height: 48px; object-fit: contain; object-position: left center; margin-bottom: 1rem; }

/* Responsive */
@media (max-width: 1120px) {
  .business-hero__inner, .product-hero__inner { grid-template-columns: 1fr; }
  .business-hero__copy { max-width: 850px; }
  .product-stage, .product-hero__visual { max-width: 900px; width: 100%; margin: 2rem auto 0; }
  .service-preview__grid, .service-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-foundation__grid, .product-modules__grid, .service-process__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-catalog__item { grid-template-columns: 1fr; gap: 2.5rem; }
  .product-catalog__item--reverse .product-catalog__copy { order: initial; }
  .product-catalog__visual { max-width: 900px; }
}

@media (max-width: 900px) {
  .business-hero { padding-top: calc(var(--nav-h) + 4rem); min-height: auto; }
  .business-intro .shell, .product-feature__header, .operating-model .shell,
  .portfolio-section__intro, .service-engagement__grid, .service-hero__inner,
  .product-overview__grid, .product-tour__mobile-row, .product-structure__grid,
  .service-detail__grid, .service-deliverables__grid, .process-section__layout { grid-template-columns: 1fr; }
  .process-section__intro { position: static; }
  .business-intro__body { padding-top: 0; }
  .product-feature__canvas { grid-template-columns: 1fr; }
  .product-feature__screen { margin: 2rem 2rem 0; border-radius: 8px; }
  .portfolio-grid, .insight-preview__grid, .documentation-grid, .related-products__grid,
  .related-services__grid, .case-grid { grid-template-columns: 1fr; }
  .portfolio-card { min-height: 500px; }
  .service-detail__nav { position: static; }
  .trust-strip__inner { flex-wrap: wrap; justify-content: flex-start; padding-block: 1.1rem; }
  .trust-strip__label { width: 100%; }
  .product-outcomes__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-outcomes article:nth-child(3) { border-left: 1px solid var(--business-line); }
}

@media (max-width: 680px) {
  .business-hero__copy h1, .catalog-hero h1, .product-hero__copy h1, .service-hero h1 { font-size: clamp(2.35rem,10vw,3.2rem); }
  .business-hero__inner, .product-hero__inner { gap: 2rem; }
  .business-hero__proof { display: grid; }
  .product-stage { min-height: 350px; transform: none; }
  .product-stage__desktop { transform: none; }
  .product-stage__phone { width: 112px; height: 232px; right: -5px; bottom: -18px; border-width: 4px; border-radius: 17px; }
  .product-stage__note, .product-stage__label { display: none; }
  .section-heading-row { align-items: flex-start; flex-direction: column; }
  .service-preview__grid, .service-catalog__grid, .operating-model__grid,
  .product-foundation__grid, .product-modules__grid, .product-use-cases__grid,
  .service-principles__grid, .service-outcomes__grid, .service-process__grid,
  .service-capabilities__grid { grid-template-columns: 1fr; }
  .steps-grid--business { grid-template-columns: 1fr; }
  .service-preview__card { min-height: 280px; }
  .product-feature__screen { margin: 1rem 1rem 0; }
  .product-feature__content { padding: 2rem 1.35rem; }
  .product-feature__canvas { min-height: 0; }
  .portfolio-card { min-height: 430px; padding-inline: 1.35rem; }
  .product-catalog__item { padding: 3.5rem 0; }
  .product-catalog__capabilities { grid-template-columns: 1fr; }
  .product-hero__visual { min-height: 270px; }
  .product-hero__mobile { width: 96px; height: 200px; bottom: -30px; right: -3px; border-width: 4px; border-radius: 16px; }
  .product-outcomes__grid { grid-template-columns: 1fr; }
  .product-outcomes article, .product-outcomes article:nth-child(3) { border-left: 1px solid var(--business-line); }
  .product-tour__desktop-grid { grid-template-columns: 1fr; }
  .product-tour__mobile-row { padding: 2rem 1rem; }
  .phone-gallery figure { min-width: 145px; }
  .phone-gallery img { width: 145px; height: 295px; }
  .layer-list article, .audience-list article, .service-engagement__steps article { grid-template-columns: 1fr; gap: .45rem; }
  .cta-band__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .cta-band__actions { width: 100%; }
}
