
    :root {
      --yellow: #f6c445;
      --amber: #f2a900;
      --ink: #15171a;
      --night: #20242a;
      --soft: #f7f4ec;
      --line: #ded8ca;
      --muted: #5d6470;
      --white: #ffffff;
      --green: #18a957;
      --shadow: 0 18px 45px rgba(21, 23, 26, .14);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--ink);
      background: var(--soft);
      line-height: 1.55;
    }
    a { color: inherit; text-decoration: none; }
    .wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
    .top {
      background: var(--night);
      color: var(--white);
      font-size: 14px;
    }
    .top .wrap {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 9px 0;
    }
    .header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(247, 244, 236, .94);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(21, 23, 26, .08);
    }
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 14px 0;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 230px;
    }
    .logo {
      width: 52px;
      height: 52px;
      border-radius: 8px;
      background: var(--yellow);
      color: var(--ink);
      display: grid;
      place-items: center;
      font-weight: 900;
      box-shadow: inset 0 -8px 0 rgba(0, 0, 0, .08);
      border: 2px solid var(--ink);
    }
    .brand strong { display: block; font-size: 19px; line-height: 1.15; }
    .brand span { display: block; color: var(--muted); font-size: 13px; }
    .menu { display: flex; align-items: center; gap: 18px; font-weight: 700; color: #2d3138; }
    .menu a:hover { color: #9a6a00; }
    .nav-actions { display: flex; align-items: center; gap: 10px; }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 11px 16px;
      border-radius: 8px;
      border: 1px solid transparent;
      font-weight: 800;
      cursor: pointer;
      line-height: 1.15;
    }
    .btn.call { background: var(--yellow); color: var(--ink); border-color: rgba(21, 23, 26, .18); }
    .btn.whatsapp { background: var(--green); color: var(--white); }
    .btn.light { background: var(--white); border-color: var(--line); color: var(--ink); }
    .mobile-toggle { display: none; background: var(--white); border: 1px solid var(--line); }

    .hero {
      min-height: calc(100vh - 104px);
      display: grid;
      align-items: center;
      background:
        linear-gradient(110deg, rgba(21, 23, 26, .82), rgba(21, 23, 26, .58)),
        linear-gradient(135deg, #2c3038 0%, #111317 48%, #f6c445 49%, #f2a900 100%);
      color: var(--white);
      overflow: hidden;
    }
    .hero .wrap {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 38px;
      align-items: center;
      padding: 54px 0 42px;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(246, 196, 69, .16);
      border: 1px solid rgba(246, 196, 69, .34);
      border-radius: 999px;
      padding: 8px 12px;
      color: #ffe59a;
      font-weight: 800;
      font-size: 14px;
    }
    h1 {
      margin: 18px 0 14px;
      font-size: clamp(36px, 5vw, 66px);
      line-height: 1.02;
      letter-spacing: 0;
    }
    .lead {
      max-width: 650px;
      color: #f4efe2;
      font-size: clamp(17px, 2vw, 21px);
      margin: 0;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
    .quick {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 34px;
      max-width: 720px;
    }
    .quick div {
      background: rgba(255, 255, 255, .11);
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 8px;
      padding: 14px;
    }
    .quick strong { display: block; font-size: 22px; color: var(--yellow); }
    .visual {
      position: relative;
      min-height: 420px;
      border-radius: 8px;
      background: #f5f0e1;
      color: var(--ink);
      box-shadow: var(--shadow);
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .4);
    }
    .street {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(25deg, transparent 0 38%, rgba(21, 23, 26, .9) 39% 51%, transparent 52%),
        linear-gradient(155deg, transparent 0 45%, rgba(21, 23, 26, .84) 46% 58%, transparent 59%),
        radial-gradient(circle at 78% 20%, rgba(246, 196, 69, .5), transparent 26%),
        #f3ead4;
    }
    .taxi-card {
      position: absolute;
      left: 28px;
      right: 28px;
      bottom: 28px;
      background: rgba(255, 255, 255, .95);
      border: 1px solid rgba(21, 23, 26, .12);
      border-radius: 8px;
      padding: 22px;
      box-shadow: 0 14px 38px rgba(0, 0, 0, .18);
    }
    .taxi-sign {
      width: 132px;
      height: 54px;
      border-radius: 8px 8px 4px 4px;
      background: var(--yellow);
      border: 3px solid var(--ink);
      display: grid;
      place-items: center;
      font-weight: 900;
      margin-bottom: 16px;
    }
    .rating { color: #805a00; font-weight: 800; }
    .section { padding: 72px 0; }
    .section.white { background: var(--white); }
    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 22px;
      margin-bottom: 28px;
    }
    h2 { margin: 0; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.1; }
    .section-head p { max-width: 650px; margin: 8px 0 0; color: var(--muted); }
    .grid { display: grid; gap: 18px; }
    .grid.three { grid-template-columns: repeat(3, 1fr); }
    .grid.two { grid-template-columns: repeat(2, 1fr); }
    .card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 24px;
      box-shadow: 0 10px 26px rgba(21, 23, 26, .06);
    }
    .card h3 { margin: 0 0 9px; font-size: 22px; }
    .icon {
      width: 46px;
      height: 46px;
      border-radius: 8px;
      background: #fff6d8;
      border: 1px solid #ead17b;
      display: grid;
      place-items: center;
      margin-bottom: 14px;
      font-weight: 900;
    }
    .area-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding: 0;
      margin: 18px 0 0;
      list-style: none;
    }
    .area-list li {
      background: #fff7dd;
      border: 1px solid #ead17b;
      border-radius: 999px;
      padding: 8px 12px;
      font-weight: 700;
      color: #4a3a10;
    }
    .search-box {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
      margin-top: 16px;
    }
    .search-box input {
      min-height: 48px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0 14px;
      font: inherit;
      background: var(--white);
    }
    .result {
      margin-top: 12px;
      padding: 13px 14px;
      background: #effaf3;
      color: #13512c;
      border: 1px solid #bfe8cd;
      border-radius: 8px;
      font-weight: 700;
    }
    .address {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      align-items: stretch;
    }
    .map {
      min-height: 360px;
      border-radius: 8px;
      background: #e5ddca;
      border: 1px solid var(--line);
      position: relative;
      overflow: hidden;
    }
    .map iframe {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 360px;
      border: 0;
    }
    .pin {
      position: absolute;
      left: 50%;
      top: 48%;
      transform: translate(-50%, -50%);
      background: var(--ink);
      color: var(--white);
      border: 3px solid var(--yellow);
      border-radius: 8px;
      padding: 12px 14px;
      width: min(240px, 76%);
      text-align: center;
      font-weight: 900;
      box-shadow: var(--shadow);
    }
    .faq details {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 18px 20px;
    }
    .faq details + details { margin-top: 12px; }
    .faq summary {
      cursor: pointer;
      font-weight: 900;
      font-size: 18px;
    }
    .footer {
      background: var(--night);
      color: #e9e4d6;
      padding: 34px 0 86px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr 1fr 1fr;
      gap: 22px;
    }
    .footer h3 { margin-top: 0; color: var(--yellow); }
    .sticky-actions {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 30;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .sticky-actions .btn {
      border-radius: 999px;
      padding: 14px 18px;
    }
    .sticky-call {
      box-shadow: 0 12px 28px rgba(246, 196, 69, .36);
    }
    .sticky-whatsapp {
      box-shadow: 0 12px 28px rgba(24, 169, 87, .35);
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    @media (max-width: 920px) {
      .menu {
        display: none;
        position: absolute;
        left: 16px;
        right: 16px;
        top: 82px;
        flex-direction: column;
        align-items: stretch;
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 16px;
        box-shadow: var(--shadow);
      }
      .menu.open { display: flex; }
      .mobile-toggle { display: inline-flex; }
      .nav-actions .call { display: none; }
      .hero .wrap, .address, .grid.two, .footer-grid { grid-template-columns: 1fr; }
      .hero { min-height: auto; }
      .visual { min-height: 340px; }
      .grid.three { grid-template-columns: 1fr; }
      .quick { grid-template-columns: 1fr; }
      .section-head { display: block; }
    }

    @media (max-width: 560px) {
      .top .wrap { display: block; }
      .brand strong { font-size: 16px; }
      .logo { width: 46px; height: 46px; }
      .nav { gap: 8px; }
      .nav-actions .whatsapp { display: none; }
      .hero-actions .btn, .search-box { width: 100%; grid-template-columns: 1fr; }
      .taxi-card { left: 16px; right: 16px; bottom: 16px; padding: 18px; }
      .sticky-actions { left: 16px; right: 16px; bottom: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
      .sticky-actions .btn { width: 100%; padding: 13px 10px; font-size: 14px; }
    }
  
:target { scroll-margin-top: 115px; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #956500; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 100; background: white; color: #15171a; padding: 12px; }
.skip-link:focus { top: 12px; }
.area-request { margin-top: 24px; }
.area-list li { padding: 0; }
.area-list a { display: block; padding: 10px 14px; min-height: 44px; }
.area-list a:hover { text-decoration: underline; background: #f6c445; border-radius: 999px; }
.card a:not(.btn), .footer a, .rating a { text-decoration: underline; text-underline-offset: 3px; }
.btn.whatsapp { background: #087c3b; }
@media (max-width: 380px) { .brand { min-width: 0; } .brand strong { font-size: 14px; } .brand span { font-size: 12px; } .logo { flex-shrink: 0; } .mobile-toggle { padding: 10px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
