:root {
  --ink:#0b120d; --ink-soft:#172019; --paper:#f6f7f3; --surface:#fff; --surface-muted:#eef1ec;
  --line:#dce2da; --muted:#505c53; --signal:#31d978; --signal-soft:#e2f9e9; --success:#0d7a49;
  --sans:"Manrope","Segoe UI",sans-serif; --shadow:0 24px 80px rgba(13,24,16,.11); --shadow-soft:0 12px 40px rgba(13,24,16,.07);
  --ease:cubic-bezier(.2,.7,.2,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:500; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { display:block; max-width:100%; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.icon { display:inline-block; flex:0 0 auto; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
h1,h2,h3,p,figure { margin-top:0; }
.frame { width:min(calc(100% - 64px),1240px); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; border-radius:8px; background:var(--ink); color:#fff; transform:translateY(-160%); transition:transform .2s; }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid var(--signal); outline-offset:3px; }

.signal-banner { min-height:30px; display:flex; align-items:center; justify-content:center; gap:34px; padding:6px 20px; background:var(--signal); color:#071109; font-size:9px; font-weight:800; letter-spacing:.03em; }
.signal-banner p { margin:0; }.signal-banner p span { margin-right:7px; padding:2px 5px; border:1px solid rgba(7,17,9,.3); border-radius:999px; font-size:7px; }
.signal-banner a { display:inline-flex; align-items:center; gap:5px; border-bottom:1px solid rgba(7,17,9,.5); }.signal-banner a .icon { width:11px; height:11px; }

.site-header { position:sticky; z-index:40; top:0; height:68px; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(11,18,13,.08); backdrop-filter:blur(18px); transition:height .25s var(--ease),box-shadow .25s var(--ease); }
.site-header.scrolled { height:60px; box-shadow:0 10px 30px rgba(11,18,13,.06); }
.header-inner { height:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; }
.wordmark { display:inline-flex; width:max-content; align-items:center; gap:9px; }
.brand-image { display:grid; place-items:center; width:30px; height:28px; }
.brand-image img { width:100%; height:100%; object-fit:contain; }
.brand-name { font-size:21px; font-weight:750; line-height:1; letter-spacing:-.055em; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:30px; color:#49534c; font-size:11px; font-weight:650; }
.desktop-nav a { position:relative; padding:8px 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:3px; height:1px; background:var(--signal); transition:right .2s; }
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after { right:0; }
.header-cta { justify-self:end; display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:9px; background:var(--ink); color:#fff; font-size:10px; font-weight:800; box-shadow:0 6px 18px rgba(11,18,13,.14); transition:transform .2s,background .2s; }
.header-cta:hover { transform:translateY(-1px); background:#16221a; }.header-cta .icon { width:13px; height:13px; color:var(--signal); }
.menu-toggle,.mobile-nav { display:none; }

.hero { position:relative; overflow:hidden; padding:82px 0 0; background:linear-gradient(180deg,#fff 0%,#fafbf8 72%,var(--paper) 100%); }
.hero::before { content:""; position:absolute; top:-180px; left:50%; width:720px; height:420px; transform:translateX(-50%); background:radial-gradient(ellipse,rgba(49,217,120,.12),transparent 70%); pointer-events:none; }
.hero-copy { position:relative; z-index:1; text-align:center; }
.eyebrow { display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:20px; color:#3e4b42; font-size:9px; font-weight:800; letter-spacing:.14em; }
.eyebrow span { width:6px; height:6px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 5px rgba(49,217,120,.14); }
.hero h1 { max-width:930px; margin:0 auto; font-size:clamp(4.4rem,8.4vw,8rem); font-weight:700; line-height:.88; letter-spacing:-.075em; }
.hero h1 strong { font-weight:700; color:var(--success); }
.hero-lead { max-width:720px; margin:29px auto 0; color:#4b574f; font-size:16px; font-weight:550; line-height:1.65; }
.hero-actions { display:flex; justify-content:center; gap:10px; margin-top:30px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:48px; padding:0 18px; border:0; border-radius:10px; font-size:11px; font-weight:800; cursor:pointer; transition:transform .2s var(--ease),box-shadow .2s,background .2s; }
.button .icon { width:14px; height:14px; }
.button:hover { transform:translateY(-2px); }.button-primary { background:var(--signal); color:#071109; box-shadow:0 10px 28px rgba(49,217,120,.22); }.button-primary:hover { box-shadow:0 14px 36px rgba(49,217,120,.3); }
.button-secondary { background:#fff; border:1px solid var(--line); box-shadow:0 6px 18px rgba(11,18,13,.04); }

.hero-media { position:relative; margin-top:62px; padding:18px; border:1px solid #e3e7e1; border-radius:30px; background:#eef1ed; box-shadow:var(--shadow); }
.hero-photo-wrap { position:relative; overflow:hidden; height:650px; border-radius:21px; background:#dfe5df; }
.hero-photo-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 45%,rgba(7,14,9,.18)); pointer-events:none; }
.hero-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.photo-caption { position:absolute; z-index:2; left:22px; bottom:20px; display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px; background:rgba(255,255,255,.88); color:#263028; font-size:8px; font-weight:800; letter-spacing:.07em; backdrop-filter:blur(10px); }
.photo-caption span { width:6px; height:6px; border-radius:50%; background:var(--signal); }
.operating-card { position:absolute; z-index:3; top:50%; right:48px; width:370px; padding:22px; transform:translateY(-50%); border:1px solid rgba(11,18,13,.11); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 26px 70px rgba(8,17,10,.2); backdrop-filter:blur(16px); }
.operating-card-head { display:flex; justify-content:space-between; gap:20px; padding-bottom:15px; border-bottom:1px solid var(--line); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.operating-card-head b { color:#778179; }.operating-card ol { list-style:none; margin:8px 0 14px; padding:0; }
.operating-card li { display:grid; grid-template-columns:32px 1fr 7px; gap:10px; align-items:center; padding:12px 0; border-bottom:1px solid #edf0ec; }
.operating-card li>span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#f0f3ef; font-size:8px; font-weight:800; }
.operating-card li div { display:grid; gap:3px; }.operating-card li b { font-size:11px; }.operating-card li small { color:#68736b; font-size:8px; font-weight:600; }
.operating-card li i { width:7px; height:7px; border:2px solid #c6cec8; border-radius:50%; }.operating-card li.active i { border-color:var(--signal); background:var(--signal); box-shadow:0 0 0 4px var(--signal-soft); }
.operating-card>p { display:flex; align-items:center; gap:7px; margin:0; padding:10px 12px; border-radius:9px; background:var(--signal-soft); color:#18492d; font-size:9px; font-weight:800; }.operating-card>p span { color:var(--signal); }
.capability-strip { display:flex; justify-content:center; align-items:center; gap:22px; padding:31px 0 38px; color:#4c574f; font-size:9px; font-weight:700; }
.capability-strip>span { color:#8a928c; text-transform:uppercase; letter-spacing:.1em; }.capability-strip p { margin:0; }.capability-strip p b { margin-right:6px; color:var(--success); font-size:8px; }.capability-strip>i { width:3px; height:3px; border-radius:50%; background:#b5bdb6; }

.problem,.approach,.applications,.principles { padding:132px 0; }
.section-intro { display:grid; grid-template-columns:240px minmax(0,740px); justify-content:space-between; gap:72px; }
.section-label { display:flex; gap:11px; align-items:center; margin:5px 0 0; color:#4e5a51; font-size:9px; font-weight:800; letter-spacing:.12em; }
.section-label span { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:var(--signal-soft); color:var(--success); letter-spacing:0; }
h2 { margin:0; font-size:clamp(3rem,5vw,5.2rem); font-weight:650; line-height:.99; letter-spacing:-.06em; }
h2 strong { color:var(--success); font-weight:650; }.section-lead { max-width:670px; margin:27px 0 0; color:var(--muted); font-size:16px; line-height:1.7; }
.signal-note { max-width:610px; margin:24px 0 0; padding:16px 18px; border-left:3px solid var(--signal); border-radius:0 12px 12px 0; background:var(--signal-soft); color:#24432f; font-size:12px; font-weight:700; line-height:1.55; }
.friction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:72px; }
.friction-grid article { min-height:350px; padding:24px; border:1px solid #e1e5df; border-radius:22px; background:#fff; box-shadow:var(--shadow-soft); transition:transform .25s var(--ease),box-shadow .25s; }
.friction-grid article:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.card-top { display:flex; justify-content:space-between; color:#677269; font-size:8px; font-weight:800; letter-spacing:.08em; }.card-top .icon { width:17px; height:17px; color:var(--ink); }
.friction-icon { position:relative; width:100%; height:110px; margin:30px 0 33px; border-radius:16px; background:linear-gradient(135deg,#f5f7f4,#edf1ed); overflow:hidden; }
.friction-icon::before { content:""; position:absolute; inset:20px; border:1px solid #dce3dc; border-radius:50%; }.friction-icon i { position:absolute; width:14px; height:14px; border:4px solid #fff; border-radius:50%; background:#909d93; box-shadow:0 4px 12px rgba(11,18,13,.16); }
.friction-icon i:nth-child(1) { left:23%; top:47%; }.friction-icon i:nth-child(2) { left:49%; top:24%; background:var(--signal); }.friction-icon i:nth-child(3) { right:20%; bottom:22%; }.connection::after,.decisions::after { content:""; position:absolute; left:28%; right:25%; top:51%; height:1px; transform:rotate(-13deg); background:linear-gradient(90deg,#c2cbc4,var(--signal)); }
.decisions::before { border-radius:12px; transform:rotate(8deg); }.friction-grid h3 { margin:0 0 12px; font-size:20px; font-weight:750; line-height:1.25; letter-spacing:-.03em; }.friction-grid article>p { margin:0; color:#68736b; font-size:12px; font-weight:550; line-height:1.6; }

.approach { background:#fff; }.approach-head { display:grid; grid-template-columns:240px 1fr; gap:72px; }.approach-panel { display:grid; grid-template-columns:.75fr 1.25fr; gap:18px; margin-top:72px; }
.approach-statement { display:flex; flex-direction:column; min-height:600px; padding:34px; border-radius:26px; background:var(--signal); color:#071109; box-shadow:0 22px 70px rgba(49,217,120,.17); overflow:hidden; }
.approach-statement::after { content:""; width:420px; height:420px; margin:auto auto -210px -100px; border:1px solid rgba(7,17,9,.15); border-radius:50%; box-shadow:0 0 0 55px rgba(7,17,9,.04),0 0 0 110px rgba(7,17,9,.03); }
.approach-statement>p { font-size:9px; font-weight:800; letter-spacing:.12em; }.approach-statement h3 { max-width:390px; margin-top:20px; font-size:35px; line-height:1.15; letter-spacing:-.045em; }.approach-statement>span { display:flex; justify-content:space-between; align-items:center; margin-top:auto; font-size:10px; font-weight:800; }.approach-statement>span .icon { width:15px; height:15px; }
.operating-flow { display:grid; gap:10px; }.operating-step { display:grid; grid-template-columns:70px 1fr; gap:20px; align-items:start; min-height:188px; padding:28px; border:1px solid #e3e7e1; border-radius:22px; background:#f7f8f5; transition:transform .2s,background .2s; }
.operating-step:hover { transform:translateX(4px); background:#fff; }.operating-step.active { background:var(--ink); color:#fff; border-color:var(--ink); box-shadow:0 18px 48px rgba(11,18,13,.16); }
.step-number { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#fff; color:var(--ink); font-size:10px; font-weight:800; box-shadow:0 6px 18px rgba(11,18,13,.06); }.active .step-number { background:var(--signal); }
.operating-step small { display:inline-flex; align-items:center; gap:5px; color:#728078; font-size:8px; font-weight:800; letter-spacing:.08em; }.operating-step small .icon { width:10px; height:10px; }.operating-step h3 { margin:8px 0 7px; font-size:28px; letter-spacing:-.04em; }.operating-step p { max-width:560px; margin:0; color:#5d685f; font-size:12px; line-height:1.6; }.operating-step.active p { color:#b9c3bb; }

.expect { padding:28px 0; background:#fff; }.expect-shell { display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; padding:86px; border-radius:30px; background:var(--ink); color:#fff; box-shadow:0 30px 90px rgba(11,18,13,.18); }
.section-label.light { color:#a8b2aa; }.section-label.light span { background:rgba(49,217,120,.13); color:var(--signal); }.expect-copy h2 { margin-top:30px; font-size:clamp(3rem,4.3vw,4.6rem); }.expect-copy h2 strong { color:var(--signal); }.expect-copy>p:not(.section-label) { margin:28px 0 0; color:#b8c1ba; font-size:14px; line-height:1.75; }
.dark-signal-note { display:flex; gap:12px; margin-top:26px; padding-top:24px; border-top:1px solid #2a342c; color:#f2f6f3; font-size:11px; font-weight:700; line-height:1.5; }.dark-signal-note span { flex:0 0 auto; width:8px; height:8px; margin-top:4px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 5px rgba(49,217,120,.12); }
.process-stack { display:grid; gap:10px; margin:0; padding:0; list-style:none; }.process-stack li { display:grid; grid-template-columns:52px 1fr 20px; gap:17px; align-items:center; padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:rgba(255,255,255,.055); transition:background .2s,transform .2s; }.process-stack li:hover { transform:translateX(-4px); background:rgba(255,255,255,.09); }
.process-number { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:rgba(49,217,120,.11); color:var(--signal); font-size:9px; font-weight:800; }.process-stack small { color:var(--signal); font-size:7px; font-weight:800; letter-spacing:.12em; }.process-stack h3 { margin:5px 0 3px; font-size:16px; }.process-stack p { margin:0; color:#9fac9f; font-size:9px; line-height:1.5; }.process-stack>li>.icon { width:15px; height:15px; color:#5b685e; }

.applications-head { max-width:830px; text-align:center; }.applications-head .section-label { justify-content:center; }.applications-head h2 { margin-top:30px; }.applications-head>p:last-child { max-width:650px; margin:24px auto 0; color:var(--muted); font-size:14px; line-height:1.7; }
.applications-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:28px; margin-top:70px; align-items:stretch; }.oversight-photo { position:relative; min-height:620px; overflow:hidden; border-radius:26px; background:#ddd; box-shadow:var(--shadow); }.oversight-photo::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(7,12,8,.68)); }.oversight-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }.oversight-photo figcaption { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; display:flex; justify-content:space-between; gap:20px; align-items:flex-end; color:#fff; }.oversight-photo figcaption span { max-width:350px; font-size:22px; font-weight:750; letter-spacing:-.03em; }.oversight-photo figcaption b { font-size:7px; letter-spacing:.09em; }
.application-list { display:grid; gap:9px; }.application-list p { display:grid; grid-template-columns:38px 1fr 22px; gap:14px; align-items:center; margin:0; padding:21px 22px; border:1px solid #e1e6df; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(11,18,13,.045); font-size:12px; font-weight:700; line-height:1.45; transition:transform .2s,box-shadow .2s; }.application-list p:hover { transform:translateX(4px); box-shadow:var(--shadow-soft); }.application-list p span { color:var(--success); font-size:8px; }.application-list p .icon { width:16px; height:16px; color:#718078; }.value-note { margin-top:26px; padding:22px 26px; border-radius:16px; background:var(--signal-soft); color:#24432f; font-size:12px; font-weight:700; line-height:1.65; text-align:center; }

.principles { background:#ebefea; }.principles-head { display:grid; grid-template-columns:240px 1fr; gap:72px; }.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:72px; }.principles-grid article { min-height:350px; padding:28px; border:1px solid rgba(255,255,255,.75); border-radius:22px; background:rgba(255,255,255,.68); box-shadow:0 10px 32px rgba(11,18,13,.04); }.principle-top { display:flex; justify-content:space-between; align-items:flex-start; }.principle-top>span { color:#647068; font-size:9px; font-weight:800; }.principle-mark { position:relative; display:block; width:56px; height:56px; border-radius:17px; background:#fff; box-shadow:0 8px 22px rgba(11,18,13,.06); }.principle-mark::before,.principle-mark::after { content:""; position:absolute; }.principle-mark::before { inset:17px; border:2px solid var(--ink); border-radius:50%; }.principle-mark::after { width:8px; height:8px; right:13px; top:13px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 4px var(--signal-soft); }.principle-mark.second::before { border-radius:5px; transform:rotate(8deg); }.principle-mark.third::before { border-right-color:var(--signal); border-bottom-color:var(--signal); }.principles-grid h3 { margin:105px 0 12px; font-size:23px; letter-spacing:-.035em; }.principles-grid p { margin:0; color:#5d6960; font-size:12px; line-height:1.65; }

.conversation { padding:0; background:#050906; }.conversation-shell { display:grid; grid-template-columns:1fr 480px; gap:84px; padding:100px 90px 96px; background:transparent; color:#fff; }.conversation-copy h2 { margin-top:32px; font-size:clamp(3.1rem,4.6vw,5rem); }.conversation-copy h2 strong { color:var(--signal); }.conversation-copy>p:not(.section-label) { max-width:580px; margin:26px 0 0; color:#aeb9b0; font-size:14px; line-height:1.75; }.conversation-copy>a { display:inline-flex; align-items:center; gap:12px; margin-top:32px; padding-bottom:5px; border-bottom:1px solid var(--signal); color:#fff; font-size:12px; font-weight:750; }.conversation-copy>a .icon { width:13px; height:13px; color:var(--signal); }
.contact-form { padding:28px; border-radius:22px; background:#fff; color:var(--ink); box-shadow:0 28px 70px rgba(0,0,0,.22); }.form-head { display:flex; justify-content:space-between; margin-bottom:20px; padding-bottom:17px; border-bottom:1px solid var(--line); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.form-head b { padding:4px 6px; border-radius:6px; background:var(--signal-soft); color:var(--success); font-size:7px; }
.form-fields { min-inline-size:0; margin:0; padding:0; border:0; }.contact-form label { display:grid; gap:7px; margin-top:14px; color:#536057; font-size:9px; font-weight:750; }.contact-form input,.contact-form textarea { width:100%; border:1px solid #d9e1d9; border-radius:9px; padding:11px 12px; background:#f8faf7; color:var(--ink); outline:none; transition:border .2s,box-shadow .2s; }.contact-form input:disabled,.contact-form textarea:disabled { border-color:#e0e5df; background:#f2f4f1; color:#78827a; cursor:not-allowed; opacity:1; }.contact-form textarea { resize:vertical; }.contact-form .button { width:100%; margin-top:17px; }.contact-form .button:disabled { border:1px solid #d4dbd4; background:#e4e8e3; color:#68736b; box-shadow:none; cursor:not-allowed; opacity:1; transform:none; }.form-note { margin:12px 0 0; color:#728077; font-size:8px; line-height:1.55; }.form-note a { color:var(--success); font-weight:750; text-decoration:underline; text-underline-offset:2px; }

.footer { padding:68px 0 24px; background:#050906; border-top:1px solid #1b231d; color:#fff; }.footer-grid { display:grid; grid-template-columns:1fr 220px 280px; gap:80px; padding-bottom:58px; }.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.footer-grid p { margin:0 0 10px; color:#6f7a71; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.footer-grid>div:first-child p { margin-top:18px; color:#a7b0a9; font-size:13px; text-transform:none; letter-spacing:0; }.footer-grid a:not(.wordmark) { display:inline-flex; align-items:center; gap:5px; color:#a9b2ab; font-size:10px; }.footer-grid a .icon { width:11px; height:11px; }.footer-grid a:hover { color:var(--signal); }.footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid #1b231d; color:#59635b; font-size:8px; font-weight:750; letter-spacing:.07em; }

.motion-enabled [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .65s var(--ease),transform .65s var(--ease); }.motion-enabled [data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:980px) {
  .frame { width:min(calc(100% - 40px),1240px); }.desktop-nav,.header-cta { display:none; }.header-inner { display:flex; justify-content:space-between; }.menu-toggle { display:grid; place-content:center; width:40px; height:40px; padding:0; border:0; border-radius:10px; background:var(--ink); color:#fff; }.menu-toggle .icon { grid-area:1/1; width:20px; height:20px; transition:opacity .18s var(--ease),transform .18s var(--ease); }.menu-toggle .icon-close { opacity:0; transform:scale(.72) rotate(-20deg); }.menu-toggle[aria-expanded="true"] .icon-menu { opacity:0; transform:scale(.72) rotate(20deg); }.menu-toggle[aria-expanded="true"] .icon-close { opacity:1; transform:none; }
  .mobile-nav { position:absolute; top:calc(100% + 10px); left:20px; right:20px; display:grid; gap:0; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s var(--ease); }.mobile-nav.open { opacity:1; visibility:visible; transform:none; }.mobile-nav p { color:#8a938c; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.mobile-nav>a { display:grid; grid-template-columns:32px 1fr 20px; align-items:center; padding:14px 0; border-top:1px solid #edf0ed; font-size:13px; font-weight:750; }.mobile-nav>a span { color:var(--success); font-size:8px; }.mobile-nav>a>.icon { justify-self:end; width:15px; height:15px; }.mobile-nav .mobile-cta { display:flex; justify-content:space-between; margin-top:12px; padding:14px 16px; border:0; border-radius:10px; background:var(--signal); }
  .hero { padding-top:70px; }.hero-photo-wrap { height:580px; }.operating-card { right:38px; width:340px; }.section-intro,.approach-head,.principles-head { grid-template-columns:170px 1fr; gap:36px; }.friction-grid { gap:10px; }.approach-panel { grid-template-columns:1fr; }.approach-statement { min-height:420px; }.expect-shell { grid-template-columns:1fr; padding:64px; }.applications-layout { grid-template-columns:1fr; }.oversight-photo { min-height:580px; }.conversation-shell { grid-template-columns:1fr; padding:64px; }.contact-form { max-width:600px; }
}

@media (max-width:720px) {
  .frame { width:min(calc(100% - 32px),1240px); }.signal-banner { justify-content:center; text-align:center; }.signal-banner a { display:none; }.site-header { height:62px; }.brand-image { width:28px; height:26px; }.brand-name { font-size:20px; }
  .hero { padding-top:55px; }.hero h1 { font-size:clamp(3.65rem,17vw,5rem); line-height:.91; }.hero-lead { max-width:520px; font-size:14px; }.hero-actions { flex-direction:column; align-items:stretch; max-width:310px; margin-inline:auto; }.hero-media { margin-top:46px; padding:9px; border-radius:21px; }.hero-photo-wrap { height:510px; border-radius:15px; }.hero-photo-wrap img { object-position:37% center; }.operating-card { left:24px; right:24px; top:auto; bottom:28px; width:auto; transform:none; padding:16px; border-radius:16px; }.operating-card li { padding:8px 0; }.operating-card li small { display:none; }.photo-caption { top:18px; bottom:auto; left:18px; }.capability-strip { display:grid; grid-template-columns:repeat(2,1fr); justify-content:stretch; gap:10px 16px; overflow:visible; padding:22px 0 30px; white-space:normal; }.capability-strip>span,.capability-strip>i { display:none; }.capability-strip p { padding:8px 0; border-bottom:1px solid #dfe4de; }
  .problem,.approach,.applications,.principles { padding:90px 0; }.section-intro,.approach-head,.principles-head { display:block; }.section-intro>div,.approach-head h2,.principles-head h2 { margin-top:30px; } h2 { font-size:clamp(2.75rem,13vw,4.2rem); }.section-lead { font-size:14px; }.friction-grid,.principles-grid { grid-template-columns:1fr; margin-top:48px; }.friction-grid article,.principles-grid article { min-height:310px; }.approach-panel { margin-top:48px; }.approach-statement { min-height:390px; padding:27px; }.approach-statement h3 { font-size:30px; }.operating-step { grid-template-columns:52px 1fr; gap:14px; padding:22px; }.step-number { width:42px; height:42px; }.expect { padding:16px 0; }.expect-shell { width:calc(100% - 24px); padding:44px 22px; border-radius:24px; }.process-stack li { grid-template-columns:44px 1fr 14px; padding:17px; }.process-number { width:40px; height:40px; }.applications-head { text-align:left; }.applications-head .section-label { justify-content:flex-start; }.applications-head h2 { margin-top:28px; }.oversight-photo { min-height:520px; }.oversight-photo img { object-position:48% center; }.oversight-photo figcaption { left:20px; right:20px; bottom:20px; }.oversight-photo figcaption b { display:none; }.application-list p { padding:18px; }.value-note { text-align:left; }.principles-grid h3 { margin-top:70px; }.conversation-shell { width:calc(100% - 24px); gap:50px; padding:58px 22px 64px; }.contact-form { padding:20px; }.footer-grid { grid-template-columns:1fr; gap:34px; }.footer-bottom { flex-direction:column; gap:10px; }
}
@media (max-width:420px) { .hero h1 { font-size:3.65rem; }.hero-photo-wrap { height:490px; }.operating-card li>span { width:25px; height:25px; }.operating-card li { grid-template-columns:28px 1fr 7px; }.oversight-photo { min-height:460px; }.oversight-photo figcaption span { font-size:18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .motion-enabled [data-reveal] { opacity:1; transform:none; } }
