:root{--paper:#f4f7f8;--paper-deep:#eceff1;--ink:#223246;--ink-soft:#3f4e5f;--muted:#5d6978;--brand:#2b4c73;--brand-deep:#223b5a;--sky:#8caac9;--sky-soft:#c1d2e0;--detail:#e4ebef;--line:#ced4d8;--line-strong:#223246;--sans:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Segoe UI",sans-serif;--serif:Georgia,"Times New Roman","Apple SD Gothic Neo","Malgun Gothic",serif;--measure:1160px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.7}a{color:inherit}img{max-width:100%;height:auto}::selection{background:var(--brand);color:#fff}:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--measure);margin:0 auto;padding:0 clamp(20px,4vw,44px)}.skip-link{z-index:200;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:14px;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.sketch-badge{background:var(--sky);color:#223246;letter-spacing:.05em;text-align:center;word-break:keep-all;justify-content:center;padding:7px 16px;font-size:12.5px;display:flex}.sketch-badge strong{font-weight:700}.sketch-badge :focus-visible{outline-color:var(--paper)}.masthead{border-bottom:3px solid var(--line-strong);background:var(--paper);z-index:100;position:sticky;top:0}.masthead-inner{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.brand{flex-shrink:0;align-items:center;min-height:56px;text-decoration:none;display:flex}.brand-lockup{width:clamp(170px,22vw,244px);max-width:none;height:auto;display:block}.brand-lockup-footer{width:210px;max-width:100%;height:auto;margin-bottom:10px;display:block}.nav-toggle{border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:0;min-width:44px;min-height:44px;padding:10px 12px;display:none}.nav-toggle span{background:var(--ink);width:20px;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.site-nav a{color:var(--ink-soft);border-bottom:2px solid #0000;align-items:center;min-height:44px;padding:10px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--brand);border-bottom-color:var(--brand)}.btn{border:1.5px solid var(--ink);min-height:44px;font-family:var(--sans);letter-spacing:.01em;cursor:pointer;background:var(--paper);color:var(--ink);border-radius:0;justify-content:center;align-items:center;gap:8px;padding:12px 26px;font-size:15px;font-weight:700;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn:active{transform:translateY(1px)}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}.btn-brand:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.btn-inv{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-inv:hover{background:var(--brand);border-color:var(--brand);color:#fff}.btn-nav{min-height:44px;padding:9px 20px}.hero{border-bottom:1px solid var(--line);padding:clamp(48px,7vw,88px) 0 clamp(36px,5vw,56px)}.wrap.hero{padding-inline:clamp(20px,4vw,44px)}.hero-kicker{letter-spacing:.16em;color:var(--brand);text-transform:uppercase;word-break:keep-all;overflow-wrap:anywhere;align-items:center;gap:16px;margin-bottom:clamp(24px,4vw,40px);font-size:13px;font-weight:700;display:flex}.hero-kicker:after{content:"";background:var(--line-strong);flex:1;height:1px}h1{letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(2.1rem,6vw,4.6rem);font-weight:900;line-height:1.12}h1 .blue{color:var(--brand)}h1 .thin{color:var(--ink-soft);letter-spacing:-.02em;font-weight:400;display:block}.hero-cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,44px);display:grid}.hero-lead{color:var(--ink-soft);word-break:keep-all;max-width:32em;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.75}.hero-lead strong{color:var(--ink)}.hero-side{border-left:3px solid var(--sky);padding-left:clamp(16px,2vw,24px)}.hero-side h2{letter-spacing:.1em;color:var(--brand);text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:800}.hero-side p{color:var(--muted);word-break:keep-all;margin-bottom:12px;font-size:14px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-visual{margin-top:clamp(32px,5vw,52px)}.storyboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,18px);display:grid}.frame{border:1.5px solid var(--ink);background:#fff;flex-direction:column;gap:10px;min-width:0;padding:clamp(10px,1.6vw,16px);display:flex}.frame svg{width:100%;height:auto;display:block}.frame-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:700;display:flex}.visual-caption{color:var(--muted);margin-top:12px;font-size:12.5px}.chapter{border-bottom:1px solid var(--line);padding:clamp(48px,7vw,88px) 0}.chapter-head{grid-template-columns:minmax(0,120px) minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,40px);margin-bottom:clamp(28px,4vw,48px);display:grid}.chapter-no{font-family:var(--serif);color:var(--brand);font-size:clamp(2rem,4vw,3.2rem);font-style:italic;line-height:1}.chapter-no:after{content:"";background:var(--detail);width:44px;height:3px;margin-top:12px;display:block}h2{letter-spacing:-.025em;word-break:keep-all;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:850;line-height:1.22}.chapter-kicker{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:12px;font-size:12.5px;font-weight:700}.chapter-sub{color:var(--ink-soft);word-break:keep-all;max-width:40em;margin-top:14px}.chapter-sub strong{color:var(--ink)}.tablist{border:1.5px solid var(--ink);border-bottom:none;flex-wrap:wrap;gap:0;display:flex}.tablist [role=tab]{background:var(--paper);min-height:44px;color:var(--ink-soft);border:none;border-bottom:1.5px solid var(--ink);font-family:var(--sans);letter-spacing:-.01em;cursor:pointer;text-align:left;flex:180px;padding:14px 18px;font-size:15px;font-weight:700;transition:background .15s,color .15s}.tablist [role=tab]+[role=tab]{border-left:1.5px solid var(--ink)}.tablist [role=tab][aria-selected=true]{background:var(--brand);color:#fff;border-bottom-color:var(--brand)}.tablist [role=tab]:hover{background:var(--detail);color:var(--ink)}.tablist [role=tab][aria-selected=true]:hover{background:var(--brand-deep);color:#fff}.tabpanel{border:1.5px solid var(--ink);background:#fff;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,44px);padding:clamp(22px,3.5vw,36px);display:grid}.tabpanel[hidden]{display:none}.tabpanel h3{letter-spacing:-.02em;word-break:keep-all;margin-bottom:10px;font-size:clamp(1.15rem,2vw,1.4rem)}.tabpanel .tab-desc{color:var(--ink-soft);word-break:keep-all;max-width:36em;font-size:.97rem}.tab-points{border-top:3px solid var(--ink);padding-top:16px}.tab-points h4{letter-spacing:.1em;color:var(--brand);text-transform:uppercase;margin-bottom:10px;font-size:12.5px;font-weight:800}.tab-points ul{list-style:none}.tab-points li{color:var(--ink-soft);word-break:keep-all;border-bottom:1px solid var(--line);padding:7px 0 7px 18px;font-size:.92rem;position:relative}.tab-points li:before{content:"";background:var(--sky);width:8px;height:2px;position:absolute;top:16px;left:0}.tab-points li:last-child{border-bottom:none}.flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:clamp(10px,1.6vw,18px);margin-bottom:clamp(24px,3.5vw,40px);display:grid}.flow-node{border:1.5px solid var(--ink);background:#fff;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:clamp(16px,2.4vw,24px);display:flex}.flow-node .flow-tag{letter-spacing:.12em;color:var(--brand);text-transform:uppercase;font-size:11.5px;font-weight:800}.flow-node h3{letter-spacing:-.015em;word-break:keep-all;font-size:clamp(1.05rem,1.8vw,1.3rem)}.flow-node p{color:var(--muted);word-break:keep-all;font-size:.88rem}.flow-node.is-brand{background:var(--brand);border-color:var(--brand);color:#fff}.flow-node.is-brand .flow-tag{color:var(--sky-soft)}.flow-node.is-brand p{color:var(--detail)}.flow-arrow{color:var(--brand);flex:none;justify-content:center;align-items:center;display:flex}.flow-arrow svg{width:clamp(20px,3vw,34px);height:auto;display:block}.dev-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);display:grid}.dev-item{border-top:3px solid var(--ink);padding-top:16px}.dev-item h3{letter-spacing:.1em;color:var(--brand);text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:800}.dev-item p{color:var(--ink-soft);word-break:keep-all;font-size:.95rem}.code-grid{border:1.5px solid var(--ink);background:#fff;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,44px);margin-top:clamp(24px,3.5vw,40px);padding:clamp(22px,3.5vw,36px);display:grid}.code-grid>*{min-width:0}.code-panel h3{letter-spacing:-.015em;word-break:keep-all;margin-bottom:10px;font-size:clamp(1.05rem,1.8vw,1.3rem)}.code-desc{color:var(--ink-soft);word-break:keep-all;margin-bottom:14px;font-size:.95rem}.code-block{background:var(--paper-deep);border:1px solid var(--line);-webkit-overflow-scrolling:touch;max-width:100%;margin:0;padding:16px 18px;overflow-x:auto}.code-block code{color:var(--ink);white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.65}.code-note{color:var(--muted);word-break:keep-all;margin-top:12px;font-size:.86rem}.code-conditions{color:var(--muted);word-break:keep-all;margin-top:14px;font-size:.88rem}.use-rows{border-top:3px solid var(--line-strong)}.use-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr);align-items:baseline;gap:clamp(16px,3vw,48px);padding:clamp(22px,3vw,32px) 0;display:grid}.use-row h3{letter-spacing:-.02em;word-break:keep-all;font-size:clamp(1.15rem,2vw,1.4rem)}.use-row h3 span{color:var(--brand)}.use-row p{color:var(--ink-soft);word-break:keep-all;max-width:40em;font-size:.96rem}.road{counter-reset:road;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,28px);margin-top:8px;list-style:none;display:grid}.road li{border-top:3px solid var(--ink);min-width:0;padding-top:18px}.road li:before{counter-increment:road;content:counter(road,decimal-leading-zero);font-family:var(--serif);color:var(--brand);margin-bottom:10px;font-size:1.6rem;font-style:italic;line-height:1;display:block}.road h3{letter-spacing:-.012em;word-break:keep-all;margin-bottom:8px;font-size:1.05rem}.road p{color:var(--muted);word-break:keep-all;font-size:.9rem}.road-note{color:var(--muted);word-break:keep-all;margin-top:24px;font-size:13.5px}.faq{max-width:54em}details[data-faq]{border-bottom:1px solid var(--line)}details[data-faq]:first-of-type{border-top:2px solid var(--ink)}details[data-faq] summary{cursor:pointer;letter-spacing:-.012em;word-break:keep-all;align-items:baseline;gap:16px;min-height:44px;padding:18px 2px;font-size:1.05rem;font-weight:750;list-style:none;display:flex}details[data-faq] summary::-webkit-details-marker{display:none}details[data-faq] summary:before{content:"Q.";font-family:var(--serif);color:var(--brand);flex:none;font-size:1.05rem;font-style:italic}details[data-faq] summary span{flex:1}details[data-faq] summary:after{content:"열기";letter-spacing:.08em;color:var(--muted);flex:none;font-size:12px;font-weight:700}details[data-faq][open] summary:after{content:"닫기";color:var(--brand)}details[data-faq] .faq-a{color:var(--ink-soft);word-break:keep-all;max-width:44em;padding:0 2px 24px 44px;font-size:.96rem}.closing{background:var(--brand);color:var(--paper);padding:clamp(56px,8vw,96px) 0}.closing .hero-kicker{color:var(--sky-soft)}.closing .hero-kicker:after{background:var(--detail)}.closing h2{letter-spacing:-.028em;color:var(--paper);word-break:keep-all;max-width:16em;font-size:clamp(1.8rem,4.6vw,3.4rem);font-weight:900;line-height:1.18}.closing h2 .sky{color:var(--sky)}.closing p{color:var(--paper);word-break:keep-all;max-width:36em;margin-top:18px}.closing .btn{margin-top:30px}.closing :focus-visible{outline-color:var(--sky-soft)}.closing .btn-brand{background:var(--paper);border-color:var(--paper);color:var(--brand-deep)}.closing .btn-brand:hover{background:var(--detail);border-color:var(--detail);color:var(--brand-deep)}.colophon{background:var(--paper);padding:36px 0 48px}.colophon-rule{background:var(--ink);height:3px;margin-bottom:28px}.colophon-grid{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:13.5px;display:flex}.colophon-grid p{word-break:keep-all;max-width:58em}.colophon-grid .domain{color:var(--ink);font-weight:700}dialog#contact-dialog{overscroll-behavior:contain;border:2px solid var(--ink);background:var(--paper);width:min(560px,100vw - 40px);max-height:calc(100dvh - 40px);color:var(--ink);border-radius:0;margin:auto;padding:0;overflow-y:auto;box-shadow:12px 12px #223246e6}dialog#contact-dialog::backdrop{background:#2232468c}.dialog-head{padding:24px 28px 0}.dialog-tag{letter-spacing:.14em;color:var(--brand);text-transform:uppercase;font-size:12px;font-weight:800}.dialog-head h2{letter-spacing:-.02em;margin-top:8px;font-size:1.5rem;font-weight:900}.dialog-notice{border:1.5px dashed var(--brand);color:var(--brand-deep);word-break:keep-all;margin:16px 28px 0;padding:13px 15px;font-size:13.5px;line-height:1.6}.dialog-body{gap:15px;padding:22px 28px 28px;display:grid}.dialog-body>p{color:var(--ink-soft);word-break:keep-all;font-size:14px}.checklist{gap:10px;list-style:none;display:grid}.checklist li{border:1px solid var(--line);color:var(--ink-soft);word-break:keep-all;background:#fff;padding:12px 14px 12px 40px;font-size:.92rem;position:relative}.checklist li:before{content:"";border:2px solid var(--brand);width:10px;height:10px;position:absolute;top:17px;left:14px}.checklist li strong{color:var(--ink)}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=920px){.hero-cols,.tabpanel{grid-template-columns:1fr}.code-grid{grid-template-columns:minmax(0,1fr)}.dev-grid{grid-template-columns:1fr}.use-row{grid-template-columns:1fr;gap:8px}.flow{grid-template-columns:1fr}.flow-arrow{padding:2px 0;transform:rotate(90deg)}}@media (width<=720px){.nav-toggle{display:block}.masthead-inner{position:relative}.site-nav{background:var(--paper);border-bottom:3px solid var(--line-strong);flex-flow:column;align-items:stretch;gap:0;padding:8px 20px 16px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.open{display:flex}.site-nav a{border-bottom:1px solid var(--line)}.site-nav .btn-nav{justify-content:center;margin-top:10px}.chapter-head{grid-template-columns:1fr;gap:14px}.storyboard{grid-template-columns:repeat(3,minmax(0,1fr))}.frame{gap:6px;padding:8px}.frame-label{flex-direction:column;gap:0;font-size:10px}.road{grid-template-columns:1fr}}@media (width<=520px){.hero-actions .btn{width:100%}details[data-faq] .faq-a{padding-left:2px}.tablist{flex-direction:column}.tablist [role=tab]{flex:none;min-height:48px}.tablist [role=tab]+[role=tab]{border-left:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.inquiry-form{gap:14px;display:grid}.inquiry-form .field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.inquiry-form .field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.inquiry-form label,.inquiry-form legend{color:var(--ink);font-size:13.5px;font-weight:700}.inquiry-form legend{margin-bottom:6px}.inquiry-form .req{color:var(--brand);margin-left:4px;font-size:11.5px;font-weight:800}.inquiry-form input[type=text],.inquiry-form input[type=email],.inquiry-form input[type=tel],.inquiry-form textarea{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--ink);background:#fff;border-radius:0;padding:10px 12px;font-size:15px}.inquiry-form textarea{resize:vertical;min-height:110px}.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{outline:3px solid var(--brand);outline-offset:1px}.inquiry-form [aria-invalid=true]{border-color:#a3302a}.inquiry-form .check-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inquiry-form .check{cursor:pointer;border:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:600;display:flex}.inquiry-form .consent .check{background:0 0;border:none;padding:0}.inquiry-form input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);flex:none}.field-error{color:#a3302a;font-size:13px;font-weight:600}.form-error{color:#a3302a;word-break:keep-all;background:#fff;border:1.5px solid #a3302a;padding:11px 14px;font-size:13.5px}.consent-notice{color:var(--ink-soft);border:1px solid var(--line);background:#fff;padding:8px 12px;font-size:13px}.consent-notice summary{cursor:pointer;color:var(--brand);font-weight:700}.consent-notice p{word-break:keep-all;margin-top:6px}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.inquiry-success{border:1.5px solid var(--ink);background:#fff;gap:12px;padding:18px;display:grid}.inquiry-success[hidden]{display:none}.inquiry-success .success-title{color:var(--brand);font-size:1.1rem;font-weight:900}.inquiry-success p{color:var(--ink-soft);word-break:keep-all;font-size:14px}.btn[disabled]{opacity:.6;cursor:progress}@media (width<=560px){.inquiry-form .field-row,.inquiry-form .check-grid{grid-template-columns:1fr}}#contact-dialog .dialog-intro{margin:0 0 16px}.consent-notice ul{margin:8px 0 0;padding-left:18px}.consent-notice li{margin:4px 0}.form-fallback{margin:12px 0 0;font-size:.85rem}.colophon-policy a{color:var(--ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.consent-notice .consent-policy-link{margin-top:10px}
