/* Shared layout for NightRoute's focused service pages. */
.utility-bar{background:#102b39;color:#bed3dd;font-size:.78rem;letter-spacing:.06em}
.utility-bar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:10px}
.utility-bar a{color:#fff;font-size:.875rem;letter-spacing:0;font-weight:600}
.site-header .nav-row{height:88px;gap:20px}
.site-header nav{gap:21px;font-size:.875rem}
.site-header nav>a[aria-current=page]{color:var(--cyan);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.site-header .button-small{font-size:.875rem;padding:14px 16px;gap:14px}
.page-hero{background:var(--ink);color:#fff;padding:28px 0 76px}
.breadcrumbs{display:flex;gap:13px;color:#a7bfca;font-size:.875rem;margin:0 0 46px}
.breadcrumbs a:hover{color:var(--cyan)}
.page-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}
.page-hero .eyebrow{color:#87dceb;font-size:.8rem;line-height:1.7;margin-bottom:20px}
.page-hero h1{font-size:clamp(2.8rem,4.7vw,4.6rem);letter-spacing:-.05em;line-height:1.08}
.page-hero h1>span{color:var(--cyan)}
.page-intro{font-size:1.125rem;color:#bdced8;max-width:640px;margin:27px 0 0;line-height:1.75}
.page-hero .hero-actions{margin-top:30px;flex-wrap:wrap}
.page-hero .text-link{color:#d0eaf2}
.route-summary{padding:33px;border:1px solid #365461;border-top:3px solid var(--cyan);border-radius:8px;background:#0e2633;min-width:0}
.route-summary h2{font-size:2rem;line-height:1.2;letter-spacing:-.035em}
.route-summary .check-list{margin:25px 0}
.route-summary .check-list li{font-size:1rem;color:#c9dce5}
.route-summary .check-list li::before{color:var(--cyan)}
.route-summary .text-link{font-size:.95rem;color:var(--cyan)}
.route-summary:has(.about-hero-mark){padding:0;border:0;background:#010607}
.about-hero-mark img{width:100%;height:auto;border-radius:8px}
.page-jumps{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:42px}
.page-jumps a{border:1px solid #91b7c5;border-radius:4px;padding:11px 18px;font-size:.9375rem;font-weight:600;background:#fff}
.page-jumps a:hover{background:#d7eef4}
.plan-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.plan-overview>a{display:block;background:#fff;border:1px solid #aacad5;border-radius:8px;padding:30px}
.plan-overview>a:first-child{background:var(--navy);color:#fff;border-top:3px solid var(--cyan)}
.plan-overview>a:hover{outline:2px solid #149bb8;outline-offset:4px}
.plan-overview a>span{font-size:.8rem;font-weight:700;letter-spacing:.07em;line-height:1.7}
.plan-overview strong{display:block;font-size:3.5rem;letter-spacing:-.06em;margin-top:24px;line-height:1.2}
.plan-overview strong small{font-size:.9rem;font-weight:400;letter-spacing:0;display:inline-block}
.plan-overview p{margin:22px 0;color:var(--body)}
.plan-overview a:first-child p{color:#bfd4df}
.plan-overview a:first-child strong,.plan-overview a:first-child b{color:var(--cyan)}
.plan-overview b{font-size:.95rem;font-weight:600}
.benefits-section .benefit-audience:first-child{margin-top:0}
.benefits-section .audience-heading h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}
.audience-benefits-grid .customer-benefit h3{font-size:1.45rem;line-height:1.25;letter-spacing:-.03em;margin-bottom:17px}
.revenue-intro h3{font-size:clamp(1.75rem,2.7vw,2.45rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}
.process .residential-process{margin:0;padding:0;border:0}
.process .service-steps h3{font-size:1.35rem;margin:5px 0 15px;line-height:1.25}
.page-bridge{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:54px 0}
.page-bridge h2{font-size:clamp(1.6rem,2.4vw,2.3rem)}
.page-bridge p:last-child{color:var(--body);max-width:720px;margin:18px 0 0}
.page-bridge .eyebrow{font-size:.8rem;margin-bottom:14px}
.page-bridge .button{flex-shrink:0}
.project-teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin:70px 0;padding:44px;background:#e1eef2;border-radius:10px;border:1px solid #b1cfda}
.project-teaser h2{font-size:clamp(2rem,3.1vw,3rem)}
.project-teaser>div{min-width:0}
.project-teaser>div>p:not(.eyebrow):not(.custom-price){color:var(--body);max-width:480px;margin-top:24px}
.project-teaser>div:last-child{border-left:1px solid #a8c7d3;padding-left:40px;align-self:center}
.project-teaser .custom-price{font-size:1.65rem;line-height:1.3}
.approach-section{background:#eaf2f5}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.approach-grid article{border-top:2px solid #1597b4;padding-top:25px}
.approach-grid article>span{font-size:.8rem;letter-spacing:.09em;font-weight:700;color:#14758c}
.approach-grid h3{font-size:1.65rem;line-height:1.23;letter-spacing:-.035em;margin:22px 0 18px}
.approach-grid p{color:var(--body);font-size:1rem;margin:0}
.section-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:42px}
.footer-navigation{display:flex;gap:20px 27px;flex-wrap:wrap;border-bottom:1px solid #304853;padding-bottom:28px;margin-bottom:32px;font-size:.875rem;color:#b7cdd8}
.footer-navigation a:hover{color:var(--cyan)}
.mobile-contact{display:none}
.contact-copy .eyebrow{font-size:.85rem;color:#14758c}
.contact .contact-details a{overflow-wrap:anywhere}
.quote-form [hidden]{display:none!important}
.quote-form .form-note{font-size:.875rem}
.quote-form label{line-height:1.5}
.service-steps p,.customer-benefit>p:last-child,.faq-item>div{font-size:1rem}
.eyebrow,.benefit-kicker,.audience-label,.plan-audience{font-size:.875rem}

@media(max-width:1180px){
 .site-header .brand-icon{display:none}
 .site-header nav{gap:16px;font-size:.875rem}
 .wordmark{font-size:1.35rem}
 .page-hero-grid{gap:38px}
 .route-summary{padding:27px}
 .page-bridge{gap:28px}
}
@media(max-width:1000px){
 .site-header .nav-row{height:76px;position:relative}
 .site-header .brand-icon{display:block}
 .menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;color:#fff;border:1px solid #56717e;border-radius:5px;padding:10px 13px;font-size:.875rem}
 .site-header nav{display:none;position:absolute;top:76px;left:-24px;right:-24px;flex-direction:column;align-items:stretch;background:var(--navy);padding:18px 24px 24px;gap:0;box-shadow:0 12px 22px #0004;max-height:calc(100dvh - 76px);overflow:auto}
 .site-header nav.is-open{display:flex}
 .site-header nav>a{padding:14px 0;border-bottom:1px solid #304853;font-size:1rem}
 .site-header nav>.button{padding:16px;margin-top:16px;border-bottom:0}
 .page-hero-grid{grid-template-columns:1.4fr 1fr;gap:30px}
 .route-summary h2{font-size:1.7rem}
 .route-summary .check-list li{font-size:.9375rem}
 .page-hero h1{font-size:clamp(2.65rem,5.4vw,4rem)}
 .page-bridge{align-items:flex-start;flex-direction:column}
 .approach-grid{gap:28px}
 .project-teaser{gap:35px;padding:32px}
}
@media(max-width:760px){
 html{scroll-padding-top:95px}
 body{padding-bottom:72px}
 .utility-bar{font-size:.72rem;letter-spacing:.035em}
 .utility-bar .container{gap:10px;padding-block:9px}
 .utility-bar a{font-size:.8rem}
 .site-header .nav-row{height:72px}
 .site-header nav{top:72px;max-height:calc(100dvh - 150px)}
 .page-hero{padding:23px 0 46px}
 .breadcrumbs{margin-bottom:31px}
 .page-hero-grid{grid-template-columns:1fr;gap:36px}
 .page-hero h1{font-size:clamp(2.5rem,9vw,3.6rem)}
 .page-intro{font-size:1rem;margin-top:24px}
 .page-hero .hero-actions{gap:17px}
 .page-hero .hero-actions .button{width:100%;justify-content:space-between}
 .route-summary{padding:25px}
 .route-summary h2{font-size:1.85rem}
 .route-summary:has(.about-hero-mark){max-width:340px;margin:auto;width:100%}
 .page-jumps{gap:9px;margin-bottom:35px}
 .page-jumps a{font-size:.875rem;padding:10px 12px;flex:1 1 auto;text-align:center}
 .plan-overview,.approach-grid,.project-teaser{grid-template-columns:1fr}
 .plan-overview>a{padding:25px}
 .plan-overview strong{font-size:3rem}
 .benefits-section .audience-heading h2{font-size:2.25rem}
 .project-teaser{margin:45px 0;padding:27px;gap:30px}
 .project-teaser>div:last-child{padding:28px 0 0;border-left:0;border-top:1px solid #a8c7d3}
 .project-teaser .button{width:100%;padding-inline:16px;justify-content:space-between;gap:15px}
 .page-bridge{padding:42px 0;gap:24px}
 .page-bridge .button{max-width:100%;gap:16px}
 .approach-grid{gap:32px}
 .footer-navigation{gap:19px 23px;font-size:.9375rem}
 .mobile-contact{position:fixed;z-index:11;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.45fr;background:var(--ink);border-top:1px solid #45616e;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px #06131b22}
 .mobile-contact a{padding:13px 9px;border:1px solid #54707e;border-radius:4px;color:#fff;text-align:center;font-size:.85rem;font-weight:600;line-height:1.3;display:flex;align-items:center;justify-content:center;gap:8px}
 .mobile-contact a:last-child{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
 .revenue-inputs label:last-child{max-width:none}
}
@media(max-width:370px){
 .utility-bar .container>span{font-size:.65rem}
 .utility-bar a{font-size:.75rem}
 .site-header .brand-icon{display:none}
 .wordmark{font-size:1.3rem}
 .mobile-contact a{font-size:.8rem}
 .page-hero h1{font-size:2.35rem}
}
