  :root{
    --grass:#2f7d4f;
    --grass-dark:#1f5c39;
    --sky:#f4a83c;
    --sky-soft:#fbe4c0;
    --ink:#20302a;
    --ink-soft:#526158;
    --paper:#fbfaf5;
    --card:#ffffff;
    --line:#e6e2d6;
    --shadow:0 10px 30px rgba(31,92,57,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Segoe UI",Helvetica,Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-weight:750;line-height:1.2;letter-spacing:-.01em}
  a{color:var(--grass-dark)}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px}

  /* ---------- HERO ---------- */
  header.hero{
    position:relative;
    background:
      radial-gradient(1200px 500px at 80% -10%, rgba(244,168,60,.28), transparent 60%),
      linear-gradient(160deg,var(--grass) 0%, var(--grass-dark) 100%);
    color:#fff;
    padding:96px 0 120px;
    overflow:hidden;
  }
  header.hero .wrap{position:relative;z-index:2}
  header.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);max-width:16ch;margin-bottom:20px}
  header.hero p.lead{font-size:clamp(1.05rem,2.3vw,1.35rem);max-width:60ch;color:rgba(255,255,255,.92)}
  .hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-block;padding:13px 26px;border-radius:12px;font-weight:650;
    text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;
  }
  .btn-primary{background:var(--sky);color:#3a2400;box-shadow:0 8px 22px rgba(244,168,60,.35)}
  .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}
  .btn:hover{transform:translateY(-2px)}
  /* wavy divider */
  .wave{position:absolute;bottom:-1px;left:0;width:100%;z-index:1;line-height:0}
  .wave svg{display:block;width:100%;height:70px}

  /* ---------- INTRO ---------- */
  section{padding:72px 0}
  .intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
  .section-kicker{color:var(--grass);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:12px}
  h2.title{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:18px}
  p.body{color:var(--ink-soft);font-size:1.06rem;margin-bottom:16px}
  .facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
  .fact{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
  .fact .num{font-size:1.6rem;font-weight:800;color:var(--grass-dark)}
  .fact .lab{font-size:.9rem;color:var(--ink-soft)}

  /* ---------- DISCIPLINES ---------- */
  #discipliner{background:linear-gradient(180deg,#fff 0%, #f6f4ec 100%)}
  .head-center{text-align:center;max-width:64ch;margin:0 auto 52px}
  .head-center p{color:var(--ink-soft);font-size:1.08rem}
  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden;
    transition:transform .18s ease,box-shadow .18s ease;
  }
  .card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(31,92,57,.16)}
  .card .ic{
    height:96px;margin-bottom:16px;display:flex;align-items:center;justify-content:flex-start;
  }
  .card .ic img{height:100%;width:auto;display:block;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18))}
  .card h3{font-size:1.32rem;margin-bottom:6px}
  .card .tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.05em;
    text-transform:uppercase;color:var(--grass-dark);background:#e7f1ea;
    padding:4px 10px;border-radius:999px;margin-bottom:14px}
  .card p{color:var(--ink-soft);font-size:.99rem}
  .card .who{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);
    font-size:.9rem;color:var(--ink)}
  .card .who b{color:var(--grass-dark)}

  /* ---------- GETTING STARTED ---------- */
  .start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:36px}
  .fb-cta{margin-top:44px;background:linear-gradient(135deg,var(--grass-dark),var(--grass));
    border-radius:20px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;
    gap:26px;flex-wrap:wrap;color:#fff}
  .fb-cta-text h4{font-size:1.2rem;margin-bottom:6px;color:#fff}
  .fb-cta-text p{color:rgba(255,255,255,.9);font-size:.98rem;max-width:52ch;margin:0}
  .fb-cta .btn-primary{white-space:nowrap;flex-shrink:0}
  .step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
  .step .n{width:38px;height:38px;border-radius:50%;background:var(--grass);color:#fff;
    display:grid;place-items:center;font-weight:800;margin-bottom:14px}
  .step h4{font-size:1.1rem;margin-bottom:6px}
  .step p{color:var(--ink-soft);font-size:.95rem}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink);color:#cdd6d0;padding:54px 0 40px;text-align:center}
  footer h3{color:#fff;font-size:1.4rem;margin-bottom:10px}
  footer p{max-width:56ch;margin:0 auto 8px;color:#9fb0a6}
  footer .small{margin-top:26px;font-size:.85rem;color:#7c8c82}

  @media(max-width:760px){
    .intro-grid{grid-template-columns:1fr}
    section{padding:56px 0}
  }

  /* ---------- DETAIL PAGES ---------- */
  .more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:650;
    color:var(--grass-dark);text-decoration:none;font-size:.98rem}
  .more:hover{gap:11px}
  .dhero{color:#fff;padding:48px 0 46px;position:relative;overflow:hidden}
  .dhero-dartbee{background:linear-gradient(160deg,#3a7cbf,#1f4c78)}
  .dhero-throwandgo{background:linear-gradient(160deg,#4aa23a,#22641d)}
  .dhero-frizgility{background:linear-gradient(160deg,#d24632,#8a2317)}
  .dhero-freestyle{background:linear-gradient(160deg,#9b52c9,#5c2882)}
  .back{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.92);
    text-decoration:none;font-weight:600;margin-bottom:26px;font-size:.95rem}
  .back:hover{color:#fff}
  .dhero-top{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
  .dhero-top img{height:132px;width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}
  .dhero h1{font-size:clamp(1.9rem,5vw,2.9rem);margin-bottom:8px}
  .dhero .tagline{font-size:1.12rem;color:rgba(255,255,255,.92);max-width:48ch}
  .detail-body{padding:46px 0 24px}
  .detail-body .wrap{max-width:760px}
  .detail-body .lead-p{font-size:1.18rem;color:var(--ink);margin-bottom:8px}
  .detail-body h3{font-size:1.3rem;margin:32px 0 8px;color:var(--ink)}
  .detail-body p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:14px}
  .detail-body ul{margin:0 0 14px 22px;color:var(--ink-soft);font-size:1.06rem}
  .detail-body li{margin-bottom:8px}
  .detail-body li b{color:var(--ink)}
  .callout{background:#eef5ef;border-left:4px solid var(--grass);border-radius:12px;
    padding:20px 24px;margin-top:30px}
  .callout b{color:var(--grass-dark)}
  .callout p{margin:0;color:var(--ink)}
  .topnav{background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);
    position:sticky;top:0;z-index:80}
  .topnav .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;gap:20px}
  .topnav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
  .topnav-logo img{height:38px;width:auto;display:block}
  .topnav-logo span{font-weight:800;font-size:1rem;color:var(--ink);white-space:nowrap}
  .topnav-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
  .topnav-links a{color:var(--ink);text-decoration:none;font-weight:650;font-size:.92rem}
  .topnav-links a:hover{color:var(--grass-dark)}
  .topnav-links .nav-fb{background:var(--grass);color:#fff;padding:8px 16px;border-radius:9px}
  .topnav-links .nav-fb:hover{background:var(--grass-dark);color:#fff}
  .dhero-neutral{background:linear-gradient(160deg,var(--grass),var(--grass-dark))}
  .placeholder-box{background:#f6f4ec;border:1px dashed var(--line);border-radius:14px;padding:26px;margin-top:10px}
  .placeholder-box p{margin-bottom:0}
  @media(max-width:680px){
    .topnav-links{gap:14px}
    .topnav-logo span{display:none}
    .topnav-links .nav-fb{display:none}
  }
  .diagram-card{margin:18px 0 30px;border-radius:16px;overflow:hidden;border:1px solid var(--line);
    box-shadow:var(--shadow);background:#fff}
  .diagram-card img{display:block;width:100%;height:auto}
  .hero-logo{height:118px;width:auto;display:block;margin-bottom:26px;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
  .footer-logo{height:88px;width:auto;display:block;margin:0 auto 16px;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
  .diagram-card svg{display:block;width:100%;height:auto}
