/* UPTOPMEDIA PREMIUM TEMPLATE SYSTEM V2.7 / 2026-08-07
   목적: 생성 홈페이지를 업종별 고급 맞춤제작 수준으로 시각 차별화
   외부 폰트·외부 이미지 사용 없음 */

:root{
  --v27-ink:#171717;
  --v27-paper:#f8f7f3;
  --v27-line:rgba(23,23,23,.12);
  --v27-shadow:0 24px 70px rgba(20,20,20,.10);
  --v27-radius:26px;
}

body.client-body.premium-site{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  letter-spacing:-.018em;
  background:#fff;
  color:#171717;
}
body.client-body.premium-site *{box-sizing:border-box}
body.client-body.premium-site img{display:block;max-width:100%}
body.client-body.premium-site a{transition:opacity .2s ease,transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
body.client-body.premium-site .client-nav{
  min-height:78px;
  padding:0 clamp(20px,5vw,72px);
  border-bottom:1px solid rgba(20,20,20,.08);
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}
body.client-body.premium-site .client-logo{
  font-size:18px;
  font-weight:850;
  letter-spacing:-.04em;
}
body.client-body.premium-site .client-nav nav{gap:clamp(16px,2.4vw,34px)}
body.client-body.premium-site .client-nav nav a{
  font-size:13px;
  font-weight:720;
  letter-spacing:-.02em;
  opacity:.76;
}
body.client-body.premium-site .client-nav nav a:hover{opacity:1}
body.client-body.premium-site .client-call,
body.client-body.premium-site .client-contact a,
body.client-body.premium-site .client-contact button{
  min-height:44px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:-.02em;
}
body.client-body.premium-site main>section{
  scroll-margin-top:82px;
}
body.client-body.premium-site .service-section,
body.client-body.premium-site .gallery-section,
body.client-body.premium-site .client-contact{
  padding:clamp(70px,8vw,132px) clamp(20px,6vw,88px);
}
body.client-body.premium-site .section-heading{max-width:1240px;margin:0 auto clamp(32px,4vw,58px)}
body.client-body.premium-site .section-heading .eyebrow,
body.client-body.premium-site .client-contact .eyebrow{
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.client-body.premium-site .section-heading h2,
body.client-body.premium-site .client-contact h2{
  margin:12px 0 0;
  font-size:clamp(34px,4.4vw,64px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:830;
}
body.client-body.premium-site .service-cards,
body.client-body.premium-site .photo-gallery{
  width:min(1240px,100%);
  margin-inline:auto;
}
body.client-body.premium-site .service-cards article{
  padding:clamp(24px,3vw,38px);
  border:1px solid rgba(20,20,20,.10);
  border-radius:22px;
  background:rgba(255,255,255,.72);
}
body.client-body.premium-site .service-cards article>span:first-child{
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
body.client-body.premium-site .service-cards h3{
  margin:18px 0 10px;
  font-size:clamp(20px,2vw,28px);
  line-height:1.15;
  letter-spacing:-.04em;
}
body.client-body.premium-site .service-cards p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  opacity:.72;
}
body.client-body.premium-site .photo-gallery{
  gap:clamp(8px,1vw,16px);
}
body.client-body.premium-site .photo-gallery figure{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#eee;
}
body.client-body.premium-site .photo-gallery img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.75,.2,1);
}
body.client-body.premium-site .photo-gallery figure:hover img{transform:scale(1.025)}
body.client-body.premium-site .photo-gallery figcaption{
  position:absolute;left:14px;bottom:14px;
  z-index:2;
  max-width:calc(100% - 28px);
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#171717;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  backdrop-filter:blur(10px);
}
body.client-body.premium-site .client-contact{
  margin:0;
}
body.client-body.premium-site .client-contact>div{
  max-width:1240px;
}
body.client-body.premium-site .contact-card{
  border-radius:24px;
  box-shadow:var(--v27-shadow);
}
body.client-body.premium-site .mini-contact input,
body.client-body.premium-site .mini-contact textarea{
  min-height:48px;
  border-radius:12px;
  border:1px solid rgba(20,20,20,.12);
  background:rgba(255,255,255,.92);
  padding:13px 14px;
}
body.client-body.premium-site .mini-contact textarea{min-height:110px}
body.client-body.premium-site .client-footer{
  padding:36px clamp(20px,6vw,88px);
  border-top:1px solid rgba(20,20,20,.10);
  font-size:13px;
}

/* 01 음식점 · 시네마틱 파인다이닝 */
body.layout-premium_restaurant{
  --v27-accent:#d8b77a;
  background:#0b0b0b;
  color:#f7f4ec;
}
body.layout-premium_restaurant .client-nav{
  border-color:rgba(255,255,255,.12);
  background:rgba(10,10,10,.78);
}
body.layout-premium_restaurant .client-logo,
body.layout-premium_restaurant .client-nav nav a{color:#fff}
body.layout-premium_restaurant .client-call{background:#f2eee5!important;color:#111!important}
body.layout-premium_restaurant main>section:first-child{
  min-height:calc(100svh - 78px);
  background:#0b0b0b;
}
body.layout-premium_restaurant main>section:first-child h1{
  max-width:980px;
  font-family:Georgia,"Times New Roman","Noto Serif KR",serif;
  font-size:clamp(50px,7.8vw,112px);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:500;
}
body.layout-premium_restaurant main>section:first-child p{max-width:650px;font-size:clamp(15px,1.5vw,20px);line-height:1.8;color:#d5d0c5}
body.layout-premium_restaurant .service-section{background:#101010;color:#f5f2eb}
body.layout-premium_restaurant .section-heading .eyebrow{color:var(--v27-accent)}
body.layout-premium_restaurant .service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
body.layout-premium_restaurant .service-cards article{
  border:0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;padding:30px 8px 34px;
}
body.layout-premium_restaurant .service-cards article:nth-child(odd){padding-right:clamp(30px,5vw,80px)}
body.layout-premium_restaurant .service-cards article:nth-child(even){padding-left:clamp(30px,5vw,80px);border-left:1px solid rgba(255,255,255,.12)}
body.layout-premium_restaurant .service-cards p{color:#aaa59a}
body.layout-premium_restaurant .gallery-section{background:#0b0b0b;color:#fff}
body.layout-premium_restaurant .photo-gallery{display:grid;grid-template-columns:1.5fr .75fr .75fr;grid-auto-rows:250px}
body.layout-premium_restaurant .photo-gallery figure:first-child{grid-row:span 2}
body.layout-premium_restaurant .photo-gallery figure{border-radius:4px}
body.layout-premium_restaurant .client-contact{background:#e8dfcf!important;color:#171717!important}
body.layout-premium_restaurant .client-footer{background:#090909;color:#bdb7ac;border-color:#282828}

/* 02 카페 · 에디토리얼 매거진 */
body.layout-editorial_cafe{
  --v27-accent:#7a5d3e;
  background:#f2eee5;
  color:#211d19;
}
body.layout-editorial_cafe .client-nav{background:rgba(242,238,229,.91)}
body.layout-editorial_cafe main>section:first-child{background:#f2eee5;padding-top:clamp(36px,5vw,76px);padding-bottom:clamp(70px,8vw,130px)}
body.layout-editorial_cafe main>section:first-child h1,
body.layout-editorial_cafe .section-heading h2{
  font-family:Georgia,"Times New Roman","Noto Serif KR",serif;
  font-weight:500;
  letter-spacing:-.055em;
}
body.layout-editorial_cafe main>section:first-child h1{font-size:clamp(54px,8vw,116px);line-height:.94}
body.layout-editorial_cafe .service-section{background:#fffdf8}
body.layout-editorial_cafe .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #cfc7b9;border-bottom:1px solid #cfc7b9}
body.layout-editorial_cafe .service-cards article{border:0;border-right:1px solid #d8d0c3;border-radius:0;background:transparent;padding:34px 24px 40px}
body.layout-editorial_cafe .service-cards article:last-child{border-right:0}
body.layout-editorial_cafe .gallery-section{background:#f2eee5}
body.layout-editorial_cafe .photo-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:110px}
body.layout-editorial_cafe .photo-gallery figure{border-radius:2px}
body.layout-editorial_cafe .photo-gallery figure:nth-child(1){grid-column:1/span 7;grid-row:span 4}
body.layout-editorial_cafe .photo-gallery figure:nth-child(2){grid-column:8/span 5;grid-row:span 3;margin-top:54px}
body.layout-editorial_cafe .photo-gallery figure:nth-child(3){grid-column:2/span 4;grid-row:span 3}
body.layout-editorial_cafe .photo-gallery figure:nth-child(4){grid-column:7/span 6;grid-row:span 4}
body.layout-editorial_cafe .client-contact{background:#2d251e!important;color:#f7f0e4!important}
body.layout-editorial_cafe .client-footer{background:#efe8dc}

/* 03 병원 · 프리미엄 의료정보 */
body.layout-calm_clinic{
  --v27-accent:#2e6170;
  background:#f8faf9;
  color:#152225;
}
body.layout-calm_clinic .client-nav{background:rgba(248,250,249,.94)}
body.layout-calm_clinic .client-call{background:#193d48!important;color:#fff!important}
body.layout-calm_clinic .clinic-calm-hero,
body.layout-calm_clinic main>section:first-child{
  min-height:660px;
  background:linear-gradient(135deg,#f7faf9 0%,#edf4f1 100%);
  padding:clamp(50px,7vw,104px) clamp(20px,6vw,88px);
}
body.layout-calm_clinic main>section:first-child h1{max-width:760px;font-size:clamp(44px,5.8vw,78px);line-height:1.02;letter-spacing:-.065em}
body.layout-calm_clinic .clinic-trust{background:#173b45!important;color:#fff!important}
body.layout-calm_clinic .service-section{background:#fff}
body.layout-calm_clinic .service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.layout-calm_clinic .service-cards article{border-radius:18px;background:#f6f9f8;border-color:#e4ece9;box-shadow:none}
body.layout-calm_clinic .service-cards article>span:first-child{color:#487b86}
body.layout-calm_clinic .gallery-section{background:#edf3f1}
body.layout-calm_clinic .photo-gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:220px}
body.layout-calm_clinic .photo-gallery figure:first-child{grid-row:span 2}
body.layout-calm_clinic .photo-gallery figure{border-radius:16px}
body.layout-calm_clinic .photo-gallery figcaption{font-size:0}
body.layout-calm_clinic .photo-gallery figure:nth-child(1) figcaption:before{content:'진료 공간';font-size:11px}
body.layout-calm_clinic .photo-gallery figure:nth-child(2) figcaption:before{content:'상담 공간';font-size:11px}
body.layout-calm_clinic .photo-gallery figure:nth-child(3) figcaption:before{content:'내원 안내';font-size:11px}
body.layout-calm_clinic .photo-gallery figure:nth-child(4) figcaption:before{content:'편안한 진료 환경';font-size:11px}
body.layout-calm_clinic .client-contact{background:#173b45!important;color:#fff!important}

/* 04 치과 · 예약 컨시어지 */
body.layout-clean_dental{
  --v27-accent:#246176;
  background:#f5f9fa;
  color:#10242b;
}
body.layout-clean_dental .client-nav{background:rgba(247,251,252,.94)}
body.layout-clean_dental .client-call{background:#0f5267!important;color:#fff!important}
body.layout-clean_dental main>section:first-child{
  min-height:620px;
  background:radial-gradient(circle at 80% 10%,#d8eef3 0,transparent 42%),#f7fbfc;
  padding:clamp(54px,7vw,104px) clamp(20px,6vw,88px);
}
body.layout-clean_dental main>section:first-child h1{font-size:clamp(46px,6vw,82px);line-height:1;letter-spacing:-.065em}
body.layout-clean_dental .service-section{background:#eaf4f6}
body.layout-clean_dental .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
body.layout-clean_dental .service-cards article{background:#fff;border-color:#d9e9ed;box-shadow:0 12px 32px rgba(36,97,118,.06)}
body.layout-clean_dental .gallery-section{background:#fff}
body.layout-clean_dental .photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:300px}
body.layout-clean_dental .photo-gallery figure{border-radius:22px}
body.layout-clean_dental .photo-gallery figcaption{font-size:0}
body.layout-clean_dental .photo-gallery figure:nth-child(1) figcaption:before{content:'진료실';font-size:11px}
body.layout-clean_dental .photo-gallery figure:nth-child(2) figcaption:before{content:'상담실';font-size:11px}
body.layout-clean_dental .photo-gallery figure:nth-child(3) figcaption:before{content:'장비 안내';font-size:11px}
body.layout-clean_dental .photo-gallery figure:nth-child(4) figcaption:before{content:'내원 환경';font-size:11px}
body.layout-clean_dental .client-contact{background:#0d4658!important;color:#fff!important}

/* 05 인테리어 · 건축 포트폴리오 */
body.layout-masonry_interior{
  --v27-accent:#d1b083;
  background:#131313;
  color:#f3efe8;
}
body.layout-masonry_interior .client-nav{background:rgba(18,18,18,.90);border-color:#282828}
body.layout-masonry_interior .client-logo,
body.layout-masonry_interior .client-nav nav a{color:#f4f0e8}
body.layout-masonry_interior .client-call{background:#e8dccb!important;color:#171717!important}
body.layout-masonry_interior main>section:first-child{background:#131313;padding:clamp(42px,6vw,88px) clamp(16px,4vw,54px)}
body.layout-masonry_interior main>section:first-child h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(50px,7vw,102px);line-height:.96;letter-spacing:-.065em}
body.layout-masonry_interior .service-section{background:#eee9df;color:#161616}
body.layout-masonry_interior .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
body.layout-masonry_interior .service-cards article{border:0;border-top:1px solid #bdb6aa;border-radius:0;background:transparent;padding:30px 22px}
body.layout-masonry_interior .gallery-section{background:#131313;color:#fff;padding-left:clamp(12px,2vw,28px);padding-right:clamp(12px,2vw,28px)}
body.layout-masonry_interior .photo-gallery{max-width:none;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:10px}
body.layout-masonry_interior .photo-gallery figure{border-radius:0}
body.layout-masonry_interior .photo-gallery figure:nth-child(1){grid-column:1/span 7;grid-row:span 6}
body.layout-masonry_interior .photo-gallery figure:nth-child(2){grid-column:8/span 5;grid-row:span 4}
body.layout-masonry_interior .photo-gallery figure:nth-child(3){grid-column:8/span 5;grid-row:span 5}
body.layout-masonry_interior .photo-gallery figure:nth-child(4){grid-column:2/span 6;grid-row:span 4}
body.layout-masonry_interior .photo-gallery figcaption{border-radius:0;background:#111;color:#fff}
body.layout-masonry_interior .client-contact{background:#d8c4a7!important;color:#161616!important}
body.layout-masonry_interior .client-footer{background:#0b0b0b;color:#aaa;border-color:#282828}

/* 06 시공·설비 · 공정 아키텍처 */
body.layout-process_construction{
  --v27-accent:#b65a2a;
  background:#f1eee7;
  color:#211f1b;
}
body.layout-process_construction .client-nav{background:rgba(241,238,231,.94)}
body.layout-process_construction .client-call{background:#28251f!important;color:#fff!important}
body.layout-process_construction main>section:first-child{background:#e9e3d7;padding:clamp(54px,7vw,104px) clamp(20px,6vw,88px)}
body.layout-process_construction main>section:first-child h1{font-size:clamp(48px,6.3vw,88px);line-height:.98;letter-spacing:-.07em;max-width:940px}
body.layout-process_construction .service-section{background:#f7f4ee}
body.layout-process_construction .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid #25221d}
body.layout-process_construction .service-cards article{border:0;border-right:1px solid #c9c1b4;border-radius:0;background:transparent;padding:34px 24px}
body.layout-process_construction .service-cards article:last-child{border-right:0}
body.layout-process_construction .service-cards article>span:first-child{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#b65a2a;color:#fff}
body.layout-process_construction .gallery-section{background:#24211d;color:#fff}
body.layout-process_construction .photo-gallery{display:grid;grid-template-columns:1.4fr .6fr .6fr;grid-auto-rows:220px}
body.layout-process_construction .photo-gallery figure:first-child{grid-row:span 2}
body.layout-process_construction .photo-gallery figure{border-radius:3px}
body.layout-process_construction .photo-gallery figcaption{font-size:0}
body.layout-process_construction .photo-gallery figure:nth-child(1) figcaption:before{content:'현장 점검';font-size:11px}
body.layout-process_construction .photo-gallery figure:nth-child(2) figcaption:before{content:'작업 준비';font-size:11px}
body.layout-process_construction .photo-gallery figure:nth-child(3) figcaption:before{content:'시공 진행';font-size:11px}
body.layout-process_construction .photo-gallery figure:nth-child(4) figcaption:before{content:'완료 확인';font-size:11px}
body.layout-process_construction .client-contact{background:#b65a2a!important;color:#fff!important}

/* 07 학원 · 프리미엄 아카데미 대시보드 */
body.layout-academy_dash{
  --v27-accent:#f0c96a;
  background:#f5f2e9;
  color:#172136;
}
body.layout-academy_dash .client-nav{background:rgba(245,242,233,.94)}
body.layout-academy_dash .client-call{background:#18243d!important;color:#fff!important}
body.layout-academy_dash main>section:first-child{background:linear-gradient(135deg,#17233c 0%,#27395c 100%);color:#fff;min-height:650px;padding:clamp(54px,7vw,104px) clamp(20px,6vw,88px)}
body.layout-academy_dash main>section:first-child h1{font-size:clamp(46px,6vw,84px);line-height:1;letter-spacing:-.065em;max-width:900px}
body.layout-academy_dash main>section:first-child p{color:#ced6e6}
body.layout-academy_dash .service-section{background:#f5f2e9}
body.layout-academy_dash .service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
body.layout-academy_dash .service-cards article{background:#fff;border:0;box-shadow:0 14px 40px rgba(23,33,54,.07)}
body.layout-academy_dash .service-cards article>span:first-child{color:#7c6732}
body.layout-academy_dash .gallery-section{background:#fff}
body.layout-academy_dash .photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px}
body.layout-academy_dash .photo-gallery figure{border-radius:18px}
body.layout-academy_dash .client-contact{background:#18243d!important;color:#fff!important}

/* 08 숙박 · 부티크 호텔 */
body.layout-resort_stay{
  --v27-accent:#d9bd88;
  background:#0d1010;
  color:#f5f0e7;
}
body.layout-resort_stay .client-nav{background:rgba(13,16,16,.84);border-color:rgba(255,255,255,.12)}
body.layout-resort_stay .client-logo,
body.layout-resort_stay .client-nav nav a{color:#fff}
body.layout-resort_stay .client-call{background:#e7dcc6!important;color:#151515!important}
body.layout-resort_stay main>section:first-child{min-height:calc(100svh - 78px);background:#0d1010;padding:clamp(42px,5vw,76px) clamp(16px,4vw,54px)}
body.layout-resort_stay main>section:first-child h1,
body.layout-resort_stay .section-heading h2{font-family:Georgia,"Times New Roman","Noto Serif KR",serif;font-weight:500;letter-spacing:-.055em}
body.layout-resort_stay main>section:first-child h1{font-size:clamp(52px,7.5vw,108px);line-height:.94}
body.layout-resort_stay .service-section{background:#eae2d4;color:#1b1b19}
body.layout-resort_stay .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
body.layout-resort_stay .service-cards article{border:0;border-top:1px solid #b8ad9c;border-radius:0;background:transparent}
body.layout-resort_stay .gallery-section{background:#0d1010;color:#fff;padding-left:clamp(12px,2vw,28px);padding-right:clamp(12px,2vw,28px)}
body.layout-resort_stay .photo-gallery{max-width:none;display:grid;grid-template-columns:1.4fr .7fr .7fr;grid-auto-rows:250px}
body.layout-resort_stay .photo-gallery figure:first-child{grid-row:span 2}
body.layout-resort_stay .photo-gallery figure{border-radius:2px}
body.layout-resort_stay .photo-gallery figcaption{background:rgba(12,12,12,.76);color:#fff;border-radius:2px}
body.layout-resort_stay .client-contact{background:#d8c19a!important;color:#171717!important}
body.layout-resort_stay .client-footer{background:#080a0a;color:#999;border-color:#252929}

/* 09 제품 · 럭셔리 쇼룸 */
body.layout-product_split{
  --v27-accent:#284b5d;
  background:#f4f5f4;
  color:#141819;
}
body.layout-product_split .client-nav{background:rgba(248,249,248,.94)}
body.layout-product_split .client-call{background:#161a1b!important;color:#fff!important}
body.layout-product_split main>section:first-child{background:#e7e9e7;padding:clamp(48px,6vw,92px) clamp(20px,6vw,88px)}
body.layout-product_split main>section:first-child h1{font-size:clamp(48px,6.4vw,88px);line-height:.97;letter-spacing:-.07em;max-width:900px}
body.layout-product_split .service-section{background:#fff}
body.layout-product_split .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
body.layout-product_split .service-cards article{border-radius:6px;background:#f3f4f3;border-color:#e1e4e2}
body.layout-product_split .gallery-section{background:#161a1b;color:#fff}
body.layout-product_split .photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:360px}
body.layout-product_split .photo-gallery figure{border-radius:4px}
body.layout-product_split .photo-gallery figcaption{border-radius:2px}
body.layout-product_split .client-contact{background:#e5e6e2!important;color:#141819!important}

/* 10 전문가 · 퍼블리케이션 저널 */
body.layout-expert_journal{
  --v27-accent:#6f2f28;
  background:#f5f1e8;
  color:#201d19;
}
body.layout-expert_journal .client-nav{background:rgba(245,241,232,.94)}
body.layout-expert_journal .client-call{background:#2b2520!important;color:#fff!important}
body.layout-expert_journal main>section:first-child{background:#f5f1e8;padding:clamp(64px,8vw,126px) clamp(20px,7vw,110px)}
body.layout-expert_journal main>section:first-child h1,
body.layout-expert_journal .section-heading h2{font-family:Georgia,"Times New Roman","Noto Serif KR",serif;font-weight:500;letter-spacing:-.055em}
body.layout-expert_journal main>section:first-child h1{font-size:clamp(50px,7vw,98px);line-height:.96;max-width:980px}
body.layout-expert_journal .service-section{background:#fcfaf5}
body.layout-expert_journal .service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #bdb4a5}
body.layout-expert_journal .service-cards article{border:0;border-bottom:1px solid #c9c1b4;border-radius:0;background:transparent;padding:34px 12px}
body.layout-expert_journal .service-cards article:nth-child(odd){padding-right:clamp(32px,5vw,80px);border-right:1px solid #c9c1b4}
body.layout-expert_journal .service-cards article:nth-child(even){padding-left:clamp(32px,5vw,80px)}
body.layout-expert_journal .gallery-section{background:#2a2520;color:#fff}
body.layout-expert_journal .photo-gallery{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:230px}
body.layout-expert_journal .photo-gallery figure:first-child{grid-row:span 2}
body.layout-expert_journal .photo-gallery figure{border-radius:0}
body.layout-expert_journal .photo-gallery figcaption{font-size:0;border-radius:0}
body.layout-expert_journal .photo-gallery figure:nth-child(1) figcaption:before{content:'Office';font-size:11px}
body.layout-expert_journal .photo-gallery figure:nth-child(2) figcaption:before{content:'Consultation';font-size:11px}
body.layout-expert_journal .photo-gallery figure:nth-child(3) figcaption:before{content:'Archive';font-size:11px}
body.layout-expert_journal .photo-gallery figure:nth-child(4) figcaption:before{content:'Practice';font-size:11px}
body.layout-expert_journal .client-contact{background:#6f2f28!important;color:#fff!important}

/* 11 웨딩 · 파인아트 갤러리 */
body.layout-wedding_gallery{
  --v27-accent:#a37d78;
  background:#f7f2ef;
  color:#2a2422;
}
body.layout-wedding_gallery .client-nav{background:rgba(247,242,239,.92)}
body.layout-wedding_gallery .client-call{background:#302725!important;color:#fff!important}
body.layout-wedding_gallery main>section:first-child{background:#f7f2ef;padding:clamp(54px,7vw,110px) clamp(18px,5vw,72px)}
body.layout-wedding_gallery main>section:first-child h1,
body.layout-wedding_gallery .section-heading h2{font-family:Georgia,"Times New Roman","Noto Serif KR",serif;font-weight:500;letter-spacing:-.06em}
body.layout-wedding_gallery main>section:first-child h1{font-size:clamp(52px,7.2vw,104px);line-height:.94}
body.layout-wedding_gallery .service-section{background:#fffaf7}
body.layout-wedding_gallery .service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
body.layout-wedding_gallery .service-cards article{border:0;border-top:1px solid #d8cbc6;border-radius:0;background:transparent;text-align:center}
body.layout-wedding_gallery .gallery-section{background:#f1e9e5;padding-left:clamp(12px,2vw,26px);padding-right:clamp(12px,2vw,26px)}
body.layout-wedding_gallery .photo-gallery{max-width:none;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:95px;gap:10px}
body.layout-wedding_gallery .photo-gallery figure{border-radius:0}
body.layout-wedding_gallery .photo-gallery figure:nth-child(1){grid-column:1/span 6;grid-row:span 6}
body.layout-wedding_gallery .photo-gallery figure:nth-child(2){grid-column:7/span 6;grid-row:span 4;margin-top:50px}
body.layout-wedding_gallery .photo-gallery figure:nth-child(3){grid-column:2/span 4;grid-row:span 4}
body.layout-wedding_gallery .photo-gallery figure:nth-child(4){grid-column:7/span 5;grid-row:span 5}
body.layout-wedding_gallery .photo-gallery figcaption{font-size:0;border-radius:0;background:rgba(255,250,247,.88)}
body.layout-wedding_gallery .photo-gallery figure:nth-child(1) figcaption:before{content:'Signature';font-size:11px}
body.layout-wedding_gallery .photo-gallery figure:nth-child(2) figcaption:before{content:'Portrait';font-size:11px}
body.layout-wedding_gallery .photo-gallery figure:nth-child(3) figcaption:before{content:'Ceremony';font-size:11px}
body.layout-wedding_gallery .photo-gallery figure:nth-child(4) figcaption:before{content:'Collection';font-size:11px}
body.layout-wedding_gallery .client-contact{background:#302725!important;color:#fff!important}

/* 12 지역서비스 · 프리미엄 즉시문의 */
body.layout-local_action{
  --v27-accent:#14665c;
  background:#f4f7f5;
  color:#15221f;
}
body.layout-local_action .client-nav{background:rgba(247,250,248,.95)}
body.layout-local_action .client-call{background:#155f56!important;color:#fff!important}
body.layout-local_action main>section:first-child{background:linear-gradient(135deg,#102c29 0%,#1d514a 100%);color:#fff;min-height:620px;padding:clamp(54px,7vw,102px) clamp(20px,6vw,88px)}
body.layout-local_action main>section:first-child h1{font-size:clamp(46px,6.3vw,86px);line-height:.98;letter-spacing:-.068em;max-width:900px}
body.layout-local_action main>section:first-child p{color:#d7e6e2}
body.layout-local_action .service-section{background:#f4f7f5}
body.layout-local_action .service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
body.layout-local_action .service-cards article{background:#fff;border:0;box-shadow:0 12px 34px rgba(16,44,41,.06)}
body.layout-local_action .gallery-section{background:#e5eeea}
body.layout-local_action .photo-gallery{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-auto-rows:220px}
body.layout-local_action .photo-gallery figure:first-child{grid-row:span 2}
body.layout-local_action .photo-gallery figure{border-radius:16px}
body.layout-local_action .photo-gallery figcaption{font-size:0}
body.layout-local_action .photo-gallery figure:nth-child(1) figcaption:before{content:'현장 사례';font-size:11px}
body.layout-local_action .photo-gallery figure:nth-child(2) figcaption:before{content:'방문 서비스';font-size:11px}
body.layout-local_action .photo-gallery figure:nth-child(3) figcaption:before{content:'작업 확인';font-size:11px}
body.layout-local_action .photo-gallery figure:nth-child(4) figcaption:before{content:'서비스 지역';font-size:11px}
body.layout-local_action .client-contact{background:#103c36!important;color:#fff!important}

/* 공통 디테일: 샘플 번호가 노출돼도 저가형 템플릿처럼 보이지 않도록 */
body.client-body.premium-site .photo-gallery figcaption{text-transform:none}
body.client-body.premium-site .client-footer strong,
body.client-body.premium-site .client-footer b{letter-spacing:-.035em}
body.client-body.premium-site .client-contact strong{letter-spacing:-.04em}

/* 모바일은 PC 축소판이 아니라 문의·사진 중심으로 재배치 */
@media(max-width:900px){
  body.client-body.premium-site .client-nav{min-height:68px;padding:0 18px}
  body.client-body.premium-site .client-nav nav{display:none}
  body.client-body.premium-site .client-call{margin-left:auto;min-height:40px;padding:0 14px;font-size:12px}
  body.client-body.premium-site .service-section,
  body.client-body.premium-site .gallery-section,
  body.client-body.premium-site .client-contact{padding:64px 18px}
  body.client-body.premium-site .section-heading{margin-bottom:28px}
  body.client-body.premium-site .service-cards,
  body.layout-premium_restaurant .service-cards,
  body.layout-editorial_cafe .service-cards,
  body.layout-clean_dental .service-cards,
  body.layout-masonry_interior .service-cards,
  body.layout-process_construction .service-cards,
  body.layout-academy_dash .service-cards,
  body.layout-resort_stay .service-cards,
  body.layout-product_split .service-cards,
  body.layout-wedding_gallery .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.layout-premium_restaurant .service-cards article:nth-child(odd),
  body.layout-premium_restaurant .service-cards article:nth-child(even),
  body.layout-expert_journal .service-cards article:nth-child(odd),
  body.layout-expert_journal .service-cards article:nth-child(even){padding:26px 12px;border-left:0;border-right:0}
  body.layout-editorial_cafe .service-cards article,
  body.layout-process_construction .service-cards article{border-right:0;border-bottom:1px solid rgba(20,20,20,.12)}
  body.layout-premium_restaurant .photo-gallery,
  body.layout-calm_clinic .photo-gallery,
  body.layout-process_construction .photo-gallery,
  body.layout-resort_stay .photo-gallery,
  body.layout-expert_journal .photo-gallery,
  body.layout-local_action .photo-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  body.layout-premium_restaurant .photo-gallery figure:first-child,
  body.layout-calm_clinic .photo-gallery figure:first-child,
  body.layout-process_construction .photo-gallery figure:first-child,
  body.layout-resort_stay .photo-gallery figure:first-child,
  body.layout-expert_journal .photo-gallery figure:first-child,
  body.layout-local_action .photo-gallery figure:first-child{grid-row:auto;grid-column:span 2}
  body.layout-editorial_cafe .photo-gallery,
  body.layout-masonry_interior .photo-gallery,
  body.layout-wedding_gallery .photo-gallery{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  body.layout-editorial_cafe .photo-gallery figure,
  body.layout-masonry_interior .photo-gallery figure,
  body.layout-wedding_gallery .photo-gallery figure{grid-column:auto!important;grid-row:auto!important;margin-top:0!important}
}
@media(max-width:560px){
  body.client-body.premium-site .service-cards,
  body.layout-premium_restaurant .service-cards,
  body.layout-editorial_cafe .service-cards,
  body.layout-calm_clinic .service-cards,
  body.layout-clean_dental .service-cards,
  body.layout-masonry_interior .service-cards,
  body.layout-process_construction .service-cards,
  body.layout-academy_dash .service-cards,
  body.layout-resort_stay .service-cards,
  body.layout-product_split .service-cards,
  body.layout-expert_journal .service-cards,
  body.layout-wedding_gallery .service-cards,
  body.layout-local_action .service-cards{grid-template-columns:1fr}
  body.client-body.premium-site main>section:first-child{min-height:auto!important;padding-left:18px!important;padding-right:18px!important}
  body.client-body.premium-site main>section:first-child h1{font-size:clamp(40px,12vw,62px)!important;line-height:.98!important}
  body.client-body.premium-site .photo-gallery,
  body.layout-premium_restaurant .photo-gallery,
  body.layout-editorial_cafe .photo-gallery,
  body.layout-calm_clinic .photo-gallery,
  body.layout-clean_dental .photo-gallery,
  body.layout-masonry_interior .photo-gallery,
  body.layout-process_construction .photo-gallery,
  body.layout-academy_dash .photo-gallery,
  body.layout-resort_stay .photo-gallery,
  body.layout-product_split .photo-gallery,
  body.layout-expert_journal .photo-gallery,
  body.layout-wedding_gallery .photo-gallery,
  body.layout-local_action .photo-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:260px;gap:8px}
  body.client-body.premium-site .photo-gallery figure{grid-column:auto!important;grid-row:auto!important;margin:0!important}
  body.client-body.premium-site .client-contact{padding-bottom:88px}
}

@media(prefers-reduced-motion:no-preference){
  body.client-body.premium-site main>section:first-child h1,
  body.client-body.premium-site main>section:first-child p{
    animation:v27-premium-rise .65s cubic-bezier(.2,.75,.2,1) both;
  }
  body.client-body.premium-site main>section:first-child p{animation-delay:.08s}
  @keyframes v27-premium-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
