:root{
    --ink:#12130F;
    --paper:#FFFFFF;
    --line:#1c1c1c;
    --teal-1:#3E8E86;
    --teal-2:#8FD3C4;
    --muted:#5b5b56;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
  }
  h1,h2,h3{font-family:'Archivo', sans-serif; letter-spacing:-0.01em;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1100px; margin:0 auto; padding:0 40px;}
  .btn{
    display:inline-block;
    background:var(--ink);
    color:#fff;
    padding:13px 28px;
    font-size:0.85rem;
    font-weight:600;
    letter-spacing:0.03em;
    border:none;
    cursor:pointer;
  }
  .btn:hover{background:#333;}
  .btn-outline{
    background:transparent; color:var(--ink); border:1px solid var(--ink);
  }

  /* NAV */
  nav{
    position:sticky; top:0; z-index:50;
    background:#fff;
    border-bottom:1px solid #eee;
  }
  nav .wrap{display:flex; justify-content:space-between; align-items:center; height:78px;}
  .brand-name{font-weight:800; font-size:1.05rem; letter-spacing:0.04em;}
  .brand-sub{font-size:0.72rem; color:var(--muted); letter-spacing:0.03em;}
  nav ul{display:flex; gap:30px; list-style:none; align-items:center;}
  nav a.navlink{font-size:0.85rem; font-weight:500; color:var(--ink);}
  nav a.navlink:hover{color:var(--teal-1);}
  .streak-chip{
    display:flex; align-items:center; gap:8px;
    border:1px solid var(--ink); padding:7px 16px; border-radius:100px;
    font-size:0.78rem; font-weight:600;
  }
  .streak-chip .pulse{width:7px; height:7px; border-radius:50%; background:var(--teal-1);}

  /* HERO */
  .hero{
    position:relative;
    height:80vh; min-height:560px;
    background-image:linear-gradient(180deg, rgba(10,15,15,0.15), rgba(10,15,15,0.45)), url('https://images.unsplash.com/photo-1502224562085-639556652f33?auto=format&fit=crop&w=1600&q=80');
    background-size:cover;
    background-position:center;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
    color:#fff;
  }
  .hero-inner{max-width:680px; padding:0 24px;}
  .eyebrow{
    font-size:0.75rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
    margin-bottom:18px; opacity:0.9;
  }
  h1.headline{
    font-size:clamp(3.2rem, 9vw, 6.5rem);
    font-weight:800;
    line-height:0.95;
    letter-spacing:0.01em;
    margin-bottom:18px;
  }
  .hero-sub{font-size:1.05rem; margin-bottom:32px; opacity:0.95;}
  .hero .btn{background:#fff; color:var(--ink);}
  .hero .btn:hover{background:var(--teal-2);}

  /* ABOUT */
  .about-section{
    display:grid; grid-template-columns:1fr 1fr;
    min-height:520px;
  }
  .about-text{
    padding:80px 60px; display:flex; flex-direction:column; justify-content:center;
  }
  .rule{width:36px; height:3px; background:var(--ink); margin-bottom:20px;}
  .about-text h2{font-size:2.4rem; font-weight:800; line-height:1.05; margin-bottom:22px;}
  .about-text p{color:var(--muted); font-size:0.95rem; margin-bottom:16px; max-width:420px;}
  .about-photo{
    background-image:linear-gradient(180deg, rgba(20,30,30,0.05), rgba(20,30,30,0.05)), url('picss/pic2.jpg');
    background-size:cover; background-position:center 20%;
    position:relative;
  }
  .chat-pill{
    position:absolute; top:24px; right:24px;
    background:var(--ink); color:#fff; padding:10px 18px; border-radius:100px;
    font-size:0.78rem; font-weight:600;
  } 
  

  /* PURSUITS / "HOW I TRAIN" */
  .pursuits{
    position:relative;
    padding:100px 0 110px;
    background:linear-gradient(180deg, var(--teal-1), var(--teal-2) 70%, #eafaf5);
    color:#fff;
  }
  .pursuits .section-label{font-size:0.78rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; opacity:0.85; margin-bottom:10px;}
  .pursuits h2{font-size:2.6rem; font-weight:800; line-height:1.05; margin-bottom:46px; max-width:520px;}
  .pursuit-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
  .pursuit-card{
    background:#fff; color:var(--ink);
    border:1px solid var(--ink);
    padding:34px 26px;
    text-align:center;
  }
  .pursuit-card h3{font-size:1.05rem; font-weight:800; letter-spacing:0.02em; margin-bottom:8px; text-transform:uppercase;}
  .pursuit-card p{font-size:0.85rem; color:var(--muted); margin-bottom:20px; min-height:56px;}
  .pursuit-card .divider{width:100%; height:1px; background:#ddd; margin-bottom:16px;}
  .pursuit-card .stat{font-size:0.85rem; font-weight:600; margin-bottom:2px;}
  .pursuit-card .stat-sub{font-size:0.78rem; color:var(--muted); margin-bottom:22px;}
  .more-btn-wrap{text-align:center; margin-top:44px;}
  .more-btn-wrap .btn{background:transparent; border:1px solid #fff; color:#fff;}
  .more-btn-wrap .btn:hover{background:#fff; color:var(--ink);}

  /* CONTACT FOOTER */
  footer{
    background:var(--teal-1);
    color:#fff;
    padding:80px 0 40px;
  }
  .footer-grid{display:grid; grid-template-columns:1fr 1.3fr; gap:60px;}
  footer h2{font-size:1.6rem; font-weight:800; margin-bottom:22px; text-transform:uppercase;}
  .footer-info p{font-size:0.88rem; margin-bottom:6px; opacity:0.9;}
  .footer-info .block{margin-bottom:20px;}
  .socials{display:flex; gap:14px; margin-top:18px;}
  .socials a{
    width:34px; height:34px; border:1px solid rgba(255,255,255,0.6); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:0.8rem;
  }
  form{display:flex; flex-direction:column; gap:14px;}
  form label{font-size:0.8rem; opacity:0.9;}
  form input, form textarea{
    background:transparent;
    border:none; border-bottom:1px solid rgba(255,255,255,0.6);
    color:#fff; padding:8px 2px; font-family:'Inter', sans-serif; font-size:0.9rem;
    outline:none;
  }
  form input::placeholder, form textarea::placeholder{color:rgba(255,255,255,0.5);}
  form textarea{resize:vertical; min-height:70px;}
  form .btn{background:#fff; color:var(--ink); align-self:flex-start; margin-top:6px;}
  form .btn:hover{background:var(--ink); color:#fff;}
  .footnote{margin-top:56px; font-size:0.78rem; opacity:0.75;}

  /* Reveal-on-scroll */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* Mobile nav */
  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
  .burger span{width:22px; height:2px; background:var(--ink); display:block; transition:transform .25s ease, opacity .25s ease;}
  nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  nav.open .burger span:nth-child(2){opacity:0;}
  nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  nav a.navlink.active{color:var(--teal-1);}

  .form-status{font-size:0.82rem; margin-top:4px; min-height:18px;}

  @media (max-width:860px){
    .about-section{grid-template-columns:1fr;}
    .about-photo{min-height:340px;}
    .pursuit-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .burger{display:flex;}
    nav ul{
      position:absolute; top:78px; left:0; right:0;
      background:#fff; flex-direction:column; align-items:flex-start;
      padding:20px 40px; gap:18px;
      border-bottom:1px solid #eee;
      display:none;
    }
    nav.open ul{display:flex;}
    nav a.navlink{display:block;}
    .streak-chip{order:-1; margin-bottom:6px;}
  }
  @media (prefers-reduced-motion: reduce){ *{transition:none !important;} .reveal{opacity:1; transform:none;} }
/* Mini footer (non-contact pages) */
.mini-footer{
  background:var(--ink); color:#fff; padding:28px 0;
}
.mini-footer-inner{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
}
.mini-footer p{font-size:0.82rem; opacity:0.8;}
.mini-footer .btn-outline{border-color:#fff; color:#fff;}
.mini-footer .btn-outline:hover{background:#fff; color:var(--ink);}

/* Inner page hero (smaller than homepage hero) */
.page-hero{
  padding:70px 0 40px;
  border-bottom:1px solid #eee;
}
.page-hero .section-label{
  font-size:0.78rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--teal-1); margin-bottom:10px;
}
.page-hero h1{font-size:clamp(2.2rem, 6vw, 3.4rem); font-weight:800; line-height:1.05;}

/* Full about page */
.about-full{padding:60px 0 90px;}
.about-full-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start;}
.about-full-photo{
  background-image:url('picss/pic3.jpg');
  background-size:cover; background-position:center 20%;
  min-height:420px; border-radius:6px;
}
.about-full-text p{color:var(--muted); margin-bottom:18px; max-width:520px;}
.about-full-text h3{margin:28px 0 10px; font-size:1.1rem;}

/* Pursuits hub page */
.pursuits-hub{padding:60px 0 100px;}
.hub-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:20px;}
.hub-card{
  border:1px solid var(--ink); padding:30px 24px; text-align:center;
  display:flex; flex-direction:column;
}
.hub-card h3{font-size:1.05rem; font-weight:800; text-transform:uppercase; margin-bottom:10px;}
.hub-card p{color:var(--muted); font-size:0.88rem; margin-bottom:20px; flex-grow:1;}

/* Individual pursuit detail page */
.pursuit-detail{padding:60px 0 100px;}
.detail-stats{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin:36px 0;}
.detail-stat{border:1px solid #eee; padding:22px; text-align:center;}
.detail-stat .num{font-family:'Archivo', sans-serif; font-size:1.8rem; font-weight:800; color:var(--teal-1);}
.detail-stat .lbl{font-size:0.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.04em; margin-top:4px;}
.detail-body p{color:var(--muted); max-width:640px; margin-bottom:16px;}

/* Full log page */
.log-full{padding:60px 0 100px;}
.log-full ul{list-style:none;}
.log-full li{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0; border-top:1px solid #eee; font-size:0.95rem;
}
.log-full li:last-child{border-bottom:1px solid #eee;}
.log-full .what{display:flex; align-items:center; gap:12px;}
.log-full .dot{width:6px; height:6px; border-radius:50%; background:var(--teal-1);}
.log-full .when{color:var(--muted); font-family:'JetBrains Mono', monospace; font-size:0.8rem;}

@media (max-width:860px){
  .about-full-grid{grid-template-columns:1fr;}
  .hub-grid{grid-template-columns:1fr;}
  .detail-stats{grid-template-columns:1fr;}
}

/* Pursuit page photo */
.pursuit-photo{
  width:100%;
  max-width:420px;
  border-radius:8px;
  margin-bottom:36px;
  display:block;
}

