/* SiteForge — simple, modern, conversion-focused */
/* Palette: Charcoal + White + Green accent */

:root{
  --bg: #0f1720;
  --bg-alt: #121a22;
  --text: #e6eaf0;
  --muted: #a3acb9;
  --charcoal: #0b1118;
  --card: #121a22;
  --border: rgba(255,255,255,.10);
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --green: #43b047;
  --green2:#2d8f39;
  --radius: 16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
.container{width:min(1120px, calc(100% - 40px)); margin-inline:auto}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Header */
.header{
  position:sticky; top:0; z-index:50;
  background:#0b1118;
  border-bottom:1px solid var(--border);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0;
}
.brand__logo{height:34px; width:auto}
.nav{display:flex; align-items:center; gap:12px}
.nav__menu{display:flex; align-items:center; gap:18px}
.nav__link{color:var(--muted); font-weight:600}
.nav__link:hover{color:var(--text)}
.nav__cta{
  padding:10px 14px;
  border-radius:12px;
  background:rgba(67,176,71,.10);
  color:var(--green2);
  border:1px solid rgba(67,176,71,.25);
}
.nav__cta:hover{background:rgba(67,176,71,.16)}
.nav__toggle{
  display:none;
  border:1px solid var(--border);
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
}
.nav__toggleBars{
  width:18px; height:2px; background:var(--text);
  position:relative; display:block;
}
.nav__toggleBars::before,.nav__toggleBars::after{
  content:""; position:absolute; left:0; width:18px; height:2px; background:var(--text);
}
.nav__toggleBars::before{top:-6px}
.nav__toggleBars::after{top:6px}

/* Hero */
.hero{
  padding:70px 0 30px;
  background:
    radial-gradient(800px 400px at 15% 10%, rgba(67,176,71,.18), transparent 60%),
    radial-gradient(700px 380px at 85% 30%, rgba(18,26,34,.12), transparent 60%);
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.kicker{
  display:inline-block;
  font-weight:700;
  color:var(--green2);
  background:rgba(67,176,71,.12);
  border:1px solid rgba(67,176,71,.22);
  padding:6px 10px;
  border-radius:999px;
  margin:0 0 14px;
}
h1{
  font-size: clamp(34px, 4vw, 52px);
  line-height:1.05;
  margin:0 0 14px;
}
.lead{
  font-size: clamp(16px, 1.4vw, 18px);
  color:var(--muted);
  margin:0 0 22px;
  max-width: 52ch;
}
.hero__buttons{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  font-weight:700;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid transparent;
  cursor:pointer;
  transition: transform .05s ease, background .15s ease, border-color .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background:var(--green);
  color:#fff;
  border-color: rgba(0,0,0,.08);
}
.btn--primary:hover{background:var(--green2)}
.btn--ghost{
  background:#fff;
  border-color: var(--border);
  color:var(--text);
}
.btn--ghost:hover{background:var(--bg-alt)}
.btn--full{width:100%}

.hero__trust{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  margin-top:10px;
}
.trustItem{background:#121a22;
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
  border-radius:14px;
  padding:12px;
}
.trustItem__title{font-weight:800}
.trustItem__desc{color:var(--muted); font-size:14px}

/* Preview card */
.hero__card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
  border-radius: var(--radius);
  padding:16px;
  box-shadow: var(--shadow);
}
.preview{background:#121a22;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(15,23,32,.10);
  background:#fff;
}
.preview__top{
  display:flex; align-items:center; gap:6px;
  padding:10px;
  background:var(--bg-alt);
  border-bottom:1px solid rgba(15,23,32,.08);
}
.dot{width:10px; height:10px; border-radius:50%; background:rgba(15,23,32,.22)}
.preview__url{margin-left:10px; color:var(--muted); font-size:13px}
.preview__body{padding:14px}
.preview__hero{
  height:120px;
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(67,176,71,.25), transparent 60%),
    linear-gradient(180deg, rgba(18,26,34,.10), transparent 70%);
  border:1px solid rgba(15,23,32,.08);
}
.preview__lines{margin-top:12px; display:grid; gap:8px}
.preview__lines span{
  height:10px; border-radius:999px;
  background:rgba(15,23,32,.08);
}
.preview__lines span:nth-child(1){width:85%}
.preview__lines span:nth-child(2){width:70%}
.preview__lines span:nth-child(3){width:90%}
.preview__lines span:nth-child(4){width:60%}

.preview__tiles{
  margin-top:14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.tile{
  height:70px;
  border-radius:12px;
  background:rgba(15,23,32,.06);
  border:1px solid rgba(15,23,32,.08);
}

.badgeRow{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.badge{
  font-weight:700;
  font-size:13px;
  color:var(--muted);
  border:1px solid var(--border);
  background:#fff;
  padding:6px 10px;
  border-radius:999px;
}

/* Sections */
.section{padding:64px 0}
.section--alt{background:var(--bg-alt); border-top:1px solid rgba(15,23,32,.06); border-bottom:1px solid rgba(15,23,32,.06)}
.section__head{margin-bottom:22px}
.section__head h2{
  font-size: clamp(26px, 2.6vw, 34px);
  margin:0 0 8px;
}
.muted{color:var(--muted)}
.strip{padding:14px 0; border-top:1px solid rgba(15,23,32,.06); border-bottom:1px solid rgba(15,23,32,.06)}
.strip__inner p{margin:0; color:var(--muted)}

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.card{background:#121a22;
  background:var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 6px 18px rgba(15,23,32,.06);
}
.card h3{margin:0 0 8px}
.list{padding-left:18px; margin:12px 0 0; color:var(--muted)}
.list li{margin:6px 0}

/* Steps */
.steps{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.step{background:#121a22;
    border:1px solid var(--border);
  border-radius: var(--radius);
  padding:18px;
}
.step__num{
  width:34px; height:34px; border-radius:10px;
  background:rgba(67,176,71,.14);
  color:var(--green2);
  display:grid; place-items:center;
  font-weight:900;
  margin-bottom:10px;
}

.callout{
  margin-top:18px;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  border:1px solid rgba(67,176,71,.25);
  background:rgba(67,176,71,.10);
  border-radius: var(--radius);
  padding:18px;
}

/* Pricing */
.pricing{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.priceCard{background:#121a22;
    border:1px solid var(--border);
  border-radius: var(--radius);
  padding:18px;
  position:relative;
}
.priceCard--featured{
  border-color: rgba(67,176,71,.45);
  box-shadow: 0 16px 34px rgba(67,176,71,.10);
}
.tag{
  position:absolute; top:14px; right:14px;
  font-size:12px; font-weight:900;
  color:var(--green2);
  background:rgba(67,176,71,.14);
  border:1px solid rgba(67,176,71,.28);
  padding:6px 10px;
  border-radius:999px;
}
.price{font-size:34px; font-weight:900; margin:8px 0}
.price__small{font-size:14px; font-weight:800; color:var(--muted); margin-left:4px}
.fineprint{color:var(--muted); font-size:13px; margin-top:14px}

/* Non-clickable label pill (used in Care Plan card) */
.pill{
  display:inline-block;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#cfead6;
  font-weight:800;
  font-size:14px;
  line-height:1;
  user-select:none;
}
.pill--static{cursor:default}

/* Why care toggle */
.whyCare{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  background: #121a22;
  overflow:hidden;
}
.whyCare summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-weight:900;
  color:var(--text);
}
.whyCare summary::-webkit-details-marker{display:none}
.whyCare summary::after{
  content:"+";
  float:right;
  color:var(--muted);
  font-weight:900;
}
.whyCare[open] summary::after{content:"–"}
.whyCare__body{
  padding:0 16px 16px;
  color:var(--muted);
}
.whyCare__body p{margin:10px 0}
.whyCare__body .list{margin:10px 0 0}
.whyCare__body .list li{color:#cfd6df}

/* Quotes */
.quotes{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.quote{
  background:#121a22;
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding:18px;
  margin:0;
}
.quote blockquote{margin:0 0 10px; color:var(--text); font-weight:700}
.quote figcaption{color:var(--muted)}

/* Contact */
.contact{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
}
.contact__details{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.detail{background:#0f1720;
  background:var(--bg-alt);
  border:1px solid rgba(15,23,32,.08);
  border-radius:14px;
  padding:12px;
}
.detail__label{display:block; color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em}
.detail__value{font-weight:800}

.form{background:#121a22;
    border:1px solid var(--border);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 10px 26px rgba(15,23,32,.06);
}
label{display:block; margin-bottom:12px}
label span{display:block; font-weight:800; margin-bottom:6px}
input, textarea{
  width:100%;
  font: inherit;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.16);
  background:#fff;
  outline:none;
}
input:focus, textarea:focus{
  border-color: rgba(67,176,71,.55);
  box-shadow: 0 0 0 4px rgba(67,176,71,.14);
}
textarea{resize:vertical}

/* Footer */
.footer{
  background:var(--charcoal);
  color:#fff;
  padding:30px 0;
}
.footer__inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  gap:18px;
  align-items:center;
}
.footer__logo{height:26px; width:auto}
.footer__links{display:flex; gap:14px; flex-wrap:wrap}
.footer__links a{color:rgba(255,255,255,.82); font-weight:700}
.footer__links a:hover{color:#fff}
.footer__copy{margin:0; color:rgba(255,255,255,.72); text-align:right}

/* Responsive */
@media (max-width: 920px){
  .hero__grid{grid-template-columns:1fr}
  .hero__card{order: -1}
  .cards, .steps, .pricing, .quotes{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr; text-align:left}
  .footer__copy{text-align:left}
  .nav__toggle{display:inline-flex}
  .nav__menu{
    position:absolute;
    right:20px; top:60px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:12px;
    box-shadow: var(--shadow);
    display:none;
    min-width: 220px;
    flex-direction:column;
    align-items:stretch;
  }
  .nav__menu.is-open{display:flex}
  .nav__link{padding:10px 12px; border-radius:12px}
  .nav__link:hover{background:var(--bg-alt)}
  .nav__cta{background:rgba(67,176,71,.10)}
}

.header .nav__link{color:#e6eaf0}
.header .nav__link:hover{color:#ffffff}
.header .nav__cta{background:rgba(67,176,71,.18); color:#c7f0cc; border-color:rgba(67,176,71,.35)}


/* Subtle button glows */
.btn--primary{
  box-shadow: 0 8px 18px rgba(67,176,71,.18), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.btn--primary:hover{
  box-shadow: 0 10px 22px rgba(67,176,71,.26), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.btn--ghost{
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
}
.btn--ghost:hover{
  box-shadow: 0 10px 22px rgba(0,0,0,.30);
}

/* CTA in nav: tiny glow on hover */
.header .nav__cta:hover{
  box-shadow: 0 8px 18px rgba(67,176,71,.18);
}

/* Dark theme text fixes */
.card, .step, .priceCard, .quote, .form, .trustItem {
  color: #e6eaf0;
}
.card h3, .step h3, .priceCard h3 {
  color: #ffffff;
}

/* FINAL DARK MODE OVERRIDES */
button,
.btn,
.btn--secondary,
.btn--outline,
.badge,
.chip {
  background: #121a22 !important;
  color: #e6eaf0 !important;
  border-color: rgba(255,255,255,.12) !important;
}

button:hover,
.btn:hover,
.btn--secondary:hover,
.btn--outline:hover {
  background: #18222d !important;
}

/* Pricing cards fix */
.pricing,
.pricing * {
  background-color: transparent;
}
.pricing .priceCard {
  background: #121a22 !important;
}

/* Step cards fix */
.steps .step {
  background: #121a22 !important;
}

/* CTA strip fix */
.cta-strip,
.cta-strip * {
  background: transparent;
}
.cta-strip {
  background: #0f2a20 !important;
}

/* Safety net: remove pure white backgrounds */
*[style*="background:#fff"],
*[style*="background: #fff"],
*[style*="background:white"] {
  background: #121a22 !important;
}

/* HERO FEATURE PILLS */
.hero .pill,
.hero .feature,
.hero .feature-pill,
.hero .badge {
  background: #121a22 !important;
  color: #e6eaf0 !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* MOCKUP TAG PILLS (Mobile-first / SEO-ready / Fast loading) */
.mockup .pill,
.device-tags .pill,
.device-tags span {
  background: #0b1118 !important;
  color: #c7f0cc !important;
  border: 1px solid rgba(67,176,71,.35);
  box-shadow: 0 6px 16px rgba(67,176,71,.18);
}

/* Remove any remaining light chip styles */
.pill.light,
.badge.light {
  background: #121a22 !important;
  color: #e6eaf0 !important;
}


/* HERO FEATURE BOXES (Fast turnaround / Built to convert / No jargon) */
.hero .features,
.hero .feature,
.hero .feature-box,
.hero .feature-pill,
.hero .trustItem{
  background: #121a22;
  color: #e6eaf0;
  border: 1px solid rgba(255,255,255,.12);
}

.hero .trustItem__desc{
  color: #a3acb9;
}

.hero .trustItem:hover{
  background: #18222d;
  border-color: rgba(67,176,71,.35);
  transform: translateY(-2px);
}

/* TESTIMONIAL CARDS */
.testimonial,
.testimonial-card,
.quote-card {
  background: #121a22;
  color: #e6eaf0;
  border: 1px solid rgba(255,255,255,.12);
}
.testimonial p {
  color: #cfd6df;
}
.testimonial small {
  color: #a3acb9;
}

/* FORM PANEL + INPUTS */
.form-panel,
.form-card,
.form-wrap {
  background: #121a22;
  border: 1px solid rgba(255,255,255,.12);
}

input,
textarea,
select {
  background: #0b1118;
  color: #e6eaf0;
  border: 1px solid rgba(255,255,255,.14);
}

input::placeholder,
textarea::placeholder {
  color: #8b95a3;
}

input:focus,
textarea:focus {
  border-color: rgba(67,176,71,.6);
  box-shadow: 0 0 0 3px rgba(67,176,71,.15);
  outline: none;
}

/* TESTIMONIAL SECTION FINAL FIX */
.testimonials,
.testimonials .testimonial,
.testimonials .testimonial-card,
.testimonials blockquote {
  background: #121a22 !important;
  color: #e6eaf0 !important;
  border: 1px solid rgba(255,255,255,.12);
}

.testimonials blockquote p {
  color: #cfd6df !important;
}

.testimonials blockquote footer,
.testimonials blockquote cite {
  color: #a3acb9 !important;
}

/* Ensure no light backgrounds sneak in */
.testimonials *[style*="background:#fff"],
.testimonials *[style*="background: #fff"],
.testimonials *[style*="background:white"] {
  background: #121a22 !important;
}

/* FINAL TESTIMONIAL FIX (force dark) */
section.testimonials,
.testimonials,
.testimonials .container,
.testimonials .grid,
.testimonials .card,
.testimonials .quote,
.testimonials .testimonial,
.testimonials blockquote {
  background-color: #121a22 !important;
  color: #e6eaf0 !important;
  border: 1px solid rgba(255,255,255,.12);
}

.testimonials blockquote p,
.testimonials .card p {
  color: #cfd6df !important;
}

.testimonials cite,
.testimonials footer,
.testimonials small {
  color: #a3acb9 !important;
}

/* Quote text */
.quote blockquote{color:#e6eaf0}
.quote figcaption{color:#a3acb9}

/* MOCKUP BROWSER / DEVICE PANEL – FORCE DARK */
.mockup,
.device,
.browser,
.browser-frame,
.device-frame {
  background: #121a22 !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* Mockup inner content placeholders */
.mockup * {
  background-color: inherit;
}

/* Mockup top bar (URL bar) */
.mockup .browser-bar,
.mockup .url-bar {
  background: #0b1118 !important;
  color: #e6eaf0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

/* Ensure text in mockup header stays light */
.mockup .browser-bar span,
.mockup .url-bar span {
  color: #e6eaf0 !important;
}

/* PRICING TOGGLE */
.pricing-toggle {
  margin-top: 2rem;
  padding: 1.5rem;
  background: #121a22;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: #e6eaf0;
}

.pricing-toggle summary {
  cursor: pointer;
  font-weight: 600;
  color: #7bd389;
}

.pricing-toggle summary:hover {
  text-decoration: underline;
}

.pricing-toggle ul {
  margin: 1rem 0 0 1.2rem;
  color: #cfd6df;
}

/* Pricing required note */
.price__note{
  margin-top:.75rem;
  color:#cfd6df;
  font-size:.95rem;
}
.price__note .req{
  color:#7bd389;
  font-weight:600;
}
.btn[aria-disabled="true"],
.btn.is-disabled{
  opacity:.8;
  cursor:not-allowed;
}

/* Care plan "Included" button styling */
.priceCard--care .btn,
.priceCard.care .btn{
  background:#121a22 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#cfd6df !important;
  box-shadow:none !important;
  pointer-events:none;
}
