/* ATHENGO — Landing Pages Design System
   Brand: VIP Transfers & Tours — Athens
   Palette: Primary Green #154E3F | Soft White #F6F6F6 | Light Gray #EAECEE | Charcoal #1F1F1F | Gold #C8A96B
   Type: Montserrat (UI) + Cormorant Garamond (luxury headlines)
================================================================= */
:root{
  --green:#154E3F; --green-d:#0e3a2e; --green-l:#1d6b56;
  --white:#F6F6F6; --gray:#EAECEE; --charcoal:#1F1F1F; --gold:#C8A96B;
  --ink:#1F1F1F; --muted:#5b625f; --line:#dfe3e1;
  --r:14px; --rad-pill:999px;
  --shadow:0 10px 40px rgba(21,78,63,.12);
  --shadow-sm:0 4px 18px rgba(31,31,31,.08);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink); background:var(--white); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.serif{font-family:'Cormorant Garamond',Georgia,serif}

/* ---------- Top bar ---------- */
.topbar{background:var(--charcoal);color:#fff;font-size:13px;font-weight:500}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:18px}
.topbar a{display:inline-flex;align-items:center;gap:7px;color:#fff;opacity:.92}
.topbar a:hover{opacity:1;color:var(--gold)}
.topbar .tb-right{display:flex;gap:22px;align-items:center}
@media(max-width:680px){.topbar .tb-left{display:none}.topbar .wrap{justify-content:center}}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,246,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:center;gap:12px}
.logo svg{height:42px;width:auto}
.logo .lt{font-weight:700;letter-spacing:.32em;font-size:22px;color:var(--green)}
.logo .ls{display:block;font-size:9px;letter-spacing:.34em;color:var(--muted);font-weight:600;margin-top:2px}
.nav-cta{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;padding:12px 22px;border-radius:var(--rad-pill);font-weight:600;font-size:14px;transition:.2s}
.nav-cta:hover{background:var(--green-d);transform:translateY(-1px)}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--green-d)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,58,46,.94) 0%,rgba(21,78,63,.82) 42%,rgba(21,78,63,.30) 100%)}
.hero .wrap{position:relative;z-index:2;padding:88px 24px 96px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(38px,5vw,62px);line-height:1.05;letter-spacing:-.01em}
.hero h1 .accent{color:var(--gold)}
.hero .sub{font-size:clamp(16px,1.6vw,19px);margin-top:18px;max-width:540px;opacity:.95;font-weight:400}
.hero .ticks{list-style:none;margin:26px 0 32px;display:flex;flex-wrap:wrap;gap:14px 26px}
.hero .ticks li{display:flex;align-items:center;gap:9px;font-weight:500;font-size:15px}
.hero .ticks svg{flex:none;color:var(--gold)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:16px;padding:16px 30px;border-radius:var(--rad-pill);transition:.2s;cursor:pointer;border:0;line-height:1}
.btn-gold{background:var(--gold);color:#23211c}
.btn-gold:hover{background:#d8bd86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(200,169,107,.4)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-d);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.btn-block{width:100%}

/* Hero quote card */
.quote-card{background:#fff;color:var(--ink);border-radius:18px;box-shadow:var(--shadow);padding:30px 30px 26px}
.quote-card h3{font-size:19px;font-weight:700;color:var(--green);margin-bottom:4px}
.quote-card p.small{font-size:13px;color:var(--muted);margin-bottom:20px}
.qrow{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.qrow label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.qrow .fake-input{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:11px;padding:13px 14px;font-size:15px;color:#3a403d;background:#fbfcfb}
.qrow .fake-input svg{color:var(--green);flex:none}
.quote-card .btn{margin-top:6px}
.quote-note{text-align:center;font-size:12px;color:var(--muted);margin-top:14px}

@media(max-width:880px){
  .hero .wrap{grid-template-columns:1fr;padding:62px 24px 56px;gap:34px}
  .quote-card{order:2}
}

/* ---------- Trust bar ---------- */
.trust{background:var(--charcoal);color:#fff;padding:22px 0}
.trust .wrap{display:flex;justify-content:space-around;gap:18px;flex-wrap:wrap;text-align:center}
.trust .ti{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500}
.trust .ti svg{color:var(--gold);flex:none}
.trust .ti b{font-weight:700}

/* ---------- Section ---------- */
section{padding:74px 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 48px}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.sec-head h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(30px,3.6vw,44px);color:var(--green);line-height:1.1}
.sec-head p{margin-top:14px;color:var(--muted);font-size:17px}
.bg-soft{background:var(--white)}
.bg-gray{background:var(--gray)}

/* USP cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 24px;text-align:center;transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.card .ic{width:58px;height:58px;border-radius:50%;background:var(--gray);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--green)}
.card h3{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--charcoal)}
.card p{font-size:14.5px;color:var(--muted)}
@media(max-width:920px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
.step{position:relative;background:#fff;border-radius:var(--r);padding:34px 26px 28px;box-shadow:var(--shadow-sm)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:26px;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif}
.step h3{font-size:18px;font-weight:700;margin:10px 0 8px;color:var(--charcoal)}
.step p{color:var(--muted);font-size:14.5px}
@media(max-width:780px){.steps{grid-template-columns:1fr;gap:34px}}

/* Pricing / route table */
.ptable{max-width:760px;margin:0 auto;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.ptable .prow{display:grid;grid-template-columns:1.4fr 1fr auto;gap:14px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.ptable .prow:last-child{border-bottom:0}
.ptable .prow.head{background:var(--green);color:#fff;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.ptable .route{font-weight:600;color:var(--charcoal)}
.ptable .veh{color:var(--muted);font-size:14px}
.ptable .price{font-weight:700;color:var(--green);font-size:18px;text-align:right;white-space:nowrap}
.ptable .head .price{color:#fff;font-weight:600;font-size:13px}
.ptable-note{text-align:center;color:var(--muted);font-size:13px;margin-top:16px}

/* Tour grid */
.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tour{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s;border:1px solid var(--line)}
.tour:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tour .thumb{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.tour .dur{position:absolute;top:12px;left:12px;background:rgba(31,31,31,.78);color:#fff;font-size:12px;font-weight:600;padding:5px 11px;border-radius:var(--rad-pill)}
.tour .tbody{padding:20px 20px 22px}
.tour h3{font-size:19px;font-weight:700;color:var(--charcoal);margin-bottom:5px}
.tour p{color:var(--muted);font-size:14px;margin-bottom:14px;min-height:40px}
.tour .pf{display:flex;align-items:center;justify-content:space-between}
.tour .from{font-size:13px;color:var(--muted)}
.tour .from b{font-size:20px;color:var(--green);font-family:'Cormorant Garamond',serif;font-weight:700}
.tour .tlink{font-size:14px;font-weight:600;color:var(--green);display:inline-flex;gap:6px;align-items:center}
@media(max-width:920px){.tours{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tours{grid-template-columns:1fr}}

/* Split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.split h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(28px,3.4vw,40px);color:var(--green);line-height:1.12;margin-bottom:16px}
.split ul{list-style:none;margin-top:20px;display:grid;gap:14px}
.split li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.split li svg{color:var(--gold);flex:none;margin-top:3px}
.split li b{display:block;color:var(--charcoal)}
.split li span{color:var(--muted);font-size:14.5px}
@media(max-width:840px){.split{grid-template-columns:1fr;gap:30px}.split .img-wrap{order:-1}}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;text-align:center;border-radius:0}
.cta-band .wrap{padding:64px 24px}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(28px,3.6vw,42px);line-height:1.12}
.cta-band p{opacity:.92;margin:14px auto 28px;max-width:560px;font-size:17px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:600;font-size:16px;color:var(--charcoal);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--green);font-weight:400;flex:none;transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] summary{color:var(--green)}
.faq .fa{padding:0 24px 22px;color:var(--muted);font-size:15px}

/* Footer */
.site-footer{background:var(--charcoal);color:#cfd3d1;padding:54px 0 26px;font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.site-footer .logo .lt{color:#fff}.site-footer .logo .ls{color:#9aa19e}
.site-footer p.tag{margin-top:16px;max-width:320px;color:#9aa19e}
.foot-col h4{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-weight:700}
.foot-col a,.foot-col span{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:#cfd3d1}
.foot-col a:hover{color:var(--gold)}
.foot-col svg{color:var(--gold);flex:none}
.foot-bot{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#878d8a;font-size:13px}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr;gap:28px}}

/* Sticky mobile CTA */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mobile-bar a{flex:1;justify-content:center;font-size:15px;padding:14px}
.mobile-bar .btn-call{flex:none;width:54px;background:var(--gray);color:var(--green);padding:14px}
@media(max-width:880px){.mobile-bar{display:flex}body{padding-bottom:74px}}

.reveal{opacity:0;transform:translateY(22px);transition:.6s ease}
.reveal.in{opacity:1;transform:none}
