:root { --bg-color:#08101f; --card-bg:rgba(17,28,49,.82); --card-hover:#1a2b48; --text-main:#f5f7fb; --text-muted:#a6b2c7; --accent:#63d4ff; --accent-glow:rgba(99,212,255,.26); --radius:22px; --surface-border:rgba(203,225,255,.12); }
html { scroll-behavior:smooth; scroll-padding-top:6rem; }
body { min-width:320px; min-height:100vh; padding:1.25rem 1.25rem 3rem; background:radial-gradient(circle at 8% -15%,rgba(56,189,248,.22),transparent 32rem),radial-gradient(circle at 100% 15%,rgba(99,102,241,.16),transparent 26rem),var(--bg-color); letter-spacing:-.01em; }
body::before { position:fixed; inset:0; z-index:-1; content:''; pointer-events:none; opacity:.35; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:44px 44px; }
a:focus-visible, iframe:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.skip-link { position:fixed; top:.75rem; left:.75rem; z-index:20; padding:.75rem 1rem; color:#00121b; background:var(--accent); border-radius:.5rem; transform:translateY(-180%); transition:transform .2s ease; }.skip-link:focus { transform:translateY(0); color:#00121b; }
.site-header { width:min(1200px,100%); min-height:4.5rem; margin:0 auto 1.25rem; padding:.7rem .8rem .7rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--surface-border); border-radius:1rem; background:rgba(8,16,31,.72); box-shadow:0 .5rem 2.25rem rgba(0,0,0,.14); backdrop-filter:blur(18px); }
.brand,.site-nav { display:flex; align-items:center; gap:.65rem; }.brand { color:var(--text-main); font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:600; letter-spacing:-.03em; }.brand:hover { color:var(--text-main); }.brand-mark { width:2.25rem; height:2.25rem; display:grid; place-items:center; color:#00121b; background:linear-gradient(135deg,#b3ecff,var(--accent)); border-radius:.68rem; font-size:.68rem; font-weight:800; letter-spacing:-.08em; }.site-nav { gap:.15rem; }.site-nav>a { padding:.58rem .74rem; color:var(--text-muted); font-size:.86rem; font-weight:500; border-radius:.55rem; }.site-nav>a:hover { color:var(--text-main); background:rgba(255,255,255,.07); }.site-nav .nav-contact { margin-left:.4rem; color:#00121b; background:var(--accent); }.site-nav .nav-contact:hover { color:#00121b; background:#a6eaff; }
.bento-container { gap:1.25rem; }.bento-card { position:relative; overflow:hidden; padding:clamp(1.35rem,3vw,2.25rem); border:1px solid var(--surface-border); background:var(--card-bg); box-shadow:0 1.25rem 3.5rem rgba(0,0,0,.16); backdrop-filter:blur(12px); }.bento-card:hover { transform:translateY(-3px); box-shadow:0 1.5rem 3.75rem rgba(0,0,0,.24),0 0 0 1px rgba(99,212,255,.19); }
.hero-card { min-height:27rem; padding:clamp(2rem,5vw,4.25rem); background:linear-gradient(128deg,rgba(22,39,67,.96),rgba(9,17,32,.88)); }.hero-card::after { position:absolute; right:-6rem; bottom:-9rem; width:24rem; height:24rem; content:''; border-radius:50%; background:radial-gradient(circle,rgba(99,212,255,.24),transparent 67%); pointer-events:none; }.eyebrow { display:inline-flex; align-items:center; gap:.5rem; margin:0 0 1rem; color:#c5d0e0; font-size:.72rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }.eyebrow span { width:.45rem; height:.45rem; border-radius:50%; background:#5ee8a3; box-shadow:0 0 0 .25rem rgba(94,232,163,.12); }.hero-title { max-width:680px; margin-bottom:1.25rem; font-size:clamp(3rem,6vw,5.7rem); letter-spacing:-.07em; }.hero-subtitle { margin-bottom:1.3rem; color:var(--accent); font-size:clamp(1rem,2vw,1.22rem); letter-spacing:.01em; }.hero-copy { max-width:39rem; color:var(--text-muted); font-size:1rem; }.hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.9rem; padding:.7rem 1rem; border:1px solid transparent; border-radius:.75rem; font-size:.9rem; font-weight:600; transition:transform .2s ease,background-color .2s ease,border-color .2s ease; }.button:hover { transform:translateY(-2px); }.button-primary { color:#00121b; background:var(--accent); }.button-primary:hover { color:#00121b; background:#b3edff; }.button-secondary { color:var(--text-main); border-color:rgba(213,232,255,.2); background:rgba(255,255,255,.04); }.button-secondary:hover { color:var(--text-main); border-color:rgba(99,212,255,.55); background:rgba(99,212,255,.1); }
.contact-card { align-items:flex-start; text-align:left; }.profile-img { width:6.1rem; height:6.1rem; margin-bottom:1.3rem; border-color:rgba(99,212,255,.58); box-shadow:0 0 0 .45rem rgba(99,212,255,.08),0 .9rem 2.5rem rgba(0,0,0,.25); }.contact-kicker { margin:0 0 .4rem; color:var(--accent); font-size:.77rem; font-weight:600; }.contact-card h2 { max-width:15rem; font-size:clamp(1.45rem,2.5vw,2rem); line-height:1.2; letter-spacing:-.04em; }.contact-details { margin-top:1.15rem; font-size:.85rem; }.contact-details p { display:flex; align-items:flex-start; gap:.5rem; margin:.45rem 0; overflow-wrap:anywhere; }.contact-details i { margin-top:.17rem; color:var(--accent); font-size:1rem; }.contact-details a { color:var(--text-muted); }.contact-details a:hover { color:var(--accent); }.social-links { gap:.55rem; margin-top:auto; padding-top:1.4rem; }.social-links a { width:2.5rem; height:2.5rem; color:var(--text-main); border:1px solid rgba(217,235,255,.13); background:rgba(255,255,255,.045); font-size:1.25rem; }.social-links a:hover { transform:translateY(-2px); color:#00121b; background:var(--accent); }
.card-title { margin-bottom:1.35rem; color:#d7e0ed; font-size:.76rem; font-weight:600; letter-spacing:.12em; }.timeline-item { padding:.1rem 0 1.45rem 1.5rem; margin-bottom:.8rem; border-left-color:rgba(147,178,214,.22); }.timeline-item:last-child { padding-bottom:0; margin-bottom:0; }.timeline-item::before { left:-5px; top:.38rem; width:.55rem; height:.55rem; box-shadow:0 0 0 .28rem rgba(99,212,255,.1); }.timeline-item h4 { margin-bottom:.25rem; font-size:1.05rem; letter-spacing:-.02em; }.timeline-item .company { margin-bottom:.1rem; color:var(--accent); }.timeline-item .date { font-size:.83rem; line-height:1.5; }
.skills-wrapper { gap:.55rem; }.skill-tag { padding:.5rem .78rem; color:#c7efff; border-radius:.55rem; border-color:rgba(99,212,255,.22); background:rgba(99,212,255,.075); font-size:.84rem; transition:background-color .2s ease,transform .2s ease; }.skill-tag:hover { transform:translateY(-2px); background:rgba(99,212,255,.17); }
.portfolio-card { padding-bottom:clamp(1.35rem,3vw,2.25rem); }.portfolio-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.5rem; }.portfolio-heading .card-title { margin:0; font-size:clamp(1.35rem,3vw,2rem); color:var(--text-main); letter-spacing:-.04em; text-transform:none; }.portfolio-heading .card-title i { color:var(--accent); }.portfolio-heading>p { max-width:20rem; color:var(--text-muted); font-size:.88rem; }.portfolio-scroll-container { max-height:none; overflow:visible; padding-right:0; }.iframe-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }.iframe-wrapper { height:31rem; border:1px solid rgba(210,228,255,.12); border-radius:.9rem; box-shadow:0 .7rem 1.6rem rgba(0,0,0,.16); transition:transform .25s ease,box-shadow .25s ease; }.iframe-wrapper:hover { transform:translateY(-3px); box-shadow:0 1rem 2rem rgba(0,0,0,.25); }
@media (max-width:700px) { body { padding:.75rem .75rem 2.25rem; }.site-header { align-items:flex-start; padding:.7rem; }.site-nav { justify-content:flex-end; flex-wrap:wrap; gap:0; }.site-nav>a { padding:.44rem .5rem; font-size:.76rem; }.site-nav .nav-contact { margin-left:0; }.hero-card { min-height:auto; }.hero-title { font-size:clamp(2.75rem,16vw,4rem); }.portfolio-heading { display:block; }.portfolio-heading>p { margin-top:.65rem; }.iframe-wrapper { height:29rem; } }
@media (max-width:420px) { .site-header { gap:.55rem; }.brand>span:last-child { display:none; }.site-nav { gap:.1rem; }.site-nav>a { padding:.4rem; }.site-nav .nav-contact { display:none; }.hero-actions { display:grid; grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
