/* Verity Partners portable website styles. No build step required. */


:root {
  --navy: #06172c;
  --navy-2: #0a213c;
  --ink: #0d1a28;
  --blue: #0878cf;
  --cyan: #41b7df;
  --cloud: #f3f6f8;
  --steel: #667687;
  --line: #d8e0e6;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: Inter, Arial, Helvetica, sans-serif, Arial, sans-serif; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
em { color: var(--blue); font-style: normal; }
.container { width: min(1320px, calc(100% - 64px)); margin: 0 auto; }
.section { padding: 120px 0; }
.eyebrow { margin: 0 0 26px; color: var(--blue); font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace, monospace; font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.eyebrow.light { color: #70c9f0; }
h1, h2, h3, p { margin-top: 0; }
h2 { margin-bottom: 0; font-size: clamp(42px, 5vw, 70px); font-weight: 450; letter-spacing: -.055em; line-height: 1.03; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 28px; padding: 0 22px; border: 1px solid #4aafe0; background: var(--blue); color: #fff; font-size: 13px; font-weight: 650; letter-spacing: .01em; transition: background .2s, color .2s, border-color .2s; }
.button span, .text-link span { transition: transform .2s; }
.button:hover { background: #0794e5; }
.button:hover span, .text-link:hover span { transform: translate(4px, -2px); }
.button-small { min-height: 44px; padding: 0 18px; gap: 16px; }
.text-link { display: inline-flex; align-items: center; gap: 14px; border-bottom: 1px solid #a7b7c4; padding: 0 0 5px; font-size: 13px; font-weight: 650; }
.text-link.light { color: #fff; border-color: #45617c; }
.button-row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }

.site-header { position: absolute; z-index: 20; top: 0; left: 0; display: grid; width: 100%; height: 88px; grid-template-columns: 260px 1fr auto; align-items: center; gap: 28px; padding: 0 max(32px, calc((100vw - 1320px) / 2)); border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; }
.brand { display: inline-flex; align-items: center; width: 184px; height: 54px; overflow: hidden; }
.brand img { width: 180px; filter: brightness(0) invert(1); }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(20px, 2.5vw, 42px); font-size: 13px; }
.desktop-nav > a, .desktop-nav summary { cursor: pointer; opacity: .82; list-style: none; transition: opacity .2s, color .2s; }
.desktop-nav > a:hover, .desktop-nav summary:hover { color: #72d2f6; opacity: 1; }
.desktop-nav summary::-webkit-details-marker { display: none; }
.mega-trigger { position: relative; }
.mega-trigger[open] summary { color: #72d2f6; }
.mega-menu { position: absolute; top: 56px; left: 50%; display: grid; width: min(850px, 76vw); grid-template-columns: repeat(4, 1fr); gap: 30px; padding: 32px; transform: translateX(-34%); border: 1px solid #24425e; background: rgba(5,23,43,.98); box-shadow: 0 25px 70px rgba(0,0,0,.28); }
.mega-menu div { display: flex; flex-direction: column; gap: 9px; }
.mega-menu b { min-height: 42px; color: #7ccff0; font-size: 11px; letter-spacing: .04em; }
.mega-menu a { color: #dce8f1; font-size: 12px; opacity: .78; }
.mega-menu a:hover { opacity: 1; }
.mobile-menu { display: none; }

.hero { position: relative; overflow: hidden; min-height: 850px; padding-top: 88px; background: radial-gradient(circle at 74% 46%, #0b3a61 0, #071f39 24%, var(--navy) 55%); color: #fff; }
.hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(97,165,205,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(97,165,205,.055) 1px, transparent 1px); background-size: 54px 54px; content: ""; mask-image: linear-gradient(90deg, transparent 15%, #000 65%); }
.hero-grid { position: relative; display: grid; min-height: 650px; grid-template-columns: 55% 45%; align-items: center; }
.hero-copy { position: relative; z-index: 3; padding: 74px 0 60px; }
.hero h1 { max-width: 760px; margin: 0 0 34px; font-size: clamp(54px, 6.35vw, 92px); font-weight: 420; letter-spacing: -.066em; line-height: .96; }
.hero h1 em { color: #6bc9ed; }
.hero-lede { max-width: 675px; margin: 0 0 40px; color: #b7c8d8; font-size: 17px; line-height: 1.7; }
.hero-system { position: relative; z-index: 1; height: 600px; }
.system-frame { position: absolute; top: 50%; left: 50%; width: min(540px, 42vw); aspect-ratio: 1; transform: translate(-46%, -50%); border: 1px solid rgba(102,188,229,.25); border-radius: 50%; }
.system-frame::before, .system-frame::after { position: absolute; inset: 10%; border: 1px dashed rgba(100,198,238,.18); border-radius: 50%; content: ""; animation: rotate 24s linear infinite; }
.system-frame::after { inset: 23%; border-style: solid; animation-direction: reverse; animation-duration: 16s; }
.orbit { position: absolute; border: 1px solid rgba(105,196,238,.28); border-radius: 50%; }
.orbit-a { inset: 2% 18%; transform: rotate(28deg); }
.orbit-b { inset: 17% 3%; transform: rotate(-32deg); }
.orbit-c { inset: 31% 7%; transform: rotate(72deg); }
.core-node { position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; width: 150px; height: 150px; flex-direction: column; align-items: center; justify-content: center; transform: translate(-50%,-50%); border: 1px solid rgba(121,216,249,.62); border-radius: 50%; background: radial-gradient(circle, rgba(18,95,141,.8), rgba(5,27,49,.72)); box-shadow: 0 0 55px rgba(52,168,221,.18); }
.core-node span { font-size: 46px; font-weight: 250; }
.core-node small { color: #8dc8df; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .12em; text-align: center; }
.node { position: absolute; width: 9px; height: 9px; border: 2px solid #8bddf8; border-radius: 50%; background: #0c2d49; box-shadow: 0 0 16px #54c8f2; animation: pulse 3s ease-in-out infinite; }
.n1 { top: 11%; left: 49%; } .n2 { top: 35%; right: 4%; animation-delay: -.6s; } .n3 { right: 19%; bottom: 10%; animation-delay: -1.1s; } .n4 { bottom: 16%; left: 13%; animation-delay: -1.7s; } .n5 { top: 27%; left: 4%; animation-delay: -2.1s; }
.trace { position: absolute; z-index: 1; top: 50%; left: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg, #62d0f5, transparent); }
.t1 { width: 45%; transform: rotate(-54deg); } .t2 { width: 40%; transform: rotate(19deg); } .t3 { width: 42%; transform: rotate(142deg); }
.system-label { position: absolute; color: #65b6d7; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .12em; }
.label-a { top: 2%; left: 17%; } .label-b { top: 42%; right: -5%; } .label-c { bottom: 8%; left: 6%; }
.micro-proof { position: relative; display: grid; min-height: 112px; grid-template-columns: repeat(5, 1fr); align-items: stretch; border-top: 1px solid rgba(255,255,255,.12); }
.micro-proof span { display: flex; align-items: center; gap: 12px; padding: 0 20px; border-right: 1px solid rgba(255,255,255,.1); color: #c5d4e0; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.micro-proof i { color: #3e8fb9; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-style: normal; }

.partner-strip { border-bottom: 1px solid var(--line); background: #fff; }
.partner-row { display: grid; min-height: 116px; grid-template-columns: 300px 1fr; align-items: center; gap: 40px; }
.partner-row p { margin: 0; color: var(--steel); font-size: 12px; }
.partner-names { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #4f5d68; filter: grayscale(1); }
.partner-names b { font-size: clamp(14px, 1.8vw, 24px); letter-spacing: -.04em; white-space: nowrap; }
.partner-names i { color: #80909b; font-size: .62em; font-style: normal; }

.approach { background: var(--cloud); }
.approach-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px 96px; }
.section-intro h2 { max-width: 800px; }
.approach-copy { padding-top: 48px; color: #536473; font-size: 16px; line-height: 1.75; }
.approach-copy p { max-width: 540px; }
.approach-copy .text-link { margin-top: 20px; color: var(--ink); }
.principle { align-self: stretch; padding: 52px; background: var(--navy); color: #fff; }
.principle span { color: #5aaed3; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 9px; letter-spacing: .12em; }
.principle h3 { margin: 66px 0 22px; font-size: clamp(46px, 5.4vw, 72px); font-weight: 400; letter-spacing: -.06em; line-height: .98; }
.principle p { color: #91a7b8; }
.schematic { position: relative; min-height: 450px; overflow: hidden; border: 1px solid var(--line); background: #eaf0f3; }
.schematic-grid { position: absolute; inset: 0; background-image: linear-gradient(#cfdae0 1px, transparent 1px), linear-gradient(90deg, #cfdae0 1px, transparent 1px); background-size: 38px 38px; }
.schematic-note { position: absolute; top: 50%; left: 50%; display: grid; width: 190px; height: 190px; place-items: center; transform: translate(-50%,-50%); border: 1px solid #64b4d6; border-radius: 50%; color: #156892; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 10px; letter-spacing: .12em; text-align: center; }
.schematic-box { position: absolute; top: 16%; left: 10%; padding: 12px 17px; border: 1px solid #abc1cc; background: rgba(243,246,248,.9); color: #667986; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 9px; letter-spacing: .1em; }
.schematic-box::after { position: absolute; top: 50%; left: 100%; width: 150px; border-top: 1px solid #8eb8ca; content: ""; }
.schematic-box.b2 { top: 70%; left: 12%; } .schematic-box.b3 { top: 34%; left: auto; right: 7%; }
.cross { position: absolute; color: #318ab2; font-family: monospace; }.c1{top:8%;right:9%}.c2{bottom:12%;right:26%}.c3{bottom:22%;left:38%}

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 68px; }
.section-head > p, .section-head > a { max-width: 410px; margin: 0; color: var(--steel); line-height: 1.7; }
.section-head.compact { align-items: center; }
.capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.capability-card { position: relative; min-height: 520px; overflow: hidden; border: 1px solid var(--line); background: #fff; transition: border-color .25s, transform .25s; }
.capability-card:hover { z-index: 1; border-color: var(--blue); transform: translateY(-3px); }
.card-number { position: absolute; z-index: 2; top: 28px; left: 30px; color: #5687a2; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 10px; }
.card-diagram { position: absolute; inset: 0; opacity: .8; background-image: linear-gradient(rgba(46,127,170,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(46,127,170,.07) 1px, transparent 1px); background-size: 42px 42px; }
.card-diagram::before, .card-diagram::after, .card-diagram i { position: absolute; border: 1px solid rgba(43,144,190,.24); border-radius: 50%; content: ""; transition: transform .5s; }
.card-diagram::before { width: 330px; height: 330px; top: -65px; right: -40px; }.card-diagram::after { width: 220px; height: 220px; top: -10px; right: 15px; }
.card-diagram i:nth-child(1){width:10px;height:10px;top:90px;right:115px;background:#fff;box-shadow:0 0 0 5px rgba(47,162,213,.1)}
.card-diagram i:nth-child(2){width:7px;height:7px;top:175px;right:70px}.card-diagram i:nth-child(3){width:6px;height:6px;top:55px;right:245px}
.capability-card:hover .card-diagram::before { transform: rotate(15deg) scale(1.04); }
.card-content { position: absolute; z-index: 2; right: 36px; bottom: 36px; left: 36px; }
.card-content h3 { max-width: 450px; margin-bottom: 16px; font-size: clamp(28px, 3vw, 40px); font-weight: 480; letter-spacing: -.045em; line-height: 1.05; }
.card-content strong { display: block; margin-bottom: 14px; color: var(--blue); font-size: 14px; }
.card-content p { max-width: 560px; margin-bottom: 16px; color: var(--steel); font-size: 14px; }
.card-content small { display: block; margin-bottom: 24px; color: #82909a; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.card-content a { display: inline-flex; gap: 12px; border-bottom: 1px solid #b5c2ca; padding-bottom: 4px; font-size: 12px; font-weight: 650; }
.communications .card-diagram::before { border-radius: 10%; transform: rotate(25deg); }.security .card-diagram::before { border-radius: 0; transform: rotate(45deg); }.operations .card-diagram::after { border-style: dashed; }

.lifecycle { background: var(--cloud); }
.timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); }
.timeline::before { position: absolute; top: 50px; right: 10%; left: 10%; height: 1px; background: linear-gradient(90deg, #43b5df, #157ab1); content: ""; }
.timeline article { position: relative; padding-right: 34px; }
.timeline article > span { color: #4c7c96; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 9px; }
.timeline article > i { position: relative; z-index: 2; display: block; width: 12px; height: 12px; margin: 26px 0 32px; border: 3px solid var(--cloud); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px #4ca5cf; }
.timeline h3 { margin-bottom: 13px; font-size: 23px; font-weight: 500; letter-spacing: -.03em; }
.timeline p { color: var(--steel); font-size: 13px; line-height: 1.7; }

.problem { background: var(--navy); color: #fff; }
.problem-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.problem-intro { position: sticky; top: 40px; align-self: start; }
.problem-intro h2 { margin-bottom: 32px; }
.problem-intro > p:not(.eyebrow) { max-width: 480px; margin-bottom: 36px; color: #9fb2c2; line-height: 1.7; }
.selector { border-top: 1px solid #35506a; }
.selector > h3 { padding: 30px 0; border-bottom: 1px solid #35506a; color: #7fcbed; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .08em; }
.challenge input { position: absolute; opacity: 0; pointer-events: none; }
.challenge label { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #283f56; color: #cbd7e0; cursor: pointer; font-size: 15px; }
.challenge label i { color: #4e9fc6; font-size: 22px; font-style: normal; font-weight: 300; transition: transform .2s; }
.challenge input:focus-visible + label { outline: 2px solid #7dd6fa; outline-offset: -2px; }
.challenge-result { display: none; padding: 22px 25px; border: 1px solid #1a83b8; border-top: 0; background: #0a2945; }
.challenge-result small { display: block; margin-bottom: 8px; color: #5eb2d7; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .12em; }
.challenge-result b { display: block; margin-bottom: 7px; font-size: 18px; }
.challenge-result p { margin: 0; color: #9eb3c4; font-size: 13px; }
.challenge input:checked + label { color: #fff; }
.challenge input:checked + label i { transform: rotate(45deg); }
.challenge input:checked ~ .challenge-result { display: block; }

.project-grid { display: grid; grid-template-columns: 1.55fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; }
.project { display: grid; min-height: 320px; grid-template-columns: 47% 53%; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.project.featured { min-height: 660px; grid-row: 1 / 3; grid-template-columns: 1fr; grid-template-rows: 57% 43%; }
.project-image { overflow: hidden; background: #d9e2e6; }
.project-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.03); transition: transform .5s, filter .5s; }
.project:hover .project-image img { transform: scale(1.025); filter: saturate(1); }
.project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 3vw, 44px); }
.project-copy small { margin-bottom: 18px; color: #4485a5; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .08em; line-height: 1.7; }
.project-copy h3 { margin-bottom: 14px; font-size: clamp(27px, 3vw, 42px); font-weight: 480; letter-spacing: -.045em; line-height: 1; }
.project-copy p { margin-bottom: 22px; color: var(--steel); font-size: 13px; line-height: 1.6; }
.project-copy > span { margin-top: auto; color: var(--blue); font-size: 12px; font-weight: 650; }

.operations-panel { overflow: hidden; background: #06192d; color: #fff; }
.operations-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.ops-copy h2 { margin-bottom: 32px; }.ops-copy > p:not(.eyebrow) { max-width: 570px; margin-bottom: 36px; color: #a3b5c4; line-height: 1.75; }
.ops-visual { position: relative; min-height: 460px; background-image: linear-gradient(rgba(75,144,181,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(75,144,181,.1) 1px, transparent 1px); background-size: 42px 42px; }
.ops-visual::before, .ops-visual::after { position:absolute;top:50%;left:50%;width:370px;height:370px;transform:translate(-50%,-50%);border:1px solid #1a5274;border-radius:50%;content:""}.ops-visual::after{width:250px;height:250px;border-style:dashed}
.ops-core { position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; width: 160px; height: 160px; flex-direction: column; align-items: center; justify-content: center; transform: translate(-50%,-50%); border: 1px solid #4daed5; border-radius: 50%; background: #08233d; box-shadow: 0 0 55px rgba(29,132,181,.18); }
.ops-core span { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 38px; }.ops-core small { color: #70b8d6; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .1em; text-align:center}
.ops-node { position: absolute; z-index: 2; padding: 9px 12px; border: 1px solid #2b607c; background: #081f36; color: #78b7d2; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing:.08em; }
.ops-node i { display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#4dd39b;box-shadow:0 0 10px #4dd39b}
.on1{top:8%;left:16%}.on2{top:24%;right:2%}.on3{right:8%;bottom:14%}.on4{bottom:7%;left:7%}
.ops-indicators { grid-column: 1 / 3; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #27445d; border-left: 1px solid #27445d; }
.ops-indicators span { display:flex;align-items:center;gap:16px;min-height:64px;padding:0 18px;border-right:1px solid #27445d;border-bottom:1px solid #27445d;color:#a9bac7;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.ops-indicators i { color:#4da5cd;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-style:normal }

.why { background: var(--cloud); }
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #bac8d0; border-left: 1px solid #bac8d0; }
.why-grid article { min-height: 280px; padding: 32px; border-right: 1px solid #bac8d0; border-bottom: 1px solid #bac8d0; }
.why-grid span { color: #4b8bac; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 9px; }
.why-grid h3 { margin: 85px 0 15px; font-size: 22px; font-weight: 520; letter-spacing: -.03em; }
.why-grid p { color: var(--steel); font-size: 13px; line-height: 1.65; }

.contact { background: linear-gradient(135deg, #0a2d4c, var(--navy)); color: #fff; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.contact-copy h2 { margin-bottom: 30px; }.contact-copy > p:not(.eyebrow) { max-width: 560px; color:#a9bbc9;line-height:1.75}
.contact-direct { display: flex; flex-direction: column; gap: 8px; margin-top: 42px; }
.contact-direct a { color: #7dd4f6; font-size: 18px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 42px; border: 1px solid #34516a; background: rgba(3,20,37,.36); }
.field { display: flex; flex-direction: column; gap: 8px; }.field.full { grid-column: 1 / 3; }
.field label { color:#a9c1d1;font-size:11px;font-weight:600;letter-spacing:.04em}.field label span{color:#6f8ba0;font-weight:400}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #49647a;border-radius:0;outline:0;background:transparent;color:#fff;padding:10px 0}.field select option{color:#111}.field input:focus,.field select:focus,.field textarea:focus{border-color:#63cdf4}
.full-button { grid-column: 1 / 3; border: 0; }

footer { padding: 70px 0 22px; background: #030f1d; color: #91a4b5; }
.footer-grid { display: grid; grid-template-columns: 1.8fr .7fr .7fr 1fr; gap: 60px; padding-bottom: 65px; }
.footer-brand img { width: 190px; margin-bottom: 24px; filter: brightness(0) invert(1); }.footer-brand p { max-width:270px;font-size:13px;line-height:1.7}
.footer-grid > div:not(.footer-brand), .footer-grid address { display:flex;flex-direction:column;gap:9px;font-size:12px;font-style:normal;line-height:1.8}
.footer-grid b { margin-bottom:12px;color:#d7e1e9;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.footer-grid a:hover { color:#61c8ee}
.footer-bottom { display:flex;align-items:center;gap:26px;padding-top:20px;border-top:1px solid #193048;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:8px;letter-spacing:.08em}
.system-status { margin-left:auto;color:#6ba88e}.system-status i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#4cc991;box-shadow:0 0 8px #4cc991}

@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes pulse { 0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)} }

@media (max-width: 980px) {
  .container { width: min(100% - 40px, 760px); }
  .section { padding: 88px 0; }
  .site-header { grid-template-columns: 1fr auto; padding: 0 22px; }
  .desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.mobile-menu summary{display:flex;width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;list-style:none}.mobile-menu summary span{position:absolute;clip:rect(0 0 0 0)}.mobile-menu summary i,.mobile-menu summary i::before{display:block;width:24px;height:1px;background:#fff;content:""}.mobile-menu summary i::before{transform:translateY(7px)}.mobile-menu[open] summary i{transform:rotate(45deg)}.mobile-menu[open] summary i::before{transform:rotate(90deg)}.mobile-menu nav{position:absolute;top:88px;right:0;left:0;display:flex;flex-direction:column;padding:28px 22px 34px;border-top:1px solid #263f57;background:#06172c}.mobile-menu nav>a:not(.button){padding:13px 0;border-bottom:1px solid #20384f}.mobile-menu .button{margin-top:22px}
  .hero { min-height: auto; }.hero-grid{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:100px 0 20px}.hero-system{height:450px}.system-frame{width:min(470px,84vw);transform:translate(-50%,-50%)}.micro-proof{grid-template-columns:1fr 1fr}.micro-proof span{min-height:70px}.micro-proof span:last-child{grid-column:1/3}
  .partner-row{grid-template-columns:1fr;padding:28px 0;gap:22px}.partner-names{overflow-x:auto;justify-content:flex-start;padding-bottom:8px}.partner-names b{font-size:20px}
  .approach-grid,.problem-grid,.operations-grid,.contact-grid{grid-template-columns:1fr;gap:58px}.approach-copy{padding-top:0}.schematic{min-height:400px}.problem-intro{position:static}.ops-indicators{grid-column:1}.contact-form{padding:30px}
  .capability-card{min-height:480px}.timeline{grid-template-columns:1fr}.timeline::before{top:0;bottom:0;left:5px;width:1px;height:auto}.timeline article{padding:0 0 35px 46px}.timeline article>span{position:absolute;left:46px}.timeline article>i{position:absolute;top:2px;left:0;margin:0}.timeline h3{padding-top:30px}
  .project-grid{grid-template-columns:1fr;grid-template-rows:auto}.project,.project.featured{min-height:0;grid-row:auto;grid-template-columns:1fr;grid-template-rows:320px auto}.project.featured{grid-template-rows:420px auto}
  .why-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid address{grid-column:1/4}
}

@media (max-width: 640px) {
  .container { width: calc(100% - 32px); }.section{padding:72px 0}.eyebrow{margin-bottom:20px}h2{font-size:42px}.brand{width:158px}.brand img{width:155px}
  .hero-copy{padding-top:76px}.hero h1{font-size:53px}.hero-lede{font-size:15px}.hero-system{height:360px}.system-frame{width:330px}.core-node{width:112px;height:112px}.core-node span{font-size:34px}.micro-proof{width:100%;grid-template-columns:1fr;padding:0 16px}.micro-proof span,.micro-proof span:last-child{grid-column:1;min-height:52px;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .approach-grid{gap:28px}.principle{padding:32px}.principle h3{margin-top:50px;font-size:50px}.schematic{min-height:330px}.schematic-box::after{width:70px}
  .section-head{align-items:flex-start;flex-direction:column;margin-bottom:44px;gap:24px}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:500px}.card-content{right:24px;bottom:26px;left:24px}
  .problem-grid{gap:48px}.challenge label{font-size:14px}.project,.project.featured{grid-template-rows:260px auto}.project-copy{padding:28px}.project-copy p{font-size:14px}
  .ops-visual{min-height:360px}.ops-visual::before{width:310px;height:310px}.ops-visual::after{width:220px;height:220px}.ops-core{width:135px;height:135px}.ops-node{font-size:7px}.ops-indicators{grid-template-columns:1fr 1fr}.ops-indicators span{font-size:9px}
  .why-grid{grid-template-columns:1fr}.why-grid article{min-height:220px}.why-grid h3{margin-top:60px}.contact-grid{gap:46px}.contact-form{grid-template-columns:1fr;padding:24px}.field,.field.full,.full-button{grid-column:1}.footer-grid{grid-template-columns:1fr 1fr;gap:44px}.footer-brand,.footer-grid address{grid-column:1/3}.footer-bottom{align-items:flex-start;flex-wrap:wrap}.system-status{width:100%;margin-left:0}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:focus-visible { outline: 2px solid #62cbf2; outline-offset: 4px; }

/* Architectural infrastructure direction */
.site-header { position: fixed; background: rgba(5, 22, 41, .84); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.hero { min-height: 940px; background: linear-gradient(118deg, #06172c 0%, #081d33 50%, #0b2944 100%); }
.hero::before { background: linear-gradient(90deg, transparent 0 67%, rgba(91, 179, 218, .08) 67% 67.1%, transparent 67.1%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px); background-size: 100% 100%, 100% 90px; mask-image: linear-gradient(90deg, transparent 30%, #000); }
.hero::after { position: absolute; inset: 88px 0 112px 58%; border-left: 1px solid rgba(110, 193, 229, .12); background: linear-gradient(90deg, rgba(46,126,166,.04), transparent 45%); content: ""; }
.hero-grid { min-height: 730px; }
.hero-system { z-index: 2; height: 660px; perspective: 1400px; perspective-origin: 56% 45%; }
.axon-stage { position: absolute; inset: 0; transform-style: preserve-3d; }
.axon-stack { position: absolute; top: 48%; left: 52%; width: 430px; height: 350px; transform: translate(-50%, -50%) rotateX(58deg) rotateZ(-34deg); transform-style: preserve-3d; will-change: transform; }
.axon-layer { --lift: 0px; position: absolute; top: 50%; left: 50%; display: block; width: 390px; height: 255px; padding: 25px 28px; transform: translate(-50%, -50%) translateZ(var(--lift)); border: 1px solid rgba(112, 208, 243, .62); background: linear-gradient(135deg, rgba(16,71,108,.92), rgba(5,26,46,.76)); box-shadow: 18px 28px 60px rgba(0,0,0,.25); color: #b8e9fa; transform-style: preserve-3d; }
.axon-layer::before { position: absolute; inset: 13px; border: 1px solid rgba(118,205,238,.16); content: ""; }
.axon-layer::after { position: absolute; right: -12px; bottom: -12px; width: 100%; height: 12px; transform: skewX(-45deg); transform-origin: left top; background: rgba(4,16,30,.72); content: ""; }
.axon-layer b { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 11px; letter-spacing: .18em; }
.axon-layer > span { position: absolute; right: 25px; color: #5eb7dc; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 10px; }
.axon-layer i { position: absolute; width: 8px; height: 8px; border: 1px solid #76d7f7; background: #0a2d49; box-shadow: 0 0 14px rgba(73,199,242,.45); }
.axon-layer i:nth-of-type(1) { top: 34%; left: 20%; }.axon-layer i:nth-of-type(2) { top: 60%; left: 61%; }.axon-layer i:nth-of-type(3) { top: 31%; right: 17%; }
.layer-design { --lift: -78px; opacity: .65; }.layer-connect { --lift: -18px; opacity: .78; }.layer-secure { --lift: 42px; opacity: .9; }.layer-operate { --lift: 102px; background: linear-gradient(135deg, rgba(16,98,143,.96), rgba(6,34,59,.88)); }
.axon-spine { position: absolute; z-index: 5; top: 50%; left: 50%; display: flex; width: 118px; height: 118px; flex-direction: column; align-items: center; justify-content: center; transform: translate(-50%,-50%) translateZ(156px); border: 1px solid #8de1fa; background: #071e35; color: #fff; box-shadow: 0 20px 55px rgba(0,0,0,.4); }
.axon-spine span { font-size: 25px; font-weight: 350; letter-spacing: .1em; }.axon-spine small { margin-top: 8px; color: #6bbfe0; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 6px; letter-spacing: .12em; text-align: center; }
.axon-caption { position: absolute; right: 2%; bottom: 5%; display: flex; width: 250px; flex-direction: column; gap: 8px; border-left: 1px solid #3b86aa; padding-left: 18px; }
.axon-caption span { color: #58a9ce; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .12em; }.axon-caption b { color: #bed0dd; font-size: 12px; font-weight: 450; }

@supports (animation-timeline: scroll()) {
  .axon-stack { animation: axon-scroll linear both; animation-timeline: scroll(root); animation-range: 0 880px; }
}
@keyframes axon-scroll { to { transform: translate(-50%, -42%) rotateX(70deg) rotateZ(-43deg) scale(.86); } }

.project-lens { position: relative; min-height: 510px; overflow: hidden; background: #0b1b2a; }
.project-lens img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; filter: grayscale(.15) saturate(.7) contrast(1.06); transition: transform .8s ease, filter .8s ease; }
.project-lens:hover img { transform: scale(1.025); filter: grayscale(0) saturate(.9) contrast(1.04); }
.lens-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(2,16,28,.86)); }
.lens-caption { position: absolute; right: 40px; bottom: 38px; left: 40px; display: flex; align-items: end; justify-content: space-between; gap: 30px; color: #fff; }
.lens-caption span,.lens-index { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .12em; }.lens-caption span { color: #75c9e9; }.lens-caption b { font-size: 20px; font-weight: 450; line-height: 1.3; text-align: right; }
.lens-index { position: absolute; top: 28px; right: 30px; color: rgba(255,255,255,.7); }

.capability-card { min-height: 620px; background: #fff; }
.card-diagram { inset: 0 0 auto; height: 52%; opacity: 1; background-position: center; background-size: cover; transform: scale(1.001); transition: transform .65s ease, filter .65s ease; }
.infrastructure .card-diagram { background-image: linear-gradient(180deg, rgba(6,24,42,.06), rgba(6,24,42,.52)), url('../images/case-museum.jpg'); }
.communications .card-diagram { background-image: linear-gradient(180deg, rgba(6,24,42,.03), rgba(6,24,42,.5)), url('../images/case-orchestra.jpg'); }
.security .card-diagram { background-image: linear-gradient(180deg, rgba(6,24,42,.03), rgba(6,24,42,.62)), url('../images/case-yacht.png'); }
.operations .card-diagram { background-image: linear-gradient(125deg, rgba(6,24,42,.14), rgba(6,24,42,.8)), url('../images/case-orchestra.jpg'); }
.card-diagram::before,.card-diagram::after,.card-diagram i { display: none; }
.capability-card:hover .card-diagram,.capability-card:hover .card-diagram::before { transform: scale(1.035); }
.card-number { top: 24px; left: 24px; padding: 8px 10px; background: rgba(4,21,37,.86); color: #84d6f3; }
.card-content { top: 52%; right: 0; bottom: 0; left: 0; padding: 34px 36px; background: #fff; }
.card-content h3 { font-size: clamp(29px, 2.8vw, 39px); }

.lifecycle { padding-bottom: 0; background: #eaf0f3; view-timeline-name: --lifecycle; view-timeline-axis: block; }
.lifecycle-head { padding-bottom: 40px; }
.lifecycle-scroll { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }
.lifecycle-copy article { position: relative; display: flex; min-height: 44vh; flex-direction: column; justify-content: center; border-top: 1px solid #bdcbd3; padding: 54px 12px 54px 58px; }
.lifecycle-copy article > span { position: absolute; top: 58px; left: 0; color: #287ea5; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 9px; }
.lifecycle-copy h3 { margin: 0 0 12px; font-size: 34px; font-weight: 480; letter-spacing: -.04em; }
.lifecycle-copy p { max-width: 370px; margin: 0; color: var(--steel); font-size: 14px; line-height: 1.7; }
.lifecycle-visual { position: sticky; top: 88px; display: flex; height: calc(100vh - 88px); align-items: center; justify-content: center; perspective: 1400px; overflow: hidden; }
.lifecycle-visual > p { position: absolute; right: 24px; bottom: 34px; color: #6d8d9e; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 8px; letter-spacing: .13em; }
.lifecycle-model { position: relative; width: 520px; height: 520px; transform: rotateX(59deg) rotateZ(-33deg); transform-style: preserve-3d; will-change: transform; }
.model-floor { --z: 0px; position: absolute; top: 50%; left: 50%; width: 420px; height: 270px; transform: translate(-50%,-50%) translateZ(var(--z)); border: 1px solid rgba(35,124,165,.52); background: rgba(248,251,252,.76); box-shadow: 20px 28px 55px rgba(27,54,70,.09); color: #1c6386; transform-style: preserve-3d; }
.model-floor::before { position:absolute;inset:18px;border:1px solid rgba(42,133,174,.17);content:""}.model-floor::after { position:absolute;right:-11px;bottom:-11px;width:100%;height:11px;transform:skewX(-45deg);transform-origin:left top;background:#b7c8d1;content:""}
.model-floor span { position:absolute;top:22px;left:24px;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:9px}.model-floor b { position:absolute;right:24px;bottom:22px;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:10px;letter-spacing:.13em}.model-floor i{position:absolute;width:8px;height:8px;border:1px solid #2b96c3;background:#eaf4f8}.model-floor i:nth-of-type(1){top:28%;left:24%}.model-floor i:nth-of-type(2){top:58%;left:56%}.model-floor i:nth-of-type(3){top:35%;right:18%}
.floor-01{--z:-120px}.floor-02{--z:-55px}.floor-03{--z:10px}.floor-04{--z:75px}.floor-05{--z:140px;background:rgba(224,242,249,.88)}
.model-core { position:absolute;z-index:6;top:50%;left:50%;display:flex;width:110px;height:110px;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%) translateZ(195px);border:1px solid #167ca7;background:#08253c;color:#fff;font-size:15px;letter-spacing:.08em;box-shadow:15px 25px 50px rgba(12,45,64,.28)}.model-core small{margin-top:8px;color:#75c8e6;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:6px;letter-spacing:.1em;text-align:center}
@supports (animation-timeline: view()) {
  .lifecycle-model { animation: lifecycle-assemble linear both; animation-timeline: --lifecycle; animation-range: entry 5% exit 90%; }
}
@keyframes lifecycle-assemble { 0% { transform: rotateX(55deg) rotateZ(-20deg) translateY(80px) scale(.82); } 50% { transform: rotateX(64deg) rotateZ(-37deg) translateY(0) scale(1); } 100% { transform: rotateX(72deg) rotateZ(-48deg) translateY(-65px) scale(.9); } }

.ops-visual { min-height: 500px; perspective: 1200px; background-image: linear-gradient(rgba(75,144,181,.06) 1px, transparent 1px); background-size: 100% 68px; }
.ops-visual::before,.ops-visual::after { display: none; }
.ops-board { position:absolute;left:50%;display:flex;width:440px;height:180px;flex-direction:column;justify-content:flex-end;padding:28px 32px;transform-style:preserve-3d;border:1px solid #2c6d91;background:linear-gradient(135deg,rgba(11,57,87,.96),rgba(5,25,44,.94));box-shadow:25px 30px 50px rgba(0,0,0,.3)}
.ops-board span { color:#67bcdf;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:8px;letter-spacing:.13em}.ops-board b{margin-top:8px;color:#d5e2ea;font-size:18px;font-weight:450}.ops-board i{position:absolute;top:24px;right:24px;color:#66d3a4;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:8px;font-style:normal;letter-spacing:.1em}.ops-board i::before{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#53d69f;box-shadow:0 0 10px #53d69f;content:""}
.board-back{top:8%;transform:translateX(-42%) rotateY(-18deg) rotateX(4deg) translateZ(-130px);opacity:.48}.board-mid{top:28%;transform:translateX(-48%) rotateY(-18deg) rotateX(4deg) translateZ(-50px);opacity:.72}.board-front{top:50%;transform:translateX(-55%) rotateY(-18deg) rotateX(4deg) translateZ(30px);border-color:#53b6df}.board-front strong{font-size:58px;font-weight:350;line-height:.9}.board-front b{font-size:14px}.ops-baseline{position:absolute;right:0;bottom:2%;left:0;display:flex;justify-content:space-between;border-top:1px solid #28516d;padding-top:14px;color:#5d9cbc;font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-size:7px;letter-spacing:.1em}

@media (max-width: 980px) {
  .hero-system { height: 520px; }.axon-stack { left:50%; transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-34deg) scale(.88); }.axon-caption { right: 8%; }
  .project-lens,.project-lens img { min-height: 430px; }
  .lifecycle-scroll { grid-template-columns: .8fr 1.2fr; gap: 24px; }.lifecycle-model{transform:rotateX(59deg) rotateZ(-33deg) scale(.78)}.model-floor{width:380px;height:240px}
  .ops-visual { min-height: 500px; }
}

@media (max-width: 720px) {
  .hero { min-height: auto; }.hero-system { height: 455px; }.axon-stack { width:340px;height:300px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-34deg) scale(.7)}.axon-caption{right:0;bottom:0;width:220px}.hero::after{display:none}
  .project-lens,.project-lens img{min-height:390px}.lens-caption{right:24px;bottom:24px;left:24px;align-items:flex-start;flex-direction:column}.lens-caption b{text-align:left}.lens-index{top:20px;right:20px}
  .capability-card{min-height:560px}.card-content{padding:28px 24px}.card-diagram{height:45%}.card-content{top:45%}
  .lifecycle-head{padding-bottom:40px}.lifecycle-scroll{display:block}.lifecycle-copy article{min-height:auto;padding:42px 0 42px 42px}.lifecycle-copy article>span{top:46px}.lifecycle-visual{position:relative;top:auto;height:480px;margin-top:20px;perspective:1000px}.lifecycle-model{transform:rotateX(62deg) rotateZ(-34deg) scale(.65)}.lifecycle-visual>p{right:auto;bottom:18px;left:0}
  .ops-board{width:330px;height:150px;padding:22px}.board-front strong{font-size:46px}.ops-baseline{gap:12px;flex-wrap:wrap}
}

@media (prefers-reduced-motion: reduce) {
  .axon-stack { transform: translate(-50%, -50%) rotateX(60deg) rotateZ(-34deg) !important; }
  .lifecycle-model { transform: rotateX(62deg) rotateZ(-35deg) !important; }
}

/* Final spacing, readability, and motion calibration */
.section { padding: 88px 0; }
.eyebrow { margin-bottom: 18px; font-size: 12px; line-height: 1.4; }
.section-head { margin-bottom: 48px; }
.section-head > p { font-size: 16px; }
.hero-lede { font-size: 18px; }
.approach-grid { gap: 44px 64px; }
.approach-copy { padding-top: 24px; font-size: 17px; }
.principle { padding: 42px; }
.principle h3 { margin-top: 18px; }
.project-lens,.project-lens img { min-height: 450px; }
.lens-caption { justify-content: flex-end; }
.lens-caption b { font-size: 24px; }

.axon-stack { animation: axon-intro 1.15s cubic-bezier(.2,.8,.2,1) both, axon-breathe 6s ease-in-out 1.2s infinite alternate !important; }
.axon-layer { transition: border-color .3s, background .3s, box-shadow .3s; }
.axon-layer:nth-child(1) { animation: layer-glow 3.2s ease-in-out infinite alternate; }
.layer-design { transform: translate(-50%,-50%) translate3d(88px,72px,-95px); }
.layer-connect { transform: translate(-50%,-50%) translate3d(58px,48px,-30px); }
.layer-secure { transform: translate(-50%,-50%) translate3d(29px,24px,35px); }
.layer-operate { transform: translate(-50%,-50%) translate3d(0,0,100px); }
@keyframes axon-intro { from { opacity: 0; transform: translate(-50%,-38%) rotateX(45deg) rotateZ(-22deg) scale(.72); } to { opacity: 1; transform: translate(-50%,-50%) rotateX(58deg) rotateZ(-34deg) scale(1); } }
@keyframes axon-breathe { to { transform: translate(-50%,-53%) rotateX(63deg) rotateZ(-38deg) scale(1.025); } }
@keyframes layer-glow { to { border-color: rgba(126,222,255,.95); box-shadow: 18px 28px 70px rgba(16,151,211,.2); } }

.micro-proof { min-height: 82px; }
.micro-proof span { justify-content: center; padding: 0 14px; font-size: 12px; font-weight: 600; letter-spacing: .035em; }
.card-number,.lens-index,.axon-caption,.system-status { display: none !important; }
.capability-card { min-height: 550px; }
.card-diagram { height: 46%; }
.card-content { top: 46%; padding: 28px 32px; }
.card-content h3 { margin-bottom: 10px; }
.card-content strong { margin-bottom: 10px; font-size: 15px; }
.card-content p { margin-bottom: 12px; font-size: 16px; line-height: 1.55; }
.card-services { margin-bottom: 18px; color: #687887; font-size: 11px; font-weight: 600; line-height: 1.55; letter-spacing: .025em; text-transform: uppercase; }

.lifecycle { padding: 82px 0 0; }
.lifecycle-head { padding-bottom: 42px; }
.lifecycle-scroll { grid-template-columns: .72fr 1.28fr; gap: 42px; }
.lifecycle-copy article { min-height: 210px; padding: 32px 18px 32px 54px; transition: background .25s, border-color .25s; }
.lifecycle-copy article > span { top: 38px; font-size: 11px; }
.lifecycle-copy h3 { margin-bottom: 8px; font-size: 38px; transition: color .25s, transform .25s; }
.lifecycle-copy p { max-width: 430px; font-size: 16px; line-height: 1.6; }
.lifecycle-copy article.is-active { border-color: #2d8db7; background: rgba(255,255,255,.58); }
.lifecycle-copy article.is-active h3 { color: var(--blue); transform: translateX(5px); }
.lifecycle-visual { top: 88px; height: calc(100vh - 110px); min-height: 620px; max-height: 760px; }
.lifecycle-visual > p { display: none; }
.lifecycle-model { animation: none !important; transition: transform .12s linear; }
.model-floor { transition: transform .12s linear, background .25s, border-color .25s, box-shadow .25s, opacity .25s; }
.model-floor.is-active { z-index: 7; border-color: #0786bf; background: rgba(213,243,252,.97); box-shadow: 25px 35px 70px rgba(7,90,129,.22); }
.model-floor span { font-size: 11px; }
.model-floor b { font-size: 12px; }
.model-core { width: 120px; height: 120px; font-size: 17px; }

.problem-intro > p:not(.eyebrow),.ops-copy > p:not(.eyebrow),.contact-copy > p:not(.eyebrow) { font-size: 17px; }
.challenge label { font-size: 16px; }
.challenge-result b { font-size: 20px; }
.challenge-result p { font-size: 15px; }
.project-copy p { font-size: 15px; }
.project-copy small { font-size: 10px; }
.ops-indicators span { min-height: 58px; font-size: 12px; }
.why-grid article { min-height: 230px; }
.why-grid h3 { margin-top: 28px; font-size: 24px; }
.why-grid p { font-size: 15px; }
.footer-grid > div:not(.footer-brand),.footer-grid address { font-size: 14px; }
.header-cta { gap: 12px; padding: 0 16px; white-space: nowrap; }

@media (max-width: 980px) {
  .section { padding: 72px 0; }
  .lifecycle { padding-top: 72px; }
  .lifecycle-copy article { min-height: 190px; }
}

@media (max-width: 720px) {
  .section { padding: 58px 0; }
  h2 { font-size: clamp(38px, 11vw, 48px); }
  .hero h1 { font-size: clamp(48px, 14vw, 60px); }
  .hero-lede { font-size: 16px; }
  .micro-proof { padding: 12px 16px; }
  .micro-proof span { min-height: 44px; justify-content: flex-start; font-size: 11px; }
  .approach-grid { gap: 22px; }
  .principle { padding: 30px; }
  .project-lens,.project-lens img { min-height: 350px; }
  .capability-card { min-height: 525px; }
  .card-content p { font-size: 15px; }
  .lifecycle { padding-top: 58px; }
  .lifecycle-head { padding-bottom: 24px; }
  .lifecycle-copy article { min-height: 170px; padding: 28px 12px 28px 42px; }
  .lifecycle-copy article > span { top: 34px; }
  .lifecycle-copy h3 { font-size: 32px; }
  .lifecycle-copy p { font-size: 15px; }
  .lifecycle-visual { height: 440px; min-height: 0; }
  .ops-visual { min-height: 420px; }
  .why-grid article { min-height: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  .axon-stack { animation: none !important; }
  .lifecycle-model,.model-floor { transition: none !important; }
}
