:root {
  --about-accent: #7c4dff;
}

body {
  min-height: 100vh;
}

.about-wrapper {
  max-width: 1100px;
  margin: 120px auto 0;
  padding: 28px;
  /* Warm the palette locally for About */
  --accent: #a67cff;      /* warmer mauve */
  --accent-2: #ff8ad4;    /* pink highlight */
  --ring: rgba(255,138,212,0.38);
}

/* Hero */
.hero-card.content-box {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  align-items: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 28px;
}
.hero-portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 14px 36px rgba(124,77,255,0.20), inset 0 0 0 1px rgba(255,255,255,0.04);
}
.hero-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: drop-shadow(0 6px 16px rgba(124,77,255,0.32));
}
.hero-content h1 {
  margin: 0 0 10px;
  font-size: 2.25rem;
}
.hero-sub {
  color: var(--muted);
  margin-bottom: 14px;
  line-height: 1.65;
}
.badge-row { display: flex; flex-wrap: wrap; gap: 12px; }
.pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 999px;
  background: linear-gradient(180deg, rgba(166,124,255,0.16), rgba(255,138,212,0.10));
  border: 1px solid rgba(255,255,255,0.10);
  font-size: 0.92rem;
}

/* Grid panels */
.grid-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid-panels .content-box { min-height: 200px; }

.panel-list { margin: 12px 0 0; padding-left: 16px; line-height: 1.75; }
.panel-list li { margin: 4px 0; }

.section-title .title-icon { margin-right: 8px; }

/* Enlarge section titles and add a subtle divider */
.about-wrapper .section-title{
  font-size: 1.6rem;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(166,124,255,0.20);
}

/* Cozier cards: soften background, radius and padding only on About */
.about-wrapper .content-box{
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
              radial-gradient(600px 300px at 100% -10%, rgba(255,138,212,0.10), transparent 60%);
  border: 1px solid rgba(166,124,255,0.20);
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 14px 36px rgba(0,0,0,0.40);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.about-wrapper .content-box:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(0,0,0,0.44);
}

/* Gentle animated sparkles in the hero */
.hero-card.content-box::before{
  content: "";
  position: absolute;
  inset: -10% -10% -20% -10%;
  pointer-events: none;
  opacity: 0.18;
  mix-blend-mode: screen;
  background-image:
    /* star */ url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'><path d='M32 6l7.9 16.1L58 24l-13 12.7L48 58 32 49.2 16 58l3-21.3L6 24l18.1-1.9L32 6z' fill='%23ffe6f0' stroke='%23ffcde6' stroke-width='2'/></svg>"),
    /* heart */ url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'><path d='M32 56S10 42.3 10 26.9C10 18 16.4 12 24 12c4.2 0 7.7 2 8 6 .3-4 3.8-6 8-6 7.6 0 14 6 14 14.9C54 42.3 32 56 32 56z' fill='%23ffd1e9' stroke='%23ffb3dd' stroke-width='2'/></svg>"),
    /* sparkle */ url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'><path d='M32 8l4 12 12 4-12 4-4 12-4-12-12-4 12-4 4-12z' fill='%23ffffff' opacity='0.9'/></svg>");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 88px 88px, 96px 96px, 72px 72px;
  background-position:
    12% 24%,
    85% 28%,
    78% 86%;
  animation: heroFloat 20s ease-in-out infinite alternate;
}

@keyframes heroFloat{
  0%{
    background-position: 12% 24%, 85% 28%, 78% 86%;
    opacity: 0.15;
  }
  100%{
    background-position: 16% 28%, 82% 24%, 74% 82%;
    opacity: 0.22;
  }
}

/* Feedback box */
.feedback-box textarea {
  width: 100%;
  min-height: 130px;
  resize: vertical;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.10);
  color: inherit;
  padding: 12px 14px;
}
.feedback-box textarea:focus{
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}
.feedback-actions { display: flex; gap: 10px; margin-top: 10px; }
.feedback-actions .btn { padding: 10px 14px; border-radius: 12px; }

/* Responsive */
@media (max-width: 980px) {
  .hero-card.content-box { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .grid-panels { grid-template-columns: 1fr 1fr; gap: 18px; }
}
@media (max-width: 560px) {
  .grid-panels { grid-template-columns: 1fr; gap: 16px; }
  .about-wrapper { margin-top: 96px; padding: 20px; }
  .about-wrapper .content-box{ padding: 20px; border-radius: 20px; }
  .hero-card.content-box { margin-bottom: 22px; }
}

