
  :root{
    --ink:#1f160f;
    --cream:#faf3e6;
    --mute:rgba(250,243,230,0.72);
    --accent:#6b4226;
    --accent-mid:#85572f;
    --field-line:rgba(31,22,15,0.14);
    --shadow: 0 30px 70px -30px rgba(24,17,10,0.5);

    /* below-hero body sections */
    --paper:#f7f1e4;
    --paper-2:#efe3cd;
    --ink-dim:#6b5c4a;
    --ink-faint:#9c8d78;
    --line:rgba(31,22,15,0.12);
    --card-shadow: 0 24px 50px -28px rgba(28,20,12,0.22);
  }

  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{overflow-x:hidden;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  body{
    background:var(--ink);
    color:var(--cream);
    font-family:"Onest","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;}
  input{font-family:inherit;}
  .mono{ font-family:"JetBrains Mono","SFMono-Regular",Menlo,monospace; font-variant-numeric:tabular-nums; }

  /* ---------- SCROLL RIG ---------- */
  .scroll-rig{
    position:relative;
    height:340vh; /* 100vh initial + 240vh of scrub distance, scaled to the 143-frame clip */
  }
  .pin{
    position:sticky;
    top:0;
    height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .scene-video{ position:absolute; inset:0; z-index:0; background:#0f0b07; }
  .scene-video canvas{ width:100%; height:100%; display:block; }
  .scene-video-el{ width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
  .scene-video::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(18,12,7,0.62) 0%, rgba(18,12,7,0.28) 30%, rgba(18,12,7,0.02) 46%, rgba(18,12,7,0.02) 100%);
  }

  /* ---------- NAV ---------- */
  .nav{
    position:relative; z-index:2; flex:none;
    display:flex; align-items:center; justify-content:flex-end;
    padding:22px clamp(20px,4vw,56px);
  }
  .wordmark{ font-size:16px; font-weight:600; letter-spacing:0.06em; text-shadow:0 2px 14px rgba(16,10,6,0.5); }
  .wordmark .dot{ opacity:0.55; margin:0 1px; }
  .nav-phone{
    display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500;
    text-shadow:0 2px 14px rgba(16,10,6,0.5); padding:6px 4px; transition:opacity .2s ease;
  }
  .nav-phone:hover{ opacity:0.7; }
  .nav-phone svg{ width:14px; height:14px; stroke:var(--cream); flex:none; }

  /* ---------- CONTENT ---------- */
  .hero-content{
    position:relative; z-index:2;
    flex:1; min-height:0;
    display:flex; flex-direction:column; align-items:center;
    text-align:center;
    padding:0 20px;
    padding-bottom:9vh;
    margin-top:1.4vh;
  }

  .headline-stack{ position:relative; width:100%; max-width:900px; }
  .beat{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center;
    will-change:opacity, transform;
  }
  .beat-1{ position:relative; }
  .beat-2 h1{ font-size:clamp(24px, 3.1vw, 42px); }

  .eyebrow{
    font-size:12px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--mute); margin:0 0 14px; text-shadow:0 2px 12px rgba(16,10,6,0.5);
  }
  h1{
    margin:0; font-family:"Playfair Display",Georgia,"Times New Roman",serif;
    font-weight:600; letter-spacing:-0.01em; color:var(--cream);
    font-size:clamp(32px, 4.4vw, 60px); line-height:1.08; text-wrap:balance;
    text-shadow:0 1px 3px rgba(14,9,5,0.5), 0 10px 30px rgba(14,9,5,0.4);
  }
  .subcopy{
    margin:16px 0 0; font-size:15.5px; font-weight:400; color:var(--mute);
    text-shadow:0 2px 14px rgba(16,10,6,0.5);
  }

  /* ---------- ORDER BAR ---------- */
  .hero-cta{
    margin-top:auto;
    border:none; cursor:pointer; background:var(--accent); color:var(--cream);
    border-radius:16px; padding:20px 36px; font-size:16px; font-weight:600;
    display:inline-flex; align-items:center; gap:10px;
    box-shadow:var(--shadow);
    transition:background .2s ease, transform .2s ease;
    position:relative; z-index:2;
  }
  .hero-cta:hover{ background:var(--accent-mid); transform:translateY(-2px); }
  .hero-cta span{ transition:transform .2s ease; }
  .hero-cta:hover span{ transform:translateX(3px); }
  .order-submit{
    flex:none; border:none; cursor:pointer; background:var(--accent); color:var(--cream);
    border-radius:13px; padding:0 26px; font-size:14.5px; font-weight:600;
    display:flex; align-items:center; gap:8px; margin-left:6px;
    transition:background .2s ease, transform .2s ease;
  }
  .order-submit:hover{ background:var(--accent-mid); transform:translateY(-1px); }

  /* ---------- SCROLL CUE ---------- */
  .scroll-hint{
    position:absolute; left:50%; bottom:28px; transform:translateX(-50%);
    z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px;
    font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--mute);
    text-shadow:0 2px 12px rgba(16,10,6,0.5);
    animation:hintbob 2.4s ease-in-out infinite;
  }
  .scroll-hint svg{ width:16px; height:16px; stroke:var(--cream); }
  @keyframes hintbob{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,6px); } }

  @media (prefers-reduced-motion: reduce){
    .scroll-hint{ animation:none; }
  }

  /* =====================================================================
     BODY SECTIONS — everything below the animated hero
     ===================================================================== */
  .site{ background:var(--paper); color:var(--ink); position:relative; z-index:1; }
  .section{ padding:clamp(64px,10vw,120px) clamp(20px,4vw,56px); }
  .section-alt{ background:var(--paper-2); }
  .section-inner{ max-width:1160px; margin:0 auto; }
  .section-inner-narrow{ max-width:800px; margin:0 auto; }

  .section-head{ max-width:640px; margin:0 0 52px; }
  .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
  .section-eyebrow{
    font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--accent); margin:0 0 14px;
  }
  .section-title{
    font-family:"Playfair Display",Georgia,"Times New Roman",serif;
    font-size:clamp(28px,3.4vw,42px); font-weight:600; letter-spacing:-0.005em;
    line-height:1.16; margin:0; text-wrap:balance;
  }
  .section-sub{
    margin:16px 0 0; font-size:16px; line-height:1.6; color:var(--ink-dim); max-width:52ch;
  }
  .section-head.center .section-sub{ margin-left:auto; margin-right:auto; }

  .reveal-up{
    opacity:0; transform:translateY(22px);
    transition:opacity .8s cubic-bezier(.16,.8,.24,1), transform .8s cubic-bezier(.16,.8,.24,1);
  }
  .reveal-up.in-view{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){
    .reveal-up{ opacity:1; transform:none; transition:none; }
  }

  /* ---- 3.2 Стандарт поездки ---- */
  .standards-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
    background:var(--line); border:1px solid var(--line); border-radius:20px; overflow:hidden;
  }
  .standard-card{ background:var(--paper); padding:36px 34px; }
  .section-alt .standard-card{ background:var(--paper-2); }
  .standard-card h3{ font-size:19px; font-weight:700; margin:0 0 10px; letter-spacing:-0.01em; }
  .standard-card p{ font-size:14.5px; line-height:1.6; color:var(--ink-dim); margin:0; }

  /* ---- 3.3 Mercedes-Benz S-Class (photo gallery) ---- */
  .gallery{
    display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(2,220px); gap:14px;
  }
  .gallery-tile{
    position:relative; border-radius:16px; overflow:hidden;
    background:
      repeating-linear-gradient(135deg, rgba(31,22,15,0.05) 0 2px, transparent 2px 18px),
      linear-gradient(160deg, var(--paper-2), #e6d9c2);
    border:1px solid var(--line);
    display:flex; align-items:flex-end;
  }
  .gallery-tile img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 42%;
  }
  .gallery-tile::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(24,17,10,0.55) 0%, transparent 45%);
  }
  .gallery-tile.big{ grid-column:span 2; grid-row:span 2; }
  .gallery-tile.tall{ grid-row:span 2; }
  .gallery-tile-label{
    position:relative; z-index:1;
    display:flex; align-items:center; gap:8px;
    margin:16px; padding:9px 14px; border-radius:999px;
    background:rgba(250,244,232,0.9); backdrop-filter:blur(6px);
    font-size:12.5px; font-weight:600; color:var(--ink-dim);
  }
  .gallery-tile-label svg{ width:14px; height:14px; stroke:var(--ink-faint); flex:none; }
  .gallery-note{
    margin:20px 2px 0; font-size:13px; color:var(--ink-faint);
  }

  /* ---- 3.4 Форматы поездок ---- */
  .formats-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  .format-card{
    background:var(--paper); border:1px solid var(--line); border-radius:18px;
    padding:30px 28px; box-shadow:var(--card-shadow);
  }
  .section-alt .format-card{ background:var(--cream); }
  .format-card h3{ font-size:17px; font-weight:700; margin:0 0 10px; }
  .format-card p{ font-size:14px; line-height:1.6; color:var(--ink-dim); margin:0; }

  /* ---- 3.5 Стоимость поездки ---- */
  .pricing-wrap{
    display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
  }
  .pricing-steps{ display:flex; flex-direction:column; gap:0; }
  .pricing-step{
    display:flex; align-items:baseline; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);
  }
  .pricing-step:first-child{ padding-top:0; }
  .pricing-step .mono{ font-size:13px; color:var(--accent); font-weight:600; flex:none; width:20px; }
  .pricing-step span{ font-size:15px; color:var(--ink-dim); }
  .pricing-card{
    background:var(--ink); color:var(--cream); border-radius:22px; padding:40px;
  }
  .pricing-card p.big{ font-size:22px; font-weight:600; line-height:1.35; margin:0 0 20px; letter-spacing:-0.01em; }
  .pricing-card p.small{ font-size:14px; color:var(--mute); line-height:1.6; margin:0 0 26px; }
  .pricing-card .btn-link{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--accent); color:var(--cream); border:none; border-radius:12px;
    padding:13px 22px; font-size:14px; font-weight:600; cursor:pointer;
    transition:background .2s ease;
  }
  .pricing-card .btn-link:hover{ background:var(--accent-mid); }

  /* ---- 3.6 Как проходит заказ ---- */
  .steps-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
  .step-card .num{
    font-family:"JetBrains Mono","SFMono-Regular",Menlo,monospace;
    font-size:13px; color:var(--accent); font-weight:600; margin:0 0 16px;
  }
  .step-card h3{ font-size:16px; font-weight:700; margin:0 0 8px; }
  .step-card p{ font-size:13.5px; line-height:1.55; color:var(--ink-dim); margin:0; }

  /* ---- 3.7 Автоматическое формирование договора ---- */
  .contract-wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
  .contract-doc{
    background:var(--paper); border:1px solid var(--line); border-radius:20px;
    padding:32px; box-shadow:var(--card-shadow);
  }
  .contract-doc .doc-row{
    display:flex; justify-content:space-between; gap:12px;
    padding:12px 0; border-bottom:1px dashed var(--line); font-size:13.5px;
  }
  .contract-doc .doc-row:last-child{ border-bottom:none; }
  .contract-doc .doc-row span:first-child{ color:var(--ink-faint); }
  .contract-doc .doc-row span:last-child{ color:var(--ink); font-weight:600; }
  .contract-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
  .contract-list li{
    display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--ink-dim); line-height:1.5;
  }
  .contract-list svg{ width:18px; height:18px; stroke:var(--accent); flex:none; margin-top:2px; }

  /* ---- 3.8 О сервисе ---- */
  .about-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:36px; }
  .about-item h3{ font-size:16px; font-weight:700; margin:0 0 10px; }
  .about-item p{ font-size:14.5px; line-height:1.65; color:var(--ink-dim); margin:0; }

  /* ---- 3.10 Финальная форма ---- */
  .final-cta{ background:var(--ink); color:var(--cream); }
  .final-cta .section-head .section-title{ color:var(--cream); }
  .final-cta .section-eyebrow{ color:#cbab7f; }
  .final-layout{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:32px; align-items:stretch;
    max-width:1160px; margin:0 auto;
  }
  .final-form-col{ min-width:0; display:flex; flex-direction:column; }

  .order-tabs{ display:flex; gap:10px; margin-bottom:20px; }
  .order-tab{
    flex:1; border:1px solid rgba(250,243,230,0.16); background:transparent; color:var(--mute);
    border-radius:12px; padding:13px 16px; font-family:inherit; font-size:13.5px; font-weight:600;
    cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .order-tab.active{ background:var(--accent); border-color:var(--accent); color:var(--cream); }

  .final-form{
    width:100%; margin:0;
    display:flex; flex-wrap:wrap; gap:0 20px;
    background:rgba(250,243,230,0.06); border:1px solid rgba(250,243,230,0.14);
    border-radius:20px; padding:28px 30px;
  }
  .tab-fields{ display:contents; }
  .tab-fields[hidden]{ display:none; }
  .final-field{ flex:0 0 100%; padding:14px 0; border-bottom:1px solid rgba(250,243,230,0.14); position:relative; }

  .address-suggest-list{
    display:none;
    position:absolute;
    left:0; right:0; top:100%;
    z-index:30;
    background:#1c1712;
    border:1px solid rgba(250,243,230,0.18);
    border-radius:10px;
    margin-top:4px;
    overflow:hidden;
    box-shadow:0 18px 40px -20px rgba(0,0,0,0.6);
  }
  .address-suggest-list.open{ display:block; }
  .address-suggest-item{
    padding:10px 14px;
    font-size:13.5px;
    color:var(--cream);
    cursor:pointer;
  }
  .address-suggest-item:hover{ background:rgba(250,243,230,0.08); }
  .final-field-half{ flex:0 0 calc(50% - 10px); }
  .final-field label{
    display:block; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--mute); font-weight:600; margin-bottom:6px;
  }
  .final-field input, .final-field select{
    width:100%; border:none; outline:none; background:transparent; color:var(--cream);
    font-family:inherit; font-size:15px; font-weight:500; padding:0; color-scheme:dark;
  }
  .final-field-hint{
    margin:6px 0 0; font-size:12px; color:rgba(250,243,230,0.45); font-weight:400;
  }
  .final-field select{
    appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:22px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbab7f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right center; background-size:16px;
  }
  .final-field select option{ background:#1c1712; color:var(--cream); }
  .final-field input::placeholder{ color:rgba(250,243,230,0.4); }
  .final-form .order-submit{
    flex:0 0 100%; margin-top:20px; width:100%; justify-content:center; padding:16px;
  }

  .final-map-col{ display:flex; }
  .map-placeholder{
    flex:1; width:100%; min-height:280px;
    border-radius:20px;
    background:
      repeating-linear-gradient(45deg, rgba(250,243,230,0.035) 0 2px, transparent 2px 22px),
      rgba(250,243,230,0.05);
    border:1px solid rgba(250,243,230,0.14);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
    color:var(--ink-faint); text-align:center; padding:24px;
  }
  .map-placeholder svg{ width:40px; height:40px; stroke:#cbab7f; opacity:0.7; }
  .map-placeholder p{ margin:0; font-size:13.5px; letter-spacing:0.02em; }

  /* ---- 3.11 Контакты и футер ---- */
  .footer{ background:#101109; color:var(--mute); padding:56px clamp(20px,4vw,56px) 32px; }
  .footer-inner{ max-width:1160px; margin:0 auto; }
  .footer-top{
    display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap;
    padding-bottom:36px; border-bottom:1px solid rgba(250,243,230,0.12);
  }
  .footer-brand .wordmark{ color:var(--cream); text-shadow:none; }
  .footer-brand p{ font-size:13.5px; color:var(--ink-faint); margin:10px 0 0; max-width:32ch; }
  .footer-contacts{ display:flex; gap:48px; flex-wrap:wrap; }
  .footer-col h4{
    font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint);
    margin:0 0 12px; font-weight:600;
  }
  .footer-col a, .footer-col p{
    display:block; font-size:14px; color:var(--mute); text-decoration:none; margin:0 0 8px; line-height:1.5;
  }
  .footer-col a:hover{ color:var(--cream); }
  .footer-legal{
    display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
    padding-top:24px; font-size:12.5px; color:var(--ink-faint);
  }
  .footer-legal a{ color:var(--ink-faint); text-decoration:underline; text-underline-offset:3px; }
  .footer-legal a:hover{ color:var(--mute); }

  /* ---- responsive (desktop-first project, light safety net) ---- */
  @media (max-width:980px){
    .standards-grid{ grid-template-columns:1fr; }
    .gallery{ grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(3,180px); }
    .gallery-tile.big{ grid-column:span 2; grid-row:span 1; }
    .gallery-tile.tall{ grid-row:span 1; }
    .gallery-tile:last-child{ grid-column:span 2; }
    .formats-grid{ grid-template-columns:1fr 1fr; }
    .pricing-wrap, .contract-wrap{ grid-template-columns:1fr; }
    .steps-row{ grid-template-columns:1fr 1fr; }
    .about-grid{ grid-template-columns:1fr; }
    .final-layout{ grid-template-columns:1fr; gap:24px; }
    .final-field-half{ flex:0 0 100%; }
    .map-placeholder{ min-height:220px; }
    .footer-contacts{ gap:28px; }
  }

  /* ---- HERO: phones & narrow tablets ---- */
  @media (max-width:760px){
    .nav{ padding:16px; }
    .nav-phone span{ display:none; }
    .nav-phone{ padding:10px; }

    .hero-content{ padding:0 16px; padding-bottom:6vh; margin-top:0; }
    .headline-stack{ max-width:100%; }
    .eyebrow{ font-size:10.5px; letter-spacing:0.14em; margin-bottom:10px; }
    h1{ font-size:clamp(26px, 7.2vw, 38px); line-height:1.14; }
    .beat-2 h1{ font-size:clamp(20px, 5.8vw, 28px); }
    .subcopy{ font-size:13px; margin-top:12px; }

    .hero-cta{ width:100%; justify-content:center; padding:17px 20px; font-size:14.5px; }

    .scroll-hint{ bottom:12px; font-size:9.5px; }
  }

  /* ---- BODY SECTIONS: phones ---- */
  @media (max-width:560px){
    .section{ padding:48px 18px; }
    .section-head{ margin-bottom:36px; }
    .section-title{ font-size:clamp(24px,7vw,32px); }
    .section-sub{ font-size:14.5px; }

    .standard-card{ padding:24px 20px; }
    .gallery{ grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,150px); gap:10px; }
    .formats-grid{ grid-template-columns:1fr; }
    .format-card{ padding:24px 22px; }
    .pricing-wrap{ gap:32px; }
    .pricing-card{ padding:28px 24px; }
    .steps-row{ grid-template-columns:1fr; gap:24px; }
    .contract-wrap{ gap:32px; }
    .contract-doc{ padding:24px 22px; }
    .about-grid{ gap:28px; }
    .final-form{ padding:20px; }
    .footer-top{ gap:28px; }
    .footer-contacts{ gap:24px 40px; }
    .footer-legal{ flex-direction:column; gap:10px; }
  }

  /* ---- gallery lightbox ---- */
  .gallery-tile{ cursor:zoom-in; }
  .gallery-tile .zoom-hint{
    position:absolute; top:16px; right:16px; z-index:1;
    width:34px; height:34px; border-radius:50%;
    background:rgba(250,244,232,0.9);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:scale(0.85);
    transition:opacity .2s ease, transform .2s ease;
  }
  .gallery-tile:hover .zoom-hint{ opacity:1; transform:scale(1); }
  @media (hover:none){ .gallery-tile .zoom-hint{ opacity:1; transform:scale(1); } }
  .gallery-tile .zoom-hint svg{ width:15px; height:15px; stroke:var(--ink-dim); }

  .lightbox{
    position:fixed; inset:0; z-index:50;
    background:rgba(15,11,7,0.92);
    display:flex; align-items:center; justify-content:center;
    padding:clamp(20px,5vw,64px);
    opacity:0; visibility:hidden;
    transition:opacity .25s ease;
  }
  .lightbox.open{ opacity:1; visibility:visible; }
  .lightbox img{
    max-width:100%; max-height:100%; border-radius:6px;
    box-shadow:0 40px 90px -30px rgba(0,0,0,0.6);
  }
  .lightbox-close{
    position:absolute; top:24px; right:24px;
    width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(250,244,232,0.12); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease;
  }
  .lightbox-close:hover{ background:rgba(250,244,232,0.22); }
  .lightbox-close svg{ width:18px; height:18px; }
  .lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:52px; height:52px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(250,244,232,0.12); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease;
  }
  .lightbox-nav:hover{ background:rgba(250,244,232,0.22); }
  .lightbox-nav svg{ width:22px; height:22px; }
  .lightbox-prev{ left:24px; }
  .lightbox-next{ right:24px; }
  @media (max-width:560px){
    .lightbox-nav{ width:44px; height:44px; }
    .lightbox-nav svg{ width:18px; height:18px; }
    .lightbox-prev{ left:10px; }
    .lightbox-next{ right:10px; }
  }
  @media (prefers-reduced-motion: reduce){ .lightbox{ transition:none; } }


  .order-map{
    flex:1; width:100%; min-height:280px;
    border-radius:20px;
    border:1px solid rgba(250,243,230,0.14);
    overflow:hidden;
  }

  .transfer-mode-toggle{ display:flex; gap:8px; }
  .transfer-mode-btn, .from-mode-btn{
    flex:1; padding:10px 12px; border-radius:10px;
    border:1px solid rgba(250,243,230,0.16);
    background:transparent; color:rgba(250,243,230,0.7);
    font-family:inherit; font-size:13px; font-weight:600; cursor:pointer;
    transition:background .15s ease, color .15s ease, border-color .15s ease;
  }
  .transfer-mode-btn:hover, .from-mode-btn:hover{ border-color:rgba(250,243,230,0.32); }
  .transfer-mode-btn.active, .from-mode-btn.active{
    background:var(--accent); border-color:var(--accent); color:var(--cream);
  }
  .from-mode-btn:disabled{ opacity:0.35; cursor:not-allowed; }

  .final-price{
    flex:0 0 100%;
    display:flex; align-items:center; justify-content:space-between;
    margin-top:18px; padding:16px 18px;
    border:1px solid rgba(250,243,230,0.16);
    border-radius:14px;
    background:rgba(250,243,230,0.05);
    transition:border-color .2s ease, background .2s ease;
  }
  @media (max-width:400px){
    .final-price{ flex-direction:column; align-items:flex-start; gap:6px; }
  }
  .final-price.is-loading{ opacity:0.6; }
  .final-price-label{ font-size:13px; color:rgba(250,243,230,0.6); }
  .final-price-value{
    font-family:"Playfair Display", serif; font-weight:700; font-size:26px; color:var(--cream);
  }
  .final-price-value.is-error{ font-family:inherit; font-size:14px; font-weight:500; color:#e2a37a; }

  .final-price-breakdown{
    flex:0 0 100%; margin:8px 0 0; padding:0 2px;
    font-size:12.5px; color:rgba(250,243,230,0.45); text-align:right;
  }

  .final-form-status{
    flex:0 0 100%; min-height:18px; margin-top:10px;
    font-size:13px; color:#9fd3a8; text-align:center;
  }
  .final-form-status.is-error{ color:#e2a37a; }
