/* Precision edition. Local design preview; extends the established MECAS theme. */
:root {
  --max: 1600px;
  --nav-h: 84px;
  --fs-label: .875rem;
  --fs-body-sm: 1rem;
  --studio-gold: #d9b77b;
}
:root, html[data-theme="dark"] {
  --bg: #101925;
  --bg-2: #0c1523;
  --bg-3: #172538;
  --ink-2: #abb9cc;
  --ink-3: #95a7bf;
  --line: rgba(157,182,217,.17);
  --grid: rgba(99,157,245,.035);
  --accent: #5998ff;
}
html[data-theme="light"] {
  --bg: #f7f9fc;
  --bg-2: #fff;
  --bg-3: #edf2f8;
  --ink-2: #47566d;
  --ink-3: #586a83;
  --line: rgba(42,67,105,.17);
  --accent: #2469d6;
}
.nav { background: color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter: blur(20px); }
.nav__mark b { font-size: 1.45rem; letter-spacing: .08em; }
.nav__mark s { font-family: var(--f-body); font-size: .875rem; text-transform: none; letter-spacing: .025em; }
.nav__links { gap: clamp(16px,1.8vw,29px); }
.nav__l { font-family: var(--f-body); font-size: .9375rem; letter-spacing: .01em; text-transform: none; padding-block: 16px; }
.nav__l[aria-current]::after { height: 2px; box-shadow: none; }
.nav__dd { border-radius: 8px; padding: 8px; box-shadow: 0 24px 70px #0005; }
.nav__dd a { font-family: var(--f-body); font-size: .9375rem; text-transform: none; letter-spacing: 0; border-radius: 4px; }
.iconbtn { width: 42px; height: 42px; border-radius: 6px; }
.precision-home .hero { min-height: 0; padding: calc(var(--nav-h) + 56px) var(--gut) 60px; }
.precision-home .hero__layout { max-width: calc(var(--max) - 2 * var(--gut)); grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(38px,4.5vw,76px); }
.precision-home .hero__glow { background: radial-gradient(ellipse at 80% 30%,#2459a31c,transparent 60%); }
.precision-home .hero>.gridbg { opacity: .55; }
.precision-home .hero__intro { padding: 26px 0; }
.precision-home .eyebrow { font-size: .8125rem; letter-spacing: .085em; }
.precision-home .hero__intro h1 { font-size: clamp(64px,6.7vw,108px); letter-spacing: -.065em; line-height: .95; margin-top: 30px; }
.precision-home .hero__intro h1 span { display: block; font-size: .62em; letter-spacing: -.045em; margin-top: 10px; font-weight: 400; }
.precision-home .hero__intro-lead { font-family: var(--f-body); text-transform: none; font-size: 1.0625rem; font-weight: 500; line-height: 1.6; letter-spacing: .01em; max-width: 30ch; margin-top: 30px; }
.precision-home .hero__intro-body { font-size: 1.0625rem; line-height: 1.85; max-width: 46ch; margin-top: 20px; }
.precision-home .hero__focus { margin-top: 26px; }
.precision-home .hero__focus li { font-size: .9375rem; padding-block: 11px; grid-template-columns: 24px 1fr; }
.precision-home .hero__focus b { font-weight: 400; font-size: .8125rem; color: var(--accent); }
.precision-home .btn { font-family: var(--f-body); font-size: .9375rem; letter-spacing: 0; text-transform: none; padding: 14px 21px; border-radius: 5px; font-weight: 500; }
.precision-home .btn--solid { background: #367be9; border-color: #367be9; box-shadow: inset 0 1px #ffffff24; }
.precision-home .btn--solid:hover { background: #2566ce; }
.precision-home .btn svg { width: 17px; height: 17px; }
.precision-home .hero__visual { padding: 0; border-radius: 12px; background: linear-gradient(145deg,var(--bg-3),var(--bg-2) 65%); box-shadow: 0 28px 90px #0003,inset 0 1px #ffffff08; overflow: hidden; }
.precision-home .hero__visual-head { height: auto; align-items: center; margin: 0 24px; padding: 20px 0 16px; }
.precision-home .hero__plate { font-size: .8125rem; letter-spacing: .065em; color: var(--ink-2); }
.precision-home .hero__hint { font-family: var(--f-body); font-size: .8125rem; letter-spacing: 0; text-transform: none; }
.precision-home .hero__stage { height: clamp(360px,31vw,490px); background: radial-gradient(ellipse at 50% 42%,#4689da17,transparent 68%); margin-inline: 8px; border-bottom: 0; }
.studio__caption { position: absolute; bottom: 10px; left: 16px; font-size: .75rem; color: var(--ink-3); pointer-events: none; }
.studio__fallback { position: absolute; inset: 10% 20%; width: 60%; height: 72%; object-fit: contain; opacity: .72; }
.precision-home .hero__loading { align-items: end; padding: 20px; text-align: center; z-index: 2; font-family: var(--f-body); letter-spacing: 0; text-transform: none; background: linear-gradient(transparent 65%,var(--bg-2)); }
.hero__stage.is-ready .studio__fallback { display: none; }
.hero__stage.is-fallback #heroGl, .hero__stage.is-fallback .studio__caption { display: none; }
.studio__tools { display: flex; justify-content: space-between; gap: 12px; margin: 0 24px; padding: 0 0 16px; align-items: center; flex-wrap: wrap; }
.studio__tools button, .studio__layers button { color: var(--ink-2); font: inherit; font-size: .875rem; cursor: pointer; }
.studio__segmented { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: var(--bg-2); }
.studio__segmented button { padding: 7px 12px; border-radius: 4px; }
.studio__segmented button[aria-pressed="true"] { color: var(--ink); background: var(--bg-3); box-shadow: 0 1px 4px #0002; }
.studio__actions { display: flex; align-items: center; gap: 16px; }
.studio__actions button { min-height: 40px; }
.studio__actions button:hover { color: var(--accent); }
.studio__layers { display: flex; gap: 6px; padding: 0 24px; flex-wrap: wrap; }
.studio__layers button { border: 1px solid var(--line); border-radius: 4px; padding: 7px 11px; min-height: 36px; font-size: .8125rem; }
.studio__layers button[aria-pressed="true"] { color: var(--accent); border-color: color-mix(in srgb,var(--accent) 50%,transparent); background: var(--accent-soft); }
.studio__layer-note { margin: 10px 24px 18px; min-height: 1.6em; color: var(--ink-3); font-size: .8125rem; line-height: 1.6; }
.hero__stage.is-fallback~.studio__tools, .hero__stage.is-fallback~.studio__layers { display: none; }
.precision-home .hero__model-copy { margin: 0 24px; padding: 22px 0; grid-template-columns: 1fr; gap: 20px; border-top: 1px solid var(--line); }
.precision-home .hero__model-copy h2 { font-size: clamp(22px,1.85vw,29px); letter-spacing: -.035em; }
.precision-home .hero__lead { font-family: var(--f-body); font-size: .875rem; text-transform: none; letter-spacing: .01em; margin-top: 6px; }
.precision-home .hero__specs { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px 18px; }
.precision-home .hero__specs dt { grid-row: 1; padding: 0; border: 0; font-size: .75rem; letter-spacing: .045em; }
.precision-home .hero__specs dd { grid-row: 2; font-size: .8125rem; line-height: 1.6; padding: 0; border: 0; }
.precision-home .hero__rail { padding: 12px; gap: 8px; }
.precision-home .rl { border-radius: 6px; padding: 13px 16px; min-height: 70px; }
.precision-home .rl-t { font-size: .9375rem; white-space: normal; }
.precision-home .rl-s { opacity: 1; max-height: none; font-size: .75rem; }
.precision-home .rl.on { background: #4b8dff1c; border-color: #5998ff66; }
.precision-home .rl-prog { display: none; }
.precision-home .hero__scroll { display: none; }
.precision-home .stats { max-width: calc(var(--max) - 2 * var(--gut)); margin: 0 auto; border-top: 1px solid var(--line); }
.precision-home .stat { padding: 28px 28px 30px; }
.precision-home .stat:first-child { padding-left: 0; }
.precision-home .stat__i { display: none; }
.precision-home .stat__n { font-size: clamp(32px,3.1vw,48px); font-weight: 400; }
.precision-home .stat__l { font-family: var(--f-body); font-size: .9375rem; letter-spacing: 0; text-transform: none; margin-top: 8px; }
.precision-home .sec { padding-block: clamp(70px,8vw,120px); }
.precision-home .sec>.gridbg { display: none; }
.precision-home .sh { margin-bottom: 36px; padding-bottom: 24px; }
.precision-home .sh h2 { font-size: clamp(28px,3.1vw,44px); font-weight: 500; line-height: 1.2; letter-spacing: -.04em; margin-top: 18px; }
.precision-home .sh-num { font-size: .875rem; letter-spacing: .075em; }
.precision-home .sh-meta { font-size: .8125rem; letter-spacing: .035em; }
.precision-home .split { gap: clamp(32px,5vw,80px); }
.precision-home .card { border-radius: 7px; }
.precision-home .card.brk::before,.precision-home .card.brk::after { display: none; }
.precision-home .card h3 { font-size: 1.125rem; letter-spacing: -.02em; }
.precision-home .card p,.precision-home .bullets li { font-size: 1rem; }
.precision-home .flagship-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.precision-home .result-card { padding: 0; overflow: hidden; background: var(--bg); }
.precision-home .result-card .ph { height: 330px; aspect-ratio: auto; border: 0; border-bottom: 1px solid var(--line); background: radial-gradient(ellipse,var(--bg-3),var(--bg-2)); }
.precision-home .result-card .ph img { width: 100%; height: 100%; object-fit: contain; padding: 32px; transition: transform .35s var(--e); }
.precision-home .result-card .ph:hover img { transform: scale(1.04); }
.precision-home .result-card__body { padding: 25px 28px 30px; }
.precision-home .result-card h3 { font-size: clamp(20px,1.8vw,26px); line-height: 1.4; margin-top: 14px; }
.precision-home .result-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.precision-home .result-card__meta .card__idx { color: var(--accent); font-size: .8125rem; letter-spacing: .065em; }
.precision-home .result-card__meta>span:last-child { color: var(--ink-3); font-size: .8125rem; }
.precision-home .results-link { display: inline-flex; gap: 22px; align-items: center; font-size: 1rem; color: var(--ink); padding-block: 18px; margin-top: 18px; border-bottom: 1px solid var(--line-2); }
.precision-home .results-link:hover { color: var(--accent); }
.ft { background: var(--bg-2); }
@media(min-width: 1041px) and (max-width: 1260px) { .nav__mark s { display: none; } .nav__links { gap: 17px; } }
@media(max-width: 1040px) { .nav__links { display: none; } .nav__burger { display: grid; } }
@media(max-width: 960px) {
  .precision-home .hero__layout { grid-template-columns: 1fr; gap: 38px; }
  .precision-home .hero__intro { max-width: 660px; }
  .precision-home .hero__intro h1 { font-size: clamp(72px,12vw,100px); }
  .precision-home .hero__stage { height: 460px; }
  .precision-home .hero { padding-top: calc(var(--nav-h) + 24px); }
  .precision-home .stats { margin-inline: var(--gut); }
}
@media(max-width: 600px) {
  :root { --nav-h: 72px; }
  .precision-home .hero__stage { height: 340px; }
  .precision-home .hero__visual-head,.precision-home .hero__model-copy { margin-inline: 16px; }
  .studio__tools { margin-inline: 16px; }
  .studio__layers { padding-inline: 16px; }
  .studio__layer-note { margin-inline: 16px; }
  .precision-home .hero__hint { display: none; }
  .precision-home .hero__specs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 16px; }
  .precision-home .hero__specs dt:nth-of-type(n+3) { grid-row: 3; margin-top: 10px; }
  .precision-home .hero__specs dd:nth-of-type(n+3) { grid-row: 4; }
  .precision-home .hero__rail { grid-template-columns: 1fr; }
  .precision-home .rl { min-height: 64px; }
  .precision-home .flagship-grid { grid-template-columns: 1fr; gap: 24px; }
  .precision-home .result-card .ph { height: 300px; }
  .precision-home .result-card__body { padding: 22px; }
  .precision-home .stat { padding: 24px 16px; }
  .precision-home .stat:nth-child(odd) { padding-left: 0; }
  .precision-home .sh { grid-template-columns: 1fr; gap: 14px; }
  .precision-home .sh-meta { text-align: left; white-space: normal; }
}
@media(prefers-reduced-motion: reduce) {
  .precision-home *, .precision-home *::before, .precision-home *::after { transition: none !important; animation: none !important; }
}
