/* Premium editorial route family. Kept separate so the controlled rollout can
   be screenshot-QA'd before the complete route inventory is regenerated. */
.route-page { background:#fff; color:#4a4a4a; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.route-hero { position:relative; min-height:clamp(520px,68vh,720px); display:flex; align-items:flex-end; padding:96px 32px; color:#fff; background:#0a0a0a var(--route-photo) center/cover no-repeat; isolation:isolate; }
.route-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,10,10,.82),rgba(10,10,10,.47) 58%,rgba(10,10,10,.15)); }
.route-hero-inner { width:min(1280px,100%); margin:auto; }
.route-eyebrow { margin:0 0 18px; color:inherit; font:600 12px/1.3 Inter,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.route-hero h1,.route-overview h2,.route-editorial h2 { margin:0; font-family:"Cormorant Garamond",Cormorant,Georgia,serif!important; font-weight:500!important; letter-spacing:-.03em!important; text-transform:none!important; }
.route-hero h1 { max-width:850px; color:#fff!important; font-size:clamp(52px,7vw,92px)!important; line-height:.94!important; }
.route-intro { max-width:650px; margin:28px 0 32px; color:rgba(255,255,255,.88); font-size:18px; line-height:1.65; }
.route-actions { display:flex; flex-wrap:wrap; gap:12px; }
.route-primary,.route-phone { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 25px; border-radius:4px; font:600 14px/1 Inter,sans-serif; text-decoration:none; }
.route-primary { border:1px solid #0a0a0a; background:#0a0a0a; color:#fff; }
.route-primary:hover { background:#252525; }
.route-phone { border:1px solid rgba(255,255,255,.62); background:rgba(255,255,255,.08); color:#fff; }
.route-phone:hover { background:#fff; color:#0a0a0a; }
.route-overview { padding:96px 32px; border-bottom:1px solid #e5e5e2; }
.route-overview-inner { width:min(1180px,100%); margin:auto; display:grid; grid-template-columns:minmax(260px,.75fr) 1.25fr; gap:96px; }
.route-overview .route-eyebrow,.route-editorial .route-eyebrow { color:#777; }
.route-overview h2,.route-editorial h2 { color:#0a0a0a!important; font-size:clamp(42px,5vw,60px)!important; line-height:1!important; }
.route-overview-heading>p:last-child { max-width:420px; margin-top:24px; line-height:1.7; }
.route-detail-list { margin:0; border-top:1px solid #d5d5d1; }
.route-detail { display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px; padding:22px 0; border-bottom:1px solid #e5e5e2; }
.route-detail dt { display:flex; align-items:center; gap:13px; color:#777; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.route-detail dd { margin:0; color:#0a0a0a; font-size:16px; font-weight:600; text-align:right; }
.route-detail-icon { width:22px; height:22px; color:#4a4a4a; }
.route-detail-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.route-editorial { width:min(1180px,calc(100% - 64px)); margin:auto; padding:112px 0; display:grid; grid-template-columns:1fr 1fr; gap:96px; }
.route-editorial p { margin:0 0 20px; font-size:17px; line-height:1.8; }
@media(max-width:760px){.route-hero{padding:72px 24px}.route-overview{padding:72px 24px}.route-overview-inner,.route-editorial{grid-template-columns:1fr;gap:44px}.route-editorial{width:calc(100% - 48px);padding:72px 0}.route-detail{grid-template-columns:1fr}.route-detail dd{text-align:left;padding-left:35px}}
