/* Shared readable text and controls; decorative brand blues remain unchanged. */
:root{--accent:#2563d9;--readable-muted:#4b5f79}
.primary-button:hover{background:#1e55be}
.growth-step{color:var(--readable-muted)}
.growth-step>span:first-child{opacity:1;color:inherit}
.growth-legend>span:last-child i{background:#73819a}
.growth-story-baseline{stroke:#73819a}
.comparison-row-number,.project-number{color:#566579}
.project-trigger[aria-expanded=true] .project-number{color:#2563d9}
.project-trigger[aria-expanded=true] .project-arrow{background:#2563d9;border-color:#2563d9}
.home-variant a,.statement-actions a{color:#2563d9}

@media(max-width:760px){
 /* Main copy: 16px, with enough line height to read on a phone. */
 body :is(.hero-description,.expertise-intro,.expertise-card>p,.expertise-card li,
 .growth-heading p,.comparison-heading>p,.automation-heading .automation-intro,
 .project-description p,.delivery-card-body>p,.about-description p,.faq-answer p,
 .faq-conversation>p,.footer-contact-note,.blog-hero-row>p,.post-card-copy>p,
 .article-lead,.article-body p,.article-body li,.article-contact>span,
 .legal-section p,.legal-section li,.legal-hero-bottom>p,.contact-intro,
 .contact-lead,.contact-form-heading>p,.contact-note){font-size:16px;line-height:1.75}
 body.home-two .visual-service-card>p,body.home-two .visual-service-card li{font-size:16px;line-height:1.75}
 body .primary-button,body .secondary-button,body.home-two .service-artwork-cta{font-size:14px;line-height:1.5;min-height:56px;padding:12px 16px;gap:14px}
 body .primary-button>span:first-child{overflow-wrap:anywhere}
 body .header nav a{font-size:16px;line-height:1.5}
 body .section-label,body .statement .statement-label-wrap .section-label{font-size:13px;line-height:1.6}
 body .card-number,body.home-three .service-artwork-label,body .service-artwork-label{font-size:12px;line-height:1.6}
 body .home-variant{font-size:12px;line-height:1.6}
 body .hero-scroll{font-size:14px}
 body .credentials>p{font-size:14px;line-height:1.7}
 body .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
 body .facts>div{padding-left:12px;min-width:0}
 body .facts>div:first-child{padding-left:0}
 body .facts span{font-size:12px;line-height:1.6;white-space:normal}

 /* Chart labels, legend and all four selectable steps. */
 body .growth-story-kicker{font-size:12px;color:var(--readable-muted);line-height:1.6}
 body .growth-legend{flex-wrap:wrap;gap:10px 18px}
 body .growth-legend>span{font-size:13px;line-height:1.6;color:var(--readable-muted);white-space:normal}
 body .growth-story .growth-canvas{margin-top:65px}
 body .growth-insight{width:min(250px,100%);min-width:0;max-width:100%;left:50%;padding:14px 16px}
 body .growth-insight>span{font-size:12px;color:var(--readable-muted);line-height:1.6}
 body .growth-insight strong{font-size:16px;line-height:1.5;white-space:normal}
 body .growth-step{min-height:80px;padding:12px;gap:6px}
 body .growth-step strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 body .growth-step>span:first-child{font-size:13px;line-height:1.5}
 body .growth-story-bottom p{font-size:15px;line-height:1.75}
 body .growth-story-bottom>p:last-child{font-size:13px;line-height:1.6;color:var(--readable-muted)}

 body .comparison-table th,body .comparison-table td{padding:22px 14px;overflow-wrap:anywhere}
 body .comparison-heading-label{font-size:21px;line-height:1.4}
 body .comparison-heading-note{font-size:13px;line-height:1.65;color:var(--readable-muted)}
 body .comparison-table td{font-size:16px;line-height:1.75}
 body .comparison-row-number{font-size:12px;line-height:1.5;top:16px}
 body .comparison-table td>span:last-child{padding-top:22px}
 body .delivery-step-label{font-size:12px;color:var(--readable-muted);line-height:1.5}
 body .project-category,body .project-artwork figcaption{font-size:13px;line-height:1.6}
 body .project-number{font-size:15px}

 /* Stack the experience facts instead of shrinking their descriptions. */
 body .about .about-impact{grid-template-columns:1fr;width:100%;max-width:none;gap:0}
 body .about-impact>div,body .about-impact>div+div{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start;padding:18px 0;border:0;border-bottom:1px solid #dce5f0}
 body .about-impact dt{font-size:28px;line-height:1.3;white-space:normal}
 body .about-impact dt>span{font-size:12px}
 body .about-impact dd{font-size:14px;line-height:1.75;margin:0}
 body .portrait-caption,body .about-role{font-size:12px;line-height:1.7}
 body .faq-item summary{font-size:16px;line-height:1.6;min-height:76px}
 body .faq-conversation-title{font-size:20px;line-height:1.4}
 body .faq-conversation-note{font-size:16px;line-height:1.75}
 body .footer-links a,body .footer-links p,body .footer-legal a,body .footer-legal button{font-size:14px;line-height:1.7}
 body .footer-bottom p{font-size:12px;line-height:1.7}
 body .privacy-notice>p,body .privacy-notice-actions>a,body .privacy-dismiss{font-size:13px;line-height:1.65}

 /* Keep the same readable scale on the blog, legal and contact pages. */
 body :is(.post-meta,.post-card-bottom time,.post-read,.blog-filters button,#blog-count,
 .blog-breadcrumb,.article-byline>div>span,.article-byline>p,.article-byline>p span,
 .article-sidebar nav>a,.article-sidebar nav>a>span,.article-body .article-table-hint,
 .article-end,.related-heading>a,.legal-sidebar nav a,.legal-number,
 .contact-form-heading>span,.contact-field label,.contact-consent,.contact-form-note,
 .contact-status,.contact-method-label,.contact-details dt){font-size:14px;line-height:1.7}
 body .article-body .article-table{font-size:15px;line-height:1.75}
 body .article-table thead th{font-size:14px}
 body .contact-field input,body .contact-field textarea{font-size:16px;line-height:1.7}
 body .contact-consent a{color:#2563d9}
 body .post-card--featured .post-card-copy>p,body .is-filtered .post-card-copy>p{font-size:16px;line-height:1.75}
 body .article-note p{font-size:20px;line-height:1.6}
 body .article-note>span,body .legal-sidebar nav a>span{font-size:12px;line-height:1.7}
 body .contact-consent label,body .contact-assurances li,body .contact-person>div>span,body .contact-direct .contact-linkedin{font-size:14px;line-height:1.7}
 body .contact-person strong{font-size:16px}
 body .contact-field input::placeholder,body .contact-field textarea::placeholder{font-size:16px}
 body .contact-message-label>span{font-size:12px;white-space:normal}
 body .legal-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .legal-sidebar nav a{min-width:0;overflow-wrap:anywhere}
 body .blog-filters button{min-height:44px}
}

/* Two readable lists share row tracks on desktop and become full-width cards on phones. */
.comparison-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(5,auto)}
.comparison-card{display:grid;grid-template-rows:subgrid;grid-row:1/span 6;min-width:0;background:#f7f8fa}
.comparison-card:first-child{grid-column:1}
.comparison-card:last-child{grid-column:2;background:#eaf1ff}
.comparison-card-heading{display:flex;flex-direction:column;justify-content:flex-end;padding:30px 32px 25px}
.comparison-card-heading h3{margin:0;font-weight:500;line-height:1.4}
.comparison-card-heading img{display:block;width:190px;height:auto;max-width:100%;margin-bottom:5px}
.comparison-card ol{display:grid;grid-template-rows:subgrid;grid-row:2/span 5;list-style:none;padding:0;margin:0}
.comparison-card li{position:relative;display:grid;align-items:center;min-width:0;padding:24px 32px;font-size:14px;line-height:1.8;color:#526477}
.comparison-card:last-child li{font-weight:500;color:#143b71}
.comparison-card li:not(:last-child)::after{content:'';position:absolute;bottom:0;left:32px;right:32px;height:1px;background:#dbe2ed}
.comparison-card .comparison-row-copy{display:block;padding-left:34px}
@media(min-width:1700px){.comparison-card li{font-size:16px}}
@media(max-width:1100px){.comparison-card-heading,.comparison-card li{padding-inline:24px}.comparison-card li{font-size:12px}.comparison-card .comparison-row-copy{padding-left:28px}.comparison-card .comparison-row-number{left:24px}.comparison-card .comparison-row-check{left:26px}.comparison-card li:not(:last-child)::after{left:24px;right:24px}}
@supports not (grid-template-rows:subgrid){.comparison-card,.comparison-card ol{display:block}.comparison-card{grid-row:auto}}
@media(max-width:760px){
 .comparison-table-wrap{overflow:visible;border-radius:0}
 .comparison-panels{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:24px}
 .comparison-card,.comparison-card ol{display:block}
 .comparison-card:first-child,.comparison-card:last-child{grid-column:1;grid-row:auto;border-radius:12px 12px 12px 30px;overflow:hidden}
 .comparison-card-heading{padding:24px 24px 16px}
 .comparison-card-heading img{width:165px}
 .comparison-card li{padding:20px 24px;font-size:16px;line-height:1.75}
 .comparison-card .comparison-row-copy{padding-left:32px}
 .comparison-card .comparison-row-number{top:24px;left:24px;font-size:12px;line-height:1.5}
 .comparison-card .comparison-row-check{top:28px;left:25px;width:11px;height:7px}
 .comparison-card li:not(:last-child)::after{left:24px;right:24px}
}

/* A content-sized statement on phones, with larger copy and no sticky scroll runway. */
@media(max-width:760px){
 body .statement,body .statement.statement--scroll{height:auto;scroll-margin-top:0}
 body .statement-stage,body .statement--scroll .statement-stage{position:relative;top:auto;min-height:0;height:auto;padding:48px clamp(18px,4.6vw,24px)}
 body .statement .statement-inner{width:100%}
 body .statement .statement-text{font-size:clamp(28px,7.8vw,44px);line-height:1.5}
}
