/* ESP service page; shared branding and navigation remain in site.css. */
.esp-hero .subhero-inner{padding-top:42px;padding-bottom:54px}
.esp-hero .crumbs{margin-bottom:34px}
.esp-hero .crumbs span{color:#b9d3de}
.esp-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.esp-hero h1{font-size:clamp(2.6rem,4.5vw,3.65rem);max-width:12ch;margin:18px 0 24px;line-height:1.04;letter-spacing:-.04em}
.esp-hero h1 span{color:var(--cyan-soft)}
.esp-hero .lede{font-size:1.12rem;max-width:45ch}
.esp-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px}
.esp-text-link{color:#d0e7ef;font-size:.92rem;text-decoration:underline;text-underline-offset:5px}
.esp-hero .esp-scope{font-size:.78rem;color:#b9d3de;margin-top:20px}
.esp-route{background:rgba(7,27,46,.6);border:1px solid #315267;border-radius:18px;padding:27px 28px}
.esp-route-label{display:block;font-family:var(--font-mono);font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan-soft);margin-bottom:20px}
.esp-route ol{list-style:none;padding:0;margin:0}
.esp-route li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:16px;padding-bottom:23px}
.esp-route li:not(:last-child)::after{content:"";position:absolute;left:15px;top:34px;bottom:5px;width:1px;background:#315267}
.esp-route li:last-child{padding-bottom:0}
.esp-route .esp-route-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #47748a;border-radius:50%;font-family:var(--font-mono);font-size:.7rem;color:var(--cyan-soft)}
.esp-route strong{display:block;color:#fff;font-size:1rem;line-height:1.4;margin-top:3px}
.esp-route p{font-size:.83rem;line-height:1.5;color:#b9d3de;margin-top:5px}
.esp-route-footer{border-top:1px solid #315267;margin-top:23px;padding-top:16px;color:#c2dce7;font-size:.78rem;line-height:1.55}
.esp-intro{background:#fff;border-bottom:1px solid var(--line-soft);padding:44px 0}
.esp-intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center}
.esp-intro h2{font-size:clamp(1.65rem,2.6vw,2rem);max-width:21ch;line-height:1.17}
.esp-intro p{color:var(--ink-2);font-size:1rem;line-height:1.65}
.esp-section{padding:70px 0}
.esp-section .section-title{margin:14px 0 16px}
.esp-section-head{max-width:700px;margin-bottom:32px}
.esp-section-head p{color:var(--muted);font-size:1rem}
.esp-work-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:50px;align-items:start}
.esp-work{list-style:none;margin:0;padding:0}
.esp-work li{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.esp-work li:first-child{padding-top:0}
.esp-work .esp-step-num{font-family:var(--font-mono);color:var(--teal);font-size:.8rem;padding-top:3px}
.esp-work h3{font-size:1.17rem;line-height:1.3;margin-bottom:10px}
.esp-work p{color:var(--ink-2);font-size:.95rem;line-height:1.7}
.esp-deliverables{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:0 0 14px 14px;padding:28px}
.esp-deliverables h3{font-size:1.3rem;margin:10px 0 18px}
.esp-deliverables ul{padding:0;list-style:none;margin:0 0 24px}
.esp-deliverables li{padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem;color:var(--ink-2);line-height:1.55}
.esp-deliverables li strong{display:block;color:var(--ink)}
.esp-deliverables p{font-size:.83rem;color:var(--muted);line-height:1.6}
.esp-fit{background:var(--paper-2);padding:48px 0}
.esp-fit-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;align-items:start}
.esp-fit h2{font-size:1.8rem;margin-top:13px;line-height:1.2}
.esp-fit p{color:var(--ink-2);font-size:1rem;margin-bottom:16px}
.esp-fit p:last-child{margin-bottom:0}
.esp-faq{max-width:860px}
.esp-faq details{border-bottom:1px solid var(--line);padding:20px 0}
.esp-faq summary{font-weight:600;font-size:1.05rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center}
.esp-faq summary::-webkit-details-marker{display:none}
.esp-faq summary::after{content:"+";color:var(--teal);font-size:1.5rem;line-height:1}
.esp-faq details[open] summary::after{content:"−"}
.esp-faq details p{font-size:.96rem;color:var(--ink-2);line-height:1.7;padding-top:14px;max-width:70ch}
.esp-faq details a{text-decoration:underline;text-underline-offset:3px;color:var(--teal)}
.esp-source-note{font-size:.78rem;color:var(--muted);line-height:1.65;margin-top:25px}
.esp-source-note a{text-decoration:underline;text-underline-offset:3px}
.esp-cta .cta-inner{gap:32px}
.esp-cta h2{max-width:24ch}
@media(max-width:950px){.esp-hero-grid{gap:30px}.esp-hero .btn{font-size:.9rem}.esp-work-grid{gap:30px}.esp-intro-grid,.esp-fit-grid{gap:32px}}
@media(max-width:760px){.esp-hero-grid,.esp-intro-grid,.esp-work-grid,.esp-fit-grid{grid-template-columns:1fr;gap:28px}.esp-hero .subhero-inner{padding-top:27px;padding-bottom:36px}.esp-hero .crumbs{margin-bottom:26px}.esp-hero h1{font-size:2.75rem}.esp-route{padding:23px}.esp-hero .lede{font-size:1.05rem}.esp-intro{padding:34px 0}.esp-section{padding:46px 0}.esp-intro h2{max-width:24ch}.esp-section-head{margin-bottom:28px}.esp-work-grid{gap:34px}.esp-fit{padding:36px 0}.esp-fit-grid{gap:22px}.esp-faq summary{font-size:1rem}.esp-actions .btn{white-space:normal;text-align:center}.esp-cta .btn{white-space:normal}}
