/* ============================================================
   PORTFOLIO — style.css
   Greyscale theme · Glassmorphism · Smooth animations
   ============================================================ */

/* -------- CSS CUSTOM PROPERTIES (DARK DEFAULT) -------- */

:root {
  --clr-bg: #0e0e0e;
  --clr-bg-alt: #161616;
  --clr-surface: #1e1e1e;
  --clr-surface-alt: #272727;
  --clr-border: #333333;
  --clr-text: #e8e8e8;
  --clr-text-muted: #999999;
  --clr-text-heading: #ffffff;
  --clr-accent: #c0c0c0;
  --clr-accent-glow: rgba(192,192,192,0.15);
  --glass-bg: rgba(30,30,30,0.6);
  --glass-border: rgba(255,255,255,0.08);
  --glass-blur: 16px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.25);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.35);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.45);
  --shadow-glow: 0 0 30px rgba(192,192,192,0.08);
  --ff-sans: 'Inter', system-ui, sans-serif;
  --ff-mono: 'JetBrains Mono', monospace;
  --section-py: 100px;
  --container-max: 1200px;
  --t-fast: 0.2s ease;
  --t-normal: 0.35s ease;
  --t-slow: 0.6s ease;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 100px;
}

:root {
  --clr-bg: #0e0e0e;
  --clr-bg-alt: #161616;
  --clr-surface: #1e1e1e;
  --clr-surface-alt: #272727;
  --clr-border: #333333;
  --clr-text: #e8e8e8;
  --clr-text-muted: #999999;
  --clr-text-heading: #ffffff;
  --clr-accent: #c0c0c0;
  --clr-accent-glow: rgba(192,192,192,0.15);
  --glass-bg: rgba(30,30,30,0.6);
  --glass-border: rgba(255,255,255,0.08);
  --glass-blur: 16px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.25);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.35);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.45);
  --shadow-glow: 0 0 30px rgba(192,192,192,0.08);
  --ff-sans: 'Inter', system-ui, sans-serif;
  --ff-mono: 'JetBrains Mono', monospace;
  --section-py: 100px;
  --container-max: 1200px;
  --t-fast: 0.2s ease;
  --t-normal: 0.35s ease;
  --t-slow: 0.6s ease;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 100px;
}

:root{
  --clr-bg: #0e0e0e;
  --clr-bg-alt: #161616;
  --clr-surface: #1e1e1e;
  --clr-surface-alt: #272727;
  --clr-border: #333333;
  --clr-text: #e8e8e8;
  --clr-text-muted: #999999;
  --clr-text-heading: #ffffff;
  --clr-accent: #c0c0c0;
  --clr-accent-glow: rgba(192,192,192,0.15);
  --glass-bg: rgba(30,30,30,0.6);
  --glass-border: rgba(255,255,255,0.08);
  --glass-blur: 16px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.25);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.35);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.45);
  --shadow-glow: 0 0 30px rgba(192,192,192,0.08);
  --ff-sans: 'Inter', system-ui, sans-serif;
  --ff-mono: 'JetBrains Mono', monospace;
  --section-py: 100px;
  --container-max: 1200px;
  --t-fast: 0.2s ease;
  --t-normal: 0.35s ease;
  --t-slow: 0.6s ease;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 100px;
}

[data-theme="light"] {
  --clr-bg: #f5f5f5;
  --clr-bg-alt: #eeeeee;
  --clr-surface: #ffffff;
  --clr-surface-alt: #f0f0f0;
  --clr-border: #d4d4d4;
  --clr-text: #2a2a2a;
  --clr-text-muted: #777777;
  --clr-text-heading: #111111;
  --clr-accent: #555555;
  --clr-accent-glow: rgba(85,85,85,0.1);
  --glass-bg: rgba(255,255,255,0.65);
  --glass-border: rgba(0,0,0,0.06);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.12);
  --shadow-glow: 0 0 30px rgba(0,0,0,0.04);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}
body{font-family:var(--ff-sans);background:var(--clr-bg);color:var(--clr-text);line-height:1.7;overflow-x:hidden;transition:background var(--t-normal),color var(--t-normal)}
a{color:inherit;text-decoration:none;transition:color var(--t-fast)}
ul{list-style:none}
img{max-width:100%;display:block}
.container{width:90%;max-width:var(--container-max);margin:0 auto}
.section{padding:var(--section-py) 0;position:relative}

/* -------- SECTION HEADERS -------- */
.section__header{text-align:center;margin-bottom:60px}
.section__label{display:inline-block;font-family:var(--ff-mono);font-size:.85rem;color:var(--clr-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.section__title{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--clr-text-heading);line-height:1.2}
.section__divider{width:60px;height:3px;background:linear-gradient(90deg,var(--clr-accent),transparent);margin:16px auto 0;border-radius:2px}

/* -------- BUTTONS -------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:var(--ff-sans);font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--t-normal);position:relative;overflow:hidden}
.btn i,.btn svg{width:18px;height:18px}
.btn--primary{background:var(--clr-text-heading);color:var(--clr-bg);box-shadow:var(--shadow-sm)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}
.btn--outline{background:transparent;color:var(--clr-text-heading);border:1.5px solid var(--clr-border)}
.btn--outline:hover{background:var(--clr-surface);border-color:var(--clr-accent);transform:translateY(-2px)}
.btn--full{width:100%;justify-content:center}
.btn--sm{padding:10px 20px;font-size:.85rem}

/* -------- LOADER -------- */
.loader{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--clr-bg);transition:opacity .5s,visibility .5s}
.loader.hidden{opacity:0;visibility:hidden}
.loader__ring{width:50px;height:50px;position:relative}
.loader__ring-segment{position:absolute;width:100%;height:100%;border:2px solid transparent;border-top-color:var(--clr-text-heading);border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}
.loader__ring-segment:nth-child(2){animation-delay:-.15s;width:80%;height:80%;top:10%;left:10%}
.loader__ring-segment:nth-child(3){animation-delay:-.3s;width:60%;height:60%;top:20%;left:20%}
@keyframes spin{to{transform:rotate(360deg)}}
.loader__text{margin-top:20px;font-family:var(--ff-mono);font-size:.85rem;color:var(--clr-text-muted);letter-spacing:3px;text-transform:uppercase}

/* -------- NAVBAR -------- */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 0;transition:all var(--t-normal)}
.navbar.scrolled{padding:10px 0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}
.navbar__container{width:90%;max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.navbar__logo{font-family:var(--ff-mono);font-size:1.3rem;font-weight:700;color:var(--clr-text-heading);letter-spacing:-.5px}
.navbar__links{display:flex;align-items:center;gap:8px}
.navbar__link{padding:8px 18px;font-size:.9rem;font-weight:500;color:var(--clr-text-muted);border-radius:var(--radius-full);transition:all var(--t-fast)}
.navbar__link:hover,.navbar__link.active{color:var(--clr-text-heading);background:var(--clr-accent-glow)}
.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--clr-border);background:var(--clr-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);position:relative;margin-left:8px}
.theme-toggle:hover{border-color:var(--clr-accent);transform:rotate(20deg)}
.theme-toggle__icon{width:18px;height:18px;position:absolute;transition:opacity var(--t-normal),transform var(--t-normal)}
.theme-toggle__icon--light{opacity:0;transform:rotate(-90deg) scale(0)}
[data-theme="light"] .theme-toggle__icon--dark{opacity:0;transform:rotate(90deg) scale(0)}
[data-theme="light"] .theme-toggle__icon--light{opacity:1;transform:rotate(0) scale(1)}
.navbar__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:1001}
.navbar__hamburger span{width:24px;height:2px;background:var(--clr-text-heading);border-radius:2px;transition:all var(--t-normal)}
.navbar__hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navbar__hamburger.active span:nth-child(2){opacity:0}
.navbar__hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* -------- HERO -------- */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,var(--clr-surface) 0%,var(--clr-bg) 60%)}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__content{position:relative;z-index:1;text-align:center;padding:0 20px}
.hero__greeting{display:inline-block;font-family:var(--ff-mono);font-size:clamp(.9rem,2vw,1.1rem);color:var(--clr-accent);margin-bottom:12px;letter-spacing:2px}
.hero__name{font-size:clamp(3.5rem,10vw,7rem);font-weight:800;color:var(--clr-text-heading);line-height:1;margin-bottom:20px;letter-spacing:-2px;background:linear-gradient(135deg,var(--clr-text-heading) 0%,var(--clr-text-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__tagline{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--clr-text-muted);margin-bottom:10px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.hero__tagline-divider{color:var(--clr-border);font-weight:300}
.hero__tagline-typed{color:var(--clr-text-heading);font-weight:500}
.hero__cursor{color:var(--clr-accent);animation:blink 1s step-end infinite;font-weight:100}
@keyframes blink{50%{opacity:0}}
.hero__description{font-size:1.05rem;color:var(--clr-text-muted);max-width:500px;margin:0 auto 36px}
.hero__cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero__scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:1;animation:float 2.5s ease-in-out infinite}
.hero__scroll-indicator a{color:var(--clr-text-muted);transition:color var(--t-fast)}
.hero__scroll-indicator a:hover{color:var(--clr-text-heading)}
@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}

/* -------- ABOUT -------- */
.about{background:var(--clr-bg-alt)}
.about__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}
.about__image-wrapper{position:relative}
.about__image-frame{width:100%;aspect-ratio:1;border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1;box-shadow:var(--shadow-md)}
.about__image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--t-slow)}
.about__image-wrapper:hover .about__image{transform:scale(1.05)}
.about__image-decoration{position:absolute;width:100%;height:100%;top:20px;left:20px;border-radius:var(--radius-lg);border:2px solid var(--clr-border);z-index:0}
.about__subtitle{font-size:1.4rem;font-weight:700;color:var(--clr-text-heading);margin-bottom:16px}
.about__text{color:var(--clr-text-muted);margin-bottom:16px;line-height:1.8}
.about__text strong{color:var(--clr-text-heading);font-weight:600}
.about__info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 32px}
.about__info-item{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);transition:all var(--t-fast)}
.about__info-item:hover{border-color:var(--clr-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.about__info-item i,.about__info-item svg{width:20px;height:20px;color:var(--clr-accent);flex-shrink:0}
.about__info-label{display:block;font-size:.75rem;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:1px}
.about__info-value{display:block;font-weight:600;color:var(--clr-text-heading);font-size:.9rem}

/* -------- SKILLS -------- */
.skills__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}
.skill-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:28px 24px;text-align:center;transition:all var(--t-normal);position:relative;overflow:hidden}
.skill-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--clr-accent),transparent);opacity:0;transition:opacity var(--t-normal)}
.skill-card:hover{transform:translateY(-6px);border-color:var(--clr-accent);box-shadow:var(--shadow-md),var(--shadow-glow)}
.skill-card:hover::before{opacity:1}
.skill-card__icon{font-size:2.2rem;margin-bottom:14px;display:block}
.skill-card__name{font-weight:600;color:var(--clr-text-heading);font-size:1rem;margin-bottom:12px}
.skill-card__bar{width:100%;height:4px;background:var(--clr-surface-alt);border-radius:2px;overflow:hidden}
.skill-card__bar-fill{height:100%;background:linear-gradient(90deg,var(--clr-accent),var(--clr-text-heading));border-radius:2px;width:0;transition:width 1.5s cubic-bezier(.25,.8,.25,1)}
.skill-card__level{margin-top:8px;font-size:.78rem;color:var(--clr-text-muted);font-family:var(--ff-mono)}

/* -------- PROJECTS -------- */
.projects{background:var(--clr-bg-alt)}
.projects__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
.project-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--t-normal);display:flex;flex-direction:column}
.project-card:hover{transform:translateY(-8px);border-color:var(--clr-accent);box-shadow:var(--shadow-lg),var(--shadow-glow)}
.project-card__image{width:100%;height:200px;background:var(--clr-surface-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.project-card__image-icon{color:var(--clr-text-muted)}
.project-card__image-icon svg,.project-card__image-icon i{width:48px;height:48px;stroke-width:1px}
.project-card__body{padding:28px;flex:1;display:flex;flex-direction:column}
.project-card__title{font-size:1.2rem;font-weight:700;color:var(--clr-text-heading);margin-bottom:10px}
.project-card__description{font-size:.92rem;color:var(--clr-text-muted);line-height:1.7;margin-bottom:18px;flex:1}
.project-card__tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.project-card__tech-tag{font-family:var(--ff-mono);font-size:.75rem;padding:4px 12px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-full);color:var(--clr-accent);transition:all var(--t-fast)}
.project-card:hover .project-card__tech-tag{border-color:var(--clr-accent)}
.project-card__links{display:flex;gap:12px}
.project-card__link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:var(--clr-text-heading);padding:8px 18px;border:1px solid var(--clr-border);border-radius:var(--radius-full);transition:all var(--t-fast)}
.project-card__link:hover{background:var(--clr-text-heading);color:var(--clr-bg);border-color:var(--clr-text-heading)}
.project-card__link i,.project-card__link svg{width:15px;height:15px}

/* -------- CONTACT -------- */
.contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.contact__info-title{font-size:1.6rem;font-weight:700;color:var(--clr-text-heading);margin-bottom:14px}
.contact__info-text{color:var(--clr-text-muted);line-height:1.8;margin-bottom:32px}
.contact__details{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.contact__detail-item{display:flex;align-items:center;gap:16px}
.contact__detail-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--clr-surface);border:1px solid var(--clr-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--t-fast)}
.contact__detail-icon:hover{border-color:var(--clr-accent);transform:translateY(-2px)}
.contact__detail-icon i,.contact__detail-icon svg{width:20px;height:20px;color:var(--clr-accent)}
.contact__detail-label{display:block;font-size:.75rem;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:1px}
.contact__detail-value{font-weight:600;color:var(--clr-text-heading)}
.contact__socials{display:flex;gap:14px}
.contact__social-link{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-muted);transition:all var(--t-normal)}
.contact__social-link:hover{background:var(--clr-text-heading);color:var(--clr-bg);border-color:var(--clr-text-heading);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.contact__social-link svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}
.contact__form{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md)}
.form__group{margin-bottom:22px}
.form__label{display:block;font-size:.85rem;font-weight:600;color:var(--clr-text-heading);margin-bottom:8px}
.form__input{width:100%;padding:14px 18px;font-family:var(--ff-sans);font-size:.95rem;color:var(--clr-text);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);transition:all var(--t-fast);outline:none;resize:vertical}
.form__input::placeholder{color:var(--clr-text-muted);opacity:.6}
.form__input:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px var(--clr-accent-glow)}
.form__input.error{border-color:#e74c3c}
.form__textarea{min-height:128px}
.form__error{display:block;font-size:.78rem;color:#e74c3c;margin-top:6px;min-height:18px}
.form__success{display:none;align-items:center;gap:10px;margin-top:16px;padding:14px 18px;background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);border-radius:var(--radius-md);color:#2ecc71;font-size:.9rem;font-weight:500}
.form__success.show{display:flex}
.form__success i,.form__success svg{width:20px;height:20px;flex-shrink:0}

/* -------- FOOTER -------- */
.footer{background:var(--clr-bg-alt);border-top:1px solid var(--clr-border);padding:40px 0}
.footer__content{text-align:center}
.footer__logo{font-family:var(--ff-mono);font-size:1.2rem;font-weight:700;color:var(--clr-text-heading);display:inline-block;margin-bottom:10px}
.footer__text{font-size:.9rem;color:var(--clr-text-muted);margin-bottom:4px}
.footer__copyright{font-size:.8rem;color:var(--clr-text-muted);opacity:.7}

/* -------- BACK TO TOP -------- */
.back-to-top{position:fixed;bottom:30px;right:30px;width:46px;height:46px;border-radius:50%;background:var(--clr-text-heading);color:var(--clr-bg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--t-normal);box-shadow:var(--shadow-md);z-index:100}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.back-to-top i,.back-to-top svg{width:20px;height:20px}

/* -------- REVEAL ANIMATIONS -------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.25,.8,.25,1),transform .8s cubic-bezier(.25,.8,.25,1)}
.reveal--left{transform:translateX(-40px) translateY(0)}
.reveal--right{transform:translateX(40px) translateY(0)}
.reveal.visible{opacity:1;transform:translate(0,0)}
.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(1){transition-delay:.05s}
.reveal-stagger.visible>*:nth-child(2){transition-delay:.1s}
.reveal-stagger.visible>*:nth-child(3){transition-delay:.15s}
.reveal-stagger.visible>*:nth-child(4){transition-delay:.2s}
.reveal-stagger.visible>*:nth-child(5){transition-delay:.25s}
.reveal-stagger.visible>*:nth-child(6){transition-delay:.3s}
.reveal-stagger.visible>*:nth-child(7){transition-delay:.35s}
.reveal-stagger.visible>*:nth-child(8){transition-delay:.4s}
.reveal-stagger.visible>*:nth-child(9){transition-delay:.45s}
.reveal-stagger.visible>*:nth-child(10){transition-delay:.5s}

/* -------- RESPONSIVE -------- */
@media(max-width:1024px){
  .about__grid{grid-template-columns:1fr;gap:40px}
  .about__image-wrapper{max-width:320px;margin:0 auto}
  .contact__grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:768px){
  :root{--section-py:70px}
  .navbar__links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--clr-bg);border-left:1px solid var(--clr-border);flex-direction:column;justify-content:center;gap:6px;padding:30px;transition:right var(--t-normal);z-index:1000}
  .navbar__links.active{right:0}
  .navbar__link{font-size:1.1rem;padding:14px 20px;width:100%;text-align:center}
  .navbar__hamburger{display:flex}
  .hero__name{font-size:clamp(2.8rem,12vw,5rem)}
  .hero__tagline{flex-direction:column;gap:4px}
  .hero__tagline-divider{display:none}
  .projects__grid{grid-template-columns:1fr}
  .skills__grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .about__info-grid{grid-template-columns:1fr}
  .contact__form{padding:24px}
  .section__header{margin-bottom:40px}
}
@media(max-width:480px){
  .skills__grid{grid-template-columns:1fr}
  .hero__cta{flex-direction:column;align-items:center}
  .btn{width:100%;justify-content:center}
}
