/* Shared reading scale. Loaded last: these deliberate typography overrides replace
   older page-specific 9–13px copy without changing decorative template thumbnails.
   rem preserves user font preferences; viewport terms only gently enlarge type. */
:root{
  --type-body:clamp(1.125rem,1.05rem + .3vw,1.1875rem);
  --type-lead:clamp(1.25rem,1.16rem + .4vw,1.375rem);
  --type-support:1rem;
  --type-meta:.875rem;
  --type-control:1rem;
  --type-h1:clamp(2.5rem,1.75rem + 3vw,4.5rem);
  --type-h2:clamp(1.875rem,1.5rem + 1.5vw,3rem);
  --type-h3:clamp(1.375rem,1.25rem + .45vw,1.625rem);
  --type-reading-leading:1.65;
}
body{font-size:var(--type-body);line-height:var(--type-reading-leading)}
/* Main copy and controls. Miniature artwork and the embedded Studio canvas retain
   their independent scale; full public profiles and templates use this scale. */
body main :is(p,li,blockquote,dd):not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *,[aria-hidden="true"] *)){
  font-size:var(--type-body)!important;line-height:var(--type-reading-leading)!important;
}
body main p:not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){overflow-wrap:break-word}
body :is(main,.site-header,.platform-footer) :is(button,input,select,textarea,label,summary):not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){
  font-size:var(--type-control)!important;line-height:1.5!important;
}
body main :is(input,select,textarea){max-width:100%;min-width:0}
body main :is(button,.button,.v-button,.rf-button,.tpl-primary,.tpl-filter-button){white-space:normal;min-height:2.75rem}
body main :is(.button,.v-button,.rf-button,.tpl-primary,.tpl-filter-button,.cl-button){font-size:var(--type-control)!important;line-height:1.5!important;max-width:100%;text-align:center}
body main :is(small,figcaption,time):not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *,[aria-hidden="true"] *)){
  font-size:var(--type-meta)!important;line-height:1.5!important;
}
body main :is(h1,h2,h3){overflow-wrap:break-word}
body main h1:not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){font-size:var(--type-h1)!important;line-height:1.12!important}
body main h2:not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){font-size:var(--type-h2)!important;line-height:1.2!important}
body main h3:not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){font-size:var(--type-h3)!important;line-height:1.3!important}
/* Introductory paragraphs and true secondary copy have distinct, readable roles. */
body main :is(.v-lead,.social-hero>div>p:first-of-type,.rf-hero-copy>p:not(.rf-note),.tpl-hero-grid>div>p:not(.eyebrow):not(.tpl-hero-caption),.inner-hero>p:not(.eyebrow):not(.social-eyebrow):not(.social-note)){
  font-size:var(--type-lead)!important;line-height:1.6!important;max-width:60ch;
}
body main :is(.v-caption,.v-method p,.v-research p,.v-research li,.v-callout small,.v-investor small,.v-art-footnote,.v-hero-stats span,.social-note,.rf-note,.rf-small,.ref-small,.cl-note,.tpl-hero-caption,.tpl-result,.chat-small,.chat-empty-tip,.crd-note,.sw-help,.sw-field-help){
  font-size:var(--type-support)!important;line-height:1.6!important;
}
body main :is(.eyebrow,.social-eyebrow,.v-kicker,.v-market-label,.rf-eyebrow,.rf-eyebrow-light,.cl-eyebrow,.space-opportunity-eyebrow,.tpl-collection>header>span){
  font-size:var(--type-meta)!important;line-height:1.5!important;letter-spacing:.08em!important;
}
body main :is(.v-price,.v-section-nav a,.v-theme-label,.v-card-top>span,.v-diagram-top,.v-live,.v-core strong,.v-core small,.v-node span,.v-node-caption,.v-diagram-bottom,.v-flow-step strong,.v-flow-step>span,.v-growth-return,.v-growth-art b){
  font-size:var(--type-meta)!important;line-height:1.5!important;
}
body main :is(.v-price,.v-section-nav a,.v-node span,.v-node-caption,.v-flow-step strong){font-size:var(--type-support)!important}
body main :is(table,th,td){font-size:var(--type-support)!important;line-height:1.55!important}
body main th,body main td{overflow-wrap:break-word}
body main :is(.v-table-wrap,.creator-table-wrap,.crd-table-wrap,.ref-table-wrap){max-width:100%;overflow:auto}
body main .v-table{min-width:65rem}
/* Shared navigation, footer, breadcrumbs, and account menus. */
body .site-header :is(.site-nav-link,.site-dropdown>summary,.site-nav-cta,.site-signout button,.site-menu-toggle),body .site-dropdown-links>a{
  font-size:var(--type-control)!important;line-height:1.5!important;
}
body .site-dropdown-links{width:22rem;max-width:calc(100vw - 2rem)}
body .site-dropdown-links small,body .site-breadcrumbs,body .platform-footer-bottom{font-size:var(--type-meta)!important;line-height:1.6!important}
body .platform-footer a,body .platform-footer-links h2{font-size:var(--type-support)!important;line-height:1.6!important}
body .site-brand{font-size:.875rem!important}
body .site-navigation{flex-wrap:wrap}
body .platform-footer-links>div{min-width:0}
/* Reading pages: keep lines comfortable on wide monitors. */
body.platform-reading .platform-reading-content,body.platform-reading .legal-copy,body .smart-article-body{max-width:70ch;margin-inline:auto}
body.platform-reading main :is(p,ul,ol){max-width:70ch}
body.platform-reading main :is(h2,h3){margin-top:1.6em}
body.platform-reading main p+p{margin-top:1em}
/* Vision's previous small labels were constrained by absolute-position artwork. */
body.vision-page .v-hero h1{max-width:13ch}
body.vision-page .v-hero .v-lead{font-size:var(--type-lead)!important;line-height:1.6!important}
body.vision-page .v-hero-grid{align-items:center}
body.vision-page .v-architecture{margin-top:24rem;transform:none;padding:1.5rem}
body.vision-page .v-diagram-top{flex-wrap:wrap;gap:.5rem;letter-spacing:.04em}
body.vision-page .v-orbit{height:19rem;max-width:100%}
body.vision-page .v-node{width:7rem;min-height:3.5rem;padding:.5rem;gap:.375rem}
body.vision-page .v-core{width:8.5rem;min-height:7.5rem;height:auto;padding:.75rem;gap:.35rem}
body.vision-page .v-core strong{font-size:.875rem!important;letter-spacing:.02em}
body.vision-page .v-core small{font-size:.875rem!important}
body.vision-page .v-core img{width:2.25rem;height:2.25rem}
body.vision-page .v-node-0,body.vision-page .v-node-2{left:0}
body.vision-page .v-node-1,body.vision-page .v-node-3{right:0}
body.vision-page .v-node-caption{min-height:3.2em;max-width:100%}
body.vision-page .v-diagram-bottom{flex-wrap:wrap;gap:.65rem}
body.vision-page .v-hero-collage small{font-size:.875rem!important;letter-spacing:.04em}
body.vision-page .v-hero-collage strong{font-size:1.125rem;line-height:1.35}
body.vision-page .v-hero-collage figcaption{padding:1rem}
body.vision-page .v-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
body.vision-page .v-section-head>p{max-width:60ch}
body.vision-page .v-card h3{margin-bottom:.7em}
body.vision-page .v-market article{padding:2rem 1.5rem}
body.vision-page .v-market strong{font-size:clamp(2.5rem,2rem + 1.5vw,3.625rem);line-height:1.15}
body.vision-page .v-market strong small{font-size:1rem!important}
body.vision-page .v-market-art p{max-width:55ch}
body.vision-page .v-growth-art>span{width:7.5rem;height:7.5rem}
body.vision-page .v-flow-step{min-width:0;padding:1.25rem}
body.vision-page .v-flow-detail{min-height:0;padding:2rem}
body.vision-page .v-research h2{font-size:var(--type-h3)!important}
body.vision-page .v-story-journey strong{font-size:var(--type-h3);line-height:1.3}
body.vision-page .v-story-journey small{font-size:var(--type-support)!important}
body.vision-page .v-story-journey>div>span{flex-shrink:0}
body.vision-page .v-callout small{grid-column:1/-1}
body.vision-page .v-investor .v-button{flex-shrink:1}
/* Account text: protect descriptions implemented as spans rather than paragraphs. */
body :is(.sw-new-mode>span:not(.sw-card-icon),.sw-new-mode>b,.crd-nav a,.crd-card>a,.chat-compose-note,.chat-thread-preview,.booking-meta,.space-nav-caption){font-size:var(--type-support)!important;line-height:1.6!important}
body :is(.sw-new-space,.crd-workspace,.chat-workspace) :is(p,small,label,button){overflow-wrap:break-word}
@media(min-width:1600px){body.vision-page .v-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1039px){body .site-dropdown-links{width:100%;max-width:none}body .site-header-inner{align-items:center}}
@media(max-width:900px){
  body.vision-page .v-market{grid-template-columns:1fr}
  body.vision-page .v-market article+article{border-left:0;border-top:1px solid var(--v-border)}
  body.vision-page .v-hero-grid{grid-template-columns:1fr}
  body.vision-page .v-hero-shell{display:flex;flex-direction:column}
  body.vision-page .v-hero-grid{display:contents!important}
  body.vision-page .v-hero-grid>div:first-child{order:1;padding-bottom:2rem}
  body.vision-page .v-hero-collage{order:2;position:static;display:flex;width:100%;max-width:36rem;height:auto;gap:1rem;margin:1rem auto 2rem;align-items:start}
  body.vision-page .v-hero-collage figure,body.vision-page .v-hero-collage figure+figure{position:static;width:50%;transform:none;border-width:4px;min-width:0}
  body.vision-page .v-hero-collage img{height:11rem}
  body.vision-page .v-hero .v-architecture{order:3;margin:0 auto 2rem;width:100%;max-width:36rem}
  body.vision-page .v-hero-stats{order:4}
}
@media(max-width:650px){
  body.vision-page .v-grid-four,body.vision-page .v-section-head{grid-template-columns:1fr}
  body.vision-page .v-hero-stats{grid-template-columns:1fr;gap:1rem}
  body.vision-page .v-hero-stats>div{padding:0 0 1rem;border:0;border-bottom:1px solid #ffffff25}
  body.vision-page .v-hero-stats>div:last-child{border:0;padding-bottom:0}
  body.vision-page .v-hero-collage small{font-size:.875rem!important}
  body.vision-page .v-hero-collage strong{font-size:1rem}
  body.vision-page .v-hero-collage figcaption{padding:.75rem .4rem}
  body.vision-page .v-hero-collage img{height:9rem}
  body.vision-page .v-architecture{padding:1rem}
  body.vision-page .v-node{width:6.5rem}
  body.vision-page .v-growth-art{grid-template-columns:repeat(2,1fr);row-gap:1.5rem}
  body.vision-page .v-growth-art>span::after{display:none}
  body.vision-page .v-growth-art>span{width:7rem;height:7rem}
  body.vision-page .v-growth-return{grid-column:1/-1}
  body.vision-page .v-product-story{grid-template-columns:1fr}
  body.vision-page .v-story-journey{padding:1.5rem}
  body.vision-page .v-actions{align-items:stretch}
  body.vision-page .v-actions>a{width:100%}
  body .platform-footer-links{grid-template-columns:1fr 1fr}
  body main :is(.rf-actions,.cl-actions,.crd-actions){flex-wrap:wrap}
}
/* Audit follow-up: template details, small links, and labels outside paragraphs. */
body main a:not(:where(.tpl-mini-scene *,.preview-device *,[data-template-preview] *)){
  font-size:max(1rem,1em)!important;line-height:1.5!important;
}
html body main :is(.tc-detail,.tc-link,.tpl-use,.tpl-preview-overlay,.home-featured-visit,.sw-back,.crd-text-link,.reading-support,.space-explore-link,.space-story-link,.industry-profession){font-size:var(--type-support)!important;line-height:1.6!important}
html body main :is(.tc-meta,.tpl-style-badge,.tpl-card-copy>span,.tpl-metrics span,.tpl-stack-design>span,.directory-demo-label,.directory-card-category,.directory-card-tags span,.collection-count,.trail-count,.explore-live-label,.demo-sample-tag,.demo-offer-label,.demo-offer-number,.social-pill,.social-cover>span,.industry-group-name,.cl-kicker,.cl-art-note,.cl-art-label,.sw-visibility,.sw-nav-label,.sw-panel-step,.crd-status,.payout-method,dt){font-size:var(--type-meta)!important;line-height:1.5!important}
html body main :is(.v-callout>span,.v-story-photo>span,.rf-story-card span,.rf-rate-card>span,.rf-usd,.rf-field span,.rf-presets>span,.rf-result-total span,.rf-split-bar span,.rf-split-bar strong){font-size:var(--type-meta)!important;line-height:1.5!important;letter-spacing:.04em}
html body main :is(.social-theme>div,.home-featured-location,.rf-facts strong,.cl-promise-strip strong,.cl-promise-strip span,.cl-share-example span,.cl-share-example strong,.cl-campaign-pills span,.space-primary-nav a){font-size:var(--type-support)!important;line-height:1.6!important}
html body #main :is(.rf-note,.crd-footnote,.social-note,.cl-fine){font-size:var(--type-support)!important;line-height:1.6!important}
html body.studio-page :is(.eyebrow,[data-space-preview-header]>span,.sw-steps b){font-size:var(--type-meta)!important;line-height:1.5!important}
html body.studio-page label>span{font-size:var(--type-control)!important;line-height:1.5!important}
html body main .rf-rate-card p{font-size:var(--type-support)!important;line-height:1.5!important}
html body main .rf-rate-card strong small{font-size:.5em!important}
html body main .rf-storyboard{height:32rem}
html body main .rf-story-care{top:12rem}
html body main .rf-story-card strong{font-size:var(--type-support)!important;line-height:1.4}
html body main :is(.social-profile,.chat-heading,.crd-card,.reading-card,.sw-panel) h2{font-size:var(--type-h3)!important;line-height:1.3!important}
html body main :is(.tc-title-row,.tpl-card-copy>div){flex-wrap:wrap}
html body main .cl-promise-strip>div>div{min-width:0;flex:1}
html body main .cl-promise-strip :is(strong,span){overflow-wrap:anywhere}
@media(max-width:650px){
  html body main .rf-storyboard{height:36rem}
  html body main .rf-story-coffee{width:70%}
  html body main .rf-story-care{top:17rem;width:65%}
  html body main .rf-rate-card{width:48%;padding:1rem}
  html body main .cl-promise-strip{grid-template-columns:1fr;gap:1.25rem}
  html body main .cl-promise-strip>div{display:flex}
  html body main .rf-section-nav .rf-container{flex-wrap:wrap;justify-content:flex-start}
}
