/* One editorial scale for all seven public pages.
   Text is sized by role, not enlarged to fill a card. Widgets retain their own controls. */
body.story-site,body.story-detail { font-size:18px; line-height:1.8; letter-spacing:0; }
#main { --read-h1:clamp(28px,3.5vw,42px); --read-h2:clamp(25px,3vw,34px); --read-h3:clamp(22px,2.3vw,28px); }
#main :is(h1,h2,h3,h4) { line-height:1.5; letter-spacing:.01em; word-break:normal; overflow-wrap:normal; text-wrap:balance; min-height:0; }
#main h1 { font-size:var(--read-h1); margin-block:14px 20px; }
#main h2 { font-size:var(--read-h2); margin-block:12px 24px; }
#main h3 { font-size:var(--read-h3); margin-block:12px 16px; }
#main h4 { font-size:22px; margin-block:10px 14px; }
#main .heading-phrase { display:inline-block; max-width:100%; vertical-align:top; }
#main p { line-height:1.8; text-wrap:pretty; }
#main :is(.detail-intro,.service-visual-copy,.visual-secondary,.experience-editorial,.support-examples,.home-value-note,.contact-copy,.origin-proof,.studio-layout,.profile-grid) p { font-size:18px; max-width:46em; }
#main :is(.audience,.eyebrow,.mini-label,.example-label,.support-label,.cost-kicker) { font-size:15px; line-height:1.65; letter-spacing:.02em; }
#main :is(.source-note,.small-note,.scope-note,.value-caption,.case-photo-note,figcaption) { font-size:14px; line-height:1.7; }
#main :is(.story-link,.visual-consult-link) { font-size:17px; line-height:1.65; max-width:100%; }
#main .story-link { display:inline-flex; text-wrap:pretty; gap:12px; }
#main :is(.story-button,.button,.contact-button) { font-size:17px; line-height:1.6; padding:14px 22px; min-height:52px; }
#main :is(summary,dt) { line-height:1.65; }
#main details > p { margin-block:10px 16px; }
#main .detail-intro { padding-block:32px; }
#main .detail-intro .back-link { margin-bottom:18px; }
#main :is(.section,.philosophy-section) { padding-block:48px; }
#main .detail-next { padding-block:40px; }
#main :is(.detail-intro,.service-visual-copy,.contact-copy,.origin-proof) p + p { margin-top:16px; }
#main #hero-title { font-size:clamp(31px,4.4vw,54px); line-height:1.45; }
#main :is(#mission-title,#philosophy-title) { font-size:clamp(30px,3.6vw,42px); line-height:1.5; }
#main .home-philosophy { padding-block:48px; }
#main .hero-help { font-size:18px; }
#main .home-consult p { font-size:18px; }
#main .home-consult .consult-reassurance { font-size:15px; }
#main .case-photo-captions span { line-height:1.5; }
#main .home-fees { padding:32px; }
#main .monthly-workflow { margin-block:26px; }
#main .role-legend { gap:8px; margin-bottom:18px; }
#main .role-legend span { font-size:14px; font-weight:600; padding:6px 10px; }
#main .work-flow { gap:24px; }
#main .work-flow > li { padding:20px 16px; text-align:left; }
#main .work-flow h3 { font-size:20px; margin-block:10px; }
#main .work-flow p { font-size:16px; margin:0; }
#main .work-flow .flow-owner { font-size:14px; }
#main .flow-deliverables { display:block; text-align:left; padding:22px; }
#main .flow-deliverables > strong { display:block; text-align:left; font-size:18px; margin:0 0 12px; }
#main .flow-deliverables ul { display:flex; flex-wrap:wrap; gap:12px 30px; list-style:disc; margin:0; padding-left:1.2em; }
#main .flow-deliverables li { font-size:17px; line-height:1.75; }
#main .home-fees > p { font-size:17px; }
#main .home-value-note { padding-block:8px; margin-block:28px; }
#main .home-value-note p { margin-block:0 12px; }
#main .fee-bottom { gap:24px; align-items:center; }
#main .support-cycle { padding-block:22px; }
#main .support-cycle > strong { font-size:18px; }
#main .support-cycle li { font-size:16px; line-height:1.6; }
#main .support-examples > article { padding:24px; gap:0 28px; }
#main .support-examples h4 { font-size:24px; margin:8px 0 14px; }
#main .support-examples .support-picture img { height:280px; }
#main .support-examples article > p { margin-block:8px 16px; }
#main .support-examples summary { font-size:16px; padding-block:14px; }
#main .value-takeaway { padding:18px; }
#main .value-takeaway strong { font-size:19px; line-height:1.7; }
#main .handoff-roles { margin:0; }
#main .handoff-roles > div { display:block; padding-block:12px; }
#main .handoff-roles dt { font-size:15px; margin-bottom:5px; }
#main .handoff-roles dd { font-size:16px; margin:0; line-height:1.75; }
#main .value-return { padding-top:32px; margin-top:30px; }
#main .value-return > p { max-width:44em; }
#main .capacity-gain span { font-size:17px; }
#main .value-math span { font-size:16px; }
#main .value-benefits h4 { font-size:21px; }
#main .value-benefits p { font-size:17px; }
#main .visual-secondary h3 { font-size:23px; }
#main .visual-secondary article { padding:24px; }
#main .visual-steps strong { font-size:19px; }
#main .visual-steps span { font-size:16px; }
#main .mini-steps { gap:16px; }
#main .mini-steps strong { font-size:18px; }
#main .experience-editorial h3 { font-size:28px; }
#main .experience-editorial .strength-source { font-size:16px; }
#main .experience-editorial p { margin-block:12px; }
#main .experience-editorial .source-note { font-size:14px; }
#main .philosophy-origin { display:block; padding:32px; }
#main .philosophy-origin > h3 { max-width:28em; margin-bottom:24px; }
#main .philosophy-origin .origin-proof { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:22px 32px; }
#main .origin-proof > .story-link { grid-column:2; }
#main .mvv-values h4 { font-size:21px; }
#main .contact-layout { gap:clamp(28px,4vw,56px); }
#main .consult-next-steps { padding:20px 0; margin-block:24px; }
#main .consult-next-steps h3 { font-size:21px; }
#main .consult-next-steps .visual-steps { margin-block:16px; }
#main .consult-next-steps .visual-steps > li { padding:14px 16px; }
#main .consult-next-steps p { font-size:16px; }
#main .contact-form-panel { padding:28px; }
#main .contact-form-panel h3 { font-size:23px; }
#main .contact-form-panel p { font-size:16px; }
#main .contact-email a { font-size:18px; overflow-wrap:anywhere; }
#main :is(.dashboard-chart,.dashboard-alerts) h4 { font-size:17px; }
#main .workflow-outcome h3 { font-size:24px; }
#main .booking-demo h3 { font-size:22px; }
#main .booking-demo :is(p,button) { font-size:16px; }
#main .line-booking-screens h4 { font-size:20px; }
#main .outcome-panel h3 { font-size:23px; }
#main .fee-conditions p { font-size:16px; }
@media (max-width:1000px) and (min-width:701px) {
 #main .work-flow { grid-template-columns:1fr; gap:22px; }
 #main .work-flow > li + li::before { width:3px; height:20px; top:-22px; left:50%; }
 #main .work-flow > li + li::after { top:-10px; left:calc(50% - 4px); transform:rotate(135deg); }
 #main .support-cycle ol { grid-template-columns:1fr 1fr; }
 #main .support-cycle li::before { display:none; }
}
@media(max-width:700px) {
 #main { --read-h1:clamp(26px,6.8vw,32px); --read-h2:clamp(24px,6.2vw,28px); --read-h3:clamp(21px,5.5vw,25px); }
 body.story-site,body.story-detail { font-size:17px; }
 #main h4 { font-size:20px; }
 #main :is(.detail-intro,.service-visual-copy,.visual-secondary,.experience-editorial,.support-examples,.home-value-note,.contact-copy,.origin-proof,.studio-layout,.profile-grid) p { font-size:17px; }
 #main h2 { margin-block:10px 20px; }
 #main h3 { margin-block:10px 14px; }
 #main .detail-intro { padding-block:24px 28px; }
 #main :is(.section,.philosophy-section) { padding-block:36px; }
 #main .home-fees { padding:24px 20px; }
 #main .work-flow { grid-template-columns:1fr; gap:24px; }
 #main .work-flow > li { padding:18px 20px; }
 #main .work-flow h3 { font-size:20px; }
 #main .flow-deliverables { padding:20px; }
 #main .flow-deliverables ul { display:block; }
 #main .flow-deliverables li + li { margin-top:8px; }
 #main .flow-deliverables li { font-size:16px; }
 #main .home-value-note h3 { font-size:23px; }
 #main .support-cycle ol { display:block; list-style:decimal; padding-left:1.5em; }
 #main .support-cycle li { font-size:17px; padding:8px 0 8px 4px; }
 #main .support-cycle li::before { display:none; }
 #main .support-examples > article { padding:20px; grid-template-columns:minmax(0,1fr); }
 #main .support-examples h4 { font-size:22px; }
 #main .support-examples .support-picture { margin-bottom:18px; }
 #main .support-examples .support-picture img { height:240px; }
 #main .value-takeaway { padding:16px; }
 #main .value-takeaway strong { font-size:18px; }
 #main .value-benefits { margin-block:24px; }
 #main .experience-editorial h3 { font-size:25px; }
 #main .visual-secondary h3 { font-size:22px; }
 #main .visual-secondary article { padding:20px; }
 #main .philosophy-origin { padding:22px; }
 #main .philosophy-origin .origin-proof { grid-template-columns:1fr; gap:18px; }
 #main .origin-proof > .story-link { grid-column:1; }
 #main .mvv-values { gap:10px; }
 #main .mvv-values > li { padding:18px 0; }
 #main .mvv-values h4 { font-size:20px; }
 #main .visual-comparison > div { padding:20px; }
 #main .visual-comparison h3 { font-size:21px; }
 #main .contact-form-panel { padding:24px 20px; }
 #main .consult-next-steps .visual-steps strong { font-size:18px; }
 #main .story-button { width:100%; padding-inline:16px; }
 #main .fee-bottom { display:block; }
 #main .home-consult h2 { font-size:26px; }
 #main .home-consult p { font-size:17px; }
 #main .home-philosophy { padding-block:36px; }
 #main .home-philosophy > p:not(.audience) { font-size:18px; }
 #main .outcome-panel h3 { font-size:22px; }
 #main .workflow-outcome h3 { font-size:22px; }
 #main .workflow-story h3 { font-size:23px; }
}
@media(max-width:360px) {
 #main .home-fees,#main .cost-note.consultation-cost { padding-inline:16px; }
 #main .work-flow > li,#main .flow-deliverables { padding-inline:16px; }
 #main .contact-form-panel { padding-inline:16px; }
 #main .visual-secondary article,#main .support-examples > article { padding:16px; }
}

#main .deliverable-labels ul { margin:10px 0 0; padding-left:1.2em; font-size:17px; line-height:1.8; }
#main :is(.support-examples,.visual-details,.fee-conditions) summary { display:list-item; list-style:disclosure-closed inside; }
#main :is(.support-examples details[open],.visual-details[open],.fee-conditions[open]) > summary { list-style-type:disclosure-open; }
#main .scope-note { max-width:64em; }
#main .monthly-support > p { max-width:44em; }

@media(max-width:360px) { #main #order-title { font-size:23px; } }
#main .contact-section { padding-block:48px; }
@media(max-width:700px) { #main .contact-section { padding-block:32px; } }

/* Short explanatory copy avoids a trailing one- or two-character line. */
#main p[data-copy="balanced"] { text-wrap:balance; }

/* Consultation starts with the customer's intention; real work follows agreement. */
#main .consult-next-steps.consultation-path { padding:28px; margin:30px 0 24px; background:#fff; border:1px solid #dce3e8; border-radius:10px; }
#main .consultation-path h3 { margin:0 0 12px; font-size:22px; }
#main .consultation-path .consult-free-label { margin:0; font-size:16px; font-weight:700; color:#244963; }
#main .consultation-path-list { list-style:none; display:grid; gap:22px; margin:26px 0; padding:0; }
#main .consultation-path-list > li { padding:20px; background:#f3f6f8; border-left:3px solid #9aaebb; }
#main .consultation-path-list > li:nth-child(2) { border-color:#244963; }
#main .consultation-path-list > li:nth-child(3) { border-color:#b18034; background:#fff8ec; }
#main .consultation-path-list h4 { font-size:20px; line-height:1.55; margin:9px 0 10px; }
#main .consultation-path-list p { font-size:16px; line-height:1.8; margin:0; text-wrap:pretty; }
#main .consult-stage { font-size:14px; color:#536874; font-weight:700; }
#main .consultation-path-list > li:nth-child(3) .consult-stage { color:#77551e; }
#main .consult-work-start { border-top:1px solid #c8d5dd; padding-top:22px; }
#main .consult-work-start strong { display:block; font-size:18px; line-height:1.6; }
#main .consult-work-start p { margin:12px 0 0; font-size:16px; line-height:1.8; }
#main .contact-copy .consult-paid-note { font-size:16px; margin-block:18px 10px; }
#main .consult-policy-note { font-size:17px; margin:24px 0; padding:20px 24px; background:#f0f5f7; border-left:3px solid #244963; }
#main .mvv-values h4 { border:0; padding:0; margin:0 0 16px; }
#main .mvv-values > li > p { margin:0; font-size:17px; line-height:1.8; }
#main .consultation-overview strong { font-size:18px; }
#main .consultation-overview span { font-size:15px; }
@media(max-width:700px) {
 #main .consult-next-steps.consultation-path { padding:24px 20px; margin-block:24px; }
 #main .consultation-path-list { gap:18px; margin-block:22px; }
 #main .consultation-path-list > li { padding:18px 16px; }
 #main .consultation-path-list h4 { font-size:19px; }
 #main .consultation-path .consult-free-label { text-wrap:balance; }
 #main .consult-policy-note { padding:18px; font-size:16px; }
 #main .mvv-values > li { padding-block:22px; }
}
@media(max-width:360px) {
 #main .consult-next-steps.consultation-path { padding:22px 16px; }
 #main .consultation-path-list > li { padding-inline:14px; }
 #main .consultation-path-list h4 { font-size:18px; }
}

/* The form comes before the post-submission explanation on small screens. */
#main .contact-form-panel { align-self:start; }
#main .consultation-followup { margin-top:36px; }
#main .consultation-followup .consultation-path { margin-top:0; }
#main .consultation-followup .consultation-path-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#main .consultation-followup .consultation-path-list > li { min-width:0; padding:20px 16px; }
#main .consultation-followup .consultation-path-list h4 { font-size:19px; }
#main .consultation-followup .consult-work-start { max-width:48em; }
#main .consultation-followup .consult-paid-note { margin-bottom:8px; font-size:16px; }
@media(max-width:1100px) {
 #main .consultation-followup .consultation-path-list { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
 #main .consultation-followup { margin-top:28px; }
 #main .consultation-followup .consultation-path-list { grid-template-columns:1fr; gap:18px; }
 #main .consultation-followup .consultation-path-list h4 { font-size:19px; }
}
@media(max-width:360px) { #main .consultation-followup .consultation-path-list h4 { font-size:18px; } }
