:root{--ink:#11110f;--paper:#f3f1eb;--stone:#dedbd3;--cream:#fffaf1;--white:#fff;--muted:#66655e;--deep:#1a1a19;--red:#11110f;--line:rgba(17,17,15,.17);--shell:min(1320px,calc(100% - 48px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%}
img{display:block}
a{color:inherit}
.section-shell{width:var(--shell);margin-inline:auto}
.site-header{height:92px;padding-inline:max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,241,235,.96);backdrop-filter:blur(14px);position:relative;top:0;z-index:50}
.brand{text-decoration:none;font:600 .72rem/1.05 Manrope,sans-serif;letter-spacing:.13em;display:flex;flex-direction:column;min-width:max-content}
.brand strong{font-size:1rem;letter-spacing:.03em}
.site-header .header-logo{position:relative;display:flex;align-items:center;flex:0 0 auto;width:315px;height:46px;min-width:0;overflow:visible}
.site-header .header-logo img{position:static;width:315px;height:auto;max-width:100%}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px)}
.site-header nav a{text-decoration:none;font-size:.9rem;white-space:nowrap}
.site-header nav a:not(.nav-cta){padding-block:8px;border-bottom:1px solid transparent}
.site-header nav a:not(.nav-cta):hover,.site-header nav a[aria-current=page]{border-color:var(--ink)}
.nav-cta{border:1px solid var(--ink);padding:10px 18px;border-radius:100px}
.cart-control{display:inline-flex;align-items:center;margin-left:-8px}
.cart-control button{color:var(--ink)}
.menu{display:none;background:none;border:0;font:600 .85rem Manrope;letter-spacing:.04em;text-transform:uppercase;padding:8px 0}
h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:.98;margin:.25em 0}
h1{font-size:clamp(3.35rem,7.4vw,7.45rem)}
h2{font-size:clamp(2.55rem,5vw,5.35rem)}
p{margin-top:0}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:600}
.eyebrow{color:#555}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;padding:9px 9px 9px 21px;border:1px solid var(--ink);border-radius:3px;text-decoration:none;font:600 .92rem Manrope,sans-serif;background:transparent;color:var(--ink);cursor:pointer}
.button.primary{background:var(--ink);color:var(--white)}
.button.inverted{background:var(--white);border-color:var(--white);color:var(--ink)}
.button.outline{background:transparent;color:var(--ink)}
.arrow-box{width:38px;height:38px;display:grid;place-items:center;background:var(--white);color:var(--ink);border-radius:2px;flex:0 0 auto}
.arrow-box svg,.line-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.text-link{display:inline-flex;align-items:center;gap:28px;text-decoration:none;border-bottom:1px solid;padding-bottom:5px;font-weight:600}
.line-arrow{display:inline-flex;color:var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.hero{min-height:calc(100svh - 92px);padding-block:clamp(60px,8vw,112px) 42px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.68fr);gap:clamp(34px,5vw,86px);align-items:center;position:relative}
.hero:after{content:'13';position:absolute;right:-4vw;top:0;font:800 clamp(17rem,34vw,34rem)/1 Manrope;color:rgba(17,17,15,.032);z-index:-1;pointer-events:none}
.hero-copy{max-width:850px}
.hero h1 em{font-style:normal;color:#595957}
.lead{max-width:720px;font-size:clamp(1.12rem,1.8vw,1.45rem);color:#44433f}
.hero-portrait{margin:0;position:relative;align-self:stretch;min-height:560px;overflow:hidden;background:#d6d6d3}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}
.hero-portrait figcaption{position:absolute;bottom:18px;left:18px;background:var(--ink);color:var(--white);padding:7px 11px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.proofbar{grid-column:1/-1;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-top:22px;gap:20px}
.proofbar div{display:flex;flex-direction:column}
.proofbar strong{font:700 1.22rem Manrope}
.proofbar span{color:var(--muted);font-size:.9rem}

.manifesto{background:var(--ink);color:var(--cream);padding-block:clamp(78px,11vw,165px)}
.manifesto p{max-width:1180px;font:600 clamp(2.25rem,5.25vw,5.75rem)/1.12 Manrope;letter-spacing:-.05em;margin:0}
.video-story{padding-block:clamp(82px,10vw,145px);display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.15fr);gap:clamp(40px,7vw,105px);align-items:center}
.section-intro p:last-child,.gallery-heading>p{max-width:500px;font-size:1.08rem;color:var(--muted)}
.video-frame{background:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.video-frame video{width:100%;display:block;aspect-ratio:16/9;object-fit:contain;background:#000}

.lecture{padding-block:clamp(82px,10vw,145px);border-top:1px solid var(--line);display:grid;grid-template-columns:52px minmax(0,1.15fr) minmax(290px,.68fr);gap:clamp(25px,4.5vw,72px);align-items:start}
.section-number{font:600 .8rem Manrope;color:#5c5b56;padding-top:12px}
.lecture-copy>p:not(.kicker){font-size:1.13rem;max-width:690px;color:#45443f}
.check-list{list-style:none;padding:0;margin:30px 0}
.check-list li{padding:13px 0;border-top:1px solid var(--line)}
.check-list li:before{content:'';display:inline-block;width:7px;height:7px;background:var(--ink);margin-right:13px;vertical-align:2px}
.quote-card{align-self:end;background:var(--ink);color:var(--white);padding:34px;margin:0}
.quote-card blockquote{font:600 1.35rem/1.35 Manrope;margin:0 0 34px}
.quote-card cite{font-style:normal;font-size:.8rem;color:#d8d8d5}

.gallery-section{background:#e5e2db;padding-block:clamp(80px,9vw,130px)}
.gallery-heading{display:grid;grid-template-columns:1fr .6fr;gap:8vw;align-items:end;margin-bottom:44px}
.gallery-heading h2{margin-bottom:0}
.gallery-heading>p{margin-bottom:5px}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(190px,17vw,270px);gap:16px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#bbb;min-width:0}
.gallery-grid .gallery-wide{grid-column:1/-1;grid-row:span 2}
.gallery-grid .gallery-portrait{grid-column:span 3;grid-row:span 2}
.gallery-grid .gallery-landscape{grid-column:span 4}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-grid figure:hover img{transform:scale(1.018)}

.media-section{background:var(--paper);padding-block:clamp(85px,10vw,145px)}
.media-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);gap:clamp(45px,10vw,150px);align-items:center}
.media-copy{max-width:750px}
.media-copy>p:not(.kicker){font-size:1.15rem;max-width:650px;color:#494843}
.media-label{display:inline-block;border-top:1px solid var(--ink);padding-top:12px;margin-top:16px;font-size:.79rem;text-transform:uppercase;letter-spacing:.1em}
.phone-video{justify-self:center;background:#000;padding:10px;box-shadow:0 28px 70px rgba(0,0,0,.22);max-width:390px;width:100%}
.phone-video video{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;transform:none;background:#000}

.coaching{background:var(--deep);color:var(--white);padding-block:clamp(88px,10vw,145px)}
.coaching-grid{display:grid;grid-template-columns:52px 1fr;gap:clamp(25px,4.5vw,72px)}
.light-number,.coaching .kicker{color:#aaa}
.coaching-copy{max-width:1120px}
.coaching-copy>p:not(.kicker){font-size:1.14rem;max-width:720px;color:#d9d9d5}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.35);margin:38px 0}
.steps div{display:flex;flex-direction:column;padding:22px 28px 22px 0;border-right:1px solid rgba(255,255,255,.16)}
.steps div:last-child{border-right:0}
.steps b{font-size:.74rem;margin-bottom:12px;color:#aaa}
.story{padding-block:clamp(88px,11vw,155px);display:grid;grid-template-columns:1.15fr .75fr;gap:9vw}
.story-heading span{color:#555;font:600 .78rem Manrope;text-transform:uppercase;letter-spacing:.13em}
.story-copy{padding-top:40px;font-size:1.14rem;color:#41403c}

.book-teaser{background:#d7d1c5;padding-block:clamp(78px,9vw,128px)}
.book-teaser-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1fr);gap:clamp(48px,8vw,120px);align-items:center}
.book-teaser-image{aspect-ratio:4/5;overflow:hidden;background:#c8bdaa}
.book-teaser-image img{width:100%;height:100%;object-fit:cover}
.book-teaser-copy>p:not(.kicker){font-size:1.14rem;max-width:620px;color:#46423d}
.book-price{display:flex;align-items:baseline;gap:15px;margin:28px 0}
.book-price span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.book-price strong{font:700 2.15rem Manrope}
.book-price del{color:#6f6a63}

.reviews{padding-block:92px;background:var(--stone)}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.review-grid figure{margin:0;padding:35px 0;border-top:1px solid}
.review-grid blockquote{font:600 clamp(1.35rem,2.4vw,2.15rem)/1.3 Manrope;margin:0 0 34px}
.review-grid figcaption{font-size:.84rem}
.contact{padding-block:clamp(82px,10vw,140px);display:grid;grid-template-columns:.78fr 1fr;gap:8vw}
.contact h2{font-size:clamp(2.45rem,4.2vw,4.6rem)}
.contact form{display:flex;flex-direction:column;gap:22px}
.contact label{font-size:.8rem;font-weight:600;display:flex;flex-direction:column;gap:8px}
.contact input,.contact textarea,.contact select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:11px 0;font:400 1rem DM Sans;border-radius:0;color:var(--ink)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact form .button{align-self:flex-start}
footer{background:var(--ink);color:var(--white);padding-block:58px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px}
.footer-contact{display:flex;flex-direction:column}
.footer-contact a{text-decoration:none}
footer p{margin:0;color:#aaa;font-size:.84rem;text-align:right}

/* Book shop */
.book-page{background:#eee9df}
.product-hero{padding-block:clamp(55px,7vw,105px);display:grid;grid-template-columns:minmax(330px,.86fr) minmax(0,1fr);gap:clamp(45px,8vw,125px);align-items:center}
.product-image{aspect-ratio:3/4;overflow:hidden;background:#d8cbb9}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-copy h1{font-size:clamp(3.8rem,7vw,7.5rem)}
.product-lead{font-size:1.2rem;max-width:690px;color:#45423d}
.product-copy blockquote{font:600 clamp(1.35rem,2.2vw,2rem)/1.35 Manrope;margin:34px 0;padding-left:22px;border-left:3px solid var(--red);max-width:650px}
.product-price{display:flex;align-items:baseline;gap:16px;margin:30px 0 22px}
.product-price del{color:#777168}.product-price strong{font:700 2.45rem Manrope;color:var(--red)}
.order-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.order-row label{width:86px}.order-row input{height:58px;border:1px solid var(--ink);padding:0 12px;text-align:center;background:var(--white)}
.checkout-note{font-size:.82rem;color:#716d66;margin-top:13px}
.book-story{background:var(--ink);color:var(--white);padding-block:clamp(85px,10vw,145px)}
.book-story-grid{display:grid;grid-template-columns:1fr .7fr;gap:9vw}
.book-body-copy{font-size:1.16rem;color:#d6d4cf;padding-top:36px}
.purchase-details{padding-block:clamp(75px,9vw,125px);display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.purchase-details article{border-top:1px solid var(--ink);padding-top:22px}
.purchase-details article>span{font:600 .74rem Manrope;color:#777168}
.purchase-details h3{font-size:1.55rem;letter-spacing:-.035em;margin-top:28px}
.purchase-details p{color:#5e5a53}
.book-final-cta{background:var(--red);color:var(--white);padding-block:clamp(80px,10vw,140px)}
.book-final-cta .section-shell{max-width:1050px;text-align:center}
.book-final-cta h2{margin-inline:auto;margin-bottom:38px}
.book-final-cta .button{margin-inline:auto}
.book-buy{margin-top:20px}.book-buy.compact{display:flex;justify-content:center}
.book-buy-row{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.book-quantity{display:flex;align-items:center;border:1px solid var(--ink);min-height:58px;background:rgba(255,255,255,.45)}
.book-quantity button{width:42px;height:100%;border:0;background:transparent;font-size:1.2rem;cursor:pointer}.book-quantity button:disabled{opacity:.35}.book-quantity span{min-width:25px;text-align:center;font-variant-numeric:tabular-nums}
.book-buy .button:disabled{opacity:.5;cursor:not-allowed}.stock-note{font-size:.8rem;color:#716d66;margin:10px 0 0}.stock-note.error{color:#8c2828}

@media(max-width:1000px){
  .site-header nav{gap:17px}
  .hero{grid-template-columns:minmax(0,1fr) minmax(280px,.56fr)}
  .lecture{grid-template-columns:42px 1fr}.quote-card{grid-column:2;margin-top:12px;max-width:620px}
}
@media(max-width:760px){
  :root{--shell:min(100% - 34px,1320px)}
  .site-header{height:74px;padding-inline:17px;position:relative}.site-header .header-logo{width:224px;height:34px}.site-header .header-logo img{width:224px}.menu{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:23px 17px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);gap:14px}.site-header nav.open{display:flex}.nav-cta{margin-top:5px}.cart-control{margin-left:0}
  h1{font-size:clamp(3rem,15vw,4.7rem)}h2{font-size:clamp(2.35rem,11vw,3.8rem)}
  .hero{min-height:auto;padding-block:65px 32px;grid-template-columns:1fr;gap:34px}.hero:after{top:7vh}.hero-portrait{min-height:480px}.proofbar{grid-column:1;grid-template-columns:1fr;gap:18px}
  .button{width:100%;max-width:390px}.actions{flex-direction:column}
  .manifesto p br{display:none}
  .video-story,.media-grid,.story,.book-teaser-grid,.contact,.product-hero,.book-story-grid{grid-template-columns:1fr}
  .video-story{gap:32px}.lecture{grid-template-columns:31px 1fr;gap:16px}.quote-card{grid-column:2;padding:27px}
  .gallery-heading{grid-template-columns:1fr;gap:22px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.gallery-grid .gallery-wide,.gallery-grid .gallery-portrait,.gallery-grid .gallery-landscape{grid-column:1;grid-row:auto}.gallery-grid figure{aspect-ratio:4/3}.gallery-grid .gallery-wide{aspect-ratio:16/9}.gallery-grid .gallery-portrait{aspect-ratio:4/5}
  .media-grid{gap:40px}.phone-video{max-width:330px}
  .coaching-grid{grid-template-columns:31px 1fr;gap:16px}.steps{grid-template-columns:1fr}.steps div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .story-copy{padding-top:0}.book-teaser-grid{gap:36px}.book-teaser-image{aspect-ratio:4/5}
  .review-grid,.fields,.purchase-details{grid-template-columns:1fr}.review-grid{gap:0}
  .footer-grid{grid-template-columns:1fr;align-items:start}.footer-grid p{text-align:left}
  .product-hero{gap:35px}.product-image{aspect-ratio:4/5}.order-row{align-items:stretch}.order-row label{width:100%}.order-row input{width:92px}.external-order{width:100%}.book-buy-row{flex-direction:column}.book-quantity{align-self:flex-start}.book-buy.compact .button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}}

/* A single row keeps the venue gallery compact. */
.gallery-controls{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-bottom:20px}
.gallery-arrow{width:48px;height:48px;border:1px solid #111;background:transparent;color:#111;display:grid;place-items:center;cursor:pointer}
.gallery-arrow svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.gallery-arrow:hover{background:#fff6}.gallery-arrow:disabled{opacity:.3;cursor:default}
.gallery-arrow:focus-visible,.gallery-grid:focus-visible{outline:2px solid #111;outline-offset:5px}
.gallery-status{font-size:.8rem;min-width:72px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-carousel .gallery-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-rows:unset;overscroll-behavior-x:contain}
.gallery-carousel .gallery-grid::-webkit-scrollbar{display:none}
.gallery-carousel .gallery-grid figure{flex:0 0 calc((100% - 36px)/3);aspect-ratio:4/3;scroll-snap-align:start;grid-column:auto;grid-row:auto}
.gallery-carousel .gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#d9d6cf}
@media(max-width:600px){.gallery-carousel .gallery-grid figure{flex-basis:100%;aspect-ratio:4/3}.gallery-controls{gap:16px}}

[aria-labelledby="video-title"] .video-frame video{height:auto;aspect-ratio:auto;object-fit:contain}
