.mast .desktop-nav a {
  padding-block: 12px;
  text-decoration-thickness: 1px;
}
.mobile-toggle[aria-expanded="false"] svg:last-child,
.mobile-toggle[aria-expanded="true"] svg:first-child { display: none; }
.theme-panel { width: 180px; padding: 6px; }
.theme-panel button { min-height: 44px; }
.theme-panel button[aria-pressed="true"]::after {
  content: "";
  margin-inline: auto 4px;
  width: 6px;
  height: 11px;
  border: solid currentColor;
  border-width: 0 1.6px 1.6px 0;
  transform: translateY(-2px) rotate(45deg);
}
.home-block, .home-planning {
  --section-gap: clamp(60px, 7.2vw, 164px);
  margin-block: var(--section-gap);
}
.studio-work.home-block { padding-block: 0; }
.home-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px 32px;
  margin-bottom: clamp(22px, 2.8vw, 60px);
}
.home-head h2, .home-prices h2, .home-faq h2 {
  margin: 0;
  font-size: clamp(34px, 3.95vw, 91px);
  font-weight: var(--display-weight);
  line-height: 1.09;
  letter-spacing: var(--display-tracking);
  text-wrap: balance;
}
.home-head .text-link, .kinetics-heading .kinetics-more {
  flex: none;
  white-space: nowrap;
}
.home-services-primary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(16px, 2.2vw, 56px);
}
.service-art {
  overflow: hidden;
  background: var(--panel);
  border-radius: 8px;
}
.service-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-feature .service-art { aspect-ratio: 1.47; }
.service-caption {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px 20px;
  padding-top: clamp(14px, 1.7vw, 34px);
}
.service-caption h3, .service-compact h3, .price-examples h3 {
  margin: 0;
  font-weight: var(--heading-weight);
  line-height: 1.2;
  letter-spacing: -.024em;
}
.service-caption h3 { font-size: clamp(25px, 2.15vw, 52px); }
.service-caption p {
  grid-area: 2 / 1 / 3 / 3;
  max-width: 50ch;
  color: var(--muted);
  line-height: 1.55;
  font-size: clamp(15px, 1.08vw, 24px);
  margin: 0;
}
.service-caption > svg { grid-area: 1 / 2; }
.home-services-more {
  margin-top: clamp(32px, 4vw, 80px);
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(16px, 2.2vw, 56px);
}
.service-compact {
  display: grid;
  align-items: center;
  grid-template-columns: clamp(60px, 5.4vw, 140px) 1fr auto;
  gap: clamp(10px, 1vw, 22px);
  padding-block: 16px;
  border-block: 1px solid var(--line);
}
.service-compact .service-art { aspect-ratio: 1.2; border-radius: 5px; }
.service-compact h3 { font-size: clamp(17px, 1.25vw, 32px); }
.home-prices, .home-faq {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(30px, 6vw, 144px);
}
.home-prices header .text-link, .home-faq header .text-link { margin-top: 18px; }
.price-examples a {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: baseline;
  gap: 8px clamp(12px, 1.2vw, 30px);
  border-top: 1px solid var(--line);
  padding-block: clamp(18px, 2.1vw, 42px);
}
.price-examples a:last-child { border-bottom: 1px solid var(--line); }
.price-examples h3 { font-size: clamp(20px, 1.65vw, 40px); }
.price-examples strong { font-weight: 530; white-space: nowrap; font-size: clamp(15px, 1.15vw, 28px); }
.price-examples a > svg { align-self: center; }
.home-planning .estimate { margin-top: var(--section-gap); }
.estimate {
  --line: #3a455b;
  --fg: #f1f4fb;
  --muted: #bbc5d9;
  --raised: #151e2e;
  color-scheme: dark;
  color: var(--fg);
  background: linear-gradient(120deg, #1a2940, #101929 52%, #101725);
  border: 1px solid #26334a;
  border-radius: 12px;
  padding: clamp(24px, 4.2vw, 100px);
  align-items: start;
}
.estimate .estimate-intro h2 {
  color: var(--fg);
  font-size: clamp(29px, 2.85vw, 66px);
  font-weight: var(--heading-weight);
  line-height: 1.12;
  letter-spacing: var(--heading-tracking);
}
.estimate .estimate-intro p { color: var(--muted); font-size: clamp(15px, 1.1vw, 24px); }
.estimate-inputs label { color: #d7deed; grid-template-columns: minmax(0,1fr); }
.estimate-inputs select { color: var(--fg); border-color: #637087; background: var(--raised); border-radius: 6px; }
.estimate .button.primary { background: #eef3ff; border-color: #eef3ff; color: #172339; }
.estimate :focus-visible { outline: 3px solid #aacbff; outline-offset: 3px; }
.estimate .micro { color: var(--muted); }
.kinetics-more { color: #d9e4ff; }
.site-footer {
  background: #0d1018;
  color: #eff2f9;
  border-top: 1px solid #282e3a;
}
.site-footer .foot-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.15fr 1fr;
  align-items: start;
  gap: clamp(24px, 4vw, 88px);
  padding-block: clamp(44px, 5.5vw, 112px);
}
.foot-brand { display: grid; justify-items: start; gap: 24px; }
.site-footer small { margin: 0; color: #a9b2c4; }
.site-footer nav { display: grid; justify-items: start; gap: 6px; }
.site-footer nav p { margin: 0 0 8px; font-size: 14px; font-weight: 600; color: #a9b2c4; }
.site-footer nav a { color: #edf0f8; font-size: clamp(15px,1vw,23px); line-height: 1.55; padding-block: 3px; }
.site-footer :focus-visible { outline-color: #b4ccff; }
@media (hover: hover) {
  .service-feature:hover h3, .service-compact:hover h3, .price-examples a:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-feature .service-art img { transition: transform .65s cubic-bezier(.22,.61,.36,1); }
  .service-feature:hover .service-art img { transform: scale(1.025); }
}
@media (min-width: 2200px) {
  .home-block.shell, .home-planning.shell, .site-footer .shell { width: min(88%,3000px); max-width: none; }
  .estimate-inputs label, .estimate-inputs select, .estimate .micro, .site-footer nav p { font-size: clamp(16px,.7vw,22px); }
  :is(.home-block,.home-planning,.kinetics-heading) .text-link { font-size: clamp(16px,.7vw,23px); }
}
@media (max-width: 900px) {
  .mast .desktop-nav { display: none; }
  .mast .mast-inner { justify-content: space-between; }
  .mast .mobile-toggle { display: flex; width: 44px; min-height: 44px; }
  .mast .mobile-nav:not([hidden]) {
    display: grid; position: absolute; left: 12px; right: 12px; top: calc(100% + 4px); padding: 6px 16px;
    max-height: calc(100svh - 74px); overflow-y: auto;
  }
  .mobile-nav a { display: flex; align-items: center; justify-content: space-between; min-height: 47px; padding: 10px 4px; border-bottom: 1px solid var(--line); }
  .mobile-nav a:last-child { border: 0; }
  .mobile-nav [aria-current] { color: var(--accent); }
  .home-services-more { grid-template-columns: 1fr; gap: 0; }
  .service-compact { grid-template-columns: 80px 1fr auto; border-bottom: 0; }
  .service-compact:last-child { border-bottom: 1px solid var(--line); }
  .home-prices, .home-faq { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .home-services-primary { grid-template-columns: 1fr; gap: 32px; }
  .home-block, .home-planning { --section-gap: 60px; }
  .home-head { align-items: end; flex-wrap: wrap; }
  .home-head .text-link { white-space: normal; }
  .site-footer .foot-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 18px; }
  .site-footer nav { gap: 4px; }
  .foot-brand { gap: 14px; }
  .estimate { padding: 23px 18px; }
  .home-prices .price-examples h3 { letter-spacing: -.03em; }
  .site-footer nav a { padding-block: 5px; }
  .kinetics .kinetics-heading { align-items: start; flex-wrap: wrap; gap: 10px 20px; }
}
@media (max-width: 440px) {
  .price-examples a { grid-template-columns: 1fr auto; }
  .price-examples strong { grid-row: 2; }
  .price-examples svg { grid-column: 2; grid-row: 1 / 3; }
}
