/* ==========================================================================
   Twin Taxi — bespoke theme styles
   Sections: tokens · reset · base · layout · buttons · header · hero ·
   stats · services · why · process · fleet · areas · reviews · ctaband ·
   faq · finalcta · inner pages · footer · float · motion · responsive
   ========================================================================== */

/* --- tokens ------------------------------------------------------------- */
:root{
  --tt-ink:#0B1120;
  --tt-ink-2:#131C31;
  --tt-ink-3:#1E2942;
  --tt-accent:#FFB43A;
  --tt-accent-deep:#E8942A;
  --tt-paper:#FBF9F4;
  --tt-white:#FFFFFF;
  --tt-slate:#5A6577;
  --tt-slate-2:#8A93A3;
  --tt-line:rgba(11,17,32,.10);
  --tt-line-strong:rgba(11,17,32,.16);
  --tt-wa:#25D366;
  --tt-wa-deep:#1EB457;

  --tt-font-display:'Sora',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tt-font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --tt-r-sm:10px;
  --tt-r:16px;
  --tt-r-lg:24px;
  --tt-r-xl:32px;

  --tt-shadow-sm:0 1px 2px rgba(11,17,32,.06),0 2px 8px rgba(11,17,32,.05);
  --tt-shadow:0 6px 20px rgba(11,17,32,.08),0 2px 6px rgba(11,17,32,.05);
  --tt-shadow-lg:0 24px 60px rgba(11,17,32,.16),0 8px 20px rgba(11,17,32,.08);

  --tt-container:1200px;
  --tt-gutter:clamp(20px,5vw,48px);
  --tt-section-y:clamp(64px,9vw,120px);
}

/* --- reset ------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--tt-paper);color:var(--tt-ink);
  font-family:var(--tt-font-body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--tt-font-display);font-weight:700;line-height:1.1;
  letter-spacing:-.02em;margin:0 0 .5em;color:var(--tt-ink)}
p{margin:0 0 1rem}
figure,blockquote{margin:0}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--tt-accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--tt-accent);color:var(--tt-ink)}
/* Default icon size — ttc_icon() falls back to this class when a call site
   doesn't pass its own sized class. Without it a bare inline SVG has no
   intrinsic size and renders at the browser's ~300×150 default box, blowing
   up the height of whatever row it sits in and forcing odd text wraps. */
.tt-ico{width:1.1em;height:1.1em;flex:none;display:inline-block;vertical-align:-0.15em}

/* --- layout ---------------------------------------------------------- */
.tt-container{width:100%;max-width:var(--tt-container);margin-inline:auto;padding-inline:var(--tt-gutter)}
.tt-section{padding-block:var(--tt-section-y)}
.tt-section--tight{padding-block:clamp(44px,6vw,72px)}
.tt-section--ink{background:var(--tt-ink);color:#EAECF2}
.tt-section--ink h1,.tt-section--ink h2,.tt-section--ink h3{color:#fff}
.tt-section--paper2{background:linear-gradient(180deg,var(--tt-white),var(--tt-paper))}

.tt-eyebrow{display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--tt-font-display);font-weight:600;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--tt-accent-deep)}
.tt-eyebrow::before{content:"";width:26px;height:2px;background:currentColor;opacity:.7}
.tt-section--ink .tt-eyebrow{color:var(--tt-accent)}

.tt-head{max-width:44rem;margin-bottom:clamp(36px,5vw,60px)}
.tt-head--center{margin-inline:auto;text-align:center}
.tt-head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-top:.35em}
.tt-head p{color:var(--tt-slate);font-size:1.06rem;margin-bottom:0}
.tt-section--ink .tt-head p{color:#AEB6C6}

.tt-grid{display:grid;gap:clamp(18px,2.4vw,28px)}
.tt-grid--3{grid-template-columns:repeat(3,1fr)}
.tt-grid--2{grid-template-columns:repeat(2,1fr)}
.tt-grid--4{grid-template-columns:repeat(4,1fr)}

/* --- buttons -------------------------------------------------------- */
.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:.95em 1.5em;border-radius:999px;border:1.5px solid transparent;
  font-family:var(--tt-font-display);font-weight:600;font-size:.98rem;line-height:1;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
.tt-btn:hover{transform:translateY(-2px)}
.tt-btn:active{transform:translateY(0)}
.tt-btn__ico{width:1.15em;height:1.15em;flex:none}
.tt-btn--wa{background:var(--tt-wa);color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.34)}
.tt-btn--wa:hover{background:var(--tt-wa-deep)}
.tt-btn--accent{background:var(--tt-accent);color:var(--tt-ink);box-shadow:0 10px 26px rgba(255,180,58,.34)}
.tt-btn--accent:hover{background:var(--tt-accent-deep)}
.tt-btn--dark{background:var(--tt-ink);color:#fff}
.tt-btn--dark:hover{background:var(--tt-ink-2)}
.tt-btn--ghost{background:transparent;border-color:var(--tt-line-strong);color:var(--tt-ink)}
.tt-btn--ghost:hover{border-color:var(--tt-ink);background:rgba(11,17,32,.03)}
.tt-section--ink .tt-btn--ghost,
.tt-final .tt-btn--ghost{border-color:rgba(255,255,255,.28);color:#fff}
.tt-section--ink .tt-btn--ghost:hover,
.tt-final .tt-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.tt-btn--lg{padding:1.1em 1.9em;font-size:1.05rem}
.tt-btn--block{width:100%}

.tt-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* --- media placeholder ------------------------------------------------ */
.tt-media{position:relative;border-radius:var(--tt-r-lg);overflow:hidden;background:var(--tt-ink-2)}
.tt-media__img{width:100%;height:100%;object-fit:cover;display:block}
.tt-media--placeholder{aspect-ratio:var(--tt-ratio,16/10);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  background:
    linear-gradient(135deg,rgba(255,180,58,.12),rgba(255,180,58,0) 60%),
    repeating-linear-gradient(45deg,rgba(11,17,32,.035) 0 14px,rgba(11,17,32,0) 14px 28px),
    var(--tt-white);
  border:1px dashed var(--tt-line-strong);color:var(--tt-slate-2)}
.tt-media__ph-ico{width:44px;height:44px;opacity:.5}
.tt-media__ph-mark{display:none}
.tt-media__ph-label{font-family:var(--tt-font-display);font-size:.82rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase}

/* --- header --------------------------------------------------------- */
.tt-topbar{background:var(--tt-ink);color:#C9CFDD;font-size:.82rem;letter-spacing:.01em}
.tt-topbar__inner{display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:38px;text-align:center;padding-block:6px}
.tt-topbar strong{color:var(--tt-accent);font-weight:600}

/* The glass-blur backdrop lives on ::before, not on .tt-header itself.
   backdrop-filter (like filter) creates a new containing block for any
   position:fixed descendant — if it sat on .tt-header directly, the mobile
   nav drawer (position:fixed, a descendant of .tt-header) would be trapped
   inside the header's own box instead of covering the viewport. */
.tt-header{position:sticky;top:0;z-index:60;
  border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.tt-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(251,249,244,.82);
  backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);
  transition:background .2s}
.tt-header.is-stuck{border-color:var(--tt-line);box-shadow:var(--tt-shadow-sm)}
.tt-header.is-stuck::before{background:rgba(251,249,244,.95)}
.tt-header__inner{display:flex;align-items:center;gap:28px;min-height:76px}

.tt-logo{display:inline-flex;align-items:center;gap:.55em;font-family:var(--tt-font-display);
  font-weight:800;font-size:1.28rem;letter-spacing:-.03em;color:var(--tt-ink)}
.tt-logo__mark{width:34px;height:34px;flex:none;display:grid;place-items:center;
  background:var(--tt-ink);border-radius:10px;color:var(--tt-accent)}
.tt-logo__mark svg{width:22px;height:22px}
.tt-logo__accent{color:var(--tt-accent-deep)}
.tt-logo img{max-height:44px;width:auto}

.tt-nav{margin-left:auto}
.tt-nav__list{display:flex;align-items:center;gap:6px}
.tt-nav__cta{display:none}
.tt-nav__link{display:inline-block;padding:.55em .85em;border-radius:999px;
  font-family:var(--tt-font-display);font-weight:500;font-size:.95rem;color:var(--tt-ink);
  transition:background .15s,color .15s}
.tt-nav__link:hover{background:rgba(11,17,32,.06)}

.tt-header__cta{display:flex;align-items:center;gap:10px}
.tt-header .tt-btn{padding:.72em 1.15em;font-size:.9rem}

.tt-burger{display:none;width:44px;height:44px;border:1px solid var(--tt-line-strong);
  border-radius:12px;background:var(--tt-white);align-items:center;justify-content:center}
.tt-burger span,.tt-burger span::before,.tt-burger span::after{content:"";display:block;
  width:18px;height:2px;background:var(--tt-ink);border-radius:2px;transition:transform .2s,opacity .2s}
.tt-burger span::before{transform:translateY(-6px)}
.tt-burger span::after{transform:translateY(6px);position:relative;top:-2px}
body.tt-menu-open .tt-burger span{background:transparent}
body.tt-menu-open .tt-burger span::before{transform:rotate(45deg)}
body.tt-menu-open .tt-burger span::after{transform:rotate(-45deg);top:-2px}

/* --- hero ---------------------------------------------------------- */
.tt-hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 85% -10%,rgba(255,180,58,.18),rgba(255,180,58,0) 55%),
  linear-gradient(180deg,var(--tt-white),var(--tt-paper))}
.tt-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);
  align-items:center;padding-block:clamp(56px,8vw,110px)}
.tt-hero__eyebrow{margin-bottom:1.2rem}
.tt-hero h1{font-size:clamp(2.5rem,6vw,4.3rem);font-weight:800;line-height:1.02}
.tt-hero h1 .tt-accent{color:var(--tt-accent-deep);position:relative;white-space:nowrap}
.tt-hero h1 .tt-accent::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.12em;
  background:var(--tt-accent);opacity:.42;border-radius:4px}
.tt-hero__sub{font-size:1.16rem;color:var(--tt-slate);max-width:34rem;margin:1.4rem 0 2rem}
.tt-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:2rem}
.tt-chip{display:inline-flex;align-items:center;gap:.5em;padding:.5em .9em;border-radius:999px;
  background:var(--tt-white);border:1px solid var(--tt-line);font-size:.86rem;font-weight:500;
  color:var(--tt-ink);box-shadow:var(--tt-shadow-sm)}
.tt-chip svg{width:1.05em;height:1.05em;color:var(--tt-wa-deep);flex:none}

.tt-hero__media{position:relative}
.tt-hero__media .tt-media{box-shadow:var(--tt-shadow-lg);aspect-ratio:1280 / 900}
.tt-hero-slider{position:relative;isolation:isolate}
.tt-hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.tt-hero-slide.is-active{opacity:1;z-index:1}
.tt-hero-slide .tt-media__img{width:100%;height:100%;object-fit:cover}
.tt-hero__card{position:absolute;left:-22px;bottom:26px;display:flex;align-items:center;gap:14px;
  background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r-lg);
  padding:16px 20px;box-shadow:var(--tt-shadow-lg)}
.tt-hero__card::before{content:"";width:3px;align-self:stretch;border-radius:3px;
  background:linear-gradient(180deg,var(--tt-accent),var(--tt-accent-deep))}
.tt-hero__card-val{font-family:var(--tt-font-display);font-weight:800;font-size:1.5rem;color:var(--tt-ink);line-height:1}
.tt-hero__card-lab{font-size:.8rem;color:var(--tt-slate);max-width:17ch;line-height:1.35}
.tt-hero__card .tt-stars{--sz:14px}

.tt-stars{display:inline-flex;gap:2px}
.tt-stars__i{width:var(--sz,16px);height:var(--sz,16px);color:#D8DCE4}
.tt-stars__i.is-on{color:var(--tt-accent)}

/* --- stats bar --------------------------------------------------- */
.tt-stats{background:var(--tt-ink);color:#fff}
.tt-stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.tt-stat{padding:clamp(26px,4vw,42px) 20px;text-align:center;border-right:1px solid rgba(255,255,255,.09)}
.tt-stat:last-child{border-right:0}
.tt-stat__val{font-family:var(--tt-font-display);font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);
  color:var(--tt-accent);letter-spacing:-.02em}
.tt-stat__lab{font-size:.9rem;color:#AEB6C6;margin-top:.3em}

/* --- services --------------------------------------------------- */
.tt-svc{position:relative;background:var(--tt-white);border:1px solid var(--tt-line);
  border-radius:var(--tt-r-lg);padding:30px 28px 26px;transition:transform .18s,box-shadow .18s,border-color .18s}
.tt-svc:hover{transform:translateY(-4px);box-shadow:var(--tt-shadow-lg);border-color:transparent}
.tt-svc__ico{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;
  background:linear-gradient(140deg,var(--tt-accent),var(--tt-accent-deep));color:var(--tt-ink);margin-bottom:18px}
.tt-svc__ico svg{width:26px;height:26px}
.tt-svc h3{font-size:1.24rem;margin-bottom:.4em}
.tt-svc p{color:var(--tt-slate);font-size:.98rem;margin-bottom:1rem}
.tt-svc__meta{display:inline-flex;align-items:center;gap:.5em;font-family:var(--tt-font-display);
  font-weight:600;font-size:.82rem;letter-spacing:.02em;color:var(--tt-accent-deep);
  padding:.4em .8em;border-radius:999px;background:rgba(255,180,58,.12)}

/* --- why ------------------------------------------------------- */
.tt-why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--tt-r-lg);overflow:hidden}
.tt-why__cell{background:var(--tt-ink);padding:30px 28px}
.tt-why__cell:hover{background:var(--tt-ink-2)}
.tt-why__ico{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;
  background:rgba(255,180,58,.14);color:var(--tt-accent);margin-bottom:16px}
.tt-why__ico svg{width:22px;height:22px}
.tt-why__cell h3{font-size:1.12rem;color:#fff;margin-bottom:.35em}
.tt-why__cell p{color:#AEB6C6;font-size:.94rem;margin:0}

/* --- process ------------------------------------------------- */
.tt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px);counter-reset:step}
.tt-step{position:relative;padding-top:14px}
.tt-step__n{counter-increment:step;font-family:var(--tt-font-display);font-weight:800;
  font-size:2.6rem;color:var(--tt-accent);line-height:1;letter-spacing:-.04em}
.tt-step__n::before{content:counter(step,decimal-leading-zero)}
.tt-step h3{font-size:1.18rem;margin:.5em 0 .3em}
.tt-step p{color:var(--tt-slate);font-size:.98rem;margin:0}
.tt-step:not(:last-child)::after{content:"";position:absolute;top:22px;left:calc(2.6rem + 18px);right:-17px;
  height:2px;background:repeating-linear-gradient(90deg,var(--tt-line-strong) 0 8px,transparent 8px 16px)}

/* --- fleet -------------------------------------------------- */
.tt-fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,26px)}
.tt-veh{background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r-lg);
  overflow:hidden;transition:transform .18s,box-shadow .18s}
.tt-veh:hover{transform:translateY(-4px);box-shadow:var(--tt-shadow-lg)}
.tt-veh .tt-media,.tt-veh .tt-media--placeholder{border-radius:0}
.tt-veh__body{padding:22px 24px 24px}
.tt-veh__body h3{font-size:1.16rem;margin-bottom:.3em}
.tt-veh__spec{display:flex;gap:14px 16px;flex-wrap:wrap;margin:.4em 0 .8em}
.tt-veh__spec span{display:inline-flex;align-items:center;gap:.4em;font-size:.84rem;color:var(--tt-slate);
  font-weight:500;white-space:nowrap}
.tt-veh__spec span svg{flex:none}
.tt-veh__spec b{font-family:var(--tt-font-display);color:var(--tt-ink);font-weight:700;white-space:nowrap}
.tt-veh__body p{color:var(--tt-slate);font-size:.94rem;margin:0}

/* --- areas ------------------------------------------------ */
.tt-areas__wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:start}
.tt-areas__list{columns:2;column-gap:24px}
.tt-areas__list li{break-inside:avoid;padding:.5em 0;border-bottom:1px solid var(--tt-line);
  display:flex;align-items:center;gap:.55em;font-weight:500}
.tt-areas__list li svg{width:1em;height:1em;color:var(--tt-accent-deep);flex:none}
.tt-airports{background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r-lg);
  padding:26px 28px;box-shadow:var(--tt-shadow-sm)}
.tt-airports h3{font-size:1.05rem;letter-spacing:.02em;text-transform:uppercase;color:var(--tt-slate)}
.tt-airports li{display:flex;justify-content:space-between;gap:14px;padding:.7em 0;border-bottom:1px solid var(--tt-line)}
.tt-airports li:last-child{border-bottom:0}
.tt-airports li b{font-family:var(--tt-font-display);font-weight:600}
.tt-airports li span{color:var(--tt-slate);font-size:.9rem;white-space:nowrap}
.tt-areas__note{margin-top:16px;font-size:.92rem;color:var(--tt-slate)}

/* --- reviews -------------------------------------------- */
.tt-review-summary{display:flex;align-items:center;gap:12px;margin-bottom:32px;flex-wrap:wrap}
.tt-review-summary .tt-stars{--sz:20px}
.tt-review-summary span{font-family:var(--tt-font-display);font-weight:600}
.tt-reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,26px)}
.tt-review{background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r-lg);
  padding:28px 28px 24px;box-shadow:var(--tt-shadow-sm)}
.tt-review .tt-stars{--sz:15px;margin-bottom:12px}
.tt-review blockquote{margin:0;font-size:1.03rem;line-height:1.6}
.tt-review figcaption{margin-top:16px;display:flex;align-items:center;gap:12px}
.tt-review__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(140deg,var(--tt-accent),var(--tt-accent-deep));
  display:grid;place-items:center;font-family:var(--tt-font-display);font-weight:800;color:var(--tt-ink);flex:none}
.tt-review__who b{display:block;font-family:var(--tt-font-display);font-weight:600;font-size:.95rem}
.tt-review__who span{font-size:.84rem;color:var(--tt-slate)}

/* --- cta band ---------------------------------------- */
.tt-band{background:linear-gradient(135deg,var(--tt-accent),var(--tt-accent-deep));color:var(--tt-ink)}
.tt-band__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  padding-block:clamp(36px,5vw,56px)}
.tt-band h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0}
.tt-band p{margin:.4em 0 0;max-width:44ch;font-weight:500}
.tt-band .tt-btn--dark{box-shadow:0 14px 30px rgba(11,17,32,.25)}

/* --- faq -------------------------------------------- */
.tt-faq{max-width:56rem;margin-inline:auto}
.tt-acc{border-top:1px solid var(--tt-line)}
.tt-acc__item{border-bottom:1px solid var(--tt-line)}
.tt-acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:1.25em 0;text-align:left;font-family:var(--tt-font-display);font-weight:600;font-size:1.06rem;color:var(--tt-ink)}
.tt-acc__q:hover{color:var(--tt-accent-deep)}
.tt-acc__sign{width:26px;height:26px;flex:none;position:relative}
.tt-acc__sign::before,.tt-acc__sign::after{content:"";position:absolute;inset:50% 0 auto 0;height:2px;
  background:var(--tt-accent-deep);border-radius:2px;transition:transform .2s}
.tt-acc__sign::after{transform:rotate(90deg)}
.tt-acc__item.is-open .tt-acc__sign::after{transform:rotate(0)}
.tt-acc__a{overflow:hidden;height:0;transition:height .24s ease}
.tt-acc__a-inner{padding:0 0 1.4em;color:var(--tt-slate);max-width:60ch}

/* --- final cta ----------------------------------- */
.tt-final{position:relative;overflow:hidden;background:var(--tt-ink);color:#fff;text-align:center}
.tt-final::before{content:"";position:absolute;inset:0;background:
  radial-gradient(60% 60% at 50% 0%,rgba(255,180,58,.22),transparent 70%)}
.tt-final__inner{position:relative;padding-block:clamp(64px,9vw,120px);max-width:44rem;margin-inline:auto}
.tt-final h2{font-size:clamp(2rem,4.4vw,3.2rem);color:#fff}
.tt-final p{color:#B7BECD;font-size:1.12rem;margin-bottom:2rem}
.tt-final .tt-cta-row{justify-content:center}
.tt-final__hours{margin-top:1.6rem;font-size:.95rem;color:#AEB6C6;display:flex;align-items:center;
  gap:.65em;justify-content:center}
.tt-final__hours::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--tt-wa);
  box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:tt-live-pulse 1.8s ease-out infinite}
@keyframes tt-live-pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}
  70%{box-shadow:0 0 0 13px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* --- inner pages -------------------------------- */
.tt-page-hero{background:linear-gradient(180deg,var(--tt-white),var(--tt-paper));
  padding-block:clamp(52px,7vw,96px);border-bottom:1px solid var(--tt-line)}
.tt-page-hero h1{font-size:clamp(2.1rem,4.5vw,3.3rem);margin-top:.3em}
.tt-page-hero p{color:var(--tt-slate);font-size:1.1rem;max-width:42rem;margin-bottom:0}

.tt-prose{max-width:44rem}
.tt-prose h2{font-size:1.4rem;margin:1.8em 0 .5em}
.tt-prose h2:first-child{margin-top:0}
.tt-prose p{color:var(--tt-ink);opacity:.86;margin-bottom:1rem}
.tt-prose ul{list-style:disc;padding-left:1.2em;margin:0 0 1rem;color:var(--tt-ink);opacity:.86}
.tt-prose li{margin:.3em 0}
.tt-legal-meta{font-size:.9rem;color:var(--tt-slate);margin-bottom:2.4em}

.tt-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:center}
.tt-values{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.tt-value{background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r);padding:22px}
.tt-value__ico{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;
  background:rgba(255,180,58,.14);color:var(--tt-accent-deep);margin-bottom:12px}
.tt-value__ico svg{width:20px;height:20px}
.tt-value h3{font-size:1.02rem;margin-bottom:.2em}
.tt-value p{font-size:.9rem;color:var(--tt-slate);margin:0}

.tt-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.tt-contact__card{background:var(--tt-white);border:1px solid var(--tt-line);border-radius:var(--tt-r-lg);
  padding:30px;box-shadow:var(--tt-shadow-sm)}
.tt-contact__row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--tt-line)}
.tt-contact__row:last-child{border-bottom:0}
.tt-contact__row svg{width:22px;height:22px;color:var(--tt-accent-deep);flex:none;margin-top:2px}
.tt-contact__row b{display:block;font-family:var(--tt-font-display);font-size:.82rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--tt-slate)}
.tt-contact__row a,.tt-contact__row p{margin:0;font-weight:500}
.tt-map{border:0;width:100%;height:340px;border-radius:var(--tt-r-lg);filter:grayscale(.2)}

/* --- footer ----------------------------------- */
.tt-footer{background:var(--tt-ink);color:#AEB6C6;padding-block:clamp(56px,7vw,88px) 0}
.tt-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,52px)}
.tt-footer h4{font-family:var(--tt-font-display);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:#6C7689;margin-bottom:1.2em}
.tt-footer__brand .tt-logo{color:#fff;margin-bottom:1em}
.tt-footer__brand p{font-size:.94rem;max-width:34ch}
.tt-footer__links a{display:block;padding:.4em 0;font-size:.95rem;color:#C4CBD8;transition:color .15s}
.tt-footer__links a:hover{color:var(--tt-accent)}
.tt-footer__contact li{padding:.4em 0;font-size:.95rem}
.tt-footer__contact a{color:#fff;font-weight:500}
.tt-footer__socials{display:flex;gap:10px;margin-top:16px}
.tt-footer__socials-link{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;
  border:1px solid rgba(255,255,255,.14);color:#C4CBD8;transition:.15s}
.tt-footer__socials-link:hover{border-color:var(--tt-accent);color:var(--tt-accent);transform:translateY(-2px)}
.tt-social__ico{width:18px;height:18px}
.tt-footer__socials--light .tt-footer__socials-link{color:var(--tt-slate);border-color:var(--tt-line-strong)}
.tt-footer__socials--light .tt-footer__socials-link:hover{border-color:var(--tt-accent-deep);color:var(--tt-accent-deep)}
.tt-footer__bar{margin-top:clamp(40px,5vw,64px);border-top:1px solid rgba(255,255,255,.09);
  padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.84rem;color:#7C8598}
.tt-footer__bar a:hover{color:var(--tt-accent)}

/* --- floating wa ---------------------------- */
.tt-fab{position:fixed;right:18px;bottom:18px;z-index:70;display:none;align-items:center;gap:10px;
  padding:.85em 1.15em;border-radius:999px;background:var(--tt-wa);color:#fff;font-family:var(--tt-font-display);
  font-weight:600;font-size:.92rem;box-shadow:0 12px 30px rgba(37,211,102,.4);
  opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.tt-fab.is-visible{opacity:1;transform:none;pointer-events:auto}
.tt-fab svg{width:20px;height:20px;flex:none}

/* --- reveal / motion ----------------------- */
.tt-reveal{transition:opacity .6s ease,transform .6s ease}
html.tt-js .tt-reveal{opacity:0;transform:translateY(22px)}
html.tt-js .tt-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .tt-reveal{opacity:1;transform:none}
}

/* --- skip link ---------------------------- */
.tt-skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--tt-ink);color:#fff;
  padding:.7em 1.2em;border-radius:8px}
.tt-skip:focus{left:12px}

/* --- responsive --------------------------- */
@media (max-width:1040px){
  .tt-hero__inner{grid-template-columns:1fr;gap:40px}
  .tt-hero__media{order:-1;max-width:560px}
  .tt-why__grid{grid-template-columns:repeat(2,1fr)}
  .tt-fleet,.tt-grid--3,.tt-grid--4{grid-template-columns:repeat(2,1fr)}
  .tt-steps{grid-template-columns:1fr;gap:26px}
  .tt-step:not(:last-child)::after{display:none}
  .tt-areas__wrap,.tt-about__grid,.tt-contact__grid{grid-template-columns:1fr}
  .tt-footer__top{grid-template-columns:1fr 1fr}
  .tt-stats__grid{grid-template-columns:repeat(2,1fr)}
  .tt-stat:nth-child(2){border-right:0}
  .tt-stat{border-bottom:1px solid rgba(255,255,255,.09)}
}
@media (max-width:760px){
  body{font-size:16px}
  .tt-topbar{font-size:.76rem}
  .tt-topbar__inner{min-height:34px}
  .tt-nav,.tt-header__cta .tt-btn{display:none}
  .tt-burger{display:flex}
  .tt-header__inner{min-height:64px}
  /* .tt-nav normally carries the margin-left:auto that pushes the right-hand
     cluster to the edge; once it's display:none that push disappears, so the
     burger button collapses next to the logo. Move the push to the CTA group
     itself at this breakpoint. */
  .tt-header__cta{margin-left:auto}
  .tt-nav.is-open{display:block;position:fixed;inset:64px 0 0;background:var(--tt-paper);
    padding:24px var(--tt-gutter);overflow:auto;z-index:59}
  .tt-nav.is-open .tt-nav__list{flex-direction:column;align-items:stretch;gap:4px}
  .tt-nav.is-open .tt-nav__link{padding:.9em 1em;font-size:1.1rem;border-bottom:1px solid var(--tt-line);border-radius:0}
  .tt-nav.is-open .tt-nav__cta{margin-top:20px;display:grid;gap:10px}
  .tt-grid--2,.tt-grid--3,.tt-grid--4,.tt-fleet,.tt-reviews,.tt-why__grid,.tt-values{grid-template-columns:1fr}
  .tt-areas__list{columns:2;column-gap:14px}
  .tt-areas__list li{padding:.5em 0;font-size:.92rem;gap:.4em}
  .tt-hero__media .tt-media{aspect-ratio:4 / 4.6;border-radius:var(--tt-r-lg);overflow:hidden}
  .tt-hero__media .tt-media__img{height:100%;object-fit:cover}
  .tt-hero__card{left:14px;right:14px;bottom:14px;max-width:none;
    padding:14px 16px;gap:12px;box-shadow:0 14px 28px rgba(11,17,32,.28)}
  .tt-hero__card-val{font-size:1.3rem}
  .tt-hero__card-lab{font-size:.78rem;max-width:none}
  .tt-band__inner{flex-direction:column;align-items:flex-start}
  .tt-fab{display:inline-flex}
  .tt-footer__top{grid-template-columns:1fr}
  .tt-footer__bar{flex-direction:column}
}
