:root{
  --paper:#F6EFEA;
  --paper-2:#EFE5DE;
  --ink:#231C22;
  --ink-soft:#5B4F57;
  --plum:#3D1F3A;
  --plum-ink:#F6EFEA;
  --plum-soft:#CDBBC8;
  --pom:#B8303D;
  --leaf:#3E5B48;
  --line:rgba(61,31,58,.18);
  --ring:rgba(61,31,58,.55);
  --serif:'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --sans:'Figtree', 'Avenir Next', 'Segoe UI', system-ui, sans-serif;
  --max:1180px;
  --gutter:clamp(20px,5vw,56px);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#1B1419;--paper-2:#231A21;--ink:#F1E7E2;--ink-soft:#BFAFB8;
    --plum:#2E1A2B;--plum-ink:#F1E7E2;--plum-soft:#BCA8B6;--pom:#E0566A;--leaf:#8FB59A;
    --line:rgba(241,231,226,.16);--ring:rgba(241,231,226,.5);
  }
}
:root[data-theme="dark"]{
  --paper:#1B1419;--paper-2:#231A21;--ink:#F1E7E2;--ink-soft:#BFAFB8;
  --plum:#2E1A2B;--plum-ink:#F1E7E2;--plum-soft:#BCA8B6;--pom:#E0566A;--leaf:#8FB59A;
  --line:rgba(241,231,226,.16);--ring:rgba(241,231,226,.5);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--pom);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.serif{font-family:var(--serif)}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--plum)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand{color:var(--ink)}}
:root[data-theme="dark"] .brand{color:var(--ink)}
.brand svg{width:26px;height:34px}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px}
.nav ul a{text-decoration:none;color:var(--ink-soft)}
.nav ul a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font:500 15px/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--plum);color:var(--plum-ink)}
.btn-primary:hover{background:var(--pom)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-primary{background:var(--pom);color:#fff}}
:root[data-theme="dark"] .btn-primary{background:var(--pom);color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.menu-btn{display:none}
.nav ul .mobile-cta{display:none}
@media (max-width:900px){
  .nav ul{display:none}
  .nav .header-cta{min-height:40px;padding:0 16px;font-size:14px;margin-left:auto}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
  .menu-btn .i-close{display:none}
  .nav.open .menu-btn .i-open{display:none}
  .nav.open .menu-btn .i-close{display:block}
  .nav.open ul{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:4px var(--gutter) 24px;box-shadow:0 18px 30px -24px rgba(0,0,0,.35)}
  .nav.open ul a{display:block;padding:15px 0;font-size:18px;color:var(--ink);border-bottom:1px solid var(--line)}
  .nav.open ul .mobile-cta a{display:inline-flex;border-bottom:0;padding:0 24px;color:var(--plum-ink)}
}
@media (max-width:480px){.nav .header-cta{display:none}.menu-btn{margin-left:auto}.nav.open ul .mobile-cta{display:block;padding-top:20px}}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;min-height:min(86vh,760px);padding-top:56px;padding-bottom:72px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(44px,6.5vw,96px);line-height:1;letter-spacing:-.03em;margin:0 0 32px;color:var(--plum);white-space:nowrap}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1{color:var(--ink)}}
:root[data-theme="dark"] .hero h1{color:var(--ink)}
.hero .lede{font-family:var(--serif);font-size:clamp(20px,2vw,24px);line-height:1.5;max-width:30em;margin:0 0 20px;color:var(--ink)}
.hero .pillars{font-size:16px;color:var(--ink-soft);margin:0 0 36px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.hero-art{justify-self:end;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center}
.rings{display:block;width:100%;aspect-ratio:1;margin:0 auto}
.rings circle.r{fill:none;stroke:var(--ring);stroke-width:1.1}
.rings circle.r.late{stroke:var(--pom);stroke-width:1.4}
@media (prefers-reduced-motion:no-preference){
  .rings circle.r{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.6,.1,.2,1) forwards;animation-delay:calc(var(--i) * 160ms + 200ms)}
  .rings .core{opacity:0;animation:fade .8s ease forwards .1s}
}
@keyframes draw{99%{stroke-dashoffset:0;stroke-dasharray:1}100%{stroke-dashoffset:0;stroke-dasharray:none}}
@keyframes fade{to{opacity:1}}
.ring-caption{font-size:14px;color:var(--ink-soft);text-align:center;margin-top:8px;font-style:italic;font-family:var(--serif)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding-top:40px}
  .hero-art{justify-self:center;max-width:300px}
}

/* Sections */
section{padding:clamp(72px,10vw,128px) 0}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.2vw,64px);line-height:1.04;letter-spacing:-.02em;margin:0 0 28px;max-width:16em}
.h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,32px);line-height:1.15;margin:0 0 12px}
.body{max-width:36em;color:var(--ink-soft)}
.body p{margin:0 0 18px}
.kicker{font-size:15px;color:var(--pom);font-weight:600;margin:0 0 18px}

/* Big idea */
.idea-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.pressures{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--line)}
.pressures li{padding:12px 0;border-bottom:1px solid var(--line);font-size:17px}
.timeline{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:18px;margin-top:72px}
.timeline .node{display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--serif);font-size:22px}
.timeline .bar{height:1px;background:var(--line)}
.dot{border-radius:50%;border:1.5px solid var(--plum)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dot{border-color:var(--ink)}}
:root[data-theme="dark"] .dot{border-color:var(--ink)}
.strong{font-family:var(--serif);font-size:24px;line-height:1.4;color:var(--ink);max-width:24em}
@media (max-width:860px){.idea-grid{grid-template-columns:1fr;gap:32px}.timeline{gap:10px}.timeline .node{font-size:17px}}


/* Timeline: aligned nodes + interactive Generations */
.timeline{align-items:start}
.timeline .bar{margin-top:44px}
.dot-box{height:88px;display:flex;align-items:center;justify-content:center}
.gen{text-decoration:none;color:inherit;position:relative}
.gen-ring{position:relative;width:76px;height:76px;border-radius:50%;border:1.5px solid var(--pom);display:flex;align-items:center;justify-content:center;transition:background .35s ease,transform .35s ease}
.gen-ring svg{position:relative;z-index:1;width:24px;height:31px;color:var(--plum);transition:color .35s ease}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gen-ring svg{color:var(--ink)}}
:root[data-theme="dark"] .gen-ring svg{color:var(--ink)}
.ripple{position:absolute;inset:-1.5px;border-radius:50%;border:1px solid var(--pom);opacity:0;pointer-events:none}
.gen:hover .gen-ring,.gen:focus-visible .gen-ring{background:var(--plum);transform:scale(1.08)}
.gen:hover .gen-ring svg,.gen:focus-visible .gen-ring svg{color:var(--plum-ink)}
.gen-tip{position:absolute;top:100%;left:50%;transform:translate(-50%,0);margin-top:4px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--pom);white-space:nowrap;opacity:0;transition:opacity .3s ease,transform .3s ease}
.gen:hover .gen-tip,.gen:focus-visible .gen-tip{opacity:1;transform:translate(-50%,4px)}
@media (prefers-reduced-motion:no-preference){
  .ripple:nth-child(1){animation:ripple 4.5s ease-out infinite 1.5s}
  .gen:hover .ripple,.gen:focus-visible .ripple{animation:ripple 1.8s ease-out infinite}
  .gen:hover .ripple:nth-child(2),.gen:focus-visible .ripple:nth-child(2){animation-delay:.6s}
  .gen:hover .ripple:nth-child(3),.gen:focus-visible .ripple:nth-child(3){animation-delay:1.2s}
}
@keyframes ripple{0%{transform:scale(1);opacity:.55}70%{opacity:0}100%{transform:scale(1.9);opacity:0}}
@media (max-width:860px){.gen-ring{width:60px;height:60px}.gen-ring svg{width:19px;height:25px}.dot-box{height:72px}.timeline .bar{margin-top:36px}}


.timeline .node{gap:0}
.timeline .t-main{font-family:var(--serif);font-size:24px;margin-top:10px}
.timeline .t-sub{font-family:var(--sans);font-size:14px;color:var(--ink-soft);margin-top:2px}
.gen-tip{margin-top:6px}
@media (max-width:860px){.timeline .t-main{font-size:19px}.timeline .t-sub{font-size:12.5px}}

/* Philosophy */
.philosophy{background:var(--plum);color:var(--plum-ink)}
.philosophy .kicker{color:#F08A97}
.philosophy .h2{color:var(--plum-ink)}
.tree{display:grid;grid-template-columns:72px 1fr;margin-top:56px}
.tree .spine{position:relative}
.tree .spine::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1px;background:rgba(246,239,234,.3)}
.layer{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:32px;padding:28px 0;border-top:1px solid rgba(246,239,234,.18);position:relative}
.layer:last-child{border-bottom:1px solid rgba(246,239,234,.18)}
.layer .name{font-family:var(--serif);font-size:34px;font-weight:300;line-height:1}
.layer .role{font-weight:600;font-size:16px;margin:0 0 6px;color:var(--plum-ink)}
.layer p{margin:0;color:var(--plum-soft);max-width:34em}
.layer::before{content:"";position:absolute;left:-41px;top:38px;width:9px;height:9px;border-radius:50%;background:var(--plum);border:1.5px solid rgba(246,239,234,.7)}
.layer.fruit::before{background:#E0566A;border-color:#E0566A}
.closing{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,48px);line-height:1.2;margin:72px 0 0;max-width:none}
.closing em{font-style:italic;color:#F3B6BE}
@media (max-width:700px){.tree{grid-template-columns:36px 1fr}.layer{grid-template-columns:1fr;gap:10px}.layer::before{left:-23px}}


/* Philosophy tree art */
.phil-grid{display:grid;grid-template-columns:1fr minmax(260px,400px);gap:56px;align-items:center;margin-top:56px}
.phil-grid .tree{margin-top:0}
.tree-art{width:100%;height:auto;display:block}
.tree-art .p,.tree-art .ground,.tree-art .lf{fill:none;stroke:rgba(246,239,234,.8);stroke-width:1.6;stroke-linecap:round}
.tree-art .ground{stroke:rgba(246,239,234,.28);stroke-dasharray:3 6}
.tree-art [data-part="trunk"] .p{stroke-width:2.2}
.tree-art .lf{stroke-width:1.2;stroke:rgba(246,239,234,.6)}
.tree-art .fr{fill:#E0566A}
.tree-art .fg{fill:#C99DC0}
.tree-art .fg .stem{fill:none;stroke:#C99DC0;stroke-width:1.4;stroke-linecap:round}
.tree-art .part{transition:opacity .35s ease}
.philosophy[data-active] .tree-art .part{opacity:.22}
.philosophy[data-active="fruit"] .tree-art [data-part="fruit"],
.philosophy[data-active="branches"] .tree-art [data-part="branches"],
.philosophy[data-active="trunk"] .tree-art [data-part="trunk"],
.philosophy[data-active="roots"] .tree-art [data-part="roots"]{opacity:1}
.layer{cursor:default;transition:opacity .3s}
.philosophy[data-active] .layer{opacity:.5}
.philosophy[data-active] .layer.on{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .tree-art.ready .p{stroke-dasharray:1;stroke-dashoffset:1}
  .tree-art.ready .lf,.tree-art.ready .fr{opacity:0}
  .tree-art.ready .fr{transform-box:fill-box;transform-origin:center;transform:scale(.4)}
  .tree-art.grow .p{animation:draw-tree 1.1s cubic-bezier(.5,.1,.2,1) forwards;animation-delay:calc(var(--d) * 140ms)}
  .tree-art.grow .lf{animation:fade .6s ease forwards;animation-delay:calc(var(--d) * 140ms + 300ms)}
  .tree-art.grow .fr{animation:pop .6s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:calc(var(--d) * 180ms + 2900ms)}
}
@keyframes draw-tree{99%{stroke-dashoffset:0;stroke-dasharray:1}100%{stroke-dashoffset:0;stroke-dasharray:none}}
@keyframes pop{to{opacity:1;transform:scale(1)}}
@media (max-width:860px){.phil-grid{grid-template-columns:1fr;gap:40px}.tree-art{max-width:300px;margin:0 auto}.phil-grid figure{order:-1}}

/* Pillars */
.pillar-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:48px}
.pillar{padding:40px 40px 44px 0;border-bottom:1px solid var(--line)}
.pillar:nth-child(even){padding-left:40px;padding-right:0;border-left:1px solid var(--line)}
.pillar .tag{font-size:15px;font-weight:600;color:var(--pom);margin:0 0 10px}
.pillar p.desc{color:var(--ink-soft);margin:0 0 20px;max-width:30em}
.pillar ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.pillar li{font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink)}
@media (max-width:860px){.pillar-grid{grid-template-columns:1fr}.pillar,.pillar:nth-child(even){padding:32px 0;border-left:0}}


/* Training */
.training{border-top:1px solid var(--line)}
.train-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.train-intro .big{font-family:var(--serif);font-weight:300;font-size:clamp(19px,1.7vw,23px);line-height:1.5;margin:0 0 24px;color:var(--ink)}
.training .h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08;max-width:none}
@media (min-width:901px){.train-intro{position:sticky;top:110px}}
.ladder{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rung{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.steps{display:flex;align-items:flex-end;gap:4px;height:40px}
.steps i{display:block;width:8px;background:var(--line);border-radius:2px}
.steps i:nth-child(1){height:25%}.steps i:nth-child(2){height:50%}.steps i:nth-child(3){height:75%}.steps i:nth-child(4){height:100%}
.rung[data-l="1"] .steps i:nth-child(-n+1),.rung[data-l="2"] .steps i:nth-child(-n+2),.rung[data-l="3"] .steps i:nth-child(-n+3),.rung[data-l="4"] .steps i:nth-child(-n+4){background:var(--pom)}
.rung h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15;margin:0 0 4px}
.rung .for{font-size:15px;font-weight:600;color:var(--ink);margin:0 0 8px}
.rung p{margin:0;color:var(--ink-soft)}
.rung .fmt{font-size:14px;color:var(--ink-soft);margin-top:10px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.principles h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 8px}
.principles p{margin:0;color:var(--ink-soft)}
.train-cta{margin-top:48px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.train-cta span{font-size:15px;color:var(--ink-soft)}
@media (max-width:900px){.train-grid{grid-template-columns:1fr;gap:40px}.principles{grid-template-columns:1fr;gap:28px}}


/* AI */
.ai{border-top:1px solid var(--line)}
.ai-top{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end;margin-bottom:56px}
.ai .lede{font-family:var(--serif);font-size:clamp(20px,2vw,24px);line-height:1.5;margin:0;color:var(--ink)}
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.ai-item{padding:28px 24px 32px 0;border-right:1px solid var(--line)}
.ai-item + .ai-item{padding-left:24px}
.ai-item:last-child{border-right:0}
.ai-item h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;margin:0 0 10px}
.ai-item p{margin:0;color:var(--ink-soft);font-size:17px}
.spotlight{margin-top:48px;display:grid;grid-template-columns:220px 1fr;gap:32px;padding:32px;background:var(--paper-2);border-left:2px solid var(--pom)}
.spotlight .s-tag{font-size:15px;font-weight:600;color:var(--pom);margin:0}
.spotlight p{margin:0;font-family:var(--serif);font-size:21px;line-height:1.5}
@media (max-width:960px){.ai-top{grid-template-columns:1fr;gap:24px}.ai-grid{grid-template-columns:1fr 1fr}.ai-item,.ai-item + .ai-item{padding:24px 16px 28px 0;border-right:0;border-bottom:1px solid var(--line)}.spotlight{grid-template-columns:1fr;gap:10px}}
@media (max-width:560px){.ai-grid{grid-template-columns:1fr}}


.tracks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.track{padding:36px 40px 40px 0;border-bottom:1px solid var(--line)}
.track + .track{padding-left:40px;padding-right:0;border-left:1px solid var(--line)}
.track .tag{font-size:15px;font-weight:600;color:var(--pom);margin:0 0 10px}
.track .desc{color:var(--ink-soft);margin:0 0 20px;max-width:30em}
.track ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.track li{font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:999px}
.ai-sub{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,32px);margin:64px 0 24px}
.ai-path{list-style:none;padding:0;margin:0 0 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ai-path .num{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:15px;color:var(--pom);margin-bottom:14px}
.ai-path .num::after{content:"";flex:1;height:1px;background:var(--line)}
.ai-path li:last-child .num::after{display:none}
.ai-path h4{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 8px}
.ai-path p{margin:0;color:var(--ink-soft)}
.ai-grid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.tracks{grid-template-columns:1fr}.track,.track + .track{padding:28px 0;border-left:0}.ai-path{grid-template-columns:1fr;gap:28px}.ai-grid.three{grid-template-columns:1fr}}


/* AI seed network */
.ai-top{align-items:center}
.seed-fig{margin:0;justify-self:end;width:100%;max-width:400px}
.seed-fig figcaption{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);text-align:center;margin-top:6px}
.seednet{width:100%;height:auto;display:block}
.seednet .outline,.seednet .membrane{fill:none;stroke:var(--ring);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.seednet .membrane{stroke-width:.8;stroke-dasharray:2 5;opacity:.7}
.seednet .edges line{stroke:var(--ring);stroke-width:1;opacity:.75;transition:opacity .25s,stroke .25s,stroke-width .25s}
.seednet .seed{fill:var(--pom);stroke:var(--pom);stroke-width:1.2;cursor:pointer;transition:opacity .25s, transform .25s}
.seednet .seed.hollow{fill:none}
.seednet.focus .edges line{opacity:.18}
.seednet.focus .edges line.hot{opacity:1;stroke:var(--pom);stroke-width:1.6}
.seednet.focus .seed{opacity:.35}
.seednet.focus .seed.hot{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .seednet.ready .edges line{stroke-dasharray:1;stroke-dashoffset:1}
  .seednet.ready .seed{opacity:0}
  .seednet.grow .seed{animation:fade .5s ease forwards;animation-delay:calc(var(--d) * 45ms)}
  .seednet.grow .edges line{animation:draw .9s ease forwards;animation-delay:calc(var(--d) * 55ms + 900ms)}
  .seednet.grow.done .seed{animation:none;opacity:1}
}
@media (max-width:960px){.seed-fig{justify-self:center;max-width:320px}}

/* Moments */
.moments{background:var(--paper-2)}
.moment-list{margin-top:40px;border-top:1px solid var(--line)}
.moment{border-bottom:1px solid var(--line)}
.moment button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:200px 1fr 32px;gap:24px;align-items:baseline;padding:26px 0;cursor:pointer}
.moment button:focus-visible{outline:2px solid var(--pom);outline-offset:4px}
.moment .m-name{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1}
.moment .m-line{font-size:18px;color:var(--ink)}
.moment .plus{justify-self:end;width:22px;height:22px;position:relative}
.moment .plus::before,.moment .plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .3s}
.moment .plus::after{transform:rotate(90deg)}
.moment[data-open="true"] .plus::after{transform:rotate(0)}
.moment .panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.moment[data-open="true"] .panel{grid-template-rows:1fr}
.panel > div{overflow:hidden}
.panel-inner{padding:0 0 28px 224px;color:var(--ink-soft);max-width:calc(224px + 38em)}
.panel-inner strong{color:var(--ink);font-weight:600}
@media (max-width:760px){.moment button{grid-template-columns:1fr 28px;gap:10px 12px;padding:22px 0}.moment .m-name{grid-column:1;grid-row:1;font-size:26px}.moment .plus{grid-column:2;grid-row:1;align-self:center}.moment .m-line{grid-column:1 / -1;grid-row:2;font-size:17px}.panel-inner{padding-left:0}}

/* Method */
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;position:relative}
.step{padding:0 28px 0 0;position:relative}
.step .num{font-family:var(--serif);font-size:15px;color:var(--pom);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.step .num::after{content:"";flex:1;height:1px;background:var(--line)}
.step:last-child .num::after{display:none}
.step .h3{font-size:30px}
.step p{margin:0;color:var(--ink-soft);font-family:var(--serif);font-style:italic;font-size:20px}
.method-note{margin-top:56px}
@media (max-width:860px){.method-grid{grid-template-columns:1fr 1fr;row-gap:44px}}
@media (max-width:520px){.method-grid{grid-template-columns:1fr}}


/* Founder */
.founder{border-top:1px solid var(--line)}
.founder-grid{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:72px;align-items:center}
.portrait{position:relative;margin:0;max-width:380px}
.portrait::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1.5px solid var(--pom);z-index:0}
.photo{position:relative;z-index:1;aspect-ratio:4/5;overflow:hidden;background:#C9C3C6}
.photo img,.photo svg{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.photo img{filter:grayscale(1) contrast(1.08) brightness(1.02)}
.portrait figcaption{position:relative;z-index:1;font-size:14px;color:var(--ink-soft);margin-top:30px}
.founder .role{font-size:16px;color:var(--ink-soft);margin:-16px 0 28px}
.founder .bio{font-family:var(--serif);font-size:22px;line-height:1.55;max-width:30em;margin:0 0 20px}
.creds{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 32px}
.creds li{font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:999px}
.essay .portrait{max-width:300px;margin:0 0 56px}
@media (max-width:860px){.founder-grid{grid-template-columns:1fr;gap:48px}.portrait{max-width:300px}}

.founder-rings{margin:0;width:100%;max-width:380px}
@media (max-width:860px){.founder-rings{max-width:260px}}
.founder-grid.solo{grid-template-columns:1fr;max-width:820px}
/* Longevity */
.longevity{border-top:1px solid var(--line)}
.change-stack{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4vw,46px);line-height:1.18;margin:40px 0;color:var(--ink-soft)}
.change-stack span{display:block}
.endure{font-family:var(--serif);font-weight:300;font-size:clamp(56px,9vw,120px);line-height:.95;letter-spacing:-.03em;margin:0 0 40px;color:var(--plum)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .endure{color:var(--ink)}}
:root[data-theme="dark"] .endure{color:var(--ink)}
.long-wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.long-wrap .change-stack{margin-bottom:0}
.long-right .endure{font-size:clamp(56px,7vw,104px);margin-bottom:32px}
@media (max-width:860px){.long-wrap{grid-template-columns:1fr;gap:40px}}
.long-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.motto{font-family:var(--serif);font-size:24px;line-height:1.5;border-left:2px solid var(--pom);padding-left:24px;margin:0}
@media (max-width:860px){.long-grid{grid-template-columns:1fr;gap:32px}}

/* Advisory */
.advisory{background:var(--paper-2)}
.adv-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.quote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(28px,3.4vw,40px);line-height:1.25;margin:0;color:var(--ink)}
@media (max-width:860px){.adv-grid{grid-template-columns:1fr;gap:28px}}


/* Case studies */
.cases{border-top:1px solid var(--line)}
.case-note{font-size:15px;color:var(--ink-soft);margin:0 0 40px;max-width:40em}
.case{border-top:1px solid var(--line)}
.case:last-of-type{border-bottom:1px solid var(--line)}
.case summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 32px;gap:24px;padding:36px 0}
.case summary::-webkit-details-marker{display:none}
.case .sector{font-size:15px;font-weight:600;color:var(--pom);margin:0 0 10px}
.case .c-title{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.4vw,42px);line-height:1.1;margin:0 0 12px;max-width:20em}
.case .c-sum{margin:0;color:var(--ink-soft);max-width:38em}
.case .plus{align-self:center;width:22px;height:22px;position:relative}
.case .plus::before,.case .plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .3s}
.case .plus::after{transform:rotate(90deg)}
.case[open] .plus::after{transform:rotate(0)}
.story{display:grid;grid-template-columns:200px 1fr;gap:0 40px;padding:0 0 40px}
.story dt{font-family:var(--serif);font-size:20px;padding:18px 0;border-top:1px solid var(--line)}
.story dd{margin:0;padding:18px 0;border-top:1px solid var(--line);color:var(--ink-soft);max-width:40em}
.story dd ul{margin:8px 0 0;padding-left:20px}
.story dd li{margin-bottom:6px}
.story dt.lesson,.story dd.lesson{color:var(--ink)}
.story dd.lesson{font-family:var(--serif);font-size:22px;line-height:1.45}
@media (max-width:760px){.story{grid-template-columns:1fr}.story dd{border-top:0;padding-top:0}}

/* Perspective */
.articles{margin-top:40px;border-top:1px solid var(--line)}
.article{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.article .topic{font-size:15px;color:var(--ink-soft)}
.article h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.2;margin:0}
.soon{font-size:15px;color:var(--ink-soft);margin-top:20px}
@media (max-width:640px){.article{grid-template-columns:1fr;gap:4px}}


/* Essays (reader view) */
.article a.a-link{text-decoration:none}
.article a.a-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.article .read{font-size:15px;color:var(--ink-soft);white-space:nowrap}
.article{grid-template-columns:160px 1fr auto}
@media (max-width:640px){.article{grid-template-columns:1fr}}
.essay{display:none}
.essay:target,.essay.open{display:block;position:fixed;inset:0;z-index:50;overflow-y:auto;background:var(--paper);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.essay-bar{position:sticky;top:0;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:2}
.essay-bar .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.essay-bar a{text-decoration:none;font-size:15px;color:var(--ink-soft)}
.essay-bar a:hover{color:var(--ink)}
.essay-body{max-width:690px;margin:0 auto;padding:64px var(--gutter) 96px}
.essay .topic{font-size:15px;font-weight:600;color:var(--pom);margin:0 0 16px}
.essay h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,60px);line-height:1.06;letter-spacing:-.02em;margin:0 0 20px}
.essay .meta{font-size:15px;color:var(--ink-soft);margin:0 0 48px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.essay .prose{font-family:var(--serif);font-size:21px;line-height:1.7;color:var(--ink)}
.essay .prose p{margin:0 0 24px}
.essay .prose h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;margin:48px 0 16px}
.essay .prose .pull{font-weight:300;font-size:30px;line-height:1.3;border-left:2px solid var(--pom);padding-left:24px;margin:40px 0}
.essay .prose ul,.essay .prose ol{margin:0 0 24px;padding-left:24px}
.essay .prose li{margin-bottom:10px}
.explore{margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}
.explore h2{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 16px}
.explore ul{list-style:none;padding:0;margin:0}
.explore li{border-bottom:1px solid var(--line)}
.explore a{display:block;padding:16px 0;text-decoration:none;font-size:18px}
.explore a span{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:2px}
.explore a:hover{color:var(--pom)}

/* Final CTA */
.final{background:var(--plum);color:var(--plum-ink);text-align:left}
.final .h2{color:var(--plum-ink);font-size:clamp(44px,7vw,92px);max-width:12em}
.final p{color:var(--plum-soft);max-width:32em;font-size:19px;margin:0 0 36px}
.final .btn-primary{background:var(--paper);color:var(--plum)}
.final .btn-primary:hover{background:#F08A97;color:var(--plum)}
.final .btn-ghost{border-color:var(--plum-ink);color:var(--plum-ink)}
.final .btn-ghost:hover{background:var(--plum-ink);color:var(--plum)}
.contact-lines{display:flex;flex-wrap:wrap;gap:20px 56px;margin:48px 0 0;padding-top:28px;border-top:1px solid rgba(246,239,234,.2)}
.contact-lines dt{font-size:15px;color:var(--plum-soft);margin-bottom:4px}
.contact-lines dd{margin:0;font-family:var(--serif);font-size:clamp(22px,2.4vw,28px)}
.contact-lines a{text-decoration:none;border-bottom:1px solid rgba(246,239,234,.35)}
.contact-lines a:hover{border-color:#F08A97}
.contact-lines .num{font-family:var(--sans);font-size:15px;color:var(--plum-soft)}

/* Footer */
.final .tagline-k{font-family:var(--serif);font-style:italic;font-size:21px;color:#F08A97;margin:0 0 16px}
.foot-brand{display:flex;flex-direction:column;gap:6px}
.foot-tag{margin:0;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-soft)}

footer{padding:48px 0 56px;font-size:15px;color:var(--ink-soft)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:22px}
footer a{text-decoration:none}
footer a:hover{color:var(--ink)}

/* v2 hero: say what PomFig does */
.hero .kicker{margin-bottom:22px}
.hero h1.h1-v2{white-space:normal;font-size:clamp(32px,3.4vw,54px);line-height:1.1;max-width:none}
.hero h1.h1-v2 .hl{display:block}
@media (min-width:600px){.hero h1.h1-v2 .hl{white-space:nowrap}}
.hero .lede-v2{font-family:var(--sans);font-size:clamp(18px,1.6vw,21px);color:var(--ink-soft);max-width:34em;margin:0 0 32px}
.shift{width:100%;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:28px 28px 22px}
.shift h2{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--pom);margin:0 0 18px}
.shift ul{list-style:none;margin:0;padding:0}
.shift li{display:grid;grid-template-columns:1fr 26px 1fr;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.35}
.shift li .from{color:var(--ink-soft)}
.shift li .to{color:var(--ink);font-weight:600}
.shift li svg{width:22px;height:22px;color:var(--pom)}
.shift p{margin:16px 0 0;font-size:14px;color:var(--ink-soft)}
.proof{border-bottom:1px solid var(--line);padding:26px 0}
.proof ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 32px}
.proof li{font-size:15px;color:var(--ink-soft)}
.proof strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--ink)}
.programs-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.program{border:1px solid var(--line);border-radius:18px;padding:36px;background:var(--paper);display:flex;flex-direction:column}
.program .tag{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 10px}
.program h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,36px);line-height:1.1;margin:0 0 14px}
.program p{color:var(--ink-soft);margin:0 0 18px}
.program ul{margin:0 0 26px;padding-left:20px;color:var(--ink)}
.program li{margin:0 0 6px}
.program .btn{align-self:flex-start;margin-top:auto}
.programs-more{margin-top:28px;color:var(--ink-soft)}
.programs-more a{color:var(--pom)}
@media (max-width:860px){.programs-grid{grid-template-columns:1fr}.proof ul{grid-template-columns:1fr 1fr}.hero .hero-art{max-width:none}.shift li{grid-template-columns:1fr 22px 1fr;font-size:15px}}
@media (max-width:480px){.proof ul{grid-template-columns:1fr}.shift{padding:22px 18px 18px}}
#main-nav a,.header-cta{white-space:nowrap}
.pf-video{text-align:center}
.pf-video .h2{margin-left:auto;margin-right:auto}
.story-sub{font-size:18px;color:var(--ink-soft);max-width:36em;margin:0 auto 36px}
.story-frame{max-width:1040px;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px -30px rgba(61,31,58,.45);background:var(--plum)}
.story-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9}


.cta-band{background:var(--plum);color:var(--plum-ink);padding:30px 0}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.cta-band p{margin:0;font-family:var(--serif);font-size:clamp(20px,2vw,26px)}
.cta-band .btn-primary{background:var(--pom);color:#fff}
.cta-band .btn-primary:hover{background:#fff;color:var(--plum)}

/* about section */
.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:40px}
.value{border:1px solid var(--line);border-radius:18px;padding:28px 26px;background:var(--paper-2)}
.value .n{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 14px;letter-spacing:.02em}
.value h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.2;margin:0 0 10px}
.value p{margin:0;color:var(--ink-soft);font-size:16.5px;line-height:1.55}
.value .fmt{margin-top:14px;font-size:14px;color:var(--ink);font-weight:600}
.sec-intro{max-width:40em}
.sec-intro .body{margin:14px 0 0}
.plan{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:2px solid var(--plum)}
.phase{padding:26px 26px 6px 0}
.phase+.phase{padding-left:26px;border-left:1px solid var(--line)}
.phase .when{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 8px}
.phase h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 12px}
.phase ul{margin:0;padding-left:18px;color:var(--ink-soft)}
.phase li{margin-bottom:8px}
@media (max-width:860px){.plan{grid-template-columns:1fr}.phase,.phase+.phase{padding:24px 0 8px;border-left:0;border-bottom:1px solid var(--line)}}
.cred-list{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 40px}
.cred-list li{padding:18px 0;border-top:1px solid var(--line);font-size:17.5px;line-height:1.5}
.cred-list strong{display:block;font-family:var(--serif);font-weight:400;font-size:23px;margin-bottom:4px;color:var(--ink)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--line);font-size:17.5px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:4px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--pom)}
.ticks strong{font-weight:600}
.value-grid.five{grid-template-columns:repeat(6,1fr)}
.value-grid.five .value{grid-column:span 2}
.value-grid.five .value:nth-child(n+4){grid-column:span 3}
@media (max-width:860px){.value-grid.five{grid-template-columns:1fr}.value-grid.five .value,.value-grid.five .value:nth-child(n+4){grid-column:auto}}
.founder .lede-a{font-size:clamp(18px,1.6vw,20px);line-height:1.6;color:var(--ink-soft);margin:0 0 22px}
.founder .big{font-family:var(--serif);font-size:clamp(21px,2vw,26px);line-height:1.45;margin:0 0 16px}
.founder .body2{font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0 0 24px}
.founder .cta-row{display:flex;flex-wrap:wrap;gap:12px}
.about-block{margin-top:clamp(64px,8vw,104px);padding-top:clamp(48px,6vw,72px);border-top:1px solid var(--line)}
.about-block .h3a{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.01em;margin:0}

/* ---------- v2 ---------- */
.nav ul a[aria-current="page"]{color:var(--ink);font-weight:600}
.v-hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.v-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.5vw,50px);line-height:1.08;letter-spacing:-.015em;color:var(--plum);margin:0 0 20px}
.v-hero h1 span{display:block}
@media (min-width:600px){.v-hero h1 span{white-space:nowrap}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .v-hero h1,:root:not([data-theme="light"]) .p-hero h1{color:var(--ink)}}
:root[data-theme="dark"] .v-hero h1,:root[data-theme="dark"] .p-hero h1{color:var(--ink)}
.v-hero .sub{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--ink-soft);margin:0 0 30px;max-width:30em}
.v-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px}
.vid{border-radius:18px;overflow:hidden;background:var(--plum);box-shadow:0 30px 60px -34px rgba(61,31,58,.55);border:1px solid var(--line)}
.vid video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.vid-cap{font-size:14px;color:var(--ink-soft);margin:12px 2px 0}
@media (max-width:900px){.v-hero .wrap{grid-template-columns:1fr;gap:36px;padding-top:40px}}
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}
.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.strip li{font-size:15px;color:var(--ink-soft);line-height:1.4}
.strip strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--ink)}
@media (max-width:860px){.strip ul{grid-template-columns:1fr 1fr}}
.sec{padding:clamp(64px,8vw,104px) 0}
.sec + .sec{border-top:1px solid var(--line)}
.sec-head{max-width:40em;margin-bottom:40px}
.sec-head .h2{margin-bottom:12px}
.sec-head p:not(.kicker){font-size:18px;color:var(--ink-soft);margin:0}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
.pcard{border:1px solid var(--line);border-radius:20px;padding:32px;background:var(--paper-2);display:flex;flex-direction:column}
.pcard .tag{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--pom);margin:0 0 16px}
.pcard .tag svg{width:28px;height:28px;color:var(--pom)}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,34px);line-height:1.12;margin:0 0 12px}
.pcard p{margin:0 0 20px;color:var(--ink-soft);font-size:17px;line-height:1.55}
.pcard dl{margin:0 0 26px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15.5px}
.pcard dt{font-weight:600;color:var(--ink)}
.pcard dd{margin:0;color:var(--ink-soft)}
.pcard .btn{margin-top:auto;align-self:flex-start}
.also{margin:24px 0 0;font-size:16px;color:var(--ink-soft)}
.also a{color:var(--pom)}
.steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.steps3 li{padding:28px 0 0;border-top:2px solid var(--plum)}
.steps3 svg{width:40px;height:40px;color:var(--pom);margin-bottom:14px}
.steps3 h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 8px}
.steps3 p{margin:0;color:var(--ink-soft);font-size:16.5px;line-height:1.55}
@media (max-width:860px){.steps3{grid-template-columns:1fr}}
.meet{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:center}
.meet .founder-rings{margin:0}
.meet .h2{font-size:clamp(34px,4vw,48px)}
.meet p.lead{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:36em;margin:0 0 20px}
@media (max-width:760px){.meet{grid-template-columns:1fr;gap:28px}.meet .founder-rings{max-width:160px}}
.p-hero{padding:clamp(48px,7vw,88px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}
.crumbs{font-size:14px;color:var(--ink-soft);margin:0 0 20px}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--pom)}
.crumbs span{margin:0 8px;opacity:.6}
.p-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,62px);line-height:1.06;letter-spacing:-.015em;color:var(--plum);margin:0 0 18px;max-width:15em}
.p-hero .sub{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--ink-soft);max-width:34em;margin:0 0 28px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--paper-2)}
.card .fmt{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 12px}
.card h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;margin:0 0 10px}
.card p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.55}
.ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.ticks li{position:relative;padding:14px 0 14px 30px;border-top:1px solid var(--line);font-size:17px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:22px;width:11px;height:11px;border-radius:50%;background:var(--pom)}
@media (max-width:760px){.ticks{grid-template-columns:1fr}}
.value-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.value{grid-column:span 2;border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--paper-2)}
.value:nth-child(n+4){grid-column:span 3}
.value .n{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 12px}
.value h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;margin:0 0 8px}
.value p{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.55}
@media (max-width:860px){.value-grid{grid-template-columns:1fr}.value,.value:nth-child(n+4){grid-column:auto}}
.plan{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--plum)}
.phase{padding:24px 24px 4px 0}
.phase+.phase{padding-left:24px;border-left:1px solid var(--line)}
.phase .when{font-size:14px;font-weight:600;color:var(--pom);margin:0 0 6px}
.phase h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 10px}
.phase ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:16px}
.phase li{margin-bottom:6px}
@media (max-width:860px){.plan{grid-template-columns:1fr}.phase,.phase+.phase{padding:20px 0 6px;border-left:0;border-bottom:1px solid var(--line)}}
.cta-end{background:var(--plum);color:var(--plum-ink);padding:clamp(56px,7vw,88px) 0}
.cta-end h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,54px);line-height:1.08;margin:0 0 14px;color:var(--plum-ink)}
.cta-end p{color:var(--plum-soft);font-size:18px;margin:0 0 28px;max-width:34em}
.cta-end .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cta-end .btn-primary{background:var(--paper);color:var(--plum)}
.cta-end .btn-primary:hover{background:#F08A97}
.cta-end .btn-ghost{border-color:var(--plum-ink);color:var(--plum-ink)}
.cta-end .btn-ghost:hover{background:var(--plum-ink);color:var(--plum)}
.cases{border-top:0}
.two-line span{display:block}
@media (min-width:600px){.two-line span{white-space:nowrap}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{border-top:2px solid var(--plum);padding-top:20px}
.stat .big{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.6vw,52px);line-height:1;color:var(--pom);margin:0 0 12px}
.stat p{margin:0;color:var(--ink-soft);font-size:16.5px;line-height:1.5}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr;gap:28px 18px}}
.ticks.one{grid-template-columns:1fr;max-width:44em}
.ticks strong{font-weight:600}
