  :root{
    --paper:#f3eee6;   /* 따뜻한 아이보리 */
    --paper-2:#e9e1d4;
    --ink:#1f1d1b;     /* 입구 간판의 먹색 */
    --ink-2:#4a4540;
    --muted:#8a8178;
    --line:#d8cfc1;
    --wine:#7b2d26;    /* 입구 붉은 기둥에서 가져온 색 */
    --leaf:#56633f;    /* 화분 잎의 올리브색 */
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 "Gothic A1",sans-serif;font-weight:400;word-break:keep-all;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .serif{font-family:"Noto Serif KR",serif}
  .it{font-family:"Cormorant Garamond",serif;font-style:italic}
  .draft-note{background:var(--ink);color:#cfc6b8;font-size:12px;text-align:center;padding:6px 16px;letter-spacing:.02em}
  .todo{background:rgba(201,162,79,.18);border-bottom:1px dashed #b08a3e;padding:0 3px}

  /* 버튼: 사각 면 + 글자 링크 */
  .btn{display:inline-flex;align-items:center;gap:14px;padding:16px 26px;background:var(--wine);color:#fff;font-weight:600;font-size:15px;letter-spacing:.02em;transition:background .2s}
  .btn:hover{background:#5f211c}
  .btn svg{width:16px;height:16px}
  .tlink{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s}
  .tlink:hover{background-size:0 1px;background-position:100% 100%}
  .tlink::after{content:"";width:18px;height:1px;background:currentColor;box-shadow:none}

  /* 헤더 */
  header{position:sticky;top:0;z-index:40;background:rgba(243,238,230,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
  .brand{display:flex;align-items:center;gap:16px}
  .brand img{height:38px;width:auto}
  .brand small{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);line-height:1.5;border-left:1px solid var(--line);padding-left:16px}
  .brand small b{display:block;color:var(--ink);font-weight:600;letter-spacing:0;font-size:13px}
  .menu{display:flex;gap:36px;font-size:14px;color:var(--ink-2)}
  .menu a{position:relative;padding:4px 0}
  .menu a:hover{color:var(--wine)}
  .call{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
  .call i{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;font-style:normal}
  .call i svg{width:15px;height:15px}

  /* 첫 화면 */
  .hero{padding:76px 0 96px}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
  .since{display:flex;align-items:center;gap:14px;color:var(--wine);font-size:19px;margin-bottom:26px}
  .since::after{content:"";flex:0 0 56px;height:1px;background:var(--wine)}
  .hero h1{font-family:"Noto Serif KR",serif;font-weight:300;font-size:54px;line-height:1.38;letter-spacing:-.03em;margin:0 0 28px}
  .hero h1 strong{font-weight:500}
  .hero .lead{font-size:17px;color:var(--ink-2);font-weight:300;max-width:470px;margin:0 0 44px}
  .actions{display:flex;flex-wrap:wrap;align-items:center;gap:30px}
  .hero-fig{position:relative;margin:0 0 34px 24px}
  .hero-fig::before{content:"";position:absolute;inset:-22px 22px 22px -22px;border:1px solid var(--wine);z-index:0}
  .hero-fig img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
  .hero-fig figcaption{position:absolute;z-index:2;top:100%;right:0;padding:12px 0 0;text-align:right;white-space:nowrap;font-size:12px;color:var(--muted);letter-spacing:.04em}
  .hero-fig figcaption .it{font-size:17px;color:var(--ink)}

  /* 자격 띠 */
  .band{background:var(--ink);color:#e9e1d4}
  .band ul{list-style:none;margin:0 auto;padding:22px 28px;max-width:1180px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:14px}
  .band li{display:flex;align-items:baseline;gap:10px}
  @media (min-width:961px){
    .band ul{display:grid;grid-template-columns:repeat(4,minmax(0,max-content));justify-content:space-between}
  }
  .band li span{color:#9a9086;font-size:12px}
  .band li b{font-family:"Noto Serif KR",serif;font-weight:500}

  section{padding:120px 0}
  .eyebrow{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;color:var(--wine);margin-bottom:10px}
  h2{font-family:"Noto Serif KR",serif;font-weight:300;font-size:40px;line-height:1.4;letter-spacing:-.03em;margin:0}
  h2 strong{font-weight:500}
  .desc{color:var(--ink-2);margin:16px 0 0;max-width:520px;font-weight:300}

  /* 두 갈래: 큰 색인 목록 */
  .index{margin-top:60px;border-top:1px solid var(--ink)}
  .index a{display:grid;grid-template-columns:120px 1fr 1.2fr 60px;gap:28px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line);transition:padding .3s, background .3s}
  .index a:hover{padding-left:20px;background:linear-gradient(90deg,var(--paper-2),transparent)}
  .index .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:64px;line-height:1;color:var(--wine)}
  .index h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:25px;margin:0;line-height:1.45}
  .index h3 small{display:block;font-family:"Gothic A1",sans-serif;font-weight:300;font-size:14px;color:var(--muted);margin-top:4px}
  .index p{margin:0;font-size:15px;color:var(--ink-2);font-weight:300}
  .index .arr{justify-self:end;width:44px;height:44px;border:1px solid var(--ink);display:grid;place-items:center;transition:.3s}
  .index a:hover .arr{background:var(--wine);border-color:var(--wine);color:#fff}

  /* 상담 분야: 왼쪽 고정 제목 + 오른쪽 목록 */
  .areas{background:#fbf8f3}
  .two{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
  .sticky{position:sticky;top:120px}
  .sticky .tlink{margin-top:34px}
  .area{padding:28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:24px}
  .area:first-child{border-top:1px solid var(--ink)}
  .area h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:20px;margin:0}
  .area h3 em{display:block;font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--leaf);font-weight:500}
  .area p{margin:0;font-size:15px;color:var(--ink-2);font-weight:300}

  /* 상담 과정 */
  .process{background:var(--ink);color:#e9e1d4}
  .process h2{color:#fff}
  .process .eyebrow{color:#d9a79f}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid #4a4540}
  .step{padding:34px 28px 10px 0}
  .step + .step{padding-left:28px;border-left:1px solid #4a4540}
  .step .it{font-size:44px;color:#d9a79f;line-height:1}
  .step h4{font-family:"Noto Serif KR",serif;font-weight:500;font-size:19px;margin:18px 0 8px;color:#fff}
  .step p{margin:0;font-size:14px;color:#b9b0a4;font-weight:300}
  .facts{display:flex;flex-wrap:wrap;gap:12px 48px;margin-top:56px;padding-top:28px;border-top:1px solid #4a4540;font-size:14px;color:#b9b0a4}
  .facts b{color:#fff;font-weight:600;margin-right:10px}
  .process .todo{color:#f1dfb5}

  /* 사진 + 인용 */
  .quote{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;overflow:hidden}
  .quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
  .quote::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,22,20,.86) 0%,rgba(25,22,20,.62) 55%,rgba(25,22,20,.15) 100%);z-index:1}
  .quote .wrap{position:relative;z-index:2;width:100%}
  .quote blockquote{margin:0;max-width:620px;font-family:"Noto Serif KR",serif;font-weight:300;font-size:28px;line-height:1.75}
  .quote cite{display:block;margin-top:26px;font-style:normal;font-size:14px;color:#cfc6b8}
  .quote .it{font-size:22px;color:#e2b9b2;display:block;margin-bottom:18px}

  /* 수련·교육 */
  .train{background:var(--paper-2)}
  .train-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;margin-top:60px;align-items:start}
  table{width:100%;border-collapse:collapse;font-size:14px}
  th{text-align:left;font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--muted);padding:0 0 14px;border-bottom:1px solid var(--ink)}
  td{padding:24px 18px 24px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2);font-weight:300}
  td b{font-family:"Noto Serif KR",serif;font-weight:500;font-size:18px;color:var(--ink);display:block}
  td small{color:var(--muted)}
  .prog{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
  .prog:last-child{border-bottom:0;margin-bottom:0}
  .prog .tag{display:inline-block;font-size:12px;font-weight:600;color:var(--leaf);letter-spacing:.04em}
  .prog .tag.live::before{content:"";display:inline-block;width:7px;height:7px;background:var(--wine);margin-right:8px;vertical-align:1px}
  .prog h4{font-family:"Noto Serif KR",serif;font-weight:500;font-size:21px;margin:6px 0}
  .prog p{margin:0 0 16px;font-size:14px;color:var(--ink-2);font-weight:300}

  /* 센터 소개 */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  .about-logo{background:var(--ink);padding:70px 56px;display:flex;flex-direction:column;align-items:center;gap:34px}
  .about-logo .irang{width:62%}
  .about-logo .full{width:88%;opacity:.9}
  .about-logo span{font-size:12px;letter-spacing:.24em;color:#9a9086}
  .about p{color:var(--ink-2);font-weight:300;margin:0 0 18px}
  .about .first{font-family:"Noto Serif KR",serif;font-weight:300;font-size:22px;color:var(--ink);line-height:1.7}
  .profile{margin:30px 0;padding:24px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:6px 20px;font-size:14px}
  .profile dt{color:var(--muted)}
  .profile dd{margin:0}

  /* 오시는 길 */
  .visit{border-top:1px solid var(--line)}
  .visit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;margin-top:52px}
  .map{min-height:380px;background:repeating-linear-gradient(0deg,transparent 0 39px,var(--line) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--line) 39px 40px),#efe8dd;display:grid;place-items:center;color:var(--muted);font-size:13px;letter-spacing:.1em}
  dl.info{margin:0}
  dl.info div{display:grid;grid-template-columns:90px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
  dl.info div:first-child{border-top:1px solid var(--ink)}
  dl.info dt{color:var(--muted);font-size:13px;padding-top:3px}
  dl.info dd{margin:0}
  .bignum{font-family:"Noto Serif KR",serif;font-size:26px;font-weight:500;color:var(--wine);letter-spacing:.01em}

  footer{background:var(--ink);color:#9a9086;font-size:13px;padding:56px 0 110px;line-height:1.9}
  .foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-end}
  .foot img{height:34px;width:auto;margin-bottom:18px}

  .mbar{display:none}

  @media (max-width:960px){
    .wrap{padding:0 20px}
    .menu,.call span{display:none}
    .nav{height:66px}
    .brand img{height:30px}
    .hero{padding:40px 0 70px}
    .hero-grid,.two,.train-grid,.about-grid,.visit-grid{grid-template-columns:1fr;gap:48px}
    .hero-fig{order:-1;margin:22px 0 34px 22px}
    .hero-fig img{aspect-ratio:5/4}
    .hero h1{font-size:34px}
    .band ul{padding:18px 20px;flex-direction:column}
    section{padding:76px 0}
    h2{font-size:28px}
    .index a{grid-template-columns:64px 1fr 40px;gap:8px 16px;padding:28px 0}
    .index a:hover{padding-left:0}
    .index .num{font-size:44px;grid-row:span 2}
    .index p{grid-column:2}
    .index .arr{grid-row:1;grid-column:3;width:36px;height:36px}
    .sticky{position:static}
    .area{grid-template-columns:1fr;gap:6px}
    .steps{grid-template-columns:1fr 1fr}
    .step:nth-child(3){padding-left:0;border-left:0}
    .step:nth-child(n+3){border-top:1px solid #4a4540}
    .quote{min-height:480px}
    .quote::before{background:rgba(25,22,20,.7)}
    .quote blockquote{font-size:21px}
    .quote.quote-sign{min-height:330px!important;align-items:flex-end;padding-bottom:26px}
    .quote.quote-sign img{object-position:50% 20%!important;transform:scale(1.5);transform-origin:38% 40%}
    .quote.quote-sign::before{background:linear-gradient(180deg,rgba(25,22,20,.05) 0%,rgba(25,22,20,.35) 45%,rgba(25,22,20,.85) 100%)}
    .about-logo{padding:48px 32px}
    .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;padding-bottom:env(safe-area-inset-bottom);background:var(--ink)}
    .mbar a{padding:17px 10px;text-align:center;color:#fff;font-weight:600;font-size:15px}
    .mbar a + a{background:var(--wine)}
  }
  @media (max-width:420px){
    .wrap{padding:0 16px}
    .hero h1{font-size:30px}
    .btn{width:100%;justify-content:center}
    .steps{grid-template-columns:1fr}
    .step,.step + .step{padding:26px 0 6px;border-left:0}
    .step + .step{border-top:1px solid #4a4540}
    .brand small{display:none}
  }

  /* ───── 하위 페이지 공통 ───── */
  .menu a.on{color:var(--wine)}
  .menu a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--wine)}
  .phero{padding:84px 0 72px;border-bottom:1px solid var(--line)}
  .crumb{font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:34px}
  .crumb a:hover{color:var(--wine)}
  .crumb span{margin:0 8px;color:var(--line)}
  .phero h1{font-family:"Noto Serif KR",serif;font-weight:300;font-size:50px;line-height:1.35;letter-spacing:-.03em;margin:0}
  .phero h1 strong{font-weight:500}
  .phero .lead{font-size:17px;color:var(--ink-2);font-weight:300;max-width:620px;margin:22px 0 0}
  .round{display:flex;gap:44px;align-items:center;margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
  .round-t small{display:block;font-size:13px;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
  .round-t strong{font-family:"Noto Serif KR",serif;font-weight:500;font-size:28px;letter-spacing:-.02em;color:var(--wine)}
  .round-t .plan{font-style:normal;font-family:"Noto Sans KR",sans-serif;font-weight:300;font-size:14px;color:var(--wine)}
  .round-g{list-style:none;margin:0;padding:0 0 0 44px;border-left:1px solid var(--line);font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.9}
  .phero.dark{background:var(--ink);color:#fff;border-bottom:0}
  .phero.dark .crumb{color:#9a9086}
  .phero.dark .lead{color:#cfc6b8}
  .phero.dark .eyebrow{color:#d9a79f}

  .subnav{position:sticky;top:78px;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
  .subnav .wrap{display:flex;gap:34px;overflow-x:auto;scrollbar-width:none}
  .subnav .wrap::-webkit-scrollbar{display:none}
  .subnav a{flex:0 0 auto;padding:18px 0;font-size:14px;color:var(--ink-2);border-bottom:1px solid transparent;margin-bottom:-1px}
  .subnav a:hover{color:var(--wine);border-color:var(--wine)}
  [id]{scroll-margin-top:150px}

  .block{padding:100px 0;border-bottom:1px solid var(--line)}
  .block:last-of-type{border-bottom:0}
  .block.tint{background:#fbf8f3}
  .block.sand{background:var(--paper-2)}
  .block-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
  .block-head .desc{margin-top:0}

  /* 본문 글 */
  .prose p{color:var(--ink-2);font-weight:300;margin:0 0 20px}
  .prose .first{font-family:"Noto Serif KR",serif;font-weight:300;font-size:23px;line-height:1.75;color:var(--ink)}
  .prose strong{font-weight:600;color:var(--ink)}

  /* 정의 목록(약력 등) */
  .deflist{border-top:1px solid var(--ink)}
  .deflist > div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
  .deflist dt{font-family:"Noto Serif KR",serif;font-weight:500;font-size:16px}
  .deflist dd{margin:0}
  .deflist ul{list-style:none;margin:0;padding:0}
  .deflist li{padding:3px 0;color:var(--ink-2);font-weight:300;font-size:15px}
  .deflist li b{font-weight:600;color:var(--ink)}
  .deflist li .it{color:var(--wine);font-size:16px;margin-right:6px}
  .deflist .hist li{display:grid;grid-template-columns:3.2em 1fr;padding:6px 0}
  .deflist .hist .it{grid-row:1 / 3;margin:0;line-height:1.5}
  .deflist .hist .half{display:grid;grid-template-columns:3.2em 8.5em 1fr;column-gap:8px;padding:1px 0}
  .deflist .hist .hl{color:var(--ink)}
  .deflist .hist .hc{color:var(--muted)}
  .deflist .papers li{padding:9px 0}
  .deflist .papers li + li{border-top:1px dashed var(--line)}
  .deflist .papers a{color:var(--ink);font-weight:400;line-height:1.6}
  .deflist .papers a:hover{color:var(--wine)}
  .deflist .papers a::after{content:" ↗";font-size:12px;color:var(--muted)}
  .deflist .papers small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
  .papers-note{margin:10px 0 0;font-size:12px;color:var(--muted)}
  .deflist .yr{margin-left:8px;font-size:13px;color:var(--muted);white-space:nowrap}
  .deflist .award{display:inline-block;margin-left:6px;padding:0 6px;font-size:12px;font-style:normal;color:var(--wine);border:1px solid var(--wine);vertical-align:1px}

  /* 상세 항목(상담 분야 등) */
  .detail{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:32px;padding:44px 0;border-bottom:1px solid var(--line)}
  .detail:first-child{border-top:1px solid var(--ink)}
  .detail .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:46px;line-height:1;color:var(--wine)}
  .detail h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:24px;margin:0;line-height:1.45}
  .detail h3 em{display:block;font-family:"Cormorant Garamond",serif;font-size:16px;color:var(--leaf);font-weight:500}
  .detail p{margin:0 0 14px;color:var(--ink-2);font-weight:300}
  .chips{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink);margin:0;padding:0;list-style:none}
  .chips li::before{content:"·";color:var(--wine);margin-right:6px;font-weight:600}

  /* 안내 상자: 선으로만 */
  .note{border-left:2px solid var(--wine);padding:6px 0 6px 22px;color:var(--ink-2);font-size:14px;font-weight:300}
  .note b{color:var(--ink);font-weight:600}

  /* 표 (밝은 바탕용 재사용) */
  .tbl td b{display:block}
  .tbl.compact td{padding:16px 18px 16px 0}

  /* 신청 줄 */
  .apply{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:40px 0;border-top:1px solid var(--ink);margin-top:56px}
  .apply h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:22px;margin:0}
  .apply p{margin:4px 0 0;color:var(--muted);font-size:14px}

  /* 카드 없이 나란한 칸 */
  .cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
  .cols > div{padding:30px 28px 30px 0}
  .cols > div + div{padding-left:28px;border-left:1px solid var(--line)}
  .cols h4{font-family:"Noto Serif KR",serif;font-weight:500;font-size:18px;margin:0 0 8px}
  .cols p{margin:0;font-size:14px;color:var(--ink-2);font-weight:300}
  .cols .it{display:block;font-size:30px;color:var(--wine);line-height:1;margin-bottom:14px}

  /* 언론 보도 */
  .press{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--ink)}
  .press li{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}
  .press time{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;color:var(--wine);line-height:1.5}
  .press .src{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--leaf)}
  .press .ttl{font-family:"Noto Serif KR",serif;font-weight:500;font-size:19px;line-height:1.55;display:inline-block;margin:4px 0 8px}
  .press a:hover{color:var(--wine)}
  .press a::after{content:" ↗";font-family:"Gothic A1",sans-serif;font-size:13px;color:var(--muted)}
  .press p{margin:0;font-size:15px;color:var(--ink-2);font-weight:300}
  .press p.also{margin-top:10px;font-size:13px;color:var(--muted)}
  .press .also a{margin-left:14px;color:var(--ink-2);border-bottom:1px solid var(--line)}

  /* 지도 */
  .photo-band{margin:0;border-bottom:1px solid var(--line)}
  .photo-band img{display:block;width:100%;height:440px;object-fit:cover}
  .photo-band figcaption{padding:12px 0 14px;font-size:13px;color:var(--muted);letter-spacing:.02em}
  .photo-pair{padding:56px 0 48px;border-bottom:1px solid var(--line)}
  .photo-pair .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px}
  .photo-pair figure{margin:0}
  .photo-pair img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
  .photo-pair p{grid-column:1 / -1;margin:0;font-size:13px;color:var(--muted);letter-spacing:.02em}
  .mapframe{width:100%;height:440px;border:0;filter:grayscale(.35) sepia(.12);display:block}
  .route{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px}

  /* 다음 페이지 안내 */
  .next{background:var(--ink);color:#fff}
  .next a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:56px 0}
  .next small{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:18px;color:#d9a79f}
  .next strong{font-family:"Noto Serif KR",serif;font-weight:300;font-size:32px}
  .next .arr{width:56px;height:56px;border:1px solid #fff;display:grid;place-items:center;font-size:20px;transition:.3s}
  .next a:hover .arr{background:var(--wine);border-color:var(--wine)}

  @media (max-width:960px){
    .phero{padding:48px 0 48px}
    .phero h1{font-size:32px}
    .round{flex-direction:column;align-items:flex-start;gap:18px}
    .round-g{padding:18px 0 0;border-left:0;border-top:1px solid var(--line);width:100%}
    .round-t strong{font-size:24px}
    .subnav{top:66px}
    .subnav .wrap{gap:24px}
    [id]{scroll-margin-top:130px}
    .block{padding:68px 0}
    .block-head{grid-template-columns:1fr;gap:28px}
    .deflist > div{grid-template-columns:1fr;gap:8px}
    .deflist .hist .half{grid-template-columns:3.2em 1fr}
    .deflist .hist .hc{grid-column:2}
    .detail{grid-template-columns:52px 1fr;gap:10px 16px;padding:32px 0}
    .detail .num{font-size:34px;grid-row:span 2}
    .detail > div:last-child{grid-column:2}
    .press li{grid-template-columns:1fr;gap:6px;padding:26px 0}
    .press .ttl{font-size:17px}
    .cols{grid-template-columns:1fr}
    .cols > div,.cols > div + div{padding:24px 0;border-left:0}
    .cols > div + div{border-top:1px solid var(--line)}
    .mapframe{height:320px}
    .photo-band img{height:260px}
    .photo-pair{padding:40px 0 36px}
    .photo-pair .wrap{gap:10px}
    .next strong{font-size:23px}
    .next a{padding:40px 0}
  }

  /* 첫 화면 수련 프로그램 4칸 (2×2) */
  .train-progs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:56px;border-top:1px solid var(--ink)}
  .train-progs .prog{padding:28px 0;margin:0;border-bottom:0}
  .train-progs .prog:nth-child(n+3){border-top:1px solid var(--line)}
  @media (max-width:960px){
    .train-progs{grid-template-columns:1fr}
    .train-progs .prog{padding:28px 0}
    .train-progs .prog + .prog{border-top:1px solid var(--line)}
  }

  /* 대외 강의·수퍼비전 */
  .outreach-year{display:flex;align-items:baseline;gap:18px;margin-top:56px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
  .outreach-year h3{margin:0;font-size:40px;font-weight:500;line-height:1;color:var(--wine)}
  .outreach-year p{margin:0;font-size:14px;color:var(--muted)}
  .outreach{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
  .outreach h4{font-family:"Noto Serif KR",serif;font-weight:500;font-size:18px;margin:26px 0 6px}
  .outreach ul{list-style:none;margin:0;padding:0}
  .outreach li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);font-weight:300}
  .outreach li .m{font-size:13px;color:var(--muted);padding-top:2px}
  .outreach li b{font-weight:600;color:var(--ink)}
  .outreach li .plan,.deflist .plan{font-style:normal;font-size:13px;color:var(--wine)}
  @media (max-width:960px){
    .outreach{grid-template-columns:1fr}
  }
  /* 참관 신청서 */
  .observe{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
  .observe[hidden]{display:none}
  .oform{border-top:1px solid var(--ink);padding-top:28px}
  .oform-msg{margin:0 0 20px;color:var(--ink-2);font-size:15px}
  .oform-msg.err{color:var(--wine);font-weight:600}
  .ofield{display:block;margin-bottom:20px}
  .ofield span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
  .ofield input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);background:#fbf8f3;font:inherit;color:var(--ink);border-radius:0}
  .ofield input:focus{outline:none;border-color:var(--wine)}
  .ohp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
  .ogroup{border:0;margin:0 0 28px;padding:0}
  .ogroup legend{font-family:"Noto Serif KR",serif;font-weight:500;font-size:17px;padding:0;margin-bottom:10px}
  .ogroup legend small{display:block;font-family:"Gothic A1",sans-serif;font-size:13px;font-weight:300;color:var(--muted);margin-top:2px}
  .ocheck{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);font-weight:300;cursor:pointer}
  .ocheck input{margin:5px 0 0;width:16px;height:16px;accent-color:var(--wine)}
  .ototal{margin:12px 0 0;font-weight:600;color:var(--wine);min-height:1.8em}
  .onote{margin:0 0 4px;font-size:14px;color:var(--ink-2);font-weight:300}
  .oform .btn{border:0;cursor:pointer;font-family:inherit}
  .oform .btn:disabled{opacity:.5;cursor:default}
  .odone h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:22px;margin:0 0 14px;color:var(--wine)}
  .odone ul{margin:0 0 18px;padding-left:18px;color:var(--ink);font-size:15px}
  .odone p{margin:0;color:var(--ink-2);font-weight:300}
  .oended{max-width:720px;border-top:1px solid var(--ink);padding-top:32px}
  .oended h3{font-family:"Noto Serif KR",serif;font-weight:500;font-size:24px;margin:0 0 14px;color:var(--wine)}
  .oended p{margin:0 0 16px;color:var(--ink-2);font-weight:300}
  @media (max-width:960px){
    .observe{grid-template-columns:1fr;gap:48px}
  }
