:root{--primary:#1E3A8A;--primary-deep:#14213D;--accent:#F5B700;--bg:#FFFDF5;--surface:#FFF5D6;--ink:#14213D;--muted:#5E6577;--line:#F0E6C0;
--r:4px;--gap:24px;--pad:20px;--sec:64px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;
--font:'Pretendard Variable',Pretendard,-apple-system,'Noto Sans KR','Malgun Gothic',sans-serif}
@media(min-width:768px){:root{--pad:32px}}
@media(min-width:1024px){:root{--sec:104px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:clamp(16px,.4vw + 15px,18px);line-height:1.75;color:var(--ink);background:var(--bg);word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-weight:800;line-height:1.3;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(32px,4vw + 12px,56px)}
h2{font-size:clamp(26px,2vw + 16px,38px)}
h3{font-size:clamp(18px,.6vw + 16px,21px);font-weight:700}
p{margin:0 0 1.2em}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 var(--s2);line-height:1.4}
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--primary);font-weight:800;font-size:22px}
.brand .mark{flex:none}
.menu-btn{display:none;width:44px;height:44px;background:none;border:0;padding:0;position:relative;cursor:pointer}
.menu-btn span{position:absolute;left:10px;right:10px;height:2px;background:var(--primary);top:19px;transition:transform .2s}
.menu-btn span+span{top:25px}
.menu-btn[aria-expanded=true] span{top:22px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] span+span{transform:rotate(-45deg)}
#nav ul{display:flex;align-items:center;gap:var(--s3)}
#nav a{text-decoration:none;font-weight:600;font-size:16px;padding:var(--s1) 0;display:inline-block}
#nav a[aria-current]{color:var(--accent)}
#nav a:hover{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--s3);border-radius:var(--r);font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid var(--accent);cursor:pointer;font-family:inherit;line-height:1}
.btn-fill{background:var(--accent);color:var(--ink)}
.btn-line{background:transparent;color:var(--primary)}
.nav-cta{background:var(--accent);color:var(--ink)!important;padding:0 var(--s2)!important;min-height:44px}
@media(max-width:1099px){
 .menu-btn{display:block}
 #nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line)}
 #nav.open{display:block}
 #nav ul{flex-direction:column;align-items:stretch;gap:0;padding:var(--s1) var(--pad) var(--s2)}
 #nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);width:100%}
 #nav li:last-child a{border:1.5px solid var(--accent);justify-content:center;margin-top:var(--s2)}
}
/* hero */
.hero{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.hero-in{display:grid;gap:var(--s4);align-items:center;padding-top:var(--s5);padding-bottom:var(--s5)}
.hero-t{min-width:0}
.hero h1{color:var(--primary);max-width:14em}
.hero-lead{font-size:clamp(17px,.8vw + 14px,21px);max-width:28em;margin:var(--s3) 0 var(--s4);color:var(--muted)}
.hero-pic img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}
.hero.short .hero-pic img{aspect-ratio:16/10}
@media(min-width:1024px){.hero-in{grid-template-columns:5fr 7fr;gap:var(--s5);padding-top:64px;padding-bottom:64px}.hero.short .hero-in{padding-top:var(--s5);padding-bottom:var(--s5)}}
.contact-hero .hero-t{padding-top:var(--s4);padding-bottom:var(--s4)}
.contact-hero h1{color:var(--primary)}
.contact-hero .hero-lead{margin:var(--s2) 0 0}
/* sections */
.sec{padding:var(--sec) 0;background:var(--bg)}
.sec.alt{background:var(--surface)}
.sec+.sec:not(.alt):not(.contact-box){border-top:0}
.sec-head{margin-bottom:var(--s5);text-align:left}
.sec-head .lead{margin:var(--s2) 0 0;max-width:40em;color:var(--muted)}
.prose{max-width:40em}
.prose p{margin-bottom:1.3em}
.info{display:grid;gap:0;margin:var(--s5) 0 0;max-width:40em;border-top:1px solid var(--line)}
.info>div{display:flex;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.info dt{flex:0 0 6.5em;font-weight:700;color:var(--primary)}
.info dd{margin:0}
.more-eb{margin-top:var(--s5)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s2)}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:600;background:var(--bg)}
.chips a:hover{border-color:var(--accent)}
/* grid */
.grid{display:flex;flex-wrap:wrap;gap:var(--gap);justify-content:center}
.grid>*{flex:0 0 100%;min-width:0}
.grid.mb2>*{flex:0 0 calc((100% - var(--gap))/2)}
.grid.mb2.odd>:last-child{flex:0 0 100%}
.grid.mb2{gap:var(--s2)}
@media(min-width:768px){
 .grid{gap:var(--gap)}
 .grid.tb2>*,.grid.mb2>*{flex:0 0 calc((100% - var(--gap))/2)}
 .grid.mb2.odd>:last-child{flex:0 0 calc((100% - var(--gap))/2)}
 .grid.tb1>*{flex:0 0 100%}
}
@media(min-width:1024px){
 .grid.pc1>*{flex:0 0 100%}
 .grid.pc2>*,.grid.mb2.pc2>*{flex:0 0 calc((100% - var(--gap))/2)}
 .grid.pc3>*,.grid.mb2.pc3>*,.grid.mb2.odd.pc3>:last-child{flex:0 0 calc((100% - 2*var(--gap))/3)}
}
/* cards */
.card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg);color:var(--ink)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-b{display:flex;flex-direction:column;flex:1;padding:var(--s3)}
.card h3{margin:0 0 var(--s1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card p{margin:0 0 var(--s2);color:var(--muted);font-size:.94em;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .more{margin-top:auto;font-weight:700;color:var(--primary)}
.card:hover{border-color:var(--accent)}
.card:hover img{opacity:.92}
@media(max-width:767px){.grid.mb2.odd>:last-child.card{flex-direction:row}.grid.mb2.odd>:last-child.card img{width:40%;height:auto;aspect-ratio:4/3;align-self:flex-start}}
@media(min-width:768px){.grid.tb1>.card{flex-direction:row}.grid.tb1>.card img{width:40%}}
.tcard{border-top:1px solid var(--ink);padding-top:var(--s2)}
.tcard .num{display:block;font-size:13px;letter-spacing:.16em;font-weight:700;color:var(--muted);margin-bottom:var(--s1)}
.tcard h3{margin-bottom:var(--s1)}
.tcard p{margin:0;color:var(--muted);font-size:.96em}
.tcards{gap:var(--s4) var(--gap)}
/* steps */
.steps{display:grid;gap:var(--s4);grid-template-columns:1fr;counter-reset:s}
.steps li{position:relative;padding-left:var(--s5);border-left:1px solid var(--line);margin-left:var(--s1)}
.steps .num{position:absolute;left:-14px;top:0;background:var(--primary);color:#fff;font-size:12px;font-weight:700;width:28px;height:28px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;letter-spacing:.04em}
.steps img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:var(--s2)}
.steps h3{margin-bottom:var(--s1)}
.steps p{margin:0;color:var(--muted);font-size:.96em}
@media(min-width:1024px){
 .steps{grid-template-columns:repeat(4,1fr);gap:var(--gap)}
 .steps li{padding:0;border:0;margin:0}
 .steps .num{position:static;margin-bottom:var(--s2)}
}
/* gallery */
.lb{display:block;cursor:zoom-in}
.lb img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
figure{margin:0;position:relative}
.tag{position:absolute;left:var(--s1);top:var(--s1);z-index:1;background:rgba(20,33,61,.82);color:#fff;font-size:11px;letter-spacing:.16em;font-weight:700;padding:2px var(--s1);border-radius:2px;line-height:1.6}
.pairs{display:grid;gap:var(--s2)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1)}
@media(min-width:1024px){.pair{gap:var(--s2)}.pairs{gap:var(--s3)}}
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s1)}
@media(min-width:1024px){.shots{grid-template-columns:repeat(4,1fr);gap:var(--s2)}}
.gblock+.gblock{margin-top:var(--s5)}
.gline{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:var(--s2);border-top:1px solid var(--ink);padding-top:var(--s2)}
.gline a{font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap}
.gline a:hover{text-decoration:underline}
@media(min-width:1024px){.gblock .pairs{grid-template-columns:1fr 1fr}.gblock .pair{grid-template-columns:1fr 1fr}}
/* faq */
.faq{max-width:40em;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s3) var(--s5) var(--s3) 0;font-weight:700;position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:var(--s1);top:50%;width:10px;height:10px;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{margin:0 0 var(--s3);color:var(--muted)}
/* contact */
.contact-box{padding-top:var(--s5);padding-bottom:var(--s5)}
.bignum{font-size:clamp(36px,6vw + 8px,56px);font-weight:800;color:var(--primary);line-height:1.15;margin:0 0 var(--s3);letter-spacing:-.01em;word-break:keep-all}
.cbtns{display:flex;gap:var(--s2);max-width:520px}
.cbtns .btn{flex:1;min-height:56px}
.chours{margin:var(--s3) 0 var(--s1);font-weight:700}
.cnote{margin:0;color:var(--muted)}
/* cta + footer */
.cta-band{background:var(--primary);color:#fff;padding:var(--sec) 0}
.cta-band .eyebrow{color:rgba(255,255,255,.75)}
.cta-band h2{margin-bottom:var(--s2)}
.cta-band p:not(.eyebrow){max-width:36em;margin-bottom:var(--s4);color:rgba(255,255,255,.88)}
.site-footer{background:var(--primary-deep);color:rgba(255,255,255,.82);padding-top:var(--s5);font-size:15px}
.site-footer .brand{color:#fff;margin-bottom:var(--s2)}
.site-footer p{margin:0 0 var(--s1)}
.foot{display:grid;gap:var(--s5);padding-bottom:var(--s5)}
@media(min-width:768px){.foot{grid-template-columns:2fr 1fr}}
.site-footer .eyebrow{color:rgba(255,255,255,.6)}
.site-footer li a{text-decoration:none;display:inline-block;padding:6px 0}
.site-footer li a:hover{color:#fff;text-decoration:underline}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1);border-top:1px solid rgba(255,255,255,.14);padding-top:var(--s2);padding-bottom:var(--s2);font-size:13px;color:rgba(255,255,255,.6)}
.m-bar{display:none}
@media(max-width:767px){
 .m-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;min-height:56px;align-items:center;justify-content:center;background:var(--accent);color:var(--ink);font-weight:800;text-decoration:none}
 body{padding-bottom:56px}
}
/* lightbox */
.lbx{position:fixed;inset:0;z-index:100;background:rgba(10,16,28,.94);display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--s2)}
.lbx.on{display:flex}
.lbx img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r)}
.lbx .cap{color:#fff;margin:var(--s2) 0 0;font-size:15px;max-width:40em;text-align:center}
.lbx .cnt{color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.12em;margin-top:var(--s1)}
.lbx button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:var(--r);font-size:22px;cursor:pointer}
.lbx .x{top:var(--s2);right:var(--s2)}
.lbx .p{left:var(--s2);top:50%}
.lbx .n{right:var(--s2);top:50%}
body.lock{overflow:hidden}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#nav a.nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s2)}
@media(max-width:767px){.card-b{padding:var(--s2)}.card p{font-size:.9em}.steps li{padding-left:var(--s4)}.gline h3{font-size:18px}}
@media(min-width:1024px){.pairs:not(.x){max-width:880px}}
.tag.before{background:var(--muted);color:#fff}
.tag.after{background:var(--accent);color:var(--ink)}
@media(min-width:1024px){.gblock .pairs{max-width:none;grid-template-columns:1fr 1fr;gap:var(--s2)}}
/* extra sections */
.xprose h3{margin:var(--s4) 0 var(--s1);color:var(--primary)}
.xprose h3:first-child{margin-top:0}
.tbl{max-width:960px}
.tbl table{width:100%;border-collapse:collapse;font-size:.95em}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:var(--s2) var(--s2) var(--s2) 0;border-bottom:1px solid var(--line);line-height:1.65}
.tbl thead th{font-size:13px;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--ink);font-weight:700}
.tbl tbody th{font-weight:800;color:var(--primary);white-space:nowrap;padding-right:var(--s3)}
@media(max-width:767px){
 .tbl thead{display:none}
 .tbl table,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
 .tbl tr{border-top:1px solid var(--ink);padding:var(--s2) 0}
 .tbl th,.tbl td{border:0;padding:4px 0}
 .tbl td::before{content:attr(data-l);display:block;font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:700}
 .tbl td{padding-bottom:var(--s1)}
}
.clist{max-width:40em;counter-reset:c;border-top:1px solid var(--ink)}
.clist li{counter-increment:c;position:relative;padding:var(--s2) 0 var(--s2) var(--s5);border-bottom:1px solid var(--line)}
.clist li::before{content:counter(c,decimal-leading-zero);position:absolute;left:0;top:var(--s2);font-size:13px;letter-spacing:.12em;font-weight:700;color:var(--muted);line-height:2}
.clist strong{display:block;margin-bottom:4px}
.clist span{color:var(--muted);font-size:.96em}
.defs{margin:0;display:grid;gap:0;border-top:1px solid var(--ink)}
.defs>div{padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.defs dt{font-weight:800;color:var(--primary);margin-bottom:4px}
.defs dd{margin:0;color:var(--muted);font-size:.96em}
@media(min-width:768px){.defs>div{display:grid;grid-template-columns:11em 1fr;gap:var(--s3)}.defs dt{margin:0}.defs{max-width:960px}}
@media(max-width:767px){.grid.tcards>*{flex:0 0 100%!important}.tcards{gap:var(--s3)}}
/* hero slider */
.hero-pic{position:relative}
.slides{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--line)}
.slides img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover}
.slider .slides img{opacity:0;transition:opacity .9s ease}
.slider .slides img.on{opacity:1}
.dots{position:absolute;left:0;right:0;bottom:var(--s1);display:flex;justify-content:center;gap:0}
.dot{width:32px;height:32px;border:0;background:none;padding:0;cursor:pointer;position:relative}
.dot::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(20,33,61,.35)}
.dot.on::before{background:var(--accent);width:24px;margin-left:-12px;border-radius:4px}
.hero-sub{margin:var(--s1) 0 0;font-size:clamp(18px,.8vw + 15px,22px);font-weight:700;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.slider .slides img{transition:none}}
.subs{border-top:1px solid rgba(255,255,255,.14);padding-top:var(--s3);padding-bottom:var(--s3)}
.subs ul{display:flex;flex-wrap:wrap;gap:0 20px}
.subs li{display:flex;align-items:center}
.subs a{text-decoration:none;font-size:14px;padding:8px 0;display:inline-block}
.subs a:hover{color:#fff;text-decoration:underline}
