/* Shared visual system: brand blue, charcoal, white and cool grey. */
:root{--blue:#0089b0;--action:#006f91;--navy:#152b36;--navy-deep:#152b36;--ink:#24343f;--muted:#52616b;--paper:#f4f7fa;--line:#dce4ea;--mint:#c8edf6}
body{font-size:17px;line-height:1.75;-webkit-text-size-adjust:100%;text-size-adjust:100%}
h1,h2,h3{letter-spacing:-.035em}
p{line-height:1.75}
.container{width:min(1260px,calc(100% - 80px))}
.eyebrow{font-size:13px;letter-spacing:.085em;margin-bottom:18px;color:var(--action)}
.eyebrow>span{display:none}
.section{padding:88px 0}
.section-top{gap:28px;margin-bottom:40px}
.intro,.large-copy+p{font-size:17px}
.button{font-size:15px;min-height:48px;border-radius:8px;padding:13px 20px;gap:16px}
.primary{background:var(--action);color:#fff}
.primary:hover{background:#005c78}
.inline-link,.text-link{font-size:15px;min-height:44px}
.fine-print{font-size:13px;color:var(--muted)}
.site-header .brand-symbol{background:transparent}
.brand:hover .brand-symbol{transform:none}
.site-header nav>a{font-size:14px}
.site-header nav{gap:20px}
.site-header .header-inner{justify-content:space-between}
.site-header .wordmark,.site-header.scrolled .wordmark{width:auto;min-width:185px;overflow:visible;font-size:20px}
.site-header .wordmark small,.site-header.scrolled .wordmark small{font-size:9px;letter-spacing:.07em;margin-top:5px}
.site-header.scrolled .header-inner{width:min(1260px,calc(100% - 48px));height:68px}
.menu-toggle{min-width:44px;min-height:44px}
.hero.hero-recording,.subhero,.coverage-section,.cta{background:var(--navy)}
.hero.hero-recording{border-radius:18px;margin:0 24px}
.hero-recording h1{font-size:clamp(40px,4.2vw,64px);letter-spacing:-.04em;line-height:1.15}
.hero-recording .hero-grid{gap:48px;padding-top:64px;padding-bottom:44px;min-height:560px}
.hero-recording .eyebrow{font-size:12px;color:var(--mint)}
.hero-recording .hero-copy>p:not(.eyebrow){font-size:18px;color:#d0dce2;max-width:560px}
.hero-recording .hero-actions .primary{font-size:15px;background:var(--action);border-radius:8px;padding:13px 18px}
.hero-recording .hero-actions .primary>.icon{width:22px;height:22px;padding:0;background:none;color:white;border-radius:0}
.hero-recording .hero-actions .ghost{font-size:15px;color:#fff;min-height:48px}
.hero-recording .hero-assurance{font-size:13px;line-height:1.7;color:#cfdae1}
.hero-footnotes{gap:32px}
.hero-footnotes strong{font-size:22px}
.hero-footnotes small{font-size:12px;color:#cad7de;line-height:1.6}
.hero-scroll{font-size:13px!important;min-height:44px}
.hero-recording .hero-logo-scene{user-select:none;-webkit-user-select:none;cursor:default}
.hero-logo-fallback{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.hero-logo-hint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-size:13px;color:#cad7de;pointer-events:none;line-height:1.6}
.touch-hint{display:none}
.trust-strip strong{font-size:16px}
.trust-strip small{font-size:13px;line-height:1.65}
.subhero p:not(.eyebrow){font-size:18px;color:#d0dce2;max-width:760px}
.subhero .eyebrow{color:var(--mint)}
.breadcrumb{font-size:14px;color:#cad7de}
.about-copy>p,.people-grid p,.strength-grid p,.service-detail-copy>p,.workflow-step p,.channel-card p,.why-list p,.office-grid>div:first-child>p:not(.eyebrow),.support-grid p,.mission-grid p:not(.eyebrow),.value-grid p,.service-page-card p,.career-application p,.prose p{font-size:16px;line-height:1.8}
.service-tab{font-size:15px;min-height:56px;padding:18px 16px}
.service-detail-copy h3{font-size:27px}
.service-detail-copy li,.service-bullets li{font-size:14px;line-height:1.65}
.deck-control{font-size:13px;min-height:44px}
.deck-card{border-radius:12px}
.card-front,.card-middle{background:var(--navy);border-color:#46616d}
.card-back{background:#dce9ee;color:var(--ink)}
.deck-brand,.layer-brand{font-size:13px}
.deck-brand span,.deck-footer{font-size:11px;letter-spacing:.025em}
.layer-title{font-size:22px}
.product-card{font-size:15px;min-height:70px;line-height:1.55;padding:22px 20px;border-radius:8px}
.coverage-section .eyebrow,.coverage-section h2>span{color:var(--mint)}
.coverage-copy>p:not(.eyebrow){font-size:17px;color:#d0dce2}
.coverage-copy>.map-help{font-size:14px!important}
.map-detail,.map-panel{background:#1d3946;border-color:#46616d;border-radius:12px}
.map-detail-brand{font-size:16px}
.map-detail-brand small{font-size:12px;color:#c3d3dc}
.map-detail>p{font-size:15px;color:#d0dce2}
.coverage-status{font-size:13px;line-height:1.7;align-items:flex-start;color:var(--mint)}
.coverage-status>span:first-child{margin-top:9px}
.district-button{font-size:14px;min-height:44px;padding:10px 12px;color:#dfebf1;line-height:1.5;border-color:#526c78;border-radius:6px}
.district-button:hover,.district-button.active{background:#315462;border-color:#85c4d8;color:#fff}
.district-button.coverage-inactive{color:#c2ccd3}
.map-topline{font-size:12px;letter-spacing:.035em;color:#c3d3dc;gap:16px}
.map-legend,.map-disclaimer{font-size:12px;color:#cad7de;line-height:1.7}
.map-caption{color:#c3d3dc}
.sea-label{color:#b0c4d0}
.office-address{background:var(--paper);border-radius:12px;border-color:var(--line)}
.office-address address{font-size:16px;line-height:1.8}
.office-features>span{font-size:14px;line-height:1.6}
.faqs summary{font-size:17px;min-height:56px;line-height:1.6;padding-top:18px;padding-bottom:18px}
.faqs p{font-size:16px;line-height:1.8}
.cta p:not(.eyebrow){font-size:17px;color:#d0dce2}
.cta-actions .primary{font-size:15px;background:var(--action);color:#fff}
.cta-actions .ghost{font-size:15px}
.cta .eyebrow{color:var(--mint)}
.partner-grid .partner-badge>span{font-size:13px;line-height:1.6;color:var(--muted)}
.partner-motion-toolbar{font-size:13px;line-height:1.6}
.award-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;box-shadow:none;text-align:left}
.award-image{height:auto;aspect-ratio:1;display:grid;place-items:center;background:var(--paper);padding:0}
.award-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.award-caption{padding:22px}
.award-caption>p{font-size:13px;color:var(--action);font-weight:700;line-height:1.6;min-height:42px}
.award-caption>h3{font-size:20px;line-height:1.4;min-height:56px;margin:8px 0 16px}
.award-caption>span{font-size:14px;line-height:1.5}
.circle-button{width:44px;height:44px}
.lightbox figcaption{font-size:15px;line-height:1.6}
.lightbox-nav{width:44px;height:44px}
.credentials dt,.credentials dd{font-size:14px;line-height:1.6}
.org-level,.org-branches .org-level{font-size:15px}
.org-note,.career-values>span{font-size:14px}
.contact-method address,.contact-method p,.contact-method a:not(.inline-link){font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.enquiry-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px}
label,.form-field label{font-size:14px}
input,select,textarea{font-size:16px!important;min-height:48px;border-radius:6px}
.form-note,.form-status{font-size:14px;line-height:1.7}
.filter{font-size:14px;min-height:44px}
.career-role,.channel-card,.value-grid article{border-radius:12px;box-shadow:none;border-color:var(--line)}
.career-role>p{font-size:16px}
.career-role-top,.career-type,.career-role-meta{font-size:13px}
.career-role-details summary,.career-apply{font-size:15px}
.standards-card{box-shadow:none;border-radius:12px;border-color:var(--line)}
.standards-card p,.standards-cinema .standards-card p{font-size:15px;line-height:1.75;color:var(--muted)}
.standards-card h3,.standards-cinema .standards-card h3{font-size:21px;line-height:1.4}
.standards-card.standard-selected{background:var(--navy);border-color:var(--navy)}
.standard-selected p,.standards-cinema .standard-selected p{color:#d0dce2}
.standards-badge,.standards-current,.standards-scroll-cue{font-size:12px;line-height:1.6}
.standards-cinema .standards-card{width:320px}
.standards-arrow{width:44px;height:44px}
footer{background:var(--paper)}
.footer-grid>div>a:not(.brand),.footer-grid .address-line{font-size:16px;color:var(--muted)}
.footer-grid .wordmark small{font-size:10px}
.footer-bottom,.back-top{font-size:13px}
@media(max-width:1200px){.site-header nav>a{font-size:16px}.site-header nav.open{gap:0}.site-header.scrolled nav .nav-contact{padding:13px 18px}}
@media(max-width:1000px){.container{width:calc(100% - 56px)}.service-showcase{grid-template-columns:1fr 1.1fr}.footer-grid{gap:32px}.hero-recording .hero-grid{gap:24px}.hero-recording .hero-actions{gap:12px}}
@media(max-width:760px){
 body{font-size:16px}
 .container{width:calc(100% - 40px)}
 .section{padding:64px 0}
 .section-top{align-items:flex-start;gap:24px;margin-bottom:30px}
 .eyebrow{font-size:12px;margin-bottom:15px}
 .site-header .wordmark,.site-header.scrolled .wordmark{min-width:0;width:180px;font-size:18px}
 .site-header .wordmark small,.site-header.scrolled .wordmark small{font-size:8px;letter-spacing:.025em}
 .site-header.scrolled .header-inner{height:64px;width:calc(100% - 24px);padding:0 12px;gap:8px}
 .hero.hero-recording{margin:0 12px;border-radius:14px}
 .hero-recording .hero-grid{grid-template-columns:1fr;padding-top:40px;padding-bottom:20px;gap:18px}
 .hero-recording h1{font-size:clamp(34px,8.6vw,48px);line-height:1.18}
 .hero-recording .hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.75}
 .hero-recording .hero-actions{align-items:stretch;flex-direction:column;gap:8px}
 .hero-recording .hero-actions .primary,.hero-recording .hero-actions .ghost{font-size:15px;min-height:48px;justify-content:space-between;padding:14px 16px}
 .hero-recording .hero-assurance{font-size:13px;align-items:flex-start;margin-top:20px}
 .hero-recording .hero-assurance .icon{margin-top:3px}
 .hero-bottom{align-items:flex-start;gap:24px;padding-bottom:30px}
 .hero-footnotes{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
 .hero-footnotes>div{border:0;padding:0}
 .hero-footnotes strong{font-size:20px}
 .hero-footnotes small{font-size:13px;margin-top:4px}
 .hero-scroll{font-size:13px!important}
 .hero-recording .hero-logo-scene{height:clamp(270px,82vw,400px)}
 .hero-logo-hint{font-size:12px;bottom:6px}
 .trust-strip strong{font-size:15px}.trust-strip small{font-size:12px}
 .service-showcase{grid-template-columns:1fr;gap:35px}
 .service-tab{font-size:15px;min-height:52px}
 .service-detail-copy{padding:0}
 .product-card{font-size:14px;gap:10px;padding:18px 14px}
 .district-list{grid-template-columns:1fr 1fr;gap:8px}
 .district-button{font-size:13px;padding:10px 9px}
 .map-panel{padding:20px 16px}
 .map-topline{flex-wrap:wrap;gap:4px;font-size:12px}
 .map-detail{padding:22px}
 .strength-grid,.workflow-grid{grid-template-columns:1fr;gap:28px}
 .workflow-step:after{display:none}
 .strength-grid h3,.workflow-step h3{font-size:21px}
 .channel-card{padding:26px}
 .award-card{flex-basis:min(86%,340px)}
 .awards-track{gap:18px;scroll-snap-type:x mandatory}
 .award-card{scroll-snap-align:start}
 .award-image{height:auto;aspect-ratio:1}
 .award-caption>h3{font-size:20px;min-height:0}
 .office-address{padding:26px 22px}
 .cta h2{font-size:34px}.cta-actions{width:100%;flex-wrap:wrap}.cta-actions .button{width:100%;font-size:15px}
 .subhero{padding:46px 0 34px}.subhero h1{font-size:clamp(34px,8.6vw,46px)}.subhero p:not(.eyebrow){font-size:17px}
 .service-page-card{grid-template-columns:1fr;gap:18px}.service-page-card>.button{grid-column:1;font-size:15px}
 .org-branches{flex-direction:column;align-items:stretch;width:100%}.org-branches .org-level{font-size:15px}
 .credentials dl{grid-template-columns:1fr 1fr}.credentials dt,.credentials dd{font-size:14px}
 .lightbox-content{grid-template-columns:44px 1fr 44px;gap:4px}
 .standards-grid{grid-template-columns:1fr;gap:18px}.standards-stage{width:calc(100% - 40px)}.standards-card{padding:26px}
 .standards-card p{font-size:16px}.standards-heading{padding:0 20px}
 .footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid .footer-email{font-size:16px!important}
}
@media(max-width:380px){.site-header .wordmark,.site-header.scrolled .wordmark{width:158px;font-size:16px}.site-header .wordmark small,.site-header.scrolled .wordmark small{font-size:7px}.site-header .header-inner{padding:0 10px;gap:8px}.site-header .brand-symbol,.site-header.scrolled .brand-symbol{width:40px;height:40px}.site-header .brand-symbol img,.site-header.scrolled .brand-symbol img{width:38px;height:38px}.hero-recording .hero-grid{width:calc(100% - 32px)}}
@media(hover:none),(pointer:coarse){.pointer-hint{display:none}.touch-hint{display:inline}}
@media(prefers-reduced-motion:reduce){.hero-logo-hint{display:none}}

.workflow-cinema .workflow-step{background:var(--paper)}
.workflow-cinema .workflow-step.flow-current{background:var(--navy)}
.standards-cinema .standards-card{max-height:calc(100svh - 210px);overflow:auto;scrollbar-width:thin}
@media(max-height:620px) and (min-width:761px){.standards-cinema .standards-card{max-height:calc(100svh - 190px)}}
@media(max-width:760px){.hero-bottom{display:flex;flex-direction:column}.hero-footnotes{grid-template-columns:1fr;gap:18px}.hero-footnotes>div+div{border:0;padding:0}.office-features{grid-template-columns:1fr}}

.hero-recording .hero-actions .primary{color:#fff}
.channels-section{overflow:clip}

/* Contact actions share visible icons and generous, wrapping tap targets. */
.office-contact{gap:8px;font-size:16px}
.office-contact>a.office-contact-line,.footer-grid>div>a.footer-contact-line{display:flex;align-items:flex-start;gap:12px;min-height:40px;line-height:1.65;padding:6px 0;margin-bottom:3px;font-size:16px}
.office-contact-line>.icon,.footer-contact-line>.icon{width:20px;height:20px;color:var(--action);flex-shrink:0;margin-top:3px}
.office-contact-line>span,.footer-contact-line>span{min-width:0;overflow-wrap:anywhere}
.office-contact>a:hover,.footer-grid>div>a.footer-contact-line:hover{color:var(--action)}
@media(max-width:760px){.office-contact>a.office-contact-line,.footer-grid>div>a.footer-contact-line{min-height:44px}.footer-grid>div>a.footer-contact-line.footer-email{font-size:16px!important}}
