/* Service detail pages and consistent site directory. */
.detail-wrap,.detail-header{width:min(1180px,calc(100% - 40px));margin:0 auto}
.detail-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0}
.detail-brand{font-size:23px;font-weight:900;letter-spacing:-.02em;color:#174c41;white-space:nowrap}
.detail-brand span{font-size:14px;letter-spacing:.08em;margin-left:4px}
.detail-header nav{display:flex;flex-wrap:wrap;gap:24px;font-size:13px;font-weight:700}
.detail-hero{background:radial-gradient(ellipse at 80% 40%,#153f4c,transparent 65%),#071823;color:#eefafd;padding:55px 0 64px}
.detail-hero-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:70px;align-items:center}
.detail-breadcrumb{font-size:12px;color:#a9c6d2;line-height:1.8;margin-bottom:30px}
.detail-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.detail-hero .eyebrow{font-size:10px;letter-spacing:.1em;color:#8edace;line-height:1.6}
.detail-hero h1{font-size:clamp(35px,4.3vw,57px);font-weight:850;line-height:1.15;letter-spacing:-.045em;margin:23px 0}
.detail-lead{font-size:18px;line-height:1.85;color:#bcd0d9;max-width:760px}
.detail-button{display:inline-block;border:0;border-radius:32px;background:#174c41;color:#fff;padding:15px 24px;font:inherit;font-size:14px;line-height:1.6;font-weight:750;cursor:pointer;margin-top:25px}
.detail-hero .detail-button{background:#70f1de;color:#071823}
.detail-system{border:1px solid #345461;border-radius:24px;background:#0b202c;overflow:hidden;box-shadow:0 16px 40px #0002}
.detail-system-label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px 5px}
.detail-system-label>span{font-family:ui-monospace,Consolas,monospace;color:#70f1de;font-size:22px;letter-spacing:.07em}
.detail-system-label>small{font-size:9px;letter-spacing:.1em;color:#8ab1be;text-align:right}
.detail-system img{width:100%;height:290px;object-fit:contain}
.detail-system>p{font-size:10px;color:#87a5b1;line-height:1.6;padding:12px 25px 22px;text-align:center;margin:0}
.detail-section{padding:62px 0}
.detail-section h2{font-size:clamp(27px,3vw,38px);font-weight:800;line-height:1.25;letter-spacing:-.025em;margin-bottom:24px}
.detail-soft{background:#e8eee4}
.detail-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}
.detail-cards article{padding:27px;border:1px solid #cbd7cd;border-radius:18px;background:#f6f8f1}
.detail-cards h3{font-size:20px;font-weight:750;line-height:1.4;margin-bottom:12px}
.detail-cards p,.detail-intro{font-size:16px;line-height:1.85;color:#5b6c62;margin:0;max-width:900px}
.detail-intro+.detail-intro{margin-top:16px}
.detail-intro a{text-decoration:underline;text-underline-offset:4px;font-weight:700;color:#174c41}
.detail-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:32px 0 0}
.detail-flow li{border-top:2px solid #8baaa3;padding-top:20px}
.detail-flow span{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:#61746a;display:block;margin-bottom:14px}
.detail-flow strong{font-size:18px;line-height:1.55;font-weight:700}
.detail-note{font-size:13px;line-height:1.8;color:#61746a;margin-top:27px}
.detail-faq{max-width:890px}
.detail-faq details{border-top:1px solid #cbd7cd;padding:23px 0}
.detail-faq summary{font-size:18px;line-height:1.5;font-weight:750;cursor:pointer}
.detail-faq p{font-size:16px;line-height:1.85;color:#5b6c62;margin-top:15px}
.detail-related{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:26px}
.detail-related a{font-size:15px;line-height:1.6;font-weight:700;color:#174c41;text-decoration:underline;text-underline-offset:5px}
.detail-related-title{font-size:19px;line-height:1.4;font-weight:750;margin-top:40px}
.detail-about-panel{border:1px solid #35545f;border-radius:24px;padding:35px;background:linear-gradient(150deg,#143c49,#0b202c)}
.detail-about-panel>span{font-size:10px;color:#8adbd4;letter-spacing:.12em}
.detail-about-panel h2{font-size:34px;font-weight:800;line-height:1.2;margin:23px 0}
.detail-about-panel p{font-size:14px;color:#bcd0d9;line-height:1.8}
.detail-about-panel ul{padding:0;margin:30px 0 0;list-style:none}
.detail-about-panel li{font-size:15px;line-height:1.7;color:#a7cbd5;padding:15px 0;border-top:1px solid #345461}
.detail-contact-hero .detail-lead{max-width:860px}
.detail-enquiry-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:70px;align-items:start}
.detail-contact-form{display:grid;gap:20px;max-width:780px}
.detail-contact-form label{display:grid;gap:8px;font-size:15px;font-weight:650}
.detail-contact-form input,.detail-contact-form select,.detail-contact-form textarea{width:100%;min-width:0;border:1px solid #9eb5a5;border-radius:10px;background:#fff;padding:13px;font:inherit;font-size:16px;font-weight:400;line-height:1.6;color:#174c41}
.detail-contact-form textarea{resize:vertical}
.detail-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.detail-contact-form .detail-button{justify-self:start;margin-top:0}
.detail-form-note{font-size:12px;line-height:1.85;color:#61746a;margin:0}
.detail-form-note a{text-decoration:underline;text-underline-offset:3px}
.detail-contact-info{border:1px solid #cbd7cd;border-radius:20px;padding:30px;background:#e8eee4}
.detail-contact-info h2{font-size:24px;margin-bottom:22px}
.detail-contact-info>a{display:block;color:#174c41;font-weight:700;margin:15px 0;overflow-wrap:anywhere}
.detail-contact-info p,.detail-contact-info li{font-size:14px;line-height:1.85;color:#5b6c62}
.detail-contact-info p{margin-top:24px}
.detail-contact-info h3{font-size:17px;line-height:1.5;font-weight:750;margin:27px 0 14px}
.detail-contact-info ul{padding-left:18px;list-style:disc}
.detail-contact-info li{margin:8px 0}
.solution-route-section{padding:60px 0 30px}
.solution-route-section .eyebrow{color:#61746a;font-size:10px;letter-spacing:.08em}
.solution-route-section h2{font-size:clamp(26px,3vw,36px);font-weight:750;line-height:1.3;letter-spacing:-.025em;margin:16px 0 26px}
.solution-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.solution-route-grid>a{display:block;background:#0b202c;border:1px solid #284654;border-radius:16px;padding:23px;color:#d7edf4;transition:border-color .2s,transform .2s;text-decoration:none}
.solution-route-grid>a:hover{border-color:#45ab9e;transform:translateY(-3px)}
.solution-route-grid>a>span{font-family:ui-monospace,Consolas,monospace;font-size:12px;letter-spacing:.1em;color:#70f1de}
.solution-route-grid h3{font-size:19px;line-height:1.45;font-weight:700;margin:22px 0 12px}
.solution-route-grid p{font-size:12px;line-height:1.8;color:#a9c3cf;max-width:none;margin:0;font-weight:400}
.site-directory{background:#071823;color:#d1e6ed;padding:52px max(20px,calc((100% - 1180px)/2)) 28px;margin-top:40px}
.directory-grid{display:grid;grid-template-columns:1.1fr 1.15fr 1fr 1fr;gap:40px}
.directory-grid h2{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.035em;color:#83d9d0;margin:0 0 18px}
.directory-grid nav{display:grid;gap:11px}
.directory-grid a{font-size:13px;line-height:1.6;font-weight:500;color:#bad0db}
.directory-grid a:hover{color:#70f1de}
.directory-brand>a:first-child{display:block;font-size:20px;font-weight:850;color:#effaff;letter-spacing:-.02em;margin-bottom:16px}
.directory-brand p{font-size:13px;line-height:1.8;color:#91afbd;max-width:250px;margin:0 0 22px}
.directory-brand>a{display:block;overflow-wrap:anywhere;margin:9px 0}
.directory-bottom{margin-top:38px;padding-top:23px;border-top:1px solid #294653;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;color:#89a8b6;font-size:11px;line-height:1.6}
.detail-page a:focus-visible,.site-directory a:focus-visible,.solution-route-grid a:focus-visible{outline:2px solid #52bdb0;outline-offset:5px}
.detail-contact-form input:focus-visible,.detail-contact-form textarea:focus-visible,.detail-contact-form select:focus-visible{outline:2px solid #174c41;outline-offset:3px}
@media(max-width:1000px){.detail-hero-grid{gap:35px;grid-template-columns:1.1fr .9fr}.detail-hero h1{font-size:43px}.detail-system img{height:255px}.solution-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid{gap:25px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-enquiry-grid{gap:35px}.new-header nav{gap:15px}.new-header nav a{font-size:12px}}
@media(max-width:760px){.detail-header{align-items:flex-start;flex-direction:column;gap:18px}.detail-header nav{gap:18px;font-size:12px}.detail-hero-grid,.detail-enquiry-grid{grid-template-columns:1fr}.detail-hero{padding:34px 0 44px}.detail-hero h1{font-size:39px}.detail-lead{font-size:17px}.detail-system{max-width:500px}.detail-system img{height:270px}.detail-cards{grid-template-columns:1fr}.detail-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.detail-section{padding:46px 0}.detail-about-panel{padding:28px}}
@media(max-width:480px){.detail-wrap,.detail-header{width:calc(100% - 32px)}.detail-hero h1{font-size:35px}.detail-cards article{padding:23px}.detail-form-row,.solution-route-grid,.directory-grid{grid-template-columns:1fr}.detail-enquiry-grid{gap:40px}.detail-contact-info{padding:25px}.solution-route-section{padding:44px 0 22px}.solution-route-grid h3{margin-top:14px}.site-directory{padding:40px 23px 25px}.directory-grid{gap:32px}.directory-grid nav{gap:10px}.directory-brand p{max-width:330px}.detail-breadcrumb{margin-bottom:24px}.detail-button{padding:14px 21px}.directory-bottom{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.solution-route-grid>a{transition:none}.solution-route-grid>a:hover{transform:none}}
