:root{
  --bg:#ffffff;
  --card:#ffffff;
  --card2:#f6f7fb;
  --text:#0b0f19;
  --muted:#5b6472;
  --line:rgba(11,15,25,.10);
  --brand:#e11d48;   /* red */
  --brand2:#111827;  /* black */
  --shadow: 0 18px 50px rgba(11,15,25,.12);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Manrope,system-ui,Segoe UI,Arial;
  background: radial-gradient(1000px 500px at 10% 0%, rgba(225,29,72,.10), transparent 55%),
              radial-gradient(900px 500px at 90% 10%, rgba(17,24,39,.08), transparent 55%),
              var(--bg);
  color:var(--text);
}

a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 16px}

/* =========================
   HEADER (DESKTOP + MOBILE)
========================= */

.topbar{
  position:sticky; top:0; z-index:999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
}

/* brand */
.brand{
  display:flex;
  gap:12px;
  align-items:center;
}

/* ✅ logo full show (no crop) */
.logo{
  height:52px;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
  border:none;
}
.logo img{
  height:100%;
  width:auto;
  object-fit:contain; /* IMPORTANT */
  display:block;
}

/* brand text (site name) */
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.brand-text strong{display:block;font-size:16px}
.brand-text small{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* actions */
.top-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:999px;
  background: rgba(11,15,25,.04);
  border:1px solid var(--line);
  font-size:13px;color:var(--text);
  white-space:nowrap;
}
.pill.ghost{background:transparent;color:var(--muted)}
.dot{width:8px;height:8px;border-radius:99px;background:#28d17c;box-shadow:0 0 18px rgba(40,209,124,.7)}
.dot.yellow{background:var(--brand);box-shadow:0 0 18px rgba(245,179,1,.7)}

.btn{
  padding:10px 14px;border-radius:12px;
  border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800; letter-spacing:.2px;
}
.btn.primary{
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color:#fff;border:none;
  box-shadow: 0 12px 28px rgba(225,29,72,.22);
}

/* hamburger */
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(11,15,25,.08);
  background: rgba(11,15,25,.04);
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-direction:column;
  cursor:pointer;
}
.nav-toggle span{
  width:18px;
  height:2px;
  background:#fff;
  border-radius:2px;
  opacity:.9;
  transition:.25s;
}
.nav-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.active span:nth-child(2){ opacity:0; }
.nav-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* nav */
.nav{border-top:1px solid var(--line)}
.nav-inner{display:flex;gap:18px;padding:10px 0;overflow:auto}
.nav-inner a{
  padding:8px 12px;border-radius:12px;color:var(--muted);
  border:1px solid transparent;
  white-space:nowrap;
}
.nav-inner a.active, .nav-inner a:hover{
  color:var(--text);
  background: rgba(11,15,25,.04);
  border-color: var(--line);
}

/* ✅ OPTION: ONLY LOGO (site name hide) */
.logo-only .brand-text{display:none !important;}

/* =========================
   HERO / PAGE
========================= */

.hero{padding:32px 0 18px;}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}
.hero-card{
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
  background: linear-gradient(180deg, rgba(11,15,25,.04), rgba(11,15,25,.015));
}
.hero-media{
  min-height:440px;
  background:
    linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,.25)),
    url("../images/hero.jpg");
  background-size:cover;
  background-position:center;
  position:relative;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(10,14,28,.55);
  color:var(--muted);
  font-size:13px;
}
.hero-title{
  font-size:46px;
  line-height:1.05;
  margin:16px 0 10px;
  font-weight:900;
}
.hero-sub{color:rgba(255,255,255,.94);max-width:620px}
.hero-cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn.secondary{
  background: #fff;
  color:var(--text);
  border:1px solid rgba(11,15,25,.14);
}

.form-card{
  padding:18px;
  background: linear-gradient(180deg, rgba(11,15,25,.05), rgba(11,15,25,.015));
}
.form-card h3{margin:0 0 10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{font-size:12px;color:var(--muted);display:block;margin:8px 0 6px}
input,select,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(6,10,20,.7);
  color:var(--text);
  outline:none;
}
textarea{min-height:110px;resize:vertical}
.form-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}

.section{padding:22px 0}
.section h2{margin:0 0 10px;font-size:26px}
.muted{color:var(--muted)}

.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.card{
  border:1px solid var(--line);
  border-radius:20px;
  background: linear-gradient(180deg, rgba(11,15,25,.04), rgba(11,15,25,.015));
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  padding:16px;
}
.card b{display:block;margin-bottom:6px}
.tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(245,179,1,.12);
  color: var(--brand2);
  font-size:12px;
}

/* =========================
   FOOTER
========================= */

.footer{
  margin-top:30px;
  border-top:1px solid var(--line);
  background: rgba(6,10,20,.75);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap:18px;
  padding:22px 0;
}
.footer h3,.footer h4{margin:0 0 10px}
.footer a{display:block;color:var(--muted);margin:7px 0}
.footer a:hover{color:var(--text)}
.footer-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.footer-bottom{
  padding:14px 0;
  border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}

/* =========================
   MOBILE BAR
========================= */

.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;
  display:none;
  background: rgba(6,10,20,.88);
  border-top:1px solid var(--line);
  backdrop-filter: blur(10px);
  z-index:90;
}
.mobile-bar .mbtn{
  flex:1;
  text-align:center;
  padding:12px 8px;
  border-right:1px solid var(--line);
  color:var(--text);
  font-weight:800;
}
.mobile-bar .mbtn:last-child{border-right:none}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-title{font-size:38px}
  .cards{grid-template-columns:1fr 1fr}
}

/* ✅ Mobile header dropdown nav */
@media (max-width: 720px){
  .top-actions{display:none} /* mobile me pills hide */
  .brand-text small{display:none} /* compact */
  .nav-toggle{display:flex} /* hamburger show */

  .nav{
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
    border-top:1px solid var(--line);
  }
  .nav.open{max-height:260px;}
  .nav-inner{
    flex-direction:column;
    align-items:stretch;
    padding:10px 0 14px;
  }
  .nav-inner a{
    width:100%;
    padding:12px 14px;
  }

  .cards{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .hero-media{min-height:380px}
  .mobile-bar{display:flex}
  body{padding-bottom:52px}
}

/* ✅ smaller logo on mobile */
@media (max-width:520px){
  .logo{height:46px;}
}
/* =========================
   FIX: Logo full show (no crop)
   Add this at the END of style.css
========================= */

.brand .logo{
  width: auto !important;        /* circle size remove */
  height: 56px !important;       /* logo height control */
  padding: 0 !important;
  border-radius: 0 !important;   /* circle remove */
  background: transparent !important;
  border: none !important;
  overflow: visible !important;  /* crop off */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.brand .logo img{
  height: 56px !important;
  width: auto !important;
  object-fit: contain !important;  /* full show */
  display: block !important;
}

/* mobile smaller */
@media (max-width:720px){
  .brand .logo{ height:48px !important; }
  .brand .logo img{ height:48px !important; }
}
/* ===================== ABOUT SECTION ===================== */
.about-sec{padding:26px 0;}
.about-wrap{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:18px;
  align-items:stretch;
}
.about-media{
  position:relative;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow: var(--shadow);
  min-height:520px;
  background:
    radial-gradient(700px 400px at 20% 20%, rgba(245,179,1,.20), transparent 60%),
    radial-gradient(800px 500px at 80% 0%, rgba(69,102,255,.20), transparent 60%),
    linear-gradient(180deg, rgba(11,15,25,.05), rgba(11,15,25,.015));
}
.about-media.noimg{display:flex;align-items:center;justify-content:center}
.about-overlay{
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,.15));
  z-index:1;
}
.about-img{
  width:100%; height:100%;
  object-fit:cover;
  position:absolute; inset:0;
  transform:scale(1.03);
  filter:saturate(1.05);
}

.about-badges{
  position:absolute; left:16px; top:16px;
  z-index:2;
  display:flex; flex-wrap:wrap; gap:8px;
}
.ab-badge{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(6,10,20,.55);
  color:var(--text);
  font-size:13px;
  backdrop-filter: blur(10px);
}

.about-float{
  position:absolute;
  left:16px; bottom:16px;
  z-index:2;
  padding:14px 14px;
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(6,10,20,.62);
  backdrop-filter: blur(10px);
}
.af-title{font-weight:900;font-size:16px}
.af-sub{color:var(--muted);font-size:13px;margin-top:2px}

.about-right{
  border:1px solid var(--line);
  border-radius:22px;
  background: linear-gradient(180deg, rgba(11,15,25,.04), rgba(11,15,25,.015));
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  padding:18px;
}
.about-title{margin:10px 0 10px;font-size:30px;line-height:1.15;font-weight:900}
.about-desc{margin:0 0 12px}

.about-points{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.ap{
  padding:12px 12px;
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(11,15,25,.03);
}
.ap b{display:block;margin-bottom:4px}
.ap span{color:rgba(255,255,255,.92);font-size:14px}

.about-stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  margin:14px 0 14px;
}
.stat{
  padding:12px;
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(245,179,1,.07);
}
.stat .num{font-weight:900;font-size:20px;color:var(--brand2)}
.stat .txt{font-size:13px;color:var(--muted);margin-top:2px}

.about-features{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  margin-top:10px;
}
.fcard{
  padding:12px 12px;
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(11,15,25,.03);
}
.fcard b{display:block;margin-bottom:3px}
.about-cta{margin-top:14px}

@media(max-width:980px){
  .about-wrap{grid-template-columns:1fr}
  .about-media{min-height:420px}
  .about-features{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .about-title{font-size:26px}
  .about-stats{grid-template-columns:1fr}
  .about-features{grid-template-columns:1fr}
}
/* ===================== /ABOUT SECTION ===================== */
/* ===================== PRICING SECTION ===================== */
.pricing-sec{padding:26px 0;}
.pricing-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.pricing-title{margin:10px 0 8px;font-size:30px;line-height:1.15;font-weight:900}
.pricing-sub{margin:0;max-width:720px}

.pricing-mini{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.p-mini{
  padding:10px 12px;
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(11,15,25,.03);
  min-width:160px;
}
.p-mini b{display:block}
.p-mini span{display:block;margin-top:2px}

.pricing-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:10px;
}

.p-card{
  position:relative;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(69,102,255,.16), transparent 55%),
    linear-gradient(180deg, rgba(11,15,25,.04), rgba(11,15,25,.015));
  box-shadow: 0 18px 55px rgba(0,0,0,.48);
  padding:16px;
  overflow:hidden;
}
.p-card:before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(500px 240px at 70% 0%, rgba(245,179,1,.18), transparent 60%);
  pointer-events:none;
}
.p-top{position:relative; z-index:1}
.p-pill{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(245,179,1,.10);
  color: var(--brand2);
  font-size:12px;
  font-weight:800;
}
.p-price{
  margin-top:12px;
  display:flex;
  align-items:baseline;
  gap:6px;
}
.p-cur{font-weight:900;color:var(--brand2)}
.p-amt{font-size:44px;line-height:1;font-weight:900}
.p-unit{color:var(--muted);font-weight:800}
.p-note{margin-top:8px}

.p-list{
  position:relative; z-index:1;
  list-style:none;
  padding:0;
  margin:14px 0 0;
  display:grid;
  gap:10px;
}
.p-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 10px;
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(11,15,25,.02);
  color: rgba(255,255,255,.88);
}
.dot.sm{width:8px;height:8px;border-radius:99px; margin-top:6px; flex:0 0 8px}

.p-actions{
  position:relative; z-index:1;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.p-foot{
  position:relative; z-index:1;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
  font-size:12px;
}

/* Featured Plan */
.p-card.featured{
  border-color: rgba(245,179,1,.45);
  box-shadow: 0 22px 70px rgba(245,179,1,.12), 0 18px 55px rgba(0,0,0,.55);
  transform: translateY(-6px);
}
.p-card.featured:before{
  background:
    radial-gradient(520px 260px at 50% 0%, rgba(245,179,1,.26), transparent 62%),
    radial-gradient(650px 350px at 15% 10%, rgba(69,102,255,.18), transparent 60%);
}
.p-ribbon{
  position:absolute;
  right:14px; top:14px;
  z-index:2;
  padding:8px 10px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color:#14110a;
  font-weight:900;
  font-size:12px;
  box-shadow: 0 12px 30px rgba(245,179,1,.25);
}

/* Bottom note */
.pricing-note{margin-top:14px}
.pn-box{
  border:1px solid var(--line);
  border-radius:20px;
  background: rgba(11,15,25,.03);
  padding:14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.pn-box b{margin-right:6px;color:var(--brand2)}

/* Responsive */
@media(max-width:980px){
  .pricing-grid{grid-template-columns:1fr}
  .p-card.featured{transform:none}
  .pricing-mini{justify-content:flex-start}
}
@media(max-width:640px){
  .pricing-title{font-size:26px}
  .p-amt{font-size:40px}
}
/* ===================== /PRICING SECTION ===================== */

/* =========================
   SIMPLE PAGES (Services / Routes)
========================= */
.page-hero{padding:26px 0 10px}
.ph-card{
  background: linear-gradient(180deg, rgba(225,29,72,.10), rgba(17,24,39,.04));
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  box-shadow: var(--shadow);
}
.ph-title{font-size:28px;font-weight:900;letter-spacing:-.2px}
.ph-sub{margin-top:8px;color:var(--muted);max-width:820px}
.ph-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}

.section{padding:34px 0}
.section.alt{padding:26px 0 40px}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr}
}

.svc-card{
  background: var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow: 0 14px 30px rgba(11,15,25,.08);
}
.svc-ico{font-size:26px}
.svc-card h3{margin:10px 0 6px;font-size:18px}
.svc-card p{margin:0;color:var(--muted);line-height:1.6}

.cta-wide{
  background: #fff;
  border:1px solid rgba(11,15,25,.14);
  border-radius:18px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  box-shadow: 0 16px 34px rgba(11,15,25,.09);
}
.cta-title{font-size:18px;font-weight:900}
.cta-sub{color:var(--muted);margin-top:4px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:780px){
  .cta-wide{flex-direction:column;align-items:flex-start}
}

/* route cards */
.route-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
@media (max-width:900px){
  .route-grid{grid-template-columns:1fr}
}
.route-card{
  background: var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow: 0 14px 30px rgba(11,15,25,.08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.route-card:hover{
  transform: translateY(-2px);
  border-color: rgba(225,29,72,.35);
  box-shadow: 0 18px 40px rgba(11,15,25,.12);
}
.rc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rc-title{font-weight:900;font-size:18px}
.rc-arrow{color:var(--brand)}
.rc-price{font-weight:900;color:var(--brand)}
.rc-meta{margin-top:8px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.rc-cta{margin-top:10px;font-weight:800;color:var(--brand2)}
.footer-link{color:inherit;text-decoration:underline}
