/* =====================
   Base & Theme Tokens
   ===================== */
:root{
  --brand:#00bfff;             /* Sky blue */
  --brand-600:#10a6da;
  --brand-700:#0f8cb8;
  --ink-900:#0b0e14;
  --text-900:#0b0e14;
  --muted:#546e7a;             /* bluish gray that suits cyan */
  --border:#ccecf3;            /* soft cyan border */
  --bg:#ffffff;
  --bg-soft: #E0F7FA;           /* requested background */
  --panel:#ffffff;
  --panel-soft:#f7fdff;        /* subtle cyan-tinted panel */
  --radius-xl:20px;
  --radius-lg:14px;
  --shadow-1:0 8px 20px rgba(15,140,184,.12);  /* cyan-tinted soft shadow */
  --shadow-2:0 18px 48px rgba(15,140,184,.18);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0b0e14;
    /* keep the soft brand background per request */
    --bg-soft:#F8FAFC;
    --text-900:#0f141d; /* keep text dark on the cyan background */
    --muted:#335760;
    --border:#a7dbe6;
  }
}

/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";
  color:var(--text-900);
  background:var(--bg-soft);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;border-radius:14px}
a{color:var(--brand-700);text-decoration:none}
a:hover{color:var(--brand)}
.container{width:min(1200px,100% - 2rem);margin-inline:auto}
.stack{display:grid;gap:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border-radius:9999px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.2s ease}
.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-1)}
.btn-primary:hover{background:var(--brand-600);transform:translateY(-1px)}
.btn-outline{border-color:var(--brand);color:var(--brand-700);background:transparent}
.btn-outline:hover{background:rgba(16,166,218,.08)}

/* Header / Nav */
header{position:sticky;top:0;z-index:100;backdrop-filter:saturate(180%) blur(8px);background:color-mix(in oklab, var(--bg-soft) 70%, #ffffff 30%);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.2px}
.brand small{font-weight:600;color:var(--muted);display:block;font-size:.78rem;margin-top:-.35rem}
.brand-logo{height:60px;width:auto;display:block}
.nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0;align-items:center}
.nav a.navlink{padding:.55rem .8rem;border-radius:999px;color:var(--text-900)}
.nav a.navlink:hover{background:var(--panel-soft)}
.hamburger{display:none;background:transparent;border:0;font-size:1.5rem}
@media (max-width:860px){
  .nav ul{display:none}
  .hamburger{display:block}
  .mobile-drawer{position:fixed;inset:70px 0 auto 0;background:linear-gradient(180deg,var(--panel),var(--panel-soft));border-top:1px solid var(--border);display:none}
  .mobile-drawer.open{display:block}
  .mobile-drawer .container{padding:1rem 0}
  .mobile-drawer a{display:block;padding:.9rem 0;border-bottom:1px dashed var(--border);color:var(--text-900)}
  .mobile-drawer .cta{display:grid;gap:.7rem;padding-block:1rem}
}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;}
.kicker{color:var(--brand-700);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}
.hero h1{font-size:clamp(2rem,4vw + 1rem,3.2rem);line-height:1.1;margin:.4rem 0 1rem}
.hero p{font-size:clamp(1rem,1.2vw + .6rem,1.2rem);color:var(--muted)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.hero-media{position:relative;padding:.8rem;background:linear-gradient(180deg,var(--panel),var(--panel-soft));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);overflow:hidden;height:350px;}
/* overlay similar to model */
.hero-media::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(120% 100% at 0% 0%, color-mix(in oklab, var(--brand) 25%, transparent) 0%, transparent 55%),
  linear-gradient(180deg, transparent 60%, color-mix(in oklab, var(--brand) 12%, #0000) 100%);
  mix-blend:multiply;opacity:.65}
.hero-media::after{content:"";position:absolute;inset:auto -5% -15% -5%;height:50%;background:radial-gradient(60% 80% at 50% -20%, color-mix(in oklab, var(--brand) 22%, transparent) 0%, transparent 60%);pointer-events:none}
.chipbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.chip{padding:.45rem .7rem;border:1px solid var(--border);border-radius:999px;font-size:.85rem;color:var(--muted)}
@media (max-width:980px){.hero .container{grid-template-columns:1fr}}

/* Sections */
section{padding-block:clamp(2rem,6vw,4rem)}
.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.2rem;gap:1rem}
.section-title h2{font-size:clamp(1.6rem,2.5vw + 1rem,2.2rem);margin:0}
.section-title p{color:var(--muted);margin:0}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (max-width:1100px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.grid-4,.grid-3{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}
@media (max-width:560px){.grid-4,.grid-3{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,var(--panel),var(--panel-soft));border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.1rem;box-shadow:var(--shadow-1)}
.card h3{margin:.2rem 0 .4rem;font-size:1.15rem}
.card p{color:var(--muted);margin:0}
.icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in oklab, var(--brand) 18%, transparent);color:#053d4f}

/* Packages */
.packages .card{padding:1.2rem;display:grid;gap:.8rem;position:relative;box-shadow:var(--shadow-1)}
.pkg-thumb{inline-size:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-1)}
.badge{font-size:.75rem;padding:.35rem .6rem;border-radius:.6rem;border:1px solid var(--border);color:var(--muted);background:color-mix(in oklab, var(--bg-soft) 40%, transparent)}
.price{font-weight:800;font-size:1.4rem}
.feature-list{display:grid;gap:.35rem;margin:.2rem 0 .6rem}
.feature-list li{list-style:none;display:flex;gap:.45rem;align-items:flex-start;color:var(--text-900)}
.feature-list svg{flex:0 0 auto;margin-top:.15rem}
.card .cta-line{display:flex;gap:.6rem;align-items:center}
.card button{width:100%}
.card:hover{transform:translateY(-2px);transition:.2s ease;box-shadow:var(--shadow-2)}

/* How it works */
.steps{counter-reset:step}
.step{grid-template-columns:52px 1fr;gap:.8rem;align-items:start}
.step::before{counter-increment:step;content:counter(step);width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-weight:800;background:var(--panel-soft);border:1px solid var(--border);color:var(--brand-700)}

/* Media scroller */
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:.8rem;overflow-x:auto;padding-bottom:.4rem;scroll-snap-type:x mandatory}
.scroller>*{scroll-snap-align:start}
.scroller img{inline-size:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-1)}
.blur-up{filter:blur(16px);transform:scale(1.02);opacity:.9;transition:filter .6s ease,transform .6s ease,opacity .4s ease}
.blur-up.loaded{filter:blur(0);transform:none;opacity:1}
@media (min-width:860px){.scroller{grid-auto-columns:32%}}

/* FAQ & CTA */
details{border:1px solid var(--border);border-radius:var(--radius-lg);padding:.9rem 1rem;background:linear-gradient(180deg,var(--panel),var(--panel-soft));box-shadow:var(--shadow-1)}
details+details{margin-top:.6rem}
summary{cursor:pointer;font-weight:600}
summary::marker{color:var(--brand-700)}
.cta-band{background:linear-gradient(180deg,color-mix(in oklab, var(--brand) 10%, transparent),transparent),var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.2rem;box-shadow:var(--shadow-2)}

/* Contact & Footer */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr}}
.contact-card{padding:1rem;border:1px dashed var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--panel),var(--panel-soft));box-shadow:var(--shadow-1)}
.foot{border-top:1px solid var(--border);padding-block:2rem;margin-top:2rem;color:var(--muted);font-size:.95rem}

/* Modal */
dialog#package-modal{border:1px solid var(--border);border-radius:16px;padding:0;background:linear-gradient(180deg,var(--panel),var(--panel-soft));color:var(--text-900);max-width:820px;width:calc(100% - 2rem);box-shadow:var(--shadow-2)}
dialog::backdrop{background:rgba(0,0,0,.35);backdrop-filter:blur(2px)}
.modal-head{padding:1rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:linear-gradient(180deg,var(--panel),var(--panel-soft))}
.modal-body{padding:1rem 1.1rem}
.modal-body .grid-2{gap:1rem}
.modal-foot{padding:1rem 1.1rem;border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;background:linear-gradient(180deg,var(--panel),var(--panel-soft))}
.modal-img{inline-size:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-1)}
.close-x{background:transparent;border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;cursor:pointer}

/* Micro animations */
.reveal{opacity:0;transform:translateY(12px);transition:.5s ease}
.reveal.show{opacity:1;transform:none}

/* FAQ collapsable */

  /* --- Collapsible area --- */
  .box {
     position: relative; 
     overflow: hidden; 
     height: 210px;            /* collapsed height */ 
     transition: height 0.3s ease;
	 background: #fff; 
    border: 1px solid #ddd; 
    border-radius: 12px;
    padding: 16px; 
	
  }

 .box.expanded {
  height: auto;         /* expand */
}

.seemore {
	width: fit-content;
}

/* End FAQ */

iframe {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Start Packages */
 .box-packages {
     position: relative; 
     overflow: hidden; 
     height: 565px;            /* collapsed height */ 
     transition: height 0.3s ease;
	
  }

 .box-packages.expandedpack {
  height: auto;         /* expand */
}
/* End Packages */

