/* Shared presentation for both themes. The day palette comes from site.css. */
html{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit}
.theme-toggle .icon{width:19px;height:19px}
.theme-toggle:hover{background:#ff9c2418}
.theme-sun{display:none}
[data-theme="dark"] .theme-moon{display:none}
[data-theme="dark"] .theme-sun{display:block}
[data-theme="dark"] .theme-toggle{color:#ffbd7b;border-color:#ffffff30}
.header-actions{gap:14px}

/* Frosted navigation reveals the page beneath it once the utility strip scrolls away. */
.site-header{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .has-scrolled .site-header{background:rgba(255,255,255,.55);border-bottom-color:#071b2b1c;box-shadow:0 8px 28px #071b2b0d;-webkit-backdrop-filter:blur(4px) saturate(120%);backdrop-filter:blur(4px) saturate(120%)}
  html[data-theme="dark"].has-scrolled .site-header{background:rgba(0,0,0,.42);border-bottom-color:#ffffff24;box-shadow:0 8px 28px #0003}
}

/* Contain the fleet backdrop within the same page width as the other sections. */
.hero{--hero-background:#071b2b;background:var(--hero-background);min-height:0}
.hero-stage{position:relative;isolation:isolate;overflow:hidden}
.hero-content{min-height:776px}
.hero-content{padding-top:28px}
:where(html[data-theme="dark"]) .hero{--hero-background:#000}
.hero .hero-image{inset:28px 0 auto auto;width:86%;height:auto;object-fit:contain;object-position:center;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 85%,transparent);transform:translateY(var(--hero-drift,0px))}
.hero-copy{max-width:50%}
.hero h1{font-size:clamp(44px,4vw,66px);font-weight:800;letter-spacing:-.05em}
.hero h1>span{font-weight:800}
.hero-description{border-left:2px solid var(--orange);padding-left:17px}
.hero-shade{background:linear-gradient(90deg,var(--hero-background) 0%,color-mix(in srgb,var(--hero-background) 96%,transparent) 22%,color-mix(in srgb,var(--hero-background) 80%,transparent) 36%,transparent 70%);pointer-events:none}
.hero-note{right:16px;bottom:210px;transform:translateY(var(--hero-drift,0px))}
.hero-eyebrow{color:var(--orange-light)}
.hero .hero-bottom{border-color:#ffffff26}
.about{overflow-x:clip}

/* A separate decorative driving lane keeps motion clear of photos and actions. */
.hero-journey{position:absolute;left:0;right:0;bottom:118px;height:96px}
.journey-track{position:absolute;inset:0 54px 0 0;overflow:hidden}
.journey-route{position:absolute;width:100%;height:100%;inset:0;fill:none}
.journey-road{stroke:#ffffff05;stroke-width:22;vector-effect:non-scaling-stroke}
.journey-line{stroke:#ffad4c66;stroke-width:1.5;stroke-dasharray:4 9;vector-effect:non-scaling-stroke}
.journey-van{position:absolute;width:84px;height:45.36px;left:calc(50% - 41.58px);top:31.16px;overflow:visible;filter:drop-shadow(0 2px 3px #0004);transform-origin:49.5% 94.444444%}
.journey-wheel-spin{transform-box:fill-box;transform-origin:center}
.hero-journey:not([data-ready]) .journey-route{display:none}
.hero-journey:not([data-ready]) .journey-track::before{content:"";position:absolute;top:74px;left:0;right:0;border-top:1.5px dashed #ffad4c66}
.hero-journey[data-ready] .journey-van{left:0;top:0}
.journey-toggle{position:absolute;right:0;top:26px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#ffffff08;color:#ffad4c}
.journey-toggle:hover{background:#ff8a1920;border-color:#ffad4c}
.journey-toggle .icon{width:18px;height:18px}
.journey-play-icon{display:none}
[data-paused="true"] .journey-pause-icon{display:none}
[data-paused="true"] .journey-play-icon{display:block}

/* Scrollable leadership cards retain their compact portraits and individual colors. */
.team-carousel{--team-columns:4;--team-gap:24px}
.team-carousel .team-grid{display:flex;gap:var(--team-gap);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 0 22px;scrollbar-width:thin;scrollbar-color:var(--orange) transparent}
.team-carousel .team-card{flex:0 0 calc((100% - (var(--team-columns) - 1)*var(--team-gap))/var(--team-columns));scroll-snap-align:start}
.team-carousel[data-slider-ready] .team-grid{display:block;overflow:hidden;scroll-snap-type:none;touch-action:pan-y pinch-zoom}
.team-rail{display:flex;gap:var(--team-gap);width:100%;will-change:transform}
.team-card:nth-child(5){--team-accent:#d886aa;--team-tint:#fff0f7;--team-deep:#713852}
.team-card:nth-child(6){--team-accent:#53aab5;--team-tint:#e9f8fb;--team-deep:#245560}
.team-card:nth-child(7){--team-accent:#ba964f;--team-tint:#fff8e9;--team-deep:#65502c}
.team-card:nth-child(8){--team-accent:#d47d65;--team-tint:#fff0eb;--team-deep:#713c30}
.team-heading-side{display:flex;align-items:center;gap:16px}
.team-playback{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}
.team-playback:hover{border-color:var(--orange);background:#ff9c2418}
.team-playback .icon{width:17px;height:17px}
.team-play-icon{display:none}
.team-playback[data-paused="true"] .team-play-icon{display:block}
.team-playback[data-paused="true"] .team-pause-icon{display:none}
@media(max-width:1150px){.team-carousel{--team-columns:3;--team-gap:20px}}
@media(max-width:900px){.team-carousel{--team-columns:2}}
@media(max-width:680px){.team-carousel{--team-columns:1;--team-gap:16px}}

/* Owner-confirmed activity figures, with quiet metallic accents in either theme. */
.company-stats{padding:76px 0 84px;background:var(--paper);border-top:1px solid var(--line)}
.stats-heading{margin-bottom:32px}
.stats-heading .eyebrow{margin-bottom:16px}
.stats-heading h2{font-size:clamp(30px,3.4vw,44px);font-weight:750;letter-spacing:-.045em}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}
.stat-card{--stat-accent:#ffb65c;--stat-tint:#492b16;--stat-base:#160f0b;position:relative;isolation:isolate;overflow:hidden;min-height:172px;padding:16px 24px;border:1px solid #ffffff26;border-top:2px solid var(--stat-accent);border-radius:18px;background:linear-gradient(125deg,var(--stat-tint),var(--stat-base) 88%);box-shadow:0 12px 28px #071b2b18}
.stat-card:nth-child(2){--stat-accent:#91c9ff;--stat-tint:#18395e;--stat-base:#0a1321}
.stat-card:nth-child(3){--stat-accent:#d0afff;--stat-tint:#3d2559;--stat-base:#160e24}
.stat-card::after{content:"";position:absolute;z-index:-1;right:-70px;top:-78px;width:230px;height:230px;border:1px solid color-mix(in srgb,var(--stat-accent) 22%,transparent);border-radius:50%;box-shadow:0 0 0 25px color-mix(in srgb,var(--stat-accent) 5%,transparent),0 0 0 50px color-mix(in srgb,var(--stat-accent) 3%,transparent);pointer-events:none}
.stat-icon{position:absolute;right:24px;top:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--stat-accent) 28%,transparent);border-radius:13px;color:var(--stat-accent);background:color-mix(in srgb,var(--stat-accent) 12%,transparent)}
.stat-icon .icon{width:25px;height:25px}
.stat-label{display:block;min-height:32px;padding-right:58px;color:#f5f6fa;font-size:24px;line-height:1.25;font-weight:800;letter-spacing:-.025em}
.stat-card dd{margin:8px 0 0;font-size:clamp(56px,5.5vw,72px);line-height:1;font-weight:800;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--stat-accent)}
.stat-suffix{font-size:.6em;vertical-align:top;line-height:1.2;margin-left:4px}
@media(max-width:900px){.stats-grid{gap:16px}.stat-card{min-height:164px}.stat-label{font-size:20px;min-height:50px;padding-right:46px}.stat-icon{width:38px;height:38px;right:20px}.stat-icon .icon{width:22px;height:22px}}
@media(max-width:680px){
  .team-heading-side{margin-top:16px}.team-heading-side .team-intro{margin-top:0;flex:1}
  .company-stats{padding:48px 0 54px}.stats-grid{grid-template-columns:1fr;gap:16px}
  .stat-card{min-height:140px;padding:16px 20px}.stat-icon{right:20px;top:16px}
  .stat-card dd{font-size:60px;margin:8px 0 0}.stat-label{font-size:22px;min-height:28px;padding-right:50px}.stat-card::after{right:-85px;top:-120px}
}

/* Real client artwork stays in its original colors in either theme. */
#clients-title strong{color:var(--orange);font-weight:800}
.clients-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.client-card{flex:0 1 calc((100% - 80px)/5);min-height:152px;padding:20px 14px;gap:18px;border-radius:12px}
.client-logo-frame{width:100%;aspect-ratio:3/1;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;border-radius:6px;border:1px solid #ffffff20}
.client-logo-frame .client-logo{display:block;width:100%;max-width:100%;height:100%;object-fit:contain;padding:0;border-radius:0;background:#fff}
.client-name-with-logo{font-size:12px;font-weight:750;letter-spacing:.01em}
@media(max-width:1150px){.client-card{flex-basis:calc((100% - 40px)/3)}}

@media(max-width:900px){
  .desktop-nav{gap:14px}
  .header-inner{gap:12px}
  .header-actions{gap:8px}
  .hero,.hero-content{min-height:0}
  .hero-content{padding-top:24px}
  .hero-copy{max-width:620px}
  .hero-shade{background:none}
  .hero h1{font-size:clamp(44px,6vw,58px)}
  .hero .hero-image{inset:auto 0 164px;width:100%;height:auto;max-height:none}
  .hero .hero-bottom{margin-top:calc((100vw - var(--page-gutter)*2) * 768 / 1376 + 124px)}
}
@media(max-width:680px){
  .header-actions{gap:6px}
  .hero h1{font-size:clamp(42px,12vw,54px)}
  .hero .hero-image{bottom:164px}
  .hero-journey{bottom:86px}
  .journey-van{width:70px;height:37.8px;left:calc(50% - 34.65px);top:38.3px}
  .clients-grid{gap:12px}
  .client-card{flex-basis:calc((100% - 12px)/2);min-height:125px;padding:18px 10px;gap:15px}
  .client-name-with-logo{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .hero .hero-image,.hero-note{transform:none}
}
