/* SRNA responsive, reduced-motion, forced-color and print adaptations. */

@media (max-width: 1180px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .nav-shell { gap: 16px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) minmax(390px,.8fr); gap: 40px; }
  .phone-frame { transform: scale(.92) rotateY(-4deg); }
  .preview-float-top { right: 0; }
  .preview-float-bottom { left: 0; }
  .footer-grid { grid-template-columns: 1.2fr repeat(3,.8fr); gap: 38px; }
}

@media (max-width: 1023px) {
  :root { --header-height: 72px; }
  .shell { width: min(var(--shell), calc(100% - 40px)); }
  .desktop-only { display: none !important; }
  .search-trigger { padding-inline: 8px; }
  .hero { min-height: auto; }
  .hero-grid, .subhero-grid, .vision-hero, .contact-hero { grid-template-columns: 1fr; }
  .hero-copy, .subhero-copy { max-width: 820px; }
  .hero-visual { min-height: 670px; }
  .hero::before { mask-image: linear-gradient(#000,transparent 82%); }
  .product-orbit, .ecosystem-map { margin-top: 18px; }
  .mode-grid { grid-template-columns: repeat(2,1fr); }
  .mode-card:nth-child(2) { border-right: 0; }
  .mode-card:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .problem-grid { gap: 12px; }
  .problem-card { padding: 25px; }
  .layer-flow { grid-template-columns: repeat(2,1fr); row-gap: 62px; }
  .layer-route { display: none; }
  .preview-layout { grid-template-columns: 1fr; }
  .preview-copy { max-width: 720px; }
  .preview-visual { min-height: 670px; }
  .pillar-grid, .responsibility-grid { grid-template-columns: repeat(2,1fr); }
  .trust-layout, .model-layout, .faq-layout, .brief-layout { grid-template-columns: 1fr; }
  .trust-layout .section-heading, .model-layout .section-heading, .faq-layout .section-heading { position: static; }
  .trust-card { grid-template-columns: 42px minmax(180px,.6fr) 1fr; }
  .cta-card { grid-template-columns: 1fr; align-items: start; }
  .cta-card .button-row { justify-content: flex-start; }
  .journey-grid { grid-template-columns: repeat(2,1fr); }
  .journey-card:first-child { border-radius: var(--radius) 0 0 0; }
  .journey-card:nth-child(2) { border-right: 1px solid var(--border); border-radius: 0 var(--radius) 0 0; }
  .journey-card:nth-child(3) { border-top: 0; border-radius: 0 0 0 var(--radius); }
  .journey-card:last-child { border-top: 0; border-radius: 0 0 var(--radius) 0; }
  .journey-card:nth-child(2) > .icon { display: none; }
  .device-layout { grid-template-columns: 1fr; }
  .device-layout .section-heading { max-width: 700px; }
  .audience-grid { grid-template-columns: repeat(2,1fr); }
  .audience-card, .audience-card:nth-child(4) { grid-column: auto; }
  .audience-card:last-child { grid-column: 1 / -1; }
  .guardrails-card { grid-template-columns: 1fr; }
  .contact-signal { grid-template-columns: repeat(3,1fr); }
  .contact-signal > div { grid-template-columns: 36px 1fr; }
  .contact-signal > div > span + strong { grid-column: 2; }
  .channel-grid { grid-template-columns: 1fr; }
  .channel-card { min-height: 245px; }
  .channel-card h3 { margin-top: 28px; }
  .response-card { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .footer-brand { grid-column: 1 / -1; max-width: 420px; }
  .footer-bottom { grid-template-columns: 1fr; }
  .safety-note { justify-self: start; }
}

@media (max-width: 767px) {
  :root { --radius-lg: 24px; }
  .shell { width: min(var(--shell), calc(100% - 30px)); }
  .nav-cta { display: none; }
  .brand-type small { display: none; }
  .brand-type strong { font-size: 1.02rem; }
  .site-header .brand-mark { width: 36px; height: 36px; }
  h1 { font-size: clamp(2.75rem,14vw,4.4rem); }
  h2 { font-size: clamp(2.15rem,10vw,3.35rem); }
  .section-first { padding-top: calc(var(--header-height) + 52px); }
  .section, .section-soft { padding-block: 80px; }
  .section-dark { padding-block: 88px; }
  .heading-split { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  .heading-centered { text-align: left; margin-bottom: 46px; }
  .heading-centered > p { margin-inline: 0; }
  .button-row { align-items: stretch; }
  .button-row .button { flex: 1 1 100%; }
  .hero { padding-bottom: 70px; }
  .hero-lead { margin-top: 22px; font-size: 1.03rem; }
  .trust-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .hero-visual { min-height: 590px; margin-inline: -15px; }
  .concept-label { top: 1%; right: 16px; }
  .product-preview { min-height: 580px; transform: scale(.88); transform-origin: center; }
  .phone-frame { transform: none; }
  .product-preview:hover .phone-frame { transform: translateY(-3px); }
  .preview-float { min-width: 135px; padding: 9px 11px; }
  .preview-float-top { right: 1%; }
  .preview-float-bottom { left: 1%; }
  .mode-grid, .problem-grid, .pillar-grid, .responsibility-grid, .device-grid, .pilot-grid, .audience-grid { grid-template-columns: 1fr; }
  .mode-card { min-height: 175px; border-right: 0; border-bottom: 1px solid var(--border); }
  .mode-card:last-child { border-bottom: 0; }
  .problem-card { min-height: 260px; }
  .signal-line { width: 94%; }
  .layer-flow { grid-template-columns: 1fr; row-gap: 44px; }
  .layer-step { display: grid; grid-template-columns: 70px 1fr; column-gap: 20px; }
  .layer-node { grid-row: span 3; width: 66px; height: 66px; margin: 0; }
  .layer-step small, .layer-step h3, .layer-step p { grid-column: 2; }
  .layer-step p { margin-top: 9px; }
  .preview-visual { min-height: 585px; margin-inline: -15px; }
  .pillar-card { min-height: 255px; }
  .city-card { min-height: 660px; align-items: flex-end; }
  .city-card > img { object-position: 64% center; }
  .city-overlay { background: linear-gradient(0deg,rgba(6,19,31,.96) 0,rgba(6,19,31,.7) 48%,rgba(6,19,31,.16) 100%); }
  .city-copy { width: 100%; padding: 30px 24px 78px; }
  .city-legend { left: 20px; right: auto; bottom: 20px; }
  .trust-card { grid-template-columns: 34px 1fr; gap: 12px; }
  .trust-card p { grid-column: 2; }
  .cta-card { min-height: 430px; padding: 30px 24px; }
  .cta-card .button-row { width: 100%; }
  .subhero { min-height: auto; padding-bottom: 80px; }
  .product-orbit { width: 430px; margin-left: 50%; transform: translateX(-50%) scale(.84); }
  .orbit-item { min-width: 96px; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-card, .journey-card:first-child, .journey-card:nth-child(2), .journey-card:nth-child(3), .journey-card:last-child { min-height: 220px; border: 1px solid var(--border); border-bottom: 0; border-radius: 0; }
  .journey-card:first-child { border-radius: var(--radius) var(--radius) 0 0; }
  .journey-card:last-child { border-bottom: 1px solid var(--border); border-radius: 0 0 var(--radius) var(--radius); }
  .journey-card > .icon { display: none; }
  .journey-card h3 { margin-top: 44px; }
  .capability-row { grid-template-columns: 52px 1fr; gap: 16px; padding-block: 24px; }
  .capability-row > p { grid-column: 2; }
  .row-index { position: absolute; top: 26px; right: 4px; }
  .capability-row .feature-icon { width: 46px; height: 46px; }
  .device-card, .audience-card, .pilot-card { min-height: 255px; }
  .audience-card:last-child { grid-column: auto; }
  .principle-mark { width: 120px; height: 120px; margin: 36px auto 10px; }
  .principle-mark .icon { width: 50px; }
  .ecosystem-map { width: 500px; margin-left: 50%; transform: translateX(-50%) scale(.72); }
  .eco-node { width: 100px; }
  .guardrails-card { padding: 28px 22px; }
  .vision-signal { min-height: 410px; transform: scale(.82); }
  .roadmap-list::before { left: 28px; }
  .roadmap-item { grid-template-columns: 58px 1fr; gap: 18px; }
  .roadmap-marker { width: 58px; }
  .roadmap-marker > span { width: 48px; height: 48px; }
  .roadmap-content { padding-top: 0; }
  .faq-item summary { grid-template-columns: 28px 1fr auto; gap: 10px; min-height: 86px; }
  .faq-item > div { padding-left: 38px; }
  .contact-signal { grid-template-columns: 1fr; }
  .contact-signal > div { grid-template-columns: 40px 1fr auto; }
  .contact-signal > div > span + strong { grid-column: auto; }
  .channel-card { min-height: 260px; }
  .form-row { grid-template-columns: 1fr; }
  .brief-form { padding: 22px; }
  .brief-form .button { width: 100%; }
  .response-card { padding: 28px 22px; }
  .legal-header { padding-bottom: 56px; }
  .legal-layout { grid-template-columns: 1fr; gap: 48px; padding-bottom: 90px; }
  .legal-nav { position: static; }
  .legal-nav nav { grid-template-columns: repeat(2,1fr); column-gap: 12px; }
  .legal-content section { padding: 0 0 44px 42px; margin-bottom: 40px; }
  .not-found-grid { grid-template-columns: 1fr; }
  .lost-route { max-width: 500px; }
  .footer-grid { grid-template-columns: repeat(2,1fr); gap: 38px 24px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-contact { margin-top: 8px; }
  .back-to-top { right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); }
}

@media (max-width: 420px) {
  .nav-actions { gap: 2px; }
  .brand { gap: 7px; }
  .product-preview { transform: scale(.8); margin-block: -35px; }
  .hero-visual, .preview-visual { min-height: 535px; }
  .preview-float-top { right: -2%; }
  .preview-float-bottom { left: -2%; }
  .city-legend { flex-direction: column; border-radius: 14px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-contact { grid-column: auto; }
  .legal-nav nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  [data-js="true"] .hero-type-static { display: inline; }
  [data-js="true"] .hero-typewriter { display: none; }
  .route-draw { stroke-dashoffset: 0; }
}

@media (forced-colors: active) {
  .button, .icon-button, .mode-card, .pillar-card, .phone-frame, .cta-card { forced-color-adjust: auto; }
  .eyebrow > i, .status-pill span, .signal-line i { border: 1px solid CanvasText; }
}

@media print {
  :root, html[data-theme="dark"] { --bg:#fff; --surface:#fff; --ink:#000; --muted:#333; --border:#bbb; color-scheme: light; }
  .site-header, .site-footer, .search-dialog, .back-to-top, .button-row, .hero-visual, .preview-visual, .product-orbit, .ecosystem-map, .vision-signal { display: none !important; }
  body { background:#fff; color:#000; font-size: 11pt; }
  .section, .section-soft, .section-dark, .section-first { padding: 24pt 0; background:#fff; color:#000; }
  .section-dark h2, .section-dark h3, .section-dark p { color:#000; }
  .shell { width:100%; }
  a[href^="http"]::after { content:" (" attr(href) ")"; font-size:8pt; }
  .reveal { opacity:1 !important; transform:none !important; }
}
