/* ============ LENVABLE brand site ============ */
:root{
  --pink:#ea5f80;
  --pink-deep:#d94a6e;
  --yellow:#fcd474;
  --blush:#fdeef2;
  --cream:#fff8ec;
  --ink:#231a1d;
  --gray:#8a7f83;
  --white:#ffffff;
  --disp:'Anton', sans-serif;
  --sans:'Archivo','Noto Sans KR',sans-serif;
  --kr:'Noto Sans KR',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* reveal animation */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.on{opacity:1;transform:none}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;
  justify-content:space-between;padding:14px 34px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  transition:background .35s ease, box-shadow .35s ease}
.nav.scrolled{background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav-logo img{height:26px}
.nav-menu{display:flex;gap:34px}
.nav-menu a{font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.nav-menu a:hover{color:var(--pink)}
.nav-cta{font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  border:1.5px solid var(--pink);color:var(--pink);padding:9px 20px;border-radius:999px;transition:.25s}
.nav-cta:hover{background:var(--pink);color:#fff}
.nav-burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.nav-burger span{width:24px;height:2px;background:var(--ink);display:block}
.mobile-menu{display:none}

/* ============ HERO ============ */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr 1fr;height:100%}
.hero-img{overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%;
  animation:heroZoom 9s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;text-align:center;color:#fff;padding-bottom:13vh;
  background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 48%,rgba(0,0,0,.42) 100%)}
.hero-eyebrow{font-weight:700;font-size:12.5px;letter-spacing:.4em;text-transform:uppercase;
  margin-bottom:16px;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.hero-title{font-family:var(--disp);font-size:clamp(44px,6.6vw,96px);line-height:.98;
  letter-spacing:.01em;text-shadow:0 4px 34px rgba(0,0,0,.45)}
.hero-sub{margin-top:18px;font-weight:600;font-size:13px;letter-spacing:.28em;
  text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.4em;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* ============ TICKER ============ */
.ticker{background:var(--pink);color:var(--yellow);overflow:hidden;padding:13px 0}
.ticker-track{display:flex;white-space:nowrap;animation:tick 26s linear infinite}
.ticker-track span{font-family:var(--disp);font-size:17px;letter-spacing:.12em}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ SECTION COMMON ============ */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:22px;padding:0 5vw;margin-bottom:44px}
.giant-title{font-family:var(--disp);font-size:clamp(42px,6.4vw,92px);line-height:1;color:var(--pink);letter-spacing:.01em}
.giant-title.light{color:#fff}
.two-tone .t-blue{color:var(--yellow)}
.section-sub{font-family:var(--kr);font-size:14.5px;line-height:1.8;color:var(--gray)}
.pill-btn{display:inline-block;border:1.5px solid var(--pink);color:var(--pink);
  font-weight:800;font-size:12.5px;letter-spacing:.16em;padding:13px 30px;border-radius:999px;transition:.25s}
.pill-btn:hover{background:var(--pink);color:#fff}
.pill-btn.solid{background:var(--pink);color:#fff;border-color:var(--pink)}
.pill-btn.solid:hover{background:var(--pink-deep)}

/* ============ COLLECTION ============ */
.collection{padding:110px 0 90px;background:var(--white)}
.mood-scroller{overflow:hidden;padding:6px 0 12px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.mood-track{display:flex;gap:26px;width:max-content;animation:moodSlide 42s linear infinite;padding:0 5vw}
.mood-scroller:hover .mood-track{animation-play-state:paused}
@keyframes moodSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mood-card{width:min(320px,72vw);flex-shrink:0}
.mood-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;
  transition:transform .4s ease}
.mood-card:hover img{transform:translateY(-6px)}
.mood-card h3{font-family:var(--disp);font-size:24px;color:var(--pink);margin:16px 0 6px;letter-spacing:.04em;text-align:center}
.mood-card .kr{font-family:var(--kr);font-size:13.5px;color:var(--ink);text-align:center}
.mood-card .en{font-size:12px;color:var(--gray);text-align:center;margin-top:3px;letter-spacing:.02em}

/* ============ EXPLORE ============ */
.explore{background:var(--blush);padding:80px 0 90px;overflow:hidden;position:relative}
.explore-marquee{overflow:hidden;margin-bottom:-30px}
.explore-marquee-track{display:flex;white-space:nowrap;animation:tick 30s linear infinite}
.explore-marquee-track span{font-family:var(--disp);font-size:clamp(70px,11vw,160px);
  color:transparent;-webkit-text-stroke:1.5px rgba(234,95,128,.35);line-height:1.05}
.explore-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:70px 5vw 0;position:relative}
.explore-cards img{width:100%;height:auto;border-radius:4px}
.explore-cards figcaption{margin-top:12px;font-weight:800;font-size:12px;letter-spacing:.18em;color:var(--pink);text-align:center}

/* ============ LINEUP ============ */
.lineup{padding:110px 0;background:var(--white)}
.filter-btns{display:flex;gap:10px;flex-wrap:wrap}
.filter-btn{border:1.5px solid #e8dfe2;background:#fff;color:var(--gray);cursor:pointer;
  font-family:var(--sans);font-weight:800;font-size:11.5px;letter-spacing:.14em;
  padding:11px 22px;border-radius:999px;transition:.22s}
.filter-btn:hover{border-color:var(--pink);color:var(--pink)}
.filter-btn.active{background:var(--pink);border-color:var(--pink);color:#fff}
.disc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:34px 18px;padding:0 5vw}
.disc{text-align:center;transition:transform .3s ease}
.disc:hover{transform:translateY(-5px)}
.disc img{width:74%;margin:0 auto;filter:drop-shadow(0 10px 18px rgba(35,26,29,.13))}
.disc h4{font-size:12.5px;font-weight:800;letter-spacing:.08em;margin-top:14px}
.disc p{font-size:10.5px;color:var(--gray);letter-spacing:.14em;margin-top:3px}
.disc.hide{display:none}

/* ============ TECH ============ */
.tech{padding:110px 0;background:var(--cream)}
.tech .section-head{flex-direction:column;align-items:flex-start;gap:16px}
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:0 5vw}
.tech-card{background:#fff;border-radius:6px;padding:34px 26px 30px;
  box-shadow:0 6px 26px rgba(35,26,29,.06);transition:transform .3s ease}
.tech-card:hover{transform:translateY(-6px)}
.tech-num{font-family:var(--disp);font-size:15px;color:var(--yellow);margin-bottom:16px;letter-spacing:.1em}
.tech-card h3{font-size:16px;font-weight:900;letter-spacing:.06em;color:var(--pink);margin-bottom:12px}
.tech-card .kr{font-family:var(--kr);font-size:13px;line-height:1.75;color:var(--ink)}
.tech-card .en{font-size:11.5px;line-height:1.6;color:var(--gray);margin-top:9px}

/* ============ QUALITY ============ */
.quality{background:var(--pink);padding:110px 5vw;color:#fff}
.quality-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;max-width:1280px;margin:0 auto;align-items:center}
.quality-copy{font-family:var(--kr);font-size:14.5px;line-height:1.9;margin:26px 0 30px;color:#ffe9ef}
.doc-links{display:flex;flex-wrap:wrap;gap:10px}
.doc-links a{border:1.5px solid rgba(255,255,255,.55);color:#fff;font-weight:700;
  font-size:11.5px;letter-spacing:.08em;padding:10px 18px;border-radius:999px;transition:.22s}
.doc-links a:hover{background:#fff;color:var(--pink)}
.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.badge{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);
  border-radius:6px;padding:26px 20px;text-align:center}
.badge strong{font-family:var(--disp);font-size:22px;letter-spacing:.04em;display:block;color:var(--yellow)}
.badge span{font-size:11px;letter-spacing:.08em;color:#ffe9ef;display:block;margin-top:8px}

/* ============ COMPANY ============ */
.company{padding:110px 5vw;background:var(--white)}
.company-inner{max-width:1100px;margin:0 auto}
.company-story{text-align:center;margin-bottom:70px}
.company-story .kr{font-family:var(--kr);font-size:14.5px;line-height:1.95;margin-top:28px;color:var(--ink)}
.company-story .en{font-size:13px;line-height:1.85;color:var(--gray);margin-top:16px;max-width:640px;margin-left:auto;margin-right:auto}
.process-title{text-align:center;font-weight:900;letter-spacing:.24em;font-size:13px;color:var(--pink);margin-bottom:26px}
.process-steps{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;list-style:none}
.process-steps li{background:var(--blush);border-radius:999px;padding:12px 22px;
  font-weight:700;font-size:12px;letter-spacing:.08em}
.process-steps li span{font-family:var(--disp);color:var(--pink);margin-right:8px}

/* ============ CONTACT ============ */
.contact{background:var(--white);padding:0 0 0}
.contact-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.contact-box{background:var(--yellow);display:flex;flex-direction:column;justify-content:center;
  padding:60px 7vw}
.contact-eyebrow{font-weight:800;font-size:12px;letter-spacing:.3em;color:var(--pink-deep);margin-bottom:18px}
.contact-box h2{font-family:var(--disp);font-size:clamp(44px,5.4vw,84px);line-height:1;color:var(--pink);letter-spacing:.01em}
.contact-copy{font-family:var(--kr);font-size:14.5px;line-height:1.9;margin:26px 0 34px;color:#6b5320}
.contact-box .pill-btn{align-self:flex-start}

/* inquiry form */
.inquiry-form{display:flex;flex-direction:column;gap:12px;max-width:520px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inquiry-form input,.inquiry-form textarea{
  font-family:var(--kr);font-size:13.5px;padding:13px 16px;
  border:1.5px solid rgba(107,83,32,.25);border-radius:8px;background:rgba(255,255,255,.75);
  color:var(--ink);outline:none;transition:border-color .2s,background .2s;resize:vertical}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#a08a55}
.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:var(--pink);background:#fff}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;width:0;padding:0;border:0}
.form-submit{margin-top:4px;cursor:pointer;font-family:var(--sans)}
.form-submit:disabled{opacity:.55;cursor:default}
.form-status{font-family:var(--kr);font-size:13px;color:#6b5320;min-height:18px}
.form-status.ok{color:#1e7d46;font-weight:700}
.form-status.err{color:#c0392b;font-weight:700}
@media (max-width:600px){.form-row{grid-template-columns:1fr}}

/* ============ FOOTER ============ */
.footer{background:#fff;border-top:1px solid #f3e9ec;padding:54px 5vw 40px;text-align:center}
.footer-logo{height:22px;margin:0 auto 20px}
.footer-info{font-size:12px;color:var(--gray);line-height:1.9}
.footer-copy{font-size:11px;color:#c6bbc0;margin-top:16px;letter-spacing:.06em}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .nav{padding:12px 20px}
  .nav-menu,.nav-cta{display:none}
  .nav-burger{display:flex}
  .nav.scrolled .nav-burger span{background:var(--ink)}
  .mobile-menu{display:none;position:fixed;top:0;left:0;right:0;z-index:99;background:#fff;
    padding:80px 30px 30px;box-shadow:0 20px 40px rgba(0,0,0,.08);flex-direction:column;gap:20px}
  .mobile-menu.open{display:flex}
  .mobile-menu a{font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase}
  .mobile-menu .mm-cta{color:var(--pink)}
  .hero-grid{grid-template-columns:1fr}
  .hero-grid .hero-img:nth-child(2),.hero-grid .hero-img:nth-child(3){display:none}
  .tech-grid{grid-template-columns:1fr 1fr}
  .explore-cards{grid-template-columns:1fr}
  .quality-inner{grid-template-columns:1fr}
  .contact-split{grid-template-columns:1fr}
  .contact-photo img{max-height:420px}
  .disc-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:26px 12px}
}
