:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{min-height:100vh}a{color:inherit}#root{width:100%}.portfolio-shell{--bg: #f4f7fb;--card: rgba(255, 255, 255, .88);--ink: #11203a;--muted: #51627d;--line: rgba(17, 32, 58, .1);--accent: #0b6bcb;--accent-2: #13a0a8;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(19,160,168,.18),transparent 45%),radial-gradient(circle at 85% 15%,rgba(11,107,203,.18),transparent 45%),linear-gradient(180deg,#f8fbff 0%,var(--bg) 100%);padding:3rem 1.25rem 4rem}.hero,.projects{width:min(1100px,100%);margin:0 auto}.hero{background:linear-gradient(135deg,#ffffffeb,#f7fcffd1);border:1px solid var(--line);border-radius:24px;padding:2rem;box-shadow:0 18px 50px #10234214;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.eyebrow{margin:0;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.hero h1{margin:.65rem 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.08;text-wrap:balance}.hero-copy{margin:1rem 0 0;max-width:62ch;color:var(--muted);font-size:1.03rem}.hero-actions{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.7rem 1rem;font-weight:600;border:1px solid transparent;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent),#074ea3);color:#fff;box-shadow:0 10px 24px #0b6bcb40}.btn-secondary{background:#ffffffbf;color:var(--ink);border-color:var(--line)}.projects{margin-top:2rem}.section-header h2{margin:0;font-size:1.6rem}.section-header p{margin:.45rem 0 0;color:var(--muted)}.project-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 10px 28px #1023420d}.project-category{margin:0;color:var(--accent);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.project-card h3{margin:.55rem 0 0;font-size:1.15rem;line-height:1.25;min-height:2.9rem}.project-media{margin-top:.8rem}.media-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.media-strip-1{grid-template-columns:1fr}.media-strip-2{grid-template-columns:repeat(2,minmax(0,1fr))}.media-frame{margin:0;background:#fffffff2;border:1px solid var(--line);border-radius:12px;overflow:hidden}.media-frame img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#eef3fb}.media-frame figcaption{padding:.4rem .5rem;font-size:.72rem;color:var(--muted);border-top:1px solid var(--line)}.media-placeholder{min-height:132px;border-radius:12px;border:1px dashed rgba(11,107,203,.25);background:linear-gradient(135deg,#0b6bcb0f,#13a0a814),repeating-linear-gradient(-45deg,#11203a08 0 8px,#11203a03 8px 16px);display:grid;place-items:center;text-align:center;padding:.75rem;color:var(--muted);font-weight:600;font-size:.88rem}.project-summary{margin:.8rem 0 0;color:var(--muted);min-height:4.8rem}.resource-list{margin:1rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:auto}.resource-list a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border-radius:10px;padding:.55rem .7rem;background:#11203a09;border:1px solid var(--line);text-decoration:none;color:#223650;font-size:.84rem;font-weight:600}.resource-list a:hover{border-color:#0b6bcb4d;color:var(--accent)}.resource-list a span{color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media(max-width:960px){.project-grid,.media-strip{grid-template-columns:1fr}.project-summary,.project-card h3{min-height:0}}@media(prefers-reduced-motion:reduce){.btn{transition:none}}
