:root{--brand:#9491c2;--brand-strong:#625c98;--ink:#24232b;--muted:#625f6e;--line:#dedce6;--page:#fbfafc;--lavender:#eeecf5;--max:1160px;--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--page);color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Noto Sans KR","Noto Sans JP","Noto Sans TC","Noto Sans SC","Segoe UI",sans-serif;font-size:16px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}::selection{background:#dad5ef;color:#25213d}button{font:inherit}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--brand-strong);outline-offset:5px}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-weight:750;line-height:1.3;letter-spacing:-.025em;text-wrap:balance}svg{display:block}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:10px;z-index:200;padding:10px 18px;background:var(--ink);color:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:100;background:var(--page);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:32px;min-height:80px}.brand{font-size:25px;font-weight:850;line-height:1.2;text-decoration:none;white-space:nowrap;letter-spacing:-.025em}.brand span{color:var(--brand-strong)}.navigation{display:flex;gap:30px;margin-left:auto;align-items:center}.navigation a{font-size:14px;font-weight:650;text-decoration:none;min-height:44px;display:flex;align-items:center}.navigation a:hover,.text-link:hover{color:var(--brand-strong)}.language-switcher{position:relative;flex:none}.language-toggle{display:flex;gap:8px;align-items:center;justify-content:center;min-width:64px;min-height:44px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font-size:13px;font-weight:750;cursor:pointer;padding:8px 10px}.language-menu{position:absolute;right:0;top:calc(100% + 12px);width:220px;padding:8px;background:white;border-radius:var(--radius);box-shadow:0 12px 38px #25213d26}.language-menu[hidden]{display:none}.language-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:9px 12px;text-align:left;cursor:pointer;font-size:14px}.language-menu button span:last-child{font-size:12px}.language-menu button:hover,.language-menu button[aria-current=true]{background:var(--lavender);color:#494171}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:82px;padding-block:112px 100px;border-bottom:1px solid var(--line)}h1{font-size:clamp(46px,5.4vw,78px);line-height:1.18;max-width:820px;letter-spacing:-.035em}h1>span{display:block}.hero-ease{color:var(--brand-strong)}.hero-description{max-width:640px;font-size:19px;line-height:1.8;margin-top:28px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.button{min-height:50px;display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:12px 20px;text-decoration:none;font-size:15px;font-weight:700;border-radius:var(--radius);transition:background 180ms ease-out}.button-primary{background:var(--brand-strong);color:white}.button-primary:hover{background:#494171}.arrow{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:650;text-decoration:underline}.brand-promise{margin-top:42px;color:var(--brand-strong);font-size:13px;letter-spacing:.015em}.ease-path{display:grid;align-content:center}.ease-path a{text-decoration:none;display:flex;flex-direction:column;padding-block:24px;border-bottom:1px solid var(--line);gap:4px;transition:padding-left 180ms ease-out}.ease-path a:first-child{border-top:1px solid var(--line)}.ease-path a:hover{padding-left:8px}.path-word{font-size:40px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.path-note{font-size:13px;color:var(--muted);margin-top:5px}
.section{padding-block:100px;border-bottom:1px solid var(--line)}.about,.philosophy{display:grid;grid-template-columns:minmax(0,310px) minmax(0,1fr);gap:80px}.section-heading h2{font-size:36px}.section-heading>p{font-size:16px;color:var(--muted);margin-top:20px;max-width:28ch}.statement{font-size:30px;margin-bottom:24px}.about-content>p{font-size:17px;color:var(--muted);max-width:70ch}.about-content>p+p{margin-top:18px}.mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}.mission-vision dt{font-weight:750;font-size:16px;color:var(--brand-strong);margin-bottom:10px}.mission-vision dd{font-size:16px;line-height:1.75}.growth{margin-top:38px}.growth h3{font-size:20px;margin-bottom:12px}.growth p{font-size:15px;color:var(--muted);line-height:1.85;max-width:70ch}.wide-heading{margin-bottom:44px}.wide-heading h2{font-size:42px;max-width:900px}.wide-heading>p{margin-top:16px;color:var(--muted);font-size:17px}.service-row{display:grid;grid-template-columns:210px minmax(0,1fr) 170px;gap:48px;align-items:center;padding-block:40px;border-top:1px solid var(--line);scroll-margin-top:96px}.service-identity>img,.writing-mark{width:60px;height:60px;display:block;margin-bottom:18px;border-radius:var(--radius)}.writing-mark{background:var(--lavender);color:var(--brand-strong);display:grid;place-items:center;font-size:23px;font-weight:750;letter-spacing:-.035em}.service-identity h3{font-size:25px;margin-bottom:6px}.service-value{font-size:14px;color:var(--brand-strong)}.service-statement{font-size:23px;font-weight:700;line-height:1.5;letter-spacing:-.02em;margin-bottom:12px;text-wrap:balance}.service-detail>p:last-child{font-size:15px;line-height:1.85;color:var(--muted);max-width:68ch}.service-action{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.service-action .text-link{font-size:14px;gap:8px;line-height:1.5}.status{font-size:12px;line-height:1.6;font-weight:650;display:inline-flex;align-items:center;gap:7px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.live{color:#386447}.development{color:var(--muted)}.development-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:20ch}
.philosophy{border-bottom:0;padding-block:104px 112px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:34px 42px}.principles>div{border-top:1px solid var(--line);padding-top:22px}.principles dt{font-size:18px;font-weight:750;line-height:1.5;margin-bottom:12px;letter-spacing:-.015em}.principles dd{font-size:15px;line-height:1.8;color:var(--muted)}.contact{background:var(--lavender);padding-block:72px}.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:64px;align-items:center}.contact h2{font-size:36px;max-width:600px}.contact p{font-size:16px;color:#5f5874;margin-top:18px;max-width:66ch}.contact-email{display:flex;align-items:center;gap:20px;font-size:23px;color:#494171;font-weight:700;white-space:nowrap;text-decoration:none;letter-spacing:-.01em}.contact-email:hover{text-decoration:underline}.site-footer{padding-block:44px 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-top>p{font-size:13px;color:var(--muted)}.company-info{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:30px}.company-info>div{display:flex;gap:12px;font-size:12px}.company-info dt{color:var(--muted)}.company-info dd{color:var(--ink)}.copyright{color:var(--muted);font-size:11px;margin-top:24px}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.hero-copy{animation:hero-arrive 600ms cubic-bezier(.16,1,.3,1) both}@keyframes hero-arrive{from{transform:translateY(8px)}to{transform:translateY(0)}}}
@media(max-width:1100px){.hero{gap:40px;grid-template-columns:minmax(0,1fr) 190px}.about,.philosophy{grid-template-columns:250px minmax(0,1fr);gap:42px}.service-row{grid-template-columns:160px minmax(0,1fr) 155px;gap:30px}.contact-inner{grid-template-columns:1fr;gap:28px}.contact h2{max-width:900px}}
@media(max-width:760px){html{scroll-padding-top:125px}.container{width:calc(100% - 40px)}.header-inner{min-height:108px;display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding-top:14px;padding-bottom:8px}.brand{font-size:23px}.language-switcher{grid-column:2;grid-row:1}.navigation{grid-row:2;grid-column:1 / -1;margin-left:0;justify-content:space-between;gap:10px}.navigation a{font-size:13px;min-height:40px}.language-toggle{min-height:40px}.hero{display:block;padding-block:56px 48px}h1{font-size:clamp(38px,9.5vw,58px);max-width:620px;line-height:1.25;letter-spacing:-.035em}.hero-description{font-size:16px;line-height:1.8;margin-top:24px;max-width:52ch}.hero-actions{margin-top:26px;gap:20px}.button{min-height:48px;font-size:14px;padding:12px 16px;gap:12px}.hero-actions .text-link{font-size:13px}.brand-promise{margin-top:28px;font-size:11px;letter-spacing:0}.ease-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}.ease-path a{padding-block:17px 0;border-top:1px solid var(--line);border-bottom:0}.ease-path a:hover{padding-left:0}.path-word{font-size:27px}.path-note{font-size:11px;line-height:1.65;max-width:16ch}.section{padding-block:58px}.about,.philosophy{display:block}.section-heading h2{font-size:28px}.section-heading>p{max-width:50ch;font-size:15px;margin-top:14px}.about-content{margin-top:26px}.statement{font-size:23px;margin-bottom:18px}.about-content>p{font-size:15px;line-height:1.9}.mission-vision{gap:28px;grid-template-columns:1fr;margin-top:28px;padding-top:24px}.mission-vision dt{font-size:15px;margin-bottom:7px}.mission-vision dd{font-size:15px}.growth{margin-top:30px}.growth h3{font-size:18px}.growth p{font-size:14px}.wide-heading{margin-bottom:30px}.wide-heading h2{font-size:29px}.wide-heading>p{font-size:15px;line-height:1.8}.service-row{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:30px;scroll-margin-top:126px}.service-identity{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;row-gap:2px;align-items:center}.service-identity>img,.writing-mark{grid-row:1 / 3;width:52px;height:52px;margin-bottom:0}.writing-mark{font-size:20px}.service-identity h3{font-size:23px;margin:0}.service-value{font-size:13px}.service-statement{font-size:20px;line-height:1.55;margin-bottom:10px}.service-detail>p:last-child{font-size:14px;line-height:1.9}.service-action{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.development-note{max-width:30ch;font-size:12px}.principles{grid-template-columns:1fr;gap:26px;margin-top:30px}.principles dt{font-size:17px;margin-bottom:8px}.principles dd{font-size:14px}.philosophy{padding-block:58px 64px}.contact{padding-block:46px}.contact h2{font-size:28px}.contact p{font-size:14px;line-height:1.9}.contact-inner{gap:24px}.contact-email{font-size:20px;gap:12px;white-space:normal;overflow-wrap:anywhere}.site-footer{padding-block:32px 24px}.footer-top{flex-direction:column;align-items:flex-start;gap:14px}.footer-top>p{font-size:11px}.company-info{display:grid;gap:12px;margin-top:24px}.company-info>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:12px}.company-info dd{overflow-wrap:anywhere}.copyright{font-size:11px;margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep natural line breaks and a readable scale across the supported scripts. */
html[lang="en"] .path-word{font-size:28px}
html[lang="ja"] body,html[lang^="zh"] body{word-break:normal;line-break:strict}
html[lang="ja"] h1,html[lang="ja"] #philosophy-title{text-wrap:wrap}
.localized-phrase{display:inline-block;white-space:nowrap}
.ease-path a{transition:transform 180ms ease-out,color 180ms ease-out}
.ease-path a:hover{padding-left:0;transform:translateX(5px);color:var(--brand-strong)}
.copyright{font-size:12px}
@media(max-width:760px){
  html[lang="en"] .path-word{font-size:18px}
  .path-note,.brand-promise,.footer-top>p{font-size:12px}
  .ease-path a:hover{transform:none}
}
