*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{--color-accent: rgb(239, 68, 68);--color-accent-soft: rgba(239, 68, 68, .16);--red-08: rgba(239, 68, 68, .08);--red-12: rgba(239, 68, 68, .12);--red-14: rgba(239, 68, 68, .14);--red-18: rgba(239, 68, 68, .18);--red-22: rgba(239, 68, 68, .22);--red-28: rgba(239, 68, 68, .28);--red-45: rgba(239, 68, 68, .45);--red-55: rgba(239, 68, 68, .55);--red-70: rgba(239, 68, 68, .7);--red-85: rgba(239, 68, 68, .85);--color-white: #f7f2ea;--color-white-muted: rgba(247, 242, 234, .72);--white-03: rgba(247, 242, 234, .03);--white-04: rgba(247, 242, 234, .04);--white-08: rgba(247, 242, 234, .08);--white-10: rgba(247, 242, 234, .1);--black-18: rgba(0, 0, 0, .18);--black-35: rgba(0, 0, 0, .35);--black-45: rgba(0, 0, 0, .45);--gray-22-95: rgba(22, 22, 22, .95);--gray-18-95: rgba(18, 18, 18, .95);--gray-16-93: rgba(16, 16, 16, .93);--gray-11-95: rgba(11, 11, 11, .95);--gray-10-95: rgba(10, 10, 10, .95);--gray-09-95: rgba(9, 9, 9, .95);--gray-09-90: rgba(9, 9, 9, .9);--black-09: #090909;--gray-11: #111111;--gray-0b: #0b0b0b;--color-surface: rgba(12, 12, 12, .86);--color-surface-strong: rgba(18, 18, 18, .96);--color-border: var(--white-08);margin:0;min-height:100vh;font-family:Inter,Segoe UI,sans-serif;background:var(--gray-11);color:var(--color-white);position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.08;z-index:-1}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,transparent 0%,var(--black-18) 72%);z-index:-1}html,body,.content-panel,.panel,.profile-card{scrollbar-width:thin;scrollbar-color:var(--red-45) var(--color-surface)}body::-webkit-scrollbar,.content-panel::-webkit-scrollbar,.panel::-webkit-scrollbar{width:12px;height:12px}body::-webkit-scrollbar-track,.content-panel::-webkit-scrollbar-track,.panel::-webkit-scrollbar-track{background:linear-gradient(180deg,#ffffff05,#0000001f);border-radius:12px}body::-webkit-scrollbar-thumb,.content-panel::-webkit-scrollbar-thumb,.panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--red-70),var(--red-45));border-radius:10px;border:2px solid transparent;background-clip:content-box;box-shadow:inset 0 2px 6px #00000059}body::-webkit-scrollbar-thumb:hover,.content-panel::-webkit-scrollbar-thumb:hover,.panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--red-85),var(--red-55))}@media (max-width: 640px){body::-webkit-scrollbar,.content-panel::-webkit-scrollbar,.panel::-webkit-scrollbar{width:10px}}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h2{margin:0;font-weight:800;letter-spacing:-.04em;line-height:.95;font-size:clamp(1.9rem,3vw,3rem)}h3{margin:0 0 .55rem;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}button,input,textarea,select{font:inherit}.container{width:100%;margin:0 auto;padding:0 1rem}.page-shell{width:100%;padding:1.25rem;min-height:100vh;display:flex;flex-direction:column}.page-frame{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.7fr) 96px;gap:1.25rem;align-items:start;flex:1 1 auto}.profile-column,.content-column,.nav-rail{min-width:0}.profile-column{position:sticky;top:1.25rem;height:calc(100vh - 2.5rem);display:flex}.profile-card,.panel,.nav-rail,.credits{background:var(--color-surface);border:1px solid var(--color-border)}.profile-card{border-radius:30px;padding:1.25rem;position:relative;overflow:hidden;height:fit-content;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;background:linear-gradient(180deg,var(--gray-22-95),var(--gray-09-95))}.profile-image-container{margin-top:2rem;border-radius:24px;overflow:hidden;background:var(--black-09);box-shadow:inset 0 0 0 1px var(--white-04);max-height:360px;width:100%;align-self:center}.profile-image{width:100%;height:100%;object-fit:cover;object-position:center top;filter:contrast(1.03) saturate(.95);display:block;max-height:340px}.profile-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:.5rem .5rem .25rem}.profile-content h1,.hero-title{margin:0;font-weight:800;letter-spacing:-.04em;line-height:.95}.profile-content h1{font-size:clamp(2.4rem,4vw,4.5rem);text-shadow:0 8px 30px var(--black-45)}.profile-role{margin:0;color:var(--color-accent);font-size:1rem;font-style:italic;letter-spacing:.08em}.social-icons{display:flex;gap:.9rem;align-items:center;justify-content:center;margin-top:.35rem}.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;background:var(--white-04);border:1px solid var(--white-08);transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.social-icons a:hover{transform:translateY(-2px);border-color:var(--red-55);background:var(--red-08)}.icon-light{color:var(--color-white)}.profile-button,.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.95rem 1.15rem;border-radius:999px;border:1px solid var(--red-45);background:linear-gradient(180deg,var(--red-18),var(--red-08));color:var(--color-white);font-weight:700;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.profile-button:hover,.nav-cta:hover{transform:translateY(-2px);border-color:var(--red-85);background:var(--red-22)}.content-column{display:flex;flex-direction:column;gap:1.25rem}.content-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.35rem}.nav-link.active{background:var(--red-14);color:var(--color-white);border:1px solid var(--red-28)}.content-stack{display:flex;flex-direction:column;gap:1.25rem}.panel{border-radius:30px;padding:clamp(1.35rem,2vw,2rem);position:relative;overflow:hidden;background:linear-gradient(180deg,var(--gray-18-95),var(--gray-10-95))}.hero-panel{min-height:100%}.section-panel{background:linear-gradient(180deg,var(--gray-16-93),var(--gray-11-95))}.section-kicker{margin:0 0 .65rem;color:var(--color-accent);font-size:.88rem;font-style:italic;letter-spacing:.18em;text-transform:uppercase}.hero-meta{color:var(--color-accent);font-size:.95rem;font-style:italic;margin-bottom:.85rem;letter-spacing:.04em}.hero-title{font-size:clamp(2.4rem,5vw,4.8rem);max-width:12ch;margin-bottom:1rem}p,.contact-card-value,.contact-card-label{margin:0;line-height:1.65;color:var(--color-white-muted)}.about-copy{max-width:58ch;font-size:1.02rem}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.service-card{padding:1rem 1rem 1.15rem;border-radius:22px;background:var(--white-03);border:1px solid var(--white-08)}.service-icon{font-size:1.75rem;font-weight:800;color:var(--color-accent);margin-bottom:.85rem}.projects,.skills,.contact{display:flex;flex-direction:column;gap:1rem}.contact h2{margin:0 0 .55rem;font-size:clamp(1.9rem,3vw,3rem);font-weight:800;letter-spacing:-.02em}.project-types{display:flex;flex-wrap:wrap;gap:.65rem;margin:.25rem 0 1rem}.project-type-button{padding:.7rem 1rem;border-radius:999px;border:1px solid var(--white-10);background:var(--white-03);color:var(--color-white-muted);cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease,background-color .18s ease}.project-type-button:hover,.project-type-button.is-selected{transform:translateY(-1px);border-color:var(--red-70);color:var(--color-white);background:var(--red-12)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card{padding:1.05rem;border-radius:22px;background:var(--white-03);border:1px solid var(--white-08);min-height:100%;display:flex;flex-direction:column;gap:.65rem}.project-card-type{margin:0;color:var(--color-accent);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-card h2{margin:0 0 .55rem;font-size:1.45rem;font-weight:800;letter-spacing:-.02em}.project-card-tech{font-size:.9rem;color:--var(--color-white-muted);font-weight:600}.project-card-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:auto}.project-card-links a{color:var(--color-accent);font-weight:700}.project-card-links a:hover{text-decoration:underline}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.skill-group{padding:1rem;border-radius:22px;background:var(--white-03);border:1px solid var(--white-08)}.skill-pill-list{display:flex;flex-wrap:wrap;gap:.55rem}.skill-pill{display:inline-flex;padding:.45rem .75rem;border-radius:999px;background:var(--red-08);border:1px solid var(--red-22);color:var(--color-white);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contact-card{display:flex;gap:.85rem;align-items:center;padding:1rem;border-radius:22px;background:var(--white-03);border:1px solid var(--white-08);transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.contact-card:hover{transform:translateY(-2px);border-color:var(--red-55);background:var(--red-08)}.contact-card-logo{flex:0 0 auto;width:3rem;height:3rem;border-radius:16px;display:grid;place-items:center;background:var(--red-08);border:1px solid var(--red-18)}.contact-icon{width:1.35rem;height:1.35rem;object-fit:contain}.contact-card-copy{display:flex;flex-direction:column;gap:.2rem}.contact-card-label{color:var(--color-white);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.contact-card-value{font-size:.92rem}.nav-rail{position:sticky;top:1.25rem;height:fit-content;border-radius:28px;padding:1rem .8rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:linear-gradient(180deg,var(--gray-18-95),var(--gray-09-90))}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem;width:100%;align-items:center}.nav-item{width:100%;list-style:none}.nav-link{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.55rem .35rem;border-radius:18px;border:1px solid transparent;background:transparent;color:var(--color-white-muted);cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease,background-color .18s ease}.nav-link:hover{transform:translateY(-2px);color:var(--color-white);background:var(--red-08)}.nav-link:focus-visible{outline:none;border-color:var(--red-55);background:var(--red-08);color:var(--color-white)}.nav-index{color:var(--color-accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;writing-mode:horizontal-tb}.nav-label{font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-lr;text-orientation:mixed}.nav-cta{width:100%;text-align:center;writing-mode:vertical-lr;letter-spacing:.08em}.page-footer{padding:0 1.25rem 1rem}.credits{max-width:1360px;margin:0 auto;padding:.9rem 1rem;border-radius:18px;text-align:center;font-size:.82rem;color:var(--color-white-muted)}.credits-line{margin:0;line-height:1.45}.credits a{color:var(--color-accent);text-decoration:none}.credits a:hover{text-decoration:underline}@media (max-width: 1200px){.page-frame{grid-template-columns:minmax(0,1fr) 90px}.nav-rail{grid-column:2 / 3;grid-row:1 / span 2;min-height:calc(100vh - 2.5rem)}.profile-column{position:static;grid-column:1 / 2;height:fit-content}.content-column{grid-column:1 / 2}.profile-card{min-height:auto}}@media (max-width: 900px){.page-shell{padding:.75rem}.page-frame{grid-template-columns:minmax(0,1fr) 82px}.profile-card,.panel,.nav-rail,.credits{border-radius:24px}.profile-image-container{max-height:180px}.services-grid,.project-grid,.skill-grid,.contact-grid{grid-template-columns:1fr}.hero-title{max-width:none}.nav-link{padding:.5rem .3rem}.nav-cta{width:100%}}
