/* Shared type roles. Load after page styles so legacy fonts cannot drift. */
:root{--font-site:'DM Sans',Arial,sans-serif;--body:var(--font-site);--display:var(--font-site);--serif:var(--font-site);--type-display:clamp(40px,5.5vw,80px);--type-section:clamp(32px,3.8vw,56px);--type-card:clamp(23px,2.3vw,32px);--type-body:16px;--type-small:13px}
body[data-draft],body[data-draft] :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,summary,label,li,blockquote,cite,figcaption,span,strong,small){font-family:var(--font-site)}
body[data-draft] :is(h1,h2,h3,h4,h5,h6){font-weight:500;text-wrap:balance}
body[data-draft] h1{font-size:var(--type-display);line-height:1.12;letter-spacing:-.04em}
body[data-draft] :is(.section-title,.editorial-intro h2,.story-heading h2,.voices-heading h2,.product-intro h2,.preview-faq h2,.customer-project-heading h2,.catalog-heading h2,.catalog-process h2,.catalog-projects>h2,.catalog-feedback h2,.catalog-faq h2,.service-detail-title,.panel h2){font-size:var(--type-section);line-height:1.16;letter-spacing:-.035em}
body[data-draft] :is(.project-tile h3,.catalog-case h3){font-size:var(--type-card);line-height:1.25;letter-spacing:-.025em}
body[data-draft] :is(.service-detail-text,.panel-body>div>p:not(.service-benefit),.project-tile p,.catalog-case p,.split-chapters p){font-size:var(--type-body);line-height:1.75;letter-spacing:0}
body[data-draft] .panel .service-benefit{font-size:clamp(18px,1.7vw,23px);line-height:1.45;font-weight:500;letter-spacing:-.015em}
body[data-draft] :is(.product-screen figcaption,.connected-composite figcaption,.draft-menu-media figcaption){font-size:12px;line-height:1.5;letter-spacing:0;text-align:left}
body[data-draft] :is(.panel-cta,.btn-primary,.btn-secondary){font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0}
body[data-draft] :is(.draft-type-output,.draft-rise-line){font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}

/* Service artwork is illustrative, with centered labels and no zoom affordance. */
body[data-draft] .panel .product-screen .screen-label{display:flex;justify-content:center;text-align:center;gap:0}
body[data-draft] .panel .product-screen figcaption{text-align:center}
body[data-draft] .panel .stack-art{display:block;width:100%;padding:0;cursor:default;background:transparent}
body[data-draft] .panel .stack-art img{display:block;transform:none;transition:none;cursor:default}
body[data-draft] .panel .product-screen:hover .stack-art img{transform:none}
