:root{--bg:#F6F7F9;--surface:#FFFFFF;--ink:#0F1B2D;--muted:#4E5B70;--line:#DDE2E9;--accent:#1F4E79;--accent-ink:#FFFFFF;--gold:#9A6B12;--hero:#0F1B2D;--hero-ink:#E8EDF4;--hero-muted:#A9B6C8}
@media (prefers-color-scheme:dark){:root{--bg:#0B1220;--surface:#121B2B;--ink:#E6EBF2;--muted:#9AA7BA;--line:#223047;--accent:#86B6E6;--accent-ink:#0B1220;--gold:#D9AE5B;--hero:#070D18}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 "Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:64rem;margin:0 auto;padding:0 1.5rem}
a{color:var(--accent);text-underline-offset:.2em}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:"Inter Tight","Inter",system-ui,sans-serif;letter-spacing:-.02em;line-height:1.15}
header.site{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-top:.9rem;padding-bottom:.9rem}
.brand{font:700 1.15rem "Inter Tight","Inter",sans-serif;color:var(--ink);text-decoration:none;margin-right:auto;display:flex;flex-direction:column;line-height:1.2}
.brand span{font:500 .78rem "Inter",sans-serif;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
nav{display:flex;align-items:center;gap:1.5rem}
nav a{font-weight:500;font-size:.95rem;color:var(--muted);text-decoration:none}
nav a:hover{color:var(--ink)}
.btn{display:inline-block;font:600 1rem "Inter",sans-serif;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);padding:.75rem 1.4rem;border-radius:6px;text-decoration:none;transition:filter .15s}
.btn:hover{filter:brightness(1.12)}
nav a.btn,nav a.btn:hover{color:var(--accent-ink)}
.btn-sm{font-size:.9rem;padding:.5rem 1rem}
.btn-ghost{background:transparent;color:var(--accent)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 0}
section{padding:4.5rem 0;border-bottom:1px solid var(--line)}
h2{font-size:clamp(1.6rem,3.5vw,2.1rem);margin:0 0 2rem}
.hero{background:var(--hero);color:var(--hero-ink);padding:6rem 0 5.5rem;border:0}
.hero .eyebrow{font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hero-muted);margin:0 0 1.25rem}
.hero h1{font-size:clamp(2.3rem,6vw,3.9rem);margin:0 0 1.5rem;max-width:18ch;color:#fff}
.hero .lede{font-size:1.2rem;color:var(--hero-muted);max-width:40rem;margin:0}
.hero .btn{--accent:#FFFFFF;--accent-ink:#0F1B2D}
.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:2rem}
.card.featured{border-top:4px solid var(--gold)}
.card h3{font-size:1.4rem;margin:0 0 .75rem}
.card p{margin:0 0 1rem}
.card p:last-child{margin-bottom:0}
.tag{font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card .tag{margin-bottom:.5rem}
.price{font:700 2rem "Inter Tight","Inter",sans-serif;color:var(--ink)}
.price span{font:500 .95rem "Inter",sans-serif;color:var(--gold);margin-left:.35rem}
.skills{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}
.skills li,.timeline ul li{padding-left:1.4rem;position:relative}
.skills li::before,.timeline ul li::before{content:"";position:absolute;left:0;top:.65em;width:.5rem;height:.5rem;border-radius:2px;background:var(--accent)}
.about{max-width:44rem;margin:2.5rem 0 0;color:var(--muted);font-size:1.1rem}
.timeline{list-style:none;margin:0;padding:0}
.timeline>li{display:grid;grid-template-columns:9rem 1fr;gap:.25rem 2rem;padding:1.75rem 0;border-top:1px solid var(--line)}
.timeline>li:first-child{border-top:0;padding-top:0}
.timeline time{font-weight:600;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.2rem}
.timeline h3{font-size:1.2rem;margin:0 0 .4rem}
.timeline h3 span{display:block;font:500 1rem "Inter",sans-serif;color:var(--accent);letter-spacing:0;margin-top:.15rem}
.timeline p{margin:0;max-width:42rem;color:var(--muted)}
.timeline ul{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem;max-width:42rem;color:var(--muted)}
@media(max-width:40rem){.timeline>li{grid-template-columns:1fr}nav a:not(.btn){display:none}}
.contact{background:var(--surface);border-bottom:0}
.contact h2{margin-bottom:.75rem}
.contact p{max-width:40rem;color:var(--muted);margin:0}
.contact .cta{margin-top:1.75rem}
footer{padding:2rem 0;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
