/* TransMagistral visual concept v0.3.0 — responsive, no external fonts or CSS libraries */
:root{color-scheme:light;--ink:#14252c;--muted:#5f7078;--subtle:#8d999e;--brand:#087e70;--brand-dark:#08695f;--brand-soft:#e8f4f1;--bg:#ffffff;--panel:#f5f8f8;--line:#e3eaec;--shadow:0 18px 58px rgba(22,48,54,.07);--radius:20px;--content:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-wrap:break-word}a{color:var(--brand-dark)}a:hover{text-decoration-color:var(--brand)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,5vw,4.65rem);font-weight:770}h2{font-size:clamp(1.65rem,3vw,2.45rem);font-weight:740}h3{font-size:1.14rem}.container{width:min(calc(100% - 44px),var(--content));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{font-weight:740;letter-spacing:.13em;text-transform:uppercase;font-size:.73rem;color:var(--brand)}.section{padding-block:66px}.section--soft{background:var(--panel)}.section-heading{max-width:720px;margin-bottom:27px}.section-heading p{font-size:1.08rem;color:var(--muted)}.site-head{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.head-inner{min-height:78px;display:flex;align-items:center;gap:28px}.brand-lockup{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;flex-shrink:0}.brand-lockup img{width:37px;height:46px;object-fit:contain}.brand-name{font-weight:830;letter-spacing:-.04em;font-size:1.37rem;white-space:nowrap}.head-nav{display:flex;align-items:center;gap:22px;margin-left:auto}.head-nav a{text-decoration:none;color:var(--ink);font-weight:590;font-size:.89rem}.head-nav a:hover{color:var(--brand)}.head-actions{display:flex;align-items:center;gap:10px}.hours{font-size:.75rem;color:var(--muted);white-space:nowrap;line-height:1.3;text-align:right}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:11px 21px;border-radius:12px;border:1px solid transparent;font-weight:720;line-height:1.25;text-decoration:none;text-align:center;transition:background .16s ease,transform .16s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{color:white;background:var(--brand)}.btn-primary:hover{background:var(--brand-dark);color:#fff}.btn-secondary{color:var(--ink);background:white;border-color:#d1dcde}.btn-secondary:hover{background:var(--panel)}.btn-ghost{color:var(--brand-dark);background:var(--brand-soft)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #96d8ce;outline-offset:2px}.mobile-menu{display:none}.hero{padding-block:72px 63px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:54px}.hero h1{margin:15px 0 22px}.hero p.lead{font-size:clamp(1.03rem,1.5vw,1.2rem);max-width:620px;line-height:1.7;color:var(--muted)}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-note{margin-top:16px;color:var(--muted);font-size:.85rem}.hero-art{background:linear-gradient(150deg,#eff8f5 0%,#e8f1f2 58%,#f8fbfa 100%);min-height:410px;border-radius:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(6,116,102,.09)}.hero-art:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #cddfdf;border-radius:100%;left:60%;top:30%}.hero-art:before{content:"";position:absolute;width:310px;height:310px;border:1px solid #bcd5d0;border-radius:100%;right:55%;bottom:35%}.hero-mark{position:relative;z-index:1;width:145px;height:195px;object-fit:contain;opacity:.95}.art-caption{z-index:2;position:relative;text-align:center;margin-top:16px;color:#26454b;font-size:1.07rem;font-weight:760}.art-caption small{display:block;color:#56736f;font-weight:550;font-size:.82rem;margin-top:4px}.route-chip{z-index:2;position:absolute;left:18px;bottom:20px;background:white;border:1px solid #dbe6e5;box-shadow:var(--shadow);padding:12px 17px;border-radius:14px;font-weight:730;font-size:.83rem}.route-chip.right{left:auto;right:18px;top:24px;bottom:auto}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:7px}.trust-strip{background:var(--panel);padding:24px 0;border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.trust-item{display:flex;align-items:center;gap:12px;font-weight:670;font-size:.9rem}.trust-dot{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:12px;color:var(--brand);background:#dcf0eb;font-size:1.1rem}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{display:flex;flex-direction:column;gap:20px;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--ink);min-height:213px;background:#fff;transition:transform .16s,border-color .16s,box-shadow .16s}.service-card:hover{transform:translateY(-3px);border-color:#acd7cd;box-shadow:var(--shadow);text-decoration:none}.card-icon{height:42px;width:42px;border-radius:13px;display:grid;place-items:center;color:var(--brand-dark);background:var(--brand-soft);font-weight:780;font-size:.87rem}.service-card h3{margin:0 0 6px}.service-card p{color:var(--muted);font-size:.88rem;margin:0}.card-link{margin-top:auto;color:var(--brand-dark);font-size:.9rem;font-weight:760}.route-panel{border-radius:28px;padding:42px;background:#132a2d;color:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;align-items:center}.route-panel h2{color:white;margin:8px 0 8px}.route-panel p{color:#bdd1d1}.route-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px}.field{display:flex;flex-direction:column;gap:7px}.field span{font-size:.82rem;font-weight:670}.field input,.field select,.field textarea,input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #d4dddf;border-radius:11px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand)}.route-form input{border-color:transparent}.route-form button{align-self:end}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.feature-list{list-style:none;padding:0;margin:22px 0 0}.feature-list li{margin:0 0 12px;display:flex;gap:12px;align-items:start}.feature-list li:before{content:"✓";display:grid;place-items:center;color:#087e70;background:var(--brand-soft);border-radius:8px;width:26px;height:26px;flex:0 0 26px;font-weight:900}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step-card{background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:20px}.step-card b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--brand-dark);background:var(--brand-soft);margin-bottom:17px}.step-card h3{margin-bottom:8px}.step-card p{margin:0;color:var(--muted);font-size:.9rem}.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}.faq-list summary{font-weight:690;cursor:pointer}.faq-list details p{margin:12px 0 0;color:var(--muted)}.bottom-cta{background:#eaf4f1;border-radius:25px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.bottom-cta h2{margin-bottom:10px}.bottom-cta p{margin:0;color:var(--muted)}.bottom-actions{display:flex;gap:10px;flex-wrap:wrap}.site-footer{background:#13272c;color:#eff9f7;padding:46px 0 30px;margin-top:58px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer p,.site-footer small{color:#b6c9c6}.site-footer a{color:#f1faf8;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-heading{font-weight:740;margin-bottom:12px}.footer-bottom{border-top:1px solid #3d5355;margin-top:35px;padding-top:21px;color:#acc0bd;font-size:.82rem}.mobile-actions{display:none}.page-shell{padding-top:46px}.page-shell>h1{font-size:clamp(2rem,4.3vw,3.4rem);margin-bottom:18px}.page-shell>p:first-of-type{max-width:760px;color:var(--muted);font-size:1.08rem}.page-shell section,.page-shell aside{margin:32px 0;padding:26px;border:1px solid var(--line);border-radius:18px}.page-shell section h2,.page-shell aside h2{font-size:1.55rem;margin-bottom:16px}.page-shell section p{color:#435960}.page-shell details{border-top:1px solid var(--line);padding:15px 0}.page-shell details summary{font-weight:720;cursor:pointer}.page-shell ul{padding-left:20px}.page-shell li{margin:8px 0}.page-shell form{max-width:820px}.page-shell label{display:block;font-size:.9rem;font-weight:660;margin-bottom:10px}.page-shell form p{margin-bottom:16px}.page-shell button{border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:720;padding:13px 25px}.page-shell form input[type=checkbox],.page-shell form input[type=radio]{width:auto}.page-shell fieldset{border:1px solid var(--line);border-radius:12px}.page-shell input[type=radio]+span{margin-right:9px}.page-shell section[role=status]{background:var(--brand-soft)}.page-shell a{font-weight:650}.page-shell section a{color:var(--brand-dark)}.catalog-intro{max-width:770px}.page-shell .service-card{padding:18px}.text-small{font-size:.8rem;color:var(--muted)}
@media(max-width:1060px){.head-nav{gap:12px}.head-nav a{font-size:.83rem}.head-inner{gap:15px}.hours{display:none}.hero-grid{gap:28px}.route-panel{grid-template-columns:1fr}.hero-art{min-height:340px}}
@media(max-width:800px){.container{width:min(calc(100% - 32px),var(--content))}.head-inner{min-height:68px}.head-nav{display:none}.head-actions{margin-left:auto}.head-actions>.btn{display:none}.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);font-size:1.25rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] .mobile-list{display:flex}.mobile-list{position:absolute;right:0;top:52px;width:min(84vw,320px);background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:15px}.mobile-list a{text-decoration:none;color:var(--ink);font-weight:680}.hero{padding:44px 0}.hero-grid,.split-grid{grid-template-columns:1fr}.hero-art{min-height:310px}.hero-mark{width:110px;height:144px}.trust-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:50px}.bottom-cta{flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:11px 14px calc(11px + env(safe-area-inset-bottom));z-index:40;box-shadow:0 -6px 25px rgba(17,41,43,.06)}.mobile-actions .btn{min-height:45px;font-size:.9rem;padding:10px}.site-footer{padding-bottom:103px}.page-shell{padding-top:32px}.route-form{grid-template-columns:1fr 1fr}.route-form button{grid-column:1/-1}.route-panel{padding:30px}}
@media(max-width:520px){h1{font-size:2.55rem}.brand-name{font-size:1.18rem}.brand-lockup img{width:28px;height:36px}.hero-grid{gap:30px}.hero-art{min-height:250px}.hero-mark{width:86px;height:110px}.hero p.lead{font-size:1rem}.hero-cta{display:grid;grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr 1fr;gap:10px}.service-card{min-height:200px;padding:17px;gap:13px}.service-card h3{font-size:1.02rem}.service-card p{font-size:.82rem}.trust-grid{gap:12px}.trust-item{font-size:.75rem;gap:7px}.trust-dot{width:29px;height:29px;flex-basis:29px}.route-form{grid-template-columns:1fr}.route-form button{grid-column:auto}.section{padding-block:42px}.bottom-cta{padding:26px}.bottom-actions{width:100%;display:grid;grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.page-shell section,.page-shell aside{padding:20px}.route-chip{font-size:.69rem;left:9px;bottom:10px}.route-chip.right{right:9px;top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:800px){.hero-grid,.split-grid{grid-template-columns:minmax(0,1fr)}.hero-grid>*{min-width:0}}
@media(max-width:520px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-width:0}}
@media(max-width:350px){.cards-grid{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:2.2rem}.route-chip.right{font-size:.6rem}}

/* Keep the unmodified dark mark legible in the dark footer */
.site-footer .brand-lockup img{background:#fff;border-radius:9px;padding:5px}.site-footer .brand-lockup{color:#fff}

/* v0.4.0 — approved visual direction applied to real PHP views and forms */
.skip-link{position:absolute;left:15px;top:-90px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:9px}
.skip-link:focus{top:12px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #087e70;outline-offset:3px}
.page-shell{padding-top:26px;padding-bottom:64px}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.85rem;margin:6px 0 35px}
.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--brand-dark);text-decoration:underline}
.page-intro{max-width:900px;margin-bottom:35px}
.page-intro h1{max-width:900px;font-size:clamp(2.2rem,4.8vw,3.85rem);line-height:1.13;letter-spacing:-.045em;margin:13px 0 18px}
.page-lead{max-width:790px;font-size:clamp(1.02rem,2vw,1.23rem);line-height:1.66;color:var(--muted)}
.page-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:23px}
.page-content{display:grid;gap:22px}
.page-shell .content-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,40px);box-shadow:none;margin:0}
.page-shell .editorial{background:#fff}
.page-shell .content-section h2{font-size:clamp(1.35rem,2.5vw,1.8rem);letter-spacing:-.02em;margin:0 0 18px}
.page-shell .content-section h3{margin:0 0 10px;font-size:1.12rem}
.page-shell .content-section p{line-height:1.7;margin:0 0 14px}
.page-shell .content-section p:last-child{margin-bottom:0}
.page-shell .content-section .eyebrow{font-size:.72rem}
.section-heading.compact h2{margin-top:4px}
.quiet-note{color:var(--muted);font-size:.9rem}
.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.fact{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;min-width:0}
.fact span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:5px}
.fact strong{font-size:1.08rem;line-height:1.45;overflow-wrap:anywhere}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.directory-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;min-height:185px;transition:border-color .15s, transform .15s}
.directory-card:hover{border-color:var(--brand);transform:translateY(-2px)}
.directory-card h3{font-size:1.12rem;margin:0 0 9px}
.directory-card p{font-size:.9rem;color:var(--muted);margin:0 0 18px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.directory-card>span{color:var(--brand-dark);font-weight:700;font-size:.85rem;margin-top:auto}
.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.link-grid a{color:var(--ink);text-decoration:none;display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:14px 17px;background:#fff;font-weight:650;font-size:.91rem}
.link-grid a:hover{color:var(--brand-dark);border-color:var(--brand)}
.city-search{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:26px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field span{color:var(--ink);font-size:.84rem;font-weight:700}
.field input,.field select{min-height:49px;width:100%;padding:11px 13px;border:1px solid #c7d6d9;background:#fff;border-radius:11px;color:var(--ink);font:inherit;min-width:0}
.field input:focus,.field select:focus{border-color:var(--brand)}
.swap-route{border:1px solid var(--line);background:#fff;border-radius:11px;height:49px;font-size:1.4rem;color:var(--brand-dark)}
.city-search>.btn{min-height:49px}
.faq-list{display:grid;gap:9px}
.faq-item,.case-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 17px;margin-bottom:9px}
.faq-item summary,.case-card summary{cursor:pointer;font-weight:700;line-height:1.5}
.faq-item p,.case-card p{padding-top:12px;color:var(--muted)}
.page-shell .contact-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#0f3133;border-radius:var(--radius);color:#fff;padding:clamp(25px,4vw,40px);margin-top:10px}
.contact-cta h2{color:#fff;letter-spacing:-.025em;font-size:1.8rem;margin:6px 0}
.contact-cta .eyebrow{color:#8ed4c8}
.contact-cta p{color:#d1e1e0;max-width:600px;margin:0}
.contact-cta-buttons{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}
.contact-cta .btn-secondary{background:#fff;border-color:#fff;color:var(--ink)}
.inline-link{font-weight:700;text-decoration:none;color:var(--brand-dark)}
.route-direction-label{margin:20px 0 10px;font-weight:700;color:var(--ink)}
.route-direction-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-direction-actions .btn{min-width:0;white-space:normal}
.route-more{margin-top:14px}
.route-more>summary{cursor:pointer;color:var(--brand-dark);font-weight:700;padding:12px 0}
.route-more .link-grid{margin-top:8px}
@media(max-width:620px){.route-direction-actions{grid-template-columns:minmax(0,1fr)}}
.calc-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.calc-form>.btn{margin-top:10px}
.calc-panel .quiet-note{margin:22px 0}
.calc-result{border-color:#a0d7cf!important;background:#edf8f5!important}
.estimated-cost{font-size:1.35rem;font-weight:700;line-height:1.4}
.estimated-cost strong{color:var(--brand-dark)}
@media(max-width:900px){.city-search{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.city-search>.btn{grid-column:1/-1}.page-shell .contact-cta{align-items:stretch;flex-direction:column}.contact-cta-buttons{flex-direction:row}}
@media(max-width:620px){.page-intro h1{font-size:2.25rem}.breadcrumbs{margin-bottom:23px}.page-actions{display:grid;grid-template-columns:1fr}.directory-grid,.link-grid{grid-template-columns:1fr}.facts-grid{grid-template-columns:1fr 1fr}.city-search{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}.calc-form .form-grid{grid-template-columns:1fr}.contact-cta-buttons{display:grid;grid-template-columns:1fr 1fr}.page-shell{padding-top:22px}.page-shell .content-section{padding:21px}}
@media(max-width:385px){.facts-grid{grid-template-columns:1fr}.city-search{grid-template-columns:1fr}.swap-route{width:48px;height:40px;justify-self:center}.contact-cta-buttons{grid-template-columns:1fr}}
.demo-banner{background:#103133;color:#e5f9f5;padding:8px 16px;font-size:.78rem;text-align:center;font-weight:700;letter-spacing:.012em}
.contact-form{max-width:720px;padding:24px;background:var(--panel);border-radius:var(--radius);margin:25px 0}
.contact-form label{font-weight:680}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{display:block;width:100%;max-width:100%;min-height:48px;padding:12px;border-radius:10px;border:1px solid #c7d6d9;background:#fff;margin-top:8px}
.contact-form textarea{min-height:110px}.contact-form fieldset{border:1px solid var(--line);border-radius:10px;padding:15px}
.contact-form button{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:12px 20px;font-weight:700}
.tariff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.tariff-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}
.tariff-card strong{font-size:1.3rem;color:var(--brand-dark)}
.tariff-card p{font-size:.84rem;color:var(--muted)}
@media(max-width:620px){.tariff-grid{grid-template-columns:1fr}}

/* v0.10.0 — shared visual system for the public site. */
:root{
  --ink:#172d2b;
  --muted:#526962;
  --subtle:#778d85;
  --brand:#0c7160;
  --brand-dark:#075d50;
  --brand-soft:#e4f1e9;
  --bg:#fbfcfa;
  --panel:#f1f6f2;
  --line:#dce7df;
  --shadow:0 20px 48px rgba(17,57,47,.08);
  --radius:20px;
  --content:1160px;
}
body{background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:var(--ink);letter-spacing:-.035em}
h1{font-weight:760;letter-spacing:-.045em}
h2{font-weight:730}
::selection{background:#b9ded0;color:#143a32}
.site-head{background:rgba(251,252,250,.96);border-color:var(--line)}
.head-inner{min-height:82px;gap:22px}
.brand-lockup{gap:11px}.brand-name{font-size:1.25rem;letter-spacing:-.045em}
.head-nav{gap:18px}.head-nav a{white-space:nowrap;font-size:.87rem;font-weight:650}
.head-actions .btn{white-space:nowrap}.hours{font-size:.73rem}
.btn{min-height:50px;padding:12px 20px;border-radius:11px;font-size:.92rem;font-weight:720}
.btn-primary,.btn-primary:visited{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark);color:#fff}
.btn-secondary,.btn-secondary:visited{background:#fff;color:var(--ink);border-color:#cbdad1}
.btn-secondary:hover{background:#f0f7f2;color:var(--brand-dark);border-color:#9fc9b9}
.btn[aria-disabled=true]{opacity:.64;cursor:not-allowed;transform:none}
button:disabled{opacity:.58;cursor:not-allowed;transform:none}
.eyebrow{font-size:.7rem;letter-spacing:.14em;color:var(--brand-dark)}
.section{padding-block:78px}.section--soft{background:var(--panel)}
.section-heading{margin-bottom:31px}.section-heading h2{max-width:720px;margin:10px 0 14px}
.section-heading p{max-width:650px;line-height:1.65}

.hero{padding-block:76px 78px}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:64px}
.hero h1{font-size:clamp(3rem,4.6vw,4.5rem);line-height:1.04;max-width:690px;margin:18px 0 24px}
.hero p.lead{max-width:590px;font-size:1.12rem;line-height:1.75}
.hero-cta{margin-top:29px}.hero-note{font-size:.84rem;margin:17px 0 0}
.hero-art{min-height:445px;border-radius:24px;background:radial-gradient(circle at 42% 22%,#285c4f 0,#173f37 46%,#10352e 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.hero-art:before,.hero-art:after{display:none}
.route-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.route-art-grid{fill:none;stroke:#b9dacf;stroke-width:.7;opacity:.12}
.route-art-line{fill:none;stroke:#badbc9;stroke-width:2;stroke-linecap:round;opacity:.65}
.route-art-line-soft{stroke-dasharray:3 9;stroke-width:1.5;opacity:.42}
.route-art-node{fill:#d4efe0}.route-art-ring{fill:none;stroke:#b4dbc9;stroke-width:1;opacity:.5}
.hero-brand{position:relative;z-index:1;display:flex;align-items:center;gap:15px;padding:15px 22px 15px 15px;background:#f9fcf8;border:1px solid rgba(255,255,255,.8);border-radius:17px;box-shadow:0 18px 45px rgba(2,24,20,.24)}
.hero-art .route-art{object-fit:contain}
.hero-art .hero-brand{position:absolute;left:22px;bottom:22px}
.hero-mark-box{width:68px;height:76px;display:grid;place-items:center;background:#e9f2ec;border-radius:11px}
.hero-mark{width:40px;height:52px;object-fit:contain;opacity:1}
.art-caption{margin:0;text-align:left;color:#17362e;font-size:.97rem;line-height:1.2;white-space:nowrap}
.art-caption small{font-size:.75rem;font-weight:550;color:#526e63;margin-top:7px}
.route-chip,.route-chip.right{background:rgba(248,253,248,.94);border:1px solid rgba(255,255,255,.7);color:#23443b;box-shadow:0 8px 28px rgba(2,24,20,.12);padding:10px 14px;border-radius:10px;font-size:.76rem}
.route-chip{left:22px;bottom:22px}.route-chip.right{right:22px;top:22px}
.trust-strip{background:#eaf2ec;border-color:#dae7de;padding:23px 0}
.trust-grid{gap:18px}.trust-item{font-size:.88rem;color:#25463d}.trust-dot{border-radius:10px;background:#d6ebdf;color:#0a6a58}

.cards-grid{gap:15px}.service-card{min-height:224px;padding:25px;border-color:var(--line);border-radius:16px;background:#fff;gap:17px}
.service-card:hover,.directory-card:hover{border-color:#82bba5;box-shadow:var(--shadow)}
.card-icon{height:38px;width:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark)}
.service-card h3{font-size:1.13rem;line-height:1.3}.service-card p{font-size:.91rem;line-height:1.55}
.card-link{font-size:.86rem;color:var(--brand-dark)}
.catalog-action{margin:25px 0 0}
.cargo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cargo-card{position:relative;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:23px 40px 22px 21px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s}
.cargo-card:hover{border-color:#82bba5;box-shadow:var(--shadow);transform:translateY(-2px);text-decoration:none}
.cargo-card-title{font-weight:730;line-height:1.3}.cargo-card-detail{color:var(--muted);font-size:.84rem;line-height:1.5}
.cargo-card-arrow{position:absolute;top:20px;right:19px;color:var(--brand-dark);font-weight:700}
.route-panel{background:#143a32;color:#f6fbf7;border-radius:22px;padding:42px 45px;gap:38px}
.route-panel h2{color:#fff}.route-panel p{color:#d2e4d9}.route-panel .field span{color:#e4f1e7}.route-panel .route-eyebrow{color:#b4ddc6}
.route-form input{border:1px solid transparent}.route-form input:focus{border-color:#8cc6a9}
.step-card{background:#fff;border-radius:16px;padding:26px}.step-card p{line-height:1.6}
.bottom-cta{background:#e3f0e8;border:1px solid #d2e6d9;border-radius:20px;padding:38px 42px}
.home-editorial .container{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,.62fr);gap:48px;align-items:start}
.home-editorial .editorial p{max-width:75ch;color:#415b51;line-height:1.75}
.home-editorial .editorial h2:not(:first-child){margin-top:30px}
.site-footer{background:#14322e;color:#edf7f0;padding-top:52px}
.site-footer p,.site-footer small{color:#c1d6c9}.site-footer a{color:#f3faf5}
.footer-heading{color:#fff!important}.footer-bottom{border-color:#49635a;color:#b9d0c0}

.page-shell{padding-top:30px;padding-bottom:72px}
.breadcrumbs{margin:4px 0 30px;font-size:.82rem}
.page-intro{max-width:960px;margin-bottom:38px}
.page-intro h1{max-width:900px;font-size:clamp(2.35rem,4.6vw,3.8rem);line-height:1.1;margin:15px 0 20px}
.page-lead{max-width:760px;line-height:1.72}
.page-actions{gap:10px;margin-top:25px}
.page-content{gap:18px}
.page-shell .content-section{background:var(--panel);border-color:var(--line);border-radius:18px;padding:clamp(24px,3.5vw,40px)}
.page-shell .editorial{background:#fff}
.page-shell .editorial p,.page-shell .editorial li{max-width:78ch}
.page-shell .editorial h2:not(:first-child){margin-top:32px}
.page-shell .content-section p{color:#415b51;line-height:1.72}
.page-shell section a.btn-primary,.page-shell section a.btn-primary:visited{color:#fff}
.page-shell section a.btn-secondary,.page-shell section a.btn-secondary:visited{color:var(--ink)}
.fact{padding:19px 20px;border-radius:12px}.fact span{color:var(--muted)}
.directory-card{border-radius:14px;padding:23px;min-height:185px}
.link-grid a{border-radius:10px;padding:15px 17px}
.page-shell .city-search .swap-route{background:#fff;border:1px solid var(--line);color:var(--brand-dark);padding:0}
.faq-list{gap:8px}.faq-item,.case-card{border-radius:11px;margin:0;padding:16px 18px}
.faq-item summary,.case-card summary{color:var(--ink)}
.page-shell .contact-cta{background:#143a32;border:1px solid #28564a;border-radius:18px}
.page-shell .contact-cta h2{color:#fff}
.page-shell .contact-cta p{color:#d4e7d9}
.page-shell .contact-cta .eyebrow{color:#b4ddc6}
.page-shell .contact-cta a.btn-primary,.page-shell .contact-cta a.btn-primary:visited{color:#fff;background:#0c7160}
.page-shell .contact-cta a.btn-primary:hover{color:#fff;background:#086052}
.page-shell .contact-cta a.btn-secondary{color:var(--ink);background:#fff}
.calc-result{border-color:#b5d9c3!important;background:#eaf5ed!important}
.contact-form{background:var(--panel);border:1px solid var(--line)}
.city-field{position:relative;gap:7px}
.page-shell .city-field label{margin:0;color:var(--ink);font-size:.84rem;font-weight:700}
.city-options{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:270px;overflow:auto;list-style:none;margin:5px 0 0;padding:6px!important;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(17,57,47,.16)}
.city-options[hidden]{display:none}
.page-shell .city-options li{display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 12px;border-radius:8px;cursor:pointer}
.city-options li:hover,.city-options li[aria-selected=true]{background:var(--brand-soft)}
.city-option-name{font-size:.92rem;font-weight:700;color:var(--ink)}
.city-option-region{font-size:.77rem;color:var(--muted)}
.page-shell .calc-panel .city-attribution{font-size:.76rem;color:var(--muted);line-height:1.5;margin:0 0 12px}

@media(max-width:1160px){.head-inner{gap:16px}.head-nav{gap:12px}.head-nav a{font-size:.81rem}.hours{display:none}.hero-grid{gap:38px}}
@media(max-width:900px) and (min-width:801px){
  .head-nav{display:none}.head-actions{margin-left:auto}.mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);font-size:1.25rem}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-list{position:absolute;right:0;top:52px;width:min(84vw,320px);background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:15px}
  .mobile-list a{text-decoration:none;color:var(--ink);font-weight:680}
}
@media(max-width:800px){
  .head-inner{min-height:70px}.head-nav{display:none}.brand-name{font-size:1.17rem}
  .hero{padding:48px 0 54px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}.hero h1{font-size:clamp(2.6rem,8vw,3.65rem)}
  .hero-art{min-height:340px}.hero-mark{width:40px;height:52px}
  .section{padding-block:58px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.step-card{padding:20px}.cargo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-actions{background:rgba(251,252,250,.98)}.route-panel{padding:32px}
}
@media(max-width:620px){
  .hero{padding:38px 0 45px}.hero h1{font-size:clamp(2.35rem,9vw,3rem);line-height:1.08}
  .hero p.lead{font-size:1rem;line-height:1.68}.hero-art{min-height:265px;border-radius:18px}
  .hero-brand{padding:12px;gap:10px}.hero-mark-box{width:55px;height:63px}.hero-mark{width:32px;height:42px}
  .art-caption{font-size:.85rem}.art-caption small{font-size:.7rem}
  .route-chip,.route-chip.right{font-size:.68rem;padding:8px 10px}.route-chip{left:12px;bottom:12px}.route-chip.right{right:12px;top:12px}
  .section{padding-block:48px}.section-heading{margin-bottom:25px}.cards-grid{gap:10px}
  .service-card{min-height:194px;padding:18px 15px;gap:13px}.service-card h3{font-size:1rem}.service-card p{font-size:.82rem}
  .cargo-card{min-height:128px;padding:18px 34px 18px 16px}.cargo-card-title{font-size:.92rem}.cargo-card-detail{font-size:.8rem}.cargo-card-arrow{top:15px;right:15px}
  .home-editorial .container{grid-template-columns:1fr;gap:0}.home-editorial .section-heading{margin-bottom:18px}
  .steps{grid-template-columns:1fr}.step-card{padding:22px}.route-panel{padding:26px}
  .bottom-cta{padding:26px}.page-shell{padding-top:22px;padding-bottom:54px}
  .page-intro h1{font-size:clamp(2.1rem,8vw,2.75rem)}.page-shell .content-section{padding:22px}
  .page-shell .contact-cta{padding:26px 22px}.contact-cta-buttons{grid-template-columns:1fr}
}
@media(max-width:350px){.cards-grid,.cargo-grid{grid-template-columns:1fr}.hero h1{font-size:2.15rem}.art-caption{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Contact flow: clear grouping and readable feedback on mobile. */
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:12px}
.contact-form .city-field input{margin-top:0}
.contact-form .field-optional{font-size:.85em;color:var(--muted);font-weight:500}
.contact-form fieldset{margin:0 0 16px}
.contact-form fieldset legend{padding:0 5px;font-weight:700}
.contact-form fieldset label{display:inline-flex;align-items:center;gap:8px;margin:5px 20px 5px 0}
.contact-form .consent-label{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}
.contact-form .consent-label input{flex:0 0 auto;margin-top:.35em}
.contact-form button{min-height:48px}
.contact-notice{max-width:720px;margin:24px 0;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#f5f8f6}
.contact-notice h2{font-size:1.22rem;margin:0 0 9px}
.contact-notice p:last-child{margin-bottom:0}
.contact-error{border-color:#e4c7af;background:#fff7ef}
.contact-success{border-color:#b5d9c3;background:#eaf5ed}
.calc-result{scroll-margin-top:95px}
@media(max-width:620px){.contact-form-grid{grid-template-columns:1fr}.contact-form{padding:20px}.contact-form button{width:100%}}

/* Shared city suggestions on the home route finder. */
.route-form-wrap{min-width:0}
.route-panel .city-field label{font-size:.82rem;font-weight:670;color:#e4f1e7}
.route-panel .city-options li{display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 12px;border-radius:8px;cursor:pointer}
.route-panel .city-options .city-option-name{color:var(--ink);font-size:.92rem}
.route-panel .city-options .city-option-region{color:var(--muted);font-size:.77rem;font-weight:400}
.route-panel .route-city-attribution{font-size:.76rem;line-height:1.5;margin:10px 0 0}
.route-city-attribution a{color:#d2e4d9}
.page-shell .route-search-attribution{font-size:.76rem;line-height:1.5;color:var(--muted);margin:-14px 0 22px}
.route-panel .route-directory-link{font-size:.85rem;margin:8px 0 0}
.route-panel .route-directory-link a{color:#e4f1e7;font-weight:650;text-underline-offset:3px}
/* Reference examples are separate from the characteristics of a selected vehicle. */
.vehicle-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.vehicle-example{min-width:0;background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.page-shell .vehicle-example h3{font-size:1rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 5px}
.vehicle-example span{font-size:.82rem;color:var(--muted)}
.vehicle-example strong{font-size:1.14rem;line-height:1.4;overflow-wrap:anywhere}
.page-shell .vehicle-example a{font-size:.8rem;margin-top:6px;text-underline-offset:3px}
.page-shell .vehicle-examples>.quiet-note{font-size:.87rem;margin:0;color:var(--muted)}
@media(max-width:620px){.vehicle-example-grid{grid-template-columns:1fr}}

/* Keep the benefit groups evenly spaced and use equal columns on smaller screens. */
.trust-grid{grid-template-columns:repeat(4,minmax(0,max-content));justify-content:space-between;gap:18px}
.trust-item{min-width:0;line-height:1.35}
@media(max-width:1023px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:normal;gap:18px}}
@media(max-width:520px){.trust-grid{gap:14px 12px}.trust-item{font-size:.78rem;gap:8px}}

/* Compact, crawlable cargo directory. */
.cargo-catalog{display:grid;gap:12px;margin:0 0 30px}
.cargo-group{border:1px solid #d9e7de;border-radius:18px;background:#fff;overflow:hidden}
.cargo-group summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;padding:20px 24px;cursor:pointer;list-style:none}
.cargo-group summary::-webkit-details-marker{display:none}
.cargo-group summary:hover{background:#f6faf7}
.cargo-group summary:focus-visible{outline:3px solid #96d8ce;outline-offset:-4px;border-radius:16px}
.cargo-group summary strong{display:block;font-size:1.08rem;color:var(--ink);line-height:1.3}
.cargo-group summary small{display:block;margin-top:5px;color:var(--muted);font-size:.88rem;line-height:1.4}
.cargo-group-toggle{width:36px;height:36px;flex:0 0 36px;position:relative;background:#e5f1e9;border-radius:11px}
.cargo-group-toggle:before,.cargo-group-toggle:after{content:"";position:absolute;left:11px;top:17px;width:14px;height:2px;border-radius:2px;background:#0a6a58}
.cargo-group-toggle:after{transform:rotate(90deg)}.cargo-group[open] .cargo-group-toggle:after{display:none}
.cargo-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0 24px 16px;column-gap:30px}
.cargo-group li{min-width:0;margin:0;border-top:1px solid #e8efea}
.cargo-topic{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:13px 0;color:var(--ink);text-decoration:none}
.cargo-topic:hover strong{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.cargo-topic strong{display:block;line-height:1.35;font-size:.96rem}
.cargo-topic small{display:block;color:var(--muted);font-size:.79rem;line-height:1.4;margin-top:4px}
.cargo-topic-arrow{color:var(--brand);font-size:1.15rem;flex-shrink:0}
@media(max-width:620px){.cargo-group summary{min-height:82px;padding:17px 18px}.cargo-group summary strong{font-size:1rem}.cargo-group summary small{font-size:.8rem}.cargo-group ul{grid-template-columns:1fr;padding:0 18px 10px}.cargo-topic{min-height:65px}}
.page-shell section.cargo-catalog{margin:0 0 30px;padding:0;border:0;border-radius:0}
.cargo-group{scroll-margin-top:100px}

/* The map stays quiet and legible in the compact mobile card. */
@media(max-width:620px){.hero-art .hero-brand{left:12px;bottom:12px}}

/* Optional source credits stay out of the transport-selection workflow. */
.site-footer .data-sources{margin-top:12px;max-width:760px;font-size:.75rem;line-height:1.6}
.site-footer .data-sources summary{cursor:pointer;width:fit-content;color:inherit}
.site-footer .data-sources p{margin:10px 0 0;color:inherit;font-size:inherit}
.site-footer .data-sources a{color:inherit;text-underline-offset:3px}
