/* Scoped styles for the business overview and four service detail pages. */
.business-overview,.service-page{--service-paper:#f6f7f8;--service-ink:#071a32}
.business-overview main,.service-page main{overflow:clip}
.business-overview .overview-intro{background:var(--service-paper);color:var(--service-ink);padding:clamp(64px,8vw,112px) 0}
.business-overview .overview-intro .eyebrow{color:#006e9d}
.business-overview .overview-intro h2{font-family:var(--serif);font-size:clamp(27px,3vw,43px);line-height:1.55;letter-spacing:.06em;max-width:900px}
.business-overview .overview-intro h2 span{white-space:nowrap}
.business-overview .overview-intro p:last-child{max-width:850px;color:#354b5f;line-height:2;margin-top:28px}
.business-overview .overview-services{padding:clamp(70px,9vw,120px) 0;background:radial-gradient(ellipse at 85% 100%,#073555,#04182d 55%,#031021)}
.business-overview .overview-services h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);margin-bottom:35px}
.overview-service{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:clamp(16px,3vw,44px);align-items:center;padding:32px 10px;border-top:1px solid #809bac55;transition:background .25s,padding .25s}
.overview-service:last-child{border-bottom:1px solid #809bac55}
.overview-service:hover{background:#0b2940;padding-left:20px}
.overview-service .number{font:13px Arial,sans-serif;color:#8bdaef}
.overview-service strong{display:block;font-family:var(--serif);font-size:clamp(23px,2.6vw,36px);font-weight:600;line-height:1.5}
.overview-service small{display:block;font:11px Arial,sans-serif;letter-spacing:.13em;color:#9eb6c6;margin-top:3px;overflow-wrap:anywhere}
.overview-service p{color:#b4c4d0;font-size:14px;line-height:1.9;margin-top:12px;max-width:730px}
.overview-service .arrow{font-size:23px;color:#8bdaef;transition:transform .25s}
.overview-service:hover .arrow{transform:translate(3px,-3px)}
.service-hero{position:relative;isolation:isolate;background:linear-gradient(120deg,#031021,#061b32 63%,#0a2b48);overflow:hidden}
.service-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url('../img/brand-ribbons.svg') right bottom/100% auto no-repeat;opacity:.23;pointer-events:none}
.service-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 35%,rgba(29,125,171,.16),transparent 52%);pointer-events:none}
.service-hero .breadcrumb{margin-top:0;color:#b4c7d5}
.service-hero .breadcrumb a:hover{color:#8bdaef}
.service-hero-inner{min-height:620px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:5%;align-items:center;padding-block:72px 95px}
.service-hero-copy{min-width:0}
.service-hero .eyebrow{margin-top:75px;color:#8bdaef}
.service-hero h1{font-family:var(--serif);font-size:clamp(46px,5.2vw,82px);letter-spacing:.07em;line-height:1.25}
.service-hero .english{font:clamp(11px,1.1vw,15px) Arial,sans-serif;letter-spacing:.18em;color:#a6c2d3;margin-top:16px;overflow-wrap:anywhere}
.service-hero .catch{font-family:var(--serif);font-size:clamp(23px,2.6vw,38px);line-height:1.6;letter-spacing:.04em;margin-top:60px}
.service-visual{min-width:0;width:100%;max-width:560px;justify-self:end;aspect-ratio:1.18;display:grid;place-items:center;border:1px solid #7392a044;background:linear-gradient(145deg,rgba(245,250,255,.06),rgba(7,33,59,.12));box-shadow:20px 20px 0 rgba(115,149,170,.07)}
.service-visual svg{width:100%;height:100%;display:block}
.service-visual .line{fill:none;stroke:#a7bfd0;stroke-width:2}
.service-visual .blue{fill:none;stroke:#35b7e8;stroke-width:3}
.service-visual .silver{fill:#b2c2cc}
.service-visual .blue-fill{fill:#35b7e8}
.service-visual .dim{fill:none;stroke:#638296;stroke-width:1}
.service-visual .panel{fill:#082b49;stroke:#7595a9;stroke-width:1.5}
.service-section{padding:clamp(72px,9vw,125px) 0}
.service-section .section-kicker{font:11px Arial,sans-serif;letter-spacing:.2em;color:#006f9c;margin-bottom:20px}
.service-section h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,48px);line-height:1.5;letter-spacing:.05em}
.service-section .lead{max-width:910px;font-size:clamp(16px,1.5vw,19px);line-height:2.05;margin-top:28px}
.service-overview,.service-values{background:var(--service-paper);color:var(--service-ink)}
.service-overview .lead,.service-values .lead{color:#354b5f}
.service-work{background:#04182d}
.service-work .section-kicker,.service-other .section-kicker{color:#8bdaef}
.service-work .lead{color:#b3c5d1}
.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:46px}
.service-card{min-width:0;min-height:235px;padding:clamp(24px,3vw,38px);border:1px solid #6b8a9d66;background:linear-gradient(140deg,#0a2a45,#071e34 72%);position:relative}
.service-card::before{content:"";position:absolute;top:0;left:0;width:60px;height:2px;background:#36b7e8}
.service-card .number{font:13px Arial,sans-serif;letter-spacing:.12em;color:#8bdaef}
.service-card h3{font-family:var(--serif);font-size:clamp(20px,2vw,27px);line-height:1.5;margin-top:22px}
.service-card p{color:#c2d0d9;font-size:15px;line-height:1.95;margin-top:17px}
.service-values .value-box{border-left:3px solid #0787bc;padding-left:clamp(20px,3vw,42px);max-width:950px}
.service-values .lead{margin-top:24px}
.service-other{background:radial-gradient(ellipse at 75% 100%,#073555,#04182d 65%)}
.service-other .back-link{display:inline-flex;align-items:center;gap:12px;min-height:50px;margin:18px 0 38px;border-bottom:1px solid #5e8094;color:#d9ebf3;font-size:14px}
.service-other .back-link:hover{color:#8bdaef;border-color:#8bdaef}
.service-other-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-other-grid a{min-width:0;min-height:155px;padding:25px;border:1px solid #6b8a9d66;display:flex;flex-direction:column;justify-content:space-between;gap:15px;transition:background .25s,transform .25s}
.service-other-grid a:hover{background:#0d2a43;transform:translateY(-3px)}
.service-other-grid .number{font:12px Arial,sans-serif;color:#8bdaef}
.service-other-grid strong{font-family:var(--serif);font-size:clamp(20px,2vw,27px);font-weight:600}
.service-other-grid .arrow{align-self:flex-end;color:#8bdaef}
@media(prefers-reduced-motion:no-preference){.motion-ready .service-card.reveal:nth-child(2),.motion-ready .service-other-grid a.reveal:nth-child(2){transition-delay:.08s}.motion-ready .service-card.reveal:nth-child(3),.motion-ready .service-other-grid a.reveal:nth-child(3){transition-delay:.16s}.motion-ready .service-card.reveal:nth-child(4){transition-delay:.24s}}
@media(max-width:960px){.service-hero-inner{min-height:540px}.service-hero h1{font-size:clamp(38px,5vw,55px)}.service-hero .catch{margin-top:42px}.service-other-grid{gap:12px}}
@media(max-width:640px){.overview-service{grid-template-columns:38px minmax(0,1fr) 22px;gap:11px;padding:25px 0}.overview-service:hover{padding-left:0}.overview-service strong{font-size:23px}.overview-service p{font-size:13px}.service-hero-inner{grid-template-columns:1fr;gap:34px;padding-block:34px 63px;min-height:0}.service-hero .eyebrow{margin-top:42px}.service-hero h1{font-size:clamp(38px,11vw,54px)}.service-hero .english{font-size:10px;letter-spacing:.12em}.service-hero .catch{font-size:clamp(22px,6.3vw,29px);margin-top:32px}.service-visual{width:min(100%,420px);justify-self:center;aspect-ratio:1.28}.service-section{padding:69px 0}.service-section h2{font-size:29px}.service-section .lead{font-size:16px}.service-cards{grid-template-columns:1fr;gap:14px;margin-top:35px}.service-card{min-height:0;padding:25px}.service-card h3{font-size:22px}.service-card p{font-size:15px}.service-other-grid{grid-template-columns:1fr}.service-other-grid a{min-height:115px}.service-hero::before{background-size:225% auto;opacity:.3}}
@media(max-width:360px){.service-hero h1{font-size:36px}.service-hero .english{font-size:9px;letter-spacing:.07em}.overview-service strong{font-size:21px}}
