:root { --ink:#1c2522; --paper:#ebe7df; --lime:#b7c47a; --muted:#68716c; --line:rgba(28,37,34,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope, sans-serif; }
body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.13; z-index:5; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); }
.page-shell { min-height:100vh; padding:34px 5vw 26px; max-width:1500px; margin:auto; }
.topline,.site-footer,.links-heading,.panel-footer { display:flex; justify-content:space-between; align-items:center; font:500 10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.topline { padding-bottom:24px; border-bottom:1px solid var(--line); color:var(--muted); }
.availability { color:var(--ink); }.availability i { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#9daa64; box-shadow:0 0 0 4px rgba(157,170,100,.2); }
.profile-grid { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 60px); }
.topline, .panel-footer, .site-footer { display:none; }
.intro-panel { padding:8vh 10vw 6vh 4vw; border-right:1px solid var(--line); position:relative; background:#dfdcd3; }
.portrait-wrap { position:absolute; right:10%; top:9%; }.portrait { width:146px; height:146px; border-radius:50%; position:relative; overflow:hidden; background:#303b36; transform:rotate(-7deg); border:6px solid #c5c1b6; box-shadow:0 14px 28px rgba(28,37,34,.16); }.portrait img { width:100%; height:100%; object-fit:cover; transform:rotate(7deg) scale(1.05); filter:saturate(.8) contrast(1.05); }.portrait:after { content:""; position:absolute; inset:9px; border:1px solid rgba(235,231,223,.5); border-radius:50%; pointer-events:none; }.portrait-label { display:block; padding-top:12px; text-align:right; font:10px 'DM Mono'; color:var(--muted); }
.eyebrow { margin:0 0 22vh; font:11px/1.5 'DM Mono'; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }.eyebrow:before { content:"↘"; color:var(--ink); font-size:18px; display:block; margin-bottom:12px; }
h1 { font-size:clamp(74px,11vw,168px); line-height:.77; letter-spacing:-.095em; margin:0 0 34px; font-weight:500; }.intro-panel h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.12em; margin-left:8px; }.bio { max-width:275px; font-size:15px; line-height:1.45; margin-bottom:30px; }.location { font:11px 'DM Mono'; color:var(--muted); text-transform:uppercase; }.pin { color:#ec715b; margin-right:7px; }
.links-panel { padding:8vh 4vw 5vh 5vw; display:flex; flex-direction:column; }.links-heading { color:var(--muted); padding-bottom:18px; border-bottom:1px solid var(--line); }.index { color:var(--ink); }.link-list { margin-top:20px; }.link-card { display:flex; align-items:center; gap:18px; color:inherit; text-decoration:none; padding:21px 15px; border-bottom:1px solid var(--line); transition:background .35s, transform .35s, padding .35s; position:relative; overflow:hidden; }.link-card:before { content:""; position:absolute; inset:0; background:var(--lime); transform:translateX(-101%); transition:transform .4s cubic-bezier(.16,1,.3,1); z-index:-1; }.link-card:hover { transform:translateX(10px); padding-left:23px; border-color:var(--ink); }.link-card:hover:before { transform:translateX(0); }.link-card.accent:before { background:#ec715b; }.link-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-size:21px; flex:none; transition:transform .4s; }.link-card:hover .link-icon { transform:rotate(12deg) scale(1.08); }.link-copy { display:flex; flex:1; flex-direction:column; gap:5px; }.link-copy strong { font-size:15px; font-weight:700; }.link-copy small { font:10px 'DM Mono'; color:var(--muted); }.arrow { font-size:22px; transition:transform .35s; }.link-card:hover .arrow { transform:translate(4px,-4px); }.panel-footer { margin-top:auto; padding-top:28px; color:var(--muted); }.scroll-line { height:1px; flex:1; max-width:100px; margin:0 18px; background:var(--line); }
.site-footer { padding-top:21px; border-top:1px solid var(--line); color:var(--muted); }.site-footer b { color:#b56c58; font-size:16px; margin-left:5px; }
@media (max-width:700px) { .page-shell { padding:22px 22px 18px; }.profile-grid { display:block; }.intro-panel { min-height:620px; padding:55px 8px 35px; border-right:0; }.portrait-wrap { right:4%; top:6%; transform:scale(.78); transform-origin:top right; }.eyebrow { margin-bottom:135px; } h1 { font-size:96px; }.links-panel { padding:40px 8px 45px; }.site-footer { gap:15px; align-items:flex-start; flex-direction:column; }.topline { font-size:9px; } }
.link-icon { overflow:hidden; background:var(--paper); }
.link-icon img { width:100%; height:100%; object-fit:cover; display:block; }
.pin { color:#b56c58; }
.link-card.accent:before { background:#b56c58; }
