/* Kiff 공통 스타일 — 페이지: index · wenny · qa · policy · account-deletion */
/* ── Header · Footer ──────────────────────────────────────────────
   모든 페이지 공통. header·footer 모양은 이 구간만 고치면 된다. 마크업은 app.js 의 템플릿 하나.
   (2026-10-15 styles.css·site.css 에 흩어져 있던 규칙을 원래 순서대로 모으고, 뒤에서 덮어쓰던 선언을 지웠다) */
body.menu-open {
  overflow: hidden;
}
.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: max(13px, env(safe-area-inset-top)) 28px 13px;
  transition: color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}
.site-header.is-on-light {
  color: var(--ink);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 30px rgba(8, 8, 8, .045);
}
.site-header.menu-active {
  color: var(--ink);
}
.brand-logo {
  position: relative;
  z-index: 103;
}
.brand-logo img {
  top: 6px;
  left: 6px;
}
.menu-toggle {
  position: relative;
  z-index: 104;
  width: 48px;
  height: 48px;
  padding: 11px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 7px auto;
  background: currentColor;
  transition: transform 220ms ease;
}
.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4.5px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4.5px) rotate(-45deg);
}
.main-nav {
  position: fixed;
  z-index: 102;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 108px 24px 34px;
  color: var(--ink);
  background: radial-gradient(circle at 82% 18%, rgba(255,255,255,.9) 0 74px, transparent 75px), radial-gradient(circle at 12% 85%, rgba(255,255,255,.68) 0 92px, transparent 93px), linear-gradient(145deg,#f1edff 0%,#fff0f7 54%,#e9f2ff 100%);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity 220ms ease, transform 220ms ease, visibility 220ms;
}
.main-nav.is-open {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.main-nav a {
  position: relative;
  width: 100%;
  padding: 17px 21px 19px;
  border-radius: 24px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 10px 30px rgba(93,72,136,.08);
  font-weight: 800;
  line-height: 1.02;
}
.main-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -.18em;
  left: 0;
  height: 3px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.main-nav a:hover::after,
.main-nav a.is-active::after {
  transform: scaleX(1);
}
.site-footer {
  display: block;
  min-height: 330px;
  padding: 52px max(28px, calc((100vw - var(--max)) / 2)) 44px;
  font-size: 12px;
}
.footer-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 34px;
}
.footer-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
}
.footer-links a {
  color: rgba(255,255,255,.82);
  font-size: 13px;
  transition: color 180ms ease;
}
.footer-links a:hover {
  color: #fff;
}
.footer-utilities {
  display: flex;
  align-items: center;
  gap: 26px;
}
.age-badge {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.footer-rule {
  height: 1px;
  margin: 22px 0 26px;
  background: rgba(255,255,255,.16);
}
.footer-company {
  display: grid;
  gap: 7px;
  line-height: 1.55;
}
.footer-company p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.footer-company i {
  width: 1px;
  height: 11px;
  background: rgba(255,255,255,.18);
}
.footer-company a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-top: 36px;
}
.footer-bottom small {
  color: rgba(255,255,255,.32);
  font-size: 11px;
}
.footer-lockup {
  display: flex;
  align-items: center;
  color: #fff;
}
.footer-lockup img {
  display: block;
  flex: 0 0 auto;
}
.footer-kiff-logo {
  width: 85px;
  height: auto;
}
.footer-krafton-logo {
  width: 132px;
  height: auto;
  object-fit: contain;
}
.footer-lockup>span {
  width: 1px;
  height: 23px;
  margin: 0 18px;
}
.footer-social {
  display: flex;
  align-items: center;
  gap: 17px;
}
.footer-social a {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #fff;
  opacity: .9;
  transition: opacity 180ms ease, transform 180ms ease;
}
.footer-social a:hover {
  opacity: 1;
  transform: translateY(-2px);
}
.footer-social svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
@media (min-width: 981px) {
  .site-header .main-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 36px;
    padding: 0;
    color: var(--white);
    background: transparent;
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .site-header.is-on-light .main-nav {
    color: var(--ink);
  }
  .site-header .main-nav a {
    width: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    font-weight: 700;
    white-space: nowrap;
  }
  .site-header .main-nav a::after {
    bottom: -10px;
    height: 2px;
  }
  .site-header .menu-toggle {
    display: none;
  }
}
@media (max-width: 980px) {
  .site-header.is-on-light {
    box-shadow: 0 8px 24px rgba(8,8,8,.05);
  }
  .brand-logo img {
    top: 5px;
    left: 5px;
  }
  .site-header.menu-active {
    background: transparent;
  }
  .main-nav a::after {
    right: 21px;
    bottom: 12px;
    left: 21px;
    height: 2px;
  }
  .main-nav.is-open:has(a:hover) a.is-active:not(:hover)::after {
    transform: scaleX(0);
  }
  .site-footer {
    padding-block: 44px 40px;
  }
}
@media (max-width: 560px) {
  .footer-company p {
    line-height: 1.75;
  }
  .footer-topline {
    align-items: flex-start;
    flex-direction: column;
  }
  .footer-links {
    gap: 15px 20px;
  }
  .footer-utilities {
    gap: 18px;
  }
  .footer-company p {
    display: block;
  }
  .footer-company p span,
  .footer-company p a {
    display: block;
    margin-bottom: 3px;
  }
  .footer-company i {
    display: none;
  }
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    margin-top: 30px;
  }
  .footer-kiff-logo {
    width: 77px;
  }
  .footer-krafton-logo {
    width: 120px;
    height: auto;
  }
}
.home-page .site-header {
  color: #fff;
  background: transparent;
}
.home-page .site-header.is-on-light,
.home-page .site-header.menu-active {
  color: #000;
  background: rgba(255,255,255,.97);
  box-shadow: 0 1px 0 rgba(0,0,0,.08);
}
.home-page .brand-logo img {
  top: auto;
  left: auto;
}
.home-page .main-nav {
  gap: clamp(24px,3vw,48px);
}
.home-page .main-nav a.is-active {
  font-weight: 800;
}
.home-page .site-header,
.subpage .site-header {
  min-height: 88px;
  padding-block: 12px;
  padding-inline: max(24px,calc((100vw - 1440px)/2));
  backdrop-filter: none;
}
.home-page .brand-logo,
.subpage .brand-logo {
  display: grid;
  place-items: center;
  width: 112px;
  height: 60px;
  overflow: visible;
}
.home-page .brand-logo img,
.subpage .brand-logo img {
  position: static;
  width: 86px;
  height: auto;
  max-width: 100%;
  filter: none;
  transition: none;
}
.home-page .site-header.is-on-light .brand-logo img,
.subpage .site-header.is-on-light .brand-logo img,
.home-page .site-header.menu-active .brand-logo img,
.subpage .site-header.menu-active .brand-logo img {
  filter: none;
}
.subpage .site-header {
  color: #000;
  background: #fff;
  box-shadow: 0 1px 0 #e5e5e5;
}
.subpage .main-nav {
  gap: clamp(20px,2.7vw,42px);
}
.home-page .main-nav a,
.subpage .main-nav a {
  font-size: 14px;
  letter-spacing: -.01em;
}
.subpage .main-nav.is-open,
.home-page .main-nav.is-open {
  background: #fff;
  color: #000;
}
.home-page .site-footer,
.subpage .site-footer {
  background: #000;
  color: rgba(255,255,255,.7);
}
.home-page .footer-kiff-logo,
.subpage .footer-kiff-logo {
  filter: none;
}
.home-page .footer-lockup,
.subpage .footer-lockup {
  gap: 0;
  height: 84px;
}
.home-page .footer-lockup .footer-krafton-logo,
.subpage .footer-lockup .footer-krafton-logo {
  order: 1;
  width: 148px;
}
.home-page .footer-lockup>span,
.subpage .footer-lockup>span {
  order: 2;
  margin-inline: 22px;
  background: rgba(255,255,255,.48);
}
.home-page .footer-lockup .footer-kiff-logo,
.subpage .footer-lockup .footer-kiff-logo {
  order: 3;
  width: 92px;
}
.main-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.main-nav a:hover {
  opacity: .65;
}
@media (max-width: 980px) {
  .home-page .site-header,
  .subpage .site-header {
    min-height: 76px;
    padding: 8px 16px;
  }
  .home-page .brand-logo,
  .subpage .brand-logo {
    width: 100px;
    height: 60px;
  }
  .home-page .brand-logo img,
  .subpage .brand-logo img {
    width: 78px;
  }
  .subpage .main-nav a {
    font-size: 36px;
  }
  .home-page .main-nav a {
    font-size: 36px;
  }
}
/* ── Header · Footer 끝 ── */

html{--header-height:88px;scroll-padding-top:104px}
section[id],main[id]{scroll-margin-top:104px}
:root{--ink:#000;--milk:#fff;--white:#fff;--gray-1:#b2b2b2;--gray-2:#e5e5e5;--lilac:#e0c5ff;--line:rgba(0,0,0,.12);--max:1240px}
    .home-page{background:#fff;color:#000}
.home-page .splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;min-height:clamp(680px,70svh,900px);padding:clamp(144px,14svh,188px) 24px clamp(80px,8svh,112px);background:#000;color:#fff}
    /* Keep the official white logo flat: no dark overlay across the artwork. */
    .home-page .splash::after{content:none;display:none}
.home-page .splash-media{position:relative;inset:auto;width:100%;height:auto;flex:none}
.home-page .splash-logo{position:relative;inset:auto;width:min(660px,64vw);height:auto}
    .home-page .splash-logo-static{display:block;filter:none}
.home-page .splash-copy{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:min(1080px,100%);margin:0;text-align:center;transform:none}
    .home-page .splash-copy h1{font-size:clamp(26px,3vw,42px);line-height:1.18;letter-spacing:-.045em}
    .home-page .splash-copy::after{content:"";display:block;width:76px;height:3px;margin:20px auto 0;background:linear-gradient(90deg,#e0c5ff 0%,#cae3ff 34%,#fee2cd 68%,#f0feaf 100%)}
.home-page .intro{padding:clamp(80px,8vw,112px) 0 clamp(88px,9vw,128px);background:#fff}
    .home-page .intro-lead h2{font-size:clamp(38px,5vw,66px);line-height:1.34;letter-spacing:-.05em}
    .home-page .intro-support{margin-top:22px;color:#666;font-size:17px;font-weight:500}
.home-page .feature-grid{width:min(1120px,calc(100% - 56px));gap:40px;margin-top:52px}
    .home-page .feature-card{min-height:400px;padding:20px 22px 26px;border:1px solid #e5e5e5;border-radius:18px 42px 18px 18px;background:#fff;box-shadow:none;opacity:1;transform:scale(.985)}
    .home-page .feature-card.card-pink,.home-page .feature-card.card-blue,.home-page .feature-card.card-yellow{background:#fff}
    .home-page .feature-card.is-center{transform:translateY(-10px) scale(1)}
    .home-page .feature-card.is-center:hover{box-shadow:0 18px 34px rgba(0,0,0,.1);transform:translateY(-14px) scale(1)}
    .home-page .feature-visual{height:220px}
.home-page .feature-visual img{width:min(168px,70%);height:168px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.1));mix-blend-mode:normal;object-fit:contain;transform:none}
    .home-page .feature-copy{margin-top:auto;padding:12px 5px 2px}
.home-page .feature-card h3{font-size:clamp(24px,2vw,28px);letter-spacing:-.045em;line-height:1.3}
    .home-page .feature-card p{max-width:28ch;margin-top:11px;color:#666;font-size:15px;line-height:1.55}
    .home-page .feature-pagination span.is-active{background:linear-gradient(90deg,#e0c5ff,#cae3ff,#fee2cd,#f0feaf)}
.home-page .relationship{padding:clamp(80px,8vw,112px) 0;background:#f5f5f5;color:#000}
    .home-page .relationship-grid{gap:clamp(48px,8vw,112px)}
    .home-page .relationship-copy h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.055em}
    .home-page .relationship-copy>p{margin-top:26px;color:#555;font-size:17px;line-height:1.75}
    .home-page .phone-stage{min-height:620px}
    .home-page .characters{padding:clamp(104px,12vw,154px) 0 clamp(80px,8vw,104px);background:#fff;color:#000}
    .home-page .section-heading-row h2{font-size:clamp(40px,5vw,66px);line-height:1.34;letter-spacing:-.05em}
    .home-page .section-note{margin-top:18px;color:#666;font-size:16px;font-weight:500}
    .home-page .character-carousel{width:min(calc(100% - 48px),calc(2 * var(--slide-width) + 40px));margin-top:64px}
    .home-page .character-track{gap:20px;padding-top:18px;padding-bottom:30px}
    .home-page .character-card{border:1px solid #e5e5e5;border-radius:18px;background:#fff;box-shadow:none}
    .home-page .character-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.08)}
    .home-page .holo-window{border-radius:12px;background:#fff}
    .home-page .character-card-one .holo-window{background:#fff}
    .home-page .character-card-one .holo-window::before{display:none}
.home-page .character-card-one .mystery-character{width:min(320px,96%);height:auto;aspect-ratio:1518/1648;overflow:hidden}
.home-page .character-card-one .mystery-character img{position:absolute;inset:auto;left:-55.665349%;top:-24.696602%;width:172.990777%;height:122.876214%;max-width:none;filter:none;object-fit:fill;object-position:center;transform:none}
    .home-page .character-card-one .foil-star{display:none}
.home-page .character-card-one .character-meta{justify-content:space-between;align-items:flex-end}
    .home-page .character-card-two .holo-window,.home-page .character-card-three .holo-window{background:#e5e5e5}
    .home-page .card-wrap-sealed{background:linear-gradient(125deg,#e0c5ff 0%,#cae3ff 32%,#fee2cd 68%,#f0feaf 100%);background-size:180% 180%;animation:sealed-gradient-flow 9s ease-in-out infinite}
    .home-page .card-wrap-sealed-alt{filter:none}
    .home-page .carousel-arrow{border:1px solid #e5e5e5;background:#fff;color:#000;box-shadow:none}


    .home-page a:focus-visible,.home-page button:focus-visible,.home-page [tabindex]:focus-visible{outline:3px solid #000;outline-offset:4px}
    @media(max-width:980px){
  .home-page .splash-logo{width:min(620px,78vw);top:auto}
  .home-page .splash-copy{bottom:auto}
      .home-page .intro{padding:100px 0 112px}
      .home-page .feature-grid{width:min(1080px,calc(100% - 48px));height:440px;--feature-card-width:min(320px,calc(100% - 120px));margin-top:56px}
      .home-page .feature-card{min-height:0;padding:18px 22px 25px;border-radius:18px 34px 18px 18px}
      .home-page .feature-card.is-left{opacity:.58;transform:translateX(calc(-50% - var(--feature-shift))) scale(.9)}
      .home-page .feature-card.is-right{opacity:.58;transform:translateX(calc(-50% + var(--feature-shift))) scale(.9)}
      .home-page .feature-card.is-center{opacity:1;transform:translateX(-50%) scale(1.035)}
      .home-page .feature-card.is-center:hover{transform:translateX(-50%) scale(1.04)}
      .home-page .feature-visual{height:210px}
      .home-page .feature-visual img{width:min(224px,96%);height:224px}
      .home-page .feature-copy{margin-top:1px;padding:0 8px 4px}
      .home-page .relationship{padding:104px 0}
      .home-page .relationship-grid{gap:48px}
      .home-page .phone-stage{min-height:570px}
      .home-page .characters{padding:104px 0 80px}
      .home-page .character-carousel{width:min(calc(100% - 48px),calc(2 * var(--slide-width) + 32px));margin-top:48px}
      .home-page .character-track{gap:16px}
      .home-page .character-card{border-radius:16px}
    }
    @media(max-width:560px){
  .home-page .splash{min-height:0;padding:140px 20px 76px;gap:36px}
  .home-page .splash-logo{width:88vw;max-width:100%;top:auto}
  .home-page .splash-copy{right:auto;bottom:auto;left:auto;width:100%}
      .home-page .splash-copy h1{font-size:clamp(25px,7vw,32px);line-height:1.24}
      .home-page .intro-lead h2{font-size:clamp(34px,9vw,42px)}
      .home-page .intro-support{font-size:15px}
      .home-page .feature-grid{width:calc(100% - 36px);height:410px;--feature-card-width:min(320px,calc(100% - 48px));margin-top:48px}
      .home-page .feature-card{padding:16px 20px 22px;border-radius:16px 28px 16px 16px}
      .home-page .feature-visual{height:200px}
      .home-page .feature-visual img{width:min(216px,96%);height:216px}
  .home-page .feature-card h3{font-size:24px}
      .home-page .feature-card p{font-size:14px}
      .home-page .relationship-copy h2,.home-page .section-heading-row h2{font-size:clamp(35px,9vw,44px)}
      .home-page .relationship-copy>p{margin-top:22px;font-size:15px}
      .home-page .phone-stage{min-height:540px}
      .home-page .character-track{padding-top:10px}
    }

/* Shared navigation keeps the pages in the same local site. */
.subpage{background:#fff;color:#000}
.subpage .subpage-main{padding-top:88px;background:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}

/* A freshly revealed character, with the original animated artwork. */
.home-page .character-card-one .card-topline{align-items:center;justify-content:space-between;margin:0 4px 14px;font-size:12px}
.new-character-badge{display:grid;place-items:center;width:90px;height:50px;flex:none;padding:5px 9px;border-radius:0;background:#f0feaf;color:#000;clip-path:polygon(8% 0,20% 8%,33% 0,46% 8%,60% 0,73% 8%,90% 0,93% 19%,100% 31%,94% 47%,100% 64%,92% 79%,93% 100%,76% 93%,61% 100%,47% 92%,32% 100%,18% 92%,3% 100%,7% 78%,0 63%,7% 47%,0 29%,8% 18%);font-size:22px;font-weight:900;font-style:italic;line-height:1;letter-spacing:-.055em;transform:rotate(-8deg)}
.character-artist{font-size:11px;font-weight:750;letter-spacing:.04em}
.home-page .character-meta small{display:block;margin-bottom:5px;color:#6b6b6b;font-size:12px;font-weight:500;letter-spacing:-.02em}
.home-page .character-meta strong{display:block;font-size:29px;line-height:1.2;letter-spacing:-.05em}
.home-page .character-meta strong span{margin-left:5px;color:#777;font-size:17px;font-weight:500;letter-spacing:-.025em}
.character-story-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#111;font-size:12px;font-weight:700;white-space:nowrap}
.character-story-link:hover{text-decoration:underline;text-underline-offset:4px}
.home-page .section-note{white-space:normal;line-height:1.7}
.home-page .card-wrap-sealed-alt{animation-delay:-4.5s}
.sealed-sheen{position:absolute;z-index:3;top:-25%;bottom:-25%;left:-75%;width:58%;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 22%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.94) 49%,rgba(255,255,255,.42) 56%,transparent 82%);transform:translate3d(-100%,0,0) skewX(-22deg);animation:foil-sheen-pass 6.4s cubic-bezier(.22,.61,.36,1) infinite}
.card-wrap-sealed-alt .sealed-sheen{animation-delay:-3.2s}
.home-page .character-card.is-dim .dim-label{width:calc(100% - 48px);color:#39333f;font-size:clamp(20px,2.4vw,26px);line-height:1.45;word-break:keep-all;text-shadow:0 1px 1px rgba(255,255,255,.8)}
.home-page .character-card.is-dim .mystery-mark{top:calc(50% - 100px);color:#39333f}
.home-page .character-card.is-dim .mystery-mark svg{filter:none}
@keyframes foil-sheen-pass{0%,12%{transform:translate3d(-100%,0,0) skewX(-22deg)}44%,100%{transform:translate3d(450%,0,0) skewX(-22deg)}}
@keyframes sealed-gradient-flow{0%,100%{background-position:0% 30%}50%{background-position:100% 70%}}

/* Character cards and making-of videos have distinct section backgrounds and headings. */
.home-page .character-stories{padding:clamp(80px,8vw,112px) 0;background:var(--gray-2);color:#000}
.character-making{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:64px;max-width:1120px;margin-block:0}
.character-making-copy h2{margin:0;color:#000;font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.34;letter-spacing:-.045em}
.character-making-copy p{margin:20px 0 0;color:#666;font-size:15px;line-height:1.85}
.character-making-video{position:relative;display:grid;aspect-ratio:16/9;align-content:center;justify-items:center;overflow:hidden;padding:58px 24px 36px;border-radius:20px;background:#000;color:#fff;text-align:center}
.making-video-artist{position:absolute;top:22px;left:26px;color:#b2b2b2;font-size:11px;font-weight:550;letter-spacing:.01em}
.making-video-logo{width:80px;height:auto;margin:0 0 22px}
.character-making-video h4{margin:0;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.03em}
.character-making-video p{margin:10px 0 0;color:#b2b2b2;font-size:13px;line-height:1.6}
.character-making-video.has-video,.wenny-video.has-video{display:block;min-height:0;padding:0;aspect-ratio:16/9}
.character-making-video.has-video iframe,.wenny-video.has-video iframe{display:block;width:100%;height:100%;border:0}

@media(min-width:981px){
  .home-page .relationship-grid{max-width:840px;grid-template-columns:minmax(0,1fr) 304px;gap:64px}
  .home-page .intro-lead h2{font-size:clamp(44px,4.6vw,64px)}
  .home-page .relationship-copy h2{font-size:clamp(40px,4.4vw,60px);line-height:1.16}
}
@media(max-width:980px){
  html{--header-height:76px}
  .subpage .subpage-main{padding-top:76px}
  .home-page .relationship-grid{gap:40px}
  .home-page .relationship-copy{max-width:600px}
  .home-page .relationship-copy h2{line-height:1.2}
  .home-page .feature-card{min-height:376px}
  .character-making{gap:32px}
}
@media(max-width:760px){
  .character-making{grid-template-columns:1fr;gap:26px;max-width:600px}
  .character-making-copy h2{font-size:30px;line-height:1.4}
  .character-making-copy p{font-size:14px}
}
@media(max-width:560px){
  .home-page .feature-card{min-height:360px}
  .home-page .character-carousel{width:calc(100% - 36px)}
  .home-page .intro{padding:72px 0 80px}
  .home-page .intro-lead h2{font-size:clamp(30px,8.2vw,42px);line-height:1.34}
  .home-page .intro-support{max-width:350px;margin:20px auto 0;font-size:14px;line-height:1.8}
  .home-page .intro-support br{display:none}
  .home-page .relationship{padding:76px 0}
  .home-page .relationship-copy h2{font-size:clamp(30px,8.6vw,40px)}
  .home-page .section-heading-row h2{font-size:clamp(24px,7.2vw,36px);line-height:1.36}
  .home-page .section-note{font-size:14px}
  .home-page .characters{padding:80px 0 88px}
  .home-page .character-card{padding:18px}
  .home-page .character-card-one .holo-window{min-height:360px}
  .home-page .character-meta strong{font-size:26px}
  .home-page .character-meta strong span{font-size:15px}
  .character-story-link{font-size:11px;gap:5px}
  .character-artist{font-size:10px}
  .home-page .character-stories{padding:72px 0 80px}
  .character-making-copy h2{font-size:28px}
  .character-making-video{padding:48px 18px 26px;border-radius:16px}
  .making-video-artist{top:16px;left:20px;font-size:10px}
  .making-video-logo{width:62px;margin-bottom:16px}
  .character-making-video h4{font-size:19px}
  .character-making-video p{max-width:22ch;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.home-page .card-wrap-sealed,.sealed-sheen{animation:none}.sealed-sheen{display:none}.figma-switch{transition:none}.home-page .splash-copy{opacity:1;animation:none}}
@media(max-width:380px){.home-page .feature-grid{height:450px}}

/* Neutral launch-state player follows the original black video treatment. */
.video-neutral-play{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;width:100%;height:100%;padding:inherit;border:0;border-radius:inherit;background:#000;color:#fff;font-family:inherit;text-align:center;cursor:pointer}
.video-neutral-play:disabled{opacity:1;color:#fff;cursor:default}
.video-neutral-title{display:block;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.03em}
.video-neutral-action{display:flex;align-items:center;gap:6px;margin-top:16px;color:#b2b2b2;font-size:13px;line-height:1.6}
.video-neutral-action svg{width:16px;height:16px;fill:currentColor}
.video-neutral-play:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.wenny-page .video-neutral-title{font-size:clamp(29px,4vw,48px);font-weight:750;line-height:1.25;letter-spacing:-.045em}
@media(max-width:700px){.wenny-page .video-neutral-title{font-size:32px}}
@media(max-width:560px){.home-page .video-neutral-title{font-size:19px}}

/* The visible edge of either adjacent card is a navigation target. */
.character-card-turn{position:absolute;inset:0;z-index:10;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.character-card-turn[hidden]{display:none}
.character-card-turn:focus-visible{outline:3px solid #000;outline-offset:-6px}

/* A quick lift with a soft overshoot when a pointer enters a feature card. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .home-page .feature-card{translate:0 0;transition:transform 420ms cubic-bezier(.22,1,.36,1),opacity 520ms ease,box-shadow 320ms ease,translate 420ms cubic-bezier(.34,1.56,.64,1)}
  .home-page .feature-visual img{translate:0 0;transition:translate 460ms cubic-bezier(.34,1.56,.64,1)}
  .home-page .feature-card:hover{translate:0 -14px;box-shadow:0 18px 34px rgba(0,0,0,.1)}
  .home-page .feature-card:hover .feature-visual img{translate:0 -7px}
}
@media(max-width:980px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .home-page .feature-card:hover{translate:0 -6px}
  .home-page .feature-card:hover .feature-visual img{translate:0 -4px}
}
@media(max-width:560px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .home-page .feature-card:hover{translate:0 -2px}
}

/* 정책·계정 삭제 페이지(.policy-page) — 원래 policy.html 안에 있던 스타일. account-deletion.html 도 같은 레이아웃이라 여기 둔다. */
.policy-page { background: #fff; color: #000; }
.policy-page .subpage-main { background: #fff; }
.policy-page .policy-hero { min-height: 0; padding: 76px 24px 52px; background: #fff; }
.policy-page .page-hero-inner { width: min(100%, 900px); }
.policy-page .policy-back { display: inline-block; color: #666; font-size: 14px; font-weight: 600; }
.policy-page .policy-back:hover { color: #000; }
.policy-page .policy-eyebrow { margin: 44px 0 14px; color: #777; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.policy-page .page-hero h1 { max-width: none; font-size: clamp(38px, 5vw, 60px); line-height: 1.14; letter-spacing: -.05em; }
.policy-page .page-hero h1 + p { max-width: none; margin: 20px 0 0; color: #666; font-size: 16px; font-weight: 400; line-height: 1.7; }
.policy-page .policy-nav { top: var(--header-height, 76px); justify-content: flex-start; gap: 34px; padding: 20px max(24px, calc((100% - 900px) / 2)); border-block: 1px solid #e5e5e5; background: rgba(255,255,255,.97); box-shadow: none; }
.policy-page .policy-nav button { flex-shrink: 0; color: #777; font-size: 15px; white-space: nowrap; }
.policy-page .policy-nav button.is-active { color: #000; }
.policy-page .policy-nav button::after { bottom: -21px; height: 2px; border-radius: 0; background: #000; }
.policy-page .policy-nav button:focus-visible { outline: 2px solid #000; outline-offset: 7px; }
.policy-page .legal-shell { width: min(calc(100% - 48px), 900px); padding: 64px 0 110px; }
.policy-page .legal-document { scroll-margin-top: 174px; }
.policy-page .legal-document[hidden] { display: none; }
.policy-page .legal-document:focus-visible { outline: 2px solid #b2b2b2; outline-offset: 12px; }
.policy-page .legal-title { margin-bottom: 42px; }
.policy-page .legal-title h2 { font-size: clamp(27px, 3.2vw, 36px); letter-spacing: -.04em; }
.policy-page .legal-document h3 { margin: 62px 0 28px; font-size: 24px; }
.policy-page .legal-document section:first-of-type h3 { margin-top: 0; }
.policy-page .legal-document h4 { font-size: 19px; }
.policy-page .legal-document p, .policy-page .legal-document li { font-size: 15px; line-height: 1.9; overflow-wrap: break-word; }
.policy-page .legal-document th { background: #f5f5f5; }
.policy-page .legal-document th, .policy-page .legal-document td { border-color: #e5e5e5; }
@media (max-width: 700px) {
  .policy-page .policy-hero { padding: 42px 20px 36px; }
  .policy-page .policy-eyebrow { margin-top: 32px; }
  .policy-page .policy-nav { top: var(--header-height, 68px); gap: 26px; padding-inline: 20px; overflow-x: auto; }
  .policy-page .policy-nav button { font-size: 14px; }
  .policy-page .legal-shell { width: calc(100% - 40px); padding-top: 44px; }
  .policy-page .legal-document { scroll-margin-top: 158px; }
  .policy-page .legal-document p, .policy-page .legal-document li { font-size: 14px; }
  .policy-page .legal-document h4 { font-size: 18px; }
}

/* 웨니 소개 페이지 — 원래 wenny.html 안에 있던 스타일 */
.wenny-page { --ink:#000; --milk:#fff; background:#fff; color:#000; }
.wenny-main { padding-top:108px; background:#fff; }
.wenny-shell { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.wenny-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#666; font-size:14px; font-weight:600; }
.wenny-back svg { width:17px; height:17px; }
.wenny-back:hover { color:#000; }
.wenny-intro { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:68px; padding:52px 0 76px; }
.wenny-eyebrow { margin:0 0 16px; font-size:15px; font-weight:750; letter-spacing:.015em; }
.wenny-intro h1 { margin:0; font-size:clamp(64px,6.5vw,96px); font-weight:800; line-height:1.08; letter-spacing:-.055em; }
.wenny-intro h1 span { display:inline-block; margin-left:12px; font-size:.42em; font-weight:650; letter-spacing:-.025em; }
.wenny-intro h2 { margin:30px 0 0; font-size:clamp(25px,2.6vw,34px); font-weight:750; line-height:1.42; letter-spacing:-.04em; }
.wenny-intro-copy { max-width:420px; margin:20px 0 0; color:#666; font-size:17px; line-height:1.8; }
.wenny-story-link { display:inline-flex; align-items:center; gap:25px; min-height:50px; margin-top:30px; padding:0 22px; border:1px solid #000; border-radius:999px; background:#000; color:#fff; font-size:14px; font-weight:700; }
.wenny-story-link svg { width:17px; height:17px; }
.wenny-story-link:hover { background:#292929; }
.wenny-portrait-stage { display:grid; min-height:500px; place-items:center; padding:30px; border:1px solid #e5e5e5; border-radius:30px; background:#fff; }
/* All 67 frames fit inside this padded crop of the GIF's offset transparent canvas. */
.wenny-portrait { position:relative; width:min(100%,300px); aspect-ratio:1195/1613; overflow:hidden; }
.wenny-portrait img { position:absolute; top:-27.340%; left:-86.527%; width:219.749%; height:125.543%; max-width:none; }
.wenny-story { padding:76px 0 90px; border-top:1px solid #e5e5e5; scroll-margin-top:100px; }
.wenny-story-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.wenny-story-heading h2 { margin:0; font-size:clamp(30px,3.4vw,44px); font-weight:800; line-height:1.25; letter-spacing:-.045em; }
.wenny-story-heading p { max-width:350px; margin:0 0 3px; color:#666; font-size:15px; line-height:1.7; }
.wenny-video-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.wenny-video-tabs button { display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:10px 20px; border:1px solid transparent; border-radius:999px; background:transparent; color:#17131f; font:650 15px Pretendard,"Apple SD Gothic Neo",sans-serif; cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.wenny-video-tabs button span { font-size:18px; font-weight:750; }
.wenny-video-tabs button:hover:not([aria-selected="true"]) { background:#efedf2; }
.wenny-video-tabs button[aria-selected="true"] { background:#17131f; color:#fff; }
.wenny-video-tabs button:focus-visible { outline:2px solid #17131f; outline-offset:3px; }
.wenny-video { position:relative; display:grid; aspect-ratio:16/9; align-content:center; justify-items:center; overflow:hidden; padding:80px 28px; border:1px solid #252525; border-radius:24px; background:#000; color:#fff; text-align:center; }
.wenny-video-kicker { position:absolute; top:28px; left:30px; color:#b2b2b2; font-size:11px; font-weight:750; letter-spacing:.14em; }
.wenny-video-rule { width:38px; height:1px; margin-bottom:25px; background:#b2b2b2; }
.wenny-video h3 { margin:0; font-size:clamp(29px,4vw,48px); font-weight:750; line-height:1.25; letter-spacing:-.045em; }
.wenny-video p { max-width:360px; margin:18px 0 0; color:#b2b2b2; font-size:15px; line-height:1.75; }
.wenny-bottom { display:flex; justify-content:center; padding:32px 0 4px; }
.wenny-return { display:inline-flex; align-items:center; gap:14px; min-height:48px; color:#000; font-size:14px; font-weight:700; }
.wenny-return svg { width:17px; height:17px; }
.wenny-page a:focus-visible { outline:3px solid #000; outline-offset:5px; }
@media(max-width:980px) {
  .wenny-main { padding-top:92px; }
  .wenny-intro { gap:40px; padding-top:36px; }
  .wenny-portrait-stage { min-height:420px; padding:22px; }
  .wenny-intro-copy { font-size:16px; }
  .wenny-story-heading { align-items:flex-start; flex-direction:column; gap:15px; }
  .wenny-story-heading p { max-width:500px; }
}
@media(max-width:700px) {
  .wenny-shell { width:calc(100% - 40px); }
  .wenny-intro { grid-template-columns:1fr; gap:32px; padding:32px 0 52px; }
  .wenny-intro h1 { font-size:64px; }
  .wenny-intro h2 { margin-top:22px; font-size:26px; }
  .wenny-intro-copy { max-width:100%; margin-top:16px; font-size:15px; }
  .wenny-story-link { margin-top:24px; }
  .wenny-portrait-stage { min-height:0; padding:22px; border-radius:24px; }
  .wenny-portrait { width:min(100%,290px); }
  .wenny-story { padding:50px 0 54px; }
  .wenny-story-heading { margin-bottom:24px; }
  .wenny-story-heading h2 { font-size:30px; }
  .wenny-story-heading p { font-size:14px; }
  .wenny-video-tabs { gap:6px; margin-bottom:18px; }
  .wenny-video-tabs button { gap:6px; min-height:44px; padding:9px 12px; font-size:13px; }
  .wenny-video-tabs button span { font-size:15px; }
  .wenny-video { min-height:300px; padding:76px 24px 56px; border-radius:20px; }
  .wenny-video-kicker { top:24px; left:24px; font-size:10px; }
  .wenny-video h3 { font-size:32px; }
  .wenny-video p { margin-top:16px; font-size:14px; }
  .wenny-bottom { padding-top:24px; }
}

/* One policy reader with two hash-linked document tabs. */
.policy-reader-page{background:#fff;color:#242424}
.policy-reader{max-width:760px;margin:0 auto;padding:144px 24px 100px}
.policy-reader-switch{display:flex;gap:24px;margin-bottom:48px;font-size:13px;color:#888}
.policy-reader-switch a{text-decoration:none;padding-bottom:7px}
.policy-reader-switch a[aria-selected="true"]{color:#222;border-bottom:1px solid #222}
.policy-reader-document[hidden]{display:none}
.policy-reader-document h1{font-size:32px;line-height:1.35;letter-spacing:-.045em;margin:0 0 40px;font-weight:700}
.policy-reader-toc{margin-bottom:56px;background:#f7f7f7;border-radius:18px;overflow:hidden}
.policy-toc-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:64px;padding:18px 28px;border:0;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:650;text-align:left;cursor:pointer}
.policy-toc-chevron{width:9px;height:9px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}
.policy-reader-toc.is-open .policy-toc-chevron{transform:rotate(225deg)}
.policy-toc-panel{max-height:0;padding:0 28px;overflow:hidden;opacity:0;transition:max-height .32s ease,padding-bottom .32s ease,opacity .2s ease}
.policy-reader-toc.is-open .policy-toc-panel{max-height:min(65vh,720px);padding-bottom:24px;overflow-y:auto;opacity:1;overscroll-behavior:contain}
.policy-toc-links{display:grid;gap:9px}
.policy-reader-toc a{font-size:13px;line-height:1.65;color:#666;text-decoration:none}
.policy-reader-toc a:hover{text-decoration:underline;color:#111}
.policy-reader-body{font-size:15px;line-height:1.9;color:#555;overflow-wrap:anywhere}
.policy-reader-body h3{font-size:22px;color:#222;margin:56px 0 24px;letter-spacing:-.025em}
.policy-reader-body h4{font-size:17px;color:#222;margin:32px 0 12px}
.policy-reader-body p{margin:12px 0}
.policy-reader-body ol,.policy-reader-body ul{padding-left:24px;margin:12px 0}
.policy-reader-body li{margin:8px 0;padding-left:3px}
.policy-reader-body a{color:inherit;text-underline-offset:3px}
.policy-reader-body table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;font-size:13px;margin:24px 0}
.policy-reader-body th,.policy-reader-body td{padding:12px;border:1px solid #ddd;min-width:110px;text-align:left;vertical-align:top}
.policy-reader-body th{background:#f7f7f7;color:#333}
.policy-reader-body h3,.policy-reader-body h4{scroll-margin-top:110px}
.policy-reader :is(a,button):focus-visible{outline:2px solid #7154a0;outline-offset:4px}
@media(max-width:600px){.policy-reader{padding:112px 24px 72px}.policy-reader-switch{margin-bottom:36px;gap:20px}.policy-reader-document h1{font-size:28px;margin-bottom:28px}.policy-reader-toc{margin-bottom:40px}.policy-toc-toggle{padding:16px 22px}.policy-toc-panel{padding-inline:22px}.policy-reader-toc.is-open .policy-toc-panel{max-height:60vh}.policy-reader-body{font-size:14px}.policy-reader-body h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.policy-toc-chevron,.policy-toc-panel{transition:none}}

/* Help center */
.support-page{background:#fff;color:#222}
.support-main{width:min(100% - 48px,960px);margin:auto;padding:150px 0 96px}
.support-heading{max-width:720px;margin:0 auto 48px;text-align:center}
.support-heading h1{font-size:clamp(30px,4.5vw,48px);letter-spacing:-.05em;line-height:1.3;margin-bottom:32px}
.support-search{display:block;text-align:left}
.support-search span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.support-search input{width:100%;padding:19px 22px;background:#f7f7f7;border:1px solid #e8e8e8;border-radius:14px;font:inherit;font-size:15px;color:#222}
.support-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:64px}
.support-topics>a{display:block;border:1px solid #e5e5e5;border-radius:16px;padding:26px;text-decoration:none;transition:background .15s}
.support-topics>a:hover{background:#f7f7f7}
.support-topics h2{font-size:18px;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:16px}
.support-topics h2 span{color:#888;font-weight:400}
.support-topics p{font-size:13px;color:#777;line-height:1.7;margin:12px 0 24px}
.support-topics small{font-size:12px;color:#999}
.support-results{font-size:13px;color:#888;margin-bottom:12px}
.support-section-title{font-size:26px;letter-spacing:-.035em;margin:0 0 40px}
.support-group{display:grid;grid-template-columns:180px 1fr;gap:32px;border-top:1px solid #e5e5e5;padding:32px 0 16px;scroll-margin-top:110px}
.support-group>h3{font-size:16px;font-weight:600}
.support-question{padding-bottom:32px;scroll-margin-top:110px}
.support-question h4{font-size:17px;letter-spacing:-.025em;font-weight:600;line-height:1.6;margin-bottom:12px}
.support-question p{font-size:15px;line-height:1.9;color:#666;overflow-wrap:anywhere}
.support-question a{color:#333;text-decoration:underline;text-underline-offset:3px}
.support-group[hidden],.support-question[hidden]{display:none}
.support-contact{text-align:center;border-top:1px solid #e5e5e5;padding-top:48px;margin-top:24px;scroll-margin-top:110px}
.support-contact h2{font-size:19px;letter-spacing:-.025em;margin-bottom:18px}
.support-contact>a{display:inline-block;padding:13px 22px;background:#222;border-radius:999px;color:white;text-decoration:none;font-size:14px}
.support-contact p{margin-top:12px;color:#888;font-size:12px}
.support-main :is(a,input):focus-visible{outline:2px solid #7154a0;outline-offset:4px}
@media(max-width:600px){.support-main{width:calc(100% - 40px);padding:112px 0 64px}.support-heading{margin-bottom:32px}.support-topics{grid-template-columns:1fr;gap:10px;margin-bottom:40px}.support-topics>a{padding:20px}.support-topics p{margin:8px 0 12px}.support-group{grid-template-columns:1fr;gap:24px;padding-top:24px}.support-group>h3{color:#888;font-size:13px}.support-question h4{font-size:16px}.support-question p{font-size:14px}.support-section-title{font-size:23px}}

/* Account deletion guide */
.deletion-page{background:white;color:#222}
.deletion-reader{max-width:760px;margin:auto;padding:136px 24px 96px}
.deletion-back{font-size:13px;color:#777;text-decoration:none;display:inline-block;margin-bottom:32px}
.deletion-reader h1{font-size:32px;letter-spacing:-.045em;line-height:1.4;margin:0 0 16px}
.deletion-intro{font-size:15px;color:#777;line-height:1.9;margin-bottom:40px}
.deletion-body section{padding:32px 0;border-top:1px solid #e8e8e8}
.deletion-body h2{font-size:19px;line-height:1.6;letter-spacing:-.025em;margin:0 0 16px}
.deletion-body p,.deletion-body li{font-size:15px;color:#666;line-height:1.9;overflow-wrap:anywhere}
.deletion-body p{margin:12px 0}
.deletion-body ol{padding-left:24px;margin:16px 0}
.deletion-body li{margin:8px 0;padding-left:4px}
.deletion-body a{color:#333;text-underline-offset:3px}
.deletion-mail{display:inline-block;background:#222;border-radius:999px;padding:15px 22px;color:white;font-size:14px;text-decoration:none;margin-top:8px}
.deletion-reader a:focus-visible{outline:2px solid #7154a0;outline-offset:4px}
@media(max-width:600px){.deletion-reader{padding:112px 24px 64px}.deletion-reader h1{font-size:28px}.deletion-body h2{font-size:18px}.deletion-body p,.deletion-body li,.deletion-intro{font-size:14px}}

/* Keep the current document reader while matching the landing FAQ canvas. */
.policy-reader-page{background:#08070b;color:#fff}
.policy-reader-page .site-header,.policy-reader-page .site-header.is-on-light{background:rgba(8,7,11,.86);color:#fff;box-shadow:none;backdrop-filter:blur(24px)}
.policy-reader-page .site-header .brand-logo img,.subpage.policy-reader-page .site-header.is-on-light .brand-logo img{filter:invert(1)}
.policy-reader-page .site-header .main-nav,.policy-reader-page .site-header .main-nav a{color:#fff}
.policy-reader-page .policy-reader-switch{gap:4px;color:#aaa7b1}
.policy-reader-page .policy-reader-switch a{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;transition:background-color .18s ease,color .18s ease}
.policy-reader-page .policy-reader-switch a:hover{background:rgba(255,255,255,.14);color:#fff}
.policy-reader-page .policy-reader-switch a[aria-selected="true"]{border:0;background:#fff;color:#08070b}
.policy-reader-page .policy-reader-toc{background:#1c1a20}
.policy-reader-page .policy-reader-toc a,.policy-reader-page .policy-reader-body{color:#c6c3cc}
.policy-reader-page .policy-reader-toc a:hover,.policy-reader-page .policy-reader-body h3,.policy-reader-page .policy-reader-body h4{color:#fff}
.policy-reader-page .policy-reader-body th,.policy-reader-page .policy-reader-body td{border-color:rgba(255,255,255,.18)}
.policy-reader-page .policy-reader-body th{background:#1c1a20;color:#fff}
.policy-reader-page .site-footer{background:#08070b;color:#fff;border-color:rgba(255,255,255,.18)}
.policy-reader-page .footer-links a{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border-radius:999px;transition:background-color .18s ease,color .18s ease}
.policy-reader-page .footer-links a:hover,.policy-reader-page .footer-links a:focus-visible{background:#fff;color:#08070b;text-decoration:none}

.faq-contact-dialog{box-sizing:border-box;flex-direction:column;width:min(520px,calc(100% - 32px));height:min(470px,calc(100svh - 32px));padding:40px;overflow-y:auto;border:0;border-radius:24px;background:#fff;color:#000;box-shadow:0 24px 80px rgba(0,0,0,.4)}
.faq-contact-dialog[open]{display:flex}
.faq-contact-dialog form,.faq-contact-dialog .faq-contact-step{display:flex;flex:1;flex-direction:column;min-height:0}
.faq-contact-dialog[open]:not(.is-closing){animation:faq-contact-enter .28s cubic-bezier(.2,.8,.2,1) both}
.faq-contact-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(6px);animation:faq-contact-backdrop-in .22s ease-out both;transition:opacity .16s ease-in}
.faq-contact-dialog.is-closing::backdrop{animation:none;opacity:0}
@keyframes faq-contact-enter{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes faq-contact-backdrop-in{from{opacity:0}to{opacity:1}}
.faq-contact-dialog h2{margin:18px 0 0;font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.045em}
.faq-contact-dialog .faq-contact-intro{margin:14px 0 30px;color:rgba(0,0,0,.66);font-size:15px;line-height:1.6;word-break:keep-all}
.faq-contact-dialog .faq-contact-label{display:block;margin-bottom:10px;font-size:14px;font-weight:700}
.faq-contact-dialog [data-contact-step="email"] .faq-contact-label{margin-top:32px}
.faq-contact-dialog textarea,.faq-contact-dialog input{box-sizing:border-box;display:block;width:100%;padding:15px 16px;border:1px solid rgba(0,0,0,.3);border-radius:12px;outline:0;background:#fff;color:#000;font:inherit;font-size:16px;line-height:1.5}
.faq-contact-compose{display:flex;flex-direction:column;height:194px;overflow:hidden;border:1px solid rgba(0,0,0,.3);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease}
.faq-contact-compose:focus-within{border-color:#000;box-shadow:0 0 0 2px #000}
.faq-contact-dialog .faq-contact-compose textarea{flex:1;min-height:0;height:auto;border:0;border-radius:0;resize:none}
.faq-contact-dialog textarea:focus,.faq-contact-dialog input:focus{border-color:#000;box-shadow:0 0 0 2px #000}
.faq-contact-dialog .faq-contact-compose textarea:focus{box-shadow:none}
.faq-contact-dialog textarea::placeholder,.faq-contact-dialog input::placeholder{color:rgba(0,0,0,.45)}
.faq-contact-suggestions{flex:none;padding:0 0 14px 14px}
.faq-contact-suggestion-list{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity}
.faq-contact-suggestion-list::-webkit-scrollbar{display:none}
.faq-contact-suggestion-list button{flex:0 0 auto;max-width:240px;min-height:36px;padding:0 14px;overflow:hidden;border:1px solid rgba(0,0,0,.4);border-radius:999px;background:#fff;color:#000;font:inherit;font-size:13px;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;scroll-snap-align:start;transition:background .18s ease,color .18s ease}
.faq-contact-suggestion-list button:last-child{margin-right:14px}
.faq-contact-suggestion-list button:hover{background:#000;color:#fff}
.faq-contact-dialog .faq-contact-hint{margin:12px 0 0;color:rgba(0,0,0,.6);font-size:13px;line-height:1.5}
.faq-contact-dialog .faq-contact-status{margin:14px 0 0;color:#000;font-size:13px;line-height:1.5}
.faq-contact-actions{display:flex;gap:10px;margin-top:auto;padding-top:30px}
.faq-contact-primary,.faq-contact-secondary{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border:1px solid #000;border-radius:999px;font:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:background .18s ease,color .18s ease}
.faq-contact-primary{width:100%;margin-top:auto;background:#000;color:#fff}
.faq-contact-secondary{background:#fff;color:#000}
.faq-contact-actions .faq-contact-primary{flex:1;margin-top:0}
.faq-contact-primary:hover{background:#fff;color:#000}
.faq-contact-secondary:hover{background:#000;color:#fff}
.faq-contact-primary:disabled{border-color:rgba(0,0,0,.3);background:rgba(0,0,0,.12);color:rgba(0,0,0,.55);cursor:not-allowed}
.faq-contact-dialog button:focus-visible{outline:2px solid #000;outline-offset:3px}
.faq-contact-dialog [hidden]{display:none!important}
.faq-contact-dialog-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#000;cursor:pointer}
.faq-contact-dialog-close:hover{background:rgba(0,0,0,.08)}
.faq-contact-dialog-close svg{width:20px;height:20px}

.faq-contact-dialog{padding:30px 24px;border-radius:20px}
@media(prefers-reduced-motion:reduce){.faq-contact-dialog[open]:not(.is-closing),.faq-contact-dialog::backdrop{animation:none;transition:none}}

.support-question button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.support-contact button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid #222;border-radius:999px;background:#222;color:#fff;font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:background .18s ease,color .18s ease}
.support-contact button:hover{background:#fff;color:#222}

@media(max-width:700px){
  .faq-contact-dialog{position:fixed;top:var(--contact-visual-top,0px);right:0;bottom:auto;left:0;width:100%;max-width:none;height:var(--contact-visual-height,100dvh);max-height:none;margin:0;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));border-radius:0;box-shadow:none;overscroll-behavior:contain}
  .faq-contact-dialog[open]:not(.is-closing){animation:faq-contact-sheet-enter .3s cubic-bezier(.2,.8,.2,1) both}
  .faq-contact-dialog form,.faq-contact-dialog .faq-contact-step{min-height:min-content}
  .faq-contact-dialog-close{top:calc(18px + env(safe-area-inset-top));right:18px}
  .policy-reader-page .policy-reader-switch a{min-height:44px}
  .policy-reader-toc a{display:flex;align-items:center;min-height:44px;padding-block:8px}
  .deletion-back{display:inline-flex;align-items:center;min-height:44px;margin-top:-12px}
  .support-question button{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle}
  .faq-contact-suggestion-list button{min-height:44px}
  .faq-contact-dialog-close{width:44px;height:44px}
}
@keyframes faq-contact-sheet-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.faq-contact-dialog[open]:not(.is-closing){animation:none}}
.support-main button:focus-visible{outline:2px solid #222;outline-offset:4px}

/* Restore the compact FAQ layout and its category/search controls. */
.subpage.faq-page,.subpage.faq-page .subpage-main,.faq-page .faq-section{background:#000;color:#fff}
.subpage.faq-page .subpage-main{padding-top:76px}
.faq-page .faq-section{background:#000;color:#fff}
.faq-page .subpage-main{padding-top:76px}
.faq-page .site-header,.faq-page .site-header.is-on-light{min-height:76px;padding:0 40px;background:rgba(0,0,0,.9);color:#fff;box-shadow:none;backdrop-filter:blur(24px)}
.faq-page .site-header .brand-logo{width:58px;height:40px;flex:none}
.subpage.faq-page .site-header.is-on-light .brand-logo img,.subpage.faq-page .site-header.menu-active .brand-logo img{top:0;left:0;width:58px;filter:none}
.faq-page .site-header.is-on-light .main-nav{color:#fff}
.faq-page .site-header .main-nav{position:static;display:flex;flex-direction:row;align-items:center;gap:24px;margin-left:auto;margin-right:26px;padding:0;background:transparent;visibility:visible;opacity:1;transform:none}
.faq-page .site-header .main-nav a{width:auto;padding:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;font-size:16px;font-weight:650;white-space:nowrap}
.faq-page .site-header .main-nav a::after{display:none}
.faq-page .site-header .main-nav a:hover{opacity:.65}
.faq-page .faq-header-download{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:48px;padding:0 18px;border:1px solid #fff;border-radius:999px;color:#fff;font-size:16px;font-weight:650;white-space:nowrap;transition:background .18s ease,color .18s ease}
.faq-page .faq-header-download:hover{background:#fff;color:#000}
.faq-page .faq-section{padding:108px 0 140px}
.faq-page .faq-inner{width:min(1060px,calc(100% - 64px));margin:0 auto}
.faq-page .faq-heading{margin-bottom:64px;text-align:center}
.faq-page .faq-heading h1{margin:0;font-size:clamp(42px,5vw,64px);font-weight:700;line-height:1.18;letter-spacing:-.06em}
.faq-page .faq-tools{display:flex;align-items:center;gap:16px}
.faq-page .faq-search{display:flex;align-items:center;flex:0 0 48px;width:48px;min-height:48px;margin-left:auto;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#000;color:#fff;cursor:text;transition:width .24s cubic-bezier(.23,1,.32,1),flex-basis .24s cubic-bezier(.23,1,.32,1),border-color .18s ease}
.faq-page .faq-search:focus-within{border-color:#fff}
.faq-page .faq-search:focus-within,.faq-page .faq-search.has-query{flex-basis:300px;width:300px}
.faq-page .faq-search-field{display:flex;align-items:center;flex:1;min-width:0;min-height:46px;cursor:text}
.faq-page .faq-search svg{width:22px;height:22px;flex:none;margin:0 12px}
.faq-page .faq-search input{flex:1;width:0;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:15px;opacity:0;transition:opacity .12s ease}
.faq-page .faq-search:focus-within input,.faq-page .faq-search.has-query input{opacity:1}
.faq-page .faq-search input::placeholder{color:rgba(255,255,255,.58)}
.faq-page .faq-search input::-webkit-search-cancel-button{display:none}
.faq-page .faq-search-clear{display:grid;place-items:center;flex:none;width:32px;height:32px;margin-right:7px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background .18s ease}
.faq-page [hidden]{display:none!important}
.faq-page .faq-search-clear:hover{background:rgba(255,255,255,.16)}
.faq-page .faq-search-clear svg{width:17px;height:17px;margin:0}
.faq-page .faq-filters{display:flex;flex:1;gap:10px;min-width:0;overflow-x:auto;scrollbar-width:none}
.faq-page .faq-filters::-webkit-scrollbar{display:none}
.faq-page .faq-filters button{flex:none;min-height:44px;padding:0 20px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .14s cubic-bezier(.23,1,.32,1)}
.faq-page .faq-filters button:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.faq-page .faq-filters button:active,.faq-page .faq-contact button:active{transform:scale(.97)}
.faq-page .faq-filters button.is-active{border-color:#fff;background:#fff;color:#000}
.faq-page .faq-results{margin:48px 0 14px;color:rgba(255,255,255,.7);font-size:14px}
.faq-page .faq-list{border-top:1px solid rgba(255,255,255,.3)}
.faq-page .faq-list details{border-bottom:1px solid rgba(255,255,255,.3)}
.faq-page .faq-list details.is-animating{overflow:hidden}
.faq-page .faq-list summary{position:relative;display:flex;align-items:center;min-height:86px;padding:24px 56px 24px 4px;list-style:none;cursor:pointer;font-size:19px;font-weight:650;line-height:1.5;letter-spacing:-.025em}
.faq-page .faq-list summary::-webkit-details-marker{display:none}
.faq-page .faq-list summary::after{content:"+";position:absolute;right:8px;top:50%;font-size:30px;font-weight:300;line-height:1;transform:translateY(-50%)}
.faq-page .faq-list details[open] summary::after{content:"−"}
.faq-page .faq-answer{max-width:790px;margin:0;padding:0 56px 30px 4px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.8;word-break:keep-all}
.faq-page .faq-answer a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.faq-page .faq-inline-contact{padding:0;border:0;background:none;color:#fff;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.faq-page .faq-empty{margin:0;padding:50px 16px;border-bottom:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.72);text-align:center}
.faq-page .faq-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:72px}
.faq-page .faq-contact h2{margin:0;font-size:clamp(22px,2.4vw,26px);font-weight:700;letter-spacing:-.04em}
.faq-page .faq-contact button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid #fff;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:15px;font-weight:650;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease,transform .14s cubic-bezier(.23,1,.32,1)}
.faq-page .faq-contact button:hover{background:#fff;color:#000}
@media(max-width:700px){
.subpage.faq-page .subpage-main{padding-top:62px}
  .faq-page .faq-section{padding:72px 0 100px}
  .faq-page .faq-inner{width:calc(100% - 40px)}
  .faq-page .faq-heading{margin-bottom:42px}
  .faq-page .faq-tools{gap:8px}
  .faq-page .faq-search{flex-basis:44px;width:44px;min-height:44px}
  .faq-page .faq-tools.is-searching .faq-filters{display:none}
  .faq-page .faq-tools.is-searching .faq-search{flex:1 1 100%;width:100%}
  .faq-page .faq-search-field{min-height:42px}
  .faq-page .faq-search svg{width:18px;height:18px;margin:0 12px}
  .faq-page .faq-search input{font-size:14px}
  .faq-page .faq-search-clear{width:28px;height:28px;margin-right:5px}
  .faq-page .faq-search-clear svg{width:15px;height:15px;margin:0}
  .faq-page .faq-filters{gap:8px}
  .faq-page .faq-filters button{min-height:42px;padding:0 16px;font-size:13px}
  .faq-page .faq-results{margin-top:40px}
  .faq-page .faq-list summary{min-height:74px;padding:20px 40px 20px 2px;font-size:16px}
  .faq-page .faq-list summary::after{right:2px;font-size:27px}
  .faq-page .faq-answer{padding:0 10px 26px 2px;font-size:14px}
  .faq-page .faq-contact{align-items:flex-start;flex-direction:column;gap:22px;margin-top:64px}
  .faq-page .faq-contact h2{font-size:22px}
  .faq-page .faq-contact button{width:100%}
}
