:root{--ink: #102a32;--ink-soft: #3a555e;--paper: #f3f7f6;--panel: rgba(255, 255, 255, .72);--accent: #1f7a6c;--accent-deep: #0f4f46;--line: rgba(16, 42, 50, .12);--shadow: 0 18px 50px rgba(16, 42, 50, .08);--font-display: "Fraunces", Georgia, serif;--font-body: "Manrope", system-ui, sans-serif;--radius: 14px;--max: 44rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.65;position:relative}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(31,122,108,.22),transparent 55%),radial-gradient(ellipse 70% 45% at 100% 0%,rgba(47,110,140,.18),transparent 50%),linear-gradient(180deg,#e8f1ef,#f3f7f6 40%,#eef4f2);animation:drift 18s ease-in-out infinite alternate}@keyframes drift{0%{transform:scale(1) translateY(0)}to{transform:scale(1.04) translateY(-1.5%)}}a{color:var(--accent-deep);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f7f6c7;border-bottom:1px solid var(--line)}.topbar__brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.04em;color:var(--ink);text-decoration:none}.topbar__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem 1rem;font-size:.88rem;font-weight:600}.topbar__nav a{color:var(--ink-soft);text-decoration:none}.topbar__nav a:hover{color:var(--accent-deep)}main{width:min(100% - 2rem,var(--max));margin:0 auto;padding:1.5rem 0 3rem}.hero{padding:2.5rem 0 2rem;animation:rise .7s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero__place{margin:0 0 .5rem;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}.hero__name{margin:0;font-family:var(--font-display);font-size:clamp(2.35rem,8vw,3.6rem);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}.hero__lead{margin:1rem 0 1.5rem;max-width:36rem;font-size:1.05rem;color:var(--ink-soft)}.hero__actions{display:flex;flex-wrap:wrap;gap:.65rem}.hero__contact{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.35rem;font-size:.95rem;color:var(--ink-soft)}.hero__contact a{font-weight:600;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.1rem;border-radius:999px;font:inherit;font-size:.92rem;font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--accent-deep);color:#f7fbfa}.btn--primary:hover{background:var(--accent);color:#fff}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn--secondary:hover{border-color:var(--accent);color:var(--accent-deep)}.btn--ghost{padding:.35rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--ink)!important}.section{padding:1.75rem 0;border-top:1px solid var(--line);animation:rise .65s ease-out both;animation-delay:.12s}.section--last{padding-bottom:.5rem}.section h2{margin:0 0 1rem;font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.01em}.section>p{margin:0;color:var(--ink-soft)}.job{padding:1rem 0 1.25rem}.job+.job{border-top:1px dashed var(--line)}.job h3{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35}.job__meta{margin:.35rem 0 .65rem;font-size:.9rem;color:var(--accent-deep);font-weight:600}.job ul,.skills ul,.extra{margin:0;padding-left:1.15rem;color:var(--ink-soft)}.job li+li,.skills li+li{margin-top:.35rem}.skills{display:grid;gap:1.25rem}.skills h3{margin:0 0 .5rem;font-size:1rem}.extra{list-style:none;padding:0;margin:0 0 1.5rem}.extra li+li{margin-top:.4rem}.footer{width:min(100% - 2rem,var(--max));margin:0 auto;padding:1.5rem 0 2.5rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-soft)}.qr-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.qr-panel{width:min(100%,24rem);text-align:center;padding:1.75rem 1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .55s ease-out both}.qr-panel__eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}.qr-panel__title{margin:.5rem 0 1.25rem;font-family:var(--font-display);font-size:1.65rem;line-height:1.2}.qr-canvas{display:grid;place-items:center;min-height:240px;margin:0 auto 1rem}.qr-canvas canvas,.qr-canvas img{width:min(100%,240px);height:auto;border-radius:10px;background:#fff}.qr-panel__url{margin:0 0 .75rem;font-size:.78rem;word-break:break-all;color:var(--ink-soft)}.qr-panel__hint{margin:0 0 1.25rem;font-size:.92rem;color:var(--ink-soft)}.qr-panel .hero__actions{justify-content:center}@media(min-width:720px){.skills{grid-template-columns:1fr 1fr;gap:1.75rem}.topbar{padding-inline:2rem}main,.footer{width:min(100% - 3rem,var(--max))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.atmosphere,.hero,.section,.qr-panel,.btn{animation:none;transition:none}}
