/* JINSIM.LABS — Editorial (v2). Re-implemented from Claude Design hi-fi handoff. */

:root{
  --serif:'Newsreader','Noto Serif KR',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  --ink:#15161a;
  --body:#6b7077;
  --policy:#5d636c;
  --muted:#8b929c;
  --muted2:#9298a2;
  --link:#3b6cff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,p{margin:0}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:#9bb8f5;color:#10131a}

/* ===== Buttons / shared ===== */
.btn-light{display:inline-block;background:#fff;color:#15161a;border-radius:100px;padding:15px 28px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 12px 30px rgba(30,50,110,.22);transition:transform .15s,box-shadow .15s}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(30,50,110,.3)}
.btn-dark{display:inline-block;background:#15161a;color:#fff;border-radius:100px;padding:16px 30px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s}
.btn-dark:hover{transform:translateY(-2px)}
.section-badge{display:inline-block;font-size:12px;font-weight:600;color:#5b6470;background:#f1f2f4;border-radius:100px;padding:6px 14px}
.section-badge--ink{color:#15161a}
.section-badge--white{background:#fff;border:1px solid #ececec;color:#5b6470}
.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.015em;text-align:center}
.section-sub{font-size:16px;line-height:1.62;color:var(--body);text-align:center;max-width:520px;margin:16px auto 0;text-wrap:pretty}

/* ===== Language toggle ===== */
.langtog{display:inline-flex;align-items:center;font-size:12.5px;border-radius:100px;padding:2px}
.langtog button{appearance:none;background:transparent;border:0;font:inherit;line-height:1;cursor:pointer;padding:5px 12px;border-radius:100px}
.langtog--hero{border:1px solid rgba(255,255,255,.45)}
.langtog--hero button{color:rgba(255,255,255,.82)}
.langtog--hero button.active{background:#fff;color:#15161a;font-weight:700}
.langtog--light{border:1px solid #e0e0e3}
.langtog--light button{color:var(--body)}
.langtog--light button.active{background:#15161a;color:#fff;font-weight:700}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;background-color:#4f6fd0;color:#fff}
.hero__bg{position:absolute;inset:0;background:url(hero-flower.jpg) center center/cover no-repeat;animation:edFloat 26s ease-in-out infinite;transform-origin:center;will-change:transform}
.hero__drift{position:absolute;inset:-10%;background:radial-gradient(40% 38% at 50% 42%,rgba(180,200,255,.5),rgba(255,205,170,.18) 55%,transparent 72%);mix-blend-mode:screen;pointer-events:none;animation:edDrift 20s ease-in-out infinite;will-change:transform,opacity}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,52,116,.16),rgba(34,46,104,.46));pointer-events:none}
.hero__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:30px 30px;opacity:.25;pointer-events:none}

.nav{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 30px;gap:18px}
.wordmark{font-family:var(--serif);font-size:24px;font-style:italic;color:#fff;letter-spacing:.01em;text-decoration:none;cursor:pointer}
.nav__right{display:flex;align-items:center;gap:22px;font-size:14px;color:rgba(255,255,255,.85);font-weight:500}
.nav__links{display:flex;align-items:center;gap:22px}
.nav__links a{cursor:pointer;text-decoration:none;color:rgba(255,255,255,.85);transition:color .15s}
.nav__links a:hover{color:#fff}
.btn-contact{background:#fff;color:#15161a;border-radius:100px;padding:9px 18px;font-size:13.5px;font-weight:600;text-decoration:none}

.hero__content{position:relative;z-index:2;max-width:1000px;margin:0 auto;padding:clamp(64px,9vw,90px) 30px clamp(76px,11vw,120px);text-align:center}
.hero__kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.22em;color:rgba(255,255,255,.85);margin-bottom:28px}
.hero__kicker .rule{width:22px;height:1px;background:rgba(255,255,255,.6)}
.hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7.4vw,92px);line-height:1.02;letter-spacing:-.02em;color:#fff}
.hero__sub{font-size:clamp(16px,1.5vw,18px);line-height:1.62;color:rgba(255,255,255,.9);max-width:520px;margin:26px auto 0;text-wrap:pretty}
.hero__cta{margin-top:36px}

/* ===== Products ===== */
.products{max-width:1180px;margin:0 auto;padding:96px 30px 90px;scroll-margin-top:40px}
.products__badge{text-align:center;margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:48px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid #eeeef0;border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(0,0,0,.04),0 14px 34px rgba(20,24,40,.06);transition:transform .22s,box-shadow .22s}
a.card:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(0,0,0,.04),0 30px 60px rgba(20,24,40,.13)}
.card__cover{aspect-ratio:16/11;overflow:hidden;margin:14px 14px 0;border-radius:14px;background:#eef1f5}
.card__cover img{width:100%;height:100%;object-fit:cover;object-position:top center}
.card__body{padding:22px 24px 26px}
.card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card__name{font-family:var(--serif);font-size:26px;font-weight:500}
.badge-pill{font-size:11px;font-weight:600;border-radius:100px;white-space:nowrap}
.badge--soon{color:#1c87b8;background:#e7f4fb;padding:5px 11px}
.badge--dev{color:var(--body);border:1px solid #e6e6e9;padding:4px 10px}
.card__desc{font-size:14.5px;color:var(--body);line-height:1.6;margin-top:10px}
.card__link{font-size:13px;font-weight:600;margin-top:16px}
.card__link--blue{color:var(--link)}
.card__link--muted{color:#aab0bb}

/* ===== Why ===== */
.why{max-width:1180px;margin:0 auto;padding:10px 30px 70px}
.why__panel{background:#fafafa;border:1px solid #efeff1;border-radius:26px;padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;align-items:center}
.why__img{aspect-ratio:4/3;border-radius:18px;overflow:hidden}
.why__img img{width:100%;height:100%;object-fit:cover}
.why__title{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.14;letter-spacing:-.01em;margin-top:18px}
.why__points{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}
.why__ph{font-family:var(--serif);font-size:21px;font-weight:500}
.why__pb{font-size:14px;color:var(--body);line-height:1.6;margin-top:6px}

/* ===== About ===== */
.about{background:#fafafa;border-top:1px solid #efeff1;border-bottom:1px solid #efeff1;scroll-margin-top:40px}
.about__inner{max-width:820px;margin:0 auto;padding:96px 30px;text-align:center}
.about__title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.8vw,46px);line-height:1.18;letter-spacing:-.01em;text-wrap:balance}
.about__sub{font-size:16px;line-height:1.62;color:var(--body);margin:22px auto 0;max-width:520px;text-wrap:pretty}
.about .section-badge{margin-bottom:24px}

/* ===== Contact ===== */
.contact{max-width:1180px;margin:0 auto;padding:90px 30px}
.contact__card{position:relative;overflow:hidden;border-radius:28px;padding:clamp(40px,5vw,72px);text-align:center;background:linear-gradient(165deg,#cfe2ff,#9fbcf2 60%,#6f8fe6)}
.contact__glow{position:absolute;width:520px;height:420px;left:50%;bottom:-120px;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,200,160,.5),transparent 65%);pointer-events:none}
.contact__inner{position:relative}
.contact__title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,52px);line-height:1.1;color:#fff}
.contact__sub{font-size:16px;line-height:1.6;color:rgba(255,255,255,.92);margin:18px auto 0;max-width:440px;text-wrap:pretty}
.contact__card .btn-dark{margin-top:30px}

/* ===== Footer ===== */
.footer{border-top:1px solid #efeff1}
.footer__inner{max-width:1180px;margin:0 auto;padding:48px 30px 40px;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start}
.footer__wordmark{font-family:var(--serif);font-style:italic;font-size:20px;text-decoration:none;color:var(--ink);cursor:pointer}
.footer__tag{font-size:13px;color:var(--muted);margin-top:8px}
.footer__biz{font-size:12px;color:var(--muted);line-height:1.9;margin-top:16px}
.footer__right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-size:13px;color:var(--body);font-weight:500}
.footer__links{display:flex;gap:22px;align-items:center}
.footer__links a{cursor:pointer;text-decoration:none;color:var(--body);transition:color .15s}
.footer__links a:hover{color:var(--ink)}
.footer__copy{font-size:12px;color:var(--muted)}

/* ===== Policy / 404 header ===== */
.pnav{border-bottom:1px solid #efeff1}
.pnav__inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 30px;gap:18px}
.pnav__wordmark{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink);text-decoration:none;cursor:pointer}
.pnav__right{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--body);font-weight:500}
.pnav__right a{cursor:pointer;text-decoration:none;color:var(--body);transition:color .15s}
.pnav__right a:hover{color:var(--ink)}

/* ===== Policy doc ===== */
.doc{max-width:760px;margin:0 auto;padding:64px 30px 90px}
.tabs{display:flex;gap:8px;margin-bottom:34px}
.tab{font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border-radius:100px;padding:8px 16px;white-space:nowrap;background:#f1f2f4;color:#5b6470}
.tab.active{background:#15161a;color:#fff}
.doc__title{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.4vw,46px);line-height:1.1;letter-spacing:-.015em}
.doc__updated{font-size:13px;color:var(--muted2);margin-top:12px}
.doc__sections{margin-top:40px;border-top:1px solid #eeeef0}
.doc__sec{padding:28px 0;border-bottom:1px solid #eeeef0}
.doc__sec h2{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.2}
.doc__sec p{font-size:15.5px;color:var(--policy);line-height:1.7;margin-top:10px;text-wrap:pretty}

/* ===== 404 ===== */
.notfound{max-width:680px;margin:0 auto;padding:120px 30px 140px;text-align:center}
.nf__code{font-size:13px;letter-spacing:.22em;color:var(--muted2);margin-bottom:18px}
.nf__title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.4vw,46px);line-height:1.1}
.nf__body{font-size:16px;color:var(--body);line-height:1.6;margin:14px auto 28px;max-width:420px}

/* ===== Animations ===== */
@keyframes edFloat{
  0%{transform:scale(1.06) translate(0%,0%) rotate(0deg)}
  25%{transform:scale(1.09) translate(-1.4%,-1.2%) rotate(-0.5deg)}
  50%{transform:scale(1.11) translate(0.6%,-2%) rotate(0.4deg)}
  75%{transform:scale(1.08) translate(1.4%,-0.8%) rotate(0.6deg)}
  100%{transform:scale(1.06) translate(0%,0%) rotate(0deg)}
}
@keyframes edDrift{
  0%{transform:translate(-6%,4%) scale(1.1);opacity:.45}
  50%{transform:translate(6%,-5%) scale(1.25);opacity:.75}
  100%{transform:translate(-6%,4%) scale(1.1);opacity:.45}
}
@media (prefers-reduced-motion:reduce){
  .hero__bg{animation:none;transform:scale(1.04)}
  .hero__drift{animation:none}
  *{scroll-behavior:auto!important}
  .btn-light:hover,.btn-dark:hover,a.card:hover{transform:none!important}
}

/* ===== Responsive ===== */
@media (max-width:640px){
  .nav__links{display:none}
  .why__panel{grid-template-columns:1fr}
  .why__points{grid-template-columns:1fr 1fr}
}
