/* Dimension DS — Figma "Dimension AI" / 01 Foundations (Color, Typography, Spacing,
   Geometry, Elevation) and 05 Patterns. Dark by default, neutral first: blue marks
   selection, focus, links and AI; green, yellow and red only report status. */
:root {
  /* Primitives */
  --grey-50:#fbfbfc; --grey-200:#f5f5f7; --grey-300:#ececed; --grey-600:#3a3a3c; --grey-700:#2c2c2e;
  --grey-800:#252528; --grey-850:#1d1d1f; --grey-900:#1c1c1e; --grey-950:#161618;
  --blue-300:#78b9ff; --blue-500:#5b7bff; --green-300:#77a987; --yellow-300:#c3a15a; --red-300:#c77d78;

  /* Semantic */
  --surface-app:var(--grey-950); --surface-workspace:var(--grey-850); --surface-panel:var(--grey-800);
  --surface-control:var(--grey-700); --surface-floating:var(--grey-600);
  --content-primary:var(--grey-200); --content-secondary:rgba(255,255,255,.56); --content-tertiary:rgba(255,255,255,.4);
  --content-disabled:rgba(255,255,255,.26); --content-inverse:var(--grey-900);
  --border-subtle:rgba(255,255,255,.07); --border-default:rgba(255,255,255,.1); --border-strong:rgba(255,255,255,.16);
  --state-hover:rgba(255,255,255,.05); --state-selected:rgba(255,255,255,.1); --state-pressed:rgba(255,255,255,.14);
  --focus-ring:rgba(91,123,255,.7); --selection-bg:rgba(91,123,255,.2); --selection-border:rgba(91,123,255,.55);
  --link:var(--blue-300); --action-bg:var(--grey-200); --action-fg:var(--grey-900);
  --success:var(--green-300); --success-tint:rgba(119,169,135,.12); --success-border:rgba(119,169,135,.55);

  /* Geometry, depth, space */
  --r-5:5px; --r-7:7px; --r-9:9px; --r-12:12px; --r-16:16px;
  --shadow-card:0 1px 3px rgba(0,0,0,.4); --shadow-lift:0 8px 24px rgba(0,0,0,.15);
  --shadow-popover:0 12px 36px rgba(0,0,0,.55); --shadow-modal:0 18px 48px rgba(0,0,0,.62),0 2px 6px rgba(0,0,0,.4);
  --section-y:128px; --heading-gap:56px; --gutter:96px;

  /* Type — Inter is the DS mapping of the native SF Pro stack; mono is for data only. */
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text','Pretendard',system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;
  --fs-display-xl:clamp(48px,6.1vw,88px); --fs-display-l:clamp(40px,5.3vw,76px); --fs-display-m:clamp(32px,3.9vw,56px);
  --fs-title-l:clamp(26px,2.3vw,32px); --fs-title:clamp(20px,1.7vw,24px); --fs-lead:clamp(17px,1.35vw,19px);
  --fs-body:16px; --fs-small:14px; --fs-caption:13px;
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* Names the app specimen was built with, resolved to the semantic tokens above. */
  --paper:var(--grey-200); --ink:var(--content-primary); --muted:var(--content-secondary); --line:var(--border-default);
  --blue:var(--blue-500); --dark:var(--surface-app); --window:var(--surface-workspace); --canvas:var(--surface-app);
  --surface:var(--surface-control); --separator:var(--border-default); --fill:var(--state-selected);
  --text-primary:var(--content-primary); --text-secondary:var(--content-secondary);
  --radius-icon:var(--r-5); --radius-row:var(--r-7); --radius-button:var(--r-9); --radius-window:var(--r-16);
  --radius-bubble:var(--r-16); --radius-composer:var(--r-16);
  --hex:var(--content-primary); --cut:var(--surface-app);
  color-scheme:dark; scrollbar-color:var(--surface-floating) var(--surface-app);
}

/* Base */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--surface-app);color:var(--content-primary);font:400 var(--fs-body)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.workspace-expanded{overflow:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
h2>span,h2 .muted{color:var(--content-secondary)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.55}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
img{display:block;max-width:100%}svg{display:block}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--r-5)}
button:focus:not(:focus-visible){outline:none}
::selection{background:var(--selection-bg);color:var(--content-primary)}
input,textarea{caret-color:var(--blue-500)}
.shell{width:min(1280px,calc(100% - var(--gutter)));margin-inline:auto}
.section-pad{padding-block:var(--section-y)}
.rule{border-top:1px solid var(--border-subtle)}
.muted{color:var(--content-secondary)}
.eyebrow,.micro{font:500 var(--fs-caption)/1.5 var(--sans);letter-spacing:0;color:var(--content-secondary)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-100px;background:var(--action-bg);color:var(--action-fg);padding:12px;z-index:101;border-radius:var(--r-9)}.skip-link:focus{top:12px}
.arrow-icon{width:16px;height:16px;flex:none}
.ui-icon{width:14px;height:14px;flex:none;object-fit:contain}
/* Data (dimensions, IDs, versions) is set in mono, never prose or controls. */
.review-document td,.tree-line>span,.thermal-context b,.document-top .micro{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}

/* Controls — the primary action is the neutral ink pair, never a saturated colour. */
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-9);background:var(--action-bg);color:var(--action-fg);font:500 var(--fs-small)/1 var(--sans);white-space:nowrap;transition:background .18s,border-color .18s,color .18s}
.button:hover{background:#fff}.button:active{background:var(--grey-300)}
.button.outline{background:transparent;color:var(--content-primary);border-color:var(--border-strong)}.button.outline:hover{background:var(--state-hover);border-color:rgba(255,255,255,.26)}
.button.small{min-height:36px;padding:0 14px;font-size:var(--fs-caption);gap:10px}.button.full{width:100%}
.quiet-button{background:transparent;padding:8px 0;font-size:var(--fs-caption);color:inherit;text-underline-offset:4px}.quiet-button:hover{text-decoration:underline}
.text-link{font-size:var(--fs-small);font-weight:500;color:var(--content-primary);display:inline-flex;align-items:center;gap:8px;text-underline-offset:5px}.text-link:hover{text-decoration:underline}
.text-link .arrow-icon{width:15px;height:15px}
.pill{display:inline-flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--r-5);padding:3px 8px;font:500 12px/16px var(--sans);color:var(--content-secondary);white-space:nowrap}

/* Header */
.site-header{position:sticky;top:0;z-index:30;background:var(--surface-app);border-bottom:1px solid var(--border-subtle)}
.nav-shell{width:calc(100% - 64px);margin:auto;height:64px;display:flex;align-items:center;gap:36px}
.brand{display:block;flex:none;width:168px;line-height:0}.brand svg{width:100%;height:auto}
.nav-shell nav{display:flex;gap:32px;margin:auto;font-size:var(--fs-small);font-weight:500}.nav-shell nav a{color:var(--content-secondary);transition:color .15s}.nav-shell nav a:hover{color:var(--content-primary)}
.menu-toggle{display:none}.reading-progress{position:absolute;bottom:-1px;left:0;height:1px;background:var(--blue-500);width:0}

/* Hero — the headline splits around the part: drawing on one side, editable model on the other.
   --off: space the canvas reserves above the flange; --gap: room left for the flange between the lines. */
.hero{--pt:40px;--hf:var(--fs-display-xl);--lh:1.02;--art-h:504px;--off:72px;--gap:318px;position:relative;padding:var(--pt) 0 64px}
.hero h1{font-size:var(--hf);line-height:var(--lh);letter-spacing:-.04em;display:flex;flex-direction:column;position:relative;z-index:2;pointer-events:none}
.hero-first,.hero-second{text-wrap:wrap}
.hero-first{max-width:9em}
.hero-second{align-self:flex-end;max-width:10em;text-align:right;margin-top:var(--gap)}
.hero-art{position:absolute;left:50%;transform:translateX(-50%);width:780px;max-width:80%;top:calc(var(--pt) + 2 * var(--lh) * var(--hf) - var(--off));height:calc(2 * var(--lh) * var(--hf) + var(--gap) + var(--off) + 52px)}
.hero-cad{--pd:360;position:relative;width:100%;height:var(--art-h);cursor:ew-resize}
.hero-cad canvas{display:block;width:100%;height:100%}
.cad-reveal-control{display:flex;align-items:center;justify-content:center;gap:14px;position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:300px;z-index:3;font-size:var(--fs-caption);color:var(--content-secondary);white-space:nowrap}
.cad-reveal-control input{appearance:none;min-width:0;width:120px;height:32px;background:transparent;cursor:ew-resize;margin:0}
.cad-reveal-control input::-webkit-slider-runnable-track{height:2px;background:var(--border-strong);border-radius:2px}
.cad-reveal-control input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-6px;border:3px solid var(--surface-app);border-radius:50%;background:var(--content-primary);box-shadow:0 0 0 1px var(--border-strong)}
.cad-reveal-control input::-moz-range-track{height:2px;background:var(--border-strong)}.cad-reveal-control input::-moz-range-thumb{width:10px;height:10px;border:3px solid var(--surface-app);border-radius:50%;background:var(--content-primary)}
.hero-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-top:60px}
.hero-tagline{font-size:var(--fs-title);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.hero-description{font-size:var(--fs-body);line-height:1.6;color:var(--content-secondary);margin-top:10px;max-width:46ch}
.button-pair{display:flex;gap:10px}

/* Proof */
.partners{text-align:center;padding:40px 0 64px;border-top:1px solid var(--border-subtle)}
.partner-caption{font-size:var(--fs-caption);color:var(--content-secondary)}
.partner-logos{display:flex;align-items:center;justify-content:center;gap:96px;margin-top:32px}
.partner-logos img{object-fit:contain;filter:invert(1);opacity:.62;max-height:40px}.partner-logos img:first-child{width:112px}.partner-logos img:last-child{width:200px}

/* Statement */
.intro{text-align:center;padding-block:var(--section-y)}
.intro h2{font-size:var(--fs-display-l);line-height:1.04;letter-spacing:-.035em}
.intro>p{font-size:var(--fs-lead);line-height:1.6;color:var(--content-secondary);margin:28px auto 0;max-width:60ch;text-wrap:balance}
.intro-points{list-style:none;margin:64px auto 0;padding:0;max-width:960px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:left}
.intro-points li{border-top:1px solid var(--border-strong);padding-top:16px;font-size:var(--fs-body);line-height:1.55;color:var(--content-secondary)}

/* Section headings share one structure: the claim leads, the explanation supports. */
.section-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:72px;align-items:end;margin-bottom:var(--heading-gap)}
.section-heading h2{font-size:var(--fs-display-m);line-height:1.06}
.section-heading>p{font-size:var(--fs-lead);line-height:1.6;color:var(--content-secondary);max-width:38ch}

/* Platform — three capabilities, each shown in the product's own UI. */
.platform{border-top:1px solid var(--border-subtle)}
.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.capability{display:flex;flex-direction:column;min-width:0}
.cap-number{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-small);font-weight:600;color:var(--content-primary);padding:0 2px 16px;border-bottom:1px solid var(--border-default)}
.cap-number .arrow-icon{color:var(--content-secondary);transition:color .15s,transform .2s var(--ease-out)}
.capability:hover .cap-number .arrow-icon{color:var(--content-primary);transform:translate(2px,-2px)}
.capability h3{font-size:var(--fs-title-l);font-weight:600;line-height:1.15;letter-spacing:-.025em}
.capability>p{font-size:var(--fs-body);line-height:1.6;color:var(--content-secondary);max-width:36ch;margin-top:12px}
.mini-ui{height:306px;flex:none;margin:24px 0 28px;padding:26px 24px;border-radius:var(--r-16);overflow:hidden;background:var(--surface-workspace);color:var(--content-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-card);transition:border-color .18s}
.capability:hover .mini-ui{border-color:var(--border-strong)}
.mini-ui{position:relative}
/* Capability stories (editorial.js): the AI read line in Prepare, the typing caret in Modify. */
.scan-line{position:absolute;left:0;right:0;top:0;height:28px;margin-top:-14px;pointer-events:none;background:linear-gradient(transparent,rgba(91,123,255,.14) 45%,rgba(91,123,255,.55) 50%,rgba(91,123,255,.14) 55%,transparent);opacity:0}
.type-caret{display:inline-block;width:1.5px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:currentColor;animation:caret-blink 1s steps(1) infinite}
@keyframes caret-blink{50%{opacity:0}}
.mini-title{font-size:var(--fs-small);display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px solid var(--border-default);padding-bottom:18px;margin-bottom:14px}.mini-title>span{font-size:12px;color:var(--content-secondary)}
.tree-line,.tree-line span{font-size:var(--fs-small);line-height:2.65}
.tree-line{display:flex;justify-content:space-between;align-items:center}.tree-line.indent{color:var(--content-secondary)}.tree-line span{font-variant-numeric:tabular-nums}
.tree-line>span{font-size:13px}.tree-line:last-child>span{font-family:var(--sans);font-size:12px;color:var(--content-secondary)}
.tree-line.selected{color:var(--content-primary);background:var(--state-selected);border-radius:var(--r-7)}
.mini-request{display:flex;flex-direction:column;justify-content:center}.mini-request>.micro{display:none}
.mini-request>p{font-size:18px;line-height:1.45;margin:0 0 27px;color:var(--content-inverse);background:var(--grey-200);padding:16px;border-radius:var(--r-16);letter-spacing:-.02em}
.request-diff{display:flex;gap:14px;align-items:center;font-size:28px;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.request-diff>span:first-child{color:var(--content-secondary)}.request-diff>span:nth-child(2){font-size:20px;color:var(--content-secondary)}.request-diff strong{font-weight:500}.request-diff .pill{margin-left:auto;letter-spacing:0}
.mini-note{font-size:var(--fs-caption);line-height:1.5;padding-top:16px;margin-top:22px;color:var(--content-secondary);border-top:1px solid var(--border-default)}

/* Product walkthrough */
.control{position:relative;padding-block:var(--section-y)}
.control::before{content:"";position:absolute;top:0;left:50%;width:min(1280px,calc(100% - var(--gutter)));transform:translateX(-50%);border-top:1px solid var(--border-subtle)}
.center-heading{text-align:center}
.center-heading h2{font-size:var(--fs-display-l);line-height:1.04;letter-spacing:-.035em;margin-bottom:24px}
.center-heading>p{font-size:var(--fs-lead);line-height:1.6;color:var(--content-secondary)}

/* Review */
.details{border-top:1px solid var(--border-subtle)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:96px;align-items:center}
.review-document{border:1px solid var(--border-default);border-radius:var(--r-16);padding:32px;background:var(--surface-workspace);box-shadow:var(--shadow-card)}
.document-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.document-top .micro{font-size:12px}
.review-document h3{font-size:var(--fs-title-l);font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:28px 0}
.review-document table{border-collapse:collapse;width:100%;text-align:left}
.review-document th,.review-document td{font-weight:400;border-bottom:1px solid var(--border-subtle);padding:14px 10px}
.review-document thead th{font-size:12px;font-weight:500;color:var(--content-secondary)}
.review-document tbody th{font-size:var(--fs-small);color:var(--content-primary)}
.review-document td{font-size:13px;color:var(--content-secondary)}
.review-document .changed{background:var(--selection-bg)}.review-document .changed th,.review-document .changed td:first-of-type{color:var(--content-primary)}.review-document .changed td:last-child{color:var(--link);font-weight:500}
.document-bottom{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.document-bottom>span{font-size:var(--fs-caption);color:var(--content-secondary)}.document-bottom a{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);font-weight:500}.document-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.detail-list>div{border-bottom:1px solid var(--border-default)}.detail-list>div:first-child{border-top:1px solid var(--border-default)}
.detail-list h3{font-size:var(--fs-title);font-weight:600;letter-spacing:-.02em;line-height:1.3;padding:24px 0 8px}
.detail-list p{font-size:var(--fs-body);color:var(--content-secondary);line-height:1.6;margin:0 0 24px;max-width:44ch}

/* Bands — the raised workspace surface marks a pause in the scroll. */
.band{background:var(--surface-workspace);border-block:1px solid var(--border-subtle)}
.bridge{padding-block:var(--section-y)}
.bridge h2{font-size:var(--fs-display-l);line-height:1.04;letter-spacing:-.035em}
.bridge p{font-size:var(--fs-lead);line-height:1.6;color:var(--content-secondary);margin:28px 0 36px;max-width:68ch}

/* Customers */
.customers .section-heading{margin-bottom:48px}
.customer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--surface-workspace);border:1px solid var(--border-default);border-radius:var(--r-12)}
.customer-tabs button{padding:12px 20px;min-height:44px;background:transparent;text-align:center;font-size:var(--fs-small);font-weight:500;color:var(--content-secondary);border-radius:var(--r-9);transition:background .15s,color .15s}.customer-tabs button:hover{color:var(--content-primary);background:var(--state-hover)}.customer-tabs button[aria-selected=true]{color:var(--content-primary);background:var(--surface-control);box-shadow:var(--shadow-card)}
.customer-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:96px;padding:64px 0 0;min-height:360px}
.case-label{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.case-label img{max-width:220px;max-height:56px;object-fit:contain;object-position:left center;filter:invert(1);opacity:.8}
.case-copy h3{font-size:var(--fs-title-l);font-weight:600;line-height:1.15;letter-spacing:-.025em}
.case-copy>p{font-size:var(--fs-body);line-height:1.65;color:var(--content-secondary);margin-top:20px;max-width:56ch}
.case-meta{display:flex;gap:48px;margin:28px 0}.case-meta>span{font-size:var(--fs-caption);color:var(--content-secondary)}.case-meta b{display:block;font-size:var(--fs-small);font-weight:500;color:var(--content-primary);margin-top:4px}

/* Company */
.about{padding-block:96px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.about h2{font-size:var(--fs-display-m);line-height:1.06}
.about-grid>div>p{font-size:var(--fs-title-l);font-weight:500;line-height:1.3;letter-spacing:-.02em;margin:0 0 24px}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:96px}
.faq h2{font-size:var(--fs-display-m);line-height:1.06}
summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}
.faq-list details{border-bottom:1px solid var(--border-default)}.faq-list details:first-child{border-top:1px solid var(--border-default)}
.faq summary{position:relative;font-size:17px;font-weight:500;line-height:1.45;padding:22px 36px 22px 0;transition:color .15s}.faq summary:hover{color:#fff}
.faq summary:after{content:'';position:absolute;right:6px;top:28px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);color:var(--content-secondary);transition:transform .2s var(--ease-out)}
details[open]>summary:after{transform:translateY(3px) rotate(225deg)}
.faq details p{font-size:var(--fs-body);line-height:1.65;color:var(--content-secondary);padding:0 36px 24px 0;max-width:60ch}

/* Close */
.demo{padding-block:var(--section-y)}
.demo h2{font-size:var(--fs-display-xl);line-height:1.02;letter-spacing:-.04em}
.demo-bottom{margin-top:40px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.demo-bottom>p{font-size:var(--fs-lead);line-height:1.6;color:var(--content-secondary)}.demo-bottom>.button{min-width:180px}

/* Footer */
.footer{padding-top:64px;overflow:hidden;background:var(--surface-workspace);border-top:1px solid var(--border-subtle)}
.footer-grid{display:grid;grid-template-columns:1.5fr .65fr .7fr 1.2fr;gap:40px}
.footer-grid>div:first-child p{font-size:var(--fs-small);line-height:1.6;color:var(--content-secondary);margin:20px 0}
.footer-grid h3{font-size:var(--fs-caption);font-weight:600;letter-spacing:0;margin-bottom:16px;line-height:1.5}
.footer-grid>div:not(:first-child) a{display:block;font-size:var(--fs-small);color:var(--content-secondary);margin-bottom:12px;transition:color .15s}.footer-grid a:hover{color:var(--content-primary)}
.footer-grid a .arrow-icon{display:inline-block;width:13px;height:13px;vertical-align:middle}
.footer-bottom{display:flex;justify-content:space-between;font-size:var(--fs-caption);color:var(--content-secondary);margin-top:56px;padding-bottom:24px;border-bottom:1px solid var(--border-default)}.footer-bottom a{display:flex;gap:10px;align-items:center}.footer-bottom a:hover{color:var(--content-primary)}
.footer-wordmark{font-size:clamp(48px,8vw,104px);font-weight:500;line-height:1.1;letter-spacing:-.045em;white-space:nowrap;color:rgba(255,255,255,.14);margin:32px 0 16px}


/* App specimen — values trace to Figma 05 Patterns / Shape canvas. */
.workspace-tabs{display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;margin:42px auto 24px;padding:4px;background:var(--window);border:1px solid var(--separator);border-radius:12px}
.workspace-tabs button{background:transparent;color:#a2a2a7;font-size:12px;font-weight:500;min-height:36px;padding:8px 25px;border-radius:var(--radius-row);transition:background .15s,color .15s}.workspace-tabs button:hover{background:#ffffff0b}.workspace-tabs button[aria-selected=true]{background:var(--surface);color:var(--paper);box-shadow:0 2px 5px #00000020}
.workspace{background:var(--window);border:1px solid var(--separator);border-radius:var(--radius-window);overflow:hidden;box-shadow:0 14px 40px #00000038;font-size:12px;line-height:18px;color:var(--text-primary);color-scheme:dark;scrollbar-color:#515155 var(--canvas)}
.workspace-topbar{height:42px;display:flex;align-items:center;gap:28px;padding:0 16px;border-bottom:1px solid var(--separator)}
.workspace-brand{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:500}.workspace-brand svg{width:14px;height:17px}.workspace-filename{font-size:10.5px;color:var(--text-secondary)}.workspace-example{margin-left:auto;font-size:10.5px;color:var(--text-secondary)}
.workspace-main{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:560px}
.chat-panel{min-width:0;background:var(--canvas);border-right:1px solid var(--separator);display:flex;flex-direction:column}
.chat-heading{height:42px;flex:none;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--separator);font-size:11.5px;font-weight:500}
.icon-button{height:28px;width:28px;display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:var(--radius-icon);background:transparent;color:var(--paper);flex:none}.icon-button:hover{background:var(--fill)}
.workflow-panel{padding:16px;flex:1;display:flex;min-height:0}
.workflow-panel>[role=tabpanel]{display:flex;flex-direction:column;width:100%;gap:18px}
.sample-prompt{align-self:flex-end;background:var(--paper);color:#1c1c1e;border-radius:var(--radius-bubble);padding:10px 16px;font-size:12px;line-height:18px;max-width:100%}
.assistant-message{font-size:12px;line-height:18px}.assistant-message>p{color:#c1c1c5}
.assistant-signature{display:flex;align-items:center;gap:7px;margin:0 0 9px;font-size:10.5px;font-weight:500;color:var(--text-secondary)}.assistant-signature svg{width:12px;height:14px}
.change-review{border:1px solid var(--separator);border-radius:var(--radius-button);padding:12px;background:transparent}
.review-heading{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:500}.review-heading>span:first-child{display:flex;align-items:center;gap:6px}.review-status{font-size:10.5px;color:var(--text-secondary);background:var(--fill);padding:1px 6px;border-radius:4px}
.diff-value{display:flex;align-items:center;gap:18px;margin:18px 0 10px;font-size:24px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.diff-value>span:first-child{color:var(--text-secondary)}.diff-value>.arrow-icon{width:16px;height:16px;color:var(--text-secondary)}.diff-value strong{font-weight:500}.diff-value small{font-size:10.5px;margin-left:5px;letter-spacing:0}.change-review>p{font-size:10.5px;color:var(--text-secondary)}
.prompt-composer{margin-top:auto;padding:16px;background:var(--canvas);border:1px solid var(--separator);border-radius:var(--radius-composer);box-shadow:0 8px 24px #00000026}
.prompt-composer>p:first-child{font-size:13px;font-weight:500;line-height:20px}.prompt-composer .change-status,.composer-hint,.simulation-note{display:block;font-size:11px;line-height:17px;color:var(--text-secondary);margin-top:6px}
.workspace-actions{margin-top:14px}.workspace .button{font-size:11.5px;line-height:16px;min-height:32px;padding:7px 14px;gap:18px}.prompt-composer>.button{margin-top:14px}.workspace-actions .quiet-button{display:block;margin:6px auto -6px;font-size:11px;min-height:32px}
.artifact-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--separator);border-radius:var(--radius-button);font-size:11.5px}.artifact-row>.ui-icon{width:22px;height:22px}.artifact-row small{display:block;font-size:10.5px;color:var(--text-secondary);margin-top:4px}
.inspector-list{margin:0}.inspector-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--separator);padding:11px 0;gap:10px;font-size:11px}.inspector-list dt{color:var(--text-secondary)}.inspector-list dd{margin:0;font-variant-numeric:tabular-nums}
.editor-panel{display:flex;flex-direction:column;min-width:0;background:var(--canvas)}
.editor-header{display:flex;align-items:center;gap:16px;padding:0 10px;height:42px;flex:none;border-bottom:1px solid var(--separator)}.shape-tab{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;border-radius:var(--radius-row);background:var(--fill);height:24px;padding:0 8px}.editor-file{font-size:10.5px;color:var(--text-secondary)}.editor-header>.icon-button{margin-left:auto}
.editor-toolbar{height:38px;flex:none;border-bottom:1px solid var(--separator);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px}
.tool-button{display:flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:var(--radius-row);background:transparent;color:var(--text-secondary);font-size:11.5px;font-weight:500}.tool-button:hover{background:#ffffff0b}.tool-button[aria-pressed=true],.tool-button[aria-expanded=true]{background:var(--fill);color:var(--paper)}
.canvas-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 192px;min-height:0;flex:1}.canvas-layout.features-hidden{grid-template-columns:1fr}
.model-stage{position:relative;min-width:0;min-height:460px;background:var(--canvas) url('figma/imgFrame4.png') center/auto 100% no-repeat;overflow:hidden}
.viewport-label{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-secondary);z-index:1;pointer-events:none}
.stage3d{position:absolute;inset:0;--pd:380;--px:50;--py:49}.stage3d canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.model-fallback{position:absolute;inset:30px;display:grid;align-content:center;text-align:center;font-size:12px;color:var(--muted)}
.model-toolbar{position:absolute;bottom:10px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10.5px;color:#c1c1c5}.model-toolbar button{font-size:10.5px;white-space:nowrap}
.feature-tree{padding:8px;border-left:1px solid var(--separator);display:flex;flex-direction:column;min-width:0;background:var(--canvas)}
.feature-search input{width:100%;height:28px;border:1px solid var(--separator);border-radius:var(--radius-row);background:var(--canvas);padding:0 8px;font-size:10.5px;color:var(--paper)}.feature-search input::placeholder{color:#99999f;opacity:1}
.file-row{display:flex;justify-content:space-between;gap:8px;padding:0 6px;font-size:10.5px;font-weight:500;margin:21px 0 9px}.file-row>span{color:var(--text-secondary);font-weight:400}
.feature-tree ul{padding:0;list-style:none;margin:0}.feature-tree li{margin:2px 0}.feature-tree li button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 6px;border-radius:var(--radius-icon);background:transparent;text-align:left;font-size:10.5px;font-weight:500;line-height:15px}.feature-tree li button:hover{background:#ffffff08}.feature-tree li button.feature-active{background:var(--fill)}.feature-tree li .ui-icon{width:13px;height:13px}.feature-tree li small{margin-left:auto;font-size:9px;color:var(--text-secondary);font-weight:400;white-space:nowrap}
.feature-empty{font-size:11px;color:var(--text-secondary);padding:15px 6px}.source-preserved{margin-top:auto;padding:20px 6px 4px;font-size:10px;line-height:15px;color:var(--text-secondary)}
.workspace-statusbar{height:30px;border-top:1px solid var(--separator);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 16px;font-size:10px;color:var(--text-secondary)}
.workspace.is-expanded{position:fixed;inset:24px;z-index:60;display:flex;flex-direction:column;box-shadow:0 0 0 30px #161618e8;max-width:none}.workspace.is-expanded .workspace-main{flex:1;min-height:0}.workspace.is-expanded .workspace-statusbar,.workspace.is-expanded .workspace-topbar{flex:none}.workspace.is-expanded .model-stage{min-height:200px}.workspace.is-expanded .chat-panel{overflow:auto}
.workspace.is-guided .workspace-main{grid-template-columns:320px minmax(0,1fr);min-height:450px}
.is-guided .editor-header,.is-guided .editor-toolbar,.is-guided .feature-tree,.is-guided .viewport-label,.is-guided .model-toolbar button,.is-guided .workspace-statusbar{display:none}
.is-guided .canvas-layout{grid-template-columns:1fr}
.is-guided .workflow-panel{padding:12px;align-items:flex-start}
.is-guided .workflow-panel>[role=tabpanel]{gap:16px}
.is-guided .sample-prompt{font-size:13px;line-height:20px}
.is-guided .assistant-message{font-size:13px;line-height:20px}
.is-guided #workflow-prepare .inspector-list{display:none}
.is-guided[data-playback="playing"] .review-actions,.is-guided[data-playback="playing"] .prepare-action{display:none}
.is-guided .model-stage{min-height:450px}
.is-guided .stage3d{--pd:420;--py:44}
.is-guided .change-review{padding:18px;background:var(--window);transition:border-color .3s}
.is-guided[data-change="preview"] .change-review,.is-guided[data-change="applied"] .change-review{border-color:#77777f}
.is-guided .diff-value{font-size:30px;margin:24px 0 15px}
@media(max-width:1100px){.workspace.is-guided .workspace-main{grid-template-columns:280px minmax(0,1fr)}.is-guided .stage3d{--pd:360}}
@media(max-width:800px){.workspace.is-guided .workspace-main{grid-template-columns:250px minmax(0,1fr)}.is-guided .workflow-panel{padding:22px 18px}.is-guided .stage3d{--pd:310}}
@media(max-width:600px){.workspace.is-guided .workspace-main{min-height:0}.is-guided .model-stage{height:270px;min-height:270px}.is-guided .stage3d{--pd:270;--py:43}.is-guided .workflow-panel{padding:22px;min-height:320px}.is-guided .workflow-panel>[role=tabpanel]{gap:18px}.is-guided .sample-prompt{max-width:100%}.is-guided .change-review{padding:14px}.is-guided .diff-value{margin:17px 0 10px;font-size:27px}.is-guided .model-toolbar{bottom:14px}}
/* Match the 14-inch MacBook Pro display proportions (3024 × 1964). */
@media(min-width:801px){
  .workspace:not(.is-expanded){width:100%;max-width:1040px;aspect-ratio:3024/1964;margin-inline:auto;display:flex;flex-direction:column}
  .workspace:not(.is-expanded) .workspace-topbar{flex:0 0 42px}
  .workspace:not(.is-expanded) .workspace-statusbar{flex:0 0 30px}
  .workspace:not(.is-expanded) .workspace-main{flex:1;min-height:0;grid-template-columns:300px minmax(0,1fr)}
  .workspace:not(.is-expanded) .chat-panel{overflow:hidden}
  .workspace:not(.is-expanded) .editor-panel{min-height:0}
  .workspace:not(.is-expanded) .model-stage{height:auto;min-height:0}
  .workspace.is-guided:not(.is-expanded) .stage3d{--py:46}
  .workspace.is-guided:not(.is-expanded) .diff-value{gap:12px;font-size:28px}
}
/* Conversation scrolls independently; the Figma composer stays at the pane bottom. */
.chat-panel .chat-heading{display:flex;flex-shrink:0}
.chat-panel .workflow-panel{overflow-y:auto;overscroll-behavior:contain;align-items:flex-start}
.chat-panel .workflow-panel>[role=tabpanel]{flex-shrink:0}
.chat-panel .sample-prompt{max-width:94%}
.chat-panel .prompt-composer{display:block;flex:none;margin:12px;padding:16px;background:var(--canvas)}
.prompt-composer textarea{display:block;width:100%;height:60px;padding:0;border:0;resize:none;background:transparent;color:var(--paper);font:500 13px/20px Inter,sans-serif;caret-color:var(--paper);outline:none}
.prompt-composer textarea::placeholder{color:#99999f;opacity:1}
.prompt-composer:focus-within{border-color:#77777f}
.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.composer-example{display:inline-flex;align-items:center;gap:7px;background:none;color:var(--text-secondary);font-size:10.5px;min-height:32px;padding:0 4px;border-radius:var(--radius-icon)}
.composer-example:hover{background:var(--fill);color:var(--paper)}
.composer-example img{width:11px;height:11px}
.composer-send{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;background:var(--surface);border-radius:50%;color:var(--paper)}
.composer-send img{width:24px;height:24px}
.composer-send:hover:not(:disabled){background:#444448}.composer-send:disabled{opacity:.35;cursor:default}
.prompt-composer #composer-feedback{font-size:11px;font-weight:400;line-height:17px;color:#c1c1c5;margin:8px 0}
.review-actions .change-status{font-size:11px;line-height:17px;color:var(--text-secondary)}
.review-actions .workspace-actions{margin-top:10px}
@media(max-width:800px){.is-guided .workflow-panel{padding:12px}}
@media(max-width:600px){.chat-panel .workflow-panel{height:360px;min-height:0;max-height:360px;padding:16px;flex:0 0 360px}.chat-panel .prompt-composer{margin:12px 16px 16px}.prompt-composer textarea{font-size:16px;line-height:22px;height:66px}.composer-example,.composer-send{min-height:44px}.composer-send{width:44px}.chat-panel .chat-heading{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.mini-tree .tree-line{position:relative;justify-content:flex-start;gap:9px;min-height:37px;line-height:1.3}
.mini-tree .feature-glyph{width:17px;height:17px;flex:0 0 17px;color:#b8b8c0}
.mini-tree .feature-name{font:inherit;color:inherit;white-space:nowrap}
.mini-tree .tree-line>span{margin-left:auto;white-space:nowrap;line-height:1.3}
.mini-tree .tree-line:not(.indent){gap:8px;font-weight:500;margin-bottom:4px}
.mini-tree .tree-line:not(.indent) .feature-glyph:first-child{width:12px;flex-basis:12px}
.mini-tree .tree-line.indent{padding-left:31px}
.mini-tree .tree-line.indent:before{content:'';position:absolute;left:6px;top:-18px;height:37px;width:16px;border-left:1px solid #ffffff24;border-bottom:1px solid #ffffff24;border-bottom-left-radius:3px}
.mini-tree .tree-line.selected{margin-inline:0;padding-right:8px;background:#ffffff13}
.mini-tree .selected .feature-glyph{color:#ececf1}
@media(min-width:801px) and (max-width:1100px){.mini-tree .tree-line{gap:6px}.mini-tree .tree-line.indent{padding-left:23px}.mini-tree .feature-glyph{width:15px;height:15px;flex-basis:15px}.mini-tree .tree-line.indent:before{width:11px}.mini-tree .tree-line:last-child>span{font-size:8px}}
@media(max-width:600px){.mini-tree .tree-line{gap:7px}.mini-tree .tree-line:last-child>span{font-size:9px}}
/* Thermal result specimen adapted from Dimension Engine graph 1553:7925. */
.thermal-preview{--chart-blue:#78b9ff;display:flex;flex-direction:column;background:#252528;padding:22px 24px}
.thermal-session{display:flex;align-items:center;justify-content:space-between;font-size:13px;line-height:20px;color:#f5f5f7}.thermal-session>span:last-child{font-size:9px;letter-spacing:.07em;color:#b8b8bf}
.thermal-heading{display:flex;justify-content:space-between;align-items:center;margin-top:17px;margin-bottom:12px}
.thermal-heading p{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.02em}.thermal-heading>div>span{font-size:12px;color:#b8b8bf}.thermal-reading{text-align:right;line-height:1}.thermal-reading strong{font-size:32px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.thermal-reading>span{margin-left:4px}.thermal-reading small{display:block;margin-top:7px;font-size:11px;color:#b8b8bf;font-variant-numeric:tabular-nums}
.thermal-plot{width:100%;height:126px;overflow:visible;flex:none;cursor:crosshair}.thermal-grid path{fill:none;stroke:#ffffff15;stroke-width:1}.thermal-labels{font-size:10px;fill:#b8b8bf;font-family:Inter,sans-serif}.thermal-series{fill:none;stroke:var(--chart-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.thermal-inspection path{stroke:var(--chart-blue);stroke-opacity:.45;stroke-dasharray:3 3}.thermal-inspection circle{fill:var(--chart-blue);stroke:#252528;stroke-width:2}
.thermal-context{display:flex;align-items:center;gap:15px;border-top:1px solid #ffffff12;padding-top:12px;margin-top:auto;font-size:11px;color:#b8b8bf}.thermal-context b{font-weight:500;color:#f5f5f7;margin-left:3px}.thermal-context>span:last-child{margin-left:auto;font-size:10px}
@media(min-width:801px) and (max-width:1100px){.thermal-preview{padding:22px 16px}.thermal-context{gap:8px}.thermal-context>span:last-child{display:none}.thermal-heading p{font-size:16px}}
@media(max-width:600px){.thermal-preview{padding:22px 24px}.thermal-context{gap:12px}}
/* Walkthrough performance — each step is typed, sent, answered, then resolved.
   Default (no data-stage) is the finished frame, so nothing depends on script timing. */
.workflow-panel [role=tabpanel]>*{transition:opacity .45s var(--ease-out),transform .6s var(--ease-out),filter .45s var(--ease-out),clip-path .7s var(--ease-out)}
.workflow-panel [data-stage]>*{opacity:0;transform:translateY(10px);filter:blur(4px)}
.workflow-panel [data-stage]>.sample-prompt{transform:translateY(44px) scale(.94);transform-origin:100% 100%;filter:blur(6px)}
.workflow-panel [data-stage]>.change-review{transform:none;filter:none;clip-path:inset(0 0 100% 0 round 9px)}
.workflow-panel [data-stage=compose]>*{transition:none}
.workflow-panel [data-stage=sent]>.sample-prompt,
.workflow-panel [data-stage=reply]>:is(.sample-prompt,.assistant-message),
.workflow-panel [data-stage=result]>:is(*,.sample-prompt){opacity:1;transform:none;filter:none}
.workflow-panel [data-stage=result]>.change-review{clip-path:inset(0 0 0 0 round 9px)}
.workflow-panel [data-stage=result]>:nth-child(n+4){transition-delay:.12s}
.workflow-panel [data-stage] .inspector-list>div{opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease-out),transform .5s var(--ease-out)}
.workflow-panel [data-stage=result] .inspector-list>div{opacity:1;transform:none}
.workflow-panel [data-stage=result] .inspector-list>div:nth-child(2){transition-delay:.08s}.workflow-panel [data-stage=result] .inspector-list>div:nth-child(3){transition-delay:.16s}
.assistant-message .word{animation:word-in .5s var(--ease-out) both;animation-delay:calc(var(--i) * 38ms)}
@keyframes word-in{from{opacity:0;filter:blur(3px)}}
/* Composer: the request is typed in, the send control arms, then presses. */
.prompt-composer{transition:border-color .25s}
.prompt-composer.is-armed{border-color:#5d5d63}
.composer-send{transition:background .2s,opacity .2s,transform .14s var(--ease-out)}
.prompt-composer.is-armed .composer-send:disabled{opacity:1;background:var(--paper)}
.prompt-composer.is-armed .composer-send img{filter:invert(1)}
.prompt-composer.is-sending .composer-send{transform:scale(.86)}
/* Review state reads at a glance: proposed value is quiet until previewed. */
.diff-value strong{transition:opacity .35s}
.workspace[data-change=original] .diff-value strong{opacity:.48}
.workspace[data-change=preview] .change-review{border-color:#5b7bff8c}
.workspace[data-change=applied] .change-review{border-color:#6e6e75}
.change-review.is-committed{animation:commit .9s var(--ease-out)}
@keyframes commit{from{box-shadow:0 0 0 4px #5b7bff40}to{box-shadow:0 0 0 12px #5b7bff00}}
.review-status{display:inline-flex;align-items:center;gap:6px;transition:background .25s,color .25s}
.review-status::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.review-status[data-state=preview]{color:#d3dbff;background:#5b7bff2e}
.review-status[data-state=preview]::before{background:var(--blue);opacity:1;animation:ping 1.4s ease-out 2}
.review-status[data-state=applied]{color:var(--paper)}
.review-status[data-state=applied]::before{width:10px;height:10px;border-radius:0;opacity:1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='m1.5 5.2 2.3 2.3 4.7-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='m1.5 5.2 2.3 2.3 4.7-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;animation:check-draw .4s var(--ease-out) .05s both}
.review-status.is-swapping>span{animation:chip-swap .3s var(--ease-out)}
@keyframes chip-swap{from{opacity:0;transform:translateY(4px)}}
@keyframes ping{0%{box-shadow:0 0 0 0 #5b7bff99}100%{box-shadow:0 0 0 6px #5b7bff00}}
@keyframes check-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
/* Story progress under the active stage tab; frozen while paused or off screen. */
.workspace-tabs button{position:relative}
.workspace-tabs button::after{content:'';position:absolute;left:16px;right:16px;bottom:5px;height:1.5px;border-radius:1px;background:currentColor;opacity:.5;transform:scaleX(0);transform-origin:left;pointer-events:none}
.workspace-tabs button.is-timing::after{animation:story-progress var(--story-dur) linear var(--story-delay) both;animation-play-state:paused}
.workspace-tabs[data-running] button.is-timing::after{animation-play-state:running}
@keyframes story-progress{to{transform:scaleX(1)}}
.workflow-panel [role=tabpanel]>.change-review{transition:clip-path .7s var(--ease-out),border-color .3s}
.review-status{padding:3px 8px 3px 7px;font-size:11px;line-height:14px;border-radius:6px}

/* Section reveals — Apple-style and restrained: content rises 24px into place once, product
   surfaces also settle from 96.5%. Armed by an inline head script only when motion is allowed. */
html.motion-ok :is(.hero-first,.hero-second,.hero-cad,.hero-bottom,.partner-caption,.partner-logos img,.intro h2,.intro>p,.intro-points li,.section-heading h2,.section-heading>p,.capability,.center-heading h2,.center-heading>p,.workspace-tabs,.workspace,.review-document,.detail-list>div,.bridge h2,.bridge p,.bridge .button,.customer-tabs,.customer-story,.about h2,.about-grid>div,.faq h2,.faq-list details,.demo h2,.demo-bottom):not(.is-revealed){opacity:0;transform:translate3d(0,24px,0)}
html.motion-ok :is(.hero-cad,.workspace,.review-document):not(.is-revealed){transform:translate3d(0,32px,0) scale(.965)}
html.motion-ok .is-revealing{transition:opacity .9s var(--ease-out) var(--reveal-delay,0ms),transform 1.1s var(--ease-out) var(--reveal-delay,0ms)!important}

/* App specimen on DS controls: app buttons sit on the control surface; review state uses
   blue for the preview (selection) and green for the applied change (success). */
.workspace{box-shadow:var(--shadow-popover)}
.workspace .button,.workspace .button.paper{background:var(--surface-control);color:var(--content-primary);border-color:var(--border-default);font-size:12px}
.workspace .button:hover{background:var(--surface-floating)}.workspace .button:active{background:var(--grey-600)}
.mini-tree .feature-glyph{color:var(--content-secondary)}.mini-tree .selected .feature-glyph{color:var(--content-primary)}
.review-status[data-state=preview]{color:var(--link);background:var(--selection-bg)}
.review-status[data-state=applied]{color:var(--success);background:var(--success-tint)}
.workspace[data-change=preview] .change-review{border-color:var(--selection-border)}
.workspace[data-change=applied] .change-review{border-color:var(--success-border)}
@keyframes commit{from{box-shadow:0 0 0 4px rgba(119,169,135,.3)}to{box-shadow:0 0 0 12px rgba(119,169,135,0)}}

/* Responsive */
@media(min-width:1500px){.hero-art{width:860px}}
@media(max-width:1100px){
  :root{--section-y:112px;--heading-gap:48px}
  :root{--gutter:64px}.nav-shell{gap:20px}.nav-shell nav{gap:22px}.brand{width:150px}
  .hero-art{width:700px}.hero .button{gap:10px;padding-inline:16px}
  .section-heading{gap:48px}.capabilities{gap:18px}
  .detail-grid,.customer-story,.about-grid,.faq{gap:56px}.footer-grid{gap:24px}
  .workspace-main{grid-template-columns:280px minmax(0,1fr)}.canvas-layout{grid-template-columns:minmax(0,1fr) 160px}.stage3d{--pd:310}.feature-tree li button{gap:5px}.feature-tree li small{display:none}.model-toolbar{flex-wrap:wrap;row-gap:0}
}
@media(min-width:801px) and (max-width:1100px){
  .mini-ui{padding:22px 16px}.mini-title{font-size:12px}.mini-title>span{font-size:11px}.mini-request>p{font-size:16px;padding:13px}
  .request-diff{font-size:24px;gap:10px}.request-diff .pill{display:none}.tree-line,.tree-line span{font-size:12px}
  .thermal-preview{padding:22px 16px}.thermal-context{gap:8px}.thermal-context>span:last-child{display:none}.thermal-heading p{font-size:16px}
}
@media(max-width:800px){
  :root{--section-y:96px;--heading-gap:40px}
  :root{--gutter:48px}.nav-shell nav{gap:18px;font-size:13px}.nav-shell nav a:nth-child(4){display:none}.nav-shell .brand{width:137px}
  .hero{--pt:44px;--hf:clamp(40px,7.1vw,57px)}.hero-art{max-width:88%}
  .hero-bottom{margin-top:64px;flex-direction:column;align-items:flex-start;gap:24px}.hero-actions{align-self:flex-end}
  .partner-logos{gap:56px}.partner-logos img{max-width:24%;max-height:34px}
  .section-heading{gap:32px}
  .capabilities{grid-template-columns:1fr;gap:48px}
  .capability{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:auto auto 1fr;gap:0 28px}.cap-number{grid-column:1}
  .mini-ui{grid-column:2;grid-row:1/4;margin:0;height:300px;padding:22px}.capability h3{margin-top:20px}.request-diff .pill{display:none}
  .detail-grid{grid-template-columns:1fr;gap:48px}.review-document{padding:24px}
  .customer-story{gap:40px;grid-template-columns:.65fr 1fr}.about-grid{gap:40px}.faq{grid-template-columns:1fr;gap:32px}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:28px}.footer-grid>div:last-child{grid-column:1/-1}
  .workspace-main{grid-template-columns:260px minmax(0,1fr)}.canvas-layout{grid-template-columns:1fr}.feature-tree{display:none}.canvas-layout:not(.features-hidden) .feature-tree{display:flex;position:absolute;right:0;top:0;bottom:0;width:180px;z-index:5;box-shadow:-8px 0 24px rgba(0,0,0,.3)}.editor-file{display:none}.stage3d{--pd:300}.workspace-topbar{gap:18px}.workflow-panel{padding:12px}.sample-prompt{padding:10px 13px}.prompt-composer{padding:13px}
}
@media(max-width:600px){
  :root{--section-y:72px;--heading-gap:32px;--fs-display-m:clamp(30px,8vw,34px)}
  :root{--gutter:40px}html{scroll-padding-top:76px}
  .nav-shell{width:calc(100% - 40px);height:60px;gap:14px}.nav-shell .brand{width:132px;min-height:44px;display:flex;align-items:center}
  .nav-cta{margin-left:auto}.nav-cta .arrow-icon{width:14px;height:14px}
  .menu-toggle{display:block;background:none;padding:8px 0;font-size:var(--fs-caption);font-weight:500;min-height:44px}
  .nav-shell nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--surface-app);padding:20px 20px 24px;border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-popover)}
  .nav-shell nav.is-open{display:flex;flex-direction:column;gap:20px;font-size:16px}.nav-shell nav a:nth-child(4){display:block}
  .hero{--pt:28px;--hf:clamp(38px,9.8vw,56px);--lh:1.06;--art-h:360px;--off:42px;--gap:248px;padding-bottom:40px}
  .hero-first,.hero-second{max-width:none}.hero-art{width:430px;max-width:113%}.hero-cad{--pd:270}
  .cad-reveal-control{width:270px;gap:10px}.cad-reveal-control input{width:104px;min-height:40px}
  .hero-bottom{margin-top:56px;gap:24px}.hero-tagline{font-size:20px}.hero-description{font-size:15px}
  .hero-actions{align-self:stretch}.hero .button-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero .button{min-height:46px;font-size:var(--fs-caption);padding-inline:10px;gap:8px}
  .partners{padding-block:32px 44px}.partner-logos{gap:24px;margin-top:24px}.partner-logos img{max-width:25%;max-height:28px}.partner-logos img:last-child{max-width:36%}
  .intro>p{font-size:17px;margin-top:22px}.intro-points{grid-template-columns:1fr;gap:16px;margin-top:40px}
  .section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p{font-size:17px}
  .capabilities{gap:56px}
  .capability{display:flex}.mini-ui{height:302px;margin:20px 0 24px;padding:24px}.mini-request>p{font-size:18px}
  .workspace-tabs{margin:32px auto 20px}.workspace-tabs button{min-height:40px;padding-inline:20px}
  .workspace-topbar{height:42px;padding:0 12px;gap:12px}.workspace-brand{font-size:11px}.workspace-example{font-size:10.5px}.workspace-main{display:flex;flex-direction:column;min-height:0}.editor-panel{order:0}.chat-panel{order:1;border-right:0;border-top:1px solid var(--separator)}.chat-heading{display:none}.editor-header{height:36px}.editor-toolbar{height:36px}.editor-file{display:block;font-size:11px}.model-stage{height:285px;min-height:285px}.stage3d{--pd:270;--py:43}.viewport-label{top:13px;left:13px;right:13px;font-size:11px}.model-toolbar{bottom:5px;left:13px;right:13px;flex-direction:column;align-items:flex-start;gap:0;font-size:11px}.model-toolbar button{font-size:11px;min-height:40px}
  .workflow-panel{padding:16px}.workflow-panel>[role=tabpanel]{gap:18px}.sample-prompt{font-size:12px;max-width:280px;padding:10px 16px}.assistant-message{font-size:12px;line-height:19px}.assistant-signature{margin-bottom:7px}.change-review{padding:13px}.diff-value{margin:15px 0 10px}.prompt-composer{padding:16px;margin-top:0}.workspace .button{min-height:40px;font-size:12px}.workspace-statusbar{height:34px;font-size:11px;padding-inline:12px}.workspace.is-expanded{inset:8px;overflow:auto}.workspace.is-expanded .workspace-main{flex:none}.workspace.is-expanded .chat-panel{overflow:visible}.workspace.is-expanded .model-stage{min-height:285px}
  .review-document{padding:22px}.review-document th,.review-document td{padding:12px 6px}.document-top .pill{font-size:11px}
  .document-bottom a{white-space:nowrap}
  .case-copy h3 br,.center-heading>p br,.bridge p br,.demo-bottom>p br,.intro>p br{display:none}
  .center-heading>p,.bridge p,.demo-bottom>p{text-wrap:pretty}
  .customer-tabs{grid-template-columns:1fr}.customer-tabs button{text-align:left;padding:12px 14px}
  .customer-story{grid-template-columns:1fr;gap:32px;padding-top:36px;min-height:0}.case-label{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-default)}.case-label img{max-width:120px;max-height:36px;width:auto}.case-label .eyebrow{text-align:right;font-size:12px}
  .about{padding-block:72px}.about-grid{grid-template-columns:1fr;gap:28px}.about-grid>div>p{font-size:24px}
  .faq summary{font-size:16px;padding-block:20px}.faq summary:after{top:26px}
  .demo-bottom{display:block;margin-top:28px}.demo-bottom>.button{margin-top:28px;width:100%}
  .footer{padding-top:44px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .brand{width:172px}.footer-grid>div:first-child p{margin:18px 0 12px}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{margin-top:36px;gap:20px}.footer-wordmark{font-size:11vw;margin-top:24px}
  
}
@media(max-width:360px){.nav-shell{gap:10px}.nav-shell .brand{width:117px}.nav-cta{padding-inline:10px;gap:6px}.hero .button{font-size:12px;padding-inline:8px;gap:6px}.hero-description{font-size:14px}.model-toolbar{gap:5px;font-size:10.5px}.workspace-example{font-size:10.5px}.document-top{flex-wrap:wrap}}
