@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

:root{
  --tao-green:#48D734; --tao-green-80:#6DDF5D; --tao-green-40:#B6EEAE; --tao-green-20:#DAF7D6; --tao-green-700:#248F17;
  --tao-blue:#17B7C8; --tao-blue-80:#45C5D3; --tao-blue-40:#A2E2E9; --tao-blue-20:#D1F1F4; --tao-blue-600:#0E8D99;
  --tao-ink:#212235; --tao-ink-80:#4D4E5D; --tao-ink-60:#7A7B86; --tao-ink-40:#A6A7AE; --tao-ink-20:#D3D3D7;
  --white:#FFFFFF; --black:#000000; --mist:#F6F7F9; --border:#E4E5E9;
  --danger:#D0453B; --danger-bg:#FBE7E6; --warning:#E0A04C; --warning-bg:#FBF1E3;
  --font-display:'Montserrat','Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Montserrat','Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  --r-sm:4px; --r-md:6px; --r-lg:10px; --r-pill:9999px;
  --shadow-sm:0 1px 2px rgba(33,34,53,.06),0 1px 3px rgba(33,34,53,.04);
  --shadow-md:0 4px 10px rgba(33,34,53,.08),0 10px 24px rgba(33,34,53,.06);
  --ease-out:cubic-bezier(.16,1,.3,1); --dur-fast:150ms; --dur-med:300ms;
  --container:1200px; --gutter:24px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--tao-ink);font-family:var(--font-body);
  font-size:16px;line-height:26px;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:var(--tao-blue-600);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,h4{font-family:var(--font-display);margin:0}
h1{font-size:clamp(34px,5.6vw,58px);line-height:1.08;font-weight:300;letter-spacing:-.01em}
h2{font-size:clamp(26px,3.4vw,36px);line-height:1.22;font-weight:300;letter-spacing:-.005em}
h3{font-size:20px;line-height:28px;font-weight:600}
h1 em,h2 em{font-style:normal;color:var(--tao-blue)}

.eyebrow,.label,.tag,.cadence,.mins,.stepnum,.num{
  font-family:var(--font-body);font-size:13px;line-height:16px;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em}
.eyebrow{color:var(--tao-ink-60);margin:0 0 var(--s-4)}
.num,.stepnum{color:var(--tao-blue-600);margin:0 0 var(--s-2)}
.mins{color:var(--tao-ink-60);margin:0 0 var(--s-4);font-size:12px}

.nav{height:80px;background:var(--tao-ink);position:sticky;top:0;z-index:20}
.nav-in{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);height:80px;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-6)}
.logo{display:block;width:65px;height:48px;flex:none;
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAABgBAMAAAAjobdHAAAAHlBMVEUAAAAXt8gXt8hI1zQXt8gXt8hI1zRI1zQAAAAAAAAMqF8nAAAACHRSTlMA/Z3uIVsbV6AMc1wAAAVgSURBVHjanVjPaxxVHP/Mj51NTEomRBTFYgIqtHabKVtQaWUnydVgLPZYGOihFw8L/heeevAPWIgnEVnRk4YycVuEkuBoiukhSNAcAmmSEbZps5nZ9fDezLz3Zt7b2cxl36/57PfH5/vjjYESj7myPz5+8epu4aZWAqDyVggAmNkp2tVLSEABcPjOOREuhsno8L1zISyG2fjAPYcdzAvc7GB0GT7mZtHKyDLwIhQJoY8kQpEQxhAE7aWwsHcyGkKln1t6MRpCYz+3tPxCG39z6bXdkpaclmq3+F0phMokHSyF2k7I7yVRokZYCLLTKZoAofYmVdbcAXDmCJuHK8MRTCr4DQDAI1vY/tUbqoU+RTQ9ItPPfNGRz4bJ0OB4WxEBELvDEKgZqAk/yR94MgQhMcOsRAQg9tScNCzy+1RGT2A/VCIMxogoJJb+KzoSnyi1oIE8IEoUHolcJULAGvJmGhH14+fX7czYCi0sGtkfPmUThVl7gPjv7ut0Gp0oELQq+Q1DAOaArtZ8AOg/t5J0odAiSS5dlrsG9ekZzfsD11zMV0N9h7EgRYro5ErCip8oz2ytKIfM+2xo49NWOmFS9Rzh25Q+lNNACIAafyLbnqU6KhBC1qsB9xoArFN7yxHMdNQFLArn5ypNrA91BaClE5Ol49CaNcidFR5imoEcwWWHmohapm7uFg6ZxxmGwJSHrjKZDncFoJmqPPTGy3xIbQPAGACYfQDon9B0pbOF+5S8ae6tAEBEHP2qAwDat6nRJkhmch8WVLiQW6OVYWpXKHiNP0IAmNq7wFUOpruRc5JghcTg3SiJ5Vz/ZOhKV2h+SE/bLItYnkkZVaH9CYmfOHH+w1we1mUIMeWgQaUPxWAxaZC9oitL5mTCY5vG8mBFDDxHhmBT4kZk4CcZ+VEiwtt00NaVtSJM2F85S+xH+/vlMKGuriy6fsKbOA3Vw88B4Jaf5gAJo0jTZB6kO/PrqSOn69hIw67RNtWuSIu7nZWm4zWGVm2ZFo20YlID+JErCW1T5YrKbQBr1GI/TBWcu9mW2WEuFCP+SLwnpIZS9j9M3nUjJ39uQpqjtCK9Ovk/2pUixPklH9E1ce2GPE82CvPmA8EdRluOYBeXsB+5de2ZIlcHBSXMBaI9FuCqItvnXUHlOuvaGYCvQNCkcp39u0BOLB35BYVF5YqkcEXfmws2BpOtwtKUuSJQCBb9UqLqEWXnj+njqnqAYoSA71dCLjlL7rwaacLHQqTdp5nWyH/Gss60nAya0G0Yyh5Al7oiEvshrTxCQ2A2zfiREsEoqhVi8+mWlsEXu6B15aVUusQ0n/06AOg/l0Xo5+22Nlon1ij1cUSFYEubz7IIgTIMZAiDLAJoenHPJ4OZtRZCEFhVeB4dV5vMuqVzbZWW5Wnxln0JMwlLIx93ExDtmsaXuXmfFjfx25d1mcs6RpLGqmkXRDn85+3lontAEx7gecA9WE0PqMLxcA9Vr5kxiqo9SLgz+YwBuNupPwZmYlQ36ujUjNq2A1gbdWxtVlNLitSfZTUIlra2AABfGJsOAJwGm607Zq3G+kLghelzl4OvekRv/zJWAQAevNZHrVbAvCm0KJwZolPAAgArbqFHLdpy7gMe+99tDuEKO/G4uzz1o5VjlCFVAml1GZwCuE/GvRwC16JM8HmzmrxgeLDoOS9oEuzMgh2b700YX0RN60sA6Ll/4U4imPcbPIdDYEr7+7xjek4nJmp9HdepIT/AauRsCV5MS3tDjIlVt7a0jcMQpzVsBTBdfAP0rhtPas3B7zwLbs1NT7+rjuuqU6ZVkL9+ye0Yj0f7Viyc3u/FNaE1+B9F44jYl5EGnAAAAABJRU5ErkJggg==) no-repeat center/contain;
  text-indent:-9999px;overflow:hidden;white-space:nowrap}
.foot .logo{width:76px;height:56px}
.logo:hover{text-decoration:none;opacity:.9;transition:opacity var(--dur-fast) var(--ease-out)}
.nav-links{display:flex;gap:var(--s-5);align-items:center}
.nav-links a{color:var(--white);font-size:15px;font-weight:400;padding:6px 0;
  border-bottom:2px solid transparent;transition:border-color var(--dur-fast) var(--ease-out)}
.nav-links a:hover{text-decoration:none;border-bottom-color:var(--tao-blue)}
.nav-links a[aria-current]{border-bottom-color:var(--tao-blue);font-weight:500}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:900px}
.section{padding:var(--s-9) 0;border-bottom:1px solid var(--border)}
.section--mist{background:var(--mist)}
.section--ink{background:var(--tao-ink);color:var(--white);border-bottom:none}
.section--ink h2{color:var(--white)}
.lede{font-size:clamp(17px,2vw,20px);line-height:1.5;max-width:62ch;margin:var(--s-5) 0 0;color:var(--tao-ink-80);font-weight:300}
.lede strong{font-weight:500;color:var(--tao-ink)}
.section>p,.intro{max-width:64ch;color:var(--tao-ink-80);margin:var(--s-3) 0 var(--s-6)}

.hero{background:var(--tao-ink);color:var(--white);padding:var(--s-9) 0}
.hero h1{color:var(--white)}
.hero .lede{color:var(--tao-ink-20)}
.hero .lede strong{color:var(--white);font-weight:500}
.hero .eyebrow{color:var(--tao-green)}

.legend{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);padding:var(--s-5) 0 0}
.legend span{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13px;
  text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--tao-ink-60)}
.sw{width:14px;height:14px;border-radius:var(--r-sm);flex:none}
.sw.p{background:var(--tao-green)} .sw.c{background:var(--tao-blue)}
.sw.g{background:var(--white);border:2px solid var(--tao-ink)}
.section--ink .legend span{color:var(--tao-ink-20)}
.hero .legend span{color:var(--tao-ink-20)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.card{background:var(--white);border-radius:var(--r-md);box-shadow:var(--shadow-sm);
  padding:var(--s-6);border-top:3px solid var(--tao-ink-20)}
.card--blue{border-top-color:var(--tao-blue)}
.card--green{border-top-color:var(--tao-green)}
.card--ink{border-top-color:var(--tao-ink)}
.card h3{margin-bottom:var(--s-1)}
.card .tag{display:block;color:var(--tao-ink-60);font-size:12px;margin-bottom:var(--s-4)}
.card ul{margin:0;padding:0;list-style:none}
.card li{font-size:14px;line-height:20px;padding:var(--s-2) 0;border-top:1px solid var(--border);color:var(--tao-ink-80)}
.card .why{margin:var(--s-4) 0 0;padding-top:var(--s-3);border-top:1px solid var(--border);
  font-size:13px;line-height:19px;color:var(--tao-ink-60)}

.flow{display:grid;gap:2px;margin-top:var(--s-4)}
.row{display:grid;grid-template-columns:96px 1fr 160px;gap:var(--s-5);align-items:start;
  background:var(--white);border:1px solid var(--border);padding:var(--s-4) var(--s-5)}
.row:first-child{border-radius:var(--r-md) var(--r-md) 0 0}
.row:last-child{border-radius:0 0 var(--r-md) var(--r-md)}
.actor{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  padding:4px 10px;border-radius:var(--r-sm);text-align:center;line-height:1.4}
.actor.p{background:var(--tao-green-20);color:var(--tao-green-700)}
.actor.c{background:var(--tao-blue-20);color:var(--tao-blue-600)}
.what{font-size:15px;line-height:23px;color:var(--tao-ink-80)}
.what b{font-weight:600;color:var(--tao-ink)}
.what em{font-style:normal;display:block;font-size:13px;line-height:19px;color:var(--tao-ink-60);margin-top:var(--s-1)}
.out{font-family:var(--font-mono);font-size:12px;line-height:18px;color:var(--tao-ink-60)}

.gate{margin-top:var(--s-5);border:2px solid var(--tao-ink);border-radius:var(--r-md);
  background:var(--white);padding:var(--s-4) var(--s-5);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);align-items:baseline}
.gate .tag{background:var(--tao-ink);color:var(--white);padding:3px 10px;border-radius:var(--r-sm);font-size:11px}
.gate p{margin:0;font-size:15px;flex:1 1 300px}
.note{background:var(--tao-ink);color:var(--white);border-radius:var(--r-md);padding:var(--s-5) var(--s-6);margin-top:var(--s-5)}
.note p{margin:0;font-size:15px;line-height:24px;max-width:70ch;color:var(--tao-ink-20)}
.note b{color:var(--tao-green);font-weight:600}
.check{background:var(--tao-green-20);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-2)}
.check .label{display:block;font-size:11px;color:var(--tao-green-700);margin-bottom:var(--s-2)}
.check p{margin:0;font-size:15px;line-height:23px}
.warn{background:var(--danger-bg);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4)}
.warn .label{display:block;font-size:11px;color:var(--danger);margin-bottom:var(--s-2)}
.warn p{margin:0;font-size:15px;line-height:23px}
.info{background:var(--tao-blue-20);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-5)}
.info p{margin:0;font-size:15px;line-height:23px}
.info b{color:var(--tao-blue-600)}

.prompt{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--s-4) var(--s-5);margin-bottom:var(--s-3);box-shadow:var(--shadow-sm)}
.prompt code{display:block;font-family:var(--font-mono);font-size:13.5px;line-height:21px;color:var(--tao-ink);background:none;border:none;padding:0}
.prompt span{display:block;font-size:13px;color:var(--tao-ink-60);margin-top:var(--s-2)}

.ticks{margin:0;padding:0;list-style:none}
.ticks li{padding:var(--s-3) 0 var(--s-3) 28px;border-top:1px solid var(--border);
  font-size:15px;line-height:23px;position:relative;color:var(--tao-ink-80)}
.ticks li::before{content:"\00d7";position:absolute;left:4px;top:9px;color:var(--danger);font-size:19px;font-weight:600}
.steps{counter-reset:s;margin:0 0 var(--s-5);padding:0;list-style:none}
.steps li{counter-increment:s;position:relative;padding:var(--s-3) 0 var(--s-3) 44px;
  border-top:1px solid var(--border);font-size:15px;line-height:23px}
.steps li::before{content:counter(s);position:absolute;left:0;top:12px;font-family:var(--font-body);
  font-size:11px;font-weight:600;width:26px;height:26px;border:2px solid var(--tao-blue);color:var(--tao-blue-600);
  border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center}
.quick{margin:var(--s-4) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}
.quick li{background:var(--white);border-radius:var(--r-md);padding:var(--s-4);font-size:14px;line-height:20px;box-shadow:var(--shadow-sm);border-top:3px solid var(--tao-blue)}
.quick b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--tao-blue-600);margin-bottom:var(--s-2)}
.fix{border-top:1px solid var(--border);padding:var(--s-4) 0}
.fix .sym{font-weight:600;font-size:15px;margin:0 0 var(--s-1)}
.fix .cure{margin:0;font-size:14px;line-height:22px;color:var(--tao-ink-80)}
code{font-family:var(--font-mono);font-size:13px;background:var(--mist);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px}

.cta{display:grid;grid-template-columns:1fr auto;gap:var(--s-5);align-items:center;
  background:var(--tao-ink);border-radius:var(--r-md);padding:var(--s-6);margin-top:var(--s-4)}
.cta p{margin:0;color:var(--tao-ink-20);font-size:15px;line-height:24px;max-width:56ch}
.btn{display:inline-flex;align-items:center;padding:14px 24px;border-radius:var(--r-md);
  font-weight:600;font-size:16px;line-height:1;white-space:nowrap;
  background:var(--tao-green);color:var(--tao-ink);
  transition:background var(--dur-fast) var(--ease-out)}
.btn:hover{background:var(--tao-green-80);text-decoration:none}

.loop{background:var(--tao-ink);border-radius:var(--r-md);padding:var(--s-6);margin-top:var(--s-5);color:var(--white)}
.loop .label{display:block;color:var(--tao-green);font-size:12px;margin-bottom:var(--s-5)}
.track{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-4);align-items:center}
.node{border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);
  text-align:center;font-size:13px;line-height:19px;min-width:96px}
.node.start{border-color:var(--white)}
.node.exit{border-color:var(--tao-green);color:var(--tao-green);font-weight:600}
.tests{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}
.test{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-md);padding:var(--s-4)}
.test .n{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--tao-green);margin-bottom:var(--s-1)}
.test .h{display:block;font-family:var(--font-display);font-weight:600;font-size:15px;margin-bottom:var(--s-2)}
.test .d{font-size:12.5px;line-height:18px;color:var(--tao-ink-20)}
.back{margin-top:var(--s-5);border-top:2px dashed var(--tao-blue);padding-top:var(--s-3);
  display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);align-items:center;font-size:12px;
  text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--tao-blue)}
.back .cap{color:var(--tao-ink-40);font-weight:400;letter-spacing:.04em;text-transform:none;font-size:13px}
.loop .caveat{margin:var(--s-5) 0 0;font-size:14px;line-height:22px;color:var(--tao-ink-20);max-width:72ch}

.arrows{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-4)}
.arrow{background:var(--white);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);
  font-size:14px;line-height:21px;flex:1 1 240px;border-top:3px solid var(--tao-green);box-shadow:var(--shadow-sm);color:var(--tao-ink)}
.arrow code{display:block;margin-top:var(--s-2);font-size:12.5px;background:none;border:none;padding:0;color:var(--tao-ink-60)}

.panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
.panel{background:var(--white);border-radius:var(--r-md);padding:var(--s-6);box-shadow:var(--shadow-sm);border-top:3px solid var(--tao-ink)}
.panel--never{border-top-color:var(--danger)}
.panel--gain{border-top-color:var(--tao-green)}
.panel h3{margin-bottom:var(--s-1)}
.panel .label{display:block;color:var(--tao-ink-60);font-size:11px;margin-bottom:var(--s-4)}
.panel--gain .ticks li::before{content:"\2192";color:var(--tao-blue);font-size:15px;top:12px}

.foot{background:var(--tao-ink);color:var(--tao-ink-20);padding:var(--s-8) 0 var(--s-7)}
.foot-in{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:auto 1fr;gap:var(--s-7);align-items:start}
.foot p{margin:0;font-size:14px;line-height:22px;max-width:70ch}
.foot a{color:var(--tao-blue-80)}
.foot .addr{margin-top:var(--s-4);font-size:13px;color:var(--tao-ink-60)}

@media (max-width:900px){
  .grid3,.panels{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:var(--s-2)}
  .actor{justify-self:start}
  .tests,.track{grid-template-columns:1fr}
  .quick{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr;gap:var(--s-5)}
}
@media (max-width:600px){
  .section{padding:var(--s-7) 0}
  .hero{padding:var(--s-7) 0}
  .quick{grid-template-columns:1fr}
  .nav-links{gap:var(--s-4)}
  .nav-links a{font-size:14px}
}
@media print{
  .nav{display:none}
  body{background:#fff}
  .note,.loop,.cta,.foot,.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .section{break-inside:avoid}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
