/* ===== RESET & BASE ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --black: #111;
  --white: #fff;
  --text: #111;
  --hero-bg: #C8F0FF;
  --adv-bg: #FFD6E8;
  --test-bg: #FFF5C2;
  --flow-bg: #C8D6FF;
  --faq-bg: #E8D0FF;
  --r: 16px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--text);
  line-height: 1.8;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  background: var(--white);
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ===== PSYCHEDELIC PATTERNS ===== */
.hero, .advantage, .testimonial, .flow, .faq {
  position: relative;
  overflow: hidden;
}

/* Animated light orbs via ::before */
.hero::before,
.advantage::before,
.testimonial::before,
.flow::before,
.faq::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
  animation: orbFloat 24s ease-in-out infinite;
  transform: translateY(var(--parallax, 0));
}

.hero::before {
  background: radial-gradient(circle, rgba(120,80,255,0.4), transparent 60%);
  top: -150px; right: -100px;
}

.advantage::before {
  background: radial-gradient(circle, rgba(255,100,200,0.35), transparent 60%);
  bottom: -200px; left: -100px;
  animation-delay: 6s;
  animation-duration: 30s;
}

.testimonial::before {
  background: radial-gradient(circle, rgba(255,180,50,0.3), transparent 60%);
  top: -100px; right: -150px;
  width: 400px; height: 400px;
  animation-delay: 3s;
  animation-duration: 27s;
}

.flow::before {
  background: radial-gradient(circle, rgba(100,150,255,0.35), transparent 60%);
  bottom: -150px; left: -80px;
  animation-delay: 9s;
  animation-duration: 33s;
}

.faq::before {
  background: radial-gradient(circle, rgba(200,80,255,0.35), transparent 60%);
  top: -100px; right: -100px;
  animation-delay: 6s;
  animation-duration: 30s;
}

@keyframes orbFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(60px, -40px) scale(1.15); }
  50% { transform: translate(-30px, 50px) scale(0.9); }
  75% { transform: translate(40px, 20px) scale(1.1); }
}

/* All pattern overlays use ::after */
.hero::after,
.advantage::after,
.testimonial::after,
.flow::after,
.faq::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

/* Hero */
.hero::after {
  background:
    repeating-conic-gradient(rgba(255,255,255,0.06) 0deg, transparent 10deg, rgba(255,255,255,0.04) 20deg, transparent 30deg) 50% 50% / 300px 300px,
    repeating-radial-gradient(circle at 50% 50%, transparent 0px, transparent 30px, rgba(255,255,255,0.08) 31px, transparent 32px, transparent 60px, rgba(255,255,255,0.06) 61px, transparent 62px),
    radial-gradient(ellipse 80% 80% at 80% 20%, rgba(255,255,255,0.55) 0%, transparent 55%),
    radial-gradient(circle 500px at 10% 90%, rgba(120,80,255,0.2) 0%, transparent 50%);
}

/* Advantage */
.advantage::after {
  background:
    repeating-conic-gradient(from 45deg, rgba(255,255,255,0.07) 0deg, transparent 15deg, rgba(255,255,255,0.05) 30deg, transparent 45deg) 50% 50% / 200px 200px,
    repeating-radial-gradient(circle at 50% 50%, transparent 0px, transparent 25px, rgba(255,255,255,0.1) 26px, transparent 27px, transparent 50px, rgba(255,255,255,0.08) 51px, transparent 52px, transparent 75px, rgba(255,255,255,0.06) 76px, transparent 77px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='rgba(255,255,255,0.25)' d='M0,160L60,176C120,192,240,224,360,213C480,203,600,149,720,139C840,128,960,160,1080,187C1200,213,1320,235,1380,229L1440,224L1440,320L0,320Z'/%3E%3Cpath fill='rgba(255,255,255,0.15)' d='M0,220L80,200C160,180,320,240,480,240C640,240,800,180,960,170C1120,160,1280,200,1360,220L1440,240L1440,320L0,320Z'/%3E%3C/svg%3E") no-repeat bottom/100%,
    radial-gradient(circle 400px at 85% 15%, rgba(255,80,180,0.15) 0%, transparent 50%);
}

/* Testimonial */
.testimonial::after {
  background:
    repeating-conic-gradient(from 0deg at 50% 50%, rgba(200,150,0,0.06) 0deg, transparent 12deg, rgba(200,150,0,0.04) 24deg, transparent 36deg) 50% 50% / 250px 250px,
    conic-gradient(from 0deg at 50% 110%, rgba(255,200,50,0.2) 0deg, transparent 12deg, rgba(255,200,50,0.15) 24deg, transparent 36deg, rgba(255,200,50,0.2) 48deg, transparent 60deg, rgba(255,200,50,0.15) 72deg, transparent 84deg, rgba(255,200,50,0.2) 96deg, transparent 108deg, rgba(255,200,50,0.15) 120deg, transparent 132deg, rgba(255,200,50,0.2) 144deg, transparent 156deg, rgba(255,200,50,0.15) 168deg, transparent 180deg, rgba(255,200,50,0.2) 192deg, transparent 204deg, rgba(255,200,50,0.15) 216deg, transparent 228deg, rgba(255,200,50,0.2) 240deg, transparent 252deg, rgba(255,200,50,0.15) 264deg, transparent 276deg, rgba(255,200,50,0.2) 288deg, transparent 300deg, rgba(255,200,50,0.15) 312deg, transparent 324deg, rgba(255,200,50,0.2) 336deg, transparent 348deg, rgba(255,200,50,0.15) 360deg),
    radial-gradient(circle 350px at 80% 30%, rgba(255,180,0,0.1) 0%, transparent 55%);
}

/* Flow */
.flow::after {
  background:
    repeating-conic-gradient(from 22.5deg, rgba(255,255,255,0.08) 0deg, transparent 15deg, rgba(255,255,255,0.05) 30deg, transparent 45deg) 50% 50% / 180px 180px,
    repeating-radial-gradient(circle at 50% 50%, transparent 0px, transparent 20px, rgba(255,255,255,0.12) 21px, transparent 22px, transparent 40px, rgba(255,255,255,0.08) 41px, transparent 42px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 300'%3E%3Cpath fill='none' stroke='rgba(255,255,255,0.3)' stroke-width='2' d='M-40,150 C160,40 320,260 520,150 C720,40 880,260 1080,150 C1280,40 1440,260 1480,150'/%3E%3Cpath fill='none' stroke='rgba(255,255,255,0.18)' stroke-width='1.5' d='M-40,190 C200,60 400,280 640,160 C880,40 1080,280 1480,140'/%3E%3C/svg%3E") no-repeat center/100%,
    radial-gradient(circle 350px at 85% 15%, rgba(255,255,255,0.25) 0%, transparent 55%),
    radial-gradient(circle 250px at 15% 85%, rgba(180,120,255,0.15) 0%, transparent 55%);
}

/* FAQ */
.faq::after {
  background:
    repeating-conic-gradient(from 30deg, rgba(255,255,255,0.1) 0deg, transparent 12deg, rgba(255,255,255,0.06) 24deg, transparent 36deg) 50% 50% / 220px 220px,
    repeating-radial-gradient(circle at 50% 50%, transparent 0px, transparent 22px, rgba(255,255,255,0.14) 23px, transparent 24px, transparent 44px, rgba(255,255,255,0.1) 45px, transparent 46px, transparent 66px, rgba(255,255,255,0.07) 67px, transparent 68px),
    linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.22) 40%, rgba(255,255,255,0) 70%),
    radial-gradient(circle 400px at 20% 30%, rgba(200,100,255,0.12) 0%, transparent 50%),
    radial-gradient(circle 350px at 80% 70%, rgba(255,150,200,0.1) 0%, transparent 50%);
}

/* ===== WAVE DIVIDERS ===== */
.section-wave {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -1px;
}

/* ===== SECTION TITLE ===== */
.section-title {
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 700;
  margin-bottom: 48px;
  color: var(--black);
  position: relative;
  z-index: 1;
}

.section-title span {
  font-weight: 400;
  font-size: 0.55em;
  opacity: 0.5;
  margin-left: 4px;
}

/* ===== FIXED CTA ===== */
.fixed-cta {
  position: fixed;
  bottom: 72px;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 16px 20px;
  background: none;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 28px;
  border-radius: 16px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #0a0a0a;
  background: #FFE14D;
  border: 3px solid #0a0a0a;
  box-shadow: 5px 5px 0 #0a0a0a;
  transition: transform 0.15s, box-shadow 0.15s;
  position: relative;
  overflow: hidden;
  animation: bounce 6s ease-in-out infinite;
  width: 260px;
}

.btn:hover {
  transform: translate(-2px, -3px);
  box-shadow: 7px 8px 0 #0a0a0a;
  animation: none;
}

.btn svg { flex-shrink: 0; color: #06C755; }

.btn--discord { background: linear-gradient(135deg, #E8E8EA 0%, #C0C0C5 50%, #E8E8EA 100%); }
.btn--discord svg { color: #5865F2; }
.btn--discord:hover { transform: translate(-2px,-3px); box-shadow: 7px 8px 0 #0a0a0a; animation: none; }

.btn::before,
.btn::after {
  content: '✦';
  position: absolute;
  font-size: 14px;
  color: var(--black);
  opacity: 0;
  animation: sparkle 6s ease-in-out infinite;
}

.btn::before { top: 4px; right: 12px; animation-delay: 0s; }
.btn::after { bottom: 6px; left: 16px; animation-delay: 3s; }

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  15% { transform: translateY(-6px); }
  30% { transform: translateY(0); }
  45% { transform: translateY(-4px); }
  60% { transform: translateY(0); }
}

@keyframes sparkle {
  0%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.2) rotate(180deg); }
}

/* ===== HERO ===== */
.hero {
  background: var(--hero-bg);
  padding: 80px 0 0;
  border-bottom: 4px solid var(--black);
}

.hero__inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 48px;
  position: relative;
  z-index: 1;
  min-height: 520px;
}

.hero__visual { flex: 0 0 45%; align-self: flex-end; min-width: 0; }
.hero__characters {
  display: block;
  width: 100%;
  max-height: 480px;
  object-fit: contain;
  object-position: bottom;
  animation: heroFloat 5s ease-in-out infinite;
}

@keyframes heroFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
.hero__text { flex: 1; padding: 60px 0; }

.hero__logo {
  display: inline-block;
  background: var(--white);
  color: var(--black);
  font-family: 'Koulen', sans-serif;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  padding: 8px 24px;
  line-height: 1.2;
  margin-bottom: 20px;
  border: 3px solid var(--black);
  border-radius: 12px;
  box-shadow: 5px 5px 0 var(--black);
  letter-spacing: 2px;
}

.hero__title { margin-bottom: 36px; }

.hero__title-accent {
  display: block;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 700;
  color: var(--black);
  margin-bottom: 8px;
}

.hero__title-sub {
  display: block;
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-weight: 700;
  color: var(--black);
  line-height: 1.6;
  opacity: 0.75;
}

/* ===== ADVANTAGE ===== */
.advantage {
  background: var(--adv-bg);
  padding: 100px 32px;
  border-bottom: 4px solid var(--black);
}

.advantage__inner { max-width: 1000px; margin: 0 auto; position: relative; z-index: 1; }

.advantage__content { display: flex; gap: 32px; align-items: flex-start; }

.advantage__list {
  flex: 1;
  background: var(--white);
  border-radius: var(--r);
  padding: 32px 36px;
  border: 3px solid var(--black);
  box-shadow: 5px 5px 0 var(--black);
}

.advantage__item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 2px dashed rgba(0, 0, 0, 0.1);
}

.advantage__item:last-child { border-bottom: none; }
.advantage__icon { width: 44px; height: 44px; flex-shrink: 0; object-fit: contain; }
.advantage__text h3 { font-size: 1.05rem; font-weight: 700; color: var(--black); }
.advantage__text p { font-size: 0.85rem; color: var(--black); opacity: 0.55; margin-top: 1px; }

.advantage__visual { flex: 0 0 260px; position: relative; align-self: center; }
.advantage__character { width: 100%; }
.advantage__bubble { position: absolute; }
.advantage__bubble--lg { width: 100px; top: -30px; right: -20px; animation: float 4s ease-in-out infinite; }
.advantage__bubble--md { width: 50px; top: 20px; right: -50px; animation: float 3s ease-in-out infinite 0.5s; }
.advantage__bubble--sm { width: 30px; top: 70px; right: -15px; animation: float 3.5s ease-in-out infinite 1s; }

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* ===== TESTIMONIAL ===== */
.testimonial {
  background: var(--test-bg);
  padding: 100px 32px;
  border-bottom: 4px solid var(--black);
}

.testimonial__deco-top, .testimonial__deco-bottom { display: none; }
.testimonial__inner { max-width: 1000px; margin: 0 auto; position: relative; z-index: 1; }

.testimonial__card {
  background: var(--white);
  border-radius: var(--r);
  padding: 40px;
  display: flex;
  gap: 36px;
  align-items: center;
  border: 3px solid var(--black);
  box-shadow: 5px 5px 0 var(--black);
}

.testimonial__avatar { flex: 0 0 160px; }
.testimonial__avatar img { width: 160px; }

.testimonial__name {
  font-size: 1.4rem;
  font-weight: 700;
  color: #FF6BA9;
  margin-bottom: 14px;
}

.testimonial__body p {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--black);
  margin-bottom: 10px;
  line-height: 1.9;
}

/* ===== FLOW ===== */
.flow {
  background: var(--flow-bg);
  padding: 100px 32px;
  border-bottom: 4px solid var(--black);
}

.flow__inner { max-width: 1000px; margin: 0 auto; position: relative; z-index: 1; }

.flow__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 80px;
}

.flow__step {
  background: var(--white);
  border-radius: var(--r);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 480px;
  border: 3px solid var(--black);
  box-shadow: 5px 5px 0 var(--black);
  transition: transform 0.15s, box-shadow 0.15s;
}

.flow__step:hover {
  transform: translate(-2px, -3px);
  box-shadow: 7px 8px 0 var(--black);
}

.flow__step-label {
  background: #536DFE;
  color: var(--white);
  font-size: 1.1rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 10px;
  flex-shrink: 0;
}

.flow__step-icon { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
.flow__step-text { font-size: 0.95rem; color: var(--black); line-height: 1.5; font-weight: 500; }
.flow__step-text br { display: none; }
.flow__arrow { color: var(--black); font-size: 1.1rem; opacity: 0.3; transform: rotate(90deg); }

/* ===== QUALIFICATION ===== */
.qualification {
  background: var(--white);
  border-radius: var(--r);
  padding: 40px;
  display: flex;
  align-items: center;
  gap: 32px;
  border: 3px solid var(--black);
  box-shadow: 5px 5px 0 var(--black);
}

.qualification__text ul li { font-size: 1.15rem; font-weight: 700; color: var(--black); padding: 6px 0; }
.qualification__text ul li::before { content: '・'; }
.qualification__visual { flex: 0 0 150px; margin-left: auto; }

/* ===== FAQ ===== */
.faq {
  background: var(--faq-bg);
  padding: 100px 32px 160px;
}

.faq__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.faq__content { flex: 1; width: 100%; }
.faq__list { display: flex; flex-direction: column; gap: 14px; width: 100%; }

.faq__item {
  background: var(--white);
  border-radius: 12px;
  border: 3px solid var(--black);
  width: 100%;
  box-shadow: 5px 5px 0 var(--black);
  transition: transform 0.15s, box-shadow 0.15s;
}

.faq__item:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--black);
}

.faq__item summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.faq__item summary::-webkit-details-marker { display: none; }
.faq__q { font-size: 1.4rem; font-weight: 700; color: #B44DFF; flex-shrink: 0; }
.faq__question { font-size: 1rem; font-weight: 700; color: var(--black); flex: 1; }
.faq__toggle { font-size: 1.4rem; font-weight: 700; color: var(--black); flex-shrink: 0; transition: transform 0.3s; }
.faq__item[open] .faq__toggle { transform: rotate(45deg); }

.faq__answer { padding: 0 20px 18px 52px; }
.faq__answer p { font-size: 0.9rem; line-height: 1.8; color: var(--black); opacity: 0.75; }

.faq__visual { display: flex; flex-direction: column; align-items: center; margin-bottom: 40px; }
.faq__character { max-width: 320px; height: auto; max-height: 450px; object-fit: contain; }
.faq__artist { font-size: 0.7rem; color: rgba(0,0,0,0.35); text-align: center; margin-top: 4px; }

/* ===== SCROLL ANIMATIONS ===== */
.fade-in {
  opacity: 0;
  transform: translateY(40px) scale(0.97);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger delay for list items */
.fade-in:nth-child(2) { transition-delay: 0.08s; }
.fade-in:nth-child(3) { transition-delay: 0.16s; }
.fade-in:nth-child(4) { transition-delay: 0.24s; }
.fade-in:nth-child(5) { transition-delay: 0.32s; }
.fade-in:nth-child(6) { transition-delay: 0.4s; }
.fade-in:nth-child(7) { transition-delay: 0.48s; }
.fade-in:nth-child(8) { transition-delay: 0.56s; }

/* Bubble float animation */
.advantage__bubble {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.advantage__bubble--lg { animation: bubbleLg 5s ease-in-out infinite; }
.advantage__bubble--md { animation: bubbleMd 4s ease-in-out infinite 0.3s; }
.advantage__bubble--sm { animation: bubbleSm 3.5s ease-in-out infinite 0.8s; }

@keyframes bubbleLg {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-20px) scale(1.08); }
}
@keyframes bubbleMd {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(8px, -16px) rotate(10deg); }
}
@keyframes bubbleSm {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-5px, -12px) scale(1.15); }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .section-title { margin-bottom: 32px; }
  .hero { padding: 48px 0 0; }
  .hero__inner { flex-direction: column; padding: 0 20px; gap: 0; text-align: center; }
  .hero__visual { flex: none; order: -1; width: 80%; max-width: 320px; margin: 0 auto; }
  .hero__text { padding: 24px 0 48px; }
  .hero__logo { font-size: 2rem; padding: 6px 14px; }
  body { padding-bottom: 200px; }
  details[open] { scroll-margin-bottom: 210px; }
  .btn { font-size: 1rem; padding: 14px 20px; width: 100%; min-width: 0; }
  .fixed-cta {
    bottom: 0;
    padding: 12px 20px 20px;
    gap: 16px;
    flex-direction: column;
    align-items: stretch;
    background-color: #fff;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 80' preserveAspectRatio='none'><path d='M0 20 Q30 4 60 20 T120 20 T180 20 T240 20' stroke='%23FF3CAC' stroke-width='2' fill='none' opacity='.55'/><path d='M0 35 Q30 19 60 35 T120 35 T180 35 T240 35' stroke='%23784BA0' stroke-width='2' fill='none' opacity='.55'/><path d='M0 50 Q30 34 60 50 T120 50 T180 50 T240 50' stroke='%232B86C5' stroke-width='2' fill='none' opacity='.55'/><path d='M0 65 Q30 49 60 65 T120 65 T180 65 T240 65' stroke='%23FFB86C' stroke-width='2' fill='none' opacity='.55'/></svg>");
    background-repeat: repeat-x;
    background-size: 240px 80px;
    background-position: top center;
    border-top: 3px solid var(--black);
  }
  .advantage { padding: 60px 20px; }
  .advantage__content { flex-direction: column; }
  .advantage__list { border-radius: 14px; padding: 20px; }
  .advantage__icon { width: 36px; height: 36px; }
  .advantage__text h3 { font-size: 0.9rem; }
  .advantage__text p { font-size: 0.78rem; }
  .advantage__visual { flex: none; width: 160px; margin: 0 auto; }
  .testimonial { padding: 60px 20px; }
  .testimonial__card { flex-direction: column; padding: 24px 20px; text-align: center; }
  .testimonial__avatar { flex: none; }
  .testimonial__avatar img { width: 110px; margin: 0 auto; }
  .testimonial__name { font-size: 1.1rem; }
  .testimonial__body p { font-size: 0.88rem; text-align: left; }
  .flow { padding: 60px 20px; }
  .flow__steps { margin-bottom: 48px; }
  .flow__step { max-width: 100%; }
  .flow__step-label { font-size: 1rem; padding: 5px 12px; }
  .flow__step-icon { width: 30px; height: 30px; }
  .flow__step-text { font-size: 0.88rem; }
  .qualification { flex-direction: column; padding: 24px 20px; }
  .qualification__text ul li { font-size: 1rem; }
  .qualification__visual { flex: none; margin: 0 auto; }
  .faq { padding: 60px 20px 140px; }
  .faq__inner { flex-direction: column; align-items: center; }
  .faq__visual { width: 100%; }
  .faq__character { max-width: 220px; }
  .faq__question { font-size: 0.88rem; }
  .faq__q, .faq__toggle { font-size: 1.2rem; }
}
