:root{
  --bg:#ffffff;
  --text:#1b1f24;
  --muted:#5b6672;
  --border: rgba(27,31,36,0.10);
  --surface: rgba(255,255,255,0.80);
  --shadow: 0 16px 50px rgba(18, 28, 36, 0.10);
  --accent:#0f3d2e;
  --accent-2:#b58b2a;
  --max: 1120px;
  --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;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--max); margin:0 auto; padding:0 22px}
.small{font-size:.95rem}
.muted{color:var(--muted)}
.pill{
  display:inline-flex; gap:8px; align-items:center;
  border:1px solid var(--border);
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(8px);
}
header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(27,31,36,0.06);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0;
}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:132px; width:auto}
.navlinks{display:flex; gap:18px; align-items:center}
.navlinks a{
  color:var(--muted);
  font-weight:600;
  padding:8px 10px;
  border-radius:10px;
}
.navlinks a:hover{background:rgba(15,61,46,0.06); color:var(--accent)}
.cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  font-weight:700;
  border:1px solid rgba(15,61,46,0.18);
  background:rgba(15,61,46,0.06);
  color:var(--accent);
  transition:transform .12s ease, background .12s ease;
}
.cta.primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
  box-shadow: 0 10px 30px rgba(15,61,46,0.22);
}
.cta:hover{transform:translateY(-1px)}
.menuBtn{
  display:none;
  border:1px solid var(--border);
  background:rgba(255,255,255,.8);
  padding:10px 12px;
  border-radius:12px;
}
.hero{position:relative; overflow:hidden; border-bottom:1px solid rgba(27,31,36,0.06)}

.hero-inner{position:relative; padding:84px 0 64px}
.hero-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:28px; align-items:start}
h1{font-size: clamp(2.2rem, 3vw, 3.2rem); line-height:1.1; margin:14px 0 12px; letter-spacing:-0.02em}
.lede{font-size:1.12rem; color:var(--muted); max-width: 52ch}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.card{border:1px solid var(--border); border-radius: var(--radius); background:var(--surface); backdrop-filter: blur(10px); box-shadow: var(--shadow)}
.hero-card{padding:20px}
.statgrid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px}
.stat{padding:12px 14px; border:1px solid rgba(27,31,36,0.08); border-radius:14px; background:rgba(255,255,255,.75)}
.stat b{display:block; font-size:1.1rem}
.section{padding:72px 0}
.section h2{font-size: clamp(1.6rem, 2.2vw, 2.1rem); margin:0 0 12px; letter-spacing:-0.01em}
.kicker{color:var(--accent); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.tile{padding:18px; border-radius: var(--radius); border:1px solid var(--border); background:#fff}
.tile h3{margin:0 0 6px; font-size:1.05rem}
.tile p{margin:0; color:var(--muted)}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.step{padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:#fff}
.step .num{width:36px; height:36px; border-radius:12px; background:rgba(181,139,42,0.18); color:#7b5c12; display:inline-flex; align-items:center; justify-content:center; font-weight:900; margin-bottom:10px}
.split{display:grid; grid-template-columns: 1fr 1fr; gap:24px; align-items:start}

.form{display:grid; gap:12px; margin-top:10px}
.field{display:grid; gap:6px}
label{font-weight:700; font-size:.92rem}
input, textarea{width:100%; padding:12px 12px; border-radius:14px; border:1px solid rgba(27,31,36,0.14); background:#fff; font: inherit}
textarea{min-height:120px; resize:vertical}
.form-note{font-size:.92rem; color:var(--muted)}
.notice{margin-top:12px; padding:12px 14px; border-radius:14px; border:1px solid rgba(27,31,36,0.10); background: rgba(15,61,46,0.04); display:none}
.notice.show{display:block}
footer{padding:40px 0; border-top:1px solid rgba(27,31,36,0.06); color:var(--muted)}
.footergrid{display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:start}
.footergrid b{color:var(--text)}
hr.sep{border:none; border-top:1px solid rgba(27,31,36,0.08); margin:22px 0}
@media (max-width: 880px){
  .hero-grid{grid-template-columns:1fr}
  .grid3,.steps{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .menuBtn{display:inline-flex}
  .navlinks{display:none}
  .navlinks.open{
    display:flex;
    position:absolute;
    top:140px; left:22px; right:22px;
    padding:12px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(27,31,36,0.10);
    border-radius:16px;
    backdrop-filter: blur(10px);
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .navlinks a{padding:12px 12px}
  .brand img{height:96px}
}


/* --- Scroll reveal --- */
.reveal{opacity:0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1; transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none}
}

/* Keep this line on one row when there's space */
.singleline{white-space:nowrap}
@media (max-width: 900px){
  .singleline{white-space:normal}
}

/* Force hero to single-column */
.hero-grid{grid-template-columns:1fr !important}
.hero-card{max-width: 760px; margin-top:18px}

/* Make background images clearly visible (lighter overlay) */





/* --- Alignment strategy (premium + readable) --- */
.hero .hero-grid > div:first-child{ text-align:center; }
.hero .hero-actions{ justify-content:center; }
.hero .statgrid{ max-width: 720px; margin-left:auto; margin-right:auto; }
.section-header{ text-align:center; max-width: 860px; margin: 0 auto 18px; }
.section-header .muted{ margin-left:auto; margin-right:auto; }
.section-header .pill{ justify-content:center; }
.section-header .kicker{ display:block; }




/* --- Center hero content refinements --- */
.hero-card{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.hero-card .kicker{justify-content:center}
.hero-card hr{margin-left:auto; margin-right:auto}

.hero .lede{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Center standalone CTA */
.center-cta{
  display:flex;
  justify-content:center;
}




/* Right-align text inside What we handle card */
.hero-card{
  text-align:right;
}
.hero-card .kicker{
  justify-content:flex-end;
}
.hero-card hr{
  margin-left:auto;
}


/* Final alignment correction: What we handle text left-aligned */
.hero-card{
  text-align:left;
}
.hero-card .kicker{
  justify-content:flex-start;
}
.hero-card hr{
  margin-left:0;
}

/* Restored hero backgrounds (correct relative paths + full ::before definition) */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.06) 45%, rgba(255,255,255,0.16) 100%),
    url("../images/hero-misty.jpg");
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  filter: saturate(1.7) contrast(1.25) brightness(0.98);
}

.about-hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.08) 100%),
    url("../images/about-soft.jpg");
  background-size: cover;
  background-position: center;
}
