/* ============================================================
   ODDLYS · about-v8.css
   Scope: everything lives under #ab8-about / .ab8- prefixed classes.
   Safe to load after v6.css. Declares its own tokens locally so it
   never depends on (or overwrites) global :root variables.
   Fonts reuse the already-licensed project files in assets/fonts-v5/.
   ============================================================ */

@font-face{
  font-family:"ODDLYS Pretendard";
  src:url('assets/fonts-v5/PretendardVariable.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:"ODDLYS CookieRun";
  src:url('assets/fonts-v5/CookieRun-Bold.otf') format('opentype');
  font-weight:700 900;
  font-display:swap;
}

#ab8-about{
  --ab8-ink:#202124;
  --ab8-paper:#fcfcfa;
  --ab8-blue:#287bff;
  --ab8-blue-70:#68a2fe;
  --ab8-blue-50:#92bcfd;
  --ab8-blue-30:#bcd5fc;
  --ab8-muted:#6e716f;
  --ab8-line:#e8e9e4;
  --ab8-surface:#f3f3ef;
  --ab8-radius-lg:28px;
  --ab8-radius:20px;
  --ab8-radius-sm:14px;
  --ab8-maxw:1180px;

  display:block;
  background:var(--ab8-paper);
  color:var(--ab8-ink);
  font-family:"ODDLYS Pretendard",Pretendard,-apple-system,"Malgun Gothic",Arial,sans-serif;
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}

#ab8-about *{box-sizing:border-box}
#ab8-about img{max-width:100%;display:block}
#ab8-about a{text-decoration:none}
#ab8-about p{margin:0 0 12px;color:var(--ab8-ink)}
#ab8-about p:last-child{margin-bottom:0}

.ab8-ko{font-family:"ODDLYS CookieRun","ODDLYS Pretendard",Pretendard,sans-serif}

.ab8-wrap{
  width:min(100% - 40px,var(--ab8-maxw));
  margin-inline:auto;
}

.ab8-eyebrow{
  display:inline-block;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--ab8-blue);
  text-transform:uppercase;
  margin-bottom:12px;
}

.ab8-h2{
  font-size:clamp(22px,3.6vw,30px);
  line-height:1.35;
  margin:0 0 8px;
  font-weight:800;
}

.ab8-section-heading{margin-bottom:28px;max-width:640px}
.ab8-section-heading__note{color:var(--ab8-muted);font-size:12.5px;margin-top:10px}

.ab8-only-desktop{display:none}

/* ---------------- Buttons ---------------- */
.ab8-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 22px;
  border-radius:50px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  border:1px solid transparent;
}
.ab8-btn--primary{background:var(--ab8-ink);color:var(--ab8-paper)}
.ab8-btn--primary:hover{background:var(--ab8-blue)}
.ab8-btn--ghost{background:transparent;color:var(--ab8-ink);border-color:var(--ab8-line)}
.ab8-btn--ghost:hover{border-color:var(--ab8-ink)}
.ab8-btn:active{transform:scale(.97)}
.ab8-btn:focus-visible{outline:2px solid var(--ab8-blue);outline-offset:2px}

/* ============================================================
   HERO
   ============================================================ */
.ab8-hero{
  width:min(100% - 40px,var(--ab8-maxw));
  margin:0 auto;
  padding:96px 0 56px;
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:center;
}

.ab8-hero__title{
  font-size:clamp(32px,7vw,52px);
  line-height:1.22;
  margin:0 0 18px;
  font-weight:800;
}
.ab8-hero__lead{font-size:15px;font-weight:600}
.ab8-hero__sub{color:var(--ab8-muted);font-size:13.5px;max-width:46ch}
.ab8-hero__actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

.ab8-hero__visual{
  position:relative;
  aspect-ratio:1/1;
  max-width:440px;
  width:100%;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ab8-hero__blob{
  position:absolute;
  inset:6%;
  border-radius:44% 56% 58% 42%/48% 42% 58% 52%;
  background:linear-gradient(160deg,var(--ab8-blue-30),var(--ab8-surface) 70%);
}
.ab8-hero__mascot{
  position:relative;
  width:58%;
  z-index:2;
  filter:drop-shadow(0 18px 30px rgba(32,33,36,.12));
}
.ab8-hero__pack{
  position:absolute;
  width:22%;
  border-radius:12px;
  box-shadow:0 14px 30px rgba(32,33,36,.16);
  z-index:3;
  background:var(--ab8-paper);
}
.ab8-hero__pack--a{top:6%;left:2%;transform:rotate(-9deg)}
.ab8-hero__pack--b{bottom:8%;right:0%;transform:rotate(8deg)}
.ab8-hero__tag{
  position:absolute;
  bottom:-6px;
  left:50%;
  translate:-50% 0;
  background:var(--ab8-paper);
  border:1px solid var(--ab8-line);
  border-radius:50px;
  padding:10px 18px;
  font-size:11.5px;
  font-weight:700;
  text-align:center;
  line-height:1.4;
  box-shadow:0 10px 24px rgba(32,33,36,.08);
  z-index:4;
}

/* ============================================================
   MANIFESTO
   ============================================================ */
.ab8-manifesto{padding:44px 0}
.ab8-manifesto__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  padding:36px 0;
  border-top:1px solid var(--ab8-line);
  border-bottom:1px solid var(--ab8-line);
}
.ab8-manifesto__statement{
  font-size:clamp(20px,3.4vw,26px);
  font-weight:800;
  line-height:1.5;
  margin:0;
}
.ab8-manifesto__name p{font-size:13.5px}
.ab8-manifesto__name em{color:var(--ab8-blue);font-style:normal;font-weight:700}
.ab8-manifesto__note{color:var(--ab8-muted);font-size:12px;margin-top:14px}

/* ============================================================
   THREE EXPERIENCES
   ============================================================ */
.ab8-experiences{padding:48px 0}
.ab8-experience-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.ab8-experience-card{
  background:var(--ab8-surface);
  border-radius:var(--ab8-radius-lg);
  padding:22px 22px 26px;
  position:relative;
  display:flex;
  flex-direction:column;
}
.ab8-experience-card__visual{
  border-radius:var(--ab8-radius);
  background:var(--ab8-paper);
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  margin-bottom:16px;
  position:relative;
}
.ab8-experience-card__visual img{height:88%;width:auto;object-fit:contain}
.ab8-experience-card__visual--pack img{height:92%}
.ab8-experience-card__visual--soon{
  isolation:isolate;
  flex-direction:column;
  gap:4px;
  background:radial-gradient(circle at 80% 20%,#d9eafb,transparent 35%),linear-gradient(135deg,#e8f3fb,#d1e8f7);
  border:1px solid #c5dfef;
  text-align:center;
}
.ab8-experience-card__soon-orbit{
  position:absolute;
  width:210px;height:210px;border:1px solid rgba(31,103,151,.22);
  border-radius:50%;transform:rotate(-25deg) scaleX(1.5);
  z-index:-1;
}
.ab8-experience-card__soon-mark{
  position:absolute;top:15px;left:18px;color:#5d9fc5;
  font-size:11px;font-weight:800;letter-spacing:.12em;
}
.ab8-experience-card__soon-copy strong{display:block;color:#184c71;font-size:27px;letter-spacing:-.04em}
.ab8-experience-card__soon-copy small{display:block;margin-top:5px;color:#457a9b;font-size:11px;font-weight:700}
.ab8-experience-card__status{
  align-self:flex-start;margin-top:14px;border-radius:30px;
  padding:7px 11px;background:#e0eff8;color:#285f81;
  font-size:10px;font-weight:800;letter-spacing:.1em;
}
.ab8-experience-card__num{
  font-size:11px;
  font-weight:800;
  color:var(--ab8-blue);
  letter-spacing:.06em;
}
.ab8-experience-card h3{
  font-size:17px;
  margin:8px 0 8px;
  font-weight:800;
}
.ab8-experience-card p{font-size:13px;color:var(--ab8-muted);flex-grow:1}
.ab8-experience-card__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  font-size:12.5px;
  font-weight:700;
  color:var(--ab8-ink);
  width:fit-content;
}
.ab8-experience-card__link span{transition:translate .18s ease}
.ab8-experience-card__link:hover span{translate:3px 0}
.ab8-experience-card__linkrow{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
.ab8-experience-card__linkrow .ab8-experience-card__link{margin-top:0}

/* ============================================================
   MASCOT INTRO
   ============================================================ */
.ab8-mascot{padding:48px 0}
.ab8-mascot__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  align-items:center;
  background:var(--ab8-surface);
  border-radius:var(--ab8-radius-lg);
  padding:32px 24px;
}
.ab8-mascot__portrait{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ab8-mascot__portrait img{width:min(260px,70%)}
.ab8-mascot__lead{font-weight:700;font-size:14.5px}
.ab8-mascot__copy p{font-size:13.5px}
.ab8-mascot__moments{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.ab8-mascot__moments li{
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--ab8-paper);
  border-radius:var(--ab8-radius-sm);
  padding:10px 14px;
}
.ab8-mascot__moments img{width:44px;height:44px;object-fit:contain;flex-shrink:0}
.ab8-mascot__moments strong{display:block;font-size:13px;font-weight:800}
.ab8-mascot__moments span{display:block;font-size:11.5px;color:var(--ab8-muted);margin-top:2px}

/* ============================================================
   OPERATING PRINCIPLES
   ============================================================ */
.ab8-principles{padding:48px 0}
.ab8-principle-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.ab8-principle-card{
  border:1px solid var(--ab8-line);
  border-radius:var(--ab8-radius);
  padding:20px 20px 22px;
}
.ab8-principle-card__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--ab8-blue-30);
  color:var(--ab8-ink);
  font-size:11.5px;
  font-weight:800;
  margin-bottom:12px;
}
.ab8-principle-card h3{font-size:15px;margin:0 0 8px;font-weight:800}
.ab8-principle-card p{font-size:13px;color:var(--ab8-muted)}

/* ============================================================
   CTA
   ============================================================ */
.ab8-cta{padding:8px 0 88px}
.ab8-cta__inner{
  background:var(--ab8-ink);
  color:var(--ab8-paper);
  border-radius:var(--ab8-radius-lg);
  padding:36px 24px;
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.ab8-cta__mascot{
  width:76px;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.28));
  justify-self:start;
}
.ab8-cta .ab8-eyebrow{color:var(--ab8-blue-50)}
.ab8-cta__copy h2{color:var(--ab8-paper)}
.ab8-cta__copy p{color:#cfd2d6;font-size:13px;max-width:52ch}
.ab8-cta__actions{display:flex;flex-wrap:wrap;gap:10px}
.ab8-cta .ab8-btn--primary{background:var(--ab8-blue);color:var(--ab8-paper)}
.ab8-cta .ab8-btn--primary:hover{background:var(--ab8-blue-70)}
.ab8-cta .ab8-btn--ghost{color:var(--ab8-paper);border-color:#4a4c50}
.ab8-cta .ab8-btn--ghost:hover{border-color:var(--ab8-paper)}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* small phones: tighten wrap gutters */
@media (max-width:374px){
  .ab8-wrap,.ab8-hero{width:min(100% - 28px,var(--ab8-maxw))}
  .ab8-hero{padding-top:84px}
  .ab8-hero__title{font-size:30px}
}

/* >=560px: two-up principle + experience grids start to breathe */
@media (min-width:560px){
  .ab8-principle-grid{grid-template-columns:repeat(2,1fr)}
}

/* >=760px: mascot + cta go two column, tags show desktop line break */
@media (min-width:760px){
  .ab8-only-desktop{display:inline}
  .ab8-mascot__grid{grid-template-columns:.9fr 1.1fr;padding:48px}
  .ab8-mascot__moments{grid-template-columns:1fr 1fr}
  .ab8-cta__inner{
    grid-template-columns:auto 1fr auto;
    padding:44px 48px;
    text-align:left;
  }
  .ab8-cta__mascot{justify-self:center}
}

/* >=880px: hero becomes two column, experiences 3-up */
@media (min-width:880px){
  .ab8-hero{
    grid-template-columns:1.05fr .95fr;
    padding:120px 0 72px;
    gap:24px;
  }
  .ab8-hero__visual{margin-inline:0;margin-left:auto}
  .ab8-manifesto__grid{grid-template-columns:.85fr 1.15fr;gap:56px}
  .ab8-experience-grid{grid-template-columns:repeat(3,1fr)}
  .ab8-principle-grid{grid-template-columns:repeat(4,1fr)}
}

/* >=1024px: roomier hero + mascot */
@media (min-width:1024px){
  .ab8-hero__title{font-size:56px}
  .ab8-mascot__portrait img{width:280px}
}

/* >=1280px: desktop max comfort */
@media (min-width:1280px){
  .ab8-hero{padding-top:132px}
  .ab8-experience-card__visual{height:210px}
}
