
:root{
  --navy-1000:#02070d;
  --navy-950:#04101b;
  --navy-900:#071522;
  --navy-850:#0a1d2e;
  --navy-800:#0d263c;
  --blue-600:#0e75bd;
  --blue-500:#178fd9;
  --blue-400:#45b6ef;
  --blue-300:#82d7ff;
  --ice:#c5efff;
  --text:#f4f8fb;
  --muted:#a8b8c5;
  --muted-2:#768b9c;
  --ink:#0b2639;
  --ink-2:#36556b;
  --paper:#f3f6f8;
  --white:#ffffff;
  --line:rgba(146,184,210,.16);
  --line-strong:rgba(146,196,230,.3);
  --paper-line:rgba(20,54,78,.12);
  --shell:min(1380px,calc(100% - 72px));
  --radius:8px;
  --ease:cubic-bezier(.22,.8,.22,1);
  --shadow:0 24px 70px rgba(2,15,27,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy-1000)}
body{margin:0;color:var(--text);background:var(--navy-950);font-family:"Segoe UI Variable","Inter","Helvetica Neue",Arial,sans-serif;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--blue-300);color:var(--navy-1000)}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;color:#071522;padding:10px 15px;border-radius:5px;font-weight:700}
.skip-link:focus{top:16px}
.scroll-progress{position:fixed;z-index:1300;top:0;left:0;right:0;height:2px;background:transparent}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue-500),var(--ice))}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:1200;height:96px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(2,9,16,.68),rgba(2,9,16,.22));transition:height .3s var(--ease),background .3s ease,box-shadow .3s ease,border-color .3s ease}
.site-header.scrolled,.product-page .site-header{height:76px;background:rgba(5,15,25,.92);backdrop-filter:blur(20px);border-color:rgba(160,204,235,.14);box-shadow:0 12px 38px rgba(0,0,0,.16)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:inline-flex;align-items:center;gap:14px;flex:none}
.brand-mark{width:46px;height:46px}
.brand-copy{display:grid;line-height:1;gap:4px;letter-spacing:.02em}
.brand-copy strong{font-size:22px;font-weight:850;letter-spacing:.01em}
.brand-copy small{font-size:10px;color:var(--blue-300);letter-spacing:.43em;font-weight:850}
.primary-nav{display:flex;align-items:center;gap:13px}
.nav-link{position:relative;color:#dbe6ee;padding:12px 10px;font-size:14px;font-weight:670;letter-spacing:-.01em;transition:color .2s ease}
.nav-link::after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:1px;background:var(--blue-300);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-cta{margin-left:8px;padding:11px 18px;border:1px solid rgba(152,200,233,.28);border-radius:999px}
.nav-cta::after{display:none}
.nav-cta:hover,.nav-cta.active{border-color:rgba(130,215,255,.72);background:rgba(55,168,224,.07);color:var(--ice)}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid rgba(160,200,230,.22);border-radius:6px;background:rgba(255,255,255,.02)}
.menu-toggle span{display:block;height:1px;margin:6px 0;background:white;transition:.25s ease}

/* Hero */
.hero{position:relative;height:min(980px,100svh);min-height:760px;background:var(--navy-1000);overflow:hidden}
.hero-slider,.hero-slide{position:absolute;inset:0}
.hero-slide{background-image:var(--slide-bg);background-size:cover;background-position:var(--slide-pos,center);opacity:0;visibility:hidden;transform:scale(1.018);transition:opacity .8s ease,visibility .8s ease,transform 8s linear}
.hero-slide.active{opacity:1;visibility:visible;z-index:1;transform:scale(1.04)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,14,.96) 0%,rgba(3,13,23,.87) 34%,rgba(3,14,25,.58) 62%,rgba(3,12,21,.3) 82%,rgba(2,8,14,.45) 100%),linear-gradient(0deg,rgba(2,8,14,.78) 0%,transparent 52%)}
.hero-overlay::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(187,220,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(187,220,241,.03) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(to right,#000,transparent 78%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:72px;padding-bottom:90px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 25px;color:#d2e1eb;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.plain{color:var(--blue-300)}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--blue-300);box-shadow:0 0 0 0 rgba(130,215,255,.4);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 11px rgba(130,215,255,0)}100%{box-shadow:0 0 0 0 rgba(130,215,255,0)}}
.hero h1,.hero h2{margin:0;max-width:1080px;font-size:clamp(56px,6.1vw,102px);letter-spacing:-.06em;line-height:.95;font-weight:750;text-wrap:balance}
.hero h1 span,.hero h2 span,.page-hero h1 span,.product-hero h1 span,.section-heading h2 span,.contact-intro h2 span{color:var(--ice);font-weight:500}
.hero p{max-width:760px;margin:30px 0 0;color:#c8d6df;font-size:clamp(16px,1.25vw,20px);line-height:1.72}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 22px;border-radius:999px;border:1px solid transparent;font-size:14px;font-weight:760;transition:transform .22s var(--ease),background .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease;cursor:pointer}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(110deg,#1aa0e7,#76d3ff);color:#04111b;box-shadow:0 14px 36px rgba(14,131,196,.18)}
.button-primary:hover{box-shadow:0 18px 46px rgba(14,131,196,.3)}
.button-ghost{border-color:rgba(173,207,230,.32);background:rgba(4,14,24,.28);backdrop-filter:blur(8px)}
.button-ghost:hover{border-color:var(--blue-300);color:var(--ice)}
.button-outline{border-color:rgba(18,57,84,.24);color:var(--ink);background:transparent}
.button-outline:hover{border-color:var(--blue-500);color:var(--blue-600)}
.button-dark{background:#071522;color:white;box-shadow:0 10px 28px rgba(2,15,27,.14)}
.button-dark:hover{background:#0b2639}
.hero-micro{position:absolute;z-index:3;left:50%;bottom:78px;transform:translateX(-50%);display:flex;justify-content:space-between;pointer-events:none;color:rgba(222,237,246,.72);font-size:9px;letter-spacing:.2em;font-weight:800}
.hero-edge-nav{position:absolute;z-index:7;top:50%;width:64px;height:240px;padding:0;border:0;background:transparent;transform:translateY(-50%);cursor:pointer;display:grid;place-items:center;touch-action:manipulation}
.hero-edge-prev{left:0}
.hero-edge-next{right:0}
.hero-edge-nav::before{content:"";position:absolute;top:50%;width:1px;height:72px;background:linear-gradient(180deg,transparent,rgba(130,215,255,.46),transparent);opacity:.34;transform:translateY(-50%) scaleY(.72);transition:opacity .25s ease,transform .35s var(--ease)}
.hero-edge-prev::before{left:14px}
.hero-edge-next::before{right:14px}
.hero-edge-glyph{display:grid;place-items:center;width:38px;height:72px;color:#eefaff;font-size:46px;font-family:Arial,sans-serif;font-weight:200;line-height:1;opacity:0;text-shadow:0 0 22px rgba(96,204,255,.38);transition:opacity .25s ease,transform .35s var(--ease),text-shadow .25s ease}
.hero-edge-prev .hero-edge-glyph{transform:translateX(-14px)}
.hero-edge-next .hero-edge-glyph{transform:translateX(14px)}
.hero-edge-nav:hover::before,.hero-edge-nav:focus-visible::before{opacity:.95;transform:translateY(-50%) scaleY(1)}
.hero-edge-nav:hover .hero-edge-glyph,.hero-edge-nav:focus-visible .hero-edge-glyph{opacity:1;transform:translateX(0);text-shadow:0 0 30px rgba(108,214,255,.62)}
.hero-edge-nav:focus-visible{outline:0}
.hero-edge-nav:focus-visible .hero-edge-glyph{outline:1px solid rgba(130,215,255,.5);outline-offset:6px}

/* Trust strip */
.trust-strip{border-bottom:1px solid var(--line);background:#07131f}
.trust-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.trust-inner>span{color:#718796;font-size:9px;letter-spacing:.2em;font-weight:850;white-space:nowrap}
.sector-list{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px;color:#cbd8df}
.sector-list b{font-size:10px;letter-spacing:.14em;font-weight:720}
.sector-list i{width:3px;height:3px;background:var(--blue-300);border-radius:50%}

/* Shared sections */
.section{padding:122px 0}
.section-soft{background:linear-gradient(180deg,#0a1c2d 0%,#071522 100%)}
.section-dark{background:#071522;color:var(--text)}
.section-light{background:var(--paper);color:var(--ink)}
.section-kicker{margin:0 0 17px;color:var(--blue-400);font-size:10px;line-height:1.3;letter-spacing:.19em;font-weight:850}
.section-heading h2,.contact-intro h2{margin:0;font-size:clamp(42px,4.5vw,72px);line-height:1.01;letter-spacing:-.05em;font-weight:730}
.section-heading.dark h2{color:var(--ink)}
.section-heading.dark h2 span,.section-light .section-heading h2 span,.section-light .contact-intro h2 span{color:#597488}
.section-heading>p:not(.section-kicker),.section-desc{color:var(--muted);max-width:600px;margin:25px 0 0}
.section-light .section-heading>p:not(.section-kicker),.section-light .section-desc{color:#62798a}
.section-top{display:grid;grid-template-columns:1.08fr .92fr;gap:96px;align-items:end;margin-bottom:58px}
.section-top>p{margin:0 0 7px;color:var(--muted);max-width:580px;font-size:16px}
.section-light .section-top>p{color:#61778a}
.text-link{display:inline-flex;gap:11px;align-items:center;margin-top:19px;font-size:14px;font-weight:760;border-bottom:1px solid transparent;transition:.2s ease}
.text-link:hover{border-bottom-color:currentColor}
.text-link span,.card-action b{color:var(--blue-400)}
.text-link.light{color:#fff}
.section-action{display:flex;justify-content:flex-end;margin-top:36px}

/* Home about */
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:120px;align-items:start}
.about-copy{padding-top:9px}
.about-copy p{color:var(--muted);max-width:740px}
.about-copy .lead,.editorial-copy .lead{margin-top:0;color:#e2ebf1;font-size:22px;line-height:1.55}
.section-light .editorial-copy p{color:#526c7e}
.section-light .editorial-copy .lead{color:#18394f}
.metric-grid{margin-top:88px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric-card{min-height:158px;padding:31px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.metric-card:first-child{padding-left:0}
.metric-card:last-child{border-right:0}
.metric-card strong{font-size:25px;letter-spacing:-.035em}
.metric-card span{color:var(--muted-2);font-size:13px;max-width:220px;line-height:1.5}

/* Home solution cards */
.products-preview{background:#eef2f5;color:var(--ink)}
.products-preview .section-kicker{color:#117fc5}
.products-preview .section-heading h2 span{color:#698194}
.products-preview .section-top>p{color:#5d7486}
.card-grid{display:grid;gap:18px}
.card-grid.four{grid-template-columns:repeat(4,1fr)}
.solution-card{position:relative;min-height:488px;padding:0;background:#fff;border:1px solid rgba(14,45,72,.11);overflow:hidden;transition:.34s var(--ease);box-shadow:0 12px 34px rgba(16,45,66,.05)}
.solution-card:hover{transform:translateY(-7px);border-color:rgba(20,130,194,.34);box-shadow:0 25px 60px rgba(16,45,66,.11)}
.solution-photo{position:relative;height:205px;background-size:cover;background-position:center;overflow:hidden}
.solution-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,22,.04),rgba(4,16,29,.62)),linear-gradient(110deg,rgba(8,97,158,.18),transparent 56%)}
.solution-photo span{position:absolute;z-index:1;left:24px;bottom:19px;color:#edf9ff;font-size:9px;letter-spacing:.17em;font-weight:850}
.photo-spin{background-image:url(assets/photos/spin/spin-rig-closeup.jpg);background-position:center 52%}
.photo-ecu{background-image:url('https://images.unsplash.com/photo-1769148023257-02df7ec903be?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=60&w=3000'),url(assets/photos/derived/ecu-control-fallback.jpg);background-position:center 52%}
.photo-environment{background-image:url('https://images.unsplash.com/photo-1581091873137-690aaa3620a2?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=60&w=3000'),url(assets/photos/spin/spin-system-full.jpg);background-position:center 48%}
.photo-custom{background-image:url(assets/photos/spin/spin-rig-overview.jpg);background-position:center 48%}
.solution-body{position:relative;min-height:282px;padding:34px 28px 68px}
.card-tag{display:none}
.solution-card h3{margin:0 0 13px;color:#102b3e;font-size:24px;line-height:1.15;letter-spacing:-.035em}
.solution-card p{margin:0;color:#5d7282;font-size:14px;line-height:1.65}
.card-action{position:absolute;left:28px;bottom:26px;color:#166f9f;font-size:13px;font-weight:760}
.card-action b{display:inline-block;margin-left:4px;transition:transform .22s ease}
.solution-card:hover .card-action b{transform:translateX(5px)}

/* Image story */
.image-story{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden;background:#03101b;color:#fff}
.image-story-bg{position:absolute;inset:-22px;background-image:url(assets/photos/spin/spin-system-full.jpg);background-size:cover;background-position:center;filter:saturate(.72) contrast(1.06);transform:scale(1.03)}
.image-story::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(3,11,19,.95) 0%,rgba(3,12,22,.78) 44%,rgba(3,12,22,.24) 78%,rgba(3,12,22,.4) 100%),linear-gradient(0deg,rgba(2,9,16,.65),transparent 60%)}
.image-story::after{content:"";position:absolute;z-index:1;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(to right,#000,transparent 70%)}
.image-story-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:end;padding-block:108px}
.image-story-copy{max-width:760px}
.image-story-copy h2{margin:0;font-size:clamp(44px,5vw,76px);line-height:1.01;letter-spacing:-.055em}
.image-story-copy h2 span{color:#bceaff;font-weight:500}
.image-story-copy>p:not(.section-kicker){color:#c8d6df;max-width:670px;font-size:17px}
.image-story-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22);backdrop-filter:blur(7px)}
.image-story-stats div{min-height:130px;padding:22px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);background:rgba(3,13,23,.17)}
.image-story-stats strong{display:block;color:#8bd8ff;font-size:11px;letter-spacing:.14em}
.image-story-stats span{display:block;margin-top:45px;color:#eff8fc;font-size:13px;line-height:1.4}

/* Capabilities band / process */
.capabilities-band{position:relative;background-image:linear-gradient(105deg,rgba(3,17,28,.97) 0%,rgba(5,39,61,.91) 48%,rgba(9,80,117,.72) 100%),url(assets/photos/spin/spin-system-full.jpg);background-size:cover;background-position:center 52%;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.capabilities-band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 30%,rgba(130,215,255,.13),transparent 28%)}
.capabilities-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr .92fr;gap:110px;align-items:start}
.capabilities-layout .section-heading p:not(.section-kicker){color:#b6c7d2;max-width:650px}
.capability-list{border-top:1px solid rgba(255,255,255,.18)}
.capability-list div{display:flex;align-items:center;min-height:72px;border-bottom:1px solid rgba(255,255,255,.15);transition:background .24s ease,padding .24s var(--ease)}
.capability-list span{display:none}
.capability-list strong{font-size:15px;font-weight:620;letter-spacing:-.01em;transition:color .22s ease,transform .24s var(--ease)}
@media(hover:hover) and (pointer:fine){.capability-list div:hover{padding-left:10px;background:linear-gradient(90deg,rgba(93,202,250,.055),rgba(93,202,250,0) 72%)}.capability-list div:hover strong{color:#dff5ff;transform:translateX(2px)}}
.process-section{background:radial-gradient(circle at 84% 14%,rgba(24,125,183,.12),transparent 27%),#071522}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.process-card{min-height:300px;padding:30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
.process-card>span{color:#6ecdf8;font-size:10px;letter-spacing:.15em;font-weight:800}
.process-card h3{margin:54px 0 12px;font-size:22px;letter-spacing:-.025em}
.process-card p{margin:0;color:var(--muted);font-size:14px}
.process-grid.light{border-color:var(--paper-line)}
.process-grid.light .process-card{border-color:var(--paper-line);background:#fff;color:var(--ink)}
.process-grid.light .process-card p{color:#61788a}
.process-grid.light .process-card>span{color:#1986c6}


/* Rotor Spin real project photography */
.spin-photo-section{padding-top:20px;padding-bottom:112px}
.spin-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:
  "team team team team team team team team team team team team"
  "overview overview overview overview overview overview closeup closeup closeup closeup closeup closeup"
  "optical optical optical optical interface interface interface interface chamber chamber chamber chamber";
  grid-template-rows:300px 350px 420px;gap:14px}
.spin-photo{position:relative;margin:0;overflow:hidden;background:#dce5eb;border:1px solid rgba(14,45,72,.1)}
.spin-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(2,12,21,.2));opacity:.48;transition:opacity .4s ease}
.spin-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease),filter .65s var(--ease)}
.spin-photo-main{grid-area:team}
.spin-photo-overview{grid-area:overview}
.spin-photo-wide{grid-area:closeup}
.spin-photo-optical{grid-area:optical}
.spin-photo-interface{grid-area:interface}
.spin-photo-chamber{grid-area:chamber}
.spin-photo-main img{object-position:center 48%}
.spin-photo-overview img{object-position:center 48%}
.spin-photo-wide img{object-position:center 48%}
.spin-photo-optical img{object-position:center 44%}
.spin-photo-interface img{object-position:center 47%}
.spin-photo-chamber img{object-position:center 48%}
@media (hover:hover) and (pointer:fine){
  .spin-photo:hover img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
  .spin-photo:hover::after{opacity:.18}
}

/* CTA */
.cta-band{background:linear-gradient(110deg,#0f79b9 0%,#39a9df 55%,#b7eaff 122%);color:#041723}
.cta-inner{min-height:320px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:70px}
.cta-inner .section-kicker{color:#083b58}
.cta-inner h2{margin:0;font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.05em;max-width:900px}
.cta-inner p:not(.section-kicker){max-width:760px;color:#16425a}

/* Page heroes */
.page-hero,.product-hero{position:relative;min-height:700px;padding:188px 0 112px;background-color:#04101a;background-image:linear-gradient(90deg,rgba(2,8,14,.96) 0%,rgba(3,12,21,.84) 46%,rgba(3,13,23,.3) 82%,rgba(2,8,14,.45) 100%),var(--page-photo);background-size:cover;background-position:center;overflow:hidden}
.product-hero{min-height:740px;background-image:linear-gradient(90deg,rgba(2,8,14,.97) 0%,rgba(3,12,21,.86) 46%,rgba(3,13,23,.3) 82%,rgba(2,8,14,.45) 100%),var(--product-photo)}
.page-hero::after,.product-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(to right,#000,transparent 74%);pointer-events:none}
.page-hero-grid,.product-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .5fr;gap:90px;align-items:end}
.page-hero-copy,.product-hero-copy{max-width:1040px}
.page-hero h1,.product-hero h1{margin:0;font-size:clamp(52px,5.6vw,92px);line-height:.97;letter-spacing:-.06em;font-weight:740;text-shadow:0 4px 34px rgba(0,0,0,.25)}
.page-hero-copy>p:not(.eyebrow),.product-lead{max-width:770px;color:#ccd8e0;font-size:18px;line-height:1.75;margin:28px 0 0}
.page-hero-note,.product-hero-note{justify-self:end;align-self:end;width:min(100%,380px);padding:25px 0;border-top:1px solid rgba(255,255,255,.27);border-bottom:1px solid rgba(255,255,255,.27);display:grid;gap:9px}
.page-hero-note small,.product-hero-note small{margin-bottom:5px;color:#86d7ff;font-size:9px;letter-spacing:.19em;font-weight:850}
.page-hero-note span,.product-hero-note span{color:#d7e3ea;font-size:11px;letter-spacing:.11em;font-weight:670}
.page-hero-note i,.product-hero-note i{display:block;width:72px;height:1px;background:#72cffa;margin-top:10px}

/* Editorial about */
.editorial-grid,.product-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:120px;align-items:start}
.editorial-copy p{font-size:16px}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.principle-card{min-height:300px;padding:31px;background:#0a1b2a}
.principle-card>span,.feature-card>span,.brief-grid article>span,.sector-card>span{color:#6dcdf8;font-size:10px;letter-spacing:.15em;font-weight:800}
.principle-card h3{margin:50px 0 13px;font-size:22px;letter-spacing:-.025em}
.principle-card p{margin:0;color:var(--muted);font-size:14px}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--paper-line);border-left:1px solid var(--paper-line)}
.sector-card{min-height:280px;padding:38px 30px;border-right:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);background:#fff;display:flex;flex-direction:column;justify-content:center}
.sector-card>span{display:none}
.sector-card h3{margin:0 0 14px;font-size:22px;letter-spacing:-.025em}
.sector-card p{margin:0;color:#607789;font-size:14px}

/* Product index - intentionally editorial, not floating-arrow cards */
.products-index-section{padding-bottom:130px}
.solution-index{border-top:1px solid var(--paper-line)}
.solution-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;align-items:center;padding:46px 0;border-bottom:1px solid var(--paper-line);transition:background .25s ease}
.solution-row::before{content:"";position:absolute;inset:0 -26px;background:#fff;opacity:0;box-shadow:0 18px 54px rgba(20,48,68,.07);transition:.28s ease;z-index:0}
.solution-row:hover::before{opacity:1}
.solution-row>*{position:relative;z-index:1}
.solution-row-copy small{display:block;color:#6a8496;font-size:9px;letter-spacing:.18em;font-weight:850}
.solution-row-copy h2{margin:11px 0 15px;color:#0c2b40;font-size:clamp(32px,3vw,48px);line-height:1.02;letter-spacing:-.045em}
.solution-row-copy p{max-width:760px;margin:0;color:#597183;font-size:15px;line-height:1.7}
.solution-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.solution-meta span{padding:6px 10px;border:1px solid rgba(22,75,108,.13);color:#517084;background:#f7f9fa;font-size:10px;font-weight:700;letter-spacing:.02em}
.solution-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:#126f9f;font-size:13px;font-weight:780}
.solution-link b{transition:transform .22s ease}
.solution-row:hover .solution-link b{transform:translateX(6px)}
.solution-row-media{position:relative;height:205px;background-image:linear-gradient(180deg,rgba(3,12,22,.06),rgba(4,16,29,.52)),var(--row-photo);background-size:cover;background-position:center;overflow:hidden}
.solution-row-media::after{content:"";position:absolute;inset:0;border:1px solid rgba(15,53,77,.08)}
.solution-row-media span{position:absolute;left:17px;bottom:15px;color:#eef9ff;font-size:9px;letter-spacing:.16em;font-weight:800}

/* Feature / product detail */
.feature-grid{display:grid;gap:1px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.09)}
.feature-grid.four{grid-template-columns:repeat(4,1fr)}
.feature-grid.five{grid-template-columns:repeat(5,1fr)}
.feature-card{min-height:265px;padding:28px;background:#0a1b2a}
.feature-card h3{margin:46px 0 11px;font-size:20px;letter-spacing:-.025em}
.feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.product-features{margin-top:80px;background:var(--paper-line);border-color:var(--paper-line)}
.product-features .feature-card{background:#fff;color:var(--ink)}
.product-features .feature-card>span{color:#1586c8}
.product-features .feature-card p{color:#607789}
.config-section{position:relative;overflow:hidden;background:#061420}
.config-section::before{content:"";position:absolute;width:620px;height:620px;right:-260px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(47,167,224,.09),transparent 68%);pointer-events:none}
.config-grid{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:118px;align-items:start}
.config-grid>.section-heading{position:sticky;top:132px}
.config-hint{display:flex;align-items:center;gap:10px;margin-top:34px;color:#7f96a6}
.config-hint span{color:var(--blue-300);font-size:17px;line-height:1}
.config-hint small{font-size:11px;letter-spacing:.02em}
.config-accordion{border-top:1px solid rgba(177,213,236,.2)}
.config-item{position:relative;border-bottom:1px solid rgba(177,213,236,.16);transition:background .25s ease,border-color .25s ease}
.config-item::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:linear-gradient(180deg,var(--blue-400),var(--ice));transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease)}
.config-item.is-open{background:linear-gradient(90deg,rgba(42,157,212,.07),rgba(42,157,212,0) 72%);border-color:rgba(177,213,236,.24)}
.config-item.is-open::before{transform:scaleY(1)}
.config-trigger{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 38px;gap:18px;align-items:center;padding:25px 4px 24px 18px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.config-marker{align-self:start;width:14px;height:1px;margin-top:11px;background:rgba(107,207,251,.48);transition:width .28s var(--ease),background .28s ease}.config-item.is-open .config-marker{width:20px;background:#77d8ff}
.config-label{display:grid;gap:5px}
.config-label strong{color:#eef5f9;font-size:16px;line-height:1.35;font-weight:650;letter-spacing:-.01em}
.config-label small{color:#7f95a5;font-size:11px;line-height:1.55;font-weight:500;transition:color .2s ease}
.config-trigger:hover .config-label small,.config-item.is-open .config-label small{color:#9eb2c0}
.config-icon{position:relative;width:32px;height:32px;border:1px solid rgba(130,205,241,.22);border-radius:50%;transition:border-color .25s ease,background .25s ease,transform .3s var(--ease)}
.config-icon i{position:absolute;left:50%;top:50%;width:10px;height:1px;background:#79d5ff;transform:translate(-50%,-50%);transition:transform .28s var(--ease),opacity .2s ease}
.config-icon i:last-child{transform:translate(-50%,-50%) rotate(90deg)}
.config-trigger:hover .config-icon{border-color:rgba(130,215,255,.62);background:rgba(80,190,241,.06)}
.config-item.is-open .config-icon{border-color:rgba(130,215,255,.58);background:rgba(80,190,241,.08);transform:rotate(180deg)}
.config-item.is-open .config-icon i:last-child{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.config-panel{display:grid;grid-template-rows:0fr;opacity:.25;transition:grid-template-rows .38s var(--ease),opacity .28s ease}
.config-panel-inner{overflow:hidden;padding:0 50px 0 60px}
.config-panel-inner p{max-width:700px;margin:0 0 18px;color:#b5c5d0;font-size:13px;line-height:1.78}
.config-panel-inner ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 27px;padding:0;list-style:none;border-top:1px solid rgba(177,213,236,.12)}
.config-panel-inner li{position:relative;padding:13px 16px 0 14px;color:#7f96a6;font-size:10px;line-height:1.55}
.config-panel-inner li::before{content:"";position:absolute;left:0;top:20px;width:4px;height:4px;border-radius:50%;background:#51bdec}
.config-item.is-open .config-panel{grid-template-rows:1fr;opacity:1}
.config-trigger:focus-visible{outline:2px solid var(--blue-300);outline-offset:5px;border-radius:3px}
.button:focus-visible,.menu-toggle:focus-visible,.nav-link:focus-visible,.footer-cta:focus-visible{outline:2px solid var(--blue-300);outline-offset:4px}

/* Capabilities editorial */
.capability-editorial{border-top:1px solid var(--paper-line)}
.capability-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:72px;padding:52px 0;border-bottom:1px solid var(--paper-line);align-items:start}
.capability-row small{color:#668296;font-size:9px;letter-spacing:.18em;font-weight:850}
.capability-row h2{margin:10px 0 14px;font-size:clamp(31px,3vw,46px);line-height:1.03;letter-spacing:-.04em}
.capability-row p{margin:0;max-width:760px;color:#597183;font-size:15px}
.capability-row ul{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--paper-line)}
.capability-row li{padding:10px 0;border-bottom:1px solid var(--paper-line);color:#4c697c;font-size:12px;font-weight:650}
.measurement-story{background:#0b2031;background-image:radial-gradient(circle at 85% 18%,rgba(50,167,222,.14),transparent 28%)}
.measurement-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:110px;align-items:end}
.measurement-grid .section-heading p:not(.section-kicker){color:#a9bbc7}
.chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:26px 0}
.chain div{display:grid;gap:4px;text-align:center}
.chain span{color:#6bcffb;font-size:9px;letter-spacing:.15em}
.chain strong{font-size:14px}
.chain small{color:#8298a8;font-size:10px}
.chain i{width:32px;height:1px;background:rgba(255,255,255,.2)}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.contact-intro h2{color:var(--ink)}
.contact-intro>p:not(.section-kicker){color:#5c7486;font-size:16px}
.contact-direct{margin-top:46px;padding-top:24px;border-top:1px solid var(--paper-line);display:grid;gap:6px}
.contact-direct span{margin-top:13px;color:#7890a0;font-size:9px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.contact-direct a,.contact-direct strong{color:#17394f;font-size:17px;font-weight:650}
.contact-form{padding:38px;background:#fff;border:1px solid var(--paper-line);box-shadow:0 20px 60px rgba(17,45,66,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-grid label{display:grid;gap:8px}
.form-grid label.full{grid-column:1/-1}
.form-grid label>span{color:#4f6a7d;font-size:11px;font-weight:720}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(18,58,85,.17);background:#f8fafb;color:#18394f;padding:13px 14px;outline:none;transition:.2s ease}
.contact-form textarea{resize:vertical;min-height:170px}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#239bd7;box-shadow:0 0 0 3px rgba(35,155,215,.08);background:#fff}
.contact-form .invalid{border-color:#c94949!important}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#94a4af}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--paper-line)}
.form-footer p{margin:0;color:#7b8f9c;font-size:11px;max-width:460px}
.brief-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.brief-grid article{min-height:280px;padding:28px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.018)}
.brief-grid h3{margin:50px 0 12px;font-size:20px}
.brief-grid p{margin:0;color:var(--muted);font-size:13px}

/* Footer */
.site-footer{background:#020910;border-top:1px solid rgba(255,255,255,.08)}
.footer-main{display:grid;grid-template-columns:1.35fr .55fr .8fr 1fr;gap:76px;padding:78px 0 58px}
.footer-brand p{max-width:360px;margin:24px 0 0;color:#8295a4;font-size:13px}
.footer-nav,.footer-contact{display:grid;align-content:start;gap:10px}
.footer-nav strong,.footer-contact>strong{margin-bottom:8px;color:#dce7ed;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.footer-nav a,.footer-contact a,.footer-contact span{color:#8599a8;font-size:12px;transition:.2s ease}
.footer-nav a:hover,.footer-contact a:hover{color:#d9f2ff}
.footer-cta{display:inline-flex!important;align-items:center;gap:8px;margin-top:12px;color:#7dd6ff!important;font-weight:740}
.footer-bottom{min-height:78px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#607583;font-size:10px;letter-spacing:.05em}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* Responsive */
@media(max-width:1180px){
  :root{--shell:min(100% - 48px,1180px)}
  .card-grid.four{grid-template-columns:repeat(2,1fr)}
  .feature-grid.five{grid-template-columns:repeat(3,1fr)}
  .solution-row{grid-template-columns:minmax(0,1fr) 280px;gap:42px}
  .footer-main{grid-template-columns:1.2fr .7fr .9fr;gap:48px}.footer-contact{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:26px}
}
@media(max-height:820px) and (min-width:901px){
  .hero-micro{bottom:58px}
}

@media(max-width:900px){
  :root{--shell:calc(100% - 38px)}
  .site-header{height:78px;background:rgba(4,14,24,.9);backdrop-filter:blur(16px)}
  .menu-toggle{display:block;position:relative;z-index:3}
  .primary-nav{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:90px 32px;background:#06131f;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s ease}
  .primary-nav.open{opacity:1;visibility:visible;transform:none}
  .nav-link{width:100%;padding:12px 0;font-size:28px;letter-spacing:-.03em}.nav-link::after{display:none}.nav-cta{margin:16px 0 0;width:auto;padding:12px 20px;font-size:16px}
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{min-height:760px}.hero-content{padding-top:78px}.hero h1,.hero h2{font-size:clamp(48px,10vw,76px)}.hero-micro{display:none}.hero-overlay{background:linear-gradient(90deg,rgba(2,8,14,.96),rgba(3,12,21,.68)),linear-gradient(0deg,rgba(2,8,14,.84),transparent 60%)}
  .section{padding:90px 0}.section-top,.about-grid,.editorial-grid,.product-intro-grid,.capabilities-layout,.image-story-inner,.measurement-grid,.contact-layout,.config-grid{grid-template-columns:1fr;gap:52px}.config-grid>.section-heading{position:static}.section-top{margin-bottom:44px}
  .metric-grid{grid-template-columns:1fr 1fr}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .image-story{min-height:auto}.image-story-inner{padding-block:90px}.image-story-stats{max-width:640px}
  .process-grid,.feature-grid.four,.brief-grid,.sector-grid{grid-template-columns:1fr 1fr}
  .page-hero,.product-hero{min-height:680px;padding-top:150px;background-position:64% center}.page-hero-grid,.product-hero-grid{grid-template-columns:1fr;gap:48px}.page-hero-note,.product-hero-note{justify-self:start;width:min(100%,440px)}
  .solution-row{grid-template-columns:1fr 280px;gap:34px;padding:40px 0}.solution-row-copy{grid-column:1}.solution-row-media{grid-column:2;height:240px}
  .principle-grid{grid-template-columns:1fr 1fr}.feature-grid.five{grid-template-columns:1fr 1fr}
  .capability-row{grid-template-columns:1fr minmax(250px,.55fr);gap:44px}.capability-row ul{grid-column:2}
  .chain{grid-template-columns:1fr}.chain i{width:1px;height:22px;justify-self:center}
  .cta-inner{grid-template-columns:1fr;gap:32px;padding:70px 0}.cta-inner .button{justify-self:start}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 0}
}
@media(max-width:600px){
  :root{--shell:calc(100% - 28px)}
  .brand-mark{width:40px;height:40px}.brand-copy strong{font-size:19px}.brand-copy small{font-size:9px}
  .hero{min-height:720px}.hero h1,.hero h2{font-size:clamp(42px,12vw,58px);line-height:.98}.hero p{font-size:15px;margin-top:24px}.hero-actions{margin-top:28px}.hero-actions .button{width:100%}
  .trust-inner{align-items:flex-start;flex-direction:column;padding:24px 0;gap:14px}.sector-list{justify-content:flex-start;gap:10px 13px}.sector-list i{display:none}
  .section{padding:76px 0}.section-heading h2,.contact-intro h2{font-size:clamp(38px,11vw,52px)}
  .about-copy .lead,.editorial-copy .lead{font-size:19px}.metric-grid,.card-grid.four,.process-grid,.feature-grid.four,.feature-grid.five,.brief-grid,.sector-grid,.principle-grid{grid-template-columns:1fr}.metric-card{border-right:0;border-bottom:1px solid var(--line)!important;padding-left:0}.metric-card:last-child{border-bottom:0!important}
  .solution-card{min-height:440px}.solution-photo{height:190px}.solution-body{min-height:250px}
  .image-story-copy h2{font-size:40px}.image-story-stats{grid-template-columns:1fr 1fr}.image-story-stats div{min-height:112px}.image-story-stats span{margin-top:28px}
  .page-hero,.product-hero{min-height:620px;padding:130px 0 76px;background-position:62% center}.page-hero h1,.product-hero h1{font-size:clamp(42px,11vw,58px)}.page-hero-copy>p:not(.eyebrow),.product-lead{font-size:15px}.page-hero-note,.product-hero-note{display:none}
  .solution-row{grid-template-columns:1fr;padding:34px 0;gap:20px}.solution-row-copy,.solution-row-media{grid-column:1;grid-row:auto}.solution-row-media{height:210px}.solution-row-copy h2{font-size:34px}
  .capability-row{grid-template-columns:1fr;gap:26px}.capability-row ul{grid-column:1}.capability-row h2{font-size:34px}
  .product-features{margin-top:52px}.feature-card,.principle-card,.sector-card,.process-card,.brief-grid article{min-height:auto}.feature-card h3,.principle-card h3,.sector-card h3,.process-card h3,.brief-grid h3{margin-top:34px}
  .config-trigger{grid-template-columns:20px minmax(0,1fr) 32px;gap:12px;padding:21px 0}.config-label strong{font-size:15px}.config-label small{font-size:10px}.config-panel-inner{padding:0 0 0 40px}.config-panel-inner ul{grid-template-columns:1fr}.config-panel-inner li{padding-top:10px}.config-panel-inner li::before{top:17px}.config-hint{margin-top:24px}
  .contact-form{padding:22px}.form-grid{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .button{width:100%}
  .footer-main{grid-template-columns:1fr;padding:58px 0 42px}.footer-brand,.footer-contact{grid-column:auto}.footer-nav{padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
}

@media(hover:none){
  .hero-edge-nav{top:auto;bottom:24px;width:54px;height:54px;transform:none}
  .hero-edge-prev{left:auto;right:86px}
  .hero-edge-next{right:24px}
  .hero-edge-nav::before{display:none}
  .hero-edge-glyph{width:48px;height:48px;border:1px solid rgba(156,205,235,.28);border-radius:50%;opacity:1;transform:none!important;background:rgba(3,14,24,.56);backdrop-filter:blur(10px);font-size:28px;text-shadow:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.reveal,.button,.solution-card,.solution-row::before,.hero-edge-glyph,.hero-edge-nav::before{transition:none!important}.pulse-dot{animation:none}.config-panel,.config-icon,.config-item::before{transition:none!important}.reveal{opacity:1;transform:none}}

/* V8 — official identity and interaction refinements */
.brand-official{display:inline-flex;align-items:center;flex:none;line-height:0}
.site-header .brand-logo{width:210px;height:auto;max-height:54px;object-fit:contain;object-position:left center;filter:brightness(1.18) saturate(1.04);transition:opacity .22s ease,filter .22s ease,transform .22s var(--ease)}
.site-header .brand-official:hover .brand-logo{filter:brightness(1.28) saturate(1.08);transform:translateY(-1px)}
.footer-brand .brand-logo{width:250px;height:auto;max-height:66px;object-fit:contain;object-position:left center;filter:brightness(1.18) saturate(1.03)}
.nav-cta{display:inline-flex;align-items:center;gap:9px}
.nav-cta::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue-300);box-shadow:0 0 0 0 rgba(130,215,255,.18);transition:box-shadow .22s ease,transform .22s var(--ease)}
.nav-cta:hover::before,.nav-cta.active::before{transform:scale(1.12);box-shadow:0 0 0 5px rgba(130,215,255,.08)}

/* Contact form: compact, explicit and less template-like */
.contact-form{border-radius:10px}
.form-footer{align-items:center}
.form-footer p{position:relative;padding-left:17px;line-height:1.55}
.form-footer p::before{content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:#37a9e3;box-shadow:0 0 0 4px rgba(55,169,227,.08)}
.contact-submit{min-width:226px;min-height:54px;padding:14px 21px;border-radius:8px;background:linear-gradient(105deg,#1494d4,#5fc8f5);box-shadow:0 12px 30px rgba(20,148,212,.16);white-space:nowrap;letter-spacing:-.01em}
.contact-submit:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(20,148,212,.23);background:linear-gradient(105deg,#1188c5,#6ad0fb)}
.contact-submit:active{transform:translateY(0)}

/* Capability detail lines are informational, not fake buttons. Hover gives quiet visual feedback. */
.capability-row li{position:relative;padding:12px 12px 12px 10px;transition:color .22s ease,background .22s ease,transform .24s var(--ease),border-color .22s ease}
.capability-row li::before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;border-radius:2px;background:linear-gradient(180deg,var(--blue-500),var(--blue-300));transform:translateY(-50%);transition:height .24s var(--ease),opacity .22s ease;opacity:0}
.capability-row li:hover{color:#0a6eaa;background:linear-gradient(90deg,rgba(23,143,217,.075),rgba(23,143,217,0) 78%);transform:translateX(5px);border-color:rgba(23,143,217,.2)}
.capability-row li:hover::before{height:22px;opacity:1}
.capability-row ul:hover li:not(:hover){color:#6d8392}

@media(max-width:900px){
  .site-header .brand-logo{width:188px;max-height:48px}
  .footer-brand .brand-logo{width:230px;max-height:62px}
}
@media(max-width:600px){
  .site-header .brand-logo{width:166px;max-height:43px}
  .footer-brand .brand-logo{width:218px;max-height:58px}
  .form-footer p{padding-left:16px}
  .contact-submit{width:100%;min-width:0}
}

/* V9 — contact delivery, editorial link cues and product-card micro-interactions */
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-footer{justify-content:flex-end}
.form-status{display:none!important;margin:0 auto 0 0!important;max-width:520px!important;padding:0!important;color:#60798a!important;font-size:11px!important;line-height:1.55!important}
.form-status::before{display:none!important}
.form-status:not(:empty){display:block!important}
.form-status.is-success{color:#19734f!important}
.form-status.is-error{color:#a43e3e!important}
.contact-submit{min-width:142px;min-height:52px;padding:13px 20px 13px 23px;gap:12px;border-radius:8px}
.contact-submit .send-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .26s var(--ease)}
.contact-submit:hover .send-icon{transform:translate(2px,-2px)}
.contact-submit:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}

/* Editorial motion cue: avoids generic arrow glyphs while preserving direction. */
.solution-link,.card-action{display:inline-flex;align-items:center;gap:13px}
.link-cue{position:relative;display:inline-block;width:46px;height:12px;flex:0 0 46px}
.link-cue::before{content:"";position:absolute;left:0;top:50%;width:31px;height:1px;background:linear-gradient(90deg,rgba(18,111,159,.38),#1797d4);transform:translateY(-50%);transition:width .32s var(--ease),background .24s ease}
.link-cue::after{content:"";position:absolute;right:9px;top:50%;width:5px;height:5px;border:1px solid #1797d4;border-radius:50%;background:#fff;transform:translateY(-50%);transition:right .32s var(--ease),background .24s ease,box-shadow .24s ease}
.solution-row:hover .link-cue::before,.solution-card:hover .link-cue::before{width:40px;background:linear-gradient(90deg,rgba(18,111,159,.55),#0e9fe7)}
.solution-row:hover .link-cue::after,.solution-card:hover .link-cue::after{right:0;background:#0e9fe7;box-shadow:0 0 0 4px rgba(14,159,231,.09)}
.solution-row-media{transition:transform .4s var(--ease),filter .35s ease}
.solution-row:hover .solution-row-media{transform:scale(1.018);filter:saturate(1.04) contrast(1.02)}

/* Product-detail feature grids: subtle lift and focus without implying clickability. */
.product-features{overflow:visible}
.product-features .feature-card{position:relative;z-index:0;overflow:hidden;isolation:isolate;transition:transform .32s var(--ease),box-shadow .32s ease,border-color .26s ease,background .3s ease}
.product-features .feature-card::before{content:"";position:absolute;left:28px;right:28px;top:0;height:2px;background:linear-gradient(90deg,#178fd0,#7bd8ff);transform:scaleX(0);transform-origin:left;transition:transform .34s var(--ease);z-index:2}
.product-features .feature-card::after{content:"";position:absolute;z-index:-1;width:150px;height:150px;right:-65px;top:-75px;border-radius:50%;background:radial-gradient(circle,rgba(61,181,236,.11),rgba(61,181,236,0) 70%);opacity:0;transform:scale(.72);transition:opacity .3s ease,transform .4s var(--ease)}
.product-features .feature-card>span,.product-features .feature-card h3,.product-features .feature-card p{position:relative;z-index:1;transition:transform .3s var(--ease),color .24s ease}

@media(hover:hover) and (pointer:fine){
  .product-features .feature-card:hover{z-index:3;transform:translateY(-6px) scale(1.012);background:linear-gradient(180deg,#fff 0%,#fafdff 100%);box-shadow:0 22px 46px rgba(18,55,78,.12)}
  .product-features .feature-card:hover::before{transform:scaleX(1)}
  .product-features .feature-card:hover::after{opacity:1;transform:scale(1)}
  .product-features .feature-card:hover>span{color:#087fbd;transform:translateY(-1px)}
  .product-features .feature-card:hover h3{color:#0b3149;transform:translateY(-2px)}
}

@media(max-width:600px){
  .contact-submit{width:100%;min-width:0}
  .form-status{margin:0!important}
  .link-cue{width:40px;flex-basis:40px}
}

@media(prefers-reduced-motion:reduce){
  .contact-submit .send-icon,.link-cue::before,.link-cue::after,.solution-row-media,.product-features .feature-card,.product-features .feature-card::before,.product-features .feature-card::after,.product-features .feature-card>span,.product-features .feature-card h3{transition:none!important}
}


/* V10 — unified premium micro-interactions for informational card grids.
   These blocks are intentionally non-clickable: movement adds depth without implying a button. */
.metric-card,
.process-card,
.principle-card,
.sector-card,
.brief-grid article,
.feature-grid:not(.product-features) .feature-card,
.image-story-stats > div{
  position:relative;
  z-index:0;
  overflow:hidden;
  isolation:isolate;
  transition:transform .32s var(--ease),box-shadow .32s ease,background .3s ease,border-color .26s ease;
}

.metric-card::before,
.process-card::before,
.principle-card::before,
.sector-card::before,
.brief-grid article::before,
.feature-grid:not(.product-features) .feature-card::before,
.image-story-stats > div::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:2px;
  background:linear-gradient(90deg,#178fd0,#7bd8ff);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .34s var(--ease);
  z-index:2;
}

.metric-card::after,
.process-card::after,
.principle-card::after,
.sector-card::after,
.brief-grid article::after,
.feature-grid:not(.product-features) .feature-card::after,
.image-story-stats > div::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:170px;
  height:170px;
  right:-72px;
  top:-82px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(75,194,247,.14),rgba(75,194,247,0) 70%);
  opacity:0;
  transform:scale(.72);
  transition:opacity .3s ease,transform .42s var(--ease);
}

.metric-card strong,
.metric-card span,
.process-card > span,
.process-card h3,
.process-card p,
.principle-card > span,
.principle-card h3,
.principle-card p,
.sector-card > span,
.sector-card h3,
.sector-card p,
.brief-grid article > span,
.brief-grid article h3,
.brief-grid article p,
.feature-grid:not(.product-features) .feature-card > span,
.feature-grid:not(.product-features) .feature-card h3,
.feature-grid:not(.product-features) .feature-card p,
.image-story-stats strong,
.image-story-stats span{
  position:relative;
  z-index:1;
  transition:transform .3s var(--ease),color .24s ease,opacity .24s ease;
}

/* Light cards use the same interaction language as product feature cards. */
.process-grid.light .process-card,
.sector-card{
  background:#fff;
}

/* Dark/glass cards keep their existing tone and gain a very restrained focus state. */
.metric-card,
.process-grid:not(.light) .process-card,
.principle-card,
.brief-grid article,
.feature-grid:not(.product-features) .feature-card{
  background-color:rgba(255,255,255,.018);
}

@media(hover:hover) and (pointer:fine){
  .metric-card:hover,
  .process-card:hover,
  .principle-card:hover,
  .sector-card:hover,
  .brief-grid article:hover,
  .feature-grid:not(.product-features) .feature-card:hover,
  .image-story-stats > div:hover{
    z-index:4;
    transform:translateY(-6px) scale(1.012);
  }

  .metric-card:hover::before,
  .process-card:hover::before,
  .principle-card:hover::before,
  .sector-card:hover::before,
  .brief-grid article:hover::before,
  .feature-grid:not(.product-features) .feature-card:hover::before,
  .image-story-stats > div:hover::before{
    transform:scaleX(1);
  }

  .metric-card:hover::after,
  .process-card:hover::after,
  .principle-card:hover::after,
  .sector-card:hover::after,
  .brief-grid article:hover::after,
  .feature-grid:not(.product-features) .feature-card:hover::after,
  .image-story-stats > div:hover::after{
    opacity:1;
    transform:scale(1);
  }

  /* Light surfaces */
  .process-grid.light .process-card:hover,
  .sector-card:hover{
    background:linear-gradient(180deg,#fff 0%,#f9fcfe 100%);
    border-color:rgba(21,139,204,.25);
    box-shadow:0 22px 46px rgba(18,55,78,.11);
  }

  .process-grid.light .process-card:hover > span,
  .sector-card:hover > span{
    color:#087fbd;
    transform:translateY(-1px);
  }

  .process-grid.light .process-card:hover h3,
  .sector-card:hover h3{
    color:#0b3149;
    transform:translateY(-2px);
  }

  /* Dark surfaces */
  .metric-card:hover,
  .process-grid:not(.light) .process-card:hover,
  .principle-card:hover,
  .brief-grid article:hover,
  .feature-grid:not(.product-features) .feature-card:hover{
    background:linear-gradient(180deg,rgba(18,51,72,.96),rgba(8,28,43,.96));
    border-color:rgba(111,207,249,.22);
    box-shadow:0 24px 52px rgba(0,0,0,.24),0 0 0 1px rgba(107,207,251,.05);
  }

  .metric-card:hover strong,
  .process-grid:not(.light) .process-card:hover h3,
  .principle-card:hover h3,
  .brief-grid article:hover h3,
  .feature-grid:not(.product-features) .feature-card:hover h3{
    color:#f6fbfe;
    transform:translateY(-2px);
  }

  .metric-card:hover span,
  .process-grid:not(.light) .process-card:hover > span,
  .principle-card:hover > span,
  .brief-grid article:hover > span,
  .feature-grid:not(.product-features) .feature-card:hover > span{
    color:#79d7ff;
    transform:translateY(-1px);
  }

  .process-grid:not(.light) .process-card:hover p,
  .principle-card:hover p,
  .brief-grid article:hover p,
  .feature-grid:not(.product-features) .feature-card:hover p{
    color:#b9cbd6;
  }

  /* Glass statistics over photography: even quieter than standard cards. */
  .image-story-stats > div:hover{
    transform:translateY(-4px) scale(1.008);
    background:rgba(7,31,48,.42);
    border-color:rgba(123,216,255,.24);
    box-shadow:0 18px 42px rgba(0,0,0,.18);
  }
  .image-story-stats > div:hover strong{color:#9ce3ff;transform:translateY(-1px)}
  .image-story-stats > div:hover span{color:#fff}
}

@media(max-width:600px){
  .metric-card::before,
  .process-card::before,
  .principle-card::before,
  .sector-card::before,
  .brief-grid article::before,
  .feature-grid:not(.product-features) .feature-card::before,
  .image-story-stats > div::before{left:20px;right:20px}
}

@media(prefers-reduced-motion:reduce){
  .metric-card,.metric-card::before,.metric-card::after,.metric-card strong,.metric-card span,
  .process-card,.process-card::before,.process-card::after,.process-card>span,.process-card h3,.process-card p,
  .principle-card,.principle-card::before,.principle-card::after,.principle-card>span,.principle-card h3,.principle-card p,
  .sector-card,.sector-card::before,.sector-card::after,.sector-card>span,.sector-card h3,.sector-card p,
  .brief-grid article,.brief-grid article::before,.brief-grid article::after,.brief-grid article>span,.brief-grid article h3,.brief-grid article p,
  .feature-grid:not(.product-features) .feature-card,.feature-grid:not(.product-features) .feature-card::before,.feature-grid:not(.product-features) .feature-card::after,.feature-grid:not(.product-features) .feature-card>span,.feature-grid:not(.product-features) .feature-card h3,.feature-grid:not(.product-features) .feature-card p,
  .image-story-stats>div,.image-story-stats>div::before,.image-story-stats>div::after,.image-story-stats strong,.image-story-stats span{
    transition:none!important;
  }
}


@media (max-width:900px){
  .spin-photo-section{padding-top:8px;padding-bottom:76px}
  .spin-photo-grid{grid-template-columns:1fr 1fr;grid-template-areas:
    "team team"
    "overview overview"
    "closeup closeup"
    "optical interface"
    "chamber chamber";grid-template-rows:260px 260px 260px 360px 300px;gap:10px}
}
@media (max-width:620px){
  .spin-photo-grid{grid-template-columns:1fr;grid-template-areas:
    "team"
    "overview"
    "closeup"
    "optical"
    "interface"
    "chamber";grid-template-rows:230px 230px 230px 340px 340px 340px}
}
