/* Shared brand frame. Each alternative owns its complete page composition. */
body.contrast-option{--ink:#29333b;--muted:#535f69;--surface:#eef1f3;--line:#c9d0d6;color:#29333b;background:#fff}
body.contrast-option .header{background:#101010;color:#eef1f5}
body.contrast-option .header-inner{border-bottom:1px solid #4e545a}
body.contrast-option .header .desktop-nav a,
body.contrast-option .header .phone{color:#eef1f5}
body.contrast-option .header .desktop-nav a:hover,
body.contrast-option .header .desktop-nav a[aria-current]{color:#fff}
body.contrast-option .header .desktop-nav a:hover:after,
body.contrast-option .header .desktop-nav a[aria-current]:after{background:#d8dee5}
body.contrast-option .header .outline{color:#f0f3f6;border-color:#858d96;background:transparent}
body.contrast-option .header .outline:hover{background:#30363c}
body.contrast-option .header .menu-toggle{border-color:#828b94;background:#181b1e;color:#eef1f5}
body.contrast-option .header .menu-toggle span{background:#e0e6eb}
body.contrast-option .mobile-nav{background:#101010;border-color:#4e545a;color:#e8edf2}
body.contrast-option .header :focus-visible{outline-color:#d8e2eb}
body.contrast-option .button{font-size:16px;min-height:44px;padding:10px 18px;line-height:22px}
body.contrast-option .button.primary{background:linear-gradient(114deg,#b0bbc5 0%,#e3e9ee 29%,#fff 41%,#d3dce4 50%,#b5c0ca 69%,#f3f7fa 89%,#bfc9d3 100%);border-color:#8c99a5;color:#222e38;box-shadow:inset 0 1px #fff,inset 0 -1px #82909d40;transition:background-position .4s,border-color .2s;background-size:155% 100%;background-position:0 50%}
body.contrast-option .button.primary:hover{background-position:100% 50%;border-color:#617281}
body.contrast-option .button.primary:after{content:none}
body.contrast-option .button.outline{color:#303e49;border-color:#8a98a4}
body.contrast-option .header .button.outline{color:#eef1f5}
body.contrast-option .button.outline:hover{background:#e8edf1}
body.contrast-option .header .button.outline:hover{background:#30363c}
body.contrast-option .hero-label{display:none}
body.contrast-option .hero h1{font-weight:500}
body.contrast-option .hero-note p{color:#54616d}
body.contrast-option .route-number{color:#32414c;font-weight:500}
body.contrast-option .project-card{background:#fff;color:#29333b;border-color:#c7cfd6}
body.contrast-option .card-copy,.contrast-option .card-copy h3,.contrast-option .card-bottom strong{color:#29333b}
body.contrast-option .card-location,.contrast-option .card-subtitle,.contrast-option .card-price-note,.contrast-option .card-bottom span{color:#596671}
body.contrast-option .photo-arrow{background:linear-gradient(125deg,#aab6c0,#fff 45%,#c7d1da 65%,#eff4f8);border:1px solid #bac5ce;color:#26333f}
body.contrast-option .footer{background:#edf0f2;color:#34424d;border-top:1px solid #c3cdd5}
body.contrast-option .footer a,body.contrast-option .footer p{color:#475662}
body.contrast-option .footer .logo{background:#101010;padding:12px;width:158px;border-radius:2px}
body.contrast-option .footer-bottom{border-color:#bec8d1;color:#56636d}
body.contrast-option .footer-bottom a{color:#475662}
@media(max-width:650px){
 body.contrast-option .header-inner{height:64px;min-height:64px}
 body.contrast-option .header .mobile-catalog{display:none}
 body.contrast-option h2{font-size:32px;line-height:1.16;font-weight:500}
 body.contrast-option .route-step h3{font-size:21px;line-height:1.25}
 body.contrast-option .button{min-height:44px;font-size:16px;padding:10px 14px}
 body.contrast-option .hero h1{font-size:44px;line-height:1.06}
 body.contrast-option .hero-lead{font-size:18px;line-height:1.5}
 body.contrast-option .footer{padding-top:30px;padding-bottom:24px}
}
@media(max-width:360px){body.contrast-option .hero h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){body.contrast-option *,body.contrast-option *:before,body.contrast-option *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){body.contrast-option .button.primary{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}

@media(max-width:650px){body.contrast-option .legal-page h2{font-size:28px;overflow-wrap:anywhere}}
