/* ☠ 지어진 파일이다. 손으로 고치지 말 것 —
   python3 _templates/L12-바른선/디자인_파이널_2026-10-04/짓기.py 랜딩
   ★ 파이널 디자인의 <style> 을 «글자 그대로» 싣는다. 옮겨 적는 자리가 없어야 안 샌다. */

/* ── 스며듦 막이(_templates/_공통부품/스며듦막이.py 가 넣음) ──
   ☠ 이 블록을 지우면 «모든» 칸이 조금씩 어긋난다 — 눈으로는 「비슷한데?」로 보인다.
   ★ 갈래를 더하려면 그 파일에 더한다. 판마다 베끼지 않는다. */
/* [바탕] 처음 나온 판: L3 살롱드블랑 */
/* 사이트 바탕이 15px/1.7 이다. 디자인은 브라우저 기본(16px/normal)을 전제로 그려졌다.
   실측 2026-09-07(살롱드블랑): 줄높이 217곳 · 글자 크기 205곳 · 정렬 34곳 · 여백 22곳이
   이 «하나» 때문에 어긋났다. 눈으로는 「비슷한데?」로 보인다. */
html{ font-size: 16px; }
body{ font-size: 16px; line-height: normal; }
/* [figure] 처음 나온 판: L2 에코헤리티지 */
/* 워드프레스가 figure/figcaption 에 제 모양을 준다(가운데 정렬·회색 글자·위아래 여백).
   디자인의 figcaption 은 «한 줄 flex» 라 그대로 두면 글이 가운데로 몰리고 줄이 벌어진다. */
figure{ margin: 0; }
figcaption{ margin: 0; text-align: inherit; color: inherit; font-size: inherit; }
/* [제목] 처음 나온 판: L3 살롱드블랑 */
/* 묶음 시트의 `h3,h4{line-height:1.4}` 가 제목을 누른다.
   실측 2026-09-08(landing-03): 40.8px → 33.6px. 제목 3곳 + 그 안의 번호 span 6곳 = 9곳.
   디자인의 제목은 줄높이를 «따로 안 주고» body 를 물려받는다. 그 자리로 되돌린다. */
h1,h2,h3,h4,h5,h6{ line-height: inherit; }
/* [단추] 처음 나온 판: L2 에코헤리티지 */
/* 묶음 시트가 <button> 의 브라우저 기본값을 지운다 —
   `button{padding:0}` 과 `button,input,…{text-align:inherit}`.
   실측 2026-09-08(landing-02): 「관심고객 등록」 글자가 왼쪽에 붙었다(대표 지적).
   디자인은 기본값(가운데 정렬 · 안여백 1px 6px)을 «그대로 쓰는» 자리가 있다. */
button{ text-align: center; padding: 1px 6px; }
/* [라벨] 처음 나온 판: L2 에코헤리티지 · 색은 L7 볕들목 */
/* 사이트 CSS 가 <label> 에 굵기를 준다. 실측 2026-09-08(landing-02):
   form 은 300 인데 label 부터 400 으로 뛰어, 그 안의 span·button 넷이 다 굵게 나왔다.
   label 은 브라우저 기본값이 «없다»(물려받는다). 그 자리로 되돌린다.

   ☠ 2026-09-09(landing-07) — «색»도 같은 자리였다.
      Bricks 의 frontend-layer.min.css 에 `label{color:var(--bricks-text-light)}` 가 있다.
      인라인 color 가 «없는» 라벨(동의 체크박스 하나)만 회색 rgb(158,158,158) 으로 그려졌다.
      A(파이널정적)에는 Bricks CSS 가 없어서 안 보였다 — 배포한 «뒤»에만 나는 자리다.

   ☠ 2026-09-09(landing-07) 또 하나 — «아래 여백»도 사이트가 준다(label{margin-bottom:5px}).
      브라우저 기본은 0 이다. 폼 한 줄이 5px 씩 밀려 구획 높이가 튀었다(65 → 70). */
label{ font-weight: inherit; color: inherit; margin: 0; }
/* [인용] 처음 나온 판: L5 한뼘학원 */
/* blockquote 에 걸린 서체가 자식까지 물려간다.
   실측 2026-09-08(landing-05): 후기 인용 안 글자 6곳이 georgia 로 그려졌다. */
blockquote{ font-family: inherit; font-style: inherit; }

/* ── Bricks 가 요소에 얹는 기본 모양 지우기(짓기가 넣음) ── */

/* ☠☠ Bricks 는 shortcode 를 «div 로 감싼다». 그 div 가 격자·줄의 «한 칸»이 되어
   안의 것이 통째로 한 칸에 들어간다 — L3 에서 디자이너 카드 넷이 전폭으로 쌓였다
   (대표 지적 2026-09-07 · 실측 「칸 none · 4줄 · 폭 1120」).
   ★ display:contents 로 감싼 상자를 없애 «안의 것이 직접» 칸이 되게 한다.
   ⚠ 그래서 이 상자에는 바탕·테두리·여백을 주면 안 된다. 우리 부품은 다 비어 있다. */
.brxe-shortcode, .exs-shortcode{ display: contents; }

/* ☠☠ Bricks 는 요소마다 `max-width:100%` 를 건다.
   파이널에는 «음수 여백으로 넓히는» 줄이 있어(진료시간표의 점심시간 줄: margin:0 -16px)
   그 줄이 32px 좁아진다 — 실측 2026-09-07: 본체 500 vs 랜딩 468.
   ☠ 눈으로는 「조금 좁네?」로만 보이고, 인라인 style 은 «양쪽이 똑같아» 원인이 안 보인다.
     class 를 떼 보고서야 드러났다.
   ★ 폭은 파이널 마크업이 정한다. Bricks 의 상한을 푼다. */
.brxe-div, .exs-div, .brxe-text-basic, .exs-text-basic{ max-width: none; }

/* 사진은 Bricks 가 inline-block 으로 두지만 파이널이 제 값을 갖고 있다 */
.brxe-image, .exs-image{ display: revert; margin: revert; }

/* ── 디자인 원본이 들고 온 바탕(@keyframes 포함) ── */
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:#F6F7F2;color:#262A24;font-family:Pretendard,"Apple SD Gothic Neo",-apple-system,sans-serif;font-weight:400;font-size:17px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
img{display:block;max-width:100%}
a{color:#3F5545}
input,select,textarea,button{font:inherit;color:inherit}
input::placeholder,textarea::placeholder{color:#7B8275}
:focus-visible{outline:2px solid #3F5545;outline-offset:3px}
h1,h2,h3{margin:0;font-weight:500;text-wrap:balance}
p{margin:0}
.bs-page{background:#F6F7F2;overflow-x:clip}
.bs-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.bs-sec{padding:clamp(80px,9vw,136px) 0}
.bs-h2{font-size:clamp(32px,3.2vw,44px);line-height:1.28;letter-spacing:-0.03em}
.bs-body{max-width:34em;color:#262A24}
.bs-sub{color:#5F665A}
.bs-small{font-size:14px;line-height:1.7;color:#5F665A}
.bs-num{font-variant-numeric:tabular-nums}
.bs-intro{display:flex;flex-direction:column;gap:20px;max-width:640px}
.bs-eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:0.06em;color:#3F5545}
.bs-eyebrow::before{content:"";width:28px;height:1px;background:#3F5545;flex:none}
.bs-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px clamp(32px,5vw,72px);align-items:end}
.bs-split .bs-intro{max-width:none}
.bs-split > .bs-body{color:#5F665A}
.bs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid #3F5545;background:#3F5545;color:#FFFFFF;font-weight:600;font-size:16px;line-height:1.3;text-decoration:none;text-align:center;cursor:pointer;transition:background-color 200ms ease-out,border-color 200ms ease-out,color 200ms ease-out,transform 120ms ease-out}
.bs-btn:hover{background:#262A24;border-color:#262A24;color:#FFFFFF}
.bs-btn:active{transform:translateY(1px)}
.bs-btn-line{background:transparent;color:#3F5545}
.bs-btn-line:hover{background:#3F5545;border-color:#3F5545;color:#FFFFFF}
.bs-link{display:inline-flex;align-items:center;min-height:44px;color:#3F5545;font-weight:600;font-size:16px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:color 200ms ease-out}
.bs-link:hover{color:#262A24}
.bs-link:active{transform:translateY(1px)}
.bs-photo{margin:0;overflow:hidden;border-radius:4px;background:#EAEFDF}
.bs-photo img{width:100%;height:100%;object-fit:cover}

/* 0 머리 */
.bs-head{position:sticky;top:0;z-index:30;background:#F6F7F2;border-bottom:1px solid #D5DACB}
.bs-head-in{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px);height:68px;display:flex;align-items:center;gap:24px}
.bs-brand{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:18px;letter-spacing:-0.01em;color:#262A24;text-decoration:none;white-space:nowrap}
.bs-nav{flex:1;display:flex;align-items:center;gap:clamp(16px,2.6vw,36px)}
.bs-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:#262A24;font-size:15px;text-decoration:none;white-space:nowrap;transition:color 200ms ease-out}
.bs-nav a:hover{color:#3F5545;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.bs-nav a:first-child{margin-left:auto}
.bs-nav a.bs-cta{margin-left:auto;padding:0 22px;border-radius:999px;background:#3F5545;color:#FFFFFF;font-weight:600}
.bs-nav a.bs-cta:hover{background:#262A24;color:#FFFFFF;text-decoration:none}
@media (max-width:600px){.bs-nav a.bs-cta .bs-long{display:none}}

/* 1 첫 화면 */
.bs-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:clamp(560px,calc(100svh - 69px),780px)}
.bs-hero-text{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:64px clamp(24px,3.4vw,48px) 64px max(clamp(16px,4vw,40px),calc((100vw - 1200px) / 2 + 40px))}
.bs-hero-brand{font-size:15px;font-weight:600;letter-spacing:0.02em;color:#3F5545}
.bs-h1{font-size:clamp(34px,3.65vw,52px);line-height:1.22;letter-spacing:-0.03em;word-break:keep-all;text-wrap:balance}
.bs-hero-lead{max-width:30em;color:#5F665A}
.bs-hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.bs-chip{align-self:flex-start;font-size:15px;font-weight:600;color:#262A24;padding:8px 16px;border:1px solid #D5DACB;border-radius:999px;font-variant-numeric:tabular-nums}
.bs-hero-photo{margin:0;position:relative;overflow:hidden;border-bottom-left-radius:4px;background:#EAEFDF}
.bs-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% 50%}

/* 2 시작점 */
.bs-starts{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);align-items:start}
.bs-starts li{display:flex;flex-direction:column;gap:18px}
.bs-starts li:nth-child(2){margin-top:clamp(0px,5vw,72px)}
.bs-starts .bs-photo{aspect-ratio:4/5}
.bs-start-text{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid #C9D0BD}
.bs-start-line{font-size:21px;font-weight:500;line-height:1.45;letter-spacing:-0.02em}
.bs-start-to{font-size:14px;font-weight:600;color:#3F5545}
.bs-aside{margin-top:clamp(48px,6vw,80px);padding-top:20px;border-top:1px solid #D5DACB;font-size:15px;color:#5F665A;max-width:34em}

/* 3 수업 방식 */
.bs-class{border-top:1px solid #D5DACB}
.bs-kinds{margin-top:clamp(48px,6vw,80px);display:flex;flex-direction:column;gap:clamp(56px,7vw,112px)}
.bs-kind{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.bs-kind .bs-photo{grid-column:1 / span 7;aspect-ratio:3/2}
.bs-kind-text{grid-column:9 / span 4;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.bs-kind:nth-child(even) .bs-photo{grid-column:6 / span 7;grid-row:1}
.bs-kind:nth-child(even) .bs-kind-text{grid-column:1 / span 4;grid-row:1}
.bs-kind .bs-h3{font-size:clamp(26px,2.4vw,32px)}
.bs-kind .bs-meta{align-self:stretch;padding:12px 0;border-top:1px solid #C9D0BD;border-bottom:1px solid #C9D0BD;font-size:15px;color:#3F5545}
.bs-kind .bs-body{color:#3E443B}
.bs-h3{font-size:26px;line-height:1.35;letter-spacing:-0.02em}
.bs-meta{font-size:14px;font-weight:600;color:#5F665A;font-variant-numeric:tabular-nums}

/* 3-1 수업 짜임 · 단계 (#971) */
.bs-method{margin-top:clamp(64px,8vw,112px);padding-top:clamp(32px,4vw,48px);border-top:1px solid #D5DACB;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,40px) clamp(32px,5vw,72px);align-items:start}
.bs-method-col{display:flex;flex-direction:column;gap:12px}
.bs-method .bs-steps{margin-top:4px}
.bs-method-note{grid-column:1 / -1;margin-top:0;border-top:0;padding:18px 22px;border-radius:6px;background:#EAEFDF;color:#3E443B;font-size:15px;max-width:none}
.bs-start-do{font-size:15px;line-height:1.6;color:#5F665A}

/* 4 처음 오는 날 */
.bs-first{background:#EAEFDF}
.bs-first-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:start}
.bs-first-pics{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.bs-first-stack{position:relative;padding-bottom:clamp(40px,5vw,72px)}
.bs-first-stack > .bs-photo:not(.bs-first-socks){aspect-ratio:1/1;width:88%}
.bs-first-socks{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:1/1;border:6px solid #EAEFDF;border-radius:6px}
.bs-first-pics .bs-small{padding-left:2px}
.bs-first-body{display:flex;flex-direction:column;gap:20px}
.bs-steps{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid #C9D0BD}
.bs-steps li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 20px;padding:22px 0;border-bottom:1px solid #C9D0BD}
.bs-step-when{font-size:15px;font-weight:600;color:#3F5545;padding-top:2px}
.bs-step-time{grid-column:2;font-size:14px;font-weight:600;color:#5F665A;font-variant-numeric:tabular-nums}
.bs-step-body{grid-column:2}
.bs-facts{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;gap:8px 28px;margin:0;padding:16px 0;border-top:1px solid #C9D0BD;border-bottom:1px solid #C9D0BD;list-style:none;font-size:15px;color:#262A24}
.bs-facts li{display:flex;align-items:center;gap:8px}
.bs-facts li::before{content:"";width:5px;height:5px;border-radius:50%;background:#3F5545;flex:none}
.bs-first-note{font-size:14px;line-height:1.65;color:#5F665A;padding-left:12px;border-left:2px solid #C9D0BD}
.bs-price-line{font-size:20px;font-weight:600;letter-spacing:-0.01em;font-variant-numeric:tabular-nums}

/* 5 강사와 공간 */
.bs-teachers{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,80px);align-items:start}
.bs-teacher{display:flex;flex-direction:column;gap:16px}
@supports (grid-template-rows:subgrid){
  .bs-teacher{display:grid;grid-row:span 6;grid-template-rows:subgrid;gap:16px;align-content:start}
}
.bs-teacher .bs-photo{aspect-ratio:4/5;margin-bottom:8px}
.bs-teacher-name{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bs-teacher-name .bs-meta{font-size:13px;line-height:1.4;padding:3px 10px;border:1px solid #C9D0BD;border-radius:999px;color:#3F5545}
.bs-teacher .bs-link{justify-self:start;align-self:start}
.bs-quote{font-size:20px;font-weight:500;line-height:1.55;letter-spacing:-0.015em}
.bs-dl{margin:0;display:grid;grid-template-columns:88px minmax(0,1fr);font-size:15px;line-height:1.6;border-bottom:1px solid #D5DACB}
.bs-dl dt,.bs-dl dd{padding:11px 0;border-top:1px solid #D5DACB}
.bs-dl dt{font-size:14px;font-weight:600;color:#3F5545}
.bs-dl dd{margin:0}
.bs-dl a{padding:14px 0}
.bs-standard{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px clamp(32px,5vw,72px);align-items:start;padding-top:24px;border-top:1px solid #D5DACB}
.bs-standard ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;counter-reset:std}
.bs-standard li{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.6;color:#3E443B}
.bs-standard li strong{font-weight:600;font-size:16px;color:#262A24}
#bs-teacher .bs-aside{max-width:none;margin-top:clamp(40px,5vw,64px);padding:18px 22px;border-top:0;border-radius:6px;background:#EAEFDF;color:#3E443B}
.bs-space{margin-top:clamp(80px,9vw,128px);padding-top:clamp(32px,4vw,48px);border-top:1px solid #D5DACB;display:flex;flex-direction:column;gap:24px}
.bs-space-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px clamp(32px,5vw,72px);align-items:start}
.bs-space-head .bs-h3{font-size:clamp(26px,2.4vw,32px)}
.bs-space-head .bs-intro{gap:8px}
.bs-space-facts{grid-template-columns:repeat(4,minmax(0,auto))}
.bs-shot{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;cursor:zoom-in;width:100%}
.bs-shot .bs-photo{transition:opacity 200ms ease-out}
.bs-shot:hover .bs-photo{opacity:0.9}
.bs-shot:focus-visible{outline:2px solid #3F5545;outline-offset:4px;border-radius:4px}
.bs-shot-main .bs-photo{aspect-ratio:16/9}
.bs-cap{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:15px}
.bs-cap strong{font-weight:600}
.bs-cap span{color:#5F665A;font-size:14px}
.bs-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bs-strip .bs-photo{aspect-ratio:4/3}

/* 6 요금·이번 주 */
.bs-price{border-top:1px solid #D5DACB}
.bs-price-grid{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
.bs-tog-row{display:inline-flex;padding:4px;border:1px solid #D5DACB;border-radius:999px;background:#FFFFFF}
.bs-tog{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:600;color:#3F5545;cursor:pointer;transition:background-color 200ms ease-out,color 200ms ease-out}
.bs-tog[aria-pressed="true"]{background:#3F5545;color:#FFFFFF}
.bs-tog:active{transform:translateY(1px)}
.bs-tog:focus-visible{outline:2px solid #3F5545;outline-offset:3px}
.bs-rows{list-style:none;margin:24px 0 0;padding:0;border:1px solid #D5DACB;border-radius:10px;overflow:hidden;background:#FFFFFF}
.bs-row{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:12px 16px;padding:20px 22px;border-top:1px solid #D5DACB;align-items:start}
.bs-row:first-child{border-top:0}
.bs-row.is-pick{background:#EAEFDF}
.bs-row-name{display:flex;flex-direction:column;gap:4px}
.bs-row-name strong{font-weight:600;font-size:17px;line-height:1.4}
.bs-row-kick{font-size:14px;color:#5F665A}
.bs-row-pick{align-self:flex-start;font-size:13px;font-weight:600;color:#3F5545;border-bottom:1px solid #3F5545;line-height:1.5}
.bs-cell{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}
.bs-cell span{font-size:13px;color:#5F665A}
.bs-cell strong{font-weight:600;font-size:18px;letter-spacing:-0.01em;white-space:nowrap}
.bs-row-bul{grid-column:1 / -1;margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:#5F665A}
.bs-notes{margin-top:18px;display:flex;flex-direction:column;gap:6px;font-size:15px;color:#5F665A;max-width:40em}
.bs-week{display:flex;flex-direction:column;gap:16px}
.bs-week-sum{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.bs-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#D5DACB;border:1px solid #D5DACB;border-radius:10px;overflow:hidden}
.bs-day{background:#FFFFFF;padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px}
.bs-day-name{font-weight:600;font-size:15px;color:#3F5545}
.bs-slot{display:flex;flex-direction:column;gap:0;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.bs-slot-time{font-weight:600;font-size:15px}
.bs-slot-type{color:#5F665A;font-size:13px}
.bs-slot-seat{font-weight:600;color:#3F5545;font-size:13px}
.bs-slot.is-full .bs-slot-seat{color:#5F665A;font-weight:500}
.bs-slot.is-full .bs-slot-time{color:#5F665A}

/* 7 오시는 길·질문 */
.bs-visit{border-top:1px solid #D5DACB}
.bs-visit-grid{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start}
.bs-map{position:relative;aspect-ratio:480/300;border-radius:4px;overflow:hidden;background:#F3F6ED;border:1px solid #D5DACB}
.bs-visit-info{display:flex;flex-direction:column;gap:20px}
.bs-loc{font-size:22px;font-weight:500;letter-spacing:-0.01em}
.bs-qa-head{margin-top:clamp(64px,7vw,96px)}
.bs-qa{margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,72px)}
.bs-qa div{padding:24px 0;border-top:1px solid #D5DACB;display:flex;flex-direction:column;gap:8px}
.bs-qa dt{font-weight:600;font-size:18px;line-height:1.5}
.bs-qa dd{margin:0;color:#5F665A}

/* 8 끝맺음 + 신청 폼 */
.bs-close{background:#3F5545;color:#FFFFFF}
.bs-close-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.bs-close-text{display:flex;flex-direction:column;gap:20px;position:sticky;top:110px}
.bs-close .bs-h2{color:#FFFFFF}
.bs-close-body{color:#E9EDE4;max-width:24em}
.bs-close .bs-link{color:#FFFFFF}
.bs-close .bs-link:hover{color:#EAEFDF}
.bs-close :focus-visible{outline-color:#FFFFFF}
.bs-form{background:#F6F7F2;color:#262A24;border-radius:10px;padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.bs-form :focus-visible{outline-color:#3F5545}
.bs-form-intro{grid-column:1 / -1;font-size:15px;color:#5F665A}
.bs-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#262A24}
.bs-field-wide{grid-column:1 / -1}
.bs-in{height:50px;padding:0 16px;border-radius:10px;border:1px solid #C3C9B8;background:#FFFFFF;font-size:16px;font-weight:400;outline:none;width:100%;transition:border-color 200ms ease-out}
.bs-in:focus{border-color:#3F5545;box-shadow:0 0 0 2px #3F5545}
.bs-sel{padding-right:40px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5F665A 50%),linear-gradient(135deg,#5F665A 50%,transparent 50%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.bs-ta{height:auto;padding:14px 16px;line-height:1.6;resize:vertical}
.bs-form-note{grid-column:1 / -1;font-size:14px;line-height:1.6;color:#5F665A}
.bs-consent{grid-column:1 / -1;border-top:1px solid #D5DACB;padding-top:16px}
.bs-consent label{display:flex;gap:12px;align-items:flex-start;min-height:44px;font-size:14.5px;line-height:1.65;cursor:pointer;color:#262A24}
.bs-consent input{margin:3px 0 0;width:20px;height:20px;accent-color:#3F5545;flex:none}
.bs-form .bs-btn{grid-column:1 / -1;min-height:56px;font-size:16px}
.bs-done{background:#F6F7F2;color:#262A24;border-radius:10px;padding:36px;display:flex;flex-direction:column;gap:10px}
.bs-done-tag{align-self:flex-start;font-size:13px;font-weight:600;color:#3F5545;border:1px solid #3F5545;padding:2px 10px;border-radius:999px}

/* 9 바닥 */
.bs-foot{border-top:1px solid #D5DACB;background:#F6F7F2}
.bs-foot-in{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:20px}
.bs-biz{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 32px;font-size:14.5px;line-height:1.7;color:#262A24}
.bs-biz span{display:block;font-size:13px;color:#5F665A}
.bs-foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px 40px;font-size:14px;color:#5F665A;line-height:1.8}
.bs-pv-link{all:unset;cursor:pointer;color:inherit;text-decoration:underline;text-underline-offset:3px;padding:14px 0}
.bs-pv-link:focus-visible{outline:2px solid #3F5545;outline-offset:3px}
/* 개인정보 처리방침 레이어 */
.bs-pv{position:fixed;inset:0;z-index:72;background:rgba(38,42,36,0.6);display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px)}
.bs-pv-box{position:relative;width:100%;max-width:760px;max-height:min(86vh,900px);overflow-y:auto;overscroll-behavior:contain;background:#F6F7F2;border:1px solid #D5DACB;border-radius:6px;padding:clamp(24px,4vw,48px);font-size:14.5px;line-height:1.8;color:#3E443B;word-break:keep-all}
.bs-pv-box h3{margin:0 56px 16px 0;font-size:24px;font-weight:600;letter-spacing:-0.02em;color:#262A24}
.bs-pv-box h4{margin:24px 0 6px;font-size:15.5px;font-weight:600;color:#262A24}
.bs-pv-box p,.bs-pv-box ol,.bs-pv-box ul{margin:0 0 10px}
.bs-pv-box ol,.bs-pv-box ul{padding-left:1.3em}
.bs-pv-box b{font-weight:600;color:#262A24}
.bs-pv-tw{overflow-x:auto;margin:0 0 10px}
.bs-pv-box table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6}
.bs-pv-box th,.bs-pv-box td{border-top:1px solid #D5DACB;padding:8px 10px 8px 0;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.bs-pv-box th{font-weight:600;color:#262A24}
.bs-pv-note{margin-top:20px !important;padding-top:14px;border-top:1px solid #D5DACB;font-size:13px;color:#5F665A}
.bs-pv-x{all:unset;cursor:pointer;position:absolute;top:10px;right:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px;line-height:1;color:#262A24}
.bs-pv-x:hover{background:#EAEFDF}
.bs-pv-x:focus-visible{outline:2px solid #3F5545;outline-offset:2px}

/* 보이는 순간 한 번 */
[data-rv]{will-change:auto}

@media (min-width:768px){
  .bs-bnav{display:none!important}
  .bs-demoband{bottom:16px!important}
}
@media (max-width:1023px){
  .bs-h2{font-size:34px}
  .bs-kind .bs-photo{grid-column:1 / span 7}
  .bs-kind-text{grid-column:8 / span 5}
  .bs-kind:nth-child(even) .bs-photo{grid-column:6 / span 7}
  .bs-kind:nth-child(even) .bs-kind-text{grid-column:1 / span 5}
  .bs-split{grid-template-columns:minmax(0,1fr)}
  .bs-standard{grid-template-columns:minmax(0,1fr)}
  .bs-space-facts{grid-template-columns:repeat(2,minmax(0,auto))}
  .bs-space-head{grid-template-columns:minmax(0,1fr)}
  .bs-price-grid{grid-template-columns:minmax(0,1fr)}
  .bs-days{grid-template-columns:repeat(6,minmax(0,1fr))}
  .bs-close-grid{grid-template-columns:minmax(0,1fr)}
  .bs-close-text{position:static}
}
@media (max-width:860px){
  .bs-nav{gap:16px}
  .bs-nav a{font-size:14.5px}
  .bs-nav a.bs-cta{padding:0 18px}
}
@media (max-width:767px){
  body{font-size:16px}
  .bs-h2{font-size:26px;line-height:1.38}
  .bs-hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .bs-hero-photo{order:-1;height:min(52svh,118vw);border-radius:0}
  .bs-hero-text{padding:24px clamp(16px,4vw,40px) 40px;gap:16px}
  .bs-h1{font-size:32px}
  .bs-hero-btns{order:3}
  .bs-hero-lead{order:4}
  .bs-chip{order:5;font-size:14px}
  .bs-starts{grid-template-columns:minmax(0,1fr);gap:40px}
  .bs-starts li:nth-child(2){margin-top:0}
  .bs-starts .bs-photo{aspect-ratio:3/2}
  .bs-start-line{font-size:20px}
  .bs-kind{display:flex;flex-direction:column;align-items:stretch;gap:20px}
  .bs-kind .bs-h3{font-size:24px}
  .bs-h3{font-size:22px}
  .bs-first-grid{grid-template-columns:minmax(0,1fr)}
  .bs-first-pics{position:static}
  .bs-first-stack{padding-bottom:36px}
  .bs-first-stack > .bs-photo:not(.bs-first-socks){width:84%}
  .bs-facts{grid-template-columns:minmax(0,1fr);gap:6px}
  .bs-steps li{grid-template-columns:minmax(0,1fr)}
  .bs-method{grid-template-columns:minmax(0,1fr)}
  .bs-standard ol{grid-template-columns:minmax(0,1fr)}
  .bs-space-facts{grid-template-columns:minmax(0,1fr)}
  .bs-step-time,.bs-step-body{grid-column:1}
  .bs-teachers{grid-template-columns:minmax(0,1fr);gap:64px}
  .bs-teacher{grid-row:auto;display:flex;flex-direction:column;gap:16px}
  .bs-dl{grid-template-columns:76px minmax(0,1fr)}
  .bs-space-head{grid-template-columns:minmax(0,1fr)}
  .bs-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * clamp(16px,4vw,40px));padding:0 clamp(16px,4vw,40px) 6px;gap:12px;scrollbar-width:none}
  .bs-strip::-webkit-scrollbar{display:none}
  .bs-strip .bs-shot{flex:0 0 40%;scroll-snap-align:start}
  .bs-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 16px;gap:10px 12px}
  .bs-row-name{grid-column:1 / -1}
  .bs-cell strong{font-size:16px}
  .bs-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:transparent;border:0;border-radius:0;gap:10px;margin:0 calc(-1 * clamp(16px,4vw,40px));padding:0 clamp(16px,4vw,40px) 6px;scrollbar-width:none}
  .bs-days::-webkit-scrollbar{display:none}
  .bs-day{flex:0 0 38%;border:1px solid #D5DACB;border-radius:10px;scroll-snap-align:start}
  .bs-visit-grid{grid-template-columns:minmax(0,1fr)}
  .bs-qa{grid-template-columns:minmax(0,1fr)}
  .bs-form{grid-template-columns:minmax(0,1fr);padding:22px 18px}
  .bs-foot-in{padding-bottom:120px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ── 편집기 전용 style-hover/style-active 를 옮긴 진짜 규칙 ── */



/* ── 이 쪽에만 있는 규칙 ── */

/* ── 접힌 판은 접힌 채로 — 판 안 요소의 display 가 [hidden] 을 이기지 않게 ── */
[data-bs-panel][hidden] { display: none !important; }
/* ── 대표 #995 「시간표 왼쪽 잘림 0」 (팀장 #1420) — 폰 주간표는 옆으로 미는 띠인데,
      scroll-snap 이 첫 요일 칸을 화면 «맨 끝(0px)»에 붙여 왼쪽 테두리·모서리가 잘렸다(파이널도 같음).
      ★ 띠의 안쪽 여백(16~40px)만큼 snap 자리를 띄운다 — 모양·배치는 파이널 그대로.
      되돌리기: 이 블록만 지운다. */
@media (max-width: 767px) {
  .bs-days { scroll-padding-inline: clamp(16px, 4vw, 40px); }
}
/* ── 재검 #948 (팀장 #1423) 「첫 화면에서 데모 띠·고정 막대가 제목·첫 체험 단추를 가림」 —
      360×740 실측: 사진 384px 아래 제목 셋째 줄을 데모 띠(620~664)가, 첫 체험 단추를 아래 막대(679~)가 덮었다.
      ★ 데모 띠는 공용 부품이라 손대지 않고, «키가 낮은 폰»에서만 사진 높이를 줄여 제목·단추를 띠 위로 올린다.
        사진 높이 = 화면 높이 − 452px(머리 69 + 글·단추 약 247 + 띠·막대 자리 120 + 여유), 200px 아래로는 안 줄임.
        화면 높이 약 1,000px 넘는 폰은 파이널 높이 min(52svh,118vw) 그대로 — 위 한도에 걸린다.
      되돌리기: 이 블록만 지운다. */
@media (max-width: 767px) {
  .bs-hero-photo { height: clamp(200px, calc(100svh - 452px), min(52svh, 118vw)); }
}

/* ══ 모바일 머리(≤600px) — _공통부품/모바일머리.py 가 넣은 것 ═══════════ */
@media (max-width: 600px) {
  /* ☠☠ 「직계 자식 a」만 숨기면 안 된다 — CTA 가 «더 안쪽»에 있는 판이 있다(L04 에서 겪음).
     ★ CTA 를 품은 «맨 위 칸»에만 표를 달고, 그 밖의 칸을 숨긴다. */
  header nav > *:not(.eco-keep):not(.eco-burger) { display: none !important; }

  .eco-burger {
    all: unset; box-sizing: border-box; cursor: pointer;
    width: 44px; height: 44px;                 /* ★ 누르는 자리 44px 이상 */
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid currentColor; border-radius: 10px;
  }
  .eco-burger:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
  .eco-burger span { position: relative; display: block; width: 18px; height: 2px;
    background: currentColor; transition: background 200ms ease-out; }
  .eco-burger span::before, .eco-burger span::after {
    content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor;
    transition: transform 200ms ease-out, top 200ms ease-out; }
  .eco-burger span::before { top: -6px; }
  .eco-burger span::after  { top: 6px; }
  .eco-burger[aria-expanded="true"] span { background: transparent; }
  .eco-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
  .eco-burger[aria-expanded="true"] span::after  { top: 0; transform: rotate(-45deg); }

  header nav > .eco-keep { display: inline-flex !important; align-items: center; }
  header nav .eco-cta { min-height: 44px; display: inline-flex; align-items: center; }

  .eco-menu[hidden] { display: none !important; }
  .eco-menu {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: 8px clamp(20px, 4vw, 40px) 32px;
    display: flex; flex-direction: column; overflow-y: auto;
  }
  .eco-menu a {
    display: flex; align-items: center; min-height: 56px;
    font-size: 17px; text-decoration: none;
  }
  .eco-menu a:last-child { border-bottom: 0 !important; }
  body.eco-menu-open { overflow: hidden; }

  /* 데모 띠 닫기 단추 — 눌리는 자리를 44×44 로 넓힌다.
     ☠ 띠 높이(44px)는 그대로 둔다 — 단추를 키우지 않고 «가짜 판»으로 넓힌다. */
  .eco-demobar .eco-democlose { position: relative; }
  .eco-demobar .eco-democlose::after {
    content: ""; position: absolute; left: 50%; top: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
  }

  /* 데모 띠 — 한 줄로 */
  .eco-demobar { flex-wrap: nowrap !important; font-size: 12px !important;
    padding: 8px 10px 8px 12px !important; gap: 8px !important; }
  .eco-demobar .eco-demotext { white-space: nowrap; }
}
/* 600 초과 — JS 가 넣은 버거·메뉴를 숨긴다(꾸밈이 위 media 안에만 있어 기본 단추가 빈 타원으로 남았다, 일 #394). */
@media not all and (max-width: 600px) {
  .eco-burger, .eco-menu { display: none !important; }
}
