.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px}
body {
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.85;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased}
a {
  color:var(--brand);
  text-underline-offset:5px}
a:hover {
  text-decoration-thickness:2px}
button {
  font:inherit;
  cursor:pointer}
a,button,summary {
  -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:5px}
img {
  max-width:100%;
  height:auto;
  display:block}
figure {
  margin:0}
h1,h2,h3,p {
  margin:0}
h1,h2,h3 {
  line-height:1.5;
  font-feature-settings:"palt"}
h2 {
  font-size:clamp(1.8rem,3.1vw,2.55rem);
  font-weight:700;
  letter-spacing:.01em}
h3 {
  font-size:1.25rem}
p+p {
  margin-top:1em}
.container {
  width:min(var(--max-width),calc(100% - 64px));
  margin-inline:auto}
.section {
  padding-block:var(--section-space)}
.surface {
  background:var(--surface)}
.eyebrow {
  display:block;
  color:var(--brand);
  font-size:.875rem;
  font-weight:700;
  letter-spacing:.14em;
  margin-bottom:16px}
.section-intro {
  max-width:760px;
  margin-bottom:40px}
.section-intro p {
  margin-top:20px;
  color:var(--muted)}
.systems-intro-list {
  margin:20px 0 0;
  padding-left:1.5em;
  color:var(--muted)}
.systems-intro-list li+li {
  margin-top:8px}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:36px}
.section-heading p {
  max-width:440px;
  color:var(--muted)}
.small,.note {
  font-size:.875rem;
  line-height:1.8;
  color:var(--muted)}
.note {
  margin-top:18px}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:26px;
  min-height:52px;
  padding:12px 24px;
  border:1px solid var(--brand);
  border-radius:var(--radius);
  background:var(--brand);
  color:var(--paper);
  font-weight:600;
  text-decoration:none;
  transition:background .15s,transform .15s}
.button:hover {
  background:var(--brand-hover);
  transform:translateY(-2px)}
.button.secondary {
  background:var(--paper);
  color:var(--brand)}
.button.secondary:hover {
  background:var(--tint)}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px}
.text-link {
  display:inline-flex;
  gap:18px;
  align-items:center;
  font-weight:600}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  padding:12px 24px;
  background:var(--paper);
  z-index:100}
.skip-link:focus {
  top:12px}
.site-header {
  background:var(--brand);
  color:var(--paper);
  position:sticky;
  top:0;
  z-index:20}
.header-inner {
  max-width:1440px;
  margin:auto;
  min-height:88px;
  padding:14px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px}
.brand {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  color:inherit;
  text-decoration:none;
  line-height:1.4;
}
.brand-company {
  font-family:var(--font);
  font-size:1rem;
  font-weight:400;
  letter-spacing:normal;
}
.brand-product {
  font-size:.875rem;
  font-weight:500;
  margin-top:6px}
.main-nav {
  display:flex;
  align-items:center;
  gap:23px}
.main-nav a {
  color:inherit;
  font-size:.875rem;
  text-decoration:none;
  font-weight:500}
.main-nav a:hover {
  text-decoration:underline}
.main-nav .header-contact {
  padding:11px 18px;
  border:1px solid var(--paper);
  border-radius:var(--radius)}
.menu-toggle {
  background:none;
  border:1px solid var(--paper);
  color:var(--paper);
  padding:7px 10px;
  font-size:.875rem}
.menu-toggle[hidden] {
  display:none}
.hero {
  position:relative;
  background:var(--paper)}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  grid-template-areas:"copy visual" "summary visual";
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  min-height:calc(100svh - var(--site-header-height,88px));
  gap:clamp(20px,3svh,32px) 40px;
  padding-block:clamp(20px,3svh,32px)}
.hero-copy { grid-area:copy; min-width:0; }
.hero .eyebrow { margin-bottom:14px; letter-spacing:.1em; }
.hero h1 {
  font-size:clamp(2rem,3.25vw,3rem);
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.45}
.hero h1 span {
  color:var(--brand)}
.hero h1 br:last-of-type { display:none; }
.hero-description {
  font-size:1.0625rem;
  line-height:1.85;
  color:var(--muted);
  margin-top:20px;
  max-width:460px}
.hero-term { white-space:nowrap; }
.hero-visual {
  grid-area:visual;
  min-width:0;
  width:100%;
  max-width:min(420px,calc(70svh - 154px));
  justify-self:center}
.hero-gallery {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
  height:clamp(320px,calc(100svh - 220px),600px)}
.hero-photo {
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-radius:var(--radius)}
.hero-photo-portable { background:#e5e0d9; }
.hero-photo-compact { background:#092c48; }
.hero-photo img {
  width:100%;
  height:100%;
  object-fit:contain}
.hero-caption {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:2px 10px;
  font-size:.75rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:8px}
.hero-summary {
  grid-area:summary;
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:"specs" "note" "action";
  align-items:center;
  gap:12px 32px;
  border-top:1px solid var(--line);
  padding-top:18px}
.hero-specs {
  grid-area:specs;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:0}
.hero-specs>div+div { border-left:1px solid var(--line); padding-left:20px; }
.hero-specs dt { font-size:.8125rem; color:var(--muted); }
.hero-specs dd { margin:2px 0 0; }
.hero-specs strong {
  display:block;
  color:var(--brand);
  font-size:clamp(1.125rem,1.8vw,1.5rem);
  line-height:1.5;
  font-weight:700}
.hero-specs small { display:block; color:var(--muted); font-size:.75rem; line-height:1.5; }
.hero-action { grid-area:action; justify-self:start; }
.hero-note { grid-area:note; color:var(--muted); font-size:.75rem; line-height:1.6; }
.release-strip {
  background:var(--tint);
  border-block:1px solid var(--line)}
.release-inner {
  display:flex;
  align-items:center;
  gap:28px;
  padding-block:19px}
.release-label {
  color:var(--brand);
  font-weight:700;
  font-size:.875rem;
  letter-spacing:.08em;
  flex-shrink:0}
.release-items {
  display:flex;
  flex-wrap:wrap;
  gap:12px 30px}
.release-items a {
  font-weight:600;
  text-decoration:none}
.release-items a::after {
  content:" →";
  margin-left:12px}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px}
.feature-item {
  border-top:2px solid var(--brand);
  padding-top:22px}
.feature-index {
  font-size:.875rem;
  font-weight:700;
  color:var(--brand);
  margin-bottom:14px;
  display:block}
.feature-item p {
  margin-top:12px;
  color:var(--muted)}
.mode-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px}
.mode-card {
  border:1px solid var(--line);
  border-top:4px solid var(--brand);
  padding:32px;
  background:var(--paper);
  border-radius:var(--radius)}
.mode-card.memory {
  border-top-color:var(--accent)}
.mode-purpose {
  color:var(--brand);
  font-size:.875rem;
  font-weight:600}
.memory .mode-purpose {
  color:var(--accent)}
.mode-card h3 {
  font-size:1.6rem;
  margin:8px 0 16px}
.mode-card p {
  color:var(--muted)}
.duration {
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:24px 0 14px}
.duration strong {
  font-size:2.3rem;
  color:var(--brand);
  line-height:1.3}
.memory .duration strong {
  color:var(--accent)}
.duration span {
  font-size:.875rem;
  color:var(--muted)}
.signal-chart {
  display:block;
  width:100%;
  height:88px;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--brand)}
.memory .signal-chart {
  color:var(--accent)}
.chart-caption {
  display:flex;
  justify-content:space-between;
  font-size:.875rem;
  color:var(--muted);
  margin:8px 0 20px}
.mode-card ul {
  margin:0;
  padding-left:1.2em}
.mode-card li+li {
  margin-top:7px}
.site-footer {
  background:var(--brand);
  color:var(--paper);
  padding:52px 0 20px}
.site-footer a {
  color:inherit;
  text-decoration:none}
.site-footer a:hover {
  text-decoration:underline}
.footer-top {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:36px}
.footer-top p {
  font-size:.875rem;
  margin-top:22px}
.footer-nav,.footer-company {
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:.875rem}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid #ffffff55;
  margin-top:36px;
  padding-top:20px;
  font-size:.875rem}

@media(min-width:1181px) {
  .menu-toggle {
  display:none}
.main-nav[hidden] {
  display:flex}
}

@media(max-width:1180px) {
  .header-inner {
  flex-wrap:wrap;
  gap:16px;
  min-height:80px}
.main-nav {
  width:100%;
  flex-wrap:wrap;
  padding-bottom:10px}
.main-nav[hidden] {
  display:none}
.hero-grid {
  column-gap:24px;
  min-height:calc(100svh - var(--site-header-height,80px))}
.hero h1 {
  font-size:clamp(1.75rem,3.25vw,2.35rem)}
.hero-summary { column-gap:20px; }
.hero-specs { gap:12px; }
.hero-specs>div+div { padding-left:12px; }
.hero-specs strong { font-size:clamp(1rem,1.8vw,1.375rem); }
}

/* Portrait tablets keep the two photos stacked below the introduction. */
@media(min-width:768px) and (max-width:1000px) and (orientation:portrait) {
  .hero-grid {
    grid-template-columns:1fr;
    grid-template-areas:"copy" "visual" "summary";
    grid-template-rows:auto 1fr auto;
    padding-block:24px;
  }
  .hero h1 { font-size:2.5rem; }
  .hero h1 br:last-of-type { display:none; }
  .hero-description { max-width:none; margin-top:16px; }
  .hero-visual { width:100%; max-width:300px; margin:auto; }
  .hero-gallery { height:clamp(260px,35svh,360px); }
}

@media(max-width:767px) {
  html {
  scroll-padding-top:95px}
.container {
  width:calc(100% - 40px)}
.header-inner {
  padding:14px 20px}
.brand-company {
  font-size:1rem}
.brand-product {
  font-size:.8rem}
.main-nav {
  align-items:stretch;
  flex-direction:column;
  gap:0}
.main-nav a {
  padding:12px 0;
  border-top:1px solid #ffffff44}
.main-nav .header-contact {
  margin-top:10px;
  text-align:center}
.hero-grid {
  grid-template-columns:1fr;
  grid-template-areas:"copy" "visual" "summary";
  grid-template-rows:auto 1fr auto;
  padding-block:12px;
  gap:12px}
.hero .eyebrow { font-size:.75rem; margin-bottom:8px; }
.hero h1 {
  font-size:clamp(1.625rem,6.5vw,2rem);
  line-height:1.3}
.hero h1 br:last-of-type { display:initial; }
.hero-description {
  font-size:.9375rem;
  line-height:1.65;
  margin-top:12px;
  max-width:none}
.hero-visual {
  max-width:240px;
  width:100%;
  margin:auto}
.hero-gallery { height:clamp(180px,27svh,240px); gap:6px; }
.hero-caption { font-size:.6875rem; margin-top:6px; }
.hero-summary {
  grid-template-columns:1fr;
  grid-template-areas:"specs" "note" "action";
  padding-top:12px;
  gap:10px}
.hero-specs { gap:6px; }
.hero-specs>div+div { padding-left:6px; }
.hero-specs dt { font-size:.6875rem; line-height:1.5; }
.hero-specs strong { font-size:clamp(.875rem,3.6vw,1.25rem); line-height:1.6; }
.hero-specs small { font-size:.6875rem; }
.hero-note { font-size:.75rem; line-height:1.5; }
.hero-action { min-height:44px; padding:8px 18px; font-size:.9375rem; justify-self:stretch; }
.release-inner {
  display:block;
  padding-block:18px}
.release-items {
  margin-top:8px;
  gap:6px 20px;
  font-size:.875rem}
.section-heading {
  display:block}
.section-heading p {
  margin-top:16px}
.feature-grid,.mode-grid,.footer-top {
  grid-template-columns:1fr}
.feature-grid {
  gap:28px}
.mode-card {
  padding:24px}
.duration strong {
  font-size:2rem}
.footer-top {
  gap:28px}
.footer-nav {
  display:grid;
  grid-template-columns:1fr 1fr}
.footer-bottom {
  flex-wrap:wrap}
.actions .button {
  flex:1;
  white-space:nowrap;
  padding-inline:16px}
}

.system-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:48px;
  align-items:start}
.system-image img {
  width:100%;
  border-radius:var(--radius)}
figcaption {
  font-size:.875rem;
  color:var(--muted);
  line-height:1.7;
  margin-top:12px}
.system-row {
  border-top:1px solid var(--line);
  padding:22px 0}
.system-row:first-child {
  border-top:2px solid var(--brand)}
.system-row:last-child {
  padding-bottom:0}
.system-row-title>span {
  font-size:.875rem;
  color:var(--muted)}
.system-row h3 {
  color:var(--brand);
  margin:6px 0 10px}
.system-row p {
  font-size:.95rem;
  color:var(--muted)}
.new-label {
  display:inline-block;
  vertical-align:middle;
  font-size:.75rem;
  padding:2px 8px;
  background:var(--tint);
  border:1px solid var(--line);
  white-space:nowrap}
.consult-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  background:var(--surface);
  padding:28px 32px;
  margin-top:36px}
.consult-row p {
  margin-top:8px;
  font-size:.95rem;
  color:var(--muted)}
.consult-row .button {
  flex-shrink:0}
.delivery-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  padding:0;
  margin:0;
  list-style:none}
.delivery-steps li {
  border-left:1px solid var(--line);
  padding:4px 32px}
.delivery-steps li:first-child {
  border:0;
  padding-left:0}
.step-number {
  display:block;
  color:var(--brand);
  font-size:2.4rem;
  font-weight:500;
  line-height:1.3;
  margin-bottom:18px}
.delivery-steps p {
  margin-top:14px;
  color:var(--muted)}
.included {
  margin-top:36px;
  background:var(--paper);
  padding:24px;
  display:flex;
  gap:8px 24px;
  flex-wrap:wrap;
  font-size:.875rem;
  border:1px solid var(--line)}
.included strong {
  width:100%;
  margin-bottom:6px}
.included span::before {
  content:"✓";
  margin-right:8px;
  color:var(--brand)}
.software-layout {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:44px;
  align-items:start}
.software-image {
  padding:16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius)}
.software-image img {
  width:100%}
.software-points article+article {
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid var(--line)}
.software-points .feature-index {
  margin-bottom:8px}
.software-points p {
  margin-top:10px;
  color:var(--muted);
  font-size:.95rem}
.software-points .text-link {
  margin-top:12px;
  font-size:.875rem}
.remote-note {
  display:grid;
  grid-template-columns:250px 1fr;
  gap:32px;
  margin-top:36px;
  padding-top:26px;
  border-top:1px solid var(--line)}
.remote-note strong {
  color:var(--brand)}
.remote-note p {
  color:var(--muted);
  font-size:.95rem}
.sync-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:start}
.sync-lead {
  color:var(--muted);
  margin:24px 0}
.sync-detail {
  border:1px solid var(--line);
  border-left:4px solid var(--brand);
  padding:30px;
  background:var(--paper)}
.sync-detail h3 {
  color:var(--brand);
  font-size:1.4rem;
  margin-bottom:16px}
.sync-detail p {
  color:var(--muted)}
.sync-detail ul {
  padding-left:1.2em;
  font-size:.875rem;
  margin:20px 0 0}
.sync-detail li+li {
  margin-top:8px}
.case-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px}
.case-item {
  padding:26px 0;
  border-top:2px solid var(--brand);
  display:flex;
  flex-direction:column;
  align-items:start}
.case-category {
  font-size:.875rem;
  color:var(--brand);
  margin-bottom:16px;
  font-weight:600}
.case-item p {
  margin:20px 0 24px;
  color:var(--muted);
  font-size:.95rem}
.case-tag {
  margin-top:auto;
  background:var(--surface);
  padding:4px 10px;
  font-size:.8rem;
  color:var(--muted)}
.faq-layout {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:64px}
.faq-intro {
  margin:20px 0;
  color:var(--muted)}
.faq-list {
  border-top:2px solid var(--brand)}
details {
  border-bottom:1px solid var(--line)}
summary {
  font-weight:600;
  cursor:pointer;
  position:relative;
  padding:22px 35px 22px 30px;
  list-style:none;
  line-height:1.8}
summary::-webkit-details-marker {
  display:none}
summary::before {
  content:"Q";
  position:absolute;
  left:0;
  color:var(--brand)}
summary::after {
  content:"＋";
  position:absolute;
  right:0;
  color:var(--brand);
  font-size:1.15rem}
details[open] summary::after {
  content:"−"}
.faq-answer {
  padding:12px 30px 24px;
  color:var(--muted);
  font-size:.95rem}
.resources {
  padding-block:64px}
.resource-list {
  border-top:1px solid var(--line)}
.resource-list a {
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:24px;
  align-items:center;
  padding:23px 4px;
  border-bottom:1px solid var(--line);
  text-decoration:none}
.resource-list a:hover {
  background:var(--surface)}
.surface .resource-list a:hover {
  background:var(--paper)}
.resource-list a>span:first-child {
  font-size:.875rem;
  color:var(--muted)}
.resource-list strong {
  font-weight:500}
.contact-section {
  background:var(--paper);
  border-top:1px solid var(--line);
  padding-block:64px}
@media(max-width:1000px) {
  .system-layout {
  gap:32px}
.software-layout {
  grid-template-columns:1fr}
.software-points {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px}
.software-points article+article {
  margin:0;
  padding:0;
  border:0}
.sync-layout {
  gap:32px}
.faq-layout {
  gap:36px}
.consult-row {
  align-items:start;
  flex-direction:column;
  gap:20px}
}

@media(max-width:767px) {
  .system-layout,.delivery-steps,.software-points,.remote-note,.sync-layout,.case-grid,.faq-layout {
  grid-template-columns:1fr}
.system-layout {
  gap:28px}
.system-image {
  max-width:520px}
.consult-row {
  padding:24px}
.delivery-steps li,.delivery-steps li:first-child {
  border:0;
  border-top:1px solid var(--line);
  padding:24px 0}
.delivery-steps li:first-child {
  padding-top:0;
  border:0}
.step-number {
  font-size:2rem;
  margin-bottom:12px}
.included {
  margin-top:12px;
  padding:20px}
.software-image {
  padding:8px}
.software-points {
  gap:28px}
.software-points article+article {
  border-top:1px solid var(--line);
  padding-top:24px}
.remote-note {
  gap:12px}
.sync-layout {
  gap:28px}
.sync-detail {
  padding:24px}
.case-grid {
  gap:12px}
.faq-intro br {
  display:none}
.faq-layout {
  gap:28px}
.resource-list a {
  grid-template-columns:1fr auto;
  gap:6px 16px}
.resource-list a>span:first-child {
  grid-column:1/-1}
.contact-section {
  padding-block:48px}
summary {
  font-size:.95rem}
.faq-answer {
  padding-right:8px}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*::before,*::after {
  transition:none!important;
  animation:none!important}
}


/* Shared corporate mark and wordmark. Original SVG colours are preserved. */
.brand-logo { display:grid; place-items:center; width:56px; height:56px; padding:5px; flex-shrink:0; background:var(--paper); border-radius:var(--radius); }
.brand-logo img { width:100%; height:100%; object-fit:contain; }
.brand-text { display:flex; flex-direction:column; }
.header-brand a { color:inherit; text-decoration:none; }
.header-brand .brand-text a:hover { text-decoration:underline; }
.back-to-top { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); z-index:15; width:48px; height:48px; padding:0; border:1px solid var(--paper); border-radius:var(--radius); background:var(--brand); color:var(--paper); font-size:1.5rem; line-height:1; font-weight:600; box-shadow:0 2px 8px #0003; cursor:pointer; }
.back-to-top[hidden] { display:none; }
.back-to-top:hover { background:var(--brand-hover); }
.site-footer { padding-bottom:88px; }
.memory-benefit { font-weight:600; color:var(--accent)!important; margin-bottom:16px; }
.memory-caption { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:8px; text-align:center; }
.sounder-section { border-top:1px solid var(--line); }
.sounder-layout { display:grid; grid-template-columns:.92fr 1.08fr; align-items:start; gap:48px; }
.sounder-copy p { margin-top:20px; color:var(--muted); }
.sounder-copy .text-link { margin-top:24px; }
.sounder-diagram { background:var(--surface); border-radius:var(--radius); padding:28px 22px; }
.sounder-input { display:flex; align-items:center; gap:16px; color:var(--accent); }
.sounder-input span,.duplex-equipment small,.sounder-analysis span { display:block; font-size:.875rem; color:var(--muted); }
.sounder-input strong { display:block; color:var(--ink); }
.sounder-input-arrow { color:var(--accent); padding:4px 0 0 36px; }
.duplex-scene { display:grid; grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr); align-items:start; gap:12px; }
.duplex-equipment { text-align:center; min-width:0; }
.duplex-equipment strong { display:block; font-size:1.125rem; margin:8px 0 4px; }
.duplex-paths { display:flex; flex-direction:column; gap:14px; padding-top:20px; text-align:center; }
.duplex-paths span { display:block; font-size:.875rem; font-weight:600; }
.duplex-paths b { display:block; font-size:2rem; font-weight:400; line-height:1; }
.duplex-tx { color:var(--brand); }
.duplex-rx { color:var(--accent); }
.sounder-timing { color:var(--brand); font-size:.875rem; font-weight:600; text-align:center; border-block:1px solid var(--line); padding:12px 4px; margin-top:20px; }
.sounder-analysis { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:18px; }
.sounder-analysis .equipment-art { width:80px; height:60px; }
.analysis-storage { text-align:center; }
.sounder-analysis .analysis-arrow { color:var(--accent); font-size:1.5rem; }
.analysis-pc { display:flex; align-items:center; gap:10px; }
.analysis-pc strong { display:block; font-size:.95rem; }
.sounder-analysis-note,.sounder-diagram figcaption { margin-top:16px; color:var(--muted); font-size:.875rem; }
@media(max-width:767px) {
  .sounder-diagram { padding:24px 16px; }
  .duplex-scene { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); gap:4px; }
  .duplex-equipment .equipment-art { height:90px; }
  .duplex-equipment strong { font-size:1rem; }
  .duplex-paths { gap:12px; padding-top:2px; }
  .sounder-analysis { gap:10px; }
  .analysis-pc { flex-direction:column; gap:0; text-align:center; }
  .analysis-pc strong { font-size:.875rem; }
}
.sounder-modes { border-left:3px solid var(--brand); background:var(--tint); padding:24px 28px; margin-top:36px; }
.sounder-modes p { margin-top:8px; color:var(--muted); }
.sounder-modes a { display:inline-block; margin-top:12px; font-size:.875rem; font-weight:600; }
.contact-intro { max-width:800px; }
.contact-intro h2 { font-size:clamp(1.65rem,2.7vw,2.15rem); }
.contact-intro p { margin-top:20px; color:var(--muted); }
.contact-options { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
.contact-option { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:28px; display:flex; flex-direction:column; align-items:start; }
.contact-option .eyebrow { margin-bottom:12px; }
.contact-option p { color:var(--muted); margin:12px 0 24px; }
.contact-option .button { margin-top:auto; }
.contact-option>.small { margin-top:10px; }
.contact-other { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:32px; border-top:1px solid var(--line); padding-top:24px; }
.contact-other h3 { font-size:1.1rem; }
.contact-other p { color:var(--muted); font-size:.95rem; margin-top:8px; }
.contact-other>a { flex-shrink:0; }
@media(max-width:1000px) {
  .sounder-layout { grid-template-columns:1fr; gap:28px; }
  .sounder-copy { max-width:760px; }
  .contact-other { align-items:start; flex-direction:column; }
}
@media(max-width:767px) {
  .brand { gap:10px; }
  .brand-logo { width:44px; height:44px; padding:4px; }
  .menu-toggle { padding:7px 8px; }
  .sounder-diagram { padding:24px 20px; }
  .sounder-modes { padding:22px; }
  .contact-options { grid-template-columns:1fr; }
  .contact-option { padding:24px; }
  .contact-option .button { width:100%; padding-inline:16px; gap:12px; }
  .contact-intro p br { display:none; }
}

/* X420 introduction beside its announcement link. */
.release-inner { align-items:flex-start; }
.release-x420 { min-width:0; max-width:100%; }
.release-x420 .release-x420-specs {
  margin-top:6px;
  font-size:.875rem;
  font-weight:600;
  color:var(--brand);
}
.release-x420 .release-x420-specs a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.release-x420 .release-x420-specs a::after { content:none; }
.release-x420 .release-x420-uses {
  margin-top:2px;
  font-size:.875rem;
  font-weight:400;
  color:var(--muted);
}

/* Shared pictograms: RF instruments, PC and cylindrical storage. */
.equipment-art { display:block; width:160px; height:120px; max-width:100%; object-fit:contain; margin-inline:auto; }
.flow-card { background:var(--paper); border-radius:var(--radius); padding:26px 28px 28px; margin:0; }
.flow-card + .flow-card { margin-top:20px; }
.flow-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 20px; margin:0 0 28px; color:var(--muted); font-size:1rem; }
.flow-heading strong { color:var(--brand); font-size:1.25rem; }
.flow-chain { display:grid; align-items:start; gap:12px; }
.capture-chain { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) 64px minmax(0,2.25fr); }
.playback-chain { grid-template-columns:minmax(0,2.25fr) 64px minmax(0,1fr) 64px minmax(0,1fr); }
.flow-node { min-width:0; text-align:center; }
.equipment-label strong { display:block; color:var(--ink); font-size:1.125rem; margin:8px 0 4px; }
.equipment-label small { display:block; color:var(--muted); font-size:.875rem; line-height:1.6; }
.flow-link { text-align:center; line-height:1.4; padding-top:37px; }
.flow-link span { display:block; font-size:.875rem; font-weight:600; white-space:nowrap; }
.flow-link b { display:block; font-size:2rem; font-weight:400; line-height:1.2; }
.flow-rf { color:var(--brand); }
.flow-iq { color:var(--accent); }
.flow-pc-group { min-width:0; }
.flow-pc-path { display:grid; grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr); align-items:start; gap:8px; }
.flow-group-label { display:block; margin-top:16px; padding-top:10px; border-top:1px dashed var(--line); color:var(--muted); font-size:.875rem; text-align:center; }
.flow-group-label small { display:inline-block; margin-left:8px; font-size:inherit; }
.flow-memory-note { margin-top:28px; padding-left:20px; border-left:3px solid var(--accent); }
.flow-memory-note p { margin-top:8px; color:var(--muted); }
.flow-memory-note a { margin-top:12px; font-size:.875rem; }
@media(max-width:1000px) and (min-width:768px) {
  .flow-card { padding:24px 18px; }
  .flow-chain { gap:6px; }
  .capture-chain { grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) 58px minmax(0,2.4fr); }
  .playback-chain { grid-template-columns:minmax(0,2.4fr) 58px minmax(0,1fr) 58px minmax(0,1fr); }
  .flow-pc-path { gap:4px; }
}
@media(max-width:767px) {
  .flow-card { padding:22px 16px; }
  .flow-heading { gap:4px 12px; margin-bottom:20px; }
  .flow-heading span { font-size:.875rem; }
  .flow-chain { grid-template-columns:1fr; gap:10px; max-width:420px; margin-inline:auto; }
  .flow-chain > .flow-node { display:flex; align-items:center; gap:16px; justify-self:center; width:260px; max-width:100%; text-align:left; }
  .flow-chain > .flow-node .equipment-art { width:108px; height:90px; flex-shrink:0; margin:0; }
  .flow-chain > .flow-link { display:flex; flex-direction:row-reverse; align-items:center; justify-content:center; gap:10px; padding:0; }
  .flow-chain > .flow-link b { transform:rotate(90deg); }
  .flow-pc-path { gap:4px; }
  .flow-pc-path .equipment-art { height:90px; }
  .flow-pc-path .flow-link { padding-top:22px; }
  .flow-group-label small { display:block; margin:0; }
  .flow-memory-note { padding-left:16px; }
}

/* Shared layouts for model comparison and detail pages. */
.main-nav a[aria-current] { text-decoration:underline; text-underline-offset:7px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px 12px; padding:24px 0; font-size:.875rem; color:var(--muted); }
.listing-hero,.model-hero { padding:28px 0 64px; }
.listing-hero h1,.model-hero h1 { font-size:clamp(2.1rem,4.1vw,3.5rem); line-height:1.4; }
.listing-hero p { max-width:760px; color:var(--muted); margin-top:24px; }
.model-hero-grid { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:64px; }
.model-hero h1 span { display:block; font-size:clamp(1.5rem,2.3vw,2.1rem); margin-top:14px; }
.model-lead { margin-top:24px; color:var(--muted); }
.model-overview { background:var(--surface); padding:28px; }
.model-overview>img { width:200px; height:150px; margin:auto; }
.model-highlights { margin:24px 0; }
.model-highlights>div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:10px 0; }
.model-highlights dt { font-size:.875rem; color:var(--muted); }
.model-highlights dd { margin:0; font-weight:600; text-align:right; }
.model-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.model-card { background:var(--paper); border-top:3px solid var(--brand); padding:32px; display:flex; flex-direction:column; align-items:start; }
.model-card h2 { font-size:2rem; }
.model-card>p { color:var(--muted); margin-top:16px; }
.model-card .model-highlights { width:100%; }
.model-card .button { margin-top:24px; }
.table-scroll { overflow:auto; max-width:100%; border:1px solid var(--line); border-radius:var(--radius); }
.table-scroll:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.spec-table { width:100%; border-collapse:collapse; min-width:600px; background:var(--paper); font-size:.95rem; }
.spec-table caption { padding:16px 20px; text-align:left; font-weight:600; }
.spec-table th,.spec-table td { padding:18px 20px; border-top:1px solid var(--line); text-align:left; vertical-align:top; }
.spec-table thead th { background:var(--tint); color:var(--brand); }
.spec-table tbody th { width:24%; font-weight:500; }
.spec-table td { color:var(--muted); }
.other-model-grid,.model-mode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.other-model-grid article { border-top:2px solid var(--line); padding-top:24px; }
.other-model-grid p { margin-top:14px; color:var(--muted); }
.model-mode { background:var(--paper); padding:26px; border-top:3px solid var(--brand); }
.model-mode h3 { font-size:1.1rem; }
.model-mode>strong { display:block; color:var(--brand); margin-top:18px; }
.model-mode p { margin-top:12px; color:var(--muted); }
.model-mode-grid~.text-link { margin-top:24px; }
.configuration-picture { background:var(--paper); padding:32px; }
.configuration-path { display:grid; grid-template-columns:1fr 130px 1fr 100px 1fr; gap:16px; text-align:center; }
.configuration-path strong,.configuration-path span { display:block; }
.configuration-path strong { margin-top:12px; }
.configuration-path span { font-size:.875rem; color:var(--muted); }
.configuration-arrow { padding-top:38px; }
.configuration-arrow b { color:var(--accent); font-size:2rem; font-weight:400; }
.configuration-picture figcaption { margin-top:28px; }
.detail-split { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:56px; }
.detail-split p { margin-top:20px; color:var(--muted); }
.detail-split .text-link { margin-top:24px; }
.detail-panel { border:1px solid var(--line); background:var(--paper); padding:30px; }
.detail-panel ul { margin-bottom:0; padding-left:22px; color:var(--muted); }
.detail-panel li+li { margin-top:12px; }
.detail-list { margin-bottom:0; }
.detail-list>div { padding:14px 0; border-top:1px solid var(--line); }
.detail-list dt { font-weight:600; }
.detail-list dd { margin:6px 0 0; color:var(--muted); }
.model-contact { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:40px; }
.model-contact h2 { font-size:clamp(1.6rem,2.8vw,2.2rem); }
.model-contact p { margin-top:18px; color:var(--muted); }
.model-contact-actions { display:flex; flex-direction:column; align-items:start; gap:20px; }
.source-section { padding-block:40px; }
.source-section h2 { font-size:1.25rem; }
.source-section ul { font-size:.875rem; padding-left:22px; }
@media(max-width:1000px) {
 .model-hero-grid { gap:28px; }
 .model-card { padding:24px; }
 .other-model-grid,.model-mode-grid { gap:18px; }
 .model-mode { padding:20px; }
 .detail-split { gap:28px; }
 .configuration-path { grid-template-columns:1fr 110px 1fr 70px 1fr; gap:8px; }
 .model-contact { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:767px) {
 .listing-hero,.model-hero { padding:18px 0 44px; }
 .model-hero-grid,.model-card-grid,.other-model-grid,.model-mode-grid,.detail-split { grid-template-columns:1fr; }
 .model-overview { padding:24px; }
 .model-highlights>div { gap:10px; }
 .model-highlights dd { font-size:.95rem; }
 .model-card .button { width:100%; }
 .configuration-picture { padding:24px 18px; }
 .configuration-path { grid-template-columns:1fr; gap:8px; }
 .configuration-path .equipment-art { height:90px; }
 .configuration-arrow { padding:0; }
 .configuration-arrow b { display:block; transform:rotate(90deg); line-height:1.1; }
 .configuration-path strong { margin-top:0; }
 .detail-panel { padding:24px; }
 .model-contact-actions .button { width:100%; font-size:.95rem; padding-inline:16px; }
}

/* Small-screen table guidance. */
@media(max-width:767px) {
 .table-scroll::before { content:"表は横にスクロールできます →"; display:block; padding:12px 16px; font-size:.875rem; color:var(--brand); background:var(--tint); }
}

/* Shared footer: explicit routes to the site's main explanation pages. */
.rf-faq-guidance {margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.rf-faq-guidance-title {font-weight:700;margin:0 0 12px}
.rf-faq-guidance ul {display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;margin:0;padding:0}
.rf-faq-guidance li {min-width:0;max-width:100%}
.rf-faq-guidance a {overflow-wrap:anywhere}
@media(max-width:640px){.rf-faq-guidance ul {flex-direction:column;gap:12px}}
.site-footer .footer-top {grid-template-columns:minmax(0,1fr);gap:32px}
.footer-sitemap {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;min-width:0}
.footer-link-group {min-width:0}
.footer-link-group h2 {font-size:1rem;line-height:1.6;font-weight:700;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgb(255 255 255 / 35%)}
.footer-link-group ul {list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.875rem}
.footer-link-group a {display:inline-block;overflow-wrap:anywhere;line-height:1.8}
.footer-link-group a[aria-current="page"] {text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.footer-sitemap {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}}
@media(max-width:600px){.footer-sitemap {grid-template-columns:minmax(0,1fr);gap:28px}}
