
:root {
  --bg: #070b14;
  --bg-soft: #0b1120;
  --panel: rgba(17, 25, 43, 0.76);
  --panel-solid: #11192b;
  --panel-light: #151f35;
  --line: rgba(171, 194, 255, 0.16);
  --line-strong: rgba(171, 194, 255, 0.28);
  --text: #f4f7ff;
  --muted: #a8b2c8;
  --blue: #2f72ff;
  --blue-bright: #82adff;
  --gold: #e5b33f;
  --danger: #ff8d9b;
  --success: #79ddb4;
  --max: 1180px;
  --radius: 24px;
  --radius-small: 14px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Avenir Next", "SF Pro Display", Inter, ui-sans-serif, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; color: var(--text); background: var(--bg); font-family: var(--font-body); line-height: 1.65; overflow-x: hidden; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img, svg { max-width: 100%; }
::selection { color: #08101f; background: var(--gold); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 10px 14px; color: var(--bg); background: var(--text); border-radius: 8px; transform: translateY(-180%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.narrow { max-width: 850px; }
.section { position: relative; padding: 112px 0; }
.compact-section { padding: 48px 0; }
.section-alt { background: linear-gradient(180deg, rgba(15, 23, 41, .56), rgba(9, 14, 25, .74)); border-block: 1px solid var(--line); }
.site-backdrop { position: fixed; inset: 0; z-index: -3; overflow: hidden; pointer-events: none; background: radial-gradient(circle at 30% -5%, rgba(74, 119, 255, .14), transparent 34%), radial-gradient(circle at 100% 40%, rgba(233, 185, 94, .08), transparent 30%), #070b14; }
.site-backdrop::before { content: ""; position: absolute; inset: 0; opacity: .26; background-image: linear-gradient(rgba(120,168,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(120,168,255,.07) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.site-backdrop span { position: absolute; width: 480px; aspect-ratio: 1; border-radius: 50%; filter: blur(80px); opacity: .1; animation: drift 18s ease-in-out infinite alternate; }
.site-backdrop span:nth-child(1){ background: #497bff; top:-220px; left:-100px; }
.site-backdrop span:nth-child(2){ background: #7a5cff; right:-260px; top:25%; animation-delay:-6s; }
.site-backdrop span:nth-child(3){ background: #d8a94d; left:30%; bottom:-340px; animation-delay:-12s; }
@keyframes drift { to { transform: translate3d(80px, 40px, 0) scale(1.1); } }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease; }
.site-header.scrolled { background: rgba(7, 11, 20, .82); border-color: var(--line); backdrop-filter: blur(18px); }
.header-inner { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--font-display); font-size: .93rem; font-weight: 800; letter-spacing: .16em; white-space: nowrap; }
.brand-mark { width: 38px; height: 38px; flex: none; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 0 13px rgba(47, 114, 255, .34)) drop-shadow(0 0 10px rgba(229, 179, 63, .13)); }
.primary-nav { display: flex; align-items: center; gap: 6px; }
.nav-link { padding: 9px 11px; border-radius: 10px; color: var(--muted); font-size: .89rem; font-weight: 650; transition: color .2s, background .2s; }
.nav-link:hover, .nav-link.active { color: var(--text); background: rgba(120, 168, 255, .08); }
.nav-toggle { display:none; width:44px; height:44px; padding:10px; background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.nav-toggle span { display:block; width:100%; height:2px; margin:5px 0; background:var(--text); transition:transform .2s, opacity .2s; }
.button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: 8px; padding: 12px 19px; border: 1px solid transparent; border-radius: 13px; font-weight: 760; letter-spacing: .01em; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #07101f; background: linear-gradient(135deg, #f7f9ff 0%, #82adff 39%, #2f72ff 62%, #e5b33f 100%); background-clip: padding-box; border: 2px solid var(--blue); box-shadow: 0 10px 34px rgba(98, 145, 255, .23); }
.button-primary:hover { box-shadow: 0 15px 42px rgba(98, 145, 255, .34); }
.button-secondary { color: var(--text); background: rgba(255,255,255,.035); border-color: var(--line-strong); }
.button-secondary:hover { background: rgba(120,168,255,.08); border-color: rgba(120,168,255,.45); }
.button-small { min-height: 40px; padding: 8px 14px; margin-left: 5px; font-size: .88rem; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button-row.centered { justify-content: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--blue-bright); font-size: .88rem; font-weight: 820; letter-spacing: .15em; line-height: 1.35; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 15px rgba(121,221,180,.8); }
h1, h2, h3 { margin: 0; font-family: var(--font-display); line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.9rem, 5.2vw, 5.15rem); max-width: 15ch; }
h2 { font-size: clamp(2.15rem, 4.3vw, 4rem); }
h3 { font-size: 1.25rem; letter-spacing: -.02em; }
p { margin: 0; color: var(--muted); }
.gradient-text { color: transparent; background: linear-gradient(115deg, #f7f9ff 4%, #82adff 38%, #2f72ff 58%, #e5b33f 96%); background-clip: text; -webkit-background-clip: text; }
.hero { min-height: calc(100vh - 82px); display: flex; align-items: center; padding-top: 70px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: 60px; align-items: center; }
.hero-lead { max-width: 710px; margin-top: 26px; font-size: clamp(1.05rem, 1.5vw, 1.27rem); }
.trust-strip { display:flex; flex-wrap:wrap; gap:13px 25px; margin-top:34px; color:#c5ccdc; font-size:.85rem; font-weight:650; }
.trust-strip span::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:var(--gold); vertical-align:middle; box-shadow:0 0 12px rgba(233,185,94,.6); }
.hero-visual { position:relative; min-height:570px; display:grid; place-items:center; }
.orbit-system { position:relative; width:min(100%, 540px); aspect-ratio:1; display:grid; place-items:center; }
.orbit { position:absolute; inset:var(--inset); border:1px solid rgba(126,170,255,.2); border-radius:50%; transform:rotate(var(--rotate)); animation:spin var(--speed) linear infinite; }
.orbit i { position:absolute; top:50%; left:-4px; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--blue); box-shadow:0 0 18px var(--blue); }
.orbit-one { --inset:4%; --rotate:16deg; --speed:24s; }
.orbit-two { --inset:17%; --rotate:-26deg; --speed:17s; animation-direction:reverse; border-style:dashed; }
.orbit-three { --inset:24%; --rotate:58deg; --speed:11s; }
@keyframes spin { to { transform:rotate(calc(var(--rotate) + 360deg)); } }
.core-mark { width:240px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(130,173,255,.38); border-radius:50%; background:radial-gradient(circle at 50% 44%, rgba(47,114,255,.24), rgba(11,18,33,.88) 65%); box-shadow:0 0 95px rgba(47,114,255,.23), 0 0 70px rgba(229,179,63,.1), inset 0 0 44px rgba(145,179,255,.09); }
.core-mark .brand-mark { width:168px; height:168px; }
.core-mark span { color:#d7dfef; font-family:var(--font-display); font-size:.54rem; font-weight:800; line-height:1.4; letter-spacing:.19em; text-align:center; }
.signal-card { position:absolute; min-width:145px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:rgba(11,18,32,.75); backdrop-filter:blur(12px); box-shadow:var(--shadow); }
.signal-card span { display:block; color:var(--blue); font-size:.58rem; font-weight:800; letter-spacing:.17em; }
.signal-card strong { font-size:.88rem; }
.signal-one { top:12%; right:1%; }
.signal-two { bottom:12%; right:6%; }
.signal-three { left:0; bottom:25%; }
.value-band { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:var(--radius); background:rgba(14,22,38,.62); box-shadow:var(--shadow); overflow:hidden; }
.value-band div { padding:27px 30px; }
.value-band div + div { border-left:1px solid var(--line); }
.value-band strong { display:block; margin-bottom:6px; font-family:var(--font-display); font-size:1.04rem; }
.value-band span { display:block; color:var(--muted); font-size:.9rem; }
.section-heading { max-width:770px; margin-bottom:46px; }
.section-heading h2 + p { margin-top:18px; font-size:1.08rem; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card, .mini-card, .service-detail, .support-channel, .founder-card, .fit-panel { position:relative; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg, rgba(20,30,51,.84), rgba(10,16,29,.82)); box-shadow:0 18px 60px rgba(0,0,0,.18); }
.service-card { min-height:300px; display:flex; flex-direction:column; padding:28px; overflow:hidden; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.service-card::after { content:""; position:absolute; inset:auto -30% -65% 20%; height:190px; border-radius:50%; background:rgba(77,125,255,.1); filter:blur(40px); }
.service-card:hover { transform:translateY(-5px); border-color:rgba(120,168,255,.36); box-shadow:0 24px 70px rgba(0,0,0,.3); }
.icon-box { width:48px; height:48px; display:grid; place-items:center; margin-bottom:24px; border:1px solid rgba(126,170,255,.26); border-radius:14px; color:var(--blue-bright); background:linear-gradient(145deg,rgba(94,143,255,.13),rgba(233,185,94,.05)); }
.icon-box svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-card h3 { font-size:1.32rem; }
.service-card p { margin-top:13px; }
.service-card a { z-index:2; margin-top:auto; padding-top:24px; color:#cfdcff; font-weight:760; }
.service-card a span, .text-link span { color:var(--gold); }
.split-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:80px; align-items:start; }
.process-list { list-style:none; margin:0; padding:0; }
.process-list li { display:grid; grid-template-columns:62px 1fr; gap:22px; padding:25px 0; border-bottom:1px solid var(--line); }
.process-list li:first-child { padding-top:0; }
.process-list li > span { color:var(--gold); font-family:var(--font-display); font-size:.82rem; font-weight:800; letter-spacing:.13em; }
.process-list p { margin-top:8px; }
.text-link { display:inline-flex; gap:8px; margin-top:24px; color:#dce5fb; font-weight:760; }
.principle-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:70px; align-items:start; }
.principle-cards, .stacked-cards { display:grid; gap:16px; }
.mini-card { padding:25px; }
.mini-card .icon-box { margin-bottom:18px; }
.mini-card p { margin-top:10px; }
.availability-banner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding:42px; border:1px solid rgba(233,185,94,.22); border-radius:var(--radius); background:linear-gradient(110deg,rgba(57,81,137,.23),rgba(21,26,41,.86) 50%,rgba(105,75,24,.16)); }
.availability-banner h2 { font-size:clamp(1.75rem,3vw,2.7rem); }
.availability-banner p { max-width:780px; margin-top:13px; }
.final-cta { text-align:center; }
.final-cta .container { max-width:880px; padding:70px 36px; border:1px solid var(--line); border-radius:32px; background:radial-gradient(circle at 50% 0,rgba(94,143,255,.18),transparent 50%),rgba(13,20,35,.7); box-shadow:var(--shadow); }
.final-cta h2 { font-size:clamp(2.3rem,5vw,4.6rem); }
.final-cta p { max-width:700px; margin:20px auto 0; font-size:1.08rem; }
.page-hero { padding-top:145px; padding-bottom:85px; text-align:left; }
.page-hero h1 { max-width:17ch; font-size:clamp(2.55rem,4.35vw,4.25rem); }
.page-hero p { max-width:760px; margin-top:24px; font-size:1.14rem; }
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; padding:8px; border:1px solid var(--line); border-radius:16px; background:rgba(13,20,35,.75); }
.filter-button { padding:10px 14px; border:0; border-radius:10px; color:var(--muted); background:transparent; font-weight:700; cursor:pointer; }
.filter-button:hover,.filter-button.active { color:var(--text); background:rgba(120,168,255,.12); }
.service-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.service-detail { padding:34px; scroll-margin-top:110px; }
.service-detail[hidden] { display:none; }
.service-detail-head { display:flex; gap:18px; align-items:center; }
.service-detail-head .icon-box { margin:0; }
.service-kicker,.panel-label { display:block; margin-bottom:6px; color:var(--blue); font-size:.8rem; font-weight:830; letter-spacing:.145em; line-height:1.35; text-transform:uppercase; }
.service-detail h2 { font-size:1.75rem; }
.service-intro { margin:24px 0; font-size:1.02rem; }
.check-list,.cross-list { list-style:none; margin:0; padding:0; }
.check-list li,.cross-list li { position:relative; padding:8px 0 8px 29px; color:#c7cfdf; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:8px; color:var(--success); font-weight:900; }
.cross-list li::before { content:"×"; position:absolute; left:1px; top:7px; color:var(--danger); font-size:1.2rem; font-weight:900; }
.check-list.large li,.cross-list li { padding-top:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.boundary-note { margin:25px 0; padding:16px 18px; border-left:3px solid var(--gold); border-radius:0 10px 10px 0; background:rgba(233,185,94,.07); }
.boundary-note strong { display:block; color:#f0cb81; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.boundary-note p { margin-top:5px; font-size:.88rem; }
.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.fit-panel { padding:36px; }
.fit-panel.good { border-color:rgba(121,221,180,.2); }
.fit-panel.caution { border-color:rgba(255,141,155,.19); }
.fit-panel h2 { margin-bottom:24px; font-size:2rem; }
.audience-grid { grid-template-columns:repeat(3,1fr); }
.quote-panel { padding:46px; border-left:2px solid var(--gold); background:rgba(233,185,94,.05); }
.quote-panel blockquote { margin:0; font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.3; letter-spacing:-.02em; }
.quote-panel p { margin-top:20px; }
.prose { max-width:760px; }
.prose p + p { margin-top:21px; }
.prose h2 { margin-top:48px; margin-bottom:14px; font-size:2rem; }
.prose a { color:var(--blue-bright); text-decoration:underline; text-underline-offset:3px; }
.principle-full-grid { grid-template-columns:repeat(3,1fr); }
.roadmap { display:grid; grid-template-columns:1fr 70px 1fr 70px 1fr; align-items:center; }
.roadmap-item { min-height:230px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(14,22,38,.72); }
.roadmap-item.active { border-color:rgba(120,168,255,.4); box-shadow:0 0 50px rgba(72,119,255,.1); }
.roadmap-item > span { color:var(--gold); font-size:.72rem; font-weight:820; letter-spacing:.16em; }
.roadmap-item h3 { margin-top:36px; font-size:1.5rem; }
.roadmap-item p { margin-top:12px; }
.roadmap-connector { height:1px; background:linear-gradient(90deg,var(--line),var(--gold),var(--line)); }
.founder-layout { display:grid; grid-template-columns:360px 1fr; gap:55px; align-items:start; }
.founder-visual { position:sticky; top:130px; }
.founder-avatar { position:relative; width:100%; aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--line); border-radius:32px; background:radial-gradient(circle at 50% 42%,rgba(120,168,255,.2),transparent 38%),rgba(12,19,33,.8); overflow:hidden; }
.founder-avatar::before { content:""; position:absolute; inset:10%; border:1px solid rgba(120,168,255,.12); border-radius:50%; }
.founder-avatar span { z-index:2; font-family:var(--font-display); font-size:8rem; font-weight:800; color:transparent; background:linear-gradient(135deg,var(--blue-bright),#f7f9ff 48%,var(--gold)); background-clip:text; -webkit-background-clip:text; -webkit-text-stroke:2px var(--blue); paint-order:stroke fill; filter:drop-shadow(0 2px 7px rgba(47,114,255,.16)); }
.avatar-orbit { position:absolute; width:72%; aspect-ratio:1; border:1px dashed rgba(233,185,94,.25); border-radius:50%; animation:spin 18s linear infinite; --rotate:0deg; }
.image-note { margin-top:12px; font-size:.77rem; text-align:center; }
.founder-card { padding:44px; }
.founder-card h2 { font-size:4rem; }
.founder-lead { margin-top:20px; color:#d2daea; font-size:1.17rem; }
.founder-card p + p { margin-top:19px; }
.founder-values { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.founder-values span { padding:7px 11px; border:1px solid var(--line); border-radius:999px; color:#cdd6e8; background:rgba(120,168,255,.05); font-size:.78rem; }

.leadership-intro { margin-top:70px; }
.leadership-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.leader-card { position:relative; padding:38px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg, rgba(20,30,51,.84), rgba(10,16,29,.82)); box-shadow:0 18px 60px rgba(0,0,0,.18); overflow:hidden; }
.leader-card::after { content:""; position:absolute; width:210px; aspect-ratio:1; right:-90px; top:-100px; border-radius:50%; background:radial-gradient(circle,rgba(47,114,255,.16),transparent 68%); pointer-events:none; }
.leader-head { display:flex; align-items:center; gap:22px; margin-bottom:24px; }
.leader-mark { position:relative; z-index:1; width:92px; aspect-ratio:1; flex:none; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:24px; color:transparent; background:linear-gradient(145deg,rgba(47,114,255,.13),rgba(229,179,63,.08)); font-family:var(--font-display); font-size:1.55rem; font-weight:900; letter-spacing:-.03em; }
.leader-mark span { color:transparent; background:linear-gradient(135deg,var(--blue-bright),#f7f9ff 48%,var(--gold)); background-clip:text; -webkit-background-clip:text; -webkit-text-stroke:1px var(--blue); paint-order:stroke fill; filter:drop-shadow(0 1px 4px rgba(47,114,255,.14)); }
.leader-card h2 { font-size:clamp(2.3rem,4vw,3.4rem); }
.leader-card .service-kicker { margin-bottom:7px; }
.leader-lead { margin-bottom:17px; color:#d2daea; font-size:1.08rem; }
.leader-card p + p { margin-top:17px; }
.leader-card .founder-values { margin-top:24px; }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.support-channel { padding:36px; }
.support-channel h2 { margin-bottom:16px; font-size:clamp(1.7rem,3vw,2.7rem); word-break:break-word; }
.warning-panel { padding:36px; border:1px solid rgba(255,141,155,.22); border-radius:var(--radius); background:rgba(255,141,155,.06); }
.warning-panel strong { display:block; margin-bottom:8px; color:#ffb3bd; font-size:1.1rem; }
.three-grid { grid-template-columns:repeat(3,1fr); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:28px; align-items:start; }
.contact-form,.contact-aside { border:1px solid var(--line); border-radius:var(--radius); background:rgba(13,20,35,.78); box-shadow:var(--shadow); }
.contact-form { padding:36px; }
.contact-aside { position:sticky; top:120px; padding:34px; }
.contact-aside h2 { font-size:1.65rem; word-break:break-word; }
.contact-aside > p { margin-top:12px; }
.contact-aside .button { margin-top:22px; }
.contact-aside hr { margin:32px 0; border:0; border-top:1px solid var(--line); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:block; margin-bottom:18px; color:#dce4f4; font-size:.88rem; font-weight:720; }
.optional { color:var(--muted); font-weight:500; }
input,select,textarea { width:100%; margin-top:8px; padding:13px 14px; color:var(--text); border:1px solid var(--line-strong); border-radius:11px; background:#0a1120; outline:none; transition:border-color .2s, box-shadow .2s; }
input:focus,select:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(120,168,255,.12); }
textarea { resize:vertical; }
.form-warning { margin:2px 0 18px; padding:14px 16px; color:var(--muted); border-left:3px solid var(--gold); background:rgba(233,185,94,.06); font-size:.83rem; }
.form-warning strong { color:#f0cb81; }
.checkbox-label { display:flex; gap:12px; align-items:flex-start; color:var(--muted); font-weight:500; }
.checkbox-label input { width:auto; margin-top:5px; }
.form-status { min-height:1.5em; margin-top:14px; font-size:.85rem; }
.simple-steps { margin:17px 0 0; padding-left:22px; color:var(--muted); }
.simple-steps li + li { margin-top:11px; }
.legal-copy { max-width:850px; }
.effective-date { color:var(--gold); font-weight:700; }
.error-page { min-height:calc(100vh - 82px); display:grid; place-items:center; text-align:center; }
.error-page h1 { margin-inline:auto; }
.error-page p { margin-inline:auto; }
.error-code { color:rgba(120,168,255,.16); font-family:var(--font-display); font-size:clamp(8rem,25vw,18rem); font-weight:900; line-height:.65; letter-spacing:-.08em; }
.site-footer { padding:72px 0 26px; border-top:1px solid var(--line); background:#070b14; }
.footer-grid { display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:42px; }
.footer-brand p { max-width:410px; margin-top:18px; }
.footer-heading { margin-bottom:17px; color:#c6d1e7; font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
.footer-links { list-style:none; margin:0; padding:0; }
.footer-links li + li { margin-top:9px; }
.footer-links a { color:var(--muted); font-size:.9rem; }
.footer-links a:hover { color:var(--text); }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; margin-top:56px; padding-top:22px; border-top:1px solid var(--line); }
.footer-bottom p { font-size:.78rem; }
.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; transition-delay:var(--delay,0ms); }
.js .reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
@media (max-width: 1020px) {
  .nav-toggle { display:block; }
  .primary-nav { position:fixed; inset:82px 16px auto; max-height:calc(100vh - 100px); display:flex; flex-direction:column; align-items:stretch; padding:16px; border:1px solid var(--line); border-radius:18px; background:rgba(8,13,24,.97); box-shadow:var(--shadow); transform:translateY(-16px); opacity:0; pointer-events:none; transition:.2s ease; }
  .primary-nav.open { transform:none; opacity:1; pointer-events:auto; }
  .nav-link { padding:13px 14px; }
  .nav-cta { margin:8px 0 0; }
  .hero-grid { grid-template-columns:1fr; }
  .hero { padding-top:90px; }
  .hero-copy { z-index:2; }
  .hero-visual { min-height:480px; margin-top:-40px; opacity:.78; }
  .split-layout,.principle-grid { grid-template-columns:1fr; gap:42px; }
  .service-detail-grid { grid-template-columns:1fr; }
  .roadmap { grid-template-columns:1fr; gap:12px; }
  .roadmap-connector { width:1px; height:32px; margin-left:40px; }
  .founder-layout { grid-template-columns:300px 1fr; gap:32px; }
  .leadership-grid { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-aside { position:static; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2; }
}
@media (max-width: 760px) {
  .container { width:min(calc(100% - 28px),var(--max)); }
  .section { padding:78px 0; }
  .compact-section { padding:32px 0; }
  .brand-text { font-size:.77rem; letter-spacing:.12em; }
  .hero { min-height:auto; padding-top:82px; }
  h1 { font-size:clamp(2.4rem,11.2vw,3.65rem); }
  h2 { font-size:clamp(2rem,10vw,3rem); }
  .hero-visual { min-height:390px; }
  .orbit-system { width:420px; max-width:120%; }
  .orbit-three { --inset:20%; }
  .signal-card { display:none; }
  .value-band,.card-grid,.fit-grid,.support-grid,.principle-full-grid,.three-grid,.audience-grid { grid-template-columns:1fr; }
  .value-band div + div { border-left:0; border-top:1px solid var(--line); }
  .availability-banner { grid-template-columns:1fr; padding:28px; }
  .founder-layout { grid-template-columns:1fr; }
  .founder-visual { position:static; max-width:330px; margin-inline:auto; }
  .founder-card { padding:30px; }
  .founder-card h2 { font-size:3rem; }
  .leadership-intro { margin-top:52px; }
  .leader-card { padding:30px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .contact-form { padding:25px; }
  .page-hero { padding-top:110px; padding-bottom:55px; }
  .page-hero h1 { font-size:clamp(2.2rem,9.6vw,3.3rem); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width: 460px) {
  .header-inner { height:72px; }
  .primary-nav { inset:72px 10px auto; }
  .brand-mark { width:32px; height:32px; }
  .brand-text { font-size:.68rem; }
  .button { width:100%; }
  .button-row { width:100%; }
  .trust-strip { display:grid; }
  .hero-visual { min-height:330px; }
  .orbit-system { width:360px; }
  .core-mark { width:190px; }
  .core-mark .brand-mark { width:128px; height:128px; }
  .leader-head { align-items:flex-start; gap:16px; }
  .leader-mark { width:74px; border-radius:20px; font-size:1.25rem; }
  .leader-card { padding:24px; }
  .filter-bar { flex-wrap:nowrap; overflow:auto; }
  .service-detail { padding:25px; }
  .service-detail-head { align-items:flex-start; }
  .final-cta .container { padding:48px 22px; }
  .footer-grid { grid-template-columns:1fr; }
}

/* v0.4 — Light/Dark Theme Controls */
.theme-toggle {
  width: 40px;
  height: 40px;
  flex: none;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  color: var(--blue-bright);
  background: transparent;
  cursor: pointer;
  font-size: 1.05rem;
  line-height: 1;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.theme-toggle:hover {
  color: var(--gold);
  background: rgba(120,168,255,.08);
  border-color: rgba(120,168,255,.42);
  transform: translateY(-1px);
}
.theme-toggle span { display:block; transform:translateY(-1px); }

/* Genuine light mode while preserving the blue/gold Omnitechnicus identity. */
[data-theme="light"] {
  --bg: #f5f7fb;
  --bg-soft: #edf2f9;
  --panel: rgba(255, 255, 255, .88);
  --panel-solid: #ffffff;
  --panel-light: #eef3fa;
  --line: rgba(33, 67, 118, .14);
  --line-strong: rgba(33, 67, 118, .25);
  --text: #101a2b;
  --muted: #5c6980;
  --blue: #2f67d8;
  --blue-bright: #245fce;
  --gold: #a87413;
  --danger: #c54259;
  --success: #237d5e;
  --shadow: 0 24px 70px rgba(24, 49, 88, .13);
}
[data-theme="light"] body { background:var(--bg); }
[data-theme="light"] .site-backdrop {
  background:
    radial-gradient(circle at 30% -5%, rgba(74,119,255,.12), transparent 34%),
    radial-gradient(circle at 100% 40%, rgba(209,157,45,.09), transparent 30%),
    #f5f7fb;
}
[data-theme="light"] .site-backdrop::before {
  opacity:.42;
  background-image:
    linear-gradient(rgba(58,96,156,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(58,96,156,.055) 1px, transparent 1px);
}
[data-theme="light"] .section-alt {
  background:linear-gradient(180deg, rgba(232,239,249,.72), rgba(246,248,252,.88));
}
[data-theme="light"] .site-header.scrolled {
  background:rgba(250,252,255,.88);
  border-color:var(--line);
}
[data-theme="light"] .nav-link:hover,
[data-theme="light"] .nav-link.active,
[data-theme="light"] .theme-toggle:hover,
[data-theme="light"] .button-secondary:hover,
[data-theme="light"] .filter-button:hover,
[data-theme="light"] .filter-button.active {
  background:rgba(47,103,216,.08);
}
[data-theme="light"] .nav-toggle { background:rgba(47,103,216,.045); }
[data-theme="light"] .button-secondary { background:rgba(255,255,255,.55); }
[data-theme="light"] .trust-strip { color:#42536e; }
[data-theme="light"] .gradient-text {
  background:linear-gradient(115deg,#183b78 4%,#316fdc 38%,#245fce 61%,#a87413 96%);
  background-clip:text;
  -webkit-background-clip:text;
}
[data-theme="light"] .core-mark {
  border-color:rgba(47,103,216,.28);
  background:radial-gradient(circle at 50% 44%, rgba(47,103,216,.14), rgba(255,255,255,.94) 67%);
  box-shadow:0 0 70px rgba(47,103,216,.12),0 0 50px rgba(168,116,19,.07),inset 0 0 36px rgba(47,103,216,.05);
}
[data-theme="light"] .core-mark span { color:#455773; }
[data-theme="light"] .signal-card,
[data-theme="light"] .value-band,
[data-theme="light"] .filter-bar,
[data-theme="light"] .roadmap-item,
[data-theme="light"] .contact-form,
[data-theme="light"] .contact-aside {
  background:rgba(255,255,255,.88);
}
[data-theme="light"] .service-card,
[data-theme="light"] .mini-card,
[data-theme="light"] .service-detail,
[data-theme="light"] .support-channel,
[data-theme="light"] .leader-card,
[data-theme="light"] .founder-card,
[data-theme="light"] .fit-panel {
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,244,251,.96));
  box-shadow:0 18px 55px rgba(24,49,88,.08);
}
[data-theme="light"] .service-card:hover { box-shadow:0 24px 60px rgba(24,49,88,.14); }
[data-theme="light"] .service-card a,
[data-theme="light"] .text-link { color:#244c91; }
[data-theme="light"] .icon-box {
  border-color:rgba(47,103,216,.18);
  background:linear-gradient(145deg,rgba(47,103,216,.08),rgba(168,116,19,.045));
}
[data-theme="light"] .availability-banner {
  background:linear-gradient(110deg,rgba(68,112,198,.10),rgba(255,255,255,.92) 50%,rgba(190,137,34,.08));
}
[data-theme="light"] .final-cta .container {
  background:radial-gradient(circle at 50% 0,rgba(47,103,216,.11),transparent 50%),rgba(255,255,255,.88);
}
[data-theme="light"] .check-list li,
[data-theme="light"] .cross-list li { color:#46556d; }
[data-theme="light"] .boundary-note { background:rgba(168,116,19,.07); }
[data-theme="light"] .boundary-note strong,
[data-theme="light"] .form-warning strong { color:#8e620e; }
[data-theme="light"] .quote-panel { background:rgba(168,116,19,.055); }
[data-theme="light"] .founder-avatar {
  background:radial-gradient(circle at 50% 42%,rgba(47,103,216,.13),transparent 40%),rgba(255,255,255,.88);
}
[data-theme="light"] .founder-lead,
[data-theme="light"] .leader-lead { color:#364760; }
[data-theme="light"] .founder-values span { color:#40516b; background:rgba(47,103,216,.055); }
[data-theme="light"] .warning-panel { background:rgba(197,66,89,.055); }
[data-theme="light"] .warning-panel strong { color:#a83045; }
[data-theme="light"] label { color:#26364e; }
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea { background:#ffffff; }
[data-theme="light"] .form-warning { background:rgba(168,116,19,.055); }
[data-theme="light"] .site-footer { background:#edf2f9; }
[data-theme="light"] .footer-heading { color:#354863; }
[data-theme="light"] .error-code { color:rgba(47,103,216,.12); }

@media (max-width: 1020px) {
  [data-theme="light"] .primary-nav { background:rgba(250,252,255,.98); }
  .theme-toggle { margin:7px 0 0; }
}


/* v1.3 SEO content architecture */
.breadcrumbs { padding-top: 28px; color: var(--muted); font-size: .82rem; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0; padding:0; list-style:none; }
.breadcrumbs li + li::before { content:"/"; margin-right:7px; color:var(--gold); opacity:.72; }
.breadcrumbs a:hover { color:var(--text); }
.content-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.36fr); gap:48px; align-items:start; }
.content-main { min-width:0; }
.content-main h2 { margin-top:48px; font-size:clamp(1.75rem,3.3vw,2.7rem); }
.content-main h3 { margin-top:32px; font-size:1.35rem; }
.content-main p { margin-top:18px; }
.content-main ul { margin:20px 0 0; padding-left:22px; color:var(--muted); }
.content-main li + li { margin-top:10px; }
.content-aside { position:sticky; top:112px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); }
.content-aside h2 { font-size:1.25rem; }
.content-aside p { margin-top:12px; font-size:.9rem; }
.content-aside .button { width:100%; margin-top:20px; }
.content-aside .footer-links { margin-top:18px; }
.content-aside .footer-links a { color:var(--blue-bright); }
.service-links { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:22px; }
.service-links .button { margin-top:0; }
.detail-link { color:var(--blue-bright); font-weight:780; }
.detail-link:hover { color:var(--gold); }
.service-links .detail-link { display:inline-flex; min-height:49px; align-items:center; justify-content:center; padding:11px 18px; border:2px solid var(--blue); border-radius:13px; background:rgba(47,114,255,.045); color:var(--blue-bright); line-height:1.2; transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.service-links .detail-link:hover { transform:translateY(-2px); color:var(--text); background:rgba(47,114,255,.10); border-color:var(--blue-bright); box-shadow:0 10px 28px rgba(47,114,255,.14); }
[data-theme="light"] .service-links .detail-link { background:rgba(255,255,255,.58); color:#1559d6; border-color:#2f72ff; }
[data-theme="light"] .service-links .detail-link:hover { background:rgba(47,114,255,.08); color:#0c3d98; border-color:#1559d6; }
.outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.outcome-card { padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.outcome-card strong { display:block; font-family:var(--font-display); }
.outcome-card p { margin-top:8px; font-size:.9rem; }
.article-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.article-card { display:flex; flex-direction:column; min-height:280px; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg, rgba(20,30,51,.84), rgba(10,16,29,.82)); box-shadow:0 18px 60px rgba(0,0,0,.18); }
.article-card .eyebrow { margin-bottom:12px; }
.article-card h2, .article-card h3 { font-size:1.55rem; }
.article-card p { margin-top:14px; }
.article-card .detail-link { margin-top:auto; padding-top:24px; }
.article-meta { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:20px; color:var(--muted); font-size:.82rem; }
.article-meta span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:8px; border-radius:50%; background:var(--gold); vertical-align:middle; }
.related-service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:22px; }
.related-service-list a { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:var(--panel); color:var(--blue-bright); font-weight:760; }
.related-service-list a:hover { border-color:rgba(120,168,255,.45); color:var(--gold); }
.insights-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.insight-mini { padding:25px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.insight-mini h3 { margin-top:8px; }
.insight-mini p { margin-top:12px; font-size:.92rem; }
.insight-mini .detail-link { display:inline-block; margin-top:18px; }
[data-theme="light"] .article-card { background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,244,251,.96)); box-shadow:0 18px 55px rgba(24,49,88,.08); }
[data-theme="light"] .content-aside, [data-theme="light"] .outcome-card, [data-theme="light"] .related-service-list a, [data-theme="light"] .insight-mini { background:rgba(255,255,255,.88); }
@media (max-width: 1020px) { .content-shell { grid-template-columns:1fr; } .content-aside { position:static; } .outcome-grid, .insights-strip { grid-template-columns:1fr; } }
@media (max-width: 760px) { .article-grid, .related-service-list { grid-template-columns:1fr; } }


/* v1.6 — Secure Cloudflare form delivery */
.form-honeypot {
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.turnstile-wrap { margin:20px 0 22px; min-height:65px; }
.form-status.success { color:var(--success); font-weight:700; }
.form-status.error { color:var(--danger); font-weight:700; }
.contact-form button[type="submit"]:disabled { opacity:.62; cursor:wait; transform:none; }


/* v1.7 — Social presence and identity integration */
.footer-social {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:48px;
  padding-top:26px;
  border-top:1px solid var(--line);
}
.footer-social-copy {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 16px;
}
.footer-social-copy .footer-heading { margin:0; }
.footer-social-copy p { font-size:.82rem; }
.social-links { display:flex; flex-wrap:wrap; gap:10px; }
.social-link {
  width:44px;
  height:44px;
  flex:none;
  display:grid;
  place-items:center;
  color:var(--muted);
  border:1px solid var(--line-strong);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  transition:color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.social-link svg { width:20px; height:20px; fill:currentColor; }
.social-link:hover {
  color:var(--text);
  background:rgba(120,168,255,.08);
  border-color:rgba(120,168,255,.46);
  transform:translateY(-2px);
  box-shadow:0 9px 24px rgba(47,114,255,.12);
}
.social-link:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.footer-social + .footer-bottom { margin-top:28px; }
[data-theme="light"] .social-link { background:rgba(255,255,255,.58); }
[data-theme="light"] .social-link:hover { background:rgba(47,103,216,.08); border-color:rgba(47,103,216,.36); }
@media (max-width:760px) {
  .footer-social { align-items:flex-start; flex-direction:column; gap:18px; }
}
@media (max-width:460px) {
  .social-links { gap:8px; }
  .social-link { width:42px; height:42px; }
}
