:root {
  --paper:#f6f5ef;
  --ink:#172143;
  --muted:#46536b;
  --line:#ccd1dc;
  --blue:#2449d7;
  --blue-dark:#1431aa;
  --pale:#edf1ff;
  --amber:#f4bc48;
  --gutter:clamp(20px,5.2vw,82px);
}
body { background:var(--paper); }
.utility { background:#e9edfa; color:#23365f; }
.nav { background:#fff; color:var(--ink); border-color:var(--line); }
.nav .brand small,.nav nav a { color:#364866; }
.nav nav a[aria-current],.nav nav a:hover { color:var(--blue-dark); }
.nav nav a[aria-current]::after,.reading-progress { background:var(--blue); }
.nav .brand-mark { background:#edf1ff; border-color:#edf1ff; }
.button { border-radius:5px; }
.button.primary { color:white; background:var(--blue); box-shadow:none; }
.button.primary:hover { background:var(--blue-dark); }
.button.secondary { color:var(--blue-dark); border-color:#9ba9d0; }
.eyebrow,.card-category { color:var(--blue-dark); }
.eyebrow span { background:var(--blue); }
.section { padding-block:clamp(58px,7.4vw,108px); }
.section-title h2,.procurement h2,.faq h2 { font-size:clamp(2.55rem,4.85vw,5.15rem); font-weight:750; letter-spacing:-.06em; }
.studio-hero { background:linear-gradient(120deg,#fff 0%,#f9f8f1 57%,#eaf0ff 100%); border-bottom:1px solid var(--line); }
.studio-layout { display:grid; grid-template-columns:.94fr 1fr; gap:clamp(20px,3.5vw,60px); align-items:center; padding-block:clamp(36px,6vw,91px); }
.studio-copy { min-width:0; animation:rise .8s var(--ease) both; }
.studio-kicker { display:flex; align-items:center; gap:10px; color:var(--blue-dark); font:700 .73rem/1.4 Consolas,monospace; letter-spacing:.11em; margin-bottom:19px; }
.studio-kicker span { width:9px; height:9px; flex:none; border-radius:50%; background:var(--blue); }
.studio-copy h1 { font-size:clamp(3rem,5.7vw,6.6rem); line-height:.96; letter-spacing:-.069em; font-weight:750; }
.studio-copy h1 em { display:inline; color:var(--blue); font-weight:760; }
.studio-lede { margin-top:22px; max-width:45ch; font-size:clamp(1rem,1.4vw,1.19rem); }
.studio-copy .hero-actions { margin-top:24px; gap:14px 20px; }
.studio-link { display:inline-flex; align-items:center; gap:10px; min-height:45px; color:var(--blue-dark); font-weight:750; text-decoration:underline; text-underline-offset:5px; }
.studio-figure { position:relative; min-width:0; margin:0; background:var(--blue); padding:9px 9px 0; border-radius:11px; box-shadow:12px 15px 0 #dce4ff; animation:rise .95s .12s var(--ease) both; }
.studio-art { position:relative; overflow:hidden; border-radius:6px; aspect-ratio:1.26; background:#112032; }
.studio-art img { width:100%; height:100%; object-fit:cover; object-position:84% 50%; animation:studio-zoom 1.6s var(--ease) both; }
.studio-sweep { position:absolute; inset:0; background:linear-gradient(118deg,transparent 38%,#a6baff32 50%,transparent 62%); transform:translateX(-130%); animation:light-pass 1.85s .27s var(--ease) both; pointer-events:none; }
.studio-figure figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:53px; padding:6px 8px; color:white; font-size:.8rem; font-weight:650; }
.studio-figure figcaption a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.studio-index { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.studio-index a { color:var(--blue-dark); padding:14px 12px; min-height:50px; font-size:.86rem; font-weight:750; border-left:1px solid var(--line); transition:background .2s; }
.studio-index a:last-child { border-right:1px solid var(--line); }
.studio-index a:hover { background:#e3eaff; }
@keyframes studio-zoom { from { transform:scale(1.09); } to { transform:scale(1); } }
.sector-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.sector,.sector:nth-child(-n+2) { min-height:285px; border-radius:8px; }
.sector:nth-child(-n+2) { min-height:340px; }
.sector-content span { background:white; color:var(--blue-dark); border-radius:50%; }
.sector-overlay { background:linear-gradient(0deg,#0c1b4aff,#0e1d5088 37%,#13265311 70%); }
.finder-section { background:#172e93; color:white; }
.finder-section .eyebrow { color:#dce5ff; }
.finder-section .section-title>p { color:#e4ebff; }
.finder-layout { display:grid; grid-template-columns:.77fr 1.23fr; gap:25px; }
.finder-options { display:grid; align-content:start; gap:7px; }
.finder-options a { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 15px; min-height:53px; border:1px solid #8092e5; border-radius:5px; color:#fff; font-weight:700; transition:background .25s,color .25s; }
.finder-options a:hover { background:#2d48ad; }
.finder-options a[aria-current] { background:#fff; color:var(--blue-dark); }
.finder-options a:focus-visible { outline-color:#ffce57; }
.finder-panels article { padding:clamp(20px,4.2vw,48px); background:white; color:var(--ink); border-radius:8px; }
.finder-panels article+article { margin-top:10px; }
.finder-panels article[data-active] { margin-top:0; animation:rise .32s var(--ease) both; }
.finder-panels h3 { font-size:clamp(1.9rem,3.5vw,3.75rem); line-height:.99; }
.finder-panels p:not(.eyebrow) { margin-top:15px; max-width:59ch; }
.finder-panels .eyebrow { color:var(--blue-dark); }
.finder-panels .button { margin-top:22px; }
.feature-band,.product-top { background:#edf0fa; }
.card { border:1px solid #cdd4e9; border-radius:8px; }
.card-foot .detail { color:var(--blue-dark); }
.spec-grid { margin:0 0 19px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.spec-grid div { padding:clamp(16px,2.6vw,34px); background:#fff; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:5px; }
.spec-grid dt { font-size:clamp(1.22rem,2vw,1.6rem); font-weight:750; }
.spec-grid dd { margin:7px 0 0; color:var(--muted); }
.spec-section + .procurement { border-top:1px solid var(--line); }
.procurement li span { color:var(--blue-dark); }
.parts-section { background:#e5ebff; border-block:1px solid var(--line); }
.parts-layout { display:grid; grid-template-columns:.9fr 1fr; align-items:center; gap:clamp(22px,5vw,84px); padding-block:clamp(41px,6vw,85px); }
.parts-layout h2 { font-size:clamp(2.7rem,5.2vw,5.2rem); text-wrap:initial; }
.parts-layout p:not(.eyebrow) { margin-top:16px; max-width:46ch; }
.parts-layout .button { margin-top:20px; }
.parts-visual { border-radius:9px; overflow:hidden; border:1px solid #9daede; }
.parts-visual img { width:100%; }
.faq summary:hover { color:var(--blue-dark); }
.office-band { background:#fff; border-top:1px solid var(--line); }
.office-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.office-grid article { background:var(--pale); padding:clamp(16px,2.7vw,32px); border:1px solid #c9d5ff; border-radius:7px; }
.office-grid h3 { margin-bottom:11px; }
.office-grid address { margin-top:7px; color:var(--muted); font-style:normal; }
.office-grid a { display:flex; align-items:center; min-height:44px; color:var(--blue-dark); text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.mast { background:linear-gradient(115deg,#172b83,#2449d7); }
.mast .eyebrow,.closing .eyebrow,.foot-grid p { color:#e0e7ff; }
.mast-mark span { -webkit-text-stroke-color:#e0e7ff7f; }
.closing { background:#172e93; border-top-color:#6689ff; }
.closing .button.primary { background:#fff; color:var(--blue-dark); }
.closing .button.primary:hover { background:#e4ebff; }
.new-footer { background:#121e42; }
.product-brief .brief-panel,.quote { border-top-color:var(--blue); }
.application-band { background:#1a2c75; }
.application-grid .eyebrow { color:#dce5ff; }
.filters button[aria-pressed=true] { background:var(--blue-dark); border-color:var(--blue-dark); }
@media(max-width:820px) {
  .studio-layout { grid-template-columns:1fr; gap:27px; }
  .studio-copy h1 { font-size:clamp(3.15rem,9.7vw,5.3rem); }
  .hero-line { display:none; }
  .studio-art { aspect-ratio:1.8; }
  .sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sector,.sector:nth-child(-n+2) { min-height:230px; }
}
@media(max-width:560px) {
  .studio-layout { padding-block:30px 26px; }
  .studio-copy h1 { font-size:clamp(2.7rem,10vw,4rem); }
  .studio-lede { margin-top:15px; }
  .studio-copy .hero-actions { gap:8px 12px; margin-top:17px; }
  .studio-copy .hero-actions a { font-size:.84rem; padding-inline:9px; }
  .studio-figure { padding:6px 6px 0; box-shadow:6px 8px 0 #dce4ff; }
  .studio-figure figcaption { font-size:.71rem; }
  .studio-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studio-index a { border-bottom:1px solid var(--line); }
  .sector,.sector:nth-child(-n+2) { min-height:190px; }
  .sector-content span { width:25px; height:25px; }
  .finder-layout,.parts-layout,.office-grid { grid-template-columns:1fr; }
  .finder-layout { gap:13px; }
  .spec-grid { grid-template-columns:1fr; }
}
