:root{
  --canvas:#FFFDFC;
  --warm:#FBF6EF;
  --cream:#FFF9F2;
  --beige:#F2E6D9;
  --sand:#E6D2C1;
  --ink:#2B2120;
  --sub:#5F514D;
  --muted:#897972;
  --line:#EADDD0;
  --line-strong:#DFC8B7;
  --pink:#D46BA5;
  --rose:#E8A2B8;
  --mauve:#8F6275;
  --clay:#B88468;
  --dusty:#7FB6D6;
  --pink-soft:#FAEDF4;
  --rose-soft:#FBF0F4;
  --mauve-soft:#F5EDF1;
  --clay-soft:#F8EFE8;
  --dusty-soft:#EEF7FC;
  --honey:#C79A3B;
  --honey-soft:#FFF5D7;
  --honey-pale:#FFFAEA;
  --shadow:0 24px 70px rgba(43,33,32,.08);
  --soft-shadow:0 12px 34px rgba(43,33,32,.055);
  --max:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:"Noto Sans KR","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.025em;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}

.header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,253,252,.9);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{display:flex;align-items:center;gap:11px;min-width:max-content}
.logo-badge{width:40px;height:40px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(43,33,32,.05)}
.logo-badge img{width:34px;height:34px;object-fit:contain}
.logo-text{display:grid;line-height:1.16}
.logo-text strong{font-size:18px;font-weight:900;letter-spacing:-.035em}
.logo-text span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.navlinks{display:flex;align-items:center;gap:24px;color:var(--sub);font-size:14px;font-weight:800}
.navlinks a{position:relative;padding:8px 0}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:.18s ease}
.navlinks a:hover{color:var(--ink)}
.navlinks a:hover:after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:10px}
.lang{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:30px;border-radius:999px;font-size:12px;color:var(--muted);font-weight:900}
.lang a.active{background:var(--ink);color:#fff}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 15px;border-radius:999px;background:var(--pink);color:#fff;font-size:13px;font-weight:900;box-shadow:0 10px 22px rgba(212,107,165,.18)}

.hero{padding:88px 0 76px;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:8px 12px;border-radius:999px;background:var(--pink-soft);border:1px solid rgba(212,107,165,.18);color:var(--mauve);font-size:12px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
h1,h2,h3,p{margin:0}
h1{margin-top:22px;font-size:55px;line-height:1.11;letter-spacing:-.067em;font-weight:950;color:var(--ink)}
.highlight{color:var(--pink);text-decoration:underline;text-decoration-color:rgba(212,107,165,.22);text-decoration-thickness:.18em;text-underline-offset:.12em}
.hero-desc{margin-top:24px;max-width:620px;color:var(--sub);font-size:18px;line-height:1.82;font-weight:520}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:999px;font-size:14px;font-weight:900;transition:.2s ease}
.btn-primary{background:var(--pink);color:#fff;box-shadow:0 16px 34px rgba(212,107,165,.2)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(212,107,165,.27)}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-secondary:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.point{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);font-size:12.5px;font-weight:850}
.point:nth-child(1){border-color:rgba(212,107,165,.24);color:var(--pink);background:var(--pink-soft)}
.point:nth-child(2){border-color:rgba(184,132,104,.22);color:var(--clay);background:var(--clay-soft)}
.point:nth-child(3){border-color:rgba(127,182,214,.24);color:var(--dusty);background:var(--dusty-soft)}
.point:nth-child(4){border-color:rgba(143,98,117,.2);color:var(--mauve);background:var(--mauve-soft)}
.hero-note{margin-top:18px;color:var(--muted);font-size:13px;font-weight:600}

.visual-card{border-radius:34px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:18px}
.console{border-radius:28px;background:var(--canvas);border:1px solid var(--line);padding:20px;box-shadow:0 10px 30px rgba(43,33,32,.04)}
.console-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.dots{display:flex;gap:7px}
.dots span{width:9px;height:9px;border-radius:999px;background:var(--sand)}
.dots span:nth-child(2){background:var(--rose)}
.dots span:nth-child(3){background:var(--pink)}
.status-pill{padding:7px 10px;border-radius:999px;background:var(--cream);border:1px solid var(--line);color:var(--sub);font-size:12px;font-weight:850}
.flow-grid{display:grid;grid-template-columns:1fr 34px 1fr;gap:12px;align-items:center}
.copy-panel{min-height:178px;border:1px solid var(--line);border-radius:22px;background:var(--cream);padding:16px}
.copy-panel.local{background:#fff;border-color:rgba(212,107,165,.24)}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}
.panel-title b{font-size:14px;font-weight:950}.panel-title span{font-size:11px;color:var(--muted);font-weight:800}
.copy-line{height:10px;border-radius:999px;background:#E8D8CA;margin-bottom:10px}
.copy-panel.local .copy-line{background:rgba(212,107,165,.22)}
.w90{width:90%}.w78{width:78%}.w62{width:62%}.w45{width:45%}
.copy-tag{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;color:var(--sub);font-weight:850}
.flow-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--pink);font-weight:950}
.insight-card{margin-top:14px;border:1px solid var(--line);border-radius:23px;background:#fff;padding:16px}
.insight-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.insight-head b{font-size:14px;font-weight:950}.insight-head span{font-size:11px;color:var(--pink);font-weight:900}
.progress-list{display:grid;gap:11px}.progress-item{display:grid;grid-template-columns:90px 1fr 36px;gap:10px;align-items:center;font-size:12px;color:var(--sub);font-weight:850}.bar{height:8px;border-radius:999px;background:#EFE4DA;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px;background:var(--pink)}.progress-item:nth-child(2) .bar i{background:var(--mauve)}.progress-item:nth-child(3) .bar i{background:var(--dusty)}.progress-item strong{text-align:right;color:var(--ink)}
.score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.score{background:var(--cream);border:1px solid var(--line);border-radius:17px;padding:13px}.score strong{display:block;font-size:24px;line-height:1;font-weight:950}.score:nth-child(1) strong{color:var(--pink)}.score:nth-child(2) strong{color:var(--clay)}.score:nth-child(3) strong{color:var(--dusty)}.score span{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:800}

section{padding:80px 0}.section-head{max-width:805px}.center{text-align:center;margin-left:auto;margin-right:auto}.center .section-kicker{margin-left:auto;margin-right:auto}
h2{font-size:39px;line-height:1.27;letter-spacing:-.057em;font-weight:950;color:var(--ink)}.lead{margin-top:16px;color:var(--sub);font-size:16px;line-height:1.86;font-weight:500}
/* Add a small gap below section labels without changing the base v69 design. */
.section-kicker + h1,
.section-kicker + h2{
  margin-top:10px;
}

.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:36px}.service-card{position:relative;min-height:238px;border:1px solid var(--line);border-radius:26px;background:#fff;padding:23px;box-shadow:var(--soft-shadow);transition:.2s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(43,33,32,.09)}.service-card:nth-child(1){border-top:3px solid var(--pink)}.service-card:nth-child(2){border-top:3px solid var(--clay)}.service-card:nth-child(3){border-top:3px solid var(--dusty)}.service-card:nth-child(4){border-top:3px solid var(--mauve)}.service-card:nth-child(5){border-top:3px solid var(--rose)}.service-no{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:15px;background:var(--pink-soft);border:1px solid rgba(212,107,165,.18);color:var(--pink);font-weight:950;margin-bottom:18px}.service-card:nth-child(2) .service-no{background:var(--clay-soft);border-color:rgba(184,132,104,.22);color:var(--clay)}.service-card:nth-child(3) .service-no{background:var(--dusty-soft);border-color:rgba(127,182,214,.24);color:var(--dusty)}.service-card:nth-child(4) .service-no{background:var(--mauve-soft);border-color:rgba(143,98,117,.22);color:var(--mauve)}.service-card:nth-child(5) .service-no{background:var(--rose-soft);border-color:rgba(232,162,184,.28);color:var(--mauve)}.service-card h3{font-size:20px;line-height:1.34;letter-spacing:-.04em;font-weight:950}.service-card p{margin-top:11px;color:var(--sub);font-size:14px;line-height:1.76}.service-list{display:grid;gap:7px;margin-top:18px}.service-list span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;font-weight:850}.service-list span:before{content:"";width:5px;height:5px;border-radius:999px;background:var(--pink)}.service-card:nth-child(2) .service-list span:before{background:var(--clay)}.service-card:nth-child(3) .service-list span:before{background:var(--dusty)}.service-card:nth-child(4) .service-list span:before{background:var(--mauve)}.service-card:nth-child(5) .service-list span:before{background:var(--rose)}

.brand-strip{padding:0}.band{border-radius:36px;background:var(--warm);border:1px solid var(--line);padding:54px;display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center;box-shadow:var(--shadow)}.proof-list{display:grid;gap:12px}.proof-item{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px 19px}.proof-item b{display:block;font-size:15px;font-weight:950;color:var(--ink)}.proof-item span{display:block;margin-top:6px;color:var(--sub);font-size:13.5px;line-height:1.68}.pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:28px}.pipe{border:1px solid var(--line);border-radius:19px;padding:16px;background:#fff}.pipe small{font-weight:950}.pipe:nth-child(1) small{color:var(--pink)}.pipe:nth-child(2) small{color:var(--clay)}.pipe:nth-child(3) small{color:var(--dusty)}.pipe b{display:block;margin-top:5px;font-size:15px}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.step{position:relative;border:1px solid var(--line);border-radius:26px;background:#fff;padding:26px;box-shadow:var(--soft-shadow)}.step:before{content:"";position:absolute;left:26px;top:-1px;width:54px;height:3px;border-radius:0 0 999px 999px;background:var(--pink)}.step:nth-child(2):before{background:var(--clay)}.step:nth-child(3):before{background:var(--dusty)}.step:nth-child(4):before{background:var(--mauve)}.step-num{font-weight:950;font-size:12px;letter-spacing:.04em;margin-bottom:15px;color:var(--pink)}.step:nth-child(2) .step-num{color:var(--clay)}.step:nth-child(3) .step-num{color:var(--dusty)}.step:nth-child(4) .step-num{color:var(--mauve)}.step h3{font-size:19px;font-weight:950;letter-spacing:-.04em}.step p{margin-top:10px;color:var(--sub);font-size:14px;line-height:1.75}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.output-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.output{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:22px;padding:19px;box-shadow:0 12px 34px rgba(43,33,32,.045)}.output-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;background:var(--pink-soft);color:var(--pink);font-weight:950;flex:0 0 auto}.output:nth-child(2) .output-icon{background:var(--clay-soft);color:var(--clay)}.output:nth-child(3) .output-icon{background:var(--dusty-soft);color:var(--dusty)}.output:nth-child(4) .output-icon{background:var(--mauve-soft);color:var(--mauve)}.output b{display:block;font-size:15.5px;font-weight:950}.output span{display:block;margin-top:5px;color:var(--sub);font-size:13.5px;line-height:1.65}.report-preview{border-radius:30px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:24px;margin-top:24px}.report-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.report-title b{font-size:18px;font-weight:950}.report-title span{padding:6px 10px;border-radius:999px;background:var(--pink-soft);color:var(--pink);font-size:12px;font-weight:950}.report-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.mini-panel{border:1px solid var(--line);border-radius:18px;background:var(--cream);padding:15px}.mini-panel small{display:block;color:var(--muted);font-weight:900}.mini-panel strong{display:block;margin-top:7px;font-size:20px;color:var(--ink)}
.usecase{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.usecase-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:31px;background:#fff;padding:32px;box-shadow:var(--soft-shadow)}.usecase-card:after{content:"";position:absolute;right:-56px;top:-56px;width:166px;height:166px;border-radius:50%;background:var(--beige);opacity:.7}.usecase-card h3{position:relative;font-size:25px;font-weight:950;letter-spacing:-.045em}.usecase-card p{position:relative;margin-top:12px;color:var(--sub);font-size:15px;line-height:1.82}.tags{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.tag{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:var(--canvas);color:var(--sub);font-size:12.5px;font-weight:900}.tag:nth-child(1){background:var(--pink-soft);color:var(--pink);border-color:rgba(212,107,165,.22)}.tag:nth-child(2){background:var(--clay-soft);color:var(--clay);border-color:rgba(184,132,104,.22)}.tag:nth-child(3){background:var(--dusty-soft);color:var(--dusty);border-color:rgba(127,182,214,.24)}.tag:nth-child(4){background:var(--mauve-soft);color:var(--mauve);border-color:rgba(143,98,117,.2)}
.contact{padding-bottom:102px}.cta-box{position:relative;overflow:hidden;border-radius:40px;border:1px solid var(--line);background:var(--warm);box-shadow:var(--shadow);padding:60px;text-align:center}.cta-box:before{content:"";position:absolute;left:-100px;bottom:-105px;width:260px;height:260px;border-radius:50%;background:var(--rose);opacity:.14}.cta-box>*{position:relative}.cta-box h2{max-width:800px;margin:0 auto}.cta-box p{margin:16px auto 0;max-width:640px;color:var(--sub);font-size:16px;line-height:1.82}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.contact-note{margin-top:16px!important;color:var(--muted)!important;font-size:13px!important}.email-pill{display:inline-flex;margin-top:22px;padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:900}.footer{border-top:1px solid var(--line);padding:30px 0 48px;color:var(--muted);font-size:13px;background:var(--canvas)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.mini-logo{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:950}.mini-logo img{width:24px;height:24px;border-radius:8px;object-fit:contain}

@media(max-width:1080px){.hero{grid-template-columns:1fr;gap:42px}.visual-card{max-width:820px}.service-grid{grid-template-columns:repeat(3,1fr)}.process{grid-template-columns:repeat(2,1fr)}.band,.split{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:min(var(--max),calc(100% - 36px))}.nav{height:66px}.navlinks,.nav-cta{display:none}.logo-badge{width:36px;height:36px}.logo-badge img{width:31px;height:31px}.logo-text strong{font-size:17px}.logo-text span{display:none}.hero{padding:64px 0 52px;text-align:center}.eyebrow{margin-left:auto;margin-right:auto}h1{font-size:39px;line-height:1.17;letter-spacing:-.058em}.hero-desc{font-size:15.5px;line-height:1.88;margin-left:auto;margin-right:auto}.actions{justify-content:center}.btn{width:100%;max-width:292px}.hero-points{justify-content:center}.flow-grid{grid-template-columns:1fr}.flow-arrow{height:32px;margin:auto}.flow-arrow.arrow-down{transform:none}.score-cards{grid-template-columns:1fr}.progress-item{grid-template-columns:74px 1fr 34px}.service-grid,.process,.output-grid,.usecase,.pipeline,.report-row{grid-template-columns:1fr}.service-card{min-height:auto}.band{border-radius:30px;padding:34px 23px}.section-head{text-align:center;margin-left:auto;margin-right:auto}section{padding:60px 0}h2{font-size:29px;line-height:1.38}.lead{font-size:14.8px}.usecase-card,.report-preview{padding:24px;border-radius:26px}.cta-box{padding:42px 22px;border-radius:30px}.footer-inner{display:grid;gap:8px}.visual-card{border-radius:28px}.console{border-radius:27px;padding:16px}.copy-panel{min-height:auto}.lang a{min-width:34px}}
@media(max-width:390px){h1{font-size:34px}.hero-desc{font-size:14.7px}.container{width:min(var(--max),calc(100% - 30px))}.score strong{font-size:22px}}

/* v9 typography refinement: softer bold, calmer sizing, cleaner KR/JP flow */
.logo-text strong{font-size:17px;font-weight:760;letter-spacing:-.028em}
.logo-text span{font-size:10.5px;font-weight:680;letter-spacing:.025em}
.navlinks{gap:22px;font-size:13.5px;font-weight:650}
.lang a{font-weight:720}
.nav-cta{font-weight:720;box-shadow:0 8px 18px rgba(212,107,165,.14)}
.eyebrow,.section-kicker{padding:7px 11px;font-size:11.5px;font-weight:720;letter-spacing:.035em}
h1{max-width:720px;margin-top:20px;font-size:50px;line-height:1.18;letter-spacing:-.056em;font-weight:760;text-wrap:balance}
.highlight{font-weight:760}
.hero-desc{max-width:600px;font-size:16.7px;line-height:1.86;font-weight:450}
.btn{min-height:46px;font-size:13.5px;font-weight:720}
.point{font-size:12px;font-weight:650}
.hero-note{font-weight:450}
.panel-title b,.insight-head b,.report-title b,.mini-logo{font-weight:760}
.panel-title span,.copy-tag,.insight-head span,.progress-item,.score span{font-weight:650}
.flow-arrow,.score strong{font-weight:760}
h2{max-width:820px;font-size:35px;line-height:1.38;letter-spacing:-.047em;font-weight:760;text-wrap:balance}
.center h2{margin-left:auto;margin-right:auto}
.lead{font-size:15.6px;line-height:1.9;font-weight:430}
.service-no{width:39px;height:39px;border-radius:14px;font-weight:760}
.service-card h3{font-size:18.5px;line-height:1.42;font-weight:740;letter-spacing:-.032em}
.service-card p{font-size:13.8px;line-height:1.78}
.service-list span{font-size:12px;font-weight:620}
.proof-item b,.pipe small,.pipe b,.step-num,.step h3,.output b,.mini-panel small,.tag,.email-pill{font-weight:720}
.proof-item b{font-size:14.5px}
.pipe b{font-size:14.5px}
.step h3{font-size:17.5px;letter-spacing:-.03em}
.step p{font-size:13.7px;line-height:1.78}
.output b{font-size:15px}
.output span{font-size:13.2px;line-height:1.72}
.usecase-card h3{font-size:22px;line-height:1.42;font-weight:760;letter-spacing:-.035em}
.usecase-card p{font-size:14.5px;line-height:1.86}
.cta-box h2{max-width:760px}

html[lang="ja"] body{letter-spacing:-.006em;line-height:1.78}
html[lang="ja"] h1{font-size:43px;line-height:1.34;letter-spacing:-.026em;font-weight:720;max-width:710px}
html[lang="ja"] .hero-desc{font-size:15.8px;line-height:2.0;max-width:610px;font-weight:420}
html[lang="ja"] h2{font-size:30px;line-height:1.58;letter-spacing:-.018em;font-weight:720;max-width:780px}
html[lang="ja"] .lead{font-size:15px;line-height:2.0}
html[lang="ja"] .service-card h3{font-size:17px;line-height:1.58;font-weight:700;letter-spacing:-.012em}
html[lang="ja"] .service-card p,
html[lang="ja"] .step p,
html[lang="ja"] .output span,
html[lang="ja"] .usecase-card p{line-height:1.95}
html[lang="ja"] .step h3{font-size:16.8px;font-weight:700;letter-spacing:-.01em}
html[lang="ja"] .usecase-card h3{font-size:21px;line-height:1.55;font-weight:720}

@media(max-width:1080px){
  h1{font-size:46px;max-width:760px}
  h2{font-size:33px}
  html[lang="ja"] h1{font-size:39px}
  html[lang="ja"] h2{font-size:28px}
}
@media(max-width:760px){
  .hero{padding:58px 0 48px;gap:34px}
  h1{font-size:33px;line-height:1.32;letter-spacing:-.043em;margin-left:auto;margin-right:auto;max-width:340px}
  .hero-desc{font-size:14.8px;line-height:1.9;max-width:330px}
  h2{font-size:25.5px;line-height:1.52;letter-spacing:-.035em}
  .lead{font-size:14.4px;line-height:1.88}
  .service-card h3{font-size:17px}
  .usecase-card h3{font-size:20px}
  .cta-box h2{font-size:24.5px}
  html[lang="ja"] h1{font-size:27px;line-height:1.58;letter-spacing:-.016em;max-width:335px}
  html[lang="ja"] .hero-desc{font-size:14.2px;line-height:2.0;max-width:330px}
  html[lang="ja"] h2{font-size:22px;line-height:1.72;letter-spacing:-.012em}
  html[lang="ja"] .lead{font-size:14px;line-height:2.0}
}
@media(max-width:390px){
  h1{font-size:30px;max-width:310px}
  h2{font-size:23.5px}
  html[lang="ja"] h1{font-size:25px;max-width:310px}
  html[lang="ja"] h2{font-size:21px}
}


/* v10 KR hero + output layout refinement */
html[lang="ko"] .hero-title-kr{
  max-width:620px;
  font-size:42px;
  line-height:1.24;
  letter-spacing:-.045em;
  font-weight:720;
  word-break:keep-all;
  text-wrap:initial;
}
html[lang="ko"] .hero-title-kr span{
  display:block;
  white-space:nowrap;
}
html[lang="ko"] .hero-title-kr em{
  color:var(--pink);
  font-style:normal;
  font-weight:720;
  text-decoration:underline;
  text-decoration-color:rgba(212,107,165,.20);
  text-decoration-thickness:.14em;
  text-underline-offset:.12em;
}
.output-section{
  padding-top:72px;
}
.output-section .section-head{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.output-grid-bottom{
  max-width:960px;
  margin:34px auto 0;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.output-grid-bottom .output{
  display:grid;
  gap:14px;
  align-content:start;
  min-height:172px;
}
.output-grid-bottom .output-icon{
  width:42px;
  height:42px;
}
@media(max-width:1080px){
  html[lang="ko"] .hero-title-kr{font-size:38px;max-width:560px}
  .output-grid-bottom{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
}
@media(max-width:760px){
  html[lang="ko"] .hero-title-kr{
    font-size:25px;
    line-height:1.42;
    letter-spacing:-.038em;
    max-width:330px;
  }
  .output-section{padding-top:56px}
  .output-grid-bottom{grid-template-columns:1fr;margin-top:26px;max-width:430px}
  .output-grid-bottom .output{min-height:auto;display:flex}
}
@media(max-width:390px){
  html[lang="ko"] .hero-title-kr{font-size:22px;max-width:300px}
}


/* v12 content clarity: example copy cards + delivery format separation */
.copy-panel{display:flex;flex-direction:column;gap:10px;min-height:188px}
.copy-panel .copy-line{display:none}
.sample-label{width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid rgba(234,221,208,.9);color:var(--muted);font-size:11px;font-weight:680;letter-spacing:-.01em}
.sample-copy{margin:0;color:var(--ink);font-size:14px;line-height:1.72;font-weight:620;letter-spacing:-.025em;word-break:keep-all}
.sample-copy.jp-text{font-family:"Noto Sans JP","Noto Sans KR",sans-serif;font-size:13.2px;line-height:1.82;letter-spacing:-.006em;font-weight:560}
.copy-panel.local .sample-label{background:var(--pink-soft);border-color:rgba(212,107,165,.16);color:var(--pink)}
.copy-panel.local .sample-copy{color:var(--ink)}
.output-section .section-kicker{background:var(--dusty-soft);border-color:rgba(127,182,214,.22);color:#5A8BA8}
.output-section h2{max-width:720px}
.output-section .lead{max-width:700px;margin-left:auto;margin-right:auto}
@media(max-width:760px){
  .sample-copy{font-size:13.2px;line-height:1.72}
  .sample-copy.jp-text{font-size:12.6px;line-height:1.78}
  .copy-panel{min-height:auto}
}

/* v13 layout refinement: vertical example card + detailed 2x2 delivery cards */
.localization-example{
  padding:22px;
}
.stack-flow{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
}
.copy-panel-wide{
  width:100%;
  min-height:auto;
  padding:22px 24px;
  border-radius:24px;
}
.copy-panel-wide .panel-title{
  margin-bottom:14px;
}
.copy-panel-wide .panel-title b{
  font-size:18px;
}
.copy-panel-wide .panel-title span{
  font-size:12px;
}
.copy-panel-wide .sample-label{
  margin-bottom:4px;
}
.copy-panel-wide .sample-copy{
  font-size:17px;
  line-height:1.72;
  font-weight:620;
  word-break:keep-all;
}
.copy-panel-wide .sample-copy.jp-text{
  font-size:16.2px;
  line-height:1.82;
  font-weight:560;
}
.copy-panel-wide .copy-tag{
  margin-top:12px;
}
.arrow-down{
  width:36px;
  height:36px;
  margin:0 auto;
  font-size:18px;
}
.localization-example .insight-card,
.localization-example .score-cards,
.insight-card,
.score-cards{
  display:none!important;
}
.output-grid-detail{
  max-width:960px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.output-grid-detail .output-detail{
  min-height:206px;
  display:flex;
  align-items:flex-start;
  padding:22px;
  border-radius:24px;
}
.output-detail b{
  font-size:16px;
  line-height:1.35;
}
.output-detail span{
  margin-top:7px;
  font-size:13.5px;
  line-height:1.72;
}
.output-examples{
  display:grid;
  gap:7px;
  margin:15px 0 0;
  padding:0;
  list-style:none;
}
.output-examples li{
  position:relative;
  padding-left:14px;
  color:var(--muted);
  font-size:12.8px;
  line-height:1.55;
  font-weight:560;
}
.output-examples li:before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:5px;
  height:5px;
  border-radius:999px;
  background:var(--pink);
}
.output-detail:nth-child(2) .output-examples li:before{background:var(--clay)}
.output-detail:nth-child(3) .output-examples li:before{background:var(--dusty)}
.output-detail:nth-child(4) .output-examples li:before{background:var(--mauve)}
html[lang="ja"] .copy-panel-wide .sample-copy{
  font-size:15.6px;
  line-height:1.9;
  font-weight:500;
}
html[lang="ja"] .copy-panel-wide .sample-copy.jp-text{
  font-size:15.4px;
  line-height:1.9;
}
html[lang="ja"] .output-detail span{
  font-size:13.2px;
  line-height:1.85;
}
html[lang="ja"] .output-examples li{
  font-size:12.5px;
  line-height:1.7;
}
@media(max-width:760px){
  .localization-example{padding:16px}
  .copy-panel-wide{padding:18px;border-radius:21px}
  .copy-panel-wide .panel-title b{font-size:16px}
  .copy-panel-wide .sample-copy{font-size:14.5px;line-height:1.78}
  .copy-panel-wide .sample-copy.jp-text{font-size:13.6px;line-height:1.86}
  .output-grid-detail{grid-template-columns:1fr;max-width:430px;margin-top:26px}
  .output-grid-detail .output-detail{min-height:auto;padding:20px}
}


/* v14 cleanup: merge Delivery Format into What We Localize, calm example typography, fix decorative shape layer */
.copy-panel-wide .sample-copy{
  font-size:14.6px;
  line-height:1.78;
  font-weight:560;
  letter-spacing:-.018em;
}
.copy-panel-wide .sample-copy.jp-text{
  font-size:14.2px;
  line-height:1.9;
  font-weight:500;
  letter-spacing:-.004em;
}
.sample-translation{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
  font-weight:500;
  letter-spacing:-.02em;
}
.copy-panel-wide.local{
  gap:8px;
}
.copy-panel-wide .copy-tag{
  width:max-content;
}
.service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.service-card{
  min-height:auto;
}
.service-deliverables{
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.service-deliverables span{
  line-height:1.55;
  color:var(--sub);
}
.usecase-card:after{
  z-index:0;
  pointer-events:none;
}
.usecase-card h3,
.usecase-card p,
.usecase-card .tags{
  position:relative;
  z-index:1;
}
@media(max-width:1080px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .service-grid{grid-template-columns:1fr;}
  .copy-panel-wide .sample-copy{font-size:13.4px;line-height:1.78;}
  .copy-panel-wide .sample-copy.jp-text{font-size:13.1px;line-height:1.86;}
  .sample-translation{font-size:11.5px;line-height:1.65;}
}


/* v15: simplify What We Localize into a single-column service list */
.service-list-layout{
  max-width:900px;
  margin:34px auto 0;
  grid-template-columns:1fr !important;
  gap:12px;
}
.service-list-layout .service-card{
  display:grid;
  grid-template-columns:54px 1fr;
  column-gap:18px;
  align-items:center;
  min-height:auto;
  padding:20px 22px;
  border-radius:22px;
  border-top-width:1px !important;
  box-shadow:0 12px 30px rgba(43,33,32,.045);
}
.service-list-layout .service-card:hover{
  transform:none;
  box-shadow:0 14px 34px rgba(43,33,32,.06);
}
.service-list-layout .service-no{
  grid-row:1 / span 2;
  margin:0;
  width:44px;
  height:44px;
  border-radius:15px;
  font-size:13px;
}
.service-list-layout .service-card h3{
  margin:0;
  font-size:18px;
  line-height:1.4;
  font-weight:720;
}
.service-list-layout .service-card p{
  margin:5px 0 0;
  font-size:13.8px;
  line-height:1.72;
  color:var(--sub);
}
.service-list-layout .service-deliverables,
.service-list-layout .service-list{
  display:none !important;
}
html[lang="ja"] .service-list-layout .service-card h3{
  font-size:16.6px;
  line-height:1.55;
  font-weight:680;
}
html[lang="ja"] .service-list-layout .service-card p{
  font-size:13.2px;
  line-height:1.85;
}
@media(max-width:760px){
  .service-list-layout{margin-top:26px;gap:11px;}
  .service-list-layout .service-card{
    grid-template-columns:42px 1fr;
    column-gap:13px;
    padding:18px;
    border-radius:20px;
  }
  .service-list-layout .service-no{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:12px;
  }
  .service-list-layout .service-card h3{font-size:16.5px;}
  .service-list-layout .service-card p{font-size:13.2px;line-height:1.75;}
}

/* v16: subtle motion system */
@media (prefers-reduced-motion: no-preference){
  body.has-motion .reveal{
    opacity:0;
    transform:translateY(22px);
    filter:blur(2px);
    transition:
      opacity .72s cubic-bezier(.2,.75,.2,1),
      transform .72s cubic-bezier(.2,.75,.2,1),
      filter .72s cubic-bezier(.2,.75,.2,1);
    transition-delay:var(--reveal-delay,0ms);
    will-change:opacity,transform,filter;
  }
  body.has-motion .reveal.is-visible{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
  body.has-motion .hero-copy .reveal{
    transform:translateY(16px);
  }
  body.has-motion .visual-card.reveal{
    transform:translateY(20px) scale(.985);
  }
  body.has-motion .visual-card.reveal.is-visible{
    transform:translateY(0) scale(1);
  }
  body.has-motion .flow-arrow.is-visible{
    animation:softArrow 1.75s ease-in-out .45s 2;
  }
  @keyframes softArrow{
    0%,100%{transform:translateY(0)}
    45%{transform:translateY(5px)}
  }
  .btn,
  .nav-cta,
  .lang a,
  .logo-badge,
  .service-card,
  .step,
  .proof-item,
  .pipe,
  .usecase-card,
  .copy-panel,
  .cta-box{
    transition:
      transform .22s ease,
      box-shadow .22s ease,
      border-color .22s ease,
      background-color .22s ease,
      color .22s ease;
  }
  .btn:hover,
  .nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(212,107,165,.16);
  }
  .service-list-layout .service-card:hover,
  .step:hover,
  .proof-item:hover,
  .pipe:hover,
  .usecase-card:hover,
  .copy-panel:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(43,33,32,.075);
  }
  .logo:hover .logo-badge{
    transform:translateY(-1px) rotate(-2deg);
  }
  .copy-panel.local.is-visible{
    animation:softBorder 1.1s ease .35s both;
  }
  @keyframes softBorder{
    0%{box-shadow:0 0 0 0 rgba(212,107,165,.0)}
    35%{box-shadow:0 0 0 6px rgba(212,107,165,.08)}
    100%{box-shadow:0 12px 34px rgba(43,33,32,.055)}
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}


/* v17 detailed use cases */
.usecase.usecase-detailed{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:18px;
}
.usecase-detailed .usecase-card{
  padding:28px;
  min-height:285px;
}
.usecase-detailed .usecase-card h3{
  max-width:86%;
  margin-bottom:18px;
}
.case-lines{
  position:relative;
  z-index:2;
  display:grid;
  gap:10px;
}
.case-lines div{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid rgba(234,221,208,.9);
}
.case-lines div:first-child{border-top:0;padding-top:0}
.case-lines b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--pink-soft);
  color:var(--mauve);
  font-size:12px;
  font-weight:760;
  letter-spacing:-.015em;
}
.case-lines span{
  color:var(--sub);
  font-size:14.2px;
  line-height:1.72;
  letter-spacing:-.025em;
}
.usecase-detailed .usecase-card:nth-child(2) .case-lines b{background:var(--clay-soft);color:var(--clay)}
.usecase-detailed .usecase-card:nth-child(3) .case-lines b{background:var(--dusty-soft);color:var(--dusty)}
.usecase-detailed .usecase-card:nth-child(4) .case-lines b{background:var(--mauve-soft);color:var(--mauve)}
html[lang="ja"] .case-lines div{grid-template-columns:58px 1fr}
html[lang="ja"] .case-lines span{font-size:13.7px;line-height:1.85}
html[lang="ja"] .case-lines b{font-weight:700}
@media(max-width:760px){
  .usecase.usecase-detailed{grid-template-columns:1fr;gap:14px}
  .usecase-detailed .usecase-card{padding:22px;min-height:auto}
  .usecase-detailed .usecase-card h3{max-width:100%;margin-bottom:15px}
  .case-lines div{grid-template-columns:58px 1fr;gap:10px;padding:10px 0}
  .case-lines span{font-size:13.8px;line-height:1.72}
}


/* v18 shape refresh: simpler cards with clearer accents */
.service-list-layout .service-card,
.step,
.proof-item,
.pipe,
.usecase-detailed .usecase-card,
.copy-panel-wide,
.cta-box{
  background:#fff;
}

/* What we localize */
.service-list-layout .service-card{
  position:relative;
  grid-template-columns:56px 1fr;
  column-gap:16px;
  padding:18px 20px 18px 18px;
  border-radius:24px;
  border:1px solid rgba(234,221,208,.95);
  box-shadow:0 12px 26px rgba(43,33,32,.04);
  overflow:hidden;
}
.service-list-layout .service-card::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--pink);
}
.service-list-layout .service-card:nth-child(2)::before{background:var(--clay)}
.service-list-layout .service-card:nth-child(3)::before{background:var(--dusty)}
.service-list-layout .service-card:nth-child(4)::before{background:var(--mauve)}
.service-list-layout .service-card:nth-child(5)::before{background:var(--rose)}
.service-list-layout .service-no{
  position:relative;
  width:46px;
  height:46px;
  border-radius:16px;
  font-size:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.service-list-layout .service-no::before{
  font-size:21px;
  line-height:1;
}
.service-list-layout .service-no::after{
  position:absolute;
  right:-6px;
  bottom:-6px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(234,221,208,.95);
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}
.service-list-layout .service-card:nth-child(1) .service-no::before{content:"📣"}
.service-list-layout .service-card:nth-child(2) .service-no::before{content:"🖥️"}
.service-list-layout .service-card:nth-child(3) .service-no::before{content:"💬"}
.service-list-layout .service-card:nth-child(4) .service-no::before{content:"📄"}
.service-list-layout .service-card:nth-child(5) .service-no::before{content:"🔎"}
.service-list-layout .service-card:nth-child(1) .service-no::after{content:"01"}
.service-list-layout .service-card:nth-child(2) .service-no::after{content:"02"}
.service-list-layout .service-card:nth-child(3) .service-no::after{content:"03"}
.service-list-layout .service-card:nth-child(4) .service-no::after{content:"04"}
.service-list-layout .service-card:nth-child(5) .service-no::after{content:"05"}
.service-list-layout .service-card h3{
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.service-list-layout .service-card h3::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg, rgba(234,221,208,.8), rgba(234,221,208,0));
}

/* Why Yurev */
.pipe{
  position:relative;
  padding:15px 16px 15px 52px;
  border:1px solid rgba(234,221,208,.95);
  border-radius:18px;
  background:#fff;
}
.pipe::before{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:24px;
  height:24px;
  transform:translateY(-50%);
  border-radius:9px;
  background:var(--pink-soft);
}
.pipe::after{
  position:absolute;
  left:21px;
  top:50%;
  transform:translateY(-50%);
  font-size:13px;
}
.pipe:nth-child(1)::before{background:var(--pink-soft)}
.pipe:nth-child(2)::before{background:var(--clay-soft)}
.pipe:nth-child(3)::before{background:var(--dusty-soft)}
.pipe:nth-child(1)::after{content:"①"; color:var(--pink)}
.pipe:nth-child(2)::after{content:"②"; color:var(--clay)}
.pipe:nth-child(3)::after{content:"③"; color:var(--dusty)}
.proof-item{
  position:relative;
  padding:18px 18px 18px 52px;
  border:1px solid rgba(234,221,208,.95);
  border-radius:20px;
}
.proof-item::before{
  content:"✦";
  position:absolute;
  left:18px;
  top:20px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:var(--pink-soft);
  color:var(--pink);
  font-size:12px;
  font-weight:800;
}
.proof-item:nth-child(2)::before{background:var(--clay-soft); color:var(--clay)}
.proof-item:nth-child(3)::before{background:var(--dusty-soft); color:var(--dusty)}

/* How it works */
.step{
  border-radius:24px;
  padding:22px 22px 20px;
  border:1px solid rgba(234,221,208,.95);
  box-shadow:0 12px 26px rgba(43,33,32,.04);
}
.step::before{display:none}
.step-num{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:var(--pink-soft);
  color:var(--pink);
  margin-bottom:14px;
}
.step-num::before{font-size:13px}
.step:nth-child(1) .step-num::before{content:"🗂️"}
.step:nth-child(2) .step-num{background:var(--clay-soft); color:var(--clay)}
.step:nth-child(2) .step-num::before{content:"🧭"}
.step:nth-child(3) .step-num{background:var(--dusty-soft); color:var(--dusty)}
.step:nth-child(3) .step-num::before{content:"✅"}
.step:nth-child(4) .step-num{background:var(--mauve-soft); color:var(--mauve)}
.step:nth-child(4) .step-num::before{content:"📦"}

/* Localization example */
.copy-panel-wide{
  position:relative;
  border:1px solid rgba(234,221,208,.95);
  border-radius:24px;
  padding:22px 24px;
  box-shadow:0 12px 26px rgba(43,33,32,.04);
}
.copy-panel-wide::after{
  position:absolute;
  top:18px;
  right:18px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  font-size:16px;
}
.copy-panel-wide.original::after{background:var(--clay-soft)}
.copy-panel-wide.local::after{background:var(--pink-soft)}
html[lang="ko"] .copy-panel-wide.original::after{content:"🇰🇷"}
html[lang="ko"] .copy-panel-wide.local::after{content:"🇯🇵"}
html[lang="ja"] .copy-panel-wide.original::after{content:"🇯🇵"}
html[lang="ja"] .copy-panel-wide.local::after{content:"🇰🇷"}
.copy-panel-wide .panel-title{padding-right:42px}
.arrow-down{
  width:38px;
  height:38px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(234,221,208,.95);
  box-shadow:0 8px 18px rgba(43,33,32,.04);
}

/* Use cases */
.usecase-detailed .usecase-card{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-radius:26px;
  border:1px solid rgba(234,221,208,.95);
  box-shadow:0 14px 32px rgba(43,33,32,.045);
}
.usecase-detailed .usecase-card::after{display:none}
.usecase-detailed .usecase-card::before{
  position:absolute;
  right:22px;
  top:22px;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-size:18px;
  z-index:1;
}
.usecase-detailed .usecase-card:nth-child(1)::before{content:"🚀"; background:var(--pink-soft)}
.usecase-detailed .usecase-card:nth-child(2)::before{content:"📉"; background:var(--clay-soft)}
.usecase-detailed .usecase-card:nth-child(3)::before{content:"🖱️"; background:var(--dusty-soft)}
.usecase-detailed .usecase-card:nth-child(4)::before{content:"🤝"; background:var(--mauve-soft)}
.usecase-detailed .usecase-card h3{max-width:80%; margin-bottom:16px}
.case-lines div{
  grid-template-columns:68px 1fr;
  gap:10px;
  padding:11px 0;
}
.case-lines b{
  min-height:26px;
  padding:4px 8px;
  border-radius:10px;
}

/* Contact */
.cta-box{
  border-radius:32px;
}
.cta-box::before{
  width:180px;
  height:180px;
  opacity:.08;
}

@media(max-width:760px){
  .service-list-layout .service-card{
    grid-template-columns:48px 1fr;
    padding:16px 16px 16px 14px;
  }
  .service-list-layout .service-no{width:40px;height:40px;border-radius:14px}
  .service-list-layout .service-no::before{font-size:18px}
  .service-list-layout .service-no::after{right:-5px;bottom:-5px}
  .service-list-layout .service-card h3::after{display:none}
  .pipe{padding:14px 14px 14px 48px}
  .proof-item{padding:16px 16px 16px 46px}
  .copy-panel-wide::after,
  .usecase-detailed .usecase-card::before{width:34px;height:34px;font-size:15px}
  .usecase-detailed .usecase-card h3{max-width:100%; padding-right:38px}
  .case-lines div{grid-template-columns:58px 1fr}
}


/* v19: revert What We Localize / Why Yurev to v17 feel and remove non-click hover shading */

/* Restore WHAT WE LOCALIZE to clean v17 numeric-card layout */
.service-list-layout .service-card{
  position:relative;
  display:grid;
  grid-template-columns:54px 1fr;
  column-gap:18px;
  align-items:center;
  min-height:auto;
  padding:20px 22px;
  border-radius:22px;
  border:1px solid var(--line);
  border-top-width:1px !important;
  background:#fff;
  box-shadow:0 12px 30px rgba(43,33,32,.045);
  overflow:visible;
}
.service-list-layout .service-card::before,
.service-list-layout .service-card h3::after{
  display:none !important;
  content:none !important;
}
.service-list-layout .service-no{
  grid-row:1 / span 2;
  margin:0;
  width:44px;
  height:44px;
  border-radius:15px;
  font-size:13px;
  font-weight:760;
  box-shadow:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.service-list-layout .service-no::before,
.service-list-layout .service-no::after{
  display:none !important;
  content:none !important;
}
.service-list-layout .service-card h3{
  margin:0;
  display:block;
  font-size:18px;
  line-height:1.4;
  font-weight:720;
}
.service-list-layout .service-card p{
  margin:5px 0 0;
  font-size:13.8px;
  line-height:1.72;
  color:var(--sub);
}
.service-list-layout .service-card:nth-child(1) .service-no{background:var(--pink-soft);border-color:rgba(212,107,165,.18);color:var(--pink)}
.service-list-layout .service-card:nth-child(2) .service-no{background:var(--clay-soft);border-color:rgba(184,132,104,.22);color:var(--clay)}
.service-list-layout .service-card:nth-child(3) .service-no{background:var(--dusty-soft);border-color:rgba(127,182,214,.24);color:var(--dusty)}
.service-list-layout .service-card:nth-child(4) .service-no{background:var(--mauve-soft);border-color:rgba(143,98,117,.22);color:var(--mauve)}
.service-list-layout .service-card:nth-child(5) .service-no{background:var(--rose-soft);border-color:rgba(232,162,184,.28);color:var(--mauve)}

/* Restore WHY YUREV to v17 text-first layout */
.pipe{
  position:relative;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:none;
}
.pipe::before,
.pipe::after{
  display:none !important;
  content:none !important;
}
.pipe small{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
}
.pipe b{
  display:block;
  color:var(--ink);
}
.proof-item{
  position:relative;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:none;
}
.proof-item::before{
  display:none !important;
  content:none !important;
}
.proof-item b{
  display:block;
  margin-bottom:7px;
}
.proof-item span{
  display:block;
}

/* Remove hover shading / lift from non-clickable information areas */
.service-list-layout .service-card,
.step,
.proof-item,
.pipe,
.usecase-card,
.copy-panel,
.copy-panel-wide,
.cta-box{
  transition:none !important;
}
.service-list-layout .service-card:hover,
.step:hover,
.proof-item:hover,
.pipe:hover,
.usecase-card:hover,
.copy-panel:hover,
.copy-panel-wide:hover,
.cta-box:hover{
  transform:none !important;
  box-shadow:inherit !important;
  border-color:var(--line) !important;
}
.cta-box:hover{
  background-color:var(--warm) !important;
}

/* Keep real clickable controls feeling interactive */
.btn,
.nav-cta,
.lang a,
.logo-badge{
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}

@media(max-width:760px){
  .service-list-layout .service-card{
    grid-template-columns:42px 1fr;
    column-gap:13px;
    padding:18px;
    border-radius:20px;
  }
  .service-list-layout .service-no{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:12px;
  }
}


/* v20: compact hero localization example card */
.hero .visual-card{
  width:100%;
  max-width:520px;
  justify-self:end;
  padding:12px;
  border-radius:28px;
  box-shadow:0 18px 48px rgba(43,33,32,.055);
}
.hero .console.localization-example{
  padding:15px 16px;
  border-radius:24px;
  box-shadow:0 8px 22px rgba(43,33,32,.035);
}
.localization-example .console-top{
  margin-bottom:12px;
}
.localization-example .dots{
  gap:7px;
}
.localization-example .dots span{
  width:8px;
  height:8px;
}
.localization-example .status-pill{
  padding:7px 12px;
  font-size:11.5px;
  font-weight:760;
}
.localization-example .stack-flow{
  gap:9px;
}
.localization-example .copy-panel-wide{
  padding:17px 18px;
  border-radius:20px;
  gap:7px;
}
.localization-example .copy-panel-wide::after{
  top:15px;
  right:15px;
  width:30px;
  height:30px;
  border-radius:11px;
  font-size:14px;
}
.localization-example .copy-panel-wide .panel-title{
  margin-bottom:10px;
  padding-right:38px;
}
.localization-example .copy-panel-wide .panel-title b{
  font-size:16px;
  line-height:1.2;
}
.localization-example .copy-panel-wide .panel-title span{
  font-size:11.2px;
}
.localization-example .sample-label{
  padding:4px 8px;
  font-size:10.5px;
}
.localization-example .copy-panel-wide .sample-copy{
  font-size:13px;
  line-height:1.68;
  font-weight:560;
}
.localization-example .copy-panel-wide .sample-copy.jp-text{
  font-size:12.9px;
  line-height:1.78;
  font-weight:500;
}
.localization-example .sample-translation{
  margin-top:4px;
  font-size:11.2px;
  line-height:1.58;
}
.localization-example .copy-panel-wide .copy-tag{
  margin-top:8px;
  padding:5px 8px;
  font-size:10.8px;
}
.localization-example .arrow-down{
  width:30px;
  height:30px;
  border-radius:12px;
  font-size:15px;
}

@media(max-width:1080px){
  .hero .visual-card{
    max-width:620px;
    justify-self:center;
  }
}
@media(max-width:760px){
  .hero .visual-card{
    max-width:100%;
    padding:10px;
    border-radius:24px;
  }
  .hero .console.localization-example{
    padding:13px;
    border-radius:21px;
  }
  .localization-example .copy-panel-wide{
    padding:15px;
    border-radius:18px;
  }
  .localization-example .copy-panel-wide::after{
    width:28px;
    height:28px;
    right:13px;
    top:13px;
  }
  .localization-example .copy-panel-wide .panel-title b{font-size:15px;}
  .localization-example .copy-panel-wide .sample-copy{font-size:12.5px;line-height:1.68;}
  .localization-example .copy-panel-wide .sample-copy.jp-text{font-size:12.2px;line-height:1.78;}
  .localization-example .sample-translation{font-size:10.8px;line-height:1.55;}
}

/* v23 brand logo system: safe lockup, no clipped Y */
.logo.logo-lockup{
  display:inline-flex;
  align-items:center;
  gap:0;
  min-width:174px;
}
.brand-full-logo{
  display:block;
  width:auto;
  height:38px;
  max-width:190px;
  object-fit:contain;
}
.logo.logo-lockup:hover .brand-full-logo{
  transform:none;
}
.logo-badge img,
.mini-logo img{
  object-fit:contain;
  object-position:center;
}
.logo-badge{
  overflow:visible;
}
@media(max-width:760px){
  .logo.logo-lockup{min-width:148px}
  .brand-full-logo{height:34px;max-width:162px}
}
@media(max-width:380px){
  .logo.logo-lockup{min-width:136px}
  .brand-full-logo{height:31px;max-width:150px}
}

/* v24 logo branding system */
:root{
  --canvas:#FFFDFC;
  --warm:#FAF6F3;
  --cream:#FFFAF7;
  --beige:#F3EAE4;
  --sand:#E9DBD2;
  --ink:#2F1D19;
  --sub:#5D4A45;
  --muted:#88756F;
  --line:#EADFD8;
  --line-strong:#DCCBC1;
  --pink:#DF5E87;
  --rose:#F3C3D2;
  --mauve:#A56A85;
  --clay:#B58B79;
  --dusty:#78B3D7;
  --pink-soft:#FDEDF3;
  --rose-soft:#FEF3F7;
  --mauve-soft:#F7EEF3;
  --clay-soft:#F8F0EB;
  --dusty-soft:#EDF7FD;
  --shadow:0 24px 70px rgba(47,29,25,.08);
  --soft-shadow:0 12px 34px rgba(47,29,25,.055);
}
.header{background:rgba(255,253,252,.92)}
.nav{height:76px}
.logo.logo-lockup{
  display:inline-flex;
  align-items:center;
  min-width:224px;
}
.brand-full-logo{
  display:block;
  width:auto;
  height:44px;
  max-width:252px;
  object-fit:contain;
  object-position:left center;
}
.logo-badge{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
}
.logo-badge img{width:34px;height:34px;object-fit:contain;object-position:center}
.mini-logo img{width:28px;height:28px;border-radius:0;object-fit:contain;object-position:center}
.navlinks a:after{background:var(--pink)}
.lang a.active{background:var(--ink)}
.nav-cta{background:var(--pink); box-shadow:0 10px 22px rgba(223,94,135,.18)}
.btn-primary{background:var(--pink); box-shadow:0 16px 34px rgba(223,94,135,.20)}
.btn-primary:hover{box-shadow:0 20px 42px rgba(223,94,135,.28)}
.point:nth-child(3){border-color:rgba(120,179,215,.24);color:var(--dusty);background:var(--dusty-soft)}
.status-pill,.copy-tag,.tag,.email-pill{background:#fff}
.dots span:nth-child(2){background:var(--dusty)}
.dots span:nth-child(3){background:var(--pink)}
.score:nth-child(3) strong{color:var(--dusty)}
@media(max-width:760px){
  .nav{height:70px}
  .logo.logo-lockup{min-width:170px}
  .brand-full-logo{height:34px;max-width:196px}
}
@media(max-width:380px){
  .logo.logo-lockup{min-width:150px}
  .brand-full-logo{height:30px;max-width:176px}
}


/* v27 nav hover underline color */
.navlinks a:after{background:var(--pink)!important;}

/* v28 contact mail template */
.mail-template-card{
  width:min(720px,100%);
  margin:24px auto 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 30px rgba(47,29,25,.045);
  text-align:left;
}
.mail-template-card b{
  display:block;
  color:var(--ink);
  font-size:15px;
  font-weight:850;
  letter-spacing:-.025em;
}
.mail-template-card p{
  margin:7px 0 0;
  color:var(--sub);
  font-size:13.5px;
  line-height:1.7;
}
.mail-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:15px;
}
.mail-fields span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(223,94,135,.18);
  background:var(--pink-soft);
  color:var(--pink);
  font-size:12px;
  font-weight:800;
  text-align:center;
  line-height:1.35;
}
.mail-fields span:nth-child(2n){
  border-color:rgba(120,179,215,.24);
  background:var(--dusty-soft);
  color:var(--dusty);
}
@media(max-width:760px){
  .mail-template-card{padding:18px;border-radius:22px;margin-top:22px}
  .mail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mail-fields span{font-size:11.5px;min-height:32px}
}


/* v31 mobile overflow fix: keep content inside viewport without changing desktop layout */
@media(max-width:760px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }
  .container,
  .hero,
  .hero-copy,
  .visual-card,
  .console,
  .localization-example,
  .stack-flow,
  .copy-panel,
  .copy-panel-wide{
    min-width:0;
  }
  .hero{
    width:100%;
    overflow:hidden;
  }
  .hero-copy{
    width:100%;
    max-width:100%;
  }
  .eyebrow{
    width:auto;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
    justify-content:center;
  }
  html[lang="ko"] .hero-title-kr{
    width:100%;
    max-width:min(330px,100%);
    margin-left:auto;
    margin-right:auto;
    overflow-wrap:keep-all;
  }
  html[lang="ko"] .hero-title-kr span{
    white-space:normal;
  }
  .hero-desc,
  .hero-note{
    max-width:100%;
    overflow-wrap:keep-all;
  }
  .hero .visual-card{
    width:100%;
    max-width:100%;
    justify-self:center;
    overflow:hidden;
  }
  .hero .console.localization-example{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .localization-example .console-top{
    min-width:0;
    gap:10px;
  }
  .localization-example .status-pill{
    max-width:calc(100% - 54px);
    white-space:normal;
    line-height:1.35;
    text-align:right;
  }
  .localization-example .copy-panel-wide{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .localization-example .copy-panel-wide .sample-copy,
  .localization-example .copy-panel-wide .sample-copy.jp-text,
  .localization-example .sample-translation{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .localization-example .copy-panel-wide .panel-title{
    min-width:0;
  }
  .localization-example .copy-panel-wide .panel-title b,
  .localization-example .copy-panel-wide .panel-title span{
    min-width:0;
    overflow-wrap:anywhere;
  }
}

/* v34 mobile hero minimal side padding */
@media(max-width:760px){
  .hero.container{
    width:calc(100% - 44px);
  }
}
@media(max-width:390px){
  .hero.container{
    width:calc(100% - 40px);
  }
}

/* v36 Japanese desktop line-break refinement: requested sections only */
@media(min-width:1081px){
  html[lang="ja"] .hero h1{
    font-size:40px;
    line-height:1.36;
    max-width:760px;
  }
}


/* v37 jp contact line width */
@media(min-width:761px){
  html[lang="ja"] .cta-box p{
    max-width:980px;
    white-space:nowrap;
  }
}


/* v40 mobile phrase-aware typography: KR/JP line-break refinement only */
@media(max-width:760px){
  html[lang="ko"] h1,
  html[lang="ko"] h2,
  html[lang="ko"] h3,
  html[lang="ko"] .lead,
  html[lang="ko"] .hero-desc,
  html[lang="ko"] .hero-note,
  html[lang="ko"] .service-card p,
  html[lang="ko"] .proof-item span,
  html[lang="ko"] .step p,
  html[lang="ko"] .case-lines span,
  html[lang="ko"] .cta-box p,
  html[lang="ko"] .sample-copy,
  html[lang="ko"] .sample-translation{
    word-break:keep-all;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
  html[lang="ko"] h1,
  html[lang="ko"] h2,
  html[lang="ko"] .cta-box h2,
  html[lang="ko"] .usecase-card h3{
    text-wrap:balance;
  }
  html[lang="ja"] h1,
  html[lang="ja"] h2,
  html[lang="ja"] h3,
  html[lang="ja"] .lead,
  html[lang="ja"] .hero-desc,
  html[lang="ja"] .hero-note,
  html[lang="ja"] .service-card p,
  html[lang="ja"] .proof-item span,
  html[lang="ja"] .step p,
  html[lang="ja"] .case-lines span,
  html[lang="ja"] .cta-box p,
  html[lang="ja"] .sample-copy,
  html[lang="ja"] .sample-translation{
    line-break:strict;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
  html[lang="ja"] h1,
  html[lang="ja"] h2,
  html[lang="ja"] h3,
  html[lang="ja"] .lead,
  html[lang="ja"] .cta-box p,
  html[lang="ja"] .case-lines span{
    word-break:keep-all;
  }
  html[lang="ja"] h1,
  html[lang="ja"] h2,
  html[lang="ja"] .cta-box h2,
  html[lang="ja"] .usecase-card h3{
    text-wrap:balance;
  }
  @supports (word-break:auto-phrase){
    html[lang="ja"] h1,
    html[lang="ja"] h2,
    html[lang="ja"] h3,
    html[lang="ja"] .lead,
    html[lang="ja"] .hero-desc,
    html[lang="ja"] .hero-note,
    html[lang="ja"] .service-card p,
    html[lang="ja"] .proof-item span,
    html[lang="ja"] .step p,
    html[lang="ja"] .case-lines span,
    html[lang="ja"] .cta-box p,
    html[lang="ja"] .sample-copy,
    html[lang="ja"] .sample-translation{
      word-break:auto-phrase;
    }
  }
  html[lang="ja"] h2{
    font-size:clamp(20px,5.55vw,22px);
    line-height:1.66;
  }
  html[lang="ja"] .lead{
    font-size:clamp(13.2px,3.72vw,14px);
    line-height:1.96;
  }
  html[lang="ja"] .usecase-card h3{
    font-size:clamp(18.2px,5.05vw,20px);
    line-height:1.58;
  }
  html[lang="ja"] .case-lines span{
    font-size:clamp(12.8px,3.65vw,13.7px);
    line-height:1.82;
  }
  html[lang="ja"] .service-card p,
  html[lang="ja"] .step p,
  html[lang="ja"] .proof-item span{
    font-size:13.4px;
    line-height:1.86;
  }
}
@media(max-width:390px){
  html[lang="ja"] h1{font-size:24px;line-height:1.52;}
  html[lang="ja"] h2{font-size:20px;}
  html[lang="ko"] h2{font-size:23px;line-height:1.48;}
  html[lang="ko"] .lead{font-size:14px;line-height:1.82;}
}

/* v41: first use-case card title cleanup only */
.usecase-detailed .usecase-card:nth-child(1)::before{
  display:none!important;
  content:none!important;
}
.usecase-detailed .usecase-card:nth-child(1) h3{
  max-width:100%;
  padding-right:0;
}
@media(max-width:760px){
  html[lang="ko"] .usecase-detailed .usecase-card:nth-child(1) h3{
    white-space:nowrap;
    font-size:clamp(17px,5.05vw,19px);
    line-height:1.42;
    letter-spacing:-.055em;
  }
}


/* v42: remove all use-case decorative emojis and keep KR/JP updates aligned */
.usecase-detailed .usecase-card::before{
  display:none!important;
  content:none!important;
}
.usecase-detailed .usecase-card h3{
  max-width:100%;
  padding-right:0;
}
@media(max-width:760px){
  .usecase-detailed .usecase-card h3{
    padding-right:0!important;
  }
}

/* v45: add breathing room under use-case card titles */
.usecase-detailed .usecase-card h3{
  margin-bottom:26px;
}
@media(max-width:760px){
  .usecase-detailed .usecase-card h3{
    margin-bottom:20px;
  }
}


/* v46: localization example label cleanup and ad-copy typography alignment */
.localization-example .copy-panel-wide .sample-copy,
.localization-example .copy-panel-wide .sample-copy.jp-text{
  font-size:12.9px;
  line-height:1.78;
}
.localization-example .copy-panel-wide .sample-copy[lang="ko"]{
  font-family:"Noto Sans KR","Noto Sans JP",sans-serif;
}
.localization-example .copy-panel-wide .sample-copy[lang="ja"]{
  font-family:"Noto Sans JP","Noto Sans KR",sans-serif;
}
@media(max-width:760px){
  .localization-example .copy-panel-wide .sample-copy,
  .localization-example .copy-panel-wide .sample-copy.jp-text{
    font-size:12.2px;
    line-height:1.76;
  }
}

/* v47: align localization example typography across KR/JP pages */
.localization-example .status-pill{
  font-size:12.2px!important;
  line-height:1.35!important;
}
.localization-example .copy-panel-wide .panel-title b{
  font-size:16px!important;
  line-height:1.35!important;
}
.localization-example .copy-panel-wide .panel-title span{
  font-size:12px!important;
  line-height:1.35!important;
}
.localization-example .sample-label,
.localization-example .copy-panel-wide .copy-tag{
  font-size:11px!important;
  line-height:1.4!important;
}
.localization-example .copy-panel-wide .sample-copy,
.localization-example .copy-panel-wide .sample-copy.jp-text,
html[lang="ko"] .localization-example .copy-panel-wide .sample-copy,
html[lang="ko"] .localization-example .copy-panel-wide .sample-copy.jp-text,
html[lang="ja"] .localization-example .copy-panel-wide .sample-copy,
html[lang="ja"] .localization-example .copy-panel-wide .sample-copy.jp-text{
  font-size:14px!important;
  line-height:1.8!important;
  font-weight:620!important;
}
.localization-example .sample-translation,
html[lang="ko"] .localization-example .sample-translation,
html[lang="ja"] .localization-example .sample-translation{
  font-size:12.3px!important;
  line-height:1.72!important;
}
@media(max-width:760px){
  .localization-example .status-pill{
    font-size:11px!important;
  }
  .localization-example .copy-panel-wide .panel-title b{
    font-size:14.5px!important;
  }
  .localization-example .copy-panel-wide .panel-title span{
    font-size:10.8px!important;
  }
  .localization-example .sample-label,
  .localization-example .copy-panel-wide .copy-tag{
    font-size:10.3px!important;
  }
  .localization-example .copy-panel-wide .sample-copy,
  .localization-example .copy-panel-wide .sample-copy.jp-text,
  html[lang="ko"] .localization-example .copy-panel-wide .sample-copy,
  html[lang="ko"] .localization-example .copy-panel-wide .sample-copy.jp-text,
  html[lang="ja"] .localization-example .copy-panel-wide .sample-copy,
  html[lang="ja"] .localization-example .copy-panel-wide .sample-copy.jp-text{
    font-size:12.8px!important;
    line-height:1.74!important;
  }
  .localization-example .sample-translation,
  html[lang="ko"] .localization-example .sample-translation,
  html[lang="ja"] .localization-example .sample-translation{
    font-size:11px!important;
    line-height:1.62!important;
  }
}

/* v78 pricing redesign and popup close cleanup. Earlier approved site styles remain unchanged. */
.pricing-section{padding-top:76px}
.pricing-shell{
  max-width:1040px;
  margin:30px auto 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:34px;
  background:linear-gradient(145deg,var(--warm),#fff 58%,var(--cream));
  box-shadow:var(--soft-shadow);
}
.launch-price-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:82px;
  padding:17px 20px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
}
.launch-price-copy{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.launch-price-label{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:var(--pink-soft);
  border:1px solid rgba(212,107,165,.18);
  color:var(--mauve);
  font-size:11px;
  font-weight:720;
  letter-spacing:.035em;
}
.launch-price-copy strong{font-size:14px;font-weight:720;color:var(--ink)}
.launch-price-benefit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.price-plan-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.price-plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:438px;
  overflow:hidden;
  padding:26px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 34px rgba(63,50,44,.045);
  transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease;
}
.price-plan-card:hover{
  transform:translateY(-6px);
  border-color:rgba(212,107,165,.34);
  box-shadow:0 22px 50px rgba(63,50,44,.10);
}
body.has-motion .price-plan-card.reveal.is-visible:hover{transform:translateY(-6px)}
.price-plan-card.is-featured{
  border-color:rgba(212,107,165,.38);
  background:linear-gradient(180deg,#fff 0%,#fff 72%,rgba(252,239,244,.72) 100%);
}
.price-plan-card.is-featured:before{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--primary),var(--primary-2));
}
.price-plan-topline{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  margin-bottom:18px;
}
.price-plan-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:13px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
.price-plan-type,.price-plan-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:10.8px;
  font-weight:720;
  letter-spacing:.03em;
}
.price-plan-type{background:var(--cream);border:1px solid var(--line);color:var(--muted)}
.price-plan-badge{background:var(--pink-soft);border:1px solid rgba(212,107,165,.2);color:var(--pink)}
.price-plan-card h3{font-size:22px;line-height:1.42;font-weight:760;letter-spacing:-.035em}
.price-plan-summary{margin-top:10px;min-height:52px;color:var(--sub);font-size:14px;line-height:1.82}
.price-plan-price{
  margin-top:20px;
  padding:18px 19px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--warm);
}
.price-plan-price strong{display:block;font-size:29px;line-height:1.15;font-weight:760;letter-spacing:-.04em;color:var(--ink)}
.price-plan-price span{display:block;margin-top:7px;color:var(--muted);font-size:12.5px;font-weight:560;text-decoration:line-through;text-decoration-thickness:1px}
.price-plan-details{display:grid;margin-top:19px;border-top:1px solid var(--line-soft)}
.price-plan-details>div{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.price-plan-details b{font-size:12px;font-weight:720;color:var(--ink)}
.price-plan-details span{font-size:13px;line-height:1.65;color:var(--sub)}
.price-plan-note{max-width:880px;margin:18px auto 0;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.8}
body.launch-modal-open{overflow:hidden}
.launch-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(43,33,32,.42);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.launch-modal.is-open{opacity:1;visibility:visible}
.launch-modal-panel{position:relative;width:min(100%,500px);padding:32px 30px 22px;border:1px solid var(--line);border-radius:32px;background:var(--canvas);box-shadow:0 30px 90px rgba(43,33,32,.2)}
.launch-modal-panel:after{display:none!important;content:none!important}
.launch-modal-panel>*{position:relative;z-index:1}
.launch-modal-close{
  position:absolute;
  right:16px;
  top:16px;
  z-index:2;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,color .2s ease;
}
.launch-modal-close:hover{transform:rotate(90deg);border-color:var(--primary-2);color:var(--primary-dark)}
.launch-modal-kicker{display:inline-flex;align-items:center;width:max-content;max-width:calc(100% - 52px);padding:7px 11px;border-radius:999px;background:var(--pink-soft);border:1px solid rgba(212,107,165,.18);color:var(--mauve);font-size:11px;font-weight:720;letter-spacing:.035em}
.launch-modal-panel h3{margin-top:17px;font-size:30px;line-height:1.3;letter-spacing:-.045em;font-weight:760;color:var(--ink)}
.launch-modal-highlight{
  color:var(--pink);
  font-style:normal;
  font-weight:760;
  text-decoration:underline;
  text-decoration-color:rgba(212,107,165,.20);
  text-decoration-thickness:.14em;
  text-underline-offset:.12em;
  text-decoration-skip-ink:none;
}
.launch-modal-panel>p{margin-top:11px;color:var(--sub);font-size:14.5px;line-height:1.82}
.launch-modal-info{display:grid;gap:4px;margin-top:18px;padding:16px 17px;border:1px solid var(--line);border-radius:20px;background:var(--warm)}
.launch-modal-info strong{font-size:14px;font-weight:720;color:var(--pink)}
.launch-modal-info span{color:var(--sub);font-size:12.8px;line-height:1.65}
.launch-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}
.launch-modal-actions .btn{flex:1 1 180px}
.launch-modal-hide{display:block;margin:15px auto 0;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
html[lang="ja"] .price-plan-card h3{font-size:20px;line-height:1.55;letter-spacing:-.01em}
html[lang="ja"] .price-plan-summary,html[lang="ja"] .price-plan-details span{line-height:1.9}
html[lang="ja"] .launch-modal-panel h3{font-size:26px;line-height:1.55;letter-spacing:-.01em}
@media(prefers-reduced-motion:reduce){
  .price-plan-card,.launch-modal-close{transition:none!important}
  .price-plan-card:hover,.launch-modal-close:hover{transform:none!important}
}
@media(max-width:760px){
  .pricing-section{padding-top:58px}
  .pricing-shell{margin-top:24px;padding:12px;border-radius:28px}
  .launch-price-banner{align-items:flex-start;min-height:auto;padding:15px;border-radius:20px}
  .launch-price-copy{display:grid;gap:8px}
  .launch-price-benefit{font-size:11.5px}
  .price-plan-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .price-plan-card{min-height:0;padding:22px;border-radius:24px}
  .price-plan-summary{min-height:0}
  .price-plan-price strong{font-size:26px}
  .price-plan-details>div{grid-template-columns:70px 1fr;gap:10px}
  .launch-modal{align-items:flex-end;padding:14px}
  .launch-modal-panel{width:100%;padding:28px 20px 20px;border-radius:28px}
  .launch-modal-panel h3{font-size:25px}
  .launch-modal-actions .btn{width:100%;max-width:none}
  html[lang="ja"] .launch-modal-panel h3{font-size:23px}
}


/* v80 pricing plan structure and number contrast fixes. Existing site design remains unchanged. */
.price-plan-no{
  background:var(--ink)!important;
  color:#fff!important;
  border:1px solid var(--ink)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.pricing-scope-panel{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:14px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.82);
}
.pricing-scope-title{
  flex:0 0 auto;
  color:var(--ink);
  font-size:12.5px;
  font-weight:720;
}
.pricing-scope-list{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.pricing-scope-list span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--warm);
  color:var(--sub);
  font-size:11.5px;
  font-weight:620;
}
.price-plan-card{min-height:482px}
.price-plan-summary{min-height:78px}
.price-plan-details>div{grid-template-columns:82px 1fr}
.pricing-custom-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(135deg,var(--warm),#fff);
}
.pricing-custom-bar>div{display:grid;gap:4px}
.pricing-custom-bar strong{color:var(--ink);font-size:14px;font-weight:720}
.pricing-custom-bar span{color:var(--sub);font-size:12.8px;line-height:1.65}
.pricing-custom-bar .btn{min-height:42px;white-space:nowrap}
html[lang="ja"] .price-plan-summary{min-height:88px}
@media(max-width:760px){
  .pricing-scope-panel{align-items:flex-start;display:grid;gap:10px;padding:15px}
  .pricing-scope-list{gap:7px}
  .price-plan-card{min-height:0}
  .price-plan-summary,html[lang="ja"] .price-plan-summary{min-height:0}
  .price-plan-details>div{grid-template-columns:76px 1fr}
  .pricing-custom-bar{align-items:stretch;display:grid;padding:16px}
  .pricing-custom-bar .btn{width:100%;max-width:none}
}

/* v81 pricing palette refinement. Uses the approved Yurev pink, dusty blue, mauve and rose system. */
.pricing-shell{
  background:
    radial-gradient(circle at 8% 0%, rgba(223,94,135,.08), transparent 30%),
    radial-gradient(circle at 96% 8%, rgba(120,179,215,.10), transparent 28%),
    linear-gradient(145deg,#fff 0%,var(--cream) 100%);
}
.launch-price-banner{
  background:rgba(255,255,255,.94);
  border-color:var(--line);
}
.launch-price-benefit{
  background:var(--pink-soft);
  border:1px solid rgba(223,94,135,.22);
  color:var(--pink);
}
.pricing-scope-panel{
  background:linear-gradient(135deg,rgba(253,237,243,.72),rgba(237,247,253,.70));
  border-color:rgba(223,94,135,.16);
}
.pricing-scope-list span:nth-child(1){background:var(--pink-soft);border-color:rgba(223,94,135,.20);color:var(--pink)}
.pricing-scope-list span:nth-child(2){background:var(--dusty-soft);border-color:rgba(120,179,215,.24);color:#5E9ABD}
.pricing-scope-list span:nth-child(3){background:var(--mauve-soft);border-color:rgba(165,106,133,.20);color:var(--mauve)}
.pricing-scope-list span:nth-child(4){background:var(--rose-soft);border-color:rgba(243,195,210,.55);color:#B56883}
.pricing-scope-list span:nth-child(5){background:var(--cream);border-color:var(--line);color:var(--sub)}

.price-plan-card{
  --plan-accent:var(--pink);
  --plan-soft:var(--pink-soft);
  min-height:452px;
  border-color:var(--line);
  background:rgba(255,255,255,.96);
}
.price-plan-card:nth-child(1){--plan-accent:var(--pink);--plan-soft:var(--pink-soft)}
.price-plan-card:nth-child(2){--plan-accent:var(--dusty);--plan-soft:var(--dusty-soft)}
.price-plan-card:nth-child(3){--plan-accent:var(--mauve);--plan-soft:var(--mauve-soft)}
.price-plan-card:nth-child(4){--plan-accent:#C67998;--plan-soft:var(--rose-soft)}
.price-plan-card:after{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--plan-accent);
  opacity:.86;
}
.price-plan-card.is-featured{
  border-color:rgba(120,179,215,.34);
  background:linear-gradient(180deg,#fff 0%,#fff 76%,rgba(237,247,253,.72) 100%);
}
.price-plan-card.is-featured:before{display:none!important;content:none!important}
.price-plan-card:hover{
  border-color:color-mix(in srgb,var(--plan-accent) 38%, var(--line));
  box-shadow:0 22px 50px rgba(47,29,25,.09);
}
.price-plan-topline{margin-bottom:14px}
.price-plan-no{
  background:var(--plan-soft)!important;
  color:var(--plan-accent)!important;
  border:1px solid color-mix(in srgb,var(--plan-accent) 28%, transparent)!important;
  box-shadow:none!important;
}
.price-plan-type{
  background:var(--plan-soft);
  border-color:color-mix(in srgb,var(--plan-accent) 24%, transparent);
  color:var(--plan-accent);
}
.price-plan-badge{
  background:var(--pink-soft);
  border-color:rgba(223,94,135,.22);
  color:var(--pink);
}
.price-plan-card h3{color:var(--ink)}
.price-plan-summary{
  min-height:50px;
  margin-top:8px;
}
.price-plan-price{
  position:relative;
  overflow:hidden;
  margin-top:12px;
  padding:16px 18px;
  background:var(--plan-soft);
  border-color:color-mix(in srgb,var(--plan-accent) 22%, var(--line));
}
.price-plan-price:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--plan-accent);
}
.price-plan-price strong{color:var(--ink)}
.price-plan-price span{color:var(--muted)}
.price-plan-details{margin-top:16px}
.price-plan-details b{color:var(--plan-accent)}
.pricing-custom-bar{
  background:linear-gradient(135deg,var(--pink-soft),var(--dusty-soft));
  border-color:rgba(165,106,133,.16);
}
.pricing-custom-bar .btn-secondary{
  border-color:rgba(120,179,215,.30);
  background:#fff;
}
html[lang="ja"] .price-plan-summary{min-height:58px}

@media(max-width:760px){
  .price-plan-card{min-height:0}
  .price-plan-card:after{left:22px;right:22px}
  .price-plan-summary,html[lang="ja"] .price-plan-summary{min-height:0;margin-top:8px}
  .price-plan-price{margin-top:12px}
}


/* v82 pricing palette update. Adds a muted honey yellow that harmonizes with the existing pink, dusty blue, mauve and rose palette. */
.pricing-shell{
  background:
    radial-gradient(circle at 8% 0%, rgba(212,107,165,.08), transparent 30%),
    radial-gradient(circle at 96% 8%, rgba(127,182,214,.10), transparent 28%),
    radial-gradient(circle at 82% 100%, rgba(199,154,59,.10), transparent 30%),
    linear-gradient(145deg,#fff 0%,var(--cream) 100%);
}
.launch-price-benefit{
  background:var(--honey-soft);
  border-color:rgba(199,154,59,.28);
  color:var(--honey);
}
.pricing-scope-panel{
  background:linear-gradient(135deg,rgba(250,237,244,.72),rgba(238,247,252,.70) 58%,rgba(255,245,215,.64));
}
.pricing-scope-list span:nth-child(5){
  background:var(--honey-soft);
  border-color:rgba(199,154,59,.26);
  color:var(--honey);
}
.price-plan-card:nth-child(1){--plan-accent:var(--pink);--plan-soft:var(--pink-soft)}
.price-plan-card:nth-child(2){--plan-accent:var(--dusty);--plan-soft:var(--dusty-soft)}
.price-plan-card:nth-child(3){--plan-accent:var(--honey);--plan-soft:var(--honey-soft)}
.price-plan-card:nth-child(4){--plan-accent:var(--mauve);--plan-soft:var(--mauve-soft)}
.price-plan-card:nth-child(3){
  background:linear-gradient(180deg,#fff 0%,#fff 78%,var(--honey-pale) 100%);
}
.price-plan-summary{
  min-height:42px;
  margin-top:6px;
}
.price-plan-price{
  margin-top:9px;
}
.pricing-custom-bar{
  background:linear-gradient(135deg,var(--pink-soft) 0%,var(--dusty-soft) 55%,var(--honey-soft) 100%);
  border-color:rgba(199,154,59,.18);
}
.pricing-custom-bar .btn-secondary{
  border-color:rgba(199,154,59,.30);
}
html[lang="ja"] .price-plan-summary{min-height:50px}

@media(max-width:760px){
  .price-plan-summary,html[lang="ja"] .price-plan-summary{min-height:0;margin-top:6px}
  .price-plan-price{margin-top:9px}
}


/* v83 pricing simplification and tax display. Keeps the approved site palette while removing decorative price fills and gradients. */
.pricing-tax-summary{
  margin:10px auto 0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.65;
  text-align:center;
}
.pricing-shell{
  background:rgba(255,255,255,.82);
}
.pricing-scope-panel{
  background:#fff;
  border-color:var(--line);
  box-shadow:none;
}
.price-plan-card,
.price-plan-card.is-featured,
.price-plan-card:nth-child(3){
  background:#fff;
}
.price-plan-summary,
html[lang="ja"] .price-plan-summary{
  min-height:0;
  margin-top:7px;
}
.price-plan-price{
  display:block;
  overflow:visible;
  margin-top:9px;
  padding:0 0 15px;
  border:0;
  border-bottom:1px solid var(--line-soft);
  border-radius:0;
  background:transparent;
}
.price-plan-price:before{
  display:none!important;
  content:none!important;
}
.price-plan-price strong{
  display:block;
  color:var(--ink);
}
.price-plan-price span{
  display:block;
  margin-top:6px;
  color:var(--muted);
}
.price-plan-details{
  margin-top:14px;
}
.pricing-custom-bar{
  background:#fff;
  border-color:var(--line);
  box-shadow:none;
}
.pricing-custom-bar .btn-secondary{
  background:var(--canvas);
  border-color:var(--line);
}
@media(max-width:760px){
  .pricing-tax-summary{margin-top:8px;font-size:12px}
  .price-plan-summary,
  html[lang="ja"] .price-plan-summary{margin-top:6px}
  .price-plan-price{margin-top:8px;padding-bottom:13px}
  .price-plan-details{margin-top:13px}
}


/* v84 tax label placement: VAT/tax status sits beside the active price; only the former normal price is struck through. */
.price-main-row{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.price-plan-price .price-main-row strong{
  display:inline-block;
}
.price-plan-price .price-main-row .price-tax{
  display:inline-block;
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:620;
  line-height:1.4;
  text-decoration:none!important;
}
.price-plan-price .price-original{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12.5px;
  font-weight:560;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}
@media(max-width:760px){
  .price-main-row{gap:6px}
  .price-plan-price .price-main-row .price-tax{font-size:11.5px}
}


/* v85 footer refinement: logo, contact email, legal link and copyright only. */
.footer{
  border-top:1px solid var(--line);
  padding:0;
  background:var(--canvas);
  color:var(--muted);
  font-size:13px;
}
.footer-shell{
  padding-top:22px;
  padding-bottom:26px;
}
.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-brand{
  display:inline-flex;
  align-items:center;
  width:146px;
  flex:0 0 auto;
}
.footer-brand img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.footer-contact{
  display:grid;
  justify-items:end;
  gap:3px;
  text-align:right;
}
.footer-label{
  color:var(--mauve);
  font-size:10.5px;
  font-weight:720;
  letter-spacing:.08em;
}
.footer-contact a{
  color:var(--ink);
  font-size:14px;
  font-weight:650;
  transition:color .18s ease;
}
.footer-contact a:hover{
  color:var(--pink);
}
.footer-divider{
  height:1px;
  margin:18px 0 14px;
  background:var(--line);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px 22px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12.5px;
}
.footer-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.footer-meta a{
  color:var(--sub);
  font-weight:650;
}
.footer-meta a:hover{
  color:var(--pink);
}
@media(max-width:760px){
  .footer-shell{
    padding-top:20px;
    padding-bottom:24px;
  }
  .footer-main{
    align-items:flex-start;
    gap:16px;
  }
  .footer-brand{
    width:128px;
  }
  .footer-contact{
    justify-items:start;
    text-align:left;
  }
  .footer-divider{
    margin:16px 0 13px;
  }
  .footer-bottom,
  .footer-meta{
    display:grid;
    justify-content:start;
    gap:6px;
  }
}
@media(max-width:460px){
  .footer-main{
    display:grid;
  }
}


/* v87 August popup content refinement. Popup only; all other page styles remain unchanged. */
.launch-modal-offer{
  display:grid;
  gap:4px;
  margin-top:17px;
  padding:15px 17px;
  border:1px solid rgba(199,154,59,.28);
  border-radius:20px;
  background:var(--honey-pale);
}
.launch-modal-offer>span{
  color:var(--honey);
  font-size:10.5px;
  font-weight:760;
  letter-spacing:.08em;
}
.launch-modal-offer>strong{
  color:var(--ink);
  font-size:19px;
  line-height:1.35;
  font-weight:780;
  letter-spacing:-.025em;
}
.launch-modal-offer>small{
  color:var(--sub);
  font-size:11.8px;
  line-height:1.55;
  font-weight:580;
}
.launch-modal-info{
  gap:0;
  padding:0 17px;
  background:#fff;
}
.launch-modal-info>div{
  display:grid;
  gap:3px;
  padding:13px 0;
}
.launch-modal-info>div+div{border-top:1px solid var(--line-soft)}
.launch-modal-info>div strong{font-size:13.5px}
.launch-modal-info>div span{font-size:12.5px}
@media(max-width:760px){
  .launch-modal-offer{padding:14px 15px}
  .launch-modal-offer>strong{font-size:18px}
  .launch-modal-info{padding:0 15px}
}

/* v90 content and mobile fit refinement.
   Keeps the approved layout while improving Japanese wrapping, copy density and accent balance. */
.service-card:nth-child(5){border-top-color:var(--honey)}
.service-card:nth-child(5) .service-no{
  background:var(--honey-soft);
  border-color:rgba(199,154,59,.28);
  color:var(--honey);
}
.proof-item:nth-child(1){border-left:3px solid var(--pink)}
.proof-item:nth-child(2){border-left:3px solid var(--dusty)}
.proof-item:nth-child(3){border-left:3px solid var(--honey)}
.proof-item{padding-left:16px}
.price-plan-details>div{grid-template-columns:68px minmax(0,1fr)}
.price-plan-details span,
.price-plan-summary,
.pricing-custom-bar span,
.price-plan-note{max-width:100%}

@media(max-width:760px){
  .container,
  .section-head,
  .section-head h2,
  .section-head .lead,
  .service-card,
  .band,
  .proof-list,
  .proof-item,
  .step,
  .usecase-card,
  .case-lines,
  .case-lines>div,
  .case-lines span,
  .pricing-shell,
  .launch-price-banner,
  .launch-price-copy,
  .pricing-scope-panel,
  .pricing-scope-list,
  .price-plan-card,
  .price-plan-summary,
  .price-plan-price,
  .price-main-row,
  .price-plan-details,
  .price-plan-details>div,
  .price-plan-details span,
  .pricing-custom-bar,
  .cta-box{
    min-width:0;
    max-width:100%;
  }

  .section-head h2,
  .section-head .lead,
  .service-card h3,
  .service-card p,
  .proof-item b,
  .proof-item span,
  .step h3,
  .step p,
  .usecase-card h3,
  .case-lines span,
  .price-plan-card h3,
  .price-plan-summary,
  .price-plan-details span,
  .pricing-custom-bar strong,
  .pricing-custom-bar span,
  .price-plan-note,
  .cta-box h2,
  .cta-box p{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  html[lang="ja"] h1,
  html[lang="ja"] h2,
  html[lang="ja"] h3,
  html[lang="ja"] .lead,
  html[lang="ja"] .hero-desc,
  html[lang="ja"] .hero-note,
  html[lang="ja"] .service-card p,
  html[lang="ja"] .proof-item span,
  html[lang="ja"] .step p,
  html[lang="ja"] .case-lines span,
  html[lang="ja"] .price-plan-summary,
  html[lang="ja"] .price-plan-details span,
  html[lang="ja"] .pricing-custom-bar span,
  html[lang="ja"] .price-plan-note,
  html[lang="ja"] .cta-box p{
    word-break:normal!important;
    line-break:strict;
    overflow-wrap:anywhere!important;
  }

  .usecase-detailed .usecase-card{overflow:visible}
  .case-lines>div,
  html[lang="ja"] .case-lines>div{
    grid-template-columns:54px minmax(0,1fr);
    gap:10px;
  }
  .case-lines b{width:54px;min-width:54px}

  .launch-price-banner{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    justify-items:start;
    gap:10px;
  }
  .launch-price-copy{display:grid;gap:8px}
  .launch-price-copy strong{line-height:1.55}
  .launch-price-benefit{
    width:max-content;
    max-width:100%;
    white-space:normal;
  }

  .pricing-scope-panel{gap:9px}
  .pricing-scope-list span{white-space:normal;text-align:center}
  .price-plan-card{padding:21px}
  .price-plan-card h3{font-size:20px;line-height:1.45}
  html[lang="ja"] .price-plan-card h3{font-size:19px;line-height:1.55}
  .price-plan-details>div{grid-template-columns:58px minmax(0,1fr);gap:10px}
  .price-plan-details b{font-size:11.5px}
  .price-plan-details span{font-size:12.8px;line-height:1.7}
  .price-plan-note{padding:0 4px}

  .contact-actions{gap:9px}
  .contact-actions .btn{max-width:none}
}

@media(max-width:390px){
  html[lang="ja"] h1{font-size:23px;line-height:1.5}
  html[lang="ja"] h2{font-size:19.5px;line-height:1.55}
  html[lang="ja"] .lead{font-size:13.2px;line-height:1.8}
  html[lang="ja"] .usecase-card h3{font-size:18px;line-height:1.5}
  .price-plan-price .price-main-row strong{font-size:25px}
  .price-plan-price .price-main-row .price-tax{font-size:11px}
}

/* v91 fluid desktop canvas.
   Uses nearly the full browser width while keeping the approved mobile layout intact. */
@media (min-width:761px){
  .container{
    width:calc(100% - clamp(36px,4vw,88px));
    max-width:none;
    margin-left:auto;
    margin-right:auto;
  }

  .hero{
    grid-template-columns:minmax(0,1fr) minmax(440px,1fr);
    gap:clamp(34px,4vw,78px);
  }
  .hero-copy,
  .visual-card,
  .band>*,
  .split>*,
  .price-plan-card,
  .usecase-card{
    min-width:0;
  }
  .visual-card{max-width:none}

  .service-grid,
  .process,
  .usecase,
  .price-plan-grid,
  .output-grid-detail,
  .output-grid-bottom{
    column-gap:clamp(14px,1.25vw,26px);
    row-gap:clamp(14px,1.25vw,26px);
  }

  .band{
    padding:clamp(40px,3.6vw,68px);
    gap:clamp(30px,3.4vw,64px);
  }
  .service-card,
  .step,
  .usecase-detailed .usecase-card{
    padding:clamp(22px,1.65vw,30px);
  }

  .output-grid-bottom,
  .output-grid-detail,
  .pricing-shell{
    width:100%;
    max-width:none;
  }

  .pricing-shell{
    padding:clamp(18px,1.45vw,28px);
  }
  .launch-price-banner,
  .pricing-scope-panel,
  .pricing-custom-bar{
    padding-left:clamp(18px,1.45vw,28px);
    padding-right:clamp(18px,1.45vw,28px);
  }

  .cta-box{
    padding:clamp(48px,4.2vw,78px);
  }
}

@media (min-width:1081px){
  .hero{
    grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);
  }
  .hero .visual-card{
    width:100%;
  }
}

@media (min-width:1480px){
  .hero{
    grid-template-columns:minmax(560px,.88fr) minmax(680px,1.12fr);
  }
  .output-grid-detail{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .usecase.usecase-detailed{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .price-plan-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .output-grid-detail .output-detail,
  .usecase-detailed .usecase-card,
  .price-plan-card{
    height:100%;
  }
  .price-plan-card{
    min-height:0;
  }
  .price-plan-summary,
  html[lang="ja"] .price-plan-summary{
    min-height:3.6em;
  }
}

@media (min-width:1900px){
  .container{
    width:calc(100% - 96px);
  }
  .hero{
    gap:86px;
  }
  section{
    padding-top:88px;
    padding-bottom:88px;
  }
}

/* v92 balanced hero composition: preserve the current visual system while reducing the empty center gap. */
@media (min-width:1081px){
  .hero{
    width:calc(100% - clamp(48px,5vw,96px));
    max-width:1560px;
    grid-template-columns:minmax(540px,720px) minmax(500px,600px);
    justify-content:center;
    gap:clamp(44px,4vw,72px);
    padding-top:clamp(68px,5.2vw,88px);
    padding-bottom:clamp(58px,4.4vw,76px);
  }
  .hero-copy{
    width:100%;
    max-width:700px;
    justify-self:end;
  }
  .hero .visual-card{
    width:100%;
    max-width:600px;
    justify-self:start;
  }
  html[lang="ko"] .hero-title-kr{
    max-width:700px;
    font-size:clamp(44px,3.15vw,56px);
    line-height:1.18;
  }
  html[lang="ja"] .hero h1{
    max-width:710px;
    font-size:clamp(39px,2.75vw,48px);
    line-height:1.38;
  }
  .hero-desc,
  html[lang="ja"] .hero-desc{
    max-width:670px;
  }
}

@media (min-width:1800px){
  .hero{
    max-width:1600px;
    grid-template-columns:minmax(580px,740px) minmax(540px,620px);
    gap:72px;
  }
}


/* v93 Japanese typography and responsive wrapping refinement.
   Keeps the approved layout and color system while preventing awkward line breaks. */
@media (min-width:761px){
  html[lang="ja"] h1{
    font-size:clamp(36px,2.45vw,44px);
    line-height:1.42;
    letter-spacing:-.018em;
  }
  html[lang="ja"] h2{
    font-size:clamp(27px,1.9vw,30px);
    line-height:1.58;
  }
  html[lang="ja"] .hero-desc{
    font-size:15px;
    line-height:1.92;
  }
  html[lang="ja"] .lead{
    font-size:14.4px;
    line-height:1.9;
  }
  html[lang="ja"] .service-card h3,
  html[lang="ja"] .step h3{
    font-size:16.2px;
  }
  html[lang="ja"] .usecase-card h3{
    font-size:19.5px;
    line-height:1.52;
  }
  html[lang="ja"] .service-card p,
  html[lang="ja"] .step p,
  html[lang="ja"] .proof-item span,
  html[lang="ja"] .case-lines span,
  html[lang="ja"] .price-plan-summary,
  html[lang="ja"] .price-plan-details span{
    font-size:13.2px;
    line-height:1.82;
  }
}

@media (max-width:760px){
  html[lang="ja"] .desktop-break{display:none}

  html[lang="ja"] h1,
  html[lang="ja"] h2,
  html[lang="ja"] h3,
  html[lang="ja"] .lead,
  html[lang="ja"] .hero-desc,
  html[lang="ja"] .hero-note,
  html[lang="ja"] .service-card p,
  html[lang="ja"] .proof-item span,
  html[lang="ja"] .step p,
  html[lang="ja"] .case-lines span,
  html[lang="ja"] .price-plan-summary,
  html[lang="ja"] .price-plan-details span,
  html[lang="ja"] .pricing-custom-bar span,
  html[lang="ja"] .price-plan-note,
  html[lang="ja"] .cta-box p,
  html[lang="ja"] .sample-copy,
  html[lang="ja"] .sample-translation{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict;
    text-wrap:pretty;
    hyphens:none;
  }

  @supports (word-break:auto-phrase){
    html[lang="ja"] h1,
    html[lang="ja"] h2,
    html[lang="ja"] h3,
    html[lang="ja"] .lead,
    html[lang="ja"] .hero-desc,
    html[lang="ja"] .hero-note,
    html[lang="ja"] .service-card p,
    html[lang="ja"] .proof-item span,
    html[lang="ja"] .step p,
    html[lang="ja"] .case-lines span,
    html[lang="ja"] .price-plan-summary,
    html[lang="ja"] .price-plan-details span,
    html[lang="ja"] .pricing-custom-bar span,
    html[lang="ja"] .price-plan-note,
    html[lang="ja"] .cta-box p{
      word-break:auto-phrase!important;
    }
  }

  html[lang="ja"] .hero h1{
    max-width:100%;
    font-size:clamp(21.5px,6.15vw,24px);
    line-height:1.48;
    letter-spacing:-.012em;
    text-wrap:pretty;
  }
  html[lang="ja"] h2{
    max-width:100%;
    font-size:clamp(18.5px,5.25vw,20.5px);
    line-height:1.56;
    letter-spacing:-.006em;
    text-wrap:pretty;
  }
  html[lang="ja"] .lead,
  html[lang="ja"] .hero-desc{
    max-width:100%;
    font-size:13.2px;
    line-height:1.82;
  }
  html[lang="ja"] .hero-note{
    font-size:12.2px;
    line-height:1.72;
  }
  html[lang="ja"] .service-card h3,
  html[lang="ja"] .step h3{
    font-size:16px;
    line-height:1.5;
  }
  html[lang="ja"] .usecase-card h3{
    font-size:17.2px;
    line-height:1.48;
    text-wrap:pretty;
  }
  html[lang="ja"] .service-card p,
  html[lang="ja"] .step p,
  html[lang="ja"] .proof-item span,
  html[lang="ja"] .case-lines span,
  html[lang="ja"] .price-plan-summary,
  html[lang="ja"] .price-plan-details span{
    font-size:12.7px;
    line-height:1.75;
  }
  html[lang="ja"] .price-plan-card h3{
    font-size:18px;
    line-height:1.45;
  }
  html[lang="ja"] .case-lines>div{
    grid-template-columns:52px minmax(0,1fr);
    gap:9px;
  }
  html[lang="ja"] .case-lines b{
    width:52px;
    min-width:52px;
  }
}

@media (max-width:390px){
  html[lang="ja"] .hero h1{font-size:21.5px;line-height:1.46}
  html[lang="ja"] h2{font-size:18.5px;line-height:1.54}
  html[lang="ja"] .lead,
  html[lang="ja"] .hero-desc{font-size:12.8px;line-height:1.78}
  html[lang="ja"] .usecase-card h3{font-size:16.8px}
}

/* v95: pricing labels only. Baseline layout and all other v93 design rules are preserved. */
.pricing-scope-list span{
  min-height:auto;
  padding:2px 0 2px 15px;
  border:0;
  border-radius:0;
  background:transparent;
  position:relative;
}
.pricing-scope-list span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:7px;
  height:7px;
  border-radius:2px;
  background:var(--plan-accent,var(--pink));
  transform:translateY(-50%);
}
.pricing-scope-list span:nth-child(1)::before{background:var(--pink)}
.pricing-scope-list span:nth-child(2)::before{background:var(--dusty)}
.pricing-scope-list span:nth-child(3)::before{background:var(--mauve)}
.pricing-scope-list span:nth-child(4)::before{background:#C67998}
.pricing-scope-list span:nth-child(5)::before{background:var(--honey)}

.price-plan-type{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  letter-spacing:.09em;
}
.price-plan-type::before{
  content:"";
  width:16px;
  height:2px;
  margin-right:8px;
  border-radius:2px;
  background:var(--plan-accent,var(--primary));
}

@media(max-width:760px){
  .pricing-scope-list{gap:8px 16px}
  .pricing-scope-list span{padding-left:13px}
  .price-plan-type::before{width:13px;margin-right:6px}
}

/* v97: center only the custom-quote block on mobile */
@media (max-width:760px){
  .pricing-custom-bar{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .pricing-custom-bar>div{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
  }
  .pricing-custom-bar>div>strong,
  .pricing-custom-bar>div>span{
    display:block!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .pricing-custom-bar .btn{
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}


/* v98: three-plan pricing layout only. All earlier design rules remain unchanged. */
@media (min-width:1024px){
  .price-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
