/* Approved one-to-one customization direction. Original logos remain source assets. */
body[data-page=home]{background:#fff}
.custom-hero{background:#f7fbfa;border-bottom:1px solid #dae4e8;overflow:hidden}
.custom-hero-inner{position:relative;min-height:690px;padding-block:70px 42px;isolation:isolate}
.custom-copy{position:relative;z-index:2;width:60%;max-width:740px}
.custom-copy .eyebrow{font-size:12px;color:#087e77;letter-spacing:2px;margin:0 0 28px}
.custom-copy h1{font-size:clamp(48px,5.55vw,80px);font-weight:800;line-height:1.04;letter-spacing:-3.5px;margin:0 0 28px}
.custom-copy h1 em,.services-intro h2 em{font-style:normal;color:#087e80}
.custom-lead{font-size:22px;line-height:1.5;max-width:650px;margin:0 0 30px;color:#586782}
.protocol-cta{border-radius:5px;padding:17px 28px;box-shadow:none;min-height:52px;font-size:17px;background:#087c77;border-color:#087c77}
.consult-row{display:flex;gap:20px;align-items:center;margin-top:18px}
.consultation{border:1px solid #a7b4c6;background:#f2f5f8;color:#66768c;padding:17px 25px;border-radius:5px;font:inherit;font-size:15px;min-height:50px}
.consultation:disabled{cursor:not-allowed;opacity:1}
.consult-row span{padding-left:20px;border-left:1px solid #c8d3df;font-size:14px;line-height:1.4;color:#63758a}
.custom-slogan{font-size:10px;text-transform:uppercase;letter-spacing:2.2px;margin-top:30px;font-weight:600;color:#465c78}
.custom-visual{position:absolute;z-index:0;right:-100px;top:0;width:65%;height:100%;margin:0;pointer-events:none}
.custom-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.custom-visual figcaption{position:absolute;bottom:38px;right:120px;font-size:9px;letter-spacing:2px;color:#536d7b}
.custom-services{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:72px}
.services-intro{border-right:1px solid #dce3ed;padding-right:40px}
.services-intro .eyebrow{color:#536585;font-size:11px;margin:0 0 26px}
.services-intro h2{font-size:clamp(44px,4.9vw,70px);font-weight:800;letter-spacing:-2.5px;line-height:1.05;margin:0 0 28px}
.services-intro>p:last-child{font-size:25px;color:#586782;line-height:1.45}
.service-list{list-style:none;margin:0;padding:0}
.service-list li{display:grid;grid-template-columns:100px 1fr;gap:28px;align-items:start;padding:20px 0;border-bottom:1px solid #dce3ed;min-height:124px}
.service-list li:first-child{padding-top:0}.service-list li:last-child{border:0;padding-bottom:0}
.service-index{font-size:68px;line-height:1;font-weight:300;letter-spacing:-3px;color:#0b9f99}
.service-list h3{font-size:21px;line-height:1.25;letter-spacing:-.5px;margin:2px 0 8px}
.service-list p{font-size:16px;line-height:1.4;color:#586782;margin:0;max-width:36ch}
.custom-start{background:#edfafa}
.custom-start-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding-block:48px}
.custom-start h2{font-size:42px;letter-spacing:-1.5px;line-height:1.15;margin:0 0 12px}
.custom-start p{font-size:21px;line-height:1.4;margin:0;color:#586782}
.start-contact{border-left:1px solid #c9e0e3;padding:32px 0 20px 70px}
.start-contact p{font-size:18px}
.home-downloads{padding-left:40px;border-left:1px solid #ffffff25;max-width:330px}
.home-downloads h2{font-size:15px;letter-spacing:0;font-weight:500;color:white;margin:0 0 20px}
.home-downloads p{font-size:13px;line-height:1.8;margin:0;color:#b8c7d8}
[data-page=home] .footer-top{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:50px;padding-block:48px 24px}
[data-page=home] .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px}
[data-page=home] .footer-bottom{font-size:12px;padding-bottom:30px}
#custom-solutions{scroll-margin-top:25px}
@media(max-width:1100px){.custom-copy{width:63%}.custom-lead{font-size:19px}.custom-hero-inner{min-height:640px}.custom-visual{right:-160px;width:74%;opacity:.62}.custom-services{gap:30px}.service-list li{grid-template-columns:68px 1fr;gap:18px}.service-index{font-size:56px}.custom-start h2{font-size:34px}.start-contact{padding-left:32px}.consult-row{gap:12px}.consult-row span{padding-left:12px}}
@media(max-width:760px){.custom-hero-inner{padding-top:40px;padding-bottom:24px;min-height:0}.custom-copy{width:100%;max-width:none}.custom-copy .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:24px}.custom-copy h1{font-size:clamp(40px,8.8vw,64px);letter-spacing:-1.7px;line-height:1.08}.custom-lead{font-size:18px;max-width:38ch}.custom-visual{position:relative;right:auto;width:calc(100% + 40px);height:290px;margin:12px -20px -24px;opacity:1}.custom-visual img{object-position:center}.custom-visual figcaption{right:22px;bottom:18px;font-size:8px}.custom-slogan{font-size:9px;letter-spacing:1.3px;margin:24px 0}.consult-row{flex-wrap:wrap;gap:12px}.consultation{font-size:14px;padding:14px 18px}.consult-row span{font-size:12px}.custom-services{grid-template-columns:1fr;gap:30px;padding-block:48px}.services-intro{border-right:0;padding-right:0}.services-intro h2{font-size:44px;letter-spacing:-1.5px}.services-intro h2 br:last-child{display:none}.services-intro>p:last-child{font-size:20px;margin-bottom:0}.service-list li{grid-template-columns:66px 1fr;min-height:0;padding-block:24px}.service-list h3{font-size:20px}.service-list p{font-size:16px}.custom-start-inner{grid-template-columns:1fr;gap:24px;padding-block:36px}.custom-start h2{font-size:32px}.custom-start p{font-size:18px}.start-contact{border-left:0;border-top:1px solid #c9e0e3;padding:20px 0 0}.start-contact p{font-size:16px}[data-page=home] .footer-top{grid-template-columns:1fr;gap:28px}.home-downloads{padding-left:0;border:0}[data-page=home] .footer-nav{flex-direction:row;flex-wrap:wrap;gap:12px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

@media(min-width:761px) and (max-width:1100px){.custom-visual figcaption{right:190px;letter-spacing:1px}}

/* Subtle physical motion, with a persistent accessible pause control. */
.custom-visual img{transform-origin:64% 52%;will-change:transform}
.motion-toggle{position:absolute;bottom:14px;right:20px;z-index:3;border:1px solid #b9cece;background:#f7fbfae8;color:#365968;border-radius:24px;padding:9px 14px;font:inherit;font-size:11px;cursor:pointer;min-height:36px}
.motion-toggle:focus-visible{outline:3px solid #087e80;outline-offset:4px}
.motion-toggle:disabled{cursor:default}
.protocol-cta{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
@media(hover:hover){.protocol-cta:hover{transform:translateY(-3px);box-shadow:0 10px 22px #087c7726;background:#076d69}.protocol-cta:active{transform:translateY(0)}}
@media(max-width:760px){.motion-toggle{bottom:46px;right:8px;font-size:10px}.custom-visual{overflow:hidden}}
.motion-paused .custom-visual img{will-change:auto}
@media(prefers-reduced-motion:reduce){.custom-visual img{will-change:auto}.protocol-cta:hover{transform:none}}
@media(min-width:761px){.custom-visual figcaption{bottom:64px}}
/* Keep the decorative caption available to assistive technology without visual clutter. */
.custom-visual figcaption{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.motion-toggle{width:40px;height:40px;min-height:40px;padding:0;font-size:14px;display:grid;place-items:center}


/* Fixed artwork with independently rendered light, never image zoom or drift. */
.custom-visual{overflow:hidden}
.custom-visual img{transform:none!important;will-change:auto}
.tunnel-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
/* Expanded homepage: editorial sections with contrasting surfaces. */
.home-block{padding-block:88px}.home-section-head{max-width:720px;margin-bottom:42px}.home-section-head .eyebrow{font-size:11px;letter-spacing:2px;color:#087c77;margin-bottom:22px}.home-section-head h2{font-size:clamp(32px,3.5vw,50px);line-height:1.12;letter-spacing:-1.6px;margin:0 0 22px}.home-section-head>p:last-child{font-size:19px;line-height:1.65;color:#586782;margin:0}.home-context{background:#f4f8f8;border-block:1px solid #dce7e7}.home-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.home-use-grid article{border-top:2px solid #15978c;padding-top:25px}.home-kicker{font-size:11px;letter-spacing:1.5px;color:#087c77;margin:0 0 26px}.home-block h3{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:0 0 15px}.home-use-grid article>p:last-child,.home-scope-list p,.home-reading article>p:not(.home-kicker){font-size:16px;color:#586782;line-height:1.7}.home-scope,.home-technical{display:grid;grid-template-columns:1fr 1fr;gap:80px}.home-scope-list article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #dde5e8}.home-scope-list article:first-child{padding-top:0}.home-scope-list article>span{font-size:16px;color:#087c77;padding-top:4px}.home-scope-list p{margin:0}.home-scope-list .home-small{font-size:13px;margin-top:22px}.home-process{background:#101c32;color:white}.home-process .eyebrow{color:#68decf}.home-process .home-section-head>p:last-child{color:#b5c8d7}.home-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.home-steps li{border-top:1px solid #5b7a86;padding-top:22px}.home-step-number{display:block;color:#63d9c9;font-size:37px;font-weight:300;margin-bottom:30px}.home-steps p{color:#b5c8d7;line-height:1.7;font-size:15px}.home-steps h3{font-size:20px}.home-reading{display:grid;gap:22px}.home-reading article{padding:28px 32px;border:1px solid #d9e5e7;border-radius:8px}.home-reading .home-kicker{margin-bottom:16px}.home-read-link{display:inline-block;font-size:15px;font-weight:600;color:#087c77;text-underline-offset:5px;margin-top:10px}.home-faq-section{background:#f4f8f8;border-top:1px solid #dce7e7}.home-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.home-faq details{border-bottom:1px solid #cad9de;padding:22px 0}.home-faq details:first-child{padding-top:0}.home-faq summary{font-size:18px;line-height:1.5;font-weight:600;cursor:pointer;padding-right:16px}.home-faq details p{font-size:16px;line-height:1.75;color:#586782;margin:18px 0 0}.home-faq summary:focus-visible{outline:3px solid #0c948b;outline-offset:5px}
@media(max-width:1000px){.home-scope,.home-technical,.home-faq-layout{gap:36px}.home-use-grid{gap:24px}.home-steps{grid-template-columns:1fr 1fr;gap:32px}.home-block h3{font-size:21px}}
@media(max-width:760px){.home-block{padding-block:52px}.home-section-head{margin-bottom:30px}.home-section-head h2{font-size:34px;letter-spacing:-1px}.home-section-head>p:last-child{font-size:17px}.home-use-grid,.home-scope,.home-technical,.home-faq-layout{grid-template-columns:1fr;gap:28px}.home-scope .home-section-head,.home-technical .home-section-head,.home-faq-layout .home-section-head{margin-bottom:0}.home-reading article{padding:24px}.home-step-number{margin-bottom:18px}.home-faq summary{font-size:17px}}
@media(max-width:420px){.home-steps{grid-template-columns:1fr}.home-step-number{font-size:30px}.home-steps li{padding-top:18px}}
