.home-road { --road-accent:var(--brand-primary,#ff5000); width:calc(100% - 64px); max-width:1552px; margin:32px auto 48px; color:#eee; }
.home-road * { box-sizing:border-box; }
.home-road a { color:inherit; text-decoration:none; }
.road-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:24px; font-size:16px; line-height:24px; }
.road-breadcrumb [aria-current] { color:var(--road-accent); }
.road-hero { min-height:560px; padding:72px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid #303030; border-radius:24px; background:#080808 url('/static/images/home-road/hero.png') center/cover no-repeat; }
.road-badge { padding:8px 16px; border:1px solid var(--road-accent); border-radius:12px; font-size:14px; color:var(--road-accent); line-height:20px; }
.road-logo { width:355px; max-width:80%; height:auto; margin:36px 0; }
.road-hero h1 { font-size:24px; line-height:32px; margin:0 0 56px; }
.road-hero p { font-size:18px; line-height:26px; color:#aaa; margin:0 0 36px; }
.road-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.road-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 24px; min-height:44px; border:1px solid #424242; border-radius:999px; background:#1a1a1a; color:#eee; font:inherit; font-size:14px; line-height:20px; cursor:pointer; text-align:center; }
.road-button:hover { border-color:var(--road-accent); }
.road-button:focus-visible, .home-road a:focus-visible { outline:2px solid var(--road-accent); outline-offset:3px; }
.home-road .road-primary { background:var(--road-accent); border-color:var(--road-accent); color:#fff; }
.road-section { margin-top:24px; padding:30px 34px; border:1px solid #3b3b3b; border-radius:20px; background:#282828; }
.road-heading { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.road-heading img { width:44px; height:44px; object-fit:contain; }
.road-heading h2, .road-faq h2 { margin:0; font-size:24px; line-height:32px; font-weight:600; }
.road-heading > span { color:var(--road-accent); font-size:14px; }
.road-intro { margin:18px 0; font-size:16px; line-height:24px; color:#aaa; }
.road-grid { display:grid; gap:16px; }
.road-three, .road-routes { grid-template-columns:repeat(3,minmax(0,1fr)); }
.road-contacts { grid-template-columns:repeat(4,minmax(0,1fr)); }
.road-card { min-width:0; padding:24px; border-radius:16px; border:1px solid #424242; background:#333; }
.road-card h3 { margin:0; font-size:18px; line-height:26px; font-weight:600; }
.road-card p { margin:16px 0 0; font-size:14px; line-height:22px; color:#aaa; }
.road-address { display:block; margin:20px 0; font-size:24px; line-height:32px; overflow-wrap:anywhere; }
.road-routes .road-button { padding:9px 20px; }
.road-permanent { display:grid; grid-template-columns:190px minmax(0,1fr) auto; gap:20px; align-items:center; margin-top:10px; padding:18px 20px; border:1px solid #424242; border-radius:16px; background:#333; }
.road-permanent > span { color:#aaa; font-size:14px; }
.road-permanent > a:not(.road-button) { font-size:20px; overflow-wrap:anywhere; }
.road-contacts .road-card { display:flex; flex-direction:column; }
.road-contacts .road-button { margin-top:16px; padding:10px 14px; justify-content:space-between; overflow-wrap:anywhere; font-size:14px; }
.road-contacts .road-card p { flex:1; }
.road-dark-cards .road-card, .road-faq .road-card { background:#1a1a1a; border-color:transparent; }
.road-card b { margin-right:10px; color:var(--road-accent); }
.road-devices .road-recommend { color:#24ca84; }
.road-devices .road-caution { color:#d6b543; }
.road-faq .road-card { margin-top:14px; padding:20px; }
.road-faq .road-card p { margin-top:10px; }
.road-empty { color:#aaa; font-size:14px; grid-column:1/-1; }
.road-copy-status { position:fixed; z-index:2000; bottom:32px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); padding:12px 20px; border:1px solid #555; border-radius:12px; background:#282828; color:white; }
@media(max-width:1100px) { .road-contacts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .home-road { width:calc(100% - 32px); margin:20px auto 24px; }
 .road-breadcrumb { font-size:12px; line-height:18px; margin-bottom:20px; }
 .road-hero { min-height:420px; padding:56px 16px; border-radius:20px; }
 .road-badge { font-size:12px; padding:6px 10px; border-radius:8px; }
 .road-logo { width:220px; margin:26px 0; }
 .road-hero h1 { font-size:16px; line-height:24px; margin-bottom:24px; }
 .road-hero p { font-size:14px; line-height:22px; margin-bottom:24px; }
 .road-hero .road-actions { gap:10px; justify-content:center; }
 .road-button { font-size:12px; padding:10px 18px; }
 .road-section { margin-top:18px; padding:24px 16px; border-radius:18px; background:#191919; border-color:#333; }
 .road-heading { gap:8px; }
 .road-heading img { width:28px; height:28px; }
 .road-heading h2 { font-size:18px; line-height:28px; }
 .road-heading > span { font-size:12px; }
 .road-heading h2 + span { margin-left:auto; }
 .road-intro { font-size:14px; line-height:20px; margin:14px 0; }
 .road-three,.road-routes,.road-contacts { grid-template-columns:minmax(0,1fr); gap:14px; }
 .road-card { padding:20px; border-radius:14px; background:#252525; border-color:#393939; }
 .road-card h3 { font-size:16px; line-height:24px; }
 .road-address { font-size:20px; line-height:28px; margin:16px 0; }
 .road-permanent { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px; margin-top:14px; background:#252525; }
 .road-permanent > a:not(.road-button) { font-size:18px; }
 .road-permanent .road-button { border-color:var(--road-accent); color:var(--road-accent); width:100%; }
 .road-contacts .road-button { width:100%; font-size:12px; }
 .road-faq h2 { font-size:24px; }
}

/* Compact desktop scale; retain the established mobile layout. */
@media (min-width:768px) {
 .home-road { max-width:1440px; margin:24px auto 36px; }
 .road-breadcrumb { margin-bottom:20px; }
 .road-hero { min-height:440px; padding:48px 24px; border-radius:20px; }
 .road-badge { padding:6px 12px; font-size:12px; line-height:18px; border-radius:10px; }
 .road-logo { width:280px; margin:28px 0; }
 .road-hero h1 { font-size:20px; line-height:28px; margin-bottom:32px; }
 .road-hero p { font-size:16px; line-height:24px; margin-bottom:24px; }
 .road-actions { gap:10px; }
 .road-button { gap:8px; padding:9px 18px; min-height:40px; font-size:13px; line-height:20px; }
 .road-section { margin-top:20px; padding:24px 28px; border-radius:16px; }
 .road-heading { gap:10px; }
 .road-heading img { width:36px; height:36px; }
 .road-heading h2,.road-faq h2 { font-size:20px; line-height:28px; }
 .road-heading > span { font-size:12px; }
 .road-intro { margin:14px 0; font-size:14px; line-height:22px; }
 .road-grid { gap:14px; }
 .road-card { padding:20px; border-radius:14px; }
 .road-card h3 { font-size:16px; line-height:24px; }
 .road-card p { margin-top:12px; font-size:13px; line-height:20px; }
 .road-address { margin:16px 0; font-size:20px; line-height:28px; }
 .road-routes .road-button { padding:8px 16px; }
 .road-permanent { grid-template-columns:160px minmax(0,1fr) auto; gap:16px; padding:14px 16px; border-radius:14px; }
 .road-permanent > span { font-size:13px; }
 .road-permanent > a:not(.road-button) { font-size:18px; }
 .road-contacts .road-button { margin-top:14px; padding:8px 12px; font-size:13px; }
 .road-faq .road-card { margin-top:12px; padding:16px; }
 .road-faq .road-card p { margin-top:8px; }
}
