/* Enhancements layered on Claude's original design. Original layouts and scoped styles are retained. */
:root {
  --slate-on-dark: #acb6bf;
  --r-control: 7px;
  --r-panel: 12px;
}
html {
  scrollbar-gutter: stable;
}
body {
  overflow-wrap: break-word;
}
button,
input,
output,
.num {
  font-variant-numeric: tabular-nums;
}
a,
button {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
button:focus-visible {
  outline-width: 3px;
  outline-offset: 5px;
}
.btn:active {
  transform: translateY(1px);
}
.site-header {
  background: #0b0f12f5 !important;
}
.nav a[aria-current="page"] {
  color: var(--lime) !important;
}
.brand-kicker {
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: var(--lime);
  display: flex;
  align-items: center;
  gap: 10px;
}
.brand-kicker:before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--lime);
  border-radius: 50%;
}
.hero-copy h1 {
  font-size: clamp(3rem, 4.85vw, 4.85rem);
  line-height: 1.07;
  letter-spacing: -0.035em;
  text-wrap: initial;
}
.hero-copy .lede {
  font-size: clamp(1rem, 1.3vw, 1.17rem);
  max-width: 42ch;
}
.hero-note {
  max-width: 42ch;
}
.hero-grid[data-astro-cid-lcdefpme] {
  gap: clamp(2rem, 4vw, 4.5rem) !important;
}
.hero-stage .device {
  box-shadow: 0 18px 40px #0005;
}
.hero-stage .playlist {
  margin-top: 1.6rem;
}
.hero-stage .caption {
  max-width: 65ch;
  font-size: 0.78rem;
  line-height: 1.65;
}
.prompt-text:after {
  animation-iteration-count: 6 !important;
}
.price-fig {
  letter-spacing: -0.035em !important;
}
.price-copy {
  max-width: 48ch !important;
}
.context-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: end;
  margin-bottom: 2.5rem;
}
.context-heading .lede {
  font-size: 1rem;
  max-width: 42ch;
}
.context-images {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 1.5rem;
}
.context-images .editorial-photo picture {
  height: 390px;
}
.context-images .editorial-photo:last-child picture {
  height: 390px;
}
.editorial-photo {
  margin: 0;
  min-width: 0;
}
.editorial-photo picture {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  background: #1b242b;
}
.editorial-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.editorial-photo figcaption {
  font-size: 0.72rem;
  color: var(--slate-on-dark);
  line-height: 1.6;
  margin-top: 0.7rem;
}
.on-light .editorial-photo figcaption {
  color: var(--slate-on-light);
}
.editorial-photo.wide img {
  aspect-ratio: 21/9;
}
.editorial-photo.portrait img {
  aspect-ratio: 4/5;
  object-position: 58% center;
}
.service-photo {
  padding-top: 3rem;
}
.service-photo img {
  aspect-ratio: 21/8;
  object-position: center 53%;
}
.inquiry-review {
  background: white;
  color: var(--obsidian);
  padding: 2rem;
  margin-top: 2rem;
  border: 1px solid #bac4cd;
  border-radius: 12px;
  max-width: 40rem;
}
.inquiry-review h2 {
  font-size: 1.7rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}
.inquiry-review > p {
  font-size: 0.9rem;
  color: #4a5460;
}
.inquiry-review dl {
  margin-block: 1.5rem;
  font-size: 0.94rem;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 0.8rem 1.2rem;
}
.inquiry-review dt {
  font-weight: 600;
}
.inquiry-review dd {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.preview-note {
  padding: 1rem;
  background: #e4e9ed;
  color: #34434e;
  font-size: 0.88rem;
  line-height: 1.65;
  border-radius: 8px;
}
.status {
  border-left-width: 1px !important;
  border: 1px solid #b9c5cf;
}
.status.bad {
  background: #fff3f2;
}
.status.ok {
  background: #edf8ef;
}
.s-status a {
  color: var(--lime);
}
@media (min-width: 1000px) {
  .hero-grid[data-astro-cid-lcdefpme] {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) !important;
  }
  .hero-stage {
    margin-right: 0 !important;
  }
  .hero-stage .playlist,
  .hero-stage .caption {
    margin-right: 0 !important;
  }
  .hero[data-astro-cid-lcdefpme] {
    padding-block: 4.5rem 5.25rem !important;
  }
}
@media (min-width: 961px) and (max-width: 1230px) {
  .nav ul {
    gap: 1rem !important;
  }
  .nav ul a {
    font-size: 0.81rem !important;
  }
  .nav {
    gap: 1rem !important;
  }
  .logo-md {
    font-size: 1.02rem !important;
  }
}
@media (max-width: 960px) {
  .hero-copy h1 {
    font-size: clamp(3rem, 8vw, 5.4rem);
  }
  .hero-copy .lede {
    max-width: 55ch;
  }
  .context-heading {
    gap: 2rem;
  }
  .context-images .editorial-photo picture,
  .context-images .editorial-photo:last-child picture {
    height: 300px;
  }
  .service-photo img {
    aspect-ratio: 16/8;
  }
  .nav .nav-cta {
    width: 100%;
  }
  .hero[data-astro-cid-cqc6wrwx] h1 {
    font-size: clamp(2.9rem, 9vw, 5.5rem) !important;
    line-height: 1.02 !important;
  }
}
@media (max-width: 640px) {
  .hero-copy h1 {
    font-size: clamp(2.55rem, 9.7vw, 3.7rem);
  }
  .brand-kicker {
    font-size: 0.7rem;
  }
  .hero-copy .lede {
    font-size: 1rem;
  }
  .hero-stage .caption {
    font-size: 0.75rem;
  }
  .hero-stage .device {
    box-shadow: none;
  }
  .context-heading {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
  .context-images {
    grid-template-columns: 1fr;
    gap: 1.7rem;
  }
  .context-images .editorial-photo picture,
  .context-images .editorial-photo:last-child picture {
    height: 270px;
  }
  .context-images .editorial-photo:last-child picture {
    height: 330px;
  }
  .service-photo {
    padding-top: 2rem;
  }
  .service-photo img {
    aspect-ratio: 4/3;
  }
  .editorial-photo.wide img {
    aspect-ratio: 4/3;
  }
  .inquiry-review {
    padding: 1.4rem;
  }
  .inquiry-review dl {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .inquiry-review dd {
    margin-bottom: 0.75rem;
  }
  .inquiry-review h2 {
    font-size: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .prompt-text:after {
    animation: none !important;
  }
  .scene,
  .device {
    transition: none !important;
  }
  html {
    scroll-behavior: auto;
  }
}
.plate[data-astro-cid-m6oy7riv] {
  background: #1b1815 url("/media/menu-burger-640.webp") center/cover no-repeat;
  box-shadow: 0 1cqw 2cqw #0004;
}
.plate-in[data-astro-cid-m6oy7riv] {
  display: none;
}
/* Preserve the internal-page display style while keeping the installation headline in two balanced lines. */
@media(min-width:960px){.hero[data-astro-cid-d556p27b] h1{font-size:clamp(3.5rem,4.8vw,5.5rem)!important;line-height:1.05}.hero[data-astro-cid-cqc6wrwx] h1{font-size:min(6rem,7.2vw)!important;line-height:1.02}}
.demo-caption{font-size:.75rem;color:var(--muted);margin-top:.8rem;line-height:1.6}
