  /* ── layout only; identity from vitruvius-ds.css ── */
  body.vit{display:flex;justify-content:center;padding:36px 16px 64px}
  .sheet{position:relative;width:min(960px,100%);background:var(--vit-paper);
    border:1px solid #C9C2B2;border-radius:var(--vit-r-md);padding:46px 44px 30px;box-shadow:0 16px 54px rgba(0,0,0,.16)}

  /* title block */
  .bar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .wordmark{font-family:var(--vit-f-display);font-size:52px;line-height:.9;letter-spacing:.01em;direction:ltr;unicode-bidi:isolate}
  .wordmark .clay{color:var(--vit-clay-text)}
  .bar .sub{font-size:14.5px;font-weight:500;color:var(--vit-ink-2);margin-top:10px;letter-spacing:.005em}
  .bar .code{font-family:var(--vit-f-mono);direction:ltr;font-size:10px;color:var(--vit-ink-4);text-align:left;line-height:1.7}

  /* section label */
  .seclbl{display:flex;justify-content:space-between;align-items:baseline;margin:52px 0 18px}
  .seclbl .a{font-weight:700;font-size:15px}
  .seclbl .b{font-family:var(--vit-f-mono);direction:ltr;font-size:9.5px;color:var(--vit-ink-4);letter-spacing:.05em}

  /* hero */
  .hero{margin-top:48px;max-width:760px}
  .hero .tag{font-weight:700;font-size:clamp(30px,4.8vw,46px);line-height:1.18;letter-spacing:-.012em}
  .hero .tag .clay{color:var(--vit-clay-text)}
  .hero .qa{margin:24px 0 0;max-width:620px}
  .hero .qa .q{font-size:18px;line-height:1.6;color:var(--vit-ink);font-weight:500}
  .hero .qa .a{font-size:18px;line-height:1.6;color:var(--vit-clay-text);font-weight:700;margin-top:10px}
  .hero .qa .ltr-iso{unicode-bidi:isolate;font-family:var(--vit-f-sans);font-weight:500}
  .trust{margin-top:26px;font-size:13.5px;color:var(--vit-ink-3);display:flex;gap:22px;flex-wrap:wrap}
  .trust b{color:var(--vit-clay-text);font-weight:700;margin-left:5px}

  /* hero CTA — surfaced near hero, not just at bottom */
  .hero-cta{margin-top:28px;display:flex;gap:14px;align-items:stretch;max-width:520px;flex-wrap:wrap}
  .hero-cta .vit-fab{flex:1.6;padding:0 24px;min-width:230px;text-decoration:none}
  .hero-cta .vit-btn{flex:1;height:54px;width:auto;min-width:160px;text-decoration:none}
  .hero-cta .fab-meta{font-family:var(--vit-f-mono);direction:ltr;font-size:10px;color:var(--vit-ink-4);margin-top:8px;text-align:right;width:100%}

  /* before/after — real Revit window mock embedded as iframe */
  .ba-frame{position:relative;border:1px solid var(--vit-line-strong);border-radius:var(--vit-r-sm);background:#e8e8ea;overflow:hidden;height:500px}
  .ba-frame iframe{width:100%;height:100%;border:0;display:block;background:transparent}
  .xf-cap{font-family:var(--vit-f-mono);direction:ltr;font-size:9px;color:var(--vit-ink-4);text-align:center;margin-top:13px;letter-spacing:.04em}
  @media(max-width:1040px){ .ba-frame{height:1050px} }
  @media(max-width:720px){ .ba-frame{height:1080px} }

  /* capabilities — drawing index rows: action → outcome (in clay) */
  .idx .vit-row{height:52px}
  .idx .vit-row .vit-ct{display:flex;align-items:baseline;gap:14px;padding:14px 6px}
  .idx .rnum{font-family:var(--vit-f-mono);font-size:12px;color:var(--vit-ink);min-width:22px;transition:color .16s}
  .idx .vit-row:hover .rnum{color:var(--vit-clay-ink)}
  .idx .rtitle{font-weight:700;font-size:16.5px;white-space:nowrap}
  .idx .rarrow{font-family:var(--vit-f-mono);direction:ltr;color:var(--vit-ink-4);font-size:14px;transition:color .16s}
  .idx .vit-row:hover .rarrow{color:var(--vit-clay-ink)}
  .idx .rout{font-weight:700;font-size:15px;color:var(--vit-clay-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .idx .lead2{flex:1;border-bottom:1px dotted var(--vit-line-strong);transform:translateY(-4px);min-width:24px}

  /* pricing — two real tiers */
  .pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .pc{position:relative;background:var(--vit-paper) !important}
  .pc .vit-ct{padding:30px 28px 26px;height:auto;display:flex;flex-direction:column;gap:0}
  .pc .tier{font-family:var(--vit-f-sans);font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--vit-ink-3)}
  .pc .amt{font-weight:700;font-size:46px;letter-spacing:-.025em;margin:8px 0 0;color:var(--vit-ink);direction:ltr;unicode-bidi:isolate}
  .pc .amt .ccy{font-size:24px;font-weight:500;color:var(--vit-ink-3);margin-left:6px}
  .pc .per{font-family:var(--vit-f-mono);direction:ltr;font-size:10.5px;color:var(--vit-ink-4);margin-top:4px;letter-spacing:.04em}
  .pc .seats{font-size:14px;color:var(--vit-ink-3);margin-top:14px;font-weight:500}
  .pc .seats b{color:var(--vit-clay-text);font-weight:700}
  .pc.featured{position:relative}
  .pc.featured .keyline{position:absolute;top:0;bottom:0;right:0;width:3px;background:var(--vit-clay);z-index:5}
  .pc .badge{position:absolute;top:18px;left:22px;font-family:var(--vit-f-mono);direction:ltr;font-size:10px;letter-spacing:.06em;color:var(--vit-on-clay);background:var(--vit-clay);padding:4px 11px;border-radius:999px}
  @media(max-width:720px){ .pr-grid{grid-template-columns:1fr} }

  /* faq */
  .faq .qa{padding:20px 2px;border-bottom:1px solid var(--vit-line)}
  .faq .qa:last-child{border-bottom:none}
  .faq .q{font-weight:700;font-size:15.5px;display:flex;gap:10px}
  .faq .q .m{font-family:var(--vit-f-mono);color:var(--vit-clay-text)}
  .faq .a{font-size:14px;color:var(--vit-ink-2);margin-top:7px;line-height:1.65;padding-right:24px;max-width:680px}
  .faq .a .hl{color:var(--vit-clay-text);font-weight:700}

  /* cta block (bottom) */
  .cta{display:flex;gap:16px;align-items:stretch;margin-top:8px;max-width:380px}
  .cta .vit-fab{flex:1;padding:0 24px;text-decoration:none}
  .quiet-link{margin-top:18px;font-size:13.5px;color:var(--vit-ink-3);max-width:520px}
  .quiet-link a{color:var(--vit-clay-text);text-decoration:underline;text-decoration-color:rgba(188,82,52,.4);text-underline-offset:3px}
  .quiet-link a:hover{text-decoration-color:var(--vit-clay-text)}

  /* coupon redemption */
  .coupon{margin-top:6px;max-width:580px}
  .cp-lead{font-size:14.5px;color:var(--vit-ink-2);margin-bottom:16px;line-height:1.6;max-width:540px}
  .cp-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
  .cp-input{flex:1;min-width:220px;height:52px;padding:0 16px;border:1px solid var(--vit-line-strong);border-radius:var(--vit-r-sm);background:var(--vit-paper);color:var(--vit-ink);font-family:var(--vit-f-mono);font-size:15px;letter-spacing:.05em;text-transform:uppercase;direction:ltr;text-align:right}
  .cp-input::placeholder{font-family:var(--vit-f-sans);letter-spacing:normal;text-transform:none;color:var(--vit-ink-3)}
  .cp-input:focus{outline:none;border-color:var(--vit-clay);box-shadow:0 0 0 3px rgba(217,119,87,.18)}
  .cp-row .vit-btn{height:52px;width:auto;min-width:150px;padding:0 22px;text-decoration:none}
  .cp-out{margin-top:18px;padding:18px 20px;border:1px solid var(--vit-line-strong);border-radius:var(--vit-r-sm);background:#fff}
  .cp-out.ok{border-color:var(--vit-clay)}
  .cp-out .lbl{font-size:13px;color:var(--vit-ink-3);margin-bottom:9px}
  .cp-key{font-family:var(--vit-f-mono);font-size:22px;font-weight:700;color:var(--vit-clay-text);direction:ltr;letter-spacing:.06em;cursor:pointer;display:inline-flex;align-items:center;gap:10px;user-select:all}
  .cp-key .cpicon{font-size:15px;opacity:.5}
  .cp-next{font-size:13.5px;color:var(--vit-ink-2);margin-top:13px;line-height:1.65}
  .cp-next a{color:var(--vit-clay-text);text-decoration:underline;text-underline-offset:3px}
  .cp-err{color:#A8341C;font-size:14px;font-weight:600;margin:0}
  @media(max-width:720px){ .cp-row{flex-direction:column} .cp-row .vit-btn{width:100%} }

  .foot{text-align:center;font-size:12.5px;color:var(--vit-ink-3);margin-top:16px}
  .foot a{color:var(--vit-clay-text)}

  a{color:inherit;text-decoration:none}
  @media(max-width:720px){
    .sheet{padding:34px 22px 26px}
    .wordmark{font-size:40px}
    .cta,.hero-cta{flex-direction:column}
    .idx .vit-row .vit-ct{gap:8px}
    .idx .rout{font-size:13.5px;white-space:normal;line-height:1.35}
    .idx .rtitle{font-size:14.5px;white-space:normal}
    .ea{padding:24px 18px}
  }

  /* ── utility classes replacing former inline style= attributes ── */
  .mt-18{margin:18px 0 0}
  .mt-36{margin-top:36px}

  /* ── a11y: semantic headings keep their visual look; skip link; focus; footer legal ── */
  h1.wordmark{margin:0}
  .seclbl .a{margin:0}
  .skip{position:absolute;right:20px;top:-60px;z-index:30;background:#1C1B18;color:#fff;
    padding:10px 16px;border-radius:8px;text-decoration:none;transition:top .15s}
  .skip:focus{top:12px}
  a:focus-visible,[role=button]:focus-visible,button:focus-visible,input:focus-visible{
    outline:3px solid var(--vit-clay,#D97757);outline-offset:3px;border-radius:3px}
  .foot .legal{margin-top:9px}
  .foot .legal a{color:var(--vit-clay-text);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
  .foot .legal a:not(:last-child){margin-inline-end:4px}
