.v2 .biohero{padding-top:clamp(122px,15vh,180px);padding-bottom:clamp(30px,4vw,54px)}.v2 .biohero-grid{grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(30px,4.5vw,72px);display:grid}.v2 .biohero h1{letter-spacing:-.04em;font-size:clamp(56px,10vw,168px);line-height:.84}.v2 .biohero h1 .wave{transform-origin:70% 70%;animation:bio-wave 2.6s var(--e-soft) infinite;font-size:.62em;display:inline-block}@keyframes bio-wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(16deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.v2 .biohero .sub{max-width:42ch;color:var(--ink-soft);margin-top:clamp(20px,2.4vw,30px);font-size:clamp(18px,1.5vw,23px);line-height:1.5}.v2 .biohero-portrait{aspect-ratio:4/5;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 30px 70px -36px #15110a99}.v2 .biohero-portrait img{object-fit:cover;width:100%;height:100%}.v2 .biohero-portrait .sticker{position:absolute;bottom:18px;left:-10px}.v2 .biohero-portrait .tag-tl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#f5eeddd9;z-index:4;font-size:11px;position:absolute;top:16px;left:16px}@media (max-width:860px){.v2 .biohero-grid{grid-template-columns:1fr;gap:28px}.v2 .biohero-portrait{aspect-ratio:4/3;order:-1}}.v2 .story{grid-template-columns:.4fr .6fr;gap:clamp(28px,4vw,64px);display:grid}.v2 .story .body p{color:var(--ink-soft);margin-bottom:1.1em;font-size:clamp(19px,1.6vw,25px);line-height:1.5}.v2 .story .body p:last-child{margin-bottom:0}.v2 .story .body p:first-child{color:var(--ink);font-size:clamp(22px,2vw,30px);font-family:var(--font-display);letter-spacing:-.01em;font-weight:600;line-height:1.28}@media (max-width:760px){.v2 .story{grid-template-columns:1fr;gap:18px}}.v2 .bigstats{border-top:1.6px solid var(--line);border-bottom:1.6px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid}.v2 .bigstats .s{border-left:1.6px solid var(--line);padding:clamp(26px,3vw,40px) clamp(14px,2vw,28px)}.v2 .bigstats .s:first-child{border-left:none}.v2 .bigstats .v{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(38px,4.6vw,72px);font-weight:800;line-height:.86}.v2 .bigstats .v em{color:var(--accent);font-style:normal}.v2 .bigstats .l{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-top:12px;font-size:11.5px}@media (max-width:720px){.v2 .bigstats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.v2 .bigstats .s{border-left:1.6px solid var(--line);padding-inline:10px}.v2 .bigstats .s:nth-child(odd){border-left:none}.v2 .bigstats .s:nth-child(n+3){border-top:1.6px solid var(--line)}.v2 .bigstats .v{font-size:clamp(29px,8vw,56px)}}.v2 .gal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,3.4vw,44px);display:flex}.v2 .svc-row{border-top:1.6px solid var(--line);transition:padding .4s var(--e-out);grid-template-columns:56px 1fr 40px;align-items:center;gap:18px;padding:clamp(22px,2.6vw,34px) 0;display:grid}.v2 .svc-row:last-child{border-bottom:1.6px solid var(--line)}.v2 .svc-row .num{font-family:var(--font-mono);color:var(--accent);font-size:13px;font-weight:700}.v2 .svc-row h3{letter-spacing:-.02em;font-size:clamp(22px,2.4vw,34px);line-height:1}.v2 .svc-row p{color:var(--ink-mute);max-width:60ch;margin-top:8px;font-size:clamp(15px,1.1vw,17px)}.v2 .svc-row .chev{font-family:var(--font-display);color:var(--ink-mute);transition:transform .4s var(--e-out), color .4s;text-align:right;font-size:24px}.v2 .svc-row:hover{padding-left:14px}.v2 .svc-row:hover .chev{color:var(--accent);transform:translate(6px)}@media (max-width:640px){.v2 .svc-row{grid-template-columns:40px 1fr}.v2 .svc-row .chev{display:none}}.v2 .awards{gap:0;display:grid}.v2 .award{border-top:1.6px solid var(--line);grid-template-columns:96px 1fr auto;align-items:baseline;gap:24px;padding:clamp(20px,2.4vw,32px) 0;display:grid}.v2 .award:last-child{border-bottom:1.6px solid var(--line)}.v2 .award .yr{font-family:var(--font-mono);color:var(--ink-soft);font-size:15px;font-weight:700}.v2 .award .t{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,2vw,30px);font-weight:700;line-height:1.05}.v2 .award .pj{color:var(--ink-mute);margin-top:5px;font-size:14px}.v2 .award .lvl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1.3px solid var(--line-strong);color:var(--ink-soft);white-space:nowrap;border-radius:100px;padding:5px 11px;font-size:10.5px}.v2 .award .lvl.personal{background:var(--blue);color:var(--cream);border-color:var(--blue)}.v2 .award .lvl.project{background:var(--accent);color:var(--cream);border-color:var(--accent)}@media (max-width:620px){.v2 .award{grid-template-columns:64px 1fr}.v2 .award .lvl{grid-column:2;justify-self:start;margin-top:8px}}.v2 .faq-item{border-top:1.6px solid var(--line)}.v2 .faq-item:last-child{border-bottom:1.6px solid var(--line)}.v2 .faq-q{text-align:left;width:100%;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:clamp(22px,2.6vw,34px) 0;font-size:clamp(20px,2.1vw,30px);font-weight:700;transition:color .3s;display:flex}.v2 .faq-q:hover{color:var(--accent)}.v2 .faq-q .pm{border:1.6px solid var(--line-strong);width:34px;height:34px;transition:.4s var(--e-out);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.v2 .faq-q .pm:before,.v2 .faq-q .pm:after{content:"";background:var(--ink);transition:.4s var(--e-out);position:absolute}.v2 .faq-q .pm:before{width:13px;height:2px}.v2 .faq-q .pm:after{width:2px;height:13px}.v2 .faq-item.open .faq-q .pm{background:var(--accent);border-color:var(--accent)}.v2 .faq-item.open .faq-q .pm:before,.v2 .faq-item.open .faq-q .pm:after{background:var(--cream)}.v2 .faq-item.open .faq-q .pm:after{transform:scaleY(0)}.v2 .faq-a{max-height:0;transition:max-height .5s var(--e-out);overflow:hidden}.v2 .faq-a .inner{max-width:62ch;color:var(--ink-soft);padding-bottom:clamp(22px,2.6vw,32px);font-size:clamp(17px,1.3vw,20px);line-height:1.5}.v2 .tl-head{margin-bottom:clamp(28px,3.4vw,48px)}.v2 .tl-list{--tl-gutter:clamp(20px, 4vw, 56px);margin:0;padding:0;list-style:none;position:relative}.v2 .tl-list:before{content:"";top:6px;bottom:6px;left:var(--tl-gutter);background:var(--line);width:2px;position:absolute}.v2 .tl-list:after{content:"";top:6px;bottom:6px;left:var(--tl-gutter);background:var(--accent);width:2px;transform:scaleY(var(--tl-progress,0));transform-origin:top;will-change:transform;position:absolute}.v2 .tl-item{padding:clamp(20px, 2.6vw, 38px) 0 clamp(20px, 2.6vw, 38px) calc(var(--tl-gutter) + clamp(20px, 2.4vw, 32px));grid-template-columns:auto 1fr;align-items:start;column-gap:clamp(16px,2.4vw,32px);display:grid;position:relative}.v2 .tl-item:first-child{padding-top:0}.v2 .tl-item:last-child{padding-bottom:0}.v2 .tl-dot{left:var(--tl-gutter);background:var(--paper);border:2px solid var(--accent);z-index:1;border-radius:50%;width:13px;height:13px;position:absolute;top:clamp(24px,2.9vw,42px);transform:translate(calc(1px - 50%),-50%)}.v2 .tl-item:first-child .tl-dot{top:4px}.v2 .tl-year{color:var(--accent);white-space:nowrap;padding-top:2px;font-weight:700}.v2 .tl-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,2.2vw,32px);font-weight:700;line-height:1.05}.v2 .tl-detail{color:var(--ink-soft);max-width:58ch;margin-top:8px;font-size:clamp(16px,1.2vw,19px);line-height:1.5}.v2 .tl-media{aspect-ratio:16/10;background:var(--ink);border-radius:6px;max-width:480px;margin-top:clamp(14px,1.6vw,20px);position:relative;overflow:hidden;box-shadow:0 24px 56px -34px #15110a8c}.v2 .tl-media img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--e-out)}.v2 .tl-media:hover img{transform:scale(1.04)}@media (max-width:640px){.v2 .tl-item{grid-template-columns:1fr;row-gap:4px}.v2 .tl-year{padding-top:0}}.v2 .cred-statement{max-width:64ch;margin-bottom:clamp(28px,3.4vw,48px)}.v2 .cred-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(12px,1.4vw,20px);display:grid}.v2 .cred-card{border:1.6px solid var(--line);background:var(--paper-2);transition:border-color .4s var(--e-out), transform .4s var(--e-out);border-radius:6px;padding:clamp(20px,2.2vw,30px)}.v2 .cred-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.v2 .cred-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(18px,1.6vw,22px);font-weight:700;line-height:1.15}.v2 .cred-detail{color:var(--ink-mute);margin-top:8px;font-size:clamp(14px,1vw,16px);line-height:1.5}.v2 .facts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(12px,1.4vw,20px);display:grid}.v2 .fact-card{text-align:left;border:1.6px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);cursor:default;transition:border-color .4s var(--e-out), transform .4s var(--e-out);border-radius:6px;padding:clamp(20px,2.2vw,30px);display:block;position:relative;overflow:hidden}.v2 .fact-card[data-has-detail]{cursor:pointer}.v2 .fact-card[data-has-detail]:hover,.v2 .fact-card[data-has-detail]:focus-visible{border-color:var(--accent);transform:translateY(-3px)}.v2 .fact-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.v2 .fact-fact{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(19px,1.8vw,26px);font-weight:700;line-height:1.1;display:block}.v2 .fact-detail{color:var(--ink-soft);opacity:0;max-height:0;transition:max-height .45s var(--e-out), opacity .35s var(--e-out), transform .45s var(--e-out), margin-top .45s var(--e-out);margin-top:10px;font-size:clamp(14px,1vw,16px);line-height:1.5;display:block;overflow:hidden;transform:translateY(6px)}.v2 .fact-card:hover .fact-detail,.v2 .fact-card:focus .fact-detail,.v2 .fact-card:focus-within .fact-detail{opacity:1;max-height:12em;transform:none}@media (prefers-reduced-motion:reduce){.v2 .cred-card,.v2 .fact-card,.v2 .tl-media img,.v2 .fact-detail,.v2 .fact-card:hover .fact-detail,.v2 .fact-card:focus .fact-detail,.v2 .fact-card:focus-within .fact-detail{transition:none}}
