@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-1: #eef6ff;--bg-2: #d9e9ff;--wash: rgba(37, 99, 235, .14);--text: #0f2747;--muted: #37526f;--soft: #61738a;--accent: #1d4ed8;--accent-soft: rgba(29, 78, 216, .09);--accent-border: rgba(49, 91, 220, .22);--panel: rgba(255, 255, 255, .86);--panel-strong: #1e3a8a;--panel-strong-text: #f8fafc;--border: rgba(23, 32, 51, .1);--shadow: 0 24px 80px rgba(23, 32, 51, .08);--radius-card: 14px;--radius-inner: 10px;--content-width: 980px;--page-pad: 16px;--gap: 12px;--card-pad: 16px;--hero-pad: 22px;--h1-size: clamp(2.2rem, 6vw, 4.1rem);--h2-size: 1.08rem;--h3-size: .94rem;--body-size: 13.5px;--body-leading: 1.42;color:var(--text);background:var(--bg-2);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:var(--body-size);background:radial-gradient(circle at top left,var(--wash),transparent 34rem),linear-gradient(135deg,var(--bg-1) 0%,var(--bg-2) 100%);transition:background .16s ease,color .16s ease}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Space Grotesk,Inter,sans-serif;letter-spacing:-.04em}h1{max-width:9ch;font-size:var(--h1-size);line-height:.9}h2{font-size:var(--h2-size);line-height:1}h3{font-size:var(--h3-size)}ul{margin:1rem 0 0;padding-left:1.1rem}li+li{margin-top:.28rem}.site-shell{width:min(var(--content-width),calc(100% - 32px));margin:0 auto;padding:var(--page-pad) 0}.card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:calc(var(--gap) + 6px);padding:var(--hero-pad);overflow:hidden;position:relative}.eyebrow{margin-bottom:.55rem;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.intro{max-width:68ch;margin-top:1rem;color:var(--muted);font-size:1rem;line-height:1.55}.hero-side{align-self:end;display:grid;gap:.75rem;position:relative;z-index:1}.profile-photo{position:relative;display:block;width:104px;height:124px;justify-self:center;overflow:hidden;border:2px solid rgba(248,250,252,.4);border-radius:var(--radius-inner);padding:0;background:#f8fafc1f;box-shadow:0 14px 32px #0713263d;cursor:pointer}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:top;filter:blur(12px) saturate(.75);transform:scale(1.12) rotate(-2deg);transition:filter .42s ease,transform .42s cubic-bezier(.2,1.25,.35,1)}.profile-photo span{position:absolute;inset:auto 8px 8px;border-radius:999px;padding:.35rem .45rem;background:#0f2747db;color:#fff;font-size:.68rem;font-weight:800;text-align:center;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease}.profile-photo:hover span,.profile-photo:focus-visible span{opacity:1;transform:translateY(0)}.profile-photo.is-revealed img{filter:blur(0) saturate(1.04);transform:scale(1) rotate(0)}.profile-photo.is-revealed span{opacity:0;transform:translateY(8px);pointer-events:none}.contact-panel{display:grid;gap:.72rem;padding:.85rem;border-radius:var(--radius-inner);background:var(--panel-strong);color:var(--panel-strong-text);font-size:.88rem;text-align:center}.contact-panel a{color:var(--panel-strong-text)}.contact-panel a:hover{color:var(--accent)}.print-button{margin-top:.25rem;border:0;border-radius:999px;padding:.62rem .85rem;background:var(--panel-strong-text);color:var(--panel-strong);font:inherit;font-weight:800;cursor:pointer}.grid-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap);margin-top:var(--gap)}.main-column,.side-column{display:grid;gap:var(--gap);align-content:start}.section-block{padding:var(--card-pad)}.section-heading{margin-bottom:1rem}.timeline-item{display:grid;grid-template-columns:145px minmax(0,1fr);gap:var(--gap);padding-top:1rem;border-top:1px solid var(--border)}.timeline-item+.timeline-item,.compact-item+.compact-item{margin-top:1rem}.timeline-meta{display:grid;gap:.25rem;align-content:start;color:var(--soft);font-size:.82rem}.timeline-meta strong{color:var(--text)}.timeline-item p,.compact-item p,.timeline-item li{color:var(--muted);line-height:var(--body-leading)}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.tag-list span{position:relative;overflow:hidden;border:1px solid var(--accent-border);border-radius:999px;padding:.36rem .58rem;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.78rem;transition:background .16s ease,border-color .16s ease}.glow-tags span:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:radial-gradient(112px circle at var(--glow-x, 50%) var(--glow-y, 50%),rgba(186,230,253,1),rgba(96,165,250,.72) 34%,rgba(37,99,235,.28) 58%,transparent 78%);opacity:0;transition:opacity .18s ease;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.glow-tags:hover span{background:#1d4ed81f;border-color:#3b82f65c}.glow-tags:hover span:before{opacity:1}.language-list{display:grid;gap:.65rem;margin:0}.language-list div{display:flex;justify-content:space-between;gap:1rem}.language-list dt{font-weight:800}.language-list dd{margin:0;color:var(--soft);text-align:right}@media (max-width: 840px){.hero,.grid-layout,.timeline-item{grid-template-columns:1fr}.contact-panel{align-self:stretch}.timeline-item{gap:.8rem}}@media print{@page{size:A4;margin:12mm}:root,body{background:#fff;color:#111827}body{font-size:10pt}.site-shell{width:100%;padding:0}.card{border:0;border-radius:0;box-shadow:none;background:#fff}.hero{grid-template-columns:1fr 56mm;padding:0 0 8mm;border-bottom:1px solid #d1d5db}.hero:after,.profile-photo,.print-button{display:none}h1{font-size:42pt}h2{font-size:14pt}.intro,.timeline-item p,.compact-item p,.timeline-item li{color:#374151;line-height:1.45}.contact-panel{padding:0;background:transparent;color:#111827;font-size:9pt}.contact-panel a{color:#111827}.grid-layout{grid-template-columns:1fr 62mm;gap:8mm;margin-top:7mm}.main-column,.side-column{gap:6mm}.section-block{padding:0}.section-heading{margin-bottom:3mm}.eyebrow{margin-bottom:1mm}.timeline-item{grid-template-columns:34mm 1fr;gap:5mm;padding-top:3mm}.timeline-item+.timeline-item,.compact-item+.compact-item{margin-top:4mm}.tag-list span{border-color:#d1d5db;background:#fff;color:#111827}}
