*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-width:320px;min-height:100vh}img{max-width:100%;display:block}a{color:inherit}:root{--color-bg:#f7f8fa;--color-bg-alt:#eceef1;--color-surface:#fff;--color-text:#23272e;--color-text-muted:#6b7280;--color-accent:#5b6b7c;--color-accent-dark:#3f4c5a;--color-accent-soft:#e7eaee;--color-border:#e1e4e9;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--shadow-soft:0 12px 30px -12px #33261d2e;--shadow-soft-sm:0 6px 16px -8px #33261d26;--font-body:"Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6}h1,h2,h3{margin:0 0 .5em;line-height:1.25}h2{font-size:clamp(1.6rem,3vw,2.1rem)}h3{font-size:1.15rem}p{margin:0 0 1em}ul,ol{margin:0;padding:0;list-style:none}.btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn--primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-soft-sm)}.btn--primary:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-soft-sm);padding:28px}.pill{background:var(--color-accent-soft);color:var(--color-accent-dark);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-block}.pill--muted{background:var(--color-bg-alt);color:var(--color-text-muted)}.shell{width:100%;min-height:100vh;display:flex}.shell--home{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px 24px}.shell--docked{flex-direction:row;align-items:flex-start}.identity{flex-direction:column;align-items:center;gap:16px;display:flex}.shell--docked .identity{background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;align-items:flex-start;width:280px;min-height:100vh;padding:40px 28px;position:sticky;top:0}.identity__photo-link{text-decoration:none}.photo-frame{border:6px solid var(--color-surface);width:200px;height:200px;box-shadow:var(--shadow-soft);border-radius:50%;overflow:hidden}.shell--docked .photo-frame{border-width:3px;width:88px;height:88px}.photo-frame img{object-fit:cover;object-position:center 22%;width:100%;height:100%}.identity__text{text-align:center}.shell--docked .identity__text{text-align:left}.identity__name{margin:0 0 4px;font-size:1.3rem;font-weight:700}.shell--docked .identity__name{font-size:1.05rem}.identity__title{color:var(--color-text-muted);margin:0;font-size:.95rem}.identity__nav{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.shell--docked .identity__nav{flex-direction:column;gap:4px;width:100%}.identity__nav-link{color:var(--color-text-muted);border-radius:999px;padding:10px 18px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.shell--docked .identity__nav-link{border-radius:var(--radius-sm);padding:10px 14px}.identity__nav-link:hover{background:var(--color-accent-soft);color:var(--color-accent-dark)}.identity__nav-link.is-active{background:var(--color-accent);color:#fff}.identity__cta{margin-top:4px}.shell--docked .identity__cta{width:100%;margin-top:auto}.shell__content{flex:1;min-width:0;max-width:880px;padding:56px 48px}.landing{color:var(--color-text-muted)}.page__title{margin-bottom:16px}.page__lead{color:var(--color-text-muted);font-size:1.1rem}.page__closing{margin-top:32px;font-weight:500}.gallery{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:28px 0;display:grid}.gallery__tile{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-bg-alt);box-shadow:var(--shadow-soft-sm);overflow:hidden}.gallery__tile img{object-fit:cover;width:100%;height:100%}.timeline{border-left:3px solid var(--color-accent-soft);flex-direction:column;gap:24px;padding-left:28px;display:flex;position:relative}.timeline__item{position:relative}.timeline__dot{background:var(--color-accent);border:3px solid var(--color-bg);border-radius:50%;width:14px;height:14px;position:absolute;top:8px;left:-37px}.timeline__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.timeline__header h3{flex:auto;min-width:0}.timeline__header .pill{flex-shrink:0}.timeline__card p{margin:0}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.skills__list{flex-direction:column;gap:8px;display:flex}.skills__list li{padding-left:18px;font-size:.95rem;position:relative}.skills__list li:before{content:"";background:var(--color-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.languages__list{flex-direction:column;gap:8px;display:flex}.languages__list li{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.languages__list li:last-child{border-bottom:none}.languages__list span{color:var(--color-text-muted);font-size:.9rem}.portfolio__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.portfolio__card{color:var(--color-text);text-decoration:none;transition:transform .15s,box-shadow .15s}.portfolio__card:not(.portfolio__card--private):hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.portfolio__card--private{background:var(--color-bg-alt)}.portfolio__stack{color:var(--color-text-muted);font-size:.85rem}.contact__card{max-width:480px}.contact__name{font-size:1.1rem;font-weight:600}.contact__list{flex-direction:column;gap:14px;margin:0;display:flex}.contact__list div{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.contact__list div:last-child{border-bottom:none;padding-bottom:0}.contact__list dt{color:var(--color-text-muted);font-size:.9rem}.contact__list dd{margin:0;font-weight:500}.contact__list a{color:var(--color-text);text-decoration:none}.contact__list a:hover{color:var(--color-accent-dark)}@media (width<=860px){.shell--docked{flex-direction:column}.shell--docked .identity{border-right:none;border-bottom:1px solid var(--color-border);flex-flow:wrap;align-items:center;width:100%;min-height:auto;position:relative}.shell--docked .identity__nav{flex-direction:row}.shell--docked .identity__cta{width:auto;margin-top:0}.shell__content{padding:32px 24px}}@media (width<=480px){.shell--docked .identity{flex-direction:column;align-items:flex-start}}
