:root{--paper:#fbfbf9;--paper-2:#f4f4f0;--ink:#111114;--ink-70:#41414a;--ink-60:#5b5b63;--ink-30:#a2a2ac;--rule:#e4e4df;--accent:#5b4be8;--accent-soft:#efedfd;--r-card:16px;--r-row:12px;--r-ctrl:9px;--r-tag:5px;--shadow:0 6px 18px #1111140d;--gutter:clamp(20px,5vw,80px);--pad:max(var(--gutter), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));--measure:64ch;--display:"Unbounded","Trebuchet MS",sans-serif;--body:"Schibsted Grotesk",system-ui,-apple-system,sans-serif;--display-xl:96px;--display-xl-lh:1.05;--display-xl-tr:-.02em;--display-l:64px;--display-l-lh:1.06;--display-l-tr:-.02em;--display-m:44px;--display-m-lh:1.1;--display-m-tr:-.01em;--lockup-max:132px;--mer-ink:#14162a;--mer-violet:#6354d6;--mer-violet-soft:#afa2ff;--mer-canvas:#f7f7fb;--mer-border:#e7e7f0;--mer-body:#5a5a72}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}section[id],header[id],div[id]{scroll-margin-top:calc(86px + env(safe-area-inset-top,0px))}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.62;overflow-x:hidden}body.fine,body.fine a,body.fine button{cursor:none}a{color:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb,var(--accent) 16%,transparent)}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip{left:var(--pad);top:max(12px, env(safe-area-inset-top,0px));z-index:400;background:var(--ink);color:var(--paper);clip-path:inset(50%);border-radius:3px;width:1px;height:1px;padding:10px 16px;position:absolute;overflow:hidden}.skip:focus{clip-path:none;width:auto;height:auto;overflow:visible}.cursor{z-index:300;pointer-events:none;background:var(--ink);border-radius:99px;place-items:center;width:12px;height:12px;transition:width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1),background .3s;display:grid;position:fixed;top:0;left:0;transform:translate(-80px,-80px)}.cursor span{letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:0;white-space:nowrap;font-size:10px;font-weight:500;transition:opacity .18s}.cursor.on-dark:not(.is-label){background:var(--paper)}.cursor.is-label{background:var(--accent);width:72px;height:72px}.cursor.is-label span{opacity:1}body:not(.fine) .cursor{display:none}nav{z-index:150;padding:max(12px, env(safe-area-inset-top,0px)) var(--pad) 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfbf9cc;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;transition:border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{border-bottom-color:var(--rule)}.mark{font-family:var(--display);letter-spacing:-.02em;font-size:14px;font-weight:600;text-decoration:none}.mark i{color:var(--accent);font-style:normal}.back{color:var(--ink-60);margin:-10px 0;padding:10px 0;font-size:13px;text-decoration:none;transition:color .2s}.back:hover{color:var(--ink)}.progress{background:var(--accent);z-index:160;width:0;height:2px;margin-top:env(safe-area-inset-top,0px);position:fixed;top:0;left:0}main{padding:0 var(--pad)}.band{border-top:1px solid var(--rule);padding:clamp(56px,9vh,110px) 0}.band:first-of-type{border-top:0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-30);align-items:center;gap:9px;margin-bottom:18px;font-size:13px;font-weight:500;display:flex}.eyebrow:before{content:"";background:var(--accent);border-radius:99px;width:5px;height:5px}h2{font-family:var(--display);font-weight:600;font-size:clamp(23px,3.2vw,var(--display-m));line-height:var(--display-m-lh);letter-spacing:var(--display-m-tr);max-width:22ch;margin-bottom:22px}h3{letter-spacing:-.01em;margin-bottom:7px;font-size:15px;font-weight:600}.lede{color:var(--ink-70);max-width:var(--measure);font-size:clamp(16px,1.4vw,18px);line-height:1.67}.body p{color:var(--ink-70);max-width:var(--measure);margin-bottom:16px}.body p:last-child{margin-bottom:0}.cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(26px,5vw,72px);margin-top:34px;display:grid}.hero{padding-top:clamp(110px,17vh,190px);padding-bottom:clamp(40px,6vh,70px)}.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(27px,4.4vw,var(--display-l));line-height:var(--display-l-lh);letter-spacing:var(--display-l-tr);max-width:21ch;margin-bottom:28px}.hero .lede{max-width:66ch;font-size:clamp(16px,1.5vw,20px)}.meta{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-card);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;margin-top:44px;display:grid;overflow:hidden}.meta div{background:var(--paper);padding:18px 20px}.meta dt{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);margin-bottom:7px;font-size:10px}.meta dd{color:var(--ink-70);font-size:13.5px;line-height:1.45}.meta dd b{color:var(--ink);font-weight:500}figure{margin:38px 0 0}.shot{border-radius:var(--r-card);width:100%;max-width:1160px;box-shadow:var(--shadow);margin-inline:auto;position:relative;overflow:hidden}.theme-pair{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(14px,2vw,26px);margin-top:38px;display:grid}.theme-pair .shot{max-width:none;margin-inline:0}@media (max-width:760px){.theme-pair{grid-template-columns:1fr}}.shot.narrow{max-width:860px;margin-inline:0}.shot img{width:100%;height:auto;display:block}.shot.missing{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--paper-2)}.shot.missing:after{content:"Image not found";text-align:center;color:var(--ink-30);letter-spacing:.04em;background:repeating-linear-gradient(-45deg,transparent 0 9px,#11111406 9px 18px),var(--paper-2);white-space:pre-wrap;place-content:center;padding:24px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.7;display:grid;position:absolute;inset:0}.shot.missing img{visibility:hidden}figcaption,.figcaption{letter-spacing:.02em;color:var(--ink-30);max-width:70ch;margin-top:14px;font-size:12px;line-height:1.3}.notes{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-card);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin-top:34px;display:grid;overflow:hidden}.note{background:var(--paper);padding:20px 22px}.note .n{color:var(--accent);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.note p{color:var(--ink-70);font-size:13.5px;line-height:1.6}.chips{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.chip{color:var(--ink-60);border:1px solid var(--rule);border-radius:var(--r-tag);background:var(--paper);padding:6px 10px;font-size:11.5px}.side-card{border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--shadow);background:#fff;padding:22px}.side-card h4{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);margin-bottom:14px;font-size:10px;font-weight:500}.side-card .foot{color:var(--ink-30);border-top:1px solid var(--rule);margin-top:16px;padding-top:14px;font-size:12px}.challenges{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-card);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin-top:34px;display:grid;overflow:hidden}.challenges>div{background:var(--paper);padding:24px}.challenges .n{color:var(--ink-30);margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.challenges p{color:var(--ink-70);margin-top:6px;font-size:13.5px;line-height:1.6}.chain{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:34px;display:flex}.stop{border:1px solid var(--rule);border-radius:var(--r-row);background:var(--paper);flex:130px;min-width:0;padding:16px 15px}.stop.human{border-color:var(--accent);background:var(--accent-soft)}.stop b{letter-spacing:-.01em;margin-bottom:4px;font-size:14px;font-weight:500;display:block}.stop span{color:var(--ink-60);font-size:11.5px;line-height:1.4;display:block}.stop.human span{color:#4a3db0}.chain .arrow{color:var(--ink-30);align-self:center;font-size:13px}.chain-foot{color:var(--ink-70);max-width:var(--measure);margin-top:20px;font-size:14px}.chain-foot b{color:var(--ink);font-weight:500}.stats{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-card);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin-top:34px;display:grid;overflow:hidden}.stats div{background:var(--paper);padding:20px}.stats dt{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);margin-bottom:9px;font-size:10px}.stats .fig{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:clamp(21px,2.4vw,29px);font-weight:500;line-height:1.1;font-family:Inter,var(--body),sans-serif}.stats .cap{color:var(--ink-60);margin-top:6px;font-size:12px;line-height:1.45}table{border-collapse:collapse;width:100%;margin-top:30px;font-size:13.5px}caption{text-align:left;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);padding-bottom:12px;font-size:10px}th{text-align:left;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-30);border-bottom:1px solid var(--rule);padding:0 14px 11px 0;font-size:10px;font-weight:500}td{border-bottom:1px solid var(--rule);color:var(--ink-70);font-variant-numeric:tabular-nums;font-family:Inter,var(--body),sans-serif;padding:13px 14px 13px 0}td:first-child{color:var(--ink)}.verdict{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);border-radius:var(--r-tag);white-space:nowrap;padding:3px 8px;font-size:10px}.verdict.ok{color:#17693b;background:#eaf6ef;border-color:#bfe0cc}.verdict.miss{color:#b3341c;background:#fcede9;border-color:#f0cfc6}.verdict.under{color:#4a3db0;background:var(--accent-soft);border-color:#d5cff7}.edge{margin-top:44px}.edge:first-of-type{margin-top:34px}.edge h3{font-family:var(--display);letter-spacing:-.015em;margin-bottom:10px;font-size:clamp(16px,1.7vw,20px);font-weight:600;line-height:1.25}.edge p{color:var(--ink-70);max-width:72ch;font-size:14px}.trust{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(20px,3vw,34px);margin-top:34px;display:grid}.mer{border:1px solid var(--mer-border);background:#fff;border-radius:14px;padding:18px;font-family:Inter,system-ui,sans-serif;box-shadow:0 6px 16px #14162a0f}.mer .lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--mer-body);font-size:10px}.mer .badge{letter-spacing:.1em;text-transform:uppercase;color:var(--mer-violet);background:#f2f0fd;border:1px solid #d8d3f5;border-radius:6px;padding:3px 7px;font-size:9.5px}.mer .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.mer .fig{letter-spacing:-.02em;color:var(--mer-ink);font-variant-numeric:tabular-nums;margin:12px 0 6px;font-size:26px;font-weight:600}.mer .math{color:var(--mer-ink);background:var(--mer-canvas);border:1px solid var(--mer-border);border-radius:8px;margin-bottom:10px;padding:9px 11px;font-family:JetBrains Mono,monospace;font-size:11.5px}.mer .fine{color:var(--mer-body);font-size:12px;line-height:1.5}.mer .ev{border-left:3px solid var(--mer-violet);margin-top:12px;padding-left:12px}.mer .ev b{color:var(--mer-ink);margin-bottom:5px;font-size:13.5px;font-weight:500;line-height:1.4;display:block}.mer .meter{gap:4px;margin:10px 0 8px;display:flex}.mer .meter i{background:var(--mer-border);border-radius:99px;flex:1;height:5px}.mer .meter i.on{background:var(--mer-violet)}.trust-note{color:var(--ink-70);margin-top:14px;font-size:13.5px;line-height:1.6}.trust-note b{color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:500;display:block}.close-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,54px);margin-top:34px;display:grid}.close-grid h4{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);margin-bottom:14px;font-size:10px;font-weight:500}.close-grid li{color:var(--ink-70);border-top:1px solid var(--rule);padding:11px 0;font-size:13.5px;line-height:1.55;list-style:none}.next{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:36px 0 70px;display:flex}.next a{letter-spacing:-.025em;font-size:clamp(19px,2.4vw,28px);font-weight:500;text-decoration:none}.next span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-30);font-size:11px}footer{padding:24px var(--pad) max(24px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);color:var(--ink-30);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:11px;display:flex}@media (max-width:860px){.cols{grid-template-columns:1fr}.chain .arrow{display:none}.stop{flex:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}.cursor{display:none!important}body.fine{cursor:auto}body.fine a{cursor:pointer}}.ladder{counter-reset:step;border:1px solid var(--rule);border-radius:var(--r-card);margin-top:34px;overflow:hidden}.ladder li{border-top:1px solid var(--rule);background:var(--paper);grid-template-columns:56px 1fr;gap:20px;padding:20px 22px;list-style:none;display:grid}.ladder li:first-child{border-top:0}.ladder .k{color:var(--accent);padding-top:3px;font-family:JetBrains Mono,monospace;font-size:11px}.ladder b{margin-bottom:5px;font-size:14.5px;font-weight:600;display:block}.ladder p{color:var(--ink-70);max-width:70ch;margin:0;font-size:13.5px;line-height:1.6}.ladder li:last-child .k{color:var(--ink-30)}.ladder p+p{margin-top:11px}.ladder p b{font-size:inherit;margin:0;display:inline}.ladder.lessons li:last-child .k{color:var(--accent)}pre{border:1px solid var(--rule);border-radius:var(--r-card);color:var(--ink-70);background:#fff;margin-top:26px;padding:18px 20px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.65;overflow-x:auto}pre b{color:var(--ink);font-weight:500}.callout{border-left:2px solid var(--accent);max-width:72ch;margin:30px 0;padding:4px 0 4px 20px}.callout p{color:var(--ink);font-size:15.5px;line-height:1.6}.callout .who{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-30);margin-top:10px;font-size:11px;display:block}.links{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.btn{border:1px solid var(--rule);border-radius:var(--r-ctrl);background:#fff;align-items:center;gap:9px;padding:12px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s;display:inline-flex}.btn:hover{border-color:var(--ink-30);transform:translateY(-2px)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.embed{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--paper-2);box-shadow:var(--shadow);margin-top:34px;position:relative;overflow:hidden}.embed-bar{border-bottom:1px solid var(--rule);color:var(--ink-60);background:#fff;align-items:center;gap:10px;padding:11px 16px;font-size:12px;display:flex}.embed-bar .dots{gap:5px;display:flex}.embed-bar .dots i{background:var(--rule);border-radius:99px;width:9px;height:9px}.embed-bar code{color:var(--ink-30);font-family:JetBrains Mono,monospace;font-size:11.5px}.embed-bar a{color:var(--accent);margin-left:auto;font-weight:500;text-decoration:none}.embed iframe{background:#fff;border:0;width:100%;height:680px;display:block}.embed .fallback{text-align:center;color:var(--ink-60);background:var(--paper-2);place-content:center;padding:40px;font-size:13.5px;line-height:1.7;display:none;position:absolute;inset:44px 0 0}.embed.blocked .fallback{display:grid}.embed.blocked iframe{visibility:hidden}@media (max-width:700px){.embed iframe{height:520px}}table.audit td:first-child{color:var(--ink-30);font-family:JetBrains Mono,monospace;font-size:12px}.hero-home{min-height:100svh;padding:96px var(--pad) 80px;flex-direction:column;justify-content:center;display:flex;position:relative}.hero-home .eyebrow{color:var(--ink-60);gap:10px;margin-bottom:clamp(18px,4vh,40px)}.hero-home .eyebrow:before{display:none}.hero-home .eyebrow .dot{background:var(--accent);border-radius:99px;width:6px;height:6px}.home section{padding:clamp(70px,11vh,150px) var(--pad)}.home main{padding:0}.stage{font-size:64px;line-height:var(--display-xl-lh);letter-spacing:var(--display-xl-tr);-webkit-user-select:none;user-select:none;width:max-content;max-width:100%;position:relative}.line{white-space:nowrap;display:block}.glyph{font-family:var(--display);font-variation-settings:"wght" 600;will-change:transform,color;display:inline-block}.glyph.space{width:.26em}.nav-links{gap:26px;font-size:13px;display:flex}.nav-links a{color:var(--ink-60);margin:-10px 0;padding:10px 2px;text-decoration:none;transition:color .2s;position:relative}.nav-links a:hover{color:var(--ink)}.nav-links a:after{content:"";background:var(--accent);height:1px;transition:right .3s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:8px;left:2px;right:100%}.nav-links a:hover:after{right:2px}.sub{max-width:47ch;color:var(--ink-70);margin-top:clamp(24px,5vh,48px);font-size:clamp(15px,1.15vw,17px);line-height:1.62}.sub b{color:var(--ink);font-weight:500}.hero-foot{bottom:30px;left:var(--pad);right:var(--pad);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);justify-content:flex-end;align-items:end;font-size:10px;display:flex;position:absolute}.avail{color:var(--ink-60);align-items:center;gap:8px;display:flex}.avail:before{content:"";background:#17693b;border-radius:99px;width:6px;height:6px}.sec-head{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding-bottom:26px;font-size:13px;font-weight:500;display:flex}.sec-head .count{font-variant-numeric:tabular-nums;color:var(--ink-30)}a.row{border-bottom:1px solid var(--rule);color:inherit;grid-template-columns:46px 1fr auto;align-items:start;gap:clamp(16px,3vw,40px);padding:30px 10px;text-decoration:none;transition:padding-left .35s cubic-bezier(.2,.8,.2,1),background .35s;display:grid}a.row:hover{background:var(--paper-2);padding-left:22px}.row-copy{overflow-wrap:break-word;min-width:0}.row-num{color:var(--ink-30);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding-top:8px;font-size:11px}.row-title{letter-spacing:-.022em;font-size:clamp(20px,2.3vw,30px);font-weight:500;line-height:1.15;display:block}.row-desc{color:var(--ink-60);max-width:58ch;margin-top:8px;font-size:14px;display:block}.row-stats{color:var(--ink-30);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;display:flex}.row-stats b{color:var(--ink-70);font-weight:500}.tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:260px;padding-top:4px;display:flex}.tag{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);border:1px solid var(--rule);border-radius:var(--r-tag);white-space:nowrap;background:var(--paper);padding:5px 9px;font-size:10px;transition:border-color .25s,color .25s}a.row:hover .tag:not(.live){border-color:var(--ink-30)}.tag.live{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,var(--paper))}.index-foot{color:var(--ink-30);padding:26px 10px;font-size:12px}.hero-row{align-items:center;gap:clamp(24px,4vw,56px);width:100%;display:flex}.lockup-wrap{flex:auto;min-width:0}.portrait{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-card);width:clamp(150px,17vw,228px);box-shadow:var(--shadow);flex:none;overflow:hidden}.portrait img{width:100%;height:auto;display:block}@media (max-width:820px){.hero-row{flex-direction:column;align-items:flex-start;gap:22px}.portrait{order:-1;width:112px}}.about-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);padding-top:44px;display:grid}.about p{max-width:60ch;color:var(--ink-70);margin-bottom:19px;font-size:clamp(15px,1.1vw,16.5px)}.about p.lead{color:var(--ink);letter-spacing:-.015em;margin-bottom:26px;font-size:clamp(18px,2vw,23px);line-height:1.45}.about p b{color:var(--ink);font-weight:500}.nda{border-left:2px solid var(--accent);margin:26px 0;padding:2px 0 2px 18px}.nda p{color:var(--ink);margin-bottom:0}.cv{border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--shadow);background:#fff;align-self:start;padding:24px}.cv h3{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-30);margin-bottom:16px;font-size:10px;font-weight:500}.cv-item{border-top:1px solid var(--rule);grid-template-columns:1fr auto;align-items:baseline;gap:12px;padding:13px 0;display:grid}.cv-item:first-of-type{border-top:0;padding-top:0}.cv-role{font-size:14px;font-weight:500;display:block}.cv-org{color:var(--ink-60);margin-top:3px;font-size:12px;display:block}.cv-when{color:var(--ink-30);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.cv-skills{border-top:1px solid var(--rule);flex-wrap:wrap;gap:6px;margin-top:20px;padding-top:16px;display:flex}.contact{background:var(--ink);color:var(--paper);border-radius:0}.contact .sec-head{color:#fbfbf999;border-bottom-color:#fbfbf924}.contact-body{flex-direction:column;gap:30px;padding-top:48px;display:flex}.contact h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,5vw,var(--display-l));line-height:var(--display-l-lh);letter-spacing:var(--display-l-tr);max-width:15ch}.mailto{background:var(--paper);color:var(--ink);border-radius:var(--r-ctrl);align-self:flex-start;align-items:center;gap:14px;padding:15px 22px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s;display:inline-flex}.mailto:hover{background:#fff;transform:translateY(-2px)}.mailto .arrow{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.mailto:hover .arrow{transform:translate(4px)}.copied{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);opacity:0;min-width:16ch;font-size:11px;transition:opacity .25s}.copied.on{opacity:1}.contact-meta{color:#fbfbf98c;flex-wrap:wrap;gap:30px;font-size:12px;display:flex}.contact-meta a{color:#fbfbf9cc;border-bottom:1px solid #fbfbf940;padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.contact-meta a:hover{color:#fff;border-color:#fff}@media (max-width:860px){.about-grid{grid-template-columns:1fr}a.row{grid-template-columns:34px 1fr;gap:14px}.tags{grid-column:2;justify-content:flex-start;max-width:none;margin-top:14px;padding-top:0}.nav-links{gap:18px}}.rv{opacity:0;transition:opacity .62s cubic-bezier(.2,.7,.25,1),transform .62s cubic-bezier(.2,.7,.25,1);transform:translateY(16px)}.rv.in{opacity:1;transform:none}.side-card,.mer,.note,.cv{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.side-card:hover,.mer:hover,.cv:hover{transform:translateY(-2px);box-shadow:0 10px 24px #11111412}.portrait{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.portrait:hover{transform:translateY(-3px);box-shadow:0 14px 30px #11111417}@media (prefers-reduced-motion:reduce){.rv{opacity:1;transition:none;transform:none}.side-card:hover,.mer:hover,.cv:hover,.portrait:hover{transform:none}a.row:hover{padding-left:10px}}.contact-form{flex-direction:column;gap:18px;max-width:640px;margin-top:8px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field>span{letter-spacing:.1em;text-transform:uppercase;color:#fbfbf999;align-items:baseline;gap:7px;font-size:11px;display:flex}.field>span i{text-transform:none;letter-spacing:0;color:#fbfbf999;font-size:11.5px;font-style:normal}.field input,.field textarea{font:inherit;color:var(--paper);border-radius:var(--r-ctrl);resize:vertical;background:#fbfbf90d;border:1px solid #fbfbf92e;width:100%;padding:12px 14px;font-size:16px;transition:border-color .2s,background .2s}.field input:hover,.field textarea:hover{border-color:#fbfbf952}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);background:#fbfbf917}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#e88a7a}.field-err{color:#f0a99b;font-size:12.5px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-foot{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.form-status{color:#f0a99b;min-height:1em;font-size:13px}.form-done{border-radius:var(--r-card);background:#fbfbf90d;border:1px solid #fbfbf933;max-width:640px;padding:22px 24px}.form-done p{color:var(--paper);font-size:15.5px}.form-done b{font-weight:600}.contact .btn{border:0}.contact .btn[disabled]{opacity:.55;cursor:default;transform:none}@media (max-width:560px){.field-row{grid-template-columns:1fr}}.contact-alt{border-top:1px solid #fbfbf924;flex-wrap:wrap;align-items:center;gap:14px;padding-top:26px;display:flex}.contact-alt>span{letter-spacing:.09em;text-transform:uppercase;color:#fbfbf999;font-size:12px}.contact-alt .mailto{padding:11px 18px;font-size:14px}@media (max-width:820px){:root{--lockup-max:88px}.hero-home{min-height:0;padding:calc(92px + env(safe-area-inset-top,0px)) var(--pad) 48px;justify-content:flex-start}.hero-foot{justify-content:flex-start;margin-top:28px;position:static}.sub{margin-top:22px}.home section{padding:clamp(48px,10vh,88px) var(--pad)}.band{padding:clamp(44px,8vh,72px) 0}.mark{align-items:center;min-height:0;margin:-10px 0;padding:10px 0;display:inline-flex}a.row{padding:24px 0}a.row:hover{padding-left:0}.embed-bar code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.embed iframe{height:min(70dvh,480px)}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.contact{padding-bottom:env(safe-area-inset-bottom,0px)}}@media (max-width:540px){:root{--lockup-max:58px}.nav-links{gap:10px;font-size:12px}.hero-row{gap:16px}.portrait{width:96px}.row-title{font-size:20px}.row-desc{font-size:13.5px}.row-stats{gap:10px 12px}.index-foot{padding:20px 0}.ladder li{grid-template-columns:40px 1fr;gap:12px;padding:16px}.meta div,.stats div,.note,.challenges>div{padding:16px}.shot{border-radius:12px}.mailto,.contact .btn.primary{justify-content:center;width:100%}.contact h2{max-width:12ch}.contact-meta{gap:16px 22px}.cv-item{gap:8px}.embed-bar .dots{display:none}.embed-bar{padding:10px 12px}}@media (hover:none){a.row:hover{background:0 0}.side-card:hover,.mer:hover,.cv:hover,.portrait:hover,.mailto:hover,.btn:hover{transform:none}.mailto:hover{background:var(--paper)}}
