:root{color-scheme:only light;--bg:#ffffff;--fg:#000000;--muted:#171717;--subtle:#5a5a5a;--border:#000000;--shadow-offset:clamp(4px,0.8vw,10px);--shadow-color:rgba(0,0,0,0.88);--container-width:clamp(320px,92vw,880px)}*,*::before,*::after{box-sizing:border-box}html{font-size:clamp(13px,calc(0.38vw + 0.55vh),17px)}body{margin:0;background:var(--bg);color:var(--muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.52;display:flex;justify-content:center;overflow-x:hidden}.page{width:100%;min-height:100vh;display:flex;justify-content:center}.container{width:var(--container-width);padding:clamp(32px,6vh,68px) clamp(20px,4vw,36px) clamp(42px,7vh,88px);display:flex;flex-direction:column;gap:clamp(32px,5.5vh,64px)}main{display:flex;flex-direction:column;gap:clamp(26px,4.8vh,56px)}.hero{display:grid;grid-template-columns:clamp(150px,30vw,240px) 1fr;gap:clamp(20px,4vw,44px);align-items:end;padding-bottom:clamp(14px,2.2vh,26px);border-bottom:2px solid var(--border)}.hero-visual{width:clamp(150px,30vw,240px)}.hero-photo-frame{width:100%;aspect-ratio:3 / 4;border:3px solid var(--border);border-radius:clamp(16px,3vw,24px);overflow:hidden;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--shadow-color)}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-copy{display:flex;flex-direction:column;gap:clamp(10px,1.8vh,20px);color:var(--fg)}.hero-copy h1{margin:0;font-size:clamp(2.3rem,4vw,3.5rem);font-weight:850;letter-spacing:0.08em;text-transform:uppercase;line-height:1.08}.subtitle{margin:0;font-size:clamp(0.9rem,1.4vw,1.15rem);font-weight:520;color:var(--muted);letter-spacing:0.05em;line-height:1.35}.cta{align-self:flex-start;padding:clamp(10px,1.6vh,15px) clamp(18px,2.4vw,30px);background:var(--fg);color:var(--bg);border:2px solid var(--border);text-decoration:none;text-transform:uppercase;font-weight:720;letter-spacing:0.12em;font-size:clamp(0.76rem,1vw,0.94rem);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--shadow-color);transition:transform 0.18s ease,box-shadow 0.18s ease}.cta:hover,.cta:focus-visible{transform:translate(-2px,-2px);box-shadow:calc(var(--shadow-offset) + 2px) calc(var(--shadow-offset) + 2px) 0 var(--shadow-color);outline:none}.cta:active{transform:translate(2px,2px);box-shadow:calc(var(--shadow-offset) - 2px) calc(var(--shadow-offset) - 2px) 0 var(--shadow-color)}.links-section{display:flex;flex-direction:column;gap:clamp(16px,3vh,26px)}.section-header h2{margin:0;font-size:clamp(1.28rem,2vw,1.9rem);font-weight:820;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg)}.section-lead{margin:4px 0 0;color:var(--subtle);font-size:clamp(0.78rem,1vw,0.92rem);letter-spacing:0.04em}.links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}.link-card{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(8px,1.4vw,16px);align-items:center;border:2px solid var(--border);background:var(--bg);color:var(--fg);text-decoration:none;padding:clamp(12px,1.8vh,20px) clamp(14px,2.2vw,24px);font-weight:680;letter-spacing:0.05em;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--shadow-color);transition:transform 0.18s ease,box-shadow 0.18s ease,color 0.18s ease}.link-card--no-icon{grid-template-columns:1fr auto}.link-card__icon{width:clamp(16px,1.8vw,22px);height:clamp(16px,1.8vw,22px);display:inline-flex}.link-card__icon svg{width:100%;height:100%}.link-card__body{display:flex;flex-direction:column;gap:clamp(4px,0.7vw,8px)}.link-card__title{font-size:clamp(0.8rem,1.15vw,1.02rem);text-transform:uppercase;letter-spacing:0.08ем;line-height:1.2}.link-card__description{font-size:clamp(0.68rem,0.95vw,0.84rem);font-weight:500;color:var(--subtle);letter-spacing:0.02em;line-height:1.2}.link-card svg{width:clamp(14px,1.6vw,18px);height:clamp(14px,1.6vw,18px);justify-self:end}.link-card:hover,.link-card:focus-visible{transform:translate(-2px,-2px);box-shadow:calc(var(--shadow-offset) + 2px) calc(var(--shadow-offset) + 2px) 0 var(--shadow-color);outline:none}.link-card:active{transform:translate(2px,2px);box-shadow:calc(var(--shadow-offset) - 2px) calc(var(--shadow-offset) - 2px) 0 var(--shadow-color)}.links-section--projects .link-card--featured{grid-column:1 / -1;background:linear-gradient(140deg,rgba(90,50,255,0.94) 0%,rgba(26,189,255,0.92) 100%);color:#f3f7ff;border:none;box-shadow:0 18px 34px rgba(34,38,120,0.28),var(--shadow-offset) var(--shadow-offset) 0 rgba(0,0,0,0.45)}.links-section--projects .link-card--featured .link-card__description{color:rgba(255,255,255,0.85)}.links-section--projects .link-card--featured svg,.links-section--projects .link-card--featured svg path{color:inherit;fill:currentColor}.links-section--social .link-card{box-shadow:none}.links-section--social .link-card:hover,.links-section--social .link-card:focus-visible,.links-section--social .link-card:active{box-shadow:none;transform:translate(-1px,-1px)}noscript{display:block;margin:clamp(20px,4vh,32px) auto 0;padding:clamp(12px,2vh,18px);width:var(--container-width);border:2px solid var(--border);background:#f4f4f4;color:var(--muted);font-size:clamp(0.74rem,0.95vw,0.88rem)}@media (max-width:760px){.container{width:min(94vw,600px);gap:clamp(28px,5.5vh,48px)}.hero{grid-template-columns:clamp(140px,48vw,200px) 1fr;gap:clamp(16px,4.8vw,28px)}.hero-visual{width:clamp(140px,48vw,200px)}.links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.6vw,18px)}.link-card{padding:clamp(10px,2vh,16px) clamp(12px,2.2vw,20px);gap:clamp(8px,3vw,12px)}.link-card__icon{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px)}.link-card__title{font-size:clamp(0.78rem,2.6vw,0.9rem)}.link-card__description{font-size:clamp(0.66rem,2.2vw,0.8rem)}}@media (max-width:600px){.container{width:min(96vw,460px);padding:clamp(26px,7vh,42px) clamp(16px,5vw,24px) clamp(32px,8vh,46px);gap:clamp(24px,6vh,36px)}main{gap:clamp(20px,5vh,28px)}.hero{grid-template-columns:clamp(120px,42vw,150px) 1fr;gap:clamp(12px,5vw,20px);align-items:center;padding-bottom:clamp(10px,2vh,14px)}.hero-visual{width:clamp(120px,42vw,150px)}.hero-photo-frame{border-width:2px;border-radius:clamp(12px,4vw,16px);box-shadow:clamp(3px,1vw,6px) clamp(3px,1vw,6px) 0 var(--shadow-color)}.hero-copy{gap:clamp(8px,2vh,14px)}.hero-copy h1{font-size:clamp(1.9rem,7vw,2.6rem)}.subtitle{font-size:clamp(0.78rem,2.8vw,0.96rem);line-height:1.3}.cta{align-self:stretch;padding:clamp(9px,2vh,12px);text-align:center;font-size:clamp(0.72rem,2.6vw,0.88rem)}.links-grid{grid-template-columns:repeat(2,minmax(140px,1fr));gap:clamp(10px,3vw,16px)}.link-card{padding:clamp(9px,2vh,14px) clamp(12px,3vw,18px);gap:clamp(6px,2.4vw,10px)}.link-card__icon{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px)}.link-card__title{font-size:clamp(0.72rem,2.6vw,0.88rem)}.link-card__description{font-size:clamp(0.64rem,2.4vw,0.78rem)}}@media (max-width:500px){.container{width:min(96vw,460px);gap:clamp(24px,6vh,40px)}.hero{grid-template-columns:clamp(128px,56vw,180px) 1fr}.hero-visual{width:clamp(128px,56vw,180px)}}@media (max-width:420px){.hero{grid-template-columns:1fr;justify-items:center;align-items:center;text-align:center}.hero-visual{width:min(80vw,320px)}.hero-copy{align-items:center}.cta{align-self:center}}@media (min-width:1180px){body{background:#ececec}.page{margin:48px 0;background:var(--bg);border:2px solid var(--border);box-shadow:26px 26px 0 rgba(0,0,0,0.12)}}