/* ==================================================================
   그로쓰위젯 (Growth Widgets) — 심도치과형 에디토리얼 레이아웃
   색상은 엘리멘토 Global Colors 를 따라간다:
     --gw-dark  = Primary   (다크 브랜드 — 다크 섹션 배경)
     --gw-soft  = Secondary (보조 — 연한 배경)
     --gw-ink   = Text      (본문)
     --gw-point = Accent    (포인트 — 강조·CTA·라인)
   ================================================================== */

/* ==================================================================
   v9.0 — 타이포 스케일 토큰 (정본은 gw.css, style.css 는 동일 사본)
   clamp(최소, 기준px + 기울기vw, 최대)
     · 최대값은 1920px 에서 심도치과 실측치에 닿도록 역산했다
       (작은 라벨 16 / 본문 19 / 큰 문장 33)
     · 제목 계열은 최대값 그대로, 최소값만 올렸다
     · 폰트용 미디어쿼리는 새로 만들지 않는다 — clamp 가 전부 처리한다
   사이트별 조정이 필요하면 자식 테마 style.css 가 아니라
   gw-widgets 핸들에 인라인 스타일을 얹어야 한다 (gw.css 가 나중에 로드됨):
     add_action('wp_enqueue_scripts', function(){
       wp_add_inline_style('gw-widgets', ':root{
  /* 다크 면 · 다크 위 포인트 —
     브랜드 그린(--gw-dark)은 강조용으로 남기고 넓은 면은 검정을 쓴다.
     진초록은 검정 위에서 거의 안 보이므로 다크 위 포인트는 밝은 초록을 따로 둔다. */
  --gw-ink-dark  : #00240f;   /* 피그마 실측 */
  --gw-point-lite: #6FC79B;
--t-body:clamp(17px,15.5px + .22vw,20px)}');
     }, 30);
   ================================================================== */
:root{
  /* 크기 */
  --t-micro  : clamp(13px,   12.6px + 0.10vw, 14.5px);
  --t-label  : clamp(14.5px, 13.0px + 0.21vw, 17.5px);
  --t-small  : clamp(16px,   14.5px + 0.23vw, 19px);
  --t-nav    : clamp(15.5px, 13.2px + 0.29vw, 18.5px);
  --t-body   : clamp(18px,   16.0px + 0.31vw, 22.5px);
  --t-card   : clamp(18.5px, 15.9px + 0.37vw, 23px);
  --t-lead   : clamp(19px,   15.8px + 0.39vw, 24px);
  --t-h5     : clamp(21px,   19.0px + 0.36vw, 26px);
  --t-h4     : clamp(24px,   14.2px + 1.15vw, 31px);
  --t-h3     : clamp(25px,   13.0px + 1.47vw, 36px);
  --t-h2     : clamp(27px,   13.2px + 1.92vw, 43px);
  --t-h1     : clamp(34px,   11.6px + 2.92vw, 55px);
  --t-display: clamp(38px,    4.6px + 4.20vw, 66px);

  /* 행간 — 글자가 커질수록 상대 행간은 좁아진다 */
  --lh-tight:1.30;
  --lh-head :1.42;
  --lh-title:1.50;
  --lh-body :1.75;
  --lh-loose:1.85;
  --lh-tiny :1.60;

  /* 한 줄 길이 — ch 라서 글자 크기를 따라 자란다 */

  /* ── 여백 (spacing) ─────────────────────────────────────────
     공백에 의미를 주려면 '가까운 것'과 '먼 것'의 차이가 커야 한다.
     한 덩어리 안은 바짝(2xs~sm), 덩어리 사이는 크게(lg~2xl) 벌린다. */
  --sp-2xs: 8px;                              /* 라벨↔값, 아이콘 간격 */
  --sp-xs : 14px;                             /* 카드 안쪽 */
  --sp-sm : clamp(20px, 2.2vw, 28px);         /* 문단 사이 */
  --sp-md : clamp(30px, 3.4vw, 48px);         /* 제목 → 본문 */
  --sp-lg : clamp(52px, 6vw, 88px);           /* 블록 → 블록 */
  --sp-xl : clamp(88px, 10vw, 150px);         /* 섹션 → 섹션 */
  --sp-2xl: clamp(112px, 13vw, 200px);        /* 장(章) 전환 · 다크 면 호흡 */

  --measure     :66ch;
  --measure-wide:78ch;
}

/* ---------- 공통 ---------- */
.gw-img{display:block;margin:0;overflow:hidden;background:var(--gw-soft)}
.gw-img img{display:block;width:100%;height:100%;object-fit:cover}
.gw-r-169{aspect-ratio:16/9}
.gw-r-1610{aspect-ratio:16/10}
.gw-r-32{aspect-ratio:3/2}
.gw-r-43{aspect-ratio:4/3}
.gw-r-34{aspect-ratio:3/4}
.gw-r-11{aspect-ratio:1/1}
.gw-r-916{aspect-ratio:9/16}
.gw-r-auto img{height:auto}
.gw-r-auto{aspect-ratio:auto}

/* 자료가 없는 자리 — 검정 박스로 자리만 잡는다 */
.gw-ph{position:relative;display:flex;align-items:center;justify-content:center;background:#101010;min-height:40px}
.gw-ph:not([class*="gw-r-"]){aspect-ratio:16/9}
.gw-ph span{font-size:var(--t-small);font-weight:600;letter-spacing:.16em;color:rgba(255,255,255,.5);text-transform:uppercase}
/* 영상 자리 — 아직 올리지 않은 영상은 재생 아이콘이 있는 홀더로 둔다.
   임상 사진을 영상 썸네일처럼 쓰지 않는다. */
.gw-ph.is-video{flex-direction:column;gap:16px;
  background:radial-gradient(120% 100% at 50% 0%,#1d2320 0%,#0c0f0d 70%)}
.gw-ph.is-video::before{content:"";width:clamp(52px,5vw,72px);aspect-ratio:1;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.32);
  background:no-repeat center/34% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,.62)'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}
.gw-ph.is-video span{font-size:var(--t-label);letter-spacing:.2em;color:rgba(255,255,255,.55)}
.gw-ph-fill{position:absolute;inset:0;aspect-ratio:auto}

.gw-dot{display:inline-block;width:14px;height:14px;border:1.6px solid currentColor;border-radius:50%;opacity:.75}

/* ---------- GW 메인 히어로 ---------- */
.gw-hero{position:relative;height:100vh;height:100svh;min-height:480px;color:#fff;overflow:hidden;display:flex;align-items:center}
.gw-hero-media{position:absolute;inset:0}
.gw-hero-media video,.gw-hero-media img{width:100%;height:100%;object-fit:cover}
.gw-hero-dim{position:absolute;inset:0;background:#0a0d0a;opacity:.35;pointer-events:none}
.gw-hero-inner{position:relative;z-index:2;width:min(1560px,92%);margin:0 auto;display:grid;grid-template-columns:1fr .9fr .9fr;gap:48px;align-items:center}
.gw-hero-brand{font-size:var(--t-display);font-weight:700;letter-spacing:-.02em}
.gw-hero-col{display:flex;flex-direction:column;gap:14px}
.gw-hero-en{font-size:var(--t-small);font-weight:700;letter-spacing:-.01em;margin:0}
.gw-hero-copy{font-size:var(--t-body);line-height:var(--lh-body);opacity:.92;margin:0}
.gw-hero-copy b{font-weight:700}
.gw-hero-links{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.gw-hero-links a{color:inherit;font-size:var(--t-small);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;width:fit-content}
.gw-hero-links a:hover{border-color:currentColor;color:inherit}
@media (max-width:1023.98px){
  .gw-hero-inner{grid-template-columns:1fr;gap:26px;align-content:end;padding-bottom:56px}
  .gw-hero{align-items:flex-end}
}

/* ---------- GW 에디토리얼 ---------- */
.gw-edit{padding:24px 0}
.gw-edit-eyebrow{display:block;font-size:var(--t-label);font-weight:700;letter-spacing:.02em;color:var(--gw-point);margin-bottom:26px}
.gw-edit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.gw-edit-title{margin:0;font-size:var(--t-h1);font-weight:600;letter-spacing:-.035em;line-height:1.45;color:var(--gw-ink)}
.gw-edit-side{display:flex;flex-direction:column;gap:14px}
.gw-edit-body{margin:0;max-width:var(--measure);font-size:var(--t-body);line-height:var(--lh-loose);color:inherit;opacity:.85}
@media (max-width:899.98px){ .gw-edit-grid{grid-template-columns:1fr;gap:22px} }

/* ---------- GW 이미지 · 영상 ---------- */
.gw-media video{width:100%;display:block;object-fit:cover}
.gw-media-cap{margin:12px 0 0;font-size:var(--t-small);letter-spacing:-.02em;opacity:.7}

/* ---------- GW 이미지 그리드 ---------- */
.gw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gw-grid-item{margin:0}
.gw-grid figcaption{margin-top:10px;font-size:var(--t-small);letter-spacing:-.02em;opacity:.75}
@media (max-width:767.98px){ .gw-grid{grid-template-columns:1fr !important} }

/* ---------- GW 다크 밴드 ---------- */
.gw-band{background:var(--gw-ink-dark);color:#fff;padding:clamp(48px,7vw,96px) clamp(20px,6vw,84px)}
.gw-band-eyebrow{display:block;font-size:var(--t-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.65;margin-bottom:16px}
.gw-band-title{margin:0 0 14px;font-size:var(--t-h2);font-weight:600;letter-spacing:-.03em;line-height:1.5}
.gw-band-body{margin:0 0 26px;font-size:var(--t-body);line-height:var(--lh-loose);opacity:.82;max-width:62ch}
.gw-band-main{margin-top:26px}
.gw-band-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:40px}
.gw-band-say h3{margin:0 0 10px;font-size:var(--t-h5);font-weight:700;letter-spacing:-.025em}
.gw-band-say p{margin:0;font-size:var(--t-body);line-height:var(--lh-body);opacity:.82}
@media (max-width:899.98px){ .gw-band-row{grid-template-columns:1fr;gap:18px} }

/* ---------- GW 치료 과정 ---------- */
.gw-steps{display:flex;flex-wrap:wrap;gap:12px}
.gw-step{flex:1 1 130px;min-width:130px;padding:18px 16px 20px;border:1px solid var(--gw-line);display:flex;flex-direction:column;gap:8px}
.gw-step .gw-img,.gw-step .gw-ph{margin:-18px -16px 10px;width:calc(100% + 32px)}
.gw-step b{font-size:var(--t-micro);font-weight:800;letter-spacing:.12em;color:var(--gw-point)}
.gw-step h3{margin:0;font-size:var(--t-card);font-weight:700;letter-spacing:-.03em;color:var(--gw-ink)}
.gw-step p{margin:0;font-size:var(--t-small);line-height:var(--lh-tiny);opacity:.7}
.gw-steps-note{margin:18px 0 0;font-size:var(--t-small);line-height:var(--lh-body);opacity:.65}

/* ---------- GW FAQ ---------- */
.gw-faq{display:grid;grid-template-columns:.55fr 1.45fr;gap:44px}
.gw-faq-h{margin:0;font-size:var(--t-card);font-weight:700;letter-spacing:.06em}
.gw-faq-list{border-top:1px solid var(--gw-line)}
.gw-faq-item{border-bottom:1px solid var(--gw-line)}
.gw-faq-q{display:flex;align-items:center;gap:16px;width:100%;padding:18px 4px;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.gw-faq-q b{font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;color:var(--gw-point)}
.gw-faq-q span{flex:1;font-size:var(--t-card);font-weight:600;letter-spacing:-.028em;color:var(--gw-ink)}
.gw-faq-q em{position:relative;width:12px;height:12px;flex:none}
.gw-faq-q em::before,.gw-faq-q em::after{content:"";position:absolute;left:0;top:5px;width:12px;height:1.6px;background:currentColor;transition:transform .25s}
.gw-faq-q em::after{transform:rotate(90deg)}
.gw-faq-item.open .gw-faq-q em::after{transform:rotate(0)}
.gw-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.gw-faq-a p{overflow:hidden;margin:0;font-size:var(--t-body);line-height:var(--lh-loose);opacity:.8}
.gw-faq-item.open .gw-faq-a{grid-template-rows:1fr}
.gw-faq-item.open .gw-faq-a p{padding:0 4px 20px}
@media (max-width:767.98px){ .gw-faq{grid-template-columns:1fr;gap:16px} }

/* ---------- GW 전 · 후 ---------- */
.gw-ba{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.gw-ba-item{margin:0;display:flex;flex-direction:column;gap:11px}
.gw-ba-pics{display:grid;gap:3px}
.gw-ba.is-h .gw-ba-pics{grid-template-columns:1fr 1fr}
.gw-ba-pic{position:relative;display:block}
.gw-ba-pic i{position:absolute;left:0;bottom:0;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;background:rgba(12,12,12,.74);color:#fff}
.gw-ba i.is-after{background:var(--gw-point)}
.gw-ba figcaption{font-size:var(--t-small);letter-spacing:-.025em;line-height:1.6;opacity:.85}
@media (max-width:1023.98px){ .gw-ba{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .gw-ba{grid-template-columns:1fr !important} }

/* ---------- GW 게시물 ---------- */
.gw-posts.is-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 22px}
.gw-post a{display:block;color:inherit;text-decoration:none}
.gw-post .gw-img,.gw-post .gw-ph{margin-bottom:14px}
.gw-post-title{margin:0 0 7px;font-size:var(--t-card);font-weight:600;letter-spacing:-.03em;line-height:1.5;color:var(--gw-ink)}
.gw-post time{font-size:var(--t-micro);opacity:.55;letter-spacing:.02em}
.gw-posts.is-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--gw-ink)}
.gw-posts.is-list li{border-bottom:1px solid var(--gw-line)}
.gw-posts.is-list li.is-pin{background:var(--gw-soft)}
.gw-posts.is-list a{display:flex;align-items:center;gap:14px;padding:17px 12px;color:inherit;text-decoration:none;transition:background .2s}
.gw-posts.is-list a:hover{background:var(--gw-soft)}
.gw-post-pin{font-style:normal;flex:none;background:var(--gw-point);color:#fff;font-size:var(--t-micro);font-weight:700;padding:3px 8px;letter-spacing:.05em}
.gw-posts.is-list .gw-post-title{flex:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-posts.is-list time{flex:none}
.gw-posts-empty{padding:36px 0;text-align:center;font-size:var(--t-body);opacity:.6}
.gw-posts.is-list a{padding:19px 12px;gap:16px;font-size:var(--t-body)}
.gw-posts.is-list .gw-post-cat{flex:none;margin:0;min-width:104px;font-size:var(--t-small);color:var(--gw-ink);opacity:.5}
.gw-posts.is-list .gw-post-title{font-size:var(--t-card)}
.gw-posts.is-list time{font-size:var(--t-micro);opacity:.5}
@media (max-width:1023.98px){ .gw-posts.is-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){
  .gw-posts.is-grid{grid-template-columns:1fr !important}
  /* 좁은 화면에서는 [고정][분류] / 제목 / 날짜 세 줄로 쌓는다 */
  .gw-posts.is-list a{flex-wrap:wrap;align-items:flex-start;gap:7px 10px;padding:17px 10px}
  .gw-posts.is-list .gw-post-title{flex:1 0 100%;order:2;white-space:normal;overflow:visible;text-overflow:clip}
  .gw-posts.is-list .gw-post-cat{order:1;min-width:0}
  .gw-posts.is-list .gw-post-pin{order:0}
  .gw-posts.is-list time{order:3}
}

/* ---------- GW 원장 프로필 ---------- */
.gw-prof{display:grid;grid-template-columns:.5fr 1.5fr 1fr;gap:48px;align-items:start}
.gw-prof-menu{display:flex;flex-direction:column;gap:12px;font-size:var(--t-small);letter-spacing:-.02em;opacity:.8}
.gw-prof-en{display:block;font-size:var(--t-small);font-weight:700;letter-spacing:.02em;margin-bottom:14px}
.gw-prof-name{margin:0 0 34px;font-size:clamp(34px,4.6vw,60px);font-weight:600;letter-spacing:.22em;color:var(--gw-ink)}
.gw-prof-name i{font-style:normal;font-size:.38em;letter-spacing:0;font-weight:600;opacity:.75}
.gw-prof-career{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.gw-prof-career li{font-size:var(--t-small);letter-spacing:-.02em;line-height:1.6;opacity:.85}
@media (max-width:1023.98px){
  .gw-prof{grid-template-columns:1fr;gap:26px}
  .gw-prof-menu{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
}

/* ---------- GW 예약 CTA ---------- */
.gw-cta{background:var(--gw-ink-dark);color:#fff;padding:clamp(44px,6vw,80px) clamp(20px,6vw,84px);display:grid;gap:30px}
.gw-cta h2{margin:0 0 8px;font-size:var(--t-h2);font-weight:700;letter-spacing:-.035em}
.gw-cta-say p{margin:0;max-width:var(--measure);font-size:var(--t-body);opacity:.72}
.gw-cta-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gw-cta-btn{display:flex;align-items:center;gap:13px;padding:19px 21px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;transition:background .2s}
.gw-cta-btn:hover{background:rgba(255,255,255,.14);color:#fff}
.gw-cta-btn b{font-size:var(--t-h5);font-weight:900;color:#03C75A}
.gw-cta-btn.is-naver{background:#03C75A;border-color:#03C75A}
.gw-cta-btn.is-naver b{color:#fff}
.gw-cta-btn span{font-size:var(--t-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.gw-cta-btn em{font-style:normal;font-size:var(--t-body);font-weight:600;letter-spacing:-.02em;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-cta-btn.is-naver span{opacity:1;font-size:var(--t-small);letter-spacing:-.01em;text-transform:none}
@media (max-width:899.98px){ .gw-cta-acts{grid-template-columns:1fr} }

/* ---------- GW 빅 타이포 푸터 ---------- */
/* ---------- 푸터 : 검정 바탕 · 흰 글씨 · 초록은 포인트로만 ---------- */
.gw-foot{background:var(--gw-ink-dark);color:#fff;padding:var(--sp-xl) clamp(20px,6vw,84px) var(--sp-sm)}
.gw-foot-in{width:min(1280px,100%);margin:0 auto}
.gw-foot-top{display:grid;grid-template-columns:minmax(240px,.85fr) 2.15fr;gap:var(--sp-lg);
  padding-bottom:var(--sp-lg)}
.gw-foot-name{margin:0 0 14px;font-size:var(--t-h5);font-weight:700;letter-spacing:-.03em;color:#fff}
.gw-foot-tel{margin:0 0 20px}
.gw-foot-tel a{font-size:var(--t-h4);font-weight:700;letter-spacing:-.01em;color:#fff;text-decoration:none}
.gw-foot-tel a:hover{color:var(--gw-point)}
.gw-foot-book{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;
  border:1px solid rgba(255,255,255,.3);font-size:var(--t-small);font-weight:600;color:#fff;
  text-decoration:none;transition:background .2s,border-color .2s}
.gw-foot-book svg{width:14px;height:14px}
.gw-foot-book:hover{background:#fff;border-color:#fff;color:#111110}
.gw-foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.gw-foot-col h3{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.18);
  font-size:var(--t-label);font-weight:700;letter-spacing:.02em;color:#fff}
.gw-foot-col p{margin:0 0 8px;font-size:var(--t-small);line-height:var(--lh-body);color:#fff;opacity:.78}
.gw-foot-col p.is-dim{opacity:.5}
.gw-foot-hours{margin:0;display:flex;flex-direction:column;gap:9px}
.gw-foot-hours > div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.gw-foot-hours dt{flex:none;font-size:var(--t-small);color:#fff;opacity:.55}
.gw-foot-hours dt em{font-style:normal;margin-left:5px;padding:2px 6px;background:var(--gw-point);
  color:#fff;font-size:.78em;font-weight:700;letter-spacing:.02em;opacity:1}
.gw-foot-hours dd{margin:0;font-size:var(--t-small);color:#fff;font-variant-numeric:tabular-nums}
.gw-foot-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.gw-foot-links a,.gw-foot-more{font-size:var(--t-small);color:#fff;opacity:.78;text-decoration:none;
  transition:opacity .2s,color .2s}
.gw-foot-more{display:inline-flex;align-items:center;gap:6px}
.gw-foot-more svg{width:13px;height:13px}
.gw-foot-links a:hover,.gw-foot-more:hover{opacity:1;color:var(--gw-point)}
.gw-foot-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;
  padding-top:clamp(20px,2.5vw,28px);border-top:1px solid rgba(255,255,255,.14)}
.gw-foot-brand{min-width:0}
.gw-foot-bar p{margin:0;font-size:var(--t-micro);color:#fff;opacity:.45;letter-spacing:.01em}
.gw-foot-biz{text-align:left}
.gw-foot-copy{text-align:right}
@media (max-width:639.98px){
  .gw-foot-bar{flex-direction:column;align-items:flex-start;gap:6px}
  .gw-foot-biz,.gw-foot-copy{text-align:left}
}
@media (max-width:899.98px){
  .gw-foot-top{grid-template-columns:1fr;gap:34px}
  .gw-foot-cols{grid-template-columns:1fr;gap:28px}
}

/* ---------- GW 페이지 인트로 (위젯판 — 테마와 같은 클래스) ---------- */
.gw-intro{padding:var(--sp-lg) 0 0}
.gw-intro-wrap{width:min(1280px,92%);margin:0 auto}
.gw-intro-label{display:block;font-size:var(--t-label);font-weight:700;letter-spacing:.02em;color:var(--gw-ink);margin-bottom:var(--sp-md)}
.gw-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-lg);align-items:start;margin-bottom:var(--sp-lg)}
.gw-intro-grid h1{margin:0;font-size:var(--t-h1);font-weight:600;letter-spacing:-.038em;line-height:1.45;color:var(--gw-ink)}
.gw-intro-grid h1 em,.gw-intro-grid h1 i{font-style:normal;color:inherit}
.gw-intro-side{display:flex;flex-direction:column;gap:14px}
.gw-intro-side p{margin:0;font-size:var(--t-body);line-height:var(--lh-loose);color:var(--gw-ink);opacity:.8}
.gw-intro-photo{margin:0}
@media (max-width:899.98px){ .gw-intro-grid{grid-template-columns:1fr;gap:20px} }

/* ---------- GW 이미지 + 텍스트 ---------- */
.gw-mt{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:center}
.gw-mt.is-flip .gw-mt-ph{order:2}
.gw-mt-eyebrow{display:block;font-size:var(--t-label);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-point);margin-bottom:12px}
.gw-mt-say h2{margin:0 0 12px;font-size:var(--t-h3);font-weight:600;letter-spacing:-.035em;line-height:1.5;color:var(--gw-ink)}
.gw-mt-body{margin:0;max-width:var(--measure);font-size:var(--t-body);line-height:var(--lh-loose);opacity:.8}
.gw-mt-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.gw-mt-list li{position:relative;padding-left:18px;font-size:var(--t-small);line-height:var(--lh-tiny);opacity:.8}
.gw-mt-list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border:1.5px solid var(--gw-point);border-radius:50%}
.gw-mt-more{display:inline-block;margin-top:20px;font-size:var(--t-small);font-weight:600;color:var(--gw-ink);text-decoration:none;border-bottom:1px solid var(--gw-line);padding-bottom:4px;transition:color .2s,border-color .2s}
.gw-mt-more:hover{color:var(--gw-point);border-color:var(--gw-point)}
@media (max-width:899.98px){ .gw-mt{grid-template-columns:1fr;gap:20px} .gw-mt.is-flip .gw-mt-ph{order:0} }

/* ---------- GW 특징 그리드 ---------- */
.gw-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.gw-feat{display:flex;flex-direction:column;gap:8px}
.gw-feat .gw-img,.gw-feat .gw-ph{margin-bottom:6px}
.gw-feat h3{margin:0;font-size:var(--t-card);font-weight:700;letter-spacing:-.028em;color:var(--gw-ink)}
.gw-feat p{margin:0;font-size:var(--t-small);line-height:var(--lh-tiny);opacity:.7}
@media (max-width:899.98px){ .gw-feats{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .gw-feats{grid-template-columns:1fr !important} }

/* ---------- GW 로그인 ---------- */
.gw-login{background:var(--gw-ink-dark);color:#fff;padding:var(--sp-2xl) clamp(20px,6vw,84px);text-align:center}
.gw-login h2{margin:0 0 18px;font-size:var(--t-h1);font-weight:700;letter-spacing:-.02em}
.gw-login .gw-dot{color:rgba(255,255,255,.6)}
.gw-login-hello{margin:14px 0 30px;max-width:var(--measure);font-size:var(--t-body);opacity:.75}
.gw-login-form{max-width:520px;margin:0 auto;text-align:left}
.gw-login-form form p{margin:0 0 26px}
.gw-login-form label{display:none}
.gw-login-form input[type=text],.gw-login-form input[type=password]{width:100%;padding:15px 16px;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.45);color:#fff;font:inherit;font-size:var(--t-body);padding:12px 2px}
.gw-login-form input[type=text]::placeholder,.gw-login-form input[type=password]::placeholder{color:rgba(255,255,255,.5)}
.gw-login-form input[type=text]:focus,.gw-login-form input[type=password]:focus{outline:none;border-bottom-color:#fff}
.gw-login-form input[type=submit]{width:100%;padding:16px;background:rgba(255,255,255,.42);border:0;color:#fff;font:inherit;font-size:var(--t-body);font-weight:700;cursor:pointer;transition:background .2s}
.gw-login-form input[type=submit]:hover{background:rgba(255,255,255,.6)}
.gw-login-links{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.gw-login-links a{color:rgba(255,255,255,.7);font-size:var(--t-small);text-decoration:none}
.gw-login-links a:hover{color:#fff}
.gw-login-done{font-size:var(--t-body);text-align:center}
.gw-login-out{display:block;text-align:center;margin-top:10px;color:rgba(255,255,255,.7);font-size:var(--t-small)}

/* ---------- GW 게시물 검색 (A-02 420×60) ---------- */
.gw-search{display:flex;gap:0;max-width:420px;margin:0 0 26px;border:1px solid var(--gw-line);background:var(--gw-paper)}
.gw-search input[type=search]{flex:1;min-width:0;padding:16px 18px;border:0;background:none;font:inherit;font-size:var(--t-body);color:var(--gw-ink)}
.gw-search input[type=search]:focus{outline:none}
.gw-search button{flex:none;padding:0 22px;border:0;background:var(--gw-dark);color:#fff;font:inherit;font-size:var(--t-small);font-weight:700;cursor:pointer;transition:background .2s}
.gw-search button:hover{background:var(--gw-point)}

/* ---------- 순수 영상 히어로 (문구 없음 · 심도 인트로형) ---------- */
.gw-hero.is-pure{background:#0a0d0a}
.gw-hero.is-pure .gw-hero-media::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;
  background:linear-gradient(to top,rgba(10,13,10,.42),transparent);pointer-events:none}
.gw-hero-scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;
  width:30px;height:48px;border:1.6px solid rgba(255,255,255,.55);border-radius:16px;display:flex;justify-content:center}
.gw-hero-scroll span{width:3px;height:9px;margin-top:9px;border-radius:2px;background:#fff;opacity:.85;
  animation:gwScroll 1.8s ease-in-out infinite}
@keyframes gwScroll{0%{transform:translateY(0);opacity:.85}60%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}}
@media (prefers-reduced-motion:reduce){ .gw-hero-scroll span{animation:none} }

/* ---------- GW 라벨 이미지 그리드 (심도 상세 시그니처) ---------- */
.gw-lab{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-sm)}
.gw-lab-cell{margin:0}
.gw-lab-item{position:relative;display:block;background:#000;overflow:hidden}
.gw-lab-item.is-pad .gw-img,.gw-lab-item.is-pad .gw-ph{margin:0}
.gw-lab-item .gw-img img{transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.gw-lab-item:hover .gw-img img{transform:scale(1.04)}
.gw-lab-tag{position:absolute;left:14px;top:12px;z-index:2;font-size:var(--t-label);font-weight:600;letter-spacing:-.02em;
  color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.gw-lab figcaption{margin-top:11px;font-size:var(--t-small);line-height:var(--lh-tiny);letter-spacing:-.02em;color:var(--gw-ink);opacity:.7}
@media (max-width:767.98px){ .gw-lab{grid-template-columns:1fr !important} }

/* ---------- GW 질문 블록 ---------- */
.gw-ask-q{margin:0 0 var(--sp-lg);font-size:var(--t-h3);font-weight:500;
  letter-spacing:-.035em;line-height:1.65;color:var(--gw-ink)}
.gw-ask-row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,56px);align-items:start}
.gw-ask-pics{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gw-ask-body{margin:0;max-width:var(--measure);font-size:var(--t-body);line-height:var(--lh-loose);color:var(--gw-ink);opacity:.82}
@media (max-width:899.98px){ .gw-ask-row{grid-template-columns:1fr;gap:22px} }

/* ---------- GW 문장 블록 ---------- */
.gw-stmt{padding:var(--sp-xl) 0}
.gw-stmt.is-dark{background:var(--gw-ink-dark);color:#fff;padding-left:clamp(20px,6vw,84px);padding-right:clamp(20px,6vw,84px)}
.gw-stmt-in{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-lg);align-items:start;
  width:min(1280px,100%);margin:0 auto}
.gw-stmt.is-dark .gw-stmt-in{width:min(1280px,100%)}
.gw-stmt-eyebrow{display:block;margin-bottom:12px;font-size:var(--t-label);font-weight:700;letter-spacing:.02em;opacity:.7}
.gw-stmt-title{margin:0;font-size:var(--t-h3);font-weight:500;letter-spacing:-.035em;line-height:1.7;color:inherit}
.gw-stmt.is-dark .gw-stmt-title{color:#fff}
.gw-stmt-body{display:flex;flex-direction:column;gap:16px}
.gw-stmt-body p{margin:0;max-width:var(--measure);font-size:var(--t-body);line-height:var(--lh-loose);opacity:.84}
@media (max-width:899.98px){ .gw-stmt-in{grid-template-columns:1fr;gap:20px} }

/* ---------- GW 임상 전후 비교 (심도 치료사례) ---------- */
.gw-cmp{padding:var(--sp-xl) 0 var(--sp-lg)}
.gw-cmp.is-dark{background:var(--gw-ink-dark);color:#fff}
.gw-cmp-head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,56px);align-items:start;
  width:min(1560px,92%);margin:0 auto clamp(30px,4vw,52px)}
.gw-cmp-title{margin:0;font-size:var(--t-h4);font-weight:500;letter-spacing:-.032em;line-height:1.6;color:inherit}
.gw-cmp-body{margin:0;max-width:var(--measure);font-size:var(--t-body);line-height:var(--lh-loose);opacity:.85}
.gw-cmp-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,26px);width:min(1560px,92%);margin:0 auto}
.gw-cmp-pic{position:relative;margin:0;background:#000;overflow:hidden}
.gw-cmp-pic .gw-img,.gw-cmp-pic .gw-ph{margin:0}
.gw-cmp-pic figcaption{position:absolute;right:16px;bottom:14px;z-index:2;font-size:var(--t-small);font-weight:600;
  letter-spacing:.12em;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.gw-cmp-notice{width:min(1560px,92%);margin:clamp(18px,2.5vw,30px) auto 0;font-size:var(--t-label);line-height:var(--lh-body);
  letter-spacing:-.02em;opacity:.62}
@media (max-width:899.98px){
  .gw-cmp-head{grid-template-columns:1fr;gap:16px}
  .gw-cmp-pair{grid-template-columns:1fr;gap:8px}
}

/* 검정 면 위의 초록 포인트 — 진초록은 안 보이므로 밝은 쪽을 쓴다 */
.gw-stmt.is-dark .gw-stmt-eyebrow,
.gw-band-eyebrow{color:var(--gw-point-lite);opacity:1}
.gw-foot-hours dt em{background:none;padding:0;color:var(--gw-point-lite);font-weight:700}
.gw-foot-tel a:hover,.gw-foot-links a:hover,.gw-foot-more:hover{color:var(--gw-point-lite)}

/* 인트로 영상은 2.09:1 이고 자막이 화면에 구워져 있다.
   좁은 화면에서 object-fit:cover 를 쓰면 가로가 22% 만 보여 자막이 잘리므로
   전체 프레임을 보여준다. 다만 이 전환을 세로비만 보고 걸면
   "가로는 넓은데 세로로 긴 창"에서도 걸려 위아래로 검은 여백이 크게 남는다.
   그래서 실제로 잘림이 문제가 되는 좁은 화면(≤900px)에서만 바꾼다. */
@media (max-aspect-ratio: 5/4) and (max-width: 900px){
  .gw-hero.is-pure{height:auto;min-height:0;padding:var(--sp-md,48px) 0;align-items:center}
  .gw-hero.is-pure .gw-hero-media{position:relative;inset:auto}
  .gw-hero.is-pure .gw-hero-media video,
  .gw-hero.is-pure .gw-hero-media img{height:auto;object-fit:contain}
  .gw-hero.is-pure .gw-hero-media::after{display:none}
}

/* ==================================================================
   엘리멘토로 옮긴 늘푸른 섹션 — 위 여백 보정                (v1.7.0)

   테마는 섹션 간격을 형제 선택자(.fig-sec + .fig-sec 등)로 잡는데,
   엘리멘토는 위젯마다 <div> 로 한 겹 감싸서 형제 관계가 끊어진다.
   그래서 렌더 순서를 보고 PHP 가 붙여 준 클래스로 같은 값을 준다.
   (gw.css 는 테마 style.css 뒤에 실리므로 같은 특정도로도 이긴다)
   ================================================================== */
.fig-sec.gw-pt0,
.hb-sec.gw-pt0{padding-top:0}
.fig-sec.gw-pt-xl,
.fig-xl.gw-pt-xl{padding-top:var(--sp-xl)}
.cl-sec.gw-pt-2xl{padding-top:var(--sp-2xl)}

/* 감싸개가 폭이나 여백을 건드리지 않게 한다 */
.elementor-widget-container > .fig-sec,
.elementor-widget-container > .fig-xl,
.elementor-widget-container > .hb-sec,
.elementor-widget-container > .hb-say,
.elementor-widget-container > .cl-sec,
.elementor-widget-container > .dr2-sec,
.elementor-widget-container > .dr2-intro,
.elementor-widget-container > .lb-page,
.elementor-widget-container > .gw-hero{width:100%;max-width:none}

/* 변환된 페이지의 감싸개 — 엘리멘토 기본 여백·최대폭을 무력화한다.
   섹션의 여백은 위젯 자신(.fig-sec 등)이 갖고 있어야 화면이 원래대로 나온다. */
.gw-sec-wrap,
.gw-sec-wrap > .elementor-container,
.gw-sec-wrap > .elementor-container > .elementor-column,
.gw-sec-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap,
.gw-sec-wrap > .elementor-widget-wrap{
	max-width:none;width:100%;
	padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;
	margin-left:0;margin-right:0;
}
.gw-sec-wrap > .elementor-container{display:block}
.gw-sec-wrap .elementor-widget:not(:last-child){margin-bottom:0}
