/* Baseline alignment and responsive safeguards shared across the landing page. */
.thought-copy ol { margin:0; padding:0; display:grid; gap:28px; }
.thought-copy li { display:grid; grid-template-columns:2rem minmax(0,1fr); column-gap:18px; align-items:first baseline; margin:0; }
.thought-copy li > b { margin:0; font-size:16px; line-height:1.4; font-weight:400; font-variant-numeric:tabular-nums; }
.thought-copy li > span { min-width:0; }
.thought-copy strong { font-size:clamp(20px,1.65vw,25px); line-height:1.35; }
.thought-copy small { margin-top:9px; max-width:45ch; font-size:14px; line-height:1.6; }
.section-intro,.thought-copy,.room-copy,.faq-intro,.accordion,.price-grid article,.process-grid article { min-width:0; }
.metrics b { white-space:nowrap; overflow:visible; }
.accordion details.faq-enter { opacity:0; transform:translateY(14px); transition:opacity .45s ease var(--faq-delay,0ms),transform .45s ease var(--faq-delay,0ms),background .2s,border-color .2s; }
.accordion details.faq-arrived { opacity:1; transform:none; }
.accordion summary { min-height:56px; }
.accordion summary::after { flex:none; }
.accordion details p { animation:none; }
.accordion details[open] { border-color:#cfad99; }
.section-link { max-width:100%; text-align:center; }
.section-link > span { flex-shrink:0; }
@media(max-width:900px) {
  .thought-copy { width:min(100%,640px); margin-inline:auto; }
  .thought-copy strong { font-size:23px; }
  .thought-copy li { grid-template-columns:1.8rem minmax(0,1fr); gap:15px; }
  .room-copy dl > div { width:100%; gap:16px; }
  .room-copy dd { text-align:right; }
}
@media(max-width:600px) {
  .thought-copy ol { gap:25px; }
  .thought-copy li { grid-template-columns:1.5rem minmax(0,1fr); gap:13px; }
  .thought-copy li > b { font-size:14px; }
  .thought-copy strong { font-size:20px; }
  .thought-copy small { font-size:13px; margin-top:7px; }
  .thought-visual { height:auto; aspect-ratio:1.2; }
  .section-intro h2 { overflow-wrap:normal; }
  .site-footer nav { column-gap:16px; }
  .site-footer nav a { overflow-wrap:anywhere; }
}
@media(max-height:620px) {
  .impact-results { padding:16px 5vw; }
  .impact-results .section-intro { gap:7px; margin-bottom:14px; }
  .impact-results .section-intro h2 { font-size:24px; line-height:1.12; }
  .impact-results .section-intro p { font-size:11px; line-height:1.5; }
  .impact-results .section-link { min-height:30px; padding:6px 12px; font-size:10px; }
  .impact-results .metrics article { min-height:128px; padding:12px; }
  .impact-results .metrics b { font-size:30px; }
  .impact-results .metrics p { font-size:10px; margin-block:8px; }
  .impact-results .metrics small { font-size:8px; margin-top:6px; }
  .impact-results .metric-note { font-size:8px; margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .accordion details.faq-enter { opacity:1; transform:none; transition:none; }
}

/* Accessible target sizing and predictable anchor landings. */
section[id], footer[id], [id="canvas-stage"], [id="gallery-grid"] { scroll-margin-top:16px; }
html,body { overflow-x:clip; }
.wordmark,.footer-logo { min-width:44px; min-height:44px; display:inline-flex; align-items:center; }
.nav-shell nav a,
.nav-actions a,
.hero-actions a,
.section-link,
.price-button,
.final-cta a,
.site-footer nav a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; }
.nav-shell nav a { padding-inline:8px; }
.menu-toggle { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.room-tabs button,.room-orbit,.gallery-grid > button,.gallery-close { min-width:44px; min-height:44px; }
.accordion summary { min-height:56px; display:flex; align-items:center; padding-right:44px; }

@media(max-width:760px) {
  /* True mobile editor: canvas first, large controls, optional advanced settings. */
  .studio-app { margin-top:28px; border-radius:12px; font-size:13px; }
  .studio-topbar { min-height:60px; flex-wrap:nowrap; padding:8px 10px; }
  .studio-project { min-width:0; font-size:11px; }
  .studio-project .studio-divider,.studio-project span:last-child { display:none; }
  .studio-top-actions { gap:4px; }
  .studio-top-actions button,.studio-top-actions .studio-export { min-width:44px; width:44px; height:44px; padding:0; margin-left:0; }
  .studio-top-actions .studio-export span { display:none; }
  .studio-body,.studio-app.hide-settings .studio-body { display:flex; flex-direction:column; min-height:0; }
  .studio-center { order:1; width:100%; }
  .studio-scene-bar { min-height:52px; padding:4px 8px; font-size:11px; }
  .studio-scene-bar button { min-width:44px; height:44px; padding:8px; }
  .studio-scene-bar output { font-size:10px; min-width:40px; }
  .studio-scene { min-height:0; height:auto; aspect-ratio:1.18; flex:none; }
  .studio-tools { order:2; width:100%; min-height:56px; flex-direction:row; justify-content:center; gap:6px; padding:6px; border:0; border-top:1px solid var(--studio-line); }
  .studio-tools button { width:44px; height:44px; }
  .studio-tool-spacer { display:none; }
  .studio-references { order:3; width:100%; padding:10px; border:0; border-top:1px solid var(--studio-line); }
  .studio-panel-label { min-height:32px; margin:0 0 8px; font-size:11px; }
  .studio-panel-label button { min-width:44px; min-height:44px; font-size:12px; }
  #studio-frame-list { flex-direction:row; gap:8px; max-height:none; overflow-x:auto; padding:2px 2px 8px; scrollbar-width:thin; }
  .studio-frame { width:96px; min-height:86px; }
  .studio-frame-preview { height:58px; }
  .studio-frame > span:last-child { padding:6px; font-size:10px; }
  .studio-add-frame { min-height:44px; width:auto; margin-top:2px; padding:8px 14px; font-size:11px!important; }
  .studio-inspector { order:4; width:100%; display:grid; grid-template-columns:1fr; gap:14px; padding:16px; border:0; border-top:1px solid var(--studio-line); }
  .studio-inspector > * { grid-column:1!important; grid-row:auto!important; }
  .studio-inspector .studio-panel-label { min-height:24px; }
  .studio-light-control,.studio-setting,.studio-format,.studio-palette-label,.studio-curve { font-size:12px; }
  .studio-light-dial { width:76px; height:76px; }
  .studio-setting { min-height:58px; margin:0; }
  .studio-setting input,.studio-light-control > input { min-height:44px; }
  .studio-app input[type="range"] { height:44px; background:linear-gradient(transparent 20px,#777 20px,#777 24px,transparent 24px); }
  .studio-app input[type="range"]::-webkit-slider-thumb { width:22px; height:22px; }
  .studio-app input[type="range"]::-moz-range-thumb { width:22px; height:22px; }
  .studio-palette { justify-content:flex-start; gap:10px; margin:8px 0; }
  .studio-palette button { width:44px; height:44px; }
  .studio-format select { min-height:44px; padding:8px; font-size:12px; }
  .studio-curve svg { height:72px; }
  .studio-bottom { padding:10px; }
  #studio-save-form { gap:8px; }
  #studio-name,#studio-save-form button { min-height:44px; height:44px; font-size:12px; }
  #studio-save-form button { padding-inline:14px; }
  #studio-status { min-height:32px; font-size:11px; }

  /* Horizontal collections retain every item while removing several screens of fatigue. */
  .process-grid,
  .testimonials .testimonial-grid { display:grid; grid-auto-flow:column; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:2px 2px 14px; }
  .process-grid { grid-template-columns:none; grid-auto-columns:min(82vw,320px); gap:14px; }
  .process-grid article { scroll-snap-align:center; }
  .process-grid article > div { height:250px; }
  .testimonials .testimonial-grid { grid-template-columns:none; grid-template-rows:270px; grid-auto-rows:270px; grid-auto-columns:min(86vw,330px); max-width:none; gap:12px; }
  .testimonials .testimonial-grid .quote-card { scroll-snap-align:center; }

  .gallery-grid { grid-template-rows:repeat(8,100px); grid-template-areas:'a a' 'a a' 'b c' 'd d' 'e f' 'g h' 'i j' 'k l'!important; }
  .price-grid { gap:14px; }
  .price-grid article { padding:22px; }
  .price-grid article ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; margin:16px 0 8px; padding-top:13px; }
  .price-grid li { margin:7px 0; font-size:12px; }
  .price-grid article > a { min-height:44px; margin-top:16px; }
  .faq-compass { width:150px; height:150px; }
  .faq-compass:after { inset:47px; }
  .faq-atom,.cta-puck { width:44px; height:44px; }
  .faq-intro a { min-height:44px; display:inline-flex; align-items:center; }
  .faq { gap:26px; }
  .faq-intro { text-align:center; }
}

@media(max-width:430px) {
  .nav-shell { left:14px; right:14px; width:auto; }
  .hero-actions a { min-height:46px; }
  .thoughts,.capabilities,.canvas-section,.rooms,.gallery,.testimonials,.pricing,.faq { padding-top:48px; padding-bottom:52px; }
  .idea-map { height:130svh; }
  .idea-map .idea-steps article,.idea-map .idea-steps article:hover { height:96px; }
  .gallery-grid { gap:8px; }
  .metrics article { min-height:160px; padding:18px 14px; }
  .metrics b { font-size:40px; }
  .metric-note { margin-bottom:58px; }
  .room-image { height:280px; }
}
