/* ====== Base & Tokens ====== */
:root{
  --brand: #ff7a00;             /* DigiGoose-ish accent */
  --brand-600:#e56e00;
  --ink: #0f172a;                /* slate-900 */
  --muted:#6b7280;               /* gray-500 */
  --sand:#f3f0ea;                /* soft bg block */
  --radius: 1rem;
  --shadow: 0 10px 30px rgba(2,6,23,.10);
}

html { scroll-behavior: smooth; }
body { color: var(--ink); }
/* Card thumbnails from background images */
.card-thumb{
  background: var(--sand);
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
  background-size: cover;
  background-position: center;
}

/* Spacing for fixed navbar */
.section { padding: 5rem 0; }
@media (min-width: 992px){ .section{ padding: 6rem 0; } }
.navbar { backdrop-filter: saturate(120%) blur(6px); }

/* Brand */
.brand { letter-spacing:.4px; }
.brand-dot{ color: var(--brand); }

/* Buttons */
.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  color:#fff;
  border-radius: .8rem;
  padding:.6rem 1rem;
  box-shadow: var(--shadow);
}
.btn-brand:hover{ background: var(--brand-600); border-color: var(--brand-600); color:#fff; }

/* Sections */
.section-title{ font-weight: 800; letter-spacing: .2px; margin-bottom: .75rem; }

/* ===== Page background token */
:root{ --page:#ffffff; }
/* small adjustments for modal article */
.article-content p { margin-bottom: 1rem; line-height:1.6; color: #123; }
.modal .modal-body { background: #fff; }
@media (max-width: 768px) {
  .modal-dialog { margin: 1rem; }
}


/* Hero cleanup */
.bg-hero{
  position: relative;
  background: radial-gradient(1200px 600px at 10% -10%, #1f2937 0, #0b1220 55%);
  padding-top: 8rem;   /* keep room for navbar */
  padding-bottom: 6rem;
  overflow: hidden;
  border-bottom: 4px solid #0b1220; /* subtle separation instead of swirl */
}

/* remove any leftover wave style */
.hero-wave{ display: none !important; }


/* ===== HERO FIXES ===== */
.bg-hero{
  position: relative;
  background: radial-gradient(1200px 600px at 10% -10%, #1f2937 0, #0b1220 55%);
  padding-top: 8.5rem;      /* room for fixed navbar */
  padding-bottom: 7rem;     /* keep content safely above the wave */
  overflow: hidden;         /* clip the wave & avoid white cuts */
}

.hero-wave{
  position: absolute;
  left: 0; right: 0; bottom: -1px;   /* overlap by 1px to kill hairline */
  width: 100%; height: 120px;
  display: block;
  fill: var(--page);                  /* blends into page bg */
  pointer-events: none;
}

/* Better contrast for text inside the dark glass card */
.glass{
  background: rgba(255,255,255,.08);
  color: #f8fafc;
  border-radius: 1rem;
}
.text-hero{ color:#e5e7eb; }
.text-hero-dim{ color:#cbd5e1; }

/* Buttons stay visible on dark hero */
.btn-outline-light{ border-width:2px; }

/* Misc polish */
.section { padding: 5.5rem 0; }
@media (min-width: 992px){ .section{ padding: 6.5rem 0; } }

/* If you still see a tiny seam on some monitors, nudge next section up 1px */
.section:first-of-type + .section { margin-top: -1px; }

.bg-hero{
  position: relative;
  background: radial-gradient(1200px 600px at 10% -10%, #1f2937 0, #0b1220 55%);
  padding-top: 7rem; /* room for navbar */
  padding-bottom: 4rem;
}
.text-hero{ color: #e5e7eb; }
.hero-wave{
  position:absolute; bottom:-1px; left:0; width:100%; height:100px; display:block;
  fill:#fff;
}
.glass{ background: rgba(255,255,255,.1); color:#fff; }
.bg-brand-soft{ background: rgba(255,122,0,.15) !important; color:#fff !important; }

/* Cards & effects */
.card{ border-radius: var(--radius); }
.shadow-sm{ box-shadow: var(--shadow) !important; }
.tag{ background:#eef2ff; color:#475569; border:1px solid #e2e8f0; }
.hover-lift{ transition: transform .22s ease, box-shadow .22s ease; }
.hover-lift:hover{ transform: translateY(-4px); box-shadow: 0 20px 35px rgba(2,6,23,.12); }

.bg-sand-soft{ background: var(--sand); border-radius: var(--radius) var(--radius) 0 0; }

/* About list */
.icon-list{ list-style: none; padding-left: 0; margin-top: 1rem; }
.icon-list li{ padding-left: 1.75rem; position: relative; margin-bottom: .5rem; }
.icon-list li::before{
  content: "✓";
  position:absolute; left:0; top:.05rem;
  width:1.2rem; height:1.2rem; border-radius:.6rem;
  background: #eafff0; color:#16a34a; display:grid; place-items:center;
  font-size:.75rem; border:1px solid #d1fae5;
}
.icon-list span{ font-weight:600; }

/* Contact */
.contact-links{ list-style:none; padding-left:0; margin: 1rem 0 0; }
.contact-links li{ margin-bottom:.4rem; }
.contact-links a{ text-decoration:none; }
.contact-links a:hover{ text-decoration:underline; }

/* Footer */
.footer{ margin-top: 0; }

/* Back to top */
.back-to-top{
  position: fixed; right: 1rem; bottom: 1rem; display: none;
  border-radius: 999px; padding:.6rem .8rem; z-index: 1050;
}
.back-to-top.show{ display: inline-flex; }

/* Reveal animation (gentle) */
.reveal{ opacity:0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal.delay-1{ transition-delay: .1s; }
.reveal.delay-2{ transition-delay: .2s; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .hover-lift, .reveal{ transition: none !important; transform:none !important; }
  html { scroll-behavior: auto; }
}
