:root{
  --deep:#581225;--accent:#f2c0ae;--paper:#fff6f2;--rose:#c43d5e;--ink:#2c0712;
  --muted:color-mix(in srgb,var(--ink) 62%,white);--line:color-mix(in srgb,var(--deep) 17%,transparent);
  --radius:5px 30px 5px 30px;--body-size:16px;--section-pad:84px;
  --shadow:0 24px 70px color-mix(in srgb,var(--deep) 17%,transparent)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",sans-serif;font-size:var(--body-size);line-height:1.72;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video,iframe{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.section,.district-section{width:min(1240px,calc(100% - 32px));margin-inline:auto}
.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px max(16px,calc((100% - 1240px)/2));background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;min-width:max-content}
.brand img{width:44px;height:44px;object-fit:contain}
.brand strong{display:block;font-size:21px;letter-spacing:-.04em}
.brand small{display:block;color:var(--muted);font-size:11px}
.site-nav{display:flex;gap:22px;font-size:14px;font-weight:800}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--rose)}
.header-call{display:flex;flex-direction:column;line-height:1.25;text-align:right}
.header-call small{font-size:11px;color:var(--muted)}
.header-call strong{font-size:18px;white-space:nowrap}
body[data-header="glass-bar"] .site-header{box-shadow:0 8px 30px color-mix(in srgb,var(--deep) 8%,transparent);border-bottom-color:color-mix(in srgb,var(--rose) 24%,transparent)}
body[data-header="floating-capsule"] .site-header{width:min(1280px,calc(100% - 28px));margin:12px auto 0;top:10px;border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 34px color-mix(in srgb,var(--deep) 13%,transparent);padding-inline:28px}
body[data-header="wine-ribbon"] .site-header{background:var(--deep);color:white;border-color:transparent}
body[data-header="wine-ribbon"] .brand small,body[data-header="wine-ribbon"] .header-call small{color:#ffffffb8}
body[data-header="wine-ribbon"] .site-nav{padding:9px 18px;border-radius:999px;background:#ffffff12}
body[data-header="split-frame"] .site-header{border-block:5px solid var(--deep);background:white}
body[data-header="split-frame"] .brand{padding-right:30px;border-right:1px solid var(--line)}
body[data-header="split-frame"] .header-call{padding-left:30px;border-left:1px solid var(--line)}
body[data-header="compact-ledger"] .site-header{min-height:66px;padding-block:4px;background:white;box-shadow:0 7px 20px #00000008}
body[data-header="compact-ledger"] .brand img{width:38px;height:38px}
.hero{width:min(1380px,calc(100% - 28px));min-height:590px;margin:18px auto 0;border-radius:calc(var(--radius) + 18px);overflow:hidden;position:relative;display:grid;align-items:center;box-shadow:var(--shadow);background:var(--deep);color:white}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 97%,transparent),color-mix(in srgb,var(--deep) 80%,transparent) 47%,color-mix(in srgb,var(--rose) 46%,transparent));z-index:1}
.hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 64px));margin:auto}
.hero-inner>*{max-width:780px}
body[data-hero-align="center"] .hero-inner{text-align:center}
body[data-hero-align="center"] .hero-inner>*{max-width:900px;margin-inline:auto}
body[data-hero-align="offset"] .hero-inner{width:min(1040px,calc(100% - 64px));margin-left:max(54px,calc((100% - 1120px)/2 + 170px))}
.hero .eyebrow{color:var(--accent)}
.hero h1{font-size:clamp(38px,5.5vw,72px);line-height:1.08;letter-spacing:-.055em;margin:18px 0 22px;word-break:keep-all}
.hero p{font-size:clamp(16px,1.55vw,20px);color:#fff4f5}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-actions a{display:inline-flex;min-height:52px;padding:0 24px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:var(--ink);font-weight:900}
.hero-actions a+a{background:transparent;color:white;border:1px solid #ffffff77}
.status-strip{width:min(1180px,calc(100% - 32px));margin:-34px auto 0;position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);background:white;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.status-strip div{padding:22px 24px;border-right:1px solid var(--line)}
.status-strip div:last-child{border:0}.status-strip small{display:block;color:var(--rose);font-weight:900}.status-strip strong{display:block;margin-top:4px}
.section,.district-section{padding:var(--section-pad) 0}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:950;color:var(--rose);margin:0 0 10px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section-head h2,.district-head h2,.service-copy h2{font-size:clamp(28px,3.5vw,46px);line-height:1.18;letter-spacing:-.045em;margin:0;word-break:keep-all}
.section-head>p{max-width:560px;color:var(--muted)}
.locality-navigator{margin-top:46px;padding:44px;background:white;border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);box-shadow:0 14px 45px #00000008}
.locality-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.locality-group{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 68%,white)}
.locality-group h3{font-size:19px;margin:0 0 14px;color:var(--deep)}
.locality-links{display:flex;flex-wrap:wrap;gap:9px}
.locality-jump{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--rose) 28%,transparent);border-radius:999px;background:white;color:var(--ink);font-size:12px;font-weight:850;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.locality-jump:hover,.locality-jump:focus-visible{transform:translateY(-3px);background:var(--deep);color:white;box-shadow:0 10px 22px color-mix(in srgb,var(--deep) 22%,transparent)}
.locality-target{scroll-margin-top:110px}
.locality-target:target,.locality-target:focus{background:var(--accent)!important;border-color:var(--rose)!important;color:var(--ink);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 28%,transparent)}
body[data-navigator="panel-grid"] .locality-group{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
body[data-navigator="side-rail"] .locality-groups{display:block}
body[data-navigator="side-rail"] .locality-group{display:grid;grid-template-columns:190px 1fr;align-items:start;border:0;border-left:5px solid var(--rose);border-radius:0;padding:20px 24px;margin-bottom:12px}
body[data-navigator="banded"] .locality-navigator{background:var(--deep);color:white}
body[data-navigator="banded"] .locality-navigator .eyebrow,body[data-navigator="banded"] .locality-group h3{color:var(--accent)}
body[data-navigator="banded"] .section-head>p{color:#ffffffba}
body[data-navigator="banded"] .locality-group{background:#ffffff0c;border-color:#ffffff25}
body[data-navigator="ledger"] .locality-navigator{box-shadow:none;border-width:3px;border-radius:0}
body[data-navigator="ledger"] .locality-group{background:transparent;border:0;border-top:2px solid var(--deep);border-radius:0;padding-inline:0}
body[data-navigator="ledger"] .locality-jump{border-radius:6px;background:transparent;border-color:var(--line)}
body[data-navigator="mosaic"] .locality-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-navigator="mosaic"] .locality-group:nth-child(4n+1){grid-column:span 2;background:linear-gradient(135deg,white,color-mix(in srgb,var(--accent) 18%,white))}
body[data-navigator="outlined"] .locality-navigator{border:10px double color-mix(in srgb,var(--deep) 70%,white);box-shadow:none}
body[data-navigator="outlined"] .locality-group{background:white;border:2px solid var(--deep)}
.service-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}
.service-copy p{font-size:calc(var(--body-size) + 1px)}
.profile-panel{margin:0;border-radius:var(--radius);overflow:hidden;background:white;box-shadow:var(--shadow)}
.profile-panel img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.profile-panel figcaption{padding:14px 18px;font-size:13px;color:var(--muted)}
body[data-service-side="left"] .profile-panel{order:-1}
body[data-section-style="editorial-led"] .service-intro{grid-template-columns:.82fr 1.18fr}
body[data-section-style="editorial-led"] .service-copy{padding:45px;background:white;border-top:7px solid var(--rose);box-shadow:var(--shadow)}
body[data-section-style="directory-led"] .service-intro{align-items:stretch;gap:0;border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}
body[data-section-style="directory-led"] .service-copy{padding:52px}.benefit-grid,.program-grid,.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.benefit-card,.program-card,.check-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:185px;transition:.3s ease;outline:none}
.benefit-card>span,.program-card>span,.check-card>span{color:var(--rose);font-weight:950}
.benefit-card h3,.program-card h3,.check-card h3{font-size:21px;margin:22px 0 8px}.benefit-card p,.program-card p,.check-card p{margin:0;color:var(--muted)}
.benefit-card:hover,.benefit-card:focus-visible,.program-card:hover,.program-card:focus-visible,.check-card:hover,.check-card:focus-visible{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 18px 44px color-mix(in srgb,var(--rose) 18%,transparent)}
.usage-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.usage-steps li{background:var(--deep);color:white;padding:24px;border-radius:var(--radius);min-height:220px}.usage-steps li>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:950}.usage-steps h3{font-size:20px;margin:24px 0 9px}.usage-steps p{margin:0;color:#ffffffc4}
.course-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.course-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}.course-card>span{color:var(--rose);font-size:12px;font-weight:950}.course-card h3{font-size:20px;margin:12px 0}.course-card ul{list-style:none;margin:0;padding:0}.course-card li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.course-card strong{color:var(--deep);white-space:nowrap}.course-note{margin:18px 0 0;padding:18px 20px;background:color-mix(in srgb,var(--accent) 18%,white);border-left:4px solid var(--rose);border-radius:0 var(--radius) var(--radius) 0}.key-underline{text-decoration:underline 2px var(--rose);text-underline-offset:5px}
.district-section{background:white;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:48px;margin-bottom:26px;box-shadow:0 15px 40px #00000009}
.district-head{display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:end;margin-bottom:30px}.district-head .eyebrow{grid-column:1/-1}.district-head p:last-child{color:var(--muted);max-width:520px}
body[data-district-rhythm="offset"] .district-section:nth-of-type(even){transform:translateX(20px)}body[data-district-rhythm="offset"] .district-section:nth-of-type(odd){transform:translateX(-12px)}
body[data-district-rhythm="framed"] .district-section{border:3px solid var(--deep);box-shadow:12px 12px 0 color-mix(in srgb,var(--accent) 45%,transparent)}
body[data-district-rhythm="ribbon"] .district-section{border-left:12px solid var(--rose);border-radius:0 var(--radius) var(--radius) 0}
body[data-district-rhythm="minimal"] .district-section{box-shadow:none;border-inline:0;border-radius:0;background:transparent;border-top:2px solid var(--deep)}
.local-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:14px}.local-grid section{padding:22px;background:color-mix(in srgb,var(--paper) 72%,white);border-radius:var(--radius)}.local-grid h3,.dining-block>h3,.local-column h3{font-size:21px;margin:0 0 15px}.chip-list{display:flex;flex-wrap:wrap;gap:7px}.chip-list span{display:inline-flex;padding:7px 10px;border:1px solid var(--line);background:white;border-radius:999px;font-size:13px}.road-list span{border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,white)}
.dining-block,.local-column{margin-top:34px}.dining-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dining-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px}.dining-index{color:var(--rose);font-weight:950}.dining-card h3{font-size:22px;margin:10px 0}.dining-meta{font-size:13px;color:var(--muted);word-break:keep-all}.dining-card p{font-size:14px}
.priority-localities{margin:30px 0 0;padding:23px;border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 13%,white),color-mix(in srgb,var(--accent) 18%,white));border:1px solid color-mix(in srgb,var(--rose) 32%,transparent)}.priority-localities>p{margin:0 0 12px;font-weight:900}.priority-tags{display:flex;flex-wrap:wrap;gap:8px}.priority-tags span,.priority-tags a{padding:7px 10px;border-radius:999px;background:white;color:var(--deep);font-size:13px;font-weight:800;border:1px solid var(--line);transition:.2s ease}.priority-tags a:hover,.priority-tags a:focus-visible{transform:translateY(-2px);border-color:var(--rose);color:var(--rose)}
.local-column p{font-size:16px;color:color-mix(in srgb,var(--ink) 82%,white);margin:0 0 15px}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq details{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:0 20px}.faq summary{cursor:pointer;font-weight:900;padding:19px 0}.faq details p{margin:0 0 20px;color:var(--muted)}
.reference-media{display:grid;grid-template-columns:1fr 1fr;gap:18px}.media-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.media-card h2{font-size:24px}.embed-frame{aspect-ratio:16/9;overflow:hidden;border-radius:calc(var(--radius) - 6px);background:#ddd}.embed-frame iframe{width:100%;height:100%;border:0}.media-card>a{display:inline-block;margin-top:14px;color:var(--rose);font-weight:900}
.final-cta{margin-top:60px;padding:70px 20px;background:var(--deep);color:white;text-align:center}.final-cta h2{font-size:clamp(28px,3.5vw,46px);margin:0 0 10px}.final-cta a{display:inline-flex;margin-top:20px;padding:15px 26px;background:var(--accent);color:var(--ink);font-weight:950;border-radius:999px}.site-footer{padding:35px max(16px,calc((100% - 1240px)/2));display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
body[data-layout="split-ledger"] .hero{width:min(1320px,calc(100% - 48px));border-left:18px solid var(--accent);border-radius:8px 88px 8px 88px}body[data-layout="split-ledger"] .section-head{display:grid;grid-template-columns:.75fr 1.25fr;border-left:6px solid var(--rose);padding-left:22px}
body[data-layout="arched-editorial"] .hero{border-radius:180px 28px 180px 28px}body[data-layout="arched-editorial"] .profile-panel{border-radius:48% 48% 18px 18px}body[data-layout="arched-editorial"] .district-section{border-radius:80px 20px}
body[data-layout="civic-ribbon"] .hero{width:100%;max-width:none;margin-top:0;border-radius:0;min-height:540px}body[data-layout="civic-ribbon"] .status-strip{border-radius:0;border-bottom:6px solid var(--accent)}body[data-layout="civic-ribbon"] .section-head h2{text-transform:none;border-bottom:5px solid var(--deep);padding-bottom:12px}
body[data-layout="soft-gallery"]{background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--rose) 8%,white))}body[data-layout="soft-gallery"] .district-section{box-shadow:none;background:color-mix(in srgb,var(--paper) 40%,white);border:0}body[data-layout="soft-gallery"] .program-grid,body[data-layout="soft-gallery"] .benefit-grid{gap:28px}
body[data-layout="border-journal"] .hero{box-shadow:none;border:3px solid var(--deep)}body[data-layout="border-journal"] .section-head{border-bottom:4px double var(--deep);padding-bottom:20px}body[data-layout="border-journal"] .service-intro{border-block:2px solid var(--deep);padding-inline:36px}
body[data-layout="stacked-dossier"] .hero{width:min(1180px,calc(100% - 32px));margin-right:max(16px,calc((100% - 1320px)/2));border-radius:4px 100px 4px 4px}body[data-layout="stacked-dossier"] .status-strip{margin-left:max(16px,calc((100% - 1320px)/2));margin-right:auto}body[data-layout="stacked-dossier"] .service-intro{gap:0}body[data-layout="stacked-dossier"] .profile-panel{transform:translateX(-28px);z-index:-1}
body[data-layout="diagonal-lounge"] .hero{clip-path:polygon(0 0,100% 0,96% 100%,0 92%);border-radius:18px}body[data-layout="diagonal-lounge"] .locality-group{clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);padding-inline:34px}body[data-layout="diagonal-lounge"] .final-cta{clip-path:polygon(0 8%,100% 0,100% 100%,0 100%);padding-top:100px}
body[data-layout="compact-atlas"] .section,body[data-layout="compact-atlas"] .district-section{padding-top:62px;padding-bottom:62px}body[data-layout="compact-atlas"] .hero{min-height:500px;width:min(1220px,calc(100% - 32px));border-radius:14px}body[data-layout="compact-atlas"] .locality-groups{gap:9px}body[data-layout="compact-atlas"] .locality-group{padding:16px}
@media(max-width:1024px){.site-nav{display:none}.hero{min-height:540px}.status-strip{grid-template-columns:repeat(2,1fr)}.service-intro{grid-template-columns:1fr 340px}.benefit-grid,.program-grid,.check-grid,.dining-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(3,1fr)}.usage-steps{grid-template-columns:repeat(2,1fr)}.local-grid{grid-template-columns:1fr 1fr}.local-grid section:last-child{grid-column:1/-1}.locality-groups,body[data-navigator="mosaic"] .locality-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.locality-group,body[data-navigator="side-rail"] .locality-group{grid-template-columns:150px 1fr}body[data-navigator="mosaic"] .locality-group:nth-child(4n+1){grid-column:auto}}
@media(max-width:700px){html{scroll-padding-top:78px}.site-header,body[data-header="floating-capsule"] .site-header{min-height:68px;width:100%;margin:0;top:0;border-radius:0;padding:7px 12px}.brand img{width:38px;height:38px}.brand small,.header-call small{display:none}.brand strong{font-size:18px}.header-call strong{font-size:14px}.hero,body[data-layout] .hero{width:calc(100% - 20px);min-height:540px;margin:10px auto 0;border-radius:24px;clip-path:none!important;border-left-width:0}.hero-inner,body[data-hero-align="offset"] .hero-inner{width:calc(100% - 34px);margin:auto;text-align:left}.hero-inner>*,body[data-hero-align="center"] .hero-inner>*{margin-inline:0}.hero h1{font-size:clamp(34px,10vw,46px)}.status-strip,body[data-layout="stacked-dossier"] .status-strip{margin:-22px auto 0}.status-strip div{padding:16px}.locality-navigator{width:calc(100% - 20px);margin-top:38px;padding:28px 20px}.locality-groups,body[data-navigator="mosaic"] .locality-groups{grid-template-columns:1fr}.locality-group,body[data-navigator="side-rail"] .locality-group{display:block;padding:18px}.locality-links{gap:7px}.locality-jump{min-height:40px;padding:7px 12px}.section,.district-section{width:calc(100% - 24px);padding:60px 0}.district-section,body[data-district-rhythm] .district-section{padding:28px 20px;transform:none!important;box-shadow:none}.section-head,.district-head,body[data-layout="split-ledger"] .section-head{display:block}.service-intro,body[data-section-style] .service-intro{display:flex;flex-direction:column;gap:25px;border:0}.service-copy,body[data-section-style] .service-copy{padding:0;background:transparent;box-shadow:none;border:0}.profile-panel,body[data-layout="stacked-dossier"] .profile-panel{width:100%;transform:none}.benefit-grid,.program-grid,.check-grid,.usage-steps,.course-grid,.local-grid,.dining-grid,.faq-list,.reference-media{grid-template-columns:1fr}.usage-steps li{min-height:0}.course-card{padding:18px}.local-grid section:last-child{grid-column:auto}.site-footer{flex-direction:column}.priority-tags span,.priority-tags a{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.benefit-card,.program-card,.check-card,.locality-jump,.priority-tags a{transition:none}.benefit-card:hover,.benefit-card:focus-visible,.program-card:hover,.program-card:focus-visible,.check-card:hover,.check-card:focus-visible,.locality-jump:hover,.locality-jump:focus-visible,.priority-tags a:hover,.priority-tags a:focus-visible{transform:none}.hero video{display:none}}
