/*
Theme Name: BTO — Tracking Fix
Theme URI: https://bto.bg
Author: BTO
Description: Custom high-performance theme for Българска транспортна организация.
Version: 1.2.6
Text Domain: bto
*/

:root {
  --ink: #090a28;
  --ink-2: #11164b;
  --blue: #3547c6;
  --blue-bright: #5d72ff;
  --sky: #dbe7ff;
  --ice: #f3f7ff;
  --white: #fff;
  --muted: #626a85;
  --line: rgba(10, 6, 65, .12);
  --shadow: 0 24px 70px rgba(10, 14, 65, .14);
  --radius: 28px;
  --container: min(1180px, calc(100vw - 40px));
  --font-display: "Manrope", "Arial Narrow", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: var(--container); margin-inline: auto; }
.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  clip: auto; width: auto; height: auto; margin: 0; padding: 12px 18px;
  left: 12px; top: 12px; z-index: 9999; background: var(--white);
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 0;
}
h1 { font-size: clamp(3rem, 6.2vw, 6.15rem); }
h2 { font-size: clamp(2.3rem, 4.2vw, 4.25rem); }
h3 { font-size: clamp(1.28rem, 2vw, 1.7rem); }
p { margin: 0 0 1.2rem; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px;
  color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.section-intro { max-width: 640px; color: var(--muted); font-size: 1.08rem; }
.section-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 58px; }
.section-head h2 { max-width: 740px; }
.section { padding: 112px 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 56px; padding: 0 25px; border: 1px solid transparent;
  border-radius: 999px; background: var(--blue); color: var(--white);
  font-weight: 800; transition: color .25s, transform .25s, box-shadow .25s, background .25s;
}
.btn::after { content: "↗"; font-size: 1.15rem; }
.btn:hover, .btn:focus-visible { color: var(--white); background: var(--ink); box-shadow: 0 14px 34px rgba(53,71,198,.24); }
.btn:hover { transform: translateY(-2px); }
.btn--ghost { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.btn--light { color: var(--ink); background: var(--white); }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100; padding: 18px 0;
  transition: padding .35s, background-color .4s, box-shadow .4s;
}
.site-header.is-scrolled {
  padding: 10px 0; background-color: transparent;
  box-shadow: 0 6px 22px rgba(14,20,48,.045);
}
.site-header.is-scrolled::before {
  content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.52) 58%,rgba(255,255,255,.24) 100%);
  -webkit-backdrop-filter: blur(24px) saturate(115%); backdrop-filter: blur(24px) saturate(115%);
}
.site-header .header-row { position: relative; z-index: 1; }
.site-header.is-scrolled .brand img { filter: none; }
.site-header .brand img { transition: filter .4s; }
.site-header.is-scrolled .site-nav a,
.site-header.is-scrolled .header-phone { color: var(--ink); }
.site-header.is-scrolled .header-phone small { color: var(--muted); }
.site-header.is-scrolled .site-nav a:hover,
.site-header.is-scrolled .site-nav .current-menu-item > a { color: var(--blue); }
.site-header.is-scrolled .menu-toggle { background: rgba(9,10,40,.08); }
.site-header.is-scrolled .menu-toggle span,
.site-header.is-scrolled .menu-toggle::before,
.site-header.is-scrolled .menu-toggle::after { background: var(--ink); }
.site-header.is-scrolled.is-over-dark {
  background-color: transparent; box-shadow: 0 8px 28px rgba(4,6,28,.11);
}
.site-header.is-scrolled.is-over-dark::before { background: linear-gradient(180deg,rgba(7,9,35,.62) 0%,rgba(7,9,35,.46) 58%,rgba(7,9,35,.22) 100%); }
.site-header.is-scrolled.is-over-dark .brand img { filter: brightness(0) invert(1); }
.site-header.is-scrolled.is-over-dark .site-nav a,
.site-header.is-scrolled.is-over-dark .header-phone { color: var(--white); }
.site-header.is-scrolled.is-over-dark .header-phone small { color: rgba(255,255,255,.6); }
.site-header.is-scrolled.is-over-dark .site-nav a:hover,
.site-header.is-scrolled.is-over-dark .site-nav .current-menu-item > a { color: #aebdff; }
.site-header.is-scrolled.is-over-dark .menu-toggle { background: rgba(255,255,255,.1); }
.site-header.is-scrolled.is-over-dark .menu-toggle span,
.site-header.is-scrolled.is-over-dark .menu-toggle::before,
.site-header.is-scrolled.is-over-dark .menu-toggle::after { background: var(--white); }
.bto-dark-header .site-header:not(.is-scrolled) .brand img { filter: brightness(0) invert(1); }
.bto-dark-header .site-header:not(.is-scrolled) .site-nav a,
.bto-dark-header .site-header:not(.is-scrolled) .header-phone { color: var(--white); }
.bto-dark-header .site-header:not(.is-scrolled) .header-phone small { color: rgba(255,255,255,.56); }
.bto-dark-header .site-header:not(.is-scrolled) .menu-toggle span,
.bto-dark-header .site-header:not(.is-scrolled) .menu-toggle::before,
.bto-dark-header .site-header:not(.is-scrolled) .menu-toggle::after { background: var(--white); }
.header-row { display: flex; align-items: center; gap: 36px; }
.brand { width: 185px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.site-nav { margin-left: auto; }
.site-nav ul { list-style: none; display: flex; gap: 32px; padding: 0; margin: 0; align-items: center; }
.site-nav a { font-size: 1rem; font-weight: 800; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--blue); }
.ocean-mega-item { position: relative; }
.ocean-mega-toggle {
  display: inline-flex; align-items: center; gap: 7px; padding: 0; color: inherit; border: 0; background: transparent;
  font-size: 1rem; font-weight: 800; white-space: nowrap;
}
.ocean-mega-toggle .ocean-menu-arrow { color: currentColor; font-size: .68rem; transition: transform .25s; }
.ocean-mega-toggle .ocean-menu-new { padding: 4px 7px; color: #fff; border-radius: 999px; background: var(--blue); font-size: .52rem; line-height: 1; letter-spacing: .07em; text-transform: uppercase; }
.ocean-mega-item.is-open .ocean-menu-arrow,
.ocean-mega-item:hover .ocean-menu-arrow,
.ocean-mega-item:focus-within .ocean-menu-arrow { transform: rotate(180deg); }
.site-header.is-scrolled .ocean-mega-toggle { color: var(--ink); }
.site-header.is-scrolled.is-over-dark .ocean-mega-toggle,
.bto-dark-header .site-header:not(.is-scrolled) .ocean-mega-toggle { color: var(--white); }
.site-header .ocean-mega-item.current-menu-item > .ocean-mega-toggle,
.site-header .ocean-mega-item.is-open > .ocean-mega-toggle,
.site-header .ocean-mega-toggle:hover { color: #aebdff; }
.site-header.is-scrolled:not(.is-over-dark) .ocean-mega-item.current-menu-item > .ocean-mega-toggle,
.site-header.is-scrolled:not(.is-over-dark) .ocean-mega-item.is-open > .ocean-mega-toggle,
.site-header.is-scrolled:not(.is-over-dark) .ocean-mega-toggle:hover { color: var(--blue); }
.ocean-mega-panel {
  position: fixed; z-index: 120; top: var(--header-bottom,106px); right: 16px; left: 16px;
  padding-top: 10px; visibility: hidden; opacity: 0; pointer-events: none;
  transform: translateY(-10px); transition: opacity .22s,transform .22s,visibility .22s;
}
.ocean-mega-item.is-open .ocean-mega-panel,
.ocean-mega-item:hover .ocean-mega-panel,
.ocean-mega-item:focus-within .ocean-mega-panel { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
.ocean-mega-grid {
  display: grid; grid-template-columns: 1.2fr .92fr .92fr 1fr; gap: clamp(28px,3vw,58px);
  width: 100%; max-width: 1560px; margin: 0 auto; padding: 38px 42px;
  color: var(--ink); border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: #fff;
  box-shadow: 0 28px 90px rgba(7,10,42,.22);
}
.ocean-mega-grid h2 { margin: 0 0 20px; color: #737b96; font-size: .69rem; line-height: 1.2; letter-spacing: .15em; text-transform: uppercase; }
.ocean-mega-services,.ocean-mega-links { min-width: 0; }
.ocean-service-link {
  display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 16px; align-items: start; padding: 14px 15px;
  border-radius: 12px; transition: background .2s;
}
.ocean-service-link + .ocean-service-link { margin-top: 6px; }
.ocean-service-link:hover,.ocean-service-link--featured { color: var(--ink) !important; background: #f0f3ff; }
.ocean-service-link > b { display: grid; width: 58px; height: 58px; place-items: center; color: var(--blue); border-radius: 12px; background: #e8edff; font-size: .84rem; }
.ocean-service-link--featured > b { color: var(--white); background: var(--blue); }
.ocean-service-link strong,.ocean-service-link small { display: block; }
.ocean-service-link strong { color: var(--ink); font: 800 1rem/1.25 var(--font-display); }
.ocean-service-link small { margin-top: 5px; color: var(--muted); font-size: .73rem; font-weight: 500; line-height: 1.45; }
.ocean-mega-links { display: grid; align-content: start; }
.ocean-mega-links a { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; color: var(--ink) !important; border-bottom: 1px solid rgba(20,31,84,.1); font-size: .82rem; font-weight: 750; line-height: 1.35; }
.ocean-mega-links a:hover { color: var(--blue) !important; }
.ocean-mega-links a span { flex: 0 0 auto; color: var(--blue); }
.ocean-tracking-card { min-width: 0; padding: 28px; color: var(--white); border-radius: 12px; background: linear-gradient(145deg,#090a2d,#151b63); }
.ocean-tracking-head { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.ocean-tracking-head > span { color: #aebcff; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ocean-tracking-head > b { flex: 0 0 auto; padding: 7px 9px; color: #fff; border: 1px solid rgba(174,188,255,.25); border-radius: 8px; background: rgba(94,116,224,.2); font-size: .52rem; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.ocean-tracking-card h2 { margin: 16px 0 12px; color: var(--white); font-size: clamp(1.45rem,2vw,2rem); letter-spacing: -.04em; text-transform: none; }
.ocean-tracking-card p { margin-bottom: 20px; color: rgba(255,255,255,.62); font-size: .76rem; line-height: 1.55; }
.ocean-tracking-card form > div,.ocean-tracking-soon > div { display: grid; grid-template-columns: minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(83,99,210,.16); }
.ocean-tracking-card input { min-width: 0; padding: 13px 14px; color: var(--white); border: 0; background: transparent; outline: 0; font-size: .73rem; }
.ocean-tracking-card input::placeholder { color: rgba(255,255,255,.46); }
.ocean-tracking-card form button,.ocean-tracking-soon button { padding: 0 15px; color: rgba(255,255,255,.58); border: 0; background: transparent; font-size: .72rem; font-weight: 750; }
.ocean-tracking-card input:disabled,.ocean-tracking-soon button:disabled { cursor: not-allowed; opacity: .72; }
.ocean-tracking-card form small,.ocean-tracking-soon small { display: block; min-height: 19px; margin: 8px 2px 0; color: #aebcff; font-size: .62rem; }
.ocean-tracking-card .btn { width: 100%; min-height: 48px; margin-top: 8px; color: var(--ink) !important; font-size: .76rem; }
.header-phone { font-size: 1rem; font-weight: 800; white-space: nowrap; }
.menu-toggle { display: none; border: 0; background: none; width: 44px; height: 44px; padding: 10px; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after {
  content: ""; display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--ink); transition: .25s;
}

.hero {
  position: relative; min-height: 760px; padding: 145px 0 95px; overflow: hidden;
  color: var(--white); background: #090a28;
}
.hero::before {
  content: ""; position: absolute; z-index: 1; inset: 0; opacity: .09; pointer-events: none;
  background-image: url("assets/images/logo.svg"); background-size: 235px auto;
  background-repeat: repeat; transform: rotate(-12deg) scale(1.18); filter: grayscale(1) brightness(5);
  mask-image: linear-gradient(90deg, #000, transparent 48%);
}
.hero::after { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg,rgba(5,7,31,.94) 0%,rgba(8,12,45,.8) 48%,rgba(8,12,40,.38) 100%),linear-gradient(0deg,rgba(6,8,31,.75),transparent 55%); }
.hero-video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.hero-grid { position: relative; z-index: 2; display: flex; min-height: 520px; align-items: center; justify-content: space-between; gap: 70px; }
.hero-copy { position: relative; z-index: 2; padding-bottom: 42px; }
.hero .eyebrow { color: #b8c7ff; }
.hero h1 { max-width: 1100px; font-size: clamp(2.9rem,4.85vw,4.9rem); }
.hero h1 .hero-line { display: block; color: inherit; white-space: nowrap; }
.hero h1 .hero-line--accent { color: #9fb5ff; }
.hero-lead { max-width: 600px; margin: 30px 0 36px; color: rgba(255,255,255,.76); font-size: clamp(1rem,1.4vw,1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-context { align-self: flex-end; display: grid; grid-template-columns: 10px 1fr auto; gap: 14px; align-items: center; min-width: 330px; margin-bottom: 80px; padding: 18px 20px; color: var(--ink); background: rgba(255,255,255,.93); border-radius: 16px; box-shadow: 0 22px 60px rgba(0,0,0,.24); backdrop-filter: blur(16px); }
.hero-context-dot { width: 10px; height: 10px; background: #39b66f; border-radius: 50%; box-shadow: 0 0 0 6px rgba(57,182,111,.13); }
.hero-context strong,.hero-context small { display: block; }.hero-context strong { font: 800 .87rem var(--font-display); }.hero-context small { margin-top: 3px; color: var(--muted); font-size: .7rem; }.hero-context b { color: var(--blue); font: 800 1.1rem var(--font-display); }
.hero-visual { position: relative; width: 100%; min-width: 0; }
.hero-visual::before {
  content: ""; position: absolute; width: 76%; height: 62%; right: 4%; bottom: -6%;
  background: var(--blue-bright); filter: blur(80px); opacity: .28;
}
.hero-visual img {
  position: relative; width: 100%; height: 520px; object-fit: cover;
  border-radius: 36px; box-shadow: 0 35px 90px rgba(0,0,0,.38);
}
.hero-visual-badge {
  position: absolute; z-index: 2; left: -32px; bottom: 30px; width: 155px; height: 155px;
  display: grid; place-content: center; text-align: center; border-radius: 50%;
  background: rgba(255,255,255,.94); color: var(--ink); box-shadow: var(--shadow);
}
.hero-visual-badge strong { display: block; font: 800 2.15rem/1 var(--font-display); }
.hero-visual-badge span { max-width: 120px; font-size: .77rem; line-height: 1.35; font-weight: 700; margin-top: 8px; }
.hero-stats {
  position: absolute; inset: auto 0 0; z-index: 3; border-top: 1px solid rgba(255,255,255,.18);
}
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 24px 25px; border-right: 1px solid rgba(255,255,255,.18); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font: 800 1.85rem/1.1 var(--font-display); }
.stat span { color: rgba(255,255,255,.62); font-size: .78rem; }

.trust-strip { border-bottom: 1px solid var(--line); }
.trust-row { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); align-items: center; min-height: 118px; }
.trust-row > * { padding: 22px 28px; border-right: 1px solid var(--line); }
.trust-row > *:last-child { border: 0; }
.trust-label { color: var(--muted); font-size: .77rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.trust-name { font: 800 1rem var(--font-display); text-align: center; color: #727991; filter: grayscale(1); }

.partners-section { padding: 90px 0 100px; overflow: hidden; background: linear-gradient(180deg,#fff,#f5f7fb); border-bottom: 1px solid var(--line); }
.shipment-tracker { overflow: hidden; padding: 0; scroll-margin-top: 118px; color: var(--white); background: radial-gradient(circle at 83% 12%,rgba(86,106,237,.48),transparent 34%),linear-gradient(125deg,#090a28,#121b60 68%,#2639ad); }
.tracker-widget { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(45px,7vw,100px); align-items: center; overflow: visible; padding: clamp(48px,6vw,78px) 0; color: var(--white); }
.tracker-widget::before { content: ""; position: absolute; right: -95px; bottom: -185px; width: 390px; height: 390px; background: url("assets/images/logo.svg") center/contain no-repeat; filter: brightness(0) invert(1); opacity: .035; }
.tracker-copy,.tracker-action { position: relative; z-index: 1; }
.tracker-copy { padding: 0; }
.tracker-copy .eyebrow { color: #aebcff; }
.tracker-copy h2 { max-width: 480px; margin: 14px 0 13px; font-size: clamp(2.15rem,3.55vw,3.55rem); line-height: 1.02; letter-spacing: -.055em; }
.tracker-copy p { max-width: 455px; color: rgba(255,255,255,.63); }
.tracker-action { min-width: 0; }
.tracker-form { padding: 10px; border: 1px solid rgba(255,255,255,.5); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 20px 55px rgba(0,0,0,.2); transition: border-color .25s,box-shadow .25s,transform .25s; }
.tracker-form:focus-within { border-color: #9facff; box-shadow: 0 22px 65px rgba(0,0,0,.25),0 0 0 4px rgba(135,152,255,.16); transform: translateY(-2px); }
.tracker-field { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 8px; align-items: center; }
.tracker-field > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--blue); border-radius: 13px; background: var(--sky); font: 850 .66rem/1 var(--font-display); letter-spacing: .05em; }
.tracker-field input { width: 100%; min-width: 0; padding: 15px 10px; color: var(--ink); border: 0; outline: 0; background: transparent; font: 750 1rem/1 var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.tracker-field input::placeholder { color: #9aa3b8; font-weight: 600; letter-spacing: 0; text-transform: none; }
.tracker-field .btn { min-width: 154px; border: 0; white-space: nowrap; }.tracker-field .btn:disabled { opacity: .58; cursor: wait; }
.tracker-form > small { display: block; padding: 7px 12px 2px 50px; color: var(--muted); font-size: .64rem; }
.tracker-result { margin-top: 12px; padding: 24px; border: 1px solid rgba(25,38,82,.09); border-radius: 24px; background: #fff; box-shadow: 0 16px 48px rgba(18,28,65,.07); }
.tracker-result[hidden] { display: none; }
.tracker-result.is-loading { display: flex; min-height: 105px; align-items: center; justify-content: center; gap: 14px; color: var(--muted); }
.tracker-spinner { width: 20px; height: 20px; border: 2px solid #dce2f0; border-top-color: var(--blue); border-radius: 50%; animation: trackerSpin .7s linear infinite; }
@keyframes trackerSpin { to { transform: rotate(360deg); } }
.tracker-result-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.tracker-result-head span small,.tracker-result-head span strong { display: block; }.tracker-result-head small { margin-bottom: 3px; color: var(--muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .09em; }.tracker-result-head strong { font: 800 1rem/1 var(--font-display); letter-spacing: .04em; }.tracker-result-head > b { padding: 8px 13px; color: #147047; border-radius: 999px; background: #e0f7eb; font-size: .7rem; }
.tracker-timeline { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.tracker-timeline li { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 10px; min-height: 54px; }
.tracker-timeline li:not(:last-child)::after { content: ""; position: absolute; left: 5px; top: 16px; bottom: 0; width: 2px; background: #dce2ef; }
.tracker-timeline i { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 3px; border: 3px solid #fff; border-radius: 50%; background: #aab4c8; box-shadow: 0 0 0 2px #dce2ef; }
.tracker-timeline .is-current i { background: #45bd82; box-shadow: 0 0 0 2px #bdebd3,0 0 16px rgba(69,189,130,.35); }
.tracker-timeline strong,.tracker-timeline small { display: block; }.tracker-timeline strong { font-size: .78rem; }.tracker-timeline small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.tracker-result.is-error { display: block; border-color: rgba(174,55,72,.18); background: #fff8f8; }.tracker-result.is-error p { color: #743644; font-size: .78rem; }.tracker-result.is-error p strong { display: block; margin-bottom: 3px; color: #8c2735; }
.tracker-result.is-success { padding: 0; overflow: hidden; color: var(--ink); border-radius: 12px; }
.tracker-result.status-created .tracker-result-head > b { color: #58637a; background: #eef1f6; }
.tracker-result.status-pickedup .tracker-result-head > b,
.tracker-result.status-transit .tracker-result-head > b { color: #274abf; background: #e8edff; }
.tracker-result.status-delivery .tracker-result-head > b { color: #9a5a12; background: #fff1dc; }
.tracker-result.status-exception .tracker-result-head > b,
.tracker-result.status-cancelled .tracker-result-head > b { color: #9a3141; background: #fdebee; }
.tracker-result.is-success .tracker-result-head { padding: 20px 22px; }
.tracker-eta { display: grid; grid-template-columns: 1fr auto; gap: 3px 20px; padding: 20px 22px 4px; }
.tracker-eta small { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tracker-eta strong { grid-row: 2; font: 800 1.3rem/1.2 var(--font-display); }
.tracker-eta span { grid-column: 2; grid-row: 1 / span 2; max-width: 185px; align-self: center; color: var(--muted); font-size: .62rem; line-height: 1.45; text-align: right; }
.tracker-progress { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 24px 18px 10px; padding: 0; list-style: none; }
.tracker-progress::before { content: ""; position: absolute; top: 7px; right: 10%; left: 10%; height: 2px; background: #e1e5ee; }
.tracker-progress li { position: relative; z-index: 1; display: grid; gap: 9px; justify-items: center; color: #929aab; font-size: .57rem; font-weight: 700; line-height: 1.25; text-align: center; }
.tracker-progress i { display: block; width: 16px; height: 16px; border: 4px solid #fff; border-radius: 50%; background: #ccd2df; box-shadow: 0 0 0 2px #dfe4ed; }
.tracker-progress .is-done,.tracker-progress .is-current { color: var(--ink); }
.tracker-progress .is-done i { background: var(--blue); box-shadow: 0 0 0 2px #aebaff; }
.tracker-progress .is-current i { background: #45bd82; box-shadow: 0 0 0 2px #bdebd3,0 0 16px rgba(69,189,130,.35); }
.tracker-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--line); }
.tracker-details > div { min-width: 0; padding: 15px 18px; background: #f8f9fc; }
.tracker-details small,.tracker-details strong { display: block; }
.tracker-details small { margin-bottom: 5px; color: var(--muted); font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tracker-details strong { overflow-wrap: anywhere; font-size: .7rem; }
.tracker-live { padding: 20px 22px 22px; border-bottom: 1px solid var(--line); background: linear-gradient(145deg,#f7f9ff,#fff); }
.tracker-live-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 12px; }
.tracker-live-head > span { display: flex; align-items: center; gap: 8px; font-size: .74rem; }
.tracker-live-head > span i,.tracker-live-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #45bd82; box-shadow: 0 0 0 5px rgba(69,189,130,.12); }
.tracker-live-head > small { color: var(--muted); font-size: .57rem; }
.tracker-live > p { margin: -3px 0 12px; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.tracker-map { width: 100%; height: 245px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #eef1f7; }
.tracker-map .leaflet-control-attribution { font-size: 9px; }
.tracker-map-pin { display: grid; width: 34px; height: 40px; place-items: center; color: #fff; border-radius: 50% 50% 50% 8px; background: var(--ink); box-shadow: 0 5px 18px rgba(9,10,40,.3); transform: rotate(-45deg); }
.tracker-map-pin::first-letter { transform: rotate(45deg); }
.tracker-map-vehicle { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; border: 3px solid #fff; border-radius: 11px; background: var(--blue); box-shadow: 0 6px 18px rgba(25,39,120,.32); font-size: .8rem; }
.tracker-history { padding: 0 22px; }
.tracker-history summary { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; cursor: pointer; font-size: .72rem; font-weight: 800; list-style: none; }
.tracker-history summary::-webkit-details-marker { display: none; }
.tracker-history summary span { color: var(--blue); transition: transform .2s; }
.tracker-history[open] summary span { transform: rotate(180deg); }
.tracker-history .tracker-timeline { margin-top: 0; padding-top: 4px; border-top: 1px solid var(--line); }
.tracker-history:not([open]) > .tracker-timeline { display: none; }
.tracker-checked { display: flex; gap: 8px; align-items: center; padding: 13px 22px; color: var(--muted); border-top: 1px solid var(--line); background: #fafbfc; font-size: .56rem; }
.tracker-checked .tracker-live-dot { width: 6px; height: 6px; box-shadow: none; }
.partners-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; margin-bottom: 52px; }
.partners-heading h2 { max-width: 700px; margin-top: 17px; font-size: clamp(2.35rem,4vw,4rem); line-height: 1.03; letter-spacing: -.05em; }
.partners-heading > p { max-width: 520px; color: var(--muted); font-size: 1.03rem; line-height: 1.7; }
.partner-logo-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.partner-logo-grid figure { position: relative; display: grid; min-width: 0; min-height: 160px; margin: 0; padding: 8px; place-items: center; overflow: visible; background: transparent; transition: transform .3s; }
.partner-logo-grid figure:hover { z-index: 1; transform: translateY(-4px); }
.partner-logo-grid img { display: block; width: 100%; height: 160px; object-fit: contain; object-position: center; filter: grayscale(1); opacity: .68; transition: opacity .3s,filter .3s,transform .3s; }
.partner-logo-grid figure:hover img { opacity: .92; transform: scale(1.035); }

.home-insights { background: #f4f6fa; }
.home-insights-head { align-items: end; }
.home-insights-intro { max-width: 520px; }
.home-insights-intro p { margin-bottom: 20px; color: var(--muted); line-height: 1.7; }
.home-articles-grid .article-card { background: rgba(255,255,255,.86); }
.home-articles-grid .article-card-media { height: 260px; }
.home-articles-grid .article-card-body { min-height: 245px; }
.home-faq { position: relative; overflow: hidden; background: linear-gradient(145deg,#fff,#f0f4ff); }
.home-faq::before { content: "?"; position: absolute; right: -20px; bottom: -130px; color: rgba(53,71,198,.035); font: 800 35rem/1 var(--font-display); }
.home-faq-grid { position: relative; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px,8vw,130px); align-items: start; }
.home-faq-heading { position: sticky; top: 130px; }
.home-faq-heading h2 { margin: 18px 0 24px; font-size: clamp(2.7rem,5vw,5rem); line-height: .98; letter-spacing: -.055em; }
.home-faq-heading > p { max-width: 470px; margin-bottom: 32px; color: var(--muted); line-height: 1.75; }
.home-faq .faq-list { max-width: none; margin: 0; }
.home-faq .faq-list summary { padding: 29px 0; font-size: 1.18rem; }

.services { background: linear-gradient(180deg,var(--white),var(--ice)); }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.service-card {
  position: relative; min-height: 370px; padding: 38px; overflow: hidden;
  border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.78);
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.service-card:hover { transform: translateY(-6px); border-color: rgba(53,71,198,.36); box-shadow: var(--shadow); }
.service-card:nth-child(2) { background: linear-gradient(145deg,#e6edff,#fff); }
.service-card:nth-child(3) { background: linear-gradient(145deg,var(--ink-2),var(--blue)); color: var(--white); }
.service-card:nth-child(3) p { color: rgba(255,255,255,.72); }
.service-no { color: var(--blue); font: 800 .78rem var(--font-display); letter-spacing: .1em; }
.service-card h3 { margin: 80px 0 18px; max-width: 420px; font-size: clamp(1.7rem,3vw,2.7rem); }
.service-card p { max-width: 480px; color: var(--muted); }
.service-link { position: absolute; right: 30px; bottom: 30px; width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 1.35rem; }
.service-pattern { position: absolute; width: 132px; height: auto; right: 28px; top: 28px; object-fit: contain; opacity: .075; }
.service-card:nth-child(3) .service-pattern { filter: brightness(0) invert(1); opacity: .11; }

/* Scroll-built services carton */
.services-scroll-layout { --carton-progress: .055; --fold-base: .55; --fold-back: .065; --fold-sides: 0; --fold-front: 0; --inside-opacity: 0; --reveal-flaps: 0; --fold-flaps: 0; --fold-tape: 0; display: grid; grid-template-columns: minmax(420px,1.12fr) minmax(380px,.88fr); gap: clamp(48px,6vw,92px); align-items: start; }
.services-sticky { position: sticky; top: 118px; z-index: 2; display: flex; min-height: calc(100vh - 155px); align-self: start; flex-direction: column; justify-content: space-between; padding-bottom: 12px; }
.services-copy { max-width: 540px; }
.services-copy h2 { margin: 18px 0 24px; }
.services-copy .section-intro { max-width: 520px; }
.services-scroll-layout .service-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.services-scroll-layout .service-card { min-height: min(68vh,620px); padding: clamp(34px,4vw,62px); border-radius: 30px; }
.services-scroll-layout .service-card h3 { margin-top: 0; padding-top: 76px; }

.carton-wrap { width: min(100%,480px); margin-top: 38px; margin-right: auto; }
.carton-stage { position: relative; height: clamp(245px,27vw,330px); perspective: 900px; perspective-origin: 50% 45%; }
.carton { position: absolute; left: 50%; bottom: 48px; width: 230px; height: 155px; transform-style: preserve-3d; transform: translateX(-50%) rotateX(-7deg) rotateY(-24deg) translateY(calc(28px * (1 - var(--fold-base)))) scale(calc(.9 + .1 * var(--fold-base))); opacity: calc(.18 + .82 * var(--fold-base)); }
.carton-face,.carton-flap { position: absolute; box-sizing: border-box; background: linear-gradient(145deg,#dca860,#bd7e36); border: 1px solid rgba(89,50,12,.28); transform-style: preserve-3d; backface-visibility: visible; }
.carton-face--bottom,.carton-inside { position: absolute; left: 0; bottom: -65px; width: 230px; height: 130px; transform: rotateX(90deg); }
.carton-face--bottom { background: linear-gradient(145deg,#ad6c2c,#8f521e); border: 1px solid rgba(89,50,12,.3); }
.carton-inside { bottom: 88px; z-index: -1; background: radial-gradient(ellipse at center,rgba(50,27,7,.72),rgba(88,48,13,.94)); opacity: var(--inside-opacity); transform: rotateX(90deg) translateZ(-2px); }
.carton-face--front,.carton-face--back { left: 0; width: 230px; height: 155px; transform-origin: bottom; }
.carton-face--front { bottom: 0; padding: 25px 25px; transform: translateZ(65px) rotateX(calc(-78deg * (1 - var(--fold-front)))); box-shadow: inset 0 0 35px rgba(91,47,8,.1); }
.carton-face--back { bottom: 0; transform: translateZ(-65px) rotateY(180deg) rotateX(calc(78deg * (1 - var(--fold-back)))); }
.carton-face--left,.carton-face--right { bottom: 0; width: 130px; height: 155px; transform-origin: bottom; background: linear-gradient(145deg,#c98e48,#aa6929); }
.carton-face--left { left: 0; transform: translateX(-65px) rotateY(90deg) rotateX(calc(82deg * (1 - var(--fold-sides)))); }
.carton-face--right { right: 0; transform: translateX(65px) rotateY(-90deg) rotateX(calc(-82deg * (1 - var(--fold-sides)))); }
.carton-mark { display: block; color: rgba(66,37,10,.66); font: 900 1.55rem/1 Manrope,sans-serif; font-style: normal; letter-spacing: -.05em; }
.carton-face--front span { position: absolute; left: 25px; bottom: 22px; color: rgba(66,37,10,.58); font: 800 .52rem/1 Manrope,sans-serif; letter-spacing: .12em; }
.carton-flap { top: -64px; width: 50%; height: 66px; transform-origin: bottom; background: linear-gradient(#e2ae68,#c88940); opacity: var(--reveal-flaps); }
.carton-flap--front { left: 0; width: 100%; transform: translateZ(65px) rotateX(calc(94deg * var(--fold-flaps))); }
.carton-flap--back { left: 0; width: 100%; transform: translateZ(-65px) rotateX(calc(-94deg * var(--fold-flaps))); }
.carton-flap--left { left: -65px; width: 130px; transform: rotateY(90deg) translateZ(65px) rotateX(calc(90deg * var(--fold-flaps))); }
.carton-flap--right { right: -65px; width: 130px; transform: rotateY(-90deg) translateZ(65px) rotateX(calc(90deg * var(--fold-flaps))); }
.carton-tape { position: absolute; left: 101px; top: -130px; width: 28px; height: 130px; background: rgba(238,211,151,.82); transform: translateZ(66px) rotateX(90deg); transform-origin: bottom; opacity: var(--fold-tape); }
.carton-shadow { position: absolute; left: 50%; bottom: 22px; width: 270px; height: 48px; border-radius: 50%; background: rgba(16,22,50,.2); filter: blur(16px); transform: translateX(-50%) scale(calc(.7 + .3 * var(--carton-progress))); opacity: calc(.18 + .5 * var(--carton-progress)); }

.feature-split { display: grid; grid-template-columns: 1.02fr .98fr; gap: 76px; align-items: center; }
.feature-media { position: relative; }
.feature-media img { min-height: 620px; width: 100%; object-fit: cover; border-radius: var(--radius); }
.feature-card {
  position: absolute; right: -34px; bottom: 36px; max-width: 270px; padding: 24px;
  border-radius: 20px; background: var(--white); box-shadow: var(--shadow);
}
.feature-card strong { display: block; font: 800 1.1rem var(--font-display); margin-bottom: 8px; }
.feature-card span { color: var(--muted); font-size: .83rem; }
.checks { list-style: none; padding: 0; margin: 38px 0; display: grid; gap: 22px; }
.checks li { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; }
.check-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--sky); color: var(--blue); font-weight: 900; }
.checks strong { display: block; font-family: var(--font-display); margin-bottom: 3px; }
.checks span { color: var(--muted); font-size: .9rem; }

.process { color: var(--white); background: var(--ink); overflow: hidden; }
.process .eyebrow { color: #9fb5ff; }
.process .section-intro { color: rgba(255,255,255,.6); }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); counter-reset: steps; }
.process-step { position: relative; padding: 36px 26px 10px 0; border-top: 1px solid rgba(255,255,255,.2); counter-increment: steps; }
.process-step::before { content: "0" counter(steps); display: block; color: #9fb5ff; font: 800 .8rem var(--font-display); margin-bottom: 55px; }
.process-step::after { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-bright); box-shadow: 0 0 0 8px rgba(93,114,255,.15); }
.process-step h3 { margin-bottom: 14px; }
.process-step p { color: rgba(255,255,255,.58); font-size: .9rem; }

/* Connected route — homepage process */
.process-route { --route-progress: 0; position: relative; height: 560px; margin-top: 25px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; background: radial-gradient(circle at 50% 45%,rgba(67,84,210,.18),transparent 48%),rgba(255,255,255,.025); }
.process-route::before { content: "БТО / ПОСЛЕДНА МИЛЯ"; position: absolute; right: 30px; bottom: 22px; color: rgba(255,255,255,.12); font: 800 .64rem/1 var(--font-display); letter-spacing: .16em; }
.process-route-line { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.process-route-line path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.process-route-base { stroke: rgba(255,255,255,.13); stroke-width: 3; stroke-dasharray: .012 .018; }
.process-route-active { stroke: url("#route-gradient"); stroke: #7890ff; stroke-width: 4; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--route-progress)); filter: drop-shadow(0 0 8px rgba(105,128,255,.75)); }
.process-node { position: absolute; z-index: 2; width: 0; height: 0; opacity: .42; transition: opacity .35s,filter .35s; }
.process-node--1 { left: 6%; top: 60.8%; }
.process-node--2 { left: 31%; top: 33.5%; }
.process-node--3 { left: 55.5%; top: 66.2%; }
.process-node--4 { left: 94.1%; top: 55%; }
.process-dot { position: absolute; left: 0; top: 0; display: grid; width: 62px; height: 62px; place-items: center; padding: 0; color: #cdd5ff; border: 2px solid rgba(157,174,255,.46); border-radius: 50%; background: #111744; box-shadow: 0 0 0 10px rgba(88,108,226,.08); transform: translate(-50%,-50%) scale(.82); transition: .35s; }
.process-dot::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #8094ff; opacity: 0; box-shadow: 0 0 18px #8094ff; transition: .3s; }
.process-dot span { font: 800 .7rem/1 var(--font-display); letter-spacing: .06em; transition: opacity .25s; }
.process-node-card { position: absolute; left: 0; bottom: 48px; width: 245px; padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(18,24,70,.78); box-shadow: 0 18px 48px rgba(0,0,0,.18); backdrop-filter: blur(15px); transform: translateX(-18%); transition: transform .35s,border-color .35s,background .35s; }
.process-node--below .process-node-card { top: 48px; bottom: auto; }
.process-node--4 .process-node-card { transform: translateX(-82%); }
.process-node-card small { color: #91a3ff; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.process-node-card h3 { margin: 9px 0 10px; font-size: 1.35rem; }
.process-node-card p { color: rgba(255,255,255,.58); font-size: .78rem; line-height: 1.55; }
.process-node.is-active { opacity: 1; }
.process-node.is-active .process-dot { color: var(--white); border-color: #90a1ff; background: var(--blue); transform: translate(-50%,-50%) scale(1); box-shadow: 0 0 0 10px rgba(88,108,226,.13),0 0 28px rgba(90,112,255,.42); }
.process-node.is-active .process-node-card { border-color: rgba(147,163,255,.34); transform: translateX(-18%) translateY(-5px); }
.process-node--4.is-active .process-node-card { transform: translateX(-82%) translateY(-5px); }
.process-node:hover .process-node-card,.process-node.is-selected .process-node-card { border-color: rgba(169,181,255,.62); background: rgba(27,36,104,.94); }
.process-node:hover .process-dot span,.process-node.is-selected .process-dot span { opacity: 0; }
.process-node:hover .process-dot::after,.process-node.is-selected .process-dot::after { opacity: 1; }

.fleet-showcase { overflow: hidden; }
.fleet-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.fleet-image { position: relative; overflow: hidden; border-radius: var(--radius); }
.fleet-image img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; transition: transform .7s; }
.fleet-image:hover img { transform: scale(1.025); }
.fleet-side { display: grid; gap: 18px; }
.fleet-side .fleet-image img { min-height: 281px; }

.quote { background: var(--ice); }
.quote-card {
  position: relative; padding: 72px; overflow: hidden; border-radius: 40px;
  color: var(--white); background: linear-gradient(125deg,var(--blue),#6679ff 55%,#26329e);
}
.quote-card::after {
  content: ""; position: absolute; width: clamp(190px,24vw,330px); aspect-ratio: 1; right: clamp(18px,3vw,46px); bottom: clamp(18px,3vw,40px);
  background: url("assets/images/logo.svg") center/contain no-repeat; filter: brightness(0) invert(1); opacity: .1;
  pointer-events: none;
}
.quote-card > * { position: relative; z-index: 1; }
.quote-mark { font: 800 6rem/1 Georgia,serif; opacity: .35; height: 45px; }
.quote-text { position: relative; z-index: 1; max-width: 880px; font: 650 clamp(1.45rem,2.7vw,2.45rem)/1.35 var(--font-display); letter-spacing: -.025em; }
.quote-author { margin-top: 35px; font-size: .88rem; }
.quote-author strong { display: block; font-family: var(--font-display); font-size: 1rem; }

.cta-band {
  position: relative; padding: 90px 0; overflow: hidden; color: var(--white);
  background:
    radial-gradient(ellipse 55% 70% at 78% 50%,rgba(76,92,225,.48) 0,rgba(66,79,204,.25) 42%,rgba(48,58,165,.08) 62%,transparent 78%),
    linear-gradient(180deg,#090a28 0,#0d113d 48%,#07071f 100%);
}
.cta-band::before, .cta-band::after { content: none; }
.cta-row { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.cta-row h2 { max-width: 780px; }

/* Homepage modular canvas — large surfaces with bento-style widgets. */
.bto-home-widgets { overflow-x: clip; background: #e9edf3; }
.bto-home-widgets .site-header { top: 10px; right: 12px; left: 12px; width: auto; border-radius: 30px; }
.bto-home-widgets .site-header.is-scrolled { top: 10px; box-shadow: 0 12px 42px rgba(14,20,48,.12); }
.bto-home-widgets .site-header .header-row { width: calc(100% - 56px); max-width: none; }
.bto-home-widgets main { padding: 8px 0 24px; background: #e9edf3; }
.bto-home-widgets main > section {
  width: calc(100% - 32px); max-width: 1560px; margin-right: auto; margin-left: auto;
  border: 1px solid rgba(16,25,57,.07); border-radius: 38px; box-shadow: 0 8px 28px rgba(18,28,65,.045);
}
.bto-home-widgets main > section + section { margin-top: 18px; }
.bto-home-widgets .hero { min-height: 780px; }
.bto-home-widgets .hero-video { border-radius: inherit; }
.bto-home-widgets .partners-section,
.bto-home-widgets .services,
.bto-home-widgets .last-mile-section,
.bto-home-widgets .process,
.bto-home-widgets .home-insights,
.bto-home-widgets .fleet-showcase,
.bto-home-widgets .quote,
.bto-home-widgets .home-faq,
.bto-home-widgets .cta-band { overflow: hidden; }
.bto-home-widgets .partners-section { background: #f7f8fb; }
.bto-home-widgets .services { background: #f8faff; }
.bto-home-widgets .services { overflow: clip; }
.bto-home-widgets .last-mile-section { background: #fff; }
.bto-home-widgets .home-insights { background: #f4f6fa; }
.bto-home-widgets .fleet-showcase { background: #fff; }
.bto-home-widgets .quote { background: #eef2f8; }
.bto-home-widgets main > .quote {
  padding: 0; overflow: visible; border: 0; background: transparent; box-shadow: none;
}
.bto-home-widgets main > .quote > .container { width: 100%; }
.bto-home-widgets .service-card,
.bto-home-widgets .article-card,
.bto-home-widgets .quote-card,
.bto-home-widgets .fleet-image { box-shadow: 0 14px 45px rgba(18,28,65,.07); }
.bto-home-widgets .service-card { border-color: rgba(25,38,82,.09); }
.bto-home-widgets .partner-logo-grid { padding: 16px; border-radius: 26px; background: #f7f8fb; }
.bto-home-widgets .home-faq .faq-list { padding: 10px 30px; border: 1px solid rgba(25,38,82,.08); border-radius: 26px; background: rgba(255,255,255,.66); }

/* Modular canvas for all inner pages */
.bto-site-widgets { overflow-x: clip; background: #e9edf3; }
.bto-site-widgets .site-header { top: 10px; right: 12px; left: 12px; width: auto; border-radius: 30px; }
.bto-site-widgets .site-header.is-scrolled { top: 10px; box-shadow: 0 12px 42px rgba(14,20,48,.12); }
.bto-site-widgets .site-header .header-row { width: calc(100% - 56px); max-width: none; }
.bto-site-widgets main { padding: 8px 0 24px; background: #e9edf3; }
.bto-site-widgets main > section,
.bto-site-widgets main > header,
.bto-site-widgets main > .page-shell {
  width: calc(100% - 32px); max-width: 1560px; margin-right: auto; margin-left: auto;
  overflow: hidden; border: 1px solid rgba(16,25,57,.07); border-radius: 38px;
  box-shadow: 0 8px 28px rgba(18,28,65,.045);
}
.bto-site-widgets main > section + section,
.bto-site-widgets main > header + .page-shell { margin-top: 18px; }
.bto-site-widgets .inner-hero,
.bto-site-widgets .articles-hero { min-height: 720px; }
.bto-site-widgets .inner-hero-media > img { border-radius: 28px; box-shadow: 0 20px 65px rgba(0,0,0,.25); }
.bto-site-widgets .service-detail-section,
.bto-site-widgets #our-story,
.bto-site-widgets .contact-main,
.bto-site-widgets .contact-faq,
.bto-site-widgets .featured-article-section,
.bto-site-widgets .articles-index,
.bto-site-widgets .quote-section { background: #f8faff; }
.bto-site-widgets .values-section,
.bto-site-widgets .about-quote,
.bto-site-widgets .featured-article-section { background: #f3f6fa; }
.bto-site-widgets .service-detail-list { display: grid; gap: 14px; border: 0; }
.bto-site-widgets .service-detail {
  padding: 44px; scroll-margin-top: 120px; border: 1px solid rgba(25,38,82,.08); border-radius: 26px; background: rgba(255,255,255,.82);
  box-shadow: 0 12px 38px rgba(18,28,65,.05);
}
.bto-site-widgets .service-detail:hover { padding-inline: 44px; background: #fff; box-shadow: 0 18px 48px rgba(18,28,65,.09); }
.bto-site-widgets .benefit-grid { gap: 12px; border: 0; }
.bto-site-widgets .benefit-grid article { border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.035); }
.bto-site-widgets .values-grid article,
.bto-site-widgets .contact-form-card,
.bto-site-widgets .featured-article,
.bto-site-widgets .article-card,
.bto-site-widgets .transport-card { box-shadow: 0 14px 45px rgba(18,28,65,.07); }
.bto-site-widgets .contact-info-grid figure { box-shadow: 0 18px 55px rgba(0,0,0,.22); }
.bto-site-widgets .contact-faq .faq-list { padding: 10px 30px; border: 1px solid rgba(25,38,82,.08); border-radius: 26px; background: rgba(255,255,255,.7); }
.bto-site-widgets .articles-toolbar { padding: 18px 20px; border: 1px solid rgba(25,38,82,.08); border-radius: 22px; background: rgba(255,255,255,.72); }
.bto-site-widgets .page-hero { color: var(--white); background: radial-gradient(circle at 75% 15%,rgba(93,114,255,.46),transparent 34%),linear-gradient(130deg,var(--ink),#17216f 70%,#3547c6); }
.bto-site-widgets .page-hero .eyebrow { color: #bdcaff; }
.bto-site-widgets .page-hero h1 { color: var(--white); }
.bto-site-widgets main > .page-shell { padding: 85px clamp(24px,6vw,90px) 105px; background: #f8faff; }
.bto-site-widgets .entry-content { padding: clamp(26px,5vw,64px); border: 1px solid rgba(25,38,82,.08); border-radius: 28px; background: #fff; box-shadow: 0 14px 45px rgba(18,28,65,.06); }
.bto-home-widgets .cta-band { margin-bottom: 0; }

/* First-viewport heroes presented as inset widgets. */
.bto-home-widgets main,
.bto-site-widgets main { padding-top: 0; }
.bto-home-widgets main > .hero,
.bto-site-widgets main > .inner-hero,
.bto-site-widgets main > .express-hero,
.bto-site-widgets main > .articles-hero,
.bto-site-widgets main > .page-hero,
.bto-site-widgets main > .contact-hero,
.bto-site-widgets main > .qr-page,
.bto-site-widgets main > .thank-you-section {
  width: calc(100% - 24px); max-width: none; min-height: calc(100svh - 24px); margin: 12px auto;
  border: 0; border-radius: 44px; box-shadow: none;
}
.bto-home-widgets .hero-grid { min-height: calc(100svh - 264px); }
.bto-site-widgets .inner-hero-grid { min-height: calc(100svh - 239px); }
.bto-site-widgets .express-hero-grid { min-height: calc(100svh - 239px); }
.bto-site-widgets .articles-hero-row { min-height: calc(100svh - 324px); }
.bto-site-widgets .page-hero { display: flex; align-items: center; }
.bto-site-widgets .page-hero > .container { width: var(--container); }

.site-footer { position: relative; padding: 75px 0 30px; background: #07071f; color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 60px; padding-bottom: 70px; }
.footer-brand img { width: 190px; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 330px; margin-top: 24px; color: rgba(255,255,255,.55); font-size: .9rem; }
.footer-title { margin-bottom: 18px; color: rgba(255,255,255,.4); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.footer-links a { color: rgba(255,255,255,.76); font-size: .9rem; }
.footer-links a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.4); font-size: .76rem; }

.page-hero { padding: 180px 0 100px; background: linear-gradient(150deg,var(--ice),#d9e5ff); }
.page-hero h1 { max-width: 1100px; color: var(--ink); font-size: clamp(2.9rem,4.85vw,4.9rem); }
.page-shell { padding: 95px 0 120px; }
.entry-content { max-width: 820px; margin-inline: auto; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2, .entry-content h3 { margin: 2em 0 .7em; }
.entry-content a { color: var(--blue); text-decoration: underline; }
.entry-content ul { padding-left: 1.25rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.post-card { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; }
.post-card img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.post-card-body { padding: 25px; }
.post-card time { color: var(--blue); font-size: .75rem; font-weight: 800; }
.post-card h2 { margin-top: 10px; font-size: 1.45rem; }

/* Inner pages */
.inner-hero {
  position: relative; min-height: 760px; padding: 145px 0 70px; overflow: hidden;
  color: var(--white); background:
    radial-gradient(circle at 12% 25%,rgba(93,114,255,.5),transparent 33%),
    linear-gradient(135deg,var(--ink),#17216f 68%,#3d50cd);
}
.inner-hero::before {
  content: ""; position: absolute; width: clamp(280px,34vw,520px); aspect-ratio: 1; right: clamp(28px,4vw,72px); top: clamp(30px,5vw,82px);
  background: url("assets/images/logo.svg") center/contain no-repeat; opacity: .055; filter: brightness(0) invert(1);
  pointer-events: none;
}
.inner-hero-grid { position: relative; display: grid; grid-template-columns: .84fr 1.16fr; gap: 70px; align-items: center; }
.inner-hero-grid > *, .about-story > *, .mission-grid > *, .contact-layout > * { min-width: 0; }
.inner-hero-copy { position: relative; z-index: 2; }
.inner-hero-copy .eyebrow { color: #bdcaff; }
.inner-hero-copy h1 { font-size: clamp(2.9rem,4.85vw,4.9rem); }
.inner-hero-copy > p { max-width: 590px; margin: 28px 0 35px; color: rgba(255,255,255,.7); font-size: 1.12rem; }
.inner-hero-media { position: relative; margin: 0; }
.inner-hero-media > img { width: 100%; height: 545px; object-fit: cover; border-radius: 36px; box-shadow: 0 35px 90px rgba(0,0,0,.34); }
.inner-hero-media figcaption {
  position: absolute; left: -40px; bottom: 30px; display: flex; flex-direction: column;
  width: 170px; height: 170px; padding: 25px; justify-content: center; border-radius: 50%;
  color: var(--ink); background: var(--white); box-shadow: var(--shadow);
}
.inner-hero-media figcaption strong { font: 800 2rem/1 var(--font-display); }
.inner-hero-media figcaption span { margin-top: 8px; font-size: .72rem; line-height: 1.35; font-weight: 700; }
.inner-hero--about .inner-hero-grid { grid-template-columns: .92fr 1.08fr; }
.inner-hero--about .inner-hero-media > img { height: 520px; }
.inner-hero--services .inner-hero-media > img { object-position: center 48%; }
.inner-hero--contact .inner-hero-grid { grid-template-columns: 1.04fr .96fr; }
.inner-hero--contact .inner-hero-copy h1 { font-size: clamp(2.9rem,4.85vw,4.9rem); }
.inner-hero--contact .inner-hero-media > img { height: 520px; }
.inner-hero--contact .inner-hero-media figcaption strong {
  font-size: 1.25rem;
  white-space: nowrap;
}

.service-detail-section { background: linear-gradient(180deg,var(--white),var(--ice)); }
.service-detail-list { border-top: 1px solid var(--line); }
.service-detail {
  position: relative; display: grid; grid-template-columns: 90px 1fr 110px; gap: 40px;
  padding: 58px 15px; border-bottom: 1px solid var(--line); transition: padding .25s, background .25s;
}
.service-detail:hover { padding-inline: 28px; background: rgba(255,255,255,.72); }
.service-detail-number { color: var(--blue); font: 800 .78rem var(--font-display); letter-spacing: .12em; }
.service-detail-copy { display: grid; grid-template-columns: minmax(250px,.72fr) 1fr; gap: 22px 45px; align-items: start; }
.service-detail-copy h2 { font-size: clamp(2rem,3vw,3.15rem); }
.service-detail-copy > p { color: var(--muted); }
.compact-checks { grid-column: 2; list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.compact-checks li { position: relative; padding-left: 25px; font-size: .88rem; font-weight: 650; }
.compact-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); font-weight: 900; }
.text-link { display: inline-flex; width: fit-content; align-items: center; gap: 12px; font-size: .86rem; font-weight: 800; }
.service-detail-copy .text-link { grid-column: 1; }
.text-link span, .text-link b { color: var(--blue); transition: transform .2s; }
.text-link:hover span, .text-link:hover b { transform: translate(3px,-3px); }
.service-detail-icon {
  width: 82px; height: 82px; display: grid; place-items: center; border: 1px solid var(--line);
  border-radius: 24px; color: var(--blue); background: var(--white); font: 500 2rem var(--font-display);
}
.dark-benefits { color: var(--white); background: var(--ink); }
.dark-benefits .eyebrow { color: #9fb5ff; }
.dark-benefits .section-intro { color: rgba(255,255,255,.6); }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.16); }
.benefit-grid article { min-height: 290px; padding: 32px 28px; border-right: 1px solid rgba(255,255,255,.16); }
.benefit-grid article:last-child { border: 0; }
.benefit-grid span { color: #9fb5ff; font-size: .75rem; font-weight: 800; }
.benefit-grid h3 { margin: 95px 0 14px; }
.benefit-grid p { color: rgba(255,255,255,.57); font-size: .88rem; }

.about-story { display: grid; grid-template-columns: 1fr .85fr; gap: 100px; align-items: start; }
.about-story-copy { padding-top: 40px; color: var(--muted); }
.lead-paragraph { color: var(--ink); font: 650 1.3rem/1.55 var(--font-display); letter-spacing: -.02em; }
.about-image-band { position: relative; height: min(72vw,760px); min-height: 480px; overflow: hidden; }
.about-image-band > img { width: 100%; height: 100%; object-fit: cover; }
.about-image-band::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(9,10,40,.72)); }
.about-image-note { position: absolute; z-index: 2; left: 50%; bottom: 45px; transform: translateX(-50%); color: var(--white); }
.about-image-note strong { display: block; font: 750 clamp(1.5rem,3vw,2.5rem) var(--font-display); }
.about-image-note span { color: rgba(255,255,255,.68); }
.values-section { background: var(--ice); }
.values-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.values-grid article { min-height: 310px; padding: 35px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.values-grid article:nth-child(2), .values-grid article:nth-child(3) { background: linear-gradient(145deg,#e7edff,#fff); }
.value-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; color: var(--blue); background: var(--sky); font-size: .75rem; font-weight: 850; }
.values-grid h3 { margin: 80px 0 14px; font-size: 1.7rem; }
.values-grid p { max-width: 470px; color: var(--muted); }
.about-mission { position: relative; overflow: hidden; color: var(--white); background: radial-gradient(circle at 82% 28%,rgba(61,80,205,.48),transparent 38%),linear-gradient(135deg,#090a28,#17216f 72%,#2d3da9); }
.mission-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 90px; align-items: center; }
.mission-mark { display: grid; place-items: center; height: 360px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.mission-mark img { width: 52%; filter: brightness(0) invert(1); opacity: .55; }
.about-mission .eyebrow { color: #dbe2ff; }
.about-mission p { max-width: 650px; margin-top: 25px; color: rgba(255,255,255,.72); font-size: 1.08rem; }

.contact-hero { position: relative; padding: 170px 0 100px; overflow: hidden; background: linear-gradient(150deg,var(--ice),#dbe5ff); }
.contact-hero::before { content: ""; position: absolute; left: -170px; bottom: -270px; width: 580px; height: 580px; border: 90px solid rgba(53,71,198,.06); transform: rotate(35deg); }
.contact-layout { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: 80px; align-items: start; }
.contact-main { position: relative; overflow: hidden; background: linear-gradient(150deg,var(--white),#eef3ff); }
.contact-main::before { content: ""; position: absolute; width: 510px; height: 510px; left: -260px; bottom: -250px; border: 80px solid rgba(53,71,198,.045); transform: rotate(35deg); }
.contact-copy { padding-top: 30px; }
.contact-copy h1 { font-size: clamp(3.4rem,5.5vw,5.75rem); }
.contact-copy h2 { max-width: 550px; font-size: clamp(2.7rem,4.3vw,4.35rem); }
.contact-copy > p { max-width: 510px; margin: 28px 0 46px; color: var(--muted); font-size: 1.05rem; }
.contact-direct { display: grid; gap: 14px; }
.contact-direct a { display: flex; justify-content: space-between; gap: 25px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.contact-direct span { color: var(--muted); font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.contact-direct strong { font-family: var(--font-display); }
.contact-form-card { padding: 44px; border-radius: 30px; background: var(--white); box-shadow: var(--shadow); }
.contact-form { display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.contact-form label { display: grid; gap: 8px; color: #2c3153; font-size: .78rem; font-weight: 750; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 12px; outline: none; padding: 14px 15px;
  color: var(--ink); background: #f9faff; transition: border-color .2s,box-shadow .2s;
}
.contact-form textarea { resize: vertical; min-height: 135px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(53,71,198,.1); }
.form-submit { display: flex; align-items: center; gap: 18px; margin-top: 5px; }
.form-submit small { max-width: 230px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.form-honeypot { position: absolute; left: -9999px; }
.form-notice { margin-bottom: 20px; padding: 15px 18px; border-radius: 12px; font-size: .84rem; font-weight: 700; }
.form-notice--success { color: #11643a; background: #def7e9; }
.form-notice--error { color: #8c2735; background: #ffe5e8; }
.contact-info-section { padding: 80px 0; background: var(--ink); color: var(--white); }
.contact-info-grid { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: 0; align-items: stretch; }
.contact-info-grid article { padding: 25px 35px 25px 0; border-right: 1px solid rgba(255,255,255,.15); }
.contact-info-grid article + article { padding-left: 35px; }
.contact-info-grid article > span { color: #9fb5ff; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-info-grid h3 { margin: 50px 0 30px; }
.contact-info-grid p { color: rgba(255,255,255,.55); font-size: .85rem; }
.contact-info-grid figure { margin: 0 0 0 35px; overflow: hidden; border-radius: 22px; }
.contact-info-grid img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.contact-faq { background: var(--white); }
.faq-list { max-width: 900px; margin-left: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; display: flex; justify-content: space-between; gap: 30px; padding: 25px 0; font: 700 1.1rem var(--font-display); cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--blue); font-size: 1.5rem; transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 720px; padding: 0 40px 25px 0; color: var(--muted); }

body .articles-newsletter {
  padding: 90px 0;
  background: radial-gradient(ellipse 55% 70% at 78% 50%,rgba(76,92,225,.48) 0,rgba(66,79,204,.25) 42%,rgba(48,58,165,.08) 62%,transparent 78%),linear-gradient(180deg,#090a28 0,#0d113d 48%,#07071f 100%);
}
body .articles-newsletter::after { content: none; }

/* Articles hub */
.articles-hero {
  position: relative; padding: 185px 0 115px; overflow: hidden; color: var(--white);
  background: radial-gradient(circle at 75% 15%,rgba(93,114,255,.5),transparent 34%),linear-gradient(130deg,var(--ink),#17216f 70%,#3547c6);
}
.articles-hero::after {
  content: ""; position: absolute; width: clamp(280px,34vw,520px); aspect-ratio: 1; right: clamp(28px,4vw,72px); bottom: clamp(24px,4vw,64px);
  background: url("assets/images/logo.svg") center/contain no-repeat; opacity: .045; filter: brightness(0) invert(1); pointer-events: none;
}
.articles-hero-row { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 70px; align-items: end; }
.articles-hero .eyebrow { color: #bdcaff; }
.articles-hero h1 { font-size: clamp(2.9rem,4.85vw,4.9rem); }
.articles-hero h1 span { color: #a8b8ff; }
.articles-hero-row > p { max-width: 500px; margin: 0 0 15px; color: rgba(255,255,255,.68); font-size: 1.05rem; }
.featured-article-section { padding: 75px 0 45px; background: var(--white); }
.featured-article {
  display: grid; grid-template-columns: 1.14fr .86fr; min-height: 570px; overflow: hidden;
  border: 1px solid var(--line); border-radius: 34px; background: var(--ice); box-shadow: 0 20px 65px rgba(10,14,65,.08);
}
.featured-article-media { position: relative; overflow: hidden; min-width: 0; }
.featured-article-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 65%,rgba(9,10,40,.13)); }
.featured-article-media img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; transition: transform .7s; }
.featured-article:hover .featured-article-media img { transform: scale(1.025); }
.featured-article-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 55px; }
.article-meta { display: flex; gap: 12px; align-items: center; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.article-meta span { color: var(--blue); }
.article-meta span::after { content: ""; display: inline-block; width: 22px; height: 1px; margin-left: 12px; vertical-align: middle; background: var(--line); }
.featured-label { margin: 70px 0 15px; color: var(--blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.featured-article-copy h2 { font-size: clamp(2.2rem,3.3vw,3.45rem); }
.featured-article-copy h2 a:hover { color: var(--blue); }
.featured-article-copy > p { margin: 22px 0 30px; color: var(--muted); }
.articles-index { padding-top: 70px; background: linear-gradient(180deg,var(--white),var(--ice)); }
.articles-toolbar { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-bottom: 50px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.category-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.category-filter a { padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .76rem; font-weight: 750; }
.category-filter a:hover, .category-filter .is-active { color: var(--white); border-color: var(--ink); background: var(--ink); }
.articles-search { display: flex; width: min(290px,100%); overflow: hidden; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.articles-search input { min-width: 0; flex: 1; padding: 10px 4px 10px 18px; border: 0; outline: 0; background: transparent; font-size: .8rem; }
.articles-search button { width: 43px; border: 0; color: var(--blue); background: transparent; font-size: 1.3rem; }
.articles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.article-card { overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--white); transition: transform .3s,box-shadow .3s; }
.article-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.article-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.35; background: var(--sky); }
.article-card-media::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,rgba(9,10,40,.45)); opacity: 0; transition: opacity .3s; }
.article-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.article-card-media > span { position: absolute; z-index: 2; right: 18px; bottom: 16px; color: var(--white); font-size: .76rem; font-weight: 800; opacity: 0; transform: translateY(6px); transition: .3s; }
.article-card:hover .article-card-media img { transform: scale(1.04); }
.article-card:hover .article-card-media::after, .article-card:hover .article-card-media > span { opacity: 1; transform: none; }
.article-card-body { min-height: 265px; padding: 27px; }
.article-card-body h2 { margin: 19px 0 13px; font-size: clamp(1.35rem,2vw,1.75rem); line-height: 1.2; letter-spacing: -.035em; }
.article-card-body h2 a:hover { color: var(--blue); }
.article-card-body > p { color: var(--muted); font-size: .87rem; }

.articles-pagination { margin-top: 65px; }
.articles-pagination ul { list-style: none; display: flex; justify-content: center; gap: 7px; padding: 0; }
.articles-pagination a, .articles-pagination span { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-size: .77rem; font-weight: 800; }
.articles-pagination .current, .articles-pagination a:hover { color: var(--white); border-color: var(--blue); background: var(--blue); }
.articles-empty { padding: 90px 0; text-align: center; }
.articles-empty p { color: var(--muted); }
.articles-newsletter { position: relative; overflow: hidden; padding: 90px 0; color: var(--white); background: linear-gradient(120deg,var(--blue),#6578ff); }
.articles-newsletter::after { content: ""; position: absolute; width: 430px; height: 430px; right: -90px; bottom: -180px; background: url("assets/images/logo.svg") center/contain no-repeat; filter: brightness(0) invert(1); opacity: .08; }
.newsletter-row { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: end; }
.articles-newsletter .eyebrow { color: #e2e7ff; }
.newsletter-row p { color: rgba(255,255,255,.72); }
.newsletter-row .btn { margin-top: 15px; }

/* Desktop rhythm for laptops and regular monitors. */
@media (min-width: 1200px) {
  :root { --container: min(1360px, calc(100vw - 48px)); }
  .bto-home-widgets main > section,
  .bto-site-widgets main > section,
  .bto-site-widgets main > header,
  .bto-site-widgets main > .page-shell { max-width: 1488px; }
  .bto-home-widgets main > .hero,
  .bto-site-widgets main > .inner-hero,
  .bto-site-widgets main > .express-hero,
  .bto-site-widgets main > .articles-hero,
  .bto-site-widgets main > .page-hero,
  .bto-site-widgets main > .contact-hero,
  .bto-site-widgets main > .qr-page,
  .bto-site-widgets main > .thank-you-section { max-width: none; }
  .bto-home-widgets .hero > .container,
  .bto-site-widgets .inner-hero > .container,
  .bto-site-widgets .express-hero > .container,
  .bto-site-widgets .articles-hero > .container,
  .bto-site-widgets .page-hero > .container,
  .bto-site-widgets .contact-hero > .container,
  .bto-site-widgets .qr-page > .container,
  .bto-site-widgets .thank-you-section > .container { width: min(1360px, calc(100vw - 48px)); }
}

/* Expanded canvas only for genuinely large displays. */
@media (min-width: 1600px) {
  :root { --container: min(1440px, calc(100vw - 48px)); }
  .bto-home-widgets main > section,
  .bto-site-widgets main > section,
  .bto-site-widgets main > header,
  .bto-site-widgets main > .page-shell { max-width: 1560px; }
  .bto-home-widgets main > .hero,
  .bto-site-widgets main > .inner-hero,
  .bto-site-widgets main > .express-hero,
  .bto-site-widgets main > .articles-hero,
  .bto-site-widgets main > .page-hero,
  .bto-site-widgets main > .contact-hero,
  .bto-site-widgets main > .qr-page,
  .bto-site-widgets main > .thank-you-section {
    width: calc(100% - 16px);
    min-height: calc(100svh - 16px);
    margin: 8px auto;
  }
  .services-sticky { justify-content: flex-start; }
  .carton-wrap { width: min(100%,600px); margin-top: clamp(48px,6vh,86px); }
  .carton-stage { height: clamp(360px,25vw,430px); perspective: 1050px; perspective-origin: 50% 42%; }
  .carton {
    bottom: 82px;
    transform: translateX(-50%) rotateX(-7deg) rotateY(-24deg) translateY(calc(28px * (1 - var(--fold-base)))) scale(calc(1.12 + .18 * var(--fold-base)));
  }
  .carton-shadow { bottom: 48px; transform: translateX(-50%) scale(calc(.88 + .34 * var(--carton-progress))); }
}

/* Keep comfortable inner gutters when laptop screens are zoomed. */
@media (min-width: 721px) and (max-width: 1599px) {
  .bto-home-widgets main > .hero,
  .bto-site-widgets main > .inner-hero,
  .bto-site-widgets main > .express-hero,
  .bto-site-widgets main > .articles-hero,
  .bto-site-widgets main > .page-hero,
  .bto-site-widgets main > .contact-hero,
  .bto-site-widgets main > .qr-page,
  .bto-site-widgets main > .thank-you-section {
    width: calc(100% - 32px); max-width: 1488px;
  }
  .bto-home-widgets .hero > .container,
  .bto-site-widgets .inner-hero > .container,
  .bto-site-widgets .express-hero > .container,
  .bto-site-widgets .articles-hero > .container,
  .bto-site-widgets .page-hero > .container,
  .bto-site-widgets .contact-hero > .container,
  .bto-site-widgets .qr-page > .container,
  .bto-site-widgets .thank-you-section > .container {
    width: calc(100% - clamp(56px,6vw,96px)); max-width: 1360px;
  }
  .bto-home-widgets main > section:not(.hero):not(.quote) > .container,
  .bto-site-widgets main > section:not(.inner-hero):not(.express-hero):not(.articles-hero):not(.page-hero):not(.contact-hero):not(.qr-page):not(.thank-you-section) > .container {
    width: calc(100% - clamp(56px,6vw,96px)); max-width: 1280px;
  }
}

@media (max-width: 720px) {
  .bto-site-widgets .inner-hero--contact .inner-hero-media figcaption {
    display: grid;
    place-items: center;
    padding: 14px;
    text-align: center;
  }

  .bto-site-widgets .inner-hero--contact .inner-hero-media figcaption strong {
    max-width: 100%;
    font-size: .86rem;
    line-height: 1;
    letter-spacing: -.025em;
    white-space: nowrap;
  }
}

@media (max-width: 1020px) {
  .site-nav {
    position: fixed; inset: 0; padding: 120px 35px 40px; overflow-y: auto; background: var(--white);
    transform: translateX(100%); transition: transform .3s; z-index: -1;
  }
  .nav-open .site-nav { transform: translateX(0); }
  .site-nav ul { display: grid; gap: 18px; }
  .site-nav a { font: 800 2rem var(--font-display); }
  .ocean-mega-toggle { width: 100%; justify-content: space-between; color: var(--ink) !important; font: 800 2rem var(--font-display); text-align: left; }
  .ocean-mega-panel { position: static; max-height: 0; padding: 0; visibility: hidden; overflow: hidden; opacity: 1; transform: none; transition: max-height .45s,margin .3s; }
  .ocean-mega-item:hover .ocean-mega-panel,
  .ocean-mega-item:focus-within .ocean-mega-panel { max-height: 0; margin-top: 0; visibility: hidden; }
  .ocean-mega-item.is-open .ocean-mega-panel { max-height: 2100px; margin-top: 18px; visibility: visible; }
  .ocean-mega-grid { grid-template-columns: 1fr; gap: 32px; padding: 24px 18px; box-shadow: none; background: #f4f6fb; }
  .ocean-mega-grid h2 { margin-bottom: 12px; }
  .ocean-service-link { grid-template-columns: 52px minmax(0,1fr); padding: 12px; }
  .ocean-service-link > b { width: 52px; height: 52px; }
  .site-nav .ocean-service-link strong { font-size: .98rem; }
  .site-nav .ocean-service-link small { font-size: .72rem; }
  .site-nav .ocean-mega-links a { padding: 12px 0; font: 750 .88rem/1.35 var(--font-body); }
  .ocean-tracking-card { padding: 24px 20px; }
  .site-nav .ocean-tracking-card .btn { display: inline-flex; font: 800 .76rem var(--font-body); }
  .nav-open .site-header .site-nav a,
  .nav-open .site-header:not(.is-scrolled) .site-nav a,
  .nav-open .site-header.is-scrolled .site-nav a,
  .nav-open .site-header.is-scrolled.is-over-dark .site-nav a { color: var(--ink); }
  .nav-open .site-header .site-nav a:hover,
  .nav-open .site-header .site-nav .current-menu-item > a,
  .nav-open .site-header:not(.is-scrolled) .site-nav a:hover,
  .nav-open .site-header:not(.is-scrolled) .site-nav .current-menu-item > a,
  .nav-open .site-header.is-scrolled .site-nav a:hover,
  .nav-open .site-header.is-scrolled .site-nav .current-menu-item > a,
  .nav-open .site-header.is-scrolled.is-over-dark .site-nav a:hover,
  .nav-open .site-header.is-scrolled.is-over-dark .site-nav .current-menu-item > a { color: var(--blue); }
  .menu-toggle { display: block; margin-left: auto; z-index: 2; }
  .nav-open .menu-toggle span { opacity: 0; }
  .nav-open .menu-toggle::before { transform: translateY(7px) rotate(45deg); }
  .nav-open .menu-toggle::after { transform: translateY(-7px) rotate(-45deg); }
  .header-phone { display: none; }
  .hero { min-height: 800px; }
  .hero-grid { min-height: 610px; }
  .hero-copy { max-width: 720px; }
  .hero-context { display: none; }
  .feature-split { grid-template-columns: 1fr; }
  .feature-media { max-width: 760px; }
  .process-grid { grid-template-columns: repeat(2,1fr); gap: 35px; }
  .footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
  .footer-brand { grid-row: span 2; }
  .inner-hero { min-height: auto; }
  .inner-hero-grid, .inner-hero--about .inner-hero-grid, .inner-hero--contact .inner-hero-grid { grid-template-columns: 1fr; }
  .inner-hero-copy { max-width: 780px; }
  .inner-hero-media { max-width: 850px; }
  .service-detail-copy { grid-template-columns: 1fr; }
  .compact-checks, .service-detail-copy .text-link { grid-column: 1; }
  .benefit-grid { grid-template-columns: repeat(2,1fr); }
  .benefit-grid article:nth-child(2) { border-right: 0; }
  .about-story { gap: 55px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-copy { max-width: 750px; }
  .contact-info-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .contact-info-grid figure { grid-column: 1 / -1; margin: 0; }
  .featured-article { grid-template-columns: 1fr; }
  .featured-article-media img { min-height: 430px; max-height: 520px; }
  .articles-grid { grid-template-columns: repeat(2,1fr); }
  .newsletter-row { grid-template-columns: 1fr; gap: 35px; }
  .partners-heading { grid-template-columns: 1fr; gap: 25px; }
  .home-faq-grid { grid-template-columns: 1fr; gap: 50px; }
  .home-faq-heading { position: static; max-width: 720px; }
  .services-scroll-layout { grid-template-columns: minmax(330px,1.05fr) minmax(360px,.95fr); gap: 36px; }
  .services-sticky { top: 105px; }
  .carton { transform: translateX(-50%) rotateX(-7deg) rotateY(-24deg) translateY(calc(28px * (1 - var(--fold-base)))) scale(calc(.78 + .1 * var(--fold-base))); }
}

@media (min-width: 1021px) and (max-width: 1320px) {
  .header-row { gap: 18px; }
  .site-nav ul { gap: 18px; }
  .site-nav a,.ocean-mega-toggle,.header-phone { font-size: .85rem; }
  .brand { width: 165px; }
  .header-row > .btn { min-height: 50px; padding-inline: 18px; font-size: .82rem; }
  .ocean-mega-grid { grid-template-columns: 1.15fr .9fr .9fr 1fr; gap: 24px; padding: 30px; }
}

@media (max-width: 720px) {
  :root { --container: min(100% - 28px, 1180px); --radius: 20px; }
  .container { width: calc(100% - 28px); max-width: none; }
  .section { padding: 78px 0; }
  .btn { width: 100%; text-align: center; }
  .section-head { display: block; margin-bottom: 38px; }
  .section-head .section-intro { margin-top: 20px; }
  .site-header { padding: 10px 0; background: rgba(255,255,255,.93); }
  .bto-home-widgets .site-header { top: 6px; right: 6px; left: 6px; border-radius: 18px; }
  .bto-home-widgets .site-header .header-row { width: calc(100% - 28px); }
  .bto-home-widgets main { padding: 6px 0 12px; }
  .bto-home-widgets main > section { width: calc(100% - 12px); border-radius: 25px; }
  .bto-home-widgets main > section + section { margin-top: 10px; }
  .bto-site-widgets .site-header { top: 6px; right: 6px; left: 6px; border-radius: 18px; }
  .bto-site-widgets .site-header .header-row { width: calc(100% - 28px); }
  .bto-site-widgets main { padding: 6px 0 12px; }
  .bto-site-widgets main > section,
  .bto-site-widgets main > header,
  .bto-site-widgets main > .page-shell { width: calc(100% - 12px); border-radius: 25px; }
  .bto-site-widgets main > section + section,
  .bto-site-widgets main > header + .page-shell { margin-top: 10px; }
  .bto-site-widgets .inner-hero,
  .bto-site-widgets .articles-hero { min-height: auto; }
  .bto-site-widgets .service-detail { padding: 32px 22px; border-radius: 20px; }
  .bto-site-widgets .service-detail:hover { padding-inline: 22px; }
  .bto-site-widgets .benefit-grid { gap: 8px; }
  .bto-site-widgets .contact-faq .faq-list { padding: 5px 20px; border-radius: 20px; }
  .bto-site-widgets .articles-toolbar { padding: 15px; border-radius: 18px; }
  .bto-site-widgets main > .page-shell { padding: 48px 14px 60px; }
  .bto-site-widgets .entry-content { padding: 25px 20px; border-radius: 20px; }
  .bto-home-widgets main,
  .bto-site-widgets main { padding-top: 0; }
  .bto-home-widgets main > .hero,
  .bto-site-widgets main > .inner-hero,
  .bto-site-widgets main > .express-hero,
  .bto-site-widgets main > .articles-hero,
  .bto-site-widgets main > .page-hero,
  .bto-site-widgets main > .contact-hero,
  .bto-site-widgets main > .qr-page,
  .bto-site-widgets main > .thank-you-section { width: calc(100% - 12px); min-height: calc(100svh - 12px); margin: 6px auto; border-radius: 28px; }
  .bto-home-widgets .hero-grid { min-height: 0; align-items: flex-start; }
  .bto-site-widgets .inner-hero-grid,
  .bto-site-widgets .express-hero-grid,
  .bto-site-widgets .articles-hero-row { min-height: 0; }
  .bto-home-widgets .hero { min-height: calc(100svh - 12px); padding-top: 135px; }
  .bto-home-widgets .partner-logo-grid { padding: 8px; border-radius: 18px; }
  .bto-home-widgets .home-faq .faq-list { padding: 6px 18px; border-radius: 20px; }
  .bto-dark-header .site-header:not(.is-scrolled) { background: rgba(9,10,40,.94); }
  .header-row { position: relative; gap: 12px; padding-right: 52px; }
  .header-row > .btn { display: none; }
  .menu-toggle { position: absolute; right: 0; flex: 0 0 44px; margin-left: 0; border-radius: 50%; background: var(--ink); }
  .menu-toggle span, .menu-toggle::before, .menu-toggle::after,
  .bto-dark-header .site-header:not(.is-scrolled) .menu-toggle span,
  .bto-dark-header .site-header:not(.is-scrolled) .menu-toggle::before,
  .bto-dark-header .site-header:not(.is-scrolled) .menu-toggle::after { background: var(--white); }
  .brand { width: 152px; }
  .site-header,
  .site-header.is-scrolled,
  .site-header.is-scrolled.is-over-dark,
  .bto-dark-header .site-header:not(.is-scrolled) {
    position: absolute; background: transparent; box-shadow: none;
  }
  .site-header.is-scrolled::before,
  .site-header.is-scrolled::after { content: none; }
  .site-header.is-scrolled .menu-toggle {
    position: fixed; top: 12px; right: 12px; z-index: 102;
    background: rgba(255,255,255,.78); box-shadow: 0 8px 28px rgba(9,10,40,.16);
    -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%);
  }
  .site-header.is-scrolled.is-over-dark .menu-toggle { background: rgba(9,10,40,.68); }
  .nav-open .site-header .menu-toggle { position: fixed; top: 12px; right: 12px; }
  .hero { min-height: 820px; padding: 125px 0 0; }
  .hero::before { opacity: .1; }
  .hero::after { background: linear-gradient(90deg,rgba(5,7,31,.94),rgba(8,12,45,.62)),linear-gradient(0deg,rgba(6,8,31,.85),transparent 60%); }
  .hero-video { object-position: 63% center; }
  .hero-grid { min-height: 0; align-items: flex-start; }
  .hero-copy { width: 100%; padding-bottom: 0; }
  .hero h1 { font-size: clamp(1.35rem,6.8vw,2.15rem); }
  .hero-lead { margin: 22px 0 28px; }
  .hero-actions { display: grid; width: 100%; }
  .hero-stats { position: relative; inset: auto; margin-top: 34px; }
  .stat-row { grid-template-columns: repeat(2,1fr); }
  .stat { padding: 15px 8px; border-bottom: 1px solid rgba(255,255,255,.18); }
  .stat:nth-child(even) { border-right: 0; }
  .stat:nth-last-child(-n+2) { border-bottom: 0; }
  .trust-row { grid-template-columns: repeat(2,1fr); }
  .trust-row > * { min-height: 80px; display: grid; place-items: center; padding: 16px; border-bottom: 1px solid var(--line); }
  .trust-label { grid-column: 1 / -1; text-align: center; }
  .partners-section { padding: 70px 0; }
  .shipment-tracker { padding: 0; scroll-margin-top: 18px; }
  .tracker-widget { grid-template-columns: 1fr; gap: 28px; padding: 34px 0; }
  .tracker-copy { padding: 0; }
  .tracker-field { grid-template-columns: 38px minmax(0,1fr); }
  .tracker-field > span { width: 38px; height: 38px; }
  .tracker-field .btn { grid-column: 1 / -1; width: 100%; min-width: 0; margin-top: 4px; }
  .tracker-form > small { padding-left: 4px; }
  .tracker-result { padding: 20px; border-radius: 20px; }
  .tracker-result.is-success { padding: 0; border-radius: 12px; }
  .tracker-result.is-success .tracker-result-head { align-items: flex-start; padding: 18px; }
  .tracker-eta { grid-template-columns: 1fr; padding: 18px 18px 2px; }
  .tracker-eta span { grid-column: 1; grid-row: auto; max-width: none; margin-top: 5px; text-align: left; }
  .tracker-progress { margin: 22px 12px 8px; }
  .tracker-progress li { font-size: .5rem; }
  .tracker-details { grid-template-columns: 1fr; }
  .tracker-details > div { padding: 13px 18px; }
  .tracker-live { padding: 18px; }
  .tracker-live-head { align-items: flex-start; flex-direction: column; }
  .tracker-map { height: 220px; }
  .tracker-history { padding: 0 18px; }
  .tracker-checked { padding: 13px 18px; }
  .tracker-result.is-error { align-items: flex-start; flex-direction: column; }
  .partners-heading { margin-bottom: 35px; }
  .partner-logo-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; grid-auto-flow: row;
    gap: 10px; overflow: visible; padding-bottom: 0; scroll-snap-type: none;
  }
  .partner-logo-grid figure { min-height: 112px; padding: 4px; scroll-snap-align: none; }
  .partner-logo-grid figure:last-child:nth-child(odd) { width: 50%; grid-column: 1 / -1; justify-self: center; }
  .partner-logo-grid img { height: 112px; }
  .home-insights-intro { margin-top: 22px; }
  .home-articles-grid .article-card-media { height: 235px; }
  .home-faq-grid { gap: 38px; }
  .cta-band, body .articles-newsletter { background: radial-gradient(ellipse 85% 58% at 70% 58%,rgba(76,92,225,.4),rgba(53,65,177,.16) 48%,transparent 78%),linear-gradient(180deg,#090a28,#0d113d 48%,#07071f); }
  .home-faq .faq-list summary { padding: 23px 0; font-size: 1rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 330px; padding: 28px; }
  .service-card h3 { margin-top: 65px; }
  .services-scroll-layout { display: block; }
  .services-sticky { position: static; min-height: 0; padding-bottom: 42px; }
  .carton-wrap { margin: 28px auto 0; }
  .carton-stage { height: 275px; }
  .carton { transform: translateX(-50%) rotateX(-7deg) rotateY(-24deg) scale(.82); }
  .services-scroll-layout .service-grid { gap: 14px; }
  .services-scroll-layout .service-card { min-height: 360px; padding: 28px; border-radius: 22px; }
  .services-scroll-layout .service-card h3 { margin-top: 0; padding-top: 62px; }
  .feature-media img { min-height: 430px; }
  .feature-card { right: 12px; bottom: 12px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-step::before { margin-bottom: 28px; }
  .process-route { height: auto; display: grid; gap: 14px; padding: 28px 18px; overflow: hidden; border-radius: 22px; }
  .process-route::after { content: ""; position: absolute; left: 48px; top: 58px; bottom: 58px; width: 3px; border-radius: 3px; background: linear-gradient(to bottom,#7890ff calc(var(--route-progress) * 100%),rgba(255,255,255,.13) 0); }
  .process-route-line { display: none; }
  .process-node,.process-node--1,.process-node--2,.process-node--3,.process-node--4 { position: relative; left: auto; top: auto; display: grid; width: auto; height: auto; grid-template-columns: 60px 1fr; align-items: center; opacity: .5; }
  .process-dot { position: relative; left: auto; top: auto; z-index: 2; width: 48px; height: 48px; transform: scale(.85); }
  .process-node-card,.process-node--below .process-node-card,.process-node--4 .process-node-card { position: static; width: auto; padding: 20px; transform: none; }
  .process-node.is-active .process-dot { transform: scale(1); }
  .process-node.is-active .process-node-card,.process-node--4.is-active .process-node-card { transform: translateX(4px); }
  .process-route::before { display: none; }
  .fleet-grid { grid-template-columns: 1fr; }
  .fleet-image img, .fleet-side .fleet-image img { min-height: 280px; }
  .quote-card { padding: 42px 25px; border-radius: 24px; }
  .cta-row { align-items: start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 38px; text-align: center; }
  .footer-brand { grid-column: auto; grid-row: auto; }
  .footer-brand img { margin-inline: auto; }
  .footer-brand p { margin: 20px auto 0; }
  .footer-links { justify-items: center; }
  .footer-bottom { align-items: center; flex-direction: column; text-align: center; }
  .blog-grid { grid-template-columns: 1fr; }
  .inner-hero { padding: 135px 0 60px; }
  .inner-hero-copy h1 { font-size: clamp(1.35rem,6.8vw,2.15rem); }
  .inner-hero-media > img { height: 350px; border-radius: 22px; }
  .inner-hero-media figcaption { width: 125px; height: 125px; left: 12px; bottom: -24px; padding: 18px; }
  .inner-hero--services .inner-hero-media figcaption {
    width: 152px; height: 152px; padding: 18px; align-items: center; text-align: center;
  }
  .inner-hero--services .inner-hero-media figcaption strong { font-size: 1.35rem; line-height: 1.05; white-space: nowrap; }
  .inner-hero--services .inner-hero-media figcaption span { max-width: 112px; margin-top: 7px; font-size: .61rem; line-height: 1.25; }
  .service-detail { grid-template-columns: 45px 1fr; gap: 18px; padding: 38px 0; }
  .service-detail:hover { padding-inline: 0; }
  .service-detail-icon { display: none; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article { min-height: 235px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .benefit-grid h3 { margin-top: 65px; }
  .about-story { grid-template-columns: 1fr; gap: 10px; }
  .about-story-copy { padding-top: 10px; }
  .values-grid { grid-template-columns: 1fr; }
  .values-grid article { min-height: 280px; }
  .mission-grid { grid-template-columns: 1fr; gap: 45px; }
  .mission-mark { height: 290px; }
  .contact-hero { padding: 135px 0 70px; }
  .contact-layout { gap: 50px; }
  .contact-copy h1 { font-size: clamp(2.75rem,12vw,3.35rem); }
  .contact-copy h2 { font-size: clamp(2.4rem,11vw,3.1rem); }
  .contact-direct a { display: grid; gap: 4px; }
  .contact-form-card { padding: 28px 20px; border-radius: 22px; }
  .form-row { grid-template-columns: 1fr; }
  .form-submit { align-items: start; flex-direction: column; }
  .contact-info-grid { grid-template-columns: 1fr; }
  .contact-info-grid article, .contact-info-grid article + article { padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .contact-info-grid figure { grid-column: 1; }
  .faq-list { margin-left: 0; }
  .articles-hero { padding: 145px 0 75px; }
  .articles-hero-row { display: block; }
  .articles-hero h1, .page-hero h1 { font-size: clamp(1.35rem,6.8vw,2.15rem); }
  .articles-hero-row > p { margin-top: 25px; }
  .featured-article-section { padding: 35px 0 20px; }
  .featured-article { min-height: 0; border-radius: 22px; }
  .featured-article-media img { min-height: 280px; height: 280px; }
  .featured-article-copy { padding: 28px 22px; }
  .featured-label { margin-top: 38px; }
  .featured-article-copy h2 { font-size: 2rem; }
  .articles-index { padding-top: 55px; }
  .articles-toolbar { align-items: stretch; flex-direction: column; }
  .articles-search { width: 100%; }
  .articles-grid { grid-template-columns: 1fr; }
  .article-card-body { min-height: 0; }
  .articles-pagination a, .articles-pagination span { min-width: 37px; min-height: 37px; padding: 0 10px; }
  .newsletter-row { gap: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .hero-video { display: none; }
  .hero { background: radial-gradient(circle at 72% 38%,#2637a2,transparent 42%),#090a28; }
  .process-route { --route-progress: 1 !important; }
  .process-node { opacity: 1; }
}

/* Transport quote */
.quote-hero .inner-hero-media > img { object-position: 48% center; }
.quote-hero-planner { min-height: 545px; }
.route-planner { position: relative; min-height: 545px; overflow: hidden; padding: 30px; color: var(--ink); border: 1px solid rgba(255,255,255,.3); border-radius: 28px; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(229,235,255,.94)); box-shadow: 0 30px 85px rgba(0,0,0,.28); }
.route-planner-head { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 18px; align-items: center; font: 800 .78rem/1 var(--font-display); }
.route-planner-head b { display: flex; align-items: center; gap: 7px; color: #317b58; font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }
.route-planner-head b i { width: 7px; height: 7px; border-radius: 50%; background: #45bd82; box-shadow: 0 0 0 5px rgba(69,189,130,.13); }
.route-planner-map { position: relative; height: 275px; margin: 24px 0 18px; overflow: hidden; border-radius: 22px; background: radial-gradient(circle at 72% 25%,rgba(94,118,255,.18),transparent 27%),linear-gradient(145deg,#111844,#24369e); }
.route-map-orbit { position: absolute; border: 1px solid rgba(147,167,255,.16); border-radius: 50%; }
.route-map-orbit--one { width: 330px; height: 330px; left: -95px; top: -145px; }
.route-map-orbit--two { width: 240px; height: 240px; right: -80px; bottom: -130px; }
.route-map-line { position: absolute; left: 16%; right: 14%; top: 52%; height: 90px; border-top: 3px dashed rgba(151,168,255,.72); border-radius: 50%; transform: rotate(-8deg); }
.route-pin { position: absolute; z-index: 2; display: grid; width: 42px; height: 42px; place-items: center; color: white; border: 5px solid rgba(255,255,255,.2); border-radius: 50% 50% 50% 8px; background: #667cff; box-shadow: 0 13px 30px rgba(0,0,0,.25); font: 800 .7rem/1 var(--font-display); font-style: normal; transform: rotate(-45deg); }
.route-pin > span { transform: rotate(45deg); }
.route-pin--from { left: 12%; top: 47%; }
.route-pin--to { right: 10%; top: 23%; background: #fff; color: var(--blue); }
.route-pin { text-indent: 0; }
.route-package { position: absolute; z-index: 3; left: 50%; top: 50%; width: 82px; height: 68px; transform: translate(-50%,-45%) rotate(-4deg); }
.route-package span,.route-package i,.route-package b { position: absolute; display: block; background: #d89a4a; border: 1px solid rgba(71,39,10,.22); }
.route-package span { inset: 13px 5px 0; }
.route-package i { left: 5px; top: 0; width: 37px; height: 24px; transform: skewY(-18deg); background: #e8b66e; }
.route-package b { right: 5px; top: 0; width: 37px; height: 24px; transform: skewY(18deg); background: #c9873d; }
.route-planner-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.route-planner-points > div { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid rgba(25,38,82,.09); border-radius: 14px; background: rgba(255,255,255,.72); }
.route-planner-points i { display: grid; width: 30px; height: 30px; place-items: center; color: white; border-radius: 9px; background: var(--blue); font: 800 .62rem/1 var(--font-display); font-style: normal; }
.route-planner-points span,.route-planner-points small { display: block; }.route-planner-points span { font-size: .72rem; font-weight: 800; }.route-planner-points small { margin-top: 2px; color: var(--muted); font-size: .6rem; font-weight: 600; }
.route-planner-meta { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 16px; overflow: hidden; border: 1px solid rgba(25,38,82,.08); border-radius: 14px; background: rgba(25,38,82,.08); }
.route-planner-meta span { padding: 12px; background: rgba(255,255,255,.76); font-size: .61rem; font-weight: 750; line-height: 1.4; }.route-planner-meta small { display: block; margin-bottom: 3px; color: var(--blue); font-size: .54rem; text-transform: uppercase; letter-spacing: .08em; }
.quote-section { background: #f4f6fa; }
.quote-layout { display: grid; grid-template-columns: minmax(250px,.67fr) minmax(600px,1.33fr); gap: clamp(50px,7vw,110px); align-items: start; }
.quote-intro { position: sticky; top: 120px; }
.quote-intro h2 { margin: 18px 0 22px; font-size: clamp(2.4rem,4vw,4.35rem); line-height: .98; letter-spacing: -.055em; }
.quote-intro > p { color: var(--muted); font-size: 1.05rem; line-height: 1.75; margin-bottom: 38px; }
.quote-promise { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 20px 0; border-top: 1px solid var(--line); }
.quote-promise > span { color: var(--blue); font: 700 .72rem Manrope,sans-serif; letter-spacing: .08em; }
.quote-promise p { margin: 0; color: var(--muted); line-height: 1.5; }
.quote-promise strong { display: block; color: var(--ink); margin-bottom: 3px; }
.quote-phone { display: block; margin-top: 28px; padding: 22px 24px; color: white; background: linear-gradient(130deg,#090a28,#173b8f); border-radius: 18px; text-decoration: none; }
.quote-phone small,.quote-phone strong { display: block; }
.quote-phone small { opacity: .7; margin-bottom: 4px; }.quote-phone strong { font: 800 1.55rem Manrope,sans-serif; }
.transport-card { overflow: hidden; min-height: 665px; background: white; border: 1px solid rgba(13,28,68,.09); border-radius: 30px; box-shadow: 0 25px 70px rgba(24,42,86,.1); scroll-margin-top: 110px; }
.quote-progress { padding: 29px 42px 24px; background: #fbfcff; border-bottom: 1px solid var(--line); }
.quote-progress-bar { height: 4px; background: #e5e9f1; border-radius: 4px; overflow: hidden; }
.quote-progress-bar i { display: block; width: 25%; height: 100%; background: linear-gradient(90deg,#1135a1,#35a8ef); transition: width .3s ease; }
.quote-progress-meta { display: flex; justify-content: space-between; gap: 20px; padding-top: 13px; color: var(--muted); font-size: .8rem; }
.quote-progress-meta b,.quote-progress-meta strong { color: var(--ink); }
.transport-form { padding: 0 42px 32px; }
.quote-step { display: none; min-width: 0; margin: 0; padding: 38px 0 28px; border: 0; animation: quoteIn .28s ease; }
.quote-step.is-active { display: block; }
@keyframes quoteIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.quote-step legend { display: flex; align-items: center; gap: 14px; width: 100%; padding: 0; color: var(--ink); font: 700 clamp(1.65rem,2.5vw,2.2rem)/1.1 Manrope,sans-serif; letter-spacing: -.035em; }
.quote-step legend span { display: grid; flex: 0 0 38px; height: 38px; place-items: center; color: white; background: var(--blue); border-radius: 50%; font-size: .7rem; letter-spacing: .06em; }
.step-lead { margin: 12px 0 30px 52px; color: var(--muted); }
.transport-form label { display: grid; gap: 9px; color: var(--ink); font-size: .78rem; font-weight: 700; letter-spacing: .025em; }
.transport-form input,.transport-form select,.transport-form textarea { width: 100%; min-width: 0; padding: 14px 15px; color: var(--ink); background: #f7f8fb; border: 1px solid #dde2eb; border-radius: 10px; font: 500 .95rem Inter,sans-serif; outline: 0; transition: .2s; }
.transport-form textarea { resize: vertical; line-height: 1.55; }
.transport-form input:focus,.transport-form select:focus,.transport-form textarea:focus { background: white; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(25,77,190,.1); }
.transport-form .form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 20px; }
.transport-form .form-row--thirds { grid-template-columns: 1fr 1fr .75fr; }
.route-block { position: relative; padding-left: 48px; }.route-block h3 { position: relative; margin: 0 0 20px; font-size: 1rem; }
.route-block h3 i { position: absolute; left: -48px; top: -7px; display: grid; width: 32px; height: 32px; place-items: center; color: white; background: var(--ink); border-radius: 50%; font-style: normal; font-size: .72rem; }
.route-line { width: 1px; height: 28px; margin: 8px 0 8px 15px; background: #bcc5d5; }
.choice-group { display: flex; align-items: center; gap: 20px; padding-top: 8px; }
.choice-group > span { margin-right: auto; font-size: .82rem; font-weight: 700; }.choice-group label { display: flex; align-items: center; gap: 8px; padding: 11px 17px; background: #f4f6fa; border-radius: 10px; }
.choice-group input,.consent input { width: auto; accent-color: var(--blue); }
.quote-actions { display: flex; align-items: center; gap: 18px; padding-top: 24px; border-top: 1px solid var(--line); }
.quote-actions > span { margin: 0 auto; color: var(--muted); font-size: .72rem; }.quote-actions .btn { border: 0; cursor: pointer; }
.quote-back { padding: 12px 0; color: var(--ink); background: none; border: 0; font-weight: 700; cursor: pointer; }
.quote-review { display: grid; gap: 10px; margin-bottom: 22px; }
.quote-review > div { padding: 16px 18px; background: #f5f7fb; border-radius: 12px; }.quote-review span,.quote-review strong,.quote-review small { display: block; }
.quote-review span { margin-bottom: 5px; color: var(--blue); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.quote-review small { margin-top: 4px; color: var(--muted); }
.consent { display: flex!important; align-items: flex-start; gap: 10px!important; margin-top: 18px; color: var(--muted)!important; font-weight: 500!important; line-height: 1.5; }
.consent input { margin-top: 3px; }.quote-success { display: grid; grid-template-columns: 70px 1fr; gap: 26px; padding: 70px 55px; }
.quote-success > span { display: grid; width: 70px; height: 70px; place-items: center; color: white; background: var(--blue); border-radius: 50%; font-size: 1.7rem; }.quote-success h2 { margin: 5px 0 12px; font-size: 2.6rem; }.quote-success p { color: var(--muted); margin-bottom: 28px; }
.quote-after { padding: 90px 0; color: white; background: #090a28; }.quote-after-row { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: end; }
.quote-after-row > div > span { color: #67bbf2; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.quote-after h2 { max-width: 500px; margin: 15px 0 0; font-size: clamp(2.4rem,4vw,4rem); line-height: 1; letter-spacing: -.05em; }
.quote-after ol { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 0; list-style: none; }.quote-after li { min-height: 140px; padding: 20px; border-left: 1px solid rgba(255,255,255,.18); }.quote-after li b,.quote-after li span { display: block; }.quote-after li b { margin-bottom: 48px; color: #67bbf2; font-size: .7rem; }.quote-after li span { line-height: 1.45; }

@media (max-width: 980px) {
  .quote-layout { grid-template-columns: 1fr; }.quote-intro { position: static; max-width: 760px; }.quote-intro h2 { max-width: 650px; }
}
@media (max-width: 720px) {
  .quote-layout { gap: 42px; }.transport-card { min-height: 0; border-radius: 22px; }.quote-progress { padding: 24px 20px 20px; }.transport-form { padding: 0 20px 24px; }
  .quote-hero-planner { min-height: 0; }.route-planner { min-height: 500px; padding: 18px; border-radius: 22px; }.route-planner-map { height: 245px; }.route-planner-meta { grid-template-columns: 1fr; }.route-planner-meta span { padding: 9px 12px; }
  .quote-step { padding-top: 30px; }.quote-step legend { align-items: flex-start; font-size: 1.55rem; }.step-lead { margin-left: 0; }
  .transport-form .form-row,.transport-form .form-row--thirds { grid-template-columns: 1fr; gap: 16px; }.route-block { padding-left: 40px; }.route-block h3 i { left: -40px; }
  .choice-group { align-items: stretch; flex-wrap: wrap; }.choice-group > span { flex: 0 0 100%; }.quote-actions { flex-wrap: wrap; }.quote-actions > span { order: 3; flex: 0 0 100%; text-align: center; }.quote-actions .btn { margin-left: auto; padding-inline: 20px; }
  .quote-after { padding: 70px 0; }.quote-after-row { grid-template-columns: 1fr; gap: 40px; }.quote-after ol { grid-template-columns: 1fr; }.quote-after li { min-height: 0; display: grid; grid-template-columns: 40px 1fr; gap: 12px; }.quote-after li b { margin: 0; }
  .quote-success { grid-template-columns: 1fr; padding: 45px 24px; }
}

/* QR landing */
.qr-page { position: relative; min-height: 790px; padding: 155px 0 55px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 78% 18%,rgba(76,96,228,.55),transparent 34%),linear-gradient(135deg,#090a28,#111957 67%,#2f42bd); }
.qr-page::before { content: ""; position: absolute; right: clamp(28px,4vw,72px); bottom: clamp(24px,4vw,64px); width: clamp(280px,34vw,520px); aspect-ratio: 1; background: url("assets/images/logo.svg") center/contain no-repeat; filter: brightness(0) invert(1); opacity: .045; pointer-events: none; }
.qr-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .78fr 1.22fr; gap: 55px 90px; align-items: center; }
.qr-layout > *,.qr-action-panel,.qr-action-card > div { min-width: 0; }
.qr-copy h1 { max-width: 620px; margin: 18px 0 25px; font-size: clamp(2.9rem,4.85vw,4.9rem); }
.qr-copy > p { max-width: 540px; color: rgba(255,255,255,.67); font-size: 1.05rem; }
.qr-primary-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.qr-action-panel { display: grid; gap: 12px; }
.qr-action-card { display: grid; grid-template-columns: 40px 1fr 34px; gap: 18px; align-items: center; padding: 23px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.07); backdrop-filter: blur(14px); transition: transform .25s,border-color .25s,background .25s; }
.qr-action-card:hover { border-color: rgba(170,183,255,.55); background: rgba(255,255,255,.11); transform: translateX(-5px); }
.qr-action-card--featured { color: var(--ink); border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.95); }
.qr-action-card--featured:hover { background: #fff; }
.qr-action-card > span { color: #9fb0ff; font-size: .67rem; font-weight: 850; letter-spacing: .08em; }
.qr-action-card--featured > span { color: var(--blue); }
.qr-action-card small,.qr-action-card strong,.qr-action-card p { display: block; }.qr-action-card small { margin-bottom: 3px; color: #9fb0ff; font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.qr-action-card--featured small { color: var(--blue); }.qr-action-card strong { font: 750 1.1rem/1.25 var(--font-display); }.qr-action-card p { margin-top: 5px; color: rgba(255,255,255,.52); font-size: .72rem; }.qr-action-card--featured p { color: var(--muted); }.qr-action-card > b { font-size: 1.25rem; font-weight: 500; }
.qr-contact-bar { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(4,7,30,.28); }
.qr-contact-bar > * { padding: 18px 24px; border-right: 1px solid rgba(255,255,255,.12); }.qr-contact-bar > *:last-child { border: 0; }.qr-contact-bar small,.qr-contact-bar strong { display: block; }.qr-contact-bar small { margin-bottom: 4px; color: #9fb0ff; font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.qr-contact-bar strong { font: 700 .82rem/1.3 var(--font-display); }

/* Final utility pages */
.thank-you-section { display: grid; min-height: 760px; padding: 150px 0 70px; place-items: center; color: var(--white); background: radial-gradient(circle at 75% 20%,rgba(82,103,235,.5),transparent 34%),linear-gradient(135deg,#090a28,#16216e); }
.thank-you-card { max-width: 850px; padding: clamp(38px,7vw,85px); text-align: center; border: 1px solid rgba(255,255,255,.15); border-radius: 34px; background: rgba(255,255,255,.055); backdrop-filter: blur(16px); }
.thank-you-icon { display: grid; width: 72px; height: 72px; margin: 0 auto 28px; place-items: center; color: var(--ink); border-radius: 50%; background: var(--white); font-size: 1.6rem; font-weight: 900; }
.thank-you-card .eyebrow { justify-content: center; color: #aebcff; }.thank-you-card h1 { margin: 15px 0 22px; font-size: clamp(2.9rem,4.85vw,4.9rem); }.thank-you-card > p { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,.68); }.thank-you-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 35px; }
.bto-legal-page .page-hero { min-height: 430px; padding-bottom: 80px; }
.bto-legal-page main > .page-shell { padding-top: 50px; }
.bto-legal-page .entry-content { max-width: 1040px; color: #3e4661; line-height: 1.8; }
.bto-legal-page .entry-content > p:first-child { color: var(--blue); font: 800 .76rem/1.4 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.bto-legal-page .entry-content strong { color: var(--ink); }
.bto-legal-page .entry-content h2,.bto-legal-page .entry-content h3 { padding-top: .5em; color: var(--ink); }
.bto-legal-page .entry-content li { margin-bottom: .6em; }
/* Single article — editorial reading experience */
.single .page-hero { min-height: 590px; padding: 170px 0 82px; }
.single .page-hero > .container { width: min(1120px,calc(100% - 56px)); }
.single .page-hero h1 {
  max-width: 1040px; margin-top: 20px;
  font-size: clamp(2.55rem,4.1vw,4.25rem); line-height: 1.04; letter-spacing: -.052em;
}
.single-post-meta { display: flex; flex-wrap: wrap; gap: 11px 28px; margin-top: 32px; color: rgba(255,255,255,.65); font-size: .78rem; font-weight: 700; }
.single-post-meta > * { display: inline-flex; align-items: center; gap: 9px; }
.single-post-meta > * + *::before { content: ""; width: 5px; height: 5px; margin-right: 10px; border-radius: 50%; background: #91a5ff; }
.single main > .page-shell { padding-top: 42px; padding-bottom: 88px; }
.single .entry-content { max-width: 980px; padding: clamp(24px,4.5vw,58px); color: #343c58; font-size: 1.03rem; line-height: 1.82; }
.single-feature-image { margin: 0 0 clamp(42px,6vw,68px); overflow: hidden; border-radius: 25px; background: #e8ecf5; box-shadow: 0 22px 65px rgba(16,25,57,.12); }
.single-feature-image img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.single .entry-content > p,
.single .entry-content > h2,
.single .entry-content > h3,
.single .entry-content > h4,
.single .entry-content > ul,
.single .entry-content > ol,
.single .entry-content > blockquote,
.single .entry-content > .wp-block-group { max-width: 760px; margin-right: auto; margin-left: auto; }
.single .entry-content > p:first-of-type { color: #1d274e; font-size: 1.18rem; line-height: 1.72; }
.single .entry-content h2 {
  position: relative; margin-top: 2.25em; padding: 24px 0 0 22px; border-top: 1px solid #dce2f0;
  color: var(--ink); font-size: clamp(1.72rem,2.6vw,2.42rem); line-height: 1.16; letter-spacing: -.035em;
}
.single .entry-content h2::before { content: ""; position: absolute; left: 0; top: 25px; width: 5px; height: 1em; border-radius: 999px; background: linear-gradient(180deg,#6578ff,#254bc0); }
.single .entry-content h3 { margin-top: 1.9em; color: #243da8; font-size: clamp(1.28rem,1.8vw,1.62rem); line-height: 1.3; letter-spacing: -.02em; }
.single .entry-content h4 { color: var(--ink); font-size: 1.12rem; }
.single .entry-content ul,
.single .entry-content ol { padding: 24px 28px 24px 52px; border: 1px solid #dce4f5; border-radius: 18px; background: linear-gradient(145deg,#f7f9ff,#eef3ff); }
.single .entry-content li { margin: .52em 0; padding-left: 5px; }
.single .entry-content li::marker { color: #3854cd; font-weight: 800; }
.single .entry-content strong { color: #151d45; }
.single .entry-content blockquote { position: relative; padding: 32px 34px 32px 72px; border: 0; border-radius: 22px; color: white; background: linear-gradient(135deg,#0b1038,#263ba9); box-shadow: 0 18px 45px rgba(17,28,94,.18); }
.single .entry-content blockquote::before { content: "“"; position: absolute; left: 24px; top: 16px; color: #91a5ff; font: 800 3rem/1 var(--font-display); }
.single .entry-content blockquote p { margin: 0; color: inherit; }
.single .entry-content a { font-weight: 700; text-underline-offset: 3px; }
.single .entry-content hr { max-width: 760px; margin: 50px auto; border: 0; border-top: 1px solid #dce2f0; }

/* Single article — service pathways and related reading */
.bto-site-widgets main > .page-shell + section { margin-top: 18px; }
.post-service-cta {
  position: relative; padding: 82px 0 0; overflow: hidden; color: var(--white);
  background: radial-gradient(circle at 76% 28%,rgba(75,94,224,.56),transparent 34%),linear-gradient(128deg,#090a28 0,#10164d 58%,#293ab3 100%);
}
.post-service-cta::after {
  content: ""; position: absolute; right: -80px; top: -115px; width: 460px; height: 460px;
  background: url("assets/images/logo.svg") center/contain no-repeat; filter: brightness(0) invert(1); opacity: .035; pointer-events: none;
}
.post-service-cta-row { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; padding-bottom: 55px; }
.post-service-cta .eyebrow { color: #aebcff; }
.post-service-cta h2 { max-width: 780px; margin: 16px 0 20px; color: var(--white); font-size: clamp(2.45rem,4.2vw,4.35rem); line-height: 1.02; letter-spacing: -.055em; }
.post-service-cta p { max-width: 690px; color: rgba(255,255,255,.66); font-size: 1rem; }
.post-service-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.post-service-cta .btn--ghost { color: var(--white); border-color: rgba(255,255,255,.26); }
.post-service-cta .btn--ghost:hover { color: var(--ink); border-color: var(--white); background: var(--white); }
.post-service-links { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.14); }
.post-service-links a { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; min-width: 0; padding: 28px 22px; color: var(--white); border-right: 1px solid rgba(255,255,255,.14); transition: background .25s,padding .25s; }
.post-service-links a:last-child { border-right: 0; }
.post-service-links a:hover { padding-left: 27px; background: rgba(255,255,255,.08); }
.post-service-links span { color: #94a8ff; font-size: .65rem; font-weight: 850; letter-spacing: .08em; }
.post-service-links strong { overflow-wrap: anywhere; font: 700 .86rem/1.3 var(--font-display); }
.post-service-links b { font-size: 1.15rem; font-weight: 500; }
.related-posts { background: #f4f6fa; }
.related-posts-head { align-items: end; }
.related-posts-head h2 { margin-top: 15px; }
.related-posts-grid .article-card-body { min-height: 245px; }

@media (max-width: 860px) {
  .qr-layout { grid-template-columns: 1fr; gap: 38px; }
  .qr-copy { max-width: 680px; }
  .post-service-cta-row { grid-template-columns: 1fr; gap: 30px; }
  .post-service-actions { justify-content: flex-start; }
  .post-service-links { grid-template-columns: repeat(2,1fr); }
  .post-service-links a:nth-child(2) { border-right: 0; }
  .post-service-links a:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
}

@media (max-width: 720px) {
  .qr-page { min-height: 0; padding: 130px 0 30px; }
  .qr-page .qr-layout { width: auto; max-width: none; grid-template-columns: minmax(0,1fr); gap: 30px; margin-right: 14px; margin-left: 14px; }
  .qr-copy,.qr-action-panel,.qr-contact-bar { width: 100%; max-width: 100%; }
  .qr-copy h1,.thank-you-card h1 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(1.35rem,6.8vw,2.15rem); }
  .qr-primary-actions { display: grid; }.qr-primary-actions .btn { width: 100%; }
  .qr-action-card { grid-template-columns: 30px minmax(0,1fr) 24px; gap: 12px; padding: 19px 16px; border-radius: 18px; }
  .qr-action-card strong,.qr-action-card p { overflow-wrap: anywhere; }
  .qr-contact-bar { grid-template-columns: 1fr; }.qr-contact-bar > * { padding: 15px 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .thank-you-section { min-height: 680px; padding: 125px 0 45px; }.thank-you-card { width: calc(100% - 28px); padding: 38px 20px; border-radius: 24px; }
  .bto-legal-page .page-hero { min-height: 330px; padding-bottom: 55px; }
  .bto-site-widgets main > .page-shell + section { margin-top: 10px; }
  .post-service-cta { padding-top: 58px; }
  .post-service-cta-row { padding-bottom: 38px; }
  .post-service-cta h2 { font-size: clamp(2.05rem,10vw,3rem); }
  .post-service-actions { display: grid; }
  .post-service-actions .btn { width: 100%; }
  .post-service-links { grid-template-columns: 1fr; }
  .post-service-links a { padding: 21px 4px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .post-service-links a:nth-child(3) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .post-service-links a:last-child { border-bottom: 0; }
  .post-service-links a:hover { padding-left: 8px; }
  .related-posts-head .text-link { display: inline-flex; margin-top: 20px; }
  .single .page-hero { min-height: 470px; padding: 132px 0 58px; }
  .single .page-hero > .container { width: calc(100% - 36px); }
  .single .page-hero h1 { font-size: clamp(2rem,10vw,3rem); line-height: 1.06; }
  .single-post-meta { margin-top: 24px; }
  .single main > .page-shell { padding-top: 12px; padding-bottom: 45px; }
  .single .entry-content { padding: 18px 18px 36px; font-size: .97rem; }
  .single-feature-image { margin-bottom: 38px; border-radius: 18px; }
  .single .entry-content > p:first-of-type { font-size: 1.08rem; }
  .single .entry-content h2 { padding-left: 16px; font-size: 1.65rem; }
  .single .entry-content ul,
  .single .entry-content ol { padding: 20px 20px 20px 40px; border-radius: 15px; }
  .single .entry-content blockquote { padding: 28px 22px 28px 56px; }
  .single .entry-content blockquote::before { left: 18px; }
}

/* Unified widget geometry */
.bto-home-widgets .site-header,
.bto-site-widgets .site-header,
.bto-home-widgets main > section,
.bto-site-widgets main > section,
.bto-site-widgets main > header,
.bto-site-widgets main > .page-shell,
.hero-context,
.hero-visual,
.tracker-form,
.tracker-result,
.service-card,
.feature-media img,
.feature-card,
.process-route,
.process-node-card,
.fleet-image,
.quote-card,
.partner-logo-grid,
.faq-list,
.inner-hero-media > img,
.service-detail,
.benefit-grid article,
.articles-toolbar,
.entry-content,
.post-card,
.featured-article,
.article-card,
.contact-form-card,
.contact-info-grid figure,
.route-planner,
.route-planner-map,
.route-planner-points > div,
.route-planner-meta,
.transport-card,
.quote-review > div,
.qr-action-card,
.qr-contact-bar,
.thank-you-card,
.single-feature-image,
.single .entry-content ul,
.single .entry-content ol,
.single .entry-content blockquote {
  border-radius: 12px;
}

/* Every page hero uses the same compact radius. */
.bto-home-widgets main > .hero,
.bto-site-widgets main > .inner-hero,
.bto-site-widgets main > .express-hero,
.bto-site-widgets main > .articles-hero,
.bto-site-widgets main > .page-hero,
.bto-site-widgets main > .contact-hero {
  border-radius: 12px;
}

/* Compact editorial heroes: these pages do not need a full-viewport intro. */
.bto-site-widgets main > .articles-hero {
  min-height: 440px;
  padding-block: 150px 76px;
}

.bto-site-widgets .articles-hero-row {
  min-height: 214px;
}

.category.bto-site-widgets main > .page-hero {
  min-height: 400px;
  padding-block: 150px 72px;
}

.single.bto-site-widgets main > .page-hero {
  min-height: 460px;
  padding-block: 148px 70px;
}

.single-article-shell {
  display: grid;
  grid-template-columns: minmax(210px,270px) minmax(0,1fr);
  gap: clamp(28px,4vw,64px);
  align-items: start;
}

.single.bto-site-widgets main > .single-article-shell {
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.single .single-article-shell .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 12px;
}

.single .entry-content > p,
.single .entry-content > h2,
.single .entry-content > h3,
.single .entry-content > h4,
.single .entry-content > ul,
.single .entry-content > ol,
.single .entry-content > blockquote,
.single .entry-content > .wp-block-group,
.single .entry-content hr {
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.single .entry-content h2,
.single .entry-content h3 {
  scroll-margin-top: 120px;
}

.post-toc-inner {
  position: sticky;
  top: 118px;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 148px);
  overflow: hidden;
  padding: 24px 22px;
  border: 1px solid rgba(25,38,82,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 38px rgba(18,28,65,.06);
  backdrop-filter: blur(14px);
}

.post-toc {
  align-self: stretch;
  min-width: 0;
}

.post-toc-label {
  display: block;
  margin-bottom: 16px;
  color: var(--blue);
  font: 850 .68rem/1.2 var(--font-display);
  letter-spacing: .11em;
  text-transform: uppercase;
}

.post-toc nav {
  display: grid;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(53,71,198,.38) transparent;
}
.post-toc a {
  padding: 11px 0;
  color: #626b87;
  border-top: 1px solid rgba(25,38,82,.08);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.4;
  transition: color .2s;
}
.post-toc a:hover { color: var(--blue); }
.post-toc .post-toc-level-3 { padding-left: 13px; color: #8991a8; font-size: .73rem; }
.post-toc .post-toc-level-3:hover { color: var(--blue); }
.single-article-shell > .entry-content:only-child { grid-column: 1 / -1; }

/* Ocean freight service pages. */
.ocean-service-hero { background: radial-gradient(circle at 78% 18%,rgba(93,114,255,.5),transparent 34%),linear-gradient(135deg,#070925,#121a62 66%,#3448c8); }
.ocean-service-hero::before { opacity: .035; }
.ocean-service-hero-grid { grid-template-columns: .92fr 1.08fr; }
.ocean-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ocean-hero-scene { position: relative; height: 440px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: linear-gradient(180deg,#536ee2 0%,#a7c2ed 54%,#18368e 55%,#07113f 100%); box-shadow: 0 28px 75px rgba(0,0,0,.3); }
.ocean-hero-scene--photo { isolation: isolate; background: #07113f; }
.ocean-hero-scene--photo::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(135deg,rgba(5,12,54,.18),rgba(29,61,170,.34)); }
.ocean-hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.88) contrast(1.04); }
.ocean-sun { position: absolute; top: 52px; right: 70px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255,255,255,.28); filter: blur(2px); }
.ocean-water { position: absolute; inset: 55% 0 0; opacity: .35; background: repeating-linear-gradient(175deg,transparent 0 24px,rgba(255,255,255,.35) 25px 27px); }
.ocean-ship { position: absolute; right: 8%; bottom: 64px; width: 78%; height: 105px; transform: skewX(-8deg); border-radius: 4px 4px 38px 16px; background: linear-gradient(180deg,#f3f5fb 0 48%,#18245d 49%); box-shadow: 0 24px 42px rgba(4,9,38,.45); }
.ocean-ship::before { content: "BTO"; position: absolute; right: 14%; bottom: 17px; color: var(--white); font: 800 1rem/1 var(--font-display); letter-spacing: .12em; }
.ocean-ship i { position: absolute; right: 12%; top: -62px; width: 110px; height: 65px; background: #f8f9fd; clip-path: polygon(8% 100%,18% 0,86% 0,100% 100%); }
.ocean-ship i::after { content: ""; position: absolute; inset: 17px 22px 26px; background: repeating-linear-gradient(90deg,#1b3379 0 12px,transparent 12px 18px); }
.ocean-ship span,.ocean-ship b,.ocean-ship em { position: absolute; top: -46px; width: 24%; height: 48px; border: 2px solid rgba(255,255,255,.28); background: repeating-linear-gradient(90deg,#283ead 0 7px,#4058d0 7px 13px); }
.ocean-ship span { left: 7%; }.ocean-ship b { left: 32%; background: repeating-linear-gradient(90deg,#c45f42 0 7px,#d87855 7px 13px); }.ocean-ship em { left: 57%; background: repeating-linear-gradient(90deg,#d29b31 0 7px,#e6b64e 7px 13px); }
.ocean-container-stack { position: absolute; left: 9%; bottom: 173px; display: grid; grid-template-columns: repeat(3,58px); gap: 4px; transform: perspective(500px) rotateY(8deg); }
.ocean-container-stack i { height: 35px; border: 1px solid rgba(255,255,255,.22); background: repeating-linear-gradient(90deg,#2f45bd 0 5px,#455ddb 5px 10px); }
.ocean-container-stack i:nth-child(2n) { background: repeating-linear-gradient(90deg,#b9543b 0 5px,#d36a4c 5px 10px); }
.ocean-hero-badge { position: absolute; z-index: 2; right: 22px; top: 22px; display: grid; min-width: 180px; padding: 18px; border-radius: 12px; color: var(--ink); background: rgba(255,255,255,.92); box-shadow: 0 18px 44px rgba(5,8,35,.2); backdrop-filter: blur(12px); }
.ocean-hero-badge strong { color: var(--blue); font: 850 2rem/1 var(--font-display); }.ocean-hero-badge span { margin-top: 6px; color: var(--muted); font-size: .65rem; }
.ocean-service-hero--rail .ocean-hero-scene { background: linear-gradient(180deg,#536ee2 0%,#b8caec 60%,#303a68 61%,#111735 100%); }
.ocean-service-hero--rail .ocean-water { inset: auto 0 36px; height: 58px; opacity: .72; background: repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.28) 39px 43px),linear-gradient(180deg,transparent 45%,rgba(255,255,255,.4) 46% 50%,transparent 51%); }
.ocean-service-hero--rail .ocean-ship { right: 7%; bottom: 92px; width: 84%; height: 92px; transform: none; border-radius: 7px 28px 8px 8px; background: linear-gradient(180deg,#f6f7fb 0 60%,#17245d 61%); }
.ocean-service-hero--rail .ocean-ship::before { right: 5%; bottom: 15px; }
.ocean-service-hero--rail .ocean-ship::after { content: ""; position: absolute; right: 4%; bottom: -19px; width: 48px; height: 48px; border: 9px solid #0a1032; border-radius: 50%; background: #67708f; box-shadow: -390px 0 0 -9px #67708f,-390px 0 0 0 #0a1032; }
.ocean-service-hero--rail .ocean-ship i { right: 0; top: -28px; width: 112px; height: 48px; clip-path: polygon(0 100%,18% 0,72% 0,100% 100%); }
.ocean-service-hero--rail .ocean-ship span,.ocean-service-hero--rail .ocean-ship b,.ocean-service-hero--rail .ocean-ship em { top: -50px; width: 25%; }
.ocean-service-hero--rail .ocean-container-stack { left: 11%; bottom: 184px; }
.ocean-service-facts { padding: 22px 0; background: #f3f6fc; }
.ocean-service-facts > .container { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: var(--white); }
.ocean-service-facts article { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; padding: 24px 28px; border-right: 1px solid rgba(20,31,84,.09); }
.ocean-service-facts article:last-child { border: 0; }.ocean-service-facts b { grid-row: span 2; color: var(--blue); font-size: .7rem; }.ocean-service-facts strong { font: 750 .9rem/1.25 var(--font-display); }.ocean-service-facts span { color: var(--muted); font-size: .69rem; }
.ocean-service-overview { background: #fff; }
.ocean-service-overview-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.ocean-service-overview h2 { max-width: 600px; }
.ocean-service-prose > p { color: var(--muted); font-size: 1.05rem; }
.ocean-service-prose ul { display: grid; gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.ocean-service-prose li { padding: 16px 18px; border-radius: 12px; background: #f4f6fb; font-size: .85rem; font-weight: 700; }.ocean-service-prose li span { margin-right: 10px; color: var(--blue); }
.ocean-solutions-section { background: #f3f6fc; }
.ocean-solutions-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(60px,8vw,120px); align-items: start; }
.ocean-solutions-heading { position: sticky; top: 125px; }
.ocean-solutions-heading h2 { max-width: 560px; }
.ocean-solutions-heading > p { max-width: 520px; margin-top: 25px; color: var(--muted); font-size: 1.02rem; line-height: 1.7; }
.ocean-solutions-grid { display: grid; gap: 18px; }
.ocean-solutions-grid article { position: relative; min-height: 260px; padding: 34px; overflow: hidden; border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: #fff; }
.ocean-solutions-grid article::after { content: ""; position: absolute; right: -75px; bottom: -95px; width: 220px; aspect-ratio: 1; background: url("assets/images/logo.svg") center/contain no-repeat; opacity: .025; }
.ocean-solutions-grid article > span { color: var(--blue); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.ocean-solutions-grid h3 { max-width: 520px; margin: 65px 0 14px; font-size: clamp(1.7rem,2.5vw,2.45rem); }
.ocean-solutions-grid p { position: relative; z-index: 1; max-width: 650px; color: var(--muted); font-size: .9rem; line-height: 1.7; }
.ocean-solution-link { position: relative; z-index: 2; display: inline-flex; gap: 10px; margin-top: 24px; align-items: center; color: var(--blue); font-size: .74rem; font-weight: 800; }
.ocean-solution-link b { transition: transform .2s; }.ocean-solution-link:hover b { transform: translate(3px,-3px); }
.ocean-quote-section { color: #fff; background: radial-gradient(circle at 13% 15%,rgba(74,94,224,.42),transparent 32%),linear-gradient(135deg,#080a2b,#111858 72%,#2639ad); }
.ocean-quote-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(55px,7vw,105px); align-items: start; }
.ocean-quote-intro { position: sticky; top: 125px; padding-top: 18px; }
.ocean-quote-intro .eyebrow { color: #b9c7ff; }
.ocean-quote-intro h2 { font-size: clamp(2.65rem,4vw,4.2rem); }
.ocean-quote-intro > p { max-width: 500px; margin: 26px 0 38px; color: rgba(255,255,255,.66); line-height: 1.7; }
.ocean-quote-intro ul { display: grid; gap: 0; max-width: 500px; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.15); }
.ocean-quote-intro li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.ocean-quote-intro li b { color: #aebcff; font-size: .68rem; }.ocean-quote-intro li strong { display: block; }.ocean-quote-intro li span { color: rgba(255,255,255,.62); font-size: .78rem; }
.ocean-quote-card { padding: clamp(26px,3.2vw,48px); color: var(--ink); border-radius: 12px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.26); }
.ocean-quote-form { display: grid; gap: 36px; }
.ocean-quote-form fieldset { min-width: 0; margin: 0; padding: 0 0 34px; border: 0; border-bottom: 1px solid var(--line); }
.ocean-quote-form legend { width: 100%; margin-bottom: 22px; color: var(--ink); font: 800 1.15rem/1.2 var(--font-display); }
.ocean-quote-form legend span { display: inline-grid; width: 34px; height: 34px; margin-right: 10px; place-items: center; color: var(--blue); border-radius: 10px; background: var(--sky); font-size: .65rem; vertical-align: middle; }
.ocean-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ocean-service-choice > span { display: block; margin-bottom: 10px; color: #353b5d; font-size: .72rem; font-weight: 750; }
.ocean-service-choice > span small { margin-left: 6px; color: var(--muted); font-size: .64rem; font-weight: 500; }
.ocean-service-choice > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ocean-service-choice label { position: relative; display: block; cursor: pointer; }
.ocean-service-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ocean-service-choice label > span { display: grid; min-height: 82px; padding: 14px; align-content: center; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: #f8f9fd; font-size: .72rem; transition: border-color .2s,background .2s,box-shadow .2s,color .2s; }
.ocean-service-choice label b { margin-bottom: 5px; color: var(--blue); font: 850 .68rem/1 var(--font-display); }
.ocean-service-choice input:checked + span { color: var(--ink); border-color: var(--blue); background: #eef1ff; box-shadow: 0 0 0 3px rgba(53,71,198,.08); }
.ocean-service-choice input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.ocean-quote-form label:not(.ocean-form-consent) { display: grid; gap: 8px; color: #353b5d; font-size: .72rem; font-weight: 750; }
.ocean-quote-form input,.ocean-quote-form select,.ocean-quote-form textarea { width: 100%; min-width: 0; padding: 14px 15px; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; outline: 0; background: #f8f9fd; font: 500 .82rem var(--font-body); transition: border-color .2s,box-shadow .2s,background .2s; }
.ocean-quote-form textarea { resize: vertical; }.ocean-quote-form input:focus,.ocean-quote-form select:focus,.ocean-quote-form textarea:focus { border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(53,71,198,.09); }
.ocean-form-wide { grid-column: 1/-1; }
.ocean-form-consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: var(--muted); font-size: .7rem; line-height: 1.5; cursor: pointer; }
.ocean-form-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--blue); }
.ocean-quote-form > .btn { width: 100%; border: 0; }
.ocean-process-section { color: var(--white); background: #080a2d; }
.ocean-process-section .eyebrow { color: #aebcff; }.ocean-process-section .section-intro,.ocean-process-grid p { color: rgba(255,255,255,.58); }
.ocean-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.ocean-process-grid article { min-height: 260px; padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.035); }
.ocean-process-grid span { color: #93a7ff; font-size: .7rem; font-weight: 800; }.ocean-process-grid h3 { margin: 80px 0 14px; }.ocean-process-grid p { font-size: .78rem; }
.ocean-routes-section { background: #f7f8fb; }
.ocean-routes-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.ocean-route-map { position: relative; min-height: 420px; overflow: hidden; border: 1px solid rgba(53,71,198,.1); border-radius: 12px; background: radial-gradient(circle at 18% 24%,rgba(89,111,228,.15),transparent 25%),radial-gradient(circle at 84% 78%,rgba(62,186,151,.11),transparent 25%),linear-gradient(145deg,#f4f6fd,#e8ecf9); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.ocean-route-map::before,.ocean-route-map::after { content: ""; position: absolute; width: 64%; aspect-ratio: 1.8; left: 18%; top: 25%; border: 1px solid rgba(53,71,198,.13); border-radius: 50%; transform: rotate(-12deg); }
.ocean-route-map::after { width: 82%; left: 9%; top: 31%; border-style: dashed; border-color: rgba(53,71,198,.2); transform: rotate(18deg); }
.ocean-route-brand { position: absolute; z-index: 3; left: 50%; top: 50%; display: grid; width: min(48%,250px); min-height: 154px; padding: 24px; place-items: center; text-align: center; border: 1px solid rgba(255,255,255,.92); border-radius: 12px; background: rgba(255,255,255,.9); box-shadow: 0 24px 60px rgba(31,48,127,.14); backdrop-filter: blur(15px); transform: translate(-50%,-50%); }
.ocean-route-brand img { display: block; width: min(100%,185px); max-height: 78px; object-fit: contain; }
.ocean-route-brand small { max-width: 170px; color: var(--muted); font-size: .62rem; font-weight: 700; line-height: 1.4; }
.ocean-route-line { position: absolute; z-index: 1; height: 0; border-top: 2px dashed rgba(53,71,198,.35); transform-origin: left center; }
.ocean-route-line--one { left: 14%; top: 27%; width: 72%; transform: rotate(26deg); }
.ocean-route-line--two { left: 15%; top: 76%; width: 72%; transform: rotate(-29deg); }
.ocean-route-map i { position: absolute; z-index: 4; width: 20px; height: 20px; border: 5px solid #fff; border-radius: 50% 50% 50% 0; background: var(--blue); box-shadow: 0 10px 24px rgba(53,71,198,.28); transform: rotate(-45deg); }
.ocean-route-map i::after { content: ""; position: absolute; width: 5px; height: 5px; left: 3px; top: 3px; border-radius: 50%; background: #fff; }
.ocean-route-map i:nth-of-type(1) { left: 12%; top: 20%; }
.ocean-route-map i:nth-of-type(2) { right: 13%; top: 18%; }
.ocean-route-map i:nth-of-type(3) { left: 13%; bottom: 18%; }
.ocean-route-map i:nth-of-type(4) { right: 12%; bottom: 16%; }
.ocean-routes-grid > div:last-child > p { margin: 25px 0; color: var(--muted); }
.ocean-route-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.ocean-route-links a { display: flex; justify-content: space-between; gap: 12px; padding: 16px; border-radius: 12px; background: var(--white); font-size: .75rem; font-weight: 750; }.ocean-route-links b { color: var(--blue); }
.ocean-resources-section { background: #eef1f8; }
.ocean-resources-head { align-items: end; }
.ocean-resources-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.ocean-resource-card { overflow: hidden; border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: #fff; box-shadow: 0 18px 50px rgba(25,38,105,.06); }
.ocean-resource-media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.42; background: #101951; }
.ocean-resource-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg,rgba(22,43,139,.56),rgba(5,10,45,.26)); transition: opacity .35s; }
.ocean-resource-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); transition: transform .55s,filter .35s; }
.ocean-resource-media > span { position: absolute; z-index: 2; right: 18px; bottom: 16px; color: #fff; font-size: .7rem; font-weight: 800; opacity: 0; transform: translateY(5px); transition: opacity .3s,transform .3s; }
.ocean-resource-card:hover .ocean-resource-media::after { opacity: .22; }
.ocean-resource-card:hover .ocean-resource-media img { filter: none; transform: scale(1.035); }
.ocean-resource-card:hover .ocean-resource-media > span { opacity: 1; transform: none; }
.ocean-resource-card > div { display: flex; min-height: 280px; padding: 26px; flex-direction: column; align-items: flex-start; }
.ocean-resource-card small { color: var(--blue); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ocean-resource-card h3 { margin: 15px 0 12px; font-size: clamp(1.2rem,1.55vw,1.55rem); line-height: 1.18; }
.ocean-resource-card h3 a { color: inherit; }
.ocean-resource-card p { margin: 0 0 22px; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.ocean-resource-card .text-link { margin-top: auto; color: var(--blue); font-size: .7rem; }
.ocean-service-faq { background: #fff; }.ocean-faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }

@media (max-width: 1020px) {
  .ocean-service-hero-grid { grid-template-columns: 1fr; }
  .ocean-hero-scene { max-width: 850px; }
  .ocean-service-overview-grid,.ocean-routes-grid,.ocean-faq-grid { gap: 48px; }
  .ocean-solutions-layout,.ocean-quote-layout { grid-template-columns: 1fr; gap: 48px; }
  .ocean-solutions-heading,.ocean-quote-intro { position: static; }
  .ocean-process-grid { grid-template-columns: repeat(2,1fr); }
  .ocean-resources-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ocean-resource-card:last-child:nth-child(odd) { grid-column: 1/-1; }
}

@media (max-width: 720px) {
  .ocean-hero-actions { display: grid; }
  .ocean-hero-scene { height: 330px; }
  .ocean-ship { right: 3%; width: 92%; transform: scale(.85) skewX(-8deg); transform-origin: bottom right; }
  .ocean-container-stack { left: 3%; transform: scale(.78); transform-origin: bottom left; }
  .ocean-hero-badge { top: 14px; right: 14px; min-width: 145px; padding: 14px; }
  .ocean-service-facts > .container,.ocean-service-overview-grid,.ocean-routes-grid,.ocean-faq-grid { grid-template-columns: 1fr; }
  .ocean-form-grid { grid-template-columns: 1fr; }
  .ocean-service-choice > div { grid-template-columns: 1fr; }
  .ocean-service-facts article { border-right: 0; border-bottom: 1px solid rgba(20,31,84,.09); }
  .ocean-process-grid { grid-template-columns: 1fr; }.ocean-process-grid article { min-height: 220px; }.ocean-process-grid h3 { margin-top: 54px; }
  .ocean-route-map { min-height: 300px; }
  .ocean-route-brand { width: min(54%,210px); min-height: 128px; padding: 18px; }
  .ocean-route-brand img { max-height: 64px; }
  .ocean-route-map i { width: 18px; height: 18px; border-width: 4px; }
  .ocean-route-map i::after { left: 3px; top: 3px; width: 4px; height: 4px; }
  .ocean-route-links { grid-template-columns: 1fr; }
  .ocean-resources-grid { grid-template-columns: 1fr; }
  .ocean-resource-card:last-child:nth-child(odd) { grid-column: auto; }
  .ocean-resource-card > div { min-height: 0; }
}

/* Campaign landing page: paid purchase delivery within 48 hours. */
.express-landing { background: #f3f6fc; }
.express-hero {
  position: relative;
  min-height: 760px;
  margin: 8px;
  overflow: hidden;
  color: var(--white);
  border-radius: 12px;
  background:
    radial-gradient(circle at 82% 25%,rgba(84,105,255,.72),transparent 34%),
    linear-gradient(125deg,#080a2d 0%,#111750 48%,#273cc1 100%);
}
.express-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -180px;
  width: 520px;
  height: 520px;
  border: 80px solid rgba(255,255,255,.035);
  transform: rotate(35deg);
}
.express-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 72px;
  align-items: center;
  min-height: 760px;
  padding-top: 92px;
  padding-bottom: 34px;
}
.express-hero-copy { max-width: 650px; }
.express-hero-copy .eyebrow { color: #b7c3ff; }
.express-hero-copy h1 { max-width: 720px; font-size: clamp(3rem,4.35vw,4.45rem); line-height: 1; }
.express-hero-copy h1 span { color: #9fb2ff; }
.express-hero-copy > p { max-width: 630px; margin: 20px 0; color: rgba(255,255,255,.72); font-size: 1rem; }
.express-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.express-hero-checks { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 18px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.74); font-size: .72rem; font-weight: 700; }
.express-hero-checks li::before { content: "✓"; margin-right: 7px; color: #9fb2ff; }
.express-hero-visual { position: relative; min-width: 0; }
.express-hero-visual figure { position: relative; height: 500px; margin: 0; overflow: hidden; border-radius: 12px; background: #101545; }
.express-hero-visual figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg,rgba(9,12,49,.62),rgba(42,65,208,.28)); mix-blend-mode: multiply; }
.express-hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.express-time-card,.express-route-card { position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.55); border-radius: 12px; box-shadow: 0 22px 60px rgba(5,7,35,.25); backdrop-filter: blur(18px); }
.express-time-card { top: -28px; right: 28px; display: grid; min-width: 190px; padding: 20px 24px; background: rgba(255,255,255,.94); color: var(--ink); }
.express-time-card strong { font: 700 1rem/1 var(--font-display); }
.express-time-card strong b { color: var(--blue); font-size: 2.8rem; }
.express-time-card span { margin-top: 5px; color: var(--muted); font-size: .63rem; }
.express-route-card { left: -28px; bottom: 26px; display: flex; align-items: center; gap: 13px; padding: 15px 20px; background: rgba(8,10,45,.78); }
.express-route-card i { width: 12px; height: 12px; border-radius: 50%; background: #64d49a; box-shadow: 0 0 0 7px rgba(100,212,154,.14); }
.express-route-card span,.express-route-card small { display: block; }
.express-route-card span { font-size: .77rem; font-weight: 750; }
.express-route-card small { margin-bottom: 2px; color: #a9b8ff; font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }
.express-trust { padding: 22px 0; background: #f3f6fc; }
.express-trust-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: var(--white); box-shadow: 0 18px 55px rgba(18,29,76,.05); }
.express-trust-grid > div { display: flex; gap: 16px; align-items: center; padding: 24px 28px; border-right: 1px solid rgba(20,31,84,.08); }
.express-trust-grid > div:last-child { border: 0; }
.express-trust-grid strong { color: var(--blue); font: 800 .7rem/1 var(--font-display); }
.express-trust-grid span { font-size: .82rem; font-weight: 700; line-height: 1.4; }
.express-how { background: #f3f6fc; }
.express-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.express-steps article { position: relative; min-height: 340px; padding: 32px; overflow: hidden; border: 1px solid rgba(20,31,84,.08); border-radius: 12px; background: var(--white); }
.express-steps article > span { position: absolute; top: 24px; right: 24px; color: #b0b7cc; font-size: .7rem; font-weight: 800; }
.express-step-icon { display: grid; width: 58px; height: 58px; margin-bottom: 78px; place-items: center; color: var(--blue); border-radius: 12px; background: #eaf0ff; font-size: 1.35rem; font-weight: 800; }
.express-steps h3 { margin-bottom: 14px; }
.express-steps p { color: var(--muted); font-size: .9rem; }
.express-use-cases { background: var(--white); }
.express-use-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 88px; align-items: start; }
.express-use-copy { position: sticky; top: 120px; }
.express-use-copy h2 { max-width: 540px; }
.express-use-copy p { max-width: 520px; margin: 28px 0; color: var(--muted); }
.express-category-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.express-category-grid article { min-height: 235px; padding: 28px; border-radius: 12px; background: #f3f6fc; }
.express-category-grid b { color: var(--blue); font-size: .7rem; }
.express-category-grid h3 { margin: 58px 0 12px; }
.express-category-grid p { color: var(--muted); font-size: .84rem; }
.express-request-section { color: var(--white); background: #080a2d; }
.express-request-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.express-request-copy { position: sticky; top: 118px; }
.express-request-copy .eyebrow { color: #9fb2ff; }
.express-request-copy h2 { font-size: clamp(2.7rem,4vw,4.5rem); }
.express-request-copy > p { margin: 24px 0; color: rgba(255,255,255,.6); }
.express-request-copy ul { display: grid; gap: 12px; margin: 30px 0; padding: 0; list-style: none; }
.express-request-copy li { color: rgba(255,255,255,.78); font-size: .82rem; font-weight: 700; }
.express-request-copy li span { display: inline-grid; width: 24px; height: 24px; margin-right: 9px; place-items: center; border-radius: 50%; background: rgba(111,136,255,.18); color: #aebcff; }
.express-request-copy > a small,.express-request-copy > a strong { display: block; }
.express-request-copy > a small { color: rgba(255,255,255,.48); font-size: .65rem; }
.express-request-copy > a strong { margin-top: 3px; font: 750 1.4rem/1 var(--font-display); }
.express-form-card { padding: 42px; color: var(--ink); border-radius: 12px; background: var(--white); box-shadow: 0 30px 80px rgba(0,0,0,.2); }
.express-form { display: grid; gap: 18px; }
.express-form label { display: grid; gap: 8px; color: #2c3153; font-size: .76rem; font-weight: 750; }
.express-form input,.express-form textarea { width: 100%; min-width: 0; padding: 14px 15px; color: var(--ink); border: 1px solid #dce2ee; border-radius: 10px; background: #f7f8fb; outline: 0; }
.express-form input:focus,.express-form textarea:focus { border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(53,71,198,.1); }
.express-form textarea { resize: vertical; }
.express-upload { padding: 18px; border: 1px dashed #b7c2db; border-radius: 12px; background: #f7f9ff; }
.express-upload input { padding: 10px; background: var(--white); }
.express-upload small { color: var(--muted); font-size: .65rem; font-weight: 500; }
.express-consent { grid-template-columns: 18px 1fr !important; align-items: start; gap: 10px !important; color: var(--muted) !important; font-size: .67rem !important; font-weight: 500 !important; }
.express-consent input { width: 18px; height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--blue); }
.express-form .btn { width: 100%; }
.express-form-note { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; text-align: center; }
.express-success { display: grid; justify-items: start; min-height: 480px; align-content: center; }
.express-success > span { display: grid; width: 62px; height: 62px; margin-bottom: 24px; place-items: center; border-radius: 50%; color: #127044; background: #dcf8e9; font-size: 1.5rem; }
.express-success h2 { margin-bottom: 15px; }
.express-success p { max-width: 520px; color: var(--muted); }
.express-faq { background: #f3f6fc; }
.express-faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }
.express-final-cta { margin-top: 0; }

@media (max-width: 1020px) {
  .express-hero-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .express-use-grid,.express-request-grid,.express-faq-grid { gap: 42px; }
  .express-form-card { padding: 30px; }
}

@media (max-width: 720px) {
  .express-hero { min-height: 0; margin: 4px; }
  .express-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-top: 136px; padding-bottom: 28px; }
  .express-hero-copy h1 { font-size: clamp(2.55rem,12.2vw,3.6rem); }
  .express-hero-copy > p { margin: 22px 0; font-size: .94rem; }
  .express-hero-actions { display: grid; }
  .express-hero-actions .btn { width: 100%; }
  .express-hero-checks { display: grid; gap: 8px; }
  .express-hero-visual figure { height: 310px; }
  .express-time-card { top: -16px; right: 12px; min-width: 158px; padding: 14px 17px; }
  .express-time-card strong b { font-size: 2.15rem; }
  .express-route-card { left: 12px; right: 12px; bottom: 12px; }
  .express-trust-grid,.express-steps,.express-use-grid,.express-category-grid,.express-request-grid,.express-faq-grid { grid-template-columns: 1fr; }
  .express-trust-grid > div { padding: 18px 20px; border-right: 0; border-bottom: 1px solid rgba(20,31,84,.08); }
  .express-step-icon { margin-bottom: 48px; }
  .express-steps article { min-height: 290px; }
  .express-use-copy,.express-request-copy { position: static; }
  .express-category-grid article { min-height: 210px; }
  .express-request-section { padding-top: 82px; }
  .express-form-card { padding: 24px 18px; }
  .express-form .form-row { grid-template-columns: 1fr; }
  .express-final-cta .cta-row { text-align: center; }
}

/* Match homepage article imagery to the full-width cards on the articles pages. */
.home-articles-grid .article-card-media {
  width: 100%;
  height: auto;
  aspect-ratio: 1.35;
}

.home-articles-grid .article-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 720px) {
  .bto-site-widgets main > .articles-hero,
  .category.bto-site-widgets main > .page-hero,
  .single.bto-site-widgets main > .page-hero {
    min-height: 360px;
    padding-block: 132px 54px;
  }

  .bto-site-widgets .articles-hero-row {
    min-height: 174px;
  }

  .single-article-shell { grid-template-columns: 1fr; gap: 12px; }
  .post-toc-inner { position: static; padding: 18px; }
  .post-toc nav { max-height: 230px; overflow-y: auto; }
}

/* Brand-blue photographic overlay. The original image never changes hue. */
:where(
  .feature-media > img,
  .fleet-image > img,
  .inner-hero-media > img,
  .about-image-band > img,
  .contact-info-grid > figure > img,
  .featured-article-media > img,
  .article-card-media > img,
  .single-feature-image > img,
  .entry-content > figure img,
  .wp-block-image img
) {
  border-radius: 12px;
}

:where(
  .feature-media,
  .fleet-image,
  .inner-hero-media,
  .about-image-band,
  .contact-info-grid > figure,
  .featured-article-media,
  .article-card-media,
  .single-feature-image,
  .entry-content > figure,
  .wp-block-image
) {
  position: relative;
  isolation: isolate;
}

:where(
  .feature-media,
  .fleet-image,
  .inner-hero-media,
  .about-image-band,
  .contact-info-grid > figure,
  .featured-article-media,
  .article-card-media,
  .single-feature-image,
  .entry-content > figure,
  .wp-block-image
)::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  border-radius: 12px;
  background: linear-gradient(135deg,rgba(7,15,67,.78) 0%,rgba(29,55,170,.62) 48%,rgba(5,10,45,.82) 100%);
  mix-blend-mode: multiply;
  opacity: 1;
  transition: opacity .48s cubic-bezier(.22,1,.36,1);
}

:where(
  .feature-media,
  .fleet-image,
  .inner-hero-media,
  .about-image-band,
  .contact-info-grid > figure,
  .featured-article-media,
  .article-card-media,
  .single-feature-image,
  .entry-content > figure,
  .wp-block-image
):hover::before {
  opacity: 0;
}

:where(
  .feature-card,
  .inner-hero-media figcaption,
  .about-image-note,
  .article-card-media > span,
  .entry-content figcaption
) {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .feature-media,
    .fleet-image,
    .inner-hero-media,
    .about-image-band,
    .contact-info-grid > figure,
    .featured-article-media,
    .article-card-media,
    .single-feature-image,
    .entry-content > figure,
    .wp-block-image
  )::before {
    transition: none;
  }
}

/* Unified radius for all interactive buttons. */
button,
.btn,
.menu-toggle,
.process-dot,
.service-link,
.category-filter a,
.articles-pagination a,
.articles-pagination span,
.choice-group label {
  border-radius: 12px;
}

.bto-site-widgets .inner-hero--contact .inner-hero-media > img,
.bto-site-widgets .inner-hero--contact .inner-hero-media::before {
  border-radius: 12px;
}

/* Keep hero widgets compact on tall, wide desktop displays. */
@media (min-width: 1021px) {
  .bto-site-widgets main > .articles-hero {
    height: 680px;
    min-height: 680px;
  }

  .bto-site-widgets main > .articles-hero .articles-hero-row {
    min-height: 454px;
    align-items: center;
  }

  .bto-site-widgets main > .inner-hero--about,
  .bto-site-widgets main > .inner-hero--services,
  .bto-site-widgets main > .inner-hero--contact,
  .bto-site-widgets main > .ocean-service-hero,
  .bto-site-widgets main > .express-hero,
  .bto-site-widgets main > .quote-hero {
    height: 680px;
    min-height: 680px;
  }

  .bto-site-widgets main > .quote-hero .quote-hero-planner {
    min-height: 0;
    transform: translateY(15px);
  }

  .bto-site-widgets main > .quote-hero .route-planner {
    height: 400px;
    min-height: 0;
    padding: 24px;
  }

  .bto-site-widgets main > .quote-hero .route-planner-map {
    height: 170px;
    margin-block: 16px 12px;
  }

  .bto-site-widgets main > .express-hero .express-hero-grid {
    height: 100%;
    min-height: 100%;
  }
}

@media (min-width: 1600px) {
  .bto-site-widgets main > .inner-hero {
    min-height: 680px;
    padding-block: 120px 56px;
  }

  .bto-site-widgets .inner-hero-grid {
    min-height: 500px;
  }

  .bto-site-widgets .inner-hero-media > img,
  .bto-site-widgets .inner-hero--about .inner-hero-media > img,
  .bto-site-widgets .inner-hero--contact .inner-hero-media > img {
    height: 440px;
  }

  .bto-site-widgets .express-hero-visual figure {
    height: 440px;
  }
}
