/* =========================================================
   24travels.site — Call / WhatsApp landing page
   Structure/spacing/typography follow DESIGN.md (Apple-inspired
   system): SF Pro / Inter, pill CTAs, quiet chrome, generous
   whitespace, weight ladder 300/400/600/700 (no 500). The accent
   color departs from DESIGN.md's Apple blue to match the
   24travels.site brand mark (yellow taxi badge on black) instead —
   see brand-yellow/brand-amber below.
   ========================================================= */

:root{
  /* colors */
  --brand-yellow:#fecd02;      /* exact hex sampled from the logo */
  --brand-yellow-press:#e6b800;
  --brand-amber:#8a6d00;       /* darkened for accessible text/icons on light bg */
  --ink:#1d1d1f;
  --body-muted:#6e6e73;
  --ink-muted-48:#7a7a7a;
  --canvas:#ffffff;
  --canvas-parchment:#f5f5f7;
  --hairline:#e0e0e0;
  --whatsapp:#25d366;
  --whatsapp-press:#1ebe5a;

  /* radius */
  --radius-pill:9999px;

  /* spacing */
  --sp-xs:8px;
  --sp-sm:12px;
  --sp-md:17px;
  --sp-lg:24px;
  --sp-xl:32px;
  --sp-xxl:48px;
  --sp-section:80px;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  min-height:100dvh;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-feature-settings:"ss03";
  background:var(--canvas-parchment);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none;}

/* ---------- Page shell ---------- */
.page{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--sp-lg);
  padding:var(--sp-xl) var(--sp-lg);
}

.card{
  width:100%;
  max-width:420px;
  background:var(--canvas);
  border-radius:18px;
  padding:var(--sp-xxl) var(--sp-xl);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:var(--sp-md);
}

/* ---------- Brand ---------- */
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:var(--sp-xs);
}
.brand-badge{
  width:34px;height:34px;
  border-radius:8px;
  flex-shrink:0;
  object-fit:contain;
}
.brand-name{
  font-weight:600;
  font-size:1.15rem;
  letter-spacing:-0.374px;
  color:var(--ink);
}

/* ---------- Type ---------- */
h1{
  margin:0;
  font-weight:600;
  font-size:clamp(1.75rem, 5.5vw + 0.5rem, 2.5rem);
  line-height:1.1;
  letter-spacing:-0.28px;
  color:var(--ink);
}
h1 .accent{color:var(--brand-amber);}

.lead{
  margin:0;
  max-width:34ch;
  font-weight:300;
  font-size:clamp(1rem, 1.5vw + 0.85rem, 1.15rem);
  line-height:1.5;
  color:var(--body-muted);
}

.phone-readout{
  margin:var(--sp-xs) 0 0;
  font-weight:600;
  font-size:1.3rem;
  letter-spacing:-0.224px;
  color:var(--ink);
}

.fine-print{
  margin:0;
  font-size:.75rem;
  line-height:1.4;
  letter-spacing:-0.12px;
  color:var(--ink-muted-48);
}

.copyright{
  margin:0;
  font-size:.75rem;
  color:var(--ink-muted-48);
}

/* ---------- Actions ---------- */
.actions{
  display:flex;
  flex-direction:column;
  gap:var(--sp-sm);
  width:100%;
  margin-top:var(--sp-xs);
}

.btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:52px;
  padding:14px 28px;
  border-radius:var(--radius-pill);
  font-weight:300;
  font-size:1.05rem;
  letter-spacing:0;
  color:#fff;
  transition:transform .12s ease, background-color .15s ease;
}
.btn:active{transform:scale(0.95);}
.btn:focus-visible{outline:2px solid var(--brand-amber);outline-offset:2px;}

/* Yellow bg needs dark text/icon for contrast (11:1 with --ink vs ~1.5:1 with white) */
.btn-call{background:var(--brand-yellow);color:var(--ink);}
.btn-call:hover{background:var(--brand-yellow-press);}

.btn-whatsapp{background:var(--whatsapp);}
.btn-whatsapp:hover{background:var(--whatsapp-press);}

/* ---------- Responsive ---------- */
@media (min-width:560px){
  .actions{flex-direction:row;}
  .btn{width:auto;flex:1;}
}

@media (max-width:419px){
  .card{padding:var(--sp-xl) var(--sp-lg);}
  h1{font-size:1.6rem;}
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .btn{transition:none;}
}

/* =========================================================
   Content tiles — Our Fleet / Our Services
   Full-bleed alternating tiles per DESIGN.md's section rhythm
   (the color change is the divider; no borders/shadows needed).
   ========================================================= */

.hero-tile{background:var(--canvas-parchment);}

.tile{
  padding:var(--sp-xxl) var(--sp-lg);
}
.fleet-tile{background:var(--canvas);}
.services-tile{background:var(--canvas-parchment);}

.container{
  width:100%;
  max-width:1040px;
  margin:0 auto;
}

.eyebrow{
  display:block;
  margin:0 0 6px;
  font-weight:600;
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--brand-amber);
}

.tile h2{
  margin:0 0 var(--sp-xl);
  font-weight:600;
  font-size:clamp(1.5rem, 3vw + 0.75rem, 2rem);
  letter-spacing:-0.28px;
  color:var(--ink);
}

/* ---------- Our Fleet ---------- */
.fleet-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-lg);
}

.fleet-card{
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:18px;
  overflow:hidden;
}

.fleet-media{
  aspect-ratio:4/3;
  background:var(--canvas-parchment);
}
.fleet-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.fleet-body{
  padding:var(--sp-md) var(--sp-lg) var(--sp-lg);
}
.fleet-body h3{
  margin:0 0 6px;
  font-weight:600;
  font-size:1.02rem;
  letter-spacing:-0.224px;
  color:var(--ink);
}
.fleet-seats{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.85rem;
  color:var(--body-muted);
}

/* ---------- Our Services ---------- */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--sp-lg);
}

.service-card{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.service-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(254,205,2,.22);
  color:var(--brand-amber);
}
.service-card h3{
  margin:0;
  font-weight:600;
  font-size:1.02rem;
  letter-spacing:-0.224px;
  color:var(--ink);
}
.service-card p{
  margin:0;
  font-size:.9rem;
  color:var(--body-muted);
}

.copyright{
  text-align:center;
  padding:var(--sp-xl) var(--sp-lg);
  background:var(--canvas);
}

/* ---------- Tile responsiveness ---------- */
@media (max-width:900px){
  .fleet-grid{grid-template-columns:repeat(2, 1fr);}
}

@media (max-width:640px){
  .tile{padding:var(--sp-xl) var(--sp-lg);}
  .fleet-grid{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;gap:var(--sp-xl);}
}
