:root{--red:#c32b1f;--red-dark:#8e1c14;--ink:#231815;--char:#17191a;--muted:#716b68;--paper:#f7f5f2;--line:#dedad5;--blue:#e9f0f3;--white:#fff;--max:1180px;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Pretendard Variable", Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;background:#fff;word-break:keep-all}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.site-header{position:absolute;z-index:20;top:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 64px),var(--max));height:90px;display:flex;align-items:center;color:white;border-bottom:1px solid rgba(255,255,255,.28)}
.site-header .logo{--logo:var(--logo-w)}
.site-header nav{display:flex;gap:42px;margin-left:auto;margin-right:38px;font-size:14px;font-weight:600}
.site-header nav a{position:relative;padding:10px 0}
.site-header nav a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:#fff;transition:width .35s var(--ease)}
.site-header nav a:hover::after{width:100%}
.nav-cta{border:1px solid rgba(255,255,255,.65);border-radius:100px;padding:10px 17px;font-size:13px;font-weight:700}
.hero{position:relative;min-height:790px;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroDrift 14s ease-in-out infinite alternate}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,12,.88) 0%,rgba(10,12,12,.62) 43%,rgba(10,12,12,.08) 78%),linear-gradient(0deg,rgba(10,12,12,.38),transparent 45%)}
.hero-copy{position:relative;z-index:2;width:min(calc(100% - 64px),var(--max));margin:30px auto 0}
.eyebrow{margin:0 0 20px;color:var(--red);font:700 12px/1 "DM Sans",sans-serif;letter-spacing:.16em}
.eyebrow.light{color:#f2aaa4}
.hero h1{margin:0;font-size:clamp(44px,5.6vw,78px);line-height:1.12;letter-spacing:-.055em;max-width:850px}
.hero h1 span{position:relative;display:inline-block;color:#ff7a70;min-width:3.7em}
.hero h1 span::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:5px;background:var(--red);transform-origin:left;animation:underlineSweep 3.2s var(--ease) infinite}
.hero-lead{font-size:17px;line-height:1.75;color:rgba(255,255,255,.78);margin:28px 0 0}
.check-form{background:#fff;color:var(--ink);border-radius:14px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.hero-form{position:absolute;z-index:4;right:max(32px,calc((100vw - var(--max))/2));bottom:50px;width:min(510px,calc(100% - 64px))}
.check-form label{display:block;font-size:13px;font-weight:800;margin-bottom:10px}
.url-row{display:flex;gap:8px}
.url-row input{min-width:0;flex:1;height:52px;border:1px solid #d6d1cc;border-radius:8px;padding:0 15px;outline:none;font-size:16px}
.url-row input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(195,43,31,.1)}
.url-row button{flex:none;border:0;border-radius:8px;background:var(--red);color:#fff;padding:0 21px;font-weight:800;cursor:pointer;transition:transform .25s var(--ease),background .25s}
.url-row button:hover{background:var(--red-dark);transform:translateY(-2px)}
.privacy-note{margin:10px 0 0;font-size:11px;line-height:1.55;color:#7a7470}
.live-result{display:none;margin-top:12px;padding:12px 14px;background:#f6eeec;border-radius:7px;font-size:13px;font-weight:700}
.live-result.show{display:block}
.scroll-cue{position:absolute;z-index:3;bottom:44px;left:max(32px,calc((100vw - var(--max))/2));font:600 10px/1 "DM Sans";letter-spacing:.17em;display:flex;align-items:center;gap:12px}
.scroll-cue span{width:42px;height:1px;background:#fff;position:relative;overflow:hidden}
.scroll-cue span::after{content:"";position:absolute;inset:0;background:var(--red);animation:scrollLine 2s ease-in-out infinite}
.section{padding:130px max(32px,calc((100vw - var(--max))/2))}
.section-head{max-width:780px;margin-bottom:62px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-head h2,.report-copy h2,.limits h2,.final-inner h2{font-size:clamp(34px,4.2vw,56px);line-height:1.22;letter-spacing:-.045em;margin:0}
.section-head h2 em,.report-copy h2 em,.limits h2 em{font-style:normal;color:var(--red)}
.section-head>p:last-child{color:var(--muted);line-height:1.8;margin:22px auto 0;max-width:670px}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.metric-card{position:relative;min-height:270px;padding:34px;background:var(--paper);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.metric-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#bbb3ad;transform-origin:left;animation:barSweep 4s var(--ease) infinite}
.metric-card.free{background:#dfebef}
.metric-card.free::before,.value-card::before{background:var(--red)}
.stage-number{position:absolute;right:28px;top:22px;font:700 72px/1 "DM Sans";color:rgba(35,24,21,.07)}
.metric-card p{font-size:13px;color:var(--muted);margin:0 0 9px}
.metric-card strong{font-size:28px;letter-spacing:-.04em}
.metric-card small{margin-top:15px;color:#746e6a;line-height:1.6}
.metric-card.value-card{background:var(--char);color:#fff}
.metric-card.value-card .stage-number{color:rgba(255,255,255,.12)}
.metric-card.value-card .example-badge{left:34px;right:auto;top:28px}
.example-badge{position:absolute;right:22px;top:22px;background:var(--red);color:#fff;border-radius:100px;padding:5px 9px;font-size:11px;font-weight:700}
.dark-section{background:var(--char);color:#fff}
.on-dark .eyebrow{color:#f2aaa4}
.stage-visual{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center}
.stage-panel{border-radius:14px;padding:32px;min-height:430px;position:relative;overflow:hidden}
.stage-one{background:#26292a;border:1px solid #3e4142}
.stage-two{background:#fff;color:var(--ink)}
.panel-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(128,128,128,.3);padding-bottom:18px;font-size:13px}
.score-orbit{width:210px;height:210px;margin:42px auto 26px;border:1px solid #4d5253;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative}
.score-orbit::before,.score-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(195,43,31,.55);animation:orbit 5s linear infinite}
.score-orbit::before{inset:14px}.score-orbit::after{inset:-13px;border-style:dashed;animation-direction:reverse}
.score-orbit strong{font:700 76px/1 "DM Sans"}.score-orbit small{color:#f28e86}
.stage-one ul{display:flex;justify-content:space-between;padding:0;list-style:none;font-size:12px;color:#c9c9c9}
.stage-arrow{display:flex;justify-content:center}.stage-arrow span{display:block;width:54px;height:2px;background:var(--red);position:relative;animation:arrowPulse 2s ease-in-out infinite}.stage-arrow span::after{content:"";position:absolute;right:0;top:-4px;border-left:8px solid var(--red);border-top:5px solid transparent;border-bottom:5px solid transparent}
.paper-mini{margin-top:30px;border:1px solid #ddd8d3;padding:25px;box-shadow:0 12px 25px rgba(0,0,0,.08);transform:rotate(-1deg)}
.paper-mini p{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid #e6e2de;padding:15px 0;margin:0;font-size:13px}.paper-mini b{color:var(--red)}.paper-mini code,.report-sheet code{display:block;background:#202323;color:#f3b4af;padding:15px;margin-top:22px;white-space:normal;font:13px/1.6 ui-monospace,monospace}
.photo-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-card{position:relative;height:430px;border-radius:12px;overflow:hidden;color:#fff;background:#222}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.photo-card::after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(10,10,10,.92))}
.photo-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.photo-card span{font:700 11px "DM Sans";color:#ff8a81}.photo-card h3{font-size:24px;margin:8px 0}.photo-card p{font-size:13px;line-height:1.65;color:#ddd;margin:0}.photo-card:hover img{transform:scale(1.055)}
.report{background:var(--paper)}
.report-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center}
.report-copy>p:not(.eyebrow){line-height:1.8;color:var(--muted);margin:25px 0}
.report-tabs{display:flex;flex-wrap:wrap;gap:8px}.report-tabs span{border:1px solid #d5d0ca;border-radius:100px;padding:9px 13px;font-size:12px;background:#fff}
.report-sheet{background:#fff;padding:40px 42px;box-shadow:0 25px 70px rgba(35,24,21,.12);transform:rotate(.7deg)}
.report-sheet>header{display:flex;justify-content:space-between;align-items:end;border-bottom:3px solid var(--ink);padding-bottom:18px;font-size:11px}.report-sheet>header b{font-size:20px}
.priority{padding:24px 0;border-bottom:1px solid #e3dfda}.priority h3{margin:0 0 10px;font-size:17px}.priority h3 i{font-style:normal;color:var(--red)}.priority h3 small{font-size:11px;color:#777;margin-left:8px}.priority p{font-size:13px;color:#635d59;line-height:1.6;margin:0}.report-sheet footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:22px}.report-sheet footer span{background:#f4f1ed;border-radius:5px;padding:12px;font-size:11px;line-height:1.5}
.soft-section{background:#e7eff2}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.compare{min-height:470px;padding:42px;border-radius:14px;background:#fff}.compare.ours{background:var(--red);color:#fff}.compare-label{font:700 11px "DM Sans";letter-spacing:.12em}.compare h3{font-size:29px;margin:15px 0 14px}.compare-summary{min-height:52px;margin:0;color:inherit;font-size:14px;line-height:1.75;opacity:.75}.compare dl{margin:28px 0 0}.compare dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(128,128,128,.25)}.compare dt{font-size:12px;opacity:.65}.compare dd{margin:0;font-weight:700;text-align:right}
.pulse-line{height:80px;display:flex;align-items:center}.pulse-line span{width:100%;height:2px;background:#fff;position:relative}.pulse-line span::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:-6px;animation:scanDot 3s var(--ease) infinite}
.wave-lines{height:80px;display:flex;align-items:center;gap:8px}.wave-lines i{display:block;height:2px;flex:1;background:#c8c5c1;transform:rotate(-6deg)}.wave-lines i:nth-child(2){transform:rotate(7deg)}.wave-lines i:nth-child(3){transform:rotate(-2deg)}
.limits{background:#111516 url("img/code-review.webp?v=1789363303") center/cover fixed;position:relative}.limits::before{content:"";position:absolute;inset:0;background:rgba(10,13,14,.88)}.limits-layout{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.limit-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.limit-cards article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);padding:32px;min-height:280px}.limit-cards span{color:#f0877f;font:700 12px "DM Sans"}.limit-cards h3{font-size:22px;line-height:1.5;margin:26px 0 15px}.limit-cards p{color:#bbb;line-height:1.7;font-size:14px}
.price-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;max-width:880px;margin:auto}.price-main,.price-repeat{border:1px solid var(--line);border-radius:14px;padding:42px;position:relative;overflow:hidden}.price-main{background:var(--char);color:#fff}.price-main::before{content:"";position:absolute;width:260px;height:260px;border:50px solid rgba(195,43,31,.35);border-radius:50%;right:-110px;top:-130px;animation:orbit 7s linear infinite}.price-main>span,.price-repeat>span{font-size:14px;font-weight:800}.price-main>p,.price-repeat>p{margin:25px 0 0}.price-main strong,.price-repeat strong{font:700 50px "DM Sans"}.price-main small,.price-repeat small{color:#8f8985}.price-main ul{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid #3b3c3c}.price-main li{padding:7px 0;font-size:13px;color:#d7d7d7}.price-main li::before{content:"✓";color:#ff8278;margin-right:9px}.price-repeat>p:last-child{font-size:13px;line-height:1.7;color:var(--muted);margin-top:36px}.single-cta{display:block;width:max-content;margin:35px auto 0;background:var(--red);color:#fff;padding:17px 28px;border-radius:100px;font-weight:800}
.final-cta{position:relative;min-height:630px;color:#fff;display:grid;place-items:center;overflow:hidden}.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,18,.86),rgba(25,20,18,.55))}.final-inner{position:relative;width:min(calc(100% - 64px),950px);text-align:center}.final-inner .check-form{max-width:640px;margin:38px auto 0;text-align:left}
.site-footer{background:#101313;color:#9d9d9d;padding:55px max(32px,calc((100vw - var(--max))/2));font-size:12px;line-height:1.6}.site-footer .logo{margin-bottom:24px}.site-footer p{margin:5px 0}
@keyframes heroDrift{to{transform:scale(1.045) translateX(-1%)}}
@keyframes underlineSweep{0%,15%{transform:scaleX(0)}45%,85%{transform:scaleX(1)}100%{transform:scaleX(0);transform-origin:right}}
@keyframes scrollLine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes barSweep{0%,25%{transform:scaleX(.1)}60%,100%{transform:scaleX(1)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes arrowPulse{0%,100%{transform:translateX(-8px);opacity:.5}50%{transform:translateX(8px);opacity:1}}
@keyframes scanDot{0%{left:0}100%{left:calc(100% - 14px)}}

@media(max-width:800px){
  .site-header{width:calc(100% - 32px);height:70px}.site-header nav{display:none}.nav-cta{margin-left:auto}.site-header .logo{width:125px;height:29px}
  .hero{min-height:820px;align-items:flex-start;padding-top:145px}.hero-shade{background:linear-gradient(180deg,rgba(10,12,12,.84) 0%,rgba(10,12,12,.54) 58%,rgba(10,12,12,.82) 100%)}.hero-copy{width:calc(100% - 36px);margin:0 auto}.hero h1{font-size:39px}.hero-lead{font-size:14px}.hero-form{right:18px;bottom:46px;width:calc(100% - 36px);padding:16px}.scroll-cue{display:none}
  .url-row{flex-direction:column}.url-row input,.url-row button{width:100%;height:50px}
  .section{padding:88px 18px}.section-head{margin-bottom:42px}.section-head h2,.report-copy h2,.limits h2,.final-inner h2{font-size:32px}.section-head>p:last-child{font-size:14px}
  .metric-grid{grid-template-columns:1fr}.metric-card{min-height:210px}
  .stage-visual{grid-template-columns:1fr;gap:22px}.stage-arrow{transform:rotate(90deg);height:35px;align-items:center}.stage-panel{min-height:auto}.paper-mini p{grid-template-columns:1fr;gap:5px}.score-orbit{width:170px;height:170px}.score-orbit strong{font-size:60px}
  .photo-card-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-18px;padding-right:18px;gap:12px}.photo-card{flex:0 0 82vw;height:390px;scroll-snap-align:start}
  .report-layout,.limits-layout{grid-template-columns:1fr;gap:48px}.report-sheet{padding:26px 20px;transform:none}.report-sheet>header{align-items:start;flex-direction:column;gap:8px}.report-sheet footer{grid-template-columns:1fr}
  .compare-grid,.price-wrap{grid-template-columns:1fr}.compare{min-height:360px;padding:30px}.limit-cards{grid-template-columns:1fr}.limit-cards article{min-height:auto}.limits{background-attachment:scroll}.price-main,.price-repeat{padding:30px}.price-main strong,.price-repeat strong{font-size:42px}
  .final-cta{min-height:700px}.final-inner{width:calc(100% - 36px)}.final-inner .check-form{padding:16px}
}
/* Full-width scan scene brought over from the approved motion prototype. */
.geo-scan-lab{position:relative;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.25fr);align-items:center;min-height:720px;padding:110px max(28px,calc((100vw - var(--max))/2));overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 45%,#5b1717 0,#281818 25%,#111 61%)}.geo-scan-lab::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 58%),repeating-linear-gradient(90deg,transparent 0 79px,#ffffff08 80px);pointer-events:none}.geo-scan-copy,.geo-scan-core,.geo-scan-result{position:relative;z-index:2}.geo-scan-copy h2{margin:0;font-size:clamp(42px,5vw,70px);line-height:1.08;letter-spacing:-.06em}.geo-scan-copy h2 em{color:#ff746a;font-style:normal}.geo-scan-copy>p:last-of-type{min-height:1.7em;margin:28px 0;color:#cfc6c3}.geo-axis-status{display:flex;gap:8px}.geo-axis-status span{padding:9px 13px;border:1px solid #ffffff32;border-radius:999px;color:#968e8a;font-size:12px;font-weight:850;transition:.35s}.geo-axis-status span.is-active{border-color:#ff7168;background:#d72d23;color:#fff;box-shadow:0 0 0 7px #d72d2318}.geo-scan-core{width:min(520px,82vw);aspect-ratio:1;margin:auto}.geo-orbit{position:absolute;inset:8%;border:1px solid #ffffff2e;border-radius:50%;animation:geo-rotate 14s linear infinite}.geo-orbit span{position:absolute;top:2%;left:50%;padding:7px 11px;border-radius:99px;background:#fff;color:#1e1716;font-size:11px;font-weight:950;transform:translate(-50%,-50%)}.geo-orbit.orbit-two{inset:17%;animation-direction:reverse;animation-duration:11s}.geo-orbit.orbit-three{inset:26%;animation-duration:8s}.geo-orbit.orbit-two span{top:50%;left:98%}.geo-orbit.orbit-three span{top:92%;left:50%;background:#d72d23;color:#fff}.geo-browser-sheet{position:absolute;inset:31%;overflow:hidden;border:1px solid #ffffff66;border-radius:14px;background:#f7f4f1;box-shadow:0 30px 70px #000a;transform:rotate(-3deg)}.geo-browser-sheet i{display:block;height:20%;border-bottom:1px solid #d7d1cd;background:#fff}.geo-browser-sheet b,.geo-browser-sheet strong{display:block;height:4%;margin:8% 13%;border-radius:99px;background:#d6d0cc}.geo-browser-sheet b:nth-of-type(2){width:58%}.geo-browser-sheet b:nth-of-type(3){width:74%}.geo-browser-sheet strong{height:12%;background:#ead4d1}.geo-browser-sheet em{position:absolute;left:0;right:0;top:0;height:3px;background:#ff4438;box-shadow:0 0 24px 8px #ff443888;animation:geo-beam 3.2s ease-in-out infinite}.geo-scan-result{position:absolute;right:max(28px,calc((100vw - var(--max))/2));bottom:42px;display:flex;gap:30px;padding:18px 22px;border:1px solid #ffffff25;border-radius:14px;background:#111b;backdrop-filter:blur(14px)}.geo-scan-result span{display:grid;gap:4px}.geo-scan-result small{color:#a79e9a;font-size:10px}.geo-scan-result b{font-size:13px}@keyframes geo-rotate{to{transform:rotate(360deg)}}@keyframes geo-beam{0%,100%{top:8%}50%{top:88%}}
@media(max-width:760px){.geo-scan-lab{grid-template-columns:1fr;min-height:780px;padding:76px 18px 110px}.geo-scan-copy h2{font-size:39px}.geo-scan-core{width:min(390px,94vw);margin-top:20px}.geo-scan-result{right:18px;bottom:28px;left:18px;justify-content:space-between;gap:12px;padding:14px}.geo-orbit span{font-size:10px}}
@media(max-width:900px){.check-form .url-row input{display:block;width:100%;height:50px!important;min-height:50px!important;font-size:16px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero>img{transform:none!important}}
.hero-emphasis{display:inline-block;color:#ff746a;position:relative}.hero-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:4px;background:currentColor}.price-main,.price-repeat{display:flex;flex-direction:column}.plan-cta{position:relative;z-index:2;display:flex;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid currentColor;font-size:13px;font-weight:850;text-decoration:none}.plan-cta b{color:var(--red)}
