/* The service directory is the primary route from discovery to a clear request. */
:root{--directory-navy:#092b42;--directory-copper:#c7854c;--directory-paper:#faf7f0;--directory-petrol:#14675b;--directory-line:#dce3e3}
.hero.hero-cinematic{min-height:0;overflow:visible;z-index:2}
.hero.hero-cinematic .cinematic-backdrop,.hero.hero-cinematic .cinematic-shade{border-radius:0 0 36px 36px;overflow:hidden}
.hero.hero-cinematic .cinematic-geometry{border-radius:0 0 36px 36px}
.hero.hero-cinematic .cinematic-backdrop{opacity:.28;transform:none}
.hero.hero-cinematic .cinematic-shade{background:linear-gradient(270deg,#062236 10%,#092b42ef 62%,#092b42b8)}
.hero.hero-cinematic .cinematic-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(32px,5vw,80px);width:min(1240px,calc(100% - 64px));padding-block:151px 90px}
.hero.hero-cinematic h1{font-size:clamp(2.85rem,4.9vw,4.5rem);line-height:1.3;letter-spacing:-.025em;margin-block:24px 17px}
.hero.hero-cinematic .cinematic-lead{font-size:1.06rem;line-height:1.9;max-width:560px;color:#dbe6ea}
.hero.hero-cinematic .hero-search{margin-block:27px 0;position:relative;max-width:620px}
.hero.hero-cinematic .hero-search>label{font-size:1rem;font-weight:700;color:#fff9f2;margin-bottom:11px}
.hero.hero-cinematic .hero-search-field{border-color:#d2af8f;background:#fffdf8;border-radius:13px;padding:8px 12px 8px 8px;box-shadow:0 10px 28px #00000014;gap:10px}
.hero.hero-cinematic .hero-search-field input{color:#092b42;font-size:1rem;min-height:44px}
.hero.hero-cinematic .hero-search-field input::placeholder{color:#586c78}
.hero.hero-cinematic .hero-search-field>.icon{color:#85552f}
.hero.hero-cinematic .hero-search-field button{background:#c7854c;color:#092b42;border-color:#c7854c;min-height:46px;font-size:.93rem;font-weight:800}
.hero.hero-cinematic .hero-search-field button:hover{background:#dfab81;border-color:#dfab81}
.hero.hero-cinematic .cinematic-actions{margin-top:20px;gap:10px}
.hero.hero-cinematic .cinematic-actions .btn{min-height:48px;padding:10px 17px;font-size:.94rem}
.hero.hero-cinematic .hero-call{background:transparent;color:#f9e4d0;border-color:#b98c65;box-shadow:none}
.hero.hero-cinematic .hero-call:hover{background:#c7854c20;color:#fff5ea}
.hero.hero-cinematic .hero-call-number{border-color:#d6b39155}
.hero.hero-cinematic .hero-search-topics{gap:6px 16px;font-size:.82rem;margin-top:8px}
.hero.hero-cinematic .cinematic-disclosure{font-size:.78rem;line-height:1.9;margin-top:16px;color:#cbd7dc}
.hero.hero-cinematic .hero-trust-link{margin-top:6px;font-size:.76rem}
.hero.hero-cinematic .cinematic-controls{left:max(32px,calc((100vw - 1240px)/2));bottom:18px;gap:16px}
.service-launchpad{background:#faf7f0;color:#092b42;border:1px solid #ead8c8;border-radius:22px;padding:27px 28px 0;box-shadow:0 24px 70px #00000020;min-width:0;align-self:center;position:relative}
.launchpad-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}
.launchpad-kicker{font-size:.79rem;color:#536b76;font-weight:700}
.launchpad-total{font-size:.75rem;font-weight:700;color:#795130;background:#ede1d5;padding:5px 10px;border-radius:6px}
.hero.hero-cinematic .service-launchpad h2{color:#092b42;font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.5;margin:0 0 14px}
.launchpad-topics{display:grid}
.launchpad-topic{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #dce3e3;min-height:73px;text-decoration:none;transition:color .18s,background .18s}
.launchpad-topic-number{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #ded2c5;border-radius:8px;font-size:.77rem;color:#82532e}
.launchpad-topic>span:nth-child(2){flex:1;min-width:0;display:grid;gap:5px}
.launchpad-topic strong{font-size:1rem;line-height:1.5;color:#092b42;font-weight:700}
.launchpad-topic small{font-size:.75rem;line-height:1.7;color:#536875}
.launchpad-topic>.icon{flex:0 0 18px;width:18px;height:18px;color:#80542f}
.launchpad-topic:hover strong{color:#14675b}
.launchpad-topic:hover .launchpad-topic-number{background:#e4eeea;border-color:#a9c6bd;color:#14675b}
.launchpad-topic:last-child{border-bottom:0}
.launchpad-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:17px 0;border-top:1px solid #d6dfdf;font-size:.85rem;color:#526c78}
.launchpad-footer a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#14675b;font-weight:700}
.service-launchpad :focus-visible{outline:3px solid #14675b!important;outline-offset:4px}
.audience-wrap{position:relative;z-index:1;margin-top:0;padding-top:28px}
.services-section{background:#f6f7f4;position:relative;z-index:1;scroll-margin-top:110px}
.services-section .section-head{align-items:flex-end;margin-bottom:31px}
.services-section .section-head h2{font-size:clamp(1.9rem,3.3vw,2.8rem);line-height:1.45}
.services-section .section-head p{max-width:630px;color:#526875;line-height:1.9;font-size:1.02rem}
.catalog{min-width:0}
.catalog-toolbar{display:flex;align-items:center;gap:35px;margin-bottom:27px;padding:0;background:transparent;border:0}
.catalog-toolbar .search-field{position:relative;flex:1;min-width:0}
.catalog-toolbar label{display:block;margin-bottom:11px;font-size:1.02rem;color:#092b42;font-weight:700}
.catalog-toolbar .search-wrap{display:flex;align-items:center;gap:12px;padding:6px 16px;background:#fffdf8;border:1px solid #bdcece;border-radius:13px;min-height:58px}
.catalog-toolbar .search-wrap:focus-within{border-color:#14675b;box-shadow:0 0 0 3px #14675b14}
.catalog-toolbar .search-input{border:0;outline:0;box-shadow:none;background:transparent;min-width:0;font-size:1.02rem;color:#092b42;padding:9px 0;flex:1;width:100%}
.catalog-toolbar .search-wrap>.icon{position:static;inset:auto;color:#466673;width:23px;height:23px;flex-shrink:0}
.catalog-toolbar #clear-search{position:static;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:8px;background:#eaf0ec;color:#244c4c;font-size:1.4rem;transform:none}
.catalog-hint{display:flex;align-items:center;gap:14px;padding-top:25px;flex:0 0 220px;background:none;border:0}
.catalog-hint-number{font-size:2.6rem;color:#c7854c;font-weight:700;line-height:1}
.catalog-hint p{margin:0;font-weight:700;color:#092b42;line-height:1.7;font-size:1rem}
.catalog-hint p span{font-size:.83rem;font-weight:400;color:#536b75}
.catalog-topic-heading{font-size:.85rem;color:#536b75;font-weight:700;margin-bottom:11px}
.topic-filters{display:grid;grid-template-columns:.72fr repeat(5,minmax(0,1fr));gap:9px}
.topic-filter{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:13px 12px;border:1px solid #d7e1df;background:#fffdf8;border-radius:10px;color:#173f50;font-family:inherit;text-align:start;min-height:59px;line-height:1.65;transition:background .16s,border-color .16s}
.topic-filter span{font-size:.91rem;font-weight:700}
.topic-filter small{font-size:.76rem;color:#58716f;font-weight:700;flex-shrink:0}
.topic-filter[aria-pressed=true]{background:#092b42;border-color:#092b42;color:#fff9f0;box-shadow:0 5px 14px #092b4210}
.topic-filter[aria-pressed=true] small{color:#e4b78f}
.topic-filter:hover:not([aria-pressed=true]){border-color:#9bbaae;background:#eff5f0}
.catalog-audience-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:21px;padding-bottom:19px;border-bottom:1px solid #dce3e3}
.catalog-audience-label{font-size:.86rem;color:#536b75}
.catalog-audience-row .filter-row{display:flex;gap:5px;flex-wrap:wrap;margin:0;padding:0;border:0}
.catalog-audience-row .filter-btn{min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#526b77;font-size:.88rem;line-height:1.4}
.catalog-audience-row .filter-btn[aria-pressed=true]{background:#e3ece6;color:#17594c;border-color:#c9dbd0;box-shadow:none}
.catalog-results-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding-block:17px 21px;min-height:63px;font-size:.86rem}
.catalog-results-head .search-count{margin:0;color:#092b42;font-size:.89rem;font-weight:700}
#catalog-filter-summary{color:#58717a;font-size:.8rem}
#active-filters-clear{margin-inline-start:auto;background:transparent;border:0;border-bottom:1px solid #a2b7b3;padding:5px 0;color:#14675b;min-height:38px;font-size:.82rem}
.catalog-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-grid .service-card{padding:27px 25px 0;border-radius:16px;border:1px solid #d9e2de;background:#fffefa;box-shadow:0 2px 0 #092b4203;min-width:0;transition:border-color .18s,box-shadow .18s}
.catalog-grid .service-card:hover{transform:none;border-color:#a6c0b7;box-shadow:0 10px 25px #092b4208}
.catalog-grid .service-card--featured{background:#fffefa;border-color:#d9e2de}
.catalog-grid .card-head{gap:13px;margin-bottom:20px}
.catalog-grid .card-label{font-size:.77rem;color:#47665f;font-weight:500;line-height:1.7}
.catalog-grid .service-icon{background:#eef3ee;color:#255e54;border-radius:11px;width:45px;height:45px;flex-basis:45px}
.catalog-grid .service-card h3{font-size:1.28rem;line-height:1.65;margin-bottom:11px;letter-spacing:0}
.catalog-grid .service-card>p{font-size:.94rem;line-height:1.95;color:#526976}
.catalog-grid .service-topics{gap:6px;margin-block:17px 22px;align-items:flex-start}
.catalog-grid .service-topics li{font-size:.73rem;line-height:1.7;padding:3px 8px;border-radius:5px;color:#49675e;background:#eff3ed;border:0}
.catalog-grid .card-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-block:15px;border-color:#dfe6df}
.catalog-grid .service-detail-link{font-size:.8rem;line-height:1.6;color:#4b6471;min-height:44px}
.catalog-grid .service-request{font-size:.84rem;line-height:1.6;min-height:44px;color:#14675b;white-space:normal}
.search-field,.hero-search{position:relative}
.search-suggestions{position:absolute;inset-inline:0;top:calc(100% + 7px);background:#fffdf8;color:#092b42;border:1px solid #c4d2cd;border-radius:12px;box-shadow:0 18px 45px #06223624;z-index:100;overflow:auto;max-height:360px;padding:5px;isolation:isolate}
.hero-search-control{position:relative}.hero-search .search-suggestions{top:calc(100% + 7px)}
.search-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:13px;min-height:56px;padding:11px 12px;border:0;border-radius:8px;background:#fffdf8;color:#092b42;text-align:start;font-family:inherit;line-height:1.65}
.search-suggestion:hover,.search-suggestion[aria-selected=true]{background:#e8f1ea;color:#104d43}
.suggestion-title{font-size:.95rem;font-weight:700;overflow-wrap:anywhere}
.suggestion-category{font-size:.74rem;line-height:1.65;color:#55716c;text-align:end;max-width:38%;flex-shrink:0}
.no-results{border:1px solid #d0ddd7;background:#fffdf8;border-radius:14px;padding:30px}
.catalog-bottom{margin-top:27px}
.page-intro h1{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.5}
.page-intro .lead{max-width:820px;line-height:1.95}
.content-grid>.article{min-width:0}
.contact-grid{align-items:start}
.topic-filter:focus-visible,.search-suggestion:focus-visible,.catalog button:focus-visible{outline:3px solid #c7854c;outline-offset:3px}
[hidden]{display:none!important}
@media(min-width:1800px){.hero.hero-cinematic .cinematic-layout{padding-top:175px;padding-bottom:100px}}
@media(max-width:1120px){.hero.hero-cinematic .cinematic-layout{gap:30px;width:calc(100% - 48px)}.service-launchpad{padding-inline:23px}.topic-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero.hero-cinematic h1{font-size:3.15rem}}
@media(max-width:850px){.hero.hero-cinematic .cinematic-layout{grid-template-columns:minmax(0,1fr);width:min(700px,calc(100% - 40px));gap:30px;padding-top:135px;padding-bottom:80px}.hero.hero-cinematic .cinematic-copy{max-width:none}.hero.hero-cinematic .cinematic-lead{max-width:none}.hero.hero-cinematic .hero-search{max-width:none}.service-launchpad{padding:21px 24px 0}.launchpad-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.launchpad-topic{padding:14px 0}.launchpad-topic:last-child{grid-column:1/-1}.launchpad-topic small{font-size:.77rem}.launchpad-footer{margin-top:4px}.hero.hero-cinematic .cinematic-controls{left:20px;right:20px;bottom:17px;justify-content:space-between}.catalog-toolbar{gap:20px}.catalog-hint{flex-basis:180px}.catalog-grid .service-card{padding-inline:22px}}
@media(max-width:600px){.hero.hero-cinematic .cinematic-layout{padding-top:119px;padding-bottom:71px;width:calc(100% - 36px);gap:25px}.hero.hero-cinematic h1{font-size:clamp(2.55rem,10vw,3.2rem);margin-top:20px;margin-bottom:14px;line-height:1.35}.hero.hero-cinematic .hero-label{font-size:.77rem}.hero.hero-cinematic .cinematic-lead{font-size:1rem;line-height:1.9}.hero.hero-cinematic .hero-search{margin-top:22px}.hero.hero-cinematic .hero-search>label{font-size:.94rem}.hero.hero-cinematic .hero-search-field{gap:7px;padding-inline-start:10px}.hero.hero-cinematic .hero-search-field input{font-size:.92rem}.hero.hero-cinematic .hero-search-field button{min-width:58px;padding-inline:10px;font-size:.85rem}.hero.hero-cinematic .hero-search-field>.icon{width:19px;flex-basis:19px}.hero.hero-cinematic .cinematic-actions .btn{font-size:.86rem;padding-inline:14px}.hero.hero-cinematic .cinematic-disclosure{font-size:.76rem}.hero.hero-cinematic .hero-search-topics{font-size:.78rem;gap:5px 12px}.hero.hero-cinematic .hero-trust-link{font-size:.72rem}.service-launchpad{padding:20px 20px 0;border-radius:17px}.hero.hero-cinematic .service-launchpad h2{font-size:1.45rem}.launchpad-heading{margin-bottom:11px}.launchpad-topics{grid-template-columns:minmax(0,1fr);gap:0}.launchpad-topic:last-child{grid-column:auto}.launchpad-topic{min-height:64px;padding:12px 0;gap:11px}.launchpad-topic strong{font-size:.97rem}.launchpad-topic small{font-size:.77rem;line-height:1.7}.launchpad-topic-number{flex-basis:27px;width:27px;height:27px}.launchpad-footer{font-size:.83rem;padding-block:10px}.audience-wrap{padding-top:18px}.services-section .section-head{margin-bottom:25px}.services-section .section-head h2{font-size:1.95rem}.services-section .section-head p{font-size:.96rem}.catalog-toolbar{display:block;margin-bottom:22px}.catalog-hint{display:none}.catalog-toolbar label{font-size:.98rem}.catalog-toolbar .search-wrap{padding-inline:12px;min-height:56px}.catalog-toolbar .search-input{font-size:.95rem}.topic-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topic-filter{min-height:58px;padding:11px 12px}.topic-filter span{font-size:.84rem}.topic-filter small{font-size:.73rem}.catalog-audience-row{gap:8px;margin-top:17px;padding-bottom:14px}.catalog-audience-label{font-size:.82rem}.catalog-audience-row .filter-row{gap:2px}.catalog-audience-row .filter-btn{font-size:.82rem;padding:8px 11px}.catalog-results-head{padding-top:13px;padding-bottom:18px;gap:5px 10px}.catalog-results-head .search-count{font-size:.86rem}#catalog-filter-summary{font-size:.77rem}#active-filters-clear{font-size:.78rem}.catalog-grid{grid-template-columns:minmax(0,1fr);gap:16px}.catalog-grid .service-card{padding:23px 21px 0}.catalog-grid .card-head{margin-bottom:15px}.catalog-grid .service-card h3{font-size:1.3rem}.catalog-grid .service-card>p{font-size:1rem;line-height:1.9}.catalog-grid .service-topics li{font-size:.77rem}.catalog-grid .card-foot{padding-block:12px}.catalog-grid .service-detail-link,.catalog-grid .service-request{font-size:.86rem}.search-suggestions{max-height:310px}.search-suggestion{padding:11px 10px;gap:8px;min-height:58px}.suggestion-title{font-size:.89rem}.suggestion-category{font-size:.73rem}.page-intro h1{font-size:2.1rem}.page-intro .lead{font-size:1rem}.no-results{padding:25px 20px}}
@media(max-width:350px){.hero.hero-cinematic .cinematic-layout{width:calc(100% - 28px)}.hero.hero-cinematic .hero-search-field button>.icon{display:none}.hero.hero-cinematic h1{font-size:2.35rem}.catalog-audience-row .filter-btn{padding-inline:9px}.topic-filter{padding-inline:9px}.topic-filter span{font-size:.81rem}}
@media(prefers-reduced-motion:reduce){.launchpad-topic,.topic-filter,.catalog-grid .service-card{transition:none}.hero.hero-cinematic .cinematic-backdrop{transform:none}}
@media print{.service-launchpad,.topic-filters,.catalog-toolbar,.catalog-audience-row,.catalog-results-head,.search-suggestions{display:none}.hero.hero-cinematic{color:#092b42}.hero.hero-cinematic .cinematic-layout{display:block;padding:25px 0}.catalog-grid{display:block}.catalog-grid .service-card{break-inside:avoid;margin-bottom:15px}}
/* Readable touch controls without automatic input zoom on mobile browsers. */
@media(max-width:700px){
 .hero.hero-cinematic .hero-search-field input,.catalog-toolbar .search-input,
 #request-form .field input,#request-form .field select,#request-form .field textarea{font-size:16px}
 .catalog-grid .service-card h3,.launchpad-topic strong{overflow-wrap:anywhere}
 .catalog-bottom .btn,.no-results .btn{min-height:44px;white-space:normal}
}
