/* New Solution Driving — interior pages (About, Lessons, Contact)
   Loaded after style.css. Components: .ph (page hero), .sec, .cx (cards), .fx (benefit band),
   .dk (dark panel), .st (stats), .steps2, .tabs, .callband, .sf (steps + form). */
:root{--night:#223a33;--night-2:#2b4840;--paper:#f5f6f6}

/* ---------- nav: active link ---------- */
.nav__menu ul a[aria-current="page"]::after{transform:scaleX(1)}
.nav__menu ul a[aria-current="page"]{font-weight:700}

/* ---------- breadcrumb pill ---------- */
.crumbs{display:inline-flex;align-items:center;gap:11px;padding:11px 20px;border-radius:999px;background:#fff;color:#14202a;font:700 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 30px -16px rgba(0,0,0,.5)}
.crumbs a{text-decoration:none;transition:color .2s}
.crumbs a:hover{color:#7a6000}
.crumbs i{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #14202a}

/* ---------- page hero ---------- */
.ph{position:relative;background:var(--night);color:#fff;overflow:hidden;isolation:isolate}
.ph__media{position:absolute;inset:0;z-index:-2}
.ph__media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,60% 55%);transform:scale(1.04);will-change:transform}
.ph::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,12,11,.93) 0,rgba(6,12,11,.82) 40%,rgba(6,12,11,.4) 68%,rgba(6,12,11,.08) 100%),linear-gradient(180deg,rgba(6,12,11,.55) 0,transparent 32%)}
.ph__inner{position:relative;max-width:1290px;margin:0 auto;padding:clamp(34px,5.5vw,84px) var(--gutter) clamp(120px,15vw,230px)}
.ph__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(30px,5vw,80px)}
.ph__badge{display:inline-flex;align-items:center;gap:10px;font:800 12px/1 var(--font);letter-spacing:.14em;text-transform:uppercase}
.ph__badge::before{content:"";width:33px;height:4px;border-radius:2px;background:var(--yellow)}
.ph__title{display:flex;align-items:center;gap:clamp(14px,1.8vw,26px);font:800 clamp(44px,8.4vw,128px)/.88 var(--font);letter-spacing:-.045em}
.ph__icon{flex:none;display:grid;place-items:center;width:clamp(50px,6.4vw,96px);aspect-ratio:1;border-radius:50%;background:var(--yellow);color:#111820;box-shadow:0 18px 36px -14px rgba(254,207,1,.7)}
.ph__icon svg{width:52%;height:52%}
.ph__lead{margin-top:clamp(18px,2.2vw,32px);max-width:640px;font:500 clamp(17px,1.8vw,26px)/1.38 var(--font)}
.ph__cta{margin-top:clamp(24px,2.8vw,40px);display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center}
.ph__wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(60px,9.5vw,150px);z-index:1;pointer-events:none}

/* ---------- generic section ---------- */
.sec{position:relative;padding:clamp(52px,7vw,112px) 0}
.sec--paper{background:var(--paper)}
.sec .in{max-width:1290px;margin:0 auto;padding-inline:var(--gutter)}
.sec__head{max-width:780px;margin-bottom:clamp(28px,4vw,56px)}
.sec__head--c{margin-inline:auto;text-align:center}
.sec__head--c .eyebrow{justify-content:center}
.sec__title{margin-top:16px;font:800 clamp(36px,5.6vw,82px)/.94 var(--font);letter-spacing:-.04em;color:var(--ink)}
.sec__lead{margin-top:18px;font:500 clamp(16px,1.5vw,21px)/1.55 var(--font);color:var(--muted)}
.sec--dark .sec__title{color:#fff}.sec--dark .sec__lead{color:rgba(255,255,255,.75)}
.tri{display:block;width:0;height:0;margin:14px auto 0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:11px solid var(--yellow)}

/* ---------- overview (text + photo) ---------- */
.ov{display:grid;gap:clamp(30px,5vw,80px);align-items:center}
.ov__text p{margin-top:20px;font:500 clamp(16px,1.45vw,20px)/1.65 var(--font);color:#34424b}
.ov__text p:first-of-type{margin-top:0}
.ov__chip{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--yellow);font:800 14px/1.2 var(--font);color:#111820}
.ov__chip svg{width:26px;height:26px;padding:4px;border-radius:50%;background:#111820;color:var(--yellow)}
.ov__media{position:relative}
.ov__media::before{content:"";position:absolute;inset:7% -4% -6% 8%;border-radius:32px;background:var(--yellow);transform:rotate(2.2deg)}
.ov__media img{position:relative;width:100%;aspect-ratio:11/8;object-fit:cover;border-radius:28px;box-shadow:0 36px 60px -34px rgba(0,0,0,.5)}

/* ---------- stats ---------- */
.st{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border-radius:28px;overflow:hidden;background:rgba(255,255,255,.12)}
.st__i{padding:clamp(22px,3vw,44px) clamp(16px,2vw,30px);background:var(--night);text-align:center}
.st__n{font:800 clamp(40px,5.4vw,78px)/1 var(--font);letter-spacing:-.04em;color:var(--yellow)}
.st__l{margin-top:8px;font:700 13px/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}

/* ---------- benefit band (yellow) ---------- */
.fx{background:var(--yellow);color:#111820}
.fx__grid{display:grid;gap:clamp(26px,3vw,48px)}
.fx__i{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,1.8vw,26px);align-items:start}
.fx__ic{display:grid;place-items:center;width:clamp(68px,7vw,100px);aspect-ratio:1;border-radius:50%;background:#fff;color:#111820;box-shadow:0 18px 30px -16px rgba(80,60,0,.5)}
.fx__ic svg{width:44%;height:44%}
.fx__i h3{font:800 clamp(22px,2.2vw,32px)/1.1 var(--font);letter-spacing:-.02em;text-transform:none}
.fx__i p{margin-top:10px;font:500 clamp(15px,1.3vw,18px)/1.55 var(--font);color:#2b2b12}
.fx .sec__title{color:#111820}

/* ---------- cards (BestDrive-style) ---------- */
.cx-grid{display:grid;gap:clamp(16px,1.8vw,26px)}
.cx{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(300px,26vw,380px);padding:clamp(22px,2.4vw,36px);border:1.5px solid #17252d;border-radius:22px;background:#fff;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cx:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(18,42,60,.5)}
.cx__img{position:absolute;top:0;right:0;width:50%;height:62%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%),linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 40%),linear-gradient(180deg,#000 62%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;transition:transform .8s var(--ease)}
.cx:hover .cx__img{transform:scale(1.06)}
.cx__body,.cx__foot{position:relative;z-index:1}
.cx__body{max-width:62%}
.cx__name{font:800 clamp(26px,2.6vw,40px)/1.05 var(--font);letter-spacing:-.03em;color:var(--ink)}
.cx__tag{display:inline-block;margin-top:10px;padding:6px 12px;border-radius:999px;background:#fff5b8;font:800 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#5c4800}
.cx__list{margin:16px 0 0;display:grid;gap:8px}
.cx__list li{position:relative;padding-left:24px;font:500 clamp(13px,1.05vw,15px)/1.4 var(--font);color:#3a4851}
.cx__list li::before{content:"";position:absolute;left:0;top:.28em;width:14px;height:14px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.6 7.3 6 9.6l4.4-4.8' fill='none' stroke='%23111820' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.cx__foot{margin-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cx__price{display:flex;align-items:baseline;gap:8px;font:800 clamp(38px,4vw,60px)/1 var(--font);letter-spacing:-.03em;color:var(--price)}
.cx__price small{font:700 12px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#4a5963}
.cx__price .tax{font:600 15px/1 var(--font);letter-spacing:0;text-transform:none}
.lnk{position:relative;display:inline-flex;align-items:center;gap:10px;font:800 13px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--dark);padding:12px 0}
.lnk::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--yellow);transform-origin:left;transition:transform .3s var(--ease)}
.lnk:hover::after{transform:scaleX(1.06)}
.lnk svg{width:18px;height:12px;transition:transform .25s var(--ease)}
.lnk:hover svg{transform:translateX(6px)}
.cx--dark{background:var(--night);border-color:var(--night);color:#fff}
.cx--dark .cx__name{color:#fff}
.cx--dark p{margin-top:12px;font:500 16px/1.5 var(--font);color:rgba(255,255,255,.78)}
.cx--dark .cx__body{max-width:100%}

/* ---------- tabs + mini price cards ---------- */
.tabs__list{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:#fff;box-shadow:0 12px 30px -18px rgba(0,0,0,.4);margin-bottom:clamp(22px,3vw,40px)}
.tabs__btn{border:0;cursor:pointer;padding:14px clamp(18px,2.4vw,34px);border-radius:999px;background:transparent;font:800 clamp(13px,1.1vw,15px)/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#17252d;transition:background-color .25s var(--ease),transform .2s var(--ease)}
.tabs__btn:hover{background:#f1f3f4}
.tabs__btn[aria-selected="true"]{background:var(--yellow)}
.tabs__panel[hidden]{display:none}
.pk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.4vw,20px)}
.pk{display:flex;flex-direction:column;gap:6px;padding:clamp(18px,2vw,28px);border-radius:24px;background:#fff;border:1.5px solid #e1e5e8;transition:transform .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease)}
.pk:hover{transform:translateY(-6px);background:#fff8cc;border-color:var(--yellow)}
.pk__n{font:800 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#68757e}
.pk__l{font:700 clamp(16px,1.4vw,20px)/1.25 var(--font);color:var(--ink)}
.pk__p{margin-top:10px;font:800 clamp(34px,3.4vw,50px)/1 var(--font);letter-spacing:-.03em;color:var(--price)}
.pk__p small{font:600 14px/1 var(--font);letter-spacing:0;color:#4a5963}
.tabs__note{margin-top:22px;max-width:760px;font:500 15px/1.6 var(--font);color:#51606a}
.tabs__cta{margin-top:26px}

/* ---------- dark panel (Yandex-style) ---------- */
.dk{position:relative;overflow:hidden;display:grid;gap:clamp(28px,4vw,56px);padding:clamp(26px,4.6vw,72px);border-radius:clamp(28px,3.4vw,52px);background:var(--night);color:#fff}
.dk::after{content:"";position:absolute;right:-8%;top:-30%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(254,207,1,.16),transparent 68%);pointer-events:none}
.dk__t{position:relative;z-index:1}
.dk__t h2{font:800 clamp(36px,5vw,76px)/.95 var(--font);letter-spacing:-.04em}
.dk__t p{margin-top:18px;max-width:440px;font:500 clamp(16px,1.4vw,20px)/1.55 var(--font);color:rgba(255,255,255,.78)}
.dk__t .btn{margin-top:28px}
.dk__bars{display:flex;gap:10px;margin-top:34px}
.dk__bars i{display:block;width:clamp(44px,5vw,76px);height:5px;border-radius:4px;background:rgba(255,255,255,.2)}
.dk__bars i:first-child{background:var(--yellow)}
.dk__cards{position:relative;z-index:1;display:grid;gap:14px}
.dc{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2vw,28px);border-radius:24px;background:var(--yellow);color:#111820;transition:transform .3s var(--ease)}
.dc:nth-child(even){background:#fff}
.dc:hover{transform:translateY(-6px)}
.dc svg{width:34px;height:34px}
.dc h3{font:800 clamp(20px,1.8vw,26px)/1.1 var(--font);letter-spacing:-.02em}
.dc p{font:500 clamp(14px,1.15vw,16px)/1.5 var(--font);color:#2c3338}

/* ---------- steps (EasyTaxi/Yandex) ---------- */
.steps2{display:grid;gap:clamp(24px,3vw,40px);counter-reset:s}
.steps2 li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.steps2 .n{display:grid;place-items:center;width:clamp(56px,5.4vw,78px);aspect-ratio:1;border-radius:50%;background:var(--yellow);font:800 clamp(22px,2.2vw,30px)/1 var(--font);color:#111820}
.steps2 h3{font:700 clamp(21px,2vw,30px)/1.2 var(--font);letter-spacing:-.015em;color:var(--ink)}
.steps2 p{margin-top:6px;font:500 clamp(15px,1.3vw,18px)/1.5 var(--font);color:var(--muted)}

/* ---------- call band (dark, EasyTaxi) ---------- */
.callband{background:var(--night);color:#fff;text-align:center;padding:clamp(54px,7vw,104px) var(--gutter) clamp(70px,8vw,120px);border-radius:clamp(36px,6vw,110px) clamp(36px,6vw,110px) 0 0 / clamp(30px,4vw,70px) clamp(30px,4vw,70px) 0 0;margin-top:clamp(40px,5vw,80px)}
.callband h2{max-width:760px;margin:0 auto;font:800 clamp(24px,3.2vw,46px)/1.15 var(--font);letter-spacing:-.025em;color:var(--yellow)}
.callband__n{display:inline-block;margin-top:clamp(16px,2vw,28px);font:800 clamp(38px,7vw,104px)/1 var(--font);letter-spacing:-.04em;color:#fff;text-decoration:none;transition:color .25s var(--ease),transform .3s var(--ease)}
.callband__n:hover{color:var(--yellow);transform:scale(1.02)}
.callband__s{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;font:600 15px/1.4 var(--font);color:rgba(255,255,255,.75)}
.callband__s a{text-decoration:none}

/* ---------- contact ---------- */
.info{display:grid;gap:clamp(16px,1.8vw,26px)}
.ic{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,38px);border:1.5px solid #17252d;border-radius:24px;background:#fff;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ic:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(18,42,60,.5)}
.ic__pin{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--yellow);color:#111820}
.ic__pin svg{width:46%;height:46%}
.ic h3{font:800 clamp(24px,2.4vw,34px)/1.1 var(--font);letter-spacing:-.025em;color:var(--ink)}
.ic address{font:500 clamp(15px,1.25vw,18px)/1.55 var(--font);font-style:normal;color:#34424b}
.ic__tel{font:800 clamp(24px,2.3vw,32px)/1 var(--font);letter-spacing:-.02em;color:var(--price);text-decoration:none}
.ic__tel:hover{color:var(--dark)}
.ic dl{display:grid;gap:12px;margin:0}
.ic dt{font:800 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#68757e}
.ic dd{margin:4px 0 0;font:700 clamp(17px,1.5vw,22px)/1.25 var(--font);color:var(--ink)}
.ic--dark{background:var(--night);border-color:var(--night);color:#fff}
.ic--dark h3,.ic--dark dd{color:#fff}.ic--dark dt{color:rgba(255,255,255,.6)}
.ic--dark .ic__pin{background:var(--yellow)}
.online{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#fff5b8;font:800 13px/1.2 var(--font);color:#4c3d00}
.online::before{content:"";width:9px;height:9px;border-radius:50%;background:#2c9d4b;box-shadow:0 0 0 4px rgba(44,157,75,.2)}
.sf{display:grid;gap:clamp(34px,5vw,80px);align-items:start}
.sf .form-card{max-width:none}

/* ---------- responsive up ---------- */
@media (min-width:700px){
  .cx-grid{grid-template-columns:repeat(2,1fr)}
  .pk-grid{grid-template-columns:repeat(3,1fr)}
  .st{grid-template-columns:repeat(4,1fr)}
  .fx__grid{grid-template-columns:repeat(3,1fr)}
  .fx__i{grid-template-columns:1fr;gap:18px}
  .info{grid-template-columns:repeat(2,1fr)}
  .dk__cards{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1000px){
  .ov{grid-template-columns:1.05fr .95fr}
  .dk{grid-template-columns:.8fr 1.2fr}
  .info{grid-template-columns:repeat(3,1fr)}
  .sf{grid-template-columns:1fr minmax(0,560px)}
  .cx-grid--3{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:520px){
  .cx__img{width:42%;opacity:.55}
  .cx__body{max-width:100%}
  .tabs__list{display:flex;width:100%}
  .tabs__btn{flex:1;padding-inline:10px}
  .ph__title{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .ph__media img{transform:none}
}

/* images keep their ratio (width/height attributes are only for layout reservation) */
.sec img,.ov__media img{height:auto}

.ov__text p.eyebrow{margin:0;font:800 12px/1 var(--font);letter-spacing:.14em;color:var(--ink)}
.fx__i{align-content:start}

.sec .cx__img{height:62%}

/* ===================== product pages ===================== */
.ph--s .ph__inner{padding-bottom:clamp(100px,12vw,180px)}
.ph--s .ph__title{font-size:clamp(36px,6.4vw,92px)}
.pd{display:grid;gap:clamp(28px,4vw,64px);align-items:start}
.pd__media{position:relative}
.pd__media::before{content:"";position:absolute;inset:6% -4% -5% 7%;border-radius:32px;background:var(--yellow);transform:rotate(2deg)}
.pd__media img{position:relative;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px;box-shadow:0 36px 60px -34px rgba(0,0,0,.5)}
.pd__chip{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:999px;background:#fff;font:800 13px/1 var(--font);color:#111820;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.pd__chip svg{width:26px;height:26px;padding:4px;border-radius:50%;background:var(--yellow)}
.pd__panel{padding:clamp(24px,3vw,44px);border:1.5px solid #17252d;border-radius:28px;background:#fff;box-shadow:0 30px 60px -40px rgba(18,42,60,.5)}
.pd__title{margin-top:14px;font:800 clamp(30px,3.6vw,52px)/1 var(--font);letter-spacing:-.035em;color:var(--ink)}
.pd__price{margin-top:14px;font:800 clamp(40px,4.6vw,68px)/1 var(--font);letter-spacing:-.04em;color:var(--price)}
.pd__price small{font:600 15px/1 var(--font);letter-spacing:0;color:#4a5963}
.pd__panel .cx__list{margin:22px 0 0}
.pd__panel .cx__list li{font-size:clamp(14px,1.1vw,16px)}
.vt-set{margin:26px 0 0;padding:0;border:0;min-width:0}
.vt-set legend{padding:0 0 12px;font:800 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#68757e}
.vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vt{position:relative;display:block;cursor:pointer}
.vt input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.vt__b{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border:1.5px solid #dfe4e7;border-radius:18px;background:#fff;text-align:center;transition:transform .25s var(--ease),border-color .25s var(--ease),background-color .25s var(--ease)}
.vt__n{font:800 clamp(24px,2.4vw,34px)/1 var(--font);letter-spacing:-.03em;color:var(--ink)}
.vt__l{font:700 11px/1.2 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#68757e}
.vt__p{margin-top:6px;font:800 15px/1 var(--font);color:var(--price)}
.vt:hover .vt__b{transform:translateY(-3px);border-color:#b9c3c9}
.vt input:checked + .vt__b{border-color:var(--yellow);background:#fff8cc;box-shadow:0 0 0 3px rgba(254,207,1,.55)}
.vt input:focus-visible + .vt__b{outline:3px solid #0b6bcb;outline-offset:2px}
.pd__buy{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1.5px solid #17252d;border-radius:18px;overflow:hidden;background:#fff}
.qty__b{width:48px;height:62px;border:0;background:transparent;font:700 24px/1 var(--font);color:#17252d;cursor:pointer;transition:background-color .2s}
.qty__b:hover{background:#f1f3f4}
.qty__i{width:52px;height:62px;border:0;text-align:center;font:800 20px/1 var(--font);color:var(--ink);background:transparent;-moz-appearance:textfield;appearance:textfield}
.qty__i::-webkit-outer-spin-button,.qty__i::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd__add{flex:1;min-width:210px}
.pd__add .spinner{display:none}
.pd__add.is-loading .spinner{display:block}
.pd__add.is-loading .ico-arrow2{display:none}
.pd__status:empty{display:none}
.pd__status{margin-top:16px;padding:16px 18px;border-radius:16px;font:600 15px/1.45 var(--font);background:#f4f6f7;color:#17252d}
.pd__status.is-success{background:#effaf2;border-left:5px solid #1f7a4d}
.pd__status.is-error{background:#fff2f1;border-left:5px solid #b3261e;color:#6d1410}
.pd__status a{font-weight:800;color:inherit}
.pd__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.pd__actions .btn{height:48px;padding:0 22px;font-size:15px;border-radius:14px}
.pd__actions .btn--dark{color:#fff}
.pd__trust{margin-top:26px;display:grid;gap:12px;padding-top:22px;border-top:1.5px solid #e6eaec}
.pd__trust li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;font:500 14px/1.45 var(--font);color:#40505a}
.pd__trust svg{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--yellow);color:#111820}
.pd__trust a{font-weight:800;color:var(--ink)}
@media (min-width:1000px){ .pd{grid-template-columns:.9fr 1.1fr} }
@media (max-width:420px){ .vt-grid{grid-template-columns:repeat(2,1fr)} .pd__add{min-width:100%} }

/* hero without the breadcrumb/badge row */
.ph__inner{padding-top:clamp(64px,9.5vw,150px)}
.ph--s .ph__inner{padding-top:clamp(56px,8vw,120px)}

/* brand dark green instead of near-black; call band is a straight-edged block */
:root{--night:#223a33;--night-2:#2b4840}
.callband{border-radius:0;background:linear-gradient(135deg,#223a33 0%,#2b4840 55%,#223a33 100%);margin-top:clamp(40px,5vw,80px)}
.st{background:rgba(255,255,255,.14)}

/* ===================== lessons: package cards + lesson builder ===================== */
.pc-grid{display:grid;gap:clamp(14px,1.6vw,24px);grid-template-columns:1fr}
.pc{position:relative;display:flex;flex-direction:column;border-radius:30px;background:#fff;border:1.5px solid #dfe5e8;overflow:hidden;box-shadow:0 26px 50px -38px rgba(18,42,60,.5);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pc:hover{transform:translateY(-8px);box-shadow:0 44px 64px -36px rgba(18,42,60,.6)}
.pc__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#cfd8dc}
.pc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.pc:hover .pc__media img{transform:scale(1.07)}
.pc__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,11,.05) 40%,rgba(6,12,11,.55) 100%)}
.pc__tier{position:absolute;z-index:1;left:16px;bottom:14px;padding:9px 16px;border-radius:999px;font:800 clamp(15px,1.2vw,18px)/1 var(--font);letter-spacing:-.01em;color:#fff;background:var(--tier,#17252d);box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.pc__mto{position:absolute;z-index:1;right:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 8px;border-radius:999px;background:rgba(255,255,255,.94);font:800 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:#17252d}
.pc__mto svg{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--yellow)}
.pc__body{display:flex;flex-direction:column;gap:14px;flex:1;padding:clamp(20px,1.9vw,28px)}
.pc__price{font:800 clamp(42px,3.6vw,60px)/1 var(--font);letter-spacing:-.045em;color:var(--price)}
.pc__price small{font:600 15px/1 var(--font);letter-spacing:0;color:#52626c}
.pc__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc__stat{display:flex;flex-direction:column;gap:2px;padding:13px 14px;border-radius:18px;background:#f2f5f6}
.pc__stat b{font:800 clamp(24px,2vw,32px)/1 var(--font);letter-spacing:-.03em;color:var(--ink)}
.pc__stat span{font:800 11px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#68757e}
.pc__sub{margin-top:-4px;font:600 13px/1.4 var(--font);color:#52626c}
.pc__list{margin:2px 0 0;gap:9px}
.pc__list li{font-size:clamp(13px,1vw,14.5px)}
.pc__cta{margin-top:auto;display:grid;gap:4px;padding-top:6px}
.pc__cta .btn{width:100%;min-width:0;background:var(--dark);color:#fff}
.pc__cta .btn:hover{background:#04403f;box-shadow:0 14px 26px -12px rgba(2,42,42,.7)}
.pc__cta .lnk{justify-content:center}
.pc .pd__status{margin-top:4px;font-size:14px}
.pc--bronze{--tier:#a8682a}
.pc--silver{--tier:#7b8993}
.pc--gold{--tier:#17252d;background:var(--yellow);border-color:var(--yellow)}
.pc--gold .pc__price small,.pc--gold .pc__sub{color:#4a3d00}
.pc--gold .pc__stat{background:rgba(255,255,255,.6)}
.pc--gold .cx__list li{color:#2a2400}
.pc--gold .cx__list li::before{background-color:#fff}
.pc--gold .pc__cta .lnk::after{background:#17252d}
.pc--diamond{--tier:var(--yellow);background:var(--night);border-color:var(--night);color:#fff}
.pc--diamond .pc__tier{color:#111820}
.pc--diamond .pc__price{color:var(--yellow)}
.pc--diamond .pc__price small,.pc--diamond .pc__sub{color:rgba(255,255,255,.7)}
.pc--diamond .pc__stat{background:rgba(255,255,255,.09)}
.pc--diamond .pc__stat b{color:#fff}
.pc--diamond .pc__stat span{color:rgba(255,255,255,.65)}
.pc--diamond .cx__list li{color:rgba(255,255,255,.88)}
.pc--diamond .pc__cta .btn{background:var(--yellow);color:#111820}
.pc--diamond .pc__cta .btn:hover{background:var(--yellow-hover)}
.pc--diamond .lnk{color:#fff}
.pc--diamond .pd__status{background:rgba(255,255,255,.1);color:#fff;border-left-color:var(--yellow)}
.pc-note{margin-top:clamp(20px,2.4vw,34px);text-align:center;font:500 15px/1.6 var(--font);color:#51606a}
.pc-note a{font-weight:800;color:var(--ink);text-decoration:none}
@media (min-width:700px){.pc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.pc-grid{grid-template-columns:repeat(4,1fr)}}

/* lesson builder */
.pb{padding:clamp(16px,2.2vw,34px);border-radius:clamp(26px,3vw,44px);background:#fff;box-shadow:0 40px 80px -50px rgba(18,42,60,.55);border:1.5px solid #e3e8eb}
.pb .tabs__list{background:#f1f4f5;box-shadow:none;margin-bottom:clamp(16px,2vw,28px)}
.pb .tabs__btn[aria-selected="true"]{box-shadow:0 8px 18px -10px rgba(120,90,0,.7)}
.pb__panel{display:grid;gap:clamp(16px,2vw,28px)}
.pb__panel[hidden]{display:none}
.pb__pick{display:flex;flex-direction:column;gap:18px;padding:clamp(6px,1vw,14px)}
.pb .vt-set legend{font-size:13px;letter-spacing:.1em}
.vt-grid--6{grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.2vw,16px)}
.vt--l .vt__b{padding:clamp(16px,1.8vw,26px) 10px;border-radius:22px;gap:3px}
.vt--l .vt__n{font-size:clamp(34px,3.4vw,52px)}
.vt--l .vt__l{font-size:11px}
.vt--l .vt__p{margin-top:8px;font-size:clamp(16px,1.3vw,20px)}
.vt--l input:checked + .vt__b{background:var(--yellow);border-color:var(--yellow);box-shadow:0 18px 30px -16px rgba(120,90,0,.8)}
.vt--l input:checked + .vt__b .vt__l,.vt--l input:checked + .vt__b .vt__p,.vt--l input:checked + .vt__b .vt__n{color:#111820}
.pb__areas{display:flex;align-items:center;gap:12px;font:500 14px/1.5 var(--font);color:#51606a}
.pb__areas svg{flex:none;width:34px;height:34px;padding:8px;border-radius:50%;background:#fff5b8;color:#5c4800}
.pb__sum{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.6vw,40px);border-radius:clamp(22px,2.4vw,34px);background:linear-gradient(160deg,var(--night) 0%,#2b4840 100%);color:#fff;overflow:hidden}
.pb__sum::after{content:"";position:absolute;right:-20%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(254,207,1,.2),transparent 66%);pointer-events:none}
.pb__sum>*{position:relative;z-index:1}
.pb__name{font:800 clamp(24px,2.4vw,34px)/1.05 var(--font);letter-spacing:-.03em}
.pb__sum .pd__price{margin-top:0;color:var(--yellow);font-size:clamp(46px,4.6vw,72px)}
.pb__sum .pd__price small{color:rgba(255,255,255,.7)}
.pb__meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font:600 14px/1.4 var(--font);color:rgba(255,255,255,.75)}
.pb__meta b{font:800 clamp(16px,1.4vw,20px)/1.2 var(--font);color:#fff}
.pb__list{margin:4px 0 0}
.pb__list li{color:rgba(255,255,255,.88);font-size:clamp(13px,1.05vw,15px)}
.pb__sum .pd__buy{margin-top:8px}
.pb__sum .qty{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}
.pb__sum .qty__b{color:#fff}
.pb__sum .qty__b:hover{background:rgba(255,255,255,.12)}
.pb__sum .qty__i{color:#fff}
.pb__sum .pd__status{background:rgba(255,255,255,.1);color:#fff;border-left-color:var(--yellow)}
.pb__sum .pd__status.is-error{background:rgba(179,38,30,.25);color:#fff;border-left-color:#ff8a80}
.pb__sum .pd__status a{color:var(--yellow)}
.pb__more{align-self:flex-start;color:#fff;padding-top:4px}
@media (min-width:560px){.vt-grid--6{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.pb__panel{grid-template-columns:1.15fr .85fr;align-items:stretch}}

.pc__cta .btn{padding:0 18px;height:58px;font-size:clamp(15px,1.15vw,17px);white-space:nowrap;gap:10px}
.pb__trust{margin-top:auto}

/* ===================== cart / checkout / confirmation ===================== */
.ph--s .ph__title{font-size:clamp(36px,6.4vw,92px)}
.shop{padding-top:clamp(36px,5vw,72px)}
.shop__root{min-height:320px}
.shop__loading{display:flex;gap:10px;justify-content:center;padding:80px 0}
.shop__loading i{width:12px;height:12px;border-radius:50%;background:var(--yellow);animation:bob 1s infinite ease-in-out}
.shop__loading i:nth-child(2){animation-delay:.15s}.shop__loading i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}
.is-busy{opacity:.65;pointer-events:none;transition:opacity .2s}

.cartp,.co,.ty{display:grid;gap:clamp(20px,2.6vw,40px);align-items:start}
@media (min-width:1000px){.cartp,.co,.ty{grid-template-columns:minmax(0,1fr) clamp(340px,32vw,440px)}.sum{position:sticky;top:calc(var(--nav-h) + 20px)}}
.cartp__list{display:grid;gap:16px}
.cartp__more{margin-top:6px}

/* cart item */
.ci{display:grid;grid-template-columns:1fr;gap:16px;padding:clamp(14px,1.6vw,22px);border:1.5px solid #17252d;border-radius:26px;background:#fff;transition:box-shadow .3s var(--ease)}
.ci:hover{box-shadow:0 26px 44px -34px rgba(18,42,60,.55)}
.ci__img{display:block;overflow:hidden;border-radius:18px;aspect-ratio:4/3;background:#cfd8dc}
.ci__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.ci:hover .ci__img img{transform:scale(1.06)}
.ci__main{display:flex;flex-direction:column;gap:8px;min-width:0}
.ci__tag{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#fff5b8;font:800 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#5c4800}
.ci__name{font:800 clamp(22px,2vw,30px)/1.1 var(--font);letter-spacing:-.03em}
.ci__name a{text-decoration:none;color:var(--ink)}
.ci__name a:hover{color:var(--dark)}
.ci__desc{font:500 14px/1.55 var(--font);color:#51606a}
.ci__chip{align-self:flex-start;padding:7px 13px;border-radius:999px;background:var(--night);color:#fff;font:800 12.500px/1 var(--font)}
.ci__sel{display:flex;flex-direction:column;gap:6px;max-width:320px}
.ci__sel span{font:800 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#68757e}
.ci__sel select{height:48px;padding:0 14px;border:1.5px solid #cfd8dc;border-radius:14px;background:#fff;font:600 15px/1 var(--font);color:var(--ink);cursor:pointer}
.ci__row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.ci__rm{border:0;background:none;padding:8px 2px;font:700 13px/1 var(--font);color:#8c1d18;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ci__rm:hover{color:#b3261e}
.ci__price{display:flex;flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}
.ci__price b{font:800 clamp(28px,2.6vw,38px)/1 var(--font);letter-spacing:-.03em;color:var(--price)}
.ci__price small{font:600 13px/1 var(--font);color:#52626c}
.qty__i--t{display:grid;place-items:center;min-width:46px;height:50px;font:800 18px/1 var(--font);color:var(--ink)}
.qty--s .qty__b{height:50px}
.ci .qty__b{height:50px;width:44px}
@media (min-width:700px){.ci{grid-template-columns:200px minmax(0,1fr) auto;align-items:start}.ci__price{flex-direction:column;align-items:flex-end;gap:4px;text-align:right}}

/* summary panel */
.sum{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.4vw,34px);border-radius:clamp(24px,2.6vw,36px);background:linear-gradient(160deg,var(--night) 0%,#2b4840 100%);color:#fff;position:relative;overflow:hidden}
.sum::after{content:"";position:absolute;right:-24%;top:-28%;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(254,207,1,.18),transparent 66%);pointer-events:none}
.sum>*{position:relative;z-index:1}
@media (min-width:1000px){.sum{position:sticky}}
.sum__rows{display:grid;gap:12px;margin:0}
.sum__rows>div{display:flex;justify-content:space-between;gap:16px;font:600 15px/1.3 var(--font);color:rgba(255,255,255,.82)}
.sum__rows dt,.sum__rows dd{margin:0}
.sum__rows .is-disc dd{color:#9be7a8}
.sum__rows .sum__total{padding-top:14px;margin-top:2px;border-top:1.5px solid rgba(255,255,255,.2);align-items:baseline}
.sum__total dt{font:800 15px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sum__total dd{font:800 clamp(34px,3.4vw,46px)/1 var(--font);letter-spacing:-.04em;color:var(--yellow)}
.sum__go{width:100%;margin-top:6px}
.sum__pay{display:grid;gap:8px;margin-top:2px;padding-top:14px;border-top:1.5px solid rgba(255,255,255,.14)}
.sum__pay li{position:relative;padding-left:20px;font:500 13px/1.45 var(--font);color:rgba(255,255,255,.72)}
.sum__pay li::before{content:"";position:absolute;left:0;top:.35em;width:9px;height:9px;border-radius:50%;background:var(--yellow)}
.sum__edit{color:#fff;align-self:flex-start}
.coupon label{display:block;margin-bottom:8px;font:800 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.coupon__row{display:flex;gap:8px}
.coupon input{flex:1;min-width:0;height:48px;padding:0 16px;border:1.5px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(255,255,255,.08);font:600 15px/1 var(--font);color:#fff}
.coupon input::placeholder{color:rgba(255,255,255,.5)}
.coupon input:focus{outline:0;border-color:var(--yellow)}
.coupon button{height:48px;padding:0 18px;border:0;border-radius:14px;background:rgba(255,255,255,.16);font:800 13px/1 var(--font);color:#fff;cursor:pointer;transition:background-color .2s}
.coupon button:hover{background:rgba(255,255,255,.28)}
.coupon__on{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.1);font:600 14px/1.3 var(--font)}
.coupon__on button{height:auto;padding:4px 2px;background:none;color:var(--yellow);text-decoration:underline}
.cart-msg:empty{display:none}
.cart-msg{padding:12px 14px;border-radius:14px;font:600 14px/1.45 var(--font);background:rgba(255,255,255,.1);color:#fff}
.cart-msg.is-error{background:rgba(179,38,30,.3);border-left:4px solid #ff8a80}
.cart-msg.is-ok{border-left:4px solid #9be7a8}
.cart-msg a{color:var(--yellow);font-weight:800}

/* empty state */
.cart-empty{max-width:560px;margin:0 auto;padding:clamp(32px,5vw,64px) 20px;text-align:center}
.cart-empty__ic{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 22px;border-radius:50%;background:var(--yellow);color:#111820}
.cart-empty__ic svg{width:44%;height:44%}
.cart-empty h2{font:800 clamp(30px,3.4vw,46px)/1.05 var(--font);letter-spacing:-.035em;color:var(--ink)}
.cart-empty p{margin-top:14px;font:500 17px/1.55 var(--font);color:#51606a}
.cart-empty a:not(.btn):not(.lnk){font-weight:800;color:var(--ink)}
.cart-empty__cta{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center;margin-top:26px}

/* checkout */
.co__main{display:grid;gap:clamp(16px,2vw,26px)}
.co__sec{padding:clamp(20px,2.4vw,34px);border:1.5px solid #17252d;border-radius:28px;background:#fff}
.co__sec h2{display:flex;align-items:center;gap:14px;font:800 clamp(22px,2vw,30px)/1.1 var(--font);letter-spacing:-.025em;color:var(--ink);margin-bottom:20px}
.co__sec h2 span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--yellow);font:800 17px/1 var(--font);color:#111820}
.co__grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:640px){.co__grid{grid-template-columns:1fr 1fr}.co__grid .field--w{grid-column:1/-1}}
.co .field label{position:static;width:auto;height:auto;clip:auto;overflow:visible;white-space:normal;display:block;margin:0 0 7px;font:800 11.500px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#52626c}
.co .field input,.co .field select,.co .field textarea{width:100%;height:56px;padding:0 18px;border:1.5px solid #cfd8dc;border-radius:16px;background:#fff;font:500 16px/1.2 var(--font);color:var(--ink)}
.co .field textarea{height:auto;padding:16px 18px;resize:vertical}
.co .field input:hover,.co .field select:hover,.co .field textarea:hover{border-color:#9fb0b8}
.co .field input:focus,.co .field select:focus,.co .field textarea:focus{outline:0;border-color:var(--dark);box-shadow:0 0 0 4px rgba(2,42,42,.14)}
.co .field--select .field__chev{top:auto;bottom:21px;margin:0}
.co .field.has-error input{border-color:#b3261e}
.pays{display:grid;gap:12px;margin-bottom:18px}
.pay{position:relative;display:block;cursor:pointer}
.pay input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pay__b{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:16px 18px;border:1.5px solid #dfe5e8;border-radius:20px;background:#fff;transition:border-color .25s var(--ease),background-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.pay__ic{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#f2f5f6;color:#17252d;transition:background-color .25s}
.pay__ic svg{width:48%;height:48%}
.pay__t{display:flex;flex-direction:column;gap:4px}
.pay__t b{font:800 17px/1.2 var(--font);color:var(--ink)}
.pay__t small{font:500 13.500px/1.45 var(--font);color:#52626c}
.pay:hover .pay__b{transform:translateY(-2px);border-color:#b2bfc6}
.pay input:checked + .pay__b{border-color:var(--yellow);background:#fff9d6;box-shadow:0 0 0 3px rgba(254,207,1,.55)}
.pay input:checked + .pay__b .pay__ic{background:var(--yellow)}
.pay input:focus-visible + .pay__b{outline:3px solid #0b6bcb;outline-offset:2px}
.co__hint{margin:-4px 0 18px;font:500 13px/1.5 var(--font);color:#68757e}
.sumi-list{display:grid;gap:12px}
.sumi{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.sumi img{width:56px;height:56px;object-fit:cover;border-radius:12px}
.sumi__t{display:flex;flex-direction:column;gap:3px;min-width:0}
.sumi__t b{font:700 14.500px/1.25 var(--font)}
.sumi__t small{font:500 12.500px/1.3 var(--font);color:rgba(255,255,255,.7)}
.sumi__p{font:800 15px/1 var(--font);color:#fff}
.sumi:not(:has(img)){grid-template-columns:1fr auto}
.co__place.is-loading .spinner{display:block}
.co__place.is-loading .ico-arrow2{display:none}

/* confirmation */
.ty__main{padding:clamp(22px,3vw,44px);border:1.5px solid #17252d;border-radius:30px;background:#fff}
.ty__badge{display:grid;place-items:center;width:84px;height:84px;margin-bottom:20px;border-radius:50%;background:var(--yellow);color:#111820;box-shadow:0 20px 36px -16px rgba(254,207,1,.8);animation:pop .6s var(--ease) both}
.ty__badge svg{width:46%;height:46%}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.ty__main h2{font:800 clamp(34px,4vw,56px)/1 var(--font);letter-spacing:-.04em;color:var(--ink)}
.ty__lead{margin-top:14px;font:500 clamp(16px,1.4vw,19px)/1.55 var(--font);color:#34424b}
.ty__steps{margin-top:30px}
.ty__cta{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin-top:32px}
.ty .sum__rows dd{text-align:right}
@media (prefers-reduced-motion:reduce){.ty__badge,.shop__loading i{animation:none}}

/* ===================== EasyTaxi-style cart ===================== */
.btn--grey{background:#4a5256;color:#fff}.btn--grey:hover{background:#5d676c;transform:translateY(-2px)}
.ph--car{overflow:visible;z-index:4;margin-bottom:clamp(60px,9vw,150px)}
.ph--car .ph__media{overflow:hidden}
.ph--car .ph__media img{filter:blur(4px) saturate(.75) brightness(.7)}
.ph--car::before{background:linear-gradient(90deg,rgba(6,16,14,.96) 0,rgba(6,16,14,.9) 45%,rgba(6,16,14,.7) 100%)}
.ph--car .ph__inner{padding-top:clamp(56px,7.5vw,120px);padding-bottom:clamp(150px,19vw,300px)}
.ph__title--car{display:block;max-width:min(46%,560px);font-size:clamp(46px,7vw,112px)}
.ph--car .ph__lead{max-width:min(44%,520px)}
.ph__car{position:absolute;z-index:3;right:clamp(-30px,1.5vw,40px);bottom:calc(-1 * clamp(26px,5.5vw,90px));width:clamp(320px,56vw,940px);height:auto;filter:drop-shadow(0 40px 30px rgba(0,0,0,.55));pointer-events:none}
.ph--car .ph__wave{z-index:1}
@media (max-width:760px){.ph__title--car,.ph--car .ph__lead{max-width:100%}.ph--car .ph__inner{padding-bottom:clamp(190px,56vw,300px)}.ph__car{width:88vw;right:-3vw;bottom:calc(-1 * 8vw)}}

.shop__head{margin-bottom:clamp(22px,3vw,40px)}
.cc-grid{display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:1fr}
@media (min-width:760px){.cc-grid{grid-template-columns:repeat(2,1fr)}}
.cc{position:relative;display:flex;flex-direction:column;border-radius:30px;overflow:hidden;color:#111820;box-shadow:0 30px 50px -40px rgba(18,42,60,.6);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cc:hover{transform:translateY(-6px);box-shadow:0 44px 64px -40px rgba(18,42,60,.65)}
.cc--y{background:var(--yellow)}.cc--g{background:#e9ecee}
.cc__media{position:relative;display:block;aspect-ratio:16/8;overflow:hidden;margin:12px 12px 0;border-radius:22px;background:#cfd8dc}
.cc__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cc:hover .cc__media img{transform:scale(1.07)}
.cc__tag{position:absolute;left:12px;bottom:12px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.95);font:800 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#17252d}
.cc__body{display:flex;flex-direction:column;gap:12px;padding:clamp(16px,1.8vw,24px) clamp(16px,1.8vw,24px) 8px}
.cc__name{font:800 clamp(22px,2vw,30px)/1.1 var(--font);letter-spacing:-.03em;text-align:center}
.cc__name a{color:inherit;text-decoration:none}
.cc__desc{font:500 13.500px/1.55 var(--font);text-align:center;color:rgba(17,24,32,.78)}
.cc .vt-set{margin:2px 0 0}
.cc .vt-set legend{width:100%;text-align:center;padding-bottom:10px;color:rgba(17,24,32,.7)}
.cc .vt-grid--6{grid-template-columns:repeat(3,1fr);gap:8px}
.cc .vt--l .vt__b{padding:11px 6px;border-radius:16px;background:rgba(255,255,255,.7);border-color:transparent}
.cc--g .vt--l .vt__b{background:#fff}
.cc .vt--l .vt__n{font-size:clamp(22px,2vw,28px)}
.cc .vt--l .vt__p{margin-top:4px;font-size:14px}
.cc .vt--l input:checked + .vt__b{background:var(--night);border-color:var(--night);box-shadow:0 14px 24px -14px rgba(0,0,0,.7)}
.cc .vt--l input:checked + .vt__b .vt__n,.cc .vt--l input:checked + .vt__b .vt__p,.cc .vt--l input:checked + .vt__b .vt__l{color:#fff}
.cc .pc__stats{margin-top:2px}
.cc .pc__stat{background:rgba(255,255,255,.7);text-align:center;align-items:center}
.cc--g .pc__stat{background:#fff}
.cc__row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:2px}
.cc .qty{background:rgba(255,255,255,.8);border-color:transparent}
.cc .qty__b{width:44px;height:48px}
.cc .qty__i--t{height:48px}
.cc__rm{border:0;background:none;padding:8px 2px;font:800 13px/1 var(--font);color:#111820;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.75;transition:opacity .2s}
.cc__rm:hover{opacity:1}
.cc__foot{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:auto;padding:12px 18px 22px}
.cc__price{display:flex;align-items:baseline;gap:8px}
.cc__price b{font:800 clamp(34px,3.2vw,46px)/1 var(--font);letter-spacing:-.04em}
.cc__price small,.cc__foot>small{font:700 13px/1.2 var(--font);color:rgba(17,24,32,.7)}
.cc__tot{padding:5px 11px;border-radius:999px;background:rgba(17,24,32,.9);color:#fff!important}

.sg{margin-top:clamp(26px,3.4vw,48px)}
.sg__t{text-align:center;font:800 clamp(20px,1.8vw,26px)/1.1 var(--font);letter-spacing:.01em;text-transform:uppercase;color:var(--ink)}
.sg__grid{display:grid;gap:14px;margin-top:6px;grid-template-columns:1fr}
@media (min-width:560px){.sg__grid{grid-template-columns:repeat(3,1fr)}}
.sg__c{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 14px 18px;border-radius:24px;text-align:center;transition:transform .3s var(--ease)}
.sg__c:hover{transform:translateY(-5px)}
.sg__c--y{background:var(--yellow)}.sg__c--g{background:#e9ecee}
.sg__c img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:6px}
.sg__c b{font:800 17px/1.15 var(--font)}
.sg__c small{font:600 13px/1.3 var(--font);color:rgba(17,24,32,.72)}
.sg__c button{margin-top:8px;height:42px;padding:0 20px;border:0;border-radius:12px;background:#0c1a16;color:#fff;font:800 13px/1 var(--font);cursor:pointer;transition:background-color .2s,transform .2s}
.sg__c button:hover{background:#1f3a33;transform:translateY(-2px)}
.sg__c--y button{background:#111820}
.shop .in{max-width:1480px}
.cc-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.ph__car{right:clamp(10px,3vw,60px)}
@media (max-width:760px){.ph__car{right:2vw}}

/* packages: full-bleed row of cards */
#packages{padding-inline:0}
#packages .in{max-width:none;padding-inline:clamp(14px,2.6vw,52px)}
#packages .pc-grid{gap:clamp(14px,1.6vw,28px)}
#packages .pc__media{aspect-ratio:16/8}
#packages .pc__body{padding:clamp(22px,2.2vw,36px)}
#packages .pc__price{font-size:clamp(46px,4.2vw,72px)}
#packages .pc__list li{font-size:clamp(14px,1.05vw,16px)}
@media (min-width:1180px){#packages .pc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* one dark green everywhere (#223a33) and square-cornered full-width blocks */
:root{--night:#223a33;--night-2:#2b4840}
.callband{border-radius:0;background:linear-gradient(135deg,#1f352e 0%,#27433b 55%,#1f352e 100%)}
.dk,.st{border-radius:0}
.st{background:rgba(255,255,255,.12)}
.pc--diamond,.cx--dark,.ic--dark{background:var(--night);border-color:var(--night)}

/* no white strip above the call band */
.callband{margin-top:0}

/* licence-class cards (G2 / G) */
.pd__media--lic{align-self:center}
.pd__media--lic::before{inset:-6% -4% -8% 4%;border-radius:32px}
.pd__media--lic img{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 26px 26px rgba(10,30,50,.35))}
.pb__lic{width:100%;max-width:440px;height:auto;aspect-ratio:auto;margin:0 auto 4px;filter:drop-shadow(0 18px 18px rgba(10,30,50,.28))}
img[src*="licence-"]{object-fit:contain!important}
.cc__media:has(img[src*="licence-"]),.sg__c:has(img[src*="licence-"]) img{background:linear-gradient(135deg,#dcecf8,#e5f5ef)}
.cc__media img[src*="licence-"]{padding:10px 0}
.sumi img[src*="licence-"]{background:#dcecf8;border-radius:8px}
.pd__media--lic .pd__chip{left:auto;right:12px;bottom:-22px}

/* "Choose what fits you" + quick answers */
.pick{padding-bottom:0}
.pick__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px)}
.pick__c{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.2vw,32px);border:1.5px solid #e3e8eb;border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.pick__c:hover{transform:translateY(-5px);box-shadow:0 26px 44px -30px rgba(18,42,60,.55);border-color:var(--dark)}
.pick__t{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#fff5b8;font:800 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#5c4800}
.pick__c b{font:800 clamp(19px,1.7vw,24px)/1.15 var(--font);letter-spacing:-.02em}
.pick__c p{font:500 15px/1.5 var(--font);color:#51606a}
.pick__go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font:800 13px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--dark)}
.pick__go svg{width:20px;height:12px}
.faq{max-width:860px}
.faq__i{border:1.5px solid #e3e8eb;border-radius:18px;background:#fff;margin-bottom:12px;overflow:hidden}
.faq__i summary{cursor:pointer;list-style:none;padding:20px 54px 20px 24px;position:relative;font:800 clamp(16px,1.3vw,19px)/1.3 var(--font);color:var(--ink)}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font:700 26px/1 var(--font);color:var(--dark);transition:transform .25s}
.faq__i[open] summary::after{content:"\2212"}
.faq__i p{padding:0 24px 22px;font:500 15.5px/1.6 var(--font);color:#51606a}
@media (max-width:860px){.pick__grid{grid-template-columns:1fr}}

/* watermark stamp: big, half out of frame, behind the content (interior pages) */
.wm{position:fixed;top:50%;right:-16vw;width:min(64vw,900px);aspect-ratio:1000/850;transform:translateY(-46%);background:url(../assets/wm-logo.png) center/contain no-repeat;opacity:.1;pointer-events:none;z-index:0}
main{position:relative;z-index:1}
.sec--paper{background:rgba(245,246,246,.78)}
@media (max-width:767px){.wm{right:-34vw;width:92vw}}

/* Lessons hero: compact dark band on top (title left, text + buttons right); the photo below stays uncovered */
.ph:has(img[src*="hero-lessons-cones"]){padding-bottom:calc(100% / 2.25)}
.ph:has(img[src*="hero-lessons-cones"])::before{display:none}
.ph:has(img[src*="hero-lessons-cones"]) .ph__media{top:auto;left:0;right:0;bottom:0;height:auto;aspect-ratio:2.25}
.ph:has(img[src*="hero-lessons-cones"]) .ph__media img{object-position:50% 70%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%)}
.ph:has(img[src*="hero-lessons-cones"]) .ph__inner{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(16px,2vw,32px) var(--gutter) clamp(10px,1.4vw,22px)}
.ph:has(img[src*="hero-lessons-cones"]) .ph__title{grid-column:1;grid-row:1/span 2;font-size:clamp(30px,3.7vw,58px)}
.ph:has(img[src*="hero-lessons-cones"]) .ph__icon{width:clamp(40px,4.2vw,64px)}
.ph:has(img[src*="hero-lessons-cones"]) .ph__lead{grid-column:2;grid-row:1;margin-top:0;font-size:clamp(13px,1.15vw,17px);max-width:620px;line-height:1.4}
.ph:has(img[src*="hero-lessons-cones"]) .ph__cta{grid-column:2;grid-row:2;margin-top:clamp(8px,1vw,14px);gap:12px 26px}
.ph:has(img[src*="hero-lessons-cones"]) .ph__cta .btn{font-size:clamp(13px,1vw,15px);padding:clamp(10px,.9vw,14px) clamp(16px,1.5vw,24px);min-height:0;height:auto}
.ph:has(img[src*="hero-lessons-cones"]) .ph__cta .link-ghost{font-size:clamp(13px,1vw,15px);padding-bottom:6px}
.ph:has(img[src*="hero-lessons-cones"]) .ph__wave{height:clamp(40px,6vw,96px)}
@media (max-width:860px){
  .ph:has(img[src*="hero-lessons-cones"]){padding-bottom:calc(100% / 1.2)}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__media{aspect-ratio:1.2}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__media img{object-position:58% 50%}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__inner{grid-template-columns:1fr;padding-bottom:20px}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__title,.ph:has(img[src*="hero-lessons-cones"]) .ph__lead,.ph:has(img[src*="hero-lessons-cones"]) .ph__cta{grid-column:1;grid-row:auto}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__title{font-size:clamp(34px,10vw,48px)}
  .ph:has(img[src*="hero-lessons-cones"]) .ph__lead{margin-top:12px;font-size:15px}
}

/* programs / locations / terms / faq (minimal) */
.faq__ul{margin:0 0 14px 20px;display:grid;gap:6px;list-style:disc}
.faq__i p+p,.faq__i ul+p{margin-top:10px}
.faq__i ul{padding:0 24px 0 44px;font:500 15.5px/1.6 var(--font);color:#51606a}
.prg__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px)}
.prg__h{font:800 13px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#5c4800;margin-bottom:12px}
.prg__list li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:18px 0;border-bottom:1.5px solid #e3e8eb}
.prg__list .n{font:800 14px/1 var(--font);color:var(--yellow)}
.prg__list .t{font:700 clamp(17px,1.5vw,21px)/1.25 var(--font);color:var(--ink)}
.prg__note{margin-top:18px;font:500 15px/1.5 var(--font);color:#51606a}
.loc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
.loc__dl{margin-top:26px;display:grid;gap:22px}
.loc__dl dt{font:800 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:#5c4800;margin-bottom:8px}
.loc__dl dd{margin:0;font:600 clamp(16px,1.3vw,19px)/1.5 var(--font);color:var(--ink)}
.loc__dl a{text-decoration:none;font-weight:800}
.form--grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.form--grid .field--full,.form--grid .form__status,.form--grid .form__submit{grid-column:1/-1}
.chk{display:flex;gap:10px;align-items:flex-start;font:500 14px/1.45 var(--font);color:#51606a}
.chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--dark);flex:none}
.chk a{font-weight:800;color:var(--ink)}
.terms__h{margin:34px 0 12px;font:800 clamp(20px,1.8vw,26px)/1.2 var(--font);color:var(--ink);letter-spacing:-.02em}
.terms__ol{counter-reset:t;display:grid;gap:12px}
.terms__ol li{counter-increment:t;position:relative;padding-left:40px;font:500 16px/1.6 var(--font);color:#3a4851}
.terms__ol li::before{content:counter(t);position:absolute;left:0;top:.1em;width:26px;height:26px;border-radius:50%;background:var(--yellow);color:#111;font:800 13px/26px var(--font);text-align:center}
.terms__p{font:500 16px/1.65 var(--font);color:#3a4851;max-width:760px}
.terms__p a{font-weight:800;color:var(--ink)}
@media (max-width:860px){.prg__cols,.loc{grid-template-columns:1fr}.form--grid{grid-template-columns:1fr}}

/* larger reading text on desktop (FAQ, terms, programs) */
.faq__i summary{font-size:clamp(18px,1.75vw,28px);padding:clamp(20px,1.8vw,30px) 64px clamp(20px,1.8vw,30px) clamp(22px,2vw,34px)}
.faq__i summary::after{right:clamp(22px,2vw,32px);font-size:clamp(26px,2.2vw,36px)}
.faq__i p{font-size:clamp(16px,1.45vw,23px);line-height:1.65;padding:0 clamp(22px,2vw,34px) clamp(22px,2vw,32px)}
.faq__i ul{font-size:clamp(16px,1.45vw,23px);line-height:1.65;padding:0 clamp(22px,2vw,34px) 0 clamp(44px,3.6vw,60px)}
.faq{max-width:clamp(860px,78vw,1180px)}
.terms__ol li{font-size:clamp(16px,1.4vw,22px);padding-left:clamp(40px,3vw,50px)}
.terms__ol li::before{width:clamp(26px,2vw,34px);height:clamp(26px,2vw,34px);font-size:clamp(13px,1vw,16px);line-height:clamp(26px,2vw,34px)}
.terms__p{font-size:clamp(16px,1.4vw,22px);max-width:960px}
.terms__h{font-size:clamp(22px,2.1vw,34px)}
.prg__list .t{font-size:clamp(18px,1.7vw,27px)}
.prg__note,.loc__dl dd{font-size:clamp(16px,1.4vw,22px)}

/* enrollment terms in two columns on desktop */
@media (min-width:861px){
  .terms__ol{display:block;columns:2;column-gap:clamp(36px,4.5vw,80px)}
  .terms__ol li{break-inside:avoid;margin-bottom:clamp(14px,1.4vw,22px)}
  .terms__ol li+li{margin-top:0}
  .faq.terms,.sec--paper .faq{max-width:clamp(900px,84vw,1320px)}
}

.grecaptcha-badge{visibility:hidden}
.rc-note{margin-top:12px;font:500 12px/1.5 var(--font);color:rgba(17,24,32,.7);text-align:center}
.rc-note a{color:inherit;text-decoration:underline}
.form--grid .rc-note{grid-column:1/-1}
