
  :root{
    --red:#CC1111;
    --red-deep:#9c0d0d;
    --sky:#0B4F9C;          /* Mönkh khökh tenger — eternal blue sky */
    --sky-deep:#083a73;
    --gold:#F5CB5C;         /* soyombo gold, used sparingly */
    --ink:#111111;
    --line:#d3d3d3;
    --paper:#ffffff;
    --paper-2:#f7f5f1;      /* warm felt / ger canvas */
    --max:1180px;
    /* Alkhan khee (hammer/meander) ornament tiles */
    --khee-red:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 11H3V1H15V8H8V4H11M15 11H24' fill='none' stroke='%23CC1111' stroke-width='1.6' stroke-linecap='square'/%3E%3C/svg%3E");
    --hdr:72px;
    --khee-sky:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 11H3V1H15V8H8V4H11M15 11H24' fill='none' stroke='%230B4F9C' stroke-width='1.6' stroke-linecap='square'/%3E%3C/svg%3E");
    --khee-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 11H3V1H15V8H8V4H11M15 11H24' fill='none' stroke='%23ffffff' stroke-opacity='.55' stroke-width='1.6' stroke-linecap='square'/%3E%3C/svg%3E");
  }
  @font-face{
    font-family:'Ranade';
    src:url(../fonts/ranade.woff2) format('woff2');
    font-weight:100 700; font-style:normal; font-display:swap;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; scroll-padding-top:var(--hdr,72px);}
  body{
    /* Barlow has no Cyrillic: browser falls back per-glyph to Fira Sans Condensed */
    font-family:'Barlow Semi Condensed','Fira Sans Condensed','Segoe UI',Arial,sans-serif;
    background:var(--paper); color:var(--ink);
    line-height:1.55; -webkit-font-smoothing:antialiased;
  }
  /* Ranade is Latin-only: Mongolian headings fall back to Montserrat instead of Arial */
  h1,h2,h3{font-family:'Ranade','Montserrat','Segoe UI',Arial,sans-serif; font-weight:700; letter-spacing:-.01em; line-height:1.05;}
  html[data-lang="mn"] h1{letter-spacing:-.02em; line-height:1.1;}
  img{max-width:100%; display:block;}
  a{color:inherit;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--sky); outline-offset:3px;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
  [data-mn]{display:none;}
  html[data-lang="mn"] [data-en]{display:none;}
  html[data-lang="mn"] [data-mn]{display:revert;}
  html[data-lang="mn"] span[data-mn]{display:inline;}

  /* ornament strips */
  .khee{height:12px; background:var(--khee-red) repeat-x left center; background-size:24px 12px;}
  .khee.sky{background-image:var(--khee-sky);}
  .khee.faint{opacity:.35;}

  /* header */
  header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(6px);}
  header .khee{height:8px; background-size:16px 8px; opacity:.9;}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
  .logo img{height:32px; width:auto;}
  nav.links{display:flex; gap:24px; font-size:16px; font-weight:600;}
  nav.links a{text-decoration:none; padding:4px 0; border-bottom:2px solid transparent;}
  nav.links a:hover{border-color:var(--red);}
  .lang-toggle{display:flex; border:1px solid var(--ink); border-radius:3px; overflow:hidden; font-size:13px;}
  .lang-toggle button{border:0; background:var(--paper); color:var(--ink); padding:6px 12px; cursor:pointer; font-weight:600; font-family:inherit;}
  .lang-toggle button.active{background:var(--ink); color:var(--paper);}
  .navwrap{display:flex; align-items:center; gap:22px;}
  .burger{display:none; background:none; border:0; font-size:24px; line-height:1; cursor:pointer; color:var(--ink); padding:4px 6px;}

  /* hero */
  .btnrow{display:flex; gap:14px; flex-wrap:wrap;}
  .btn{display:inline-block; padding:14px 28px; font-weight:700; font-size:15px; text-decoration:none; border-radius:3px; border:2px solid var(--red);}
  .btn-primary{background:var(--red); color:#fff;}
  .btn-primary:hover{background:var(--red-deep); border-color:var(--red-deep);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--ink);}
  .btn-ghost:hover{border-color:var(--red); color:var(--red);}


  /* ===== hero: auto-sliding photo background ===== */
  .hero{position:relative; overflow:hidden; background:#0c1119; color:#fff; min-height:calc(100vh - var(--hdr,72px)); min-height:calc(100svh - var(--hdr,72px)); display:flex; flex-direction:column;}
  .hb-slides{position:absolute; inset:0; z-index:0;}
  .hb-slide{position:absolute; inset:0; overflow:hidden; opacity:0; visibility:hidden; transition:opacity 1.2s ease, visibility 0s linear 1.2s;}
  .hb-slide.is-active{opacity:1; visibility:visible; transition:opacity 1.2s ease;}
  .hb-slide img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%); transform:scale(1.09); transition:transform 0s linear 1.3s;}
  .hb-slide.is-active .hb-img{transform:scale(1); transition:transform 5.5s ease-out;}
  .hb-slide .hb-blur{display:none;}
  @media(min-width:901px){ /* square photo: blurred fill + sharp image on the right */
    .hb-slide.sq .hb-blur{display:block; filter:blur(26px) brightness(.85); transform:scale(1.2); transition:none;}
    .hb-slide.sq .hb-img{inset:0 0 0 auto; width:68%; height:100%; object-position:20% 25%;
      -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%); mask-image:linear-gradient(90deg,transparent 0,#000 28%);}
  }
  .hb-shade{position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg,rgba(9,13,20,.88) 0%,rgba(9,13,20,.64) 45%,rgba(9,13,20,.2) 100%), linear-gradient(0deg,rgba(9,13,20,.72) 0%,rgba(9,13,20,0) 38%);}
  .hero .hb-main{position:relative; z-index:2; flex:1; width:100%; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:center; padding-top:48px; padding-bottom:56px;}
  .hero .hero-copy{max-width:640px;}
  .hero .kicker{display:inline-block; background:var(--red); color:#fff; padding:7px 14px; font-size:13px; letter-spacing:.8px; margin-bottom:20px; border-radius:2px;}
  .hero h1{font-size:clamp(34px,4.4vw,58px); margin-bottom:22px; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35);}
  html[data-lang="mn"] .hero h1{font-size:clamp(30px,3.7vw,48px);}
  .hero p.lead{font-size:18px; color:rgba(255,255,255,.9); max-width:52ch; margin-bottom:30px;}
  .hero .btn-ghost{color:#fff; border-color:rgba(255,255,255,.85);}
  .hero .btn-ghost:hover{background:#fff; color:var(--ink); border-color:#fff;}
  .hb-aside{position:relative; display:flex; flex-direction:column; align-items:flex-end; gap:14px;}
  .hb-aside .seal{width:104px; height:104px; transform:rotate(-9deg); filter:drop-shadow(0 6px 12px rgba(0,0,0,.35)); margin-bottom:6px;}
  .hb-stat{background:#fff; color:var(--ink); border-radius:10px; box-shadow:0 14px 30px -14px rgba(0,0,0,.5); padding:14px 18px; display:flex; align-items:center; gap:12px; max-width:270px;}
  .hb-stat .num{font-family:'Ranade'; font-size:28px; font-weight:700; color:var(--red); line-height:1;}
  .hb-stat .lbl{font-size:12.5px; color:#555; line-height:1.25;}
  .hb-crew .ico{width:38px; height:38px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .hb-crew .ico svg{width:26px; height:26px;}
  .hb-crew .t1{font-size:13.5px; font-weight:700; line-height:1.2;}
  .hb-crew .t2{font-size:12px; color:#777;}
  .hb-247{border-top:3px solid var(--sky);}
  .hb-247 .num{color:var(--ink); font-size:22px;}
  @media(max-width:900px){
    .hero{min-height:calc(100vh - var(--hdr,72px)); min-height:calc(100svh - var(--hdr,72px));}
    .hero .hb-main{grid-template-columns:1fr; gap:22px; align-content:center; padding-top:36px; padding-bottom:40px;}
    .hb-shade{background:linear-gradient(180deg,rgba(9,13,20,.7) 0%,rgba(9,13,20,.62) 55%,rgba(9,13,20,.86) 100%);}
    .hero p.lead{font-size:16px;}
    .hb-aside{flex-direction:row; flex-wrap:wrap; align-items:stretch; justify-content:flex-start; gap:10px;}
    .hb-aside .seal,.hb-crew{display:none;}
    .hb-stat{padding:10px 14px;}
  }
  @media(max-width:520px){
    .hb-slide img{object-position:var(--posm,50% 50%);}
    .hero h1{font-size:clamp(28px,8vw,36px);}
    html[data-lang="mn"] .hero h1{font-size:clamp(25px,7vw,32px);}
    .hero .btn{flex:1 1 calc(50% - 7px); text-align:center; padding:13px 10px; font-size:14px;}
    .hb-aside{flex-wrap:nowrap;}
    .hb-stat{flex:1 1 auto; min-width:0;}
    .hb-stat .lbl{font-size:11.5px;}
    .hb-247{flex:0 0 auto;}
  }

  section{padding:72px 0;}
  /* services: keep the whole section in view when jumping from the nav */
  #services{padding-top:40px; padding-bottom:48px;}
  #services .section-head{max-width:none; margin-bottom:26px;}
  #services .section-head h2{max-width:30em;}
  #services .svc{padding:24px 26px;}
  #services .svc .n{margin-bottom:8px;}
  .section-head{max-width:660px; margin-bottom:40px;}
  .section-head .tag, .contact-info .tag, .careers-copy .tag{color:var(--red); font-weight:700; font-size:14px; margin-bottom:8px; display:flex; align-items:center; gap:10px;}
  .tag .knot{width:20px; height:20px; flex-shrink:0;}
  .section-head h2{font-size:clamp(26px,3.4vw,38px);}
  .alt{background:var(--paper-2);}
  .divider{max-width:var(--max); margin:0 auto; padding:0 28px;}

  /* about */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start;}
  .about-grid p{margin-bottom:16px; font-size:16px; max-width:56ch;}
  .cards2{display:grid; gap:16px;}
  .mv{border-left:4px solid var(--red); padding:16px 20px; background:var(--paper-2); position:relative;}
  .mv:nth-child(2){border-left-color:var(--sky);}
  .mv h3{font-size:19px; margin-bottom:6px;}
  .mv p{font-size:15px; color:#333;}
  .quote{margin-top:6px; padding:18px 20px; border:1px dashed #c9c1b3; background:#fff; font-size:15px; color:#444;}
  .quote b{display:block; font-family:'Montserrat',sans-serif; font-size:17px; color:var(--sky-deep); margin-bottom:4px;}


  /* people */
  .people{padding:0; background:#f5f5f5; position:relative; overflow:hidden;}
  .people-grid{display:grid; grid-template-columns:1.05fr 1fr; align-items:end; gap:40px;}
  .people-photo{align-self:end;}
  .people-photo img{width:100%; height:auto; display:block;}
  .people-copy{padding:72px 0;}
  .people-copy h2{font-size:clamp(26px,3.4vw,38px); margin-bottom:16px;}
  .people-copy p{font-size:16px; color:#333; max-width:50ch; margin-bottom:14px;}
  .people-copy .quote{margin-top:20px; border-color:#cfcfcf;}
  .people-copy .khee{max-width:180px; margin:26px 0 0; background-size:20px 10px; height:10px;}

  /* services */
  .svc-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .svc{background:var(--paper); padding:32px 26px; position:relative; grid-column:span 2;}
  .svc.svc-wide{grid-column:span 3;}
  .svc-list{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;}
  .svc-list li{font-size:12.5px; font-weight:700; letter-spacing:.3px; padding:5px 10px; border:1px solid var(--red); color:var(--red); border-radius:2px;}
  .svc-feature{background:linear-gradient(135deg,#fff 55%,#EEF4FB);}
  .d2e{display:flex; align-items:center; gap:10px; margin-top:16px; font-size:12.5px; font-weight:700; letter-spacing:.5px;}
  .d2e-a{padding:5px 10px; background:#333; color:#fff;}
  .d2e-arrow{color:var(--sky); font-size:18px;}
  .d2e-b{padding:5px 10px; background:var(--sky); color:#fff;}
  .svc::before{content:""; position:absolute; left:0; right:0; top:0; height:6px; background:var(--khee-red) repeat-x; background-size:12px 6px; opacity:0; transition:opacity .2s;}
  .svc:hover::before{opacity:1;}
  .svc .n{font-family:'Ranade'; font-size:15px; color:var(--red); font-weight:700; margin-bottom:14px;}
  .svc h3{font-size:21px; margin-bottom:10px;}
  .svc p{font-size:15px; color:#333;}

  /* fleet */
  .fleet-layout{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center;}
  .fleet-feature{background:#fff; border:1px solid var(--line); border-top:4px solid var(--gold); margin:0;}
  .ff-img img{display:block; width:100%; aspect-ratio:3/2; object-fit:cover;}
  .fleet-feature figcaption{padding:14px 18px; font-size:13.5px; color:#555; display:flex; flex-direction:column; gap:2px;}
  .fleet-feature figcaption b{font-family:'Ranade','Montserrat',sans-serif; font-size:20px; color:var(--ink);}
  .fleet-wrap{overflow-x:auto;}
  .fleet-table{width:100%; border-collapse:collapse; font-size:15px;}
  .fleet-table th{text-align:left; font-size:13px; letter-spacing:.3px; color:#555; padding:10px 14px; border-bottom:2px solid var(--ink); font-weight:700;}
  .fleet-table td{padding:13px 14px; border-bottom:1px solid var(--line);}
  .fleet-table tr:hover td{background:#fff;}
  .fleet-note{margin-top:18px; font-size:14px; color:#555;}

  /* why */
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .why-item .num{font-family:'Ranade'; font-size:40px; color:var(--red); font-weight:700; line-height:1;}
  .why-item h3{font-size:17px; margin:10px 0 6px;}
  .why-item p{font-size:14px; color:#444;}

  /* footprint — eternal blue sky band */
  .landscape{position:relative; height:clamp(280px,36vw,540px); overflow:hidden; background:#0B4F9C; margin-bottom:-1px;}
  .landscape img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% 80%;}
  .landscape::after{content:""; position:absolute; left:0; right:0; bottom:0; height:38%; background:linear-gradient(rgba(11,79,156,0),#0B4F9C 92%);}
  .land-cap{z-index:1;}
  .land-cap{position:absolute; left:50%; top:22px; transform:translateX(-50%); color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; text-shadow:0 1px 6px rgba(0,0,0,.35); white-space:nowrap;}
  .footprint{background:var(--sky); color:#fff; position:relative; overflow:hidden;}
  .footprint::before, .footprint::after{content:""; position:absolute; left:0; right:0; height:12px; background:var(--khee-white) repeat-x; background-size:24px 12px;}
  .footprint::before{top:14px;} .footprint::after{bottom:14px; transform:scaleY(-1);}
  .footprint .section-head .tag{color:var(--gold);}
  .footprint .section-head h2{color:#fff;}
  .footprint .ulzii-bg{position:absolute; right:-80px; top:50%; width:380px; height:380px; transform:translateY(-50%); opacity:.08; pointer-events:none;}
  .foot-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative;}
  .foot-card{border:1px solid rgba(255,255,255,.28); padding:22px 20px; background:rgba(255,255,255,.05);}
  .foot-card .where{font-size:12px; letter-spacing:.6px; color:var(--gold); font-weight:700; margin-bottom:6px;}
  .foot-card h3{font-size:18px; margin-bottom:6px; color:#fff;}
  .foot-card p{font-size:14px; color:rgba(255,255,255,.82);}

  /* contact */
  .contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:52px; align-items:start;}
  .contact-info h2{margin-bottom:6px; font-size:clamp(26px,3.4vw,38px);}
  .greet{font-family:'Montserrat',sans-serif; font-weight:700; color:var(--sky); font-size:15px; margin-bottom:4px;}
  .cinfo-list{border-top:1px solid var(--line); margin-top:8px;}
  .cinfo-row{display:flex; gap:16px; padding:18px 0; align-items:flex-start; border-bottom:1px solid var(--line);}
  .cinfo-row:last-child{border-bottom:none;}
  .cinfo-row .ico{width:40px; height:40px; border:2px solid var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--red); flex-shrink:0;}
  .cinfo-row .ico svg{width:18px; height:18px; display:block;}
  .cinfo-row .txt{padding-top:2px; min-width:0;}
  .cinfo-row .txt small{display:block; color:#777; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:5px;}
  .cinfo-row .txt > a, .cinfo-row .txt > span{font-size:15px; font-weight:600; line-height:1.5; color:var(--ink); word-break:break-word;}
  .cinfo-row .txt > a{display:block; width:fit-content; text-decoration:none; transition:color .15s;}
  .cinfo-row .txt > a + a{margin-top:4px;}
  .cinfo-row .txt > a:hover, .cinfo-row .txt > a:focus-visible{color:var(--red); text-decoration:underline;}
  form{background:var(--paper-2); border:1px solid var(--line); border-top:4px solid var(--red); padding:30px;}
  .frow{margin-bottom:18px;}
  .frow label{display:block; font-size:13px; font-weight:700; margin-bottom:6px;}
  .frow input, .frow textarea, .frow select{width:100%; padding:12px 13px; border:1px solid #bbb; font-size:15px; font-family:inherit; background:#fff; border-radius:0; box-sizing:border-box;}
  .frow input:focus, .frow textarea:focus, .frow select:focus{outline:2px solid var(--red); outline-offset:1px; border-color:var(--red);}
  .frow-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .submit-btn{background:var(--red); color:#fff; border:0; padding:14px 30px; font-weight:700; font-size:15px; cursor:pointer; width:100%; font-family:inherit; transition:background .15s;}
  .submit-btn:hover{background:var(--red-deep);}
  .form-note{font-size:12px; color:#777; margin-top:12px; text-align:center;}
  .hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}


  /* social links */
  .follow{margin-top:26px;}
  .follow small{display:block; color:#666; font-size:12px; margin-bottom:8px;}
  .social{display:flex; gap:10px;}
  .social a{width:38px; height:38px; border:2px solid var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--red); text-decoration:none; transition:background .15s, color .15s;}
  .social a:hover, .social a:focus-visible{background:var(--red); color:#fff;}
  .social svg{width:18px; height:18px;}

  /* careers */
  .careers-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:52px; align-items:start;}
  .careers-copy h2{font-size:clamp(26px,3.4vw,38px); margin-bottom:16px;}
  .careers-copy p{font-size:16px; color:#333; max-width:54ch; margin-bottom:14px;}
  .careers-copy .svc-list{margin:2px 0 28px;}
  .careers-note{margin-top:20px; font-size:14px; color:#555; max-width:54ch;}
  .careers-note a{font-weight:600; color:var(--ink);}
  .careers-note a:hover{color:var(--red);}
  .careers-card{background:#fff; border:1px solid var(--line); border-top:4px solid var(--sky); padding:10px 28px;}
  .ci{display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--line);}
  .ci:last-child{border-bottom:0;}
  .ci .num{font-family:'Ranade','Montserrat',sans-serif; font-size:30px; font-weight:700; color:var(--red); line-height:1; min-width:40px;}
  .ci h3{font-size:17px; margin-bottom:5px;}
  .ci p{font-size:14px; color:#444;}

  /* steppe horizon + footer */
  .steppe{display:block; width:100%; height:70px; margin-bottom:-1px;}
  footer{background:var(--ink); color:#aaa; padding:30px 0 34px; font-size:13px;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
  footer .flogo{display:flex; align-items:center; gap:14px;}
  footer .flogo img{height:24px; width:auto; filter:brightness(0) invert(1);}
  footer .social a{width:34px; height:34px; border:1px solid #666; color:#ddd;}
  footer .social svg{width:16px; height:16px;}
  footer .social a:hover, footer .social a:focus-visible{background:var(--red); border-color:var(--red); color:#fff;}

  @media(max-width:900px){
    .about-grid, .contact-grid, .careers-grid{grid-template-columns:1fr; gap:34px;}
    .people-grid{grid-template-columns:1fr; gap:0;}
    .people-copy{padding:52px 0 8px; order:-1;}
    .svc-grid{grid-template-columns:1fr;}
    .svc, .svc.svc-wide{grid-column:auto;}
    .why-grid{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .fleet-layout{grid-template-columns:1fr; gap:28px;}
    .burger{display:block;}
    nav.links{display:none; position:absolute; left:0; right:0; top:100%; background:#fff; flex-direction:column; gap:0; border-bottom:1px solid var(--line); box-shadow:0 12px 24px -12px rgba(0,0,0,.2);}
    nav.links.open{display:flex;}
    nav.links a{padding:14px 28px; border-bottom:1px solid #eee;}
    header .wrap.nav{position:relative;}
  }
  @media(max-width:520px){
    .wrap, .divider{padding-left:16px; padding-right:16px;}
    .why-grid{grid-template-columns:1fr;}
    .frow-2{grid-template-columns:1fr;}
    section{padding:52px 0;}
    form{padding:22px 18px;}
    .careers-card{padding:6px 18px;}
    .ci{gap:14px;}
    .fleet-table{font-size:13px;}
    .fleet-table th, .fleet-table td{padding:9px 8px;}
    .navwrap{gap:12px;}
    .land-cap{font-size:11px; letter-spacing:1px; white-space:normal; text-align:center; width:90%;}
    .logo img{height:24px;}
  }

/* ===== handover polish ===== */
:root{--r:8px; --shadow:0 1px 2px rgba(17,17,17,.06),0 12px 32px -18px rgba(17,17,17,.28);}
body{font-size:17px; line-height:1.6;}
section{padding:96px 0;} #services{padding-top:72px; padding-bottom:88px;}
.section-head h2,.people-copy h2,.careers-copy h2,.contact-info h2{font-size:clamp(28px,3.6vw,44px); line-height:1.1; text-wrap:balance;}
.section-head{max-width:760px;}
.skip{position:absolute; left:16px; top:-60px; z-index:100; background:var(--ink); color:#fff; padding:10px 16px; border-radius:4px; text-decoration:none; font-weight:700; transition:top .15s;}
.skip:focus{top:12px;}
header{transition:box-shadow .2s;} header.scrolled{box-shadow:0 10px 28px -20px rgba(0,0,0,.5);}
nav.links a.current{border-color:var(--red); color:var(--red);}
.burger{width:44px; height:44px; padding:0; position:relative;}
.burger .bars{position:absolute; left:11px; top:14px; width:22px; height:16px;}
.burger .bars i{position:absolute; left:0; width:22px; height:2px; background:currentColor; border-radius:2px; transition:transform .22s,opacity .18s,top .22s;}
.burger .bars i:nth-child(1){top:0;} .burger .bars i:nth-child(2){top:7px;} .burger .bars i:nth-child(3){top:14px;}
.burger.is-open .bars i:nth-child(1){top:7px; transform:rotate(45deg);} .burger.is-open .bars i:nth-child(2){opacity:0;} .burger.is-open .bars i:nth-child(3){top:7px; transform:rotate(-45deg);}
.btn{border-radius:4px; transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;}
.btn-primary{box-shadow:0 10px 22px -12px rgba(204,17,17,.7);} .btn:hover{transform:translateY(-2px);}
.hero a:focus-visible,.hero button:focus-visible{outline-color:#fff;}
@media(max-width:900px){.hb-slide img{object-position:var(--posm,50% 50%);}}
.svc-grid{gap:20px; background:none; border:0;}
.svc{border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:32px 28px; transition:border-color .2s,box-shadow .2s; overflow:hidden;}
.svc:hover{border-color:var(--red);} .svc-feature:hover{border-color:var(--sky);}
.svc .ic{width:52px; height:52px; border-radius:12px; background:#fdeaea; color:var(--red); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.svc-feature .ic{background:#e3edf9; color:var(--sky);} .svc .ic svg{width:26px; height:26px;}
.bolt{width:14px; height:14px; vertical-align:-2px; margin-right:2px;}
.why-item .num,.ci .num{display:none;}
.why-item{border-top:3px solid var(--red); padding-top:20px;} .why-item:nth-child(even){border-top-color:var(--sky);}
.why-item h3{font-size:19px;} .why-item p{font-size:15px;}
.ci h3::before{content:""; display:inline-block; width:8px; height:8px; background:var(--red); margin-right:10px; transform:rotate(45deg) translateY(-2px);}
.fleet-feature,.careers-card,.foot-card,.mv{border-radius:var(--r);} .fleet-feature{overflow:hidden; box-shadow:var(--shadow);}
.fleet-table th{color:#444;} .form-note,.cinfo-row .txt small,.follow small{color:#5f5f5f;}
form{border-radius:var(--r); box-shadow:var(--shadow);}
.frow input,.frow textarea,.frow select{border-radius:4px; min-height:46px; border-color:#b9b9b9;}
.frow select{appearance:none; -webkit-appearance:none; padding-right:38px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px;}
.submit-btn{border-radius:4px;} .submit-btn:disabled{opacity:.6; cursor:progress;}
.form-status{margin-top:14px; font-size:14px; font-weight:600; text-align:center;} .form-status:empty{display:none;}
.form-status.ok{color:#0a6b32;} .form-status.bad{color:var(--red-deep);}
.to-top{position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60; width:46px; height:46px; border-radius:50%; border:0; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 10px 24px -10px rgba(0,0,0,.6); transition:background .18s,transform .18s;}
.to-top[hidden]{display:none;} .to-top:hover{background:var(--red); transform:translateY(-2px);} .to-top svg{width:20px; height:20px;}
@media(max-width:900px){section{padding:64px 0;} #services{padding-top:52px;}}
@media(max-width:520px){section{padding:52px 0;} body{font-size:16px;}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important; animation-duration:.01ms !important;} .btn:hover,.to-top:hover{transform:none;}}


/* ===== hero: always fade between photos (even with OS "reduce motion") ===== */
#hero .hb-slide{transition:opacity 1s ease, visibility 0s linear 1s !important;}
#hero .hb-slide.is-active{transition:opacity 1s ease !important;}

/* ===== nav targets: section starts flush under the sticky header and fills the view ===== */
#about,#services,#fleet,#why,#careers,#contact{padding-top:36px; padding-bottom:36px;}
@media(min-width:901px){
  #about,#services,#fleet,#why,#careers,#contact{
    min-height:calc(100vh - var(--hdr,72px)); min-height:calc(100svh - var(--hdr,72px));
    display:flex; flex-direction:column; justify-content:center;
  }
  #about>.wrap,#services>.wrap,#fleet>.wrap,#why>.wrap,#careers>.wrap,#contact>.wrap{width:100%;}
}
/* laptop-height windows: tighten so a whole section still fits */
@media(min-width:901px) and (max-height:820px){
  #about,#services,#fleet,#why,#careers,#contact{padding-top:24px; padding-bottom:24px;}
  .section-head{margin-bottom:22px;}
  #services .section-head{margin-bottom:18px;}
  #services .section-head h2{font-size:clamp(26px,2.9vw,38px);}
  #services .svc{padding:18px 22px;}
  #services .svc-grid{gap:16px;}
  #services .svc .ic{width:52px; height:52px; margin-bottom:10px;}
  #services .svc p{line-height:1.45;}
  #contact form{padding:22px 26px;}
  #contact .frow,#contact .field{margin-bottom:12px;}
}

/* ===== final QA fixes ===== */
/* 320px phones: a bare 1fr track can't shrink below its content, which pushed the hero 5px wide */
@media(max-width:900px){ .hero .hb-main{grid-template-columns:minmax(0,1fr);} }
.hero-copy,.hero h1,.hero p.lead{overflow-wrap:break-word; min-width:0;}
/* Safari < 18 needs the prefix */
header{-webkit-backdrop-filter:blur(6px);}
/* comfortable touch targets */
@media(max-width:900px){
  .lang-toggle button{min-height:40px; padding:8px 14px; font-size:14px;}
  .cinfo-row .txt > a{padding:8px 0;}
  .cinfo-row .txt > a + a{margin-top:0;}
  .social a{width:44px; height:44px;}
  footer .social a{width:44px; height:44px;}
  footer .flink{display:inline-block; padding:10px 4px;}
}

/* form: consent row, validation, success */
.frow.consent{display:flex; gap:12px; align-items:flex-start;}
.frow.consent input{width:20px; height:20px; min-height:0; padding:0; margin:3px 0 0; flex-shrink:0; accent-color:var(--red);}
.frow.consent label{margin:0; font-size:13.5px; font-weight:500; line-height:1.45; color:#333;}
.frow.consent label a{color:var(--red-deep); font-weight:700;}
.frow input[aria-invalid="true"],.frow textarea[aria-invalid="true"],.frow select[aria-invalid="true"]{border-color:var(--red); outline:2px solid var(--red); outline-offset:1px;}
.frow.consent input[aria-invalid="true"]{outline-offset:2px;}
.form-status.ok{background:#e9f7ef; border:1px solid #0a6b32; border-radius:6px; padding:14px 16px 14px 48px; text-align:left; position:relative; line-height:1.45;}
.form-status.ok::before{content:""; position:absolute; left:14px; top:50%; width:24px; height:24px; margin-top:-12px; border-radius:50%; background:#0a6b32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat;}
.form-status.bad{background:#fdecec; border:1px solid var(--red); border-radius:6px; padding:12px 16px;}
.form-status:focus{outline:none;}
.hp-field{position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none;}
.fmeta .flink{color:#ddd; margin-left:14px; text-underline-offset:3px;}
.fmeta .flink:hover,.fmeta .flink:focus-visible{color:#fff;}

/* ===== privacy page ===== */
.legal-hero{background:var(--paper-2); border-bottom:1px solid var(--line); padding:56px 0 40px;}
.legal-hero h1{font-size:clamp(30px,4.4vw,48px); margin:8px 0 10px;}
.legal-hero p{color:#444; max-width:62ch;}
.legal-hero .tag{color:var(--red); font-weight:700; font-size:14px; display:flex; align-items:center; gap:10px;}
.legal-body{padding:56px 0 80px;}
.legal-body .wrap{max-width:860px;}
.legal-body h2{font-size:clamp(20px,2.4vw,26px); margin:38px 0 12px; padding-top:6px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p,.legal-body li{font-size:16px; color:#2a2a2a; margin-bottom:12px; max-width:70ch;}
.legal-body ul{padding-left:22px; margin-bottom:14px;}
.legal-body a{color:var(--red-deep); font-weight:600; text-underline-offset:3px;}
.legal-body table{width:100%; border-collapse:collapse; margin:10px 0 18px; font-size:15px;}
.legal-body th,.legal-body td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
.legal-body th{background:var(--paper-2); font-size:13px; letter-spacing:.3px;}
.legal-body .tablewrap{overflow-x:auto;}
.legal-note{border-left:4px solid var(--sky); background:#EEF4FB; padding:14px 18px; border-radius:0 6px 6px 0; margin:18px 0; font-size:15px;}
.backhome{display:inline-block; margin-top:18px; font-weight:700; text-decoration:none; color:var(--red-deep);}
.backhome:hover{text-decoration:underline;}
body[data-page="privacy"] header .navwrap{gap:14px;}
@media(max-width:900px){
  body[data-page="privacy"] nav.links{display:flex; position:static; flex-direction:row; background:none; border:0; box-shadow:none;}
  body[data-page="privacy"] nav.links a{padding:4px 0; border:0; font-size:15px;}
  body[data-page="privacy"] header .wrap.nav{gap:10px;}
}

/* ===== Fleet Expertise + Why TMS refinements ===== */
/* Root-cause fix: the width/height attributes added to stop layout shift made the browser force this photo to 732px tall.
   height:auto lets the 3:2 aspect-ratio drive the height again (restores the original proportions on every screen size). */
.ff-img img{height:auto;}

/* Desktop only (901px and wider) */
@media(min-width:901px){
  /* Fleet Expertise: photo + table side by side (table keeps its original look) */
  .fleet-layout{grid-template-columns:.85fr 1.15fr; gap:44px; align-items:center;}
  .ff-img img{aspect-ratio:3/2; object-fit:cover;}
  .fleet-note{margin-top:28px; font-size:15.5px; max-width:78ch;}

  /* Why TMS: remove the extra empty space above and below the content */
  #why{min-height:0; padding-top:64px; padding-bottom:64px;}
}

/* Fleet photo on phones and tablets (900px and narrower): shorter, wider crop so the section stays compact */
@media(max-width:900px){
  .ff-img img{aspect-ratio:16/9; max-height:300px; object-position:center 40%;}
}
