@font-face{font-family:'Pretendard Variable';font-weight:45 920;font-style:normal;font-display:swap;src:url(fonts/PretendardVariable.woff2) format('woff2-variations')}
/* 레이아웃: 넓은 여백, 큰 제목과 사진 자리, 얇은 선으로 구획. 색은 흰색·회색·차분한 청록 블루 */
:root{
  --bg:#ffffff; --band:#f4f6f8; --surface:#ffffff; --fg:#17212b; --muted:#5b6773; --line:#e1e6eb;
  --accent:#1f5a78; --accent-fg:#ffffff; --accent-soft:#e6eff4; --note-bg:#f7f5e8; --note-line:#cfc58a;
  --serif:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif; --sans:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#10171d; --band:#161f27; --surface:#161f27; --fg:#e7edf2; --muted:#9aa8b5; --line:#26323d;
  --accent:#7fb9d6; --accent-fg:#10171d; --accent-soft:#1b2b36; --note-bg:#2a2814; --note-line:#6b6430; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#10171d; --band:#161f27; --surface:#161f27; --fg:#e7edf2; --muted:#9aa8b5; --line:#26323d;
  --accent:#7fb9d6; --accent-fg:#10171d; --accent-soft:#1b2b36; --note-bg:#2a2814; --note-line:#6b6430; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.8;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0}
a{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto}
h1,h2,h3{font-family:var(--serif);line-height:1.35;text-wrap:balance;font-weight:700;letter-spacing:-.02em}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;flex-wrap:wrap}
.brand{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--fg);text-decoration:none;letter-spacing:.02em}
.site-nav{display:flex;gap:28px;flex-wrap:wrap}
.site-nav a{padding:4px 0;text-decoration:none;color:var(--muted);font-weight:500;font-size:15px;border-bottom:2px solid transparent}
.site-nav a:hover{color:var(--fg)}
.site-nav a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--accent)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn{display:inline-block;padding:13px 26px;border-radius:10px;background:var(--accent);color:var(--accent-fg);text-decoration:none;font:inherit;font-weight:700;border:0;cursor:pointer;letter-spacing:.02em}
.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.eyebrow{font-size:13px;letter-spacing:.14em;color:var(--accent);font-weight:700}
.hero{padding:96px 0 88px;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.hero>*{min-width:0}
.hero h1{font-size:clamp(30px,5vw,50px);margin:16px 0 24px}
.hero p{color:var(--muted);max-width:30em;margin:0 0 36px;font-size:17px}
.photo{aspect-ratio:4/5;max-width:100%;background:var(--band);border:1px solid var(--line);display:flex;align-items:flex-end;padding:20px;position:relative;overflow:hidden}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo span{position:relative;font-size:13px;color:var(--muted);letter-spacing:.04em}
.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,var(--accent-soft),transparent 60%)}
.band{background:var(--band);margin-left:calc(-1 * max(16px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section.block{padding:72px 0}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{font-size:28px;margin:0}
.sec-head a{font-size:15px}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--line)}
.pillars>div{padding:28px 28px 28px 0;border-bottom:1px solid var(--line);min-width:0}
.pillars h3{font-size:20px;margin:0 0 8px}
.pillars p{margin:0;color:var(--muted);font-size:15px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px}
.card{display:flex;flex-direction:column;background:var(--surface);text-decoration:none;color:inherit;min-width:0;border-top:1px solid var(--line)}
.card:hover h3{color:var(--accent)}
.thumb{aspect-ratio:16/10;max-width:100%;display:flex;align-items:flex-end;padding:18px;font-family:var(--serif);font-weight:700;font-size:18px;color:#fff;line-height:1.3;margin-top:20px}
.card .body{padding:20px 0 8px;display:flex;flex-direction:column;gap:8px}
.card h3{font-size:19px;margin:0}
.card p{margin:0;color:var(--muted);font-size:15px}
.meta{font-size:13px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}
.cat{color:var(--accent);font-weight:700}
.contact{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.contact>*{min-width:0}
.contact h2{margin:0 0 6px;font-size:26px}.contact p{margin:0;color:var(--muted)}
.profile{border-top:2px solid var(--fg);padding-top:20px}
.profile h2{font-size:20px;margin:0 0 4px}
.profile dl{margin:16px 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15px}
.profile dt{color:var(--muted)}.profile dd{margin:0}
article.post{max-width:700px;margin:0 auto;padding:72px 0 32px}
article.post h1{font-size:clamp(28px,5vw,40px);margin:12px 0 16px}
article.post h2{font-size:24px;margin:48px 0 12px}
article.post p{margin:0 0 20px}
article.post ul{padding-left:1.2em;margin:0 0 20px}
.crumbs{font-size:14px;color:var(--muted);text-decoration:none}
.byline{color:var(--muted);font-size:14px;display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.faq{border-top:1px solid var(--line);padding:16px 0}
.faq b{display:block;margin-bottom:4px}.faq span{color:var(--muted)}
.note{background:var(--note-bg);border:1px dashed var(--note-line);padding:12px 14px;margin:0 0 20px;font-size:14px}
.note::before{content:"직접 입력 · ";font-weight:700}
.notice{color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:16px;margin-top:40px}
.kw{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.kw span{font-size:13px;background:var(--accent-soft);padding:2px 12px;color:var(--accent)}
footer{border-top:1px solid var(--line);margin-top:24px;padding:32px 0 40px;color:var(--muted);font-size:13px}
.form{display:grid;gap:8px}
.form label{font-weight:500;font-size:14px;margin-top:8px}
.form input,.form textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);width:100%}
.form input:focus-visible,.form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.form .check{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:12px 0}
.form .check input{width:auto;margin-top:6px}
.form button{justify-self:start}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media (max-width:760px){.hero{grid-template-columns:1fr;gap:36px;padding:48px 0}.photo{aspect-ratio:16/10}section.block{padding:48px 0}.site-nav{gap:18px}}

/* 메뉴바: 얇은 선, 넓은 글자 간격, 마지막 항목만 테두리 버튼 */
header.top{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px)}
header.top .wrap{padding:22px 0}
.brand{font-size:21px;letter-spacing:.12em}
.site-nav{align-items:center;gap:36px}
.site-nav a{position:relative;font-size:14px;letter-spacing:.08em;border-bottom:0;padding:6px 0}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-nav a:not(.nav-cta):hover::after,.site-nav a[aria-current="page"]:not(.nav-cta)::after{transform:scaleX(1)}
.site-nav a.nav-cta{padding:9px 20px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);transition:background .2s,color .2s}
.site-nav a.nav-cta:hover,.site-nav a.nav-cta[aria-current="page"]{background:var(--accent);color:var(--accent-fg)}
@media (max-width:560px){header.top .wrap{padding:14px 0}.brand{font-size:18px}.site-nav{gap:18px;width:100%;justify-content:space-between}.site-nav a.nav-cta{padding:7px 14px}}
@media (prefers-reduced-motion:reduce){.site-nav a::after,.site-nav a.nav-cta{transition:none}}

.more{margin-top:4px;font-size:14px;font-weight:700;color:var(--accent)}
.card:hover .more{text-decoration:underline}

header.top .brand:has(.rfg-header-logo){display:flex;align-items:center;flex-shrink:0;line-height:1}header.top .rfg-header-logo{display:block;width:153px;height:auto;object-fit:contain}@media(max-width:620px){header.top .rfg-header-logo{width:129px}}
