/* ============================================================
   ANIBETTER — 공통 스타일시트 (전 페이지 공유)
   방향: A. Clinical Botanical · tokens.css 기반
   ============================================================ */
:root{
  --forest:#274D3B; --forest-dark:#1B342A; --sage:#8AA18A; --sage-soft:#DDE5DC;
  --beige:#CBB89A; --beige-soft:#EFE7DA; --cream:#F7F6F2; --ink:#2B2B28;
  --line:rgba(39,77,59,.12); --dim:#5C5C58;
  --en:'Poppins',sans-serif; --kr:'Noto Sans KR',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--kr);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--sage);color:#fff}
.en{font-family:var(--en)}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.kicker{font-family:var(--en);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-bottom:18px}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;
  padding:16px 40px;background:rgba(247,246,242,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:transform .5s var(--ease)}
nav.hide{transform:translateY(-100%)}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:34px;width:auto}
.logo span{font-family:var(--en);font-weight:600;font-size:17px;letter-spacing:.06em;color:var(--forest-dark)}
.menu{display:flex;align-items:center;gap:26px;font-family:var(--en);font-size:13px;font-weight:400;color:var(--ink)}
.menu a{opacity:.78;transition:opacity .3s}.menu a:hover{opacity:1;color:var(--forest)}
.menu a.on{opacity:1;color:var(--forest);font-weight:500}
.navcta{font-family:var(--kr);font-size:13px;font-weight:500;background:var(--forest-dark);color:#fff!important;padding:9px 20px;border-radius:100px;transition:.3s;opacity:1!important}
.navcta:hover{background:var(--forest)}
.navtoggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.navtoggle span{width:22px;height:2px;background:var(--forest-dark);transition:.3s}

/* buttons */
.btn{font-family:var(--kr);font-size:14px;font-weight:500;padding:14px 28px;border-radius:100px;transition:.3s var(--ease);cursor:pointer;display:inline-block}
.btn.solid{background:#fff;color:var(--forest-dark)}.btn.solid:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.dark{background:var(--forest);color:#fff}.btn.dark:hover{background:var(--forest-dark)}
.btn.line{background:transparent;color:var(--forest);border:1px solid var(--forest)}.btn.line:hover{background:var(--forest);color:#fff}

/* home hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(130% 100% at 75% 15%, #2f5946 0%, var(--forest) 45%, var(--forest-dark) 100%)}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--forest-dark)}
.hero-slides{position:absolute;inset:0}
.hslide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;will-change:opacity;transform:scale(1.04)}
.hslide.on{opacity:.6;animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.5%,-1.2%,0)}}
.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(27,52,42,.28),rgba(27,52,42,.08) 42%,rgba(27,52,42,.72)),radial-gradient(120% 90% at 70% 22%,rgba(27,52,42,0) 32%,rgba(27,52,42,.5))}
.hero-orbs span{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14)}
.o1{width:520px;height:520px;top:-160px;right:-120px}
.o2{width:300px;height:300px;bottom:-120px;left:-60px;border-color:rgba(203,184,154,.25)!important}
.o3{width:180px;height:180px;top:22%;left:12%;border-color:rgba(255,255,255,.1)!important}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 70% 30%,rgba(27,52,42,0) 30%,rgba(27,52,42,.55) 100%)}
.hero .wrap{position:relative;z-index:3}
.hero .kicker{color:var(--beige)}
.hero h1{font-family:var(--en);font-weight:500;font-size:clamp(40px,7vw,88px);line-height:1.02;letter-spacing:-.01em;color:#fff;max-width:16ch}
.hero .khead{margin-top:26px;font-size:clamp(18px,2.2vw,26px);font-weight:500;color:#fff;max-width:22ch;line-height:1.4}
.hero .ksub{margin-top:16px;font-size:clamp(14px,1.5vw,17px);color:rgba(255,255,255,.78);font-weight:300;max-width:40ch}
.hero .btns{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.hero .reveal-up{opacity:0;transform:translateY(30px);animation:up 1s .2s var(--ease) forwards}
.hero h1.d2{animation-delay:.35s}.hero .khead.d3{animation-delay:.5s}.hero .ksub.d4{animation-delay:.62s}.hero .btns.d5{animation-delay:.74s}
@keyframes up{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.6);font-family:var(--en);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.6),transparent);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:scaleY(.3)}40%{opacity:1}100%{opacity:0;transform:scaleY(1)}}

/* ===== 메인 인트로 (index 전용) ===== */
#intro{position:fixed;inset:0;z-index:300;background:radial-gradient(120% 100% at 50% 30%,#325f4a 0%,var(--forest-dark) 78%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow:hidden;transition:opacity .9s var(--ease),visibility .9s}
#intro.done{opacity:0;visibility:hidden;pointer-events:none}
#intro::after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 60%)}
#intro.play::after{animation:introBloom 4s var(--ease) forwards}
.intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.92);z-index:0}
#intro.has-video .intro-bg{display:none}
.intro-stage,.wm,.tag{position:relative;z-index:2}
.intro-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12);z-index:3}
.intro-bar span{display:block;height:100%;width:0;background:var(--beige)}
#intro.play .intro-bar span{animation:introBar 4.4s linear forwards}
@keyframes introBar{to{width:100%}}
#introVid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s;z-index:0}
#intro.has-video #introVid{opacity:1}
#intro.has-video .intro-stage,#intro.has-video .wm,#intro.has-video .tag,#intro.has-video .intro-particles{display:none}
.intro-particles{position:absolute;inset:0;pointer-events:none;z-index:1}
.intro-particles i{position:absolute;bottom:-16px;border-radius:50%;background:rgba(203,184,154,.45);opacity:0}
#intro.play .intro-particles i{animation:introDrift var(--d,7s) linear var(--dl,0s) infinite}
.intro-stage{position:relative;width:min(48vmin,230px);height:min(48vmin,230px);display:flex;align-items:center;justify-content:center}
.intro-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.intro-rings .ir{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.1;transform:rotate(-90deg);transform-origin:center;stroke-dasharray:760;stroke-dashoffset:760}
.intro-rings .ir2{stroke:rgba(203,184,154,.42);stroke-dasharray:540;stroke-dashoffset:540}
#intro.play .ir1{animation:introDraw 1.4s .3s var(--ease) forwards}
#intro.play .ir2{animation:introDraw 1.4s .55s var(--ease) forwards}
.intro-stage .plate{width:min(31vmin,152px);height:min(31vmin,152px);border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 60px rgba(0,0,0,.34);opacity:0;transform:scale(.8)}
#intro.play .plate{animation:introPlate 1.1s .55s var(--ease) forwards}
.intro-stage .plate img{width:72%;height:auto}
.wm{display:flex}
.wm span{font-family:var(--en);color:#fff;font-weight:600;font-size:clamp(24px,5vw,44px);letter-spacing:.1em;opacity:0;transform:translateY(14px)}
#intro.play .wm span{animation:introLetter .6s var(--ease) forwards;animation-delay:calc(1.2s + var(--i,0)*.05s)}
.tag{font-family:var(--en);color:var(--beige);font-size:clamp(10px,2.2vw,13px);text-transform:uppercase;letter-spacing:.2em;opacity:0}
#intro.play .tag{animation:introTag 1s 2.15s var(--ease) forwards}
#introSkip{position:absolute;bottom:32px;right:32px;z-index:2;font-family:var(--en);font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.7);background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:8px 18px;cursor:pointer;transition:.3s}
#introSkip:hover{background:rgba(255,255,255,.12);color:#fff}
@keyframes introDraw{to{stroke-dashoffset:0}}
@keyframes introPlate{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes introLetter{to{opacity:1;transform:none}}
@keyframes introTag{from{opacity:0;letter-spacing:.1em}to{opacity:.95;letter-spacing:.34em}}
@keyframes introDrift{0%{opacity:0;transform:translateY(0) translateX(0)}12%{opacity:.55}100%{opacity:0;transform:translateY(-105vh) translateX(var(--x,20px))}}
@keyframes introBloom{0%{opacity:0;transform:scale(.6)}45%{opacity:1}100%{opacity:.28;transform:scale(1.12)}}

/* ===== 서브페이지 히어로 ===== */
.page-hero{position:relative;padding:150px 0 74px;background:radial-gradient(120% 130% at 72% 8%,#2f5946,var(--forest-dark) 80%);color:#fff;overflow:hidden}
.page-hero::after{content:"";position:absolute;top:-90px;right:-70px;width:340px;height:340px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.page-hero::before{content:"";position:absolute;bottom:-120px;left:-60px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(203,184,154,.18)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .kicker{color:var(--beige)}
.page-hero h1{font-family:var(--en);font-weight:500;font-size:clamp(32px,5vw,58px);color:#fff;letter-spacing:-.01em;line-height:1.08;max-width:20ch}
.page-hero .lead{color:rgba(255,255,255,.82);margin-top:20px;max-width:54ch}
.crumb{font-family:var(--en);font-size:12px;color:rgba(255,255,255,.55);margin-bottom:16px;letter-spacing:.04em}
.crumb a{color:rgba(255,255,255,.72)}.crumb a:hover{color:#fff}

/* sections & shared */
section{position:relative}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.sec{padding:130px 0}
.sec.sm{padding:88px 0}
h2{font-family:var(--en);font-weight:500;font-size:clamp(28px,3.6vw,46px);letter-spacing:-.01em;color:var(--forest-dark);line-height:1.15}
h2 .kr{font-family:var(--kr);font-weight:500}
.lead{font-size:clamp(15px,1.5vw,17px);color:var(--dim);line-height:1.9}
.bg-white{background:#fff}.bg-cream{background:var(--cream)}.bg-tint{background:#EEF2ED}
.bg-dark{background:var(--forest-dark)}
.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff}.bg-dark .kicker{color:var(--beige)}.bg-dark .lead,.bg-dark p{color:rgba(255,255,255,.72)}
.more-link{font-family:var(--en);font-size:13px;color:var(--forest);border-bottom:1px solid var(--sage);padding-bottom:2px;transition:.3s;display:inline-block;margin-top:24px}
.more-link:hover{border-color:var(--forest)}

/* prose / cards / split */
.prose{max-width:780px}
.prose h3{font-family:var(--en);font-weight:500;font-size:20px;color:var(--forest-dark);margin:30px 0 8px}
.prose p{color:var(--dim);margin-bottom:14px;line-height:1.9}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}
.card .ic{font-size:28px;color:var(--forest);margin-bottom:14px}
.card h3{font-family:var(--en);font-weight:500;font-size:18px;color:var(--forest-dark);margin-bottom:8px}
.card .kh{font-size:13px;color:var(--sage);font-weight:500;margin-bottom:10px}
.card p{font-size:14px;color:var(--dim);line-height:1.8}
.side-img{aspect-ratio:4/5;border-radius:18px;background:linear-gradient(155deg,var(--beige-soft),var(--sage-soft));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.side-img::after{content:"";position:absolute;width:66%;height:66%;border-radius:50%;border:1px solid rgba(39,77,59,.14)}
.side-img img{width:52%;position:relative;opacity:.92}
.ph{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--sage-soft),var(--beige-soft));border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:22px;text-align:center;color:var(--forest);font-family:var(--en);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.ph::before{content:"";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(42%,150px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(39,77,59,.16);background:url(assets/logo.png) center/54% no-repeat;opacity:.4}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ph>span,.ph{position:relative}
.ph span{position:relative;z-index:2;opacity:.55}

/* faq */
.faq{max-width:840px;margin-top:36px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{font-family:var(--kr);font-weight:500;font-size:16px;color:var(--forest-dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--sage);font-size:22px;font-family:var(--en)}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--dim);margin-top:12px;line-height:1.85;font-size:14.5px}

/* form */
.form{max-width:640px;margin-top:10px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;color:var(--ink);margin-bottom:6px;font-weight:500}
.field input,.field textarea,.field select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;font-family:var(--kr);font-size:15px;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--forest)}
.contact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px}
.contact-row .ci{border-top:2px solid var(--sage);padding-top:14px}
.contact-row .ci .l{font-family:var(--en);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.contact-row .ci .v{font-size:15px;color:var(--forest-dark);margin-top:6px;font-weight:500}

/* lists (insights/news) */
.searchbar{display:flex;gap:10px;max-width:460px;margin-top:26px}
.searchbar input{flex:1;padding:12px 18px;border:1px solid var(--line);border-radius:100px;font-family:var(--kr);font-size:14px}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.pill{font-family:var(--en);font-size:12.5px;color:var(--forest);background:var(--sage-soft);padding:7px 14px;border-radius:100px}
.newslist{max-width:860px;margin-top:14px}
.newsitem{display:flex;gap:26px;padding:22px 0;border-bottom:1px solid var(--line)}
.newsitem .date{font-family:var(--en);font-size:13px;color:var(--sage);flex:none;width:120px}
.newsitem .cat{font-family:var(--en);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--beige)}
.newsitem h3{font-size:16px;font-weight:500;color:var(--forest-dark);margin-top:2px}
.newsitem p{font-size:13.5px;color:var(--dim);margin-top:4px}

/* stats / founder (shared with home science) */
.sci-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.sci-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.sci-stats .st{border-top:2px solid var(--sage);padding-top:14px}
.sci-stats .n{font-family:var(--en);font-weight:600;font-size:clamp(28px,4vw,40px);color:var(--forest);line-height:1}
.sci-stats .l{font-size:12.5px;color:var(--dim);margin-top:6px}
.sci-card{background:var(--cream);border-radius:20px;padding:36px;border:1px solid var(--line)}
.sci-card .role{font-family:var(--en);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:500}
.sci-card .nm{font-size:22px;font-weight:700;color:var(--forest-dark);margin:6px 0 18px}
.sci-card ul{list-style:none}
.sci-card li{font-size:14px;color:var(--dim);padding:7px 0;padding-left:20px;position:relative}
.sci-card li::before{content:"—";position:absolute;left:0;color:var(--sage)}

/* home-only component styles */
.brand-msg{background:#fff}
.bm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.bm-img{aspect-ratio:5/4;border-radius:16px;background:linear-gradient(155deg,var(--beige-soft),var(--sage-soft));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bm-img::after{content:"";position:absolute;width:70%;height:70%;border-radius:50%;border:1px solid rgba(39,77,59,.14)}
.bm-img img{width:52%;opacity:.92;position:relative}
.flow{background:var(--cream);text-align:center}
.flow-steps{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:60px;flex-wrap:wrap}
.fstep{flex:1;min-width:130px;max-width:200px}
.fstep .ic{width:74px;height:74px;border-radius:50%;background:#fff;border:1px solid var(--line);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--forest);box-shadow:0 6px 22px rgba(39,77,59,.06)}
.fstep .t{font-family:var(--en);font-weight:500;font-size:15px;color:var(--forest-dark)}
.fstep .s{font-size:12.5px;color:var(--dim);margin-top:5px}
.farrow{color:var(--sage);font-size:22px;padding-top:26px}
.biz{background:linear-gradient(180deg,#fff,#F1F0EA)}
.biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.biz-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 26px;transition:.4s var(--ease)}
.biz-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(39,77,59,.09)}
.biz-card .ic{font-size:30px;color:var(--forest);margin-bottom:16px}
.biz-card h3{font-family:var(--en);font-weight:500;font-size:17px;color:var(--forest-dark)}
.biz-card .kh{font-size:13px;color:var(--sage);margin:3px 0 12px;font-weight:500}
.biz-card p{font-size:13.5px;color:var(--dim);line-height:1.8}
.products{background:var(--forest-dark)}
.products h2,.products .kicker{color:#fff}.products .kicker{color:var(--beige)}
.products .lead{color:rgba(255,255,255,.66)}
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.prod{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px;display:flex;gap:26px;align-items:center;transition:.4s var(--ease)}
.prod:hover{background:rgba(255,255,255,.08)}
.prod .thumb{width:120px;height:120px;border-radius:16px;background:linear-gradient(155deg,var(--beige),var(--sage));flex-shrink:0;position:relative;overflow:hidden}
.prod .thumb::before{content:"";position:absolute;inset:0;background:url(assets/logo.png) center/54% no-repeat;opacity:.32;mix-blend-mode:luminosity}
.prod .thumb::after{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(255,255,255,.42)}
.prod h3{font-family:var(--en);font-weight:500;font-size:22px;color:#fff}
.prod .cat{font-size:13.5px;color:var(--beige);margin:6px 0 10px}
.prod .pdesc{font-size:13px;color:rgba(255,255,255,.72);line-height:1.7;margin-bottom:14px}
.prod .patent{display:inline-block;font-family:var(--en);font-size:10.5px;letter-spacing:.06em;color:var(--forest-dark);background:var(--beige);padding:4px 10px;border-radius:100px;margin-bottom:12px}
.prod .more{font-family:var(--en);font-size:12.5px;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
.prod-note{font-size:12px;color:rgba(255,255,255,.4);margin-top:24px;text-align:center}
.digital{background:#fff}
.idm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.idm{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:30px 26px;transition:.4s var(--ease);display:flex;flex-direction:column}
.idm:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(39,77,59,.09)}
.idm .ic{font-size:32px;color:var(--forest);margin-bottom:16px}
.idm h3{font-family:var(--en);font-weight:500;font-size:18px;color:var(--forest-dark)}
.idm .kh{font-size:13px;color:var(--sage);margin:3px 0 14px;font-weight:500}
.idm p{font-size:13.5px;color:var(--dim);line-height:1.8;flex:1}
.idm .stream{margin-top:16px;font-family:var(--en);font-size:11px;letter-spacing:.04em;color:var(--forest);background:var(--sage-soft);padding:5px 12px;border-radius:100px;align-self:flex-start}
.hcheck{margin-top:24px;display:flex;gap:18px;align-items:center;background:#EEF2ED;border:1px solid var(--line);border-radius:18px;padding:24px 28px}
.hcheck .em{font-size:34px;flex:none}
.hcheck h4{font-family:var(--en);font-weight:500;font-size:16px;color:var(--forest-dark)}
.hcheck p{font-size:13.5px;color:var(--dim);margin-top:4px;line-height:1.7}
.dc-adv{font-size:12px;color:var(--sage);margin-top:18px;text-align:center}
.why{background:var(--cream);text-align:center}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:60px}
.why .v .ic{width:64px;height:64px;border-radius:50%;background:#fff;border:1px solid var(--line);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--forest)}
.why .v h4{font-family:var(--en);font-weight:600;font-size:17px;color:var(--forest-dark)}
.why .v p{font-size:13px;color:var(--dim);margin-top:8px;line-height:1.7}
.science{background:#fff}
.insights-sec{background:var(--cream)}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.ins{border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.4s var(--ease);background:#fff}
.ins:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(39,77,59,.08)}
.ins .im{height:170px;background:linear-gradient(155deg,var(--sage-soft),var(--beige-soft));position:relative;overflow:hidden}
.ins .im::after{content:"";position:absolute;right:-16px;bottom:-16px;width:78px;height:78px;border-radius:50%;border:1px solid rgba(255,255,255,.45)}
.ins .im.b{background:linear-gradient(155deg,var(--beige-soft),var(--sage-soft))}
.ins .im.c{background:linear-gradient(155deg,var(--sage),var(--sage-soft))}
.ins .body{padding:22px}
.ins .cat{font-family:var(--en);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.ins h4{font-size:16px;font-weight:500;color:var(--forest-dark);margin:8px 0}
.ins p{font-size:13px;color:var(--dim)}
.partner{background:#fff;text-align:center}
.chain{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:44px;flex-wrap:wrap}
.chain span.node{font-family:var(--en);font-size:14px;color:var(--forest-dark);background:var(--cream);border:1px solid var(--line);padding:12px 26px;border-radius:100px;box-shadow:0 4px 16px rgba(39,77,59,.05)}
.chain .ar{color:var(--sage);font-size:18px}
.contact-sec{background:var(--forest-dark);color:#fff;text-align:center}
.contact-sec h2{color:#fff}
.contact-sec .lead{color:rgba(255,255,255,.7)}
.contact-sec .btns{margin-top:40px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.contact-sec .btn.ghost{border-color:rgba(255,255,255,.4)}

/* full-bleed 필름 밴드 */
.filmband{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--forest-dark)}
.filmband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.filmband video.on{opacity:.4;animation:kenburns 18s ease-in-out infinite alternate}
.filmband::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 50%,rgba(27,52,42,.28),rgba(27,52,42,.8))}
.filmband .fb-in{position:relative;z-index:2;max-width:780px;padding:88px 24px}
.filmband .fb-in .q{font-family:var(--en);font-weight:500;font-size:clamp(24px,3.4vw,40px);color:#fff;line-height:1.32;letter-spacing:-.01em}
.filmband .fb-in .qs{color:var(--beige);margin-top:16px;font-size:15px;font-family:var(--kr)}
/* 임팩트 스탯 밴드 */
.impact{background:var(--cream)}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin-top:8px}
.impact-grid .st{padding:10px}
.impact-grid .st .n{font-family:var(--en);font-weight:600;font-size:clamp(30px,4.5vw,52px);color:var(--forest);line-height:1}
.impact-grid .st .l{font-size:13px;color:var(--dim);margin-top:10px;line-height:1.5}

/* timeline */
.timeline{max-width:780px;margin-top:34px;border-left:2px solid var(--sage-soft);padding-left:28px}
.timeline .tl{position:relative;padding-bottom:28px}
.timeline .tl:last-child{padding-bottom:0}
.timeline .tl::before{content:"";position:absolute;left:-35px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px var(--cream)}
.timeline .tl .yr{font-family:var(--en);font-size:13px;color:var(--forest);font-weight:600}
.timeline .tl h4{font-size:15.5px;color:var(--forest-dark);margin:3px 0 3px;font-weight:500}
.timeline .tl p{font-size:13.5px;color:var(--dim);line-height:1.7}
/* comparison table */
.tblwrap{overflow-x:auto;margin-top:32px}
.cmp{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.cmp th,.cmp td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line)}
.cmp thead th{font-family:var(--en);font-weight:500;color:var(--forest-dark);background:var(--cream);white-space:nowrap}
.cmp td:first-child,.cmp th:first-child{font-weight:500;color:var(--forest-dark)}
.cmp tbody tr:hover{background:rgba(39,77,59,.03)}
/* horizontal flow (flywheel) */
.flow-h{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:44px}
.flow-h .fh{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 22px;font-size:13.5px;color:var(--forest-dark);text-align:center;min-width:120px;box-shadow:0 4px 16px rgba(39,77,59,.05)}
.flow-h .fh .en{display:block;font-size:11px;color:var(--sage);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.flow-h .fa{color:var(--sage);font-size:18px}
.bg-dark .flow-h .fh{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.bg-dark .flow-h .fh .en{color:var(--beige)}

/* footer */
footer{background:var(--forest-dark);padding:46px 40px;border-top:1px solid rgba(255,255,255,.12)}
.foot{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot .fl{display:flex;align-items:center;gap:12px}
.foot .fl img{height:30px;filter:brightness(0) invert(1);opacity:.9}
.foot .fmenu{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--en);font-size:12px;color:rgba(255,255,255,.5)}
.foot .fmenu a{transition:.3s}.foot .fmenu a:hover{color:#fff}
.closing{max-width:1200px;margin:24px auto 0;font-family:var(--en);font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,.42);text-align:center}

/* responsive */
@media(max-width:860px){
  .wrap{padding:0 24px} nav{padding:14px 24px}
  .navtoggle{display:flex}
  .menu{position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 18px;display:none}
  .menu.open{display:flex}
  .menu a{padding:13px 0;border-bottom:1px solid var(--line);width:100%;font-size:15px;opacity:1}
  .menu .navcta{text-align:center;margin-top:12px;border-bottom:none;padding:12px 20px}
  .sec{padding:88px 0}
  .bm-grid,.prod-grid,.sci-grid,.split{grid-template-columns:1fr;gap:32px}
  .biz-grid{grid-template-columns:1fr 1fr} .why-grid{grid-template-columns:1fr 1fr} .impact-grid{grid-template-columns:1fr 1fr}
  .idm-grid,.grid3{grid-template-columns:1fr} .grid2,.ins-grid{grid-template-columns:1fr}
  .contact-row{grid-template-columns:1fr}
  .hcheck{flex-direction:column;text-align:center;align-items:center}
  .form .row{grid-template-columns:1fr}
  .newsitem{flex-direction:column;gap:6px}.newsitem .date{width:auto}
  .flow-steps .farrow{transform:rotate(90deg)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
