/* Source Sans 3, self-hosted (SIL Open Font License) — no requests to Google */
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}
/* SkyWave Cargo house style: teal header bar, white logo, photo hero with white headline + short rule, white body, teal accents.
   Single light theme on purpose (matches the brand and current site). */
:root{
  --teal:#71c9b4;        /* logo green: header bar, fills, rules */
  --teal-brand:#71c9b4;  /* logo green */
  --teal-text:#3c8674;   /* logo hue, large accent text on white (4.3:1) */
  --teal-dark:#377b6b;   /* logo hue, buttons, links, small text (5:1 on white) */
  --teal-deep:#20463d;   /* logo hue, footer ground */
  --on-teal:#0f2e28;     /* text on the logo-green bar (9:1) */
  --ink:#111111; --text:#3a3a3a; --muted:#595959;
  --bg:#ffffff; --soft:#f6f6f6; --line:#e8e6e6; --tint:#eaf7f3;
  --f-head:"Source Sans 3","Source Sans Pro","Segoe UI",Arial,sans-serif;
  --f-body:"Source Sans 3","Source Sans Pro","Segoe UI",Arial,sans-serif;
  --w:1180px; --r:8px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.125rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-dark);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--teal-dark);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:99}

h1,h2,h3{font-family:var(--f-head);color:var(--ink);line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.6vw,4rem);font-weight:600;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.6vw,2.75rem);font-weight:600;letter-spacing:-.01em}
h3{font-size:1.375rem;font-weight:600}
h2 em,h1 em{font-style:normal;color:var(--teal-text)}
.hero h1 em{color:var(--teal)}
p{margin:0;max-width:68ch}
.lede{font-size:1.25rem;color:var(--muted)}
.kicker{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-dark)}
.rule::before{content:"";display:block;width:56px;height:3px;background:currentColor;margin-bottom:1.1rem}
.stack{display:grid;gap:1.2rem}.stack-sm{display:grid;gap:.5rem}
.center{text-align:center;justify-items:center}.center p{margin-inline:auto}

/* header: teal bar like the current site */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--teal)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px}
.logo{display:block;flex:none}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:.15rem}
.nav>a,.nav summary{color:var(--on-teal);font-weight:600;text-decoration:none;padding:.5rem .8rem;font-size:1rem;border-radius:var(--r);cursor:pointer;list-style:none;white-space:nowrap}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"";display:inline-block;width:.45em;height:.45em;border-right:2px solid;border-bottom:2px solid;transform:translateY(-.2em) rotate(45deg);margin-left:.5em}
.nav>a:hover,.nav summary:hover,.nav [aria-current="page"],.nav details[open] summary{background:rgb(15 46 40 / .1)}
.nav details{position:relative}
.nav .drop{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:var(--r);padding:.4rem;display:grid;min-width:230px;box-shadow:0 14px 34px -12px rgb(0 0 0 / .3)}
.nav .drop a{color:var(--ink);text-decoration:none;padding:.55rem .75rem;border-radius:var(--r)}
.nav .drop a:hover{background:var(--tint);color:var(--teal-dark)}
.lang-switch{display:inline-flex;border:1.5px solid var(--on-teal);border-radius:99px;overflow:hidden;flex:none;font-size:.9375rem;font-weight:700;letter-spacing:.06em}
.lang-switch>*{padding:.35rem .75rem;color:var(--on-teal);text-decoration:none}
.lang-switch span{background:var(--on-teal);color:#fff}
.lang-switch a:hover{background:rgb(15 46 40 / .1)}
.nav .portal{display:inline-flex;align-items:center;gap:.4rem}
.nav .portal svg{width:22px;height:22px}
.menu-toggle{display:none}
@media (max-width:980px){
  .site-head .wrap{flex-wrap:wrap;min-height:72px}
  .logo img{height:38px}
  .menu-toggle{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1.5px solid var(--on-teal);color:var(--on-teal);font:600 1rem var(--f-body);padding:.45rem .8rem;border-radius:var(--r);cursor:pointer}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:1rem}
  .nav.open{display:flex}
  .nav .drop{position:static;box-shadow:none;background:rgb(255 255 255 / .55)}
  .nav .drop a{color:var(--on-teal)}
  .lang-switch{margin-left:auto;order:1}
  .menu-toggle{order:2}
  .nav{order:3}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--teal-dark);color:#fff;text-decoration:none;font:600 1rem var(--f-body);padding:.85rem 1.4rem;border-radius:var(--r);border:0;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--teal-deep)}
.btn.light{background:#fff;color:var(--teal-dark)}
.btn.light:hover{background:var(--tint)}
.btn.outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.btn.outline:hover{background:rgb(255 255 255 / .14)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap}

/* photo hero (homepage + subpages) */
.hero{position:relative;color:#fff;background:var(--teal-deep) center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(16 46 40 / .8) 0%,rgb(16 46 40 / .48) 55%,rgb(16 46 40 / .15) 100%);z-index:-1}
.hero picture,.hero>img{position:absolute;inset:0;z-index:-2}
.hero picture img,.hero>img{width:100%;height:100%;object-fit:cover}
.hero .wrap{padding-block:clamp(4.5rem,11vw,8.5rem)}
.hero h1{color:#fff;max-width:16ch}
.hero .rule{color:#fff}
.hero p{color:rgb(255 255 255 / .92);font-size:1.25rem;max-width:52ch}
.hero.sub .wrap{padding-block:clamp(3.5rem,8vw,6rem)}
.hero.sub h1{font-size:clamp(2.2rem,5vw,3.4rem);max-width:22ch}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.4rem;font-size:.9375rem;color:rgb(255 255 255 / .85)}
.crumbs a{color:#fff}
.crumbs li+li::before{content:"›";margin-right:.5rem}

/* sections */
section.band{padding-block:clamp(3.5rem,7vw,6rem)}
section.band.soft{background:var(--soft)}
section.band.tint{background:var(--tint)}
.sec-head{display:grid;gap:.9rem;margin-bottom:2.6rem}
.grid{display:grid;gap:1.5rem}
.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.c3,.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.c2,.c3,.c4{grid-template-columns:1fr}}

/* service cards with photo */
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgb(0 0 0 / .06),0 10px 30px -18px rgb(0 0 0 / .35);display:flex;flex-direction:column;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgb(0 0 0 / .06),0 18px 36px -18px rgb(0 0 0 / .45)}
.card .ph{aspect-ratio:16/10;overflow:hidden;max-width:100%}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .body{padding:1.4rem 1.5rem 1.6rem;display:grid;gap:.55rem;align-content:start;flex:1}
.card h3{color:var(--ink)}
.card p{color:var(--muted);font-size:1rem}
.card .more{color:var(--teal-dark);font-weight:600;margin-top:.3rem}
.card.plain .body{padding:1.6rem}

/* split with image */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split>*{min-width:0}
.split .photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%}
.split .photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.checks li{padding-left:2rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.3em;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--teal-dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* key facts */
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.8rem 2rem;margin:0}
.facts dt{font-weight:600;color:var(--ink)}
.facts dd{margin:0}
@media (max-width:560px){.facts{grid-template-columns:1fr;gap:.1rem}.facts dd{margin-bottom:.8rem}}

/* steps (real sequence) */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.4rem;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:grid;gap:.45rem;align-content:start}
.steps li::before{content:counter(s);width:2.6rem;height:2.6rem;border-radius:50%;background:var(--teal);color:var(--on-teal);font-weight:700;display:grid;place-items:center;font-size:1.125rem}
.steps p{font-size:1rem;color:var(--muted)}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* people */
.person{display:grid;grid-template-columns:150px 1fr;gap:1.5rem;align-items:start;background:#fff;border-radius:var(--r);padding:1.5rem;box-shadow:0 10px 30px -20px rgb(0 0 0 / .35)}
.person>*{min-width:0}
.person .face{width:150px;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--tint);display:grid;place-items:center;font:600 2.4rem var(--f-head);color:var(--teal-dark)}
.person .face img{width:100%;height:100%;object-fit:cover}
.person .role{color:var(--teal-dark);font-weight:600}
@media (max-width:520px){.person{grid-template-columns:1fr}.person .face{width:120px}}

/* offices */
.office{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px -20px rgb(0 0 0 / .35);display:flex;flex-direction:column}
.office .ph{aspect-ratio:16/8;max-width:100%}
.office .ph img{width:100%;height:100%;object-fit:cover}
.office .body{padding:1.5rem;display:grid;gap:.8rem}
.office address{font-style:normal}
.office .tag{display:inline-block;background:var(--tint);color:var(--teal-dark);font-weight:600;font-size:.8125rem;padding:.2rem .6rem;border-radius:99px;justify-self:start}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.4rem 1.1rem 0;font-weight:600;font-size:1.125rem;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:.75rem;font-size:1.6rem;color:var(--teal-dark);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 0 1.3rem;color:var(--muted)}

/* table */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:1rem}
th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--teal-dark);color:#fff;font-weight:600}
td:first-child{font-weight:700;color:var(--teal-dark);white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--soft)}

/* CTA band with photo */
.cta{position:relative;color:#fff;isolation:isolate;background:var(--teal-dark)}
.cta::before{content:"";position:absolute;inset:0;background:rgb(32 70 61 / .84);z-index:-1}
.cta picture{position:absolute;inset:0;z-index:-2}
.cta picture img{width:100%;height:100%;object-fit:cover}
.cta .wrap{padding-block:clamp(3.5rem,7vw,5.5rem);display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center}
.cta .wrap>*{min-width:0}
.cta h2{color:#fff}
.cta p{color:rgb(255 255 255 / .9)}
.cta .lines{display:grid;gap:.4rem;font-size:1.125rem}
.cta .lines a{color:#fff}
@media (max-width:820px){.cta .wrap{grid-template-columns:1fr}}

/* forms */
form.quote{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
form.quote .full{grid-column:1/-1}
form.quote label{display:grid;gap:.35rem;font-weight:600;font-size:1rem;color:var(--ink)}
form.quote input,form.quote select,form.quote textarea{font:inherit;font-weight:400;padding:.75rem .85rem;border:1.5px solid #cfd6d5;border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
form.quote input:focus,form.quote select:focus,form.quote textarea:focus{border-color:var(--teal-dark);outline:none;box-shadow:0 0 0 3px var(--tint)}
@media (max-width:600px){form.quote{grid-template-columns:1fr}}

/* footer */
.site-foot{background:var(--teal-deep);color:rgb(255 255 255 / .82);padding-block:3.5rem 2rem;font-size:1rem}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:2rem}
.foot-grid>*{min-width:0}
.foot-grid h2{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-brand);font-weight:600;margin-bottom:.9rem}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.foot-grid .logo img{height:44px}
.legal{margin-top:2.5rem;padding-top:1.3rem;border-top:1px solid rgb(255 255 255 / .18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;font-size:.9375rem}
.legal nav{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
.muted{color:var(--muted)}
.answer{font-size:1.25rem;color:var(--text);border-left:4px solid var(--teal);padding-left:1.1rem}

/* v5: hero quick quote, trust bar, comparison, contact card, calculator, knowledge */
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-grid>*{min-width:0}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.qq{background:#fff;color:var(--ink);border-radius:var(--r);padding:1.5rem;display:grid;gap:.85rem;box-shadow:0 20px 50px -20px rgb(0 0 0 / .5)}
.qq-title{font-weight:700;font-size:1.25rem;color:var(--ink)}
.qq label{display:grid;gap:.3rem;font-weight:600;font-size:.9375rem;color:var(--ink)}
.qq input,.qq select{font:inherit;font-weight:400;padding:.7rem .8rem;border:1.5px solid #cfd6d5;border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.qq input:focus,.qq select:focus{border-color:var(--teal-dark);outline:none;box-shadow:0 0 0 3px var(--tint)}
.qq .btn{justify-content:center}
.hero .qq p.qq-note{color:var(--muted);font-size:.9375rem}
.trust{background:var(--teal-dark);color:#fff}
.trust ul{list-style:none;margin:0;padding:1.1rem 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;font-size:1rem}
.trust strong{font-size:1.25rem;margin-right:.3rem;color:#fff}
.trust li{color:#fff}
table.compare td:first-child{color:var(--ink)}
table.compare td:last-child{color:var(--teal-dark);font-weight:600}
table.compare thead th:last-child{background:var(--teal-deep)}
.contact-card{display:flex;gap:1rem;align-items:center;background:var(--tint);border-radius:var(--r);padding:1rem;margin-top:1rem}
.contact-card img{width:84px;height:96px;object-fit:cover;border-radius:var(--r);flex:none}
.contact-card .stack-sm{gap:.15rem;min-width:0}
.contact-card a{overflow-wrap:anywhere}
.head-cta{padding:.5rem 1rem;margin-left:.4rem;font-size:1rem}
@media (max-width:980px){.head-cta{align-self:flex-start;margin:.6rem 0 0 .8rem}}
.btn.ghost-dark{background:transparent;color:var(--teal-dark);box-shadow:inset 0 0 0 2px var(--teal-dark)}
.btn.ghost-dark:hover{background:var(--tint)}
.linklist{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.linklist a{text-decoration:none;font-weight:600}
.linklist a:hover{text-decoration:underline}
.glossary dt{color:var(--teal-dark)}
.calc-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:.6rem;align-items:end;padding:.8rem 0;border-bottom:1px solid var(--line)}
.calc-row label{display:grid;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--ink)}
.calc-row input{font:inherit;padding:.6rem .6rem;border:1.5px solid #cfd6d5;border-radius:var(--r);width:100%;min-width:0;font-variant-numeric:tabular-nums}
.calc-row .rm{background:none;border:0;font-size:1.6rem;color:var(--muted);cursor:pointer;padding:.2rem .4rem}
@media (max-width:620px){.calc-row{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-row .rm{justify-self:start}}
.result{background:#fff;border-radius:var(--r);box-shadow:0 10px 30px -20px rgb(0 0 0 / .35);overflow:hidden}
.result div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--line)}
.result div:last-child{border-bottom:0}
.result strong{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.result .hl{background:var(--tint)}
.result .hl strong{color:var(--teal-dark);font-size:1.125rem}
.hero .qq p.qq-title{color:var(--ink)}
.trust ul{justify-content:center;gap:.6rem 2.2rem;font-size:1rem}
.nav .drop .drop-label{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.7rem .75rem .2rem;border-top:1px solid var(--line);margin-top:.3rem}
@media (max-width:980px){.nav .drop .drop-label{color:var(--on-teal);border-color:rgb(15 46 40 / .2)}}
.steps.steps-v{grid-template-columns:1fr;gap:.9rem}
.steps.steps-v li{grid-template-columns:2.6rem 1fr;align-items:center;gap:1rem}
.steps.steps-v li p{color:var(--text);font-size:1rem}
.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.c5 .card .body{padding:1.1rem 1.15rem 1.3rem}
.c5 .card h3{font-size:1.25rem}
.c5 .card p{font-size:1rem}
@media (max-width:1100px){.c5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.c5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.c5{grid-template-columns:1fr}}
.cta{background:var(--teal-deep)}
.cta::before{display:none}
.route-card .body{gap:.5rem}
.route-tag{font-weight:700;font-size:1.5rem;color:var(--teal-dark);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.route-tag small{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:.4rem}
.h3{font-size:1.375rem}
/* v8 mobile polish */
@media (max-width:620px){
  .c5 .card{flex-direction:row;align-items:stretch}
  .c5 .card .ph{width:120px;flex:none;aspect-ratio:auto}
  .c5 .card .body{padding:.9rem 1rem}
  .c5 .card p{font-size:.9375rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .foot-grid>div:first-child,.foot-grid>div:last-child{grid-column:1/-1}
  .site-foot{padding-block:2.5rem 1.5rem}
  section.band{padding-block:2.75rem}
  .sec-head{margin-bottom:1.6rem}
  .contact-card img{width:64px;height:76px}
}
/* v9 compact footer */
.site-foot{padding-block:2.5rem 1.5rem}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem 3rem}
.foot-brand{display:grid;gap:.6rem}
.foot-brand .logo img{height:40px}
.foot-contact{display:grid;gap:.35rem;justify-items:end;text-align:right}
.foot-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgb(255 255 255 / .18)}
.site-foot .legal{margin-top:1.2rem;padding-top:0;border-top:0;color:rgb(255 255 255 / .6)}
.site-foot .legal a{color:rgb(255 255 255 / .8)}
@media (max-width:620px){.foot-contact{justify-items:start;text-align:left}.foot-nav{gap:.5rem 1.2rem}}
.foot-contact .tel{white-space:nowrap}
.foot-contact .tel+.tel::before{content:" · "}
@media (max-width:620px){.foot-contact .tels{display:grid;gap:.35rem}.foot-contact .tel+.tel::before{content:none}}
.trust ul{gap:.6rem 1.8rem}

/* v10 type unification */
button,input,select,textarea{font-family:inherit}
.calc-row .rm{font-family:inherit}
.note{font-size:.9375rem;color:var(--muted)}
.hero p.kicker{font-size:.8125rem;max-width:none}
/* v11: align "More" links on one line in every card row */
.card .body{display:flex;flex-direction:column;gap:.55rem}
.card .more{margin-top:auto;padding-top:.4rem}
/* v12 contact page */
.contact-person .body{gap:.6rem}
.cp-head{display:flex;gap:.9rem;align-items:center}
.cp-head img{width:64px;height:72px;object-fit:cover;border-radius:var(--r);flex:none}
.cp-head div{display:grid;gap:.1rem}
.big-tel{font-size:1.375rem;font-weight:700;color:var(--teal-dark);text-decoration:none;margin-top:.4rem;overflow-wrap:anywhere}
.big-tel:hover{text-decoration:underline}
.contact-person .body > a:last-child{margin-top:auto}
details.optional summary{cursor:pointer;color:var(--teal-dark);font-weight:600}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.8rem}
@media (max-width:600px){.opt-grid{grid-template-columns:1fr}}
/* v13 route cards: tidy, aligned */
.route-card .route-tag{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.7rem;margin-bottom:.2rem;border-bottom:1px solid var(--line)}
.route-card .route-tag small{margin-left:0}
.route-card h3{font-size:1.25rem;text-wrap:nowrap}
@media (max-width:1100px){.route-card h3{text-wrap:balance}}
/* v14 slim CTA, separated from footer */
.cta{background:var(--teal-dark)}
.cta .wrap.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem;padding-block:clamp(2.2rem,4vw,3rem)}
.cta h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.cta p{color:#fff}
