/* Shared SIGLATECH studio system for all public pages.
   Keep palette, navigation, buttons, spacing, and footer in one place.
   Page-specific content stays in each page's own stylesheet. */

body.studio-page {
  --studio-bg: #040c18;
  --studio-panel: #0b192c;
  --studio-panel-bright: #102540;
  --studio-border: rgba(139, 180, 235, 0.18);
  --studio-blue: #277dff;
  --studio-light: #86bcff;
  --studio-cyan: #7bdfed;
  --ink: #f2f7ff;
  --ink-70: #b7c7db;
  --ink-50: #9db0c9;
  --surface: var(--studio-bg);
  --surface-alt: #081323;
  --line: var(--studio-border);
  --cyan-deep: var(--studio-light);
  --on-dark: #b7c7db;
  --on-dark-soft: #9db0c9;
  --nav-scroll-offset: 96px;
  --studio-section-space: clamp(56px, 5vw, 65px);
  color: var(--ink);
  background: var(--studio-bg);
  color-scheme: dark;
}
.studio-page .wrap { max-width: 1248px; padding-inline: 32px; }
.studio-page main > section { padding-block: var(--studio-section-space); }
.studio-page .sec-head h2 { margin-top: 14px; font-size: clamp(2rem, 3.5vw, 2.8rem); line-height: 1.08; letter-spacing: -0.035em; }
.studio-page .sec-head p { font-size: 1rem; max-width: 60ch; }
.studio-page .eyebrow { color: var(--studio-light); font-size: 0.72rem; letter-spacing: 0.16em; }
.studio-page .eyebrow::before { width: 18px; }
.studio-page :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--studio-cyan); outline-offset: 5px; }
.studio-page .skip-link { background: #e7f4ff; color: #051123; }
.studio-page .btn { min-height: 48px; border-radius: 12px; font-size: 0.9rem; }
.studio-page :is(.btn-primary, .nav-actions .btn-dark) {
  color: #fff;
  background: linear-gradient(135deg, #126cf3, #1b5bd5);
  border-color: rgba(145, 190, 255, 0.36);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.12), 0 8px 28px rgba(26, 101, 244, 0.18);
}
.studio-page :is(.btn-primary, .nav-actions .btn-dark):hover { background: #176aed; box-shadow: 0 8px 30px rgba(39, 125, 255, 0.3); }
.studio-page .btn-ghost { background: rgba(12, 28, 48, 0.75); border-color: rgba(139, 180, 235, 0.34); }
.studio-page .btn-ghost:hover { background: #122941; border-color: var(--studio-light); }
.studio-page .link-arrow { color: var(--studio-light); }
.studio-page .nav {
  padding-inline: 0;
  background: rgba(4, 12, 24, 0.93);
  border-bottom: 1px solid rgba(139, 180, 235, 0.13);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.studio-page .nav-inner { max-width: 1248px; height: 80px; padding-inline: 32px; gap: 22px; }
.studio-page .brand { gap: 11px; }
.studio-page .brand-mark { box-shadow: none; width: 44px; height: 44px; flex-basis: 44px; border-radius: 13px; }
.studio-page .brand-text .name { color: #f2f7ff; font-size: 21px; }
.studio-page .brand-text .sub { color: var(--studio-cyan); font-size: 9px; letter-spacing: 0.2em; }
.studio-page .nav-links { gap: 25px; }
.studio-page .nav-links a { color: #aebed2; font-size: 0.83rem; }
.studio-page .nav-links a:is(:hover, .is-active) { color: #fff; }
.studio-page .nav-links a::after { background: var(--studio-blue); }
.studio-page .nav-actions .btn { padding: 12px 20px; }
.studio-page .nav-toggle { background: #0c1b2d; border-color: var(--studio-border); color: #fff; width: 46px; height: 46px; }
.studio-page .nav-toggle-icon,
.studio-page .nav-toggle-icon::before,
.studio-page .nav-toggle-icon::after { background: #e5f0ff; }
.studio-page .nav-toggle[aria-expanded="true"] .nav-toggle-icon { background: transparent; }
.studio-page .home-footer { padding-top: 56px; border-top: 1px solid var(--studio-border); background: #030b16; }
.studio-page .home-footer::before,
.studio-page .home-footer::after { content: none; }
.studio-page .home-footer-grid { gap: 45px; margin-top: 0; }
.studio-page .home-footer-blurb { color: #a3b5cd; font-size: 0.88rem; }
.studio-page .home-footer-legal { font-size: 0.75rem; color: #8d9fb8; }
.studio-page .home-footer-legal strong { color: #a4b7d0; }
.studio-page .home-footer-location { color: #91aac7; font-size: 0.8rem; }
.studio-page .home-footer-column h3 { color: #d5e5fb; font-size: 0.75rem; }
.studio-page .home-footer-column a { min-height: 32px; color: #a3b8d2; font-size: 0.84rem; }
.studio-page .home-footer-column a:hover { color: #fff; }
.studio-page .home-footer-services { border-color: var(--studio-border); background: #081526; border-radius: 12px; }
.studio-page .home-footer-services a { color: #a8c3e3; font-size: 0.8rem; }
.studio-page .home-footer-bottom { border-color: var(--studio-border); color: #94a9c5; font-size: 0.75rem; }
.studio-page .home-footer-meta a { color: #b6cbe7; font-size: 0.75rem; }
@media (min-width: 1041px) {
.studio-page .nav-links { display: flex; }
}
@media (max-width: 1040px) {
.studio-page .nav-links { display: none; }
.studio-page .nav-links.open { display: grid; top: 80px; max-height: calc(100dvh - 80px); gap: 6px; padding: 20px 32px; border-color: var(--studio-border); background: #091628; box-shadow: 0 16px 24px rgba(0, 0, 0, 0.2); }
.studio-page .nav-links.open a { min-height: 48px; padding-inline: 12px; border-radius: 9px; font-size: 1rem; }
.studio-page .nav-links.open a:hover { background: #102a48; }
.studio-page .nav-links.open a::after { content: none; }
.studio-page .home-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
body.studio-page { --nav-scroll-offset: 82px; }
.studio-page .wrap { padding-inline: 22px; }
.studio-page .nav-inner { height: 70px; gap: 12px; padding-inline: 18px; }
.studio-page .brand { gap: 8px; }
.studio-page .brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
.studio-page .nav-inner .brand-text .name { font-size: 18px; }
.studio-page .nav-actions { gap: 9px; }
.studio-page .nav-actions .btn { min-height: 44px; padding: 10px 13px; font-size: 0.77rem; }
.studio-page .nav-toggle { width: 44px; height: 44px; flex-basis: 44px; }
.studio-page .nav-links.open { top: 70px; max-height: calc(100dvh - 70px); padding: 15px 18px max(20px, env(safe-area-inset-bottom)); }
.studio-page main > section { padding-block: 64px; }
.studio-page .home-footer { padding-block: 42px max(108px, calc(env(safe-area-inset-bottom, 0px) + 88px)); }
.studio-page .home-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.studio-page .home-footer-connect { grid-column: 1 / -1; }
.studio-page .home-footer-column a { min-height: 44px; }
.studio-page .home-footer-column ul { gap: 0; }
.studio-page .home-footer-grid { gap: 34px; }
.studio-page .home-footer-bottom { gap: 13px; font-size: 0.76rem; }
}
@media (max-width: 370px) {
.studio-page .nav-inner { padding-inline: 12px; gap: 7px; }
.studio-page .nav-inner .brand-text { display: block; }
.studio-page .nav-inner .brand-text .name { font-size: 16px; }
.studio-page .nav-actions { gap: 6px; }
.studio-page .nav-actions .btn { padding-inline: 10px; font-size: 0.72rem; }
.studio-page .wrap { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
.studio-page *, .studio-page *::before, .studio-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.studio-page .btn:hover { transform: none; }
}
