/* ═══════════════════════════════════════════════════════════════════════════════
   Compact professional layout layer (2026-10-16 homepage refactor).

   Goal: let a visitor answer "what is this / what does it cost / how do I get it"
   with minimal scrolling, using the full desktop width. Everything here refines the
   existing engineering-manual identity (paper/sand/brand, mono labels, hairline
   rules) — it does not replace it.

   Rules honoured:
   - no min-height:100vh, no fixed viewport-height hero, no transform:scale tricks
   - density comes from structure (real multi-column grids) and trimmed padding,
     not from shrinking type: body copy stays at the inherited 14–16px
   - this file only wins where it is more specific or later; base tokens live in theme.css
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Type consistency: functional copy sticks to the theme.css semantic scale. ──
   The page mixed 13/14/15px ad-hoc body sizes from earlier one-off rules, which
   read as "off" next to each other. Body copy is 15px (—text-secondary) and list
   or secondary copy is 14px (—text-small); decorative kickers stay at their token.
   Nothing functional goes below 12px (—text-copyright). */
.workshop-home .craft-card p,
.workshop-home .privacy-strip p,
.workshop-home .section-head > p,
.workshop-home .faq-a p {
  font-size: var(--text-secondary);
  line-height: 1.7;
}

.workshop-home .section-pad .field-note,
.workshop-home .plan-card small {
  font-size: var(--text-small);
}

/* Wider working container: the audit found min(1240px, 100% - 96px) left large empty
   side bands at 1440px+ while content was pushed into a long single column. */
.workshop-home .container {
  width: min(1680px, 94%);
}

/* ── Section rhythm: 40–64px between blocks instead of stacking many 32px pads. ── */
.workshop-home .section-pad {
  padding:28px 0;
}

.workshop-home .section-head {
  gap: 32px;
  margin-bottom: 20px;
  align-items: flex-end;
}

.workshop-home .section-head h2 {
  font-size: clamp(28px, 2.6vw, 40px);
  line-height: 1.16;
}

.workshop-home .section-head p {
  max-width: 46ch;
}

/* ═══ Hero: one screen holding positioning, CTA, capabilities and price entry. ═══ */
.workshop-home .hero {
  padding-top: 16px;
}

/* The compatibility strip used to be a full section with its own <h2> inside the hero,
   which meant two competing title blocks above the fold. It is now a single compact
   band under the hero copy: real information, no second headline. */
.workshop-home .hero-compatibility {
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin:8px 0 12px;padding:12px 0;border-block:1px solid var(--line);
}

.workshop-home .compatibility-intro {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

/* The redundant "兼容三大 CAD，照常工作。" headline is dropped from the layout; the
   label already says CAD COMPATIBILITY, so the band stays a single line of facts. */
.workshop-home .compatibility-intro h2 {
  display: none;
}

.workshop-home .compatibility-hosts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  /* 手机上逐项换行而不是挤压容器外 */
  min-width: 0;
}

.workshop-home .compatibility-hosts li {
  display: flex;
  align-items: baseline;
  gap: 6px;
  border: 0;
  padding: 0;
  background: none;
  white-space: nowrap;
}

.workshop-home .compatibility-number {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--brand-deep);
}

.workshop-home .compatibility-hosts strong { font-size:20px;line-height:1.3; }

.workshop-home .compatibility-hosts span:not(.compatibility-number) { font-size:12px;color:var(--muted); }

.workshop-home .compatibility-note { margin:0;font-size:14px;color:var(--muted); }

/* 55 / 45 split, as specified, instead of the previous 1.02fr / 1fr. */
.workshop-home .hero-grid {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(24px,3vw,48px);
  padding:12px 0 20px;
  align-items:center;
}

.workshop-home .hero h1 {
  font-size:clamp(38px,3.4vw,56px);
  line-height: 1.1;
}

.workshop-home .hero-lead {
  font-size: var(--text-body);
  max-width: none;
}

.workshop-home .hero-cta {
  gap: 12px;
  margin-top: 18px;
}

.workshop-home .hero-meta {
  margin-top: 12px;
}

.workshop-home .hero-note {
  margin-top: 8px;
}

/* Keep the hero visual honest in a shorter band: it must not dictate the fold height. */
.workshop-home .hero-visual {
  width:100%;max-width:540px;justify-self:start;align-self:center;margin:0;padding-bottom:24px;
}

/* Keep the decorative spark within the available width, including zoomed layouts. */
.workshop-home .studio-spark { right:0; }

/* ═══ Capabilities: four modules side by side (was a two-column stagger with
        min-height:260px, which consumed roughly two screens for four short items). ═══ */
.workshop-home .craft-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.workshop-home .craft-card {
  margin:0;min-height:0;padding:18px 20px;display:grid;grid-template-rows:18px auto 1fr;gap:8px;border-top-width:2px;
}

/* The previous design offset the 2nd card by 48px for an editorial rhythm; that
   staggered baseline is what made four short items read as a long block. */
.workshop-home .craft-card:nth-child(2),
.workshop-home .craft-card:nth-child(4) {
  margin-top: 0;
}

.workshop-home .craft-card h3 {
  font-size: 17px;
  margin: 0;
}

.workshop-home .craft-card p {
  font-size: var(--text-secondary);
  margin: 0;
  color: var(--muted);
}

.workshop-home .craft-card .card-glyph { position:absolute;right:14px;top:14px;margin:0;font-size:32px;opacity:.25; }

/* The write-back step is the product's differentiator; make it the one dark card. */
.workshop-home .craft-card.is-key {
  background: var(--ink);
  border-top-color: var(--brand);
  border-bottom-color: var(--ink);
  color: var(--paper);
}
.workshop-home .craft-card.is-key .card-number { color: var(--brand); }
.workshop-home .craft-card.is-key h3 { color: var(--paper); font-size: 19px; }
.workshop-home .craft-card.is-key p { color: var(--sand); }
.workshop-home .craft-card.is-key .card-glyph { color: var(--brand); opacity: .55; top: 42px; }
.workshop-home .card-flag {
  position:absolute; top:14px; right:14px; padding:3px 7px;
  border:1px solid var(--brand); background:var(--brand); color:var(--ink);
  font:600 11px/1.2 var(--body); letter-spacing:.02em;
}
@media(max-width:767px){
  .workshop-home .craft-card.is-key .card-glyph { display:none; }
  .workshop-home .card-flag { top:10px; right:10px; }
}

.workshop-home .card-number {
  font-family: var(--mono);
  font-size: 11px;
}

/* The privacy note is a full-width strip, so keep it to one compact line. */
.workshop-home .privacy-strip {
  margin-top: 20px;
  padding: 12px 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}

.workshop-home .privacy-strip p {
  margin: 0;
}

/* The dark proof/workflow component is owned exclusively by drawing-board.css. */

/* ═══ Pricing: real amounts, straight from the plan API. ═══ */
.plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.plan-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 2px solid var(--ink);
  background: var(--paper);
}

.plan-card.is-featured {
  border-top-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand) inset;
}

/* Go is an add-on, not a tier: it must not read as a fourth peer subscription. */
.plan-card.is-addon {
  border-top-style: dashed;
  background: var(--sand-light);
}

.plan-card h3 {
  margin: 0;
  font-size: 20px;
}

.plan-card .plan-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 30px;
  line-height: 1;
  color: var(--brand-deep);
}

.plan-card .plan-price small {
  font-size: var(--text-small);
  color: var(--muted);
}

.plan-card .plan-quota {
  font-size: 14px;
  font-weight: 600;
}

.plan-card ul {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
  font-size: var(--text-small);
  color: var(--muted);
}

.plan-card ul li::before {
  content: '·';
  margin-right: 6px;
  color: var(--brand);
}

.plan-card .plan-cta {
  margin-top: auto;
  padding-top: 10px;
}

.plan-card .plan-cta .btn {
  width: 100%;
  text-align: center;
}

.plan-card .tier-label {
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--muted);
  text-transform: uppercase;
}

/* Loading / failure states: never show an amount we cannot substantiate. */
.plan-grid-state {
  grid-column: 1 / -1;
  padding: 20px;
  border: 1px dashed var(--line);
  text-align: center;
  color: var(--muted);
  font-size: var(--text-small);
  /* Reserve the space the real cards will occupy, so the page does not jump when the
     plan API answers (measured 2026-10-17 at 1440px: 81px -> 338px without this). */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 260px;
}

@media (max-width: 767px) {
  .plan-grid-state {
    min-height: 200px;
  }
}

.plan-grid-state a {
  color: var(--brand-deep);
}

.plan-footnote {
  margin-top: 12px;
  font-size: 12px;
  color: var(--muted);
}

/* ═══ FAQ: compact single accordion list (was six separate bordered cards). ═══ */
.faq-compact .faq-item {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 0;
}

.faq-compact .faq-q {
  width: 100%;
  padding: 12px 0;
  font-size: 15px;
}

.faq-compact .faq-a {
  padding: 0 0 12px;
  font-size: 13px;
}

/* ═══ Bottom CTA: one compact bar, merged with the download action. ═══ */
.workshop-home .download-section {
  padding: 28px 0;
}

.workshop-home .download-inner h2 {
  font-size: 26px;
}

.workshop-home .footer-grid {
  gap: 28px;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Responsive: desktop multi-column → tablet two columns → phone single column.
   No transform:scale, no horizontal overflow.
   ═══════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .workshop-home .craft-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 900px) {
  .workshop-home .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

@media (max-width: 767px) {
  .workshop-home .container {
    width: min(1680px, calc(100% - 32px));
  }

  .workshop-home .craft-grid,
  .plan-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 手机兼容条允许自然换行，不再保留互相竞争的竖排规则。 */
  .workshop-home .hero-compatibility {
    display: block;
  }

  .workshop-home .compatibility-intro {
    flex-wrap: wrap;
  }

  /* ── 手机端纵向压缩： ──
     兼容宿主条目不再一行一项独占整块——恢复单行 flex 排布,
     标签与数值同行,整体只有原来一半高; */
  .workshop-home .compatibility-hosts {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-block: 4px;
  }

  .workshop-home .compatibility-hosts li {
    gap: 4px 8px;
  }

  .workshop-home .compatibility-hosts div>span {
    font-size: 12px;
  }

  /* 区块节奏整体收紧: 48→28, 标题下边距同步减半 */
  .workshop-home .section-pad {
    padding: 28px 0;
  }

  .workshop-home .section-head {
    gap: 16px;
    margin-bottom: 12px;
  }

  .workshop-home .section-head h2 {
    font-size: 24px;
  }

  /* 卡片间距 16→10, 内边距 18→14 */
  .workshop-home .craft-grid,
  .plan-grid {
    gap: 10px;
  }

  .workshop-home .craft-card,
  .plan-card {
    padding: 14px;
  }

  .workshop-home .hero-visual { width:100%; padding-bottom:12px; }

  /* ── hero 插画的覆盖物在窄屏改为文档流 ──
     批注条(78%宽)与圆形章(91px)绝对定位叠在 319px 的图纸上,
     图纸中心内容几乎被盖满;移出流外改为普通块,图纸完整可见 */
  .workshop-home .drawing-sheet {
    position: relative;
    padding-bottom: 12px;
  }

  .workshop-home .hero-visual > .translation-slip,
  .workshop-home .hero-visual > .round-stamp {
    position: static;
    inset: auto;
    width: auto;
    transform: none;
    margin: 10px 4px 0;
    box-shadow: 3px 3px 0 var(--ink);
  }

  .workshop-home .hero-visual > .round-stamp {
    display: none;
  }
}

/* The homepage ending is one utility zone, not four marketing chapters. */
.workshop-home #faq { padding-block:28px; }
.workshop-home #faq .section-head { align-items:center; margin-bottom:14px; }
.workshop-home #faq .section-head > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; }
.workshop-home #faq h2 { font-size:24px; margin:0; }
.workshop-home #faq .section-head p { margin:0; font-size:14px; }
.workshop-home .faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; align-items:start; }
.workshop-home .faq-q { min-height:48px; gap:12px; padding:10px 0; }
.workshop-home .faq-q span { flex:1; }
.workshop-home .faq-a { padding:0 0 14px; }
.workshop-home .download-section { padding-block:18px; }
.workshop-home .download-inner { gap:24px; }
.workshop-home .download-inner .section-kicker { display:none; }
.workshop-home .download-inner h2 { margin:0 0 6px; font-size:22px; }
.workshop-home .download-inner p { margin:0; font-size:14px; }
.workshop-home .download-action small { margin-top:6px; font-size:12px; }
.workshop-home .site-footer { padding:0 0 18px; }
.workshop-home .footer-grid { align-items:center; gap:24px; padding-top:18px; }
.workshop-home .footer-grid p { margin:6px 0 0; }
.workshop-home .footer-links { grid-template-columns:repeat(4,max-content); gap:8px 24px; }
.workshop-home .ws-status.ws-status-home { max-width:none; width:min(1680px,94%); margin:0 auto; padding:0; border:0; border-bottom:1px solid var(--line); background:transparent; }
.workshop-home .ws-status-home summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; cursor:pointer; font-size:13px; }
.workshop-home .ws-status-home summary > span:last-child { color:var(--muted); }
.workshop-home .ws-status-home summary > span:last-child::after { content:' ＋'; }
.workshop-home .ws-status-home details[open] summary > span:last-child::after { content:' −'; }
.workshop-home .ws-status-home .ws-status-head { margin-top:8px; }
.workshop-home .ws-status-home details > small { display:block; padding-bottom:12px; }
@media(max-width:900px){
 .workshop-home .footer-grid { grid-template-columns:1fr 1fr; }
 .workshop-home .footer-copy { grid-column:1/-1; text-align:left; }
 .workshop-home .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px){
 .workshop-home #faq .section-head { display:block; }
 .workshop-home #faq .section-head > div { gap:8px 12px; }
 .workshop-home #faq .inline-link { display:inline-block; margin-top:10px; }
 .workshop-home .faq-list { grid-template-columns:minmax(0,1fr); }
 .workshop-home .download-inner { flex-direction:column; align-items:stretch; gap:12px; }
 .workshop-home .download-action { flex:initial; }
 .workshop-home .ws-status.ws-status-home { width:calc(100% - 32px); }
 .workshop-home .footer-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .workshop-home .footer-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
}

.workshop-home .ws-status.ws-status-home > details { display:block; }

/* Footer: three clearly grouped columns instead of one wrapping link cloud. */
.workshop-home .footer-grid {
  grid-template-columns:minmax(220px,1.1fr) minmax(0,1.7fr) auto;
  align-items:start;
  gap:clamp(24px,3vw,44px);
  padding:18px 0 20px;
  border-top:1px solid var(--line);
}
.workshop-home .footer-identity p { margin:10px 0 4px; max-width:34ch; color:var(--muted); }
.workshop-home .footer-domain { font:12px/1.5 var(--mono); color:var(--brand-deep); }
.workshop-home .footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,48px); }
.workshop-home .footer-group { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.workshop-home .footer-group strong { font:600 11px/1.4 var(--mono); letter-spacing:.08em; color:var(--brand-deep); }
.workshop-home .footer-group a { min-height:30px; padding-block:0; font-size:14px; line-height:1.5; }
.workshop-home .footer-copy { align-self:start; padding-right:0; text-align:right; font:12px/1.6 var(--mono); color:var(--muted); }
.workshop-home .footer-copy > span { display:block; }
.workshop-home .footer-top { display:inline-flex; min-height:36px; align-items:center; margin-top:4px; color:var(--brand-deep); font:600 13px/1.4 var(--body); }
@media(max-width:1100px){
  .workshop-home .footer-grid { grid-template-columns:1fr 1fr; }
  .workshop-home .footer-copy { grid-column:1/-1; text-align:left; }
}
@media(max-width:767px){
  .workshop-home .footer-grid { grid-template-columns:1fr; gap:20px; }
  .workshop-home .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .workshop-home .footer-copy { text-align:left; }
  .workshop-home .footer-group { gap:8px; }
  .workshop-home .footer-group a { min-height:36px; }
}

/* Motion layer: entrance for the hero, scroll reveals for the content, quiet card lift. */
@media(prefers-reduced-motion:no-preference){
  .js .workshop-home .hero-copy > * { animation:hero-rise .7s cubic-bezier(.2,.7,.2,1) both; }
  .js .workshop-home .hero-copy > *:nth-child(1){animation-delay:.02s}
  .js .workshop-home .hero-copy > *:nth-child(2){animation-delay:.08s}
  .js .workshop-home .hero-copy > *:nth-child(3){animation-delay:.14s}
  .js .workshop-home .hero-copy > *:nth-child(4){animation-delay:.20s}
  .js .workshop-home .hero-copy > *:nth-child(5){animation-delay:.26s}
  .js .workshop-home .hero-copy > *:nth-child(6){animation-delay:.32s}
  .js .workshop-home .hero-copy > *:nth-child(7){animation-delay:.38s}
  .js .workshop-home .hero-visual { animation:hero-visual-in .9s cubic-bezier(.2,.7,.2,1) both; }
  .reveal-ready .workshop-home .reveal { opacity:0; transform:translateY(16px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
  .reveal-ready .workshop-home .reveal.in-view { opacity:1; transform:none; }
  .reveal-ready .workshop-home .reveal-delay-1 { transition-delay:.08s; }
  .reveal-ready .workshop-home .reveal-delay-2 { transition-delay:.16s; }
  .reveal-ready .workshop-home .reveal-delay-3 { transition-delay:.24s; }
  .workshop-home .craft-card { transition:transform .2s ease,box-shadow .2s ease; }
  .workshop-home .craft-card:hover { transform:translateY(-3px); box-shadow:6px 6px 0 var(--sand); }
  .workshop-home .craft-card.is-key:hover { box-shadow:6px 6px 0 var(--brand); }
}
@media(prefers-reduced-motion:reduce){
  .reveal-ready .workshop-home .reveal { opacity:1; transform:none; transition:none; }
}
@keyframes hero-rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes hero-visual-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

.workshop-home .footer-copy { align-self:start; padding-right:150px; }
@media(max-width:767px){ .workshop-home .footer-copy { padding-right:60px; } }

/* Product spread: full-width compatibility and balanced, naturally sized hero. */
.workshop-home .compatibility-intro .section-kicker { font-size:14px; }
.workshop-home .compatibility-hosts { justify-content:space-evenly; }
.workshop-home .issue-line { font-size:12px; }
.workshop-home .hero-lead { font-size:18px;line-height:1.7;max-width:36ch; }
.workshop-home .hero-bottom { padding:10px 0 12px; }
.workshop-home #features .section-head h2 { font-size:28px; }
.workshop-home #features .section-head h2 br { display:none; }
.workshop-home .pricing-heading { align-items:center;margin-bottom:14px; }
.workshop-home .pricing-heading h2 { font-size:24px;margin:0; }
.workshop-home .pricing-heading > a { font-size:14px;display:inline-flex;align-items:center;min-height:44px; }
/* Phones keep the 44px tap row (the link wraps under the title there); at tablet/desktop the
   heading must stay a compact one-line band, so the link gets a padded target instead. */
@media(min-width:768px){ .workshop-home .pricing-heading { align-items:center;line-height:1.2;margin-block:-6px; } .workshop-home .pricing-heading > a { min-height:0;padding-block:12px; } }

.workshop-home .plan-footnote { margin:12px 0 0;font-size:13px; }
@media(max-width:1100px){
 .workshop-home .hero-compatibility { grid-template-columns:auto minmax(0,1fr);gap:12px; }
 .workshop-home .compatibility-note { grid-column:1/-1; }
}
@media(max-width:900px){
 .workshop-home .hero-visual { justify-self:center;max-width:540px; }
 .workshop-home .download-inner { flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px; }
 .workshop-home .download-action { flex:0 1 auto; }
 .workshop-home .hero-grid { align-items:start; }
}
@media(max-width:767px){
 .workshop-home .hero-compatibility { display:grid;grid-template-columns:1fr;gap:8px; }
 .workshop-home .compatibility-hosts { justify-content:space-between;gap:8px; }
 .workshop-home .compatibility-hosts strong { font-size:17px; }
 .workshop-home .compatibility-note { font-size:13px; }
 .workshop-home .hero-lead { font-size:16px; }
 .workshop-home .hero-visual { padding-bottom:12px; }
 .workshop-home #features .section-head h2 { font-size:24px; }
 .workshop-home .craft-card { padding:14px; }
 .workshop-home .pricing-heading { display:block;margin-bottom:6px;line-height:1.15; }
 .workshop-home .pricing-heading > a { min-height:30px;padding-block:2px; }
}

.workshop-home .hero-highlights { display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0;padding:0; }
.workshop-home .hero-highlights li { padding:5px 10px;border:1px solid var(--sand);font:14px/20px var(--body); }
@media(min-width:901px){ .workshop-home .hero-copy { max-width:none; } }

/* Homepage is a product index: short facts, no repeated editorial introductions. */
.workshop-home .section-head { margin-bottom:14px; }
.workshop-home .section-head h2,.workshop-home #features .section-head h2 { font-size:26px;line-height:1.25;margin:0; }
.workshop-home .craft-card { padding-block:14px; }
.workshop-home .card-number { margin-bottom:0; }
.workshop-home .privacy-strip { margin-top:12px;padding:8px 0;border:0; }
.workshop-home .hero-grid { padding-top:8px; }
.workshop-home .hero-highlights { margin:10px 0; }
@media(max-width:767px){.workshop-home .section-pad { padding-block:22px; }}

@media(min-width:901px){ .workshop-home .hero-grid { max-width:none;margin-inline:0; } }

/* Keep the current footer links; customer support remains available in the fixed bottom corner. */
body.workshop-home .to-top { display:none !important; }

.hero-download-note { margin:10px 0 0; font:13px/1.6 var(--mono); color:var(--muted); }
.plan-fit { margin:8px 0 0; font-size:13px; line-height:1.5; color:var(--brand-deep); }
.hero-download-note .mobile-only { display:none; }
@media(max-width:767px){
  .hero-download-note .mobile-only { display:block; margin-top:2px; }
}

/* Keep the drawing's own title row clear of the floating translation note. */
@media(min-width:901px){
  .workshop-home .hero-visual > .translation-slip { bottom:104px; }
}

/* At phone width, keep the carousel tabs named and the pause control compact. */
@media(max-width:600px){
  .workshop-home #workflow .cmp-controls { display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:8px; }
  .workshop-home #workflow .cmp-autoplay { order:0; flex:0 0 auto; min-height:36px; padding:6px 8px; }
  .workshop-home #workflow .cmp-dot { min-width:0; padding:0 2px; font-size:12px; }
  .workshop-home #workflow .cmp-dot span { display:inline; margin-left:4px; font-size:11px; }
}

/* Hide only the homepage document scrollbar chrome; scrolling remains native. */
html:has(> body.workshop-home) {scrollbar-width:none;}
html:has(> body.workshop-home)::-webkit-scrollbar {width:0;}
