*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
:root { color-scheme: dark; --bg:#08090b; --panel:#11141a; --text:#f5f7fa; --muted:#999fa9; --line:rgba(255,255,255,.1); --blue:#2997ff; --purple:#8d72ff; --pad:clamp(20px,5vw,70px); --content:1180px; --ease:cubic-bezier(.16,1,.3,1); }
html { scroll-behavior: smooth; background: var(--bg); }
body { min-width:320px; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif; -webkit-font-smoothing:antialiased; word-break:keep-all; overflow-wrap:break-word; }
a { color:inherit; text-decoration:none; }
a[href^="mailto:"] { overflow-wrap:anywhere; }
img { display:block; max-width:100%; }
.app-nav { position:fixed; inset:0 0 auto; z-index:100; display:flex; height:72px; padding-inline:max(var(--pad),calc((100vw - var(--content))/2)); align-items:center; justify-content:space-between; transition:height .35s,background .35s,border-color .35s; }
.app-nav.scrolled { height:58px; border-bottom:1px solid var(--line); background:rgba(8,9,11,.8); backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:10px; font-size:.9rem; font-weight:700; }
.brand img { width:34px; height:34px; border-radius:9px; }
.nav-actions { display:flex; align-items:center; gap:24px; color:var(--muted); font-size:.75rem; }
.nav-actions > a:hover { color:#fff; }
.lang-toggle-container { position:static; }
.lang-toggle { display:flex; padding:7px 10px; border:1px solid var(--line); border-radius:99px; background:rgba(255,255,255,.04); gap:5px; color:var(--muted); cursor:pointer; }
.lang-text,.lang-divider { color:inherit; font-size:.65rem; }
.lang-toggle[data-active-lang="ko"] [data-lang="ko"],.lang-toggle[data-active-lang="en"] [data-lang="en"] { color:#fff; }
.rr-hero { position:relative; display:grid; width:min(100%,calc(var(--content) + var(--pad)*2)); min-height:100vh; margin:auto; padding:140px var(--pad) 90px; grid-template-columns:.9fr .75fr; align-items:center; gap:70px; overflow:hidden; }
.rr-hero::before { position:absolute; right:-10%; width:55%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(94,70,255,.22),transparent 65%); filter:blur(20px); content:""; }
.eyebrow { color:#a995ff; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero-copy { position:relative; z-index:2; }
.hero-copy h1 { margin-top:22px; font-size:clamp(4rem,8vw,8rem); font-weight:650; letter-spacing:-.075em; line-height:.9; }
.hero-copy h1 span { display:block; color:#858b95; }
.hero-lead { max-width:560px; margin-top:32px; color:var(--muted); font-size:clamp(1rem,1.6vw,1.25rem); line-height:1.8; }
.hero-actions { display:flex; margin-top:34px; gap:10px; }
.button { display:inline-flex; min-height:48px; padding:0 21px; border:1px solid transparent; border-radius:99px; align-items:center; justify-content:center; font-size:.85rem; font-weight:600; transition:transform .3s var(--ease),background .25s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--blue); color:#fff; }
.button.secondary { border-color:var(--line); background:rgba(255,255,255,.04); }
.hero-visual { position:relative; height:min(72vh,720px); display:grid; place-items:center; }
.rr-phone { position:relative; z-index:2; overflow:hidden; width:min(280px,27vw); aspect-ratio:1290/2796; border:7px solid #25282e; border-radius:43px; box-shadow:0 55px 100px rgba(0,0,0,.65); }
.rr-phone img { width:100%; height:100%; object-fit:cover; }
.wave { position:absolute; right:0; left:0; display:flex; height:150px; align-items:center; justify-content:center; gap:12px; opacity:.35; }
.wave i { width:3px; height:30%; border-radius:4px; background:linear-gradient(#b5a8ff,#2997ff); animation:wave 1.5s ease-in-out infinite alternate; }
.wave i:nth-child(2n){height:65%;animation-delay:-.4s}.wave i:nth-child(3n){height:95%;animation-delay:-.8s}
@keyframes wave{to{transform:scaleY(.35);opacity:.35}}
.record-orb { position:absolute; right:0; bottom:10%; display:grid; width:86px; height:86px; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:rgba(15,17,23,.8); place-items:center; backdrop-filter:blur(12px); }
.record-orb span { width:33px; height:33px; border-radius:50%; background:#ff453a; box-shadow:0 0 30px rgba(255,69,58,.35); }
.section-shell { width:min(100%,calc(var(--content) + var(--pad)*2)); margin:auto; padding-inline:var(--pad); }
.story { display:grid; padding-top:clamp(120px,15vw,210px); padding-bottom:clamp(120px,15vw,210px); border-top:1px solid var(--line); grid-template-columns:.7fr 1fr; gap:80px; }
.section-heading h2 { margin-top:18px; font-size:clamp(2.5rem,5vw,5rem); letter-spacing:-.06em; }
.story-copy { align-self:end; color:var(--muted); font-size:1rem; line-height:2; }
.features { padding-top:clamp(120px,14vw,190px); padding-bottom:clamp(130px,16vw,220px); border-top:1px solid var(--line); }
.feature-grid { display:grid; margin-top:70px; padding:0; border-top:1px solid var(--line); grid-template-columns:1fr 1fr; list-style:none; }
.feature-grid li { min-height:165px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature-grid li:nth-child(2n) { border-right:0; }
.feature-grid span { color:#777e88; font: .65rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.feature-grid p { margin-top:26px; color:var(--muted); font-size:.86rem; line-height:1.7; }
.feature-grid strong { color:#e5e8ed; font-weight:600; }
.contact { min-height:80vh; padding:130px var(--pad); border-top:1px solid var(--line); background:radial-gradient(circle at 50% 110%,rgba(93,68,255,.23),transparent 48%); display:grid; place-items:center; text-align:center; }
.contact h2 { margin-top:18px; font-size:clamp(3.2rem,7vw,7rem); letter-spacing:-.07em; }
.contact p { margin-top:22px; color:var(--muted); }
.contact .button { margin-top:34px; }
.privacy-link { display:block; width:fit-content; margin:22px auto 0; color:#737a84; font-size:.72rem; border-bottom:1px solid transparent; }
.privacy-link:hover { border-color:#737a84; }
footer { display:flex; min-height:130px; padding-inline:max(var(--pad),calc((100vw - var(--content))/2)); border-top:1px solid var(--line); align-items:center; justify-content:space-between; color:#5e6570; font-size:.7rem; }
.motion-ready .motion-reveal { opacity:0; transform:translateY(32px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.motion-ready .motion-reveal.is-visible { opacity:1; transform:none; }
@media(max-width:800px){.rr-hero{min-height:900px;grid-template-columns:1fr;padding-top:120px;gap:35px}.hero-visual{height:460px}.rr-phone{width:210px}.story{grid-template-columns:1fr;gap:35px}.feature-grid{grid-template-columns:1fr}.feature-grid li,.feature-grid li:nth-child(2n){border-right:0}.nav-actions>a{display:none}}
@media(max-width:520px){.hero-copy h1{font-size:18vw}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.rr-phone{width:190px}.feature-grid li{padding:24px 0}footer{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wave i{animation:none}.motion-ready .motion-reveal{opacity:1;transform:none}}
