@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#111b12;--deep:#0b120d;--mint:#a8d968;--lime:#8dc63f;--cream:#f3f5ef;--paper:#fcfdf9;--ink:#172017;--muted:#657063;--line:#dce5d6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1240px,calc(100% - 72px));margin:auto}.skip{position:absolute;left:-9999px;top:0;background:white;z-index:30;padding:10px}.skip:focus{left:10px}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,245,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e1e8dc}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:16px;letter-spacing:-3px;padding-right:3px}.brand-symbol span{color:var(--lime)}.brand-name{font:800 14px/1.1 Manrope,sans-serif;letter-spacing:.07em}.brand-name strong{display:block}.brand-name small{display:block;margin-top:5px;font-size:8px;letter-spacing:.21em;color:#698078}nav{display:flex;align-items:center;gap:24px}nav a{font-size:12px;font-weight:700;white-space:nowrap;transition:color .2s}nav a:hover{color:#4d851e}nav .shop-link{background:var(--green);color:white;padding:13px 19px;border-radius:3px}nav .shop-link:hover{color:white;background:#253e19}.menu-toggle{display:none}.hero{background:var(--green);color:#fff;position:relative;overflow:hidden}.hero-grid{min-height:680px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;position:relative}.hero-copy{position:relative;z-index:2;padding:90px 0}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:#527d2e}.eyebrow.light{color:#b7e27d}.hero h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(48px,5.25vw,84px);line-height:1.08;font-weight:800;margin:29px 0}.hero h1 em,h2 i{font-style:normal;color:#a8d968}.hero p{max-width:550px;color:#dce8d4;font-size:16px;line-height:1.9}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 21px;font-size:12px;letter-spacing:.03em;font-weight:800;transition:transform .2s,background .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-light{background:var(--lime);color:var(--deep)}.button-outline{border-color:#78955e;color:white}.button-dark{background:var(--green);color:white}.hero-credit{margin-top:85px;font-size:10px;letter-spacing:.17em;color:#b5cf9b}.hero-credit strong{color:white;margin-left:8px}.hero-art{position:relative;height:530px;display:grid;place-items:center}.ring{border:1px solid rgba(205,230,202,.25);border-radius:50%;position:absolute;aspect-ratio:1}.ring-a{width:90%}.ring-b{width:67%}.hero-art:after{content:'';position:absolute;width:48%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 25%,#5c8b73,#244b42 75%);box-shadow:0 25px 110px #0c2522}.art-monogram{position:relative;z-index:1;font:800 clamp(90px,13vw,205px)/1 Manrope,sans-serif;letter-spacing:-.14em;padding-right:.1em;color:#dceac9}.art-monogram span{color:#8dc63f}.art-word{position:absolute;top:7%;font-size:10px;letter-spacing:.3em;white-space:nowrap;color:#a9c9b0}.art-word span{color:#e1f0cc}.art-caption{position:absolute;bottom:4%;right:0;text-align:right;font-size:10px;line-height:1.9;letter-spacing:.18em;color:#a9c9b0}.hero-orb{position:absolute;border-radius:50%;background:#62836c;filter:blur(90px);opacity:.16}.orb-one{width:400px;height:400px;left:-200px;top:-200px}.orb-two{width:500px;height:500px;right:-250px;bottom:-250px}.section{padding:112px 0}.section-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:48px}.small-note{font-size:10px;letter-spacing:.14em;color:#9ba69c}.intro-grid{display:grid;grid-template-columns:1fr .75fr;gap:12%}h2{font-size:clamp(38px,5vw,70px);line-height:1.12;font-weight:800;margin:0 0 27px}h2 i{color:#7da186}.intro-grid p,.learning-grid p,.founder-copy p,.shop-grid p,.contact p{color:#5f6e66;line-height:1.95}.lead{font-size:19px!important;color:#283f35!important;line-height:1.7!important}.text-link{font-weight:800;border-bottom:1px solid var(--green);padding-bottom:7px;font-size:13px;display:inline-flex;gap:35px;margin-top:20px}.pillars{background:#edf2e7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar{background:var(--paper);padding:35px 31px 29px;min-height:500px;display:flex;flex-direction:column;transition:transform .2s}.pillar:hover{transform:translateY(-4px)}.pillar-num{font-size:10px;letter-spacing:.18em;font-weight:800;color:#63836b}.pillar-graphic{height:150px;display:flex;align-items:center;justify-content:center;gap:12px;margin:13px 0}.movement span{width:23px;height:75px;border:7px solid #8cac8b;border-radius:30px;transform:rotate(35deg)}.movement span:nth-child(2){height:110px;transform:rotate(-35deg);border-color:#b4d1ae}.movement span:nth-child(3){height:50px;transform:rotate(35deg)}.mindset span{position:absolute;border:2px solid #91b398;border-radius:50%;width:135px;height:135px}.mindset span:nth-child(2){width:90px;height:90px}.mindset span:nth-child(3){width:40px;height:40px;background:#a8c5a6}.mindset{position:relative}.learning span{height:100px;width:12px;background:#aecbad;transform:rotate(25deg);border-radius:12px}.learning span:nth-child(2){height:125px;background:#789b81}.learning span:nth-child(3){height:80px}.pillar h3{font-size:30px;line-height:1.13;margin:0 0 17px}.pillar p{color:#65736c;font-size:13px;line-height:1.9;flex:1}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag-row span{font-size:10px;background:#e7f0dd;padding:5px 9px;color:#466951}.statement{background:#e1edcf;padding:80px 0}.statement-grid{display:grid;grid-template-columns:75px 1fr;gap:18px}.quote-mark{font:800 110px/1 Georgia,serif;color:#7ca07e}.statement blockquote{margin:0;font:700 clamp(25px,3vw,44px)/1.4 Manrope,sans-serif;letter-spacing:-.04em;max-width:990px}.statement blockquote span{color:#74957a}.statement-label{grid-column:2;font-size:10px;letter-spacing:.16em;font-weight:800;margin-top:16px}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.learning-grid h2{margin-top:25px}.learning-grid .button{margin-top:20px}.practice-panel{background:#edf3e7;padding:35px}.practice-header{display:flex;justify-content:space-between;border-bottom:1px solid #cbd8ca;padding-bottom:20px;font-size:10px;font-weight:800;letter-spacing:.1em}.practice-header span{color:#7c9780}.practice-item{display:flex;gap:20px;border-bottom:1px solid #cbd8ca;padding:27px 0}.practice-item:last-child{border:0;padding-bottom:0}.practice-item b{font-size:12px;color:#739879}.practice-item strong{font-size:13px;letter-spacing:.06em}.practice-item p{font-size:13px;margin:6px 0 0;line-height:1.7}.founder{background:var(--deep);color:white}.founder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}.founder-visual{height:520px;background:linear-gradient(145deg,#456b56,#1c453d 60%,#365c4e);position:relative;display:grid;place-items:center;overflow:hidden}.founder-visual:before,.founder-visual:after{content:'';position:absolute;border:1px solid #8fae8f55;width:400px;height:400px;border-radius:50%;transform:translate(-80px,-80px)}.founder-visual:after{width:270px;height:270px;transform:translate(110px,100px)}.founder-initials{font:800 140px/1 Manrope,sans-serif;letter-spacing:-.1em;color:#d8e5ce;position:relative;z-index:1}.founder-visual-footer{position:absolute;bottom:26px;left:28px;font-size:10px;letter-spacing:.15em;color:#c7d9c9}.founder-copy h2{margin:26px 0}.founder-copy .founder-role{font-weight:800;color:#c5dec0;font-size:13px;line-height:1.7}.founder-copy p{color:#c4d4cc}.founder-copy .button{margin-top:20px}.shop-section{background:#e8f1dc}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.shop-grid h2{margin-top:26px}.shop-grid .button{margin-top:18px}.shop-art{min-height:420px;background:var(--green);padding:34px;color:#e2eed5;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(2deg);box-shadow:20px 22px 0 #c9dfae}.shop-art-small,.shop-art-bottom{font-size:10px;letter-spacing:.2em}.shop-art>div{font:800 clamp(35px,4vw,57px)/1.15 Manrope,sans-serif;letter-spacing:-.05em}.shop-art i{font-style:normal;color:#9dbf9e}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{margin-top:23px}.contact-options{align-self:center}.contact-options a{position:relative;display:block;padding:25px 40px 25px 0;border-bottom:1px solid var(--line)}.contact-options a:first-child{border-top:1px solid var(--line)}.contact-options a span:first-child{font-size:10px;color:#73917b;font-weight:800;letter-spacing:.12em}.contact-options strong{display:block;font-size:clamp(17px,2vw,25px);margin-top:7px;overflow-wrap:anywhere}.contact-options .arrow{position:absolute;right:8px;top:45%;font-size:20px}footer{background:#0b120d;color:#e8f1e2;padding:65px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:75px}.footer-brand{font:800 33px/1.15 Manrope,sans-serif;letter-spacing:-.04em}.footer-brand strong{color:#a9c9a7}.footer-brand small{display:block;font:700 9px DM Sans,sans-serif;letter-spacing:.2em;margin-top:15px}.footer-links{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;font-size:12px}.footer-links a:hover{color:#b6d2ad}.footer-bottom{border-top:1px solid #47645a;padding-top:22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#a2b9ac;font-size:10px}.footer-bottom a{color:#e3eddf}@media(max-width:1100px){nav{gap:13px}nav a{font-size:11px}.wrap{width:min(1240px,calc(100% - 48px))}.hero h1{font-size:clamp(45px,5.5vw,72px)}}@media(max-width:850px){.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent;border:1px solid var(--line);cursor:pointer}.menu-toggle span{width:19px;height:2px;background:var(--green)}nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:18px 24px 26px;box-shadow:0 20px 35px #0b120d20;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px 5px;font-size:13px;border-bottom:1px solid #e7e9e1}nav .shop-link{text-align:center;margin-top:12px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:80px 0 30px}.hero-art{height:330px;width:min(500px,100%);margin:auto}.hero-credit{margin-top:50px}.art-monogram{font-size:130px}.intro-grid,.learning-grid,.founder-grid,.shop-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.cards{grid-template-columns:1fr}.pillar{min-height:0}.pillar-graphic{height:115px}.founder-visual{height:330px}.founder-initials{font-size:105px}.shop-art{min-height:320px;transform:none;box-shadow:12px 12px 0 #c9dfae}.section{padding:80px 0}}@media(max-width:520px){.wrap{width:calc(100% - 36px)}.nav{height:72px}.brand-symbol{width:40px;height:40px}.brand-name{font-size:12px}nav{top:71px}.hero h1{font-size:clamp(38px,10.5vw,56px)}.hero p{font-size:14px}.hero-art{height:275px}.art-monogram{font-size:100px}.art-caption{font-size:8px}.art-word{font-size:8px}.section{padding:65px 0}.section-top{margin-bottom:30px}.small-note{display:none}.intro-grid h2,h2{font-size:clamp(36px,9vw,49px)}.statement{padding:50px 0}.statement-grid{grid-template-columns:35px 1fr;gap:9px}.quote-mark{font-size:60px}.statement blockquote{font-size:22px}.practice-panel{padding:23px}.footer-top{flex-direction:column;padding-bottom:45px}.footer-links{gap:15px}.contact-options strong{font-size:18px}}

/* Official The Body Principle logo in site header */
.brand{min-width:0}
.site-logo{display:block;width:170px;height:72px;object-fit:contain;object-position:left center}
@media(max-width:520px){
  .site-logo{width:126px;height:60px}
}

/* 2026 TBP brand refresh: match the official charcoal + vivid green mark */
:root {
  --green:#111b12;
  --deep:#0b120d;
  --mint:#a8d968;
  --lime:#8dc63f;
  --cream:#f3f5ef;
  --paper:#fcfdf9;
  --ink:#172017;
  --muted:#657063;
  --line:#dce5d6;
}
.site-header {background:rgba(252,253,249,.97);border-bottom:1px solid #dce5d6}
.site-logo {width:192px;height:76px;object-fit:contain;object-position:left center}
.nav {min-height:88px;height:auto}
nav .shop-link,.button-dark {background:#8dc63f;color:#111b12}
nav .shop-link:hover,.button-dark:hover {background:#76b12c;color:#0b120d}
nav a:hover,.text-link:hover {color:#4d851e}
.hero {background:radial-gradient(ellipse at 80% 40%,#263d19 0%,#111b12 53%,#090e0a 100%)}
.hero h1 em {color:#a8d968}
.hero .button-light {background:#8dc63f;color:#0b120d}
.hero .button-outline {border-color:#8caa72}
.hero-art:after {background:radial-gradient(circle at 35% 25%,#537d2b,#172717 75%);box-shadow:0 25px 110px #050a05}
.art-monogram span {color:#8dc63f}
.hero-orb {background:#8dc63f}
.pillars {background:#eef3e8}
.pillar {border-top:3px solid #8dc63f}
.pillar-num,.practice-item b {color:#54872d}
.movement span {border-color:#7fb63c}
.movement span:nth-child(2) {border-color:#b1d97c}
.mindset span {border-color:#8dc63f}
.mindset span:nth-child(3) {background:#8dc63f}
.learning span {background:#b1d97c}
.learning span:nth-child(2) {background:#6e9f32}
.statement {background:#e3efcf}
.statement blockquote span,.statement .quote-mark {color:#5d902e}
.founder {background:#0b120d}
.founder-visual {background:linear-gradient(145deg,#354e22,#111b12 65%,#253a1a)}
.founder-initials {color:#b6dc86}
.founder-copy .founder-role {color:#a8d968}
.shop-section {background:#e8f1dc}
.shop-art {background:#111b12;color:#edf7e5;box-shadow:20px 22px 0 #c9dfae}
.shop-art i {color:#a8d968}
.contact-options a span:first-child {color:#56832e}
footer {background:#090e0a}
.footer-brand strong {color:#a8d968}
@media(max-width:850px) {
  nav {background:#fcfdf9}
  .menu-toggle span {background:#111b12}
}
@media(max-width:520px) {
  .site-logo {width:150px;height:62px}
  .nav {min-height:72px}
  .shop-art {box-shadow:12px 12px 0 #c9dfae}
}
