:root {
  --canvas: #0b0c0b;
  --ink: #f3efe6;
  --soft: #d5d1c7;
  --accent: #ff6542;
  --line: rgba(243,239,230,.18);
  --ease: cubic-bezier(.23,1,.32,1);
  --p: 0;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: "Inter", Arial, sans-serif; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.skip { position: fixed; z-index: 50; top: 1rem; left: 1rem; transform: translateY(-160%); background: var(--ink); color: var(--canvas); padding: .8rem 1rem; text-decoration: none; }
.skip:focus { transform: none; }
.hero { height: 440vh; }
.hero__sticky { position: sticky; top: 0; width: 100%; height: 100svh; overflow: hidden; background: var(--canvas); isolation: isolate; }
.hero__sticky::after { content: ""; position: absolute; inset: 1.35rem; z-index: 20; border: 1px solid var(--line); pointer-events: none; }
.scene, .scene > div { position: absolute; inset: 0; }
.scene { z-index: -3; overflow: hidden; background: #171715; }
.scene__back { inset: -4%; background: url("./assets/ai-horizon.png") center 52% / cover no-repeat; transform: scale(calc(1.08 + var(--p) * .045)) translate3d(calc((var(--mx,0) - .5) * -10px), calc(var(--p) * -2.5%), 0); filter: saturate(.65) contrast(1.05) brightness(.76); will-change: transform; }
.scene__haze { background: radial-gradient(circle at 53% calc(47% - var(--p) * 3%), rgba(255,244,218,.38), transparent 24%), linear-gradient(90deg, rgba(7,8,7,.45), transparent 42%, transparent 66%, rgba(7,8,7,.2)); opacity: calc(.45 - var(--p) * .18); transform: translateY(calc(var(--p) * -1.2%)); }
.scene__near { inset: auto -8% -23% -8%; height: 48%; background: linear-gradient(165deg, transparent 28%, rgba(5,6,5,.82) 62%), repeating-linear-gradient(96deg, transparent 0 7%, rgba(255,101,66,.08) 7.1% 7.25%); transform: translateY(calc(var(--p) * -7%)) scale(1.05); clip-path: polygon(0 44%, 20% 20%, 45% 52%, 63% 16%, 100% 36%, 100% 100%, 0 100%); }
.scene__grain { opacity: .16; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E"); }
.nav { position: absolute; z-index: 30; top: 1.7rem; left: 4.5%; right: 4.5%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; }
.brand { font-size: clamp(1.7rem, 2.8vw, 2.65rem); font-weight: 600; letter-spacing: -.09em; line-height: 1; text-decoration: none; }
.brand span { color: var(--accent); font-size: .78em; margin-left: .14em; }
.nav nav { display: flex; gap: 3.3rem; font-size: .76rem; font-weight: 600; }
.nav nav a { text-decoration: none; }
.nav sup { color: var(--accent); margin-left: .2rem; }
.nav__cta, .resolve__cta { justify-self: end; border: 1px solid rgba(243,239,230,.35); border-radius: 99rem; padding: 1rem 1.3rem; min-width: 12.5rem; display: flex; justify-content: space-between; gap: 1.5rem; font-size: .75rem; text-decoration: none; transition: background-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease); }
.nav__cta:active, .resolve__cta:active { transform: scale(.97); }
.micro { position: absolute; z-index: 12; top: 15%; font-size: .57rem; letter-spacing: .17em; font-weight: 600; opacity: calc(1 - clamp(0, (var(--p) - .1) * 10, 1)); }
.micro--left { left: 5%; }.micro--right { right: 5%; }
.opening { position: absolute; inset: 0; z-index: 8; opacity: calc(1 - clamp(0, (var(--p) - .08) * 9, 1)); transform: translateY(calc(var(--p) * -8vh)); }
.opening h1 { margin: 0; position: absolute; top: 25%; left: 50%; transform: translateX(-50%); font-size: clamp(8rem, 27vw, 28rem); letter-spacing: -.095em; line-height: .74; font-weight: 500; }
.opening__copy { position: absolute; left: 6%; bottom: 12%; max-width: 28rem; }
.opening__copy p { margin: 0 0 2rem; font-size: clamp(2rem, 3.7vw, 4rem); line-height: .95; letter-spacing: -.06em; }
.opening__copy em, .pathways h2 em { font-family: "Manrope", Arial, sans-serif; font-weight: 500; }
.opening__copy span { font-size: .8rem; line-height: 1.55; color: var(--soft); }
.pathways { position: absolute; inset: 0; z-index: 10; opacity: calc(clamp(0, (var(--p) - .1) * 9, 1) * (1 - clamp(0, (var(--p) - .65) * 7, 1))); pointer-events: none; }
.pathways__title { position: absolute; z-index: 4; top: 15%; left: 50%; width: min(42rem, 90vw); text-align: center; transform: translate(-50%, calc(clamp(0, (var(--p) - .15) * 4, 1) * -4vh)); opacity: calc(1 - clamp(0, (var(--p) - .52) * 7, 1)); }
.pathways__title > span { font-size: .58rem; letter-spacing: .2em; font-weight: 600; }
.pathways h2 { margin: 1.8rem 0 0; font-size: clamp(3rem, 5.2vw, 6rem); line-height: .87; letter-spacing: -.055em; font-weight: 400; }
.cards { position: absolute; inset: 0; perspective: 1200px; }
.card { --rot: 0deg; --x: 0%; position: absolute; z-index: 3; top: 43%; left: 50%; width: clamp(13rem, 23vw, 24rem); aspect-ratio: .68; padding: 1.2rem; overflow: hidden; border: 1px solid rgba(255,255,255,.22); color: var(--ink); background: #171817; text-align: left; cursor: pointer; pointer-events: auto; box-shadow: 0 28px 70px rgba(3,4,3,.38); transform: translate(-50%, -50%) translateX(calc(var(--x) * clamp(0, (var(--p) - .12) * 3.5, 1))) translateY(calc((1 - clamp(0, (var(--p) - .12) * 4, 1)) * 42vh)) rotate(calc(var(--rot) * clamp(0, (var(--p) - .12) * 4, 1))) scale(calc(.72 + clamp(0, (var(--p) - .12) * 4, 1) * .28)); transition: border-color .16s var(--ease); will-change: transform; }
.card--strategy { --x: -108%; --rot: -8deg; z-index: 2; }.card--systems { --x: 0%; --rot: 2deg; z-index: 4; }.card--scale { --x: 108%; --rot: 8deg; z-index: 3; }
.card__media { position: absolute; inset: 0; background: url("./assets/ai-horizon.png") center / cover no-repeat; filter: saturate(.72) contrast(1.08) brightness(.76); transition: filter .18s var(--ease), transform .3s var(--ease); }
.card--strategy .card__media { background-position: 20% center; }.card--systems .card__media { background-position: 52% center; }.card--scale .card__media { background-position: 82% center; }
.card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,6,5,.05), transparent 45%, rgba(5,6,5,.65)); }
.card span:not(.card__media) { position: relative; z-index: 2; display: block; }
.card__top { font-size: .58rem; letter-spacing: .13em; font-weight: 600; }
.card__bottom { position: absolute !important; bottom: 1.1rem; left: 1.1rem; right: 1.1rem; font-size: clamp(.75rem, 1.2vw, 1rem); font-weight: 500; }
.card__bottom b { float: right; font-size: 1.2rem; }
.pathways__note { position: absolute; left: 6%; bottom: 11%; font-size: .65rem; line-height: 1.45; color: var(--soft); opacity: calc(1 - clamp(0, (var(--p) - .55) * 8, 1)); }
.pathways__note b { font-size: .55rem; letter-spacing: .15em; color: var(--ink); }
.resolve { position: absolute; inset: 0; z-index: 11; opacity: clamp(0, (var(--p) - .67) * 8, 1); pointer-events: none; }
.resolve h2 { position: absolute; top: 48%; left: 5%; margin: 0; transform: translateY(-50%) scale(calc(.92 + clamp(0, (var(--p) - .67) * 5, 1) * .08)); transform-origin: left center; font-size: clamp(7rem, 22vw, 22rem); font-weight: 500; line-height: .72; letter-spacing: -.09em; }
.resolve__meta { position: absolute; top: 12%; font-size: .58rem; letter-spacing: .17em; font-weight: 600; }.resolve__meta--left { left: 6%; }.resolve__meta--right { right: 6%; }
.resolve__copy { position: absolute; left: 6%; bottom: 11%; max-width: 33rem; }.resolve__copy b { font-size: .58rem; letter-spacing: .17em; }.resolve__copy p { margin: 1rem 0 0; font-size: clamp(1.45rem, 2.8vw, 3rem); line-height: 1; letter-spacing: -.045em; }
.resolve__cta { position: absolute; right: 6%; bottom: 11%; pointer-events: auto; }
.quiet { position: absolute; z-index: 31; left: 4.7%; bottom: 3.1%; border: 0; background: none; color: var(--ink); font: 500 .6rem "Inter", sans-serif; cursor: pointer; }.quiet span { margin-right: .45rem; }
.chapter { position: absolute; z-index: 31; right: 9%; bottom: 3.1%; display: flex; align-items: center; gap: .8rem; font-size: .58rem; letter-spacing: .12em; }.chapter b { color: var(--accent); }.chapter__line { width: clamp(9rem, 22vw, 24rem); height: 2px; background: linear-gradient(90deg, var(--accent) calc(var(--p) * 100%), rgba(243,239,230,.25) 0); }
.next { position: absolute; z-index: 31; right: 4.5%; bottom: 2.1%; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(243,239,230,.34); border-radius: 50%; background: rgba(9,10,9,.15); color: var(--ink); font-size: 1rem; cursor: pointer; }
body.quiet-view .scene__haze, body.quiet-view .scene__near, body.quiet-view .scene__grain { opacity: 0; }
body.quiet-view .scene__back { filter: saturate(.2) contrast(1.05) brightness(.7); }
@media (hover:hover) and (pointer:fine) {
  .nav__cta:hover, .resolve__cta:hover { background: var(--ink); color: var(--canvas); }
  .card:hover { border-color: var(--accent); }.card:hover .card__media { filter: saturate(.95) brightness(.9); transform: scale(1.025); }
}
@media (max-width: 700px) {
  .hero { height: 360vh; }.hero__sticky::after { inset: .65rem; }.nav { top: 1.2rem; left: 1.3rem; right: 1.3rem; grid-template-columns: 1fr auto; }.brand { font-size: 1.75rem; }.nav nav { display: none; }.nav__cta { min-width: 0; padding: .75rem 1rem; }.nav__cta span { display:none; }
  .micro { top: 12%; font-size: .45rem; }.micro--left { left: 1.5rem; }.micro--right { right: 1.5rem; }
  .opening h1 { top: 29%; font-size: 29vw; }.opening__copy { left: 1.5rem; right: 1.5rem; bottom: 13%; }.opening__copy p { font-size: 2.8rem; }.opening__copy span { font-size: .74rem; }
  .pathways__title { top: 14%; }.pathways h2 { font-size: 2.75rem; }.cards { top: 5%; }.card { top: 51%; width: 50vw; padding: .8rem; }.card--strategy { --x: -67%; --rot: -7deg; }.card--scale { --x: 67%; --rot: 7deg; }.card__bottom { left: .75rem; right: .75rem; bottom: .75rem; font-size: .7rem; }
  .pathways__note { left: 1.5rem; bottom: 11%; }.resolve h2 { top: 44%; left: 1.2rem; font-size: 26vw; }.resolve__meta { top: 13%; font-size: .46rem; }.resolve__meta--left { left: 1.5rem; }.resolve__meta--right { right: 1.5rem; max-width: 8rem; text-align: right; }.resolve__copy { left: 1.5rem; right: 1.5rem; bottom: 21%; }.resolve__copy p { font-size: 1.8rem; }.resolve__cta { left: 1.5rem; right: 1.5rem; bottom: 11%; justify-content: space-between; }
  .quiet { left: 1.5rem; bottom: 2.2%; }.chapter { display: none; }.next { right: 1.4rem; bottom: 1.25%; }
  .scene__back { background-position: 54% center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.hero { height: 100svh; }.scene__back, .scene__near, .opening, .card, .pathways__title, .resolve h2 { transform: none !important; }.opening { opacity: 1; }.pathways, .resolve { display: none; }
}

/* Integra site system */
:root { --paper:#eeeae0; --paper-soft:#d8d3c9; --ink-dark:#111210; --surface:#181a17; --gutter:clamp(1.4rem,5vw,5.5rem); }
body { overflow-x:hidden; }
em { font-family:"Manrope", Arial, sans-serif; font-weight:500; }
.brand { position:relative; display:inline-flex; align-items:flex-start; width:max-content; }
.brand small { display:block; margin:.38rem 0 0 .7rem; font-size:.38rem; letter-spacing:.17em; line-height:1.1; font-weight:600; }
.nav--hero { grid-template-columns:minmax(9rem,1fr) auto minmax(12rem,1fr); }
.nav--hero nav { gap:clamp(1.2rem,2.8vw,3rem); }
.opening h1 { font-size:clamp(7rem,21vw,22rem); }
.home-page .opening h1 { top:22%; font-family:"Manrope", Arial, sans-serif; font-size:clamp(8rem,19vw,20rem); font-style:normal; font-weight:500; letter-spacing:-.045em; }
.section { position:relative; padding:clamp(6rem,11vw,11rem) var(--gutter); }
.section--light { background:var(--paper); color:var(--ink-dark); }
.section--dark { background:#111310; color:var(--ink); }
.section--ink { background:#20231e; color:var(--ink); }
.kicker { display:block; margin-bottom:1.8rem; font-size:.62rem; line-height:1.2; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.section__head { display:grid; grid-template-columns:minmax(15rem,1.2fr) minmax(18rem,.8fr); column-gap:8vw; align-items:end; margin-bottom:clamp(4rem,8vw,8rem); }
.section__head .kicker { grid-column:1/-1; }
.section__head h2 { margin:0; max-width:13ch; font-size:clamp(3.6rem,7vw,7.5rem); line-height:.88; letter-spacing:-.065em; font-weight:400; text-wrap:balance; }
.section__head p { margin:0 0 .6rem; max-width:48ch; font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.6; }
.text-link { display:inline-flex; align-items:center; gap:1.2rem; width:max-content; padding-bottom:.35rem; border-bottom:1px solid currentColor; color:inherit; text-decoration:none; font-size:.85rem; font-weight:600; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:2rem; min-width:14rem; padding:1.05rem 1.25rem; border:1px solid currentColor; border-radius:99rem; color:inherit; text-decoration:none; font:600 .76rem "Inter",sans-serif; cursor:pointer; transition:transform .14s var(--ease), background-color .16s var(--ease), color .16s var(--ease); }
.button:active { transform:scale(.97); }.button--light { color:var(--ink); }.button--dark { width:100%; border-color:var(--ink-dark); background:var(--ink-dark); color:var(--paper); }
.reveal { opacity:0; transform:translateY(2rem); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

.focus-section { min-height:100vh; }
.focus-picker { display:flex; gap:0; margin-bottom:0; border-top:1px solid rgba(17,18,16,.25); }
.focus-picker button { flex:1; padding:1.4rem 1rem; border:0; border-right:1px solid rgba(17,18,16,.25); background:transparent; color:var(--ink-dark); font:500 clamp(1rem,1.7vw,1.5rem) "Inter",sans-serif; cursor:pointer; text-align:left; }
.focus-picker button:last-child { border-right:0; }.focus-picker button[aria-selected="true"] { background:var(--ink-dark); color:var(--paper); }
.focus-panel { display:grid; grid-template-columns:1.15fr .85fr; min-height:34rem; background:var(--ink-dark); color:var(--paper); }
.focus-panel>div { padding:clamp(2rem,5vw,5rem); }.focus-panel h3 { margin:1rem 0 1.8rem; max-width:12ch; font-size:clamp(2.8rem,5vw,5.5rem); line-height:.9; letter-spacing:-.055em; font-weight:400; }
.focus-panel p { max-width:52ch; line-height:1.65; }.focus-panel__detail { display:flex; flex-direction:column; justify-content:flex-end; border-left:1px solid rgba(238,234,224,.18); background:linear-gradient(155deg,#252822,#151713); }
.focus-panel__detail>span { color:var(--accent); font-size:.63rem; letter-spacing:.15em; text-transform:uppercase; }.focus-panel__detail p { font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.35; }.focus-panel__detail b { margin-top:2rem; font-size:.76rem; font-weight:500; color:var(--paper-soft); }

.process-tease { min-height:140vh; display:grid; grid-template-columns:1.05fr .95fr; grid-template-rows:auto auto; gap:clamp(2rem,6vw,7rem); align-items:center; }
.image-stage { position:sticky; top:10vh; height:78vh; overflow:hidden; box-shadow:0 28px 80px rgba(0,0,0,.3); }.image-stage img { width:100%; height:100%; object-fit:cover; object-position:60% center; filter:saturate(.72) brightness(.84); transform:scale(1.04); }
.process-tease__copy h2 { margin:0 0 2rem; font-size:clamp(4rem,8vw,8rem); line-height:.85; letter-spacing:-.07em; font-weight:400; }.process-tease__copy p { max-width:42ch; margin:0 0 2.5rem; color:var(--paper-soft); font-size:1.1rem; line-height:1.7; }
.process-line { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(238,234,224,.25); }
.process-line li { min-height:10rem; padding:1.5rem; border-right:1px solid rgba(238,234,224,.2); }.process-line li:last-child{border-right:0}.process-line b { display:block; margin-bottom:2rem; color:var(--accent); font-size:1.2rem; }.process-line span { font-size:.82rem; color:var(--paper-soft); }

.industry-preview { overflow:hidden; }.industry-rail { display:grid; grid-template-columns:repeat(3,minmax(22rem,1fr)); gap:1px; margin-right:calc(var(--gutter) * -1); background:rgba(238,234,224,.2); }
.industry-rail article { min-height:28rem; padding:3rem 2rem; background:#20231e; display:flex; flex-direction:column; }.industry-rail article>span,.use-cases article>span { color:var(--accent); font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; }.industry-rail h3 { margin:auto 0 1.4rem; max-width:13ch; font-size:clamp(2rem,3vw,3.5rem); line-height:.95; letter-spacing:-.045em; font-weight:400; }.industry-rail p { margin:0; max-width:38ch; color:var(--paper-soft); line-height:1.6; font-size:.9rem; }.industry-rail p b { color:var(--ink); font-weight:500; }
.industry-preview>.text-link { margin-top:3rem; }

.trust { display:grid; grid-template-columns:.82fr 1.18fr; gap:10vw; }.trust__intro { position:sticky; top:12vh; align-self:start; }.trust h2 { margin:0 0 2rem; max-width:9ch; font-size:clamp(4rem,7vw,7rem); line-height:.86; letter-spacing:-.065em; font-weight:400; }.trust__intro p { max-width:42ch; line-height:1.65; }.trust-ledger>div { display:grid; grid-template-columns:3rem 1fr; column-gap:1.5rem; padding:2.2rem 0; border-top:1px solid rgba(17,18,16,.25); }.trust-ledger>div>b { grid-row:1/3; color:var(--accent); }.trust-ledger h3 { margin:0 0 .8rem; font-size:1.6rem; font-weight:500; }.trust-ledger p { margin:0; max-width:45ch; line-height:1.6; }

.closing-cta { min-height:82vh; padding:clamp(6rem,10vw,10rem) var(--gutter); display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:6vw; background:var(--accent); color:#171310; }.closing-cta h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.82; letter-spacing:-.075em; font-weight:500; }.closing-cta p { max-width:42ch; line-height:1.6; }.closing-cta__actions { display:flex; flex-direction:column; align-items:flex-start; gap:1.8rem; padding-bottom:1rem; }
.closing-cta--services h2 { margin-top:1.8rem; font-size:clamp(4.5rem,7vw,8rem); line-height:.9; }
.closing-cta--services h2 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.closing-cta--home h2 { margin-top:1.8rem; font-size:clamp(4.5rem,6.2vw,7rem); line-height:.9; }
.closing-cta--home h2 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.closing-cta--home p { margin:1.75rem 0 0; }
.closing-cta--about { grid-template-columns:minmax(0,1.55fr) minmax(15rem,.45fr); gap:4vw; }
.closing-cta--about h2 { margin-top:1.8rem; font-size:clamp(4.5rem,6.8vw,7rem); line-height:.9; letter-spacing:-.065em; }
.closing-cta--about h2 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }

.footer { display:grid; grid-template-columns:1fr 1fr; gap:4rem 8vw; padding:5rem var(--gutter) 2rem; background:#0b0c0b; color:var(--ink); border-top:1px solid rgba(238,234,224,.18); }.footer p { max-width:32ch; margin:0; color:var(--paper-soft); line-height:1.6; }.footer nav { grid-column:2; display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; }.footer nav a { text-decoration:none; font-size:.8rem; }.footer>small { grid-column:1/-1; padding-top:3rem; border-top:1px solid rgba(238,234,224,.12); color:#9e9a91; font-size:.65rem; }.brand--footer { font-size:2.5rem; }

.site-nav { position:relative; z-index:40; height:6.5rem; padding:1.6rem var(--gutter); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; background:#0b0c0b; color:var(--ink); border-bottom:1px solid rgba(238,234,224,.14); }.site-nav nav { display:flex; gap:clamp(1.2rem,2.8vw,3rem); }.site-nav nav a { padding:.45rem 0; color:inherit; text-decoration:none; font-size:.78rem; font-weight:600; }.site-nav nav a[aria-current="page"] { border-bottom:1px solid var(--accent); }.menu-toggle { display:none; }
.page-hero { position:relative; min-height:calc(100svh - 6.5rem); overflow:hidden; background:#0b0c0b; color:var(--ink); }.page-hero--image { display:flex; align-items:center; }.page-hero__media { position:absolute; inset:-3%; background:center/cover no-repeat; filter:saturate(.7) contrast(1.05) brightness(.7); transform:scale(1.035); }.page-hero__scrim { position:absolute; inset:0 40% 0 0; background:linear-gradient(90deg,rgba(8,9,8,.9),rgba(8,9,8,.48),transparent); }.page-hero__copy { position:relative; z-index:2; padding:8vh var(--gutter); max-width:70rem; }.page-hero__copy--low { align-self:flex-end; padding-bottom:9vh; }.page-hero h1 { margin:0 0 2rem; font-size:clamp(5rem,10vw,11rem); line-height:.82; letter-spacing:-.08em; font-weight:500; }.page-hero p { max-width:46ch; margin:0 0 2.5rem; color:var(--paper-soft); font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.65; }.page-hero--plain { display:flex; align-items:center; }.page-hero--plain .page-hero__copy { padding-right:40vw; }
.services-hero .page-hero__copy { max-width:62rem; }
.services-hero h1 { margin:1.5rem 0 1.5rem; font-size:clamp(4.5rem,7.2vw,7.5rem); line-height:.9; letter-spacing:-.065em; }
.services-hero h1 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.services-hero p { max-width:42ch; }
.industries-hero .page-hero__copy { max-width:62rem; }
.industries-hero h1 { margin:1.4rem 0 1.4rem; font-size:clamp(4.5rem,6.8vw,7rem); line-height:.92; letter-spacing:-.065em; }
.industries-hero h1 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.industries-hero p { max-width:42ch; }
.orbit { position:absolute; right:5vw; top:50%; width:min(38vw,35rem); aspect-ratio:1; transform:translateY(-50%); }.orbit i { position:absolute; inset:0; border:1px solid rgba(238,234,224,.22); border-radius:50%; }.orbit i:nth-child(2){inset:12%}.orbit i:nth-child(3){inset:25%}.orbit b { position:absolute; top:49%; left:49%; width:2.5%; aspect-ratio:1; border-radius:50%; background:var(--accent); box-shadow:0 0 0 2rem rgba(255,101,66,.06); }
.approach-hero .page-hero__copy { width:100%; max-width:none; padding-right:var(--gutter); }
.approach-hero h1 { max-width:none; margin:0 0 1.5rem; font-size:clamp(4.25rem,6.2vw,7rem); line-height:.9; letter-spacing:-.065em; text-wrap:balance; }
.approach-hero h1 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.approach-hero h1 span:last-child { margin-left:clamp(1.25rem,2.5vw,2.5rem); }
.approach-hero p { margin-left:clamp(1.25rem,2.5vw,2.5rem); }
.approach-hero .orbit { width:min(26vw,27rem); }
.approach-hero__mobile-break { display:none; }

.service-band { display:grid; grid-template-columns:.7fr 1.3fr; gap:10vw; }.service-band__title { position:sticky; top:10vh; align-self:start; }.service-band__title>span { color:var(--accent); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; }.service-band h2,.industry-detail h2,.other-industries h2,.safeguard-callout h2 { margin:1.4rem 0 1.5rem; font-size:clamp(3.5rem,6vw,6.5rem); line-height:.88; letter-spacing:-.06em; font-weight:400; }.service-band__title p,.industry-detail header p { max-width:38ch; line-height:1.65; }.service-band__items article { padding:2rem 0 3rem; border-top:1px solid currentColor; }.service-band__items h3 { margin:0 0 1rem; font-size:clamp(1.6rem,2.4vw,2.5rem); font-weight:400; }.service-band__items p { max-width:53ch; margin:0; line-height:1.65; opacity:.78; }
.safeguard-callout,.other-industries,.contact-assurance { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:start; }.safeguard-callout p,.other-industries>p,.contact-assurance>p { max-width:48ch; font-size:1.15rem; line-height:1.7; }
.safeguard-callout h2 { line-height:.92; }
.safeguard-callout h2 span { display:block; }

.industry-detail { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }.industry-detail header { position:sticky; top:10vh; align-self:start; }.use-cases { display:grid; gap:1px; background:rgba(128,128,128,.25); }.use-cases article { min-height:14rem; padding:2rem; background:inherit; }.section--light .use-cases article { background:var(--paper); }.section--dark .use-cases article { background:#111310; }.section--ink .use-cases article { background:#20231e; }.use-cases h3 { margin:2rem 0 .8rem; font-size:1.8rem; font-weight:400; }.use-cases p { margin:0; line-height:1.65; opacity:.78; }

.approach-steps { padding-top:4rem; }.step { display:grid; grid-template-columns:.45fr 1.55fr; gap:4vw; padding:4rem 0; border-top:1px solid rgba(17,18,16,.28); }.step>span { color:var(--accent); font-size:.66rem; letter-spacing:.16em; }.step h2 { margin:0 0 1.5rem; font-size:clamp(3rem,5.5vw,6rem); line-height:.9; letter-spacing:-.055em; font-weight:400; }.step p { max-width:50ch; font-size:1.1rem; line-height:1.65; }.step ul { padding:0; margin:2rem 0 0; list-style:none; }.step li { padding:.8rem 0; border-top:1px solid rgba(17,18,16,.16); }
.principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(238,234,224,.18); }.principle-grid>div { min-height:18rem; padding:2.5rem; background:#111310; }.principle-grid h3 { margin:0 0 5rem; font-size:1.8rem; font-weight:400; }.principle-grid p { max-width:40ch; color:var(--paper-soft); line-height:1.65; }

.about-mark { position:absolute; right:7vw; top:50%; transform:translateY(-50%); font-size:30vw; line-height:.7; letter-spacing:-.13em; color:rgba(238,234,224,.06); }.about-mark span { color:rgba(255,101,66,.45); font-size:.18em; }
.about-hero .page-hero__copy { width:100%; max-width:none; padding-right:var(--gutter); }
.about-hero h1 { margin:1.5rem 0 1.4rem; font-size:clamp(4.25rem,6vw,6.75rem); line-height:.92; letter-spacing:-.065em; }
.about-hero h1 span { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.about-hero h1 span:last-child { margin-left:clamp(1.25rem,2.5vw,2.5rem); }
.about-hero p { margin-left:clamp(1.25rem,2.5vw,2.5rem); max-width:43ch; }
.about-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; }.about-story h2 { margin:0; font-size:clamp(4rem,7vw,7rem); line-height:.87; letter-spacing:-.06em; font-weight:400; }.about-story__copy>p { margin:0 0 2rem; font-size:clamp(1.2rem,1.8vw,1.55rem); line-height:1.65; }.about-story aside { margin-top:4rem; padding:2rem; border:1px solid rgba(17,18,16,.28); }.about-story aside b { color:#b73e28; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }.about-story aside p { margin:1rem 0 0; font-size:.9rem; line-height:1.65; }
.values-list { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(238,234,224,.18); }.values-list>div { min-height:20rem; padding:2rem; display:flex; flex-direction:column; justify-content:space-between; background:#111310; }.values-list b { color:var(--accent); font-size:1.35rem; }.values-list p { color:var(--paper-soft); line-height:1.6; }

.contact-layout { min-height:calc(100svh - 6.5rem); padding:clamp(5rem,9vw,9rem) var(--gutter); display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:var(--paper); color:var(--ink-dark); }.contact-intro h1 { margin:0 0 2rem; font-size:clamp(4rem,7vw,8rem); line-height:.85; letter-spacing:-.07em; font-weight:500; }.contact-intro>p { max-width:45ch; font-size:1.1rem; line-height:1.65; }.contact-expect { margin-top:4rem; padding-top:1.5rem; border-top:1px solid rgba(17,18,16,.25); }.contact-expect ol { padding-left:1.2rem; line-height:1.8; }.contact-form { padding:clamp(2rem,4vw,4rem); background:#ded9cf; align-self:start; }.field { margin-bottom:1.8rem; }.field label { display:block; margin-bottom:.65rem; font-size:.75rem; font-weight:600; }.field input,.field textarea { width:100%; border:0; border-bottom:1px solid rgba(17,18,16,.45); border-radius:0; padding:.8rem .2rem; background:transparent; color:var(--ink-dark); font:1rem "Inter",sans-serif; }.field textarea { resize:vertical; }.field input:focus,.field textarea:focus { outline:0; border-color:var(--accent); box-shadow:0 2px 0 var(--accent); }.form-note,.form-status { font-size:.72rem; line-height:1.5; }.form-status { min-height:3rem; margin-top:1rem; color:#94301e; font-weight:600; }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-status.is-success { color:#315f36; }
.form-status.is-error { color:#94301e; }
.contact-form button:disabled { cursor:wait; opacity:.58; }

@media (hover:hover) and (pointer:fine) { .button--light:hover { background:var(--ink-dark); color:var(--paper); }.text-link:hover span { transform:translate(.2rem,-.2rem); }.text-link span { transition:transform .16s var(--ease); } }
@media (max-width:950px) {
  .nav--hero,.site-nav { grid-template-columns:1fr auto; }.nav--hero nav,.site-nav nav { display:none; position:absolute; top:calc(100% + 1rem); left:0; right:0; padding:1.5rem; flex-direction:column; gap:1rem; background:#111310; border:1px solid rgba(238,234,224,.2); }.nav--hero.is-open nav,.site-nav.is-open nav { display:flex; }.nav--hero .nav__cta,.site-nav .nav__cta { display:none; }.menu-toggle { display:block; justify-self:end; border:1px solid rgba(238,234,224,.32); border-radius:99rem; padding:.75rem 1rem; background:transparent; color:inherit; font:600 .7rem "Inter",sans-serif; }.brand small{display:none}.section__head,.service-band,.industry-detail,.about-story,.contact-layout { grid-template-columns:1fr; }.service-band__title,.industry-detail header,.trust__intro { position:relative; top:auto; }.trust { grid-template-columns:1fr; }.values-list { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
  .opening h1 { font-size:25vw; }.nav--hero .menu-toggle { display:block; }.nav--hero .nav__cta { display:none; }
  .home-page .opening h1 { top:30%; font-size:24vw; }
  .section { padding:5.5rem 1.4rem; }.section__head { gap:2rem; }.section__head h2 { font-size:3.7rem; }.focus-picker button { padding:1rem .7rem; font-size:.9rem; }.focus-panel { grid-template-columns:1fr; }.focus-panel>div { padding:2rem 1.4rem; }.focus-panel__detail { border-left:0; border-top:1px solid rgba(238,234,224,.18); }.process-tease { display:block; min-height:auto; }.image-stage { position:relative; top:auto; height:58vh; margin-bottom:4rem; }.process-line { grid-template-columns:1fr 1fr; margin-top:4rem; }.process-line li:nth-child(2){border-right:0}.process-line li { border-bottom:1px solid rgba(238,234,224,.2); }.industry-rail { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin-right:-1.4rem; }.industry-rail article { min-width:82vw; scroll-snap-align:start; }.trust h2 { font-size:4rem; }.closing-cta { min-height:75vh; padding:5rem 1.4rem; grid-template-columns:1fr; align-content:space-between; }.closing-cta h2 { font-size:4.4rem; }.footer { grid-template-columns:1fr; padding:4rem 1.4rem 2rem; }.footer nav { grid-column:1; }.site-nav { height:5.5rem; padding:1.2rem 1.4rem; }.site-nav .brand { font-size:1.75rem; }.page-hero { min-height:calc(100svh - 5.5rem); }.page-hero__scrim { inset:35% 0 0; background:linear-gradient(0deg,rgba(8,9,8,.94),rgba(8,9,8,.35),transparent); }.page-hero__copy,.page-hero__copy--low { align-self:flex-end; padding:4rem 1.4rem; }.page-hero h1 { font-size:4.5rem; }.page-hero--plain .page-hero__copy { padding:5rem 1.4rem 16rem; }.orbit { top:auto; bottom:2rem; right:-10vw; width:75vw; transform:none; }.step { grid-template-columns:1fr; }.principle-grid { grid-template-columns:1fr; }.principle-grid>div { min-height:14rem; }.values-list { grid-template-columns:1fr; }.values-list>div { min-height:14rem; }.safeguard-callout,.other-industries,.contact-assurance { grid-template-columns:1fr; }.contact-layout { padding:4rem 1.4rem; }.contact-intro h1 { font-size:4.3rem; }.contact-form { padding:2rem 1.3rem; }.about-mark { top:30%; right:-8vw; font-size:65vw; }
}

/* Typography option 01: Manrope display + Inter utility/body */
:root {
  --font-display: "Manrope", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
}

html { overflow-x: clip; }
body {
  font-family: var(--font-body);
  font-size: 1.125rem;
  font-weight: 400;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6,
.section__head h2,
.page-hero h1,
.contact-intro h1,
.closing-cta h2,
.trust h2,
.service-band h2,
.industry-detail h2,
.about-story h2,
em {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 500;
}

body p {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.18vw, 1.125rem);
  font-weight: 400;
  line-height: 1.65;
}

.brand,
.site-nav .brand {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 3.15vw, 3.35rem);
  font-weight: 600;
  letter-spacing: -.075em;
}

.brand small {
  margin-top: .48rem;
  font-family: var(--font-body);
  font-size: .4rem;
  letter-spacing: .18em;
}

.nav a,
.site-nav a,
.button,
.focus-picker button,
.field label,
.field input,
.field textarea,
.menu-toggle,
.quiet,
.kicker,
.micro,
.eyebrow,
.chapter,
.card__top,
.card__bottom {
  font-family: var(--font-body);
}

.nav .brand,
.site-nav .brand,
.footer .brand {
  font-family: var(--font-display);
}

.opening__copy p {
  font-family: var(--font-display);
  font-weight: 500;
}

.opening__copy span {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.18vw, 1.125rem);
  line-height: 1.65;
}

.home-page .opening h1 {
  top: 24%;
  width: min(94vw, 112rem);
  max-width: calc(100vw - 2rem);
  font-family: var(--font-display);
  font-size: clamp(7rem, 17.2vw, 18rem);
  font-style: normal;
  font-weight: 500;
  letter-spacing: -.078em;
  line-height: .8;
  text-align: center;
  white-space: nowrap;
}

@media (min-width:701px) and (max-width:1100px) {
  .brand,
  .site-nav .brand { font-size: 2.55rem; }
  .home-page .opening h1 {
    font-size: clamp(7rem, 16.6vw, 11.5rem);
  }
}

@media (max-width:700px) {
  body { font-size: 1rem; }
  body p { font-size: 1rem; }
  .brand,
  .site-nav .brand { font-size: 2.15rem; }
  .home-page .opening h1 {
    top: 31%;
    width: calc(100vw - 2.5rem);
    max-width: calc(100vw - 2.5rem);
    font-size: clamp(3.2rem, 16.8vw, 4.75rem);
    letter-spacing: -.07em;
  }
  .micro--right { display: none; }
  .micro--left {
    right: 1.5rem;
    font-size: .5rem;
  }
  .approach-hero .page-hero__copy {
    align-self:center;
    padding:4rem 1.4rem 15rem;
  }
  .approach-hero h1 {
    margin-bottom:1.25rem;
    font-size:clamp(2.75rem,11.5vw,3rem);
    line-height:.92;
  }
  .approach-hero h1 span { white-space:normal; }
  .approach-hero h1 span:last-child,
  .approach-hero p { margin-left:0; }
  .approach-hero h1 span:last-child { margin-top:.18em; }
  .approach-hero__mobile-break { display:block; }
  .approach-hero .orbit { width:75vw; }
  .closing-cta--services h2 {
    font-size:clamp(3rem,13.5vw,3.6rem);
    line-height:.92;
  }
  .closing-cta--home h2 {
    margin-top:1.25rem;
    font-size:clamp(2.55rem,10.6vw,2.85rem);
    line-height:.94;
  }
  .closing-cta--home p { margin-top:1.25rem; }
  .closing-cta--about { grid-template-columns:1fr; }
  .closing-cta--about h2 {
    margin-top:1.25rem;
    font-size:clamp(2.65rem,11vw,3.15rem);
    line-height:.94;
    letter-spacing:-.055em;
  }
  .closing-cta--about h2 span { width:auto; white-space:normal; }
  .services-hero h1 {
    margin:1.25rem 0;
    font-size:clamp(2.7rem,11.25vw,2.9rem);
    line-height:.94;
  }
  .industries-hero h1 {
    margin:1.2rem 0;
    font-size:clamp(2.7rem,11.25vw,2.9rem);
    line-height:.96;
  }
  .about-hero .page-hero__copy { padding:5rem 1.4rem 15rem; }
  .about-hero h1 {
    margin:1.2rem 0;
    font-size:clamp(2.35rem,10vw,2.6rem);
    line-height:.96;
  }
  .about-hero h1 span:last-child,
  .about-hero p { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; transition:none; }.orbit b { box-shadow:none; } }
.mobile-book { display:none; }
@media (max-width:950px) {
  .nav--hero nav .mobile-book,.site-nav nav .mobile-book { display:block; margin-top:.5rem; padding-top:1.2rem; border-top:1px solid var(--accent); color:var(--ink); }
}

/* Persistent primary navigation */
.site-nav {
  position:sticky;
  top:0;
  z-index:100;
}

.home-page .nav--hero {
  position:fixed;
  top:0;
  left:0;
  right:0;
  min-height:6.5rem;
  padding:1.6rem var(--gutter);
  background:rgba(11,12,11,.9);
  border-bottom:1px solid rgba(238,234,224,.14);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.home-page .nav--hero nav a[aria-current="page"] {
  border-bottom:1px solid var(--accent);
}

@media (max-width:950px) {
  .home-page .nav--hero {
    min-height:5.5rem;
    padding:1.2rem 1.4rem;
    grid-template-columns:1fr auto;
  }
  .home-page .nav--hero nav {
    top:100%;
    left:1.4rem;
    right:1.4rem;
  }
}

/* Contact-page headline composition */
.contact-intro h1 {
  margin:1.5rem 0 1.5rem;
  font-size:clamp(3.75rem,4.8vw,5.25rem);
  line-height:.94;
  letter-spacing:-.06em;
}

.contact-intro h1 span {
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
}

@media (max-width:700px) {
  .contact-intro h1 {
    margin:1.2rem 0;
    font-size:clamp(2.55rem,10.6vw,2.85rem);
    line-height:.96;
  }
}
