:root{--ink:#17181a;--muted:#686b70;--line:#dedfe2;--soft-line:#e9e9eb;--paper:#ffffff;--canvas:#f5f5f3;--soft:#efefed;--accent:#315bea;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Arial,Apple SD Gothic Neo,Noto Sans KR,sans-serif;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.coming-soon{display:flex;width:min(calc(100% - 48px),var(--max));min-height:100vh;margin:0 auto;flex-direction:column}.coming-soon-footer,.coming-soon-header{display:flex;align-items:center;justify-content:space-between;color:#666970;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.coming-soon-header{min-height:88px;border-bottom:1px solid var(--line)}.coming-soon-header>span:nth-child(2){margin-right:auto}.coming-soon-mark{display:grid;width:34px;height:34px;margin-right:12px;place-items:center;border-radius:8px;color:white;background:var(--ink);font-size:13px;letter-spacing:-.06em}.coming-soon-status{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:10px}.coming-soon-main{display:grid;flex:1 1;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:center;grid-gap:clamp(60px,9vw,150px);gap:clamp(60px,9vw,150px);padding:90px 0}.coming-soon-copy{max-width:760px}.coming-soon .eyebrow{font-size:12px}.coming-soon .button{font-size:14px}.coming-soon-copy h1{max-width:760px;margin:25px 0 30px;font-size:clamp(58px,7.2vw,96px);line-height:.98;letter-spacing:-.075em}.coming-soon-lead{max-width:650px;margin:0;color:#393b3f;font-size:clamp(19px,2vw,24px);font-weight:650;line-height:1.65;letter-spacing:-.04em}.coming-soon-body{max-width:620px;margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.85}.coming-soon-action{margin-top:34px}.coming-soon-email-notice{display:inline-flex;margin:34px 0 0;padding:13px 15px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--paper);font-size:12px;font-weight:700}.coming-soon-details{border-top:1px solid var(--ink)}.coming-soon-detail{padding:24px 0;border-bottom:1px solid var(--line)}.coming-soon-detail>span{display:block;margin-bottom:11px;color:#8b8e94;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.coming-soon-detail a,.coming-soon-detail strong{font-size:18px;letter-spacing:-.035em}.coming-soon-detail a{font-weight:700;overflow-wrap:anywhere}.coming-soon-detail a:hover{color:var(--accent)}.coming-soon-detail p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.coming-soon-services ul{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:6px;list-style:none}.coming-soon-services li{padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:#5e6167;background:var(--paper);font-size:10px;font-weight:700}.coming-soon-footer{min-height:76px;border-top:1px solid var(--line);color:#8c8f94;font-size:10px}.admin-header,.site-header{position:relative;z-index:10;display:flex;width:min(calc(100% - 40px),var(--max));height:70px;margin:20px auto 0;align-items:center;justify-content:space-between;padding:0 14px 0 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94)}.brand{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.08em}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:white;background:var(--ink);letter-spacing:-.08em}.admin-header nav,.site-header nav{display:flex;gap:28px;color:#55585e;font-size:12px;font-weight:700}.admin-header nav a:hover,.site-header nav a:hover,.text-link:hover{color:var(--accent)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:750;transition:transform .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px);border-color:#aeb0b5}.button-dark{color:white;border-color:var(--ink);background:var(--ink)}.button-light{color:var(--ink);background:var(--paper)}.button-small{min-height:42px}.home-hero{display:grid;width:min(calc(100% - 40px),var(--max));min-height:720px;margin:0 auto;grid-template-columns:1.02fr .98fr;align-items:center;grid-gap:70px;gap:70px;padding:100px 0 80px}.eyebrow,.section-kicker{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero-copy h1{margin:24px 0 28px;font-size:clamp(58px,6.5vw,88px);line-height:.99;letter-spacing:-.075em}.hero-copy h1 em{color:var(--muted);font-style:normal}.hero-copy>p{max-width:620px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:8px;margin-top:34px}.hero-evidence{border:1px solid #d8d9db;border-radius:18px;background:var(--paper);box-shadow:0 22px 60px rgba(20,21,24,.07)}.evidence-foot,.evidence-head{display:grid;grid-gap:8px;gap:8px;padding:24px 26px;border-bottom:1px solid var(--soft-line)}.evidence-foot span,.evidence-head span{color:#8a8d92;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.evidence-head b{font-size:16px}.evidence-grid{padding:0 26px}.evidence-grid div{display:grid;grid-template-columns:32px 1fr;grid-gap:7px 12px;gap:7px 12px;padding:24px 0;border-bottom:1px solid var(--soft-line)}.evidence-grid div:last-child{border:0}.evidence-grid small{grid-row:1/3;color:#a1a3a8;font-size:9px;font-weight:800}.evidence-grid b{font-size:13px}.evidence-foot b,.evidence-grid span{color:var(--muted);font-size:11px;font-weight:500}.evidence-foot{border-top:1px solid var(--soft-line);border-bottom:0;background:#fafafa;border-radius:0 0 18px 18px}.section{width:min(calc(100% - 40px),var(--max));margin:0 auto;padding:120px 0}.section-heading{display:grid;grid-template-columns:1fr 430px;align-items:flex-end;grid-gap:70px;gap:70px;margin-bottom:48px}.about-section h2,.contact-section h2,.page-intro h1,.section-heading h2{max-width:720px;margin:16px 0 0;font-size:clamp(42px,5vw,64px);line-height:1.08;letter-spacing:-.06em}.section-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.text-link{display:inline-block;margin-top:14px;color:var(--ink);font-size:11px;font-weight:800}.capabilities{border-top:1px solid var(--line)}.capability-list{border-top:1px solid var(--ink)}.capability-list article{display:grid;grid-template-columns:60px 1fr 1.2fr 210px;align-items:center;grid-gap:20px;gap:20px;min-height:116px;border-bottom:1px solid var(--line)}.capability-list article>span{color:#a0a2a6;font-size:9px;font-weight:800}.capability-list h3{margin:0;font-size:17px;letter-spacing:-.04em}.capability-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.capability-list small{justify-self:end;color:#777a80;font-size:9px;font-weight:700}.featured-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:16px;gap:16px;align-items:start}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.project-card-featured .project-screenshot{aspect-ratio:16/10.5}.project-screenshot{position:relative;overflow:hidden;width:100%;aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#e8e9eb}.image-screenshot{background-position:50%;background-size:cover}.mock-browser-bar{display:flex;height:34px;align-items:center;gap:5px;padding:0 12px;border-bottom:1px solid #d7d8da;background:#f5f5f6}.mock-browser-bar span{width:6px;height:6px;border-radius:50%;background:#c7c8cb}.mock-browser-bar i{margin-left:auto;color:#999ba0;font-size:7px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}.mock-app{display:grid;height:calc(100% - 34px);grid-template-columns:42px 1fr;background:#fbfbfb}.mock-app aside{display:flex;flex-direction:column;align-items:center;gap:13px;padding-top:12px;border-right:1px solid #dedfe1;background:#202227}.mock-app aside b{display:grid;width:22px;height:22px;place-items:center;border-radius:5px;color:white;background:var(--accent);font-size:7px}.mock-app aside i{width:13px;height:3px;border-radius:3px;background:#575a61}.mock-content{padding:18px}.mock-title-row{display:flex;align-items:center;justify-content:space-between}.mock-title-row div{display:grid;grid-gap:5px;gap:5px}.mock-title-row small{color:#999ba0;font-size:6px;text-transform:uppercase}.mock-title-row b{max-width:230px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mock-title-row button{padding:5px 8px;border:0;border-radius:4px;color:white;background:var(--accent);font-size:6px}.mock-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px;margin:14px 0}.mock-metrics i{height:42px}.mock-metrics i,.mock-table{border:1px solid #e3e4e6;border-radius:5px;background:white}.mock-table{display:grid;grid-gap:7px;gap:7px;padding:11px}.mock-table b,.mock-table span{height:6px;border-radius:3px;background:#e4e5e7}.mock-table b{width:42%;background:#bcc8ef}.mock-chart{display:flex;height:85px;align-items:flex-end;gap:6px;padding:10px 12px 0;border:1px solid #e3e4e6;border-radius:5px;background:white}.mock-chart span{flex:1 1;height:50%;border-radius:3px 3px 0 0;background:#aebdec}.mock-chart span:nth-child(2n){height:78%;background:var(--accent)}.mock-flow{display:flex;min-height:80px;align-items:center;justify-content:center;gap:6px;border:1px solid #e3e4e6;border-radius:5px;background:white}.mock-flow span{padding:8px;border:1px solid #dcdde0;border-radius:4px;color:#64676d;font-size:6px}.mock-flow b{color:var(--accent);font-size:8px}.mock-assets{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px}.mock-assets i{height:84px;border:1px solid #dfe0e2;border-radius:5px;background:linear-gradient(145deg,#e8e8e8,#c9cbd0)}.mock-assets i:nth-child(2){background:#d8dfef}.mock-assets i:nth-child(3){background:#dedede}.project-card-body{padding:24px}.project-meta{display:flex;flex-wrap:wrap;gap:6px;color:#73767b;font-size:8px;letter-spacing:.07em}.badge,.project-meta{align-items:center;font-weight:800;text-transform:uppercase}.badge{display:inline-flex;min-height:22px;padding:0 7px;border:1px solid #dcdde0;border-radius:999px;color:#62656b;background:#f6f6f5;font-size:7px;letter-spacing:.04em}.status-in_progress{color:#2448bd;border-color:#cbd5f5;background:#f0f3fd}.status-completed{color:#25664e;border-color:#c8e1d7;background:#f1f8f5}.visibility-hidden{color:#8a4a4a;background:#faf0f0}.project-card h3{margin:15px 0 10px;font-size:22px;letter-spacing:-.045em}.project-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.project-role{display:grid;grid-template-columns:42px 1fr;grid-gap:8px;gap:8px;margin:20px 0;padding-top:17px;border-top:1px solid var(--soft-line);font-size:10px;line-height:1.6}.project-role dt{color:#999ba0;font-size:8px;font-weight:800;text-transform:uppercase}.project-role dd{margin:0;color:#55585e}.tech-list{display:flex;flex-wrap:wrap;gap:5px}.tech-list span{padding:6px 8px;border-radius:4px;color:#6a6d72;background:#f1f1f0;font-size:8px;font-weight:700}.process-section{border-top:1px solid var(--line)}.process-list{display:grid;margin:0;padding:0;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);list-style:none}.process-list li{min-height:220px;padding:25px 24px;border-right:1px solid var(--line)}.process-list li:last-child{border-right:0}.process-list span{display:block;margin-bottom:55px;color:#9c9ea3;font-size:9px;font-weight:800}.process-list b{font-size:15px}.process-list p{color:var(--muted);font-size:11px;line-height:1.7}.about-section{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:100px;gap:100px;border-top:1px solid var(--line)}.about-copy{padding-top:26px}.about-copy>p{color:var(--muted);font-size:14px;line-height:1.9}.about-copy>p:first-child{color:var(--ink);font-size:19px;font-weight:650}.about-copy dl{margin-top:35px;border-top:1px solid var(--line)}.about-copy dl div{display:grid;grid-template-columns:80px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:10px}.about-copy dt{color:#999ba0;font-weight:800;text-transform:uppercase}.about-copy dd{margin:0}.contact-section{width:min(calc(100% - 40px),var(--max));margin:40px auto 20px;padding:80px;border-radius:18px;color:white;background:var(--ink)}.contact-section .section-kicker{color:#9fb1ff}.contact-section h2{max-width:750px}.contact-section p{margin:22px 0 30px;color:#a5a7ab;font-size:13px}.contact-section .button-dark{color:var(--ink);border-color:white;background:white}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:34px 0 45px;color:#85878c;font-size:9px}.page-intro,.site-footer{width:min(calc(100% - 40px),var(--max));margin:0 auto}.page-intro{padding:120px 0 80px;border-bottom:1px solid var(--line)}.page-intro p{max-width:620px;margin:25px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.work-page-section{padding-top:34px}.filter-bar{display:flex;align-items:flex-end;gap:10px;margin-bottom:26px}.filter-bar label{display:grid;grid-gap:7px;gap:7px;color:#8d8f94;font-size:8px;font-weight:800;text-transform:uppercase}.filter-bar select{min-width:160px;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:white;font-size:10px}.filter-bar>span{margin-left:auto;color:#8d8f94;font-size:9px}.project-detail{width:min(calc(100% - 40px),var(--max));margin:0 auto;padding:110px 0 80px}.detail-intro{max-width:900px}.detail-intro h1{margin:20px 0;font-size:clamp(48px,7vw,82px);line-height:1;letter-spacing:-.07em}.detail-intro>p{max-width:720px;color:var(--muted);font-size:16px;line-height:1.8}.detail-intro dl{display:grid;grid-template-columns:.5fr 1.5fr 1fr;margin:45px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-intro dl div{padding:18px 18px 18px 0;border-right:1px solid var(--line)}.detail-intro dl div:not(:first-child){padding-left:18px}.detail-intro dl div:last-child{border-right:0}.detail-intro dt{margin-bottom:8px;color:#999ba0;font-size:8px;font-weight:800;text-transform:uppercase}.detail-intro dd{margin:0;font-size:10px;line-height:1.6;text-transform:capitalize}.detail-cover{aspect-ratio:16/9;border:1px solid var(--line);border-radius:15px}.detail-content{display:grid;grid-template-columns:240px 1fr;grid-gap:100px;gap:100px;padding:80px 0}.detail-content aside{align-self:start;padding:18px;border:1px solid var(--line);border-radius:10px;background:white}.detail-content aside span,.detail-content section>span{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.detail-content aside p{color:var(--muted);font-size:10px;line-height:1.7}.detail-content section{padding:0 0 52px}.detail-content section h2{margin:13px 0;font-size:28px;letter-spacing:-.05em}.detail-content section p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.detail-gallery .project-screenshot{border:1px solid var(--line);border-radius:12px}.not-found{display:grid;min-height:70vh;place-content:center;justify-items:center;text-align:center}.not-found span{color:var(--accent);font-size:10px;font-weight:800}.not-found h1{font-size:34px}.empty-state{padding:50px;border:1px dashed #cfd0d3;border-radius:12px;color:var(--muted);background:white;text-align:center;font-size:12px}.admin-shell{min-height:100vh;background:#f1f2f3}.admin-header{width:100%;height:64px;margin:0;padding:0 28px;border-width:0 0 1px;border-radius:0}.admin-content{width:min(calc(100% - 40px),1380px);margin:0 auto;padding:55px 0 90px}.admin-toolbar,.form-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.admin-toolbar h1,.form-header h1{margin:0;font-size:34px;letter-spacing:-.05em}.admin-toolbar p{margin:8px 0 0;color:var(--muted);font-size:11px}.admin-toolbar>div:last-child,.form-header>div:last-child{display:flex;gap:7px}.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.admin-table{width:100%;min-width:1000px;border-collapse:collapse}.admin-table th{height:42px;padding:0 14px;color:#8c8e93;background:#f8f8f8;font-size:8px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.admin-table td{padding:18px 14px;border-top:1px solid var(--soft-line);color:#65686e;font-size:10px;vertical-align:middle}.admin-table td:nth-child(2){min-width:270px}.admin-table td b,.admin-table td span{display:block}.admin-table td b{margin-bottom:7px;color:var(--ink);font-size:12px}.admin-table td small{display:block;margin-top:7px;color:#999ba0;font-size:8px}.admin-table .badge{display:inline-flex}.table-actions{display:flex;gap:10px}.table-actions a,.table-actions button{padding:0;border:0;color:#4f586e;background:transparent;font-size:9px;font-weight:750}.table-actions .danger{color:#a24d4d}.admin-note{color:#8c8e93;font-size:9px;line-height:1.7}.form-header span{display:block;margin-bottom:7px;color:var(--accent);font-size:8px;font-weight:800;text-transform:uppercase}.form-layout{grid-template-columns:1fr 330px;align-items:start}.form-layout,.form-main{display:grid;grid-gap:18px;gap:18px}.form-sidebar{position:-webkit-sticky;position:sticky;top:18px}.form-section{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:white}.form-section h2{margin:0;padding:16px 18px;border-bottom:1px solid var(--soft-line);font-size:12px}.form-section>div{display:grid;grid-gap:17px;gap:17px;padding:20px}.field{display:grid;grid-gap:7px;gap:7px;color:#575a60;font-size:9px;font-weight:750}.field small,.field-help{color:#999ba0;font-size:8px;font-weight:500}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #d8d9dc;border-radius:6px;outline:none;color:var(--ink);background:white;font-size:11px;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,91,234,.08)}.field textarea{resize:vertical;line-height:1.6}.field-row{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:13px;gap:13px}.check-field{display:flex;gap:9px;padding:11px;border:1px solid var(--soft-line);border-radius:7px}.check-field input{margin:2px 0 0}.check-field span{display:grid;grid-gap:5px;gap:5px}.check-field b{font-size:9px}.check-field small{color:#999ba0;font-size:8px;line-height:1.5}@media (max-width:980px){.coming-soon-main{grid-template-columns:1fr;gap:70px;padding:80px 0}.coming-soon-details{max-width:620px}.about-section,.form-layout,.home-hero,.section-heading{grid-template-columns:1fr}.home-hero{gap:50px;padding:80px 0}.hero-evidence{max-width:660px}.section-heading{gap:20px}.capability-list article{grid-template-columns:45px 1fr;gap:12px;padding:24px 0}.capability-list p,.capability-list small{grid-column:2;justify-self:start}.featured-grid,.work-grid{grid-template-columns:1fr}.process-list{grid-template-columns:repeat(2,1fr)}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(-n+2){border-bottom:1px solid var(--line)}.detail-content{grid-template-columns:1fr;gap:35px}.detail-content aside{max-width:350px}.form-sidebar{position:static}}@media (max-width:640px){.coming-soon{width:calc(100% - 28px)}.coming-soon-header{min-height:72px}.coming-soon-header>span:nth-child(2){font-size:10px}.coming-soon-status{display:none}.coming-soon-main{gap:58px;padding:64px 0}.coming-soon-copy h1{margin:20px 0 24px;font-size:49px}.coming-soon-lead{font-size:18px}.coming-soon-footer{min-height:86px;align-items:flex-start;flex-direction:column;justify-content:center;gap:8px}.site-header{width:calc(100% - 20px);height:58px;margin-top:10px}.site-header .button,.site-header nav{display:none}.contact-section,.home-hero,.page-intro,.project-detail,.section,.site-footer{width:calc(100% - 28px)}.home-hero{min-height:auto;padding:80px 0}.hero-copy h1{font-size:48px}.hero-copy>p{font-size:14px}.hero-actions{flex-direction:column}.section{padding:80px 0}.about-section h2,.contact-section h2,.page-intro h1,.section-heading h2{font-size:38px}.capability-list article{grid-template-columns:32px 1fr}.process-list{grid-template-columns:1fr}.process-list li{min-height:190px;border-right:0;border-bottom:1px solid var(--line)}.process-list span{margin-bottom:35px}.contact-section{padding:55px 25px}.site-footer{flex-direction:column;gap:14px;align-items:flex-start}.filter-bar{flex-wrap:wrap}.filter-bar label,.filter-bar select{width:100%}.filter-bar>span{margin-left:0}.detail-intro h1{font-size:48px}.detail-intro dl{grid-template-columns:1fr}.detail-intro dl div,.detail-intro dl div:not(:first-child){padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.detail-gallery{grid-template-columns:1fr}.admin-header{padding:0 14px}.admin-header nav{gap:12px}.admin-content{width:calc(100% - 24px);padding-top:30px}.admin-toolbar,.form-header{align-items:flex-start;flex-direction:column}.admin-toolbar>div:last-child,.form-header>div:last-child{width:100%}.admin-toolbar .button,.form-header .button{flex:1 1}.field-row{grid-template-columns:1fr}}