
/* Layout: a story told in four beats. Who I am, the three-step way I work (each step one picture and one number), my own membership as living proof, things I've made with my own hands, then how to hire me. Full case detail sits behind expanders for people who want it. */
:root{
  --bg:#f6f8f7; --surface:#ffffff; --ink:#14201f; --muted:#55625f; --line:#d5dfdc;
  --accent:#1f6f6b; --accent-soft:#e2efed; --bubble:#eef3f2; --faint:#c4d3d0;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0f1716; --surface:#16211f; --ink:#e6eeec; --muted:#9db0ac; --line:#2a3a37;
  --accent:#5fc0b6; --accent-soft:#1b302d; --bubble:#1d2b29; --faint:#33504b; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#0f1716; --surface:#16211f; --ink:#e6eeec; --muted:#9db0ac; --line:#2a3a37;
  --accent:#5fc0b6; --accent-soft:#1b302d; --bubble:#1d2b29; --faint:#33504b; color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;
  padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
.wrap{max-width:1040px;margin:0 auto;padding-block:48px 72px;display:flex;flex-direction:column;gap:104px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}
h1{font-size:clamp(2.3rem, 5.4vw, 3.9rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem, 3.6vw, 2.5rem);font-weight:800;letter-spacing:-.015em}
h3{font-size:1.25rem;font-weight:700}
p{margin:0}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
img{display:block;max-width:100%;height:auto}
.eyebrow{font-family:var(--mono);font-size:.86rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.lede{font-size:1.18rem;color:var(--muted);max-width:60ch}
section{display:flex;flex-direction:column;gap:32px}
.sec-head{display:flex;flex-direction:column;gap:12px;max-width:66ch}
.note{font-size:.84rem;color:var(--muted)}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:center}
.hero-text{display:flex;flex-direction:column;gap:22px;min-width:0}
.who{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.avail{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.82rem;color:var(--accent);background:var(--accent-soft);padding:6px 12px;border-radius:999px}
.avail::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.hero h1 em{font-style:normal;color:var(--accent)}
.portrait{border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1}
.portrait img{width:100%;height:100%;object-fit:cover}
.contact-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{font:500 .95rem var(--body);border:1px solid var(--accent);background:var(--accent);color:var(--bg);padding:11px 18px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:transparent;color:var(--accent)}
.addr{font-family:var(--mono);font-size:.92rem;user-select:all;color:var(--ink)}
.copy{font:500 .82rem var(--mono);background:transparent;border:1px solid var(--line);color:var(--muted);padding:4px 9px;border-radius:6px;cursor:pointer}
.toast{font-family:var(--mono);font-size:.82rem;color:var(--accent);min-height:1.2em}

/* Three steps */
.steps{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.step .k{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.step .pic{height:120px;display:flex;align-items:center}
.step .pic svg{width:100%;height:100%}
.step .big{font-family:var(--display);font-weight:800;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.step p{color:var(--muted);font-size:.97rem}
.pic .on{fill:var(--accent)} .pic .off{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:4 4}
.pic .bar1{fill:var(--faint)} .pic .bar2{fill:var(--accent)}
.pic .lbl{fill:var(--muted);font:12px var(--mono)} .pic .val{fill:var(--ink);font:600 14px var(--mono)}
.from{font-size:.84rem;color:var(--muted)}

/* Academy */
.academy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.panel h3{font-size:1.05rem}
.chart svg{width:100%;height:auto;display:block}
.chart .g{stroke:var(--line);stroke-width:1}
.chart .yl,.chart .xl{fill:var(--muted);font:12px var(--mono)}
.chart .a{fill:var(--accent-soft)}
.chart .l{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}
.chart .d{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.chart .de{fill:var(--accent)}
.chart .el{fill:var(--ink);font:600 13px var(--mono)}
.journey{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.journey li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 16px;position:relative}
.journey li::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:2px;background:var(--line)}
.journey li:last-child::before{display:none}
.journey .n{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:600 .8rem var(--mono);display:flex;align-items:center;justify-content:center}
.journey .t{font-size:.95rem;line-height:1.45}
.journey .t b{display:block;font-weight:600}
.journey .t span{color:var(--muted)}
.bubble{background:var(--bubble);border-radius:16px 16px 16px 4px;padding:16px 18px;font-size:.98rem;line-height:1.5}
.bubble-meta{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:6px}
.lesson{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;border-top:1px solid var(--line);padding-top:28px}
.lesson h3{font-size:1.4rem}
.lesson p{color:var(--muted)}
.mq{margin:0;font-family:var(--display);font-weight:500;font-size:1.2rem;line-height:1.4}
.mq-by{font:500 .78rem var(--mono);color:var(--muted);margin-top:8px}

/* Made */
.made{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px}
.made figure{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.frame{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.frame.v{aspect-ratio:16/9}
.frame.ig{aspect-ratio:4/5}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.frame .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font-size:.9rem;color:var(--muted)}
.made figcaption{display:flex;flex-direction:column;gap:4px}
.made figcaption b{font-weight:600;font-size:1rem}
.made figcaption span{font-size:.88rem;color:var(--muted)}
.made-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:center}
.stage img{border-radius:14px;border:1px solid var(--line)}
.stage p{color:var(--muted)}
.aud{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px}
.aud span{font-family:var(--mono);font-size:.82rem;color:var(--muted)}
.aud b{font-family:var(--display);font-size:1.25rem;color:var(--ink);margin-right:6px}

/* Offers */
.start{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:16px;padding:28px}
.start .tag{align-self:flex-start;font:500 .74rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:999px}
.start-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.start .price{font:500 .9rem var(--mono);color:var(--muted)}
.start ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
.more{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px}
.more div{border-top:2px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.more .price{font:500 .8rem var(--mono);color:var(--muted)}
.more p{font-size:.94rem;color:var(--muted)}

/* Details */
details.full{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
details.full summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-weight:700;font-size:1.2rem}
details.full summary::-webkit-details-marker{display:none}
details.full summary::after{content:"+";font-family:var(--mono);font-size:1.4rem;color:var(--accent)}
details.full[open] summary::after{content:"–"}
.cases{display:flex;flex-direction:column;padding-bottom:12px}
.case{display:flex;flex-direction:column;gap:12px;padding:22px 0;border-top:1px solid var(--line)}
.case .where{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.case dl{margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 16px}
.case dt{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.case dd{margin:0}
.mini{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}
.mini-h{font:500 .8rem var(--mono);color:var(--muted);margin-bottom:6px}

/* Quote + contact */
blockquote.dave{margin:0;display:flex;flex-direction:column;gap:14px;max-width:780px}
blockquote.dave p{font-family:var(--display);font-weight:500;font-size:clamp(1.4rem, 2.8vw, 1.9rem);line-height:1.3}
blockquote.dave .q{color:var(--accent)}
blockquote.dave footer{font-size:.92rem;color:var(--muted)}
.contact{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;gap:18px}
.contact .lines{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:.95rem}
.contact .lines span{user-select:all}
.foot{font-size:.82rem;color:var(--muted)}

@media (max-width:860px){
  .hero,.academy,.lesson,.stage,.start{grid-template-columns:minmax(0,1fr)}
  .hero{gap:28px} .portrait{max-width:220px}
  .steps,.made,.more{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  body{font-size:16px}
  .wrap{gap:72px;padding-block:32px 56px}
  .case dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .case dd{margin-bottom:8px}
}

/* Nav */
.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}
.nav .brand{font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--ink);text-decoration:none}
.nav nav{display:flex;gap:18px;flex-wrap:wrap}
.nav nav a{font:500 .92rem var(--body);color:var(--muted);text-decoration:none}
.nav nav a[aria-current="page"]{color:var(--accent)}
.nav nav a:hover{color:var(--ink)}
.top{display:flex;flex-direction:column;gap:40px}
/* Paths */
.paths{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:22px}
.path{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0;transition:border-color .2s}
.path:hover{border-color:var(--accent)}
.path .img{aspect-ratio:16/10;overflow:hidden;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}
.path .img img{width:100%;height:100%;object-fit:cover}
.path .img svg{width:86%;height:auto}
.path .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.path .k{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.path h3{font-size:1.5rem}
.path p{color:var(--muted)}
.path .go{font:600 .95rem var(--body);color:var(--accent);margin-top:4px}
.bridge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.bridge p{color:var(--muted)}
.worked{display:flex;flex-wrap:wrap;gap:10px 26px;font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--muted)}
.decks{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:20px}
.decks figure{margin:0;display:flex;flex-direction:column;gap:8px}
.decks img{border-radius:14px;border:1px solid var(--line);width:100%}
.decks figcaption{font-size:.88rem;color:var(--muted)}
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.nl p{color:var(--muted)}
.nl-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.nl-card .t{font-family:var(--display);font-weight:700;font-size:1.1rem}
.nl-card .ask{border-top:1px dashed var(--line);padding-top:12px;font-size:.92rem;color:var(--muted)}
.nl-card .ask b{color:var(--accent);font-weight:600}
.quotes3{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:18px}
.quotes3 figure{margin:0;padding:18px;border-radius:14px;background:var(--bubble);display:flex;flex-direction:column;gap:10px;min-width:0}
.quotes3 blockquote{margin:0;font-family:var(--display);font-weight:500;font-size:1.05rem;line-height:1.4}
.quotes3 figcaption{font:500 .78rem var(--mono);color:var(--muted)}
.crosslink{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}
.crosslink p{color:var(--muted)}
@media (max-width:860px){ .paths,.bridge,.decks,.nl,.quotes3{grid-template-columns:minmax(0,1fr)} }
/* v4 additions */
.inside{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding-top:28px}
.inside .ih{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.inside .ih h3{font-size:1.4rem}
.inside .ih p{color:var(--muted);max-width:60ch}
.shot{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.shot img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#222}
.shot figcaption{font-size:.9rem;color:var(--muted)}
.shot figcaption b{color:var(--ink);font-weight:600;display:block}
.inside-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.ads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ads figure{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.ads img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.ads .ang{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.ads figcaption{font-size:.9rem;color:var(--muted)}
.pricing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;border-top:1px solid var(--line);padding-top:28px}
.pricing h3{font-size:1.4rem}
.pricing p{color:var(--muted)}
.pricing .txt{display:flex;flex-direction:column;gap:12px}
.pricing svg{width:100%;height:auto;display:block}
.pricing .bar{fill:var(--line)}
.pricing .bar.hi{fill:var(--accent)}
.pricing .pct{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:22px;fill:var(--ink)}
.pricing .pct.hi{fill:var(--accent)}
.pricing .tl{font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:600;fill:var(--ink)}
.pricing .ts{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:var(--muted)}
.est{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.est label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}
.est .fields{display:flex;flex-direction:column;gap:14px}
.est input,.est select{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
.est .out{display:flex;flex-direction:column;gap:6px}
.est .big{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:clamp(2.2rem,6vw,3.2rem);color:var(--accent);line-height:1}
.est .out p{color:var(--muted);font-size:.92rem}
.why3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.why3 div{border-top:2px solid var(--accent);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.why3 h3{font-size:1.05rem}
.why3 p{color:var(--muted);font-size:.95rem}
@media (max-width:860px){ .inside,.pricing,.est,.why3{grid-template-columns:minmax(0,1fr)} .ads{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* v5 */
.contact .lede{max-width:72ch}
.logos{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:8px}
.logos .worked{font-size:1.3rem}
.quotes3.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:center}
.about-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.about-text{display:flex;flex-direction:column;gap:14px}
.about-text p{color:var(--muted);font-size:1.08rem}
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.how li{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px}
.how .n{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--surface);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700}
.how h3{font-size:1.15rem}
.how p{color:var(--muted)}
.fit{display:flex;flex-wrap:wrap;gap:8px 10px}
.fit span{background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:.92rem}
.nl-card a.t{color:var(--ink);text-decoration:none}
.nl-card a.t:hover{color:var(--accent);text-decoration:underline}
.nl-card .more-link{font-weight:600}
@media (max-width:860px){ .quotes3.two,.about,.how{grid-template-columns:minmax(0,1fr)} }
.fit-l{font-family:var(--mono);font-size:.82rem;color:var(--muted);margin-top:4px}
.quotes3.two figure{padding:26px}
.quotes3.two blockquote{font-size:1.2rem}
/* v6 */
.ads-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.ads-sec .ads{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ads-sec .ads figcaption{font-size:.84rem}
.tiers{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px}
.tiers-h{font-family:var(--mono);font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.tier{display:grid;grid-template-columns:96px minmax(0,1fr) 48px;gap:14px;align-items:center}
.tier .tl{display:flex;flex-direction:column;font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.tier .tl b{font-family:var(--body,inherit);font-size:.95rem;color:var(--ink);font-weight:600}
.tier .track{height:14px;border-radius:999px;background:var(--line);overflow:hidden}
.tier .fill{display:block;height:100%;border-radius:999px;background:var(--faint)}
.tier.hi .fill{background:var(--accent)}
.tier .pct{font-family:var(--display);font-weight:700;font-size:1.15rem;text-align:right;color:var(--ink)}
.tier.hi .pct{color:var(--accent)}
@media (max-width:860px){ .ads-sec{grid-template-columns:minmax(0,1fr)} }
/* v8 nav + mail */
.nav nav{gap:6px}
.nav nav a{padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-weight:500}
.nav nav a:hover{border-color:var(--accent);color:var(--accent)}
.nav nav a[aria-current="page"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.nav nav a.nav-cta{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.mail-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:12px;font-size:.92rem;max-width:calc(100% - 32px);transition:.2s;z-index:50}
.mail-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:560px){ .nav nav a{padding:6px 10px;font-size:.88rem} }
/* ===== v11: bands, growth rebuild, footer, contact ===== */
html,body{overflow-x:clip}
.lede.wide,p.wide{max-width:88ch}
/* Bands: full-bleed sections that flip with light/dark mode */
.band{margin-inline:calc(50% - 50vw);padding:88px max(16px, calc(50vw - 520px));background:var(--bg);color:var(--ink);gap:64px}
.band + .band{margin-top:-104px}
.band-inv{--bg:#0f1716;--surface:#16211f;--ink:#e6eeec;--muted:#9db0ac;--line:#2a3a37;--accent:#5fc0b6;--accent-soft:#1b302d;--bubble:#1d2b29;--faint:#33504b}
.band-deep{--bg:#e4f0ee;--surface:#ffffff;--ink:#14201f;--muted:#4b5b58;--line:#c9dbd7;--accent:#1f6f6b;--accent-soft:#d3e7e3;--bubble:#f4f9f8;--faint:#b9cfca}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .band-inv{--bg:#ffffff;--surface:#f3f7f6;--ink:#101a19;--muted:#4e5c59;--line:#d5dfdc;--accent:#1f6f6b;--accent-soft:#e2efed;--bubble:#eef3f2;--faint:#c4d3d0}
 :root:not([data-theme="light"]) .band-deep{--bg:#0a2725;--surface:#0f3330;--ink:#ffffff;--muted:#b4cdc9;--line:#1f4743;--accent:#6fd3c8;--accent-soft:#12403c;--bubble:#103532;--faint:#2a5a55} }
:root[data-theme="dark"] .band-inv{--bg:#ffffff;--surface:#f3f7f6;--ink:#101a19;--muted:#4e5c59;--line:#d5dfdc;--accent:#1f6f6b;--accent-soft:#e2efed;--bubble:#eef3f2;--faint:#c4d3d0}
:root[data-theme="dark"] .band-deep{--bg:#0a2725;--surface:#0f3330;--ink:#ffffff;--muted:#b4cdc9;--line:#1f4743;--accent:#6fd3c8;--accent-soft:#12403c;--bubble:#103532;--faint:#2a5a55}
.band .lede,.band p{color:var(--muted)}
.band h2,.band h3,.band h4{color:var(--ink)}
/* Nav */
.nav nav a.nav-cta[aria-current="page"]{background:var(--accent);color:var(--surface)}
/* Growth hero proof */
.proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.proof div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.proof .big{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--accent);line-height:1.1}
.proof span:not(.big){color:var(--muted);font-size:.95rem}
/* Academy */
.academy{align-items:stretch}
.lesson{border-top:0;padding-top:0}
.lesson figure.q{margin:0;padding:22px;border-radius:14px;background:var(--bubble);display:flex;flex-direction:column;gap:10px}
.lesson figure.q blockquote{margin:0;font-family:var(--display);font-weight:500;font-size:1.1rem;line-height:1.4;color:var(--ink)}
.lesson figure.q figcaption{font:500 .8rem var(--mono);color:var(--muted)}
.sub{display:flex;flex-direction:column;gap:24px}
.sub-h{font-size:1.45rem}
.icons3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:center}
.icons3 div{display:flex;flex-direction:column;align-items:center;gap:10px}
.icons3 svg,.why3 svg{width:52px;height:52px;fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.icons3 svg .f{fill:var(--accent);stroke:none}
.icons3 h4{font-family:var(--display);font-size:1.1rem;margin:0}
.icons3 p{font-size:.95rem;max-width:32ch}
.ads4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ads4 img{width:100%;border-radius:12px;border:1px solid var(--line)}
.nlrow{display:flex;justify-content:space-between;align-items:center;gap:28px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.nlrow div{display:flex;flex-direction:column;gap:6px;max-width:70ch}
.nlrow .btn{white-space:nowrap}
/* Squareup gallery */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pills span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-family:var(--mono);font-size:.82rem;color:var(--muted)}
.pills b{color:var(--ink);font-family:var(--display);font-size:.95rem;margin-right:2px}
.vids{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:16px;align-items:stretch}
.vids .frame.ig{aspect-ratio:auto;height:100%;min-height:420px}
.vcol{display:flex;flex-direction:column;gap:16px}
.carousel{display:flex;flex-direction:column;gap:16px}
.car-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.car-btns{display:flex;gap:8px}
.car-b{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.1rem;cursor:pointer}
.car-b:hover{border-color:var(--accent);color:var(--accent)}
.track{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.slide{scroll-snap-align:start}
.slide img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#fff}
.stage-f{margin:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:center}
.stage-f img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.stage-f figcaption{display:flex;flex-direction:column;gap:8px;font-family:var(--display);font-size:1.3rem;font-weight:500;line-height:1.35}
.pricing{border-top:0;padding-top:0}
/* Why band */
.why3 div{border-top:0;padding-top:0;gap:10px}
.est{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.est-h{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.est-h h3{font-size:1.25rem}
.est select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23889a96' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.foot-note{grid-column:1/-1;font-style:italic;font-size:.88rem}
/* Offers */
.fitrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.fitrow .fit-l{margin:0 4px 0 0}
.chip{background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:5px 13px;font-size:.88rem;white-space:nowrap}
.steps-line{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;font-weight:500}
.steps-line li{display:flex;align-items:center;gap:10px;color:var(--ink)}
.steps-line b{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-size:.9rem}
.offers3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;position:relative}
.offer:first-child{border:2px solid var(--accent)}
.offer .tag{align-self:flex-start;background:var(--accent);color:var(--surface);font:500 .74rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.offer .price{font:500 .85rem var(--mono);color:var(--accent)}
.offer h3{font-size:1.25rem}
.offer p{color:var(--muted)}
.offer ul{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:.95rem;display:flex;flex-direction:column;gap:4px}
.offer .btn{margin-top:auto;align-self:flex-start}
/* Footer CTA */
.site-foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding:56px 0 8px;border-top:1px solid var(--line)}
.btn.big{font-size:1.05rem;padding:14px 28px;border-radius:10px}
.cross{color:var(--muted);font-size:.95rem}
/* Contact page */
.contact-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.contact-page .card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px}
.contact-page ul{margin:0;padding-left:20px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.contact-page .lines{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:.95rem}
.topic{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:860px){
  .proof,.icons3,.ads4,.vids,.stage-f,.offers3,.contact-page{grid-template-columns:minmax(0,1fr)}
  .ads4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .track{grid-auto-columns:72%}
  .nlrow{flex-direction:column;align-items:flex-start}
  .band{padding-block:64px}
  .vids .frame.ig{min-height:520px}
}
.band-deep .why3 svg{stroke:var(--ink)}
body{margin:0}
.tier .track{display:block;position:relative}
.tier .fill{position:absolute;left:0;top:0;bottom:0;height:auto}
.offer p{font-size:1rem}
.start-main .btn{align-self:flex-start}
.offer:first-child{border:1px solid var(--line)}
.offer:has(.tag){border:2px solid var(--accent)}
.topic{align-items:center}
/* v12: services distinct, stories, plain quote */
.jump{align-self:flex-start;margin-top:4px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}
.svc-label{align-self:flex-start;display:inline-flex;background:var(--accent);color:var(--surface);font:600 .8rem var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:4px}
.offer ul,.start ul{list-style:none;padding-left:0}
.offer ul li,.start ul li{position:relative;padding-left:26px}
.offer ul li::before,.start ul li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.lesson figure.q.plain{background:none;padding:0}
.lesson figure.q.plain blockquote{color:var(--accent);font-size:1.25rem}
.story-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.story-tab{font:inherit;text-align:left;cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}
.story-tab svg{width:34px;height:34px;fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.story-tab .co{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.story-tab .nm{font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.25}
.story-tab:hover{border-color:var(--accent)}
.story-tab[aria-selected="true"]{border:2px solid var(--accent);background:var(--accent-soft)}
.story-panel .case{margin:0}
@media (max-width:860px){ .story-tabs{grid-template-columns:repeat(2,minmax(0,1fr))} }
.story-panel .case{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px}
/* v13 hero + proof */
.hero{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:56px}
.hero .lede{max-width:46ch}
.hero .portrait{width:100%;max-width:380px}
.proof div{justify-content:center;min-height:0}
.proof span:not(.big){font-size:1rem}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px}
.hero .portrait{max-width:370px;justify-self:center}
@media (max-width:860px){ .hero{grid-template-columns:minmax(0,1fr)} .hero .portrait{justify-self:start;max-width:300px} }
.track{grid-auto-columns:calc((100% - 48px)/3.4);scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.car-b:disabled{opacity:.35;cursor:default}
@media (max-width:860px){ .track{grid-auto-columns:78%} }
@media (max-width:860px){
  .est{grid-template-columns:minmax(0,1fr)}
  .nav nav a{padding:9px 13px}
  .copy{padding:9px 12px}
  .jump{padding-block:8px 4px}
}
/* ===== v14: human pass. Squareup-style type, less decoration, real photos ===== */
:root{--display:"Inter",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;--mono:"Inter",system-ui,sans-serif}
body{font-size:17px;line-height:1.65}
h1{font-weight:800;letter-spacing:-.035em;line-height:1.05}
h2{font-weight:800;letter-spacing:-.028em}
h3,h4{letter-spacing:-.015em}
.eyebrow{font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent)}
/* calmer corners everywhere */
.panel,.proof div,.est,.nlrow,.story-tab,.story-panel .case,.contact-page .card,.frame,.start,.tiers,.path,.lesson figure.q{border-radius:8px}
.slide img,.ads4 img,.stage-f img,.about-img img,.portrait,.decks img{border-radius:6px}
.btn{border-radius:6px}
/* nav: plain links, Contact as the one button */
.nav nav{gap:4px 22px;align-items:center}
.nav nav a{border:0;padding:6px 0;border-radius:0;background:none;color:var(--muted);font-weight:500}
.nav nav a:hover{color:var(--ink);border:0}
.nav nav a[aria-current="page"]{background:none;border:0;color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.nav nav a.nav-cta{background:var(--accent);color:var(--surface);padding:8px 16px;border-radius:6px;box-shadow:none}
.nav nav a.nav-cta[aria-current="page"]{color:var(--surface)}
/* hero */
.hi-line{font-size:1.15rem;font-weight:600;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0}
.avail{font-family:var(--body);font-size:.9rem;font-weight:500;background:none;padding:0;border-radius:0}
.logos-l{font-size:.95rem;color:var(--muted);font-weight:500}
.logos .worked{color:var(--ink);opacity:.75}
/* path cards: real photo / big type */
.path{border:0;background:none}
.path .img{background:var(--accent-soft);border-radius:8px;aspect-ratio:16/10}
.path .img img{border-radius:8px}
.path .body{padding:18px 2px 0}
.path .k{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600}
.typo{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:28px;gap:4px}
.typo .n{font-weight:800;font-size:clamp(3.5rem,9vw,6rem);letter-spacing:-.05em;line-height:.9;color:var(--accent)}
.typo .u{font-size:1rem;color:var(--ink);max-width:26ch}
/* quotes as real pull quotes */
.quotes3 figure{background:none;border-left:3px solid var(--accent);border-radius:0;padding:4px 0 4px 20px}
.quotes3 figcaption,.lesson figure.q figcaption,.offer .price,.tier .tl,.tiers-h,.bubble-meta,.note{font-family:var(--body);letter-spacing:0;text-transform:none}
/* youtube strip */
.ytstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:-56px}
.ytstrip a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;line-height:1.35}
.ytstrip img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.ytstrip a:hover span{color:var(--accent)}
/* proof: plain numbers, no boxes */
.proof div{background:none;border:0;border-left:3px solid var(--accent);border-radius:0;padding:2px 0 2px 18px}
/* fit + steps as plain text */
.fitrow .fit-l{font-family:var(--body);font-size:1rem;color:var(--muted);text-transform:none;letter-spacing:0}
.chip{background:none;padding:0;border-radius:0;font-size:1rem;color:var(--ink);white-space:normal}
.chip + .chip::before{content:"·";margin:0 10px 0 2px;color:var(--muted)}
.steps-line{gap:6px 22px;color:var(--muted)}
.steps-line b{width:auto;height:auto;background:none;color:var(--accent);font-size:1rem;border-radius:0}
.steps-line b::after{content:"."}
/* offers: simple columns with a top rule */
.offer{background:none;border:0;border-top:2px solid var(--line);border-radius:0;padding:20px 0 0}
.offer:has(.tag){border:0;border-top:3px solid var(--accent)}
.offer .tag{background:none;color:var(--accent);padding:0;font-family:var(--body);font-size:.9rem;font-weight:700;letter-spacing:0;text-transform:none;border-radius:0}
.offer .price{font-size:.95rem;font-weight:600;color:var(--ink)}
.svc-label{border-radius:4px;font-family:var(--body);letter-spacing:.04em}
.start{border-radius:8px}
.start .tag{font-family:var(--body);letter-spacing:0;text-transform:none;font-weight:600}
/* member keepers: plain text, left aligned */
.icons3{text-align:left;gap:32px}
.icons3 div{align-items:flex-start;border-top:2px solid var(--line);padding-top:16px}
/* pills on growth page */
.pills span{font-family:var(--body);border-radius:4px}
.pills b{font-family:var(--body)}
.story-tab .co{font-family:var(--body);letter-spacing:0;text-transform:none}
.case .where,.case dt{font-family:var(--body);letter-spacing:0}
@media (max-width:860px){ .ytstrip{grid-template-columns:minmax(0,1fr);margin-top:-40px} .nav nav{gap:4px 16px} }
.step .k{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600}
.step{border-radius:8px}
.pic .lbl,.pic .val,.chart .yl,.chart .xl,.chart .el{font-family:var(--body)}
/* v15: intentional home */
.svcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.svc{display:flex;flex-direction:column;gap:14px;padding:30px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.svc:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.12);border-color:var(--accent)}
.svc h3{font-size:1.7rem;font-weight:800;letter-spacing:-.025em}
.svc .for{color:var(--muted);font-size:1.05rem}
.svc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.svc ul li{position:relative;padding-left:26px}
.svc ul li::before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.svc .res{font-size:.95rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.svc .res b{color:var(--ink)}
.svc .btn{align-self:flex-start}
.svc:hover .btn{filter:brightness(1.1)}
.teach{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.teach-text{display:flex;flex-direction:column;gap:14px}
.teach-text p{color:var(--muted);font-size:1.05rem}
.more-link{font-weight:600;text-decoration:none}
.more-link:hover{text-decoration:underline}
.ladder{margin:0;display:flex;flex-direction:column;gap:12px}
.ladder ol{list-style:none;margin:0;padding:0;height:240px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;align-items:end}
.ladder li{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.ladder .bar{width:100%;height:var(--h);background:var(--accent);opacity:calc(.35 + var(--o,0));border-radius:4px 4px 0 0}
.ladder li:nth-child(1) .bar{opacity:.3}.ladder li:nth-child(2) .bar{opacity:.4}.ladder li:nth-child(3) .bar{opacity:.5}.ladder li:nth-child(4) .bar{opacity:.6}.ladder li:nth-child(5) .bar{opacity:.7}.ladder li:nth-child(6) .bar{opacity:.8}.ladder li:nth-child(7) .bar{opacity:.9}.ladder li:nth-child(8) .bar{opacity:1}
.ladder .lv{font-weight:700;font-size:.95rem}
.ladder figcaption{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted)}
@media (max-width:860px){ .svcs,.teach{grid-template-columns:minmax(0,1fr)} .ladder ol{height:180px} }

/* v16: level reels */
.teach{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reels a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:600}
.reels img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid var(--line);transition:transform .15s}
.reels a:hover img{transform:translateY(-3px)}
.reels a:hover span{color:var(--accent)}
/* v17 */
p{text-wrap:pretty}
.site-foot{border-top:0}
/* about + teaching as one section */
.about-wrap{gap:72px}
.teach2{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.teach2 h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.025em}
.teach2 p{color:var(--muted);font-size:1.05rem;max-width:62ch}
.teach2 .reels{width:100%;max-width:640px;margin-top:8px}
.reels a{position:relative;display:block;border-radius:8px;overflow:hidden}
.reels img{border-radius:8px}
.reels .play{position:absolute;left:50%;top:58%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(0,0,0,.55);box-shadow:0 0 0 2px rgba(255,255,255,.85) inset;transition:transform .15s,background .15s}
.reels .play::after{content:"";position:absolute;left:21px;top:16px;border-left:16px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
.reels a:hover .play{transform:scale(1.1);background:var(--accent)}
/* lifecycle proof row */
.proof.three{grid-template-columns:repeat(3,minmax(0,1fr))}
/* offers as equal cards, badge instead of bar */
.offer,.offer:first-child,.offer:has(.tag){background:var(--surface);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:10px;padding:24px}
.offer .tag{align-self:flex-start;background:var(--accent-soft);color:var(--accent);padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700}
.start{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:10px}
.start::before{display:none}
.sec-head .steps-line{margin-top:10px}
.sec-head .fitrow{margin-top:2px}
@media (max-width:860px){ .proof.three{grid-template-columns:minmax(0,1fr)} }
blockquote.dave{margin:0 auto;text-align:center;align-items:center}
