:root{--paper:#f3ede1;--paper-deep:#e9decb;--ink:#12233f;--ink-soft:#34445d;--vermilion:#d94a31;--jade:#2d735f;--line:rgba(18,35,63,.22);--serif:"Iropke Batang","KoPub Batang","Batang",Georgia,serif;--sans:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;--mono:"Cascadia Mono",Consolas,monospace;--progress:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);word-break:keep-all;overflow-wrap:break-word;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--vermilion);outline-offset:4px}
.skip{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.8rem 1rem;background:var(--ink);color:var(--paper)}
.skip:focus{top:1rem}
.progress{position:fixed;top:0;left:0;z-index:90;height:3px;width:calc(var(--progress)*1%);background:var(--vermilion);transition:width .08s linear}
.shell{width:min(1440px,100%);margin:auto;border-inline:1px solid var(--line);min-height:100vh}
.header{height:82px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:30;background:rgba(243,237,225,.94);backdrop-filter:blur(12px)}
.logo{display:flex;align-items:center;padding:0 28px;height:100%;border-right:1px solid var(--line)}
.logo img{width:178px;height:auto}
.nav{display:flex;justify-content:center;gap:clamp(18px,3vw,48px);font-size:14px;font-weight:700;letter-spacing:-.02em}
.nav a{position:relative;padding:10px 0}
.nav a::after,.text-link::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.nav a:hover::after,.nav a:focus-visible::after,.text-link:hover::after{transform:scaleX(1);transform-origin:left}
.call-top{align-self:stretch;display:flex;align-items:center;gap:14px;padding:0 26px;background:var(--vermilion);color:#fff;font-weight:800}
.call-top small{font:700 10px/1 var(--mono);letter-spacing:.18em}
.atlas-hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.hero-copy{padding:clamp(70px,8vw,126px) clamp(28px,6vw,94px) 70px;display:flex;flex-direction:column;justify-content:center;position:relative}
.route-kicker{font:700 11px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--jade);display:flex;align-items:center;gap:13px}
.route-kicker::before{content:"";width:42px;height:1px;background:var(--jade)}
.display{font-family:var(--serif);font-size:clamp(52px,6.3vw,104px);line-height:.98;letter-spacing:-.065em;font-weight:400;margin:32px 0 30px;text-wrap:balance}
.display span{display:block}
.display .display-context{font:700 clamp(10px,1vw,13px)/1.35 var(--mono);letter-spacing:.14em;color:var(--jade);text-transform:uppercase;margin-bottom:18px}
.display em{font-style:normal;color:var(--vermilion)}
.hero-deck{max-width:610px;font-size:clamp(16px,1.35vw,20px);line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.button{min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--ink);font-weight:800;font-size:14px;transition:background .25s,color .25s,transform .25s}
.button::after{content:"↗";font-family:var(--mono);transition:transform .25s}
.button:hover{transform:translateY(-2px)}
.button:hover::after{transform:translate(3px,-3px)}
.button--primary{background:var(--ink);color:var(--paper)}
.button--accent{background:var(--vermilion);border-color:var(--vermilion);color:#fff}
.folio{position:absolute;left:26px;bottom:22px;font:700 10px/1 var(--mono);letter-spacing:.18em;color:var(--ink-soft)}
.hero-media{position:relative;min-height:620px;overflow:hidden;background:var(--ink)}
.hero-media::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,rgba(18,35,63,.06),rgba(18,35,63,.48));pointer-events:none}
.hero-media::after{content:"";position:absolute;inset:22px;border:1px solid rgba(243,237,225,.6);z-index:3;clip-path:polygon(0 0,72% 0,72% 1px,100% 1px,100% 100%,28% 100%,28% calc(100% - 1px),0 calc(100% - 1px))}
.hero-media img{width:100%;height:115%;object-fit:cover;object-position:center 28%;transform:translateY(calc(var(--parallax,0)*-1px)) scale(1.015)}
.media-label{position:absolute;z-index:4;left:0;bottom:0;background:var(--jade);color:#fff;padding:18px 24px;font:700 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.route-axis{position:absolute;top:22px;right:22px;z-index:4;writing-mode:vertical-rl;color:#fff;font:700 10px/1 var(--mono);letter-spacing:.2em}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.fact{padding:32px clamp(18px,3vw,46px);min-height:130px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.fact:last-child{border-right:0}
.fact b{font:400 clamp(26px,3vw,44px)/1 var(--serif);letter-spacing:-.04em}
.fact span{font:700 10px/1.4 var(--mono);letter-spacing:.13em;color:var(--jade)}
.section{padding:clamp(76px,9vw,138px) clamp(24px,6vw,88px);border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(240px,420px);gap:40px;align-items:start;margin-bottom:58px}
.section-no{font:700 11px/1 var(--mono);letter-spacing:.16em;color:var(--jade);padding-top:10px}
.section h2{font:400 clamp(38px,5.2vw,76px)/1.05 var(--serif);letter-spacing:-.055em;margin:0;text-wrap:balance}
.section-head p{margin:8px 0 0;font-size:16px;line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.route-ledger{border-top:2px solid var(--ink)}
.route-row{display:grid;grid-template-columns:70px minmax(0,1fr) 160px 28px;gap:18px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line);transition:padding .25s,background .25s,color .25s}
.route-row:hover{padding-left:18px;background:var(--ink);color:var(--paper)}
.route-row .index{font:700 10px/1 var(--mono);color:var(--jade)}
.route-row:hover .index{color:#86c5ac}
.route-row strong{font:400 clamp(22px,2.2vw,34px)/1.2 var(--serif);letter-spacing:-.035em}
.route-row small{font:700 10px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:right}
.route-row i{font-style:normal;font-size:20px;transition:transform .25s}
.route-row:hover i{transform:translateX(5px)}
.local-copy{display:grid;grid-template-columns:minmax(0,.78fr) minmax(320px,1.22fr);gap:clamp(40px,8vw,120px);align-items:start;background:var(--ink);color:var(--paper)}
.local-copy h2{color:var(--paper)}
.copy-lines{border-top:1px solid rgba(243,237,225,.35)}
.copy-lines p{margin:0;padding:26px 0;border-bottom:1px solid rgba(243,237,225,.22);font-size:17px;line-height:1.9;text-wrap:pretty}
.copy-lines p::before{content:"◆";color:#80b9a4;font-size:9px;margin-right:14px;vertical-align:2px}
.field-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(243,237,225,.35)}
.field-facts span{padding:26px 0;border-bottom:1px solid rgba(243,237,225,.22);font:700 13px/1.5 var(--mono);letter-spacing:.08em}
.field-facts span:nth-child(odd){padding-right:18px}
.price-wrap{display:grid;grid-template-columns:minmax(200px,.45fr) minmax(0,1fr);gap:clamp(36px,8vw,120px)}
.price-note{position:sticky;top:110px;align-self:start}
.price-note b{display:block;font:400 clamp(32px,4vw,58px)/1 var(--serif);letter-spacing:-.04em;margin-bottom:24px}
.price-note p{line-height:1.8;color:var(--ink-soft);margin:0}
.price-table{border-top:2px solid var(--ink)}
.price-course{display:grid;grid-template-columns:140px repeat(3,1fr);border-bottom:1px solid var(--line);align-items:stretch}
.price-course>*{padding:22px 16px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.price-course>*:last-child{border-right:0}
.price-course strong{justify-content:flex-start;font:400 28px/1 var(--serif)}
.price-course span{font:700 12px/1.4 var(--mono);flex-direction:column;gap:8px}
.price-course small{color:var(--jade);font-size:10px;letter-spacing:.08em}
.process{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.step{min-height:250px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.step:last-child{border-right:0}
.step::before{content:attr(data-step);position:absolute;right:20px;top:18px;font:400 60px/1 var(--serif);color:var(--paper-deep)}
.step b{position:relative;display:block;margin-top:80px;font:400 26px/1.2 var(--serif)}
.step p{position:relative;font-size:14px;line-height:1.75;color:var(--ink-soft);max-width:260px}
.cta{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);min-height:360px;background:var(--jade);color:#fff;padding:0;border-bottom:1px solid var(--line)}
.cta-copy{padding:clamp(54px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.cta h2{font:400 clamp(42px,6vw,86px)/1 var(--serif);letter-spacing:-.055em;margin:0 0 24px;text-wrap:balance}
.cta p{max-width:640px;font-size:16px;line-height:1.8;margin:0;color:rgba(255,255,255,.82)}
.cta-route{font:700 12px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.cta-route small{display:block;margin-top:6px;font:inherit;color:rgba(255,255,255,.58)}
.cta-action{display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.35);background:var(--vermilion);font:400 clamp(28px,3vw,46px)/1.2 var(--serif);text-align:center;padding:40px;transition:background .25s}
.cta-action:hover{background:var(--ink)}
.footer{padding:42px clamp(24px,6vw,88px) 110px;display:grid;grid-template-columns:1fr auto;gap:30px;border-top:1px solid var(--line)}
.footer strong{font:400 24px/1 var(--serif)}
.footer p{font-size:12px;line-height:1.8;color:var(--ink-soft);margin:12px 0 0}
.footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;font-weight:700;align-items:start}
.mobile-dock{display:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal.is-visible{opacity:1;transform:none}
.mask-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1)}
.mask-reveal.is-visible{clip-path:inset(0 0 0 0)}
.utility-main{min-height:calc(100vh - 82px);padding:clamp(70px,10vw,150px) clamp(24px,9vw,140px)}
.utility-main .display{max-width:940px}
.utility-grid{margin-top:70px;display:grid;grid-template-columns:220px minmax(0,720px);gap:50px;border-top:2px solid var(--ink);padding-top:30px}
.utility-grid h2{font:400 28px/1.3 var(--serif);margin:0}
.utility-grid p,.utility-grid li{line-height:1.9;color:var(--ink-soft)}
.utility-grid ul{padding-left:20px;margin-top:0}
.area-groups{display:grid;gap:80px}
.area-group h3{font:400 clamp(34px,4vw,56px)/1 var(--serif);margin:0 0 25px}
.empty-note{padding:60px 0;border-block:1px solid var(--line);font:400 24px/1.5 var(--serif)}
@media(max-width:900px){.header{grid-template-columns:1fr auto;height:68px}.logo{border-right:0;padding:0 18px}.logo img{width:154px}.nav{display:none}.call-top{padding:0 18px}.atlas-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:48px 22px 42px;min-height:auto}.hero-media{min-height:350px;order:-1;clip-path:polygon(0 0,100% 0,100% 92%,72% 100%,0 100%)}.hero-media::after{inset:14px}.display{font-size:clamp(48px,12vw,78px)}.folio{display:none}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding:74px 22px}.section-head{grid-template-columns:1fr;gap:14px;margin-bottom:38px}.section-no{padding:0}.local-copy{grid-template-columns:1fr}.price-wrap{grid-template-columns:1fr}.price-note{position:static}.process{grid-template-columns:1fr}.step{min-height:200px;border-right:0}.price-course{grid-template-columns:100px repeat(3,1fr)}.price-course>*{padding:18px 8px}.price-course strong{font-size:21px}.cta{grid-template-columns:1fr}.cta-action{border-left:0;border-top:1px solid rgba(255,255,255,.35);min-height:150px}.footer{grid-template-columns:1fr;padding-bottom:100px}.mobile-dock{position:fixed;display:grid;grid-template-columns:1fr 1.45fr;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:80;box-shadow:0 12px 34px rgba(18,35,63,.25)}.mobile-dock a{min-height:54px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;background:var(--paper);border:1px solid var(--ink)}.mobile-dock a:last-child{background:var(--vermilion);border-color:var(--vermilion);color:#fff}.utility-grid{grid-template-columns:1fr;gap:20px}.route-row{grid-template-columns:48px 1fr 24px}.route-row small{display:none}}
@media(max-width:520px){.call-top small{display:none}.hero-media{min-height:330px}.hero-copy{min-height:auto;padding-top:40px}.display{font-size:44px;line-height:1.04}.hero-actions{display:grid}.button{width:100%}.fact{padding:22px 16px;min-height:112px}.fact b{font-size:27px}.section h2{font-size:39px}.route-row{padding:18px 4px}.route-row strong{font-size:21px}.field-facts{grid-template-columns:1fr}.field-facts span:nth-child(odd){padding-right:0}.price-table{overflow-x:auto}.price-course{min-width:430px}.cta h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.mask-reveal{clip-path:none}.hero-media img{transform:none!important}}
