/*
Theme Name: Elina Karavi Theme
Theme URI: https://elina-karavi.com
Description: A professional personal portfolio theme with galaxy background
Author: Elina Karavi
Version: 6.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elina-karavi-theme
*/

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; direction:ltr; }
body {
  font-family: 'IBM Plex Sans Arabic', 'Vazirmatn', 'Tahoma', sans-serif;
  color: #e0d0f0;
  background: #06050f;
  line-height: 1.8;
  overflow-x: hidden;
  direction: ltr;
  text-align: left;
}
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }

/* ===== GALAXY BACKGROUND ===== */
.bg-particles {
  position:fixed; top:0; left:0; width:100%; height:100%;
  pointer-events:none; z-index:0; overflow:hidden;
}
/* Star layer */
.star {
  position:absolute; border-radius:50%; background:#fff;
  animation: twinkle linear infinite;
}
@keyframes twinkle {
  0%,100% { opacity:.15; }
  50% { opacity:1; }
}
/* Shooting star */
.shooting-star {
  position:absolute; width:3px; height:3px;
  background:#fff; border-radius:50%;
  box-shadow: 0 0 6px 2px rgba(255,255,255,.8), -40px 0 15px 1px rgba(200,180,255,.3);
  animation: shoot linear infinite;
  opacity:0;
}
@keyframes shoot {
  0%   { transform:translateX(0) translateY(0) rotate(-35deg); opacity:0; }
  5%   { opacity:1; }
  15%  { opacity:1; }
  20%  { transform:translateX(300px) translateY(180px) rotate(-35deg); opacity:0; }
  100% { opacity:0; }
}
/* Nebula blobs */
.nebula {
  position:fixed; border-radius:50%;
  filter: blur(80px);
  animation: nebulaDrift linear infinite;
  pointer-events:none; z-index:0;
}
@keyframes nebulaDrift {
  0%   { transform: translate(0,0) scale(1); }
  25%  { transform: translate(30px,-20px) scale(1.05); }
  50%  { transform: translate(-20px,30px) scale(.95); }
  75%  { transform: translate(-30px,-10px) scale(1.08); }
  100% { transform: translate(0,0) scale(1); }
}
/* Galaxy rotation overlay */
.galaxy-rotate {
  position:fixed; top:50%; left:50%; width:200vmax; height:200vmax;
  transform: translate(-50%,-50%);
  background: radial-gradient(ellipse at center,
    rgba(88,28,135,.08) 0%,
    rgba(156,39,176,.04) 25%,
    rgba(194,24,99,.02) 50%,
    transparent 70%);
  animation: galaxySpin 120s linear infinite;
  pointer-events:none; z-index:0;
}
@keyframes galaxySpin {
  0%   { transform: translate(-50%,-50%) rotate(0deg); }
  100% { transform: translate(-50%,-50%) rotate(360deg); }
}

/* ===== GLOW LINE TOP ===== */
.glow-line {
  position:fixed; top:0; left:0; width:100%; height:2px; z-index:200;
  background: linear-gradient(90deg, transparent, #c2185b, #9c27b0, #c2185b, transparent);
  background-size:200% 100%;
  animation: glowSlide 3s linear infinite;
}
@keyframes glowSlide {
  0%   { background-position:200% 0; }
  100% { background-position:-200% 0; }
}

/* ===== HEADER ===== */
header {
  position:fixed; top:2px; left:0; width:100%; z-index:100;
  background: rgba(13,10,26,0.92);
  backdrop-filter: blur(20px);
  box-shadow: 0 4px 30px rgba(194,24,99,0.1);
}
nav { display:flex; align-items:center; justify-content:space-between; height:64px; max-width:1200px; margin:0 auto; padding:0 32px; }
.logo {
  font-size:1.4rem; font-weight:800; letter-spacing:1px;
  background: linear-gradient(135deg, #c2185b, #9c27b0);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation: logoGlow 2s ease-in-out infinite alternate;
}
@keyframes logoGlow {
  0%   { filter:drop-shadow(0 0 4px rgba(194,24,99,.3)); }
  100% { filter:drop-shadow(0 0 12px rgba(156,39,176,.6)); }
}
.nav-links { display:flex; gap:24px; list-style:none; }
.nav-links a {
  font-size:.9rem; font-weight:500; color:rgba(224,208,240,.5);
  transition: color .3s, text-shadow .3s;
}
.nav-links a:hover { color:#e0d0f0; text-shadow:0 0 12px rgba(194,24,99,.5); }
.btn-nav {
  padding:10px 24px; border-radius:8px; font-weight:600; font-size:.85rem;
  background: linear-gradient(135deg, #c2185b, #9c27b0);
  color:#fff !important;
  transition: transform .3s, box-shadow .3s;
  animation: btnPulse 3s ease-in-out infinite;
}
@keyframes btnPulse {
  0%,100% { box-shadow:0 0 15px rgba(194,24,99,.3); }
  50%     { box-shadow:0 0 25px rgba(156,39,176,.5); }
}
.btn-nav:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 0 30px rgba(194,24,99,.5); }

/* LANGUAGE TOGGLE */
.lang-toggle {
  padding:8px 16px; border-radius:8px; font-weight:600; font-size:.8rem;
  background:rgba(194,24,99,.15); color:#e91e63; border:1px solid rgba(194,24,99,.3);
  cursor:pointer; transition:all .3s; font-family:inherit;
}
.lang-toggle:hover { background:rgba(194,24,99,.3); border-color:#e91e63; box-shadow:0 0 12px rgba(194,24,99,.2); }

/* ===== HERO ===== */
.hero {
  padding:140px 0 80px;
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1042 30%, #1a0a2e 60%, #2a0e3a 100%);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero .container { width:100%; display:flex; flex-direction:column; align-items:center; }
.hero::before {
  content:''; position:absolute; top:-50%; right:-20%; width:800px; height:800px;
  background:radial-gradient(circle, rgba(194,24,99,.12) 0%, transparent 60%);
  border-radius:50%;
  animation: heroGlow 6s ease-in-out infinite alternate;
}
@keyframes heroGlow {
  0%   { transform:scale(1) rotate(0deg); opacity:.5; }
  100% { transform:scale(1.2) rotate(180deg); opacity:.8; }
}
.hero::after {
  content:''; position:absolute; bottom:-60px; left:50%; transform:translateX(-50%);
  width:140%; height:120px;
  background:#0d0a1a; border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.hero h1 { font-size:3.2rem; font-weight:900; margin-bottom:12px; color:#fff; position:relative; z-index:2; text-shadow:0 0 40px rgba(194,24,99,.2); }
.hero h1 span {
  background: linear-gradient(135deg, #e91e63, #9c27b0, #e040fb);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation: gradientShift 4s ease infinite;
  background-size:200% 200%;
}
@keyframes gradientShift {
  0%   { background-position:0% 50%; }
  50%  { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
.hero .subtitle { font-size:1.1rem; color:rgba(224,208,240,.5); max-width:600px; margin:0 auto 28px; position:relative; z-index:2; font-weight:400; }
.hero-avatar {
  width:160px; height:160px; border-radius:50%; margin:0 auto 24px;
  background: #000; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  position:relative; z-index:2; overflow:hidden;
  animation: avatarPulse 3s ease-in-out infinite, avatarFloat 4s ease-in-out infinite;
}
@keyframes avatarFloat {
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-10px); }
}
.hero-avatar::before {
  content:''; position:absolute; inset:-4px; border-radius:50%;
  background: conic-gradient(from 0deg, #c2185b, #9c27b0, #e040fb, #c2185b);
  z-index:3;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
  animation: spinBorder 4s linear infinite;
}
@keyframes spinBorder {
  0%   { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}
@keyframes avatarPulse {
  0%,100% { box-shadow:0 0 20px rgba(194,24,99,.3); }
  50%     { box-shadow:0 0 40px rgba(156,39,176,.5); }
}
.hero-photo { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.hero .location { font-size:.9rem; color:rgba(224,208,240,.4); margin-bottom:24px; position:relative; z-index:2; }
.hero .location span { color:#e91e63; font-weight:600; text-shadow:0 0 8px rgba(233,30,99,.3); }
.btn-hero {
  display:inline-block; padding:14px 40px; border-radius:8px;
  background: linear-gradient(135deg, #c2185b, #9c27b0);
  color:#fff; font-weight:700; font-size:1rem;
  position:relative; z-index:2;
  transition: transform .3s, box-shadow .3s;
  overflow:hidden;
}
.btn-hero::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, transparent, rgba(255,255,255,.15), transparent);
  transform:translateX(-100%); transition:transform .5s;
}
.btn-hero:hover::before { transform:translateX(100%); }
.btn-hero:hover { transform:translateY(-3px); box-shadow:0 0 30px rgba(194,24,99,.5); }

/* ===== SECTIONS ===== */
.container { max-width:1100px; margin:0 auto; padding:0 24px; }
section { padding:80px 0; position:relative; }
.section-title {
  text-align:center; font-size:1.8rem; font-weight:700; margin-bottom:8px; color:#fff;
}
.section-title::after {
  content:''; display:block; width:60px; height:3px; margin:12px auto 0; border-radius:2px;
  background: linear-gradient(90deg, #c2185b, #9c27b0);
  animation: lineGlow 2s ease-in-out infinite alternate;
}
@keyframes lineGlow {
  0%   { box-shadow:0 0 8px rgba(194,24,99,.4); width:60px; }
  100% { box-shadow:0 0 16px rgba(156,39,176,.6); width:80px; }
}
.section-sub { text-align:center; font-size:1rem; color:rgba(224,208,240,.45); max-width:640px; margin:0 auto 48px; }

/* ===== SKILLS CIRCLES ===== */
.skills-chart { background:transparent; }
.skills-circles { display:flex; justify-content:center; gap:60px; margin-top:50px; flex-wrap:wrap; }
.skill-circle { position:relative; width:160px; height:160px; text-align:center; }
.skill-circle svg { width:160px; height:160px; transform:rotate(-90deg); filter:drop-shadow(0 0 12px rgba(194,24,99,.3)); }
.skill-circle .track { fill:none; stroke:rgba(26,10,46,.6); stroke-width:8; }
.skill-circle .fill {
  fill:none; stroke-width:8; stroke-linecap:round;
  stroke-dasharray: 408; stroke-dashoffset: 408;
  transition: stroke-dashoffset 2s ease-out;
}
.skill-circle .fill.anim { stroke-dashoffset: 408; }
.skill-circle .percent {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-size:1.8rem; font-weight:900;
  background:linear-gradient(135deg, #e91e63, #9c27b0);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.skill-circle .skill-name {
  margin-top:12px; font-size:.95rem; font-weight:700; color:#e0d0f0;
  letter-spacing:.5px;
}
.skill-circle:hover svg { filter:drop-shadow(0 0 24px rgba(233,30,99,.5)); }
.skill-circle:hover .percent { transform:translate(-50%,-50%) scale(1.1); }
.skill-circle .percent { transition: transform .3s; }

/* ===== WAVE DIVIDERS ===== */
.wave-divider {
  position:absolute; bottom:0; left:0; width:100%; height:60px; overflow:hidden; z-index:1;
}
.wave-divider svg { position:absolute; bottom:0; width:100%; height:100%; }

/* ===== ABOUT ===== */
.about { background: linear-gradient(180deg, #0d0a1a 0%, #150e24 100%); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.about-image {
  border-radius:60% 40% 55% 45% / 55% 60% 40% 45%; overflow:hidden;
  background: linear-gradient(135deg, #1a0a2e, #2d1042);
  width:320px; height:320px; display:flex; align-items:center; justify-content:center;
  position:relative; border:1px solid rgba(194,24,99,.15);
  box-shadow: 0 20px 60px rgba(194,24,99,.15), 0 0 0 1px rgba(156,39,176,.1);
  margin:0 auto;
  animation: blobMorph 8s ease-in-out infinite;
}
@keyframes blobMorph {
  0%,100% { border-radius:60% 40% 55% 45% / 55% 60% 40% 45%; }
  25%     { border-radius:45% 55% 40% 60% / 60% 45% 55% 40%; }
  50%     { border-radius:55% 45% 60% 40% / 40% 55% 45% 60%; }
  75%     { border-radius:40% 60% 45% 55% / 55% 40% 60% 45%; }
}
.about-image::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle at 30% 30%, rgba(194,24,99,.08), transparent 60%);
  animation: aboutGlow 5s ease-in-out infinite alternate;
}
@keyframes aboutGlow {
  0%   { opacity:.5; }
  100% { opacity:1; }
}
.about-text h3 { font-size:1.3rem; font-weight:700; margin-bottom:12px; color:#e0d0f0; }
.about-text p { color:rgba(224,208,240,.6); margin-bottom:16px; font-size:.95rem; }
.about-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.about-tags span {
  padding:6px 16px; border-radius:6px; font-size:.85rem; font-weight:500;
  background: rgba(194,24,99,.1); color:#e91e63; border:1px solid rgba(194,24,99,.2);
  transition: all .3s;
}
.about-tags span:hover { background:rgba(194,24,99,.2); border-color:#e91e63; box-shadow:0 0 12px rgba(194,24,99,.2); }

/* ===== FEATURES ===== */
.features { background: linear-gradient(180deg, #150e24 0%, #0d0a1a 100%); }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px; }
.feature-card {
  background: rgba(26,10,46,.6); border-radius:20px 8px 20px 8px; padding:32px 24px; text-align:center;
  border:1px solid rgba(194,24,99,.1);
  transition: transform .3s, box-shadow .3s, border-color .3s;
  position:relative; overflow:hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.3), 0 0 0 1px rgba(194,24,99,.05);
}
.feature-card:nth-child(1) { animation: cardFloat1 5s ease-in-out infinite; }
.feature-card:nth-child(2) { animation: cardFloat2 5s ease-in-out infinite .5s; }
.feature-card:nth-child(3) { animation: cardFloat3 5s ease-in-out infinite 1s; }
@keyframes cardFloat1 { 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-8px) rotate(.5deg);} }
@keyframes cardFloat2 { 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-10px) rotate(-.5deg);} }
@keyframes cardFloat3 { 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-6px) rotate(.3deg);} }
.feature-card::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(194,24,99,.05), rgba(156,39,176,.05));
  opacity:0; transition:opacity .3s;
}
.feature-card:hover::before { opacity:1; }
.feature-card:hover { transform:translateY(-12px) rotate(-1deg); border-color:rgba(194,24,99,.4); box-shadow:0 20px 60px rgba(194,24,99,.2), 0 0 30px rgba(156,39,176,.1); }
.feature-icon {
  width:56px; height:56px; border-radius:12px; margin:0 auto 16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; font-weight:700;
  background: linear-gradient(135deg, rgba(194,24,99,.15), rgba(156,39,176,.15));
  color:#e91e63; transition: all .3s;
}
.feature-card:hover .feature-icon { background: linear-gradient(135deg, #c2185b, #9c27b0); color:#fff; transform:scale(1.1); }
.feature-card h4 { font-size:1.05rem; font-weight:700; margin-bottom:8px; color:#e0d0f0; }
.feature-card p { font-size:.9rem; color:rgba(224,208,240,.5); }

/* ===== INTERESTS ===== */
.interests { background: #0d0a1a; }
.interests-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px; }
.interest-item {
  padding:20px; text-align:center;
  background: rgba(26,10,46,.4); border:1px solid rgba(194,24,99,.08);
  transition: all .4s cubic-bezier(.175,.885,.32,1.275);
  position:relative; overflow:hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.interest-item:nth-child(1) { border-radius:20px 8px 20px 8px; }
.interest-item:nth-child(2) { border-radius:8px 20px 8px 20px; }
.interest-item:nth-child(3) { border-radius:50% 10% 50% 10%; }
.interest-item:nth-child(4) { border-radius:10% 50% 10% 50%; }
.interest-item:nth-child(5) { border-radius:16px; }
.interest-item:nth-child(6) { border-radius:8px 16px 24px 8px; }
.interest-item:nth-child(7) { border-radius:24px 8px 16px 24px; }
.interest-item:nth-child(8) { border-radius:50% 12px 50% 12px; }
.interest-item::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(194,24,99,.1), transparent);
  opacity:0; transition:opacity .3s;
}
.interest-item:hover::after { opacity:1; }
.interest-item:hover { transform:translateY(-8px) scale(1.05); border-color:rgba(194,24,99,.4); box-shadow:0 16px 48px rgba(194,24,99,.2), 0 0 20px rgba(156,39,176,.1); }
.interest-item .label { font-size:.9rem; font-weight:600; color:#e0d0f0; position:relative; z-index:1; }

/* ===== GOALS ===== */
.goals {
  background: linear-gradient(135deg, #1a0a2e 0%, #2d1042 50%, #1a0a2e 100%);
  color:#fff; position:relative;
}
.goals::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:100%;
  background: radial-gradient(circle at 20% 50%, rgba(194,24,99,.06), transparent 50%),
              radial-gradient(circle at 80% 50%, rgba(156,39,176,.06), transparent 50%);
  animation: goalsBg 8s ease-in-out infinite alternate;
}
@keyframes goalsBg {
  0%   { opacity:.5; }
  100% { opacity:1; }
}
.goals .container { position:relative; z-index:1; }
.goals .section-title { color:#fff; }
.goals .section-title::after { background: linear-gradient(90deg, #c2185b, #9c27b0); }
.goals .section-sub { color:rgba(224,208,240,.4); }
.goals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.goal-card {
  background: rgba(255,255,255,.04); backdrop-filter:blur(8px);
  border-radius:24px 4px 24px 4px; padding:28px 20px; text-align:center;
  border:1px solid rgba(194,24,99,.1);
  transition: all .4s cubic-bezier(.175,.885,.32,1.275);
  box-shadow: 0 12px 40px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05);
}
.goal-card:hover { background:rgba(255,255,255,.1); border-color:rgba(194,24,99,.5); transform:translateY(-8px) rotate(-.5deg); box-shadow:0 20px 60px rgba(194,24,99,.15), inset 0 1px 0 rgba(255,255,255,.1); }
.goal-card .icon {
  width:48px; height:48px; border-radius:50%;
  background: linear-gradient(135deg, rgba(194,24,99,.2), rgba(156,39,176,.2));
  color:#e91e63; display:flex; align-items:center; justify-content:center;
  margin:0 auto 12px; font-weight:700; font-size:1rem;
  transition: all .3s;
}
.goal-card:hover .icon { background: linear-gradient(135deg, #c2185b, #9c27b0); color:#fff; transform:scale(1.15); }
.goal-card h4 { font-size:1rem; font-weight:700; margin-bottom:8px; color:#fff; }
.goal-card p { font-size:.88rem; color:rgba(224,208,240,.45); }

/* ===== TESTIMONIALS ===== */

/* ===== ROLE MODEL ===== */
.rolemodel {
  background: linear-gradient(180deg, #0d0a1a 0%, #150e24 100%);
}
.rolemodel-grid { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:center; margin-top:40px; }
.rolemodel-avatar {
  width:160px; height:160px; border-radius:50%; margin:0 auto 16px;
  overflow:hidden; position:relative;
}
.rolemodel-avatar::before {
  content:''; position:absolute; inset:-3px; border-radius:50%;
  background: conic-gradient(from 0deg, #c2185b, #9c27b0, #e040fb, #c2185b);
  z-index:-1;
  animation: spinBorder 4s linear infinite;
}
.rolemodel-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; position:relative; z-index:1; }
.rolemodel-info h3 { font-size:1.3rem; font-weight:700; margin-bottom:4px; color:#e0d0f0; }
.rolemodel-info h3 a {
  color:#e0d0f0; text-decoration:underline; text-underline-offset:4px;
  transition: all .3s;
}
.rolemodel-info h3 a:hover { color:#e91e63; text-shadow:0 0 12px rgba(233,30,99,.3); }
.rolemodel-info .role { font-size:.9rem; color:#e91e63; font-weight:500; margin-bottom:16px; }
.rolemodel-info p { color:rgba(224,208,240,.6); line-height:2; font-size:.95rem; margin-bottom:12px; }

/* ===== CTA ===== */
.cta { padding:80px 0; text-align:center; background:#0d0a1a; }
.cta h2 {
  font-size:2rem; font-weight:800; margin-bottom:12px; color:#fff;
}
.cta h2::after {
  content:''; display:block; width:60px; height:3px; margin:12px auto 0; border-radius:2px;
  background: linear-gradient(90deg, #c2185b, #9c27b0);
  animation: lineGlow 2s ease-in-out infinite alternate;
}
.cta p { font-size:1rem; color:rgba(224,208,240,.45); max-width:520px; margin:0 auto 32px; }
.cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-cta {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:8px; font-weight:600; font-size:.95rem;
  transition: all .3s;
  position:relative; overflow:hidden;
}
.btn-cta::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, transparent, rgba(255,255,255,.1), transparent);
  transform:translateX(-100%); transition:transform .5s;
}
.btn-cta:hover::before { transform:translateX(100%); }  .btn-cta-primary { background:linear-gradient(135deg, #c2185b, #9c27b0); color:#fff; animation:btnFloat 3s ease-in-out infinite; }
@keyframes btnFloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-4px);} }
.btn-cta-primary:hover { transform:translateY(-6px) scale(1.03); box-shadow:0 0 40px rgba(194,24,99,.5); }
.btn-cta-secondary {
  background: rgba(194,24,99,.1); color:#e91e63; border:1px solid rgba(194,24,99,.2);
}
.btn-cta-secondary:hover { background:rgba(194,24,99,.2); border-color:#e91e63; transform:translateY(-2px); }

/* ===== FOOTER ===== */
footer {
  padding:28px 0; text-align:center; font-size:.85rem;
  background: #0a0712; color:rgba(224,208,240,.3);
  border-top:1px solid rgba(194,24,99,.1);
}
footer a { color:#e91e63; font-weight:500; transition:text-shadow .3s; }
footer a:hover { text-shadow:0 0 10px rgba(233,30,99,.4); }

/* ===== HEADING FONTS ===== */
.hero h1 { font-size:2.4rem; line-height:1.4; }
.section-title { font-size:1.8rem; }
.feature-card h4, .goal-card h4 { font-size:1.05rem; }

/* ===== SCROLL ANIMATIONS ===== */
.reveal {
  opacity:0; transform:translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
  opacity:1; transform:translateY(0);
}

/* ===== RESPONSIVE ===== */
@media (max-width:768px) {
  .hero h1 { font-size:2rem; }
  .about-grid { grid-template-columns:1fr; }
  .features-grid { grid-template-columns:1fr; }
  .interests-grid { grid-template-columns:repeat(2,1fr); }
  .goals-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .rolemodel-grid { grid-template-columns:1fr; text-align:center; }
  .nav-links { display:none; }
  .about-image { width:240px; height:240px; }
}
