
:root{
  --ink:#111315; --charcoal:#1a1d20; --graphite:#252a2f;
  --yellow:#f5d80a; --cream:#f5f1e9; --paper:#fffdf8;
  --stone:#e8e1d5; --muted:#6f716f; --line:rgba(17,19,21,.12);
  --max:1180px; --shadow:0 18px 55px rgba(17,19,21,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 18%, rgba(245,216,10,.12), transparent 24rem),
    linear-gradient(180deg,#f6f3ec 0%,#f2eee6 100%);
}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}

.site-header{
  position:fixed;z-index:50;top:0;left:0;right:0;height:74px;
  display:flex;align-items:center;gap:30px;padding:0 34px;
  background:rgba(17,19,21,.90);color:#fff;
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)
}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mark{background:var(--yellow);color:var(--ink);padding:7px 10px 6px;border-radius:5px;font-weight:950;font-size:13px;letter-spacing:.09em}
.brand-name{font-size:14px;letter-spacing:.08em;white-space:nowrap}
.brand-name strong{font-weight:900}
.desktop-nav{display:flex;gap:26px;font-size:13px;font-weight:800}
.desktop-nav a{opacity:.72;transition:.2s}
.desktop-nav a:hover{opacity:1;color:var(--yellow)}
.lang-switch{display:flex;align-items:center;gap:7px;font-size:12px}
.lang-btn{background:none;border:0;color:#fff;padding:4px 2px;cursor:pointer;opacity:.45;font-weight:900}
.lang-btn.active{opacity:1;color:var(--yellow)}

.hero{
  min-height:820px;height:94vh;position:relative;display:flex;align-items:end;
  overflow:hidden;background:var(--ink)
}
.hero:after{
  content:"";position:absolute;right:-90px;bottom:-80px;width:360px;height:360px;
  border:58px solid rgba(245,216,10,.92);border-radius:50%;z-index:1
}
.hero:before{
  content:"";position:absolute;z-index:2;left:0;bottom:0;width:54%;height:10px;background:var(--yellow)
}
.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;object-position:52% 47%;filter:saturate(.92) contrast(1.03)}
.hero-overlay{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(8,10,11,.92) 0%,rgba(8,10,11,.62) 46%,rgba(8,10,11,.16) 76%),
  linear-gradient(0deg,rgba(8,10,11,.70),transparent 58%)}
.hero-content{position:relative;z-index:3;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:0 0 100px;color:#fff}
.eyebrow{margin:0 0 16px;font-size:12px;font-weight:950;letter-spacing:.19em;color:var(--yellow)}
.eyebrow.dark{color:#736500}
.hero-badges{display:flex;gap:10px;align-items:center;margin:-2px 0 20px;color:rgba(255,255,255,.6);font-size:11px;font-weight:800;letter-spacing:.14em}
.hero h1{margin:0;max-width:760px;font-size:clamp(52px,7vw,92px);line-height:.94;letter-spacing:-.058em}
.hero-copy{max-width:620px;margin:24px 0 0;font-size:clamp(18px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.84)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{min-height:54px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;font-weight:900;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--yellow);color:var(--ink);box-shadow:0 10px 28px rgba(245,216,10,.24)}
.btn-primary:hover{background:#ffe52a}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px)}
.phone-link{display:inline-block;margin-top:18px;font-size:15px;font-weight:800;color:rgba(255,255,255,.9)}

.quick-info{
  display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);
  margin:-36px auto 0;position:relative;z-index:5;border-radius:14px;overflow:hidden;
  background:var(--paper);box-shadow:var(--shadow);border:1px solid rgba(17,19,21,.07)
}
.quick-info>div{padding:27px 30px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}
.quick-info>div:last-child{border-right:0}
.quick-icon{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:13px;font-weight:950}
.quick-info strong{font-size:14px}

.section{max-width:var(--max);margin:0 auto;padding:118px 0}
.section-heading{max-width:720px;margin-bottom:48px}
.section-heading h2,.vehicle-copy h2,.driver-copy h2,.contact-inner h2{margin:0;font-size:clamp(34px,4vw,56px);line-height:1.03;letter-spacing:-.045em}
.section-heading>p:last-child{margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.65}

.services-section{position:relative}
.services-section:before{
  content:"";position:absolute;left:-100vw;right:-100vw;top:28px;height:210px;
  background:
    linear-gradient(90deg,transparent 0 49.2%,rgba(17,19,21,.045) 49.2% 50.8%,transparent 50.8%),
    repeating-linear-gradient(135deg,rgba(17,19,21,.025) 0 2px,transparent 2px 14px);
  z-index:-1
}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  position:relative;overflow:hidden;border:1px solid rgba(17,19,21,.08);
  padding:34px;min-height:280px;background:rgba(255,253,248,.94);
  box-shadow:0 12px 35px rgba(17,19,21,.08);border-radius:16px
}
.service-card:after{content:"";position:absolute;right:-48px;bottom:-58px;width:150px;height:150px;border:26px solid rgba(245,216,10,.25);border-radius:50%}
.service-number{font-size:12px;font-weight:950;color:#8c7900;letter-spacing:.12em;margin-bottom:64px}
.service-card h3{margin:0 0 12px;font-size:23px}
.service-card p{margin:0;color:var(--muted);line-height:1.65;max-width:28ch}

.vehicle-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:640px;background:var(--charcoal);color:#fff;position:relative;overflow:hidden}
.vehicle-section:after{content:"";position:absolute;right:6%;top:-80px;width:250px;height:250px;border:44px solid rgba(245,216,10,.12);border-radius:50%}
.vehicle-image-wrap{position:relative;min-height:520px}
.vehicle-image-wrap:after{content:"";position:absolute;right:0;top:0;bottom:0;width:10px;background:var(--yellow)}
.vehicle-image-wrap img{
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:rotate(-1.2deg) scale(1.045);
  transform-origin:center;
}
.vehicle-copy{align-self:center;padding:74px clamp(40px,7vw,108px);position:relative;z-index:2}
.vehicle-copy p:not(.eyebrow){color:rgba(255,255,255,.68);font-size:18px;line-height:1.72}
.text-link{display:inline-block;margin-top:18px;color:var(--yellow);font-weight:900}

.prices-section{position:relative}
.prices-section:before{content:"";position:absolute;left:-100vw;right:-100vw;top:0;bottom:0;background:linear-gradient(180deg,#fffdf8 0%,#f3eee5 100%);z-index:-2}
.prices-heading{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:60px}
.price-note{max-width:430px;color:var(--muted);line-height:1.6;margin:0 0 5px!important;font-size:15px!important}
.price-table-wrap{border:1px solid rgba(17,19,21,.09);overflow:hidden;border-radius:16px;box-shadow:0 18px 45px rgba(17,19,21,.08);background:#fff}
.price-table{width:100%;border-collapse:collapse;font-size:16px}
.price-table th{text-align:left;padding:19px 24px;background:var(--charcoal);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.price-table th:last-child,.price-table td:last-child{text-align:right;white-space:nowrap}
.price-table td{padding:18px 24px;border-bottom:1px solid rgba(17,19,21,.08)}
.price-table tr:last-child td{border-bottom:0}
.price-table tbody tr:nth-child(even){background:#faf8f3}
.price-table tbody tr:hover{background:#f7f2df}
.price-table .featured td{background:var(--yellow);font-weight:950;color:var(--ink)}
.small-note{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

.driver-section{display:grid;grid-template-columns:.76fr 1.24fr;max-width:var(--max);margin:0 auto;padding:24px 0 118px;gap:72px;align-items:center}
.driver-photo-wrap{background:var(--stone);overflow:hidden;aspect-ratio:4/5;border-radius:18px;box-shadow:var(--shadow);position:relative}
.driver-photo-wrap:before{content:"";position:absolute;inset:16px;border:2px solid rgba(245,216,10,.85);border-radius:12px;z-index:2;pointer-events:none}
.driver-photo-wrap img{height:100%;object-fit:cover;object-position:center}
.driver-copy p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.75;max-width:640px}
.driver-contact{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-weight:900}
.driver-contact a:hover{text-decoration:underline}

.contact-section{
  background:
    linear-gradient(115deg,rgba(245,216,10,.09),transparent 30%),
    radial-gradient(circle at 92% 18%,rgba(245,216,10,.18),transparent 18rem),
    var(--charcoal);
  color:#fff;position:relative;overflow:hidden
}
.contact-section:after{content:"TAXI";position:absolute;right:-18px;bottom:-48px;font-size:210px;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.025)}
.contact-inner{max-width:var(--max);margin:0 auto;padding:104px 0 112px;position:relative;z-index:2}
.contact-inner>p:not(.eyebrow):not(.contact-email){max-width:650px;color:rgba(255,255,255,.7);font-size:18px;line-height:1.7}
.contact-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}
.btn-light{background:#fff;color:var(--ink)}
.btn-outline-light{border:1px solid rgba(255,255,255,.32);color:#fff}
.contact-email{margin:24px 0 0;color:rgba(255,255,255,.82)}

.footer{background:#0d0f10;color:#fff;max-width:none;padding:28px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:20px;font-size:12px;color:rgba(255,255,255,.52)}
.footer-brand{color:rgba(255,255,255,.9);font-weight:950;letter-spacing:.08em}
.mobile-bar{display:none}

@media(max-width:1228px){
  .section,.driver-section,.contact-inner{width:calc(100% - 48px)}
  .quick-info{width:calc(100% - 48px)}
}
@media(max-width:860px){
  .site-header{height:66px;padding:0 18px}.brand-name{font-size:13px}.desktop-nav{display:none}
  .hero{min-height:720px;height:88vh}.hero:after{width:250px;height:250px;border-width:42px;right:-90px;bottom:-70px}.hero-content{padding-bottom:76px}
  .quick-info{grid-template-columns:1fr;margin-top:0;width:100%;border-radius:0}
  .quick-info>div{padding:18px 24px;border-right:0;border-bottom:1px solid var(--line)}.quick-info>div:last-child{border-bottom:0}
  .section{padding:84px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-number{margin-bottom:30px}
  .vehicle-section{grid-template-columns:1fr}.vehicle-image-wrap{height:430px}.vehicle-image-wrap:after{top:auto;left:0;right:0;bottom:0;width:auto;height:8px}.vehicle-copy{padding:64px 24px}
  .prices-heading{display:block}.price-note{margin-top:18px!important}
  .driver-section{grid-template-columns:1fr;gap:40px;padding-bottom:84px}.driver-photo-wrap{max-width:440px}
  .contact-inner{padding:82px 0 110px}.footer{padding-bottom:88px}
  .mobile-bar{position:fixed;z-index:60;bottom:0;left:0;right:0;height:64px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid #ddd;box-shadow:0 -8px 24px rgba(0,0,0,.08)}
  .mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:14px}.mobile-bar a:last-child{background:var(--yellow)}
}
@media(max-width:560px){
  .site-header{gap:12px}.brand{gap:8px}.brand-mark{font-size:11px;padding:5px 7px 4px}.brand-name{font-size:11px;letter-spacing:.04em}
  .hero{min-height:680px;height:84vh}.hero-image{object-position:53% center}
  .hero-overlay{background:linear-gradient(0deg,rgba(8,10,11,.88) 0%,rgba(8,10,11,.58) 60%,rgba(8,10,11,.22) 100%)}
  .hero-content{width:calc(100% - 36px);padding-bottom:48px}.hero h1{font-size:clamp(44px,14vw,68px)}.hero-copy{font-size:17px}
  .hero-actions .btn{flex:1 1 auto}
  .section,.driver-section,.contact-inner{width:calc(100% - 36px)}
  .section-heading h2,.vehicle-copy h2,.driver-copy h2,.contact-inner h2{font-size:38px}
  .service-card{padding:27px}.price-table{font-size:14px}.price-table th,.price-table td{padding:15px 14px}.price-table td:first-child{width:72%}
  .driver-photo-wrap{aspect-ratio:1/1.12}.contact-actions{flex-direction:column}.contact-actions .btn{width:100%}.footer{flex-direction:column}
}
