:root{--ink:#20242a;--muted:#5f6770;--paper:#f7f7f2;--white:#fff;--green:#2f5d50;--green2:#21483f;--line:#dfe3df;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:var(--green2)}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}header{background:rgba(247,247,242,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-size:1.45rem;font-weight:800;text-decoration:none;color:var(--ink);letter-spacing:-.03em}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}.btn{display:inline-block;background:var(--green);color:white!important;padding:11px 18px;border-radius:999px;text-decoration:none;font-weight:800}.btn.alt{background:transparent;color:var(--green2)!important;border:1px solid var(--green)}.hero{padding:92px 0 76px;background:linear-gradient(135deg,var(--paper),#ecefe9)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--green)}h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:.95;letter-spacing:-.055em;margin:12px 0 22px}h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 18px}h3{font-size:1.25rem;margin:0 0 8px}.lead{font-size:clamp(1.15rem,2vw,1.4rem);max-width:760px;color:#3f474f}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}section{padding:72px 0}.white{background:var(--white)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(32,36,42,.05)}.quote{font-size:1.45rem;font-weight:800;line-height:1.35;border-left:5px solid var(--green);padding-left:22px}.kicker{font-size:1.1rem;font-weight:800;color:var(--green)}.band{background:var(--green2);color:white}.band p{color:#e6eeeb}.band .btn{background:white;color:var(--green2)!important}.small{font-size:.92rem;color:var(--muted)}footer{padding:42px 0;border-top:1px solid var(--line);color:var(--muted)}footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:24px;align-items:start}.pagehero{padding:70px 0 52px}.pagehero h1{font-size:clamp(2.5rem,6vw,4.8rem)}.list li{margin-bottom:10px}.notice{padding:18px 20px;border-radius:12px;background:#eef2ee;border:1px solid #d8e2dc}@media(max-width:800px){footer .wrap{grid-template-columns:1fr}.nav{align-items:flex-start;padding:16px 0;flex-direction:column}header{position:static}nav{gap:12px}.grid,.two{grid-template-columns:1fr}.hero{padding-top:62px}section{padding:54px 0}}
input,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:9px;margin-top:6px;background:#fff}textarea{resize:vertical}label{display:block}

/* Photography */
picture{display:block}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:52px;align-items:center}.hero-copy .lead{max-width:700px}.hero-media{min-width:0}.hero-photo,.site-photo{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 18px 42px rgba(32,36,42,.14)}.hero-photo{aspect-ratio:auto;object-fit:contain}.pagehero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:48px;align-items:center}.pagehero-media .site-photo{aspect-ratio:4/3;object-fit:cover}.section-photo{margin-bottom:22px}.section-photo .site-photo{aspect-ratio:4/3;object-fit:cover}.wide-photo{margin-top:42px;margin-bottom:0}.wide-photo .site-photo{aspect-ratio:16/7;object-fit:cover}.story-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.8fr);gap:48px;align-items:center;max-width:1050px}.story-photo .site-photo{aspect-ratio:4/3;object-fit:cover}.photo-note{font-size:.88rem;color:var(--muted);margin:10px 4px 0}.coaching-cues{margin-top:0}.connect-community{max-width:880px;margin:0 auto 42px}.connect-community .site-photo{aspect-ratio:16/7;object-fit:cover;object-position:center 45%}
@media(max-width:800px){.hero-grid,.pagehero-grid,.story-grid{grid-template-columns:1fr}.hero-grid{gap:34px}.hero-media{order:-1}.hero-photo{border-radius:16px}.pagehero-grid{gap:30px}.wide-photo .site-photo,.connect-community .site-photo{aspect-ratio:4/3}.section-photo{margin-top:8px}}

/* Hydration calculator */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.calc-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 30px rgba(32,36,42,.05)}.calc-panel h3{margin-bottom:18px}.field-row{display:grid;grid-template-columns:1fr 130px 72px;gap:10px;align-items:end;margin:12px 0}.field-row label{font-weight:700}.field-row input{margin:0}.unit{padding:11px 0;color:var(--muted)}.results{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.result-row{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.result-row strong{white-space:nowrap}.working-rate{margin:28px 0;padding:28px;border-radius:18px;background:#eef2ee;border:1px solid #d8e2dc}.working-number{font-size:clamp(2rem,5vw,3.5rem);line-height:1;font-weight:800;color:var(--green2);margin:8px 0}.steps{counter-reset:step;list-style:none;padding:0}.steps li{counter-increment:step;position:relative;padding:0 0 18px 48px}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800}.safety{border-left:5px solid var(--green);padding:18px 22px;background:#fff;border-radius:0 12px 12px 0}.calc-note{font-size:.9rem;color:var(--muted)}@media(max-width:800px){.calc-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 110px 64px}}

/* v17 no-photo presentation */
body.no-photos .hero .wrap{max-width:980px}
body.no-photos .pagehero .wrap{max-width:980px}
body.no-photos .hero-copy .lead{max-width:820px}
body.no-photos .story-grid{display:block;max-width:900px}
