/* Deliberate light interface, with a dark introduction. Loaded after app.css. */
:root{--brand:#b9f475;--brand-dark:#a5e260;--brand-tint:#edf7e5;--ink:#17241f;--steel:#627068;--paper:#f8faf7;--paper-soft:#f0f3ee;--line:#dfe6dd;--radius:12px;--radius-sm:8px;--shadow:0 4px 18px #17241f06}
body{color:var(--ink);background:var(--paper)}
button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #34844d;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:10px}
.sitehead{background:#fff;border-bottom:1px solid var(--line)}.sitehead-inner{max-width:1200px;min-height:80px;padding:0 28px;gap:24px}.brand-word{font-size:18px;letter-spacing:-.8px}.brand-word::after{background:#4e9964}.brand-row{flex-shrink:0}.sitenav{gap:4px}.sitenav a{font-size:12px;padding:30px 10px}.account-btn{border-radius:7px;background:#18382a;color:white;font-size:12px;padding:12px 17px}
.hero{padding:64px 28px 40px;background:#14291f;overflow:hidden}.hero-inner{max-width:1144px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:64px;align-items:center}.hero-tag{padding:0;border:0;background:none;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#d4dfd4;gap:9px;margin-bottom:24px}.hero-tag .dot{background:#b9f475}.hero h1{font-family:Inter,system-ui,sans-serif;font-size:clamp(40px,4.8vw,64px);letter-spacing:-2.6px;line-height:1.06;max-width:none;margin-bottom:22px}.hero h1 span{color:#b9f475}.hero p{font-size:15px;line-height:1.8;max-width:48ch;color:#bbccc0;margin-bottom:25px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-primary{border-radius:7px;padding:13px 20px;font-weight:700;font-size:13px;min-height:46px;color:#17241f;display:inline-flex;align-items:center;gap:20px;justify-content:center;border:1px solid transparent}.hero-secondary{background:transparent;color:#edf5ef;border:1px solid #64796a;border-radius:7px;padding:12px 17px;font-size:13px;min-height:46px}.hero-secondary span{margin-left:16px}.hero-secondary:hover{background:#294334}.hero-benefits{display:flex;gap:20px;margin-top:22px;font-size:11px;color:#c1d0c4}.hero-benefits span::before{content:'✓';color:#b9f475;margin-right:7px}
.hero-visual{background:#1c3328;border:1px solid #ffffff17;border-radius:16px;overflow:hidden;transform:rotate(-2deg)}.visual-kicker{padding:21px 22px 0;font-size:9px;letter-spacing:1.5px;color:#b8cabb}.hero-visual svg{width:100%;display:block;height:auto}.visual-caption{padding:0 24px 25px;display:flex;flex-direction:column;gap:10px}.visual-caption strong{font-size:18px;font-weight:600;letter-spacing:-.3px}.visual-caption>span:last-child{font-size:11px;color:#a8c1ae}.visual-status{font-size:9px;letter-spacing:1.5px;color:#b9f475}.stat-row{grid-column:1/-1;margin:34px 0 0;gap:35px;border-top:1px solid #ffffff20;padding-top:22px}.stat-row:empty{display:none}.stat-card,.stat-card.dark,.stat-card:not(.dark){background:none;border:0;padding:0;flex:initial;min-width:140px;display:flex;align-items:center;gap:10px}.stat-card b,.stat-card.dark b{color:#e9f2e9;font:600 22px Inter,system-ui;margin:0}.stat-card span,.stat-card.dark span{color:#b1c7b8;font-size:11px}
body:not([data-page="hem"]) .hero{display:none}
main{max-width:1200px;padding:44px 28px 64px}.market-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#64735f}.market-heading h2{font-size:29px;letter-spacing:-1px;margin:9px 0}.market-heading p{font-size:13px;color:var(--steel);margin:0}.map-link{font-size:12px;text-decoration:none;border-bottom:1px solid #b1c2ad;padding-bottom:6px;white-space:nowrap}.tabs{gap:4px;background:#e9eee6;border:1px solid #dce4d8;border-radius:9px;padding:4px;width:max-content;max-width:100%;margin-bottom:20px}.tab{padding:12px 22px;border:0;border-radius:6px;font-size:13px;background:transparent;color:#51624f}.tab.active{background:white;color:#18382a;box-shadow:0 2px 4px #14291f0a}.filter-row{gap:8px;margin-bottom:16px}.filter-chip{font-size:12px;border-radius:6px;padding:10px 15px;background:#fff;min-height:40px}.filter-chip.active{background:#18382a;border-color:#18382a;color:#fff}.hub-searchbar .searchcard{box-shadow:none;border:1px solid var(--line);border-radius:8px;background:#fff;grid-template-columns:1fr}.field-wrap input{font-size:14px}.toolbar{margin:19px 0}.result-count{font-size:12px;color:#63725f}.cards{gap:12px}.card{border-radius:10px;padding:22px 24px;border:1px solid var(--line);box-shadow:none;background:white}.card:hover{border-color:#93ae8a;box-shadow:0 4px 12px #17241f08}.card-route{font-family:Inter,system-ui;font-size:18px;letter-spacing:-.5px}.card-route .sep{color:#97a48f;padding:0 9px}.card-company{font-size:12px;color:#435341}.card-notes{font-size:13px;line-height:1.6;color:#64715f}.pill{font-size:10px;border-radius:4px;background:#f0f4ec;color:#4f6346}.pill.tung{background:#e9eeea;color:#2a4334}.pill.vanlig{background:#eaf4dd;color:#315726}.contact-btn{border-radius:6px;background:#f2f6ec;border:1px solid #dce7d5;color:#284024;padding:11px 16px;font-size:12px;min-height:42px}.card-date{font-size:11px;color:#5c6c55}.card-side{justify-content:space-between}.empty{border:1px dashed #c9d6c2;border-radius:10px;background:#f2f6ef;padding:38px 20px}.empty-symbol{display:block;font-size:30px;color:#5d8650;margin-bottom:15px}.empty h3{font:600 18px Inter,system-ui}.empty p{font-size:13px;line-height:1.7}.btn-ghost{border-radius:6px;min-height:42px}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;border-top:1px solid var(--line);margin-top:48px;padding-top:30px}.step-number{font-size:11px;font-weight:700;color:#58804a}.how-strip h3{font-size:15px;margin:12px 0 8px;letter-spacing:-.3px}.how-strip p{font-size:12px;line-height:1.8;color:#68755f;margin:0}.sitefooter{background:#edf2e8;border-top:1px solid var(--line)}.sitefooter-inner{max-width:1200px;padding:30px 28px}.sitefooter-links{gap:18px}.sitefooter-links a{font-size:11px}.sitefooter p{font-size:11px;line-height:1.8;max-width:760px}.article{max-width:850px}.article h1{font-family:Inter,system-ui;letter-spacing:-1px}.data-status{background:#fff3dd;border:1px solid #e8d4ac;border-radius:7px;padding:16px;color:#674d18;font-size:13px;margin-bottom:16px}.preview-notice{background:#e2edda;text-align:center;padding:9px 16px;font-size:11px;color:#284024}.sheet{background:#fff}.sheet input,.sheet select,.sheet textarea{background:#fff;color:#17241f}.map-wrap{border:1px solid var(--line)}#pageTransport>.searchbar{margin:30px auto 0;max-width:1200px;padding:0 28px}.spec-table{display:block;overflow:auto}
@media(max-width:1050px){.sitehead-inner{gap:14px}.brand-word{font-size:16px}.sitenav a{padding:30px 7px;font-size:11px}.hero-inner{column-gap:30px}.hero-actions{gap:10px}.hero-benefits{flex-wrap:wrap;gap:10px}.hero-visual{transform:none}}
@media(max-width:850px){.hamburger-btn{display:flex;order:3;border-radius:6px}.sitenav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:white;padding:10px 20px;border:1px solid var(--line);z-index:20}.sitenav.open{display:flex}.sitenav a{padding:14px 4px;font-size:14px}.account-btn{margin-left:auto}.sitehead-inner{min-height:68px}.hero{padding:42px 24px 30px}.hero-inner{gap:28px}.hero h1{font-size:43px}.hero-visual{align-self:center}.visual-kicker{line-height:1.7}.visual-caption strong{font-size:15px}.hero-benefits{font-size:10px}.market-heading h2{font-size:25px}}
@media(max-width:600px){.sitehead-inner{padding:0 16px;gap:8px;min-height:64px}.brand-word{font-size:14px;letter-spacing:-.6px}.account-btn{font-size:10px;padding:9px;min-height:40px}.hamburger-btn{width:36px;height:40px}.hero{padding:36px 20px 26px}.hero-inner{grid-template-columns:1fr;gap:25px}.hero h1{font-size:49px;letter-spacing:-2px}.hero p{font-size:14px}.hero-tag{font-size:9px;margin-bottom:20px}.hero-visual{display:none}.hero-actions{flex-direction:column}.hero-actions button{width:100%;justify-content:space-between;padding:15px 18px;text-align:left}.hero-benefits{gap:12px;font-size:10px}.stat-row{gap:20px;margin:0;padding-top:18px}.stat-card,.stat-card.dark,.stat-card:not(.dark){min-width:0;flex:1;flex-direction:column;align-items:start;gap:4px}.stat-card span,.stat-card.dark span{font-size:9px}main{padding:29px 16px 40px}.market-heading{display:block;margin-bottom:22px}.market-heading h2{font-size:26px}.market-heading p{line-height:1.6}.map-link{display:inline-block;margin-top:16px}.eyebrow{font-size:9px}.tabs{width:100%;display:flex}.tab{padding:12px 8px;flex:1;font-size:12px}.filter-row{flex-wrap:wrap;gap:6px}.filter-chip{font-size:11px;padding:9px 10px}.card{padding:19px 17px}.card-flex{flex-direction:column;gap:8px}.card-side{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.card-route{font-size:17px}.card-date{margin:0}.how-strip{grid-template-columns:1fr;gap:22px;margin-top:30px;padding-top:25px}.how-strip>div{padding-left:40px;position:relative}.step-number{position:absolute;left:0;top:12px}.how-strip p{max-width:40ch}.sitefooter-inner{padding:24px 18px}.sitefooter-links{gap:12px}.sheet{max-width:100vw}#pageTransport>.searchbar{padding:0 16px}.toolbar{gap:8px}.btn-primary{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.resource-visual{transform:none}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:22px;background:#ffffff18;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}.resource-grid>div{background:#1c3328;padding:18px 12px}.resource-grid span{display:block;color:#b9f475;font-size:11px;margin-bottom:11px}.resource-grid strong{display:block;color:#f0f5f0;font-size:15px;margin-bottom:9px}.resource-grid small{display:block;font-size:11px;line-height:1.7;color:#bbccc0}.hero-post-link{display:block;background:none;border:0;color:#d8e8d3;font-size:12px;padding:14px 0 0;text-align:left;text-decoration:underline;text-underline-offset:4px}.hero-actions .btn-primary{gap:10px}#hubBranchRow{flex-wrap:wrap}.visual-caption strong{line-height:1.4}
@media(max-width:600px){.resource-visual{display:block}.resource-grid{margin:16px}.resource-grid>div{padding:12px 8px}.resource-grid strong{font-size:13px}.resource-visual .visual-caption{display:none}.resource-visual .visual-kicker{font-size:10px;padding:16px 16px 0}.hero-benefits{margin-top:14px}}

.card-location{font-size:12px;color:#52674b;margin:12px 0 4px}

/* Leaflet map (Google/OSM route map) */
#leafletMap{width:100%;height:64vh;min-height:360px;border-radius:var(--radius);z-index:1;}
.map-wrap{position:relative;}
.pin-dot{
  border-radius:50%;border:2px solid #fff;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font:700 11px 'Archivo Expanded',Inter,sans-serif;
  box-shadow:0 1px 4px rgba(0,0,0,0.35);cursor:pointer;
}
.leaflet-pin-icon{background:transparent;border:none;}
.route-city-tooltip{background:var(--card-bg,#fff)!important;border:1px solid var(--line)!important;color:var(--ink)!important;font:700 11px Inter,sans-serif!important;padding:3px 8px!important;border-radius:6px!important;}
.pin-info-tooltip{
  background:var(--card-bg,#fff)!important;border:1px solid var(--line)!important;
  border-radius:10px!important;box-shadow:0 6px 18px rgba(0,0,0,0.14)!important;
  padding:10px 12px!important;max-width:220px;white-space:normal!important;
}
.pin-info-tooltip::before{border-top-color:var(--line)!important;}
.pin-tooltip .pin-tip-city{font:700 12px 'Archivo Expanded',Inter,sans-serif;color:var(--ink);margin-bottom:6px;}
.pin-tooltip .pin-tip-row{font-size:12px;line-height:1.4;color:var(--ink);margin-bottom:6px;}
.pin-tooltip .pin-tip-row:last-child{margin-bottom:0;}
.pin-tooltip .pin-tip-row span{color:var(--steel);}
.pin-tooltip .pin-tip-more{font-size:11px;color:var(--steel);font-style:italic;}

/* Hub page map */
#hubMap{width:100%;height:56vh;min-height:320px;border-radius:var(--radius);z-index:1;}
#hubMapWrap{position:relative;margin-bottom:14px;}
#hubMapWrap .map-hint{position:absolute;top:12px;right:12px;z-index:2;background:var(--card-bg,#fff);border:1px solid var(--line);border-radius:100px;padding:6px 12px;font-size:11px;color:var(--steel);margin:0;}
