:root{color-scheme:light;--ink:#111319;--orange:#ff5a00;--orange-dark:#e94f00;--muted:#626771;--line:#dedcd7;--paper:#fff;--soft:#f5f6f7;--hero-photo:url('assets/hero/autumn/day/clear.webp');font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;color:var(--ink);background:#f7f6f2;line-height:1.4}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ec7000;outline-offset:3px}
img{max-width:100%}
h1,h2,h3,p{margin-top:0}
[hidden]{display:none!important}
.button{min-height:51px;padding:13px 25px;display:inline-flex;align-items:center;justify-content:center;gap:25px;border:0;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:700;font-size:15px;text-align:center}
.button-orange{background:var(--orange);color:#fff}.button-orange:hover{background:var(--orange-dark)}
.container{width:min(1480px,calc(100% - 36px));margin-inline:auto}
.header-inner{position:relative;display:flex;align-items:center}
.brand{display:flex;align-items:center;text-decoration:none}.brand-logo{display:block;width:100%;height:auto;aspect-ratio:1400/245}
.primary-nav a,.site-footer a{text-decoration:none}
.header-phone{text-decoration:none;color:inherit;white-space:nowrap}
.menu-button{display:none;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #222;border-radius:7px;background:#fff;color:#111;font-weight:800;cursor:pointer}
.text-button{border:0;background:transparent;cursor:pointer}
.field{display:flex;flex-direction:column;min-width:0}
.field input,.field select,.field textarea{width:100%}
.segmented{border:0;margin:0;padding:0}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;pointer-events:none}
.choice-icon,.address-pin-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.input-with-marker{position:relative;display:block}.route-marker{position:absolute;display:grid;place-items:center;border-radius:50%;font-style:normal}
.calculator-panel{display:grid}.calculator-main{min-width:0}
.parameter-control{display:flex;flex-direction:column}.parameter-summary{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}.parameter-summary::after{content:"";position:absolute;top:50%;rotate:45deg;translate:0 -70%;border-right:2px solid currentColor;border-bottom:2px solid currentColor}
.quick-button,.conditions-button{cursor:pointer}
.calculator-result{display:flex;flex-direction:column}.result-price,.result-formula,.result-heading,.result-lines,.result-warning,.result-kicker{margin-top:0}
.button-white{background:#fff;color:#151717}.button-white:hover{background:#f2f2ef}
.stops{display:grid}.stop-row{display:flex}.stop-row .field{flex:1}.stop-actions{display:flex;gap:3px}.stop-actions button{border:1px solid var(--line);border-radius:6px;background:#f4f4f2;cursor:pointer}.stop-actions button:disabled{opacity:.4}
body.modal-open,body.route-map-open{overflow:hidden}
/* ============================================================
   OWNER-APPROVED LAYOUT 2026-09-30
   New presentation layer only. Calculator endpoints and IDs stay intact.
   ============================================================ */
.approved-layout-v2{
  --ink:#101313;
  --charcoal:#171b1c;
  --orange:#ff5a00;
  --orange-dark:#e94f00;
  --cream:#f4f1eb;
  --line:#d8d6d1;
  background:#f7f6f2;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
}
.approved-layout-v2 .container{width:min(1480px,calc(100% - 36px))}
.approved-layout-v2 h1,
.approved-layout-v2 h2,
.approved-layout-v2 h3{letter-spacing:-.055em}

.approved-layout-v2 .site-header{
  position:sticky;
  top:0;
  z-index:900;
  border-bottom:1px solid #dfddd8;
  background:rgba(250,249,246,.96);
  backdrop-filter:blur(15px);
}
.approved-layout-v2 .header-inner{
  display:flex;
  min-height:78px;
  gap:34px;
}
.approved-layout-v2 .brand{width:280px;flex:0 0 280px}
.approved-layout-v2 .primary-nav{
  position:static;
  display:flex;
  width:auto;
  height:auto;
  margin-left:auto;
  padding:0;
  gap:38px;
  transform:none;
  background:transparent;
  border-radius:0;
}
.approved-layout-v2 .primary-nav a{
  padding:0;
  border-radius:0;
  color:#171919;
  font-size:14px;
  font-weight:700;
}
.approved-layout-v2 .primary-nav a:hover{color:var(--orange);background:transparent}
.approved-layout-v2 .header-contact{display:grid;justify-items:end;line-height:1.03}
.approved-layout-v2 .header-contact .header-phone{
  display:block;
  width:auto;
  height:auto;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  font-size:27px;
  font-weight:900;
  letter-spacing:-.055em;
}
.approved-layout-v2 .header-contact span{color:#555;font-size:11px}
.approved-layout-v2 .header-action{
  display:grid;
  place-items:center;
  min-width:138px;
  min-height:48px;
  padding:0 20px;
  border:1px solid #151818;
  border-radius:7px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}
.approved-layout-v2 .header-action:hover{background:#171a1a;color:#fff}

.approved-layout-v2 .top-stage{
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(410px,.93fr);
  min-height:715px;
  margin-top:0;
  overflow:hidden;
  border:1px solid #dedcd7;
  border-radius:13px;
  background:#fff;
}
.approved-layout-v2 .hero{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) 60px;
  height:auto;
  min-height:715px;
  overflow:hidden;
  background:#15191a;
}
.approved-layout-v2 .hero::before{display:none}
.approved-layout-v2 .hero-copy{
  max-width:none;
  padding:34px 42px 28px;
  background:
    radial-gradient(900px 250px at 40% -20%,rgba(255,255,255,.06),transparent 70%),
    #171b1c;
  color:#fff;
}
.approved-layout-v2 .hero .eyebrow{
  margin:0 0 9px;
  color:#ff6411;
  font-size:14px;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.approved-layout-v2 .hero h1{
  margin:0 0 7px;
  color:#fff;
  font-size:clamp(62px,6.1vw,98px);
  font-weight:950;
  line-height:.89;
}
.approved-layout-v2 .hero-lead{
  margin:0;
  color:#f4f4f2;
  font-size:clamp(18px,1.7vw,26px);
  line-height:1.15;
  letter-spacing:-.035em;
}
.approved-layout-v2 .hero-photo{
  min-height:365px;
  background-color:#d8d4cd;
  background-image:var(--hero-photo),url('assets/organizations.webp');
  background-repeat:no-repeat;
  background-position:center 58%;
  background-size:cover;
}
.approved-layout-v2 .hero-caption{
  display:flex;
  align-items:center;
  gap:25px;
  padding:0 42px;
  background:#171b1c;
  color:#f6f6f3;
  font-size:14px;
}
.approved-layout-v2 .hero-caption span{
  position:relative;
  width:145px;
  height:2px;
  background:var(--orange);
}
.approved-layout-v2 .hero-caption span::before,
.approved-layout-v2 .hero-caption span::after{
  content:"";
  position:absolute;
  top:50%;
  width:15px;
  height:15px;
  translate:0 -50%;
  border-radius:50%;
  background:var(--orange);
}
.approved-layout-v2 .hero-caption span::before{left:0}
.approved-layout-v2 .hero-caption span::after{right:0;width:10px;height:10px}

.approved-layout-v2 .section-tag{
  margin:0 0 9px;
  color:var(--orange-dark);
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}
.approved-layout-v2 .business-section{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.76fr) minmax(0,1.2fr);
  gap:9px;
  padding:31px 0 28px;
}
.approved-layout-v2 .business-copy{padding:4px 20px 0}
.approved-layout-v2 .business-copy h2{
  margin:0 0 17px;
  font-size:clamp(46px,4.1vw,68px);
  font-weight:950;
  line-height:.91;
}
.approved-layout-v2 .business-copy>p:last-child{margin:0;font-size:20px;line-height:1.16}
.approved-layout-v2 .business-card{
  display:flex;
  flex-direction:column;
  min-height:290px;
  padding:27px 28px 23px;
  border-radius:12px;
  background:linear-gradient(145deg,#ff7a12,#ff5700);
  color:#111;
}
.approved-layout-v2 .business-card strong{
  display:block;
  padding:0 0 18px;
  margin:0 0 17px;
  border-bottom:1px solid rgba(75,25,0,.25);
  font-size:22px;
  letter-spacing:-.04em;
}
.approved-layout-v2 .business-card a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:55px;
  margin-top:auto;
  padding:0 22px;
  border-radius:7px;
  background:#171b1c;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}
.approved-layout-v2 .business-photo{
  width:100%;
  height:100%;
  min-height:290px;
  max-height:315px;
  object-fit:cover;
  border-radius:12px;
}

.approved-layout-v2 .services-section{
  padding:10px 0 29px;
  border-top:1px solid #dfddd8;
  border-bottom:1px solid #dfddd8;
}
.approved-layout-v2 .services-section .container{padding-top:0}
.approved-layout-v2 .services-section .section-tag{margin-top:0;padding-top:12px}
.approved-layout-v2 .services-section h2,
.approved-layout-v2 .transport-section h2{
  margin:0 0 17px;
  font-size:clamp(35px,3.35vw,54px);
  font-weight:950;
  line-height:.96;
}
.approved-layout-v2 .services-layout{
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(460px,1.02fr);
  gap:42px;
  align-items:stretch;
}
.approved-layout-v2 .services-photos{display:grid;grid-template-columns:2.35fr 1fr;gap:14px}
.approved-layout-v2 .services-photos img{
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:10px;
}
.approved-layout-v2 .service-list{display:grid}
.approved-layout-v2 .service-list article{
  display:grid;
  grid-template-columns:45px 1fr 50px;
  gap:18px;
  align-items:center;
  min-height:96px;
  border-bottom:1px solid #d2d0cb;
}
.approved-layout-v2 .service-list article:first-child{border-top:1px solid #d2d0cb}
.approved-layout-v2 .service-list article>span{align-self:start;padding-top:26px;color:var(--orange);font-size:15px;font-weight:900}
.approved-layout-v2 .service-list h3{margin:0 0 4px;font-size:28px;font-weight:900}
.approved-layout-v2 .service-list p{margin:0;font-size:16px}
.approved-layout-v2 .service-list b{display:block;margin-top:4px;color:var(--orange-dark);font-size:14px}
.approved-layout-v2 .service-list a{
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border:1px solid #191b1b;
  border-radius:50%;
  text-decoration:none;
  font-size:25px;
}
.approved-layout-v2 .service-list a:hover{background:#171b1c;color:#fff}

.approved-layout-v2 .transport-section{padding:15px 0 26px}
.approved-layout-v2 .transport-layout{
  display:grid;
  grid-template-columns:minmax(380px,.92fr) minmax(550px,1.08fr);
  gap:45px;
}
.approved-layout-v2 .transport-image{
  display:grid;
  place-items:center;
  min-height:260px;
  border-radius:10px;
  background:linear-gradient(135deg,#f4f1eb,#e5e2dc);
  overflow:hidden;
}
.approved-layout-v2 .transport-image img{display:block;width:92%;height:245px;object-fit:contain}
.approved-layout-v2 .tariff-table{align-self:start}
.approved-layout-v2 .tariff-row{
  position:relative;
  display:grid;
  grid-template-columns:1.5fr .8fr .65fr .85fr;
  gap:16px;
  align-items:center;
  min-height:50px;
  padding:0 15px;
  border-bottom:1px solid #cfcdc8;
  font-size:16px;
}
.approved-layout-v2 .tariff-row.is-active::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:5px;
  border-radius:3px;
  background:var(--orange);
}
.approved-layout-v2 .tariff-row.is-active{font-weight:800}
.approved-layout-v2 .tariff-head{min-height:37px;color:#5d6264;font-size:13px}
.approved-layout-v2 .tariff-table>p{margin:10px 15px 0;color:#6b6e6e;font-size:12px}

.approved-layout-v2 .logistics{
  min-height:155px;
  background:
    radial-gradient(500px 180px at 35% 130%,rgba(255,255,255,.045),transparent 70%),
    #171b1c;
  color:#fff;
}
.approved-layout-v2 .logistics-inner{
  display:grid;
  grid-template-columns:minmax(300px,.95fr) minmax(500px,1.35fr) minmax(255px,.68fr);
  gap:35px;
  align-items:center;
  min-height:155px;
  padding:20px 0;
}
.approved-layout-v2 .logistics h2{margin:0;font-size:42px;font-weight:950}
.approved-layout-v2 .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:none}
.approved-layout-v2 .steps li{position:relative;display:block;padding-top:29px}
.approved-layout-v2 .steps li::before{content:"";position:absolute;top:12px;left:19px;right:-18px;height:1px;background:#9b9d9b}
.approved-layout-v2 .steps li:last-child::before{right:calc(100% - 42px)}
.approved-layout-v2 .steps li>span{
  position:absolute;
  z-index:1;
  top:-1px;
  left:0;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--orange);
  color:#fff;
  font-size:11px;
}
.approved-layout-v2 .steps li>div{padding:0;border:0}
.approved-layout-v2 .steps h3{margin:0 0 2px;color:#fff;font-size:14px;letter-spacing:-.02em}
.approved-layout-v2 .steps p{margin:0;color:#d8d8d5;font-size:11px;line-height:1.15}
.approved-layout-v2 .logistics-contact{display:grid;justify-items:end}
.approved-layout-v2 .logistics-contact>a:first-child{color:#fff;text-decoration:none;font-size:32px;font-weight:950;letter-spacing:-.05em}
.approved-layout-v2 .logistics-contact>span{margin-top:-5px;color:#a9aaa8;font-size:11px}
.approved-layout-v2 .logistics-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:44px;
  margin-top:10px;
  padding:0 16px;
  border-radius:5px;
  background:var(--orange);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.approved-layout-v2 .site-footer{padding:18px 0;background:#faf9f6}
.approved-layout-v2 .footer-inner{display:flex;align-items:center;justify-content:flex-start;gap:28px}
.approved-layout-v2 .footer-brand{width:240px}
.approved-layout-v2 .footer-brand svg{display:block;width:100%}
.approved-layout-v2 .footer-inner>span{font-size:11px}
.approved-layout-v2 .footer-inner nav{display:flex;gap:42px;margin:0 0 0 auto}
.approved-layout-v2 .footer-inner nav a{font-size:12px;font-weight:700}

@media(max-width:1180px){
  .approved-layout-v2 .header-inner{gap:19px}.approved-layout-v2 .brand{width:220px;flex-basis:220px}.approved-layout-v2 .primary-nav{gap:19px}.approved-layout-v2 .header-action{min-width:115px}
  .approved-layout-v2 .top-stage{grid-template-columns:minmax(0,1.42fr) minmax(390px,1fr)}
  .approved-layout-v2 .hero h1{font-size:70px}
  .approved-layout-v2 .business-section{grid-template-columns:1fr 300px}.approved-layout-v2 .business-photo{grid-column:1/-1;height:280px;max-height:none}
  .approved-layout-v2 .services-layout{grid-template-columns:1fr;gap:20px}.approved-layout-v2 .services-photos img{height:260px}
  .approved-layout-v2 .transport-layout{grid-template-columns:1fr;gap:20px}
  .approved-layout-v2 .logistics-inner{grid-template-columns:1fr 1.65fr}.approved-layout-v2 .logistics-contact{grid-column:1/-1;display:flex;align-items:center;gap:15px}.approved-layout-v2 .logistics-button{width:235px;margin:0 0 0 auto}
}
@media(max-width:900px){
  .approved-layout-v2 .container{width:min(100% - 28px,720px)}
  .approved-layout-v2 .header-inner{min-height:68px}.approved-layout-v2 .brand{width:200px;flex-basis:200px}.approved-layout-v2 .menu-button{display:inline-flex;margin-left:auto}.approved-layout-v2 .header-contact,.approved-layout-v2 .header-action{display:none}
  .approved-layout-v2 .primary-nav{display:none;position:absolute;top:68px;left:0;right:0;width:100%;padding:12px 18px;background:#fff;box-shadow:0 15px 30px #0002}.approved-layout-v2 .primary-nav.is-open{display:flex;flex-direction:column;gap:0}.approved-layout-v2 .primary-nav a{padding:13px 4px}
  .approved-layout-v2 .top-stage{display:block;width:min(100% - 28px,720px);overflow:visible;border:0;background:transparent}.approved-layout-v2 .hero{min-height:610px;border-radius:12px}.approved-layout-v2 .hero h1{font-size:clamp(58px,10vw,78px)}
  .approved-layout-v2 .business-section{grid-template-columns:1fr}.approved-layout-v2 .business-copy{padding-inline:0}.approved-layout-v2 .business-photo{grid-column:auto}
  .approved-layout-v2 .services-photos{grid-template-columns:2fr 1fr}
  .approved-layout-v2 .logistics-inner{display:block;padding:27px 0}.approved-layout-v2 .logistics h2{margin-bottom:27px}.approved-layout-v2 .logistics-contact{margin-top:26px}.approved-layout-v2 .footer-inner nav{gap:20px}
}
@media(max-width:620px){
  .approved-layout-v2 .container{width:calc(100% - 20px)}
  .approved-layout-v2 .brand{width:184px;flex-basis:184px}
  .approved-layout-v2 .top-stage{width:calc(100% - 20px)}
  .approved-layout-v2 .hero{grid-template-rows:auto minmax(300px,1fr) 52px;min-height:540px}.approved-layout-v2 .hero-copy{padding:28px 22px 22px}.approved-layout-v2 .hero h1{font-size:52px}.approved-layout-v2 .hero-lead{font-size:18px}.approved-layout-v2 .hero-caption{gap:14px;padding:0 20px;font-size:11px}.approved-layout-v2 .hero-caption span{width:75px}
  .approved-layout-v2 .business-section{padding-top:25px}.approved-layout-v2 .business-copy h2{font-size:44px}.approved-layout-v2 .business-copy>p:last-child{font-size:17px}.approved-layout-v2 .business-card{min-height:260px;padding:23px 20px}.approved-layout-v2 .business-card strong{font-size:19px}.approved-layout-v2 .business-photo{height:230px;min-height:0}
  .approved-layout-v2 .services-section h2,.approved-layout-v2 .transport-section h2{font-size:38px}.approved-layout-v2 .services-photos{grid-template-columns:1fr 1fr;gap:8px}.approved-layout-v2 .services-photos img{height:190px}.approved-layout-v2 .service-list article{grid-template-columns:35px 1fr 42px;gap:8px}.approved-layout-v2 .service-list h3{font-size:22px}.approved-layout-v2 .service-list p{font-size:14px}.approved-layout-v2 .service-list a{width:38px;height:38px}
  .approved-layout-v2 .transport-image{min-height:210px}.approved-layout-v2 .transport-image img{height:195px}.approved-layout-v2 .tariff-row{grid-template-columns:1.4fr .8fr .55fr .8fr;gap:5px;padding:0 5px;font-size:12px}.approved-layout-v2 .tariff-head{font-size:10px}
  .approved-layout-v2 .logistics h2{font-size:34px}.approved-layout-v2 .steps{grid-template-columns:1fr;gap:12px}.approved-layout-v2 .steps li{padding:2px 0 2px 42px}.approved-layout-v2 .steps li::before{top:14px;bottom:-12px;left:14px;width:1px;height:auto;right:auto}.approved-layout-v2 .steps li:last-child::before{display:none}.approved-layout-v2 .steps li>span{top:0}.approved-layout-v2 .steps p br{display:none}.approved-layout-v2 .logistics-contact{display:grid;justify-items:start}.approved-layout-v2 .logistics-button{width:100%;margin:10px 0 0}.approved-layout-v2 .footer-inner{flex-wrap:wrap}.approved-layout-v2 .footer-brand{width:190px}.approved-layout-v2 .footer-inner nav{width:100%;margin:0;justify-content:space-between;gap:10px}
}
.modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(20,29,36,.52);backdrop-filter:blur(2px)}
.calculator-modal{position:relative;width:min(630px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:34px;background:white;border-radius:20px;box-shadow:0 25px 70px rgba(13,22,29,.3)}
.calculator-modal h2{font-size:29px;letter-spacing:-.035em;margin:0 42px 5px 0}
.modal-subtitle{margin:0 40px 20px 0;color:#74808e;font-size:13px}
.modal-close{position:absolute;right:25px;top:20px;width:38px;height:38px;border:0;background:transparent;color:#6e7884;font-size:35px;font-weight:300;line-height:1;cursor:pointer}
.calculator-modal form{display:grid;gap:15px}
.modal-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.special-conditions{display:grid;gap:5px;padding:13px 16px;background:#fff3ec;border-radius:10px;color:#e75d00;font-size:13px;font-weight:700}
.special-conditions textarea{width:100%;border:0;background:transparent;color:#525b66;font:inherit;font-weight:400;resize:vertical}
.special-conditions textarea:focus{outline:0}
.modal-submit{width:100%;margin-top:4px}
.document-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:0;margin:0;padding:0}
.document-choice legend{width:100%;margin-bottom:8px;color:#687382;font-size:13px;font-weight:700}
.document-choice label{position:relative}
.document-choice input{position:absolute;opacity:0}
.document-choice span{display:grid;place-items:center;min-height:43px;padding:8px;border-radius:24px;background:#f1f2f3;font-size:12px;font-weight:700;text-align:center;cursor:pointer}
.document-choice input:checked+span{background:#ffeadc;color:#d95500;box-shadow:inset 0 0 0 1px var(--orange)}
.checkbox-row{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff5ee;border-radius:10px;font-size:13px;cursor:pointer}
.checkbox-row input{width:20px;height:20px;accent-color:var(--orange)}
.checkbox-row span{display:grid}.checkbox-row small{color:#7b8490}
.modal-status{min-height:0;margin:0;color:#8c3a0c;font-size:13px}

@media(max-width:1050px){
  .calculator-section{width:calc(100% - 48px)}
  .calculator-panel{grid-template-columns:minmax(0,1fr) 270px;padding:30px;gap:28px}
  .calculator-choices,.calculator-row{grid-template-columns:1fr}
  .loader-options{grid-template-columns:1fr 1fr}.loader-options .schedule-control{grid-column:1/-1}
  .result-price{font-size:43px}
}
@media(max-width:700px){
  .calculator-section{width:min(100% - 30px,520px)}
  .calculator-panel{grid-template-columns:1fr;padding:20px;gap:20px}
  .calculator-main h2{font-size:35px}
  .calculator-choices{display:block}.calculator-choices .segmented{margin-bottom:17px}
  .calculator-choices .segmented span{padding-inline:15px}
  .route-grid,.calculator-row,.loader-options,.schedule-control{grid-template-columns:1fr}
  .quick-button{width:max-content;margin:0}
  .loader-options .schedule-control{grid-column:auto}
  .calculator-result{min-height:340px;padding:24px 20px}
  .result-kicker{margin-bottom:20px}.result-price{font-size:43px}
  .calculator-modal{padding:28px 20px;border-radius:16px}
  .modal-two-columns,.document-choice{grid-template-columns:1fr}
  .document-choice{gap:5px}.document-choice span{min-height:39px}
}

/* DEV OSM sequential map points */
.input-with-marker input{
  padding-right:52px;
}
.address-map-host{
  position:relative;
  display:block;
}
.address-map-button{
  position:absolute;
  z-index:3;
  top:50%;
  right:9px;
  translate:0 -50%;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #d8dde1;
  border-radius:8px;
  background:white;
  color:#ec7000;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.address-map-button:hover{
  border-color:#ec7000;
  background:#fff6ef;
}
.address-map-button:focus-visible{
  outline:3px solid #ec7000;
  outline-offset:2px;
}
.result-map-button{
  width:100%;
  margin:0 0 12px;
  padding:8px 4px;
  border:0;
  background:transparent;
  color:white;
  font-size:13px;
  font-weight:800;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.route-map-modal[hidden]{
  display:none;
}
.route-map-modal{
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(14,24,31,.68);
  backdrop-filter:blur(4px);
}
.route-map-dialog{
  position:relative;
  width:min(920px,100%);
  padding:25px;
  border-radius:20px;
  background:white;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.route-map-close{
  position:absolute;
  z-index:2;
  top:15px;
  right:16px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f0f2f3;
  color:#142530;
  font-size:25px;
  cursor:pointer;
}
.route-map-close:hover{
  background:#e6e9eb;
}
.route-map-modal-heading{
  margin:0 48px 17px 0;
}
.route-map-modal-heading h3{
  margin:0 0 4px;
  font-size:25px;
  letter-spacing:-.03em;
}
.route-map-modal-heading p{
  margin:0;
  color:#78818c;
  font-size:13px;
}
.route-map{
  position:relative;
  z-index:0;
  width:100%;
  height:min(570px,62vh);
  overflow:hidden;
  border:1px solid #d8dde1;
  border-radius:13px;
  background:#e8edef;
}
.route-map.is-busy{
  cursor:wait;
}
.route-map-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:11px;
}
.route-map-status{
  min-height:18px;
  margin:0 2px;
  color:#68727e;
  font-size:12px;
  line-height:1.45;
}
.route-map-status.is-error{
  color:#c43d19;
  font-weight:700;
}
.route-map-finish{
  min-width:110px;
  min-height:40px;
  padding:8px 18px;
  border:0;
  border-radius:8px;
  background:#ec7000;
  color:white;
  font-weight:800;
  cursor:pointer;
}
.route-map-finish:hover{
  background:#d86200;
}
.route-map .leaflet-control-attribution{
  font-size:10px;
}
body.route-map-open{
  overflow:hidden;
}
@media(max-width:700px){
  .route-map-modal{
    padding:10px;
  }
  .route-map-dialog{
    padding:18px 14px 14px;
    border-radius:16px;
  }
  .route-map-modal-heading{
    margin-right:42px;
  }
  .route-map-modal-heading h3{
    font-size:21px;
  }
  .route-map{
    height:58vh;
  }
  .route-map-footer{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  .route-map-finish{
    width:100%;
  }
}


/* DEV map cursor and colored point pins */
.route-map.is-selecting,
.route-map.is-selecting.leaflet-grab,
.route-map.is-selecting .leaflet-map-pane,
.route-map.is-selecting .leaflet-tile-pane,
.route-map.is-selecting .leaflet-overlay-pane{
  cursor:url("/assets/map-pin-cursor.svg") 16 38,crosshair!important;
}
.route-map.is-selecting .leaflet-control,
.route-map.is-selecting .leaflet-control *{
  cursor:pointer!important;
}
.route-map-div-icon{
  border:0!important;
  background:transparent!important;
}
.route-point-pin{
  position:relative;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:3px solid white;
  border-radius:50% 50% 50% 0;
  box-shadow:0 4px 12px rgba(16,29,38,.35);
  transform:rotate(-45deg);
}
.route-point-pin b{
  color:white;
  font-size:13px;
  line-height:1;
  transform:rotate(45deg);
}
.route-point-start{
  background:#24a148;
}
.route-point-finish{
  background:#ec7000;
}
.route-point-stop{
  background:#2f80ed;
}

/* DEV local OSM address suggestions */
.address-suggestion-host{
  position:relative;
}
.address-suggestions[hidden]{
  display:none;
}
.address-suggestions{
  position:absolute;
  z-index:80;
  top:calc(100% + 6px);
  left:0;
  right:0;
  overflow:hidden;
  border:1px solid #d9dee2;
  border-radius:10px;
  background:white;
  box-shadow:0 15px 38px rgba(20,37,48,.18);
}
.address-suggestion-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:50px;
  padding:10px 14px;
  border:0;
  border-bottom:1px solid #edf0f2;
  background:white;
  color:#142530;
  text-align:left;
  cursor:pointer;
}
.address-suggestion-item:last-child{
  border-bottom:0;
}
.address-suggestion-item:hover,
.address-suggestion-item:focus{
  outline:0;
  background:#fff4eb;
}
.address-suggestion-item span{
  overflow:hidden;
  line-height:1.35;
  text-overflow:ellipsis;
}
.address-suggestion-item small{
  flex:0 0 auto;
  padding-top:2px;
  color:#9299a1;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
}

/* APPROVED_DESIGN_RESPONSIVE_2026_10_04
   Адаптация утверждённого нового дизайна.
   Desktop: фотография слева, калькулятор справа.
   Tablet/mobile: переход в один столбец только до 980px.
*/

.approved-layout-v2,
.approved-layout-v2 * {
    box-sizing: border-box;
}

.approved-layout-v2 {
    overflow-x: clip;
}

.approved-layout-v2 img {
    max-width: 100%;
}

/* Большие мониторы */
.approved-layout-v2 .container {
    width: min(1760px, calc(100% - 32px));
    margin-inline: auto;
}

@media (min-width: 1501px) {
    .approved-layout-v2 .top-stage {
        grid-template-columns: minmax(0, 1.78fr) minmax(500px, 0.94fr);
        min-height: clamp(715px, 41vw, 820px);
        align-items: stretch;
    }

    .approved-layout-v2 .hero {
        min-width: 0;
        min-height: clamp(715px, 41vw, 820px);
    }

    .approved-layout-v2 .hero-photo {
        min-height: clamp(365px, 21vw, 430px);
    }
}

/* Обычные ноутбуки и компактные мониторы */
@media (min-width: 981px) and (max-width: 1500px) {
    .approved-layout-v2 .container {
        width: min(100% - 28px, 1440px);
    }

    .approved-layout-v2 .top-stage {
        display: grid;
        grid-template-columns: minmax(0, 1.62fr) minmax(410px, 0.92fr);
        min-height: clamp(660px, 50vw, 735px);
        align-items: stretch;
    }

    .approved-layout-v2 .hero {
        min-width: 0;
        min-height: clamp(660px, 50vw, 735px);
    }

    .approved-layout-v2 .hero h1 {
        font-size: clamp(54px, 6vw, 86px);
    }

    .approved-layout-v2 .hero-photo {
        min-height: clamp(330px, 25vw, 390px);
    }
}

/* Планшеты: калькулятор переходит под главный экран */
@media (max-width: 980px) {
    .approved-layout-v2 .container {
        width: min(100% - 28px, 860px);
    }

    .approved-layout-v2 .top-stage {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-height: 0 !important;
        align-items: start;
        overflow: visible;
    }

    .approved-layout-v2 .top-stage > * {
        width: 100%;
        min-width: 0;
    }

    .approved-layout-v2 .hero {
        min-height: clamp(560px, 78vw, 680px);
    }

    .approved-layout-v2 .hero h1 {
        font-size: clamp(48px, 9vw, 76px);
        line-height: 0.94;
    }

    .approved-layout-v2 .hero-photo {
        min-height: clamp(300px, 48vw, 410px);
    }

    .approved-layout-v2 .header-inner {
        gap: 12px;
    }

    .approved-layout-v2 .main-nav {
        flex-wrap: wrap;
    }
}

/* Телефоны */
@media (max-width: 620px) {
    .approved-layout-v2 .container {
        width: calc(100% - 20px);
    }

    .approved-layout-v2 .top-stage {
        gap: 12px;
    }

    .approved-layout-v2 .hero {
        min-height: 520px;
        border-radius: 14px;
    }

    .approved-layout-v2 .hero h1 {
        font-size: clamp(40px, 13vw, 60px);
        overflow-wrap: anywhere;
    }

    .approved-layout-v2 .hero-photo {
        min-height: 270px;
    }
}


/* HERO_AUTUMN_PHOTO_2026_10_04
   Фотография всегда отображается полностью без обрезки.
*/
.approved-layout-v2 .hero-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1672 / 941 !important;
    /* WebP-копия ускоряет загрузку; исходный PNG и геометрия сохранены. */
    background-image: url("assets/images/hero-autumn-fast-v1.webp") !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #f3f0e9 !important;
}

.approved-layout-v2 .hero-photo > img {
    opacity: 0 !important;
    visibility: hidden !important;
}

@media (max-width: 980px) {
    .approved-layout-v2 .hero-photo {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1672 / 941 !important;
        background-size: contain !important;
    }
}

@media (max-width: 620px) {
    .approved-layout-v2 .hero-photo {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1672 / 941 !important;
        background-size: contain !important;
    }
}

/* SERVICES_SINGLE_PHOTO_AND_HOVER */
/* Одно изображение занимает всю прежнюю область двух фотографий. */
.approved-layout-v2 #services .services-photos{
  grid-template-columns:minmax(0,1fr);
}
.approved-layout-v2 #services .service-list h3{
  transition:color .18s ease;
}
.approved-layout-v2 #services .service-list article>a{
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.approved-layout-v2 #services .service-list article:hover h3,
.approved-layout-v2 #services .service-list article:focus-within h3{
  color:var(--orange);
}
.approved-layout-v2 #services .service-list article:hover>a,
.approved-layout-v2 #services .service-list article:focus-within>a{
  color:var(--orange);
  border-color:var(--orange);
  background:transparent;
}

/* SERVICES_FULL_PHOTO_AND_TITLE_LINKS */
/* Естественная высота сохраняет весь кадр на любой ширине экрана. */
.approved-layout-v2 #services .services-photos{
  align-content:start;
}
.approved-layout-v2 #services .services-photos img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
/* Текстовые ссылки не наследуют круглое оформление ссылок-стрелок. */
.approved-layout-v2 #services .service-list h3>a{
  display:inline;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  text-decoration:none;
  cursor:pointer;
}
.approved-layout-v2 #services .service-list article>a{
  cursor:pointer;
}
.approved-layout-v2 #services .service-list h3>a:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}

/* TRANSPORT_MODEL_PREVIEW */
/* Фотографии в одной ячейке: смена модели не меняет размеры блока. */
.approved-layout-v2 #tariffs .fleet-preview .fleet-preview-photo{
  grid-area:1 / 1;
  visibility:hidden;
  object-fit:contain;
}
.approved-layout-v2 #tariffs .fleet-preview .fleet-preview-photo.is-active{
  visibility:visible;
}
.approved-layout-v2 #tariffs [data-fleet-model]{
  cursor:pointer;
}
.approved-layout-v2 #tariffs [data-fleet-model]:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:-2px;
}

/* HEADER_CITY_CODE_AND_CALL */
.approved-layout-v2 .header-contact .header-phone .header-city-code{
  color:#707070;
  font-size:.72em;
  font-weight:700;
  letter-spacing:-.025em;
}
.approved-layout-v2 .header-phone,
.approved-layout-v2 .header-action{
  cursor:pointer;
}

/* HEADER_PHONE_BRAND_ORANGE */
.approved-layout-v2 .header-contact .header-phone{
  color:var(--orange);
}

/* LOGISTICS_PHONE_AND_FEEDBACK */
.approved-layout-v2 .logistics-contact>a.logistics-phone{
  color:var(--orange);
  white-space:nowrap;
}
.approved-layout-v2 .logistics-phone .logistics-city-code{
  color:#a9aaa8;
  font-size:.72em;
  font-weight:700;
  letter-spacing:-.025em;
}
.approved-layout-v2 .logistics-phone,
.approved-layout-v2 .logistics-button{cursor:pointer;}

/* HERO_NEW_COPY_AND_SPACING */
.approved-layout-v2 .hero .hero-copy{
  container-type:inline-size;
  padding:40px clamp(24px,3vw,48px) 38px;
}
.approved-layout-v2 .hero .hero-copy .eyebrow{
  margin:0 0 18px;
  line-height:1.4;
  letter-spacing:.035em;
}
.approved-layout-v2 .hero .hero-copy #hero-title{
  margin:0 0 22px;
  font-size:clamp(30px,4.8vw,82px);
  font-size:clamp(24px,9.5cqw,82px);
  line-height:1.06;
  letter-spacing:-.035em;
  overflow-wrap:normal;
}
.approved-layout-v2 .hero .hero-copy .hero-lead{
  margin:0;
  line-height:1.45;
  letter-spacing:0;
}
@media(max-width:620px){
  .approved-layout-v2 .hero .hero-copy{
    padding:30px 24px;
  }
  .approved-layout-v2 .hero .hero-copy .eyebrow{
    font-size:12px;
    margin-bottom:16px;
  }
  .approved-layout-v2 .hero .hero-copy #hero-title{
    margin-bottom:18px;
  }
}
