:root {
    --ink: #050710;
    --ink-2: #0a1020;
    --navy: #071a31;
    --navy-2: #0d2946;
    --cyan: #79f2f5;
    --cyan-2: #33d9e5;
    --purple: #bc3fff;
    --purple-2: #8b5dff;
    --blue: #1168ff;
    --white: #f8fbff;
    --paper: #eef5f8;
    --muted: #b8c5d2;
    --dark-muted: #59697a;
    --line: rgba(255,255,255,.13);
    --shadow: 0 24px 70px rgba(0,0,0,.28);
    --radius: 26px;
    --max: 1200px;
    --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); color: #111827; background: var(--paper); line-height: 1.6; overflow-x: hidden; }
body::selection { background: var(--purple); color: white; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 9999; background: white; color: black; padding: 10px 16px; border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 16px; }
.section-shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; padding: 16px 0; transition: .25s ease; }
.site-header.scrolled { background: rgba(5,7,16,.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); padding: 9px 0; }
.header-shell { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { width: 176px; height: 82px; display: flex; align-items: center; overflow: hidden; border-radius: 18px; box-shadow: 0 16px 34px rgba(0,0,0,.22); background: #02050a; }
.brand img { width: 100%; height: 100%; object-fit: cover; }
.primary-nav { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid rgba(255,255,255,.1); background: rgba(3,7,16,.54); border-radius: 999px; backdrop-filter: blur(12px); }
.primary-nav a { color: #dbe6ef; text-decoration: none; padding: 11px 17px; border-radius: 999px; font-weight: 700; font-size: .9rem; letter-spacing: .01em; transition: .2s; }
.primary-nav a:hover, .primary-nav a.active { background: rgba(121,242,245,.13); color: var(--cyan); }
.primary-nav .nav-cta { background: linear-gradient(135deg,var(--purple),var(--purple-2)); color: white; box-shadow: 0 10px 24px rgba(188,63,255,.26); }
.primary-nav .nav-cta:hover { color: white; transform: translateY(-1px); background: linear-gradient(135deg,#ca5cff,#7553ff); }
.nav-toggle { display:none; background: transparent; border: 0; width: 44px; height: 44px; padding: 10px; }
.nav-toggle span:not(.sr-only) { display:block; height:2px; background:white; margin:6px 0; border-radius:2px; }
.form-notice { position: fixed; z-index: 1300; top: 116px; left: 50%; transform: translateX(-50%); width: min(92vw, 680px); padding: 15px 18px; border-radius: 14px; display: flex; justify-content: space-between; align-items: center; box-shadow: var(--shadow); font-weight: 700; }
.form-notice.success { background: #d9fff2; color: #0b5a3b; }
.form-notice.error { background: #ffe8ec; color: #92283d; }
.form-notice button { border: 0; background: transparent; font-size: 1.5rem; color: inherit; }
.hero { min-height: 900px; position: relative; display: flex; align-items: center; color: white; overflow: hidden; background: radial-gradient(circle at 77% 22%, rgba(44,218,229,.19), transparent 28%), radial-gradient(circle at 14% 24%, rgba(188,63,255,.28), transparent 31%), linear-gradient(145deg,#050710 3%,#09162b 48%,#07101e 100%); padding: 150px 0 95px; }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:170px; background:linear-gradient(to bottom,transparent,#050710); pointer-events:none; }
.hero-orb { position:absolute; border-radius:50%; filter: blur(2px); opacity:.45; }
.hero-orb-one { width:460px; height:460px; right:-180px; top:20%; border:1px solid rgba(121,242,245,.3); box-shadow: inset 0 0 110px rgba(121,242,245,.08); }
.hero-orb-two { width:280px; height:280px; left:-100px; bottom:14%; border:1px solid rgba(188,63,255,.25); }
.hero-grid { position: relative; z-index:2; display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; gap:74px; }
.eyebrow { margin:0 0 14px; text-transform:uppercase; letter-spacing:.18em; font-weight:900; font-size:.76rem; color:var(--cyan-2); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size: clamp(3.1rem, 6vw, 6.25rem); line-height:.96; letter-spacing:-.055em; margin-bottom:28px; }
h2 { font-size: clamp(2.25rem,4vw,4.3rem); line-height:1.02; letter-spacing:-.045em; margin-bottom:22px; }
h3 { line-height:1.15; }
.hero-lead { max-width:720px; color:#c7d4df; font-size:1.15rem; line-height:1.8; }
.button-row { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:0 24px; border-radius:999px; border:1px solid transparent; font-weight:850; text-decoration:none; transition: .22s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white; background:linear-gradient(135deg,var(--purple),var(--purple-2)); box-shadow:0 16px 36px rgba(177,57,255,.26); }
.button-secondary { color:var(--cyan); border-color:rgba(121,242,245,.48); background:rgba(121,242,245,.05); }
.button-light { background:white; color:#111827; box-shadow:0 15px 36px rgba(0,0,0,.17); }
.hero-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:54px; border-top:1px solid rgba(255,255,255,.13); padding-top:26px; }
.hero-proof div { padding-right:22px; }
.hero-proof div+div { border-left:1px solid rgba(255,255,255,.13); padding-left:22px; }
.hero-proof strong { display:block; font-size:1rem; color:white; }
.hero-proof span { display:block; margin-top:5px; color:#96a9b9; font-size:.82rem; line-height:1.45; }
/* Reserve vertical space under the main hero image so the lower floating proof card never overlaps the image caption. */
.hero-visual { position:relative; min-height:690px; }
.hero-card-main { position:absolute; inset:44px 18px 145px 56px; overflow:hidden; border-radius:32px; background:#10182a; box-shadow:0 45px 100px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.12); }
.hero-card-main img { width:100%; height:100%; object-fit:cover; }
.image-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(4,7,16,.95),rgba(4,7,16,0) 58%); }
.hero-card-caption { position:absolute; inset:auto 28px 28px; }
.hero-card-caption span { color:var(--cyan); font-size:.76rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.hero-card-caption strong { display:block; font-size:1.55rem; max-width:420px; margin-top:8px; line-height:1.18; }
.floating-card { position:absolute; z-index:2; background:rgba(8,14,28,.86); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(18px); box-shadow:0 22px 50px rgba(0,0,0,.35); border-radius:20px; color:white; }
.floating-card-top { top:0; right:-20px; width:250px; padding:20px; }
.floating-card-top strong { display:block; font-size:.92rem; line-height:1.45; margin-top:7px; }
.mini-kicker { color:var(--purple); font-size:.69rem; text-transform:uppercase; letter-spacing:.14em; font-weight:900; }
.floating-card-bottom { bottom:18px; left:0; display:flex; gap:13px; align-items:flex-start; width:330px; padding:18px; }
.floating-card-bottom strong,.floating-card-bottom span { display:block; }
.floating-card-bottom span { color:#9fb0bf; font-size:.78rem; margin-top:4px; }
.pulse-dot { flex:none; width:12px; height:12px; border-radius:50%; margin-top:4px; background:var(--cyan); box-shadow:0 0 0 8px rgba(121,242,245,.12); }
.signal-strip { background:#050710; color:white; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.signal-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.signal-grid>div { padding:30px 26px; border-right:1px solid rgba(255,255,255,.09); }
.signal-grid>div:first-child { border-left:1px solid rgba(255,255,255,.09); }
.signal-grid span { color:var(--purple); font-weight:900; font-size:.75rem; }
.signal-grid strong { display:block; font-size:1.08rem; margin:4px 0; }
.signal-grid p { color:#8ea1b2; font-size:.82rem; margin:0; }
.section { padding:110px 0; }
.story-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:84px; align-items:center; }
.story-visual { min-height:660px; position:relative; }
.story-visual img { width:82%; height:100%; min-height:660px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.story-callout { position:absolute; right:0; bottom:50px; width:52%; padding:24px; background:linear-gradient(145deg,#09172c,#0a0f1d); color:white; border-radius:20px; box-shadow:var(--shadow); border-left:4px solid var(--purple); }
.story-callout span { color:var(--cyan); text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:900; }
.story-callout strong { display:block; margin-top:8px; line-height:1.35; }
.story-copy p { color:#526374; font-size:1.03rem; }
.check-list { list-style:none; padding:0; margin:28px 0; display:grid; gap:13px; }
.check-list li { position:relative; padding-left:30px; font-weight:720; color:#263748; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--purple); font-weight:950; }
.text-link { display:inline-flex; gap:8px; align-items:center; color:#6720c8; text-decoration:none; font-weight:900; }
.text-link:hover { color:#3f1283; }
.section-dark { background:var(--ink); color:white; }
.section-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:end; margin-bottom:55px; }
.section-heading h2 { margin:0; }
.section-heading>p { color:#9eafbd; margin:0 0 9px; }
.service-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-feature { position:relative; padding:18px 18px 28px; border-radius:22px; background:linear-gradient(180deg,#11182a,#080c16); border:1px solid rgba(255,255,255,.09); overflow:hidden; }
.service-image { height:210px; overflow:hidden; border-radius:15px; margin-bottom:25px; }
.service-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.service-feature:hover .service-image img { transform:scale(1.04); }
.service-number { color:var(--cyan); font-size:.75rem; font-weight:900; }
.service-feature h3 { font-size:1.45rem; margin:10px 0; }
.service-feature p { color:#94a5b4; font-size:.93rem; }
.centered-action { text-align:center; margin-top:44px; }
.portfolio-preview { background:#e9f3f6; }
.portfolio-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.portfolio-tile { min-height:320px; padding:28px; border-radius:22px; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:0 18px 42px rgba(9,26,49,.11); transition:.25s; }
.portfolio-tile:hover { transform:translateY(-7px); }
.portfolio-tile span { font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:900; }
.portfolio-tile h3 { font-size:1.7rem; margin:12px 0 8px; }
.portfolio-tile p { font-size:.9rem; opacity:.8; }
.portfolio-tile b { margin-top:auto; padding-top:26px; }
.portfolio-tile.purple { color:white; background:linear-gradient(145deg,#c43cff,#6d38c8); }
.portfolio-tile.cyan { color:#07152a; background:linear-gradient(145deg,#77f5f7,#2fc8df); }
.portfolio-tile.violet { color:white; background:linear-gradient(145deg,#7559ff,#2834a4); }
.portfolio-tile.dark { color:white; background:linear-gradient(145deg,#151c2f,#050710); }
.cta-band { padding:76px 0; color:white; background:linear-gradient(112deg,#8b2bea,#a83bf4 46%,#2bcee0 130%); }
.cta-band-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:36px; }
.cta-band h2 { max-width:850px; font-size:clamp(2rem,4vw,3.5rem); margin:0; }
.cta-band .eyebrow { color:#dffcff; }
.newsletter { padding:70px 0; color:white; background:#07101e; border-bottom:1px solid rgba(255,255,255,.09); }
.newsletter-grid { display:grid; grid-template-columns:1fr .9fr; gap:70px; align-items:center; }
.newsletter h2 { font-size:2.45rem; margin-bottom:12px; }
.newsletter p { color:#98aabd; margin-bottom:0; }
.newsletter-form { position:relative; display:block; max-width:720px; margin-left:auto; }
.newsletter-entry { display:flex; align-items:center; gap:10px; background:white; padding:8px; border-radius:999px; box-shadow:0 20px 45px rgba(188,63,255,.16); }
.newsletter-form input[type="email"] { flex:1 1 auto; min-width:260px; height:50px; border:0; padding:0 20px; outline:0; background:transparent; color:#07152a; font-size:.98rem; }
.newsletter-form input[type="email"]::placeholder { color:#607387; opacity:1; }
.newsletter-form .button { flex:0 0 auto; white-space:nowrap; min-height:50px; }
.newsletter-form .form-disclaimer { margin:10px 16px 0; color:#9bb2c4; line-height:1.4; }
.hp-field { position:absolute!important; left:-10000px!important; opacity:0!important; }
.site-footer { color:#c2cfda; background:#03050a; padding:72px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.35fr .7fr 1.2fr .9fr; gap:50px; }
.footer-brand img { width:170px; height:105px; object-fit:cover; border-radius:16px; margin-bottom:20px; }
.site-footer h3 { color:white; font-size:.9rem; text-transform:uppercase; letter-spacing:.11em; }
.site-footer a,.site-footer p { display:block; color:#8fa0b1; text-decoration:none; margin:8px 0; font-size:.9rem; }
.site-footer a:hover { color:var(--cyan); }
.footer-bottom { margin-top:56px; padding-top:20px; border-top:1px solid rgba(255,255,255,.09); display:flex; justify-content:space-between; color:#6f8192; font-size:.82rem; }
.footer-credit { color:#8fa0b1; text-decoration:none; }
.footer-credit:hover,.footer-credit:focus-visible { color:var(--cyan); }
.inner-hero { position:relative; overflow:hidden; min-height:760px; display:flex; align-items:center; padding:150px 0 90px; color:white; background:linear-gradient(145deg,#050710,#091a31); }
.inner-hero-glow { position:absolute; width:700px; height:700px; right:-250px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(188,63,255,.24),transparent 65%); }
.inner-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr .92fr; gap:80px; align-items:center; }
.inner-hero h1 { font-size:clamp(3.4rem,6vw,5.8rem); }
.inner-hero p:not(.eyebrow) { color:#becbd6; font-size:1.08rem; max-width:700px; }
.inner-hero-image { position:relative; min-height:500px; }
.inner-hero-image img { width:100%; height:500px; object-fit:cover; border-radius:28px; border:1px solid rgba(255,255,255,.14); box-shadow:var(--shadow); }
.inner-hero-stat { position:absolute; left:-40px; right:34px; bottom:-30px; padding:23px 28px; border-radius:18px; color:white; background:rgba(8,14,28,.94); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(14px); }
.inner-hero-stat strong,.inner-hero-stat span { display:block; }
.inner-hero-stat span { color:#9eb0c1; margin-top:4px; }
.portfolio-section { padding-top:110px; }
.filter-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.filter { border:1px solid rgba(255,255,255,.14); background:transparent; color:#b6c5d2; border-radius:999px; padding:10px 16px; font-weight:800; }
.filter:hover,.filter.active { background:var(--cyan); color:#07111e; border-color:var(--cyan); }
.company-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.company-card { border-radius:22px; overflow:hidden; background:#0d1424; border:1px solid rgba(255,255,255,.09); transition:.25s; }
.company-card:hover { transform:translateY(-6px); border-color:rgba(121,242,245,.28); }
.company-card.hidden { display:none; }
.company-card-top { min-height:180px; padding:24px; display:flex; justify-content:space-between; align-items:flex-start; color:white; }
.company-card-top>span { text-transform:uppercase; letter-spacing:.13em; font-size:.69rem; font-weight:900; }
.company-monogram { width:84px; height:84px; border-radius:50%; display:grid; place-items:center; background:rgba(5,7,16,.25); border:1px solid rgba(255,255,255,.35); font-weight:950; font-size:1.2rem; }
.gradient-purple { background:linear-gradient(145deg,#e24cff,#7123b8); }
.gradient-cyan { background:linear-gradient(145deg,#76f7f6,#1188a9); }
.gradient-blue { background:linear-gradient(145deg,#1485ff,#202b8d); }
.gradient-mint { background:linear-gradient(145deg,#7cfcde,#21869a); }
.gradient-gold { background:linear-gradient(145deg,#ffca70,#c76a25); }
.gradient-pink { background:linear-gradient(145deg,#ff7bcb,#a22372); }
.company-card-body { padding:28px; }
.company-card-body h3 { font-size:1.45rem; margin-bottom:12px; }
.company-card-body p { color:#aab8c5; }
.company-card-body ul { margin:20px 0 24px; padding-left:18px; color:#d4dde5; font-size:.89rem; }
.company-card-body .text-link { color:var(--cyan); }
.operating-model { background:white; }
.operating-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.operating-grid>div:first-child p:not(.eyebrow) { color:#596a7b; }
.capability-list { display:grid; gap:0; border-top:1px solid #d8e1e7; }
.capability-list>div { display:grid; grid-template-columns:50px 190px 1fr; gap:20px; align-items:center; padding:24px 0; border-bottom:1px solid #d8e1e7; }
.capability-list span { font-weight:950; color:var(--purple); }
.capability-list h3,.capability-list p { margin:0; }
.capability-list p { color:#657687; font-size:.9rem; }
.services-orbit { position:relative; width:min(100%,540px); aspect-ratio:1; margin-inline:auto; border:1px solid rgba(121,242,245,.22); border-radius:50%; box-shadow:inset 0 0 100px rgba(121,242,245,.05); }
.services-orbit::before,.services-orbit::after { content:""; position:absolute; border:1px solid rgba(188,63,255,.2); border-radius:50%; inset:13%; }
.services-orbit::after { inset:29%; border-color:rgba(121,242,245,.2); }
.orbit-center { position:absolute; inset:36%; border-radius:50%; display:grid; place-content:center; text-align:center; background:linear-gradient(145deg,#bc3fff,#1acdde); box-shadow:0 20px 60px rgba(91,80,255,.35); z-index:2; }
.orbit-center span { font-size:2rem; font-weight:950; }
.orbit-center strong { font-size:.75rem; }
.orbit-node { position:absolute; min-width:90px; padding:12px 16px; text-align:center; border-radius:999px; background:#0e1727; border:1px solid rgba(255,255,255,.14); color:#dbe8f2; font-weight:850; box-shadow:0 12px 30px rgba(0,0,0,.3); }
.node-1 { top:1%; left:40%; }.node-2 { top:20%; right:1%; }.node-3 { bottom:20%; right:1%; }.node-4 { bottom:1%; left:40%; }.node-5 { bottom:20%; left:-1%; }.node-6 { top:20%; left:-1%; }
.service-catalog { padding-top:110px; }
.accordion { display:grid; gap:14px; }
.accordion-item { border:1px solid rgba(255,255,255,.11); border-radius:18px; overflow:hidden; background:#0a1020; }
.accordion-trigger { width:100%; border:0; background:transparent; color:white; display:grid; grid-template-columns:64px 1fr 34px; align-items:center; gap:18px; padding:22px 24px; text-align:left; }
.accordion-trigger span:nth-child(2) strong,.accordion-trigger span:nth-child(2) small { display:block; }
.accordion-trigger strong { font-size:1.12rem; }
.accordion-trigger small { margin-top:3px; color:#8fa1b1; }
.accordion-trigger i { font-style:normal; font-size:1.6rem; color:var(--purple); transition:.2s; }
.accordion-item.open .accordion-trigger i { transform:rotate(45deg); }
.service-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:14px; color:#06111b; background:var(--cyan); font-weight:950; }
.accordion-panel { display:none; grid-template-columns:1fr 330px; gap:50px; padding:0 24px 28px 106px; color:#9fb0bf; }
.accordion-item.open .accordion-panel { display:grid; }
.accordion-panel ul { padding-left:19px; color:#d5dee6; }
.outcome-box { padding:22px; border-radius:16px; background:linear-gradient(145deg,rgba(188,63,255,.15),rgba(52,218,229,.09)); border:1px solid rgba(188,63,255,.28); align-self:start; }
.outcome-box span,.outcome-box strong { display:block; }
.outcome-box span { color:var(--cyan); font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.outcome-box strong { color:white; margin-top:8px; line-height:1.35; }
.process-section { background:#e9f3f6; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.process-step { min-height:280px; padding:28px; border-radius:20px; background:white; box-shadow:0 18px 45px rgba(6,23,44,.08); border-top:4px solid var(--purple); }
.process-step span { color:var(--purple); font-weight:950; }
.process-step h3 { font-size:1.5rem; margin:45px 0 12px; }
.process-step p { color:#607182; }
.contact-hero { min-height:900px; padding:170px 0 105px; color:white; background:radial-gradient(circle at 20% 25%,rgba(188,63,255,.25),transparent 28%),linear-gradient(145deg,#050710,#0a1c35); }
.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; }
.contact-copy h1 { font-size:clamp(3rem,5vw,5.2rem); }
.contact-copy>p:not(.eyebrow) { color:#b9c7d2; font-size:1.05rem; }
.contact-direct { display:grid; gap:0; margin:34px 0; border-top:1px solid rgba(255,255,255,.12); }
.contact-direct>div { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.contact-direct span { color:var(--cyan); font-weight:900; }
.contact-direct a,.contact-direct strong { color:white; text-decoration:none; word-break:break-word; }
.contact-image { display:grid; grid-template-columns:145px 1fr; align-items:center; gap:20px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); padding:12px; border-radius:18px; }
.contact-image img { width:145px; height:110px; object-fit:cover; border-radius:12px; }
.contact-image strong,.contact-image span { display:block; }
.contact-image span { color:#96a7b6; font-size:.83rem; margin-top:5px; }
.contact-form { background:#f9fbfd; color:#1b2938; padding:38px; border-radius:26px; box-shadow:0 35px 90px rgba(0,0,0,.36); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:block; margin-bottom:18px; }
.contact-form label>span { display:block; margin-bottom:7px; font-size:.82rem; font-weight:850; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #cdd9e1; border-radius:12px; padding:13px 14px; background:white; outline:0; transition:.2s; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--purple); box-shadow:0 0 0 3px rgba(188,63,255,.1); }
.contact-form .button { border:0; width:100%; }
.form-disclaimer { margin:14px 0 0; color:#718190; font-size:.75rem; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal[data-delay="1"] { transition-delay:.1s; }.reveal[data-delay="2"] { transition-delay:.2s; }.reveal[data-delay="3"] { transition-delay:.3s; }
@media (max-width: 980px) {
    .site-header { background:rgba(5,7,16,.9); backdrop-filter:blur(15px); }
    .brand { width:142px; height:66px; }
    .nav-toggle { display:block; }
    .primary-nav { position:absolute; top:86px; left:20px; right:20px; display:none; flex-direction:column; align-items:stretch; border-radius:20px; padding:14px; background:#070c18; box-shadow:var(--shadow); }
    .primary-nav.open { display:flex; }
    .primary-nav a { text-align:center; }
    .hero { padding-top:145px; min-height:auto; }
    .hero-grid,.inner-hero-grid,.story-grid,.section-heading,.operating-grid,.contact-layout,.newsletter-grid { grid-template-columns:1fr; }
    .hero-visual { min-height:640px; margin-top:20px; }
    .signal-grid { grid-template-columns:1fr 1fr; }
    .signal-grid>div:nth-child(3) { border-left:1px solid rgba(255,255,255,.09); }
    .service-feature-grid,.company-grid { grid-template-columns:1fr 1fr; }
    .portfolio-rail,.process-grid { grid-template-columns:1fr 1fr; }
    .cta-band-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1.25fr 1fr; }
    .inner-hero { padding-top:145px; }
    .inner-hero-image { max-width:680px; }
    .services-orbit { margin-top:30px; }
    .accordion-panel { grid-template-columns:1fr; padding-left:24px; }
}
@media (max-width: 680px) {
    .section-shell,.header-shell { width:min(calc(100% - 26px),var(--max)); }
    h1 { font-size:clamp(2.7rem,14vw,4.2rem); }
    h2 { font-size:clamp(2rem,10vw,3rem); }
    .hero { padding:130px 0 70px; }
    .hero-grid { gap:30px; }
    .hero-proof { grid-template-columns:1fr; gap:18px; }
    .hero-proof div+div { border-left:0; padding-left:0; }
    .hero-visual { min-height:620px; }
    .hero-card-main { inset:32px 0 155px 18px; }
    .floating-card-top { right:-4px; width:210px; }
    .floating-card-bottom { bottom:12px; width:min(290px, calc(100% - 24px)); }
    .signal-grid,.service-feature-grid,.company-grid,.portfolio-rail,.process-grid,.footer-grid { grid-template-columns:1fr; }
    .signal-grid>div,.signal-grid>div:first-child,.signal-grid>div:nth-child(3) { border-left:1px solid rgba(255,255,255,.09); }
    .section { padding:80px 0; }
    .story-visual { min-height:520px; }
    .story-visual img { width:92%; min-height:520px; }
    .story-callout { width:72%; right:0; bottom:20px; }
    .section-heading { gap:10px; margin-bottom:38px; }
    .cta-band { padding:60px 0; }
    .newsletter-form { max-width:none; margin-left:0; }
    .newsletter-entry { border-radius:18px; flex-direction:column; align-items:stretch; background:transparent; padding:0; box-shadow:none; }
    .newsletter-form input[type="email"] { min-width:0; width:100%; height:54px; border-radius:12px; padding:0 16px; background:white; }
    .newsletter-form .button { width:100%; min-height:54px; }
    .newsletter-form .form-disclaimer { margin:10px 0 0; }
    .footer-bottom { flex-direction:column; gap:6px; }
    .inner-hero { min-height:auto; padding-bottom:80px; }
    .inner-hero-image img { height:420px; }
    .inner-hero-stat { left:14px; right:14px; bottom:-35px; }
    .filter-bar { flex-wrap:nowrap; overflow:auto; padding-bottom:8px; }
    .filter { white-space:nowrap; }
    .capability-list>div { grid-template-columns:38px 1fr; }
    .capability-list p { grid-column:2; }
    .services-orbit { transform:scale(.9); margin-left:-5%; width:110%; }
    .accordion-trigger { grid-template-columns:54px 1fr 24px; padding:18px 15px; gap:12px; }
    .accordion-trigger small { font-size:.72rem; }
    .accordion-panel { padding:0 17px 22px; }
    .field-grid { grid-template-columns:1fr; gap:0; }
    .contact-form { padding:24px 18px; }
    .contact-image { grid-template-columns:1fr; }
    .contact-image img { width:100%; height:170px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
    .reveal { opacity:1; transform:none; }
}


/* WordPress integration */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
.custom-logo-link { display:block; width:100%; height:100%; }
.custom-logo-link img { width:100%; height:100%; object-fit:contain; }
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav a[aria-current="page"] { color:var(--cyan); }
.primary-nav .menu-item:last-child > a { padding:11px 18px; border-radius:999px; background:linear-gradient(135deg,var(--purple),var(--blue)); color:white; box-shadow:0 10px 30px rgba(139,93,255,.24); }
.primary-nav ul { display:flex; align-items:center; gap:8px; padding:0; margin:0; list-style:none; }
.page-content-section { background:#fff; }
.entry-content { max-width:900px; margin:0 auto; }
.entry-content > * + * { margin-top:1.25em; }
.entry-content h1,.entry-content h2,.entry-content h3 { color:var(--navy); line-height:1.15; }
.entry-content a { color:#6d28d9; }
.wp-block-image img { border-radius:18px; }
.alignwide { width:min(1100px,calc(100vw - 40px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.form-notice { position:fixed; z-index:1000; top:100px; left:50%; transform:translateX(-50%); width:min(720px,calc(100% - 32px)); display:flex; justify-content:space-between; align-items:center; gap:18px; padding:15px 18px; color:#07111c; border-radius:14px; box-shadow:0 18px 60px rgba(0,0,0,.24); }
.form-notice.success { background:#8ff7da; }
.form-notice.error { background:#ffd4dd; }
.form-notice button { border:0; background:transparent; font-size:1.4rem; line-height:1; }
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.contact-form .required-note { color:#718190; font-size:.78rem; margin:-8px 0 18px; }
.site-footer .menu { padding:0; margin:0; list-style:none; }
.site-footer .menu li + li { margin-top:8px; }
.error-page { min-height:70vh; display:grid; place-items:center; text-align:center; padding:180px 20px 100px; background:linear-gradient(145deg,#050710,#0a1c35); color:white; }
.error-page h1 { font-size:clamp(4rem,14vw,10rem); margin:0; background:linear-gradient(135deg,var(--cyan),var(--purple)); -webkit-background-clip:text; color:transparent; }
.error-page p { color:#b9c7d2; max-width:620px; margin:0 auto 28px; }
.default-page-hero { padding:170px 0 90px; background:linear-gradient(145deg,#050710,#0a1c35); color:white; }
.default-page-hero h1 { font-size:clamp(2.8rem,5vw,5rem); margin:0; }
.posts-list { display:grid; gap:24px; }
.post-card { background:white; border-radius:20px; padding:28px; box-shadow:0 18px 45px rgba(6,23,44,.08); }
.post-card h2 { margin-top:0; }
.pagination { margin-top:40px; }
@media (max-width:980px) {
  .primary-nav ul { flex-direction:column; align-items:stretch; width:100%; }
  .primary-nav .menu-item:last-child > a { display:block; }
}

/* Contrast refinements for light-background sections
   Added to prevent muted copy from washing out on pale aqua/white panels. */
.section:not(.section-dark):not(.hero):not(.inner-hero):not(.contact-hero):not(.cta-band):not(.newsletter) .section-heading > p,
.portfolio-preview .section-heading > p,
.operating-model .section-heading > p,
.process-section .section-heading > p,
.page-content-section .entry-content p,
.page-content-section .entry-content li {
    color:#435466;
}

.section:not(.section-dark):not(.hero):not(.inner-hero):not(.contact-hero):not(.cta-band):not(.newsletter) .eyebrow,
.portfolio-preview .eyebrow,
.operating-model .eyebrow,
.process-section .eyebrow,
.section-story .eyebrow {
    color:#008f9c;
}

.story-copy p {
    color:#415367;
}

.operating-grid > div:first-child p:not(.eyebrow),
.capability-list p,
.process-step p {
    color:#45586b;
}

/* Keep portfolio preview cards crisp across dark and bright gradients. */
.portfolio-tile p {
    opacity:1;
    font-weight:600;
}
.portfolio-tile.purple p,
.portfolio-tile.violet p,
.portfolio-tile.dark p {
    color:rgba(255,255,255,.92);
}
.portfolio-tile.cyan p,
.portfolio-tile.cyan b,
.portfolio-tile.cyan h3,
.portfolio-tile.cyan span {
    color:#07152a;
}

/* Bright company card headers need dark text, not white text. */
.company-card-top.gradient-cyan,
.company-card-top.gradient-mint,
.company-card-top.gradient-gold {
    color:#06111b;
}
.company-card-top.gradient-cyan .company-monogram,
.company-card-top.gradient-mint .company-monogram,
.company-card-top.gradient-gold .company-monogram {
    background:rgba(255,255,255,.3);
    border-color:rgba(6,17,27,.3);
}

/* Footer readability improvement without changing the dark visual direction. */
.site-footer a,
.site-footer p,
.footer-credit {
    color:#b3c1ce;
}
.footer-bottom {
    color:#a0afbe;
}
