/************* RESET & TOKENS *************/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --accent:#f96b05;
  --accent-dark:#fd8834;
  --dark:#f8f9fa; /* Dark mode text color */
  --light:#0d1b2a; /* Dark mode background */
  --surface:#11253a; /* Dark mode surface */
  --surface-alt:#1a2a3d; /* Dark mode alt surface */
  --muted:#adb5bd; /* Dark mode muted text */
  --radius:6px;
  --max-w:1150px;
  --header-h:64px;
  --gutter:clamp(1rem,4vw,2rem);
  --hero-img:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFklEQVR42mNk+M9Qz0AEYBxVSFAMBwAAt7oLkJkAAAAASUVORK5CYII=");
  color-scheme:dark;
}
/* No light mode override */
@media(prefers-color-scheme:dark){
  :root{
    --dark:#f8f9fa;
    --light:#0d1b2a;
    --surface:#11253a;
    --surface-alt:#1a2a3d;
    --muted:#adb5bd;
    color-scheme:dark;
  }
}
html{scroll-behavior:smooth}

body {
  font-family: "IBM Plex Mono", "Courier New", monospace;
  line-height: 1.6;
  color: var(--dark);
  background: var(--light);
}

body.no-scroll{overflow:hidden;}

/************* TYPOGRAPHY *************/
h1,h2,h3,h4{font-weight:600;line-height:1.2;margin-bottom:.6em;color:var(--dark)}
h1{font-size:clamp(1.7rem,2.5vw+1rem,2.8rem)}
h2{font-size:clamp(1.4rem,1.8vw+1rem,2rem)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/************* HELPERS *************/
.wrapper{max-width:var(--max-w);margin:auto;padding:0 var(--gutter)}
.section{padding:clamp(3rem,6vw,4.5rem) 0}
.bg-alt{background:var(--surface-alt)}
.center{text-align:center}
.mb-2{margin-bottom:2rem}
:target{scroll-margin-top:calc(var(--header-h) + 2rem);}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/************* SKIP LINK *************/
.skip{position:absolute;top:-200%;left:50%;transform:translateX(-50%);
      background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);
      transition:top .25s}
.skip:focus{top:.5rem}

/************* NAVBAR *************/
header{
  position:fixed;top:0;left:0;right:0;background:rgba(13,27,42,.9);
  backdrop-filter:saturate(180%) blur(10px);box-shadow:0 2px 4px rgba(0,0,0,.05);
  z-index:1000;height:var(--header-h)
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:100%}

.brand {
  font-weight: 700;
  font-size: 1.3rem;
  color: white;
  display: block;
}
.brand img {
  height: calc(var(--header-h) - 1rem);
  width: auto;
  max-width: 100%;
  display: block;
}

.menu{display:flex;gap:1.5rem}
.menu a{font-size:.95rem;opacity:.85;transition:opacity .2s}
.menu a:hover,.menu a:focus-visible{opacity:1}

/* BURGER */
.burger {
  --s: 22px;
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  z-index: 1101;
  min-width: 44px;
  min-height: 44px;
  justify-content: center;
  align-items: center;
  background: rgba(16, 31, 48, 0.5);
  border: 1px solid white;
  border-radius: 8px;
}
.burger span {
  width: var(--s);
  height: 2px;
  background: white;
  border-radius: 2px;
  transition: transform .3s, opacity .3s;
}

/* MOBILE NAV */
@media(max-width:768px){
  .burger{display:flex}
  .menu {
    display:none;
    z-index:1200;
    position:fixed;
    top:var(--header-h);
    left:0;
    right:0;
    bottom:0;
    background:var(--light);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:2rem;
    padding:2rem;
    transition:transform .3s ease;
    overflow-y:auto;
    height:calc(100vh - var(--header-h));
  }
  .menu.open {
    display:flex;
    transform:translateY(0);
  }
  .menu a {
    font-size:1.2rem;
    display:block;
    text-align:center;
    width:100%;
  }
}

/* BURGER ANIMATION */
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/************* HERO *************/
.hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(100vh - var(--header-h));
  padding: clamp(4rem, 8vw, 6rem) 0;
  text-align: center;
}





/* Add this new rule */
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(13, 27, 42, 0.7); /* Dark overlay with 70% opacity */
  z-index: 1;
  pointer-events: none; /* Allow clicks to pass through */
}

/* Ensure content is above the overlay */
.hero .wrapper {
  position: relative;
  z-index: 2;
}




.hero p{font-size:clamp(.95rem,1.1vw+0.9rem,1.15rem);max-width:700px;margin:0 auto 2rem}
.cta-btn{
  display:inline-block;background:var(--accent);color:#fff;
  padding:.9rem 1.8rem;border-radius:var(--radius);font-weight:600;
  transition:background .2s}
.cta-btn:hover,.cta-btn:focus-visible{background:var(--accent-dark)}

/************* ICON SECTION *************/
.icon-section{background:var(--surface);padding:clamp(2.5rem,5vw,3.5rem) 0}
.icon-row{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}
.icon-box{flex:1 1 240px;background:var(--surface);border-radius:var(--radius);padding:2rem;
          box-shadow:0 2px 8px rgba(0,0,0,.04);text-align:center}
.icon-box h3{margin-top:1rem;font-size:1.1rem}

.placeholder, .placeholder2 {
  aspect-ratio: 1/1; /**** 2/3 ****/
  border-radius: var(--radius);
}
img.placeholder, img.placeholder2 {
  background: none;
  width: 100%;
  opacity: 0.75;
}

img.placeholder2 {
  opacity: 1;
}

/************* GRID & TABLE *************/
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:.75rem;border-bottom:1px solid #e9ecef;text-align:left}
th{background:var(--surface-alt)}

/************* PRICE / FAQ *************/
details{background:var(--surface);border-radius:var(--radius);padding:1rem 1.2rem;
        box-shadow:0 1px 4px rgba(0,0,0,.05);margin-bottom:1rem}
summary{font-weight:600;cursor:pointer}

/************* FOOTER *************/
footer{background:#0d1b2a;color:#fff;padding:2.5rem 0;font-size:.9rem;margin-top:2rem}
footer a{color:#fff;text-decoration:underline}
footer .wrapper{display:flex;flex-direction:column;gap:1.2rem}
@media(min-width:600px){
  footer .wrapper{flex-direction:row;justify-content:space-between;align-items:center}
}

/************* REDUCED MOTION *************/
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

ol li, p {
  margin: 10px 10px 10px 20px;

}
