:root{--bg:#f6f7f7;--bg-tint:#eceff0;--surface:#fff;--text:#101316;--text-muted:#4b5259;--border:#d8dddf;--accent:#00747b;--accent-strong:#005b61;--on-accent:#fff;--shadow:0 1px 2px #1013160a,0 12px 32px #003c4014;--shadow-hover:0 2px 4px #1013160d,0 22px 48px #00464a29;--radius:16px;--header-h:4rem;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0c0e11;--bg-tint:#101318;--surface:#151920;--text:#eceef1;--text-muted:#a4abb4;--border:#232832;--accent:#3fd0c9;--accent-strong:#7ae6e0;--on-accent:#06201f;--shadow:0 1px 2px #0006,0 12px 32px #00000059;--shadow-hover:0 2px 4px #00000080,0 22px 48px #00000080}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;font-size:clamp(16px,10px + .4vw,26px)}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;user-select:none;margin:0;font-family:Geist,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1.0625rem;line-height:1.7}.about-text p,.card-body>p:not(.badge):not(.card-note),.contact-email strong,address{user-select:text}img{max-width:100%;height:auto;-webkit-user-drag:none;display:block}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}::selection{background:color-mix(in srgb,var(--accent)30%,transparent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.container{width:min(100% - 2.5rem,78rem);margin-inline:auto}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;background:color-mix(in srgb,var(--bg)82%,transparent);backdrop-filter:blur(14px)saturate(160%);-webkit-backdrop-filter:blur(14px)saturate(160%);border-bottom:1px solid color-mix(in srgb,var(--border)70%,transparent);position:sticky;top:0}.header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (max-width:40em){.header-inner{justify-content:center}}.brand{letter-spacing:-.02em;color:var(--text);white-space:nowrap;font-weight:700;text-decoration:none}@media (max-width:40em){.brand{display:none}}.nav-list{flex-wrap:wrap;gap:.25rem;display:flex}.nav-list a{color:var(--text-muted);border-radius:999px;padding:.4rem .85rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s,background-color .2s;display:block}.nav-list a:hover{color:var(--text);background:var(--bg-tint)}@media (max-width:40em){.nav-list a{padding:.4rem .6rem}}@media (max-width:24em){.nav-list a{padding:.4rem;font-size:.875rem}}.btn{font:inherit;text-align:center;white-space:nowrap;cursor:pointer;border:1.5px solid #0000;border-radius:999px;padding:.8rem 1.5rem;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s,border-color .2s,box-shadow .25s;display:inline-block}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px color-mix(in srgb,var(--accent)30%,transparent)}.btn--primary:hover{box-shadow:0 10px 26px color-mix(in srgb,var(--accent)40%,transparent)}.btn--ghost{border-color:var(--border);color:var(--text)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--light{color:#fff;border-color:#ffffff8c}.btn--light:hover{color:#04484d;background:#fff;border-color:#fff}.btn--small{padding:.55rem 1.15rem;font-size:.95rem}.hero{min-height:calc(100svh - var(--header-h));background:radial-gradient(48rem 28rem at 88% 0%,color-mix(in srgb,var(--accent)14%,transparent),transparent 70%),var(--bg);align-items:center;padding:3rem 0 4rem;display:flex}.hero-grid{align-items:center;gap:3rem;display:grid}@media (min-width:62em){.hero-grid{grid-template-columns:1.02fr 1fr;gap:4.5rem}}.eyebrow{color:var(--accent);margin-bottom:.75rem;font-weight:600}.hero-title{letter-spacing:-.035em;padding-bottom:.1em;font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:700;line-height:1.04}.hero-subtitle{max-width:34rem;color:var(--text-muted);margin-top:1.25rem;font-size:clamp(1.1rem,2.2vw,1.3rem);line-height:1.55}.hero-subtitle strong{color:var(--text);font-weight:600}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}@media (max-width:30em){.hero-actions .btn{flex:100%}}.hero-visual{position:relative}.hero-visual:before{content:"";z-index:-1;background:color-mix(in srgb,var(--accent)22%,transparent);filter:blur(60px);border-radius:50%;position:absolute;inset:8% 6% -6%}.hero-visual img{width:100%;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-hover)}.section{padding:6rem 0}@media (max-width:40em){.section{padding:4rem 0}}.section--tinted{background:var(--bg-tint)}.section-title{letter-spacing:-.03em;margin-bottom:2.5rem;font-size:clamp(1.9rem,4vw,2.75rem);font-weight:700;line-height:1.12}.about{align-items:center;gap:2.5rem;display:grid}@media (min-width:52em){.about{grid-template-columns:20rem 1fr;gap:4.5rem}}.about-photo{width:min(100%,20rem);aspect-ratio:1;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);margin-inline:auto}.about-text{max-width:38rem}.about-text .section-title{margin-bottom:1.5rem}.about-text p+p{margin-top:1.1rem}.about-personal{color:var(--text-muted)}.skills{grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:2.5rem 3rem;display:grid}.skill-group{border-top:1px solid var(--border);padding-top:1.25rem}.skill-group h3{letter-spacing:-.01em;margin-bottom:1rem;font-size:1rem;font-weight:600}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips li{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;padding:.3rem .85rem;font-size:.9rem;font-weight:500}@media (max-width:24em){.chips li{white-space:normal}}.chips--small li{color:var(--text-muted);background:0 0;padding:.15rem .65rem;font-size:.8rem}.cards{gap:2rem;display:grid}@media (min-width:60em){.cards{grid-template-columns:repeat(2,1fr)}.cards>.card:last-child:nth-child(2n){width:calc(50% - 1rem);grid-column:1/-1;justify-self:center}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .3s;display:flex;overflow:hidden}.card:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--border));box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-media{aspect-ratio:16/10;background:var(--bg-tint);display:block;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card-media:hover img{transform:scale(1.035)}.card-body{flex-direction:column;flex:1;gap:.9rem;padding:1.75rem;font-size:1rem;display:flex}.card-title{letter-spacing:-.02em;font-size:1.4rem;font-weight:700;line-height:1.25}.card-actions{flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.5rem;display:flex}.highlights{gap:.6rem;font-size:.95rem;display:grid}.highlights li{user-select:text;padding-left:1.1rem;position:relative}.highlights li:before{content:"";width:.4rem;height:.4rem;background:var(--accent);border-radius:50%;position:absolute;top:.7em;left:0}.card-note{color:var(--text-muted);font-size:.9rem}.card-media--brand{color:#fff;letter-spacing:-.03em;cursor:default;background:radial-gradient(24rem 14rem at 80% 0,#7ae6e047,#0000 70%),linear-gradient(135deg,#04363a 0%,#0a6f6a 100%);place-items:center;font-size:clamp(2rem,6vw,3.25rem);font-weight:700;text-decoration:none;display:grid}.card--featured .card-media{aspect-ratio:960/667}.card--featured .card-media img{object-fit:contain}@media (min-width:60em){.card--featured{flex-direction:row;grid-column:1/-1}.card--featured .card-media{flex:0 0 54%;align-self:center}}.badge{background:color-mix(in srgb,var(--accent)14%,transparent);color:var(--accent);border-radius:999px;align-self:flex-start;padding:.15rem .7rem;font-size:.8rem;font-weight:600}.badge--course{color:#8a6200;background:#e0a1002e}@media (prefers-color-scheme:dark){.badge--course{color:#f0c24a}}.contact{color:#fff;background:radial-gradient(40rem 20rem at 85% 0,#7ae6e038,#0000 70%),linear-gradient(135deg,#04363a 0%,#07524f 100%)}.contact-lead{max-width:36rem;color:#ffffffd9;margin-bottom:2rem}.contact-actions{flex-wrap:wrap;gap:.75rem;display:flex}.contact-email{color:#ffffffd9;overflow-wrap:anywhere;margin-top:1.75rem;font-size:.95rem}.contact-email strong{color:#fff;font-weight:600}.copy-btn{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1.5px solid #ffffff8c;border-radius:999px;margin-left:.5rem;padding:.2rem .85rem;font-size:.85rem;font-weight:600;transition:background-color .2s,color .2s}.copy-btn:hover{color:#04484d;background:#fff}.copy-btn:active{transform:scale(.97)}.footer{color:#a4abb4;background:#0a0c0f;padding:2rem 0;font-size:.9rem}.footer a{color:#fff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.js .reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}