
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
:root{
  --main:#222222;
  --accent:#00a84d;
  --bg:#ffffff;
  --card:#f5f7f6;
  --line:#dde3e0;
  --ink:#20242a;
  --muted:#687079;
  --soft-shadow:0 18px 50px rgba(30,35,40,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Apple SD Gothic Neo","Nanum Myeongjo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.7;word-break:keep-all}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55;background:radial-gradient(circle at 10% 10%,rgba(163,116,44,.09),transparent 28%),radial-gradient(circle at 90% 30%,rgba(74,59,71,.07),transparent 32%)}
a{color:inherit}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
main{width:min(100% - 28px,1100px);margin:0 auto;padding:22px 0 72px}
.top{width:min(100% - 28px,1100px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--main);font-size:19px;font-weight:800;letter-spacing:-.02em}
.brand img{width:38px;height:38px;object-fit:contain;border-radius:7px}
.top nav{display:flex;gap:18px}.top nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:700}.top nav a:hover{color:var(--main)}
.breadcrumb{display:flex;align-items:center;gap:8px;margin:3px 0 22px;color:#7a8088;font-size:13px;overflow:hidden;white-space:nowrap}.breadcrumb a{text-decoration:none}.breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}
.eyebrow,.section-heading p,.product-no,.form-kicker{color:var(--accent);font:800 11px/1.4 "Avenir Next","Apple SD Gothic Neo",sans-serif;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3{line-height:1.3;color:var(--main)}
h1{font-size:clamp(29px,4vw,47px);letter-spacing:-.045em;overflow-wrap:anywhere}
h1 em{color:var(--accent);font-style:normal}
h2{font-size:clamp(23px,3vw,34px);letter-spacing:-.035em}
h3{font-size:18px;letter-spacing:-.02em}
.intro,.section-intro{color:#505861;font-size:17px;line-height:1.85}
.hero-detail{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:center;gap:38px;margin:12px 0 22px;padding:26px;background:#fff;border-radius:26px;box-shadow:var(--soft-shadow)}
.hero-copy{min-width:0}.hero-copy .eyebrow{margin-bottom:10px}.hero-copy h1{margin-bottom:14px}.hero-copy .intro{max-width:620px}

.hero-photo{position:relative;margin:0;max-width:380px}.hero-photo img{width:100%;max-width:100%;height:auto;aspect-ratio:16/9;max-height:290px;margin:0 auto;object-fit:contain;background:var(--bg);border-radius:20px 20px 58px 20px}
.hero-photo figcaption{display:-webkit-box;overflow:hidden;margin-top:7px;color:var(--muted);font-size:11px;text-align:right;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.quick-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:24px;background:var(--line);border:1px solid var(--line)}
.quick-facts div{padding:12px 14px;background:var(--card)}.quick-facts dt{font-size:11px;color:var(--muted)}.quick-facts dd{font-size:18px;font-weight:800;color:var(--main)}
.cta-box{margin:20px 0 58px;padding:24px 28px;background:var(--main);border:1px solid var(--line);border-radius:24px;box-shadow:none;text-align:center}
.cta-copy{margin-bottom:18px}.cta-copy h2{margin:4px 0 7px;color:var(--main);font-size:clamp(22px,3vw,30px)}.cta-copy>p:last-child{color:var(--muted);font-size:14px}.cta-kicker{font-weight:800;color:var(--accent)}.cta-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.cta-note{margin-top:11px;color:var(--muted);font-size:12px}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 16px;border:0;border-radius:999px;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px)}.btn svg{width:18px;height:18px;margin-right:7px}.btn-call{background:var(--main);color:#fff}.btn-sms{background:var(--card);color:var(--main);border:1px solid var(--main)}.btn-form{background:var(--accent);color:#fff}
.content-section{margin:0 0 86px;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.section-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;color:#fff;background:var(--main);border:0;border-radius:2px;font:800 12px/1 "Avenir Next",sans-serif}.section-heading p{margin-bottom:3px}
.variant-soft .section-heading>span{box-shadow:0 8px 20px rgba(74,59,71,.2)}
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insight-grid article{display:flex;gap:12px;align-items:flex-start;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:4px;}.insight-grid svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto;margin-top:2px}.insight-grid p{color:#4f565e}
.data-note,.review-date{margin-top:12px;color:#858b92;font-size:12px}.review-date{text-align:center;padding-top:20px;border-top:1px solid var(--line)}
.photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top center;border-radius:22px}.photo-gallery figcaption{padding:8px 2px;color:var(--muted);font-size:12px}
.info-intro-card{padding:30px 32px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 32px rgba(30,35,40,.045)}.info-intro-card h3{display:inline-block;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--main);font-size:22px}.info-intro-card p{max-width:900px;color:#505966;line-height:1.9}.facility-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--accent);gap:1px;border-radius:8px;overflow:hidden}.facility-summary-grid div{min-height:138px;padding:24px 26px;background:var(--card)}.facility-summary-grid div:last-child:nth-child(3n+2){grid-column:span 2}.facility-summary-grid dt{margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:800}.facility-summary-grid dd{color:var(--main);font-size:17px;font-weight:800;line-height:1.5}.facility-summary-grid a{color:var(--main)}
.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checklist-grid article{display:flex;gap:15px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:4px;}.checklist-grid article>b{color:var(--accent);font:900 22px/1 "Avenir Next",sans-serif}.checklist-grid h3{margin-bottom:5px}.checklist-grid p{color:var(--muted);font-size:14px}
.location-card{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:4px}.addr{font-size:19px;font-weight:800;color:var(--main)}.maps{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.maps a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line);background:var(--bg);border-radius:3px;font-size:13px;font-weight:800;text-decoration:none;color:var(--main)}.maps svg{width:15px;height:15px;margin-right:5px}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.transport-grid article{padding:16px;background:var(--bg);border-radius:2px}.transport-grid h3{font-size:15px;margin-bottom:6px}.transport-grid p{font-size:13px;color:var(--muted);word-break:break-word}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;margin-top:22px}.product{position:relative;padding:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.product::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.product:hover::after,.product[open]::after{transform:scaleX(1)}.product-summary{display:block;padding:20px 18px;list-style:none;cursor:pointer}.product-summary::-webkit-details-marker{display:none}.product h3{margin:7px 0}.price b{color:var(--accent);font-size:21px}.pdesc{min-height:44px;margin-top:7px;color:var(--muted);font-size:13px}.product-toggle{display:inline-flex;align-items:center;margin-top:14px;color:var(--main);font-size:12px;font-weight:900}.product-toggle::after{content:" +";margin-left:4px;color:var(--accent);font-size:18px}.product[open] .product-toggle::after{content:" −"}.product-includes{padding:0 18px 22px;border-top:1px solid var(--line)}.product-includes>p{padding:16px 0 8px;color:var(--main);font-size:13px;font-weight:900}.product-includes ul{display:grid;gap:7px;padding-left:18px}.product-includes li{color:#515b66;font-size:13px;line-height:1.55}.product-includes li::marker{color:var(--accent)}.product-includes small{display:block;margin-top:14px;padding-top:11px;border-top:1px dashed var(--line);color:var(--muted);font-size:11px;line-height:1.55}.notice{margin-top:12px;padding:12px 14px;background:#fbf4e8;border-left:4px solid var(--accent);color:#755b35;font-size:13px}

.consult-form{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:start;margin-top:30px;padding:30px;background:var(--main);color:#fff;border-radius:24px;}.consult-form h2,.consult-form h3{color:#fff;margin:6px 0}.cf-note{color:rgba(255,255,255,.68);font-size:14px}.form-fields{display:grid;gap:9px}.form-fields label{color:rgba(255,255,255,.78);font-size:12px;font-weight:800}.form-fields input,.form-fields select{display:block;width:100%;margin-top:4px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:#fff;color:var(--ink);font-size:15px}.form-fields .btn-call{background:var(--accent);color:#fff}.cf-msg{min-height:18px;color:#ffe0a6;font-size:12px}.cf-done{grid-column:1/-1;padding:30px;text-align:center;color:#fff;font-size:20px;font-weight:800}.cf-done--night{display:grid;gap:18px;justify-items:center}.cf-done--night p{max-width:34em;margin:0;font-size:16px;font-weight:700;line-height:1.65}.cf-done--night .btn{max-width:360px}.cf-done--night .btn-call{background:var(--accent);color:#fff}
.process-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-list li{position:relative;padding:22px 18px;background:var(--card)}.process-list li>span{color:var(--accent);font:900 27px/1 "Avenir Next",sans-serif}.process-list h3{margin:14px 0 7px}.process-list p{color:var(--muted);font-size:14px}
.etiquette-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px;list-style:none}.etiquette-list li{display:flex;gap:9px;padding:15px;background:var(--card);border:1px solid var(--line);border-radius:3px}.etiquette-list svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto;margin-top:3px}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);background:transparent;}.faq-list summary{position:relative;padding:18px 38px 18px 2px;list-style:none;cursor:pointer;color:var(--main);font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:8px;top:14px;color:var(--accent);font-size:24px}.faq-list details[open] summary::after{content:"–"}.faq-list details p{padding:0 38px 20px 2px;color:var(--muted);font-size:15px}
.faq-answers{padding:8px 32px;background:var(--card);border:1px solid var(--line);border-radius:6px}.faq-answers article{padding:24px 0;border-bottom:1px solid var(--line)}.faq-answers article:last-child{border-bottom:0}.faq-answers h3{display:flex;gap:8px;margin-bottom:12px;color:var(--main);font-size:17px}.faq-answers h3 span{color:var(--accent);flex:0 0 auto}.faq-answers p{display:flex;gap:9px;color:#647083;font-size:15px}.faq-answers p b{color:#8892a2;flex:0 0 auto}
.nearby-table{border-top:2px solid var(--main)}.nearby-table a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 10px;border-bottom:1px solid var(--line);text-decoration:none;align-items:center;transition:background .16s}.nearby-table a:hover{background:var(--card)}.nearby-table strong{color:var(--main)}.nearby-table span{color:var(--muted);font-size:13px}
footer{padding:40px 20px 55px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:13px}.footer-brand{margin-bottom:6px;color:var(--main);font-size:18px;font-weight:900;letter-spacing:.08em}.foot-links{margin-top:8px}.foot-links a{color:var(--muted)}
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.sticky-cta button,.sticky-cta a{display:flex;align-items:center;justify-content:center;flex:1;min-height:45px;border:0;border-radius:5px;font-weight:900;text-decoration:none}.sticky-cta svg{width:16px;height:16px;margin-right:5px}.s-call{background:var(--main);color:#fff}.s-sms{background:#fff;color:var(--main);border:1px solid var(--main)!important}
/* Home */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:620px;padding:52px 0 80px}.home-hero h1{margin:12px 0 22px;font-size:clamp(42px,6.4vw,76px)}.home-hero-copy>.intro{max-width:600px}.hero-counts{display:flex;gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line)}.hero-counts div{min-width:110px;flex:1;padding:12px 14px;background:var(--card)}.hero-counts b{display:block;color:var(--main);font-size:22px}.hero-counts span{display:block;color:var(--muted);font-size:11px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px}.home-priority-form{margin-top:-44px}.hero-mosaic{position:relative;height:510px}.hero-mosaic a{position:absolute;overflow:hidden;text-decoration:none;background:#fff;box-shadow:var(--soft-shadow)}.hero-mosaic img{width:100%;height:100%;object-fit:cover}.hero-mosaic span{position:absolute;left:0;right:0;bottom:0;padding:38px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;font-weight:800}.hero-mosaic small{display:block;opacity:.72;font-weight:500}.mosaic-1{left:0;top:0;width:72%;height:58%;border-radius:3px}.mosaic-2{right:0;top:18%;width:42%;height:45%;border:6px solid var(--bg);border-radius:3px}.mosaic-3{left:15%;bottom:0;width:62%;height:39%;border:6px solid var(--bg);border-radius:3px}

.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;list-style:none}.region-grid a{display:grid;grid-template-columns:1fr auto;gap:3px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:3px;text-decoration:none;transition:transform .18s,box-shadow .18s}.region-grid a:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(30,35,40,.07)}.region-grid strong{color:var(--main);font-size:18px}.region-grid span{color:var(--accent);font-weight:800}.region-grid small{grid-column:1/-1;color:var(--muted)}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.featured-grid a{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:3px;text-decoration:none}.featured-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;transition:transform .3s}.featured-grid a:hover img{transform:scale(1.025)}.featured-grid a>div{padding:12px 14px}.featured-grid strong,.featured-grid span{display:block}.featured-grid strong{color:var(--main)}.featured-grid span{color:var(--muted);font-size:12px}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.decision-grid article{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:3px}.decision-grid b{color:var(--accent);font:900 26px/1 "Avenir Next",sans-serif}.decision-grid h3{margin:18px 0 8px}.decision-grid p{color:var(--muted);font-size:14px}
/* Region */
.region-hero{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:42px 0 58px;border-bottom:1px solid var(--line)}.region-hero h1{margin:10px 0 18px}.region-hero .intro{max-width:730px}.region-stats{display:grid;grid-template-columns:repeat(3,1fr);min-width:420px;background:var(--line);gap:1px}.region-stats div{padding:15px;background:var(--card)}.region-stats dt{color:var(--muted);font-size:11px}.region-stats dd{color:var(--main);font-size:21px;font-weight:900}.region-photo-section{margin-top:70px}.city-group{margin-bottom:40px}.city-title{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--main);list-style:none;cursor:pointer}.city-title::-webkit-details-marker{display:none}.city-title::after{content:"+";color:var(--accent);font-size:24px;line-height:1}.city-group[open] .city-title::after{content:"–"}.city-title h3{font-size:21px}.city-title span{margin-left:auto;color:var(--accent);font-weight:900}.home-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);list-style:none}.home-list li{background:var(--card)}.home-list a{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:14px 16px;text-decoration:none}.home-list strong{color:var(--main)}.addr-sub{grid-column:1;color:var(--muted);font-size:12px}.home-spec{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:12px;font-weight:800}
@media(max-width:900px){
  .hero-detail,.home-hero{grid-template-columns:1fr;gap:24px}.hero-photo{max-width:380px;margin:0 auto}.home-hero{min-height:auto;padding:40px 0 70px}.hero-mosaic{height:430px;max-width:650px;width:100%;margin:0 auto}.products{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:repeat(2,1fr)}.region-grid{grid-template-columns:repeat(3,1fr)}.region-hero{grid-template-columns:1fr}.region-stats{min-width:0}.facility-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  body{padding-bottom:72px;font-size:15px}.top{padding:13px 0}.brand{font-size:16px;letter-spacing:0}.brand img{width:32px;height:32px}.top nav{gap:10px}.top nav a{font-size:12px}.breadcrumb{margin-bottom:12px}main{width:min(100% - 22px,1100px);padding-top:14px}.hero-detail{padding:16px 0;margin-top:0}.hero-photo{width:100%;max-width:360px}.hero-photo img{max-height:270px}.hero-copy{text-align:left}.hero-copy .intro{font-size:15px}.quick-facts{grid-template-columns:repeat(2,1fr)}.cta-box{margin:16px 0 54px;padding:20px 14px}.cta-actions{grid-template-columns:1fr}.cta-note{line-height:1.55}.content-section{margin-bottom:62px}.section-heading{gap:10px}.section-heading>span{width:32px;height:32px}.insight-grid,.checklist-grid,.photo-gallery,.transport-grid,.etiquette-list,.decision-grid,.featured-grid,.home-list{grid-template-columns:1fr}.info-intro-card{padding:22px 18px}.info-intro-card h3{font-size:19px}.facility-summary-grid{grid-template-columns:1fr}.facility-summary-grid div{min-height:0;padding:20px 18px}.facility-summary-grid div:last-child:nth-child(3n+2){grid-column:auto}.faq-answers{padding:4px 18px}.faq-answers article{padding:21px 0}.faq-answers h3,.faq-answers p{font-size:14px}.products{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.product{min-width:250px;scroll-snap-align:start}.product[open]{min-width:min(320px,calc(100vw - 44px))}.consult-form{grid-template-columns:1fr;gap:20px;padding:22px 16px}.process-list{grid-template-columns:1fr}.nearby-table a{grid-template-columns:1fr auto}.home-hero h1{font-size:42px}.home-priority-form{margin-top:-34px}.hero-counts div{min-width:0;flex:1;padding:10px}.home-actions{grid-template-columns:1fr}.hero-mosaic{height:340px}.region-grid{grid-template-columns:repeat(2,1fr)}.region-grid a{padding:12px}.region-grid strong{font-size:16px}.region-stats{grid-template-columns:1fr}.region-stats div{display:flex;justify-content:space-between}.home-spec{grid-column:1;grid-row:auto}.home-list a{grid-template-columns:1fr}.region-featured a:nth-child(n+4){display:none}.sticky-cta{display:flex}
}

@media(max-width:380px){.region-grid{grid-template-columns:1fr}.hero-counts b{font-size:18px}.top nav a:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

body.variant-jihacheol{--radius:12px;--accent-ink:#007a37;--tint:#e7f6ed;--sign:#222222;--yellow:#ffd400;--lime:#3ddc84;--gx:max(14px,calc(50% - 550px));--rail:64px;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;letter-spacing:-.012em}
body.variant-jihacheol::before{content:none}

/* ① 헤더 — 화면 폭 전체 짙은 회색 + 굵은 초록 선 */
body.variant-jihacheol .top{width:100%;max-width:none;margin:0;padding:12px var(--gx);background:var(--sign);border-bottom:6px solid var(--accent)}
body.variant-jihacheol .brand{color:#fff;letter-spacing:-.03em}
body.variant-jihacheol .brand img{width:40px;height:40px;padding:3px;border-radius:10px;background:#fff}
body.variant-jihacheol .top nav{gap:8px}
body.variant-jihacheol .top nav a{padding:7px 14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff;font-size:14px;font-weight:700}
body.variant-jihacheol .top nav a:hover{border-color:var(--yellow);background:var(--yellow);color:var(--sign)}
body.variant-jihacheol .eyebrow,body.variant-jihacheol .section-heading p,body.variant-jihacheol .product-no,body.variant-jihacheol .form-kicker{color:var(--accent-ink);letter-spacing:.08em}
body.variant-jihacheol h1 em{color:var(--accent-ink)}

/* 짙은 띠(역 안내판) 공통 — 홈 히어로, 상세·지역의 브레드크럼 + 머리 */
body.variant-jihacheol .home-hero,body.variant-jihacheol .sign{background:var(--sign);color:#fff}
body.variant-jihacheol .sign{padding:0 var(--gx)}
body.variant-jihacheol .sign .breadcrumb{margin:0;padding:16px 0 6px;color:#c9d1cd}
body.variant-jihacheol .sign .breadcrumb a{color:#fff}
body.variant-jihacheol .sign .eyebrow,body.variant-jihacheol .home-hero .eyebrow{color:var(--lime);letter-spacing:.1em}
body.variant-jihacheol .sign h1,body.variant-jihacheol .home-hero h1{color:#fff}
body.variant-jihacheol .sign h1 em,body.variant-jihacheol .home-hero h1 em{color:var(--lime)}
body.variant-jihacheol .sign .intro,body.variant-jihacheol .home-hero .intro{color:rgba(255,255,255,.84)}

/* 버튼 — 흰 바탕에서는 먹색/초록 테두리, 어두운 띠 위에서는 노랑/흰 테두리 */
body.variant-jihacheol .btn,body.variant-jihacheol button.btn{border-radius:var(--radius)}
body.variant-jihacheol .btn-call{background:var(--main);border-color:var(--main);color:#fff}
body.variant-jihacheol .btn-sms,body.variant-jihacheol .btn-form{background:#fff;border:2px solid var(--accent);color:var(--accent-ink)}
body.variant-jihacheol .home-hero .btn-call{background:var(--yellow);color:var(--sign)}
body.variant-jihacheol .home-hero .btn-sms{background:transparent;border:2px solid #fff;color:#fff}

/* ② 홈 히어로 — 제목 + 숫자 + 버튼, 그 아래 가로 노선 */
body.variant-jihacheol .home-hero{display:block;position:relative;min-height:0;padding:54px var(--gx) 0}
body.variant-jihacheol .home-hero-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:end}
body.variant-jihacheol .home-hero-copy>.eyebrow,body.variant-jihacheol .home-hero-copy>h1,body.variant-jihacheol .home-hero-copy>.intro{grid-column:1/-1}
body.variant-jihacheol .home-hero h1{margin:12px 0 18px;font-size:clamp(38px,5.4vw,68px);line-height:1.18;letter-spacing:-.05em}
body.variant-jihacheol .home-hero .intro{max-width:640px}
body.variant-jihacheol .hero-counts{grid-column:1;display:flex;gap:0;margin:30px 0 0;border:0;border-radius:0;background:none;overflow:visible}
body.variant-jihacheol .hero-counts div{min-width:0;flex:0 0 auto;padding:0 28px;border-left:1px solid rgba(255,255,255,.3);background:none}
body.variant-jihacheol .hero-counts div:first-child{padding-left:0;border-left:0}
body.variant-jihacheol .hero-counts b{color:var(--yellow);font-size:32px;line-height:1.2}
body.variant-jihacheol .hero-counts span{color:rgba(255,255,255,.8);font-size:12px}
body.variant-jihacheol .home-actions{grid-column:2;display:flex;gap:10px;max-width:none;margin:0}
body.variant-jihacheol .home-actions .btn{width:auto;min-width:176px}

/* 가로 노선: 정차 원 4개(단계 이름), 첫 정차에서 세로 노선이 아래 본문으로 이어진다 */
body.variant-jihacheol .route-strip{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:52px 0 0;list-style:none}
body.variant-jihacheol .route-strip::before{content:"";position:absolute;left:20px;bottom:0;width:8px;height:44px;background:var(--accent)}
body.variant-jihacheol .route-strip li{position:relative;display:flex;flex-direction:column;gap:2px;padding:0 14px 58px 8px}
body.variant-jihacheol .route-strip li::before{content:"";position:absolute;left:8px;bottom:24px;z-index:1;box-sizing:border-box;width:32px;height:32px;border:7px solid var(--accent);border-radius:50%;background:#fff}
body.variant-jihacheol .route-strip li::after{content:"";position:absolute;left:24px;right:-24px;bottom:36px;height:8px;background:var(--accent)}
body.variant-jihacheol .route-strip li:last-child::after{display:none}
body.variant-jihacheol .route-strip li:last-child::before{left:4px;bottom:20px;width:40px;height:40px;border-color:#fff;background:var(--yellow);box-shadow:0 0 0 4px var(--accent)}
body.variant-jihacheol .route-strip .stop-no{color:var(--yellow);font:800 13px/1.4 "Pretendard Variable",Pretendard,sans-serif;font-style:normal;letter-spacing:.1em}
body.variant-jihacheol .route-strip b{color:#fff;font-size:21px;line-height:1.35;letter-spacing:-.03em}

/* ③ 본문 — 왼쪽 세로 초록 노선, 섹션마다 번호 정차 원 */
body.variant-jihacheol main{position:relative;width:min(100% - 28px,1100px);padding:44px 0 104px var(--rail)}
body.variant-jihacheol main::before{content:"";position:absolute;left:20px;top:0;bottom:44px;width:8px;background:var(--accent)}
body.variant-jihacheol main::after{content:"";position:absolute;left:4px;bottom:24px;box-sizing:border-box;width:40px;height:40px;border:7px solid #fff;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px var(--accent)}
body.variant-jihacheol .content-section{margin-bottom:76px}
body.variant-jihacheol .section-heading{position:relative;display:block;min-height:44px;margin-bottom:26px}
body.variant-jihacheol .section-heading>span{position:absolute;left:calc(5px - var(--rail));top:2px;z-index:1;box-sizing:border-box;display:grid;place-items:center;width:38px;height:38px;border:5px solid var(--sign);border-radius:50%;background:#fff;color:var(--sign);font:800 11px/1 "Pretendard Variable",Pretendard,sans-serif;letter-spacing:0}
body.variant-jihacheol .section-heading h2{letter-spacing:-.04em}
body.variant-jihacheol .section-intro{margin-bottom:20px}

/* 카드·표 모서리 */
body.variant-jihacheol .content-section,body.variant-jihacheol .conversion-box,body.variant-jihacheol .product,body.variant-jihacheol .info-intro-card,body.variant-jihacheol .location-card,body.variant-jihacheol .checklist-grid article,body.variant-jihacheol .decision-grid article,body.variant-jihacheol .insight-grid article,body.variant-jihacheol .etiquette-list li,body.variant-jihacheol .featured-grid a{border-radius:var(--radius)}
body.variant-jihacheol .cta-box{margin:0 0 64px;border-radius:var(--radius);border-top:6px solid var(--accent)}
body.variant-jihacheol .price b{color:var(--accent-ink)}

/* 번호 없는 섹션(상담 폼·전화 안내 상자)에도 노선 위 빈 정차 원 */
body.variant-jihacheol .callback-section,body.variant-jihacheol .cta-box{position:relative}
body.variant-jihacheol .callback-section::before,body.variant-jihacheol .cta-box::before{content:"";position:absolute;left:calc(11px - var(--rail));top:22px;z-index:1;box-sizing:border-box;width:26px;height:26px;border:5px solid var(--sign);border-radius:50%;background:#fff}
body.variant-jihacheol .cta-box::before{top:30px}

/* ④ 지역 목록 — 역 이름판: 흰 칸 + 초록 테두리, 개수는 먹색 알약 */
body.variant-jihacheol .region-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
body.variant-jihacheol .region-grid a{position:relative;grid-template-columns:1fr;justify-items:center;align-content:center;min-height:92px;padding:14px 10px;border:3px solid var(--accent);border-radius:999px;background:#fff;text-align:center}
body.variant-jihacheol .region-grid a:hover{border-color:var(--sign);transform:none;box-shadow:0 0 0 3px var(--yellow)}
body.variant-jihacheol .region-grid strong{font-size:20px;letter-spacing:-.04em}
body.variant-jihacheol .region-grid span{padding:1px 11px;border-radius:999px;background:var(--sign);color:#fff;font-size:12px}
body.variant-jihacheol .region-grid small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ④ 식장 카드 — 번호 배지 (출구 번호판처럼 노란 원에 숫자) */
body.variant-jihacheol .featured-grid{counter-reset:stop}
body.variant-jihacheol .featured-grid a{counter-increment:stop;border:2px solid var(--sign);background:#fff}
body.variant-jihacheol .featured-grid a>div{position:relative;min-height:70px;padding:14px 14px 14px 62px;background:#fff}
body.variant-jihacheol .featured-grid a>div::before{content:counter(stop);position:absolute;left:14px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:34px;height:34px;border:2px solid var(--sign);border-radius:50%;background:var(--yellow);color:var(--sign);font:800 15px/30px "Pretendard Variable",Pretendard,sans-serif;text-align:center}
body.variant-jihacheol .featured-grid span{color:#56605b}

/* 홈 안내 칸 번호 — 같은 노란 원 */
body.variant-jihacheol .decision-grid article,body.variant-jihacheol .process-list{border:2px solid var(--sign);background:#fff}
body.variant-jihacheol .decision-grid b,body.variant-jihacheol .checklist-grid article>b{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--sign);border-radius:50%;background:var(--yellow);color:var(--sign);font:800 14px/1 "Pretendard Variable",Pretendard,sans-serif}
body.variant-jihacheol .decision-grid h3{margin-top:14px}
body.variant-jihacheol .checklist-grid article>b{flex:0 0 auto}
body.variant-jihacheol .process-list{gap:0;background:var(--sign);border-radius:var(--radius);overflow:hidden}
body.variant-jihacheol .process-list li{background:#fff;border-left:2px solid var(--sign)}
body.variant-jihacheol .process-list li:first-child{border-left:0}
body.variant-jihacheol .process-list li>span{color:var(--accent-ink)}

/* 상품 */
body.variant-jihacheol .product{border:2px solid var(--sign);background:#fff}
body.variant-jihacheol .product::after{height:6px}
body.variant-jihacheol .product-includes{border-top:2px solid var(--line)}
body.variant-jihacheol .product-includes li::marker{color:var(--accent-ink)}
body.variant-jihacheol .product-toggle::after{color:var(--accent-ink)}
body.variant-jihacheol .notice{border-left-color:var(--sign);border-radius:0 var(--radius) var(--radius) 0}

/* 상담 폼 — 어두운 상자, 위에 초록 선 */
body.variant-jihacheol .consult-form{border-radius:var(--radius);border-top:6px solid var(--accent)}
body.variant-jihacheol .consult-form .form-kicker{color:var(--lime)}
body.variant-jihacheol .form-fields .btn-call,body.variant-jihacheol .cf-done--night .btn-call{background:var(--yellow);color:var(--sign)}
body.variant-jihacheol .faq-list summary::after{color:var(--accent-ink)}

/* 상세 — 어두운 띠 안의 식장 머리 */
body.variant-jihacheol .hero-detail{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);align-items:center;gap:40px;margin:0;padding:20px 0 50px;background:none;border-radius:0;box-shadow:none}
body.variant-jihacheol .hero-photo img{border-radius:var(--radius);background:#fff}
body.variant-jihacheol .hero-photo figcaption{color:#c4ccc8;font-size:12px}
body.variant-jihacheol .hero-copy h1{font-size:clamp(30px,4vw,48px)}

/* 상세 정보 칸 — 이름판 모양 */
body.variant-jihacheol .quick-facts,body.variant-jihacheol .facility-summary-grid{gap:10px;border:0;border-radius:0;background:none;overflow:visible}
body.variant-jihacheol .quick-facts div,body.variant-jihacheol .facility-summary-grid div{border:2px solid var(--accent);border-radius:var(--radius);background:#fff}
body.variant-jihacheol .facility-summary-grid{border-top:0}
body.variant-jihacheol .facility-summary-grid div{min-height:0}

/* 길 요약 카드: 초록 띠 */
body.variant-jihacheol .info-intro-card{border-left:6px solid var(--accent)}
body.variant-jihacheol .info-intro-card h3{border-bottom-color:var(--accent)}

/* 가는 길 칸: 대중교통 원문이 주인공이라 한 줄로 쌓고 글자를 키운다 */
body.variant-jihacheol .transport-grid{grid-template-columns:1fr}
body.variant-jihacheol .transport-grid article{border:1px solid var(--line);border-left:6px solid var(--line);border-radius:var(--radius)}
body.variant-jihacheol .transport-grid article:first-child{border-left-color:var(--accent);background:#fff}
body.variant-jihacheol .transport-grid h3{display:flex;align-items:center;gap:8px;font-size:16px}
body.variant-jihacheol .transport-grid h3::before{content:"";width:12px;height:12px;border:3px solid var(--main);border-radius:50%;background:#fff}
body.variant-jihacheol .transport-grid p{font-size:15px;line-height:1.9;color:var(--ink)}
body.variant-jihacheol .maps a{border-radius:var(--radius);border-color:var(--accent)}

/* 지역(시도) 페이지 — 어두운 띠 머리와 시군구 이름판, 식장 번호 목록 */
body.variant-jihacheol .region-hero{align-items:end;padding:18px 0 52px;border-bottom:0}
body.variant-jihacheol .region-stats{gap:10px;min-width:420px;background:none;overflow:visible}
body.variant-jihacheol .region-stats div{padding:12px 16px;border:2px solid var(--accent);border-radius:var(--radius);background:transparent}
body.variant-jihacheol .region-stats dt{color:rgba(255,255,255,.82);font-size:12px}
body.variant-jihacheol .region-stats dd{color:var(--yellow)}
body.variant-jihacheol .region-photo-section{margin-top:0}
body.variant-jihacheol .city-group{margin-bottom:14px}
body.variant-jihacheol .city-group[open]{margin-bottom:28px}
body.variant-jihacheol .city-title{margin-bottom:0;padding:12px 20px;border:3px solid var(--accent);border-radius:var(--radius);background:#fff}
body.variant-jihacheol .city-group[open] .city-title{margin-bottom:12px}
body.variant-jihacheol .city-title::after{color:var(--accent-ink)}
body.variant-jihacheol .city-title span{padding:1px 12px;border-radius:999px;background:var(--sign);color:#fff;font-size:13px}
body.variant-jihacheol .home-list{counter-reset:stop;gap:10px;border:0;border-radius:0;background:none;overflow:visible}
body.variant-jihacheol .home-list li{counter-increment:stop;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
body.variant-jihacheol .home-list a{position:relative;padding:14px 16px 14px 62px}
body.variant-jihacheol .home-list a::before{content:counter(stop);position:absolute;left:14px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:34px;height:34px;border:2px solid var(--sign);border-radius:50%;background:#fff;color:var(--sign);font:800 14px/30px "Pretendard Variable",Pretendard,sans-serif;text-align:center}
body.variant-jihacheol .home-list a:has(.route-tag.on)::before{background:var(--yellow)}
body.variant-jihacheol .route-tag{display:inline-block;justify-self:start;padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#5b6560;font-size:11px;font-weight:700;line-height:1.5}
body.variant-jihacheol .route-tag.on{border-color:#a9dcbd;background:var(--tint);color:var(--accent-ink)}
body.variant-jihacheol .addr-sub{color:#56605b}

/* 같은 동네 다른 식장 — 번호 배지 */
body.variant-jihacheol .nearby-table{counter-reset:stop;border-top:0}
body.variant-jihacheol .nearby-table a{counter-increment:stop;position:relative;padding:14px 10px 14px 56px;border:0;border-bottom:1px solid var(--line)}
body.variant-jihacheol .nearby-table a::before{content:counter(stop);position:absolute;left:8px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:32px;height:32px;border:2px solid var(--sign);border-radius:50%;background:var(--yellow);color:var(--sign);font:800 13px/28px "Pretendard Variable",Pretendard,sans-serif;text-align:center}
body.variant-jihacheol .nearby-table span{color:#56605b}

/* 바닥 — 헤더와 같은 짙은 회색 + 초록 선 */
body.variant-jihacheol footer{padding:36px var(--gx) 60px;border-top:6px solid var(--accent);background:var(--sign);color:#c9d1cd;text-align:left}
body.variant-jihacheol .footer-brand{color:#fff;letter-spacing:-.02em}
body.variant-jihacheol footer a{color:#fff}
body.variant-jihacheol .review-date{border-top-color:var(--line)}

body.variant-jihacheol a:focus-visible,body.variant-jihacheol button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 5px var(--sign)}

/* 대비 보정 — 흰 바탕의 옅은 회색 글자(공용 CSS 값)를 4.5:1 이상으로 */
body.variant-jihacheol .data-note,body.variant-jihacheol .review-date{color:#5b6560}
body.variant-jihacheol .faq-answers p b{color:#5b6560}
body.variant-jihacheol .faq-answers h3 span{color:var(--accent-ink)}
body.variant-jihacheol .breadcrumb{color:#5b6560}

/* 대비 보정 — 어두운 상자(상세 전화 안내·상담 폼)는 먹색 바탕이다 */
body.variant-jihacheol .cta-box .cta-kicker{color:var(--lime)}
body.variant-jihacheol .cta-box .cta-copy h2{color:#fff}
body.variant-jihacheol .cta-box .cta-copy>p:last-child{color:rgba(255,255,255,.82)}
body.variant-jihacheol .cta-box .cta-note{color:rgba(255,255,255,.76)}
body.variant-jihacheol .cta-box .btn-call{background:var(--yellow);border-color:var(--yellow);color:var(--sign)}
body.variant-jihacheol .cta-box .btn-sms,body.variant-jihacheol .cta-box .btn-form{background:transparent;border-color:#fff;color:#fff}

/* 바닥 고정 바(모바일) */
body.variant-jihacheol .sticky-cta{border-top:4px solid var(--accent);background:var(--sign);backdrop-filter:none}
body.variant-jihacheol .sticky-cta a,body.variant-jihacheol .sticky-cta button{border-radius:var(--radius)}
body.variant-jihacheol .sticky-cta .s-call{background:var(--yellow);color:var(--sign)}
body.variant-jihacheol .sticky-cta .s-sms{background:transparent;color:#fff;border:2px solid #fff!important}

@media(max-width:900px){
  body.variant-jihacheol{--rail:56px}
  body.variant-jihacheol .home-hero-copy{grid-template-columns:1fr}
  body.variant-jihacheol .hero-counts,body.variant-jihacheol .home-actions{grid-column:1}
  body.variant-jihacheol .home-actions{margin-top:26px}
  body.variant-jihacheol .region-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.variant-jihacheol .hero-detail{grid-template-columns:1fr;gap:22px}
  body.variant-jihacheol .region-stats{min-width:0}
}
@media(max-width:640px){
  body.variant-jihacheol{--rail:40px}
  body.variant-jihacheol .top{padding-top:10px;padding-bottom:10px}
  body.variant-jihacheol .top nav a{padding:5px 10px;font-size:12px}
  body.variant-jihacheol .brand img{width:34px;height:34px}
  body.variant-jihacheol main{width:min(100% - 28px,1100px);padding:30px 0 96px var(--rail)}
  body.variant-jihacheol main::before{left:8px;width:6px;bottom:40px}
  body.variant-jihacheol main::after{left:-1px;bottom:22px;width:32px;height:32px;border-width:6px;box-shadow:0 0 0 3px var(--accent)}
  body.variant-jihacheol .section-heading>span{left:calc(-4px - var(--rail));width:30px;height:30px;border-width:4px;font-size:10px}
  body.variant-jihacheol .section-heading{min-height:36px}
  body.variant-jihacheol .content-section{margin-bottom:54px}
  body.variant-jihacheol .home-hero{padding-top:36px}
  body.variant-jihacheol .home-hero h1{font-size:40px}
  body.variant-jihacheol .hero-counts div{flex:1 1 auto;padding:0 10px}
  body.variant-jihacheol .hero-counts span{font-size:11px;letter-spacing:-.02em}
  body.variant-jihacheol .hero-counts b{font-size:24px}
  body.variant-jihacheol .home-actions{display:grid;grid-template-columns:1fr}
  body.variant-jihacheol .home-actions .btn{min-width:0}
  /* 세로 노선: 정차 원이 위에서 아래로, 마지막 정차에서 본문 노선으로 이어진다 */
  body.variant-jihacheol .route-strip{display:block;margin-top:34px}
  body.variant-jihacheol .route-strip::before{left:8px;width:6px;height:30px}
  body.variant-jihacheol .route-strip li{justify-content:center;min-height:64px;padding:0 0 0 46px}
  body.variant-jihacheol .route-strip li::before{left:-1px;top:50%;bottom:auto;width:24px;height:24px;margin-top:-12px;border-width:6px}
  body.variant-jihacheol .route-strip li::after{left:8px;right:auto;top:50%;bottom:auto;width:6px;height:100%}
  body.variant-jihacheol .route-strip li:last-child::before{left:-5px;top:50%;bottom:auto;width:36px;height:36px;margin-top:-18px;box-shadow:0 0 0 3px var(--accent)}
  body.variant-jihacheol .route-strip b{font-size:19px}
  body.variant-jihacheol .region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.variant-jihacheol .region-grid a{min-height:84px}
  body.variant-jihacheol .region-grid strong{font-size:18px}
  body.variant-jihacheol .info-intro-card{border-left-width:4px}
  body.variant-jihacheol .transport-grid p{font-size:14px}
  body.variant-jihacheol .hero-detail{padding:12px 0 36px}
  body.variant-jihacheol .region-hero{padding-bottom:36px}
  body.variant-jihacheol .region-stats{grid-template-columns:1fr}
  body.variant-jihacheol .region-stats div{align-items:center}
  body.variant-jihacheol .callback-section::before,body.variant-jihacheol .cta-box::before{left:calc(1px - var(--rail));width:20px;height:20px;border-width:4px}
  body.variant-jihacheol .process-list li{border-left:0;border-top:2px solid var(--sign)}
  body.variant-jihacheol .process-list li:first-child{border-top:0}
  body.variant-jihacheol .featured-grid a>div{padding-left:58px}
  body.variant-jihacheol footer{padding-bottom:96px}
}
@media(max-width:380px){
  body.variant-jihacheol .region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}