/* 순인테리어 · 부분인테리어 — font_id=1(Inter+Pretendard) · design_id=1(3card white box) · draw_id=1(border-grow hover) */

:root{
  --accent:#7A5340;
  --accent-soft:#EFE6E0;
  --accent-text:#FFFFFF;
  --deep:#143447;
  --bar-chrome:#E8EAED;
  --ink:#000000;
  --desc:#4B5563;
  --line:#E5E5E5;
  --radius-btn:8px;
  --col:1080px;
  --font:"Inter","Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:#FFFFFF;
  letter-spacing:-0.01em;
  word-break:keep-all;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
h1,h2,h3,h4,p,a,li,button,input,textarea{font-family:var(--font);}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-0.02em;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
button{border:none;background:none;cursor:pointer;font-family:var(--font);}

.wrap{max-width:var(--col);margin:0 auto;padding:0 24px;}
.visually-hidden-img{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px;}

/* ---------------- header (B-22) ---------------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;gap:32px;
}
.logo{font-size:20px;font-weight:800;color:#fff;letter-spacing:-0.02em;transition:color .3s ease;}
.nav-menu{display:flex;gap:28px;margin-right:auto;margin-left:12px;}
.nav-menu a{font-size:15px;font-weight:600;color:rgba(255,255,255,.92);transition:color .3s ease;}
.nav-menu a.is-active{color:#fff;}
.nav-cta{
  background:var(--accent);color:var(--accent-text);
  padding:11px 22px;border-radius:var(--radius-btn);
  font-size:14px;font-weight:700;white-space:nowrap;
}
.hamburger{display:none;flex-direction:column;gap:5px;width:26px;}
.hamburger span{display:block;height:2px;background:#fff;transition:background .3s ease;}
.mobile-menu{
  display:none;position:fixed;top:64px;left:0;right:0;background:#fff;
  border-top:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.08);
  padding:14px 16px;z-index:999;
}
.mobile-menu a{
  padding:12px 4px;font-size:13px;font-weight:600;color:var(--ink);
  border:1px solid var(--line);border-radius:8px;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.mobile-menu.is-open{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.mobile-menu .btn{margin-top:0;background:var(--accent);color:#fff;border-color:var(--accent);padding:12px 4px;border-radius:8px;}

.site-header.is-scrolled{
  background:var(--bar-chrome);
  border-bottom:1px solid #E5E7EB;
  box-shadow:0 1px 16px rgba(0,0,0,.06);
}
.site-header.is-scrolled .logo{color:var(--ink);}
.site-header.is-scrolled .nav-menu a{color:#333;}
.site-header.is-scrolled .nav-menu a.is-active{color:var(--accent);}
.site-header.is-scrolled .hamburger span{background:var(--ink);}
.site-header.no-hero{background:var(--bar-chrome);border-bottom:1px solid #E5E7EB;box-shadow:0 1px 16px rgba(0,0,0,.06);}
.site-header.no-hero .logo{color:var(--ink);}
.site-header.no-hero .nav-menu a{color:#333;}

/* ---------------- hero (home) ---------------- */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;
  overflow:hidden;background:#111;
}
.hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  animation:heroZoom 22s ease-in-out infinite alternate;
}
@keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.08);}}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,20,.55) 0%,rgba(10,15,20,.35) 45%,rgba(10,15,20,.62) 100%);}
.hero-inner{position:relative;z-index:2;max-width:var(--col);margin:0 auto;padding:0 24px;width:100%;}
.hero-eyebrow{color:rgba(255,255,255,.85);font-size:14px;font-weight:700;letter-spacing:.02em;margin-bottom:18px;}
.hero h1{color:#fff;font-size:clamp(32px,5.4vw,58px);line-height:1.25;max-width:760px;margin-bottom:22px;}
.hero-desc{color:rgba(255,255,255,.88);font-size:17px;max-width:560px;margin-bottom:34px;line-height:1.7;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.hero-btns.align-right{justify-content:flex-end;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:var(--accent-text);
  padding:15px 28px;border-radius:var(--radius-btn);
  font-size:15px;font-weight:700;white-space:nowrap;
}
.btn-outline-hero{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.7);color:#fff;
  padding:15px 28px;border-radius:var(--radius-btn);
  font-size:15px;font-weight:700;
}
.btn-outline-light{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #ccc;color:#333;
  padding:15px 28px;border-radius:var(--radius-btn);
  font-size:15px;font-weight:700;
}
.nowrap-pc{word-break:keep-all;}
@media (min-width:961px){.nowrap-pc{white-space:nowrap;}}

/* ---------------- page hero (subpages, B-11/B-18) ---------------- */
.page-hero{
  position:relative;min-height:40vh;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;margin-top:0;
  padding-top:88px;
}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,20,.42) 0%,rgba(10,15,20,.58) 100%);}
.page-hero-inner{position:relative;z-index:2;max-width:var(--col);margin:0 auto;padding:56px 24px 48px;width:100%;}
.page-hero .eyebrow{color:rgba(255,255,255,.85);font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:12px;}
.page-hero h1{color:#fff;font-size:clamp(26px,4vw,40px);}

/* ---------------- sections ---------------- */
.section{padding:96px 0;}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
.eyebrow{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.03em;margin-bottom:14px;}
.section-title{font-size:clamp(24px,3.4vw,34px);line-height:1.35;margin-bottom:14px;}
.section-desc{color:var(--desc);font-size:15.5px;line-height:1.7;}

/* ---------------- intro ---------------- */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.intro-copy h2{font-size:clamp(22px,3vw,30px);line-height:1.4;margin-bottom:18px;}
.intro-copy p{color:var(--desc);font-size:15.5px;line-height:1.8;margin-bottom:14px;}
.intro-stats{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;}
.intro-stats div{border-left:2px solid var(--accent);padding-left:14px;}
.intro-stats b{display:block;font-size:22px;}
.intro-stats span{font-size:13px;color:var(--desc);}
.intro-photo{border-radius:18px;overflow:hidden;}
.intro-photo img{width:100%;height:420px;object-fit:cover;}

/* ---------------- service cards ---------------- */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.service-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 26px;}
.service-icon{width:44px;height:44px;color:var(--accent);margin-bottom:20px;}
.service-icon svg{width:100%;height:100%;}
.service-card h3{font-size:18px;margin-bottom:10px;}
.service-card p{color:var(--desc);font-size:14.5px;line-height:1.7;}

/* ---------------- cases (design 2 · 3장 카드 · draw_id=1 hover) ---------------- */
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:100%;margin:0 auto;}
.case-card{
  position:relative;background:#fff;border-radius:2px;overflow:hidden;
  transition:transform .35s ease;
}
.case-card:hover{transform:scale(1.05);}
.case-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to right, var(--ink) 0 0) left top / 0% 1px no-repeat,
    linear-gradient(to bottom, var(--ink) 0 0) right top / 1px 0% no-repeat,
    linear-gradient(to left, var(--ink) 0 0) right bottom / 0% 1px no-repeat,
    linear-gradient(to top, var(--ink) 0 0) left bottom / 1px 0% no-repeat;
  transition:background-size .6s ease;
}
.case-card:hover::after{background-size:100% 1px,1px 100%,100% 1px,1px 100%;}
.case-card-photo{width:100%;aspect-ratio:1/1;overflow:hidden;}
.case-card-photo img{width:100%;height:100%;object-fit:cover;}
.case-card-body{padding:22px 20px 26px;}
.case-card-cat{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px;}
.case-card-title{font-size:17px;font-weight:700;margin-bottom:8px;}
.case-card-desc{font-size:13.5px;color:var(--desc);line-height:1.6;}
.cases-more{text-align:center;margin-top:44px;}

/* ---------------- faq ---------------- */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:22px 4px;font-size:16px;font-weight:700;text-align:left;cursor:pointer;
}
.faq-q .qmark{color:var(--accent);margin-right:10px;}
.faq-plus{font-size:20px;color:var(--accent);transition:transform .25s ease;}
.faq-item.is-open .faq-plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.is-open .faq-a{max-height:400px;}
.faq-a p{padding:0 4px 22px;color:var(--desc);font-size:14.5px;line-height:1.75;}

/* ---------------- closing (B-25) ---------------- */
.closing{
  position:relative;height:650px;background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
}
.closing-overlay{position:absolute;inset:0;background:rgba(19,19,19,.55);}
.closing-inner{position:relative;z-index:2;text-align:center;max-width:680px;padding:0 24px;}
.closing-head{color:#fff;font-size:clamp(22px,3.4vw,32px);font-weight:700;margin-bottom:18px;line-height:1.4;}
.closing-quote{color:rgba(255,255,255,.85);font-size:15px;line-height:1.8;margin-bottom:32px;}
.btn-closing{
  display:inline-flex;padding:15px 36px;border:1px solid #fff;color:#fff;
  font-size:14.5px;font-weight:700;border-radius:0;
}

/* ---------------- footer ---------------- */
.site-footer{background:#FFFFFF;color:#000;border-top:1px solid var(--line);padding:56px 0 120px;}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 24px;text-align:center;}
.footer-cat{display:flex;justify-content:center;gap:24px;margin-bottom:32px;flex-wrap:wrap;}
.footer-cat a{font-size:14px;font-weight:600;color:#333;}
.footer-biz p{font-size:13.5px;color:#555;line-height:1.9;}
.footer-name{font-weight:800;font-size:15px;color:#000;margin-bottom:4px !important;}
.footer-contact-btns{display:flex;gap:10px;justify-content:center;margin-top:16px;}
.btn-outline{border:1px solid #ccc;color:#333;padding:9px 18px;border-radius:var(--radius-btn);font-size:13px;font-weight:600;}
.copyright{margin-top:28px;font-size:12px;color:#999;}

/* ---------------- bottom consult bar (B-23) ---------------- */
.bottom-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:900;
  background:var(--bar-chrome);border-top:1px solid #E5E7EB;
  box-shadow:0 -6px 22px rgba(0,0,0,.08);
  transform:translateY(100%);opacity:0;transition:transform .3s ease,opacity .3s ease;
}
.bottom-bar.is-visible{transform:translateY(0);opacity:1;}
.bottom-bar-inner{
  max-width:1280px;margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:48px;
}
.bottom-bar-text{font-size:14px;font-weight:700;color:#222;display:none;}
.bottom-bar-btns{display:flex;gap:10px;width:100%;}
.btn-bottom{flex:1;padding:13px 18px;border-radius:var(--radius-btn);}
.btn-outline-sm{
  flex:1;border:1px solid #ccc;color:#333;padding:13px 18px;
  border-radius:var(--radius-btn);font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
@media (max-width:767px){
  .bottom-bar{transform:translateY(0) !important;opacity:1 !important;}
  body{padding-bottom:72px;}
}
@media (min-width:768px){
  .bottom-bar{display:none !important;}
}

/* ---------------- portfolio list (영림 ylchem style) ---------------- */
.portfolio-list{max-width:var(--col);margin:0 auto;padding:80px 24px 40px;}
.portfolio-grid{display:flex;flex-wrap:wrap;gap:20px;}
.pf-item{position:relative;}
.pf-w-30{flex:0 0 calc(30% - 14px);}
.pf-w-68{flex:0 0 calc(68% - 6px);}
.pf-w-49{flex:0 0 calc(49% - 10px);}
.pf-photo{overflow:hidden;background:#eee;}
.pf-w-30 .pf-photo{aspect-ratio:5/6;}
.pf-w-68 .pf-photo{aspect-ratio:189/100;}
.pf-w-49 .pf-photo{aspect-ratio:7/6;}
.pf-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pf-item:hover .pf-photo img{transform:scale(1.04);}
.pf-text{padding:16px 2px;}
.pf-cat{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:6px;}
.pf-title{font-size:17px;font-weight:700;}
.pf-pagination{display:flex;justify-content:center;gap:10px;margin:56px 0 20px;}
.pf-pagination a{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#333;border:1px solid var(--line);
}
.pf-pagination a.is-current{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------------- case detail body (B-11, 550x410 fixed) ---------------- */
.case-detail{max-width:var(--col);margin:0 auto;padding:64px 24px 40px;}
.case-detail-photo{width:100%;max-width:100%;height:clamp(260px,40vw,460px);border-radius:18px;overflow:hidden;margin:0 auto 36px;}
.case-detail-photo img{width:100%;height:100%;object-fit:cover;}
.case-label{font-size:11px;color:#888;letter-spacing:.04em;margin-bottom:10px;}
.case-detail h1{font-size:clamp(22px,3vw,28px);font-weight:700;margin-bottom:20px;}
.case-body p{color:#4B5563;font-size:15.5px;line-height:1.85;margin-bottom:18px;white-space:pre-line;}
.case-body b{color:var(--ink);}
.case-points{background:#F9F7F3;border-radius:14px;padding:26px 28px;margin:28px 0;}
.case-points-title{font-size:14px;font-weight:700;margin-bottom:14px;}
.case-points li{font-size:14.5px;color:#4B5563;line-height:1.8;padding-left:16px;position:relative;margin-bottom:8px;}
.case-points li::before{content:'-';position:absolute;left:0;color:var(--accent);}
.case-process-photos{display:grid !important;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:100%;margin:8px auto 28px;}
.case-process-photos.has-2{grid-template-columns:1fr 1fr;}
.case-process-photo img{width:100%;height:180px;object-fit:cover;display:block;border-radius:14px;}
.case-process-caption{font-size:13px;font-weight:600;color:#555;text-align:center;margin-top:8px;}
.related-cases{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);}
.related-label{font-size:13px;font-weight:700;color:#888;margin-bottom:14px;}
.related-row{display:grid !important;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:100%;margin:0 auto;}
.related-row.has-3{grid-template-columns:repeat(3,1fr);}
.related-card img{width:100%;height:180px;object-fit:cover;display:block;border-radius:14px;}
.related-card p{font-size:14px;font-weight:600;color:#333;margin-top:10px;}
.mt-cta-center{text-align:center;margin-top:36px;}

/* ---------------- cost table (guide) ---------------- */
.cost-table-wrap{overflow-x:auto;margin:24px 0;}
.cost-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.cost-table th,.cost-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);}
.cost-table th{background:#F9F7F3;font-weight:700;color:var(--ink);white-space:nowrap;}
.cost-table td{color:#4B5563;}
.cost-table td:nth-child(2){color:var(--accent);font-weight:700;white-space:nowrap;}
.guide-steps{margin:24px 0;}
.guide-steps li{font-size:14.5px;color:#4B5563;line-height:1.8;padding-left:18px;position:relative;margin-bottom:10px;}
.guide-steps li::before{content:'-';position:absolute;left:0;color:var(--accent);}

/* ---------------- guide hub ---------------- */
.guide-hub{max-width:var(--col);margin:0 auto;padding:72px 24px 20px;}
.guide-hub-desc{max-width:640px;margin:0 auto 48px;color:var(--desc);font-size:15.5px;line-height:1.8;text-align:center;}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;justify-content:center;}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.guide-card-photo{width:100%;aspect-ratio:4/3;overflow:hidden;}
.guide-card-photo img{width:100%;height:100%;object-fit:cover;}
.guide-card-body{padding:20px 20px 24px;}
.guide-card-label{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px;letter-spacing:.03em;}
.guide-card-title{font-size:17px;font-weight:700;margin-bottom:8px;}
.guide-card-desc{font-size:13.5px;color:var(--desc);line-height:1.6;margin-bottom:14px;}
.guide-card-link{font-size:13px;font-weight:700;color:var(--accent);}

/* ---------------- region page body ---------------- */
.region-body{max-width:760px;margin:0 auto;padding:64px 24px 20px;}
.region-body .case-detail-photo{margin-bottom:36px;}
.region-body .case-body p{margin-bottom:20px;}
.region-steps{max-width:1000px;margin:80px auto 0;padding:0 24px;}
.region-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px;}
.step-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 22px;}
.step-num{font-size:13px;font-weight:800;color:var(--accent);margin-bottom:10px;}
.step-card h4{font-size:16px;margin-bottom:8px;}
.step-card p{font-size:13.5px;color:var(--desc);line-height:1.7;}
.region-links{max-width:1000px;margin:56px auto 0;padding:0 24px 20px;text-align:center;}
.region-links p{font-size:13px;color:#888;margin-bottom:14px;}
.region-links-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.region-links-list a{border:1px solid var(--line);border-radius:20px;padding:8px 18px;font-size:13.5px;color:#333;}

/* ---------------- about ---------------- */
.about-body{max-width:820px;margin:0 auto;padding:72px 24px 20px;}
.about-body h2{font-size:22px;margin:40px 0 16px;}
.about-body p{color:var(--desc);font-size:15.5px;line-height:1.85;margin-bottom:14px;}
.about-info{background:#F9F7F3;border-radius:16px;padding:32px 30px;margin-top:20px;}
.about-info li{font-size:14.5px;color:#333;padding:10px 0;border-bottom:1px solid #ECE7DE;display:flex;gap:14px;}
.about-info li:last-child{border-bottom:none;}
.about-info b{flex:0 0 120px;color:var(--accent);}

/* ---------------- contact ---------------- */
.contact-body{max-width:640px;margin:0 auto;padding:96px 24px 80px;text-align:center;}
.contact-body h1{font-size:clamp(26px,4vw,36px);margin-bottom:16px;}
.contact-body .lead{color:var(--desc);font-size:15.5px;margin-bottom:36px;line-height:1.8;}
.contact-phone{
  display:block;font-size:clamp(30px,5vw,42px);font-weight:800;color:var(--accent);
  margin-bottom:22px;letter-spacing:-0.02em;
}
.contact-btns{display:flex;gap:12px;justify-content:center;margin-bottom:44px;flex-wrap:wrap;}
.contact-info{background:#F9F7F3;border-radius:16px;padding:30px;text-align:left;}
.contact-info li{font-size:14.5px;color:#333;padding:9px 0;display:flex;gap:14px;}
.contact-info b{flex:0 0 96px;color:var(--accent);}

/* ---------------- sitemap page ---------------- */
.sitemap-body{max-width:900px;margin:0 auto;padding:72px 24px 60px;}
.sitemap-body h2{font-size:19px;margin:36px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--ink);}
.sitemap-links{display:flex;flex-wrap:wrap;gap:10px;}
.sitemap-links a{border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:14px;color:#333;}

/* ---------------- responsive ---------------- */
@media (max-width:960px){
  .nav-menu{display:none;}
  .hamburger{display:flex;}
  .intro-grid{grid-template-columns:1fr;}
  .intro-photo img{height:280px;}
  .service-grid{grid-template-columns:1fr;}
  .cases-grid{grid-template-columns:1fr;}
  .guide-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
  .pf-w-30,.pf-w-68,.pf-w-49{flex:0 0 100%;}
  .region-steps-grid{grid-template-columns:1fr 1fr;}
  .bottom-bar-text{display:block;}
  .about-info li,.contact-info li{flex-direction:column;gap:2px;}
  .about-info b,.contact-info b{flex:none;}
}
@media (max-width:767px){
  .related-row,.related-row.has-3{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .section{padding:64px 0;}
  .hero{min-height:82vh;}
  .closing{height:520px;}
  .case-detail-photo{height:280px;}
  .region-steps-grid{grid-template-columns:1fr;}
  .footer-biz p{white-space:normal;}
  .biz-hours{white-space:nowrap;}
  .biz-no-label{display:block;}
  .biz-no-value{display:block;}
}

/* ---------------- 공통 사진 그리드 (1·2·3=한 줄 · 4=2x2 · 5+=3+더보기) ---------------- */
.photo-grid{display:grid;gap:22px;max-width:100%;margin:0 auto;}
.photo-grid.n1{grid-template-columns:1fr;}
.photo-grid.n2{grid-template-columns:repeat(2,1fr);}
.photo-grid.n3{grid-template-columns:repeat(3,1fr);}
.photo-grid [hidden]{display:none !important;}
.axis-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.axis-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.axis-card-photo{width:100%;aspect-ratio:7/6;overflow:hidden;}
.axis-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.axis-card-body{padding:20px 20px 24px;}
.axis-card-body h3{font-size:18px;margin-bottom:8px;}
.axis-card-body p{font-size:14px;color:var(--desc);line-height:1.65;}
.axis-card-body .case-card-cat{margin-bottom:6px;}
.case-note{font-size:13px;color:#666;margin:10px 0 0;}
.axis-others{margin-top:32px;}
.related-cases .photo-grid{gap:12px;}
.faq-list{max-width:100%;}

/* ---------------- 모바일 줄바꿈·메뉴 ---------------- */
@media (max-width:767px){
  body{word-break:keep-all;overflow-wrap:break-word;line-break:strict;}
  h1,h2,.section-title,.btn,.axis-card-body h3,.nav-menu a,.mobile-menu a,.case-points-title{word-break:keep-all;}
  h1{font-size:clamp(22px,7vw,30px);}
  .section-title{font-size:clamp(19px,5.6vw,24px);}
  .axis-card-body h3{font-size:clamp(16px,4.6vw,18px);}
  .photo-grid.n3,.photo-grid.n2{grid-template-columns:1fr;}
  .related-cases .photo-grid.n2{grid-template-columns:1fr 1fr;}
  .related-cases .photo-grid.n3{grid-template-columns:1fr;}
  .case-detail{padding-left:20px;padding-right:20px;}
}
