:root{--blue:#009fd9;--deep:#053763;--orange:#f7a51c;--gold:#ffd05b;--teal:#12b7b3;--white:#fff;--dark:#0c1b2a;--muted:#607080;--soft:#f3fbff;--shadow:0 22px 60px rgba(5,55,99,.16)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--dark);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{height:86px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;box-shadow:0 8px 35px rgba(0,0,0,.07)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;box-shadow:0 8px 20px rgba(0,0,0,.12)}.brand b{display:block;font-size:1.08rem;color:var(--deep)}.brand small{color:var(--orange);font-weight:800}.topbar nav{display:flex;gap:24px;align-items:center;font-weight:800}.topbar nav a:hover{color:var(--orange)}.adminLink{background:var(--deep);color:white!important;padding:12px 18px;border-radius:16px}.menuBtn{display:none}.hero{min-height:720px;padding:70px 6%;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;overflow:hidden}.tropical{background:radial-gradient(circle at 80% 0,#fff3c0,transparent 27%),linear-gradient(135deg,#e9fbff 0%,#fff 42%,#fff6df 100%)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-weight:1000;color:var(--orange);font-size:.85rem}.hero h1,.pageHead h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.92;margin:15px 0;color:var(--deep);letter-spacing:-.07em}.hero p,.pageHead p{font-size:1.25rem;line-height:1.7;color:#31485e;max-width:760px}.heroActions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--orange),#ff7a00);color:#fff;font-weight:1000;padding:15px 24px;border-radius:999px;border:0;box-shadow:0 16px 35px rgba(247,165,28,.25);cursor:pointer}.btn.ghost{background:var(--deep);box-shadow:0 16px 35px rgba(5,55,99,.2)}.trustRow{display:flex;gap:12px;flex-wrap:wrap}.trustRow span{background:#fff;border:1px solid #e1eff5;border-radius:999px;padding:10px 15px;color:var(--deep);font-weight:900}.heroVisual{position:relative}.heroVisual img{border-radius:34px;box-shadow:var(--shadow);width:100%;height:600px;object-fit:cover;object-position:center}.stamp{position:absolute;right:-12px;bottom:28px;background:var(--deep);color:white;border:5px solid white;border-radius:22px;padding:18px 22px;font-weight:1000;box-shadow:var(--shadow);transform:rotate(-3deg)}.section{padding:82px 6%}.dark{background:linear-gradient(135deg,var(--deep),#065a8f);color:white}.dark .eyebrow,.dark h2,.dark p{color:white}.section h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:10px 0 20px;color:var(--deep);letter-spacing:-.04em}.introGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}.founderPhoto{border-radius:34px;box-shadow:var(--shadow);width:100%;max-height:720px;object-fit:cover;object-position:top}.introGrid p{font-size:1.05rem;line-height:1.75;color:#405266}.introGrid blockquote{font-size:2rem;font-family:Georgia,serif;color:var(--orange);margin:25px 0}.dealGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:30px 0}.dealGrid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.dealCard{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);color:var(--dark);transition:.2s}.dealCard:hover{transform:translateY(-5px)}.dealCard img{height:300px;width:100%;object-fit:cover}.dealCard div{padding:24px}.dealCard span{display:inline-block;background:#fff2cf;color:#955a00;padding:8px 12px;border-radius:999px;font-weight:900;font-size:.8rem}.dealCard h3{font-size:1.6rem;margin:14px 0 8px;color:var(--deep)}.dealCard b{font-size:1.4rem;color:#e56d00;display:block;margin:12px 0}.dealCard a{font-weight:1000;color:var(--blue)}.center{margin:20px auto 0;display:flex;width:max-content}.featureGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px}.featureGrid div,.cert,.testimonial{background:#fff;border:1px solid #e5eef5;border-radius:24px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.06)}.featureGrid b{color:var(--deep);font-size:1.1rem}.splitColor{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#f7fcff}.splitColor>div{background:white;border-radius:30px;padding:38px;box-shadow:var(--shadow);border-top:8px solid var(--orange)}.galleryGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.galleryGrid img{height:170px;width:100%;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.09)}.galleryGrid.page{grid-template-columns:repeat(3,1fr);gap:24px}.galleryGrid.page img{height:330px}.galleryGrid figure{margin:0;background:white;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.galleryGrid figcaption{padding:14px;font-weight:900}.galleryGrid figcaption span{display:block;color:var(--muted);font-weight:600}.cta{padding:80px 6%;text-align:center;background:linear-gradient(135deg,#ffb531,#ff7a00);color:white}.cta h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;margin:0 0 12px}.cta p{font-size:1.25rem}.pageHead{padding:90px 6%;background:linear-gradient(135deg,#e9fbff,#fff6df);text-align:center}.pageHead p{margin:auto}.dealHero{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:70px 6%;align-items:center;background:#f7fcff}.dealHero img{height:620px;width:100%;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.dealHero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.96;color:var(--deep);letter-spacing:-.06em}.dealHero h2{font-size:2.8rem;color:#e56d00}.notice{background:#fff4d9;border-left:6px solid var(--orange);padding:18px;border-radius:12px}.testimonialGrid,.certGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial img,.testimonial video{height:330px;width:100%;object-fit:cover;border-radius:18px}.form{display:grid;gap:12px}.form input,.form textarea,.form select{width:100%;padding:14px 16px;border:1px solid #d8e5ee;border-radius:15px;font:inherit}.form textarea{min-height:120px}.adminForm{grid-template-columns:repeat(2,1fr)}.adminForm textarea{grid-column:span 2}.adminGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.panel{background:white;color:var(--dark);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.table>div{background:white;border:1px solid #e5eef5;border-radius:18px;padding:18px;margin:12px 0}.floatBtns{position:fixed;right:18px;bottom:18px;z-index:40;display:grid;gap:10px}.floatBtns a{background:#16b36b;color:white;padding:13px 18px;border-radius:999px;font-weight:1000;box-shadow:0 12px 30px rgba(0,0,0,.18)}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding:55px 6%;background:#071b2b;color:white}footer img{width:80px;height:80px;border-radius:50%;object-fit:cover}.payMini{color:var(--gold);font-weight:1000}@media(max-width:900px){.menuBtn{display:block;background:var(--deep);color:white;border:0;border-radius:12px;padding:10px 14px}.topbar nav{display:none;position:absolute;left:0;right:0;top:86px;background:white;padding:20px;box-shadow:var(--shadow);flex-direction:column}.navOpen .topbar nav{display:flex}.hero,.introGrid,.dealHero,.splitColor,footer{grid-template-columns:1fr}.heroVisual img{height:auto}.dealGrid,.featureGrid,.galleryGrid.page,.testimonialGrid,.certGrid,.adminGrid{grid-template-columns:1fr}.galleryGrid{grid-template-columns:repeat(2,1fr)}.hero h1,.pageHead h1{font-size:3rem}.adminForm{grid-template-columns:1fr}.adminForm textarea{grid-column:auto}.topbar{padding:0 4%}}

/* MOBILE FIX - WhiskAway cards */
@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }

  .topbar {
    padding: 14px 18px;
  }

  .brand img {
    width: 72px;
    height: 72px;
    object-fit: cover;
  }

  .brand span b {
    font-size: 24px;
    line-height: 1.1;
  }

  .brand span small {
    font-size: 18px;
  }

  .grid,
  .dealGrid,
  .cards,
  .featureGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .card,
  .dealCard,
  .panel {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
    border-radius: 24px;
  }

  .card img,
  .dealCard img {
    width: 100% !important;
    height: auto !important;
    max-height: 320px;
    object-fit: cover;
    display: block;
  }

  h1 {
    font-size: 40px !important;
    line-height: 1.05 !important;
  }

  h2 {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  .card h2,
  .dealCard h2,
  .card h3,
  .dealCard h3 {
    font-size: 30px !important;
    line-height: 1.1 !important;
    word-break: normal;
  }

  .section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .heroActions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .floatingWhatsApp,
  .whatsappFloat,
  .floating {
    right: 14px !important;
    bottom: 14px !important;
    transform: scale(.85);
  }
}

/* FINAL ADMIN/MOBILE HEADING VISIBILITY FIX */
@media (max-width: 768px) {
  .section h1,
  .section h2,
  .section h3,
  .pageHead h1,
  .pageHead h2,
  .admin h1,
  .admin h2,
  .admin h3,
  form h1,
  form h2,
  form h3 {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.35);
  }

  .section,
  .adminForm,
  form {
    color: #ffffff;
  }

  .section label,
  .adminForm label {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 700;
  }

  .adminForm input,
  .adminForm textarea,
  .form input,
  .form textarea {
    color: #073b5c !important;
    background: #ffffff !important;
  }

  .adminForm input::placeholder,
  .adminForm textarea::placeholder,
  .form input::placeholder,
  .form textarea::placeholder {
    color: #777 !important;
    opacity: 1 !important;
  }
}

/* FINAL SMART ADMIN HEADING CONTRAST FIX */
@media (max-width: 768px) {

  /* Default mobile headings = dark blue for white backgrounds */
  h1, h2, h3,
  .section h1, .section h2, .section h3,
  .pageHead h1, .pageHead h2, .pageHead h3,
  form h1, form h2, form h3,
  .panel h1, .panel h2, .panel h3,
  .card h1, .card h2, .card h3,
  .dealCard h1, .dealCard h2, .dealCard h3 {
    color: #073b5c !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  /* Headings on dark blue/admin backgrounds = white */
  section[style*="background"] h1,
  section[style*="background"] h2,
  section[style*="background"] h3,
  .adminPanel h1,
  .adminPanel h2,
  .adminPanel h3,
  .admin-section h1,
  .admin-section h2,
  .admin-section h3,
  .blue h1,
  .blue h2,
  .blue h3 {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.35) !important;
  }

  /* White cards/panels inside dark backgrounds must keep dark headings */
  .panel h1,
  .panel h2,
  .panel h3,
  .card h1,
  .card h2,
  .card h3,
  .dealCard h1,
  .dealCard h2,
  .dealCard h3,
  .form h1,
  .form h2,
  .form h3 {
    color: #073b5c !important;
    text-shadow: none !important;
  }

  label {
    color: #073b5c !important;
    opacity: 1 !important;
    font-weight: 700;
  }

  .section[style*="background"] label {
    color: #ffffff !important;
  }

  input, textarea, select {
    color: #073b5c !important;
    background: #ffffff !important;
  }

  input::placeholder,
  textarea::placeholder {
    color: #777 !important;
    opacity: 1 !important;
  }
}

/* FINAL ADMIN MOBILE TEXT FIX */
@media (max-width:768px){

  .adminForm h1,
  .adminForm h2,
  .adminForm h3,
  .adminForm label,
  .adminForm p,
  .adminForm span,
  .adminForm strong,
  .adminForm b,
  .adminForm th,
  .adminForm td,
  .adminForm div,
  .admin h1,
  .admin h2,
  .admin h3 {
      color:#000000 !important;
      opacity:1 !important;
      text-shadow:none !important;
  }

}


/* ADMIN PAGE ONLY - HEADING VISIBILITY FIX */
body:has(a.adminLink) .adminForm h2,
body:has(a.adminLink) .adminForm h3,
body:has(a.adminLink) .section > h2,
body:has(a.adminLink) .section > h3 {
    color: #111111 !important;
    opacity: 1 !important;
    font-weight: 900 !important;
    text-shadow: none !important;
}
