/* DotConn typography contract. Keep this last in the cascade on every page.
   Logo paths and authored illustration geometry are not typography controls. */
:root{
 --font-site:Helvetica,Arial,sans-serif;
 --type-body:15px;--type-body-leading:1.7;--type-body-weight:400;
 --type-copy:14px;--type-copy-leading:1.7;
 --type-card-title:18px;--type-title-leading:1.4;--type-title-weight:500;
 --type-label:13px;--type-label-leading:1.5;
 --type-caption:12px;--type-caption-leading:1.6;
}
html,body,body *,svg text,svg tspan{font-family:var(--font-site)!important}
body{font-size:var(--type-body);font-weight:var(--type-body-weight);line-height:var(--type-body-leading)}
button,input,textarea,select{font-family:var(--font-site);letter-spacing:normal}
p,dd,li{font-weight:var(--type-body-weight);letter-spacing:normal}
strong,b{font-weight:var(--type-title-weight)}
h1,h2,h3,h4,h5,h6{font-weight:var(--type-title-weight);font-style:normal}
/* Feature cards share the same title and body roles; no reference-specific bold. */
.ai-reference-copy h3,.ai-workflow-card h3,.service-example .example-result h3{
 font-size:var(--type-card-title);font-weight:var(--type-title-weight);
 line-height:var(--type-title-leading);letter-spacing:0;
}
.ai-reference-copy>p,.handover-principles p,.service-example .example-result p,
.dw-panel-heading>p,.engagement-story dd{
 font-size:var(--type-copy);font-weight:var(--type-body-weight);
 line-height:var(--type-copy-leading);letter-spacing:normal;
}
/* Section summaries retain their established display sizes, with shared rhythm. */
.section-head>p,.service-story-intro,.practice-story-intro,.dw-intro-copy,
.editorial-section p,.editorial-section li{font-weight:400;line-height:var(--type-body-leading);letter-spacing:normal}
.practice-story-capabilities h4,.service-capabilities dt{font-weight:500;line-height:1.5;letter-spacing:0}
.practice-story-capabilities p,.service-capabilities dd,.service-deliverable p{
 font-size:var(--type-copy);font-weight:400;line-height:var(--type-copy-leading);letter-spacing:normal;
}
.ai-reference-answer,.ai-reference-answer p,.workflow-question-copy,.workflow-explainer,
.ai-workflow .response-text{font-size:var(--type-copy);font-weight:400;line-height:var(--type-copy-leading);letter-spacing:normal}
.ai-reference-answer small,.ai-reference-note,.scope-visual-caption,.caption,
.handover-hint,.scope-art-note{font-size:var(--type-caption);font-weight:400;line-height:var(--type-caption-leading);letter-spacing:normal}
.example-options>span,.example-options button,.ai-reference-pause,.workflow-pause,
.ops-motion,.dw-motion,.scope-replay,.scope-sequence-steps{
 font-size:var(--type-caption);font-weight:400;line-height:20px;letter-spacing:normal;
}
.ai-reference-answer>.dc-status,.ops-node strong{font-size:var(--type-label);font-weight:500;line-height:var(--type-label-leading);letter-spacing:normal}
.ops-node small{font-size:var(--type-caption);font-weight:400;line-height:var(--type-caption-leading)}
/* Compact text inside illustrations is intentionally smaller than page copy. */
.conversation-bubble{font-size:12px;line-height:1.5;font-weight:400;letter-spacing:normal}
.conversation-avatar{font-weight:500;line-height:1}
.handover-fan-caption{font-weight:500}
@container (min-width:650.01px) and (max-width:900px){.conversation-bubble{font-size:11px}}
@media(max-width:560px){.ai-reference-copy h3{font-size:var(--type-card-title)}.ai-reference-copy>p{font-size:var(--type-copy)}}

/* Tooltips use body copy metrics, independently of their trigger transform. */
.tools-tooltip,.tool-tooltip,.dc-validation-tip,[role="tooltip"]{font-family:var(--font-site);font-size:var(--type-body);font-weight:var(--type-body-weight);line-height:var(--type-body-leading);letter-spacing:normal}
