@font-face{font-family:Hanken;font-display:swap;src:url('/assets/hanken-400.ttf')}@font-face{font-family:Hanken;font-display:swap;src:url('/assets/hanken-500.ttf');font-weight:500}@font-face{font-family:Hanken;font-display:swap;src:url('/assets/hanken-700.ttf');font-weight:700}
:root{--brand-deep:#073583;--brand-medium:#316694;--brand-light:#71a4d7;--brand-yellow:#facc00;--ink:#073583;--muted:#707070;--accent:#073583;--paper:#fff;--wash:#f6f6f6;--line:#d6dbe4;--space:6.25vw;--display:Hanken,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#707070 #f6f6f6;scroll-padding-top:18px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Hanken,sans-serif;font-size:16px;line-height:1.6}::selection{background:var(--accent);color:white}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,select,summary{outline-offset:5px}:focus-visible{outline:3px solid var(--accent)}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;display:inline-block;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(44px,5.4vw,78px);margin-bottom:26px}h2{font-size:clamp(32px,3.5vw,49px);margin-bottom:24px}h3{font-size:27px;letter-spacing:-.02em}p{color:var(--muted)}strong{font-weight:700}.brand{width:117px;height:46px;object-fit:contain}.site-header{height:96px;margin:0 var(--space);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.site-header>a{display:block}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav>a{font-size:14px;text-decoration:none}.site-header nav>a:hover{text-decoration:underline}.site-header .nav-contact{display:flex;gap:18px;align-items:center;background:var(--ink);color:white;padding:12px 20px;border-radius:3px}.nav-contact svg{width:18px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:16px 23px;border:1px solid transparent;background:var(--accent);color:white;text-decoration:none;font-size:14px;font-weight:500;line-height:1.4;transition:background .16s,color .16s;border-radius:3px}.button:hover{background:var(--ink);color:white}.button.secondary{background:transparent;color:var(--ink);border-color:transparent;padding-left:0;padding-right:0}.button.secondary:hover{text-decoration:underline;background:transparent;color:var(--accent)}.button svg{width:19px}.hero-actions{display:flex;flex-direction:column;gap:12px;align-items:start}.hero-actions .secondary{font-size:13px}.section{padding:90px var(--space)}.section-intro{max-width:550px}.section-intro>p{max-width:440px;font-size:17px}.fine-print{font-size:12px;line-height:1.5;color:var(--muted)}figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding-top:11px}.metrics{display:flex;justify-content:space-between;gap:35px}.metrics>div{min-width:0;flex:1}.metrics strong{font-size:49px;line-height:1;font-weight:500;letter-spacing:-.04em;display:block;font-variant-numeric:tabular-nums}.metrics span{display:block;font-size:12px;line-height:1.5;margin-top:13px;color:var(--muted)}.institutions{padding:46px var(--space);border-bottom:1px solid var(--line)}.institution-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}.institution-heading h2{font-family:Hanken,sans-serif;font-size:17px;letter-spacing:0;line-height:1.4;margin:0}.institution-heading p{font-size:12px;margin:0}.entity-list{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;line-height:1.4}.entity-list strong{font-weight:700;font-size:15px}.entity-list .entity-word{font-weight:700;font-size:22px;letter-spacing:.01em}.entity-list small{display:block;font-size:12px;margin-top:5px}.institutions>.fine-print{margin-top:23px;margin-bottom:0}.services,.editorial-services{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;background:var(--wash)}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-row summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:19px;line-height:1.35}.service-row[open] summary span{transform:rotate(90deg)}.service-row>p{font-size:14px;margin:0 30px 18px 0;max-width:480px}.service-row>a{display:inline-flex;align-items:center;gap:12px;font-size:13px;margin:0 0 24px;text-decoration:none;color:var(--accent)}.case-study{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.case-study figure img{height:475px}.case-copy>p{font-size:15px}.case-copy>p:first-of-type{font-size:13px}.case-number{margin:32px 0}.case-number strong{display:block;font-size:75px;font-weight:500;line-height:1.1;letter-spacing:-.04em}.case-number span{font-size:13px;line-height:1.4;color:var(--muted)}.source-detail{font-size:12px;margin-top:22px}.source-detail summary{padding:14px 0}.source-detail summary:after{content:' +';float:right}.source-detail p{font-size:12px;margin-top:10px}.capacity{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:var(--ink);color:#fff}.capacity h2{font-size:42px}.capacity p,.capacity .fine-print{color:#d6dbe4}.capacity-copy>p{max-width:420px}.capacity-copy .fine-print{margin-top:35px;max-width:400px}.capacity-data{padding-top:5px}.capacity-main strong{font-size:clamp(56px,6.5vw,90px);line-height:1;letter-spacing:-.04em;font-weight:500;display:block;font-variant-numeric:tabular-nums}.capacity-main span{display:block;margin-top:13px;font-size:16px}.capacity-small{display:flex;gap:70px;margin:30px 0;border-top:1px solid #ffffff40;padding-top:22px}.capacity-small>div{display:flex;gap:14px;align-items:center}.capacity-small strong{font-size:44px;font-weight:500;line-height:1}.capacity-small span{font-size:12px;max-width:75px;line-height:1.4}.capacity-data>p{font-size:13px;margin:0}.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;background:var(--wash)}.faq h2{font-size:36px}.faq summary{font-size:16px;padding:22px 0;display:flex;justify-content:space-between;gap:18px}.faq details:first-child{border-top:1px solid var(--line)}.faq details p{font-size:14px;margin-bottom:25px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:start}.contact h2{font-size:49px}.contact>div>p{font-size:16px;max-width:380px}.contact-brand{margin-top:56px}.contact-brand img{width:105px}.demo-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.demo-form label{font-size:12px;display:block}.demo-form input,.demo-form select{width:100%;margin-top:7px;display:block;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px;font-size:14px;padding:13px 12px;min-height:49px;caret-color:var(--accent)}.demo-form input::placeholder{color:var(--muted);opacity:1}.demo-form>.button{grid-column:1/-1;justify-self:start}.form-note,.form-result{grid-column:1/-1;font-size:12px;margin:0}.form-result{padding:15px;background:var(--wash);color:var(--ink);font-size:13px}.site-footer{padding:30px var(--space);border-top:1px solid var(--line)}.site-footer>div{display:flex;justify-content:space-between;gap:25px;font-size:13px;margin-bottom:16px}.site-footer p{font-size:12px;max-width:940px;margin:7px 0}.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:white;z-index:10}.skip-link:focus{top:10px}[hidden]{display:none!important}
/* Institucional: clear white and blue architectural composition. */
.institutional-hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:48px var(--space) 54px;align-items:center}.institutional-hero h1{font-size:clamp(46px,4.9vw,71px);max-width:570px}.institutional-hero .hero-copy>p{font-size:17px;line-height:1.7;max-width:460px;margin-bottom:28px}.hero-trust{border-top:1px solid var(--line);margin-top:30px;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:440px}.hero-trust span{font-size:12px;max-width:135px;line-height:1.5}.hero-trust strong{font-size:19px;font-weight:500;white-space:nowrap}.hero-figure{position:relative;align-self:stretch;min-height:520px}.hero-figure>img{height:100%;position:absolute;inset:0;object-position:50% 45%}.hero-figure>figcaption{position:absolute;top:20px;left:22px;color:white;background:#073583b0;padding:5px 9px;font-size:12px}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:24px 28px;color:#fff;background:#073583ed}.photo-label strong{font-size:27px;line-height:1.12;font-weight:500;display:block}.photo-label span{font-size:12px;display:block;margin-top:12px;color:#ffffffcc}.proof-band{padding:32px var(--space);background:var(--wash)}.proof-band .metrics strong{font-size:44px}.proof-band .metrics{max-width:1050px}.proof-band .metrics>div+div{border-left:1px solid var(--line);padding-left:40px}

/* Institutional refinement, scoped to the selected proposal. */
.institucional .hero-assurance{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:26px;font-size:13px;color:var(--muted);max-width:450px}
.institucional .capacity-highlight{background:var(--ink);color:#fff;padding:44px var(--space);display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.institucional .capacity-highlight h2{font-size:34px;line-height:1.15;margin:0 0 15px}.institucional .capacity-highlight p{color:#ffffffcc;font-size:15px;margin:0;max-width:390px}.institucional .capacity-feature{border-left:1px solid #ffffff38;padding-left:42px}.institucional .capacity-feature strong{display:block;font-size:72px;font-weight:500;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.institucional .capacity-feature>span{display:block;font-size:14px;margin:12px 0 16px;color:#ffffffdd}.institucional .capacity-feature a{display:inline-flex;gap:12px;align-items:center;font-size:13px;color:#fff;text-decoration:none}.institucional .capacity-feature a:hover{text-decoration:underline}.institucional .capacity-feature a svg{width:17px}
.institucional .scale-section{padding:64px 0 44px;background:#f6f6f6}.institucional .section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;padding:0 var(--space);margin-bottom:35px}.institucional .section-heading h2{font-size:37px;margin:0}.institucional .section-heading>p{font-size:15px;max-width:340px;margin:0;line-height:1.6}.institucional .evidence-carousel{overflow:hidden}.institucional .carousel-viewport{overflow:hidden;width:100%;padding:8px 0}.institucional .carousel-track{display:flex;width:max-content}.institucional .carousel-group{display:flex;list-style:none;padding:0;margin:0;flex-shrink:0;width:max-content}.institucional .metric-item{width:max(320px,calc(100vw / 6));flex-shrink:0;padding:24px 34px;border-right:1px solid #d6dbe4}.institucional .metric-item strong{font-size:45px;line-height:1.12;letter-spacing:-.035em;font-weight:500;display:block;font-variant-numeric:tabular-nums;white-space:nowrap;color:#073583}.institucional .metric-item>span{display:block;font-size:17px;margin-top:12px;color:var(--ink)}.institucional .metric-item small{font-size:12px;display:block;margin-top:6px;color:var(--muted)}.institucional .carousel-controls{display:flex;gap:8px;justify-content:end;padding:22px var(--space) 0}.institucional .carousel-controls button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--ink);min-width:42px;min-height:42px;padding:9px;border:1px solid #d6dbe4;border-radius:3px;font-size:12px}.institucional .carousel-controls button:hover{background:#f6f6f6}.institucional .carousel-controls .motion-toggle{padding:9px 15px;min-width:105px}.institucional .carousel-controls svg{width:17px;height:17px}.institucional .metric-method{margin:12px var(--space) 0;border:0;max-width:870px;font-size:12px}.institucional .metric-method summary,.institucional .institution-directory summary{display:flex;align-items:center;gap:16px;padding:10px 0;color:var(--muted);width:fit-content}.institucional .metric-method p{margin:7px 0 0;font-size:12px;line-height:1.65}.institucional .institution-section{padding:62px 0 40px;background:#fff}.institucional .institution-section .section-heading h2{font-size:33px}.institucional .institution-item{width:290px;min-height:146px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:14px 32px;border-right:1px solid var(--line);text-align:center;color:#073583}.institucional .institution-item>span{font-size:16px;line-height:1.35;font-weight:500;max-width:245px;text-wrap:balance}.institucional .institution-item img{width:155px;height:58px;object-fit:contain}.institucional .institution-item small{font-size:12px;line-height:1.4;font-weight:400;color:var(--muted)}.institucional .institution-directory{margin:0 var(--space);border:0;font-size:13px}.institucional .institution-directory ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;padding:16px 0 0;margin:0}.institucional .institution-directory li{padding:15px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5}.institucional .institution-directory small{display:block;font-size:12px;color:var(--muted)}
.institucional .care-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.institucional .care-section figure img{height:560px}.institucional .care-section h2{font-size:43px}.institucional .care-section>div>p{max-width:450px;font-size:16px}.institucional .care-section dl{margin:30px 0 20px}.institucional .care-section dl>div{border-top:1px solid var(--line);padding:19px 0}.institucional .care-section dt{font-size:18px;font-weight:500;line-height:1.3;margin-bottom:7px}.institucional .care-section dd{font-size:14px;color:var(--muted);margin:0;max-width:425px;line-height:1.6}.institucional .coverage-section{background:#073583;color:white;padding-top:57px;padding-bottom:57px}.institucional .coverage-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.institucional .coverage-heading h2{font-size:36px;margin:0}.institucional .coverage-heading p{font-size:16px;color:#ffffffcc;margin:0;max-width:380px}.institucional .coverage-heading strong{color:#fff;font-weight:500}.institucional .city-list{display:flex;flex-wrap:wrap;gap:18px 40px;padding:25px 0 0;list-style:none;margin:35px 0 0;border-top:1px solid #ffffff40}.institucional .city-list li{font-size:21px;font-weight:500}.institucional .reduced-motion .carousel-clone{display:none}.institucional .reduced-motion .carousel-viewport{overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.institucional .reduced-motion li{scroll-snap-align:start}.institucional.thumbnail .carousel-controls,.institucional.thumbnail .metric-method{display:none}
@media(min-width:1800px){.institucional{--space:max(6.25vw,calc((100vw - 1500px)/2))}}
@media(max-width:950px){.institucional .capacity-highlight{gap:5%}.institucional .capacity-feature{padding-left:25px}.institucional .capacity-feature strong{font-size:62px}.institucional .section-heading{gap:28px}.institucional .section-heading h2{font-size:33px}.institucional .care-section{gap:6%}.institucional .care-section h2{font-size:36px}.institucional .care-section figure img{height:520px}}
@media(max-width:650px){.institucional .hero-assurance{font-size:12px;gap:15px;margin-top:20px;padding-top:15px}.institucional .capacity-highlight{grid-template-columns:1fr;gap:25px;padding:34px var(--space)}.institucional .capacity-highlight h2{font-size:29px}.institucional .capacity-highlight p{font-size:14px}.institucional .capacity-feature{border:0;border-top:1px solid #ffffff38;padding:25px 0 0}.institucional .capacity-feature strong{font-size:64px}.institucional .capacity-feature>span{font-size:14px;max-width:260px}.institucional .scale-section{padding:42px 0 30px}.institucional .section-heading{display:block;margin-bottom:23px}.institucional .section-heading h2,.institucional .institution-section .section-heading h2{font-size:30px;line-height:1.13}.institucional .section-heading>p{font-size:14px;margin-top:15px;max-width:330px}.institucional .metric-item{width:275px;padding:20px 25px}.institucional .metric-item strong{font-size:40px}.institucional .metric-item>span{font-size:16px}.institucional .carousel-controls{padding-top:17px}.institucional .metric-method{margin-top:14px}.institucional .institution-section{padding:40px 0 30px}.institucional .institution-item{width:255px;min-height:145px;padding:15px 24px}.institucional .institution-item>span{font-size:15px}.institucional .institution-directory{margin-top:9px}.institucional .institution-directory ul{grid-template-columns:1fr}.institucional .care-section{grid-template-columns:1fr;gap:29px}.institucional .care-section figure img{height:335px}.institucional .care-section h2{font-size:35px}.institucional .care-section>div>p{font-size:15px}.institucional .coverage-section{padding-top:40px;padding-bottom:40px}.institucional .coverage-heading{grid-template-columns:1fr;gap:20px}.institucional .coverage-heading h2{font-size:31px}.institucional .coverage-heading p{font-size:15px}.institucional .city-list{gap:16px 25px;margin-top:26px;padding-top:23px}.institucional .city-list li{font-size:18px}}

.institucional .institution-item.crest-on-blue img{background:#123657;border-radius:3px;width:74px;height:72px;padding:5px}

/* Larger evidence cells and semantic icons requested by the user. */
.institucional .metric-item{width:max(400px,calc(100vw / 5));padding:25px 42px 30px}
.institucional .metric-item .metric-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 0 23px;background:#f6f6f6;color:#073583;border-radius:10px}
.institucional .metric-icon svg{width:31px;height:31px;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.institucional .metric-item strong{font-size:58px;line-height:1.1;display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.institucional .metric-item .metric-unit{font-size:24px;letter-spacing:-.02em;font-weight:500}
.institucional .metric-item>span:not(.metric-icon){font-size:20px;line-height:1.4;margin-top:16px}
.institucional .metric-item small{font-size:14px;margin-top:8px}
@media(max-width:650px){.institucional .metric-item{width:340px;padding:24px 28px 28px}.institucional .metric-item .metric-icon{width:52px;height:52px;margin-bottom:22px}.institucional .metric-icon svg{width:29px;height:29px}.institucional .metric-item strong{font-size:49px;gap:8px}.institucional .metric-item .metric-unit{font-size:22px}.institucional .metric-item>span:not(.metric-icon){font-size:19px;margin-top:14px}.institucional .metric-item small{font-size:13px}}

/* Production extension of the approved Institutional direction. */
html{scroll-padding-top:24px}body{overflow-wrap:break-word}main{min-height:60vh}main:focus{outline:none}h1,h2,h3{font-weight:500}a,button{touch-action:manipulation}a:hover{text-decoration-thickness:2px}img{max-width:100%}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--accent);font-size:15px;text-decoration:none}.text-link:hover{text-decoration:underline}.site-header nav{gap:27px}.site-header nav>a{font-size:15px}.site-header a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.site-header .menu-toggle{min-height:44px}.button{font-size:15px;min-height:48px}.section-intro{max-width:520px}.section-intro>p{font-size:18px;line-height:1.7}.service-overview{padding:23px 0 25px;border-bottom:1px solid var(--line)}.service-overview h3{font-size:23px;line-height:1.3;margin:0 0 9px}.service-overview h3 a{display:flex;align-items:center;justify-content:space-between;gap:22px;text-decoration:none}.service-overview h3 a:hover{color:var(--accent)}.service-overview p{font-size:16px;line-height:1.6;max-width:510px;margin:0}.services{gap:8%;align-items:start}.services .section-intro{position:sticky;top:40px}.services .text-link{margin-top:15px;max-width:340px}.software-feature{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.software-feature h2{font-size:46px}.software-feature>div>p{max-width:460px;font-size:18px;line-height:1.7;margin-bottom:30px}.software-capabilities{padding:37px 40px;background:var(--wash);border:1px solid var(--line)}.software-capabilities h3{font-size:26px;max-width:320px;line-height:1.2;margin:0 0 26px}.software-capabilities ul{list-style:none;padding:0;margin:0}.software-capabilities li{padding:18px 0;border-top:1px solid var(--line)}.software-capabilities li strong{display:block;font-size:18px;font-weight:500}.software-capabilities li span{display:block;font-size:15px;color:var(--muted);margin-top:4px}.software-capabilities>a{display:inline-flex;gap:12px;align-items:center;margin-top:18px;font-size:15px;color:var(--accent)}.institucional .care-section{padding-top:35px}.contact{gap:9%}.contact .button{margin-top:13px}.contact-email{display:block;font-size:17px;margin:19px 0 15px;overflow-wrap:anywhere;color:var(--accent)}.contact .contact-hours{font-size:14px}.office-list article{padding:22px 0;border-top:1px solid var(--line)}.office-list h3{font-size:25px;margin:0 0 14px}.office-list address{font-style:normal;max-width:410px;color:var(--muted);font-size:16px;line-height:1.6}.phone-links{display:flex;flex-wrap:wrap;gap:8px 25px;margin:17px 0 14px}.phone-links a{font-size:16px;display:inline-flex;min-height:32px;align-items:center}.contact-tip{font-size:14px;margin:17px 0 0;max-width:430px}.site-footer{background:var(--wash);position:relative;padding-top:35px;padding-bottom:35px}.site-footer>div{align-items:center;gap:25px;margin-bottom:26px}.site-footer nav{display:flex;flex-wrap:wrap;gap:15px 27px}.site-footer nav a{font-size:14px}.site-footer p{font-size:13px;max-width:900px}.site-footer .brand{width:98px}.back-top{display:inline-flex;gap:9px;font-size:13px;margin-top:15px}.back-top svg{transform:rotate(-90deg);width:16px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px 14px;padding:28px var(--space) 0;font-size:14px;color:var(--muted)}.breadcrumb [aria-current]{color:var(--ink)}.detail-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:center;padding-top:55px;padding-bottom:75px}.detail-hero h1{font-size:clamp(44px,4.3vw,65px);max-width:740px}.detail-hero>div>p{font-size:19px;max-width:640px;line-height:1.7;margin-bottom:30px}.detail-context{padding:30px 0 30px 32px;border-left:1px solid var(--line)}.detail-context h2{font-size:30px;line-height:1.2}.detail-context p{font-size:16px;line-height:1.7}.detail-context a{display:inline-flex;gap:12px;align-items:center;font-size:15px;color:var(--accent);margin-top:10px}.detail-scope{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:var(--wash);align-items:start}.detail-scope h2{font-size:40px;max-width:440px}.detail-scope>div>p{max-width:390px;font-size:17px}.detail-scope dl{margin:0}.detail-scope dl>div{padding:24px 0;border-top:1px solid var(--line)}.detail-scope dl>div:first-child{padding-top:0;border-top:0}.detail-scope dt{font-size:23px;line-height:1.3;font-weight:500;margin-bottom:9px}.detail-scope dd{margin:0;color:var(--muted);font-size:17px;line-height:1.7;max-width:560px}.bespoke{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9%}.bespoke h2{font-size:43px}.bespoke p{color:#d6dbe4;font-size:18px;line-height:1.7}.bespoke .button{background:#fff;color:var(--ink);margin-top:15px}.bespoke .button:hover{background:#f6f6f6}.related{background:var(--wash)}.related h2{font-size:36px}.related>div{display:grid;grid-template-columns:1fr 1fr;gap:45px}.related a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line);font-size:22px;text-decoration:none}.related a:hover{color:var(--accent)}.service-photo{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.service-photo img{height:400px;object-fit:cover}.service-photo h2{font-size:40px}.service-photo p{font-size:18px;line-height:1.7}.resource-callout{max-width:1100px}.resource-callout p{font-size:18px;max-width:650px}.resource-hero{padding-top:55px;padding-bottom:65px}.resource-hero h1{font-size:clamp(44px,4.6vw,67px);max-width:920px}.resource-hero>p{max-width:670px;font-size:21px;line-height:1.6}.glossary{background:var(--wash);display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;align-items:start}.glossary h2{font-size:39px}.glossary dl{margin:0}.glossary dl>div{padding:22px 0;border-top:1px solid var(--line)}.glossary dt{font-size:20px;line-height:1.4;font-weight:500}.glossary dt>span{display:block;font-size:27px;margin-bottom:6px;color:var(--accent)}.glossary dd{font-size:16px;color:var(--muted);margin:9px 0 0}.resource-principles{display:grid;grid-template-columns:1fr 1fr;gap:10%}.resource-principles p{font-size:18px;line-height:1.7}.official-resources{background:var(--wash)}.official-resources>p{font-size:18px}.official-resources ul{list-style:none;padding:0;max-width:900px;margin:30px 0 0}.official-resources li{border-top:1px solid var(--line)}.official-resources a{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:21px 0;font-size:19px;text-decoration:none}.official-resources a:hover{color:var(--accent)}.not-found{min-height:65vh}.not-found .button{margin-right:18px}.ui-icon{width:16px;height:16px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.plus-icon{display:inline-block;position:relative;width:14px;height:14px;flex-shrink:0}.plus-icon:before,.plus-icon:after{content:"";position:absolute;background:currentColor;left:1px;top:6px;width:12px;height:1px}.plus-icon:after{transform:rotate(90deg)}details[open] .plus-icon:after,[aria-expanded=true] .plus-icon:after{transform:rotate(0)}
/* Native scrolling is the baseline; continuous motion is an enhancement. */
.institucional [data-carousel]:not(.enhanced) .carousel-viewport{overflow-x:auto;scroll-snap-type:x proximity}.institucional [data-carousel]:not(.enhanced) li{scroll-snap-align:start}.institucional [data-carousel]:not(.enhanced) .carousel-controls{display:none}.institucional .carousel-viewport{touch-action:pan-y}.institucional .reduced-motion .carousel-viewport{touch-action:auto}.institucional .carousel-controls button{min-width:44px;min-height:44px}.institucional .metric-method,.institucional .metric-method p{font-size:14px}.institucional .metric-method summary,.institucional .institution-directory summary{min-height:44px}.faq summary{min-height:60px;font-size:17px}.faq details p{font-size:16px;line-height:1.7}
@media(min-width:1600px){:root{--space:max(6.25vw,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){:root{--space:5vw}.site-header{gap:20px;height:85px}.site-header nav{gap:17px}.site-header nav>a{font-size:14px}.section{padding-top:65px;padding-bottom:65px}.institutional-hero{gap:5%;padding-top:35px}.institutional-hero h1{font-size:51px}.hero-figure{min-height:490px}.services{gap:6%}.software-feature{gap:6%}.software-feature h2{font-size:39px}.software-capabilities{padding:28px}.contact{gap:7%}.contact h2{font-size:39px}.detail-hero{gap:6%;grid-template-columns:1.2fr .8fr}.detail-context{padding-left:24px}.detail-scope,.glossary{gap:7%}.detail-scope h2{font-size:34px}.site-footer nav{gap:14px 20px}.service-photo img{height:370px}}
@media(max-width:760px){.site-header{height:auto;min-height:76px;position:relative;flex-wrap:wrap;padding:15px 0}.site-header .brand{width:96px;height:39px}.site-header nav{width:100%;flex-wrap:wrap;gap:8px 20px}.site-header .menu-toggle:not([hidden]){display:flex;gap:12px;align-items:center;background:none;border:1px solid var(--line);border-radius:3px;padding:9px 12px;color:var(--ink);font-size:14px}.site-header.menu-ready{height:76px;padding:0;flex-wrap:nowrap}.site-header.menu-ready nav{display:none;position:absolute;top:68px;left:0;right:0;padding:19px;background:var(--paper);z-index:9;box-shadow:0 10px 24px #0735831f;flex-direction:column;align-items:stretch;border:1px solid var(--line);gap:0}.site-header.menu-ready nav.open{display:flex}.site-header nav>a{padding:12px 4px;font-size:16px}.site-header .nav-contact{padding:12px;margin-top:7px;justify-content:space-between}.site-header{gap:15px}.detail-hero{grid-template-columns:1fr;gap:32px}.detail-context{border-left:0;border-top:1px solid var(--line);padding:27px 0 0}.detail-context h2{font-size:27px;max-width:450px}.detail-context p{max-width:550px}.site-footer>div{align-items:start}.site-footer nav{max-width:310px}.software-feature{grid-template-columns:1fr;gap:30px}.software-capabilities{max-width:650px}}
@media(max-width:650px){:root{--space:6vw}.section{padding:50px var(--space)}h1{font-size:45px}h2{font-size:33px}.button{font-size:15px;padding:14px 18px;gap:14px}.institutional-hero{grid-template-columns:1fr;gap:30px;padding:34px var(--space) 35px}.institutional-hero h1{font-size:46px;max-width:440px;margin-bottom:20px}.institutional-hero .hero-copy>p{font-size:17px;line-height:1.65;margin-bottom:24px}.hero-actions{gap:7px}.hero-actions .secondary{font-size:14px}.hero-figure{min-height:350px}.photo-label{padding:18px 20px}.photo-label strong{font-size:23px}.photo-label span{font-size:13px;margin-top:7px}.hero-figure>figcaption{top:13px;left:13px;font-size:12px}.services,.faq,.contact,.detail-scope,.related>div,.service-photo,.glossary,.resource-principles,.bespoke{grid-template-columns:1fr;gap:30px}.services .section-intro{position:static}.services .section-intro>p{font-size:17px}.service-overview h3{font-size:22px}.service-overview{padding:22px 0}.service-overview p{font-size:16px}.software-feature h2{font-size:36px}.software-feature>div>p{font-size:17px}.software-capabilities{padding:27px 24px}.software-capabilities h3{font-size:25px}.software-capabilities li span{font-size:16px}.software-capabilities>a{font-size:15px}.institucional .care-section{padding-top:25px}.institucional .care-section>div>p{font-size:17px}.institucional .care-section dd{font-size:16px}.contact h2{font-size:37px}.contact>div>p{font-size:17px;max-width:none}.contact .contact-hours{font-size:14px}.contact-email{font-size:16px}.office-list h3{font-size:24px}.site-footer>div{flex-direction:column;gap:23px}.site-footer nav{max-width:none}.site-footer p{font-size:13px}.breadcrumb{font-size:13px;padding-top:24px;gap:6px 9px}.detail-hero{padding-top:35px;padding-bottom:40px}.detail-hero h1{font-size:43px}.detail-hero>div>p{font-size:18px}.detail-context p{font-size:16px}.detail-scope h2{font-size:33px}.detail-scope dt{font-size:22px}.detail-scope dd{font-size:17px}.bespoke h2{font-size:36px}.bespoke p{font-size:17px}.related h2{font-size:31px}.related>div{gap:0}.related a{font-size:21px}.service-photo img{height:310px}.service-photo h2{font-size:34px}.service-photo p{font-size:17px}.resource-hero h1{font-size:43px}.resource-hero>p{font-size:19px}.glossary h2{font-size:34px}.resource-principles p{font-size:17px}.official-resources a{font-size:17px}.official-resources>p{font-size:17px}.faq h2{font-size:33px}.faq summary{font-size:17px}.not-found h1{font-size:43px}.not-found .button{margin-bottom:12px}.institucional .metric-item{width:min(340px,calc(100vw - 30px))}.institucional .metric-item strong{font-size:clamp(42px,12.5vw,49px)}.institucional .metric-item .metric-unit{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.portal-links{display:flex;flex-wrap:wrap;gap:15px 24px}.portal-links a{display:inline-flex;gap:10px;align-items:center;color:var(--accent);font-size:15px;min-height:44px}.request-portals p{font-size:15px}.portal-links svg{width:17px}

/* Local review directory of original institutional identities. */
.institution-directory-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;list-style:none;padding:0}.institution-directory-list li{text-align:center}.institution-directory-list img{width:160px;height:80px;object-fit:contain}.institution-directory-list p{font-size:14px}.institution-directory-list li:last-child img{background:#174d92}

/* Palette from the supplied iDOC brand manual; artwork remains original. */
.text-link,.portal-links a,.institucional .metric-item .metric-icon{color:var(--brand-medium)}
.site-footer>a:first-child{background:#fff}

/* Approved spatial proposal. Hanken 400/500/700 is served locally by base.css. */
body.spatial-site{
 --s-blue:#073583;--s-mid:#316694;--s-sky:#71A4D7;--s-yellow:#FACC00;--s-gray:#707070;--s-cloud:#F6F6F6;--s-white:#fff;
 color:var(--s-blue);background:var(--s-white);font-family:Hanken,sans-serif;color-scheme:light;
}
.spatial-site ::selection{background:var(--s-yellow);color:var(--s-blue)}
.spatial-site .skip-link{z-index:100}
.spatial-site :is(a,button,summary):focus-visible{outline:3px solid var(--s-blue);outline-offset:5px}

#idoc-spatial{--s-blue:#073583;--s-mid:#316694;--s-sky:#71A4D7;--s-yellow:#FACC00;--s-gray:#707070;--s-cloud:#F6F6F6;--s-white:#fff;--motion-range:12px;--px:0px;--py:0px;font-family:Hanken,sans-serif;color:var(--s-blue);background:var(--s-white);color-scheme:light;isolation:isolate;overflow:clip;position:relative}
#idoc-spatial *{box-sizing:border-box}
#idoc-spatial ::selection{background:var(--s-yellow);color:var(--s-blue)}
#idoc-spatial h1,#idoc-spatial h2,#idoc-spatial h3,#idoc-spatial p{margin:0}
#idoc-spatial h1{font-weight:700;font-size:clamp(44px,7.9vw,76px);line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
#idoc-spatial h2{font-weight:700;font-size:clamp(31px,5.4vw,49px);line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
#idoc-spatial h3{font-weight:500;font-size:21px;line-height:1.2;letter-spacing:-.02em}
#idoc-spatial p{font-size:16px;line-height:1.55;color:var(--s-gray)}
#idoc-spatial a{color:inherit;text-decoration:none;text-underline-offset:5px}
#idoc-spatial a:hover{text-decoration:underline}
#idoc-spatial button,#idoc-spatial input{font:inherit}
#idoc-spatial button{color:inherit}
#idoc-spatial .sp-shell{padding:16px 5% 0;background:radial-gradient(ellipse at 18% 0%,#71a4d728,transparent 48%),radial-gradient(ellipse at 80% 0%,#facc0018,transparent 42%)}
#idoc-spatial .sp-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 17px 11px 20px;border-radius:100px;background:#ffffffd9;backdrop-filter:blur(15px);box-shadow:0 8px 30px #07358308}
#idoc-spatial .sp-logo{width:93px;height:auto;display:block}
#idoc-spatial .sp-nav nav{display:flex;gap:23px;align-items:center}
#idoc-spatial .sp-nav nav a{font-size:12px;min-height:36px;display:inline-flex;align-items:center}
#idoc-spatial .sp-button{border:0;border-radius:100px;background:var(--s-blue);color:var(--s-white);padding:13px 23px;min-height:45px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
#idoc-spatial .sp-button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #07358320;text-decoration:none}
#idoc-spatial .sp-nav .sp-button{font-size:12px;min-height:36px;padding:9px 16px;color:var(--s-white)}
#idoc-spatial .sp-hero{text-align:center;padding:55px 0 0}
#idoc-spatial .sp-hero>p{max-width:460px;margin:20px auto 23px;padding:0 15px;font-size:15px}
#idoc-spatial .sp-value{display:flex;justify-content:center;align-items:center;gap:16px;margin:0 auto 18px;font-size:12px;color:var(--s-mid);flex-wrap:wrap}
#idoc-spatial .sp-value span{display:inline-flex;align-items:center;gap:6px}
#idoc-spatial .sp-value :is(i,svg){width:14px;height:14px}
#idoc-spatial .sp-hero .sp-link{font-size:13px;margin-left:16px;min-height:44px;display:inline-flex;align-items:center;gap:6px}
#idoc-spatial .sp-scene{position:relative;height:370px;margin:28px auto 0;max-width:900px;perspective:950px;contain:layout}
#idoc-spatial .sp-aura{position:absolute;left:50%;top:32%;width:78%;height:220px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(ellipse,#71a4d72e 0%,#facc0012 40%,transparent 70%);filter:blur(18px);pointer-events:none}
#idoc-spatial .sp-object-wrap{position:absolute;width:58%;height:330px;top:0;left:21%;transform:translate(var(--px),var(--py));transition:transform .8s cubic-bezier(.16,1,.3,1)}
#idoc-spatial .sp-object{width:100%;height:100%;object-fit:contain;animation:spObject 7s ease-in-out infinite;animation-play-state:paused}
#idoc-spatial .sp-float{position:absolute;background:var(--s-white);box-shadow:0 16px 45px #07358313;border-radius:14px;text-align:left;padding:18px;--angle:0deg;animation:spCard 6s ease-in-out infinite;animation-play-state:paused;transform-origin:center;backface-visibility:hidden;transition:box-shadow .5s}
#idoc-spatial .sp-float h3{font-size:15px;margin:0 0 14px;display:flex;align-items:center;gap:8px}
#idoc-spatial .sp-float :is(i,svg){width:16px;height:16px}
#idoc-spatial .sp-float .sp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #0735830d;font-size:12px;color:var(--s-mid)}
#idoc-spatial .sp-float .sp-row:last-child{border:0}
#idoc-spatial .sp-card-left{width:185px;left:5%;top:70px;--angle:-12deg;animation-delay:-2s;filter:opacity(.74);transform:rotate(-12deg)}
#idoc-spatial .sp-card-right{width:185px;right:5%;top:72px;--angle:12deg;animation-delay:-4s;filter:opacity(.74);transform:rotate(12deg)}
#idoc-spatial .sp-card-front{width:232px;left:calc(50% - 116px);top:179px;padding:18px 19px;z-index:3;box-shadow:0 18px 45px #07358320;animation-delay:-1s}
#idoc-spatial .sp-card-front h3{font-size:17px;margin-bottom:8px}
#idoc-spatial .sp-card-front .sp-row{padding:9px 0}
#idoc-spatial .sp-card-front .sp-footer-label{font-size:12px;color:var(--s-mid);margin-top:13px;display:flex;align-items:center;gap:6px}
#idoc-spatial .sp-card-front .sp-dot{width:6px;height:6px;border-radius:50%;background:var(--s-blue)}
#idoc-spatial .is-active .sp-float,#idoc-spatial .is-active .sp-object{animation-play-state:running}
@keyframes spObject{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(calc(var(--motion-range)*-.7)) rotate(2deg)}}
@keyframes spCard{0%,100%{transform:translateY(0) rotate(var(--angle))}50%{transform:translateY(calc(var(--motion-range)*-1)) rotate(calc(var(--angle) + 2deg))}}
#idoc-spatial .sp-trust{padding:66px 6% 40px;text-align:center}
#idoc-spatial .sp-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;background:#71a4d725;color:var(--s-blue);border-radius:100px;font-size:12px;font-weight:500;margin-bottom:19px}
#idoc-spatial .sp-tag :is(i,svg){width:19px;height:19px;padding:4px;background:var(--s-blue);border-radius:50%;color:var(--s-white)}
#idoc-spatial .sp-trust h2{max-width:510px;margin:auto}
#idoc-spatial .sp-benefits{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:27px;margin-top:43px}
#idoc-spatial .sp-benefit>:is(i,svg){display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:7px;background:var(--s-cloud);border-radius:50%;margin-bottom:13px}
#idoc-spatial .sp-benefit h3{font-size:16px;margin-bottom:8px}
#idoc-spatial .sp-benefit p{font-size:13px;line-height:1.5}
#idoc-spatial .sp-logos{display:flex;justify-content:space-around;align-items:center;gap:22px;margin-top:40px;padding:22px 8px;flex-wrap:wrap}
#idoc-spatial .sp-logos img{width:auto;max-width:110px;max-height:49px;object-fit:contain}
#idoc-spatial .sp-logos-caption{font-size:12px;color:var(--s-gray)}
#idoc-spatial .sp-process{text-align:center;padding:72px 5% 34px;position:relative}
#idoc-spatial .sp-process>p{max-width:385px;margin:18px auto 23px;font-size:15px}
#idoc-spatial .sp-stages{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;position:relative;z-index:4}
#idoc-spatial .sp-stages button{border:0;background:var(--s-cloud);border-radius:100px;padding:11px 16px;font-size:12px;min-height:42px;transition:background .25s,color .25s}
#idoc-spatial .sp-stages button[aria-pressed=true]{background:var(--s-blue);color:var(--s-white)}
#idoc-spatial .sp-process-scene{height:420px;position:relative;margin-top:28px;perspective:900px;pointer-events:none}
#idoc-spatial .sp-process-glow{position:absolute;left:10%;right:10%;top:24%;height:180px;background:radial-gradient(ellipse at 35% 50%,#facc002d,transparent 47%),radial-gradient(ellipse at 70% 50%,#71a4d743,transparent 54%);filter:blur(20px)}
#idoc-spatial .sp-process-object{position:absolute;width:440px;height:330px;left:calc(50% - 220px);top:-15px;object-fit:contain;opacity:1;transform:scale(1.06) rotate(-8deg);transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .85s}
#idoc-spatial .sp-process-panel{position:absolute;top:145px;left:calc(50% - 130px);width:260px;background:var(--s-white);border-radius:17px;box-shadow:0 22px 50px #07358314;text-align:left;padding:25px;z-index:2;transition:transform .7s cubic-bezier(.16,1,.3,1)}
#idoc-spatial .sp-process-sheet{position:absolute;top:80px;width:182px;padding:19px;background:var(--s-white);border-radius:14px;box-shadow:0 16px 45px #07358313;text-align:left;font-size:13px;z-index:1;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s,background .8s}
#idoc-spatial .sp-process-sheet span{display:block;height:5px;margin-top:17px;width:85%;border-radius:4px;background:#71a4d728}
#idoc-spatial .sp-process-sheet span:last-child{width:58%}
#idoc-spatial .sp-sheet-left{left:calc(50% - 310px);transform:rotate(-15deg);opacity:.65}
#idoc-spatial .sp-sheet-right{right:calc(50% - 310px);transform:rotate(15deg);opacity:.65}
#idoc-spatial .sp-process[data-stage='1'] .sp-sheet-left{transform:translate(15px,30px) rotate(-5deg);opacity:1}
#idoc-spatial .sp-process[data-stage='2'] .sp-sheet-left{transform:translate(35px,-15px) rotate(-8deg);background:#eaf0f6}
#idoc-spatial .sp-process[data-stage='2'] .sp-sheet-right{transform:translate(-35px,-15px) rotate(8deg);background:#eaf0f6}
#idoc-spatial .sp-process[data-stage='3'] .sp-sheet-right{transform:translate(-15px,30px) rotate(3deg);opacity:1}
#idoc-spatial .sp-process-scan{position:absolute;top:60px;left:calc(50% - 135px);width:270px;height:160px;pointer-events:none;z-index:3;overflow:hidden;opacity:0;transition:opacity .4s}
#idoc-spatial .sp-process-scan:after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--s-sky);box-shadow:0 8px 22px #71a4d799;animation:spScan 2.2s ease-in-out infinite;animation-play-state:paused}
#idoc-spatial .sp-process[data-stage='2'] .sp-process-scan{opacity:1}
#idoc-spatial .sp-process.is-active .sp-process-scan:after{animation-play-state:running}
@keyframes spScan{0%,100%{transform:translateY(10px);opacity:.25}50%{transform:translateY(145px);opacity:1}}
#idoc-spatial .sp-process-panel h3{font-size:19px;margin-bottom:19px}
#idoc-spatial .sp-process-panel .sp-row{font-size:13px;color:var(--s-mid);padding:11px 0;border-bottom:1px solid #0735830d;display:flex;align-items:center;gap:8px}
#idoc-spatial .sp-process-panel .sp-row :is(i,svg){width:16px;height:16px}
#idoc-spatial .sp-process-panel .sp-panel-foot{padding:13px 0 0;font-size:12px;color:var(--s-gray)}
#idoc-spatial .sp-process-panel a.sp-panel-foot{display:flex;align-items:center;gap:6px;min-height:44px;pointer-events:auto;color:var(--s-mid)}
#idoc-spatial .sp-panel-foot svg{width:14px;height:14px}
#idoc-spatial [hidden]{display:none!important}
#idoc-spatial .sp-process[data-stage='0'] .sp-process-object{transform:translateX(-40px) rotate(-14deg) scale(1.06)}
#idoc-spatial .sp-process[data-stage='1'] .sp-process-object{transform:translateX(45px) rotate(7deg) scale(1.14)}
#idoc-spatial .sp-process[data-stage='2'] .sp-process-object{transform:translateY(-12px) rotate(-2deg) scale(1.04)}
#idoc-spatial .sp-process[data-stage='3'] .sp-process-object{transform:translateY(-25px) rotate(10deg) scale(1.17)}
#idoc-spatial .sp-process[data-stage='0'] .sp-process-panel{transform:rotate(-3deg)}
#idoc-spatial .sp-process[data-stage='1'] .sp-process-panel{transform:rotate(3deg)}
#idoc-spatial .sp-process[data-stage='2'] .sp-process-panel{transform:rotate(-1deg) translateY(-6px)}
#idoc-spatial .sp-process[data-stage='3'] .sp-process-panel{transform:rotate(0deg) translateY(-12px)}
#idoc-spatial .sp-solutions{padding:55px 5% 58px}
#idoc-spatial .sp-section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}
#idoc-spatial .sp-section-top h2{font-size:35px}
#idoc-spatial .sp-section-top p{font-size:13px;margin-top:13px}
#idoc-spatial .sp-city-mini{display:flex;align-items:center;gap:5px;padding-bottom:4px;font-size:12px;color:var(--s-mid)}
#idoc-spatial .sp-city-mini :is(i,svg){width:16px;height:16px}
#idoc-spatial .sp-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
#idoc-spatial .sp-solution{border-radius:22px;background:var(--s-cloud);padding:18px;min-width:0;position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1)}
#idoc-spatial .sp-solution:hover{transform:translateY(-7px)}
#idoc-spatial .sp-solution:first-child{background:radial-gradient(ellipse at 25% 10%,#facc0038,transparent 55%),radial-gradient(ellipse at 75% 15%,#71a4d72a,transparent 50%),var(--s-cloud)}
#idoc-spatial .sp-solution-visual{height:150px;margin-bottom:15px;position:relative}
#idoc-spatial .sp-solution-visual:before{content:'';position:absolute;inset:5px 6px 16px;background:var(--s-white);border-radius:13px;transform:rotate(7deg);box-shadow:0 8px 16px #0735830b}
#idoc-spatial .sp-solution-visual img{width:100%;height:135px;object-fit:cover;border-radius:13px;transform:rotate(-5deg);box-shadow:0 8px 16px #0735830b}
#idoc-spatial .sp-solution:nth-child(2) .sp-solution-visual img{transform:rotate(5deg)}
#idoc-spatial .sp-solution h3{font-size:18px;line-height:1.22;margin-bottom:10px}
#idoc-spatial .sp-solution p{font-size:13px;line-height:1.45}
#idoc-spatial .sp-solution button{display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:10px 0;margin-top:10px;font-size:12px;font-weight:500;min-height:44px;text-align:left}
#idoc-spatial .sp-solution button :is(i,svg){width:15px;height:15px;transition:transform .3s}
#idoc-spatial .sp-solution button:hover :is(i,svg){transform:translateX(4px)}
#idoc-spatial .sp-tiny-window{position:absolute;top:0;left:2%;right:0;background:var(--s-white);border-radius:13px;box-shadow:0 10px 20px #0735830b;transform:rotate(-6deg);padding:12px 14px}
#idoc-spatial .sp-tiny-window .sp-title{font-size:12px;margin-bottom:9px;color:var(--s-blue);display:flex;gap:6px;align-items:center}
#idoc-spatial .sp-tiny-window :is(i,svg){width:13px;height:13px}
#idoc-spatial .sp-tiny-window span{font-size:12px;color:var(--s-mid);padding:6px 0;display:block;border-top:1px solid #0735830b}
#idoc-spatial .sp-expanded{padding:23px 0 0;margin:8px 0 0;text-align:left;color:var(--s-mid);font-size:14px;line-height:1.6;min-height:90px}
#idoc-spatial .sp-expanded[hidden]{display:none}
#idoc-spatial .sp-expanded strong{font-weight:500;color:var(--s-blue)}
#idoc-spatial .sp-care{padding:65px 5% 52px;text-align:center;background:radial-gradient(ellipse at 30% 50%,#facc0010,transparent 65%),var(--s-white)}
#idoc-spatial .sp-care h2{max-width:450px;margin:auto}
#idoc-spatial .sp-mosaic{height:320px;max-width:590px;position:relative;margin:40px auto 32px}
#idoc-spatial .sp-photo{position:absolute;object-fit:cover;border-radius:22px;box-shadow:0 15px 32px #0735830c}
#idoc-spatial .sp-photo-hands{width:58%;height:235px;left:2%;top:15px;transform:rotate(-5deg)}
#idoc-spatial .sp-photo-archive{width:48%;height:226px;right:1%;top:79px;transform:rotate(5deg)}
#idoc-spatial .sp-photo-label{position:absolute;background:var(--s-white);box-shadow:0 12px 25px #0735830d;padding:12px 17px;border-radius:12px;font-size:12px;text-align:left;display:flex;align-items:center;gap:8px;z-index:2}
#idoc-spatial .sp-photo-label :is(i,svg){width:16px;height:16px}
#idoc-spatial .sp-label-one{left:0;top:195px;transform:rotate(-7deg)}
#idoc-spatial .sp-label-two{right:0;top:36px;transform:rotate(7deg)}
#idoc-spatial .sp-cities{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
#idoc-spatial .sp-cities span{background:var(--s-cloud);padding:8px 12px;border-radius:100px;font-size:12px;color:var(--s-mid)}
#idoc-spatial .sp-care>p{font-size:13px;max-width:440px;margin:auto}
#idoc-spatial .sp-close{margin:45px 5% 0;padding:58px 25px 48px;border-radius:28px;background:radial-gradient(ellipse at 18% 0%,#71a4d7b0,transparent 49%),radial-gradient(ellipse at 83% 0%,#facc0066,transparent 42%),var(--s-blue);text-align:center;color:var(--s-white);position:relative;overflow:hidden}
#idoc-spatial .sp-close h2{font-size:clamp(32px,5.4vw,47px);max-width:540px;margin:auto}
#idoc-spatial .sp-close p{color:var(--s-white);max-width:370px;margin:20px auto;font-size:14px}
#idoc-spatial .sp-close .sp-button{background:var(--s-white);color:var(--s-blue)}
#idoc-spatial .sp-close .sp-secondary{display:inline-flex;align-items:center;min-height:44px;margin-left:15px;font-size:13px;color:var(--s-white)}
#idoc-spatial .sp-contact-reveal{margin:24px auto 0!important;font-size:14px!important;overflow-wrap:anywhere}
#idoc-spatial .sp-contact-reveal[hidden]{display:none}
#idoc-spatial .sp-footer{padding:37px 5% 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px}
#idoc-spatial .sp-footer .sp-logo{width:100px;margin-bottom:13px}
#idoc-spatial .sp-footer p{font-size:12px;max-width:190px}
#idoc-spatial .sp-footer h3{font-size:12px;margin-bottom:10px}
#idoc-spatial .sp-footer a{display:block;font-size:12px;min-height:30px;line-height:30px;color:var(--s-mid)}
#idoc-spatial .sp-bottom{margin:0 5%;padding:17px 0 24px;border-top:1px solid #0735830b;font-size:12px;color:var(--s-gray);display:flex;justify-content:space-between;gap:20px}
#idoc-spatial .sp-enter{animation:spEntrance .85s cubic-bezier(.16,1,.3,1) both}
@keyframes spEntrance{from{transform:translateY(18px);filter:blur(2px);opacity:.8}to{transform:translateY(0);filter:blur(0);opacity:1}}
#idoc-spatial[data-motion='off'] *,#idoc-spatial[data-motion='off'] *:before,#idoc-spatial[data-motion='off'] *:after{animation:none!important;transition:none!important}
#idoc-spatial[data-page-hidden='true'] *,#idoc-spatial[data-page-hidden='true'] *:after{animation-play-state:paused!important}
@media(max-width:600px){
 #idoc-spatial .sp-shell{padding:13px 4% 0}
 #idoc-spatial .sp-nav{padding:9px 11px 9px 15px}
 #idoc-spatial .sp-logo{width:80px}
 #idoc-spatial .sp-nav .sp-nav-secondary{display:none}
 #idoc-spatial .sp-nav nav{gap:10px}
 #idoc-spatial .sp-nav .sp-button{min-height:39px}
 #idoc-spatial .sp-hero{padding-top:43px}
 #idoc-spatial h1{font-size:clamp(39px,10.8vw,62px);padding:0 15px}
 #idoc-spatial .sp-value{font-size:12px;gap:10px;padding:0 16px}
 #idoc-spatial .sp-value span:last-child{display:none}
 #idoc-spatial .sp-hero>p{font-size:14px;max-width:340px;margin-top:18px}
 #idoc-spatial .sp-hero .sp-link{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:7px auto 0}
 #idoc-spatial .sp-scene{height:320px;margin-top:12px}
 #idoc-spatial .sp-object-wrap{width:86%;left:7%;height:278px}
 #idoc-spatial .sp-card-left{left:-48px;top:60px;width:155px;padding:13px;opacity:.45}
 #idoc-spatial .sp-card-right{right:-48px;top:61px;width:155px;padding:13px;opacity:.45}
 #idoc-spatial .sp-card-front{width:214px;left:calc(50% - 107px);top:153px;padding:17px}
 #idoc-spatial .sp-float h3{font-size:14px}
 #idoc-spatial .sp-float .sp-row{font-size:12px;padding:8px 0}
 #idoc-spatial .sp-trust{padding:64px 7% 30px}
 #idoc-spatial h2{font-size:clamp(31px,8vw,42px)}
 #idoc-spatial .sp-benefits{grid-template-columns:1fr;gap:24px;margin-top:33px}
 #idoc-spatial .sp-benefit{display:grid;grid-template-columns:32px 1fr;column-gap:15px}
 #idoc-spatial .sp-benefit>:is(i,svg){grid-row:span 2;margin-top:1px}
 #idoc-spatial .sp-benefit h3{margin-bottom:6px}
 #idoc-spatial .sp-benefit p{font-size:13px}
 #idoc-spatial .sp-logos{gap:22px 16px;padding:18px 0;margin-top:30px}
 #idoc-spatial .sp-logos img{max-width:100px;max-height:40px}
 #idoc-spatial .sp-logos-caption{font-size:12px}
 #idoc-spatial .sp-process{padding:65px 4% 20px}
 #idoc-spatial .sp-process>p{font-size:14px;padding:0 16px}
 #idoc-spatial .sp-stages{gap:4px}
 #idoc-spatial .sp-stages button{font-size:12px;padding:10px 12px;min-height:44px}
 #idoc-spatial .sp-process-panel{width:238px;left:calc(50% - 119px);padding:23px}
 #idoc-spatial .sp-process-object{width:340px;height:290px;left:calc(50% - 170px)}
 #idoc-spatial .sp-process-panel{top:140px}
 #idoc-spatial .sp-process-scene{height:410px}
 #idoc-spatial .sp-process-sheet{top:64px;width:147px;font-size:12px;padding:15px}
 #idoc-spatial .sp-sheet-left{left:calc(50% - 245px)}
 #idoc-spatial .sp-sheet-right{right:calc(50% - 245px)}
 #idoc-spatial .sp-solutions{padding:45px 6%}
 #idoc-spatial .sp-section-top{display:block;margin-bottom:25px}
 #idoc-spatial .sp-section-top h2{font-size:32px}
 #idoc-spatial .sp-city-mini{margin-top:15px}
 #idoc-spatial .sp-solution-grid{grid-template-columns:1fr;gap:14px}
 #idoc-spatial .sp-solution{display:grid;grid-template-columns:120px 1fr;gap:0 17px;padding:20px;border-radius:22px}
 #idoc-spatial .sp-solution-visual{grid-row:span 3;align-self:center;height:117px;margin:0}
 #idoc-spatial .sp-solution-visual img{height:108px}
 #idoc-spatial .sp-solution h3{font-size:18px}
 #idoc-spatial .sp-solution p{font-size:12px}
 #idoc-spatial .sp-solution button{margin-top:4px;font-size:12px}
 #idoc-spatial .sp-tiny-window{padding:10px;transform:rotate(-5deg)}
 #idoc-spatial .sp-tiny-window .sp-title{font-size:11px;gap:4px}
 #idoc-spatial .sp-tiny-window span{font-size:11px}
 #idoc-spatial .sp-care{padding:55px 5% 35px}
 #idoc-spatial .sp-mosaic{height:280px;margin-top:32px}
 #idoc-spatial .sp-photo-hands{height:194px;width:63%;left:1%}
 #idoc-spatial .sp-photo-archive{height:185px;width:52%;top:80px;right:0}
 #idoc-spatial .sp-photo-label{padding:10px 12px;font-size:12px}
 #idoc-spatial .sp-label-one{top:171px}
 #idoc-spatial .sp-label-two{top:40px}
 #idoc-spatial .sp-close{margin:35px 5% 0;padding:43px 20px 35px;border-radius:25px}
 #idoc-spatial .sp-close p{font-size:13px}
 #idoc-spatial .sp-close .sp-secondary{display:flex;justify-content:center;margin:9px 0 0}
 #idoc-spatial .sp-footer{padding:30px 6% 25px;grid-template-columns:1fr 1fr;gap:24px}
 #idoc-spatial .sp-footer>div:first-child{grid-column:span 2}
 #idoc-spatial .sp-bottom{display:block;margin:0 6%;font-size:12px}
 #idoc-spatial .sp-bottom span{display:block;margin-top:5px}
}
@media(max-width:365px){#idoc-spatial .sp-solution{grid-template-columns:94px 1fr;gap:0 13px;padding:16px}#idoc-spatial .sp-solution h3{font-size:17px}#idoc-spatial .sp-stages button{padding:10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#idoc-spatial *,#idoc-spatial *:before,#idoc-spatial *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#idoc-spatial .sp-object-wrap{transform:none!important}}


/* The shared header and footer sit outside #idoc-spatial on every corporate route. */
.spatial-site .sp-shell{padding:16px 5% 0;background:radial-gradient(ellipse at 18% 0%,#71a4d728,transparent 48%),radial-gradient(ellipse at 80% 0%,#facc0018,transparent 42%)}
.spatial-site .sp-nav,
.spatial-site .sp-nav.site-header,
.spatial-site .sp-nav.site-header.menu-ready{
 display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 17px 11px 20px;
 height:auto;min-height:0;margin:0;border:0;border-radius:100px;position:relative;z-index:20;
 flex-wrap:nowrap;background:#ffffffd9;backdrop-filter:blur(15px);box-shadow:0 8px 30px #07358308;
}
.spatial-site .sp-nav>a{display:block;flex-shrink:0}
.spatial-site .sp-logo{width:93px;height:auto;max-width:100%;display:block;object-fit:contain}
.spatial-site .sp-nav :is(.brand,.sp-logo){width:93px;height:auto}
.spatial-site .sp-nav nav{display:flex;gap:23px;align-items:center;width:auto;flex-wrap:nowrap}
.spatial-site .sp-nav nav a{font-size:12px;min-height:36px;display:inline-flex;align-items:center;padding:0;text-decoration:none;line-height:1.4}
.spatial-site .sp-nav nav a:hover{ text-decoration:underline }
.spatial-site .sp-nav nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.spatial-site .sp-button{border:0;border-radius:100px;background:var(--s-blue);color:var(--s-white);padding:13px 23px;min-height:45px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;line-height:1.4;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.spatial-site .sp-button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #07358320;text-decoration:none}
.spatial-site .sp-button svg{width:18px;height:18px}
.spatial-site .sp-nav .sp-button{font-size:12px;min-height:36px;padding:9px 16px;color:var(--s-white);margin:0;gap:9px}
.spatial-site .sp-nav .menu-toggle{display:none;flex-shrink:0}
.spatial-site .sp-footer{padding:37px 5% 30px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px;background:var(--s-white)}
.spatial-site .sp-footer>div{min-width:0}
.spatial-site .sp-footer .sp-logo{width:100px;margin-bottom:13px}
.spatial-site .sp-footer p{font-size:12px;line-height:1.55;max-width:190px;margin:0;color:var(--s-gray)}
.spatial-site .sp-footer h3{font-size:12px;font-weight:500;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
.spatial-site .sp-footer a{display:block;font-size:12px;min-height:30px;line-height:30px;color:var(--s-mid);text-decoration:none;overflow-wrap:anywhere}
.spatial-site .sp-footer a:hover{text-decoration:underline}
.spatial-site .sp-bottom{margin:0 5%;padding:17px 0 24px;border-top:1px solid #0735830b;font-size:12px;color:var(--s-gray);display:flex;align-items:center;justify-content:space-between;gap:20px}
.spatial-site .sp-bottom a{color:var(--s-blue);text-decoration:none}
.spatial-site .sp-bottom a:hover{text-decoration:underline}
.spatial-site .sp-bottom .back-top{min-height:44px;margin:0;font-size:12px;align-items:center}

/* Complete contact information extends the proposal's existing visual language. */
#idoc-spatial .sp-contact{padding:70px 5% 50px;scroll-margin-top:24px}
#idoc-spatial .sp-contact>p{max-width:54ch;margin-top:18px}
#idoc-spatial .sp-contact .contact-email{display:inline-flex;align-items:center;min-height:44px;margin:16px 0 8px;font-size:18px;color:var(--s-blue);overflow-wrap:anywhere}
#idoc-spatial .sp-contact .contact-hours{font-size:13px;margin:0 0 20px}
#idoc-spatial .sp-contact .sp-contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:22px 0 30px}
#idoc-spatial .sp-contact .sp-contact-links>a:not(.sp-button){display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--s-mid)}
#idoc-spatial .sp-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
#idoc-spatial .sp-office-grid article{padding:26px;background:var(--s-cloud);border-radius:22px;min-width:0}
#idoc-spatial .sp-office-grid h3{font-size:23px;line-height:1.2;margin-bottom:15px}
#idoc-spatial .sp-office-grid address{font-style:normal;color:var(--s-gray);font-size:15px;line-height:1.6;max-width:42ch}
#idoc-spatial .sp-office-grid .phone-links{display:flex;flex-wrap:wrap;gap:0 22px;margin:13px 0}
#idoc-spatial .sp-office-grid a{overflow-wrap:anywhere}
#idoc-spatial .sp-office-grid :is(.phone-links a,a[href^="tel:"]){display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--s-blue)}
#idoc-spatial .sp-office-grid p{font-size:13px;line-height:1.6;margin-top:14px}
#idoc-spatial .sp-contact .contact-tip{max-width:60ch;margin-top:24px;font-size:13px;line-height:1.6}
#idoc-spatial .sp-faq{margin:20px 5% 0;border-top:1px solid #0735831a;border-bottom:1px solid #0735831a}
#idoc-spatial .sp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:20px 0;font-size:18px;font-weight:500;line-height:1.4}
#idoc-spatial .sp-faq summary:after{content:none}
#idoc-spatial .sp-faq[open] summary:after{transform:rotate(45deg)}
#idoc-spatial .sp-faq :is(p,ul){font-size:14px;line-height:1.65;max-width:68ch;margin:0 0 22px;color:var(--s-gray)}
#idoc-spatial .sp-faq a{color:var(--s-mid);text-decoration:underline}
#idoc-spatial .sp-faq+.sp-faq{margin-top:0;border-top:0}

/* Match the existing menu's 760px breakpoint and preserve its no-JavaScript fallback. */
@media(max-width:760px){
 .spatial-site .sp-nav,
 .spatial-site .sp-nav.site-header{flex-wrap:wrap;gap:12px;padding:9px 11px 9px 15px;border-radius:26px}
 .spatial-site .sp-nav.site-header.menu-ready{flex-wrap:nowrap;gap:12px;padding:9px 11px 9px 15px;border-radius:100px;height:auto;min-height:0}
 .spatial-site .sp-nav .menu-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:100px;background:var(--s-cloud);color:var(--s-blue);padding:10px 14px;min-height:44px;font-size:12px;line-height:1.4}
 .spatial-site .sp-nav .menu-toggle[aria-expanded=true]{background:var(--s-blue);color:var(--s-white)}
 .spatial-site .sp-nav nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 0}
 .spatial-site .sp-nav nav a{display:flex;padding:12px 15px;font-size:14px;min-height:44px}
 .spatial-site .sp-nav nav .sp-nav-secondary{display:flex}
 .spatial-site .sp-nav.site-header.menu-ready nav{display:none;position:absolute;top:calc(100% + 9px);left:0;right:0;width:auto;padding:10px;background:var(--s-white);border:0;border-radius:22px;box-shadow:0 10px 30px #0735831f;z-index:21;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 100px);overflow:auto}
 .spatial-site .sp-nav.site-header.menu-ready nav.open{display:flex}
 .spatial-site .sp-nav.site-header.menu-ready nav .sp-nav-secondary{display:flex}
 .spatial-site .sp-nav nav .sp-button{min-height:44px;padding:12px 16px;margin:6px 0 0;font-size:14px}
}
@media(max-width:600px){
 .spatial-site .sp-shell{padding:13px 4% 0}
 .spatial-site .sp-nav :is(.brand,.sp-logo){width:80px;height:auto}
 .spatial-site .sp-footer{padding:30px 6% 25px;grid-template-columns:1fr 1fr;gap:24px}
 .spatial-site .sp-footer>div:first-child{grid-column:span 2}
 .spatial-site .sp-bottom{display:block;margin:0 6%;font-size:12px}
 .spatial-site .sp-bottom span{display:block;margin-top:5px}
 .spatial-site .sp-bottom .back-top{display:inline-flex;margin-top:8px}
 #idoc-spatial .sp-contact{padding:55px 6% 35px}
 #idoc-spatial .sp-office-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}
 #idoc-spatial .sp-office-grid article{padding:23px}
 #idoc-spatial .sp-contact .contact-email{font-size:16px}
 #idoc-spatial .sp-faq{margin-left:6%;margin-right:6%}
 #idoc-spatial .sp-faq summary{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .spatial-site :is(.sp-button,.menu-toggle){transition:none}
 #idoc-spatial .sp-faq summary:after{transition:none}
}

/* Preserve the complete institutional and metric content with compact continuous tracks. */
#idoc-spatial .sp-evidence-carousel{margin-top:34px;overflow:hidden}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics) .carousel-viewport{width:100%;overflow:hidden;padding:8px 0}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics) .carousel-track{display:flex;width:max-content}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics) .carousel-group{display:flex;width:max-content;flex-shrink:0;list-style:none;margin:0;padding:0}
#idoc-spatial .sp-institution-item{width:154px;min-height:72px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;padding:10px 18px}
#idoc-spatial .sp-institution-item img{width:auto;height:49px;max-width:110px;object-fit:contain}
#idoc-spatial .sp-institution-item.crest-on-blue img{width:49px;padding:4px;border-radius:3px;background:var(--s-blue)}
#idoc-spatial .sp-institution-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#idoc-spatial .sp-metrics{max-width:720px;margin:30px auto 0;background:var(--s-cloud);border-radius:22px;overflow:hidden;text-align:center}
#idoc-spatial .sp-metric-item{width:210px;flex-shrink:0;padding:18px 24px}
#idoc-spatial .sp-metric-item strong{display:block;min-height:56px;font-size:31px;font-weight:500;line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--s-blue)}
#idoc-spatial .sp-metric-unit{display:block;font-size:15px;line-height:1.25;letter-spacing:0}
#idoc-spatial .sp-metric-item>span{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--s-mid)}
#idoc-spatial :is(.sp-directory,.sp-method){max-width:720px;margin:12px auto 0;border:0;text-align:center}
#idoc-spatial :is(.sp-directory,.sp-method)>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 0;font-size:12px;color:var(--s-mid)}
#idoc-spatial :is(.sp-directory,.sp-method)>summary:hover{text-decoration:underline;text-underline-offset:4px}
#idoc-spatial :is(.sp-directory,.sp-method)>summary svg{width:14px;height:14px}
#idoc-spatial .sp-directory ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;list-style:none;margin:8px 0 0;padding:0;text-align:left}
#idoc-spatial .sp-directory li{padding:12px 0;border-top:1px solid #0735831a;font-size:13px;line-height:1.5;color:var(--s-mid)}
#idoc-spatial .sp-directory small{display:block;margin-top:5px;font-size:12px;color:var(--s-gray)}
#idoc-spatial .sp-method p{max-width:68ch;margin:5px auto 0;font-size:12px;line-height:1.65;text-align:left}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics).reduced-motion .carousel-clone{display:none}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics).reduced-motion .carousel-viewport{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
#idoc-spatial :is(.sp-evidence-carousel,.sp-metrics).reduced-motion .carousel-viewport::-webkit-scrollbar{display:none}

/* Native disclosure controls keep service routes and office channels usable without JS. */
#idoc-spatial .sp-service-options{border:0;margin-top:10px;min-width:0}
#idoc-spatial .sp-service-options>summary{display:flex;align-items:center;gap:6px;background:var(--s-white);padding:10px 14px;border-radius:100px;width:fit-content;max-width:100%;font-size:12px;font-weight:500;line-height:1.4;min-height:44px;text-align:left}
#idoc-spatial .sp-service-options>summary svg{width:15px;height:15px;transition:transform .3s}
#idoc-spatial .sp-service-options>summary:hover svg{transform:translateX(4px)}
#idoc-spatial .sp-service-options[open]>summary svg{transform:rotate(90deg)}
#idoc-spatial .sp-service-links{display:grid;gap:4px;padding-top:6px}
#idoc-spatial .sp-service-links a{display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 0;border-top:1px solid #07358314;font-size:12px;line-height:1.45;color:var(--s-mid)}
#idoc-spatial .sp-service-links a svg{width:15px;height:15px}
#idoc-spatial .sp-contact-box{display:grid;grid-template-columns:.82fr 1.18fr;gap:40px;align-items:center;padding:52px;text-align:left}
#idoc-spatial .sp-contact-copy h2{margin:0;max-width:11ch;text-wrap:balance}
#idoc-spatial .sp-contact-copy p{margin:22px 0 0;max-width:32ch;font-size:16px;line-height:1.6}
#idoc-spatial .sp-contact-form{min-width:0;padding:28px;border-radius:17px;background:var(--s-white);color:var(--s-blue);text-align:left}
#idoc-spatial .sp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
#idoc-spatial .sp-field{min-width:0}
#idoc-spatial .sp-field-wide{grid-column:1/-1}
#idoc-spatial .sp-field label{display:block;margin-bottom:7px;font-size:13px;font-weight:500;line-height:1.5}
#idoc-spatial .sp-optional{font-weight:400;color:var(--s-gray)}
#idoc-spatial .sp-field :is(input,select,textarea){display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 12px;border:1px solid #07358333;border-radius:8px;background:var(--s-white);font:inherit;font-size:16px;line-height:1.4;color:var(--s-blue);accent-color:var(--s-blue);caret-color:var(--s-blue)}
#idoc-spatial .sp-field textarea{resize:vertical;min-height:112px}
#idoc-spatial .sp-field :is(input,select,textarea):focus-visible{border-color:var(--s-blue);outline:2px solid var(--s-blue);outline-offset:3px}
#idoc-spatial .sp-field :is(input,select,textarea):user-invalid{border-color:var(--s-blue);background:var(--s-cloud)}
#idoc-spatial .sp-contact-form .sp-button{margin-top:23px;border:0;background:var(--s-blue);color:var(--s-white);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
#idoc-spatial .sp-contact-form .sp-button:disabled{opacity:.55;cursor:not-allowed}

/* Keep press and keyboard feedback inside the button's rounded contour. */
.spatial-site :is(.sp-button,.button:not(.secondary),.menu-toggle,.sp-stages button){position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.spatial-site :is(.sp-button,.button:not(.secondary),.menu-toggle,.sp-stages button):focus-visible{outline:none}
.spatial-site :is(.sp-button,.button:not(.secondary),.menu-toggle,.sp-stages button):is(:active,:focus-visible)::after{content:"";position:absolute;inset:4px;border:2px solid currentColor;border-radius:inherit;pointer-events:none}
@media(forced-colors:active){
  .spatial-site :is(.sp-button,.button:not(.secondary),.menu-toggle,.sp-stages button):focus-visible{outline:2px solid ButtonText;outline-offset:-4px}
}
#idoc-spatial .sp-contact-form .sp-form-note{max-width:none;margin:13px 0 0;color:var(--s-gray);font-size:12px;line-height:1.6}
#idoc-spatial .sp-contact-form .sp-form-status{max-width:none;margin:17px 0 0;padding:14px;border-radius:8px;background:var(--s-cloud);color:var(--s-blue);font-size:14px;line-height:1.6}
#idoc-spatial .sp-offices{margin:55px 5% 0}
#idoc-spatial .sp-offices>h2{font-size:clamp(28px,4vw,36px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
#idoc-spatial .sp-office-map{display:block;width:100%;height:270px;border:0;border-radius:14px;margin-top:16px;background:var(--s-white)}
#idoc-spatial .sp-office-grid a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:14px;line-height:1.5}
#idoc-spatial .sp-office-grid .sp-map-link{margin-top:12px;color:var(--s-blue)}
#idoc-spatial .sp-office-grid a svg{width:15px;height:15px;flex-shrink:0}
#idoc-spatial .sp-channel-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px}
#idoc-spatial section.sp-faq{padding-top:45px;border:0}
#idoc-spatial .sp-faq>h2{font-size:32px;margin-bottom:20px}
#idoc-spatial .sp-faq>details{border-bottom:1px solid #0735831a}
@media(max-width:600px){
 #idoc-spatial .sp-evidence-carousel{margin-top:26px}
 #idoc-spatial .sp-institution-item{width:136px;padding:10px 15px}
 #idoc-spatial .sp-institution-item img{height:40px;max-width:100px}
 #idoc-spatial .sp-institution-item.crest-on-blue img{width:40px}
 #idoc-spatial .sp-directory ul{grid-template-columns:1fr}
 #idoc-spatial .sp-metrics{margin-top:25px}
 #idoc-spatial .sp-metric-item{width:185px;padding:17px 20px}
 #idoc-spatial .sp-metric-item strong{font-size:28px}
 #idoc-spatial .sp-service-options{margin-top:4px}
 #idoc-spatial .sp-contact-box{gap:25px;padding:30px 20px}
 #idoc-spatial .sp-contact-copy h2{max-width:14ch}
 #idoc-spatial .sp-contact-copy p{font-size:15px;margin-top:17px}
 #idoc-spatial .sp-contact-form{padding:22px}
 #idoc-spatial .sp-form-grid{grid-template-columns:1fr;gap:17px}
 #idoc-spatial .sp-offices{margin:40px 6% 0}
 #idoc-spatial .sp-office-map{height:250px}
}
@media(max-width:900px){#idoc-spatial .sp-contact-box{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 #idoc-spatial .sp-service-options>summary svg{transition:none}
}

/* Text actions must not inherit the empty space of a card, grid or footer column. */
.spatial-site :is(.button,.text-link,.contact-email,.portal-links a,.phone-links a,.detail-context>a,.related a,.official-resources a,.sp-footer a,.sp-nav nav a){width:fit-content;max-width:100%}
#idoc-spatial :is(.sp-service-links a,.sp-panel-foot,summary){width:fit-content;max-width:100%}
#idoc-spatial :is(.sp-directory,.sp-method)>summary{margin-inline:auto;padding-inline:14px;border-radius:100px;background:var(--s-cloud)}
#idoc-spatial .sp-faq summary{justify-content:flex-start;gap:12px;border-radius:6px}
.spatial-site summary{-webkit-tap-highlight-color:transparent}
.spatial-site :is(.sp-service-options,.sp-directory,.sp-method)>summary{position:relative;overflow:hidden}
.spatial-site :is(.sp-service-options,.sp-directory,.sp-method)>summary:focus-visible{outline:none}
.spatial-site :is(.sp-service-options,.sp-directory,.sp-method)>summary:is(:active,:focus-visible)::after{content:"";position:absolute;inset:4px;border:2px solid currentColor;border-radius:inherit;pointer-events:none}
@media(forced-colors:active){
 .spatial-site :is(.sp-service-options,.sp-directory,.sp-method)>summary:focus-visible{outline:2px solid ButtonText;outline-offset:-4px}
}
