:root{
  --paper:#f6f3ea; --floor:#efeadd; --line:#d8d2c2; --grid:#e3ddcd;
  --ink:#132430; --sub:#5b6a63; --navy:#132936; --navy-2:#1d3a4b;
  --green:#1f604f; --green-2:#2c7a63; --amber:#c47f2a; --red:#c0503e;
  --paper-hi:#fffdf6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
html[lang="ko"]{--rest-label:"휴식 중"}
html[lang="en"]{--rest-label:"On break"}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}

/* ── 상단 바 ── */
.top{position:sticky;top:0;z-index:40;background:#f6f3eae6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:1.15rem;text-decoration:none;letter-spacing:-.02em}
.brand i{width:22px;height:22px;border-radius:6px;background:var(--green);display:inline-block;position:relative}
.brand i::after{content:"";position:absolute;inset:5px;border-radius:3px;background:var(--paper-hi)}
.top nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.95rem}
.top nav a{text-decoration:none;color:var(--sub)}
.top nav a:hover{color:var(--ink)}
.top nav .tool-nav{display:inline-flex;align-items:center;min-width:44px;min-height:44px;color:var(--green);font-weight:850}
.login{padding:10px 18px;border:1.5px solid var(--navy);border-radius:999px;font-weight:800;color:var(--ink) !important}
.locale-picker{position:relative;color:var(--sub)}
.locale-picker summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid transparent;border-radius:10px;cursor:pointer;list-style:none;white-space:nowrap;font-weight:750}
.locale-picker summary::-webkit-details-marker{display:none}
.locale-picker summary::after{content:"";width:7px;height:7px;margin:-4px 1px 0 3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.locale-picker[open] summary{background:var(--paper-hi);border-color:var(--line)}
.locale-picker[open] summary::after{margin-top:3px;transform:rotate(225deg)}
.locale-picker summary:hover{color:var(--ink)}
.locale-picker summary:focus-visible,.locale-options a:focus-visible{outline:3px solid #2c7a6359;outline-offset:2px}
.locale-flag{font-size:1.15rem;line-height:1}
.locale-options{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:50;min-width:184px;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--paper-hi);box-shadow:0 18px 45px #13293624}
.locale-options a{display:grid;grid-template-columns:26px 1fr 18px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border-radius:8px;color:var(--ink) !important;text-decoration:none}
.locale-options a:hover{background:#e9f0ea}
.locale-options a[aria-current="page"]{font-weight:850;background:#e9f0ea}
.locale-check{text-align:center;color:var(--green);font-weight:900}

/* ── 히어로: 살아있는 사무실 ── */
.hero{position:relative;overflow:hidden;background:
  linear-gradient(180deg,#f6f3ea 0%,#f1ecdf 100%)}
.hero-in{display:grid;grid-template-columns:1fr;gap:0;padding:64px 0 0}
.hero-copy{max-width:800px}
.eyebrow{color:var(--green);font-size:.8rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
h1{margin:14px 0 20px;font-size:clamp(2.7rem,6.4vw,5.4rem);line-height:1.04;letter-spacing:-.05em;font-weight:900;word-break:keep-all}
h1 em{font-style:normal;color:var(--green)}
.hero-copy p{max-width:640px;font-size:1.12rem;color:var(--sub)}
.cta-row{display:flex;gap:12px;margin:28px 0 8px;flex-wrap:wrap}
.cta{padding:15px 26px;border-radius:12px;font-weight:850;text-decoration:none;font-size:1.02rem}
.cta.primary{background:var(--navy);color:#fff;box-shadow:0 10px 26px #13293633}
.cta.primary:hover{background:var(--navy-2)}
.cta.ghost{border:1.5px solid var(--line);background:var(--paper-hi)}
.hero-note{font-size:.86rem;color:var(--sub)}

/* 공개 도구 바로가기 — 모바일에서 숨겨지는 상단 메뉴와 별도로 항상 표시 */
.tools{max-width:640px;margin:24px 0 12px}
.tools-label{font-size:.85rem;font-weight:850;color:var(--green);margin-bottom:8px}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tool-link{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--paper-hi);text-decoration:none;min-height:84px}
.tool-link:hover{border-color:var(--green);background:#edf3ee}
.tool-link b{display:block;font-size:1rem}
.tool-link small{display:block;color:var(--sub);font-size:.8rem;margin-top:3px}
.tool-link>span:last-child{font-size:1.35rem;color:var(--green)}
.tool-link:focus-visible,.tool-nav:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* 사무실 무대 */
.office{position:relative;margin-top:44px;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:
  linear-gradient(var(--grid) 1px,transparent 1px),
  linear-gradient(90deg,var(--grid) 1px,transparent 1px),
  var(--floor);
  background-size:34px 34px,34px 34px,auto;
  box-shadow:0 -20px 60px #1329360d inset;
  height:340px}
.office-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:var(--navy);color:#cfdcd7;border-radius:20px 20px 0 0;font-size:.85rem;font-weight:700}
.office-bar b{color:#fff;font-weight:850}
.office-bar .live{display:inline-flex;align-items:center;gap:6px}
.office-bar .live::before{content:"";width:8px;height:8px;border-radius:50%;background:#5ad6a2;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.station{position:absolute;width:150px;text-align:center}
.mon{position:relative;margin:0 auto;width:132px;height:84px;border-radius:8px;background:#0f1c26;border:3px solid #22384a;box-shadow:0 10px 22px #13293626;overflow:hidden}
.mon.off{background:var(--paper-hi);border-color:var(--line);box-shadow:none}
.mon.off::after{content:var(--rest-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9aa69f;font-size:.72rem}
.desk{width:120px;height:12px;margin:6px auto 0;border-radius:3px;background:#a8825a;box-shadow:0 4px 0 #8a6a47}
.who{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:4px 11px;border-radius:999px;background:var(--paper-hi);border:1px solid var(--line);font-size:.8rem;font-weight:800}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green-2)}
.dot.rest{background:#b9b3a4}
/* 아바타 */
.ava{position:relative;width:34px;height:44px;margin:-2px auto 0;z-index:2}
.ava .head{width:20px;height:18px;margin:0 auto;border-radius:6px 6px 7px 7px;background:#e8c39e;position:relative}
.ava .hair{position:absolute;top:-3px;left:-2px;right:-2px;height:8px;border-radius:6px 6px 3px 3px;background:#2c2620}
.ava .body{width:30px;height:22px;margin:2px auto 0;border-radius:8px 8px 4px 4px;background:var(--navy)}
.ava.g .body{background:#276a58}.ava.c .body{background:#b0563f}.ava.t .body{background:#3d6f8e}
/* 모니터 콘텐츠 애니메이션 */
.doc{position:absolute;inset:6px;background:#fdfbf4;border-radius:3px;padding:7px 8px}
.doc i{display:block;height:4px;border-radius:2px;background:#c9d3ce;margin-bottom:4px;width:0;animation:type 5s infinite}
.doc i:nth-child(1){animation-delay:.1s}.doc i:nth-child(2){animation-delay:.9s;background:#b6c7bf}
.doc i:nth-child(3){animation-delay:1.7s}.doc i:nth-child(4){animation-delay:2.5s;background:#9fd0b8}
.doc i:nth-child(5){animation-delay:3.3s}
@keyframes type{0%{width:0}28%{width:92%}88%{width:92%;opacity:1}100%{width:92%;opacity:.4}}
.code{position:absolute;inset:6px;padding:7px 8px;font-size:0}
.code i{display:inline-block;height:4px;border-radius:2px;margin:0 4px 5px 0;background:#3b5a72;animation:blink 3.4s infinite}
.code i:nth-child(3n){background:#4f8f76}.code i:nth-child(4n){background:#a0704f}
.code i:nth-child(1){width:34px}.code i:nth-child(2){width:20px}.code i:nth-child(3){width:44px}
.code i:nth-child(4){width:16px}.code i:nth-child(5){width:52px}.code i:nth-child(6){width:26px}
.code i:nth-child(7){width:38px}.code i:nth-child(8){width:48px}.code i:nth-child(9){width:18px}
.code i:nth-child(10){width:42px}.code i:nth-child(11){width:30px}.code i:nth-child(12){width:22px}
@keyframes blink{0%,100%{opacity:.95}50%{opacity:.55}}
.video{position:absolute;inset:6px;background:#151013;border-radius:3px}
.video .play{position:absolute;top:26%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid #ffffffcc;border-top:8px solid transparent;border-bottom:8px solid transparent;animation:blink 2s infinite}
.video .pbar{position:absolute;left:6%;right:6%;bottom:9px;height:3px;border-radius:2px;background:#3a3a3a}
.video .pbar i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:#e2574a;animation:prog 9s linear infinite}
@keyframes prog{from{width:4%}to{width:96%}}
.caught{position:absolute;top:-14px;right:-2px;z-index:4;background:var(--red);color:#fff;font-size:.68rem;font-weight:900;padding:3px 9px;border-radius:999px;transform:rotate(6deg);box-shadow:0 6px 14px #c0503e4d;animation:pop 6s infinite}
@keyframes pop{0%,55%{transform:rotate(6deg) scale(0);opacity:0}62%,93%{transform:rotate(6deg) scale(1);opacity:1}100%{transform:rotate(6deg) scale(0);opacity:0}}
/* 소이 산책 */
.soi{position:absolute;bottom:18px;left:-60px;text-align:center;animation:walk 26s linear infinite;z-index:3}
.soi .tag{display:block;margin-bottom:3px;font-size:.68rem;font-weight:900;color:var(--green);background:var(--paper-hi);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.soi .ava{animation:bob .7s ease-in-out infinite}
@keyframes walk{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 120px))}}
@keyframes bob{50%{transform:translateY(-3px)}}
.st1{left:6%;top:78px}.st2{left:30%;top:120px}.st3{left:54%;top:78px}.st4{left:78%;top:120px}
.zone{position:absolute;border-radius:12px;border:1.5px dashed #d8b9ad;background:#f3e2da66;pointer-events:none}
.zone b{position:absolute;top:6px;left:10px;font-size:.68rem;color:#a9705c;font-weight:900;letter-spacing:.04em}
.plant{position:absolute;width:26px;text-align:center}
.plant::before{content:"";display:block;width:22px;height:22px;margin:0 auto;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 35% 35%,#5f9c7c,#2f6b4f)}
.plant::after{content:"";display:block;width:14px;height:10px;margin:-2px auto 0;border-radius:0 0 4px 4px;background:#b0714a}
@media (prefers-reduced-motion: reduce){
  .doc i{width:92%;animation:none}.video .pbar i{width:40%;animation:none}
  .soi{animation:none;left:44%}.soi .ava{animation:none}.caught{animation:none;transform:rotate(6deg) scale(1)}
  .code i,.video .play,.office-bar .live::before{animation:none}
}

/* ── 질문 섹션 ── */
.section{padding:96px 0}
.section.alt{background:var(--paper-hi);border-block:1px solid var(--line)}
h2{margin:10px 0 14px;font-size:clamp(1.9rem,4.2vw,3.4rem);letter-spacing:-.045em;line-height:1.12;font-weight:900;word-break:keep-all}
.lead{max-width:660px;color:var(--sub);font-size:1.08rem}
.qa{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin-top:64px}
.qa.flip{grid-template-columns:1.1fr .9fr}
.qa.flip .qa-copy{order:2}
.qa-num{font-size:.85rem;font-weight:900;color:var(--green);letter-spacing:.08em}
.qa h3{margin:8px 0 12px;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em;line-height:1.15;word-break:keep-all}
.qa p{color:var(--sub);margin:0 0 10px}
.qa p b{color:var(--ink)}
.shot{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper-hi);box-shadow:0 24px 60px #13293614}
.shot img{display:block;width:100%;height:auto}
.shot figcaption{padding:12px 18px;font-size:.85rem;color:var(--sub);border-top:1px solid var(--line)}
.shot.tall img{max-height:520px;object-fit:cover;object-position:top}

/* ── 루프 ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.step{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper-hi)}
.step b{display:block;font-size:1.05rem;margin-bottom:10px}
.step p{margin:0;color:var(--sub);line-height:1.65}
.step .k{display:inline-flex;width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-weight:900;align-items:center;justify-content:center;margin-bottom:14px}

/* ── 신뢰 ── */
.trust{padding:28px 30px;border-radius:18px;background:#e9f0ea;border:1px solid #d3e0d5;margin-top:40px}
.trust strong{font-size:1.12rem}
.trust ul{margin:14px 0 0;padding-left:20px;color:#4f615a;line-height:1.9}

/* ── 베타 ── */
.beta{background:var(--navy);color:#fff}
.beta .eyebrow{color:#7fd6b4}
.beta .lead{color:#c4d2ce}
.beta .steps{margin-top:40px}
.beta .step{border-color:#ffffff24;background:#ffffff0d}
.beta .step p{color:#c4d2ce}
.beta .cta.primary{background:#fff;color:var(--navy);box-shadow:0 12px 30px #00000040;border:0;cursor:pointer;font-family:inherit}
.beta .cta.primary:hover{background:#e9f0ea}
.beta-form{margin-top:30px;max-width:720px}
.beta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.beta-grid input{font:inherit;padding:13px 16px;border-radius:10px;border:1.5px solid #ffffff2e;background:#ffffff12;color:#fff}
.beta-grid input::placeholder{color:#9db4ad}
.beta-grid input:focus{outline:2px solid #7fd6b4;background:#ffffff1f}
.beta-result{color:#9db4ad}
.beta-result[data-kind="success"]{color:#7fd6b4;font-weight:700}
.beta-result[data-kind="error"]{color:#f0a898;font-weight:700}
@media(max-width:760px){.beta-grid{grid-template-columns:1fr}}

/* ── 로그인 ── */
.signin{background:#e3ece5;padding:84px 0}
.signin-in{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.signin h2{font-size:clamp(2rem,4.6vw,3.8rem)}
.roles{display:grid;gap:12px}
.role{display:grid;gap:6px;padding:24px;border:1px solid #b5c4ba;border-radius:16px;background:var(--paper-hi);text-decoration:none;transition:transform .15s}
.role:hover{transform:translateY(-2px)}
.role span{color:var(--sub)}
.role em{color:var(--green);font-style:normal;font-weight:850}

.foot{display:flex;justify-content:space-between;gap:24px;padding:30px 0;color:var(--sub);font-size:.87rem;flex-wrap:wrap}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}

@media(max-width:860px){
  .top-in{flex-wrap:nowrap}
  .top nav{gap:8px}
  .top nav>a:not(.login){display:none}
  .office{height:520px}
  .st1{left:8%;top:70px}.st2{left:55%;top:70px}.st3{left:8%;top:280px}.st4{left:55%;top:280px}
  .qa,.qa.flip{grid-template-columns:1fr}
  .qa.flip .qa-copy{order:0}
  .steps{grid-template-columns:1fr}
  .signin-in{grid-template-columns:1fr}
  h1{font-size:clamp(2.6rem,13vw,4rem)}
}

@media(max-width:520px){
  .tool-grid{grid-template-columns:1fr}
  .hero-in{padding-top:36px}
  .tools{margin-top:20px}
  .tool-link{min-height:76px}
}

@media(max-width:420px){
  .wrap{width:min(100% - 24px,1120px)}
  .locale-name{display:none}
  .locale-picker summary{padding-inline:9px}
  .login{padding-inline:14px}
}
