/* Shared reading scale and layout refinements. Rem units respect the reader's base size. */
:root{--copy-size:1.0625rem;--control-size:1rem;--label-size:.8125rem;--caption-size:.875rem}
body{font-size:1rem;line-height:1.7}
.hero-copy>p{font-size:1.125rem;line-height:1.8;max-width:470px}
.intro-copy{font-size:1.125rem;line-height:1.85;max-width:760px}
.story-copy>p,.story-section>p,.industry-directory>article p,.regional-copy p,.about-statement p,.prose p{font-size:var(--copy-size);line-height:1.85}
.story-copy{min-width:0}.story-copy>p,.story-section>p{max-width:72ch}
.section-heading>p,.section-heading>div>p,.conversation-copy>p,.office-inner p,.cta-inner>div>p,.detail-grid p,.project-aside p,.coverage-panel p,.coverage-address p,.portfolio-payment p,.value-grid p,.chatbot-projects p,.equipment-feature p,.chat-photo-copy>p,.system-feature p,.echo-project-preview p,.application-grid p,.process-grid p{font-size:1rem;line-height:1.8}
.eyebrow,.hero-eyebrow,.service-feature .eyebrow,.story-index>.eyebrow,.detail-banner>.eyebrow,.project-aside>.eyebrow,.payment-proof>.eyebrow,.echo-project-preview .eyebrow{font-size:var(--label-size);line-height:1.65;letter-spacing:.09em}
.quiet,.hero-footnote,.small-note,.filter-status,.service-label{font-size:var(--caption-size);line-height:1.7}
.hero-actions{flex-wrap:wrap;gap:22px}.hero-actions .button,.button,.project-aside .button,.form-actions .button{font-size:var(--control-size);line-height:1.5;min-height:54px}
.text-link,:is(.hero-actions,.section-top,.section-bottom,.conversation-copy,.office-links,.process-intro,.chatbot-projects,.coverage-panel,.payment-proof,.contact-location,.industry-directory,.coverage-address,.regional-copy,.echo-project-preview,.services-menu-heading) .text-link{font-size:.9375rem;line-height:1.6}
.section-top,.section-bottom{flex-wrap:wrap;row-gap:16px}.section-bottom>p{font-size:.9375rem;line-height:1.7}.section-heading{align-items:start}
.service-feature{padding-top:36px;padding-bottom:28px}.service-feature p{font-size:1rem;line-height:1.8;max-width:none}.service-feature h3{line-height:1.22}.feature-bottom{font-size:var(--caption-size);line-height:1.65;gap:12px;align-items:center}.inline-tags>span,.equipment-key>span{font-size:var(--label-size);line-height:1.6;padding:6px 10px}
.trust-inner{gap:24px}.trust-inner>span{font-size:.75rem;max-width:120px;line-height:1.7}.trust-inner>a{font-size:var(--caption-size);line-height:1.6}.client-line{flex-wrap:wrap;gap:20px 30px;justify-content:flex-start}.client-line>span{font-size:1rem;line-height:1.5}.client-line>span:first-child{font-size:.75rem;max-width:140px;line-height:1.7}
#site-nav{gap:22px}#site-nav>a,.services-dropdown>summary{font-size:.9375rem;line-height:1.6}#site-nav .nav-contact{font-size:.9375rem;gap:20px;padding:13px 18px}
.services-menu{width:min(1040px,calc(100vw - 72px))}.services-menu-grid{gap:28px}.services-menu-grid a{font-size:.9375rem;line-height:1.6;padding-block:13px;min-height:48px}.menu-group-title{font-size:.9375rem;line-height:1.6}.services-menu-heading>.eyebrow,.services-menu-foot{font-size:var(--label-size);line-height:1.7}.services-menu-heading .text-link{font-size:.9375rem}
.work-caption{align-items:start;flex-wrap:wrap;row-gap:8px}.work-caption>span{font-size:var(--caption-size);line-height:1.6}.project-row{column-gap:22px}.project-name{line-height:1.4;min-width:0}.project-domain,.project-sector{font-size:var(--caption-size);line-height:1.7;min-width:0;overflow-wrap:anywhere}.filters button{font-size:var(--caption-size);padding:10px 15px;min-height:44px}.portfolio-toolbar{flex-wrap:wrap;row-gap:20px}
.story-index>a{font-size:.9375rem;line-height:1.6;padding-block:3px}.delivery-steps strong{font-size:1rem;line-height:1.6}.delivery-steps li>span{font-size:1rem;line-height:1.8}.delivery-steps li::before,.row-number,.process-number{font-size:var(--label-size);line-height:1.7}.application-grid{gap:28px}.application-grid h3,.process-grid h3{font-size:1.25rem;line-height:1.35}.about-principles strong{font-size:1rem;line-height:1.6}.about-principles p{font-size:.9375rem;line-height:1.8}.service-faqs details p,.faq-list details p{font-size:1rem;line-height:1.8}
.project-aside>a:last-child{font-size:var(--caption-size);line-height:1.7}.project-aside h3{line-height:1.25}.coverage-panel{align-items:start}.coverage-panel h2{line-height:1.25}
.enquiry-form{padding:36px}.enquiry-form>p{font-size:1rem;line-height:1.8}.enquiry-form label{font-size:var(--caption-size);line-height:1.6;margin-top:22px}.form-row>label{min-width:0}input,select,textarea{font-size:1rem;line-height:1.5;min-height:50px;padding:13px 14px;min-width:0}.enquiry-form .checkbox-label{font-size:var(--caption-size);line-height:1.8;gap:12px}.checkbox-label input{width:20px;height:20px;min-height:20px;padding:0;margin-top:3px}.enquiry-form>.form-note{font-size:var(--label-size);line-height:1.8}.text-button{font-size:.9375rem;line-height:1.6}.contact-info>a{font-size:1rem}.contact-location p,.contact-prep p{font-size:1rem;line-height:1.8}.contact-prep strong{font-size:1rem}#form-status{font-size:1rem;line-height:1.7}
.chat-demo{max-width:460px}.chat-top>div{min-width:0;flex:1}.chat-top strong{font-size:1rem;line-height:1.5}.chat-top div>span{font-size:.8125rem;line-height:1.6}.chat-content{padding-bottom:26px}.bubble,.chat-reply{font-size:.9375rem;line-height:1.75}.bubble-time{font-size:.75rem;line-height:1.5}.chat-date{font-size:.75rem;line-height:1.5}.chat-options button{font-size:.875rem;line-height:1.6;padding:12px 13px;min-height:46px}.chat-note{font-size:.8125rem;line-height:1.7;align-items:flex-start}.visual-bubble{font-size:.9375rem;line-height:1.75}.visual-demo-label{font-size:.75rem;line-height:1.6}.chat-photo-copy>.media-small,.media-small{font-size:.8125rem;line-height:1.8}
.equipment-feature figcaption,.network-photo-grid figcaption>span,.workspace-photo figcaption,.company-photo figcaption{font-size:.875rem;line-height:1.75}.equipment-feature figcaption{max-width:500px}.network-photo-grid strong{font-size:1.25rem;line-height:1.4}.chat-photo-feature>figure>figcaption{font-size:.8125rem;line-height:1.65;background:#142019c9;padding:8px 11px;left:15px;right:15px;bottom:15px}.office-label{font-size:.8125rem;line-height:1.6}
.footer-top>p{font-size:1rem;line-height:1.8}.footer-top>a:last-child{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}.footer-links a{font-size:.9375rem;line-height:1.7}.footer-links .eyebrow{font-size:.75rem;line-height:1.7}.footer-links .footer-address{font-size:1rem;line-height:1.75;max-width:300px}.footer-bottom{font-size:.8125rem;line-height:1.8;flex-wrap:wrap;gap:12px 24px}
@media(max-width:1200px){
 .header-inner{height:80px}.menu-toggle{display:flex;gap:12px;align-items:center;font-size:.9375rem;border:1px solid #bfc4b7;background:transparent;padding:10px 14px;min-height:44px;color:var(--ink)}.menu-toggle>span{font-size:1rem}
 #site-nav{display:none;position:absolute;top:80px;left:-36px;right:-36px;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 36px 24px;align-items:stretch;box-shadow:0 12px 20px #2930210d;max-height:calc(100dvh - 80px);overflow:auto}#site-nav.is-open{display:flex;flex-direction:column;gap:0}#site-nav>a{font-size:1rem;padding:14px 4px;border-bottom:1px solid #e5e7dc}#site-nav .nav-contact{margin:15px 0 0;font-size:1rem;justify-content:space-between;padding:13px 16px}
 .services-dropdown>summary{font-size:1rem;justify-content:space-between;padding:14px 4px;border-bottom:1px solid #e5e7dc}.services-menu{position:static;width:100%;padding:22px 20px 0;box-shadow:none;border-top:0}.services-menu-grid{gap:24px}.services-menu-grid a{font-size:.9375rem}.services-menu-heading .text-link{font-size:.9375rem}
 .hero-actions{flex-wrap:wrap}.footer-top{column-gap:25px}.footer-top>a:last-child{font-size:1rem}
}
@media(max-width:900px){
 .project-row{grid-template-columns:minmax(0,1fr) 25px;row-gap:7px}.project-name{grid-column:1;grid-row:1}.project-sector{grid-column:1;grid-row:2}.project-domain{grid-column:1;grid-row:3}.project-row>span:last-child{grid-column:2;grid-row:1/4}.project-row--echo{grid-template-columns:86px minmax(0,1fr) 25px;gap:7px 15px}.project-row--echo>.project-thumb{grid-column:1;grid-row:1/4;width:86px;height:70px}.project-row--echo>.project-name{grid-column:2;grid-row:1}.project-row--echo>.project-sector{grid-column:2;grid-row:2}.project-row--echo>.project-domain{grid-column:2;grid-row:3}.project-row--echo>span:last-child{grid-column:3;grid-row:1/4}
 .section-heading{gap:28px}.story-copy>p,.story-section>p{font-size:1rem}.echo-project-preview{grid-template-columns:1fr;gap:24px}.echo-project-preview>a{max-width:420px;width:100%;margin-inline:auto}.about-principles{grid-template-columns:1fr;gap:22px}
 .chat-top{flex-wrap:nowrap}.chat-top div>span{overflow-wrap:anywhere}.chat-photo-feature{grid-template-columns:1fr}.chat-photo-feature>figure{height:330px}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-prep{max-width:600px}.form-row{grid-template-columns:1fr 1fr;gap:20px}.enquiry-form{padding:32px}
}
@media(max-width:680px){
 .header-inner{height:76px}#site-nav{top:76px;left:-20px;right:-20px;padding:12px 20px 22px;max-height:calc(100dvh - 76px)}.services-menu{padding:18px 16px 0}.services-menu-heading{flex-wrap:wrap;gap:15px}.services-menu-heading>.eyebrow{max-width:none;font-size:.75rem}.services-menu-heading .text-link{font-size:.9375rem;white-space:normal}.services-menu-grid{grid-template-columns:1fr;gap:24px}.services-menu-grid a{font-size:1rem;min-height:48px}.services-menu-foot{font-size:.8125rem;line-height:1.8}
 .hero-copy>p{font-size:1.0625rem;line-height:1.8}.hero-actions{flex-direction:column;align-items:stretch;gap:19px}.hero-actions .button{font-size:1rem;padding:16px 20px}.hero-actions .text-link{font-size:.9375rem;align-self:flex-start}.hero-footnote{font-size:.8125rem;line-height:1.75}.hero-eyebrow{font-size:.75rem;line-height:1.75}
 .intro-copy{font-size:1rem;line-height:1.85}.eyebrow{font-size:.8125rem}.trust-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-block:24px}.trust-inner>span{grid-column:1/-1;max-width:none;font-size:.75rem}.trust-inner>div{font-size:1.375rem;line-height:1.4}.trust-inner>a{display:none}
 .section-top .text-link,.section-bottom>.text-link,.office-links .text-link,.process-intro>.text-link{font-size:.9375rem}.service-feature,.service-feature+.service-feature{grid-template-columns:32px minmax(0,1fr);gap:0 14px}.service-feature .eyebrow{font-size:.75rem;line-height:1.7}.service-feature p{font-size:1rem;line-height:1.8}.feature-bottom{font-size:.875rem;line-height:1.75}.section-bottom>p{font-size:.9375rem}.inline-tags>span{font-size:.8125rem}.client-line>span{font-size:.9375rem}.client-line>span:first-child{font-size:.75rem;max-width:none}
 .conversation-copy>p,.office-inner p,.process-grid p,.cta-inner>div>p,.detail-grid p,.coverage-panel p,.value-grid p,.chatbot-projects p,.industry-directory>article p,.coverage-address p,.regional-copy p,.portfolio-payment p,.prose p{font-size:1rem;line-height:1.8}.process-grid>div:not(.process-intro){grid-template-columns:28px minmax(0,1fr);gap:0 13px}.process-grid h3{font-size:1.25rem}.office-art{padding-bottom:36px}.office-label{font-size:.75rem;text-align:center}
 .work-caption{flex-direction:column;align-items:flex-start;gap:7px}.work-caption>span{font-size:.875rem}.filters{gap:9px}.filters button{font-size:.875rem;padding:10px 13px}.project-row--echo{grid-template-columns:65px minmax(0,1fr) 22px;gap:6px 12px}.project-row--echo>.project-thumb{width:65px;height:58px}.project-name{font-size:1.125rem}.project-sector,.project-domain{font-size:.875rem}.small-note,.filter-status{font-size:.875rem}
 .story-index{grid-template-columns:1fr 1fr;gap:14px}.story-index>a{font-size:.9375rem;line-height:1.6}.delivery-steps li{grid-template-columns:25px minmax(0,1fr)}.delivery-steps strong{font-size:1rem}.delivery-steps li>span{font-size:1rem;line-height:1.8}.application-grid p,.about-principles p{font-size:1rem}.story-copy>p,.story-section>p,.about-statement p{font-size:1rem;line-height:1.85}.coverage-panel .text-link,.payment-proof .text-link,.industry-directory>article .text-link,.echo-project-preview .text-link{font-size:.9375rem}
 .project-aside .button{font-size:1rem;white-space:normal}.project-aside>a:last-child{font-size:.875rem}.chatbot-projects article{padding:27px 24px}.chatbot-projects .text-link{font-size:.9375rem}
 .equipment-feature p,.chat-photo-copy>p,.system-feature p,.echo-project-preview p{font-size:1rem;line-height:1.8}.chat-photo-feature>figure{height:270px}.equipment-feature figcaption{font-size:.8125rem;line-height:1.75}.equipment-key>span{font-size:.8125rem}.equipment-key{gap:9px}.chat-photo-copy>.media-small{font-size:.8125rem}.network-photo-grid figcaption>span{font-size:.875rem}.workspace-photo figcaption,.company-photo figcaption{font-size:.875rem}.echo-project-preview .eyebrow{font-size:.75rem}
 .enquiry-form{padding:27px 21px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column;align-items:stretch;gap:14px}.form-actions .button{width:100%;font-size:1rem;white-space:normal;gap:16px;padding:15px 18px}.text-button{font-size:.9375rem;align-self:flex-start}.enquiry-form label{font-size:.875rem}.enquiry-form .checkbox-label{font-size:.875rem}.contact-info>.contact-big{font-size:1.25rem}.contact-info>a{font-size:1rem}.contact-location .text-link{font-size:.9375rem}
 .footer-top>p{font-size:1rem}.footer-top>a:last-child{font-size:1rem}.footer-links a{font-size:.9375rem;line-height:1.8}.footer-links .eyebrow{font-size:.75rem}.footer-bottom{font-size:.8125rem;line-height:1.8}.footer-links{gap:32px 24px}
}
@media(max-height:850px){.project-aside,.story-index{position:static}}
.chat-photo-feature{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.chat-photo-copy{min-width:0}
.visual-conversation{width:100%;min-width:0;max-width:380px;grid-template-columns:minmax(0,1fr)}
.visual-bubble{width:fit-content;max-width:100%;min-width:0;overflow-wrap:break-word}
.visual-demo-label{min-width:0}
@media(max-width:900px){.chat-photo-feature{grid-template-columns:minmax(0,1fr)}}
