:root{--bg: #0e2a20;--bg-2: #133527;--bg-3: #194031;--rule: #245442;--rule-2: #2f6a55;--ink: #f1ecdb;--ink-2: #d6cfb9;--muted: #8fa097;--soft: #5e716a;--acc: #e3b687;--acc-2: #c99464;--acc-soft: #1f4736;--warm: #d97a4a;--serif: "Newsreader", Georgia, serif;--sans: "Inter Tight", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--pad: clamp(20px, 4vw, 64px);--maxw: 1200px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{background:var(--acc);color:var(--bg)}.nav{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--rule);font-size:14px}.nav .brand{display:flex;align-items:center;gap:10px;font-weight:500}.nav .brand .seal{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--serif);font-style:italic;font-size:14px;display:grid;place-items:center;line-height:1}.nav .brand .who{display:flex;flex-direction:column;line-height:1.15}.nav .brand .who small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:.02em}.nav .links{display:flex;align-items:center;gap:28px;color:var(--ink-2)}.nav .links a:not(.cta){position:relative;padding:4px 0;transition:color .2s}.nav .links a:not(.cta):hover{color:var(--acc)}.nav .links .cta{padding:8px 16px;border:1px solid var(--ink);border-radius:99px;font-size:13px;font-weight:500;color:var(--ink);transition:background .2s,color .2s}.nav .links .cta:hover{background:var(--ink);color:var(--bg)}@media (max-width:780px){.nav .links a:not(.cta){display:none}.nav{padding:14px var(--pad)}}.hero{padding:clamp(56px,9vw,120px) var(--pad) clamp(40px,6vw,72px);max-width:var(--maxw);margin:0 auto}.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;background:var(--acc-soft);color:var(--acc);border-radius:99px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;margin-bottom:32px}.hero .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--acc);animation:pulse 2.4s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7.4vw,104px);line-height:.98;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance;max-width:18ch}.hero h1 em{font-style:italic;font-weight:400;color:var(--acc)}.hero .lede{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.1vw,28px);line-height:1.4;color:var(--ink-2);max-width:54ch;margin:0 0 36px;text-wrap:pretty}.hero .lede em{font-style:italic;color:var(--acc)}.hero .row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:48px}.hero .row .btn{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:99px;font-weight:500;font-size:14px;transition:all .25s}.hero .row .btn.primary{background:var(--ink);color:var(--bg);border:1px solid var(--ink)}.hero .row .btn.primary:hover{background:var(--acc);border-color:var(--acc)}.hero .row .btn.ghost{border:1px solid var(--rule-2);color:var(--ink)}.hero .row .btn.ghost:hover{border-color:var(--ink);background:var(--bg-2)}.hero .row .btn .arr{transition:transform .2s}.hero .row .btn:hover .arr{transform:translate(3px)}.hero .row .ext{font-family:var(--mono);font-size:12px;color:var(--muted)}.ikigai-stage{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,72px);align-items:center}.ikigai-diagram{position:relative;aspect-ratio:1/1;width:100%;max-width:560px;margin:0 auto}.ikigai-diagram svg{width:100%;height:100%;display:block}.ikigai-diagram .lab{position:absolute;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);pointer-events:none}.ikigai-diagram .lab .num{color:var(--acc);margin-right:6px}.ikigai-diagram .lab.tl{top:3%;left:4%;text-align:left}.ikigai-diagram .lab.tr{top:3%;right:4%;text-align:right}.ikigai-diagram .lab.bl{bottom:3%;left:4%;text-align:left}.ikigai-diagram .lab.br{bottom:3%;right:4%;text-align:right}.ikigai-diagram .center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.ikigai-diagram .center .small{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}.ikigai-diagram .center .big{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(18px,2vw,26px);line-height:1.05;margin-top:8px;letter-spacing:-.005em}.ikigai-text{display:flex;flex-direction:column;gap:0}.ikigai-row{display:grid;grid-template-columns:54px 1fr;gap:18px;border-top:1px solid var(--rule);padding:18px 0}.ikigai-row:first-child{border-top:0;padding-top:4px}.ikigai-row .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--acc);text-transform:uppercase;padding-top:5px}.ikigai-row .v h3{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2vw,24px);margin:0 0 6px;line-height:1.2;letter-spacing:-.005em}.ikigai-row .v h3 em{font-style:italic;font-weight:400;color:var(--acc)}.ikigai-row .v p{margin:0;color:var(--ink-2);max-width:42ch;font-size:14.5px;line-height:1.55}@media (max-width:900px){.ikigai-stage{grid-template-columns:1fr}.ikigai-diagram{order:2}}.trust{display:flex;gap:clamp(20px,3vw,44px);align-items:center;flex-wrap:wrap;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.social-row{display:flex;gap:clamp(16px,2vw,28px);align-items:center;flex-wrap:wrap;padding:16px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.social-row .lbl{color:var(--soft);text-transform:uppercase;letter-spacing:.12em}.social-row .sx{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);transition:color .2s}.social-row .sx:hover{color:var(--acc)}.social-row .sx svg{flex-shrink:0}.trust .lbl{color:var(--soft)}.trust .item{display:flex;align-items:center;gap:8px;color:var(--ink-2);transition:color .2s}.trust .item:hover{color:var(--acc)}.trust .item .pill{width:6px;height:6px;border-radius:50%;background:var(--ink-2)}.section{padding:clamp(64px,9vw,120px) var(--pad);max-width:var(--maxw);margin:0 auto;border-top:1px solid var(--rule)}.section.shaded{background:var(--bg-2);max-width:none;margin:0;border:0}.section.shaded .inner{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,120px) var(--pad);box-sizing:border-box}.section.shaded.no-padding{padding:0}.s-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,56px);margin-bottom:clamp(36px,5vw,64px);align-items:baseline}.s-head .tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.s-head .tag .num{color:var(--acc);margin-right:8px}.s-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.018em;margin:0;text-wrap:pretty;max-width:22ch}.s-head h2 em{font-style:italic;font-weight:400;color:var(--acc)}.s-head .sub{grid-column:2/-1;font-size:15px;color:var(--ink-2);max-width:60ch;margin-top:14px}@media (max-width:780px){.s-head{grid-template-columns:1fr;gap:8px}.s-head .sub{grid-column:1}}.featured{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}.featured .body{display:flex;flex-direction:column;gap:18px}.featured .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;gap:14px;align-items:center}.featured .meta .pill{color:var(--acc)}.featured h3{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:pretty;max-width:22ch}.featured h3 em{font-style:italic;font-weight:400;color:var(--acc)}.featured .deck{font-family:var(--serif);font-size:20px;line-height:1.42;color:var(--ink-2);margin:0;max-width:52ch;text-wrap:pretty}.featured .deck em{font-style:italic;color:var(--acc)}.essay{margin-top:8px;display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.62;color:var(--ink-2);max-width:62ch}.essay h4{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;color:var(--ink);margin:14px 0 -4px;line-height:1.2}.essay h4 em{font-style:italic;font-weight:400;color:var(--acc)}.essay h4 .ph{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.12em;font-style:normal;font-weight:400;text-transform:uppercase;display:block;margin-bottom:4px}.essay p{margin:0}.essay .pull{border-left:2px solid var(--acc);padding:6px 0 6px 22px;margin:18px 0 18px -22px;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.36;color:var(--ink)}.essay .sig{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:24px;padding-top:18px;border-top:1px dashed var(--rule-2)}.featured .aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}.featured .aside .card{background:var(--bg);border:1px solid var(--rule);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px #00000005,0 16px 40px -28px #0000002e}.featured .aside .card .li-head{display:flex;align-items:center;gap:10px}.featured .aside .card .li-head .av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:16px;overflow:hidden;flex:0 0 auto}.featured .aside .card .li-head .av img{width:100%;height:100%;object-fit:cover;display:block;object-position:60% 35%}.featured .aside .card .li-head .who{display:flex;flex-direction:column;line-height:1.2}.featured .aside .card .li-head .who b{font-size:13px}.featured .aside .card .li-head .who small{font-size:11px;color:var(--muted)}.featured .aside .card .li-head .badge{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em}.featured .aside .card .photo{border-radius:10px;overflow:hidden;background:var(--bg-3);aspect-ratio:4/3;display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em;position:relative}.featured .aside .card .photo img{width:100%;height:100%;object-fit:cover;display:block}.featured .aside .card .stats{display:flex;gap:14px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;padding-top:10px;border-top:1px solid var(--rule)}.featured .aside .card .stats b{color:var(--ink);font-weight:500}.featured .aside .meta-card{font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:8px}.featured .aside .meta-card .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule)}.featured .aside .meta-card .row .v{color:var(--ink-2)}@media (max-width:900px){.featured{grid-template-columns:1fr}.featured .aside{position:static}}.writing-list{display:flex;flex-direction:column;border-top:1px solid var(--rule)}.writing-list .row{display:grid;grid-template-columns:90px 1fr 180px 60px;gap:24px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline;cursor:pointer;transition:padding-left .25s;position:relative}.writing-list .row:before{content:"→";position:absolute;left:-2px;top:50%;transform:translateY(-50%);color:var(--acc);opacity:0;transition:opacity .2s,left .25s;font-size:14px}.writing-list .row:hover{padding-left:28px}.writing-list .row:hover:before{opacity:1;left:6px}.writing-list .row .when{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.writing-list .row .ttl{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.1vw,26px);letter-spacing:-.005em;line-height:1.18;color:var(--ink);text-wrap:pretty}.writing-list .row .ttl em{font-style:italic;font-weight:400;color:var(--acc)}.writing-list .row .kind{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.writing-list .row .read{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}@media (max-width:780px){.writing-list .row{grid-template-columns:1fr;gap:6px}.writing-list .row .read,.writing-list .row .kind{display:inline-block}}.see-all{margin-top:32px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--acc)}.see-all:after{content:"→";transition:transform .2s}.see-all:hover:after{transform:translate(4px)}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.4vw,28px)}.case{grid-column:span 6;border:1px solid var(--rule);border-radius:16px;padding:24px;background:var(--bg);display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .25s,box-shadow .25s;cursor:pointer}.case:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 32px -22px #00000040}.case.wide{grid-column:span 12}.case.third{grid-column:span 4}.case .top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.case .top .num{color:var(--acc)}.case h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.14;letter-spacing:-.005em;margin:0;text-wrap:pretty;max-width:24ch}.case h3 em{font-style:italic;font-weight:400;color:var(--acc)}.case .who{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-2);text-transform:uppercase}.case p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.55;max-width:54ch}.case p em{font-style:italic;color:var(--acc)}.case .outcome{margin-top:auto;padding-top:14px;border-top:1px dashed var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc);text-transform:uppercase}@media (max-width:900px){.case,.case.third,.case.wide{grid-column:span 12}}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}.about-grid .col p{font-family:var(--serif);font-size:21px;line-height:1.42;color:var(--ink);margin:0 0 18px;max-width:42ch}.about-grid .col p em{font-style:italic;color:var(--acc)}.cv{font-family:var(--mono);font-size:12px;display:flex;flex-direction:column;gap:0}.cv .row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--rule)}.cv .row:first-child{border-top:0}.cv .k{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.cv .v{color:var(--ink)}.cv .v em{font-family:var(--serif);font-style:italic;color:var(--acc);font-size:13px}@media (max-width:900px){.about-grid{grid-template-columns:1fr}}.about-grid .right{display:flex;flex-direction:column;gap:24px}.portrait{position:relative;border-radius:14px;overflow:hidden;background:var(--bg-3);aspect-ratio:4/5;border:1px solid var(--rule)}.portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05)}.portrait .cap{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#f1ecdb;background:#0e2a2099;padding:6px 10px;border-radius:999px;backdrop-filter:blur(6px)}.contact{background:var(--ink);color:var(--bg);padding:clamp(72px,10vw,140px) var(--pad)}.contact .inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,6vw,72px);align-items:end}.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(48px,8vw,128px);line-height:.94;letter-spacing:-.025em;margin:0;text-wrap:balance}.contact h2 em{font-style:italic;font-weight:400;color:#1a5340}.contact .blurb{font-family:var(--serif);font-size:20px;line-height:1.42;color:#3a4f44;max-width:36ch;margin:24px 0 0}.contact .lines{display:flex;flex-direction:column;font-family:var(--mono);font-size:13px}.contact .lines .row{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #c5beac}.contact .lines .k{color:#5e716a;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding-top:4px}.contact .lines .v a{position:relative}.contact .lines .v a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#1a5340;transform:scaleX(0);transform-origin:left;transition:transform .35s}.contact .lines .v a:hover:after{transform:scaleX(1)}@media (max-width:900px){.contact .inner{grid-template-columns:1fr;gap:36px}}footer{padding:24px var(--pad);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}footer .right{display:flex;gap:18px}@media (max-width:600px){footer{flex-direction:column;gap:10px;align-items:flex-start}}.fade{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}.fade.in{opacity:1;transform:none}.essay-page{max-width:880px;margin:0 auto;padding:clamp(40px,7vw,96px) var(--pad) clamp(40px,5vw,72px)}.essay-page .crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:32px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.essay-page .crumbs a{color:var(--ink-2);transition:color .2s}.essay-page .crumbs a:hover{color:var(--acc)}.essay-page .crumbs .sep{color:var(--soft)}.essay-page .crumbs .now{color:var(--acc)}.essay-page .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.essay-page .meta .pill{color:var(--acc)}.essay-page .meta .dot{color:var(--soft)}.essay-page h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,6.2vw,80px);line-height:1;letter-spacing:-.022em;margin:0 0 22px;text-wrap:balance;max-width:24ch}.essay-page h1 em{font-style:italic;font-weight:400;color:var(--acc)}.essay-page .deck{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.1vw,26px);line-height:1.42;color:var(--ink-2);margin:0 0 36px;max-width:52ch;text-wrap:pretty}.essay-page .deck em{font-style:italic;color:var(--acc)}.essay-figure{margin:clamp(28px,5vw,56px) calc(var(--pad) * -.6) clamp(28px,5vw,48px);border-radius:14px;overflow:hidden;border:1px solid var(--rule);background:#0b1d17}.essay-figure img{display:block;width:100%;height:auto}.essay-figure .cap{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);padding:14px 20px;border-top:1px solid var(--rule);background:var(--bg-2)}.essay-figure .cap em{color:var(--acc);font-style:italic;font-family:var(--serif);font-size:13px;letter-spacing:0}.essay-body{font-family:var(--serif);font-size:19px;line-height:1.6;color:var(--ink-2);max-width:64ch;display:flex;flex-direction:column;gap:18px}.essay-body em{font-style:italic;color:var(--acc)}.essay-body p{margin:0}.essay-body p strong{color:var(--ink);font-weight:500}.essay-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,34px);letter-spacing:-.012em;color:var(--ink);margin:28px 0 -2px;line-height:1.16}.essay-body h2 em{font-style:italic;font-weight:400;color:var(--acc)}.essay-body h3{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.005em;color:var(--ink);margin:18px 0 -6px;line-height:1.22}.essay-body h3 em{font-style:italic;font-weight:400;color:var(--acc)}.essay-body h3 .ph{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.12em;font-style:normal;font-weight:400;text-transform:uppercase;display:block;margin-bottom:6px}.essay-body .pull{border-left:2px solid var(--acc);padding:6px 0 6px 22px;margin:14px 0 14px -22px;font-style:italic;font-size:23px;line-height:1.36;color:var(--ink);max-width:54ch}.essay-body .callout{border:1px solid var(--rule-2);border-radius:10px;padding:18px 22px;margin:8px 0;background:var(--bg-2);font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink-2)}.essay-body .callout .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:8px;display:block}.essay-body ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}.essay-body ul li::marker{color:var(--acc)}.essay-body .draft-stub{border:1px dashed var(--rule-2);border-radius:12px;padding:24px 26px;background:var(--bg-2);font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-2);display:flex;flex-direction:column;gap:10px}.essay-body .draft-stub .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm)}.essay-body .draft-stub h4{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin:0}.essay-body .draft-stub ul{margin-top:6px}.essay-sig{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:36px;padding-top:20px;border-top:1px dashed var(--rule-2);max-width:64ch}.essay-back{max-width:880px;margin:0 auto;padding:0 var(--pad) clamp(40px,5vw,72px)}.essay-back a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .2s}.essay-back a:hover{color:var(--acc)}.related{border-top:1px solid var(--rule);padding:clamp(48px,7vw,80px) var(--pad);max-width:var(--maxw);margin:0 auto}.related .head{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.related .head .num{color:var(--acc);margin-right:8px}.related .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related .grid a{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--rule);border-radius:14px;background:var(--bg);transition:border-color .2s,transform .25s,box-shadow .25s}.related .grid a:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 32px -22px #00000040}.related .grid a .when{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.related .grid a .ttl{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.22;color:var(--ink);text-wrap:pretty}.related .grid a .ttl em{font-style:italic;font-weight:400;color:var(--acc)}.related .grid a .kind{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:auto}@media (max-width:900px){.related .grid{grid-template-columns:1fr}}.writing-list a.row{color:inherit;text-decoration:none}#portfolio{padding-top:0}#portfolio .s-head{margin-bottom:28px}.product-hero{background:var(--bg);color:var(--ink);padding:48px 56px;border:1px solid var(--rule);margin-bottom:14px}.product-hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--acc);text-transform:uppercase;margin-bottom:18px}.product-hero .eyebrow .num{color:var(--acc);font-weight:600}.product-hero h3{font-family:var(--serif);font-size:34px;line-height:1.12;margin:0 0 10px;font-weight:500;color:var(--ink)}.product-hero h3 em{font-style:italic}.product-hero .deck{font-size:15px;line-height:1.55;color:var(--ink-2);max-width:62ch;margin:0 0 28px}.product-hero .photos{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-bottom:14px}.product-hero figure{margin:0;position:relative}.product-hero figure img{width:100%;display:block;border:1px solid var(--rule)}.product-hero .photos figure img{height:340px;object-fit:cover}.product-hero figcaption{position:absolute;bottom:10px;left:12px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--acc);background:#0e2a20bf;padding:4px 8px;text-transform:uppercase}.product-hero .system-shot{margin:0 0 28px;position:relative}.product-hero .system-shot img{width:100%;height:auto;display:block;border:1px solid var(--rule);background:#fff}.product-hero .closing{font-size:14px;line-height:1.6;color:var(--ink-2);max-width:62ch;margin:0 0 8px}.product-hero .meta-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:12px;color:var(--ink-2);letter-spacing:.04em}.product-hero .meta-row .meta-k{color:var(--muted)}.product-hero .meta-row a{color:var(--acc);text-decoration:none;font-weight:500}.product-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.repo-section{margin-top:40px;padding-top:32px;border-top:1px solid var(--rule)}.skill-intro{padding:36px 40px 32px;border:1px solid var(--rule);background:linear-gradient(180deg,rgba(227,182,135,.025) 0%,transparent 70%);margin-bottom:18px}.skill-intro .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--acc);text-transform:uppercase;margin-bottom:14px}.skill-intro .eyebrow .num{color:var(--acc);font-weight:600;margin-right:4px}.skill-intro h3{font-family:var(--serif);font-size:28px;line-height:1.18;margin:0 0 14px;font-weight:500;color:var(--ink);max-width:30ch}.skill-intro h3 em{font-style:italic;color:var(--acc-warm,var(--ink))}.skill-intro .deck{font-family:var(--serif);font-size:15px;line-height:1.6;color:var(--ink-2);max-width:64ch;margin:0 0 22px}.skill-intro .deck code{font-family:var(--mono);font-size:12px;color:var(--acc);padding:1px 5px;background:#e3b6870f;border-radius:2px}.skill-intro .meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:11px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase}.skill-intro .meta-row .meta-k{color:var(--muted);margin-right:4px}.skill-intro .meta-row a{color:var(--acc);text-decoration:none}.skill-intro .meta-row a:hover{text-decoration:underline;text-underline-offset:3px}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.repo-card{background:#163428;border:1px solid var(--rule);padding:22px 20px 18px;color:var(--ink);font-family:var(--serif);text-decoration:none;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}.repo-card:hover{border-color:var(--acc);transform:translateY(-1px)}.repo-card .top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;color:var(--ink-2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.repo-card .top .role{color:var(--acc);font-weight:600;letter-spacing:.18em;padding:2px 7px;border:1px solid rgba(227,182,135,.35);border-radius:1px;background:#e3b6870f}.repo-card .top .stars{color:var(--acc)}.repo-card h4{margin:0 0 8px;font-size:18px;font-weight:500;line-height:1.2}.repo-card h4 em{font-style:italic}.repo-card p{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}.repo-card .used{font-family:var(--serif);font-style:italic;font-size:12.5px;line-height:1.5;color:var(--ink-2);padding:10px 0 12px 12px;margin:auto 0 12px;border-left:2px solid rgba(227,182,135,.3)}.repo-card .used .used-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--acc);text-transform:uppercase;font-style:normal;display:block;margin-bottom:3px}.repo-card .foot{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em;border-top:1px dashed var(--rule);padding-top:10px;display:flex;justify-content:space-between;align-items:center}.repo-card .foot .read{color:var(--acc)}.repo-card .foot .pair{color:var(--ink-2);font-style:italic;font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:11px}.repo-section .see-all{display:block;text-align:center;margin-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc);text-decoration:none}.stack-section{margin-top:48px;padding-top:32px;border-top:1px solid var(--rule)}.stack-section .stack-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.stack-section .stack-head .label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--acc);text-transform:uppercase}.stack-section .stack-head .label .num{font-weight:600}.stack-section .stack-head .live{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}.stack-section h3{font-family:var(--serif);font-size:30px;line-height:1.15;margin:0 0 12px;font-weight:500}.stack-section h3 em{font-style:italic}.stack-section .lede{font-size:14px;line-height:1.55;color:var(--ink-2);max-width:64ch;margin:0 0 36px}.stack-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.stack-cell{background:var(--bg);padding:24px 18px}.stack-cell .role{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--acc);text-transform:uppercase;margin-bottom:14px}.stack-cell h4{margin:0 0 6px;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.1}.stack-cell h4 em{font-style:italic}.stack-cell p{margin:0 0 16px;font-size:12px;line-height:1.55;color:var(--ink-2)}.stack-cell .stat{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--acc);border-top:1px dashed var(--rule);padding-top:10px}.stack-strip{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-2);text-transform:uppercase}.stack-strip .stat-value{color:var(--acc);font-size:14px;letter-spacing:.04em;margin-right:6px}.stack-grid--slim{grid-template-columns:repeat(4,1fr)}.stack-grid--slim .stack-cell{padding:18px 14px}.stack-grid--slim .stack-cell .role{margin-bottom:8px}.stack-grid--slim .stack-cell h4{font-size:15px;margin-bottom:4px}.stack-grid--slim .stack-cell p{font-size:11px;line-height:1.5;margin:0}.stack-grid--slim .stack-cell .stat{display:none}@media (max-width: 960px){.stack-grid,.stack-grid--slim,.repo-grid,.product-tile-grid{grid-template-columns:repeat(2,1fr)}.product-hero{padding:36px 32px}.product-hero .photos{grid-template-columns:1fr;gap:10px}.product-hero .photos figure img{height:240px}.stack-strip{flex-wrap:wrap;gap:12px}}@media (max-width: 640px){.stack-grid,.stack-grid--slim,.repo-grid,.product-tile-grid{grid-template-columns:1fr}.product-hero h3{font-size:26px}.stack-section h3{font-size:24px}}.now-panel{border-top:1px solid var(--rule)}.now-body{margin-top:clamp(28px,4vw,48px);max-width:60ch}.now-body p{font-family:var(--serif);font-size:clamp(18px,1.8vw,21px);line-height:1.6;color:var(--ink-2);margin:0;text-wrap:pretty}.now-body p em{font-style:italic;color:var(--acc)}.featured-slim{display:flex;flex-direction:column;gap:14px;max-width:720px;padding:24px 0}.featured-slim .meta{display:flex;gap:10px;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.featured-slim .pull-quote{font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--ink-1);font-style:italic}.featured-slim .btn{align-self:flex-start}.featured-full{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);margin-top:clamp(32px,4vw,56px);align-items:center}.featured-full.has-image{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}@media (max-width:860px){.featured-full.has-image{grid-template-columns:1fr}}.featured-figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--rule);background:#0b1d17}.featured-figure img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.featured-figure figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);padding:12px 18px;border-top:1px solid var(--rule);background:var(--bg-2)}.featured-copy{display:flex;flex-direction:column;gap:18px;max-width:54ch}.featured-copy .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.featured-copy .meta .pill{color:var(--acc)}.featured-copy .dek{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:1.38;color:var(--ink-2);margin:0;text-wrap:pretty}.featured-copy .dek em{font-style:italic;color:var(--acc)}.featured-copy .btn{align-self:flex-start;margin-top:6px}.explore-cards-section .explore-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.explore-card{display:block;padding:24px;border:1px solid var(--rule);border-radius:4px;text-decoration:none;color:inherit;background:var(--bg-2);transition:border-color .15s}.explore-card:hover{border-color:var(--acc)}.explore-card .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.explore-label{font-family:var(--serif);font-size:20px;color:var(--ink-1)}.explore-label em{color:var(--acc)}.explore-count{font-family:var(--mono);font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.explore-card p{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-2);margin:0 0 14px}.explore-read{font-family:var(--mono);font-size:11px;color:var(--acc);letter-spacing:.04em;text-transform:uppercase}@media (max-width: 720px){.explore-cards-section .explore-cards{grid-template-columns:1fr}}.contact-strip{border-top:1px solid var(--rule)}.contact-body{margin-top:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:14px;align-items:flex-start}.contact-email{font-family:var(--serif);font-size:clamp(22px,2.6vw,32px);line-height:1.2;color:var(--ink);text-decoration:none;letter-spacing:-.005em;border-bottom:1px solid var(--rule-2);padding-bottom:2px;transition:color .2s,border-color .2s}.contact-email:hover{color:var(--acc);border-bottom-color:var(--acc)}.contact-more{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .2s}.contact-more:hover{color:var(--acc)}.contact-more .arr{margin-left:4px}.writing-list .row .ttl .anchor-badge{display:inline-block;margin-left:10px;padding:2px 6px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;background:var(--acc);color:var(--bg-1);border-radius:2px;vertical-align:middle}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.work-card{display:block;padding:24px;border:1px solid var(--rule);border-radius:4px;text-decoration:none;color:inherit;background:var(--bg-2);transition:border-color .15s}.work-card:hover{border-color:var(--acc)}.work-card-top{display:flex;justify-content:space-between;margin-bottom:12px;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}.work-card h3{font-family:var(--serif);font-size:20px;margin:0 0 10px;color:var(--ink-1)}.work-card p{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-2);margin:0 0 12px}.work-card .work-read{font-family:var(--mono);font-size:11px;color:var(--acc)}@media (max-width: 720px){.work-grid{grid-template-columns:1fr}}.work-detail{max-width:720px;padding:24px 0}.work-detail .spine-sentence{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink-1);margin-bottom:24px}.work-detail .key-wins{padding-left:20px}.work-detail .key-wins li{font-family:var(--sans);font-size:15px;line-height:1.55;margin-bottom:8px;color:var(--ink-2)}.work-foot{margin-top:32px}.work-foot a{font-family:var(--mono);font-size:11px;color:var(--acc);text-transform:uppercase;letter-spacing:.04em}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:56px}.product-card{display:block;padding:0;border:1px solid var(--rule);border-radius:4px;background:var(--bg-2);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s}.product-card:hover{border-color:var(--acc)}.product-hero-img{aspect-ratio:16/9;overflow:hidden}.product-hero-img img{width:100%;height:100%;object-fit:cover;display:block}.product-card-meta{display:flex;justify-content:space-between;padding:12px 18px 0;font-family:var(--mono);font-size:10px;color:var(--ink-3);text-transform:uppercase}.product-status.status-live{color:var(--acc);font-weight:600}.product-card h3{font-family:var(--serif);font-size:20px;margin:10px 18px;color:var(--ink-1)}.product-card p{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-2);margin:0 18px 14px}.product-card .product-read{display:block;padding:0 18px 18px;font-family:var(--mono);font-size:11px;color:var(--acc)}@media (max-width: 720px){.product-grid{grid-template-columns:1fr}}.portfolio-section{padding:36px 0}.portfolio-detail{max-width:720px;padding:24px 0}.portfolio-detail .quick-install{padding:18px;border:1px solid var(--rule);background:var(--bg-2);border-radius:4px;margin-bottom:24px}.portfolio-detail .quick-install h4{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;color:var(--ink-3)}.portfolio-detail .quick-install pre{background:var(--ink-1);color:var(--bg-1);padding:12px;border-radius:3px;font-family:var(--mono);font-size:13px;overflow-x:auto}.talks-hero{display:block;width:100%;max-width:880px;height:auto;margin:24px 0 8px;border:1px solid var(--rule);border-radius:4px}.talk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}.talk-card{display:block;padding:24px;border:1px solid var(--rule);border-radius:4px;background:var(--bg-2);text-decoration:none;color:inherit;transition:border-color .15s}.talk-card:hover{border-color:var(--acc)}.talk-card-title{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.24;color:var(--ink);margin:0 0 10px;text-wrap:pretty}.talk-card-dek{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-2);margin:0 0 14px}.talk-card-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.talk-header{margin-bottom:32px}.talk-header .talk-title{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px;text-wrap:pretty}.talk-header .talk-title em{font-style:italic;font-weight:400;color:var(--acc)}.talk-dek{font-family:var(--serif);font-size:clamp(18px,2vw,22px);line-height:1.42;color:var(--ink-2);margin:0 0 18px;max-width:60ch}.talk-credit{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin:0 0 24px}.talk-credit a{color:var(--ink-2);transition:color .2s}.talk-credit a:hover{color:var(--acc)}.talk-header-photo{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--rule);border-radius:4px}.talk-deck-frame{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid var(--rule);border-radius:4px;overflow:hidden;background:var(--bg-2)}.talk-deck-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.talk-deck-fullscreen{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);text-decoration:none}.talk-deck-fullscreen:hover{text-decoration:underline}.talk-notes-header{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.talk-notes section[data-slide]{padding:20px 0;border-top:1px solid var(--rule)}.talk-notes section[data-slide]:first-child{border-top:0;padding-top:0}.talk-notes section[data-slide] h2,.talk-notes section[data-slide]>:first-child:is(h2,h3,h4){font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}.talk-notes section[data-slide] p{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 12px;max-width:60ch}.talk-notes.is-synced section[data-slide]{display:none}.talk-notes.is-synced section[data-slide].is-active{display:block}@media (min-width: 1024px){.talk-stage{display:grid;grid-template-columns:62% 1fr;gap:32px;align-items:start}.talk-stage .talk-notes{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto}.talk-notes-header{display:block}}
