:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--soft:#f8fafc;--blue:#0284c7;--green:#10b981;--cyan:#ecfeff;--dark:#0f172a;--card:#ffffff;--radius:28px;--shadow:0 18px 45px rgba(15,23,42,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8fafc 0%,#fff 42%,#f8fafc 100%);word-break:keep-all;text-align:center}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:12px 16px;border-radius:10px;z-index:999}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.75)}.nav{max-width:1180px;margin:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.03em}.brand img{width:156px;height:auto}.navlinks{display:flex;align-items:center;gap:8px;white-space:nowrap}.navlinks a{font-size:15px;font-weight:750;color:#334155;padding:10px 12px;border-radius:999px}.navlinks a:hover{background:#f1f5f9}.cta-small{background:#0f172a!important;color:white!important}.mobile-scroll{display:none}.wrap{max-width:1180px;margin:auto;padding:0 20px}.hero{padding:58px 0 42px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid #bae6fd;background:#f0f9ff;color:#0369a1;border-radius:999px;padding:8px 13px;font-size:14px;font-weight:800}.h1{font-size:clamp(28px,4.2vw,46px);line-height:1.08;letter-spacing:-.045em;margin:14px 0}.lead{font-size:clamp(15px,1.8vw,18px);line-height:1.62;color:#334155;margin:0 auto 22px;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;justify-content:center;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:15px 20px;font-weight:900;border:1px solid var(--line);box-shadow:0 8px 20px rgba(15,23,42,.06)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;border:0}.btn.ghost{background:#fff}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.badge{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.04);text-align:center}.badge b{display:block;font-size:15px}.badge span{display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.4}.visual{position:relative}.photo-board{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.photo-card:nth-child(1){grid-row:span 2}.photo-card img{height:100%;object-fit:cover;aspect-ratio:1/1}.photo-card figcaption{padding:12px 14px;font-size:13px;font-weight:800;color:#334155;text-align:center}.floating{position:absolute;left:-18px;bottom:22px;background:#0f172a;color:white;border-radius:24px;padding:16px 18px;box-shadow:0 20px 50px rgba(15,23,42,.22);max-width:268px}.floating b{display:block;font-size:18px}.floating span{display:block;color:#cbd5e1;margin-top:6px;font-size:13px;line-height:1.5}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.strip .wrap{display:flex;gap:16px;align-items:center;justify-content:center;overflow:auto;padding-top:14px;padding-bottom:14px;color:#475569;font-weight:850}.section{padding:72px 0}.sec-head{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-bottom:26px;text-align:center}.kicker{letter-spacing:-.01em;color:#0284c7;font-weight:900;font-size:13px}.sec-title{font-size:clamp(20px,2.7vw,30px);line-height:1.22;letter-spacing:-.035em;margin:7px 0 0}.sec-desc{font-size:15px;line-height:1.65;color:#64748b;max-width:560px;margin:0 auto}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work{border-radius:28px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 12px 34px rgba(15,23,42,.06);transition:.18s transform,.18s box-shadow}.work:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(15,23,42,.12)}.work img{aspect-ratio:4/3;object-fit:cover}.work .body{padding:18px;text-align:center}.tag{display:inline-flex;background:#ecfeff;color:#0e7490;border:1px solid #cffafe;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.work h3,.service h3,.why h3{font-size:17px;letter-spacing:-.025em;margin:9px 0 6px}.work p,.service p,.why p,.step p{color:#64748b;line-height:1.55;margin:0;font-size:14px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border:1px solid var(--line);border-radius:28px;background:#fff;padding:22px;box-shadow:0 12px 34px rgba(15,23,42,.05);min-height:190px}.service .num{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#e0f2fe,#dcfce7);display:flex;align-items:center;justify-content:center;font-weight:950;color:#0369a1}.dark{background:#0f172a;color:white}.dark .sec-desc,.dark .work p,.dark .service p,.dark .why p,.dark .step p{color:#cbd5e1}.inquiry{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.quote{background:#111c2f;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:24px;transition:.18s transform,.18s box-shadow,.18s border-color}.quote b{display:block;color:#fff;font-size:18px;margin-bottom:10px}.quote p{margin:0;color:#cbd5e1;line-height:1.75;text-align:justify}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.why{background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 12px 34px rgba(15,23,42,.05);text-align:center}.icon,.card-icon,.mini-icon{width:38px;height:38px;border-radius:14px;background:#ecfeff;color:#0284c7;display:inline-flex;align-items:center;justify-content:center;font-weight:950;margin:0 auto}.mini-icon{width:24px;height:24px;border-radius:9px;margin:0 7px 0 0;font-size:13px}.card-icon{font-size:17px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 12px 34px rgba(15,23,42,.05);text-align:center;transition:.18s transform,.18s box-shadow,.18s border-color}.step .n{font-size:28px;font-weight:950;color:#bae6fd;line-height:1;margin-bottom:8px}.faq{display:grid;grid-template-columns:1fr;gap:12px;max-width:900px;margin:0 auto}.faq details{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.faq summary{cursor:pointer;font-weight:900;letter-spacing:-.02em;text-align:center}.faq p{color:#64748b;line-height:1.6;margin:12px 0 0;font-size:14px}.cta{background:linear-gradient(135deg,#0284c7,#10b981);color:white;border-radius:36px;padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;box-shadow:0 24px 70px rgba(2,132,199,.24)}.cta h2{font-size:clamp(21px,3vw,32px);line-height:1.22;letter-spacing:-.035em;margin:0}.cta p{line-height:1.6;color:#e0f2fe;font-size:15px}.cta .btn{background:#fff;color:#0f172a;border:0}.footer{background:#08111f;color:#cbd5e1;padding:44px 0 92px}.foot-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px}.footer h3{color:white;margin:0 0 12px;text-align:center}.footer a{display:block;margin:8px 0;color:#cbd5e1}.footer small{color:#94a3b8}.fixed-call{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;background:rgba(15,23,42,.92);backdrop-filter:blur(8px);padding:10px}.fixed-call a{display:flex;align-items:center;justify-content:center;border-radius:999px;padding:13px;background:#fff;color:#0f172a;font-weight:950}.note{font-size:13px;color:#64748b;line-height:1.6}.local-links{display:flex;flex-wrap:wrap;gap:8px}.local-links a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:850;color:#334155;font-size:14px}@media(max-width:920px){.navlinks{display:none}.mobile-scroll{display:flex;overflow:auto;gap:8px;padding:0 20px 12px;white-space:nowrap}.mobile-scroll a{background:#f1f5f9;padding:10px 13px;border-radius:999px;font-size:14px;font-weight:850}.hero{padding-top:38px}.hero-grid,.cta{grid-template-columns:1fr}.badges,.works,.services,.why-grid,.process,.faq,.inquiry,.foot-grid{grid-template-columns:1fr}.photo-board{grid-template-columns:1fr 1fr}.floating{position:static;margin:12px auto 0}.sec-desc{margin-top:0}.fixed-call{display:block}.section{padding:50px 0}.footer{padding-bottom:108px}}@media(max-width:560px){.nav{padding:12px 16px}.wrap{padding:0 16px}.brand img{width:132px}.h1{font-size:40px}.lead{font-size:17px}.hero-actions .btn{width:100%}.badges{grid-template-columns:1fr}.photo-board{grid-template-columns:1fr}.photo-card img{aspect-ratio:4/3}.works,.services,.why-grid,.process,.faq,.inquiry{gap:12px}.cta{padding:28px;border-radius:28px}.strip .wrap{justify-content:flex-start}.section{padding:46px 0}}

.contact-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow)}.contact-card{background:linear-gradient(135deg,#0f172a,#0284c7);color:#fff;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:10px}.contact-card b{font-size:16px;color:#dbeafe}.phone-big{font-size:clamp(30px,5vw,48px);font-weight:950;letter-spacing:-.04em}.contact-card span{color:#dbeafe}.footer small a{display:inline;color:#fff;font-weight:850}@media(max-width:920px){.contact-panel{grid-template-columns:1fr;padding:24px}.phone-big{font-size:34px}}

/* v7 center and icon refinements */
.hero-grid>div:first-child,.visual,.quote,.contact-panel,.footer,.foot-grid{text-align:center}.quote b{text-align:center}.footer a{text-align:center}.note{text-align:center}.local-links{justify-content:center}.photo-card img{background:#f8fafc}.work .tag{margin:0 auto}.brand img{width:156px}.kicker{font-size:12px}

/* v8 cleanup: FAQ, footer, local-section removal */
.faq details{min-height:auto}
.faq summary{line-height:1.5}
.faq p{max-width:92%;margin-left:auto;margin-right:auto}
.footer p{line-height:1.7;max-width:420px;margin-left:auto;margin-right:auto}
.footer small{line-height:1.75;display:block}
.foot-grid{align-items:start}
@media(max-width:920px){.faq p{max-width:100%}.footer p{max-width:100%}}

/* v9 card interactions and cleanup */
.service,.why,.step,.quote,.faq details,.contact-card,.contact-panel{transition:.18s transform,.18s box-shadow,.18s border-color}
.service:hover,.why:hover,.step:hover,.quote:hover,.faq details:hover,.contact-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(15,23,42,.12);border-color:#cbd5e1}
.dark .quote:hover{box-shadow:0 22px 60px rgba(0,0,0,.28);border-color:rgba(255,255,255,.26)}
.inquiry{grid-template-columns:repeat(2,1fr);max-width:980px;margin:0 auto}
.quote b{text-align:center}
.process .step p{font-size:14px;line-height:1.62}
.faq details{padding:20px 24px}
.faq summary{text-align:left}
.faq p{text-align:left;max-width:100%;line-height:1.7}
.footer{background:#171411;color:#c8c1b8;padding:56px 0 88px;text-align:left}
.foot-grid{grid-template-columns:1.05fr .8fr .85fr;gap:56px;align-items:start;text-align:left}
.footer h3{text-align:left;color:#fff;margin:0 0 18px;font-size:18px}
.footer p{max-width:none;margin:0 0 22px;text-align:left;color:#c8c1b8;line-height:1.75}
.footer small{line-height:1.9;text-align:left}
.footer a{text-align:left;margin:9px 0;color:#d8d2ca}
.footer small a{display:inline;color:#fff;font-weight:850}
@media(max-width:920px){
  .process{grid-template-columns:1fr}
  .inquiry{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px;text-align:center}
  .footer,.footer h3,.footer p,.footer small,.footer a{text-align:center}
  .footer p{margin-left:auto;margin-right:auto}
}

/* v10 logo/title/CTA adjustments */
.cta{justify-items:center;text-align:center}
.cta>div{display:flex;flex-direction:column;align-items:center}
.btn{min-width:0}
.nav{padding-top:16px;padding-bottom:16px}
.kicker{font-size:11px}
.badge b{font-size:14px}
.badge span{font-size:12.5px}
@media(max-width:560px){
  .h1{font-size:34px}
  .sec-title{font-size:24px}
  .hero-actions{justify-content:center}
  .hero-actions .btn{max-width:360px}
}

/* v11 footer text relocation */
.footer small a{display:inline;color:#fff;font-weight:850}
.footer .foot-grid div:last-child small{line-height:1.95}

/* v13 restore full sections + clean layout */
.h1{font-size:clamp(28px,4.2vw,46px)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:14px 0!important}
.sec-title{font-size:clamp(20px,2.7vw,30px)!important;line-height:1.22!important;letter-spacing:-.035em!important;margin:7px 0 0!important}
.cta h2{font-size:clamp(21px,3vw,32px)!important;line-height:1.22!important;letter-spacing:-.035em!important;margin:0!important}
.brand img{width:156px!important;height:auto!important}
.hero-actions{justify-content:center!important;align-items:center!important}
.faq{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;max-width:900px!important;margin:0 auto!important}
.faq summary{text-align:left!important;line-height:1.5!important}
.faq p{text-align:left!important;line-height:1.7!important;max-width:100%!important}
.service,.why,.step,.quote,.faq details,.contact-card,.contact-panel{transition:.18s transform,.18s box-shadow,.18s border-color}
.service:hover,.why:hover,.step:hover,.quote:hover,.faq details:hover,.contact-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(15,23,42,.12);border-color:#cbd5e1}
.quote p{text-align:justify!important}
.footer{background:#171411!important;color:#c8c1b8!important;padding:56px 0 88px!important;text-align:left!important}
.foot-grid{grid-template-columns:1.05fr .8fr .85fr!important;gap:56px!important;align-items:start!important;text-align:left!important}
.footer h3{text-align:left!important;color:#fff!important;margin:0 0 18px!important;font-size:18px!important}
.footer p{max-width:none!important;margin:0 0 22px!important;text-align:left!important;color:#c8c1b8!important;line-height:1.75!important}
.footer small{line-height:1.95!important;text-align:left!important;display:block!important}
.footer a{text-align:left!important;margin:9px 0!important;color:#d8d2ca!important}
.footer small a{display:inline!important;color:#fff!important;font-weight:850!important}
@media(max-width:920px){
  .brand img{width:132px!important}
  .process{grid-template-columns:1fr!important}
  .inquiry{grid-template-columns:1fr!important}
  .foot-grid{grid-template-columns:1fr!important;gap:26px!important;text-align:center!important}
  .footer,.footer h3,.footer p,.footer small,.footer a{text-align:center!important}
}

/* v14 readability + duplicate cleanup */
.badge b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
}
.badge .mini-icon{
  margin:0!important;
  flex:0 0 auto!important;
}
.card-icon,
.icon{
  margin-left:auto!important;
  margin-right:auto!important;
}
.service,
.why,
.step,
.badge,
.work,
.quote,
.faq details{
  transition:.18s transform,.18s box-shadow,.18s border-color!important;
}
.service:hover,
.why:hover,
.step:hover,
.badge:hover,
.work:hover,
.quote:hover,
.faq details:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 60px rgba(15,23,42,.12)!important;
  border-color:#cbd5e1!important;
}
.lead,
.sec-desc,
.work p,
.service p,
.why p,
.step p,
.faq p,
.footer p,
.footer small,
.note{
  line-height:1.75!important;
}
.note{
  margin-top:14px!important;
  font-size:14px!important;
  opacity:.92!important;
}
.cta .note{
  color:#e0f2fe!important;
}
@media(max-width:920px){
  .badge b{justify-content:center!important}
}

/* v16 exact process order + automatic hero slider */
.hero-slider{
  position:relative;
  width:min(520px,100%);
  height:560px;
  margin:0 auto;
  border-radius:32px;
  overflow:hidden;
  background:#f8fafc;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.hero-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  animation:heroFade 30s infinite;
}
.hero-slide:nth-child(1){animation-delay:0s}
.hero-slide:nth-child(2){animation-delay:5s}
.hero-slide:nth-child(3){animation-delay:10s}
.hero-slide:nth-child(4){animation-delay:15s}
.hero-slide:nth-child(5){animation-delay:20s}
.hero-slide:nth-child(6){animation-delay:25s}
.hero-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#f8fafc;
}
.hero-slide figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  padding:11px 14px;
  border-radius:999px;
  background:rgba(15,23,42,.86);
  color:#fff;
  font-weight:900;
  font-size:14px;
  text-align:center;
}
@keyframes heroFade{
  0%{opacity:0;transform:scale(1.015)}
  4%{opacity:1;transform:scale(1)}
  16%{opacity:1;transform:scale(1)}
  20%{opacity:0;transform:scale(1.015)}
  100%{opacity:0;transform:scale(1.015)}
}
.process-photo-card img,
.work img{
  aspect-ratio:3/4!important;
  object-fit:contain!important;
  background:#f8fafc!important;
}
.process-photo-card .body{
  min-height:210px;
}
@media(max-width:920px){
  .hero-slider{height:500px}
}
@media(max-width:560px){
  .hero-slider{height:430px;border-radius:24px}
  .process-photo-card .body{min-height:auto}
}

/* v18 overlap removal + balanced text rhythm */
.floating{display:none!important}
.sec-desc,
.lead,
.cta p,
.note{
  text-wrap:balance;
}
.sec-desc{
  max-width:640px!important;
}
.lead{
  max-width:620px!important;
}
.cta h2{
  text-wrap:balance;
}
.hero-slider{
  margin-top:0!important;
}
.visual{
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:920px){
  .sec-desc br,
  .lead br,
  .cta h2 br{
    display:none;
  }
}

/* v19 square image system */
.hero-slider{
  width:min(520px,100%)!important;
  aspect-ratio:1/1!important;
  height:auto!important;
}
.hero-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.photo-card img,
.work img,
.process-photo-card img{
  aspect-ratio:1/1!important;
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.photo-card{
  aspect-ratio:auto!important;
}
.photo-board{
  align-items:stretch!important;
}
@media(max-width:920px){
  .hero-slider{height:auto!important}
}
@media(max-width:560px){
  .hero-slider{height:auto!important}
}

/* v20 text rhythm + manual slider arrows */
.hero .lead{
  text-align:left!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hero-slide{
  animation:none!important;
  opacity:0!important;
  transition:opacity .32s ease, transform .32s ease!important;
  transform:scale(1.01)!important;
}
.hero-slide.is-active{
  opacity:1!important;
  transform:scale(1)!important;
  z-index:1!important;
}
.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(15,23,42,.82);
  color:#fff;
  font-size:34px;
  font-weight:800;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(15,23,42,.22);
}
.slider-arrow:hover{
  background:rgba(15,23,42,.94);
}
.slider-prev{left:14px}
.slider-next{right:14px}
.hero-slide figcaption{
  z-index:2;
}
.sec-desc br.force-break{
  display:block;
}
@media(max-width:920px){
  .hero .lead{
    text-align:center!important;
  }
  .slider-arrow{
    width:40px;
    height:40px;
    font-size:30px;
  }
}

/* v21 sitemap and footer links */
.sitemap-hero{
  padding:82px 0 34px;
  text-align:center;
}
.sitemap-hero .lead{
  text-align:center!important;
  max-width:720px!important;
}
.sitemap-count{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:24px auto 18px;
  padding:12px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.sitemap-count b{
  font-weight:950;
}
.sitemap-count span{
  color:#0284c7;
  font-weight:950;
}
.sitemap-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:8px;
}
.sitemap-tabs a,
.local-links a{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:11px 17px;
  font-weight:900;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.sitemap-tabs a:hover,
.local-links a:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(15,23,42,.10);
}
.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.sitemap-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  text-align:left;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
  transition:.18s transform,.18s box-shadow,.18s border-color;
}
.sitemap-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(15,23,42,.12);
  border-color:#cbd5e1;
}
.sitemap-cat{
  width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfeff;
  color:#0284c7;
  font-size:12px;
  font-weight:950;
}
.sitemap-card strong{
  font-size:19px;
  letter-spacing:-.03em;
  color:#0f172a;
}
.sitemap-card p{
  color:#64748b;
  line-height:1.65;
  margin:0;
  font-size:14px;
}
.sitemap-card em{
  position:absolute;
  right:22px;
  bottom:18px;
  font-style:normal;
  color:#0284c7;
  font-weight:950;
}
@media(max-width:920px){
  .sitemap-hero{padding:54px 0 24px}
  .sitemap-grid{grid-template-columns:1fr}
  .sitemap-card{text-align:center;align-items:center}
  .sitemap-card em{position:static}
}

/* v22 page rebuild */
.info-grid,
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.info-card,
.review-card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
  text-align:left;
  transition:.18s transform,.18s box-shadow,.18s border-color;
}
.info-card:hover,
.review-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(15,23,42,.12);
  border-color:#cbd5e1;
}
.info-card span,
.review-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfeff;
  color:#0284c7;
  font-size:12px;
  font-weight:950;
}
.info-card h3,
.review-card h3{
  margin:14px 0 8px;
  font-size:19px;
  letter-spacing:-.03em;
}
.info-card p,
.review-card p{
  margin:0;
  color:#64748b;
  line-height:1.72;
  font-size:14px;
}
.review-card p{
  text-align:justify;
}
@media(max-width:920px){
  .info-grid,
  .review-grid{
    grid-template-columns:1fr;
  }
  .info-card,
  .review-card{
    text-align:center;
  }
  .review-card p{
    text-align:left;
  }
}

/* v23 two additional site cases */
.site-case-section .sec-desc{
  max-width:760px!important;
}
.site-case-grid{
  grid-template-columns:repeat(5,1fr)!important;
}
.site-case-grid .work .body{
  min-height:245px;
}
@media(max-width:1200px){
  .site-case-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:920px){
  .site-case-grid{grid-template-columns:1fr!important}
  .site-case-grid .work .body{min-height:auto}
}

/* v25 sitemap cleanup */
.sitemap-count{display:none!important}
.sitemap-hero{padding-bottom:46px!important}
.sitemap-tabs{margin-top:22px!important}

/* v26 redesigned service pages */
.service-page .section{
  padding:68px 0;
}
.service-hero{
  padding:86px 0 72px;
}
.service-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,500px);
  gap:64px;
  align-items:center;
}
.service-copy{
  text-align:left;
}
.service-copy .lead{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:680px!important;
  font-size:clamp(16px,1.9vw,19px)!important;
  line-height:1.78!important;
}
.service-copy .hero-actions{
  justify-content:flex-start!important;
}
.service-points{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:22px 0 24px;
}
.service-points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border:1px solid #bae6fd;
  border-radius:999px;
  background:#ecfeff;
  color:#0369a1;
  font-size:13px;
  font-weight:950;
}
.service-photo,
.side-photo{
  margin:0;
  border:1px solid var(--line);
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.service-photo img,
.side-photo img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.service-photo figcaption,
.side-photo figcaption{
  padding:14px 16px;
  text-align:center;
  font-weight:950;
  color:#0f172a;
  background:#fff;
}
.compact-section{
  padding-top:56px!important;
  padding-bottom:56px!important;
}
.split-feature{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:42px;
  align-items:center;
}
.split-feature.reverse{
  grid-template-columns:420px minmax(0,1fr);
}
.section-lead{
  max-width:720px;
  color:#475569;
  line-height:1.78;
  font-size:16px;
  margin:14px 0 22px;
  text-align:left;
}
.criteria-grid.small{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.criteria-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  text-align:left;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
  transition:.18s transform,.18s box-shadow,.18s border-color;
}
.criteria-card:hover,
.photo-explain-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(15,23,42,.12);
  border-color:#cbd5e1;
}
.criteria-card span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#ecfeff;
  color:#0284c7;
  font-size:13px;
  font-weight:950;
}
.criteria-card h3{
  margin:13px 0 8px;
  font-size:18px;
  letter-spacing:-.03em;
}
.criteria-card p{
  margin:0;
  color:#64748b;
  line-height:1.68;
  font-size:14px;
}
.photo-explain-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.photo-explain-card{
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
  transition:.18s transform,.18s box-shadow,.18s border-color;
}
.photo-explain-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.photo-explain-card div{
  padding:18px;
  text-align:left;
}
.photo-explain-card span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfeff;
  color:#0284c7;
  font-size:12px;
  font-weight:950;
}
.photo-explain-card h3{
  margin:12px 0 7px;
  font-size:17px;
  letter-spacing:-.03em;
}
.photo-explain-card p{
  margin:0;
  color:#64748b;
  line-height:1.65;
  font-size:14px;
}
.flow-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
@media(max-width:1100px){
  .service-hero-grid,
  .split-feature,
  .split-feature.reverse{
    grid-template-columns:1fr;
    gap:34px;
  }
  .service-photo,
  .side-photo{
    max-width:520px;
    margin:0 auto;
  }
  .photo-explain-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .flow-grid,
  .criteria-grid.small{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:920px){
  .service-hero{
    padding:52px 0 42px;
  }
  .service-copy,
  .service-copy .lead,
  .section-lead{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .service-copy .hero-actions,
  .service-points{
    justify-content:center!important;
  }
}
@media(max-width:640px){
  .photo-explain-grid,
  .flow-grid,
  .criteria-grid.small{
    grid-template-columns:1fr;
  }
  .service-page .section{
    padding:48px 0;
  }
}

/* v28 same-worksite grouping + footer typography */
.single-site-grid{
  grid-template-columns:repeat(5,1fr)!important;
}
.footer p,
.footer small,
.footer a{
  font-size:16px!important;
  line-height:1.85!important;
}
.footer small a{
  font-size:16px!important;
}
@media(max-width:1200px){
  .single-site-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:920px){
  .single-site-grid{grid-template-columns:1fr!important}
}

/* v29 cost page rebuild */
.cost-photo-grid{
  grid-template-columns:repeat(3,1fr)!important;
  max-width:1080px;
  margin:0 auto;
}
.cost-card div{
  min-height:180px;
}
.center-head{
  text-align:center;
  justify-content:center!important;
}
.center-head .sec-desc{
  margin-left:auto;
  margin-right:auto;
}
.cost-copy-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:36px;
  align-items:start;
}
.cost-note-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}
.cost-note-card h3{
  margin:0 0 16px;
  font-size:22px;
  letter-spacing:-.03em;
}
.cost-note-card ul{
  margin:0;
  padding-left:20px;
  color:#475569;
  line-height:1.9;
}
.cost-table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
}
.cost-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.cost-table th,
.cost-table td{
  padding:18px 20px;
  border-bottom:1px solid #e2e8f0;
  text-align:left;
  vertical-align:top;
}
.cost-table th{
  background:#f8fafc;
  color:#0f172a;
  font-weight:950;
}
.cost-table td{
  color:#475569;
  line-height:1.65;
}
.cost-table tr:last-child td{
  border-bottom:0;
}
.main-link-box{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:32px;
  padding:34px;
  background:linear-gradient(135deg,#f8fafc,#ecfeff);
  box-shadow:0 16px 50px rgba(15,23,42,.08);
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.related-card{
  position:relative;
  display:block;
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
  transition:.18s transform,.18s box-shadow,.18s border-color;
}
.related-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(15,23,42,.12);
  border-color:#cbd5e1;
}
.related-card span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfeff;
  color:#0284c7;
  font-size:12px;
  font-weight:950;
}
.related-card strong{
  display:block;
  margin:14px 0 8px;
  font-size:20px;
  letter-spacing:-.03em;
}
.related-card p{
  margin:0;
  color:#64748b;
  line-height:1.68;
  font-size:14px;
}
.related-card em{
  position:absolute;
  right:22px;
  bottom:18px;
  font-style:normal;
  color:#0284c7;
  font-weight:950;
}
.cost-faq{
  max-width:880px;
  margin:0 auto;
}
@media(max-width:1100px){
  .cost-copy-grid{
    grid-template-columns:1fr;
  }
  .cost-photo-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:920px){
  .main-link-box{
    flex-direction:column;
    text-align:center;
  }
  .related-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .cost-photo-grid{
    grid-template-columns:1fr!important;
  }
}

/* v32 cost cleanup + FAQ redesign */
.cost-photo-grid{
  grid-template-columns:repeat(3,1fr)!important;
  max-width:1040px;
}
.cost-card div{
  min-height:170px;
}
.cost-copy-block{
  max-width:920px;
  margin:0 auto;
  text-align:left;
}
.cost-note-bottom{
  max-width:920px;
  margin:28px auto 0;
}
.styled-faq details{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  margin-bottom:12px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(15,23,42,.045);
}
.styled-faq summary{
  list-style:none;
  cursor:pointer;
  padding:20px 22px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:18px;
  font-weight:950;
  color:#0f172a;
}
.styled-faq summary::-webkit-details-marker{
  display:none;
}
.styled-faq summary span{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#ecfeff;
  color:#0284c7;
  font-size:13px;
  font-weight:950;
  flex:0 0 auto;
}
.styled-faq details[open] summary{
  border-bottom:1px solid #e2e8f0;
}
.styled-faq p{
  margin:0;
  padding:18px 24px 22px 72px;
  color:#475569;
  line-height:1.75;
  text-align:left;
}
@media(max-width:1100px){
  .cost-photo-grid{
    grid-template-columns:1fr!important;
    max-width:560px;
  }
}
@media(max-width:640px){
  .styled-faq summary{
    align-items:flex-start;
    font-size:16px;
  }
  .styled-faq p{
    padding:16px 18px 20px;
  }
}

/* v33 main hero requested cleanup */
.hero-main-lead{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hero .hero-actions{
  justify-content:center!important;
}

/* v35 reviews + smart-switch page structure */
.reviews-faq,
.smart-faq{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.related-section{
  padding-top:40px!important;
}
.reviews-faq + .related-section,
.smart-faq + .related-section{
  padding-top:28px!important;
}

/* v36 SEO readability + debug refinements */
img{height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}
.section-lead,.sec-desc,.lead{word-break:keep-all}
.styled-faq summary{word-break:keep-all}
.related-card strong,.criteria-card h3,.photo-explain-card h3{word-break:keep-all}
@media(max-width:640px){
  .h1{line-height:1.18}
  .sec-title{line-height:1.22}
}

/* v38 method page explanation cleanup */
.method-explain-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:34px;
  align-items:start;
}
.method-explain-copy{
  max-width:860px;
}
.method-explain-copy .section-lead{
  margin-bottom:16px;
}
.method-principle-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}
.method-principle-card h3{
  margin:0 0 16px;
  font-size:22px;
  letter-spacing:-.03em;
}
.method-principle-card ul{
  margin:0;
  padding-left:20px;
  color:#475569;
  line-height:1.9;
}
.method-rule-grid{
  grid-template-columns:repeat(4,1fr);
}
@media(max-width:1100px){
  .method-explain-grid{
    grid-template-columns:1fr;
  }
  .method-rule-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .method-rule-grid{
    grid-template-columns:1fr;
  }
}

/* v39 method page customer-focused cleanup */
.method-explain-single{
  max-width:960px;
}
.method-explain-single .method-explain-copy{
  max-width:960px;
}
.method-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.method-info-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:26px;
  box-shadow:0 12px 34px rgba(15,23,42,.05);
}
.method-info-card span{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#ecfeff;
  color:#0284c7;
  font-size:12px;
  font-weight:950;
}
.method-info-card h3{
  margin:16px 0 10px;
  font-size:20px;
  letter-spacing:-.035em;
  line-height:1.32;
}
.method-info-card p{
  margin:0;
  color:#475569;
  line-height:1.72;
  word-break:keep-all;
}
@media(max-width:920px){
  .method-info-grid{
    grid-template-columns:1fr;
  }
}

/* v40 method page section consolidation + alignment */
.method-unified-section .sec-head{
  text-align:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.method-unified-section .sec-desc{
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:1.85!important;
  word-break:keep-all;
}
.unified-info-grid{
  max-width:1080px;
  margin:28px auto 0;
}
.method-rule-grid{
  max-width:1120px;
  margin:28px auto 0;
}
.method-rule-grid .criteria-card,
.unified-info-grid .method-info-card{
  text-align:left;
}
@media(max-width:920px){
  .method-unified-section .sec-desc br{
    display:none;
  }
}

/* v41 final seo audit refinements */
img{height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}
.lead,.section-lead,.sec-desc,.photo-explain-card p,.criteria-card p,.method-info-card p{word-break:keep-all}
@media(max-width:640px){
  .lead br,.sec-desc br{display:none}
}

/* v42 mobile top banner cleanup */
@media(max-width: 760px){
  .mobile-scroll a[href="/sitemap/"]{
    background:#0f172a!important;
    color:#fff!important;
    border-color:#0f172a!important;
    font-weight:950!important;
  }
}

/* v43 mobile top-row all-pages button */
.mobile-top-pages{
  display:none;
}
@media(max-width:920px){
  .nav{
    justify-content:space-between!important;
  }
  .mobile-top-pages{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    padding:10px 14px;
    border-radius:999px;
    background:#0f172a;
    color:#fff!important;
    font-size:14px;
    font-weight:950;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(15,23,42,.16);
  }
  .mobile-scroll a[href="/sitemap/"]{
    display:none!important;
  }
}

/* v45 mobile 2-column cards */
@media(max-width:920px){
  .services,
  .why-grid,
  .process{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .service,
  .why,
  .step{
    min-width:0!important;
  }
  .service h3,
  .why h3,
  .step h3{
    font-size:16px!important;
    line-height:1.3!important;
  }
  .service p,
  .why p,
  .step p{
    font-size:13px!important;
    line-height:1.55!important;
  }
  .service,
  .why{
    padding:18px!important;
    border-radius:22px!important;
  }
  .step{
    padding:18px!important;
    border-radius:22px!important;
  }
}
@media(max-width:360px){
  .services,
  .why-grid,
  .process{
    grid-template-columns:1fr!important;
  }
}

/* v48 mobile layout refinements */

/* FAQ: 질문 영역은 왼쪽 정렬이 더 자연스럽기 때문에 전체 FAQ에 적용 */
.faq summary,
.faq-list summary,
.styled-faq summary{
  text-align:left!important;
  justify-content:flex-start!important;
}
.faq details,
.faq-list details,
.styled-faq details{
  text-align:left!important;
}
.faq p,
.faq-list p,
.styled-faq p{
  text-align:left!important;
}

/* 모바일 전용 2열 카드 구성 */
@media(max-width:920px){
  /* 푸터 바로가기: 1줄 2개 */
  .footer .foot-grid > div:nth-child(2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
    align-items:start!important;
  }
  .footer .foot-grid > div:nth-child(2) h3{
    grid-column:1 / -1!important;
    margin-bottom:4px!important;
  }
  .footer .foot-grid > div:nth-child(2) a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 12px!important;
    border:1px solid rgba(148,163,184,.35)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.04)!important;
    text-align:center!important;
  }

  /* 사이트맵 카드: 1줄 2개 */
  .sitemap-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .sitemap-card{
    min-width:0!important;
    padding:18px!important;
  }
  .sitemap-card strong{
    font-size:16px!important;
    line-height:1.3!important;
  }
  .sitemap-card p{
    font-size:13px!important;
    line-height:1.55!important;
  }

  /* 실외기실 열기 배출 방법: 핵심 기준 / 설치 위치 기준 카드 2열 */
  .service-page .criteria-grid.small,
  .method-rule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .service-page .criteria-grid.small .criteria-card,
  .method-rule-grid .criteria-card{
    min-width:0!important;
    padding:18px!important;
  }
  .service-page .criteria-grid.small .criteria-card h3,
  .method-rule-grid .criteria-card h3{
    font-size:16px!important;
    line-height:1.32!important;
  }
  .service-page .criteria-grid.small .criteria-card p,
  .method-rule-grid .criteria-card p{
    font-size:13px!important;
    line-height:1.55!important;
  }
}

/* 340px 이하 극소형 화면에서는 글자 깨짐 방지를 위해 1열 */
@media(max-width:340px){
  .footer .foot-grid > div:nth-child(2),
  .sitemap-grid,
  .service-page .criteria-grid.small,
  .method-rule-grid{
    grid-template-columns:1fr!important;
  }
}

/* v49 force mobile card layout + cache-busted stylesheet */
@media screen and (max-width: 920px){
  body .services,
  body .why-grid,
  body .process,
  body .sitemap-grid,
  body .service-page .criteria-grid.small,
  body .method-rule-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body .footer .foot-grid > div:nth-child(2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
  }
  body .footer .foot-grid > div:nth-child(2) h3{
    grid-column:1 / -1!important;
  }
  body .footer .foot-grid > div:nth-child(2) a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 12px!important;
    border:1px solid rgba(148,163,184,.35)!important;
    border-radius:14px!important;
    text-align:center!important;
  }

  body .faq summary,
  body .faq-list summary,
  body .styled-faq summary{
    text-align:left!important;
    justify-content:flex-start!important;
  }
  body .faq details,
  body .faq-list details,
  body .styled-faq details,
  body .faq p,
  body .faq-list p,
  body .styled-faq p{
    text-align:left!important;
  }
}

@media screen and (max-width: 340px){
  body .services,
  body .why-grid,
  body .process,
  body .sitemap-grid,
  body .service-page .criteria-grid.small,
  body .method-rule-grid,
  body .footer .foot-grid > div:nth-child(2){
    grid-template-columns:1fr!important;
  }
}

/* v50 footer quick links: text-only two-column layout, no card styling */
@media screen and (max-width:920px){
  body .footer .foot-grid > div:nth-child(2){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 18px!important;
    align-items:start!important;
  }
  body .footer .foot-grid > div:nth-child(2) h3{
    grid-column:1 / -1!important;
    margin-bottom:6px!important;
  }
  body .footer .foot-grid > div:nth-child(2) a{
    display:inline!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:initial!important;
    color:inherit!important;
    font-weight:700!important;
    line-height:1.7!important;
  }
}

@media screen and (max-width:340px){
  body .footer .foot-grid > div:nth-child(2){
    grid-template-columns:1fr!important;
  }
}

/* v54 contact photo cleanup */
.photo-explain-card img,
.service-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}
.photo-explain-card .pill,
.photo-explain-card .badge,
.photo-explain-card .sitemap-cat{
  display:none!important;
}

/* v57 restore all pages: no global image override */
/* Contact page only: 상담페이지 누락 사진은 카드 안에서만 정상 크롭 */
body.contact-page .photo-explain-card img,
.contact-page .service-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* v58 mobile footer quick links center alignment */
@media screen and (max-width:920px){
  body .footer .foot-grid > div:nth-child(2){
    text-align:center!important;
    justify-items:center!important;
  }
  body .footer .foot-grid > div:nth-child(2) h3{
    text-align:center!important;
    justify-self:center!important;
  }
  body .footer .foot-grid > div:nth-child(2) a{
    text-align:center!important;
    justify-self:center!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
  }
}

/* v62 Bundang region page */
.region-page .region-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.region-page .region-photo-card img{object-fit:cover;object-position:center center;}
.region-page .region-check-grid{align-self:start;}
@media(max-width:920px){
  .region-page .region-photo-grid{grid-template-columns:1fr!important;}
  .region-page .region-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:360px){
  .region-page .region-check-grid{grid-template-columns:1fr!important;}
}

/* v63 Bundang page fix: two detail cards + hero image, no duplicate photo */
.bundang-page .region-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-left:auto;margin-right:auto;}
@media(max-width:920px){
  .bundang-page .region-photo-grid{grid-template-columns:1fr!important;max-width:none;}
}

/* v64 Bundang layout correction */
.bundang-page .region-context-section .region-context-copy{
  max-width:920px;
  margin:0 auto 28px;
  text-align:center;
}
.bundang-page .region-context-section .region-context-copy .section-lead{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}
.bundang-page .region-check-grid-2x2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  max-width:760px;
  margin:0 auto;
}
.bundang-page .region-check-grid-2x2 .criteria-card{
  min-height:0;
}
.bundang-page .region-main-link-section .main-link-box{
  align-items:center;
}
@media(max-width:920px){
  .bundang-page .region-check-grid-2x2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .bundang-page .region-context-section .region-context-copy{
    text-align:left;
  }
}
@media(max-width:360px){
  .bundang-page .region-check-grid-2x2{
    grid-template-columns:1fr!important;
  }
}
