:root{--c:#FF5A00;--ink:#222;--g:#5b5f66;--bg2:#f4f5f6;--e:cubic-bezier(0.65,0,0.35,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:Pretendard,system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit}
.topbar{position:fixed;inset:0 0 auto;height:64px;z-index:20;display:flex;align-items:center;gap:24px;padding:0 4vw;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #eee}
.topbar nav{display:flex;gap:24px;margin-left:auto}
.topbar nav a{text-decoration:none;font-weight:600;color:var(--g)}
.topbar nav a:hover{color:var(--ink)}
.lg{display:block;width:62px;height:46px;overflow:hidden;position:relative}.lg img{position:absolute;left:-29px;top:-37px;width:120px;height:120px;max-width:none}
.btn{display:inline-block;background:var(--c);color:#fff;border:0;border-radius:10px;padding:14px 24px;font:700 1rem Pretendard,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(.94)}
.btn-sm{padding:9px 18px;font-size:.95rem}
.stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:#cfd2d6}
.scene{position:absolute;inset:0;visibility:hidden;transform-origin:center}
.scene.is-active{visibility:visible;z-index:2}
.scene.is-entering{visibility:visible;z-index:3;animation:enter .9s var(--e) both}
.scene.is-entering.back{animation-name:enterBack}
@keyframes enter{from{transform:translateX(24%) scale(1.06)}to{transform:none}}
@keyframes enterBack{from{transform:translateX(-24%) scale(1.06)}to{transform:none}}
.scene-media,.scene-media video,.scene-media .ph{position:absolute;inset:0;width:100%;height:100%}
.scene-media video{object-fit:cover;display:none}
.scene-media video.ok{display:block}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#c9ccd0 0 24px,#c3c6ca 24px 48px);color:#7b7f86;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700}
.ph small{font-size:.9rem;font-weight:500;margin-top:6px}
.scene-text{position:absolute;top:50%;transform:translateY(-50%);width:32%;left:6%;padding:28px;border-radius:16px;background:rgba(255,255,255,.88)}
.scene[data-side=right] .scene-text{left:auto;right:6%}
.eyebrow{font-weight:700;color:var(--g);font-size:.9rem;letter-spacing:.04em;margin-bottom:10px}
.scene-text h1,.scene-text h2{font-size:clamp(1.6rem,2.6vw,2.5rem);line-height:1.25;letter-spacing:-.02em;margin-bottom:12px;word-break:keep-all}
.scene-text p{color:var(--g);line-height:1.6;margin-bottom:20px;word-break:keep-all}
.dots{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:10;list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;transition:opacity .3s}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(34,34,34,.3);cursor:pointer;padding:0}
.dots button[aria-current=true]{background:var(--ink);height:22px;border-radius:5px}
.dots.off,.hint.off{opacity:0;pointer-events:none}
.hint{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;color:var(--g);font-size:.85rem;background:rgba(255,255,255,.8);padding:6px 12px;border-radius:20px;transition:opacity .3s}
.sec{padding:96px 6vw;max-width:1200px;margin:0 auto}
.sec-gray{max-width:none;background:var(--bg2)}
.sec-gray>*{max-width:1080px;margin-left:auto;margin-right:auto}
.sec h2{font-size:2rem;margin-bottom:20px;letter-spacing:-.02em}
.sec>p{color:var(--g);margin-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid #e6e7e9;border-radius:14px;padding:24px}
.card h3{margin-bottom:8px}.card p{color:var(--g)}
.tbd{color:#9aa0a6;font-style:italic}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{text-align:left;padding:16px;border-bottom:1px solid #e6e7e9}
.tbl th{width:30%;color:var(--g)}
.form{display:grid;gap:16px;max-width:560px}
.form label{display:grid;gap:6px;font-weight:600}
.form input,.form textarea{font:inherit;padding:12px;border:1px solid #d5d7da;border-radius:8px}
.note{color:var(--g);font-size:.9rem}
details{border-bottom:1px solid #e6e7e9;padding:16px 0}
summary{font-weight:700;cursor:pointer}
details p{margin-top:10px;color:var(--g)}
.footer{background:#2a2c30;color:#c9ccd0;padding:48px 6vw 120px;display:grid;gap:10px;font-size:.92rem}

.mbar{display:none}
@media (max-width:767px){
  .topbar{height:56px}.topbar nav{display:none}.topbar .btn-sm{margin-left:auto}
  .scene-text,.scene[data-side=right] .scene-text{top:auto;transform:none;left:4%;right:4%;width:auto;bottom:calc(62px + 3vh);padding:20px}
  .scene-text h1,.scene-text h2{font-size:1.45rem}
  .scene-text p{margin-bottom:14px;font-size:.95rem}
  .dots{right:10px}.hint{display:none}
  .cards{grid-template-columns:1fr}
  .sec{padding:64px 6vw}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;inset:auto 0 0;z-index:30;background:#fff;border-top:1px solid #e6e7e9;padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{text-align:center;padding:16px 0;font-weight:700;text-decoration:none}
  .mbar a.on{background:var(--c);color:#fff}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scene.is-entering{animation:none}
}
