/* Customer site frame: shared header, menu and footer on every public screen (A안). */
.sc-header,.sc-footer,.sc-empty{--sc-ink:#1f2a30;--sc-muted:#66757c;--sc-line:#e2e8eb;--sc-accent:#22636f;font-family:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',Arial,sans-serif;color:var(--sc-ink)}
.sc-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--sc-line)}
.sc-inner{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px}
.sc-header .sc-inner{min-height:66px}
.sc-brand{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--sc-ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.sc-nav{display:flex;flex-wrap:wrap;gap:4px 26px;margin-left:auto}
.sc-nav a,.sc-menu nav a{color:var(--sc-ink);text-decoration:none;font-size:15px;font-weight:600;padding:6px 0;border-bottom:2px solid transparent}
.sc-nav a:hover,.sc-nav a[aria-current=page]{color:var(--sc-accent);border-bottom-color:var(--sc-accent)}
.sc-menu{display:none;margin-left:auto}
.sc-menu summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;box-sizing:border-box;border:1px solid var(--sc-line);border-radius:8px}
.sc-menu summary::-webkit-details-marker{display:none}
.sc-menu summary span{display:block;height:2px;background:var(--sc-ink);border-radius:2px}
.sc-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;background:#fff;border-bottom:1px solid var(--sc-line);box-shadow:0 12px 24px rgba(20,40,50,.08);padding:6px 20px 12px}
.sc-menu nav a{padding:12px 0;border-bottom:1px solid var(--sc-line)}
.sc-menu nav a:last-child{border-bottom:0}
.sc-menu nav a[aria-current=page]{color:var(--sc-accent)}
.sc-footer{margin-top:48px;background:#fff;border-top:1px solid var(--sc-line);font-size:13px;color:var(--sc-muted)}
.sc-footer .sc-inner{min-height:64px;justify-content:space-between;flex-wrap:wrap}
.sc-footer a{color:var(--sc-muted)}
.sc-biz p{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:2px 14px}.sc-legal{display:flex;gap:16px;align-items:center}.sc-legal a{display:inline-flex;align-items:center;min-height:44px}.sc-legal b{color:var(--sc-ink)}
.sc-doc{max-width:760px;margin:0 auto;padding:40px 16px;line-height:1.75;word-break:keep-all}.sc-doc h1{font-size:28px;margin:0 0 20px}.sc-doc h2{font-size:18px;margin:28px 0 8px}.sc-doc ul{padding-left:20px}.sc-doc-ver{margin-top:32px;font-size:13px;color:#66757c}
.sc-body .sc-page{margin-top:28px}
/* Pictures in pages written by hand (HTML pages, imported pages) never push a phone screen sideways. :where() keeps this weaker than any rule the site sets. */
:where(.sc-page) :where(img,video){max-width:100%;height:auto}
.sc-empty{max-width:720px;margin:0 auto;padding:110px 24px;text-align:center}
.sc-empty h1{font-size:34px;margin:0 0 14px;letter-spacing:-.02em}
.sc-empty p{color:var(--sc-muted);font-size:17px;line-height:1.7;margin:0}
body.sc-body{margin:0;background:#f5f7f8}
/* Board, post, login pages draw on white: keep the space above the footer white instead of a grey band */
.sc-body:has(>#app){background:#fff}
/* The program's own service header is replaced by the site header on customer sites. */
body[data-site-chrome="1"] .site-header,body[data-site-chrome="1"] .public-header,body[data-site-chrome="1"] #app>.header,body[data-site-chrome="1"] #app .mobile-menu,body[data-site-chrome="1"]>.site-footer,body[data-site-chrome="1"] #app>.app-footer{display:none!important}
@media(max-width:760px){
 .sc-inner{padding:0 16px;gap:12px}
 .sc-header .sc-inner{min-height:58px}
 .sc-brand{font-size:18px;max-width:calc(100% - 60px)}
 .sc-nav{display:none}
 .sc-menu{display:block}
 .sc-empty{padding:72px 20px}
 .sc-empty h1{font-size:27px}
}

/* 회원 메뉴(020) */
.sc-account{display:flex;gap:4px 14px;align-items:center;margin-left:auto;font-size:13px}
.sc-account a{color:var(--sc-muted);text-decoration:none;font-weight:600;padding:6px 0}
.sc-account a:hover{color:var(--sc-accent)}
.sc-nav~.sc-account{margin-left:0;padding-left:16px;border-left:1px solid var(--sc-line)}
@media(max-width:760px){.sc-account{order:2;margin-left:auto!important;padding-left:0!important;border-left:0!important}.sc-menu{order:3;margin-left:4px}}
/* 하위 메뉴(1-A): PC는 마우스·키보드 초점으로 펼침(스크립트 없음), 휴대폰은 펼친 목록 */
.sc-dd{position:relative;display:flex;align-items:center}
.sc-group{color:var(--sc-ink);font-size:15px;font-weight:600;padding:6px 0;cursor:default;border-bottom:2px solid transparent;outline-offset:3px}
.sc-nav .sc-dd>a::after,.sc-nav .sc-dd>.sc-group::after{content:"";display:inline-block;width:6px;height:6px;margin:0 2px 3px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.sc-nav .sc-sub{display:none;position:absolute;top:100%;left:-16px;z-index:40;min-width:190px;max-width:280px;padding:8px 0;background:#fff;border:1px solid var(--sc-line);border-radius:10px;box-shadow:0 14px 32px rgba(20,40,50,.12)}
.sc-nav .sc-dd:hover>.sc-sub,.sc-nav .sc-dd:focus-within>.sc-sub{display:flex;flex-direction:column}
.sc-nav .sc-sub a{display:block;padding:9px 16px;border-bottom:0;font-weight:500;line-height:1.45;white-space:normal}
.sc-nav .sc-sub a:hover,.sc-nav .sc-sub a:focus,.sc-nav .sc-sub a[aria-current=page]{background:#f2f6f7;color:var(--sc-accent);border-bottom:0}
.sc-nav .sc-dd:hover>.sc-group,.sc-nav .sc-dd.sc-on>a,.sc-nav .sc-dd.sc-on>.sc-group{color:var(--sc-accent);border-bottom-color:var(--sc-accent)}
.sc-menu nav{max-height:calc(100vh - 72px);overflow-y:auto}
.sc-menu .sc-dd{display:block}
.sc-menu .sc-dd>a{display:block}
.sc-menu .sc-group{display:block;padding:14px 0 4px;font-size:13px;color:var(--sc-muted);border-bottom:0}
.sc-menu .sc-sub{display:flex;flex-direction:column;border-bottom:1px solid var(--sc-line)}
.sc-menu .sc-dd>a{border-bottom:0}
.sc-menu nav .sc-sub a{padding:10px 0 10px 16px;font-size:14px;font-weight:500;border-bottom:0}
.sc-menu nav>.sc-dd:last-child .sc-sub{border-bottom:0}
/* 1-C site look (025): logo, header and footer variants; accent and font come from a small <style> per site */
.sc-brand{display:inline-flex;align-items:center;gap:10px}
.sc-brand>span{overflow:hidden;text-overflow:ellipsis}
.sc-logo{display:block;height:40px;width:auto;max-width:200px;object-fit:contain;flex:none}
@media(min-width:761px){
 .sc-h-center .sc-inner{flex-wrap:wrap;justify-content:center;gap:4px 24px;padding-top:14px}
 .sc-h-center .sc-brand{flex-basis:100%;justify-content:center;max-width:none}
 .sc-h-center .sc-nav{margin-left:0;justify-content:center;padding-bottom:4px}
 .sc-h-center .sc-account{margin-left:0}
}
.sc-h-solid{background:var(--sc-accent);border-bottom-color:transparent}
.sc-h-solid .sc-brand,.sc-h-solid .sc-nav>a,.sc-h-solid .sc-nav>.sc-dd>a,.sc-h-solid .sc-nav>.sc-dd>.sc-group,.sc-h-solid .sc-account a{color:#fff}
.sc-h-solid .sc-nav>a:hover,.sc-h-solid .sc-nav>a[aria-current=page],.sc-h-solid .sc-nav .sc-dd:hover>.sc-group,.sc-h-solid .sc-nav .sc-dd>a:hover,.sc-h-solid .sc-nav .sc-dd.sc-on>a,.sc-h-solid .sc-nav .sc-dd.sc-on>.sc-group{color:#fff;border-bottom-color:#fff}
.sc-h-solid .sc-nav~.sc-account{border-left-color:rgba(255,255,255,.4)}
.sc-h-solid .sc-menu summary{border-color:rgba(255,255,255,.55)}
.sc-h-solid .sc-menu summary span{background:#fff}
.sc-f-simple .sc-biz p{display:none}
.sc-f-solid{background:#1f2a30;border-top-color:transparent;color:#c9d3d7}
.sc-f-solid a{color:#c9d3d7}
.sc-f-solid .sc-legal b{color:#fff}
.sc-f-solid .sc-biz p{color:#a9b6bc}
@media(max-width:760px){.sc-logo{height:34px;max-width:150px}}
/* Pages built from blocks: full width, blocks bring their own spacing */
.sc-body .sc-page.bp-shell{margin-top:0}
/* B layouts (6): header and footer frames rebuilt from code-builder skins (bright-dental · munteok-spacejournal · gyeopgyeol-social-institute · poeme-atelier · damro-law-partners · geartune-garage).
   Colours come only from the --sc-* variables the site's <style> sets for the chosen layout. No script, system fonts. */
.sc-L{--sc-ink:var(--sc-hfg);--sc-muted:var(--sc-hmut);--sc-line:var(--sc-hline)}
.sc-L .sc-inner{max-width:1320px;padding:0 40px}
.sc-L.sc-header{background:var(--sc-hbg);color:var(--sc-hfg);border-bottom:1px solid var(--sc-hline)}
.sc-L.sc-sticky{position:sticky;top:0}
.sc-L.sc-header>.sc-inner{min-height:84px;gap:28px}
.sc-L .sc-brand{color:var(--sc-hfg);font-family:var(--sc-brand-font);font-size:22px}
.sc-L .sc-nav{gap:4px 28px}
.sc-L .sc-nav a,.sc-L .sc-group,.sc-L .sc-menu nav a{color:var(--sc-hfg);font-size:15px}
.sc-L .sc-account a{color:var(--sc-hmut)}
.sc-L .sc-account a:hover{color:var(--sc-hfg);text-decoration:underline}
.sc-L .sc-menu summary{border-color:var(--sc-hline)}
.sc-L .sc-menu summary span{background:var(--sc-hfg)}
.sc-L .sc-menu nav,.sc-L .sc-nav .sc-sub{background:var(--sc-hbg);border-color:var(--sc-hline)}
.sc-L .sc-nav .sc-sub a{color:var(--sc-hfg)}
.sc-L .sc-nav .sc-sub a:hover,.sc-L .sc-nav .sc-sub a:focus,.sc-L .sc-nav .sc-sub a[aria-current=page]{background:var(--sc-hline);color:var(--sc-hfg);text-decoration:underline}
.sc-L .sc-nav>a:hover,.sc-L .sc-nav>a[aria-current=page],.sc-L .sc-nav .sc-dd>a:hover,.sc-L .sc-nav .sc-dd:hover>.sc-group,.sc-L .sc-nav .sc-dd.sc-on>a,.sc-L .sc-nav .sc-dd.sc-on>.sc-group{color:var(--sc-accent);border-bottom-color:var(--sc-accent)}
.sc-L .sc-menu nav a[aria-current=page]{color:var(--sc-accent)}
.sc-hdark .sc-nav>a:hover,.sc-hdark .sc-nav>a[aria-current=page],.sc-hdark .sc-nav .sc-dd>a:hover,.sc-hdark .sc-nav .sc-dd:hover>.sc-group,.sc-hdark .sc-nav .sc-dd.sc-on>a,.sc-hdark .sc-nav .sc-dd.sc-on>.sc-group{color:var(--sc-hfg);border-bottom-color:var(--sc-hfg)}
.sc-hdark .sc-menu nav a[aria-current=page]{color:var(--sc-hfg);text-decoration:underline}
.sc-hdark .sc-nav~.sc-account{border-left-color:var(--sc-hline)}
/* last top menu item as a button (desktop only; inside the phone menu it stays a plain link) */
@media(min-width:1001px){
 .sc-cta-line .sc-nav>a:last-child{border:1px solid var(--sc-hfg);padding:9px 18px;border-radius:2px;font-size:14px}
 .sc-cta-line .sc-nav>a:last-child:hover,.sc-cta-line .sc-nav>a:last-child[aria-current=page]{border-color:var(--sc-accent);color:var(--sc-accent)}
 .sc-cta-solid .sc-nav>a:last-child,.sc-cta-solid .sc-nav>a:last-child:hover,.sc-cta-solid .sc-nav>a:last-child[aria-current=page]{background:var(--sc-accent);color:#fff;border:0;padding:11px 20px;border-radius:4px;font-size:14px}
 .sc-cta-solid .sc-nav>a:last-child:hover{text-decoration:underline}
 .sc-cta-text .sc-nav>a:last-child{margin-left:auto;color:var(--sc-accent)}
}
/* bright · garage: one row */
.sc-L-bright .sc-brand{font-weight:800;letter-spacing:-.03em}
.sc-L-bright .sc-nav a,.sc-L-bright .sc-group{font-size:14px}
.sc-L-garage.sc-header>.sc-inner{min-height:76px}
.sc-L-garage .sc-brand{font-weight:800;letter-spacing:-.05em;font-size:24px}
.sc-L-garage .sc-nav a,.sc-L-garage .sc-group{font-weight:700;font-size:14px}
/* journal: masthead row + ruled menu row */
.sc-hh-mast>.sc-inner{min-height:96px}
.sc-hh-mast .sc-brand{font-size:30px;font-weight:700;letter-spacing:-.02em}
.sc-tag{margin:0 0 0 auto;max-width:380px;font-size:13px;line-height:1.55;color:var(--sc-hmut);text-align:right;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.sc-tag~.sc-account{margin-left:0}
.sc-row2{border-top:1px solid var(--sc-hrule,var(--sc-hfg))}
.sc-row2>.sc-nav{box-sizing:border-box;max-width:1320px;margin:0 auto;padding:0 40px;min-height:52px;align-items:center;display:flex}
.sc-row2 .sc-nav>a,.sc-row2 .sc-group{font-size:14px}
/* campus: menu split around a centred name */
@media(min-width:1001px){
 .sc-hh-split>.sc-inner{display:grid;grid-template-columns:1fr auto 1fr}
 .sc-hh-split .sc-nav{margin-left:0}
 .sc-hh-split .sc-nav-l{justify-self:start}
 .sc-hh-split .sc-brand{justify-self:center;max-width:none;font-size:24px;font-weight:800}
 .sc-hh-split .sc-side{justify-self:end}
}
.sc-side{display:flex;align-items:center;gap:20px;margin-left:auto}
/* phone menu button sits at the right edge whether or not member links come before it */
.sc-L .sc-menu{margin-left:auto}
.sc-L .sc-account~.sc-menu{margin-left:4px}
.sc-side .sc-account{margin-left:0}
/* atelier: serif name, centred menu */
.sc-hh-mid>.sc-inner{min-height:100px}
.sc-hh-mid .sc-brand{font-size:28px;font-weight:600;letter-spacing:.08em}
.sc-hh-mid .sc-nav{margin:0 auto}
.sc-hh-mid .sc-nav a,.sc-hh-mid .sc-group{font-size:14px;font-weight:500}
/* office: information strip above the main bar */
.sc-top{background:var(--sc-tbg);color:var(--sc-tfg);font-size:12px}
.sc-L .sc-top .sc-inner{min-height:36px;gap:16px}
.sc-top p{margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-top .sc-account{margin-left:auto;font-size:12px;gap:0}
.sc-L .sc-top .sc-account a{color:var(--sc-tfg);padding:4px 12px;border-left:1px solid rgba(255,255,255,.25)}
.sc-L .sc-top .sc-account a:first-child{border-left:0}
.sc-hh-top>.sc-inner{min-height:88px}
.sc-hh-top .sc-brand{font-size:22px;font-weight:700}
.sc-hh-top .sc-nav a,.sc-hh-top .sc-group{font-weight:700}
/* footers */
.sc-L.sc-footer{background:var(--sc-fbg);color:var(--sc-ffg);border-top:0;font-size:14px}
.sc-body .bp-shell~.sc-L.sc-footer{margin-top:0}
.sc-L.sc-footer a{color:var(--sc-ffg);text-decoration:none}
.sc-L.sc-footer a:hover{text-decoration:underline}
.sc-L .sc-fmain{display:grid;gap:40px;align-items:start;padding-top:56px;padding-bottom:40px;min-height:0}
.sc-fname{display:inline-block;font-family:var(--sc-brand-font);font-size:24px;font-weight:700;letter-spacing:-.02em;word-break:keep-all}
.sc-L .sc-fbrand p,.sc-L .sc-fcontact p{margin:12px 0 0;color:var(--sc-fmut);line-height:1.75;word-break:keep-all;overflow-wrap:normal}
.sc-L.sc-footer .sc-fcontact a{color:var(--sc-fmut)}
.sc-fmenu{display:flex;flex-wrap:wrap;gap:24px 40px}
.sc-fcol{display:flex;flex-direction:column;gap:8px;min-width:0}
.sc-fcol strong,.sc-fcontact strong{display:block;font-size:13px;color:var(--sc-ffg)}
.sc-L.sc-footer .sc-fcol a{color:var(--sc-fmut);line-height:1.5}
.sc-L.sc-footer .sc-fcol strong a{color:var(--sc-ffg)}
.sc-L .sc-fbottom{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:flex-start;min-height:0;border-top:1px solid var(--sc-fline);padding-top:18px;padding-bottom:22px;font-size:12px;color:var(--sc-fmut)}
.sc-fbiz{margin:0;display:flex;flex-wrap:wrap;gap:2px 14px;flex-basis:100%}
.sc-L .sc-legal{margin-left:auto}
.sc-L.sc-footer .sc-legal a{color:var(--sc-fmut)}
.sc-L.sc-footer .sc-legal b{color:var(--sc-ffg)}
.sc-ff-cols3 .sc-fmain{grid-template-columns:1.3fr 1fr 1.2fr}
.sc-ff-cols3 .sc-fcol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.sc-ff-cols3 .sc-fcol strong{grid-column:1/-1}
.sc-L-garage .sc-fmain{padding-top:44px;padding-bottom:32px}
.sc-L-garage .sc-fname{font-size:20px;font-weight:800;letter-spacing:-.04em}
.sc-L.sc-ff-band{border-top:1px solid var(--sc-hfg)}
.sc-ff-band .sc-fmain{grid-template-columns:1.2fr 1fr auto}
.sc-ff-band .sc-fmenu{order:3}
.sc-ff-band .sc-fcol{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
.sc-ff-band .sc-fcol strong{display:none}
.sc-ff-big .sc-fmain{grid-template-columns:1.2fr .8fr .8fr;padding-top:72px;padding-bottom:56px}
.sc-ff-big .sc-fname{font-size:clamp(36px,4.4vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.sc-ff-big .sc-fcol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.sc-ff-big .sc-fcol strong{grid-column:1/-1}
.sc-ff-big .sc-fcontact p{font-size:13px;letter-spacing:.02em}
.sc-ff-stack .sc-fmain{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:60px;padding-bottom:28px}
.sc-ff-stack .sc-fname{font-size:28px;font-weight:600;letter-spacing:.08em}
.sc-ff-stack .sc-fbrand p{max-width:72ch}
.sc-ff-stack .sc-fcol{flex-direction:row;flex-wrap:wrap;gap:8px 26px}
.sc-ff-stack .sc-fcol strong,.sc-ff-stack .sc-fcontact strong{display:none}
.sc-ff-stack .sc-fcontact p{margin-top:0}
.sc-ff-groups .sc-fmain{grid-template-columns:minmax(220px,1.5fr) repeat(auto-fit,minmax(150px,1fr));padding-top:64px}
.sc-ff-groups .sc-fmenu{display:contents}
@media(max-width:1000px){
 .sc-L .sc-nav{display:none}
 .sc-L .sc-menu{display:block}
 .sc-L .sc-inner,.sc-row2>.sc-nav{padding:0 24px}
 .sc-row2,.sc-tag{display:none}
 .sc-hh-split .sc-brand{margin-right:auto}
 .sc-L .sc-fmain{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sc-ff-stack .sc-fmain{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .sc-L .sc-inner,.sc-row2>.sc-nav{padding:0 16px}
 .sc-L.sc-header>.sc-inner{min-height:64px;gap:12px}
 .sc-L .sc-brand{font-size:19px}
 .sc-hh-mast .sc-brand,.sc-hh-mid .sc-brand{font-size:22px}
 .sc-top p{display:none}
 .sc-side{gap:8px}
 .sc-L .sc-fmain{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:40px;padding-bottom:28px}
 .sc-ff-big .sc-fmain{padding-top:48px}
 .sc-L .sc-legal{margin-left:0}
}
/* Written pages keep a 24px gap around the page box; the header and footer bands still run edge to edge. */
@media(min-width:701px){body.hp-public-home.sc-body>.sc-header{margin:-24px -24px 0}body.hp-public-home.sc-body>.sc-footer{margin-left:-24px;margin-right:-24px;margin-bottom:-24px}body.hp-public-home.sc-body>.bp-shell{margin-left:-24px;margin-right:-24px}}
