/* Комфорт Транс Пассажир - лендинг. Палитра тихая: чернила, бумага, бронза */

:root{
  --ink:#101820;
  --ink-2:#18232e;
  --ink-3:#243140;
  --paper:#F7F5F1;
  --paper-2:#EDE9E2;
  --bronze:#B0793C;
  --bronze-l:#D9A86A;
  --txt:#1b232b;
  --txt-mut:#5d6873;
  --line:rgba(16,24,32,.13);
  --line-d:rgba(247,245,241,.16);
  --w:1200px;
  --r:2px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--txt);
  font-family:'Inter',system-ui,sans-serif;
  font-size:17px;
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Manrope',system-ui,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.025em}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--ink);color:#fff;padding:10px 16px;z-index:99}

/* ---------- типовые элементы ---------- */
.eyebrow{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bronze);font-weight:600;margin-bottom:22px;
}
.h2{font-size:clamp(30px,4.2vw,52px);max-width:16ch}
.sub{margin-top:20px;max-width:58ch;color:var(--txt-mut);font-size:18px}
.sec{padding:120px 0;position:relative}
.sec--paper{background:var(--paper)}
.sec--ink{background:var(--ink);color:#e9e6e1}
.sec--ink .sub,.sec--ink p{color:rgba(233,230,225,.72)}
.sec--ink .h2{color:#fff}
.sec--band{background:var(--paper-2)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:#fff;
  padding:15px 28px;border:1px solid var(--ink);border-radius:var(--r);
  font-weight:600;font-size:15px;letter-spacing:.01em;
  cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn:hover{background:var(--bronze);border-color:var(--bronze)}
.btn--lg{padding:19px 38px;font-size:16px}
.btn--sm{padding:11px 20px;font-size:14px}
.btn--full{width:100%}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero .btn{background:var(--bronze);border-color:var(--bronze)}
.hero .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.hero .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.hero .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

.tel{font-weight:600;font-size:15px;letter-spacing:.01em;white-space:nowrap;transition:.2s}
.tel:hover{color:var(--bronze)}
.tel--big{font-family:'Manrope',sans-serif;font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;display:inline-block;margin-top:26px}

.num{
  font-family:'Manrope',sans-serif;font-weight:200;font-size:34px;
  color:var(--bronze);display:block;line-height:1;letter-spacing:-.02em;
}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- хедер ---------- */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:18px 0;transition:.35s ease;
  border-bottom:1px solid transparent;
}
.hdr__in{display:flex;align-items:center;gap:34px}
.hdr.solid{background:rgba(247,245,241,.94);backdrop-filter:blur(12px);border-bottom-color:var(--line);padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;color:#fff;transition:.35s}
.hdr.solid .brand{color:var(--ink)}
.brand__mark{
  width:26px;height:26px;flex:none;border-radius:50%;
  border:1.5px solid var(--bronze);position:relative;
}
.brand__mark::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--bronze)}
.brand__txt{font-family:'Manrope',sans-serif;font-weight:700;font-size:16px;letter-spacing:-.02em;line-height:1.1}
.brand__txt em{font-style:normal;font-weight:300;display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.nav{display:flex;gap:28px;margin-left:auto;font-size:15px;color:rgba(255,255,255,.82);transition:.35s}
.hdr.solid .nav{color:var(--txt-mut)}
.nav a{transition:.2s;position:relative}
.nav a:hover{color:var(--bronze)}
.hdr__act{display:flex;align-items:center;gap:18px;color:#fff}
.hdr.solid .hdr__act{color:var(--ink)}
.hdr.solid .btn--sm{background:var(--ink);color:#fff}
.hdr .btn--sm{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.hdr .btn--sm:hover,.hdr.solid .btn--sm:hover{background:var(--bronze);border-color:var(--bronze);color:#fff}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:22px;height:1.5px;background:currentColor;margin:5px 0;transition:.3s}

/* ---------- герой ---------- */
.hero{
  position:relative;background:var(--ink);color:#fff;
  padding:150px 0 0;overflow:hidden;
}
.hero__photo{
  position:absolute;top:0;right:0;width:62%;height:100%;
  background:url('img/bus-big.png') 30% center/cover no-repeat;
  opacity:.9;
}
.hero__photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--ink) 8%,rgba(16,24,32,.92) 34%,rgba(16,24,32,.35) 72%,rgba(16,24,32,.55) 100%);
}
.hero__in{position:relative;z-index:2;padding-bottom:70px}
.hero h1{font-size:clamp(31px,4.3vw,55px);max-width:17ch}
.hero h1 .accent{color:var(--bronze-l)}
.hero__sub{margin-top:22px;max-width:48ch;color:rgba(255,255,255,.76);font-size:17px;line-height:1.55}
.ticks{list-style:none;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 34px;max-width:720px}
.ticks li{position:relative;padding-left:26px;font-size:15px;color:rgba(255,255,255,.88)}
.ticks li::before{
  content:"";position:absolute;left:0;top:9px;width:11px;height:6px;
  border-left:1.5px solid var(--bronze-l);border-bottom:1.5px solid var(--bronze-l);
  transform:rotate(-45deg);
}
.hero__cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero__note{margin-top:16px;font-size:14px;color:rgba(255,255,255,.55)}

.stats{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line-d);
}
.stat{padding:34px 30px 44px;border-right:1px solid var(--line-d)}
.stat:first-child{padding-left:0}
.stat:last-child{border-right:0}
.stat b{
  display:block;font-family:'Manrope',sans-serif;font-weight:300;
  font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em;color:#fff;line-height:1;
}
.stat span{display:block;margin-top:12px;font-size:13px;color:rgba(255,255,255,.5);line-height:1.45}

/* ---------- боль ---------- */
.pain{background:var(--ink);color:#fff;padding:0 0 130px}
.pain__in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding-top:110px;border-top:1px solid var(--line-d)}
.pain h2{font-size:clamp(28px,3.6vw,46px);max-width:14ch}
.pain__txt p{color:rgba(255,255,255,.7);margin-bottom:20px}
.pain__txt .lead{font-size:21px;color:#fff;font-weight:500;line-height:1.45}
.pain__end{color:var(--bronze-l) !important;font-weight:500}

/* ---------- механизм ---------- */
.mech{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mech__i{padding:40px 34px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.3s}
.mech__i:hover{background:rgba(176,121,60,.05)}
.mech__i h3{font-size:20px;margin:22px 0 12px;font-weight:700}
.mech__i p{font-size:15.5px;color:var(--txt-mut)}
.mech__i--cta{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center}
.mech__i--cta:hover{background:var(--ink-2)}
.mech__i--cta h3{color:#fff;margin-top:0}
.mech__i--cta p{color:rgba(255,255,255,.65);margin-bottom:22px}
.mech__i--cta .btn{background:var(--bronze);border-color:var(--bronze);align-self:flex-start}
.mech__i--cta .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}

/* ---------- услуги ---------- */
.serv{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);margin-top:64px;border:1px solid var(--line-d)}
.serv__i{background:var(--ink);padding:42px 34px 46px;transition:.3s}
.serv__i:hover{background:var(--ink-2)}
.serv__i h3{font-size:19px;color:#fff;margin-bottom:14px;font-weight:700}
.serv__i p{font-size:15.5px}

/* ---------- парк ---------- */
.fleet{margin-top:60px;display:flex;flex-direction:column;gap:34px}
.fleet__i{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch;
  background:#fff;border:1px solid var(--line);overflow:hidden;
}
.fleet__i--rev{grid-template-columns:.85fr 1.15fr}
.fleet__i--rev .fleet__img{order:2}
.fleet__img{background:var(--paper-2);display:flex;align-items:center;justify-content:center;min-height:340px;overflow:hidden}
.fleet__img img{width:100%;height:100%;object-fit:cover}
.fleet__txt{padding:48px 46px}
.fleet__tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.fleet__txt h3{font-size:clamp(26px,3vw,36px);margin:12px 0 26px}
.dots{list-style:none;display:grid;gap:11px}
.dots li{position:relative;padding-left:20px;font-size:15.5px;color:var(--txt-mut)}
.dots li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--bronze);border-radius:50%}
.fleet__for{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--txt)}
.fleet__note{margin-top:34px;font-size:15px;color:var(--txt-mut);max-width:70ch}

/* ---------- кейсы ---------- */
.cases__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-d);margin-top:60px;border:1px solid var(--line-d)}
.case{background:var(--ink);padding:48px 42px}
.case__label{
  font-family:'Manrope',sans-serif;font-weight:700;font-size:21px;
  color:#fff !important;letter-spacing:-.02em;margin-bottom:22px;line-height:1.25;
}
.case p{font-size:16px;margin-bottom:16px}
.clients{margin-top:56px;padding-top:34px;border-top:1px solid var(--line-d)}
.clients__t{font-size:12px !important;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze) !important;font-weight:600}
.clients__row{display:flex;flex-wrap:wrap;gap:16px 46px;margin-top:22px}
.clients__row span{font-family:'Manrope',sans-serif;font-weight:500;font-size:17px;color:rgba(255,255,255,.85)}

/* ---------- гарантии ---------- */
.guar{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px}
.guar__i{padding:0 34px;border-left:2px solid var(--bronze)}
.guar__i h3{font-size:19px;margin-bottom:13px}
.guar__i p{font-size:15.5px;color:var(--txt-mut)}

/* ---------- шаги ---------- */
.steps__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.steps__head .btn{margin-top:36px}
.steps{list-style:none;display:grid;gap:0}
.steps li{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:6px 20px;align-items:start}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .num{grid-row:span 2}
.steps h3{font-size:20px;grid-column:2}
.steps p{font-size:15.5px;color:var(--txt-mut);grid-column:2;max-width:52ch}

/* ---------- FAQ ---------- */
.faq__in{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:33px;width:11px;height:11px;
  border-right:1.5px solid var(--bronze);border-bottom:1.5px solid var(--bronze);
  transform:rotate(45deg);transition:.3s;
}
.faq details[open] summary::after{transform:rotate(-135deg);top:37px}
.faq details p{padding:0 40px 26px 0;color:var(--txt-mut);font-size:16px;margin-top:-6px}

/* ---------- заявка ---------- */
.cta{background:var(--ink);color:#fff;padding:120px 0}
.cta__in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.cta h2{font-size:clamp(32px,4.4vw,56px)}
.cta__txt>p{margin-top:24px;color:rgba(255,255,255,.72);max-width:44ch}
.cta__contacts{margin-top:40px;padding-top:30px;border-top:1px solid var(--line-d)}
.cta__unp{font-size:13px;color:rgba(255,255,255,.45);margin-top:10px}
.form{background:rgba(255,255,255,.04);border:1px solid var(--line-d);padding:40px}
.field{margin-bottom:20px}
.field label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px}
.field input,.field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-d);
  padding:12px 0;color:#fff;font-family:inherit;font-size:16px;resize:vertical;transition:.25s;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.28)}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--bronze)}
.field input.err,.field textarea.err{border-bottom-color:#d97b6c}
.form .btn{background:var(--bronze);border-color:var(--bronze);margin-top:14px}
.form .btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.form__note{font-size:12.5px;color:rgba(255,255,255,.4);margin-top:16px;line-height:1.5}
.form__ok{margin-top:16px;color:var(--bronze-l);font-size:15px;font-weight:500}

/* ---------- футер ---------- */
.ftr{background:var(--ink);color:rgba(255,255,255,.6);padding:40px 0;border-top:1px solid var(--line-d)}
.ftr__in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ftr__brand{display:flex;align-items:center;gap:12px;color:#fff;font-family:'Manrope',sans-serif;font-weight:600}
.ftr__nav{display:flex;gap:26px;font-size:14px}
.ftr__nav a:hover{color:var(--bronze-l)}
.ftr__c{text-align:right}
.ftr__c .tel{color:#fff}
.ftr__c p{font-size:12.5px;margin-top:6px}

/* ---------- мобильная панель ---------- */
.mobar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:45;gap:10px;padding:10px 14px;
  background:rgba(247,245,241,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.mobar .btn{flex:1;padding:14px 10px;font-size:14px}

/* ---------- адаптив ---------- */
@media (max-width:1080px){
  .mech,.serv,.guar{grid-template-columns:1fr 1fr}
  .guar__i{margin-bottom:26px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:26px 24px 30px;border-bottom:1px solid var(--line-d)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(3){padding-left:0}
  .hero__photo{width:52%;opacity:.55}
}
@media (max-width:900px){
  .nav{display:none}
  .nav.open{
    display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);padding:22px 28px;gap:16px;border-bottom:1px solid var(--line);color:var(--txt);
  }
  .burger{display:block}
  .hdr__act .btn--sm{display:none}
  .hdr__in{position:relative}
  .pain__in,.steps__in,.faq__in,.cta__in,.cases__grid{grid-template-columns:1fr;gap:34px}
  .fleet__i{grid-template-columns:1fr}
  .fleet__i--rev .fleet__img{order:0}
  .fleet__img{min-height:240px}
  .fleet__txt{padding:34px 28px 38px}
  .ticks{grid-template-columns:1fr}
  .hero__photo{width:100%;opacity:.32}
  .hero__photo::after{background:linear-gradient(180deg,rgba(16,24,32,.92) 0%,rgba(16,24,32,.7) 50%,var(--ink) 92%)}
}
@media (max-width:680px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .hdr__act .tel{display:none}
  .brand__txt{font-size:15px}
  .hero h1{font-size:29px;max-width:none}
  .hero__sub{font-size:16px;margin-top:18px}
  .sec{padding:78px 0}
  .hero{padding-top:130px}
  .hero__in{padding-bottom:60px}
  .pain{padding-bottom:80px}
  .pain__in{padding-top:70px}
  .mech,.serv,.guar{grid-template-columns:1fr}
  .guar__i{padding-left:22px}
  .mech__i,.serv__i{padding:32px 24px 36px}
  .case{padding:34px 24px}
  .cta{padding:80px 0 100px}
  .form{padding:28px 22px}
  .steps li{grid-template-columns:1fr;gap:6px}
  .ftr__in{flex-direction:column;text-align:center}
  .ftr__c{text-align:center}
  .mobar{display:flex}
  body{padding-bottom:70px}
  .clients__row{flex-direction:column;gap:12px}
}
