:root{
  --bg: #0B0B0A;
  --bg-raised: #131210;
  --ink: #F4EFE6;
  --ink-muted: #A6A093;
  --gold: #C9A24B;
  --gold-bright: #E8C77A;
  --line: rgba(244,239,230,0.12);
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-body: "IBM Plex Sans", -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

::selection{background:var(--gold);color:#0B0B0A;}

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

.grain{
  position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.scroll-bar{position:fixed;top:0;left:0;width:100%;height:2px;z-index:1000;background:transparent;}
.scroll-bar span{display:block;height:100%;width:0%;background:var(--gold);transition:width .1s linear;}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem clamp(1.5rem,4vw,3.5rem);
  background:linear-gradient(to bottom, rgba(11,11,10,0.9), transparent);
}
.brand{display:flex;align-items:center;gap:.7rem;}
.brand-mark{
  width:2.6rem;height:auto;object-fit:contain;display:block;
}
.brand-name{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;}
.brand-name em{font-style:normal;color:var(--ink-muted);font-weight:300;}

.main-nav{display:flex;gap:2.4rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
.main-nav a{color:var(--ink-muted);transition:color .3s;}
.main-nav a:hover{color:var(--gold-bright);}

.btn{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.85rem 1.6rem;border-radius:2px;display:inline-block;transition:all .3s;
}
.btn-solid{background:var(--gold);color:#0B0B0A;}
.btn-solid:hover{background:var(--gold-bright);}
.btn-ghost{border:1px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);}
.btn-link{color:var(--ink-muted);text-transform:none;font-family:var(--font-body);font-size:.95rem;letter-spacing:0;padding:0;}
.btn-link:hover{color:var(--gold-bright);}

.nav-cta{display:inline-block;}
@media(max-width:900px){.main-nav,.nav-cta{display:none;}}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:0 clamp(1.5rem,4vw,3.5rem);overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;
  filter:saturate(0.85) contrast(1.05) brightness(0.72);
  transform:scale(1.04);
}
.hero-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(11,11,10,0.96) 22%, rgba(11,11,10,0.55) 52%, rgba(11,11,10,0.25) 78%),
    linear-gradient(to top, rgba(11,11,10,0.9), transparent 40%);
}
.hero-frame{position:relative;z-index:1;max-width:840px;}
.eyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:1.6rem;
}
.hero h1{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(2.6rem, 6.4vw, 5.6rem);line-height:0.98;letter-spacing:-0.02em;
  margin-bottom:2rem;
}
.hero h1 em{font-style:italic;color:var(--gold-bright);font-weight:300;}
.hero-sub{
  font-size:clamp(1rem,1.4vw,1.2rem);color:var(--ink-muted);max-width:44ch;margin-bottom:2.6rem;font-weight:300;
}
.hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}

.hero-values{
  position:relative;z-index:1;display:flex;gap:1rem;align-items:center;
  margin-top:5rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);
}
.hero-values i{color:var(--gold);font-style:normal;}

/* ---------- Marquee ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.1rem 0;background:var(--bg-raised);}
.marquee-track{display:flex;width:max-content;animation:scroll-marquee 32s linear infinite;}
.marquee-track span{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);
  padding:0 2.2rem;border-right:1px solid var(--line);white-space:nowrap;
}
@keyframes scroll-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Services ---------- */
.services{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,4vw,3.5rem);max-width:1200px;margin:0 auto;}
.section-head{max-width:560px;margin-bottom:4rem;}
.section-head .index{font-family:var(--font-mono);font-size:.75rem;color:var(--gold);letter-spacing:.12em;}
.section-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);margin:.8rem 0 1rem;letter-spacing:-0.01em;}
.section-head p{color:var(--ink-muted);font-size:1.02rem;}

.service-row{
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding:3.4rem 0;border-top:1px solid var(--line);position:relative;
}
.service-row:last-child{border-bottom:1px solid var(--line);}
.service-row::before{
  content:attr(data-n);position:absolute;left:0;top:0;
  font-family:var(--font-mono);font-size:.7rem;color:var(--gold);letter-spacing:.1em;
  transform:translateY(1.4rem);
}
.service-row--rev{direction:rtl;}
.service-row--rev > *{direction:ltr;}
.service-media{
  aspect-ratio:4/3;overflow:hidden;position:relative;
  clip-path:polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
}
.service-media img{width:100%;height:100%;object-fit:cover;filter:saturate(0.9) contrast(1.03);transition:transform .8s cubic-bezier(0.16,1,0.3,1);}
.service-row:hover .service-media img{transform:scale(1.06);}
.service-copy h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:.6rem;padding-left:2rem;}
.service-tag{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);padding-left:2rem;margin-bottom:1rem;}
.service-desc{color:var(--ink-muted);font-size:1rem;max-width:46ch;padding-left:2rem;}
@media(max-width:760px){
  .service-row, .service-row--rev{grid-template-columns:1fr;gap:1.4rem;direction:ltr;}
  .service-row::before{position:static;display:block;transform:none;margin-bottom:.4rem;}
  .service-copy h3, .service-tag, .service-desc{padding-left:0;}
}

/* ---------- Process ---------- */
.process{position:relative;padding:clamp(6rem,12vw,10rem) clamp(1.5rem,4vw,3.5rem);overflow:hidden;color:var(--ink);}
.process-bg{position:absolute;inset:0;z-index:0;}
.process-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(0.7) brightness(0.4);}
.process-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,11,10,0.85), rgba(11,11,10,0.94));}
.section-head--light{position:relative;z-index:1;}
.section-head--light p{color:rgba(244,239,230,0.7);}
.process-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;max-width:1200px;margin:0 auto;}
.process-step{border-top:1px solid rgba(244,239,230,0.22);padding-top:1.4rem;}
.step-n{font-family:var(--font-display);font-style:italic;font-size:1.6rem;color:var(--gold-bright);display:block;margin-bottom:.8rem;}
.process-step h3{font-family:var(--font-display);font-weight:500;font-size:1.25rem;margin-bottom:.6rem;}
.process-step p{color:rgba(244,239,230,0.65);font-size:.92rem;}
@media(max-width:900px){.process-steps{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.process-steps{grid-template-columns:1fr;}}

/* ---------- Gallery ---------- */
.gallery{
  position:relative;overflow:hidden;
  padding:clamp(6rem,11vw,10rem) clamp(1.5rem,4vw,3.5rem);
  background:var(--bg-raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.gallery-watermark{
  position:absolute;top:52%;left:50%;z-index:0;pointer-events:none;
  transform:translate(-50%,-50%) rotate(-4deg);
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:clamp(3rem,13vw,11rem);white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(201,162,75,0.14);
}
.gallery .section-head{position:relative;z-index:1;}
.gallery-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:12vw;gap:1.6rem 1.4rem;
  max-width:1300px;margin:5rem auto 0;
}
.gallery-item{
  position:relative;background:var(--bg);border:1px solid rgba(244,239,230,0.16);
  padding:.55rem .55rem 0;box-shadow:0 14px 34px rgba(0,0,0,0.35);
  transition:transform .45s cubic-bezier(0.16,1,0.3,1), box-shadow .45s;
}
.gallery-item.tilt-l{transform:rotate(-2.2deg);}
.gallery-item.tilt-r{transform:rotate(1.8deg);}
.gallery-item:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,0.5);z-index:3;}
.gallery-item a{display:block;position:relative;overflow:hidden;height:calc(100% - 2.1rem);}
.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(0.88) contrast(1.04);transition:transform .9s cubic-bezier(0.16,1,0.3,1);}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-n{
  position:absolute;top:-.6rem;left:-.5rem;z-index:4;
  width:1.6rem;height:1.6rem;border-radius:50%;background:var(--gold);color:#0B0B0A;
  font-family:var(--font-mono);font-size:.62rem;display:flex;align-items:center;justify-content:center;
}
.gallery-item figcaption{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  height:2.1rem;padding:0 .15rem;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ink-muted);
}
.gallery-item figcaption svg{color:var(--gold);flex-shrink:0;}
.gi-1{grid-column:1 / span 3;grid-row:1 / span 2;}
.gi-2{grid-column:4 / span 2;grid-row:1 / span 1;margin-top:1.2rem;}
.gallery-item--ig{
  grid-column:6 / span 1;grid-row:1 / span 1;margin-top:2rem;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.7rem;
  padding:1.2rem;background:linear-gradient(155deg, var(--gold-bright), var(--gold));color:#1A1000;
  border:none;box-shadow:0 14px 34px rgba(201,162,75,0.25);transform:rotate(2deg);
}
.gallery-item--ig:hover{transform:rotate(0deg) translateY(-6px);}
.ig-badge{color:#1A1000;}
.gallery-item--ig p{font-size:.82rem;font-weight:500;line-height:1.35;}
.gallery-item--ig a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;}
.gi-3{grid-column:4 / span 3;grid-row:2 / span 1;}
.gi-4{grid-column:1 / span 3;grid-row:2 / span 1;}
@media(max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:44vw;gap:2.2rem 1rem;}
  .gi-1,.gi-2,.gallery-item--ig,.gi-3,.gi-4{grid-column:auto;grid-row:auto;margin-top:0;}
  .gallery-watermark{font-size:3.2rem;}
}

/* ---------- Fleet ---------- */
.fleet{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,4vw,3.5rem);max-width:1000px;margin:0 auto;}
.fleet-list{border-top:1px solid var(--line);}
.fleet-row{
  display:grid;grid-template-columns:3rem 1fr auto;align-items:baseline;gap:1.4rem;
  padding:1.8rem 0;border-bottom:1px solid var(--line);
}
.fleet-n{font-family:var(--font-mono);font-size:.78rem;color:var(--gold);}
.fleet-row h3{font-family:var(--font-display);font-weight:500;font-size:1.3rem;}
.fleet-detail{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-muted);text-align:right;}
@media(max-width:640px){
  .fleet-row{grid-template-columns:2.2rem 1fr;}
  .fleet-detail{grid-column:2;text-align:left;margin-top:.3rem;}
}

/* ---------- Coverage ---------- */
.coverage{position:relative;padding:clamp(5rem,10vw,8rem) clamp(1.5rem,4vw,3.5rem);text-align:center;}
.coverage .section-head{margin-left:auto;margin-right:auto;text-align:center;}
.coverage-route{
  display:flex;flex-wrap:wrap;justify-content:center;gap:0;max-width:900px;margin:0 auto;
}
.coverage-route span{
  font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;color:var(--ink-muted);
  padding:.5rem 1.3rem;position:relative;
}
.coverage-route span:not(:last-child)::after{content:"—";color:var(--gold);margin-left:1.3rem;position:absolute;right:-0.15rem;}

/* ---------- WhatsApp FAB ---------- */
.whatsapp-fab{
  position:fixed;right:1.6rem;bottom:1.6rem;z-index:200;
  width:3.4rem;height:3.4rem;border-radius:50%;
  background:var(--gold);color:#0B0B0A;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(0,0,0,0.45);
  transition:transform .3s, background .3s;
}
.whatsapp-fab:hover{background:var(--gold-bright);transform:translateY(-3px);}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--bg-raised);padding:clamp(5rem,10vw,9rem) clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.testimonial-list{max-width:900px;margin:0 auto;}
.testimonial-row{padding:2.4rem 0;border-top:1px solid var(--line);}
.testimonial-row:last-child{border-bottom:1px solid var(--line);}
.testimonial-row p{font-family:var(--font-display);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.5;margin-bottom:1rem;}
.testimonial-row span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright);}

/* ---------- FAQ ---------- */
.faq{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,4vw,3.5rem);max-width:900px;margin:0 auto;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);padding:1.5rem 0;}
.faq-item summary{
  cursor:pointer;list-style:none;font-family:var(--font-display);font-size:1.15rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:var(--font-mono);color:var(--gold);font-size:1.2rem;transition:transform .3s;flex-shrink:0;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{color:var(--ink-muted);margin-top:1rem;max-width:60ch;font-size:.96rem;}

/* ---------- Values ---------- */
.values{background:var(--bg-raised);padding:clamp(5rem,10vw,9rem) clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.values-quote{max-width:760px;margin:0 auto 5rem;text-align:center;}
.values-quote p{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.35;color:var(--gold-bright);margin-bottom:1.2rem;}
.values-quote span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);}

.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1100px;margin:0 auto;}
.value-item{border-top:1px solid var(--line);padding-top:1.4rem;}
.value-item .index{font-family:var(--font-display);font-style:italic;font-size:1.4rem;color:var(--gold);display:block;margin-bottom:.7rem;}
.value-item p{color:var(--ink-muted);font-size:.96rem;}
@media(max-width:760px){.values-grid{grid-template-columns:1fr;gap:2rem;}}

/* ---------- CTA ---------- */
.cta-block{padding:clamp(6rem,12vw,10rem) clamp(1.5rem,4vw,3.5rem);text-align:center;position:relative;overflow:hidden;}
.cta-block::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 60% 60% at 50% 30%, rgba(201,162,75,0.1), transparent 70%);
}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.cta-block h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-0.02em;margin:1.2rem 0 1.4rem;}
.cta-block p{color:var(--ink-muted);margin-bottom:2.4rem;font-size:1.02rem;}
.cta-actions{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;}

/* ---------- Footer ---------- */
.site-footer{
  padding:3rem clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem;
}
.footer-brand{display:flex;align-items:center;gap:.7rem;}
.footer-contacts{display:flex;gap:2rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;flex-wrap:wrap;}
.footer-contacts a{color:var(--ink-muted);transition:color .3s;}
.footer-contacts a:hover{color:var(--gold-bright);}
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-muted);letter-spacing:.06em;}
@media(max-width:700px){.site-footer{flex-direction:column;align-items:flex-start;}.footer-meta{align-items:flex-start;}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(0.16,1,0.3,1), transform .8s cubic-bezier(0.16,1,0.3,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
