/* ═══════════════════════════════════════
   JHAK Entertainment — Unified Stylesheet
   site/style.css
   ═══════════════════════════════════════ */


/* ── Reset ── */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Pretendard Variable","Pretendard","Apple SD Gothic Neo",sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  letter-spacing:-0.04em;word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
button{font:inherit;border:none;background:none;cursor:pointer;}


/* ── Variables ── */
:root{
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Outfit',sans-serif;
  --max-w:1120px;
  --px:clamp(20px,5vw,40px);
  --bg-dark:#0b0b0b;
  --t1:#d6d6d6;
  --t2:rgba(255,255,255,0.72);
  --t3:rgba(255,255,255,0.62);
  --t4:rgba(255,255,255,0.48);
  --ghost:rgba(255,255,255,0.08);
  --line-dark:rgba(255,255,255,0.07);
  --hover-dark:rgba(255,255,255,0.03);
  --bg-body:#f4f4f2;
  --bg-card:#fff;
  --c1:#111;
  --c2:#444;
  --c3:#777;
  --c4:#aaa;
  --line-light:#e4e4e2;
  --line-inner:#f0f0ee;
  --radius:18px;
}


/* ── Nav ── */
.nav.scrolled{background:rgba(11,11,11,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--line-dark);}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);display:flex;align-items:center;justify-content:space-between;height:60px;}
.nav-logo{display:inline-flex;align-items:center;flex-shrink:0;}
.nav-logo img{height:28px;width:auto;display:block;opacity:.88;transition:opacity .2s;}
.nav-logo:hover img{opacity:1;}
.nav-links{display:flex;gap:4px;align-items:center;}
.nav-link{padding:6px 14px;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--t3);border-radius:8px;transition:color .2s;letter-spacing:-0.02em;}
.nav-link:hover{color:var(--t2);}
.nav-link.active{color:var(--t1);font-weight:600;}
.nav-item{position:relative;}
.nav-trigger{padding:6px 14px;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--t3);border-radius:8px;transition:color .2s;letter-spacing:-0.02em;}
.nav-trigger:hover,.nav-item.open .nav-trigger{color:var(--t2);}
.nav-item.open .nav-trigger{color:var(--t1);font-weight:600;}
.nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:164px;padding:8px;background:rgba(17,17,17,.95);border:1px solid var(--line-dark);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;}
.nav-item.open .nav-dropdown,.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dropdown a{display:block;padding:10px 12px;color:var(--t4);font-family:var(--sans);font-size:13px;transition:color .2s;}
.nav-dropdown a:hover{color:#fff;}
.nav-dropdown a.is-current{color:#fff;font-weight:600;}
.sp{display:inline-block;width:0.35em;}

/* ── Hero BG (shared) ── */
.hero-bg{overflow:hidden;opacity:0;pointer-events:none;animation:heroBgIn 2s .2s forwards;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
@keyframes heroBgIn{to{opacity:.35;}}

/* ── Footer ── */
.site-footer{padding:56px 0 48px;border-top:1px solid var(--line-dark);background:var(--bg-dark);}
.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:36px;}
.footer-logo{display:inline-flex;align-items:center;flex-shrink:0;}
.footer-logo img{height:24px;width:auto;display:block;opacity:.35;transition:opacity .2s;}
.footer-logo:hover img{opacity:.55;}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-links a{font-size:13px;color:var(--t3);transition:color .2s;}
.footer-links a:hover{color:var(--t1);}
.footer-meta{padding-top:28px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;line-height:1.8;color:var(--t4);}
.footer-meta a{transition:color .2s;}
.footer-meta a:hover{color:var(--t1);}
.footer-addr-en{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-dark);font-family:var(--sans);font-size:11px;color:var(--t4);letter-spacing:0.01em;}
.footer-copy{margin-top:12px;font-size:11px;color:var(--t4);}

/* ── Animations ── */
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}
.sr{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s;}
.sr.vis{opacity:1;transform:translateY(0);}
.sr-d1{transition-delay:.12s;}
.sr-d2{transition-delay:.24s;}
.sr-d3{transition-delay:.36s;}

/* ── Utility ── */
.bottom-space{height:48px;}
.mo-br{display:none;}

/* ── Card pages (service, term, B2B 공통) ── */
.content-wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);}
.card{background:var(--bg-card);border:1px solid var(--line-light);border-radius:var(--radius);margin-top:-28px;position:relative;z-index:2;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.card-inner{padding:48px 44px 44px;}
.section{padding-top:40px;margin-top:40px;border-top:1px solid var(--line-inner);}
.section:first-child{margin-top:0;padding-top:0;border-top:none;}
.lead{margin:0 0 24px;color:var(--c2);font-size:14.5px;line-height:1.75;}
.item{padding:22px 0;border-bottom:1px solid var(--line-inner);}
.item:first-of-type{padding-top:0;}
.item:last-child{border-bottom:0;padding-bottom:0;}
.item-title{margin-bottom:12px;font-size:15px;font-weight:600;letter-spacing:-0.03em;color:var(--c1);}
.item-desc{color:var(--c2);font-size:13.5px;line-height:1.75;white-space:pre-line;}
.note{margin-top:24px;padding:18px 22px;background:var(--bg-body);border-radius:12px;border:1px solid var(--line-light);color:var(--c2);font-size:13.5px;line-height:1.7;}

/* ── Buttons ── */
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-light);background:#fff;color:var(--c1);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;letter-spacing:-0.025em;text-decoration:none;white-space:nowrap;}
.btn:hover{background:var(--bg-body);border-color:#d0d0ce;}
.btn:active{transform:scale(0.98);}
.btn.primary{background:linear-gradient(135deg,#1e1e22 0%,#141414 50%,#1a1a1e 100%);border:1px solid rgba(255,255,255,0.07);color:#fff;width:100%;padding:16px 24px;font-size:14px;font-weight:700;border-radius:12px;}
a.btn.primary{color:#fff;}
.btn.primary:hover{background:linear-gradient(135deg,#2e2e32 0%,#262626 50%,#2a2a2e 100%);border-color:rgba(255,255,255,0.16);}
.btn.kakao{background:transparent;border:1.5px solid rgba(180,130,40,0.45);color:#b08228;width:100%;padding:13px 24px;font-size:13px;font-weight:600;border-radius:12px;transition:background .18s,border-color .18s,color .18s;}
.btn.kakao:hover{background:#b08228;border-color:#b08228;color:#fff;}
.bottom-cta{padding:0 44px 40px;display:flex;flex-direction:column;gap:10px;}

/* ── Toast ── */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(8px);opacity:0;pointer-events:none;background:var(--bg-dark);color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;letter-spacing:-0.02em;transition:opacity .2s,transform .2s;z-index:200;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Compact hero (service, term, B2B) ── */
.compact-nav{position:sticky;top:0;z-index:100;background:transparent;overflow:visible;transition:background .35s,backdrop-filter .35s;}
.compact-hero{background:var(--bg-dark);padding:108px 0 72px;margin-top:-60px;position:relative;overflow:hidden;z-index:1;}
.compact-hero .hero-bg{position:absolute;inset:0;z-index:0;}
.compact-hero .hero-bg img{object-position:center 30%;}
.compact-hero .hero-bg::before{content:'';position:absolute;top:0;left:0;right:0;height:35%;background:linear-gradient(to bottom,rgba(11,11,11,0.5),transparent);pointer-events:none;z-index:1;}
.compact-hero .hero-bg::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,transparent,var(--bg-dark));pointer-events:none;}
.compact-hero .hero-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);position:relative;z-index:2;}
.hero-label{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:20px;}
.compact-hero h1{font-family:var(--serif);font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1.12;letter-spacing:-0.02em;color:var(--t1);}
.hero-sub{margin-top:18px;font-size:15px;line-height:1.75;color:var(--t3);max-width:520px;}

/* ── Section headers (service, B2B) ── */
.sec-num{display:block;font-family:var(--serif);font-size:72px;font-style:italic;line-height:.78;color:var(--c1);opacity:.04;margin-bottom:12px;user-select:none;}
.sec-label{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c4);margin-bottom:16px;}
.sec-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;}
.sec-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-0.04em;color:var(--c1);}
.sec-sub{font-size:12px;color:var(--c3);flex-shrink:0;}

/* ── Index form (service-index, B2B-index) ── */
.item-block{padding-left:14px;padding-top:2px;border-left:2px solid var(--line-light);margin-bottom:16px;}
.item-block:last-child{margin-bottom:0;}
.item-sub{display:block;color:var(--c1);font-size:13.5px;font-weight:600;letter-spacing:-0.03em;padding-left:0;margin-bottom:5px;}
.copy-box{margin-top:18px;}
.copy-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;}
.copy-title{font-size:15px;font-weight:700;letter-spacing:-0.04em;}
textarea{width:100%;height:360px;resize:none;overflow-y:scroll;border:1px solid var(--line-light);border-radius:12px;background:#fff;padding:20px;color:var(--c1);font-size:13.5px;line-height:1.8;letter-spacing:-0.03em;scrollbar-width:thin;scrollbar-color:var(--line-light) transparent;}
textarea:focus{outline:none;border-color:#c0c0be;}
textarea::-webkit-scrollbar{width:6px;}
textarea::-webkit-scrollbar-track{background:transparent;margin:14px 0;}
textarea::-webkit-scrollbar-thumb{background:var(--line-light);border-radius:999px;}
.example-box{margin-top:18px;padding:24px;border:1px solid var(--line-light);border-radius:12px;background:var(--bg-body);}
.example-label{display:inline-block;margin-bottom:14px;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c4);}
.example-body{color:var(--c2);font-size:13.5px;line-height:1.8;white-space:pre-line;}

/* ── Price (service-price, B2B-price) ── */
.price-item{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;}
.price-item .item-title{margin-bottom:8px;}
.price{color:var(--c1);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-0.03em;white-space:nowrap;padding-top:1px;}
.pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pkg-card{padding:28px 24px;border:1px solid var(--line-light);border-radius:14px;background:var(--bg-body);}
.pkg-card.featured{background:linear-gradient(145deg,#1a1a1f 0%,#141414 50%,#18181c 100%);color:#fff;border-color:rgba(255,255,255,0.06);position:relative;overflow:hidden;}
.pkg-card.featured>*{position:relative;z-index:1;}
.pkg-card.featured::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;}
.pkg-label{display:block;margin-bottom:16px;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c4);}
.pkg-card.featured .pkg-label{color:var(--t4);}
.pkg-name{font-size:18px;font-weight:700;letter-spacing:-0.04em;margin-bottom:4px;}
.pkg-items{margin:16px 0 24px;color:var(--c2);font-size:13.5px;line-height:1.85;}
.pkg-card.featured .pkg-items{color:var(--t3);}
.pkg-includes{padding-left:14px;border-left:2px solid var(--line-inner);}
.pkg-card.featured .pkg-includes{border-left-color:rgba(255,255,255,0.1);}
.pkg-divider{border:none;border-top:1px solid var(--line-inner);margin:0 0 20px;}
.pkg-card.featured .pkg-divider{border-top-color:rgba(255,255,255,0.08);}
.pkg-strike{color:var(--c4);font-size:13px;text-decoration:line-through;margin-bottom:4px;}
.pkg-card.featured .pkg-strike{color:var(--t4);}
.pkg-total{font-size:28px;font-weight:800;line-height:1.15;letter-spacing:-0.05em;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.discount-tag{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;border-radius:999px;border:1px solid var(--line-light);background:transparent;color:var(--c4);font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.04em;line-height:20px;}
.pkg-card.featured .discount-tag{border-color:rgba(255,255,255,0.12);color:var(--t4);}
.pkg-vat{margin-top:6px;color:var(--c3);font-size:13px;}
.pkg-card.featured .pkg-vat{color:var(--t4);}

/* ── Legal (term) ── */
.legal{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);}
.legal-card{background:var(--bg-card);border:1px solid var(--line-light);border-radius:var(--radius);margin-top:-20px;position:relative;z-index:2;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.legal-inner{padding:44px 44px 48px;}
.legal-intro{color:var(--c2);font-size:14px;line-height:1.8;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--line-inner);}
.legal-section{margin-bottom:36px;}
.legal-section:last-child{margin-bottom:0;}
.legal-heading{font-size:16px;font-weight:700;letter-spacing:-0.03em;color:var(--c1);margin-bottom:16px;padding-top:4px;}
.legal-body{color:var(--c2);font-size:13.5px;line-height:1.8;}
.legal-body p{margin-bottom:12px;}
.legal-body p:last-child{margin-bottom:0;}
.legal-body ul{margin:8px 0 12px;padding-left:20px;}
.legal-body li{margin-bottom:6px;}
.legal-body li:last-child{margin-bottom:0;}
.legal-contact{margin-top:12px;padding:18px 22px;background:var(--bg-body);border-radius:12px;border:1px solid var(--line-light);font-size:13.5px;line-height:1.8;color:var(--c2);}
.legal-ext{margin-top:16px;font-size:13px;line-height:1.8;color:var(--c3);}
.legal-ext a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s;}
.legal-ext a:hover{color:var(--c1);}
.legal-effective{margin-top:40px;padding-top:28px;border-top:1px solid var(--line-inner);color:var(--c3);font-size:13px;}

/* ── B2B badge ── */
.nav-badge{margin-left:auto;transform:translateY(1px);font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#b08228;border:1.2px solid rgba(176,130,40,0.45);padding:0 10px;height:22px;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;line-height:1;}
.hero-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.hero-top-row .hero-label{margin-bottom:0;}
.hero-badge-b2b{display:none;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#b08228;border:1.2px solid rgba(176,130,40,0.45);padding:0 10px;height:22px;border-radius:20px;white-space:nowrap;align-items:center;line-height:1;}


/* ═══════════════════════════════════════
   page-service
   ═══════════════════════════════════════ */
.page-service{background:var(--bg-body);color:var(--c1);}
.page-service .nav-trigger{color:var(--t1);font-weight:600;}


/* ═══════════════════════════════════════
   page-term
   ═══════════════════════════════════════ */
.page-term{background:var(--bg-body);color:var(--c1);}
.page-term .compact-hero h1{font-size:clamp(28px,4vw,40px);}
.page-term .hero-label{margin-bottom:16px;}


/* ═══════════════════════════════════════
   page-b2b
   ═══════════════════════════════════════ */
.page-b2b{background:var(--bg-body);color:var(--c1);}
.page-b2b .compact-hero h1{font-size:clamp(28px,5vw,42px);}
.page-b2b .nav-link{color:var(--t4);}
.page-b2b .nav-link:hover{color:var(--t2);}
.page-b2b .nav-link.active{color:#fff;font-weight:600;}


/* ═══════════════════════════════════════
   page-contact
   ═══════════════════════════════════════ */
.page-contact{background:var(--bg-body);color:var(--c1);}
.page-contact .compact-hero h1{font-size:clamp(28px,4vw,40px);}

.contact-body{padding:44px 44px 48px !important;}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;}
.contact-map{border-radius:14px;overflow:hidden;border:1px solid var(--line-light);min-height:360px;position:relative;}
.contact-map iframe{width:100%;height:100%;border:none;display:block;filter:grayscale(0.15);}
.map-naver-link{position:absolute;bottom:12px;right:12px;padding:7px 12px;background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);border:1px solid rgba(3,199,90,0.3);border-radius:8px;font-size:12px;font-weight:600;color:#03C75A;transition:background .2s,border-color .2s;letter-spacing:-0.02em;}
.map-naver-link:hover{background:#fff;border-color:rgba(3,199,90,0.5);}

.contact-info{display:flex;flex-direction:column;gap:28px;}
.contact-block-label{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c4);margin-bottom:10px;}
.contact-block-title{font-size:17px;font-weight:700;letter-spacing:-0.04em;color:var(--c1);margin-bottom:10px;}
.contact-block-desc{font-size:14px;line-height:1.7;color:var(--c2);}
.contact-row{display:flex;align-items:center;gap:10px;padding:7px 0;}
.contact-row svg{width:16px;height:16px;flex-shrink:0;color:var(--c4);}
.contact-value{font-size:14px;font-weight:500;color:var(--c1);letter-spacing:-0.02em;}
a.contact-value{transition:color .2s;}
a.contact-value:hover{color:var(--c2);}
.contact-value-sub{font-weight:400;color:var(--c3);font-size:13px;}
.contact-addr{display:block;margin-bottom:8px;}
.contact-addr-en{display:block;font-family:var(--sans);font-size:12px;color:var(--c3);letter-spacing:0.01em;line-height:1.6;}

.contact-social{margin-top:auto;padding-top:8px;}
.contact-social-row{display:grid;grid-template-columns:repeat(4,auto);gap:8px;justify-content:start;}
.social-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--line-light);border-radius:10px;font-size:13px;font-weight:500;color:var(--c2);transition:color .2s,border-color .2s,background .2s;letter-spacing:-0.02em;}
.social-btn:hover{color:var(--c1);border-color:var(--c4);background:var(--bg-body);}
.social-btn svg{width:16px;height:16px;flex-shrink:0;}
.social-naver{color:#03C75A;border-color:rgba(3,199,90,0.3);}
.social-naver:hover{color:#02b350;border-color:rgba(3,199,90,0.5);background:rgba(3,199,90,0.04);}


/* ═══════════════════════════════════════
   page-landing
   ═══════════════════════════════════════ */
.page-landing{background:var(--bg-dark);color:var(--t1);}
.scroll-bar{position:fixed;top:0;left:0;height:1px;width:0%;background:var(--t3);z-index:1000;}
.page-landing .nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s,backdrop-filter .35s;}

/* landing: hero */
.page-landing .hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0;overflow:hidden;z-index:1;}
.page-landing .hero-bg{position:fixed;inset:0;z-index:0;}
.page-landing .hero-bg img{object-position:center;transform:scale(1.05);animation:heroBgZoom 2s .2s forwards;}
@keyframes heroBgZoom{to{transform:scale(1);}}
.page-landing .hero::before{content:'';position:absolute;bottom:0;left:0;right:0;height:20%;background:linear-gradient(to bottom,transparent,var(--bg-dark));z-index:1;pointer-events:none;}
.page-landing .hero::after{content:'';position:absolute;top:0;left:0;right:0;height:20%;background:linear-gradient(to bottom,rgba(11,11,11,.4),transparent);z-index:1;pointer-events:none;}
.page-landing .hero-inner{max-width:var(--max-w);margin:0 auto;width:100%;padding:0 var(--px);position:relative;z-index:3;}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:32px;opacity:0;transform:translateY(20px);animation:fadeUp .8s .3s forwards;}
.hero-kicker-line{width:28px;height:1px;background:var(--t4);}
.hero-kicker-text{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--t3);text-transform:uppercase;}
.hero-headline{font-family:var(--serif);font-size:clamp(44px,8.5vw,100px);font-weight:400;line-height:1.06;letter-spacing:-0.02em;color:var(--t1);max-width:900px;opacity:0;transform:translateY(30px);animation:fadeUp .9s .5s forwards;}
.hero-headline em{font-style:italic;color:var(--t3);}
.page-landing .hero-sub{margin-top:36px;font-size:clamp(14px,1.6vw,16px);max-width:420px;opacity:0;transform:translateY(20px);animation:fadeUp .8s .8s forwards;}
.hero-scroll{position:absolute;bottom:40px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp .6s 1.2s forwards;z-index:3;}
.hero-scroll-text{font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--t4);}
.hero-scroll-line{width:1px;height:32px;background:linear-gradient(to bottom,var(--t3),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(1);}50%{opacity:.8;transform:scaleY(1.3);}}

/* landing: sections */
.page-landing .sec{position:relative;padding:140px 0;z-index:1;background:rgba(11,11,11,0.72);}
.page-landing .sec-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--px);}
.sec-line{position:absolute;top:0;left:var(--px);right:var(--px);height:1px;background:var(--line-dark);}
.sec-head{display:flex;align-items:flex-start;gap:40px;margin-bottom:64px;}
.page-landing .sec-num{font-family:var(--serif);font-size:64px;font-style:italic;line-height:.8;color:var(--line-dark);opacity:1;}
.page-landing .sec-label{margin-top:10px;}
.page-landing .sec-title{font-size:clamp(22px,3vw,28px);font-weight:700;line-height:1.4;color:var(--t1);padding-top:8px;}

/* landing: 01 */
.s1-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.s1-desc{font-size:15px;line-height:1.85;color:var(--t3);margin-bottom:40px;}
.biz-grid{display:flex;flex-direction:column;}
.biz-item{display:flex;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line-dark);}
.biz-item:last-child{border-bottom:none;}
.biz-tag{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--t4);width:48px;flex-shrink:0;letter-spacing:0;}
.biz-text{font-size:14px;line-height:1.7;color:var(--t3);}

/* landing: 02 */
.core-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);}
.core-item{padding:40px 36px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);transition:background .3s;}
.core-item:hover{background:var(--hover-dark);}
.core-num{font-family:var(--serif);font-size:36px;font-style:italic;color:var(--ghost);line-height:1;margin-bottom:20px;}
.core-title{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:-0.04em;color:var(--t2);margin-bottom:14px;}
.core-desc{font-size:13.5px;line-height:1.75;color:var(--t3);white-space:pre-line;}

/* landing: 03 */
.chain-statement{margin-bottom:72px;}
.chain-copy{font-family:var(--serif);font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-0.02em;color:var(--t1);margin-bottom:28px;}
.chain-copy span{display:block;opacity:0;transform:translateY(16px);transition:opacity .5s,transform .5s;}
.chain-copy span.vis{opacity:1;transform:translateY(0);}
.chain-copy span:nth-child(2){transition-delay:.1s;}
.chain-copy span:nth-child(3){transition-delay:.2s;color:var(--t4);}
.chain-copy span:nth-child(4){transition-delay:.3s;}
.chain-sub{font-size:15px;line-height:1.8;color:var(--t3);max-width:480px;}
.chain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-dark);}
.chain-item{padding:36px 0;border-bottom:1px solid var(--line-dark);position:relative;}
.chain-item:not(:last-child)::after{content:'';position:absolute;top:36px;bottom:36px;right:0;width:1px;background:var(--line-dark);}
.chain-item:not(:first-child){padding-left:36px;}
.chain-item:not(:last-child){padding-right:36px;}
.chain-title{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:-0.03em;color:var(--t2);margin-bottom:14px;}
.chain-desc{font-size:13.5px;line-height:1.75;color:var(--t3);white-space:pre-line;}

/* landing: K- slogan + glitch */
.k-slogan{margin-top:100px;position:relative;}
.k-slogan-headline{font-family:var(--serif);font-size:clamp(20px,2.8vw,36px);font-weight:400;letter-spacing:-0.02em;word-spacing:0.18em;color:var(--t1);margin-bottom:24px;line-height:1.2;font-style:italic;position:relative;overflow:hidden;}
.k-lead{font-family:var(--serif);font-size:inherit;font-weight:400;color:var(--t1);}
.k-accent{font-size:inherit;}
.k-lead .k-accent{font-size:1.15em;}
.k-suffix-wrap{font-size:clamp(36px,6vw,72px);line-height:0.95;display:inline;}
.k-suffix{display:inline-block;position:relative;color:var(--t1);}
.k-suffix-text{position:relative;z-index:2;}
.k-suffix::before,.k-suffix::after{content:attr(data-text);position:absolute;top:0;left:0;pointer-events:none;opacity:0;font-family:var(--serif);}
.k-suffix.glitching::before{animation:gR .35s steps(3) forwards;clip-path:inset(0 0 35% 0);color:#ff3c3c;mix-blend-mode:screen;}
.k-suffix.glitching::after{animation:gB .35s steps(4) forwards;clip-path:inset(30% 0 0 0);color:#3c7cff;mix-blend-mode:screen;}
.k-suffix.glitching .k-suffix-text{animation:gM .35s steps(2) forwards;}
.k-slogan-headline::after{content:'';position:absolute;inset:-50%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");background-size:128px;pointer-events:none;opacity:0;z-index:3;mix-blend-mode:overlay;transition:opacity .05s;}
.k-slogan-headline.grain::after{opacity:1;animation:grainShift .15s steps(2) forwards;}
@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(-10px,5px)}50%{transform:translate(5px,-8px)}75%{transform:translate(-3px,3px)}to{opacity:0;transform:translate(0)}}
@keyframes gR{0%{opacity:.8;transform:translate(-5px,-2px)}20%{transform:translate(4px,1px)}40%{transform:translate(-2px,3px)}60%{transform:translate(5px,-2px)}80%{transform:translate(-3px,1px)}to{opacity:0;transform:translate(0)}}
@keyframes gB{0%{opacity:.8;transform:translate(4px,2px)}20%{transform:translate(-5px,-1px)}40%{transform:translate(3px,-3px)}60%{transform:translate(-4px,2px)}80%{transform:translate(2px,-1px)}to{opacity:0;transform:translate(0)}}
@keyframes gM{0%{opacity:.2;transform:translateX(4px)}12%{opacity:0;transform:translateX(-3px)}25%{opacity:.8;transform:translateX(1px)}37%{opacity:0;transform:translateX(-2px)}50%{opacity:.6;transform:translateX(3px)}62%{opacity:0}75%{opacity:.9;transform:translateX(-1px)}87%{opacity:0}to{opacity:1;transform:translateX(0)}}
.k-slogan-desc{font-size:15px;line-height:1.85;color:var(--t3);max-width:520px;white-space:pre-line;}

/* landing: footer */
.page-landing .site-footer{position:relative;z-index:1;background:rgba(11,11,11,0.85);}


/* ═══════════════════════════════════════
   Responsive
   ═══════════════════════════════════════ */

@media(max-width:900px){
  .footer-top{flex-direction:column;gap:20px;}
  .page-landing .sec{padding:100px 0;}
  .s1-grid{grid-template-columns:1fr;gap:48px;}
  .core-grid{grid-template-columns:1fr;border-left:none;}
  .core-item{border-left:none;border-right:none;padding:32px 0;}
  .chain-grid{grid-template-columns:1fr;}
  .chain-item:not(:last-child)::after{display:none;}
  .chain-item{padding:28px 0 !important;}
}

@media(max-width:640px){
  /* shared */
  .nav-inner{height:52px;}
  .nav-link,.nav-trigger{padding:6px 10px;font-size:12px;}
  .nav-dropdown{left:auto;right:0;min-width:148px;}
  .card-inner{padding:32px 22px 28px;}
  .bottom-cta{padding:0 22px 28px;}
  .mo-br{display:block;}
  .copy-head{flex-direction:column;align-items:flex-start;}
  textarea{height:320px;font-size:13px;}
  .legal-inner{padding:28px 22px 32px;}

  /* compact hero */
  .compact-hero{margin-top:-52px;padding:88px 0 56px;}
  .compact-hero h1{font-size:28px;}
  .sec-num{font-size:56px;}
  .sec-header{flex-direction:column;align-items:flex-start;gap:4px;}

  /* price */
  .price-item{grid-template-columns:1fr;gap:6px;}
  .price{font-size:16px;}
  .pkg-grid{grid-template-columns:1fr;}
  .pkg-card.featured{order:-1;}

  /* term */
  .page-term .compact-hero h1{font-size:24px;}

  /* contact */
  .contact-body{padding:28px 22px 32px !important;}
  .contact-grid{grid-template-columns:1fr;gap:24px;}
  .contact-map{min-height:280px;border-radius:12px;}
  .contact-social-row{grid-template-columns:1fr 1fr;}
  .social-btn{justify-content:center;}
  .page-contact .compact-hero h1{font-size:24px;}

  /* B2B */
  .page-b2b .nav-badge{display:none;}
  .page-b2b .hero-badge-b2b{display:inline-flex;}
  .page-b2b .compact-hero h1{font-size:26px;}

  /* landing */
  .page-landing .hero{min-height:92vh;min-height:92svh;}
  .page-landing .hero-bg{animation:heroBgInM 2s .2s forwards;}
  .page-landing .hero-bg img{object-position:40% center;}
  @keyframes heroBgInM{to{opacity:.28;}}
  .page-landing .hero::before{height:22%;}
  .page-landing .hero::after{height:14%;}
  .page-landing .hero-sub{margin-top:28px;}
  .hero-scroll{bottom:28px;}
  .page-landing .sec{padding:80px 0;}
  .sec-head{flex-direction:column;gap:8px;}
  .page-landing .sec-num{font-size:48px;}
  .page-landing .sec-title{padding-top:4px;}
  .core-item{padding:28px 0;}
  .chain-copy{font-size:28px;}
  .k-slogan{margin-top:64px;}
}
