/* OMAPS · Service pages, aligned with the approved navy and cyan identity. */
.brand{height:auto}
.site-footer{border-top:1px solid var(--line);align-items:flex-start}
.site-footer>div p+p{margin-top:6px;font-weight:400;color:var(--muted)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 25px;text-align:right}
.site-footer nav a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.page-top{border-top:1px solid var(--line);padding-top:22px}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:11px}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.breadcrumb>span[aria-current]{color:var(--ink)}
.breadcrumb>span[aria-hidden]{color:#8496a1}
.service-switch{display:flex;gap:28px;margin-top:22px;border-bottom:1px solid var(--line)}
.service-switch a{display:flex;align-items:center;gap:34px;font-size:12px;padding:11px 0 13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.service-switch a[aria-current]{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
.service-switch a:hover{color:var(--blue)}
.service-switch span{color:var(--blue)}
.service-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;padding-top:50px;padding-bottom:56px}
.service-hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:23px}
.service-hero .eyebrow>span{height:7px;width:7px;background:var(--cyan);border-radius:50%}
.service-hero h1{font-size:clamp(36px,3.6vw,51px);line-height:1.13;max-width:690px;letter-spacing:-1.7px}
.service-hero .intro{max-width:650px;font-size:15px;line-height:1.8}
.service-hero .primary{width:276px}
.service-hero .text-link{margin-top:17px}
.service-visual{position:relative;min-height:420px;align-self:stretch;margin:0;background:var(--navy);border-radius:3px 3px 90px 3px;overflow:hidden;isolation:isolate}
.service-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 50%;opacity:.55;filter:saturate(.55)}
.service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,46,67,.2),rgba(20,46,67,.1) 45%,rgba(20,46,67,.95));z-index:1}
.service-visual figcaption{position:absolute;left:32px;right:35px;bottom:34px;color:white;z-index:3}
.service-visual figcaption span{font-size:9px;letter-spacing:2px;color:#bcebf0;display:block;margin-bottom:10px}
.service-visual figcaption b{font-size:26px;font-weight:400;letter-spacing:-.4px;line-height:1.25;display:block}
.visual-lines{position:absolute;inset:0;z-index:2;opacity:.7;pointer-events:none}
.visual-lines.noise{display:flex;gap:13px;align-items:center;justify-content:center;padding-bottom:32px}
.visual-lines.noise i{width:2px;background:linear-gradient(180deg,transparent,#b0eff7 15%,#b0eff7 85%,transparent);height:55px}
.visual-lines.noise i:nth-child(2n){height:125px}.visual-lines.noise i:nth-child(3n){height:180px}.visual-lines.noise i:nth-child(5){height:250px}
.visual-lines.air{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding-bottom:32px;transform:rotate(-15deg)}
.visual-lines.air i{height:1px;background:linear-gradient(90deg,transparent,#b0eff7 20%,#b0eff7 80%,transparent);width:65%;border-radius:100%}
.visual-lines.air i:nth-child(2n){width:80%}.visual-lines.air i:nth-child(3n){width:55%}.visual-lines.air i:nth-child(n+7){display:none}
.remote-strip{background:var(--pale);border-top:1px solid #e0edf0;border-bottom:1px solid #e0edf0}
.remote-inner{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start;padding-top:25px;padding-bottom:25px}
.remote-inner .eyebrow{margin:4px 0 0;font-size:10px}
.remote-inner>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:900px}
.section-nav{display:flex;gap:35px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.section-nav a:hover{color:var(--blue)}
.editorial-grid{display:grid;grid-template-columns:.8fr 1.35fr;gap:90px}
.editorial-heading .eyebrow{font-size:10px;margin-bottom:18px}
.editorial-heading h2{max-width:360px;font-size:34px;line-height:1.2}
.body-copy{font-size:15px;line-height:1.85;color:var(--muted)}
.body-copy p{margin-bottom:22px}.body-copy p:last-child{margin-bottom:0}
.inputs-section{background:#f4f7f8}
.section-note{max-width:340px;font-size:13px;line-height:1.8;color:var(--muted);margin:25px 0 0}
.input-list{list-style:none;margin:0;padding:0;counter-reset:inputs}
.input-list li{counter-increment:inputs;padding:17px 0 17px 46px;border-bottom:1px solid #d6e1e6;position:relative;font-size:14px;line-height:1.75;color:var(--muted)}
.input-list li:first-child{padding-top:0}
.input-list li:before{content:"0"counter(inputs);position:absolute;left:0;top:20px;color:var(--blue);font-size:10px;letter-spacing:1px}
.input-list li:first-child:before{top:3px}
.input-list li:last-child{border-bottom:0;padding-bottom:0}
.deliverable-copy{border-left:2px solid var(--cyan);padding-left:30px}
.process-section{background:var(--navy);color:white}
.process-section .eyebrow{color:#72d5e5}
.process-section .section-heading{margin-bottom:42px}
.process-list{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:26px;padding:0;margin:0}
.process-list li{border-top:1px solid #426075;padding-top:18px}
.process-list span{display:block;color:#72d5e5;font-size:11px;letter-spacing:1.2px;margin-bottom:20px}
.process-list p{margin:0;color:#deebf2;font-size:13px;line-height:1.8}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;padding:22px 35px 22px 0;font-size:15px;line-height:1.6;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:19px;color:var(--blue);font-size:22px;font-weight:400}
.faq-list details[open] summary:after{content:"−"}
.faq-list details[open] summary{color:var(--blue)}
.faq-list details p{font-size:14px;color:var(--muted);line-height:1.85;margin:0 35px 24px 0}
.faq-list summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.service-contact{display:grid;grid-template-columns:.8fr 1.35fr;gap:90px;align-items:center}
.service-contact h2{font-size:44px;line-height:1.15;margin:0}
.service-contact .contact-action p{max-width:620px;line-height:1.85;margin-bottom:25px}
.contact-action .primary{background:#8ae1ed;color:#142e43;width:255px}
.contact-action .primary:hover{background:#b4f0f7}
.contact-action .contact-email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;margin-top:19px;color:#d7e5ef;font-size:13px;text-decoration:underline;text-decoration-color:#527486;text-underline-offset:6px}
.related-service{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-top:34px;padding-bottom:34px}
.related-service p{font-size:13px;color:var(--muted);margin:0}
.related-service>a{font-size:15px;font-weight:600;color:var(--blue)}
.related-service>a span{margin-left:35px}
@media(max-width:1100px){.service-hero{gap:38px;grid-template-columns:1.2fr 1fr}.service-hero h1{font-size:42px}.service-visual{min-height:430px}.editorial-grid,.service-contact{gap:50px;grid-template-columns:.8fr 1.3fr}.remote-inner{grid-template-columns:160px 1fr;gap:20px}.process-list{gap:18px}.process-list p{font-size:12px}}
@media(max-width:800px){.service-hero h1{font-size:37px}.service-hero{gap:28px}.service-hero .intro{font-size:14px}.service-visual{min-height:440px;border-bottom-right-radius:70px}.service-visual figcaption{left:24px;right:25px;bottom:27px}.service-visual figcaption b{font-size:23px}.editorial-grid,.service-contact{gap:35px;grid-template-columns:.8fr 1.3fr}.editorial-heading h2{font-size:30px}.process-list{grid-template-columns:repeat(3,1fr);row-gap:28px}.body-copy{font-size:14px}.service-contact h2{font-size:36px}.section-nav{gap:24px}.site-footer nav{max-width:220px;justify-content:flex-end}}
@media(max-width:700px){.page-top{padding-top:17px}.breadcrumb{font-size:10px;gap:8px;line-height:1.8}.service-switch{gap:22px;margin-top:14px}.service-switch a{font-size:11px;gap:13px;padding-top:10px;padding-bottom:12px}.service-hero{display:flex;flex-direction:column;gap:28px;padding-top:30px;padding-bottom:34px}.service-hero-copy{width:100%}.service-hero .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:20px}.service-hero h1{font-size:36px;letter-spacing:-1.15px;line-height:1.14;margin-bottom:22px;max-width:520px}.service-hero .intro{font-size:14px;line-height:1.8;margin-bottom:25px}.service-hero .primary{width:265px}.service-hero .text-link{margin-top:17px;font-size:12px}.service-visual{min-height:260px;height:260px;width:100%;border-bottom-right-radius:65px;align-self:auto}.service-visual>img{object-position:50% 53%}.service-visual figcaption{left:25px;bottom:25px}.service-visual figcaption b{font-size:25px}.visual-lines.noise{gap:11px;padding-bottom:25px}.visual-lines.noise i{height:35px}.visual-lines.noise i:nth-child(2n){height:60px}.visual-lines.noise i:nth-child(3n){height:100px}.visual-lines.noise i:nth-child(5){height:160px}.visual-lines.air{padding-bottom:35px;gap:9px}.remote-inner{display:block;padding-top:23px;padding-bottom:23px}.remote-inner .eyebrow{margin:0 0 10px}.remote-inner>p:last-child{font-size:12px;line-height:1.85}.section-nav{gap:11px 23px;font-size:11px;padding-top:20px;padding-bottom:20px}.editorial-grid{display:block}.editorial-heading h2{font-size:29px;max-width:400px}.editorial-heading .eyebrow{margin-bottom:14px;font-size:9px}.editorial-heading{margin-bottom:25px}.body-copy{font-size:14px;line-height:1.85}.section-note{font-size:13px;margin-top:18px;max-width:100%}.input-list li{font-size:13px;padding-left:35px}.input-list li:first-child{padding-top:17px;border-top:1px solid #d6e1e6}.input-list li:first-child:before{top:20px}.deliverable-copy{padding-left:22px}.process-section .section-heading{margin-bottom:25px}.process-list{display:block}.process-list li{display:flex;gap:22px;padding-top:17px;padding-bottom:17px}.process-list li:last-child{padding-bottom:0}.process-list span{margin:3px 0 0;min-width:22px}.process-list p{font-size:13px}.faq-list summary{font-size:14px;padding-top:20px;padding-bottom:20px}.faq-list details p{font-size:13px;margin-right:20px}.service-contact{display:block}.service-contact h2{font-size:36px;line-height:1.14;margin-bottom:26px}.service-contact .eyebrow{font-size:9px;margin-bottom:18px}.service-contact .contact-action p{font-size:13px;line-height:1.85}.contact-action .contact-email{font-size:13px}.related-service{display:block;padding-top:27px;padding-bottom:27px}.related-service p{font-size:12px;margin-bottom:10px}.related-service>a{font-size:14px;display:flex;justify-content:space-between}.related-service>a span{margin-left:12px}.site-footer nav{display:flex;max-width:none;text-align:left;justify-content:flex-start;margin-top:17px;gap:10px 23px}.site-footer nav a{font-size:10px}.site-footer>div p+p{margin-top:5px}}
@media(max-width:375px){.service-switch{gap:17px}.service-switch a{font-size:10px;gap:9px}.service-hero h1{font-size:34px}.service-visual figcaption b{font-size:23px}.nav nav{font-size:11px}}
/* Keep keyboard and touch navigation comfortably separated. */
.service-switch a{min-height:44px}
@media(max-width:700px){.nav nav>a{min-height:44px;display:flex;align-items:center}.section-nav{gap:0 23px;padding-top:10px;padding-bottom:10px}.section-nav a{min-height:44px;display:flex;align-items:center}}
.service-switch a{white-space:nowrap}
.service-hero-copy,.editorial-grid>*,.service-contact>*{min-width:0}

/* Technical maps: retain each complete image, colors, axes and legend. */
.service-visual.technical-visual{display:flex;flex-direction:column;min-height:0;height:auto;align-self:center;width:100%;background:#fff;border:1px solid var(--line);border-top:2px solid var(--cyan);border-radius:3px;overflow:visible;isolation:auto}
.technical-visual:after{display:none}
.technical-visual-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;border-bottom:1px solid #edf2f4}
.service-hero .technical-visual-header .eyebrow{font-size:9px;letter-spacing:1.2px;display:block;margin:0}
.technical-visual-header>span:last-child{font-size:10px;color:var(--muted);white-space:nowrap}
.technical-image-link{display:block;padding:17px 14px 0;background:#fff}
.technical-image-link>img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain;opacity:1;filter:none;display:block}
.technical-enlarge{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf2f4;margin-top:16px;padding:12px 5px;font-size:11px;line-height:1.5;color:var(--blue);min-height:44px}
.technical-image-link:hover .technical-enlarge{text-decoration:underline;text-underline-offset:3px}
.technical-visual figcaption{position:static;padding:17px 20px 19px;background:#f3f7f8;color:var(--ink);z-index:auto}
.technical-caption{font-size:12px;line-height:1.7;margin:0 0 9px}
.technical-credit{font-size:10px;line-height:1.8;color:var(--muted);margin:0}
.technical-credit a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#93b0bf}
.technical-credit a:hover{color:var(--blue)}
@media(max-width:700px){.service-visual.technical-visual{height:auto;min-height:0;align-self:auto}.technical-visual-header{padding:15px 17px}.technical-image-link{padding:14px 10px 0}.technical-visual figcaption{padding:15px 17px 17px}.technical-caption{font-size:12px}.technical-credit{font-size:10px}.technical-enlarge{font-size:11px}}

/* Full map pages retain attribution alongside the enlarged image. */
.map-viewer-top{border-bottom:1px solid var(--line);margin-bottom:38px}
.map-viewer-top>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;padding-bottom:25px}
.map-viewer .brand{width:220px;height:auto}
.map-back{font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center;gap:14px}
.map-viewer h1{font-size:32px;letter-spacing:-.7px;line-height:1.25;max-width:980px;margin-bottom:18px}
.map-viewer .eyebrow{margin-bottom:14px}
.map-source{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}
.map-source a,.map-full a,.map-viewer-links a{text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.map-full{margin:0;border:1px solid var(--line);background:white}
.map-full>img{display:block;width:100%;height:auto;object-fit:contain}
.map-full figcaption{font-size:13px;line-height:1.8;padding:20px;background:var(--pale)}
.map-viewer-links{font-size:13px;line-height:1.8;margin:24px 0 38px}
@media(max-width:700px){.map-viewer-top>.wrap{display:block;padding-top:22px;padding-bottom:18px}.map-viewer .brand{width:208px;margin:0}.map-back{margin-top:12px;width:fit-content}.map-viewer-top{margin-bottom:28px}.map-viewer h1{font-size:26px;letter-spacing:-.5px}.map-source{font-size:12px}.map-full figcaption{font-size:12px;padding:15px}.map-viewer-links{font-size:12px}}
