/*
Theme Name: ZenFudo
Theme URI: https://zenfudo.com
Author: Michael Storm
Author URI: https://mikestorm.com
Description: Enterprise-focused ZenFudo theme for the complete free Method, professional applications, founder-led keynotes and half-day workshops, with secondary practice applications and processor-neutral commerce.
Version: 8.4.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zenfudo
Tags: one-column, custom-colors, custom-menu, editor-style, featured-images, full-width-template, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root{
  --zf-ink:#12100f;
  --zf-ink-2:#1c1917;
  --zf-ink-3:#2a2523;
  --zf-paper:#faf8f5;
  --zf-paper-2:#f2eee8;
  --zf-line:#e2dcd3;
  --zf-line-dark:#332d2a;
  --zf-body:#4a4340;
  --zf-body-invert:#c9c1ba;
  --zf-accent:#c1392b;
  --zf-accent-hot:#e04b31;
  --zf-accent-soft:#f6e7e3;
  --zf-ember:#d99a2b;
  --zf-life:#2f5d5b;
  --zf-life-lite:#7fb5b0;
  --zf-life-soft:#e6efee;
  --zf-radius:2px;
  --zf-maxw:1140px;
  --zf-narrow:720px;
  --zf-font-display:"Barlow Condensed","Oswald","Helvetica Neue",Impact,sans-serif;
  --zf-font-body:"Inter","Helvetica Neue",Arial,sans-serif;
  --zf-font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --zf-shadow:0 18px 50px -20px rgba(18,16,15,.35);
  --zf-ease:cubic-bezier(.16,.84,.44,1);
}

/* ==========================================================================
   2. Reset + base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{
  margin:0;
  background:var(--zf-paper);
  color:var(--zf-body);
  font-family:var(--zf-font-body);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--zf-accent);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{
  font-family:var(--zf-font-display);
  color:var(--zf-ink);
  font-weight:600;
  line-height:1.03;
  letter-spacing:-.01em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:clamp(2.9rem,7.2vw,5.4rem);text-transform:uppercase;letter-spacing:-.02em}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);text-transform:uppercase}
h3{font-size:clamp(1.25rem,2vw,1.55rem);text-transform:uppercase;letter-spacing:.01em}
h4{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
::selection{background:var(--zf-accent);color:#fff}
:focus-visible{outline:3px solid var(--zf-accent);outline-offset:3px;border-radius:2px}

.zf-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--zf-ink);color:#fff;padding:14px 22px;font-weight:600;
}
.zf-skip:focus{left:8px;top:8px}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}

/* ==========================================================================
   3. Layout helpers
   ========================================================================== */

.zf-wrap{width:100%;max-width:var(--zf-maxw);margin:0 auto;padding:0 24px}
.zf-narrow{max-width:var(--zf-narrow);margin-left:auto;margin-right:auto}
.zf-section{padding:clamp(72px,9vw,132px) 0;position:relative}
.zf-section--tight{padding:clamp(56px,6vw,88px) 0}
.zf-dark{background:var(--zf-ink);color:var(--zf-body-invert)}
.zf-dark h1,.zf-dark h2,.zf-dark h3,.zf-dark h4,
.zf-hero h1,.zf-hero h2,.zf-hero h3,
.zf-offer h1,.zf-offer h2,.zf-offer h3,
.zf-offer h1,.zf-offer h2,.zf-offer h3,
.zf-page-hero h1,.zf-page-hero h2,.zf-page-hero h3{color:#fff}
.zf-alt{background:var(--zf-paper-2)}
.zf-center{text-align:center}
.zf-eyebrow{
  font-family:var(--zf-font-body);
  font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--zf-accent);margin:0 0 18px;display:flex;align-items:center;gap:12px;
}
.zf-center .zf-eyebrow{justify-content:center}
.zf-eyebrow::before,.zf-eyebrow::after{content:"";height:1px;width:26px;background:currentColor;opacity:.5}
.zf-eyebrow::before{display:none}
.zf-center .zf-eyebrow::before{display:block}
.zf-dark .zf-eyebrow,.zf-hero .zf-eyebrow,.zf-offer .zf-eyebrow,.zf-page-hero .zf-eyebrow{color:var(--zf-ember)}
.zf-lede{font-size:clamp(1.1rem,1.7vw,1.32rem);line-height:1.6;color:var(--zf-body)}
.zf-dark .zf-lede,.zf-hero .zf-lede,.zf-offer .zf-lede{color:var(--zf-body-invert)}
.zf-offer p{color:var(--zf-body-invert)}
.zf-rule{width:54px;height:3px;background:var(--zf-accent);border:0;margin:0 0 28px}
.zf-center .zf-rule{margin-left:auto;margin-right:auto}

/* ==========================================================================
   4. Buttons
   ========================================================================== */

.zf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--zf-font-body);
  font-size:.88rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:17px 30px;border-radius:var(--zf-radius);border:2px solid transparent;
  text-decoration:none;cursor:pointer;line-height:1;
  transition:transform .22s var(--zf-ease),background-color .22s,color .22s,border-color .22s,box-shadow .22s;
}
.zf-btn:hover{transform:translateY(-2px)}
.zf-btn:active{transform:translateY(0)}
.zf-btn--primary{background:var(--zf-accent);color:#fff;box-shadow:0 10px 26px -12px rgba(193,57,43,.9)}
.zf-btn--primary:hover{background:var(--zf-accent-hot);color:#fff;box-shadow:0 16px 34px -12px rgba(224,75,49,.95)}
.zf-btn--ghost{background:transparent;color:var(--zf-ink);border-color:var(--zf-line)}
.zf-btn--ghost:hover{border-color:var(--zf-ink);color:var(--zf-ink)}
.zf-dark .zf-btn--ghost,.zf-hero .zf-btn--ghost,.zf-offer .zf-btn--ghost,.zf-page-hero .zf-btn--ghost{color:#fff;border-color:rgba(255,255,255,.28)}
.zf-dark .zf-btn--ghost:hover,.zf-hero .zf-btn--ghost:hover,.zf-offer .zf-btn--ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.zf-btn--block{width:100%}
.zf-btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.zf-center .zf-btn-row{justify-content:center}

/* ==========================================================================
   5. Header
   ========================================================================== */

.zf-header{
  position:sticky;top:0;z-index:120;
  background:rgba(18,16,15,.86);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background-color .3s;
}
.zf-header__inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:70px}
.zf-brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.zf-brand img{max-height:38px;width:auto}
.zf-brand__lock{display:flex;flex-direction:column;gap:2px}
.zf-brand__text{
  font-family:var(--zf-font-display);font-size:1.55rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:#fff;line-height:1;
}
.zf-brand__sub{
  font-family:var(--zf-font-mono);font-size:.54rem;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(255,255,255,.66);line-height:1;
}
@media(max-width:520px){.zf-brand__sub{display:none}}
.zf-brand__mark{
  width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  border:2px solid var(--zf-accent);position:relative;
}
.zf-brand__mark::after{
  content:"";position:absolute;inset:6px;border-radius:50%;background:var(--zf-accent);
}
.zf-nav{display:flex;align-items:center;gap:8px}
.zf-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.zf-nav a{
  color:rgba(255,255,255,.78);text-decoration:none;
  font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  padding:10px 13px;border-radius:2px;transition:color .2s,background-color .2s;
}
.zf-nav a:hover,.zf-nav .current-menu-item>a{color:#fff;background:rgba(255,255,255,.07)}
.zf-header .zf-btn{padding:13px 22px;font-size:.76rem}
.zf-burger{
  display:none;background:none;border:0;padding:10px;cursor:pointer;
  color:#fff;line-height:0;border-radius:2px;
}
.zf-burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:transform .3s var(--zf-ease),opacity .2s}
.zf-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.zf-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.zf-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:900px){
  .zf-burger{display:block}
  .zf-nav{
    position:absolute;left:0;right:0;top:100%;
    background:var(--zf-ink);border-bottom:1px solid rgba(255,255,255,.1);
    flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 22px;
    display:none;
  }
  .zf-nav.is-open{display:flex}
  .zf-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .zf-nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.9rem}
  .zf-header .zf-btn{margin-top:16px;width:100%}
  .zf-header__cta-desktop{display:none}
}

/* ==========================================================================
   6. Hero
   ========================================================================== */

.zf-hero{
  position:relative;background:var(--zf-ink);color:var(--zf-body-invert);
  padding:clamp(72px,10vw,140px) 0 clamp(64px,8vw,110px);
  overflow:hidden;isolation:isolate;
}
/* On a desktop the hero owns the first screen: the header is sticky and in
   flow, so the hero takes the rest of the viewport and centers its content.
   Phones keep the natural height so the form is never pushed below the fold
   by an arbitrary minimum. */
@media(min-width:861px){
  .zf-hero{
    min-height:calc(100svh - var(--zf-header-h,70px));
    display:flex;align-items:center;
  }
  .zf-hero>.zf-wrap{width:100%}
}
.zf-hero__bg{position:absolute;inset:0;z-index:-2}
.zf-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.zf-hero__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 90% at 78% 12%,rgba(193,57,43,.30) 0%,rgba(193,57,43,0) 58%),
    linear-gradient(180deg,rgba(18,16,15,.80) 0%,rgba(18,16,15,.90) 55%,rgba(18,16,15,.97) 100%);
}
.zf-hero--noimg .zf-hero__scrim{
  background:
    radial-gradient(120% 90% at 80% 8%,rgba(193,57,43,.26) 0%,rgba(193,57,43,0) 60%),
    radial-gradient(80% 70% at 8% 96%,rgba(217,154,43,.13) 0%,rgba(217,154,43,0) 62%),
    linear-gradient(180deg,#191614 0%,#12100f 100%);
}
.zf-hero__grid{
  position:absolute;inset:0;z-index:-1;opacity:.16;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%);
}
.zf-hero__inner{position:relative;max-width:900px}
.zf-hero h1{margin-bottom:26px}
.zf-hero h1 .zf-hl{color:var(--zf-accent-hot);display:block}
.zf-hero__sub{
  font-size:clamp(1.12rem,2vw,1.42rem);line-height:1.55;color:#e6e0da;
  max-width:640px;margin-bottom:10px;font-weight:400;
}
.zf-hero__note{
  margin-top:26px;font-size:.82rem;letter-spacing:.04em;color:rgba(255,255,255,.5);
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.zf-hero__note strong{color:var(--zf-ember);font-weight:600}
.zf-hero__stats{
  display:flex;flex-wrap:wrap;gap:36px;margin-top:52px;
  padding-top:32px;border-top:1px solid rgba(255,255,255,.13);
}
.zf-stat__k{
  font-family:var(--zf-font-display);font-size:2.05rem;color:#fff;line-height:1;
  display:block;margin-bottom:7px;letter-spacing:.01em;
}
.zf-stat__l{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.52)}

/* ==========================================================================
   7. Marquee strip
   ========================================================================== */

.zf-strip{background:var(--zf-accent);color:#fff;padding:15px 0;overflow:hidden}
.zf-strip__track{
  display:flex;gap:44px;white-space:nowrap;width:max-content;
  animation:zf-scroll 34s linear infinite;
}
.zf-strip:hover .zf-strip__track{animation-play-state:paused}
.zf-strip span{
  font-family:var(--zf-font-display);font-size:1.02rem;letter-spacing:.2em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:44px;
}
.zf-strip span::after{content:"";width:5px;height:5px;background:rgba(255,255,255,.6);border-radius:50%}
@keyframes zf-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.zf-strip__track{animation:none}}

/* ==========================================================================
   8. Generic content blocks
   ========================================================================== */

.zf-head{max-width:760px;margin-bottom:56px}
.zf-center .zf-head{margin-left:auto;margin-right:auto}
.zf-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,76px);align-items:center}
.zf-split--wide{grid-template-columns:1.05fr .95fr}
@media (max-width:860px){.zf-split,.zf-split--wide{grid-template-columns:1fr;gap:40px}}
.zf-figure{position:relative}
.zf-figure img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--zf-radius);box-shadow:var(--zf-shadow);
}
.zf-figure--wide img{aspect-ratio:3/2}
.zf-figure__ph{
  width:100%;aspect-ratio:4/5;border-radius:var(--zf-radius);
  background:linear-gradient(150deg,#211d1b 0%,#12100f 60%),var(--zf-ink);
  border:1px solid var(--zf-line-dark);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;
  position:relative;overflow:hidden;
}
.zf-figure--wide .zf-figure__ph{aspect-ratio:3/2}
.zf-figure__ph span{
  position:relative;z-index:1;
  font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;color:rgba(255,255,255,.42);
  max-width:220px;line-height:1.7;
}
.zf-figure__tag{
  position:absolute;left:-14px;bottom:26px;background:var(--zf-accent);color:#fff;
  font-family:var(--zf-font-display);font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;
  padding:11px 20px;box-shadow:var(--zf-shadow);
}
@media (max-width:860px){.zf-figure__tag{left:0}}
.zf-figure__tag--flow{position:relative;left:0;bottom:0;display:inline-block;margin-top:-26px;z-index:2}

/* ==========================================================================
   9. Kanji / meaning block
   ========================================================================== */

.zf-kanji{
  font-family:"Hiragino Mincho ProN","Yu Mincho","MS Mincho",serif;
  font-size:clamp(5rem,13vw,10rem);line-height:.9;color:var(--zf-accent);
  opacity:.95;margin:0 0 14px;display:block;
}
.zf-kanji__romaji{
  font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:30px;
}
.zf-meaning__card{
  border-left:3px solid var(--zf-accent);padding:6px 0 6px 26px;margin-top:32px;
}
.zf-meaning__card p{font-size:1.13rem;line-height:1.6;color:#fff;font-style:italic}

/* ==========================================================================
   10. Cards / grids
   ========================================================================== */

.zf-grid{display:grid;gap:26px}
.zf-grid--3{grid-template-columns:repeat(3,1fr)}
.zf-grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.zf-grid--3{grid-template-columns:1fr}.zf-grid--2{grid-template-columns:1fr}}

.zf-card{
  background:#fff;border:1px solid var(--zf-line);border-radius:var(--zf-radius);
  padding:34px 30px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .28s var(--zf-ease),box-shadow .28s,border-color .28s;
}
.zf-card:hover{transform:translateY(-4px);box-shadow:var(--zf-shadow);border-color:#cdc5ba}
.zf-card__num{
  font-family:var(--zf-font-display);font-size:.9rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zf-accent);margin-bottom:16px;display:block;
}
.zf-card h3{margin-bottom:12px}
.zf-card p{font-size:.98rem;margin:0}
.zf-card p + .zf-card__status{margin-top:auto;padding-top:18px}
.zf-card__status{margin-block-start:22px}
.zf-card__img{
  width:100%;aspect-ratio:16/10;object-fit:cover;margin:-34px -30px 26px;
  width:calc(100% + 60px);max-width:none;
}

.zf-pillar{
  padding:34px 30px;border:1px solid var(--zf-line-dark);border-radius:var(--zf-radius);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,0));
  transition:border-color .28s,transform .28s var(--zf-ease);
}
.zf-pillar:hover{border-color:rgba(193,57,43,.6);transform:translateY(-4px)}
.zf-pillar h3{color:#fff;margin-bottom:12px;font-size:1.6rem}
.zf-pillar p{color:var(--zf-body-invert);font-size:.98rem;margin:0}
.zf-pillar__k{
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:2.1rem;color:var(--zf-accent);line-height:1;margin-bottom:16px;display:block;
}

/* ==========================================================================
   11. Session walkthrough
   ========================================================================== */

.zf-steps{list-style:none;margin:0;padding:0;counter-reset:zfstep}
.zf-step{
  display:grid;grid-template-columns:88px 1fr;gap:28px;
  padding:30px 0;border-top:1px solid var(--zf-line);align-items:start;
}
.zf-step:last-child{border-bottom:1px solid var(--zf-line)}
.zf-step__time{
  font-family:var(--zf-font-display);font-size:1.5rem;color:var(--zf-accent);line-height:1.1;
  letter-spacing:.02em;
}
.zf-step__time small{display:block;font-family:var(--zf-font-body);font-size:.65rem;letter-spacing:.16em;
  text-transform:uppercase;color:#9c938c;margin-top:5px;font-weight:600}
.zf-step h3{margin-bottom:9px;font-size:1.3rem}
.zf-step p{margin:0;font-size:1rem}
@media (max-width:640px){
  .zf-step{grid-template-columns:1fr;gap:12px}
  .zf-step__time small{display:inline;margin-left:10px}
}

/* ==========================================================================
   12. Founder
   ========================================================================== */


.zf-founder .zf-figure img{aspect-ratio:1/1}
.zf-founder .zf-figure__ph{aspect-ratio:1/1}
.zf-founder__quote{
  font-family:var(--zf-font-display);font-size:clamp(1.5rem,2.6vw,2rem);
  line-height:1.24;color:#fff;text-transform:none;letter-spacing:0;
  border-left:3px solid var(--zf-accent);padding-left:24px;margin:0 0 28px;
}
.zf-founder__sig{
  margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
}
.zf-founder__name{
  font-family:var(--zf-font-display);font-size:1.3rem;color:#fff;
  letter-spacing:.06em;text-transform:uppercase;display:block;
}
.zf-founder__role{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px}

/* ==========================================================================
   13. Offer / lead magnet
   ========================================================================== */

.zf-offer{
  background:var(--zf-ink);color:var(--zf-body-invert);position:relative;overflow:hidden;isolation:isolate;
}
.zf-offer__bg{position:absolute;inset:0;z-index:-2}
.zf-offer__bg img{width:100%;height:100%;object-fit:cover}
.zf-offer__scrim{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,rgba(18,16,15,.97) 38%,rgba(18,16,15,.80) 100%),
             radial-gradient(90% 80% at 90% 10%,rgba(193,57,43,.30),transparent 60%);
}
.zf-offer__box{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,5vw,68px);align-items:center;
}
@media (max-width:880px){.zf-offer__box{grid-template-columns:1fr;gap:40px}}
.zf-magnet{
  position:relative;background:var(--zf-paper);border-radius:2px;padding:44px 34px;
  box-shadow:0 30px 70px -28px rgba(0,0,0,.85);
  transform:rotate(-2deg);transition:transform .4s var(--zf-ease);
  border-top:7px solid var(--zf-accent);max-width:360px;
}
.zf-magnet:hover{transform:rotate(0deg) translateY(-4px)}
.zf-magnet img{width:100%;border-radius:2px}
.zf-magnet__eyebrow{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--zf-accent);font-weight:700;margin-bottom:16px}
.zf-magnet__title{
  font-family:var(--zf-font-display);font-size:2.2rem;line-height:1.02;color:var(--zf-ink);
  text-transform:uppercase;margin-bottom:14px;
}
.zf-magnet__meta{
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#8c837c;
  border-top:1px solid var(--zf-line);padding-top:14px;margin-top:20px;
  position:relative;z-index:1;
}
.zf-magnet__eyebrow,.zf-magnet__title{position:relative;z-index:1}
.zf-magnet__kanji{
  position:absolute;right:14px;bottom:8px;z-index:0;pointer-events:none;
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:2.4rem;
  color:rgba(193,57,43,.11);line-height:1;letter-spacing:.02em;
}
.zf-offer__list{list-style:none;margin:26px 0 30px;padding:0}
.zf-offer__list li{
  position:relative;padding-left:30px;margin-bottom:13px;font-size:1rem;color:var(--zf-body-invert);
}
.zf-offer__list li::before{
  content:"";position:absolute;left:0;top:9px;width:12px;height:12px;
  border:2px solid var(--zf-accent);border-radius:50%;
}
.zf-offer__list li::after{
  content:"";position:absolute;left:4px;top:13px;width:4px;height:4px;background:var(--zf-accent);border-radius:50%;
}

/* ==========================================================================
   14. Form
   ========================================================================== */

.zf-formwrap{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  border-radius:2px;padding:30px 28px;margin-top:8px;
}
.zf-formwrap--light{background:#fff;border-color:var(--zf-line);box-shadow:var(--zf-shadow)}
.zf-formwrap p{margin-bottom:12px}
.zf-formwrap label{
  display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;margin-bottom:7px;color:rgba(255,255,255,.62);
}
.zf-formwrap--light label{color:#7d746d}
.zf-formwrap input[type="text"],
.zf-formwrap input[type="email"],
.zf-formwrap input[type="url"],
.zf-formwrap input[type="tel"],
.zf-formwrap textarea,
.zf-formwrap select{
  width:100%;padding:15px 16px;font-size:1rem;font-family:var(--zf-font-body);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  border-radius:2px;color:#fff;transition:border-color .2s,background-color .2s;
}
.zf-formwrap--light input[type="text"],
.zf-formwrap--light input[type="email"],
.zf-formwrap--light input[type="url"],
.zf-formwrap--light textarea{background:var(--zf-paper);border-color:var(--zf-line);color:var(--zf-ink)}
.zf-formwrap input::placeholder{color:rgba(255,255,255,.38)}
.zf-formwrap--light input::placeholder{color:#a89f98}
.zf-formwrap input:focus,.zf-formwrap textarea:focus{border-color:var(--zf-accent);background:rgba(255,255,255,.09);outline:none}
.zf-formwrap--light input:focus{background:#fff}
.zf-formwrap input[type="submit"],
.zf-formwrap button[type="submit"]{
  width:100%;background:var(--zf-accent);color:#fff;border:0;cursor:pointer;
  padding:18px 26px;font-size:.88rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:2px;transition:background-color .22s,transform .22s var(--zf-ease);
  font-family:var(--zf-font-body);
}
.zf-formwrap input[type="submit"]:hover,
.zf-formwrap button[type="submit"]:hover{background:var(--zf-accent-hot);transform:translateY(-2px)}
.zf-formwrap input[type="checkbox"]{margin-right:9px;accent-color:var(--zf-accent);width:auto}
.zf-formwrap .grunion-field-label,
.zf-formwrap .contact-form label{font-size:.72rem}
.zf-formwrap .contact-form .grunion-field-wrap{margin-bottom:16px}
.zf-microcopy{
  font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.48);margin-top:16px;
  display:flex;gap:9px;align-items:flex-start;
}
.zf-formwrap--light .zf-microcopy{color:#8c837c}
.zf-microcopy svg{flex:0 0 auto;margin-top:2px}

/* honeypot safety: keep spam-trap fields invisible without breaking the plugin */
.zf-formwrap .zf-hp,
.zf-formwrap input[name="website"],
.zf-formwrap label[for*="website"]{display:none!important}

/* ==========================================================================
   15. Inline CTA band
   ========================================================================== */

.zf-band{
  background:var(--zf-accent);color:#fff;padding:clamp(46px,6vw,72px) 0;text-align:center;
  position:relative;overflow:hidden;
}
.zf-band::after{
  content:"不動";position:absolute;right:-10px;top:50%;transform:translateY(-50%);
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:11rem;
  color:rgba(255,255,255,.09);line-height:1;pointer-events:none;
}
.zf-band h2{color:#fff;margin-bottom:14px}
.zf-band p{color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 26px;font-size:1.08rem}
.zf-band .zf-btn--primary{background:#fff;color:var(--zf-accent);box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.zf-band .zf-btn--primary:hover{background:var(--zf-ink);color:#fff}

/* ==========================================================================
   16. FAQ
   ========================================================================== */

.zf-faq{border-top:1px solid var(--zf-line)}
.zf-faq details{border-bottom:1px solid var(--zf-line);padding:0}
.zf-faq summary{
  cursor:pointer;list-style:none;padding:24px 40px 24px 0;position:relative;
  font-family:var(--zf-font-display);font-size:1.2rem;color:var(--zf-ink);
  text-transform:uppercase;letter-spacing:.01em;
}
.zf-faq summary::-webkit-details-marker{display:none}
.zf-faq summary::after{
  content:"";position:absolute;right:6px;top:32px;width:11px;height:11px;
  border-right:2px solid var(--zf-accent);border-bottom:2px solid var(--zf-accent);
  transform:rotate(45deg);transition:transform .25s var(--zf-ease);
}
.zf-faq details[open] summary::after{transform:rotate(-135deg);top:36px}
.zf-faq details p{padding:0 40px 26px 0;margin:0;font-size:1rem}

/* ==========================================================================
   17. Footer
   ========================================================================== */

.zf-footer{background:var(--zf-ink);color:rgba(255,255,255,.55);padding:64px 0 34px;font-size:.92rem}
.zf-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
@media (max-width:800px){.zf-footer__top{grid-template-columns:1fr;gap:32px}}
.zf-footer h4{color:#fff;font-size:.76rem;letter-spacing:.18em;margin-bottom:18px}
.zf-footer ul{list-style:none;margin:0;padding:0}
.zf-footer li{margin-bottom:10px}
.zf-footer a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.zf-footer a:hover{color:#fff}
.zf-footer__tagline{
  font-family:var(--zf-font-display);font-size:1.1rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--zf-accent);margin-top:16px;
}
.zf-footer__bottom{padding-top:26px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:.82rem}
.zf-footer__legal{max-width:640px;line-height:1.6;color:rgba(255,255,255,.4);font-size:.8rem;margin-top:20px}
.zf-social{display:flex;gap:12px;margin-top:20px}
.zf-social a{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:border-color .2s,background-color .2s;
}
.zf-social a:hover{border-color:var(--zf-accent);background:var(--zf-accent)}
.zf-social svg{width:16px;height:16px;fill:currentColor}

/* ==========================================================================
   18. Sticky mobile CTA
   ========================================================================== */

.zf-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:130;
  background:rgba(18,16,15,.96);backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.12);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  transform:translateY(120%);transition:transform .35s var(--zf-ease);
  display:none;
}
.zf-sticky.is-visible{transform:translateY(0)}
.zf-sticky .zf-btn{width:100%}
@media (max-width:760px){.zf-sticky{display:block}body{padding-bottom:0}}

/* ==========================================================================
   19. Inner pages / editor content
   ========================================================================== */

.zf-page-hero{background:var(--zf-ink);color:#fff;padding:clamp(64px,8vw,110px) 0 clamp(48px,6vw,76px)}
.zf-page-hero h1{font-size:clamp(2.4rem,5.4vw,4rem)}
.zf-entry{padding:clamp(56px,7vw,92px) 0}
.zf-entry .zf-narrow>*{margin-bottom:1.3em}
.zf-entry h2{margin-top:1.6em}
.zf-entry img{border-radius:2px;margin:2em 0}
.zf-entry blockquote{
  border-left:3px solid var(--zf-accent);padding-left:24px;margin:2em 0;
  font-size:1.15rem;font-style:italic;color:var(--zf-ink);
}
.zf-entry ul,.zf-entry ol{padding-left:22px}
.zf-entry li{margin-bottom:9px}
.zf-entry code{background:var(--zf-paper-2);padding:2px 6px;border-radius:2px;font-size:.9em}
.alignwide{max-width:1000px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text,figcaption{font-size:.85rem;color:#8c837c;text-align:center;margin-top:10px}
.zf-pagination{display:flex;gap:12px;justify-content:center;padding:40px 0}
.zf-pagination .page-numbers{
  padding:10px 16px;border:1px solid var(--zf-line);text-decoration:none;color:var(--zf-ink);border-radius:2px;
}
.zf-pagination .current{background:var(--zf-accent);color:#fff;border-color:var(--zf-accent)}
.zf-postcard{border-bottom:1px solid var(--zf-line);padding:34px 0}
.zf-postcard h2{font-size:1.7rem;margin-bottom:10px}
.zf-postcard h2 a{color:var(--zf-ink);text-decoration:none}
.zf-postcard h2 a:hover{color:var(--zf-accent)}
.zf-postmeta{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#9c938c;margin-bottom:12px}

/* ==========================================================================
   20. Reveal on scroll
   ========================================================================== */

.zf-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--zf-ease),transform .7s var(--zf-ease)}
.zf-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.zf-reveal{opacity:1;transform:none}}
.no-js .zf-reveal{opacity:1;transform:none}

/* ==========================================================================
   21. Two level architecture: the Method and its first laboratory
   ========================================================================== */

.zf-arch{background:var(--zf-ink);color:var(--zf-body-invert);padding:clamp(46px,6vw,74px) 0;border-top:1px solid rgba(255,255,255,.08)}
.zf-arch__pair{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch}
.zf-arch__box{padding:32px 34px;border:1px solid rgba(255,255,255,.14);border-radius:var(--zf-radius);background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,0))}
.zf-arch__box--method{border-left:3px solid var(--zf-accent)}
.zf-arch__box--lab{border-left:3px solid var(--zf-life-lite)}
.zf-arch__box h2{font-size:clamp(1.7rem,3vw,2.3rem);color:#fff;margin-bottom:12px}
.zf-arch__box p{color:var(--zf-body-invert);font-size:1rem;margin:0}
.zf-arch__kicker{
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-ember);display:block;margin-bottom:14px;
}
.zf-arch__box--lab .zf-arch__kicker{color:var(--zf-life-lite)}
.zf-arch__join{display:flex;align-items:center;justify-content:center;width:74px;position:relative}
.zf-arch__joinline{width:100%;height:1px;background:linear-gradient(90deg,var(--zf-accent),var(--zf-life-lite))}
.zf-arch__joindot{
  position:absolute;width:9px;height:9px;border-radius:50%;
  background:var(--zf-paper);box-shadow:0 0 0 4px var(--zf-ink);
}
.zf-arch__note{
  margin:26px 0 0;font-family:var(--zf-font-mono);font-size:.76rem;letter-spacing:.06em;
  color:rgba(255,255,255,.46);text-align:center;
}
@media (max-width:860px){
  .zf-arch__pair{grid-template-columns:1fr}
  .zf-arch__join{width:auto;height:52px;flex-direction:column}
  .zf-arch__joinline{width:1px;height:100%;background:linear-gradient(180deg,var(--zf-accent),var(--zf-life-lite))}
}

/* ==========================================================================
   23. The eight practices: three lane cards
   ========================================================================== */

.zf-practices{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:940px){.zf-practices{grid-template-columns:1fr}}

.zf-practice{
  border:1px solid var(--zf-line-dark);border-radius:var(--zf-radius);
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.01));
  padding:30px 28px 26px;display:flex;flex-direction:column;
  transition:border-color .28s,transform .28s var(--zf-ease);
}
.zf-practice:hover{border-color:rgba(193,57,43,.55);transform:translateY(-3px)}
.zf-practice__head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.zf-practice__idx{
  font-family:var(--zf-font-mono);font-size:.72rem;letter-spacing:.14em;color:var(--zf-accent);
  padding-top:7px;flex:0 0 auto;
}
.zf-practice h3{color:#fff;font-size:1.75rem;margin:0 0 5px}
.zf-practice__sub{
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);
  margin:0;font-weight:600;
}

/* the beat rail: the mechanic, rendered as a sequence */
.zf-beats{
  list-style:none;margin:0 0 22px;padding:0;counter-reset:zfbeat;
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
}
.zf-beat{
  font-family:var(--zf-font-mono);font-size:.71rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;
  border:1px solid rgba(255,255,255,.22);border-radius:2px;
  padding:6px 10px;margin:0;white-space:nowrap;
  display:inline-flex;align-items:baseline;gap:7px;
}
.zf-beat::before{
  counter-increment:zfbeat;content:counter(zfbeat);
  font-size:.6rem;color:var(--zf-accent);
}
.zf-beat:last-child{border-color:rgba(127,181,176,.55);color:var(--zf-life-lite)}
.zf-beat:last-child::before{color:var(--zf-life-lite)}

.zf-lane{
  border-left:2px solid var(--zf-accent);padding:2px 0 2px 16px;margin-bottom:16px;
}
.zf-lane--life{border-left-color:var(--zf-life-lite)}
.zf-lane__label{
  font-family:var(--zf-font-mono);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-accent);display:block;margin-bottom:6px;
}
.zf-lane--life .zf-lane__label{color:var(--zf-life-lite)}
.zf-lane p{margin:0;font-size:.95rem;line-height:1.6;color:var(--zf-body-invert)}

.zf-practice__note{
  margin:auto 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.05em;
  color:rgba(255,255,255,.38);line-height:1.5;
}

/* ==========================================================================
   25. Small shared pieces
   ========================================================================== */

.zf-split--top{align-items:start}
.zf-sess__fig{margin-top:30px}
.zf-sess__close{margin-top:26px;font-weight:600;color:var(--zf-ink)}
.zf-head--faq{margin-bottom:34px}
.zf-faq__cta{margin-top:52px}
.zf-faq__cta h3{margin-bottom:18px}
.zf-card__status{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--zf-line);
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--zf-accent);
}
.zf-app__note{
  margin-top:34px;padding-top:22px;border-top:1px solid var(--zf-line);
  font-size:.94rem;color:var(--zf-body);max-width:720px;
}

/* the marquee watermark should follow the name, not a fixed string */
.zf-band::after{content:"不動智"}

/* ==========================================================================
   26. Goals: the gap, then the aim
   ========================================================================== */

.zf-aims{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}
@media (max-width:940px){.zf-aims{grid-template-columns:1fr;gap:36px}}

/* fallback: the gap block absorbs the slack */
.zf-aim{display:grid;grid-template-rows:auto 1fr auto auto}

/* preferred: shared row tracks, so the heading, the gap, the arrow and the aim
   each start on the same line across all three columns */
@supports (grid-template-rows:subgrid){
  .zf-aims{grid-template-rows:auto auto auto auto}
  .zf-aim{grid-row:span 4;grid-template-rows:subgrid}
}
@media (max-width:940px){
  .zf-aim{grid-template-rows:auto auto auto auto}
  @supports (grid-template-rows:subgrid){
    .zf-aims{grid-template-rows:none}
    .zf-aim{grid-row:auto;grid-template-rows:auto auto auto auto}
  }
}

.zf-aim h3{
  font-size:clamp(1.5rem,2.4vw,1.95rem);margin-bottom:20px;
  padding-bottom:12px;border-bottom:2px solid var(--zf-ink);
}
.zf-aim__label{
  font-family:var(--zf-font-mono);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;
  display:block;margin-bottom:7px;
}
.zf-aim__gap .zf-aim__label{color:#a89f98}
.zf-aim__gap p{margin:0;font-size:.98rem;color:#8c837c;line-height:1.6}
.zf-aim__arrow{
  display:block;width:1px;height:26px;margin:14px 0 14px 9px;
  background:linear-gradient(180deg,#cfc7bd,var(--zf-accent));position:relative;
}
.zf-aim__arrow::after{
  content:"";position:absolute;left:-3.5px;bottom:0;width:8px;height:8px;
  border-right:1.5px solid var(--zf-accent);border-bottom:1.5px solid var(--zf-accent);
  transform:rotate(45deg);
}
.zf-aim__aim{border-left:3px solid var(--zf-accent);padding:2px 0 2px 16px}
.zf-aim__aim .zf-aim__label{color:var(--zf-accent)}
.zf-aim__aim p{margin:0;font-size:1.06rem;line-height:1.58;color:var(--zf-ink);font-weight:500}

.zf-goal__close{
  margin:clamp(48px,6vw,72px) auto 0;padding-top:34px;border-top:1px solid var(--zf-line);
  max-width:15em;
  font-family:var(--zf-font-display);text-transform:uppercase;text-align:center;
  font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.06;color:var(--zf-ink);letter-spacing:-.01em;
  text-wrap:balance;
}

/* ==========================================================================
   28. Featured application
   ========================================================================== */

.zf-feature{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,54px);
  align-items:center;background:#fff;border:1px solid var(--zf-line);
  border-top:4px solid var(--zf-accent);padding:clamp(26px,3.4vw,44px);
  box-shadow:var(--zf-shadow);
}
@media (max-width:900px){.zf-feature{grid-template-columns:1fr;gap:30px}}
.zf-feature__kicker{
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--zf-accent);display:block;margin-bottom:12px;
}
.zf-feature__body h3{font-size:clamp(1.9rem,3.2vw,2.7rem);margin-bottom:16px}
.zf-feature__list{list-style:none;margin:20px 0 26px;padding:0}
.zf-feature__list li{
  position:relative;padding-left:26px;margin-bottom:9px;font-size:.97rem;
}
.zf-feature__list li::before{
  content:"";position:absolute;left:0;top:8px;width:9px;height:9px;
  border:2px solid var(--zf-accent);border-radius:50%;
}
.zf-feature__media .zf-figure img,
.zf-feature__media .zf-figure__ph{aspect-ratio:4/5}

/* ==========================================================================
   29. The other laboratories
   ========================================================================== */

.zf-labs{margin-top:clamp(44px,5vw,68px)}
.zf-labs__title{
  font-size:1.35rem;margin-bottom:22px;padding-bottom:14px;
  border-bottom:2px solid var(--zf-ink);
}
.zf-labs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@media (max-width:900px){.zf-labs__grid{grid-template-columns:1fr}}
.zf-lab{padding:20px 22px 20px 0;border-bottom:1px solid var(--zf-line);border-right:1px solid var(--zf-line)}
.zf-lab:nth-child(3n){border-right:0;padding-right:0}
.zf-lab:nth-child(n+4){border-bottom:0}
.zf-lab+.zf-lab{padding-left:22px}
.zf-lab:nth-child(3n+1){padding-left:0}
@media (max-width:900px){
  .zf-lab{border-right:0;padding:18px 0;border-bottom:1px solid var(--zf-line)}
  .zf-lab,.zf-lab+.zf-lab{padding-left:0}
  .zf-lab:last-child{border-bottom:0}
}
.zf-lab h4{
  font-family:var(--zf-font-display);font-size:1.08rem;letter-spacing:.04em;
  color:var(--zf-ink);margin-bottom:7px;
}
.zf-lab p{margin:0;font-size:.93rem;line-height:1.58}
.zf-labs__note{
  margin-top:28px;padding-top:20px;border-top:2px solid var(--zf-ink);
  font-size:.96rem;padding-right:28%;
}
@media (max-width:900px){.zf-labs__note{padding-right:0}}

/* ==========================================================================
   30. Intent
   ========================================================================== */

.zf-intent{background:var(--zf-ink);color:var(--zf-body-invert)}
.zf-intent__box{max-width:760px}
.zf-intent h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.9rem);margin-bottom:22px}
.zf-intent p{color:var(--zf-body-invert);font-size:1.06rem;line-height:1.62}
.zf-intent p:last-child{
  margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--zf-font-display);text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.2;color:#fff;
}

/* ==========================================================================
   31. Hero side panel
   ========================================================================== */

.zf-hero__layout{
  display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,4.5vw,64px);align-items:center;
}
.zf-hero__layout--solo{grid-template-columns:1fr}
.zf-hero__layout .zf-hero__inner{max-width:none}
/* narrower column, so the display face needs a lower ceiling */
.zf-hero__layout:not(.zf-hero__layout--solo) h1{font-size:clamp(2.5rem,4.4vw,4rem)}
.zf-hero__layout:not(.zf-hero__layout--solo) .zf-hero__sub{font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:34em}
.zf-hero__layout:not(.zf-hero__layout--solo) .zf-hero__stats{
  margin-top:40px;padding-top:26px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.zf-hero__layout:not(.zf-hero__layout--solo) .zf-stat__k{font-size:1.6rem}
.zf-hero__layout:not(.zf-hero__layout--solo) .zf-stat__l{font-size:.66rem;letter-spacing:.13em}
@media (max-width:520px){
  .zf-hero__layout:not(.zf-hero__layout--solo) .zf-hero__stats{grid-template-columns:1fr 1fr}
}
.zf-hero__layout--solo .zf-hero__inner{max-width:900px}
/* headline only: the promise line gets the width the headline has, instead
   of the 34ch ceiling written for the two column layout */
.zf-hero__layout--solo .zf-hero__sub{max-width:44em;font-size:clamp(1.15rem,1.75vw,1.38rem)}
.zf-hero__layout--solo h1{font-size:clamp(3rem,6.2vw,5.4rem)}
@media (max-width:940px){
  .zf-hero__layout{grid-template-columns:1fr;gap:38px}
}

/* hero offer panel: see the dark panel rules further down */
.zf-heropanel__media{max-width:460px;margin-left:auto;width:100%}
@media (max-width:940px){.zf-heropanel__media{margin-left:0;max-width:none}}
.zf-heropanel__media .zf-figure img,
.zf-heropanel__media .zf-figure__ph{aspect-ratio:4/5}
.zf-heropanel__media .zf-figure__ph{background:linear-gradient(150deg,#2a2523 0%,#191614 60%)}

/* the hero already asks once, so hold the sticky bar back a little longer */
@media (max-width:760px){.zf-sticky{transition-delay:.05s}}

/* ==========================================================================
   32. The Edge
   ========================================================================== */

/* everything in this section hangs off one left edge, so the doctrine,
   the copy and the two columns share a spine */
.zf-edge .zf-narrow{margin-left:0;margin-right:0}

.zf-doctrine{
  margin:clamp(34px,4vw,52px) 0;padding:0;border:0;max-width:15em;
  font-family:var(--zf-font-display);text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(2.1rem,5.4vw,4.1rem);line-height:1.04;color:#fff;text-wrap:balance;
}
.zf-doctrine::before{
  content:"";display:block;width:64px;height:4px;background:var(--zf-accent);margin-bottom:26px;
}

.zf-ledge{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin:clamp(34px,4vw,50px) 0 0;border-top:1px solid rgba(255,255,255,.16);
}
/* the same component on a light section, where white borders and pale text disappear */
.zf-section:not(.zf-dark) .zf-ledge{border-top-color:var(--zf-line)}
.zf-section:not(.zf-dark) .zf-ledge__col--yes{border-right-color:var(--zf-line)}
.zf-section:not(.zf-dark) .zf-ledge p{color:var(--zf-body)}
@media (max-width:820px){
  .zf-section:not(.zf-dark) .zf-ledge__col--yes{border-bottom-color:var(--zf-line)}
}
@media (max-width:820px){.zf-ledge{grid-template-columns:1fr}}
.zf-ledge__col{padding:26px 28px 26px 0}
.zf-ledge__col--yes{border-right:1px solid rgba(255,255,255,.16)}
.zf-ledge__col--no{padding-left:28px}
@media (max-width:820px){
  .zf-ledge__col--yes{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .zf-ledge__col--no{padding-left:0}
}
.zf-section:not(.zf-dark) .zf-ledge__col--yes .zf-ledge__label{color:var(--zf-life)}
.zf-section:not(.zf-dark) .zf-ledge__col--no .zf-ledge__label{color:var(--zf-accent)}
.zf-ledge__label{
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  display:block;margin-bottom:12px;
}
.zf-ledge__col--yes .zf-section:not(.zf-dark) .zf-ledge__col--yes .zf-ledge__label{color:var(--zf-life)}
.zf-section:not(.zf-dark) .zf-ledge__col--no .zf-ledge__label{color:var(--zf-accent)}
.zf-ledge__label{color:var(--zf-life-lite)}
.zf-ledge__col--no .zf-section:not(.zf-dark) .zf-ledge__col--yes .zf-ledge__label{color:var(--zf-life)}
.zf-section:not(.zf-dark) .zf-ledge__col--no .zf-ledge__label{color:var(--zf-accent)}
.zf-ledge__label{color:var(--zf-accent)}
.zf-ledge__col p{margin:0;font-size:1rem;line-height:1.62;color:var(--zf-body-invert)}
.zf-ledge__col--no p{color:rgba(255,255,255,.62)}

.zf-edge__q{
  margin:clamp(34px,4vw,48px) 0 0;padding-left:18px;border-left:3px solid var(--zf-accent);
  font-size:clamp(1.1rem,1.9vw,1.35rem);line-height:1.5;color:#fff;font-weight:500;
}
.zf-edge__check{
  margin:26px 0 0;font-size:.97rem;line-height:1.62;color:rgba(255,255,255,.6);
}

/* ==========================================================================
   33. Discipline card: governing question and Edge line
   ========================================================================== */

.zf-practice__q{
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:16px 0;margin:0 0 18px;
}
.zf-practice__qlabel{
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-ember);display:block;margin-bottom:8px;
}
.zf-practice__q p{
  margin:0;font-family:var(--zf-font-display);font-size:1.3rem;line-height:1.22;
  color:#fff;text-transform:none;letter-spacing:0;
}
.zf-practice__edge{
  margin:0 0 20px;font-size:.88rem;line-height:1.55;color:var(--zf-life-lite);
}
.zf-practice__edge span{
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(127,181,176,.7);display:block;margin-bottom:5px;
}
.zf-dom__close{
  margin:clamp(34px,4vw,48px) 0 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);
  font-size:.98rem;color:rgba(255,255,255,.6);max-width:760px;
}

/* the name section now sits on the light background */
.zf-alt .zf-kanji{
  color:var(--zf-accent);opacity:.92;
  font-size:clamp(3.2rem,6.4vw,5.2rem);margin-bottom:2px;
}
.zf-alt .zf-kanji__romaji{color:var(--zf-muted)}
.zf-alt .zf-meaning__card{background:#fff;border-color:var(--zf-line)}
.zf-alt .zf-meaning__card p{color:var(--zf-ink)}

/* ==========================================================================
   34. The Edge opening story
   ========================================================================== */

.zf-edge__story{
  max-width:var(--zf-narrow);margin:0 0 clamp(26px,3vw,38px);
  padding-left:18px;border-left:2px solid rgba(255,255,255,.22);
}
.zf-edge__story p{
  font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.68;color:#fff;margin:0 0 14px;
}
.zf-edge__story p:last-child{
  margin-bottom:0;color:var(--zf-life-lite);
  font-family:var(--zf-font-display);text-transform:uppercase;
  font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.2;letter-spacing:.005em;
  padding-top:12px;
}

/* ==========================================================================
   35. v2 components
   Three moves, four cargoes, the fitness section, the eight Edges,
   the for-teams block and the promise pull quote.
   ========================================================================== */

/* hero kicker, the question that starts everything */
.zf-hero__kicker{
  font-family:var(--zf-font-display);text-transform:uppercase;color:var(--zf-ember);
  font-size:clamp(1rem,1.9vw,1.35rem);letter-spacing:.01em;line-height:1.15;
  margin:0 0 10px;max-width:22ch;
}

/* the story */
.zf-story{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.zf-story p{font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.68}
.zf-story__beat{
  font-family:var(--zf-font-display);text-transform:uppercase;color:var(--zf-ink);
  font-size:clamp(1.5rem,3.2vw,2.15rem);line-height:1.08;margin:0 0 .55em;
}
@media(max-width:820px){.zf-story{grid-template-columns:1fr}}

/* three moves */
.zf-moves{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--zf-ink);margin-top:14px}
.zf-move{padding:28px 30px 30px 0}
.zf-move + .zf-move{border-left:1px solid var(--zf-line);padding-left:30px}
.zf-move__k{
  font-family:var(--zf-font-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-accent);display:block;margin-bottom:10px;
}
.zf-move h3{font-size:clamp(2.1rem,4.6vw,3.3rem);margin-bottom:12px}
.zf-move p{font-size:1rem;line-height:1.58;margin:0}
@media(max-width:820px){
  .zf-moves{grid-template-columns:1fr}
  .zf-move + .zf-move{border-left:0;border-top:1px solid var(--zf-line);padding-left:0}
}

/* four cargoes */
.zf-cargo{border-top:1px solid rgba(255,255,255,.28);margin-top:14px}
.zf-cargo__row{
  display:grid;grid-template-columns:150px 1fr 1.1fr;gap:clamp(16px,2.5vw,34px);
  padding:20px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start;
}
.zf-cargo__row:last-child{border-bottom:0}
.zf-cargo__row h4{font-size:1.6rem;margin:0;color:#fff}
.zf-cargo__d{margin:0;font-size:.98rem;line-height:1.55}
.zf-cargo__q{margin:0;font-size:.98rem;line-height:1.55;color:#fff;font-weight:600}
@media(max-width:820px){
  .zf-cargo__row{grid-template-columns:1fr;gap:8px}
}

/* fitness */
.zf-fit{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--zf-ink);margin:14px 0 clamp(34px,5vw,56px)}
.zf-fit__item{padding:24px 26px 26px 0}
.zf-fit__item + .zf-fit__item{border-left:1px solid var(--zf-line);padding-left:26px}
.zf-fit__k{
  font-family:var(--zf-font-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-accent);display:block;margin-bottom:8px;
}
.zf-fit__item h4{font-size:1.5rem;margin-bottom:10px}
.zf-fit__item p{font-size:.98rem;line-height:1.58;margin:0}
@media(max-width:820px){
  .zf-fit{grid-template-columns:1fr}
  .zf-fit__item + .zf-fit__item{border-left:0;border-top:1px solid var(--zf-line);padding-left:0}
}
.zf-fitarg{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,60px);align-items:start}
.zf-fitarg h3{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px}
.zf-fitarg p{font-size:1.02rem;line-height:1.66}
@media(max-width:900px){.zf-fitarg{grid-template-columns:1fr}}

/* the eight Edges */
.zf-edges{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:3px solid var(--zf-ink);border-left:1px solid var(--zf-line);margin-top:14px;
}
.zf-edges__item{
  padding:20px 20px 24px;border-right:1px solid var(--zf-line);border-bottom:1px solid var(--zf-line);
}
.zf-edges__n{
  font-family:var(--zf-font-mono);font-size:.64rem;letter-spacing:.16em;color:var(--zf-muted);
  display:block;margin-bottom:8px;
}
.zf-edges__item h4{font-size:1.35rem;margin-bottom:4px}
.zf-edges__c{
  font-family:var(--zf-font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--zf-accent);display:block;margin-bottom:10px;
}
.zf-edges__item p{font-size:.92rem;line-height:1.52;margin:0}
@media(max-width:1000px){.zf-edges{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.zf-edges{grid-template-columns:1fr}}

/* for teams */
.zf-teams{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,64px);align-items:start}
.zf-teams h2{font-size:clamp(1.9rem,4vw,2.9rem)}
@media(max-width:860px){.zf-teams{grid-template-columns:1fr}}

/* the promise, set apart */
.zf-promise{
  font-family:var(--zf-font-display);text-transform:uppercase;color:var(--zf-ink);
  font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.1;max-width:24ch;
  border-left:5px solid var(--zf-accent);padding-left:clamp(18px,2.5vw,30px);
  margin:clamp(26px,4vw,44px) 0;
}

/* books */
.zf-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,5vw,64px);align-items:start}
.zf-feature h3{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:14px}
.zf-others__item{padding:18px 0;border-top:1px solid var(--zf-line)}
.zf-others__item:last-child{border-bottom:1px solid var(--zf-line)}
.zf-others__item h4{font-size:1.3rem;margin:6px 0 6px}
.zf-others__item p{font-size:.96rem;line-height:1.55;margin:0}
@media(max-width:900px){.zf-feature{grid-template-columns:1fr}}

/* shared small print */
.zf-note{font-size:.94rem;line-height:1.6;color:var(--zf-muted);margin-top:clamp(20px,3vw,32px)}
.zf-dark .zf-note{color:rgba(255,255,255,.58)}


/* ==========================================================================
   36. Components the v2 templates reference
   These were used in front-page.php with no rules behind them, which is why
   the founder block and the offer card rendered as unstyled text.
   ========================================================================== */

/* hero stats */
.zf-hero__stats{
  display:flex;gap:clamp(26px,4vw,54px);margin-top:clamp(26px,4vw,42px);
  padding-top:clamp(20px,3vw,30px);border-top:1px solid rgba(255,255,255,.14);flex-wrap:wrap;
}
.zf-stat{display:flex;flex-direction:column;gap:4px}
.zf-stat__k{
  font-family:var(--zf-font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);
  color:#fff;text-transform:uppercase;line-height:1;
}
.zf-stat__l{
  font-family:var(--zf-font-mono);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.5);
}

/* tick lists */
.zf-ticks{list-style:none;margin:0 0 clamp(22px,3vw,30px);padding:0}
.zf-ticks li{
  position:relative;padding:11px 0 11px 26px;font-size:1rem;line-height:1.55;
  border-bottom:1px solid var(--zf-line);
}
.zf-ticks li::before{
  content:"";position:absolute;left:0;top:19px;width:9px;height:9px;background:var(--zf-accent);
}
.zf-dark .zf-ticks li{border-bottom-color:rgba(255,255,255,.14)}

/* founder */
.zf-founder{
  display:grid;grid-template-columns:340px 1fr;gap:clamp(30px,5vw,64px);
  align-items:start;background:transparent;color:inherit;
}
.zf-founder__media .zf-figure img,
.zf-founder__media .zf-figure__ph{aspect-ratio:1/1}
.zf-founder__body p{font-size:1.02rem;line-height:1.68}
.zf-pull{
  font-family:var(--zf-font-display);text-transform:uppercase;
  font-size:clamp(1.4rem,3vw,2.15rem);line-height:1.12;color:var(--zf-ink);
  border-left:5px solid var(--zf-accent);padding-left:clamp(16px,2.2vw,24px);
  margin:14px 0 clamp(22px,3vw,30px);
}
.zf-founder__sig{
  margin-top:clamp(22px,3vw,30px);padding-top:20px;border-top:2px solid var(--zf-ink);
  display:flex;flex-direction:column;gap:3px;
}
.zf-founder__sig strong{
  font-family:var(--zf-font-display);font-size:1.25rem;color:var(--zf-ink);
  letter-spacing:.05em;text-transform:uppercase;
}
.zf-founder__sig span{
  font-family:var(--zf-font-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zf-muted);
}
@media(max-width:820px){
  .zf-founder{grid-template-columns:1fr}
  .zf-founder__media{max-width:300px}
}

/* the name block */
.zf-fudo{display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,4.5vw,60px);align-items:start}
.zf-kanji{
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:clamp(3.6rem,9vw,6.4rem);color:var(--zf-accent);line-height:1;display:block;
}
.zf-kanji__sub{
  font-family:var(--zf-font-mono);font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--zf-muted);display:block;margin-top:10px;
}
.zf-fudo h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-bottom:18px}
.zf-fudo p{font-size:1.02rem;line-height:1.68}
.zf-fudo__close{
  border-left:4px solid var(--zf-accent);padding-left:20px;
  font-size:clamp(1.02rem,1.5vw,1.14rem);color:var(--zf-ink);
}
@media(max-width:760px){.zf-fudo{grid-template-columns:1fr}}

/* the offer card */
.zf-formcard{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);
  padding:clamp(24px,3.4vw,38px);
}
.zf-magnet__kicker{
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--zf-accent);display:block;margin-bottom:10px;
}
.zf-formcard h3{font-size:clamp(1.7rem,3vw,2.3rem);color:#fff;margin-bottom:8px}
.zf-magnet__meta{
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.5);display:block;
  padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.16);
}

/* the other books */
.zf-others{display:flex;flex-direction:column}

/* ==========================================================================
   37. Hero capture, the staged story, and the promise
   ========================================================================== */

/* the form sits in the hero, where intent is highest */
.zf-heroform{margin-top:clamp(24px,3.5vw,34px);max-width:560px}
.zf-heroform .zf-form,
.zf-heroform form{margin:0}
.zf-heroform input[type="email"],
.zf-heroform input[type="text"]{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.28);color:#fff;
  padding:15px 17px;font-size:1rem;border-radius:2px;
}
.zf-heroform input::placeholder{color:rgba(255,255,255,.42)}
.zf-heroform button,
.zf-heroform input[type="submit"]{
  background:var(--zf-accent);color:#fff;border:0;padding:15px 26px;cursor:pointer;
  font-family:var(--zf-font-body);font-size:.78rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;border-radius:2px;
}
.zf-heroform button:hover{background:var(--zf-accent-dark,#a72f24)}
.zf-hero__alt{
  display:inline-block;margin-top:16px;color:rgba(255,255,255,.72);
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:3px;
}
.zf-hero__alt:hover{color:#fff;border-bottom-color:var(--zf-accent)}
.zf-bandform{max-width:520px;margin:22px auto 0}
.zf-bandform input{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);color:#fff;padding:14px 16px;border-radius:2px}
.zf-bandform input::placeholder{color:rgba(255,255,255,.6)}
.zf-bandform button{background:#fff;color:var(--zf-accent);border:0;padding:14px 24px;
  font-weight:700;letter-spacing:.11em;text-transform:uppercase;font-size:.76rem;cursor:pointer;border-radius:2px}

/* the story, staged rather than typed out */
.zf-story{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;
  border-top:3px solid var(--zf-ink);border-bottom:1px solid var(--zf-line);
  margin-top:16px;
}
.zf-story__col{padding:clamp(26px,3.5vw,40px) clamp(26px,3.5vw,44px) clamp(26px,3.5vw,40px) 0}
.zf-story__col p{font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.72;color:var(--zf-body)}
.zf-story__col--turn{
  border-left:1px solid var(--zf-line);
  padding-left:clamp(26px,3.5vw,44px);padding-right:0;
  display:flex;flex-direction:column;justify-content:center;align-self:stretch;
}
.zf-story__note{color:var(--zf-muted);font-size:.98rem;margin-bottom:18px}
.zf-story__beat{
  font-family:var(--zf-font-display);text-transform:uppercase;color:var(--zf-ink);
  font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.02;margin:0;
  letter-spacing:-.012em;
}
.zf-story__beat::before{
  content:"";display:block;width:64px;height:5px;background:var(--zf-accent);margin-bottom:22px;
}
.zf-story__after{
  max-width:var(--zf-narrow);margin:clamp(30px,4vw,46px) 0 0;
}
.zf-story__after p{font-size:clamp(1.06rem,1.6vw,1.22rem);line-height:1.62;color:var(--zf-ink);margin:0}
@media(max-width:820px){
  .zf-story{grid-template-columns:1fr}
  .zf-story__col{padding-right:0}
  .zf-story__col--turn{border-left:0;border-top:1px solid var(--zf-line);padding-left:0}
}

/* what it makes you */
.zf-become__title{
  font-size:clamp(1.7rem,3.4vw,2.6rem);max-width:20ch;
}
.zf-become{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:3px solid var(--zf-ink);margin-top:18px;
}
.zf-become__item{
  padding:24px 22px 28px 0;border-right:1px solid var(--zf-line);
}
.zf-become__item:last-child{border-right:0;padding-right:0}
.zf-become__item + .zf-become__item{padding-left:22px}
.zf-become__n{
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.18em;
  color:var(--zf-accent);display:block;margin-bottom:12px;
}
.zf-become__item h3{
  font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:10px;line-height:1.05;
}
.zf-become__item p{font-size:.93rem;line-height:1.55;margin:0}
.zf-become__note{
  margin-top:clamp(26px,3.5vw,38px);font-size:1rem;line-height:1.65;
  border-left:4px solid var(--zf-accent);padding-left:20px;color:var(--zf-ink);
}
@media(max-width:1050px){
  .zf-become{grid-template-columns:repeat(2,1fr)}
  .zf-become__item{border-bottom:1px solid var(--zf-line);padding-right:22px}
  .zf-become__item:nth-child(2n){border-right:0;padding-right:0}
  .zf-become__item:nth-child(odd){padding-left:0}
  .zf-become__item:nth-child(even){padding-left:22px}
}
@media(max-width:600px){
  .zf-become{grid-template-columns:1fr}
  .zf-become__item{border-right:0;padding-left:0!important;padding-right:0}
}


/* ==========================================================================
   38. Hero capture panel
   The hero was two thirds empty. The offer now lives there, which is where
   the intent is highest and where the eye lands after the headline.
   ========================================================================== */

.zf-hero__layout{
  display:grid;grid-template-columns:1.15fr 420px;gap:clamp(30px,5vw,70px);align-items:center;
}
.zf-hero__layout--solo{grid-template-columns:1fr}
@media(max-width:1050px){
  .zf-hero__layout{grid-template-columns:1fr;gap:40px}
}

.zf-heropanel{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(6px);
  padding:clamp(26px,3vw,36px);
  position:relative;
}
.zf-heropanel::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--zf-accent);
}
.zf-heropanel__kicker{
  font-family:var(--zf-font-mono);font-size:.6rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--zf-ember);display:block;margin-bottom:10px;
}
.zf-heropanel__title{
  font-family:var(--zf-font-display);text-transform:uppercase;color:#fff;
  font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1;margin:0 0 8px;
}
.zf-heropanel__meta{
  font-family:var(--zf-font-mono);font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.5);display:block;
}
.zf-heropanel__list{
  list-style:none;margin:20px 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);
}
.zf-heropanel__list li{
  position:relative;padding:7px 0 7px 20px;font-size:.88rem;line-height:1.45;
  color:rgba(255,255,255,.82);
}
.zf-heropanel__list li::before{
  content:"";position:absolute;left:0;top:14px;width:7px;height:7px;background:var(--zf-accent);
}
.zf-heropanel__note{
  font-size:.74rem;line-height:1.5;color:rgba(255,255,255,.45);margin:14px 0 0;
}

/* the funnel plugin's own markup, themed for a dark panel */
.zf-heropanel .zf-heroform label,
.zf-heropanel .zf-heroform .zf-form__label{
  font-family:var(--zf-font-mono);font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.55);display:block;margin-bottom:6px;
}
.zf-heropanel .zf-heroform input[type="text"],
.zf-heropanel .zf-heroform input[type="email"]{
  width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.26);
  color:#fff;padding:13px 15px;font-size:.98rem;border-radius:2px;margin-bottom:12px;
}
.zf-heropanel .zf-heroform input::placeholder{color:rgba(255,255,255,.35)}
.zf-heropanel .zf-heroform button,
.zf-heropanel .zf-heroform input[type="submit"]{
  width:100%;background:var(--zf-accent);color:#fff;border:0;padding:15px 20px;cursor:pointer;
  font-family:var(--zf-font-body);font-size:.76rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;border-radius:2px;
}
.zf-heropanel .zf-heroform button:hover{background:#a72f24}
.zf-heropanel .zf-heroform label[for*="consent"],
.zf-heropanel .zf-heroform .zf-form__consent{
  font-family:var(--zf-font-body);font-size:.76rem;letter-spacing:0;text-transform:none;
  color:rgba(255,255,255,.6);line-height:1.45;
}

/* ==========================================================================
   39. Blog and podcast
   ========================================================================== */

.zf-page-hero{background:var(--zf-ink);color:var(--zf-body-invert);padding:clamp(70px,8vw,120px) 0 clamp(44px,5vw,64px)}
.zf-page-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.98;margin:8px 0 18px}
.zf-page-hero .zf-lede{color:rgba(255,255,255,.72)}
.zf-page-hero--post h1{max-width:20ch}

.zf-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,40px);margin-top:clamp(20px,3vw,34px)}
.zf-post{display:flex;flex-direction:column;border-top:3px solid var(--zf-ink);padding-top:18px}
.zf-post--lead{grid-column:1 / -1;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,52px);align-items:center}
.zf-post__media{display:block;overflow:hidden;margin-bottom:16px;background:var(--zf-paper-2)}
.zf-post--lead .zf-post__media{margin:0;order:2}
.zf-post__media img{width:100%;height:auto;display:block;transition:transform .5s ease}
.zf-post__media:hover img{transform:scale(1.03)}
.zf-post__meta{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--zf-muted);margin:0 0 10px;
}
.zf-page-hero .zf-post__meta{color:rgba(255,255,255,.5)}
.zf-post__tag{background:var(--zf-accent);color:#fff;padding:4px 9px;letter-spacing:.16em}
.zf-post h2{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.08;margin-bottom:10px}
.zf-post--lead h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.zf-post h2 a{color:inherit;text-decoration:none}
.zf-post h2 a:hover{color:var(--zf-accent)}
.zf-post__excerpt{font-size:.96rem;line-height:1.6;margin-bottom:14px}
.zf-post--lead .zf-post__excerpt{font-size:1.05rem}
.zf-post__player{margin:0 0 14px}
.zf-post__player audio{width:100%}
.zf-post__more{
  margin-top:auto;font-family:var(--zf-font-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zf-accent);text-decoration:none;
  border-bottom:1px solid currentColor;padding-bottom:3px;align-self:flex-start;
}
@media(max-width:1000px){.zf-posts{grid-template-columns:repeat(2,1fr)}
  .zf-post--lead{grid-template-columns:1fr}.zf-post--lead .zf-post__media{order:0;margin-bottom:16px}}
@media(max-width:620px){.zf-posts{grid-template-columns:1fr}}

.zf-player{margin:0 0 clamp(26px,4vw,40px);padding:clamp(18px,2.4vw,26px);
  background:var(--zf-paper-2);border-left:4px solid var(--zf-accent)}
.zf-player audio{width:100%}
.zf-single__media{margin:0 0 clamp(30px,4vw,50px)}
.zf-single__media img{width:100%;height:auto;display:block}

.zf-entry{font-size:1.08rem;line-height:1.75}
.zf-entry h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:clamp(30px,4vw,46px) 0 14px}
.zf-entry h3{font-size:clamp(1.25rem,2.2vw,1.6rem);margin:clamp(24px,3vw,34px) 0 10px}
.zf-entry p{margin-bottom:1.15em}
.zf-entry blockquote{
  border-left:4px solid var(--zf-accent);padding-left:24px;margin:clamp(26px,3.5vw,38px) 0;
  font-family:var(--zf-font-display);text-transform:uppercase;
  font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.14;color:var(--zf-ink);
}
.zf-entry img{max-width:100%;height:auto}
.zf-entry ul,.zf-entry ol{margin:0 0 1.15em;padding-left:22px}
.zf-entry li{margin-bottom:8px}
.zf-single__terms{
  margin-top:clamp(30px,4vw,44px);padding-top:20px;border-top:1px solid var(--zf-line);
  font-family:var(--zf-font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
}
.zf-single__terms a{color:var(--zf-muted);text-decoration:none;margin-right:12px}
.zf-single__terms a:hover{color:var(--zf-accent)}

.zf-postcta{
  margin:clamp(40px,5vw,64px) 0 0;padding:clamp(26px,3.4vw,40px);
  background:var(--zf-ink);color:var(--zf-body-invert);
}
.zf-postcta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}
.zf-postcta p{color:rgba(255,255,255,.75)}
.zf-postcta .zf-heroform input[type="text"],
.zf-postcta .zf-heroform input[type="email"]{width:100%;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.26);color:#fff;padding:13px 15px;border-radius:2px;margin-bottom:12px}
.zf-postcta .zf-heroform .zf-funnel__consent{color:rgba(255,255,255,.62);font-size:.8rem}
.zf-postcta .zf-heroform .zf-funnel__consent input[type="checkbox"]{width:auto;margin:3px 0 0;padding:0}
.zf-postcta .zf-heroform button{width:100%;background:var(--zf-accent);color:#fff;border:0;
  padding:15px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;font-size:.76rem;cursor:pointer;border-radius:2px}

.zf-postnav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--zf-line);
  margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--zf-line)}
.zf-postnav a{background:var(--zf-paper);padding:24px 26px;text-decoration:none;display:block}
.zf-postnav a:hover{background:var(--zf-paper-2)}
.zf-postnav--next{text-align:right}
.zf-postnav span{font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zf-accent);display:block;margin-bottom:6px}
.zf-postnav strong{font-family:var(--zf-font-display);font-size:1.15rem;text-transform:uppercase;color:var(--zf-ink)}
@media(max-width:620px){.zf-postnav{grid-template-columns:1fr}.zf-postnav--next{text-align:left}}

.zf-pagination{margin-top:clamp(40px,5vw,60px);font-family:var(--zf-font-mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.zf-pagination .page-numbers{padding:10px 14px;color:var(--zf-muted);text-decoration:none}
.zf-pagination .current{background:var(--zf-ink);color:#fff}
.zf-post__body{display:flex;flex-direction:column;flex:1}
.zf-post--lead .zf-post__body{order:1}
.zf-single{display:block}
.zf-header__cta{margin-left:auto}

/* image placeholders, visible until a real image is uploaded */
.zf-figure__ph{
  background:
    repeating-linear-gradient(-45deg, rgba(18,16,15,.028) 0 12px, transparent 12px 24px),
    var(--zf-paper-2);
  border:1px dashed rgba(18,16,15,.22);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(22px,3vw,34px);min-height:220px;
  font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--zf-muted);line-height:2;
}
.zf-dark .zf-figure__ph,.zf-hero .zf-figure__ph{
  background:
    repeating-linear-gradient(-45deg, rgba(255,255,255,.04) 0 12px, transparent 12px 24px),
    rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.45);
}
.zf-figure__ph span{max-width:24ch;display:block}

/* ==========================================================================
   40. Type scale, and the lean homepage
   Eight sizes. Every heading and paragraph on the homepage maps to one of
   these. Section padding is generous and identical everywhere.
   ========================================================================== */

:root{
  --t-display:clamp(3.2rem,7.5vw,6rem);      /* h1 */
  --t-h2:clamp(2.2rem,4.4vw,3.4rem);         /* section heading */
  --t-h3:clamp(1.5rem,2.4vw,2rem);           /* card heading */
  --t-lede:clamp(1.12rem,1.5vw,1.3rem);      /* lead paragraph */
  --t-body:1.05rem;                           /* body */
  --t-small:.9rem;                            /* captions, notes */
  --t-label:.66rem;                           /* mono eyebrows and labels */
  --t-pull:clamp(1.6rem,3vw,2.4rem);         /* pull quotes, story beats */
  --s-section:clamp(88px,10vw,150px);
}

.zf-section{padding:var(--s-section) 0}
.zf-section h2{font-size:var(--t-h2);line-height:1;letter-spacing:-.012em;margin-bottom:.4em}
.zf-section h3{font-size:var(--t-h3);line-height:1.05}
.zf-section .zf-lede{font-size:var(--t-lede);line-height:1.6}
.zf-section p{font-size:var(--t-body);line-height:1.68}
.zf-eyebrow{font-size:var(--t-label);margin-bottom:18px}
.zf-head--center{text-align:center;max-width:720px;margin:0 auto clamp(40px,5vw,64px)}
.zf-head--center .zf-eyebrow{justify-content:center}
.zf-head--center .zf-eyebrow::after{display:none}

/* hero */
.zf-hero{padding:clamp(90px,11vw,160px) 0 clamp(70px,9vw,120px)}
.zf-hero h1{font-size:var(--t-display);line-height:.92;letter-spacing:-.02em;margin:0 0 26px}
.zf-hero__kicker{font-size:var(--t-lede);color:var(--zf-ember);text-transform:none;
  font-family:var(--zf-font-body);font-weight:500;letter-spacing:0;max-width:34ch;margin-bottom:22px;line-height:1.35}
.zf-hero__sub{font-size:var(--t-lede);line-height:1.55;max-width:34ch;margin:0 0 34px}
.zf-hero__layout{grid-template-columns:1.2fr 400px;align-items:center}
@media(max-width:1050px){.zf-hero__layout{grid-template-columns:1fr}.zf-heropanel{max-width:100%}}
.zf-heropanel__list{display:none}
.zf-heropanel__title{font-size:var(--t-h3)}

/* the moment */
.zf-moment__line{font-size:var(--t-lede);line-height:1.6;color:var(--zf-body);margin:0 0 30px}
.zf-moment__beat{
  font-family:var(--zf-font-display);text-transform:uppercase;color:var(--zf-ink);
  font-size:var(--t-pull);line-height:1.02;letter-spacing:-.012em;margin:0 0 26px;
}
.zf-moment__beat::before{content:"";display:block;width:56px;height:5px;background:var(--zf-accent);margin-bottom:22px}
.zf-moment__after{font-size:var(--t-body);line-height:1.68;margin:0;color:var(--zf-body)}


/* three moves, restyled as three large statements. The colors below are for
   the dark front page section only; on a light section the base rules apply,
   otherwise the headings render white on white. */
.zf-move{padding:clamp(30px,4vw,48px) clamp(24px,3vw,40px) clamp(30px,4vw,48px) 0}
.zf-move h3{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:14px}
.zf-move p{font-size:var(--t-lede);margin:0}
.zf-dark .zf-moves{border-top-color:rgba(255,255,255,.22)}
.zf-dark .zf-move + .zf-move{border-left-color:rgba(255,255,255,.14)}
.zf-dark .zf-move h3{color:#fff}
.zf-dark .zf-move p{color:rgba(255,255,255,.78)}
.zf-moves__close{
  max-width:640px;margin:clamp(34px,4vw,50px) auto 0;text-align:center;
  font-size:var(--t-body);color:rgba(255,255,255,.72);
}
.zf-moves__close a{display:block;margin-top:14px;color:#fff;font-family:var(--zf-font-mono);
  font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid var(--zf-accent);padding-bottom:4px;width:max-content;margin-left:auto;margin-right:auto}

/* what it makes you: five words, no paragraphs */
.zf-become{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-top:3px solid var(--zf-ink);border-bottom:1px solid var(--zf-line);
}
.zf-become li{
  padding:clamp(28px,3.5vw,44px) 20px clamp(28px,3.5vw,44px) 0;
  font-family:var(--zf-font-display);text-transform:uppercase;font-size:var(--t-h3);
  line-height:1;color:var(--zf-ink);border-right:1px solid var(--zf-line);
}
.zf-become li + li{padding-left:20px}
.zf-become li:last-child{border-right:0;padding-right:0}
.zf-become li span{display:block;font-family:var(--zf-font-mono);font-size:var(--t-label);
  letter-spacing:.18em;color:var(--zf-accent);margin-bottom:12px}
.zf-become__title{font-size:var(--t-h2);max-width:20ch;margin-left:auto;margin-right:auto}
@media(max-width:900px){.zf-become{grid-template-columns:repeat(2,1fr)}
  .zf-become li{border-bottom:1px solid var(--zf-line);padding-right:20px}
  .zf-become li:nth-child(2n){border-right:0;padding-right:0}
  .zf-become li:nth-child(odd){padding-left:0}}
@media(max-width:560px){.zf-become{grid-template-columns:1fr}.zf-become li{border-right:0;padding-left:0!important}}

/* fitness, full bleed image */
.zf-fit{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--zf-ink);color:var(--zf-body-invert)}
.zf-fit__media .zf-figure,.zf-fit__media .zf-figure__ph,.zf-fit__media .zf-figure img{height:100%;min-height:520px;width:100%;object-fit:cover;margin:0}
.zf-fit__media .zf-figure__ph{min-height:520px;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 12px,transparent 12px 24px),#1c1917;border:0;color:rgba(255,255,255,.4)}
.zf-fit__text{padding:var(--s-section) clamp(30px,5vw,80px)}
.zf-fit h2{color:#fff}
.zf-fit .zf-lede{color:rgba(255,255,255,.78)}
.zf-fit__quote{
  font-family:var(--zf-font-display);text-transform:uppercase;font-size:var(--t-pull);
  line-height:1.04;color:#fff;border-left:5px solid var(--zf-accent);padding-left:22px;
  margin:clamp(24px,3vw,36px) 0 clamp(28px,3.5vw,40px);
}
@media(max-width:860px){.zf-fit{grid-template-columns:1fr}}

/* books */
.zf-books{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,40px)}
.zf-book__cover .zf-figure img,.zf-book__cover .zf-figure__ph{aspect-ratio:2/3;width:100%;object-fit:cover;min-height:0}
.zf-book__cover{margin-bottom:18px}
.zf-book__buy{
  display:inline-block;margin-top:14px;padding:10px 16px;
  font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--zf-accent);border:1.5px solid var(--zf-accent);border-radius:2px;
  text-decoration:none;transition:background-color .2s,color .2s
}
.zf-book__buy:hover{background:var(--zf-accent);color:#fff}
.zf-book__status{font-family:var(--zf-font-mono);font-size:var(--t-label);letter-spacing:.16em;
  text-transform:uppercase;color:var(--zf-accent);display:block;margin-bottom:8px}
.zf-book h3{font-size:var(--t-h3);margin-bottom:8px}
.zf-book p{font-size:var(--t-small);line-height:1.55;margin:0}
@media(max-width:960px){.zf-books{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.zf-books{grid-template-columns:1fr}}

/* founder */
.zf-founder{grid-template-columns:360px 1fr;align-items:center}
.zf-pull{font-size:var(--t-pull)}

/* for teams, one band */
.zf-teamband{background:var(--zf-paper-2);padding:clamp(56px,7vw,90px) 0}
.zf-teamband .zf-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(30px,5vw,70px);align-items:center}
.zf-teamband h2{font-size:var(--t-h2);line-height:1;margin:0}
.zf-teamband p{font-size:var(--t-body);line-height:1.66;margin:0 0 22px}
@media(max-width:860px){.zf-teamband .zf-wrap{grid-template-columns:1fr}}
/* The story is a full bleed split, like the fitness section, but mirrored so
   the page alternates which side the image sits on. The image fills its half
   edge to edge rather than sitting in the column as a card, and the text gets
   a padded panel of its own instead of a narrow block floating in white. */
.zf-moment{
  display:grid;grid-template-columns:1.2fr .8fr;padding:0;
  background:var(--zf-paper);overflow:hidden
}
.zf-moment__text{
  grid-column:1;min-width:0;
  padding:var(--s-section) clamp(30px,5vw,80px);
  align-self:center
}
/* The story carries this panel the way the headline carries the fitness panel.
   Story before theory, so the moment is the largest thing here and the
   explanation that follows it is deliberately smaller. */
.zf-moment .zf-moment__line{
  font-size:clamp(1.45rem,2.2vw,2rem);
  line-height:1.4;
  color:var(--zf-ink);
  margin:0 0 34px;
  max-width:20em
}
.zf-moment .zf-moment__after{max-width:34em}
.zf-moment__media{grid-column:2;min-width:0}
.zf-moment__media .zf-figure,
.zf-moment__media .zf-figure__ph,
.zf-moment__media .zf-figure img{
  height:100%;min-height:520px;width:100%;object-fit:cover;margin:0;border:0;
  /* a tall photo of two people at a counter: keep the faces and the cup in
     frame rather than the lamps above them */
  object-position:50% 44%
}
/* the text sets the height of this section, not the photo */
.zf-moment__media{max-height:780px}
.zf-moment__media .zf-figure{height:100%}
.zf-moment__media .zf-figure__ph{
  background:repeating-linear-gradient(-45deg,rgba(0,0,0,.05) 0 12px,transparent 12px 24px),#e9e4dc;
  color:rgba(0,0,0,.38)
}
@media(max-width:860px){
  .zf-moment{grid-template-columns:1fr}
  /* Image first on a phone, so the picture opens the story. */
  .zf-moment__text{grid-column:1;grid-row:2}
  .zf-moment__media{grid-column:1;grid-row:1}
  .zf-moment__media .zf-figure,
  .zf-moment__media .zf-figure__ph,
  .zf-moment__media .zf-figure img{min-height:320px}
}
.zf-founder-sec{background:var(--zf-paper)}
/* mobile: the founder grid and the full-bleed fitness block were set at desktop widths only */
@media(max-width:860px){
  .zf-founder{grid-template-columns:1fr}
  .zf-fit{grid-template-columns:1fr}
  .zf-fit__media .zf-figure,.zf-fit__media .zf-figure__ph,.zf-fit__media .zf-figure img{min-height:320px}
}
.zf-fit{overflow:hidden}
.zf-fit__media{min-width:0}
.zf-fit__text{min-width:0}

/* for leaders */
.zf-lead{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid rgba(255,255,255,.28);margin-top:14px}
.zf-lead__item{padding:clamp(26px,3.5vw,40px) clamp(20px,3vw,36px) clamp(26px,3.5vw,40px) 0}
.zf-lead__item + .zf-lead__item{border-left:1px solid rgba(255,255,255,.14);padding-left:clamp(20px,3vw,36px)}
.zf-lead__n{font-family:var(--zf-font-mono);font-size:var(--t-label);letter-spacing:.18em;color:var(--zf-ember);display:block;margin-bottom:12px}
.zf-lead__item h3{color:#fff;font-size:var(--t-h3);margin-bottom:12px}
.zf-lead__item p{color:rgba(255,255,255,.76);font-size:var(--t-body);margin:0}
.zf-lead__bottom{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(30px,5vw,70px);align-items:start;
  margin-top:clamp(40px,5vw,64px);padding-top:clamp(30px,4vw,48px);border-top:1px solid rgba(255,255,255,.14)}
.zf-lead__pull{font-family:var(--zf-font-display);text-transform:uppercase;color:#fff;font-size:clamp(2.2rem,5vw,4rem);
  line-height:.98;margin:0;letter-spacing:-.015em}
.zf-lead__pull::before{content:"";display:block;width:56px;height:5px;background:var(--zf-accent);margin-bottom:22px}
.zf-lead__bottom p{color:rgba(255,255,255,.8)}
.zf-lead__bottom .zf-btn{margin-top:10px}
@media(max-width:900px){.zf-lead{grid-template-columns:1fr}
  .zf-lead__item + .zf-lead__item{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding-left:0}
  .zf-lead__bottom{grid-template-columns:1fr}}

/* ==========================================================================
   40. Front page rebuilt as a sale (6.12)
   ========================================================================== */

/* 2. origin */
/* The origin sits between the dark hero and the paper story. It gets the
   warm alt surface and a hairline below, so the three read as three. */
.zf-origin{background:var(--zf-alt,#f2eee8);border-bottom:1px solid var(--zf-line)}
.zf-origin.zf-section{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.zf-origin__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(34px,6vw,90px);align-items:start}
.zf-origin__grid h2{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08;margin:0}
.zf-origin__line{margin:26px 0 0;font-size:var(--t-lede);font-weight:700;color:var(--zf-ink);
  padding-left:18px;border-left:3px solid var(--zf-accent)}
@media(max-width:860px){.zf-origin__grid{grid-template-columns:1fr}}

/* 4. the method in full */
.zf-whole__doctrine{margin:18px auto 0;max-width:30em;font-size:var(--t-lede);color:rgba(255,255,255,.72)}
.zf-whole__question{
  margin:clamp(44px,6vw,80px) auto 0;max-width:14em;text-align:center;
  font-family:var(--zf-font-display);font-size:clamp(2.2rem,5.2vw,4.4rem);line-height:1.05;
  letter-spacing:-.01em;color:#fff;text-transform:uppercase;
}
.zf-cargo-strip{margin:clamp(34px,4vw,56px) auto 0;max-width:1040px}
.zf-cargo-strip__intro{text-align:center;color:rgba(255,255,255,.62);margin:0 0 22px;font-size:var(--t-body)}
.zf-cargo-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.zf-cargo-strip__item{padding:22px 18px 22px 0}
.zf-cargo-strip__item + .zf-cargo-strip__item{border-left:1px solid rgba(255,255,255,.12);padding-left:18px}
.zf-cargo-strip__item strong{display:block;font-family:var(--zf-font-display);font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.zf-cargo-strip__item em{font-style:normal;color:var(--zf-accent-hot);font-size:.98rem}
.zf-whole__line{
  margin:clamp(44px,6vw,80px) auto 0;text-align:center;max-width:16em;
  font-family:var(--zf-font-display);font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.08;
  text-transform:uppercase;color:var(--zf-accent-hot);
}
@media(max-width:860px){
  .zf-cargo-strip__grid{grid-template-columns:1fr 1fr}
  .zf-cargo-strip__item{padding:18px 14px 18px 0}
  .zf-cargo-strip__item:nth-child(3){border-left:0;padding-left:0}
}

/* 5. the talk */
.zf-talk{background:var(--zf-paper);border-top:1px solid var(--zf-line)}
.zf-talk__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(34px,6vw,90px);align-items:start}
.zf-talk__lead h2{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.02;margin:0 0 20px}
.zf-talk__lead .zf-lede{max-width:30em;margin-bottom:30px}
.zf-talk__side{padding:clamp(26px,3vw,40px);background:var(--zf-ink);color:#fff;border-radius:3px}
.zf-talk__label{font-family:var(--zf-font-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-accent-hot);margin:0 0 16px}
.zf-talk__walk{margin:0 0 26px;padding:0;list-style:none;counter-reset:walk}
.zf-talk__walk li{position:relative;padding:12px 0 12px 44px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.86);line-height:1.5}
.zf-talk__walk li::before{counter-increment:walk;content:counter(walk,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--zf-font-mono);font-size:.78rem;color:var(--zf-accent-hot)}
.zf-talk__founding{padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-left:3px solid var(--zf-accent);margin-bottom:18px}
.zf-talk__founding strong{display:block;font-family:var(--zf-font-display);font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.zf-talk__founding p{margin:0;color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.5}
.zf-talk__guarantee{margin:0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.66)}
@media(max-width:860px){.zf-talk__grid{grid-template-columns:1fr}}

/* 6. the half day and the doors */
.zf-halfday{
  display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(28px,4vw,56px);align-items:center;
  padding:clamp(28px,4vw,44px);background:var(--zf-ink);color:#fff;border-radius:3px;
  margin:clamp(30px,4vw,48px) 0 clamp(40px,5vw,64px)
}
.zf-halfday__k{font-family:var(--zf-font-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-accent-hot)}
.zf-halfday h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:10px 0 12px;color:#fff}
.zf-halfday p{margin:0;color:rgba(255,255,255,.8);line-height:1.6}
.zf-halfday__cta{text-align:left}
.zf-halfday__cta .zf-note{margin:12px 0 0;color:rgba(255,255,255,.55);font-size:.86rem}
.zf-door__place{display:block;font-family:var(--zf-font-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-accent);margin-bottom:12px}
.zf-books--doors{grid-template-columns:repeat(3,1fr)}
.zf-doors__fit{max-width:44em;margin:clamp(30px,4vw,48px) 0 0;color:var(--zf-body);line-height:1.65;padding-left:18px;border-left:3px solid var(--zf-accent)}
@media(max-width:860px){
  .zf-halfday{grid-template-columns:1fr}
  .zf-books--doors{grid-template-columns:1fr}
}

/* founding names, shown when there are any */
.zf-founding-names{display:flex;flex-wrap:wrap;gap:10px 22px;margin:18px 0 0;padding:0;list-style:none}
.zf-founding-names li{font-family:var(--zf-font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}


/* ==========================================================================
   Phrases to plant. These two lines are the things people repeat, so they
   get display size, not caption size.
   ========================================================================== */
.zf-whole .zf-whole__question, .zf-section .zf-whole__question{
  text-align:center;color:#fff;
  font-family:var(--zf-font-display,inherit);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:.01em;
  max-width:16em;margin:clamp(34px,4vw,54px) auto 14px
}
.zf-whole .zf-whole__line, .zf-section .zf-whole__line{
  text-align:center;color:var(--zf-accent-hot,#e8563f);
  font-family:var(--zf-font-display,inherit);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.9rem,4.2vw,3.4rem);line-height:1.05;letter-spacing:.01em;
  max-width:12em;margin:clamp(40px,5vw,64px) auto 18px
}

/* ==========================================================================
   Speaking page: the terms. Founding ten, the guarantee, the format.
   ========================================================================== */
.zf-sp-terms{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:3px solid var(--zf-ink);margin-top:10px
}
.zf-sp-term{padding:clamp(24px,3vw,36px) clamp(20px,2.6vw,34px) clamp(24px,3vw,36px) 0}
.zf-sp-term + .zf-sp-term{border-left:1px solid var(--zf-line);padding-left:clamp(20px,2.6vw,34px)}
.zf-sp-term__k{
  display:block;font-family:var(--zf-font-mono);font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--zf-accent);margin-bottom:12px
}
.zf-sp-term h3{font-size:clamp(1.25rem,1.8vw,1.55rem);margin:0 0 12px;line-height:1.2}
.zf-sp-term p{font-size:.98rem;line-height:1.62;margin:0;color:var(--zf-body)}
.zf-sp-term__open{margin-top:14px;font-weight:700;color:var(--zf-ink)}
.zf-founding-names{list-style:none;margin:14px 0 0;padding:0;font-family:var(--zf-font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.zf-founding-names li{padding:8px 0;border-top:1px solid var(--zf-line)}
@media(max-width:860px){
  .zf-sp-terms{grid-template-columns:1fr}
  .zf-sp-term + .zf-sp-term{border-left:0;border-top:1px solid var(--zf-line);padding-left:0}
}

.zf-founding-names--light li{color:var(--zf-ink)}
.zf-founding-names--light{display:block}

.zf-note--bridge{margin-top:18px}
.zf-note--bridge a{color:#fff;text-decoration:underline;text-underline-offset:4px}

.zf-ev__promise{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.45;font-weight:600;color:var(--zf-ink);border-left:4px solid var(--zf-accent);padding-left:22px;margin:0 0 30px}


/* ==========================================================================
   The method screen, structured: the Edge defined, then the moves, then the
   question. Cargoes are their own section on the alt surface.
   ========================================================================== */
.zf-whole .zf-whole__def{
  max-width:34em;margin:22px auto 0;text-align:center;
  font-size:var(--t-lede);line-height:1.6;color:rgba(255,255,255,.88)
}
.zf-whole .zf-whole__doctrine{margin-top:18px;font-weight:700;color:#fff}
.zf-whole__sub{
  display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;
  margin:clamp(48px,6vw,84px) 0 6px;padding-top:26px;
  border-top:1px solid rgba(255,255,255,.16)
}
.zf-whole__sub-k{
  font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--zf-accent-hot,#e8563f);white-space:nowrap
}
.zf-whole .zf-whole__sub-p{margin:0;max-width:40em;color:rgba(255,255,255,.72);font-size:var(--t-body)}
.zf-whole .zf-whole__q-note{
  max-width:36em;margin:0 auto;text-align:center;color:rgba(255,255,255,.66);font-size:var(--t-body)
}

.zf-cargo .zf-cargo-strip--light{border-top:3px solid var(--zf-ink);margin-top:14px}
.zf-cargo .zf-cargo-strip__item{border-color:var(--zf-line)}
.zf-cargo .zf-cargo-strip__item strong{color:var(--zf-ink)}
.zf-cargo .zf-cargo-strip__item em{color:var(--zf-accent)}
.zf-section .zf-whole__line--light{color:var(--zf-accent);margin-top:clamp(48px,6vw,80px)}
.zf-cargo .zf-moves__close--light{color:var(--zf-body)}
.zf-cargo .zf-moves__close--light a{color:var(--zf-ink)}

/* the half day follows the talk, inside the same section */
.zf-talk__then{
  margin:clamp(48px,6vw,84px) 0 14px;padding-top:26px;border-top:1px solid var(--zf-line)
}
.zf-talk .zf-whole__sub-k{color:var(--zf-accent)}

/* ==========================================================================
   ZenFudo v8 — conversion system
   Core visual language mirrors the current ZenFudo identity: charcoal,
   bright red, disciplined type, strong hierarchy, one idea per surface.
   ========================================================================== */

:root{
  --zf8-red:var(--zf-accent,#fa0d10);
  --zf8-black:#1a1a19;
  --zf8-black2:#101010;
  --zf8-graphite:#252322;
  --zf8-cream:#faf8f5;
  --zf8-warm:#f1ede7;
  --zf8-line:#ddd6cc;
  --zf8-muted:#6f6863;
  --zf8-white:#fff;
  --zf8-shadow:0 32px 70px rgba(0,0,0,.18);
}

body{background:var(--zf8-cream);color:#403b38}
.zf-wrap{max-width:1220px}
.zf8-muted{color:#aaa19a}
.zf8-center{text-align:center}
.zf8-eyebrow{font:700 .72rem/1.2 var(--zf-font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--zf8-red);margin:0 0 18px}
.zf8-lede{font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.58;color:#514b47}
.zf8-section{padding:clamp(78px,8.5vw,132px) 0;position:relative;overflow:hidden}
.zf8-alt{background:var(--zf8-warm)}
.zf8-darkband{background:var(--zf8-black);color:#cfc8c2}
.zf8-darkband h2,.zf8-darkband h3{color:#fff}
.zf8-darkband .zf8-lede{color:#d7d0ca}
.zf8-sectionhead{max-width:820px;margin-bottom:48px}
.zf8-sectionhead h2{font-size:clamp(2.5rem,5.2vw,4.3rem);margin-bottom:20px}
.zf8-sectionhead .zf8-lede{margin:0}

/* Header */
.zf8-header{position:sticky;top:0;z-index:800;background:rgba(26,26,25,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.admin-bar .zf8-header{top:32px}
.admin-bar .zf8-hero{min-height:calc(100svh - 78px - 32px)}
.zf8-header__inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.zf8-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:#fff;min-width:0}
.zf8-brand__mark{width:43px;height:43px;object-fit:contain;border-radius:0;flex:0 0 auto;background:transparent}
.zf8-brand__img{max-height:48px;width:auto;display:block}
.zf8-brand__type{display:flex;flex-direction:column;line-height:1}
.zf8-brand__type strong{font:600 1.13rem/1 var(--zf-font-body);letter-spacing:.2em;color:#fff}
.zf8-brand__type small{font:600 .51rem/1.2 var(--zf-font-body);letter-spacing:.18em;color:#aaa39e;margin-top:7px}
.zf8-nav{display:flex;align-items:center;gap:28px}
.zf8-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}
.zf8-nav li{margin:0}
.zf8-nav a:not(.zf8-btn){font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:#e7e1dc;text-decoration:none;transition:color .2s ease}
.zf8-nav a:not(.zf8-btn):hover{color:#fff}
.zf8-header__cta{white-space:nowrap}
.zf8-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;text-decoration:none!important;text-transform:uppercase;letter-spacing:.075em;font:700 .78rem/1 var(--zf-font-body);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer}
.zf8-btn:hover{transform:translateY(-2px)}
.zf8-btn--red{background:var(--zf8-red);color:#fff!important;border-color:var(--zf8-red)}
.zf8-btn--red:hover{background:#ff2729;border-color:#ff2729}
.zf8-btn--outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.36)}
.zf8-btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.zf8-btn--dark{background:var(--zf8-black);color:#fff!important;border-color:var(--zf8-black)}
.zf8-btn--outline-dark{background:transparent;color:var(--zf8-black)!important;border-color:#8f8680}
.zf8-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* Hero */
.zf8-hero,.zf8-pagehero{position:relative;background:radial-gradient(circle at 88% 44%,rgba(250,13,16,.13),transparent 27%),linear-gradient(120deg,#111 0%,#1a1a19 60%,#131313 100%);color:#d7d0ca;overflow:hidden}
.zf8-hero{min-height:calc(100svh - 78px);display:flex;align-items:center;padding:clamp(48px,5vw,84px) 0}
.zf8-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.72fr);gap:7vw;align-items:center;position:relative;z-index:2}
.zf8-hero h1,.zf8-pagehero h1{color:#fff;font-size:clamp(4.3rem,8vw,7.4rem);line-height:.9;letter-spacing:-.025em;margin:0 0 28px;text-transform:uppercase}
.zf8-hero__explainer{font-size:clamp(1.25rem,2.1vw,1.72rem);line-height:1.42;color:#fff;max-width:770px;margin:0 0 18px}
.zf8-hero__promise{max-width:760px;color:#bdb5af;font-size:1.02rem;line-height:1.65}
.zf8-hero__meta{display:flex;gap:0;margin-top:34px;color:#aaa19b;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}
.zf8-hero__meta span{padding:0 16px;border-left:1px solid rgba(255,255,255,.16)}
.zf8-hero__meta span:first-child{padding-left:0;border-left:0}
.zf8-hero__product{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.zf8-bookmock{position:relative;width:min(330px,85%);filter:drop-shadow(0 35px 34px rgba(0,0,0,.45));transform:perspective(1000px) rotateY(-5deg) rotateX(1deg)}
.zf8-bookmock::after{content:"";position:absolute;top:1.5%;right:-13px;width:14px;height:97%;background:linear-gradient(90deg,#ddd7d0,#fff 55%,#cbc5bd);transform:skewY(-1deg);z-index:-1;border-radius:0 3px 3px 0}
.zf8-bookmock img{width:100%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(0,0,0,.5)}
.zf8-hero__product-note{margin-top:24px;display:flex;gap:8px;flex-direction:column;text-align:center;color:#aaa19b;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em}
.zf8-hero__product-note strong{color:#fff}
.zf8-rings{position:absolute;right:-180px;top:50%;width:650px;height:650px;transform:translateY(-50%);opacity:.65;pointer-events:none}
.zf8-rings::before,.zf8-rings::after,.zf8-rings i{content:"";position:absolute;border:1px solid rgba(250,13,16,.36);border-radius:50%;inset:0}
.zf8-rings::after{inset:110px;border-color:rgba(250,13,16,.48)}
.zf8-rings i:nth-child(1){inset:210px;border:3px solid var(--zf8-red);box-shadow:0 0 38px rgba(250,13,16,.16)}
.zf8-rings i:nth-child(2){inset:280px;background:var(--zf8-red);border:0;box-shadow:0 0 44px rgba(250,13,16,.24)}
.zf8-rings i:nth-child(3){inset:-85px;border-style:dotted;opacity:.35}

/* Story and edge visualization */
.zf8-story{background:#fff;padding-bottom:clamp(46px,5.5vw,72px)}
.zf8-story__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:8vw;align-items:start}
.zf8-story h2{font-size:clamp(2.8rem,5.2vw,4.3rem)}
.zf8-story blockquote{margin:32px 0;padding:0 0 0 24px;border-left:5px solid var(--zf8-red);font:600 clamp(1.45rem,2.6vw,2.05rem)/1.36 var(--zf-font-body);color:var(--zf8-black)}
.zf8-edgeviz{display:grid;grid-template-columns:1fr 118px 1fr;align-items:stretch;border:1px solid var(--zf8-line);background:var(--zf8-cream);box-shadow:var(--zf8-shadow);min-height:330px}
.zf8-edgeviz>div:not(.zf8-edgeviz__edge){padding:42px 30px;display:flex;flex-direction:column;justify-content:center}
.zf8-edgeviz span{font-size:.66rem;letter-spacing:.17em;font-weight:700;color:var(--zf8-muted)}
.zf8-edgeviz strong{font-size:1.12rem;line-height:1.55;color:var(--zf8-black);margin-top:18px}
.zf8-edgeviz__edge{position:relative;background:var(--zf8-black);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 10px}
.zf8-edgeviz__edge i{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--zf8-red);transform:translateX(-50%)}
.zf8-edgeviz__edge b,.zf8-edgeviz__edge em{position:relative;z-index:2;background:var(--zf8-black);padding:6px 8px}
.zf8-edgeviz__edge b{font-family:var(--zf-font-display);font-size:1.45rem;letter-spacing:.08em;color:#fff}
.zf8-edgeviz__edge em{font-size:.68rem;font-style:normal;color:#cbc3bd;line-height:1.35;margin-top:16px}

/* Method */
.zf8-method{background:var(--zf8-black);color:#cfc8c2}
.zf8-method h2,.zf8-method h3{color:#fff}
.zf8-method .zf8-sectionhead{max-width:970px}
.zf8-doctrine{font-size:clamp(1.45rem,2.5vw,2.1rem);color:#fff;margin:18px 0 0}
.zf8-doctrine strong{color:var(--zf8-red)}
.zf8-moves{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3b3734;border-bottom:1px solid #3b3734}
.zf8-moves article{padding:34px 34px 38px;border-left:1px solid #3b3734}
.zf8-moves article:first-child{border-left:0}
.zf8-moves span,.zf8-edgegrid span{font:700 .65rem/1 var(--zf-font-mono);color:var(--zf8-red);letter-spacing:.14em}
.zf8-moves h3{font-size:2rem;margin:10px 0 10px}
.zf8-moves p{color:#bfb7b1;margin:0}
.zf8-cargo-intro{max-width:700px;margin:48px 0 20px;font-size:1.14rem;color:#fff}
.zf8-cargo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3a3633;border:1px solid #3a3633}
.zf8-cargo-grid article{background:#211f1e;padding:30px 26px;min-height:230px}
.zf8-alt .zf8-cargo-grid{background:#d8d1c8;border-color:#d8d1c8}
.zf8-alt .zf8-cargo-grid article{background:#fff}
.zf8-alt .zf8-cargo-grid h3{color:var(--zf8-black)}
.zf8-alt .zf8-cargo-grid p{color:#5e5752}
.zf8-cargo-grid h3{font-size:1.65rem;margin:0 0 12px;color:#fff}
.zf8-cargo-grid p{font-size:.93rem;line-height:1.5;color:#aaa19b}
.zf8-cargo-grid strong{display:block;margin-top:28px;color:var(--zf8-red);font-size:.78rem;line-height:1.45}
.zf8-method__close{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:36px;border-top:1px solid #3b3734;padding-top:30px}
.zf8-method__close p{margin:0;max-width:760px}
.zf8-method__close a{white-space:nowrap;color:#fff;font-weight:700}

/* Free method conversion block */
.zf8-free{background:var(--zf8-warm)}
.zf8-free__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:6vw;align-items:center}
.zf8-preview{width:100%;box-shadow:var(--zf8-shadow);border:1px solid rgba(0,0,0,.1)}
.zf8-preview--dark{border-color:rgba(255,255,255,.12)}
.zf8-previewstack{position:relative;display:grid;grid-template-columns:1fr;align-items:start;padding:8px 0 14px;min-height:0}
.zf8-previewstack figure{margin:0;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 28px 58px rgba(0,0,0,.20);overflow:hidden}
.zf8-previewstack img{display:block;width:100%;height:auto;object-fit:contain;object-position:top}
.zf8-previewstack__primary{width:min(82%,610px);position:relative;z-index:2}
.zf8-previewstack__secondary{width:min(58%,430px);position:relative;z-index:3;margin-left:auto;margin-top:-22%;transform:rotate(1.1deg)}
.zf8-previewstack--dark figure{border-color:rgba(255,255,255,.15);box-shadow:0 28px 58px rgba(0,0,0,.42)}

.zf8-free h2{font-size:clamp(3rem,5.4vw,4.8rem)}
.zf8-checks{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid #d3ccc3}
.zf8-checks li{padding:13px 0 13px 28px;border-bottom:1px solid #d3ccc3;position:relative;font-weight:600;color:#49433f}
.zf8-checks li::before{content:"✓";position:absolute;left:0;color:var(--zf8-red);font-weight:900}
.zf8-formcard{margin-top:30px;padding:28px;background:#fff;border:1px solid #d8d1c8;box-shadow:0 18px 45px rgba(18,16,15,.08)}
.zf8-formnote{font-size:.76rem;color:#77706b;margin:12px 0 0}
.zf8-formcard .zf-funnel__form{display:grid;grid-template-columns:1fr 1.25fr auto;gap:10px;align-items:end}
.zf8-formcard .zf-funnel__field{margin:0}
.zf8-formcard .zf-funnel__consent{grid-column:1 / -1;margin:8px 0 0}
.zf8-formcard .zf-funnel__submit{margin:0}
.zf8-formcard .zf-funnel__msg{grid-column:1 / -1}
.zf8-formcard .zf-funnel__field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.zf8-formcard .zf-funnel__field input{min-height:48px;border-radius:0;border:1px solid #bbb2aa;background:#fff}
.zf8-formcard .zf-funnel__submit button{min-height:48px;border-radius:0;background:var(--zf8-red);font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.zf8-formcard .zf-funnel__consent span{font-size:.76rem;line-height:1.45;color:#6c6560}
.zf8-formcard .zf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:0!important}

/* Organizations */
.zf8-org{background:#fff}
.zf8-org__cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.zf8-org__cards article{padding:42px;background:var(--zf8-warm);border-top:5px solid var(--zf8-black);display:flex;flex-direction:column;align-items:flex-start}
.zf8-org__cards article:last-child{background:var(--zf8-black);color:#c8c0ba;border-top-color:var(--zf8-red)}
.zf8-org__cards article:last-child h3{color:#fff}
.zf8-org__cards h3{font-size:2.45rem;margin:10px 0 16px}
.zf8-org__cards p{font-size:1.05rem;line-height:1.55}
.zf8-org__cards ul{margin:18px 0 30px;padding-left:19px;flex:1}
.zf8-cardtag{font:700 .65rem/1 var(--zf-font-mono);letter-spacing:.14em;color:var(--zf8-red)}
.zf8-org__proof{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:34px;align-items:center;margin-top:46px;padding:28px;border:1px solid var(--zf8-line);background:var(--zf8-cream)}
.zf8-org__proof img{width:100%}
.zf8-org__proof p{margin:0}

.zf8-org__terms{margin-top:20px;padding:20px 24px;border-left:4px solid var(--zf8-red);background:#fff;border-top:1px solid var(--zf8-line);border-right:1px solid var(--zf8-line);border-bottom:1px solid var(--zf8-line);font-size:1rem;line-height:1.55;color:var(--zf8-ink)}
.zf8-org__terms strong{color:var(--zf8-black)}
.zf8-guarantee-strip{margin-top:18px;padding:25px 30px;background:var(--zf8-black);color:#cfc8c2;border-left:5px solid var(--zf8-red);display:grid;grid-template-columns:auto minmax(220px,.85fr) minmax(280px,1.35fr);gap:22px;align-items:center}
.zf8-guarantee-strip span{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:var(--zf8-red)}
.zf8-guarantee-strip strong{font-size:1.28rem;line-height:1.25;color:#fff}
.zf8-guarantee-strip p{margin:0;line-height:1.55}
.zf8-org__inside{margin-top:54px;padding:34px;background:var(--zf8-cream);border:1px solid var(--zf8-line)}
.zf8-org__inside-copy{max-width:760px;margin-bottom:26px}
.zf8-org__inside-copy h3{font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 0 10px;color:var(--zf8-black)}
.zf8-org__inside-copy p:last-child{margin-bottom:0}
.zf8-slidegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.zf8-slidegrid a{display:block;background:#111;border:1px solid rgba(0,0,0,.16);box-shadow:0 20px 40px rgba(0,0,0,.16);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.zf8-slidegrid a:hover{transform:translateY(-3px);box-shadow:0 24px 48px rgba(0,0,0,.22)}
.zf8-slidegrid img{display:block;width:100%;height:auto}
.zf8-darkband .zf8-slidegrid a{border-color:rgba(255,255,255,.12);box-shadow:0 24px 52px rgba(0,0,0,.40)}
.zf8-slidegrid--large{margin-top:38px;gap:30px}


/* Manuals */
.zf8-manuals{background:var(--zf8-warm)}
.zf8-productgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.zf8-product{background:#fff;border:1px solid #d8d1c8;padding:24px;display:flex;flex-direction:column;box-shadow:0 15px 34px rgba(18,16,15,.06)}
.zf8-product__cover{height:390px;display:flex;align-items:center;justify-content:center;background:#efebe5;margin-bottom:28px;padding:22px;overflow:hidden}
.zf8-product__cover img{height:100%;width:auto;box-shadow:0 20px 30px rgba(0,0,0,.18)}
.zf8-product__symbol{height:390px;display:flex;align-items:center;justify-content:center;background:var(--zf8-black);margin-bottom:28px}
.zf8-product__symbol img{width:55%;opacity:.8}
.zf8-product h3{font-size:2rem;margin:9px 0 14px}
.zf8-product p{flex:1}
.zf8-product__buy{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid #ddd6cd}
.zf8-product__buy>strong{font-size:1.32rem;color:var(--zf8-black)}
.zf8-product__buy .zf8-btn{padding:11px 14px;font-size:.69rem;text-align:center}
.zf8-manuals__note{max-width:850px;margin:42px 0 0;padding:22px 26px;border-left:5px solid var(--zf8-red);background:#fff}

/* Founder */
.zf8-founder{background:#fff}
.zf8-founder__grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:7vw;align-items:center}
.zf8-founder__media img{width:100%;max-height:620px;object-fit:cover;filter:grayscale(8%)}
.zf8-founder__mark{aspect-ratio:1;background:var(--zf8-black);display:flex;align-items:center;justify-content:center;max-width:500px}
.zf8-founder__mark img{width:68%;height:auto}
.zf8-founder h2{font-size:clamp(3rem,5vw,4.4rem)}
.zf8-founder blockquote{font:600 clamp(1.55rem,2.8vw,2.35rem)/1.3 var(--zf-font-body);color:var(--zf8-black);margin:28px 0;padding-left:25px;border-left:5px solid var(--zf8-red)}
.zf8-founder__sig{display:flex;flex-direction:column;margin-top:28px}
.zf8-founder__sig strong{color:var(--zf8-black)}
.zf8-founder__sig span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#7f7771;margin-top:4px}
.zf8-final{background:var(--zf8-black);color:#cfc8c2;border-top:1px solid #3a3532}
.zf8-final h2{color:#fff;margin:0 0 10px}
.zf8-final__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.zf8-final__inner p{margin:0;max-width:750px}

/* Interior page hero */
.zf8-pagehero{padding:clamp(100px,10vw,150px) 0;min-height:600px;display:flex;align-items:center}
.zf8-pagehero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:7vw;align-items:center;position:relative;z-index:2}
.zf8-pagehero h1{font-size:clamp(3.8rem,7vw,6.6rem)}
.zf8-pagehero__lead{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.55;color:#d0c8c2;max-width:780px}
.zf8-keyline{border-left:2px solid var(--zf8-red);padding:28px 0 28px 30px}
.zf8-keyline>span{font:.7rem var(--zf-font-mono);letter-spacing:.14em;color:var(--zf8-red)}
.zf8-keyline>strong{display:block;font:600 clamp(1.55rem,2.4vw,2.15rem)/1.25 var(--zf-font-body);color:#fff;margin:12px 0}
.zf8-keyline p{color:#aaa19b;margin:0}

/* Speaking */
.zf8-talkbeats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd6cd;border:1px solid #ddd6cd}
.zf8-talkbeats article{background:#fff;padding:30px}
.zf8-talkbeats span{font:.67rem var(--zf-font-mono);color:var(--zf8-red)}
.zf8-talkbeats h3{font-size:1.65rem;margin:12px 0}
.zf8-speakproof__grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6vw;align-items:center}
.zf8-video{aspect-ratio:16/9;background:#000;box-shadow:var(--zf8-shadow)}
.zf8-video iframe{width:100%;height:100%;border:0}
.zf8-home-video__head{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.zf8-home-video__frame{max-width:960px;margin:0 auto}
.zf8-home-video .zf8-video{width:100%}
.zf8-fitgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.zf8-fitgrid article{padding:28px;border-top:4px solid var(--zf8-red);background:var(--zf8-warm)}
.zf8-fitgrid h3{font-size:1.45rem}
.zf8-founderproof__grid{display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:center}
.zf8-founderproof__image{display:block;width:100%;max-height:520px;object-fit:cover;object-position:center top;box-shadow:var(--zf8-shadow);border:1px solid rgba(0,0,0,.08)}

.zf8-quote{padding:38px;background:var(--zf8-black);color:#fff;border-top:5px solid var(--zf8-red)}
.zf8-quote blockquote{margin:0;font:600 clamp(1.45rem,2.7vw,2.15rem)/1.36 var(--zf-font-body);color:#fff}
.zf8-quote span{display:block;margin-top:22px;color:#aaa19b;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.zf8-terms{background:var(--zf8-warm)}
.zf8-termgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.zf8-termgrid article{background:#fff;border:1px solid #d8d1c8;padding:30px}
.zf8-termgrid h3{font-size:1.7rem;margin:11px 0}

/* Teams */
.zf8-timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;border-top:2px solid var(--zf8-black)}
.zf8-timeline article{padding:28px 24px;border-left:1px solid #d8d1c8}
.zf8-timeline article:first-child{border-left:0}
.zf8-timeline span{font:.68rem var(--zf-font-mono);letter-spacing:.08em;color:var(--zf8-red)}
.zf8-timeline h3{font-size:1.55rem;margin:12px 0}
.zf8-casegrid,.zf8-toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zf8-casegrid article{padding:30px;background:var(--zf8-black);color:#cfc8c2;border-top:4px solid var(--zf8-red)}
.zf8-casegrid span{font:600 1.8rem var(--zf-font-display);text-transform:uppercase;color:#fff}
.zf8-casegrid p{margin:16px 0 0}
.zf8-toolgrid article{padding:30px;background:var(--zf8-warm);border:1px solid #ddd6cd}
.zf8-toolgrid h3{font-size:1.7rem;margin:11px 0}

/* Inquiry */
.zf8-inquiry{background:var(--zf8-black);color:#cfc8c2}
.zf8-inquiry h2{color:#fff;font-size:clamp(2.8rem,5vw,4.2rem)}
.zf8-inquiry .zf8-lede{color:#cfc8c2}
.zf8-inquiry a{color:#fff}
.zf8-inquiry__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:6vw;align-items:start}
.zf8-inquiry .zf8-formcard{margin-top:0;background:#fff;color:#403b38}
.zf-inquiry__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zf-inquiry__field{margin:0}
.zf-inquiry__field--wide{grid-column:1 / -1}
.zf-inquiry__field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.zf-inquiry__field input,.zf-inquiry__field select,.zf-inquiry__field textarea{width:100%;border:1px solid #bdb5af;border-radius:0;padding:12px 13px;background:#fff;color:#222;font:inherit}
.zf-inquiry__field textarea{min-height:110px;resize:vertical}
.zf-inquiry__submit{grid-column:1/-1;margin:5px 0 0}
.zf-inquiry__submit button{width:100%;min-height:50px;background:var(--zf8-red);border:0;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.zf-inquiry__msg{grid-column:1/-1;font-size:.86rem}
.zf-inquiry__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Method page extras */
.zf8-edgegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd6cd;border:1px solid #ddd6cd}
.zf8-edgegrid article{background:#fff;padding:28px;min-height:210px}
.zf8-edgegrid h3{font-size:1.55rem;margin:10px 0}
.zf8-faqwrap{max-width:900px}
.zf8-faq details{border-top:1px solid #d8d1c8;padding:0}
.zf8-faq details:last-child{border-bottom:1px solid #d8d1c8}
.zf8-faq summary{cursor:pointer;padding:21px 0;font-weight:700;color:var(--zf8-black);font-size:1.05rem}
.zf8-faq details p{padding:0 0 22px;max-width:760px}

/* Footer */
.zf8-footer{background:#101010;color:#a9a19b;padding:70px 0 26px;border-top:1px solid #2e2a28}
.zf8-footer__grid{display:grid;grid-template-columns:1.5fr .7fr .6fr;gap:8vw}
.zf8-brand--footer{margin-bottom:18px}
.zf8-footer h4{color:#fff;font-size:.78rem;letter-spacing:.12em}
.zf8-footer__links{list-style:none;margin:0;padding:0}
.zf8-footer__links li{margin:8px 0}
.zf8-footer__links a{color:#cfc8c2;text-decoration:none}
.zf8-footer__legal{border-top:1px solid #2e2a28;margin:46px 0 0;padding:24px 0 0;font-size:.72rem;line-height:1.55;color:#77706b}
.zf8-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:22px;font-size:.72rem;color:#77706b}
.zf8-footer__bottom a{color:#aaa19b}


/* Leadership case — old cargo, new cost */
.zf8-leadcase{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:22px;align-items:stretch}
.zf8-leadcase__story{padding:38px 40px;background:var(--zf8-warm);border:1px solid var(--zf8-line);border-top:5px solid var(--zf8-red)}
.zf8-leadcase__story h3{font-size:clamp(2rem,3.8vw,3.2rem);margin:0 0 20px;color:var(--zf8-black)}
.zf8-leadcase__story p{font-size:1.02rem;line-height:1.66}
.zf8-leadcase__story blockquote{margin:28px 0 0;padding:22px 0 0;border-top:1px solid #cfc7be;font:700 clamp(1.25rem,2.2vw,1.72rem)/1.38 var(--zf-font-body);color:var(--zf8-black)}
.zf8-leadcase__story blockquote strong{color:var(--zf8-red)}
.zf8-leadcase__working{padding:38px 34px;background:var(--zf8-black);color:#cfc8c2;border-top:5px solid var(--zf8-red)}
.zf8-leadcase__working>span{font:.68rem var(--zf-font-mono);letter-spacing:.14em;color:var(--zf8-red)}
.zf8-leadcase__working h4{font:600 1.55rem/1.2 var(--zf-font-display);letter-spacing:.01em;color:#fff;margin:12px 0 24px}
.zf8-leadcase__step{padding:15px 0;border-top:1px solid #3b3734}
.zf8-leadcase__step:first-of-type{border-top:0;padding-top:0}
.zf8-leadcase__step b{display:block;color:#fff;text-transform:uppercase;font-size:.76rem;letter-spacing:.09em;margin-bottom:5px}
.zf8-leadcase__step p{margin:0;color:#c4bcb6;font-size:.94rem;line-height:1.5}
.zf8-leadcase__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.zf8-leadcase--dark .zf8-leadcase__story{background:#211f1e;border-color:#3b3734;color:#cfc8c2}
.zf8-leadcase--dark .zf8-leadcase__story h3,.zf8-leadcase--dark .zf8-leadcase__story blockquote{color:#fff}
.zf8-leadcase--dark .zf8-leadcase__story blockquote{border-color:#3b3734}
.zf8-leadcase--dark .zf8-leadcase__working{background:#0e0e0e}
.zf8-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8d1c8;border:1px solid #d8d1c8;margin-top:34px}
.zf8-chain article{background:#fff;padding:28px 25px;min-height:215px}
.zf8-chain span{font:.67rem var(--zf-font-mono);letter-spacing:.11em;color:var(--zf8-red)}
.zf8-chain h3{font-size:1.55rem;margin:10px 0 12px}
.zf8-chain p{font-size:.94rem;line-height:1.55;margin:0}
.zf8-chain--dark{background:#3a3633;border-color:#3a3633}
.zf8-chain--dark article{background:#211f1e;color:#cfc8c2}
.zf8-chain--dark h3{color:#fff}
.zf8-case-question{margin-top:30px;padding:26px 30px;border-left:5px solid var(--zf8-red);background:#fff;color:var(--zf8-black)}
.zf8-case-question strong{display:block;font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.4}
.zf8-darkband .zf8-case-question{background:#211f1e;color:#fff}

/* Responsive */
@media (max-width:1050px){
  .zf8-nav{gap:16px}.zf8-nav ul{gap:14px}.zf8-nav a:not(.zf8-btn){font-size:.73rem}.zf8-header__cta{display:none}
  .zf8-hero__grid,.zf8-pagehero__grid{grid-template-columns:1fr .65fr;gap:4vw}
  .zf8-product__cover,.zf8-product__symbol{height:320px}
  .zf8-talkbeats,.zf8-fitgrid,.zf8-timeline{grid-template-columns:repeat(2,1fr)}
  .zf8-edgegrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .admin-bar .zf8-header{top:46px}
  .zf8-header__inner{height:68px}.zf-burger{display:flex}
  .zf8-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:#151515;padding:22px 24px 28px;border-top:1px solid #333}
  .zf8-nav.is-open{display:flex}.zf8-nav ul{flex-direction:column;align-items:stretch;gap:0}.zf8-nav li{border-bottom:1px solid #2f2c2a}.zf8-nav a:not(.zf8-btn){display:block;padding:13px 0;font-size:.82rem}.zf8-header__cta{display:flex}
  .zf8-hero{min-height:auto}.zf8-hero__grid,.zf8-pagehero__grid,.zf8-story__grid,.zf8-free__grid,.zf8-founder__grid,.zf8-speakproof__grid,.zf8-founderproof__grid,.zf8-inquiry__grid,.zf8-leadcase{grid-template-columns:1fr}
  .zf8-hero__product{margin-top:30px}.zf8-bookmock{width:min(300px,70%)}
  .zf8-rings{right:-390px;opacity:.35}
  .zf8-edgeviz{grid-template-columns:1fr}.zf8-edgeviz__edge{min-height:120px}.zf8-edgeviz__edge i{left:0;right:0;top:50%;bottom:auto;width:auto;height:2px;transform:none}
  .zf8-moves,.zf8-cargo-grid,.zf8-org__cards,.zf8-productgrid,.zf8-casegrid,.zf8-toolgrid,.zf8-termgrid,.zf8-chain{grid-template-columns:1fr}
  .zf8-moves article{border-left:0;border-top:1px solid #3b3734}.zf8-moves article:first-child{border-top:0}
  .zf8-org__proof{grid-template-columns:1fr}.zf8-product__cover,.zf8-product__symbol{height:430px}.zf8-previewstack{padding-right:12px}.zf8-previewstack__primary{width:84%}.zf8-previewstack__secondary{width:60%;margin-top:-20%}.zf8-slidegrid{grid-template-columns:1fr}
  .zf8-guarantee-strip{grid-template-columns:1fr;gap:10px;padding:22px}.zf8-org__terms{padding:18px 20px}
  .zf8-final__inner{align-items:flex-start;flex-direction:column}.zf8-footer__grid{grid-template-columns:1fr 1fr}.zf8-footer__brand{grid-column:1/-1}
  .zf8-formcard .zf-funnel__form{grid-template-columns:1fr}.zf8-formcard .zf-funnel__consent,.zf8-formcard .zf-funnel__msg{grid-column:1}
}
@media (max-width:620px){
  body{font-size:16px}.zf-wrap{padding-left:19px;padding-right:19px}
  .zf8-brand__type small{display:none}.zf8-brand__type strong{font-size:1rem}.zf8-brand__mark{width:38px;height:38px}
  .zf8-hero,.zf8-pagehero{padding:74px 0 82px}.zf8-hero h1,.zf8-pagehero h1{font-size:clamp(3.25rem,15vw,5rem)}
  .zf8-hero__explainer{font-size:1.16rem}.zf8-actions{flex-direction:column}.zf8-actions .zf8-btn{width:100%}
  .zf8-hero__meta{flex-wrap:wrap;row-gap:10px}.zf8-bookmock{width:min(270px,78%)}
  .zf8-section{padding:66px 0}.zf8-sectionhead{margin-bottom:34px}.zf8-sectionhead h2{font-size:2.65rem}
  .zf8-edgeviz>div:not(.zf8-edgeviz__edge){padding:30px 24px}.zf8-method__close{flex-direction:column;align-items:flex-start}
  .zf8-previewstack{padding:0 6px 10px 0}.zf8-previewstack__primary{width:88%}.zf8-previewstack__secondary{width:66%;margin-top:-16%}.zf8-org__inside{padding:22px}.zf8-slidegrid{gap:16px}.zf8-product__cover,.zf8-product__symbol{height:360px}.zf8-product__buy{align-items:flex-start;flex-direction:column}.zf8-product__buy .zf8-btn{width:100%}
  .zf8-talkbeats,.zf8-fitgrid,.zf8-timeline,.zf8-edgegrid{grid-template-columns:1fr}.zf8-timeline article{border-left:0;border-top:1px solid #d8d1c8}.zf8-timeline article:first-child{border-top:0}
  .zf8-leadcase__story,.zf8-leadcase__working{padding:28px 23px}.zf8-case-question{padding:22px 23px}
  .zf8-inquiry__grid{min-width:0}.zf-inquiry__grid{grid-template-columns:1fr}.zf-inquiry__field--wide,.zf-inquiry__submit,.zf-inquiry__msg{grid-column:1}
  .zf8-footer__grid{grid-template-columns:1fr}.zf8-footer__brand{grid-column:auto}.zf8-footer__bottom{flex-direction:column}
}

/* V8 product detail pages */
.zf8-producthero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 40%,rgba(250,13,16,.14),transparent 30%),linear-gradient(125deg,#111,#1a1a19 65%,#111);color:#d7d0ca;padding:clamp(86px,9vw,132px) 0}
.zf8-producthero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);gap:7vw;align-items:center;position:relative;z-index:2}
.zf8-producthero h1{margin:0 0 24px;color:#fff;font-size:clamp(4rem,7.5vw,7rem);line-height:.9;text-transform:uppercase;letter-spacing:-.025em}
.zf8-producthero__cover{display:flex;justify-content:center}.zf8-producthero__cover .zf8-bookmock{width:min(360px,80%)}
.zf8-producthero__price{display:flex;align-items:baseline;gap:18px;margin:28px 0;color:#b8afa9}.zf8-producthero__price strong{font-size:2rem;color:#fff}.zf8-producthero__price span{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}
.zf8-product__titlelink{color:inherit;text-decoration:none}.zf8-product__titlelink:hover{color:var(--zf-accent)}
.zf8-product__learn{display:inline-block;margin:0 0 20px;color:var(--zf-accent);font-weight:700;text-decoration:none}
.zf8-purchase{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:34px;border:1px solid #ddd4cc;background:#fff}.zf8-purchase h2{margin-bottom:10px}.zf8-purchase__action{display:flex;align-items:center;gap:22px;flex-shrink:0}.zf8-purchase__action strong{font-size:2rem;color:var(--zf-ink)}
@media(max-width:900px){.zf8-producthero__grid{grid-template-columns:1fr}.zf8-producthero__cover{margin-top:25px}.zf8-purchase{align-items:flex-start;flex-direction:column}.zf8-purchase__action{width:100%;justify-content:space-between}}
@media(max-width:600px){.zf8-producthero{padding:74px 0 82px}.zf8-producthero h1{font-size:clamp(3.15rem,15vw,4.8rem)}.zf8-producthero__price{align-items:flex-start;flex-direction:column;gap:4px}.zf8-purchase__action{align-items:flex-start;flex-direction:column}}

/* 8.1.2 — consistent coming-soon cover and stronger product actions */
.zf8-covermock{height:100%;width:auto;aspect-ratio:2/3;background:linear-gradient(180deg,#151413,#0d0c0c);color:#f4eee8;box-shadow:0 20px 30px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);padding:24px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;position:relative;text-align:left;overflow:hidden}
.zf8-covermock::after{content:"不動智";position:absolute;right:14px;bottom:13px;font-size:2.3rem;line-height:1;color:rgba(193,57,43,.18);font-family:serif}
.zf8-covermock small{font-family:var(--zf-font-mono);font-size:.54rem;letter-spacing:.22em;color:#c7a46a;margin-bottom:12px}
.zf8-covermock strong{font-family:var(--zf-font-display);font-size:clamp(1.45rem,2.2vw,2.05rem);line-height:.9;letter-spacing:-.02em;color:#fff}
.zf8-covermock strong em{font-style:normal;color:var(--zf8-red)}
.zf8-covermock>span{font-family:var(--zf-font-mono);font-size:.5rem;letter-spacing:.16em;color:#d4c8bf;margin-top:9px}
.zf8-covermock>i{display:block;width:78%;height:2px;background:var(--zf8-red);margin:24px 0 18px}
.zf8-covermock>p{font-size:.64rem!important;line-height:1.45!important;color:#d7d0ca;margin:0!important;flex:0!important;max-width:90%}
.zf8-covermock>b{font-family:var(--zf-font-mono);font-size:.42rem;line-height:1.5;letter-spacing:.12em;color:#c2a98d;margin-top:auto;font-weight:500}
.zf8-product__learn{min-height:24px}

/* 8.1.8 — public pricing + Paddle verification policy pages */
.zf8-policyhero{background:radial-gradient(circle at 88% 42%,rgba(250,13,16,.12),transparent 28%),linear-gradient(120deg,#111 0%,#1a1a19 62%,#131313 100%);color:#d7d0ca;padding:clamp(88px,9vw,132px) 0 74px;border-bottom:1px solid #2e2926}
.zf8-policyhero__inner{max-width:940px}.zf8-policyhero h1{margin:0 0 20px;color:#fff;font-size:clamp(3.8rem,7vw,6.5rem);line-height:.9;text-transform:uppercase;letter-spacing:-.025em}.zf8-policyhero .zf8-lede{max-width:820px;color:#cfc7c0}
.zf8-policy{background:var(--zf8-warm,#f7f3ee)}.zf8-policy__card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #ded7cf;padding:clamp(30px,5vw,64px);box-shadow:0 18px 42px rgba(34,28,24,.06)}
.zf8-policy__card h2{margin:42px 0 12px;font-size:1.55rem;line-height:1.15;color:var(--zf-ink)}.zf8-policy__card h2:first-of-type{margin-top:30px}.zf8-policy__card p{max-width:none;line-height:1.75}.zf8-policy__card a{color:var(--zf8-red);font-weight:650}.zf8-policy__updated{font-family:var(--zf-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#786f69;border-bottom:1px solid #e7e0d9;padding-bottom:18px;margin-bottom:28px}
.zf8-pricingpage{background:var(--zf8-warm,#f7f3ee)}.zf8-productgrid--pricing{align-items:stretch}.zf8-pricecard{display:flex;flex-direction:column}.zf8-pricecard h2{font-size:2rem;margin:10px 0 14px}.zf8-pricecard .zf8-product__buy{margin-top:auto}.zf8-checklist{list-style:none;padding:0;margin:24px 0 30px;border-top:1px solid #e5ddd6}.zf8-checklist li{position:relative;padding:11px 0 11px 24px;border-bottom:1px solid #e5ddd6;font-size:.92rem}.zf8-checklist li::before{content:"✓";position:absolute;left:0;color:var(--zf8-red);font-weight:800}.zf8-commerce-note{max-width:920px;margin:48px auto 0;padding:30px 34px;background:#fff;border-left:5px solid var(--zf8-red);box-shadow:0 14px 34px rgba(34,28,24,.05)}.zf8-commerce-note h2{font-size:1.7rem;margin:0 0 12px}.zf8-commerce-note p{max-width:none}.zf8-commerce-note a{color:var(--zf8-red);font-weight:700}
.zf8-pronunciation{margin-top:14px;font-family:var(--zf-font-mono);font-size:.68rem;letter-spacing:.06em;color:#8d8580}.zf8-pronunciation strong{color:#d0c7c1;font-weight:600}.zf8-footer__policylinks{display:flex;gap:16px;flex-wrap:wrap}.zf8-footer__grid{grid-template-columns:1.45fr .65fr .7fr .55fr;gap:5vw}
@media(max-width:900px){.zf8-footer__grid{grid-template-columns:1fr 1fr}.zf8-footer__brand{grid-column:1/-1}.zf8-productgrid--pricing{grid-template-columns:1fr}.zf8-policyhero{padding-top:82px}}
@media(max-width:620px){.zf8-policyhero h1{font-size:clamp(3.1rem,14vw,4.8rem)}.zf8-policy__card{padding:28px 22px}.zf8-commerce-note{padding:25px 22px}.zf8-footer__grid{grid-template-columns:1fr}.zf8-footer__brand{grid-column:auto}.zf8-footer__policylinks{gap:12px}}

/* ==========================================================================
   8.2.1 - spacing, cover, and copy refinements
   ========================================================================== */
.zf8-enterprise-line{max-width:760px;margin:22px 0 0;padding:15px 18px;border-left:4px solid var(--zf8-red);background:rgba(255,255,255,.055);color:#fff;font-size:.92rem;font-weight:650;letter-spacing:.02em}
.zf8-professional-problem{background:var(--zf8-warm);padding-top:clamp(54px,5.8vw,84px)}
.zf8-workedge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--zf8-line);border:1px solid var(--zf8-line)}
.zf8-workedge-grid article{background:var(--zf8-warm);padding:28px;min-height:185px}
.zf8-workedge-grid span{display:block;margin-bottom:14px;font:700 .65rem/1 var(--zf-font-mono);letter-spacing:.14em;color:var(--zf8-red)}
.zf8-workedge-grid strong{display:block;margin-bottom:12px;color:var(--zf8-black);font:600 1.38rem/1.18 var(--zf-font-display);text-transform:uppercase}
.zf8-workedge-grid p{margin:0;color:#625a55;font-size:.94rem;line-height:1.5}
.zf8-anchor-alias{position:absolute;top:-88px;left:0;width:1px;height:1px;pointer-events:none}

.zf8-professional-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.zf8-professional-card{display:grid;grid-template-columns:minmax(190px,.68fr) minmax(0,1.32fr);gap:0;background:#fff;border:1px solid #d8d1c8;box-shadow:0 18px 42px rgba(18,16,15,.07);overflow:hidden}
.zf8-professional-card__cover{background:#ebe6df;padding:30px 24px;display:flex;align-items:center;justify-content:center}
.zf8-professional-card__cover img{max-height:470px;width:auto;box-shadow:0 22px 34px rgba(0,0,0,.20)}
.zf8-professional-card__copy{padding:36px 34px;display:flex;flex-direction:column;align-items:flex-start}
.zf8-professional-card h3{font-size:clamp(2rem,3vw,2.75rem);margin:10px 0 10px}
.zf8-professional-card__line{font-weight:800;color:var(--zf8-black);font-size:1.04rem;line-height:1.38;padding-left:14px;border-left:3px solid var(--zf8-red)}
.zf8-mini-list{margin:8px 0 24px;padding-left:19px;font-size:.91rem;line-height:1.52;color:#5a534e}
.zf8-mini-list li+li{margin-top:7px}
.zf8-professional-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.zf8-professional-card__actions .zf8-btn{padding:13px 17px;font-size:.71rem}

.zf8-proof{background:var(--zf8-warm)}
.zf8-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.zf8-proof-card{display:grid;grid-template-columns:minmax(0,.92fr) minmax(250px,1.08fr);gap:22px;padding:30px;background:var(--zf8-warm);border:1px solid var(--zf8-line);align-items:center}
.zf8-proof-card__copy h3{font-size:clamp(1.8rem,3vw,2.55rem);margin:10px 0 16px}
.zf8-proof-card__copy a{font-weight:800;text-decoration:none}
.zf8-proof-card__image{display:block;background:#fff;box-shadow:0 20px 42px rgba(0,0,0,.15)}
.zf8-proof-card__image img{width:100%;height:auto}
.zf8-proof-card--dark{background:var(--zf8-black);color:#cfc8c2;border-color:#2f2b29}
.zf8-proof-card--dark h3{color:#fff}
.zf8-proof-card--dark .zf8-proof-card__copy a{color:#fff}
.zf8-proof-card__slides{display:grid;grid-template-columns:1fr;gap:14px}
.zf8-proof-card__slides a{display:block;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 32px rgba(0,0,0,.3)}

.zf8-secondary-apps{background:#fff}
.zf8-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.zf8-secondary-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;background:#fff;border:1px solid #d8d1c8;padding:24px;align-items:center}
.zf8-secondary-card__cover{height:245px;background:#eee9e3;padding:16px;display:flex;align-items:center;justify-content:center}
.zf8-secondary-card__line{font-weight:700;line-height:1.45;color:var(--zf8-black);border-left:3px solid var(--zf8-red);padding-left:14px;margin:12px 0 16px}
.zf8-secondary-card__cover img{height:100%;width:auto;box-shadow:0 14px 26px rgba(0,0,0,.16)}
.zf8-secondary-card h3{font-size:1.85rem;margin:8px 0 10px}
.zf8-secondary-card p{font-size:.94rem;line-height:1.55}
.zf8-secondary-card__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.zf8-secondary-card__actions .zf8-btn{padding:12px 15px;font-size:.68rem}

.zf8-two-col-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:7vw;align-items:start}
.zf8-two-col-copy .zf8-keyline{background:var(--zf8-black);padding:32px 30px;border-left:5px solid var(--zf8-red);color:#cfc8c2}
.zf8-two-col-copy .zf8-keyline h3{color:#fff;font-size:2rem;margin:10px 0 14px}
.zf8-two-col-copy .zf8-keyline p{color:#c3bbb5}
.zf8-signature-line{display:inline-block;margin:12px 0 2px;padding:14px 0 14px 18px;border-left:4px solid var(--zf8-red);font-weight:850;letter-spacing:.035em;color:#fff;text-transform:uppercase}
.zf8-producthero__clarifier{max-width:760px;margin:14px 0 0;color:#c9c1ba;font-size:1rem;line-height:1.6}
.zf8-pagehero__side{padding:32px;border-top:4px solid var(--zf8-red);background:rgba(255,255,255,.06);color:#cfc8c2}
.zf8-pagehero__side h3{font-size:2rem;margin:12px 0 14px;color:#fff}
.zf8-pagehero__side p{margin:0}

.zf8-track-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.zf8-track-card{padding:42px;background:var(--zf8-warm);border-top:5px solid var(--zf8-red);display:flex;flex-direction:column;align-items:flex-start}
.zf8-track-card h2{font-size:clamp(2.2rem,4vw,3.45rem);margin:12px 0 8px}
.zf8-track-card__sub{font-weight:800;font-size:1.05rem;color:var(--zf8-black);margin-bottom:22px}
.zf8-track-card .zf8-checks{margin-bottom:28px;width:100%}
.zf8-track-card .zf8-btn{margin-top:auto}
.zf8-track-card--dark{background:var(--zf8-black);color:#cbc4be}
.zf8-track-card--dark h2{color:#fff}
.zf8-track-card--dark .zf8-track-card__sub{color:#fff}
.zf8-track-card--dark .zf8-checks{border-color:#3b3633}
.zf8-track-card--dark .zf8-checks li{color:#ccc4be;border-color:#3b3633}

.zf8-tool-list{margin-top:30px}
.zf8-tool-list article{position:relative;padding:22px 0 22px 46px;border-top:1px solid #d8d1c8}
.zf8-tool-list article:last-child{border-bottom:1px solid #d8d1c8}
.zf8-tool-list span{position:absolute;left:0;top:27px;font:700 .66rem/1 var(--zf-font-mono);color:var(--zf8-red)}
.zf8-tool-list h3{font-size:1.55rem;margin:0 0 7px}
.zf8-tool-list p{margin:0;font-size:.94rem;line-height:1.55}
.zf8-claims{background:#fff}
.zf8-timeline--dark{border-top-color:#fff}
.zf8-timeline--dark article{border-color:#3b3633}
.zf8-timeline--dark h3{color:#fff}
.zf8-timeline--dark p{color:#c8c0ba}
.zf8-pricing-groups{display:grid;gap:70px}
.zf8-productgrid--two{grid-template-columns:repeat(2,1fr)}

@media(max-width:1180px){
  .zf8-professional-card{grid-template-columns:1fr}.zf8-professional-card__cover{height:390px}.zf8-professional-card__cover img{height:100%;width:auto}
  .zf8-proof-card{grid-template-columns:1fr}.zf8-workedge-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .zf8-professional-grid,.zf8-proof-grid,.zf8-secondary-grid,.zf8-track-grid,.zf8-two-col-copy,.zf8-productgrid--two{grid-template-columns:1fr}
  .zf8-secondary-card{grid-template-columns:150px 1fr}
  .zf8-professional-card__cover{height:430px}
}
@media(max-width:600px){
  .zf8-workedge-grid{grid-template-columns:1fr}.zf8-workedge-grid article{min-height:0}
  .zf8-professional-card__copy,.zf8-track-card{padding:28px 23px}
  .zf8-professional-card__cover{height:365px;padding:24px 18px}
  .zf8-secondary-card{grid-template-columns:1fr}.zf8-secondary-card__cover{height:300px}
  .zf8-professional-card__actions,.zf8-secondary-card__actions{width:100%;flex-direction:column}.zf8-professional-card__actions .zf8-btn,.zf8-secondary-card__actions .zf8-btn{width:100%}
  .zf8-proof-card{padding:22px}
}


/* 8.3.4 - Affiliate program */
.zf8-affiliate-hero{min-height:560px}
.zf8-affiliate-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:28px 0 0;padding:22px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);color:#d7d0ca;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.zf8-affiliate-meta span{position:relative}
.zf8-affiliate-meta span+span:before{content:"";position:absolute;left:-13px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--zf8-red);transform:translateY(-50%)}
.zf8-affiliate-mark{width:min(420px,90%);aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-inline:auto;position:relative}
.zf8-affiliate-mark:before,.zf8-affiliate-mark:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(250,13,16,.38)}
.zf8-affiliate-mark:before{inset:6%}.zf8-affiliate-mark:after{inset:26%;border-width:3px;border-color:var(--zf8-red)}
.zf8-affiliate-mark i{width:24%;aspect-ratio:1;border-radius:50%;background:var(--zf8-red);box-shadow:0 0 45px rgba(250,13,16,.22)}
.zf8-affiliate-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d1c8;border:1px solid #d8d1c8}
.zf8-affiliate-steps article{background:#fff;padding:34px 30px;min-height:230px}
.zf8-affiliate-steps span{font:700 .68rem/1 var(--zf-font-mono);letter-spacing:.14em;color:var(--zf8-red)}
.zf8-affiliate-steps h3{font-size:1.75rem;margin:12px 0 12px}
.zf8-affiliate-steps p{margin:0;color:#5a534f}
.zf8-affiliate-products{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.zf8-affiliate-products article{padding:30px;background:#fff;border:1px solid #d8d1c8;border-top:4px solid var(--zf8-red)}
.zf8-affiliate-products h3{font-size:1.55rem;margin:0 0 10px}
.zf8-affiliate-products p{margin:0;color:#5a534f}
.zf8-affiliate-standards{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:start}
.zf8-affiliate-standards ul{margin:0;padding-left:20px}
.zf8-affiliate-standards li{margin:0 0 15px;color:#cfc8c2;line-height:1.6}
@media(max-width:900px){.zf8-affiliate-steps,.zf8-affiliate-products,.zf8-affiliate-standards{grid-template-columns:1fr}.zf8-affiliate-mark{width:min(330px,76vw)}}


/* 8.3.5 - unified Method manual mockup */
.zf8-methodmockup{margin:0;display:flex;align-items:center;justify-content:center;width:100%}
.zf8-methodmockup img{display:block;width:100%;height:auto;object-fit:contain}
.zf8-methodmockup--home{max-width:600px;margin-inline:auto}
.zf8-methodmockup--home img{max-height:610px}
.zf8-methodmockup--method{max-width:690px;margin-inline:auto}
.zf8-methodmockup--method img{max-height:690px}
@media(max-width:900px){
  .zf8-methodmockup--home,.zf8-methodmockup--method{max-width:620px}
  .zf8-methodmockup--home img,.zf8-methodmockup--method img{max-height:none}
}
@media(max-width:620px){
  .zf8-methodmockup--home,.zf8-methodmockup--method{max-width:100%}
}


/* 8.3.6 conversion and bundle additions */
.zf8-authority-brief{background:var(--zf8-black);color:#d8d1cb;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.zf8-authority-brief__inner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:7vw;align-items:center;padding-top:clamp(42px,5vw,72px);padding-bottom:clamp(42px,5vw,72px)}
.zf8-authority-brief h2{margin:8px 0 0;color:#fff;font-size:clamp(2.35rem,4vw,3.7rem)}
.zf8-authority-brief__copy{display:flex;flex-direction:column;align-items:flex-start}
.zf8-authority-brief__copy>strong{font:600 clamp(1.45rem,2.2vw,2rem)/1.15 var(--zf-font-display);text-transform:uppercase;color:#fff}
.zf8-authority-brief__copy>span{margin-top:7px;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--zf8-red);font-weight:800}
.zf8-authority-brief__copy p{margin:16px 0 18px;max-width:720px;line-height:1.65}
.zf8-authority-brief__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.zf8-authority-brief__textlink{color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.zf8-authority-brief__textlink:hover{border-bottom-color:#fff}
.zf8-bundles{background:var(--zf8-warm)}
.zf8-bundle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.zf8-bundle-card{background:#fff;border:1px solid var(--zf8-line);padding:clamp(28px,3.5vw,46px);display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 18px 45px rgba(20,16,13,.06)}
.zf8-bundle-card--dark{background:var(--zf8-black);color:#d8d1cb;border-color:var(--zf8-black)}
.zf8-bundle-card h3{font-size:clamp(2rem,3vw,3rem);margin:12px 0;color:var(--zf8-black)}
.zf8-bundle-card--dark h3{color:#fff}
.zf8-bundle-card>p{font-size:1.05rem;line-height:1.6}
.zf8-bundle-card .zf8-mini-list{margin-bottom:24px}
.zf8-bundle-card--dark .zf8-mini-list li{color:#d8d1cb;border-color:rgba(255,255,255,.14)}
.zf8-bundle-card__price{display:flex;flex-direction:column;margin:auto 0 20px}
.zf8-bundle-card__price strong{font:600 2.25rem/1 var(--zf-font-display);color:var(--zf8-black)}
.zf8-bundle-card--dark .zf8-bundle-card__price strong{color:#fff}
.zf8-bundle-card__price span{margin-top:7px;font-size:.82rem;color:#746b65}
.zf8-bundle-card--dark .zf8-bundle-card__price span{color:#aaa19b}
.zf8-pricing-bundles{margin-top:clamp(60px,7vw,100px)}
.zf8-bundle-status{display:block;max-width:260px;font-size:.86rem;line-height:1.45;color:#766e68}
@media(max-width:900px){.zf8-authority-brief__inner,.zf8-bundle-grid{grid-template-columns:1fr}.zf8-authority-brief__inner{gap:28px}}

/* 8.4.0 - Governing the Edge: The Next Room book launch */
.zf8-btn--disabled{background:#2b2927!important;border-color:#45413e!important;color:#a9a19b!important;cursor:default!important;pointer-events:none!important}

.zf8-book-feature{background:#fff}
.zf8-book-feature__grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:7vw;align-items:center}
.zf8-book-feature__visual{display:flex;justify-content:center;padding:18px 0}
.zf8-book-feature__copy h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.93;margin:12px 0 10px}
.zf8-book-feature__copy h2 em{font-style:normal;color:var(--zf8-red)}
.zf8-book-feature__genre{font:.74rem var(--zf-font-mono);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#746b65;margin:0 0 22px}
.zf8-book-feature__topline{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--zf8-line);padding-bottom:14px}
.zf8-book-feature__topline .zf8-eyebrow{margin:0}
.zf8-book-feature__topline>span{font:.68rem var(--zf-font-mono);letter-spacing:.11em;text-transform:uppercase;color:#fff;background:var(--zf8-red);padding:8px 10px;font-weight:700;white-space:nowrap}
.zf8-book-feature blockquote{font:600 clamp(1.45rem,2.2vw,2rem)/1.25 var(--zf-font-display);color:var(--zf8-black);border-left:4px solid var(--zf8-red);padding-left:20px;margin:24px 0;text-transform:none}
.zf8-book-feature__facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 24px;padding:16px 0;border-top:1px solid var(--zf8-line);border-bottom:1px solid var(--zf8-line);font:.69rem var(--zf-font-mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5f5752}

.zf8-printbook{--book-w:340px;position:relative;width:min(var(--book-w),82vw);aspect-ratio:1008/1536;transform:perspective(1250px) rotateY(-11deg) rotateX(1.2deg);transform-style:preserve-3d;filter:drop-shadow(0 28px 28px rgba(0,0,0,.34));margin:0}
.zf8-printbook img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:1px;z-index:3;box-shadow:inset -1px 0 0 rgba(255,255,255,.12)}
.zf8-printbook__spine{position:absolute;left:-15px;top:1.1%;bottom:1.1%;width:18px;background:linear-gradient(90deg,#08090a 0,#202226 47%,#08090a 100%);transform:rotateY(90deg);transform-origin:right center;z-index:2}
.zf8-printbook__pages{position:absolute;right:-10px;top:1.2%;bottom:1.2%;width:14px;background:repeating-linear-gradient(180deg,#f4f1e8 0,#f4f1e8 2px,#d8d2c8 3px);transform:rotateY(-90deg);transform-origin:left center;z-index:1;box-shadow:8px 0 14px rgba(0,0,0,.14)}
.zf8-printbook:after{content:"";position:absolute;left:5%;right:2%;bottom:-17px;height:24px;background:rgba(0,0,0,.28);filter:blur(11px);border-radius:50%;transform:translateZ(-20px)}
.zf8-printbook--home{--book-w:320px}

.zf8-bookhero{position:relative;overflow:hidden;background:#111;color:#d5cec8;padding:clamp(72px,8vw,118px) 0;border-bottom:1px solid #2a2725}
.zf8-bookhero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(193,57,43,.12),transparent 38%),radial-gradient(circle at 72% 42%,rgba(255,255,255,.055),transparent 35%);pointer-events:none}
.zf8-bookhero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:7vw;align-items:center}
.zf8-bookhero h1{color:#fff;font-size:clamp(3.6rem,7.5vw,7rem);line-height:.82;margin:0;letter-spacing:-.035em}
.zf8-bookhero__subtitle{font:600 clamp(2.6rem,6vw,5.5rem)/.92 var(--zf-font-display);text-transform:uppercase;color:var(--zf8-red);margin:8px 0 5px}
.zf8-bookhero__genre{font:.78rem var(--zf-font-mono);letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:700;margin:0 0 26px}
.zf8-bookhero .zf8-pagehero__lead{max-width:780px;color:#d1cac4;font-size:clamp(1.08rem,1.8vw,1.32rem);line-height:1.62}
.zf8-bookhero__quote{margin:28px 0 24px;padding:20px 0 20px 22px;border-left:4px solid var(--zf8-red);font:600 clamp(1.35rem,2.2vw,1.95rem)/1.28 var(--zf-font-display);color:#fff;max-width:760px}
.zf8-bookhero__status{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 24px}
.zf8-bookhero__status strong{font:.71rem var(--zf-font-mono);letter-spacing:.15em;color:var(--zf8-red)}
.zf8-bookhero__status span{font-size:.92rem;color:#bcb3ad}
.zf8-bookhero__actions{margin-top:10px}
.zf8-bookhero__visual{display:flex;flex-direction:column;align-items:center;gap:28px}
.zf8-bookhero__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;color:#aaa19b;font:.64rem var(--zf-font-mono);letter-spacing:.08em;text-transform:uppercase}

.zf8-book-intro{background:#fbfaf7}
.zf8-book-factcard{background:#171615;color:#cbc3bd;border-top:5px solid var(--zf8-red);padding:34px 34px 30px;box-shadow:0 20px 50px rgba(28,22,18,.12)}
.zf8-book-factcard>span{font:.67rem var(--zf-font-mono);letter-spacing:.13em;color:var(--zf8-red);font-weight:700}
.zf8-book-factcard h3{color:#fff;font-size:2rem;margin:10px 0 24px}
.zf8-book-factcard dl{margin:0;border-top:1px solid #3a3532}
.zf8-book-factcard dl div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #3a3532}
.zf8-book-factcard dt{font:.64rem var(--zf-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#8f8580}
.zf8-book-factcard dd{margin:0;color:#f5f1ed;font-weight:600}

.zf8-book-architecture .zf8-sectionhead h2,.zf8-book-architecture .zf8-sectionhead p{color:#fff}
.zf8-book-architecture .zf8-sectionhead .zf8-lede{color:#c7beb8}
.zf8-book-movements{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#36312e;border:1px solid #36312e;margin-top:36px}
.zf8-book-movements article{background:#1a1817;padding:30px 27px;min-height:260px}
.zf8-book-movements span{font:.68rem var(--zf-font-mono);font-weight:700;letter-spacing:.12em;color:var(--zf8-red)}
.zf8-book-movements h3{color:#fff;font-size:1.75rem;margin:12px 0}
.zf8-book-movements p{color:#bfb7b1;font-size:.95rem;line-height:1.58;margin:0}

.zf8-book-preview{background:#f1ede7}
.zf8-book-previewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.zf8-book-previewgrid a{display:block;text-decoration:none;background:#fff;border:1px solid #d6d0c8;padding:14px 14px 16px;box-shadow:0 18px 38px rgba(23,18,15,.08);transition:transform .2s ease,box-shadow .2s ease}
.zf8-book-previewgrid a:hover{transform:translateY(-4px);box-shadow:0 24px 44px rgba(23,18,15,.12)}
.zf8-book-previewgrid img{width:100%;height:auto;background:#fff}
.zf8-book-previewgrid span{display:block;margin-top:13px;color:var(--zf8-black);font:.67rem var(--zf-font-mono);font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.45}

.zf8-book-room{background:#fff}
.zf8-book-buy{background:#eee8e1}
.zf8-book-buy__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:7vw;align-items:start}
.zf8-book-buy__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zf8-book-buy__options>div{background:#fff;border:1px solid #d6d0c8;padding:28px;display:flex;flex-direction:column;align-items:flex-start;min-height:250px}
.zf8-book-buy__options>div>span{font:.65rem var(--zf-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#827870;font-weight:700}
.zf8-book-buy__options>div>strong{font:600 2.6rem/1 var(--zf-font-display);color:var(--zf8-black);margin:10px 0 10px}
.zf8-book-buy__options>div>p{font-size:.9rem;color:#655d58}
.zf8-book-buy__options .zf8-btn{margin-top:auto}
.zf8-book-buy__retailer{grid-column:1/-1;min-height:auto!important;display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.zf8-book-buy__retailer>strong{font-size:1.6rem!important;margin:0!important}.zf8-book-buy__retailer>p{margin:0!important}.zf8-book-buy__retailer>a{font-weight:800;text-decoration:none}
.zf8-book-buy__coming{grid-column:1/-1;min-height:0!important}

@media(max-width:1000px){
  .zf8-book-feature__grid,.zf8-bookhero__grid,.zf8-book-buy__grid{grid-template-columns:1fr;gap:48px}
  .zf8-book-feature__visual{order:2}.zf8-book-feature__copy{order:1}
  .zf8-bookhero__visual{padding-top:8px}
  .zf8-book-movements{grid-template-columns:repeat(2,1fr)}
  .zf8-printbook{--book-w:330px}
}
@media(max-width:720px){
  .zf8-book-feature__topline{align-items:flex-start;flex-direction:column}.zf8-book-feature__topline>span{white-space:normal}
  .zf8-book-previewgrid,.zf8-book-buy__options{grid-template-columns:1fr}
  .zf8-book-movements{grid-template-columns:1fr}
  .zf8-book-movements article{min-height:0}
  .zf8-book-buy__retailer{grid-column:auto;display:flex!important;align-items:flex-start;gap:8px}
  .zf8-book-buy__coming{grid-column:auto}
}
.zf8-track-card__book{width:100%;margin:0 0 20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);font-size:.88rem}
.zf8-track-card__book a{font-weight:800;text-decoration:none;color:#fff}
.zf8-sectionlink{margin-top:18px}.zf8-sectionlink a{font-weight:800;text-decoration:none;color:var(--zf8-red)}

/* ==========================================================================
   8.4.1 — homepage rhythm, book series, and authority strip
   Background-family changes for zf8-professional-problem, zf8-proof,
   zf8-secondary-apps and zf8-bundles are edited in place above. The rules
   below add the series presentation and refine the mid-page authority band.
   ========================================================================== */

/* Home explainer video keeps the cadence when present (white, not warm). */
.zf8-home-video{background:#fff}

/* Mid-page authority strip: read as a compact credential band, distinct from
   the full founder story near the foot of the page. */
.zf8-authority-brief__inner{align-items:center}
.zf8-authority-brief h2{font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.08;max-width:15ch}

/* Book series — the "More in the series" row under the primary feature. */
.zf8-series{margin-top:clamp(40px,5vw,68px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--zf8-line)}
.zf8-series__label{font:700 .72rem/1.2 var(--zf-font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--zf8-muted);margin:0 0 24px}
.zf8-series__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.zf8-series__card{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:start;background:var(--zf8-warm);border:1px solid var(--zf8-line);padding:24px}
.zf8-series__cover{width:132px;aspect-ratio:2/3;overflow:hidden;background:#efebe5;box-shadow:0 14px 26px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center}
.zf8-series__cover img{width:100%;height:100%;object-fit:cover;display:block}
.zf8-series__coverph{font:700 .78rem/1.3 var(--zf-font-body);letter-spacing:.05em;text-transform:uppercase;color:#8a817b;text-align:center;padding:12px}
.zf8-series__copy h3{font-size:1.4rem;line-height:1.15;margin:8px 0 10px;color:var(--zf8-black)}
.zf8-series__copy h3 em{font-style:italic;color:var(--zf8-black)}
.zf8-series__copy p{font-size:.95rem;line-height:1.55;margin:0 0 16px;color:#5b544f}
.zf8-series__copy .zf8-actions{margin-top:0}
.zf8-series__copy .zf8-btn{min-height:42px;padding:10px 18px;font-size:.72rem}

@media(max-width:620px){
  .zf8-series__card{grid-template-columns:96px 1fr;gap:16px;padding:18px}
  .zf8-series__cover{width:96px}
  .zf8-authority-brief h2{max-width:none}
}

/* ==========================================================================
   8.4.2 — early enterprise CTA, tightened hero, proof band
   ========================================================================== */

/* Proof / testimonials band (Speaking + Workshops). Renders only when filled. */
.zf8-proofband__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.zf8-proofband__card{margin:0;background:#fff;border:1px solid var(--zf8-line);border-top:4px solid var(--zf8-red);padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between}
.zf8-proofband__card blockquote{margin:0 0 20px;font:600 clamp(1.1rem,1.6vw,1.32rem)/1.5 var(--zf-font-body);color:var(--zf8-black)}
.zf8-proofband__card figcaption{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--zf8-line);padding-top:16px}
.zf8-proofband__card figcaption strong{color:var(--zf8-black);font-size:.98rem}
.zf8-proofband__card figcaption span{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--zf8-red);font-weight:700}
.zf8-proofband__clients{margin:34px 0 0;text-align:center;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--zf8-muted);font-weight:700}
/* Dark variant, if ever used on a dark section */
.zf8-darkband .zf8-proofband__card{background:#211f1e;border-color:#3a3633;border-top-color:var(--zf8-red)}
.zf8-darkband .zf8-proofband__card blockquote{color:#fff}
.zf8-darkband .zf8-proofband__card figcaption{border-top-color:#3a3633}
.zf8-darkband .zf8-proofband__card figcaption strong{color:#fff}
