
  :root{
    --ink:#2a2c2e;
    --navy:#282c33;        /* 깊은 남색 — 헤더·히어로·통계 밴드 */
    --navy2:#343941;
    --accent:#b1553c;      /* 앤티크 골드 */
    --accent-l:#cd8b73;
    --paper:#eceae7;       /* 양피지 톤 배경 — 한 톤 깊게 */
    --card:#fcfbfa;        /* 카드·표 배경 */
    --cream:#f2f0ee;       /* 남색 위 크림 텍스트 */
    --line:#dcd9d5;
    --muted:#74767a;
    --serif:'Noto Serif KR', serif;
    --sans:'Noto Sans KR', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-weight:400;line-height:1.7;letter-spacing:-0.01em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1060px;margin:0 auto;padding:0 24px}

  /* ── top bar (남색) ── */
  .topbar{background:linear-gradient(180deg,#1f2228 0%,#16181d 100%);border-bottom:2px solid var(--accent)}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
  .brand{display:flex;flex-direction:column;line-height:1.3}
  .brand .sub{font-size:11.5px;color:var(--accent-l);letter-spacing:0.3em}
  .brand .sub em{font-style:normal;font-size:10px;letter-spacing:0.22em;color:#8a8d91;margin-left:6px}
  .brand .name{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--cream)}
  nav{display:flex;align-items:center;gap:30px;font-size:14.5px;font-weight:400;color:#c9ccd0}
  nav a{padding:6px 0;border-bottom:2px solid transparent}
  nav a:hover{color:var(--cream);border-bottom-color:var(--accent)}
  nav a.consult-link{border:1px solid var(--accent-l);color:var(--cream);padding:8px 18px;border-radius:2px;font-weight:500}
  nav a.consult-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  nav a.home-link{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.5;padding:5px 14px;border:1px solid rgba(205,139,115,.4);border-radius:2px;border-bottom:1px solid rgba(205,139,115,.4)}
  nav a.home-link .hl-t{font-size:10.5px;color:#a2a4a8;letter-spacing:0.04em}
  nav a.home-link .hl-b{font-size:12.5px;color:var(--accent-l);font-weight:500}
  nav a.home-link:hover{border-color:var(--accent-l);background:rgba(205,139,115,.08)}
  nav a.home-link:hover .hl-b{color:var(--cream)}
  .tel{font-size:12.5px;color:#a2a4a8;text-align:right;line-height:1.4}
  .tel b{font-weight:500;color:var(--cream);letter-spacing:0.02em}

  /* ── hero (남색 이어짐) ── */
  .hero{background:
    radial-gradient(ellipse 90% 120% at 78% -10%, rgba(205,139,115,.14) 0%, rgba(205,139,115,0) 55%),
    linear-gradient(160deg, #2f343c 0%, var(--navy) 45%, #1e2127 100%);
    padding:54px 0 48px;border-bottom:3px solid var(--accent);position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;right:-40px;top:-70px;font-family:var(--serif);font-weight:900;font-size:430px;line-height:1;color:rgba(205,139,115,.11);pointer-events:none}
  .hero::after{content:"";position:absolute;inset:14px;border:1px solid rgba(205,139,115,.22);pointer-events:none}
  .hero .wrap{display:flex;align-items:center;gap:56px;position:relative;z-index:1}
  .hero-left{flex:1}
  .hero .kicker{font-size:12.5px;letter-spacing:0.32em;color:var(--accent-l);margin-bottom:16px;display:flex;align-items:center;gap:16px}
  .hero .kicker::before,.hero .kicker::after{content:"";height:1px;width:38px;background:linear-gradient(90deg,var(--accent-l),transparent)}
  .hero .kicker::before{background:linear-gradient(90deg,transparent,var(--accent-l))}
  .hero h1{font-family:var(--serif);font-size:clamp(25px,3.6vw,38px);font-weight:700;color:var(--cream);line-height:1.52;margin-bottom:18px;letter-spacing:-0.015em;text-shadow:0 2px 18px rgba(0,0,0,.25)}
  .hero p{max-width:640px;font-size:15px;color:#bdc0c4;margin-bottom:6px}
  .together-box{margin-top:20px;border-left:2px solid var(--accent-l);padding:10px 0 10px 20px}
  .together-lead{font-size:15px;color:#bdc0c4;margin-bottom:10px}
  .together-lead em{font-style:normal;color:var(--cream);font-weight:500}
  .together{display:flex;flex-wrap:wrap;align-items:center}
  .tg{padding:2px 18px 2px 0;margin-right:18px;border-right:1px solid rgba(205,139,115,.3)}
  .tg:last-child{border-right:none;margin-right:0}
  .tg b{display:block;font-family:var(--serif);font-size:15.5px;font-weight:600;color:var(--cream);line-height:1.4}
  .tg span{font-size:11.5px;color:#a2a4a8;letter-spacing:0.02em}
  .hero .quiet-links{margin-top:24px;font-size:14.5px;display:flex;gap:28px}
  .hero .quiet-links a{color:var(--accent-l);border-bottom:1px solid var(--accent-l);padding-bottom:2px;font-weight:400}
  .hero .quiet-links a:hover{color:var(--cream);border-bottom-color:var(--cream)}
  .hero-book{width:216px;min-height:288px;background:linear-gradient(160deg,#3a4049,#282c33);border:1px solid var(--accent-l);outline:1px solid rgba(205,139,115,.3);outline-offset:5px;padding:30px 22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 40px rgba(0,0,0,.35)}
  .hero-book .bk{font-size:10.5px;letter-spacing:0.34em;color:var(--accent-l)}
  .hero-book .bt{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--cream);line-height:1.5;margin-top:12px}
  .hero-book .bs{font-family:var(--serif);font-size:13.5px;color:var(--accent-l);margin-top:8px}
  .hero-book .ba{font-size:12px;color:#a2a4a8;border-top:1px solid rgba(205,139,115,.35);padding-top:10px}

  /* ── section frame ── */
  section{padding:46px 0;border-bottom:1px solid var(--line)}
  .sec-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #c6bb9f;padding-bottom:11px;margin-bottom:26px;position:relative}
  .sec-head::after{content:"";position:absolute;left:0;bottom:-2px;width:110px;height:3px;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 55%,var(--accent) 55%,var(--accent-l) 100%)}
  .sec-label{font-size:11.5px;letter-spacing:0.32em;color:var(--accent);margin-bottom:6px}
  .sec-label::before{content:"◆";font-size:7px;vertical-align:3px;margin-right:9px;color:var(--accent-l)}
  .sec-title{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--navy);letter-spacing:-0.01em}
  .sec-side{font-size:12.5px;color:var(--muted)}
  .sec-sub{font-family:var(--serif);font-size:15.5px;color:var(--accent);margin-top:5px}

  /* ── notes ── */
  .notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .note{background:var(--card);padding:22px 22px;border-top:3px solid transparent;cursor:pointer;transition:all .18s}
  .note:hover{border-top-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 26px rgba(40,44,51,.14)}
  .note .no{font-size:12px;color:var(--accent);letter-spacing:0.1em;margin-bottom:10px;display:flex;justify-content:space-between}
  .note .no .upd{color:var(--muted);letter-spacing:0}
  .note h3{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.5;margin-bottom:10px;color:var(--navy)}
  .note p{font-size:13.5px;color:#55575b;margin-bottom:14px}
  .note .basis{font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
  .note-list{border:1px solid var(--line);border-top:none;background:var(--card)}
  .nl{display:flex;align-items:baseline;gap:16px;padding:10px 20px;border-bottom:1px dashed var(--line);font-size:14px}
  .nl:last-child{border-bottom:none}
  .nl:hover{background:#f8ece7}
  .nl-no{font-size:12px;color:var(--accent);letter-spacing:0.06em;min-width:110px}
  .nl-t{color:#3d4148;flex:1}
  .nl:hover .nl-t{color:var(--navy)}
  .nl-d{font-size:12px;color:var(--muted)}
  .more{margin-top:18px;font-size:14px;text-align:right}
  .more a{color:var(--accent);border-bottom:1px solid transparent}
  .more a:hover{border-bottom-color:var(--accent)}

  /* ── coverage matrix ── */
  .matrix{width:100%;max-width:880px;margin:0 auto;border-collapse:collapse;font-size:13px;box-shadow:0 10px 28px rgba(40,44,51,.08)}
  .matrix th,.matrix td{border:1px solid var(--line);padding:7px 12px;background:var(--card);vertical-align:middle}
  .matrix thead th{background:var(--navy);color:var(--cream);font-family:var(--serif);font-weight:500;text-align:center;font-size:12.5px;border-color:var(--navy2);padding:9px 8px;letter-spacing:0.02em}
  .matrix thead th:first-child{text-align:left;padding-left:14px}
  .matrix thead th.us-col{background:var(--accent);color:#fff;font-weight:700;font-size:13.5px}
  .matrix td.area{font-weight:500;color:var(--navy);font-size:13px;line-height:1.5}
  .matrix td.area small{font-weight:400;font-size:11px;color:var(--muted);line-height:1.4;display:block}
  .matrix td.mk{text-align:center;font-size:12.5px;width:12%;color:#b1b4b8}
  .matrix td.mk.full{color:var(--navy)}
  .matrix td.mk.part{color:var(--accent);font-size:11.5px}
  .matrix td.us{background:#f8ece7;text-align:center;width:13%;color:var(--accent);font-size:12.5px;border-left:2px solid var(--accent);border-right:2px solid var(--accent)}
  .matrix tr:last-child td.us{border-bottom:2px solid var(--accent)}
  .matrix td.grp{background:var(--paper);font-size:10.5px;letter-spacing:0.24em;color:var(--accent);padding:4px 14px;font-weight:600}
  .legend{max-width:880px;margin-left:auto;margin-right:auto;display:flex;gap:20px;font-size:11.5px;color:var(--muted);margin-top:10px;align-items:center}
  .legend b{color:var(--navy);font-weight:500}
  .matrix-line{max-width:880px;margin:14px auto 0;font-family:var(--serif);font-size:14.5px;color:var(--navy);border-left:3px solid var(--accent);padding-left:14px}

  /* ── archive stats (남색 밴드) ── */
  .stats-band{background:var(--navy);border-bottom:3px solid var(--accent)}
  .stats-band section{border-bottom:none}
  .stats-band .sec-label{color:var(--accent-l)}
  .stats-band .sec-title{color:var(--cream)}
  .stats{display:flex;gap:1px;background:rgba(205,139,115,.3);border:1px solid rgba(205,139,115,.3)}
  .stat{flex:1;background:var(--navy);padding:20px 10px;text-align:center}
  .stat .n{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--accent-l)}
  .stat .l{font-size:13px;color:#adb0b4;margin-top:4px}

  /* ── people ── */
  .people{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .person{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:24px 26px 22px;box-shadow:0 6px 18px rgba(40,44,51,.07);position:relative}
  .person::after{content:"";position:absolute;top:-3px;left:0;width:56px;height:3px;background:var(--accent)}
  .person .role{font-size:12px;letter-spacing:0.22em;color:var(--accent);margin-bottom:6px}
  .person h3{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--navy);margin-bottom:2px;letter-spacing:-0.01em}
  .person h3 .aff{font-size:12px;color:var(--muted);font-family:var(--sans);font-weight:400;margin-left:2px}
  .person>p{font-size:13px;line-height:1.85;color:#4f5155;margin:10px 0 6px;padding-bottom:12px;border-bottom:1px solid var(--line);min-height:132px}
  .person ul:nth-of-type(1){min-height:96px}
  .person ul{list-style:none;font-size:12px;color:#55575b;line-height:1.6}
  .person li{padding:4px 0 4px 13px;border-bottom:none;position:relative}
  .person li::before{content:"";position:absolute;left:1px;top:12px;width:4px;height:4px;background:var(--accent-l);border-radius:50%}
  .person li em.cur{font-style:normal;font-weight:700;color:var(--accent)}
  .person li em.pre{font-style:normal;color:#9fa2a6}
  .person .grp{margin-top:13px;margin-bottom:3px;font-size:10.5px;letter-spacing:0.22em;color:var(--accent);border-bottom:none;padding-bottom:0;font-weight:600}
  .person .grp::before{content:"◆";font-size:6px;vertical-align:3px;margin-right:7px;color:var(--accent-l)}
  .people-link{margin-top:16px;text-align:right;font-size:13.5px;color:var(--muted)}
  .people-link a{color:var(--accent);border-bottom:1px solid var(--accent-l);padding-bottom:1px;font-weight:500}
  .people-link a:hover{color:var(--navy);border-bottom-color:var(--navy)}

  /* ── shelf ── */
  .shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .book{border:1px solid var(--line);background:var(--card);border-top:3px solid var(--navy);padding:22px 18px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 6px 16px rgba(40,44,51,.08);transition:all .18s}
  .book:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(40,44,51,.14)}
  .book.real{padding:0;overflow:hidden;justify-content:flex-start}
  .bcov{width:100%;height:250px;object-fit:contain;display:block;border-bottom:1px solid var(--line);background:#fff;padding:12px;box-sizing:border-box}
  .book.real .m{padding:12px 14px 14px;font-size:12px;line-height:1.7;display:flex;flex-direction:column;flex:1}
  .book.real .m b{display:block;font-family:var(--serif);font-size:13.5px;color:var(--navy);font-weight:600;margin-bottom:3px;min-height:40px}
  .book.real .buy{display:block;margin-top:auto;padding-top:10px;color:var(--accent);font-weight:500;font-size:12.5px;border-top:1px dashed var(--line);text-align:right}
  .book.soon{min-height:0}
  .book .t{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.5;color:var(--navy)}
  .book .st{font-family:var(--serif);font-size:13px;color:var(--accent);margin-top:6px;font-weight:400}
  .book .m{font-size:12.5px;color:var(--muted);margin-top:14px}
  .book.soon{background:#efe6cf;border-top-color:var(--accent)}

  /* ── location ── */
  .loc{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;align-items:stretch}
  .loc-info{border:1px solid var(--line);border-top:3px solid var(--navy);background:var(--card);padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between}
  .loc-info h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--navy);margin-bottom:14px}
  .loc-info dl{font-size:14px}
  .loc-info dt{float:left;width:52px;color:var(--accent);font-weight:500;font-size:12.5px;letter-spacing:0.08em;padding:7px 0}
  .loc-info dd{margin-left:64px;padding:6px 0;border-bottom:1px dashed var(--line);color:#443f38}
  .loc-info dd:last-of-type{border-bottom:none}
  .map-btn{display:inline-block;margin-top:16px;border:1px solid var(--accent);color:var(--accent);padding:9px 18px;border-radius:2px;font-size:13.5px;font-weight:500;text-align:center}
  .map-btn:hover{background:var(--accent);color:#fff}
  .loc-map{border:1px solid var(--line);border-top:3px solid var(--navy);min-height:300px;background:var(--card);position:relative}
  .loc-map::before{content:"지도 미리보기가 제한된 환경입니다 · 왼쪽의 '네이버 지도로 보기' 버튼을 눌러 주세요";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);text-align:center;padding:20px}
  .loc-map iframe{width:100%;height:100%;min-height:300px;border:0;display:block;position:relative;z-index:1}
  .loc-map .map-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;background:rgba(255,255,255,.93);border-top:1px solid var(--line);padding:6px 12px;font-size:12px;line-height:1.4;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* ── footer (남색) ── */
  footer{background:var(--navy);padding:44px 0 60px;font-size:12.5px;color:#9a937f;line-height:2;border-top:3px solid var(--accent)}
  footer .entity{font-weight:400;color:var(--cream)}

  /* ══ 상담안내 page ══ */
  .consult-hero{background:linear-gradient(180deg, var(--navy) 0%, var(--navy2) 100%);padding:48px 0 42px;border-bottom:3px solid var(--accent)}
  .consult-hero h1{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--cream);margin-bottom:18px}
  .consult-hero p{max-width:680px;font-size:15px;color:#bdc0c4}
  .crumb{font-size:13px;color:#a2a4a8;margin-bottom:26px}
  .crumb a{color:var(--accent-l)}

  .tracks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
  .track{border:1px solid var(--line);background:var(--card);cursor:pointer;padding:22px 24px;transition:all .18s;border-top:3px solid transparent;box-shadow:0 4px 12px rgba(40,44,51,.06)}
  .track:hover{border-top-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 26px rgba(40,44,51,.14)}
  .track.active{border-top-color:var(--accent);background:#efe6cf;border-color:var(--accent-l)}
  .track .tno{font-size:12px;letter-spacing:0.22em;color:var(--accent);margin-bottom:8px}
  .track h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--navy);margin-bottom:8px}
  .track p{font-size:13.5px;color:#55575b}

  .detail{display:none;margin-top:32px;border:1px solid var(--line);border-top:3px solid var(--navy);background:var(--card);padding:30px 32px}
  .detail.show{display:block}
  .detail h2{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--navy);margin-bottom:6px}
  .detail .d-sub{font-size:14px;color:var(--muted);margin-bottom:22px}
  .d-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:26px}
  .d-col h4,.steps-h{font-size:12.5px;letter-spacing:0.2em;color:var(--accent);margin-bottom:12px;font-weight:500}
  .d-col ul{list-style:none;font-size:14px;color:#443f38}
  .d-col li{padding:8px 0;border-bottom:1px dashed var(--line);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .d-col li::before{content:"—";color:var(--line)}
  .badge{display:inline-block;font-size:11px;border:1px solid var(--line);color:var(--muted);padding:1px 8px;border-radius:2px;margin-left:auto}
  .badge.law{border-color:var(--accent-l);color:var(--accent);background:#f3ecdb}
  .badge.tax{border-color:#8fa3c0;color:#33507c;background:#e9edf3}
  .badge.both{border-color:#9aab9a;color:#48624b;background:#e9efe9}

  .steps{counter-reset:st;margin-bottom:10px}
  .step{display:flex;gap:18px;padding:16px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
  .step::before{counter-increment:st;content:counter(st);font-family:var(--serif);font-size:15px;color:var(--card);background:var(--navy);min-width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
  .step b{font-weight:500;color:var(--navy)}
  .step span{display:block;font-size:13px;color:var(--muted)}

  .contact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
  .cbox{border:1px solid var(--line);border-top:3px solid var(--navy);background:var(--card);padding:24px 24px 22px;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(40,44,51,.07);position:relative}
  .cbox::after{content:"";position:absolute;top:-3px;left:0;width:44px;height:3px;background:var(--accent)}
  .cbox h4{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--navy);margin-bottom:10px}
  .cbox p{font-size:13.5px;color:#55575b;line-height:1.8}
  .cbox .big{font-size:19px;font-weight:500;color:var(--ink);letter-spacing:0.02em;margin:2px 0 6px}
  .cbox .cbtn{display:block;margin-top:auto;padding:11px 0;border:1px solid var(--accent);color:var(--accent);border-radius:2px;font-size:13.5px;font-weight:500;text-align:center}
  .cbox .cbtn:hover{background:var(--accent);color:#fff}
  .cbox .cbtn.static{cursor:default;font-size:16px;font-weight:600;letter-spacing:0.03em;border-color:var(--navy);color:var(--navy)}
  .cbox .cbtn.static:hover{background:transparent;color:var(--navy)}
  .consult-note{margin-top:34px;font-size:13px;color:var(--muted);border-left:2px solid var(--accent-l);padding-left:16px;line-height:1.9}

  /* ══ 연구소 소개 page ══ */
  .about-hero{background:linear-gradient(180deg, var(--navy) 0%, var(--navy2) 100%);padding:48px 0 42px;border-bottom:3px solid var(--accent)}
  .about-hero h1{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--cream);margin-bottom:10px}
  .about-hero .sub{font-family:var(--serif);font-size:16px;color:var(--accent-l)}
  .essay{max-width:840px}
  .essay p{font-size:15.5px;line-height:2;color:#3d4148;margin-bottom:20px}
  .essay p b{font-weight:600;color:var(--navy)}
  .pull{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--navy);border-left:3px solid var(--accent);padding:8px 0 8px 20px;margin:30px 0;line-height:1.7}
  .risks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
  .risk{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:20px 20px}
  .risk .rn{font-family:var(--serif);font-size:13px;color:var(--accent);letter-spacing:0.15em;margin-bottom:6px}
  .risk h4{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--navy);margin-bottom:8px}
  .risk p{font-size:13.5px;color:#55575b;line-height:1.8;margin:0}
  .about-person{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:28px 30px;margin-bottom:18px}
  .about-person .role{font-size:12px;letter-spacing:0.22em;color:var(--accent);margin-bottom:4px}
  .about-person h3{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--navy);margin-bottom:12px}
  .about-person h3 .aff{font-size:13px;color:var(--muted);font-family:var(--sans);font-weight:400}
  .about-person p{font-size:14.5px;line-height:1.95;color:#443f38;margin-bottom:12px}
  .about-person .cred{font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
  .bookline{border-left:1px solid var(--line);margin:6px 0 6px 6px;padding-left:24px}
  .bl{position:relative;padding:10px 0}
  .bl::before{content:"";position:absolute;left:-28.5px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--card)}
  .bl .y{font-family:var(--serif);font-size:13px;color:var(--accent);letter-spacing:0.08em}
  .bl .t{font-size:15px;font-weight:500;color:var(--navy)}
  .bl .t small{font-weight:400;color:var(--muted);font-size:12.5px}
  .bl.now .t{font-family:var(--serif);font-weight:700}

  /* ══ 자문 분야 page ══ */
  .fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .field{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:26px 28px;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(40,44,51,.07);position:relative}
  .field::after{content:"";position:absolute;top:-3px;left:0;width:56px;height:3px;background:var(--accent)}
  .field .fh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .field h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--navy)}
  .field .fbadge{font-size:11px;border:1px solid var(--accent-l);color:var(--accent);background:#f3ecdb;padding:2px 10px;border-radius:2px;white-space:nowrap}
  .field .fbadge.tax{border-color:#8fa3c0;color:#33507c;background:#e9edf3}
  .field .fbadge.both{border-color:#9aab9a;color:#48624b;background:#e9efe9}
  .field p{font-size:14px;line-height:1.85;color:#443f38;margin-bottom:14px}
  .field .fq{font-size:11.5px;letter-spacing:0.18em;color:var(--accent);margin-bottom:6px;font-weight:500}
  .field ul{list-style:none;font-size:13.5px;color:#55575b;margin-bottom:4px}
  .field li{padding:6px 0;border-bottom:1px dashed var(--line);display:flex;gap:9px}
  .field li:last-child{border-bottom:none}
  .field li::before{content:"—";color:var(--accent-l)}
  .fields-cta{margin-top:26px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .fields-cta .t{font-family:var(--serif);font-size:16px;color:var(--navy)}
  .fields-cta a{border:1px solid var(--navy);color:var(--navy);padding:9px 20px;border-radius:2px;font-size:13.5px;font-weight:500;white-space:nowrap}
  .fields-cta a:hover{background:var(--navy);color:var(--cream)}

  /* ══ 연구노트 본문 ══ */
  .art{display:none}
  .art.on{display:block}
  .art-hero{background:linear-gradient(180deg, var(--navy) 0%, var(--navy2) 100%);padding:42px 0 36px;border-bottom:3px solid var(--accent)}
  .art-hero .ano{font-size:12.5px;letter-spacing:0.12em;color:var(--accent-l);margin-bottom:10px}
  .art-hero h1{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--cream);line-height:1.55;max-width:840px}
  .abody{max-width:840px;padding:40px 0 30px}
  .abody p{font-size:15.5px;line-height:2;color:#3d4148;margin-bottom:18px}
  .abody p b{font-weight:600;color:var(--navy)}
  .abody h3{font-family:var(--serif);font-size:17.5px;font-weight:600;color:var(--navy);margin:26px 0 12px}
  .bx{border:1px solid var(--line);border-left:4px solid #85878b;background:var(--card);padding:15px 20px;margin:22px 0;font-size:13.5px;line-height:1.9;color:#46484c}
  .bx .bt{font-size:11.5px;letter-spacing:0.15em;font-weight:600;margin-bottom:6px;color:#67696d}
  .bx.ex{border-left-color:var(--accent)} .bx.ex .bt{color:var(--accent)}
  .bx.tip{border-left-color:#5d7a5d} .bx.tip .bt{color:#48624b}
  .bx.qa{border-left-color:#5b7ba6} .bx.qa .bt{color:#33507c}
  .art-rest{display:none}
  .gate{position:relative;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--card);padding:26px 30px 24px;margin:0 0 26px;box-shadow:0 10px 26px rgba(40,44,51,.1)}
  .gate::before{content:"";position:absolute;top:-86px;left:-10px;right:-10px;height:84px;background:linear-gradient(180deg,rgba(232,225,207,0) 0%,var(--paper) 88%);pointer-events:none}
  .gate-line{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--accent);letter-spacing:0.08em;margin-bottom:10px}
  .gate p{font-size:14px !important;line-height:1.9 !important;color:#46484c;margin-bottom:16px !important}
  .gate-btns{display:flex;gap:12px;flex-wrap:wrap}
  .gate-btns a{display:inline-block;padding:10px 22px;border:1px solid var(--navy);color:var(--navy);border-radius:2px;font-size:13.5px;font-weight:500}
  .gate-btns a:hover{background:var(--navy);color:var(--cream)}
  .gate-btns a:last-child{border-color:var(--accent);color:var(--accent)}
  .gate-btns a:last-child:hover{background:var(--accent);color:#fff}
  .art-src{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px;margin-top:8px}
  .art-nav{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--navy);padding:18px 0 50px;font-size:14px;max-width:840px}
  .art-nav a{color:var(--accent);border-bottom:1px solid var(--accent-l);padding-bottom:1px}

  /* ── 공통 고급화 ── */
  .about-hero,.consult-hero,.art-hero{position:relative;overflow:hidden}
  .about-hero::before,.consult-hero::before,.art-hero::before{content:"";position:absolute;right:-30px;top:-90px;font-family:var(--serif);font-weight:900;font-size:340px;line-height:1;color:rgba(205,139,115,.10);pointer-events:none}
  #view-about .about-hero::before{content:"家"}
  #view-fields .about-hero::before{content:"策"}
  #view-notes .about-hero::before{content:"錄"}
  #view-consult .consult-hero::before{content:"問"}
  .art-hero::before{content:"錄"}
  .about-hero::after,.consult-hero::after,.art-hero::after{content:"";position:absolute;inset:12px;border:1px solid rgba(205,139,115,.2);pointer-events:none}
  .about-hero .wrap,.consult-hero .wrap,.art-hero .wrap{position:relative;z-index:1}
  .matrix{box-shadow:0 14px 34px rgba(40,44,51,.12)}
  footer{background:linear-gradient(180deg,var(--navy) 0%,#1e2127 100%)}
  .hero-book{transition:transform .25s}
  .hero-book:hover{transform:rotate(-1.2deg) translateY(-3px)}

  .view{display:none}
  .view.on{display:block}
  @media(max-width:820px){
    .notes,.shelf,.contact-row{grid-template-columns:1fr}
    .people,.tracks,.d-grid{grid-template-columns:1fr}
    nav{gap:16px;font-size:13px}
    .stats{flex-wrap:wrap}
    .hero .wrap{flex-direction:column;align-items:flex-start}
    .hero-book{width:200px;min-height:260px}
  }


/* ══ 화이트 v2 — 흰 바탕 + 색면 구조 ══ */
:root{--paper:#f8f7f5;--card:#ffffff;--line:#e4e2de;--muted:#85878b}
body{background:var(--paper);word-break:keep-all;overflow-wrap:break-word}
.topbar{background:#fff;border-top:3px solid var(--accent);border-bottom:1px solid var(--line)}
.brand .name{color:var(--navy)}
.brand .sub{color:var(--accent)} .brand .sub em{color:#abaeb2}
nav{color:#5a5c60} nav a:hover{color:var(--navy);border-bottom-color:var(--accent)}
nav a.consult-link{background:var(--navy);border-color:var(--navy);color:#fbfaf9}
nav a.consult-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
nav a.home-link{border-color:var(--line)}
nav a.home-link .hl-t{color:#9b9ea2} nav a.home-link .hl-b{color:var(--accent)}
nav a.home-link:hover{border-color:var(--accent-l);background:#fbf5f2}
nav a.home-link:hover .hl-b{color:var(--navy)}
.tel{color:#9b9ea2} .tel b{color:var(--navy)}

/* 메인 히어로 — 한 톤 깊은 양피지 + 네이비 타이포 */
.hero{background:
  radial-gradient(ellipse 75% 120% at 82% -12%, rgba(177,85,60,.20) 0%, rgba(177,85,60,0) 58%),
  radial-gradient(ellipse 60% 90% at -8% 108%, rgba(40,44,51,.07) 0%, rgba(40,44,51,0) 55%),
  linear-gradient(175deg,#f8f7f5 0%,#eeecea 58%,#e6e3e0 100%)}
.hero::before{color:rgba(177,85,60,.16)}
.hero::after{border-color:rgba(177,85,60,.34);box-shadow:inset 0 0 0 4px rgba(250,248,240,.55)}
.hero h1{color:var(--navy);text-shadow:none}
.hero .hero-sub{font-family:var(--serif);font-size:17.5px;font-weight:600;color:var(--accent);line-height:1.75;margin-bottom:12px;letter-spacing:-0.005em}
.hero .hero-sub br{display:none}
.hero p{color:#54565c}
.hero .kicker{color:var(--accent);font-weight:500}
.hero .kicker::before{background:linear-gradient(90deg,transparent,var(--accent))}
.hero .kicker::after{background:linear-gradient(90deg,var(--accent),transparent)}
.together-box{border-left:none;padding:16px 22px 14px;margin-top:24px;background:rgba(255,255,255,.55);border:1px solid rgba(177,85,60,.22);border-left:3px solid var(--accent);box-shadow:0 8px 24px rgba(40,44,51,.07)}
.together-lead{color:#63656a} .together-lead em{color:var(--navy);font-family:var(--serif);font-size:15.5px}
.tg{border-right-color:rgba(177,85,60,.30)}
.tg b{color:var(--navy)} .tg span{color:#93969a}
.hero .quiet-links a{color:var(--accent);border-bottom-color:rgba(177,85,60,.45)}
.hero .quiet-links a:hover{color:var(--navy);border-bottom-color:var(--navy)}
.hero-book{background:linear-gradient(165deg,#414850 0%,#2f343c 55%,#23262c 100%);border-color:var(--accent-l);outline-color:rgba(177,85,60,.4);box-shadow:0 22px 48px rgba(30,33,39,.4)}

/* 본문 섹션 리듬 — 흰색/아이보리 교차 */
#view-main section:nth-of-type(1){background:#fff}
#view-main section:nth-of-type(3){background:#f5f4f2}
#view-main section:nth-of-type(4){background:#fff}
#view-main section:nth-of-type(5){background:#f5f4f2}

/* WHY — 네이비 색면 블록 */
#view-main section.dark-band{background:linear-gradient(160deg,#2f343c 0%,#282c33 60%,#1e2127 100%);border-bottom:3px solid var(--accent)}
.dark-band .sec-title{color:#f2f0ee}
.dark-band .sec-sub{color:var(--accent-l)}
.dark-band .sec-label{color:var(--accent-l)}
.dark-band .sec-head{border-bottom-color:rgba(205,139,115,.35)}
.dark-band .sec-side{color:#adb0b4}
.dark-band .legend{color:#adb0b4} .dark-band .legend b{color:#f2f0ee}
.dark-band .matrix-line{color:#f2f0ee;border-left-color:var(--accent-l)}
.dark-band .matrix{box-shadow:0 18px 44px rgba(0,0,0,.35)}

/* 카드·박스 */
.matrix td.us{background:#faefe9}
.track.active{background:#faefe9}
.book.soon{background:#faefe9}
.gate::before{background:linear-gradient(180deg,rgba(250,250,246,0) 0%,var(--paper) 88%)}
.loc-map{background:#fff}
.note:hover,.track:hover,.book:hover{box-shadow:0 14px 30px rgba(45,49,57,.13)}
.fields-cta{background:#fff}
/* 공동 운영 구조 박스 (연구소 소개) */
.joint{border:1px solid var(--line);border-top:3px solid var(--navy);background:var(--card);padding:30px 36px 28px;margin-top:40px;box-shadow:0 10px 26px rgba(40,44,51,.08);position:relative}
.joint::after{content:"";position:absolute;top:-3px;left:0;width:56px;height:3px;background:var(--accent)}
.j-label{font-size:11px;letter-spacing:0.26em;color:var(--accent);margin-bottom:22px;font-weight:600}
.j-flex{display:flex;align-items:center;gap:40px}
.j-diagram{flex:1.15;min-width:0}
.j-row{display:flex;align-items:stretch;justify-content:center;gap:12px}
.j-card{flex:1;border:1px solid var(--line);border-top:2px solid var(--accent-l);background:#fff;padding:14px 10px;text-align:center;font-family:var(--serif);font-weight:600;color:var(--navy);font-size:15px;box-shadow:0 4px 12px rgba(40,44,51,.05)}
.j-card small{display:block;font-family:var(--sans);font-weight:400;font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:0.02em}
.j-plus{align-self:center;font-family:var(--serif);font-size:19px;color:var(--accent)}
.j-down{display:flex;flex-direction:column;align-items:center;gap:5px;margin:11px 0;color:var(--accent);font-size:10.5px;letter-spacing:0.26em}
.j-down::before,.j-down::after{content:"";width:1px;height:13px;background:var(--accent-l)}
.j-lab{text-align:center;background:linear-gradient(160deg,#333840 0%,#282c33 60%,#1f2228 100%);color:var(--cream);font-family:var(--serif);font-size:16.5px;font-weight:600;padding:14px 18px;border:1px solid var(--accent-l);outline:1px solid rgba(177,85,60,.3);outline-offset:3px;letter-spacing:0.06em}
.j-text{flex:1;border-left:1px solid var(--line);padding-left:38px}
.j-lead{font-family:var(--serif);font-size:17.5px;font-weight:700;color:var(--navy);margin-bottom:10px;letter-spacing:-0.01em}
.j-text p{font-size:13.5px;color:#55575b;line-height:1.95;margin-bottom:10px}
.j-em{font-family:var(--serif);color:var(--accent);font-weight:600;font-size:14.5px !important;border-top:1px dashed var(--line);padding-top:13px;margin-top:4px;line-height:1.8 !important}
/* 연구노트 목록 페이지 */
.note.feat{border:1px solid var(--line);border-top:3px solid var(--accent);margin-bottom:24px;padding:26px 28px;box-shadow:0 10px 26px rgba(40,44,51,.08);background:var(--card)}
.note.feat h3{font-size:19px}
.feat-tag{font-style:normal;background:var(--accent);color:#fff;font-size:10.5px;letter-spacing:0.14em;padding:2px 9px;border-radius:2px;vertical-align:1px}
.ntabs{display:flex;gap:8px;margin-bottom:16px}
.ntab{border:1px solid var(--line);background:#fff;color:#5a5c60;font-size:13px;padding:8px 20px;border-radius:99px;cursor:pointer;font-family:var(--sans);transition:all .15s}
.ntab:hover{border-color:var(--accent-l);color:var(--navy)}
.ntab.on{background:var(--navy);border-color:var(--navy);color:#fbfaf9;font-weight:500}
#view-notes .nl{padding:13px 20px}
/* 표지 이미지가 차단·실패한 환경용 대체 표지 */
.book.real.noimg::before{content:attr(data-title);display:flex;align-items:center;justify-content:center;text-align:center;height:250px;padding:22px;font-family:var(--serif);font-weight:600;font-size:15px;line-height:1.75;color:var(--cream);background:linear-gradient(160deg,#3a4049 0%,#282c33 60%,#1e2127 100%);border-bottom:2px solid var(--accent);letter-spacing:0.02em;box-sizing:border-box}


/* ══ 모바일 세로화면 전용 리디자인 ══ */
.swipe-hint{display:none}
@media(max-width:820px){
  .fields,.risks,.loc{grid-template-columns:1fr}
}
@media(max-width:640px){
  html{-webkit-text-size-adjust:100%}
  .wrap{padding:0 20px}
  section{padding:40px 0}

  /* ── 상단바: 콤팩트 스티키 + 가로 스크롤 칩 메뉴 ── */
  .topbar{position:sticky;top:0;z-index:60;box-shadow:0 2px 14px rgba(40,44,51,.08)}
  .topbar .wrap{height:auto;flex-wrap:wrap;padding:0}
  .brand{width:100%;padding:10px 20px 6px;align-items:center;text-align:center;gap:0}
  .brand .sub{font-size:9.5px;letter-spacing:0.26em}
  .brand .sub em{display:none}
  .brand .name{font-size:17px}
  .tel{display:none}
  nav{width:100%;overflow-x:auto;flex-wrap:nowrap;gap:7px;padding:2px 14px 11px;font-size:12.5px;justify-content:flex-start;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav a{white-space:nowrap;padding:7px 14px;border:1px solid var(--line);border-radius:99px;color:#4a4c50;background:#fff}
  nav a.consult-link{order:-1;border-radius:99px;background:var(--navy);border-color:var(--navy);color:#fbfaf9;padding:7px 16px;font-weight:500}
  nav a.home-link{flex-direction:row;border-radius:99px;padding:7px 14px;border:1px solid var(--line)}
  nav a.home-link .hl-t{display:none}
  nav a.home-link .hl-b{font-size:13px}

  /* ── 히어로: 타이포 중심, 책은 가로 배너로 ── */
  .hero{padding:36px 0 38px}
  .hero::before{font-size:190px;right:-44px;top:-26px;color:rgba(177,85,60,.10)}
  .hero::after{inset:10px}
  .hero .wrap{flex-direction:column;align-items:stretch;gap:24px}
  .hero .kicker{font-size:10.5px;letter-spacing:0.26em;gap:10px;margin-bottom:14px}
  .hero .kicker::before,.hero .kicker::after{width:24px}
  .hero h1{font-size:23px;line-height:1.6;margin-bottom:12px}
  .hero .hero-sub{font-size:14.5px;margin-bottom:10px}
  .hero .hero-sub br{display:inline}
  .hero p{font-size:13.5px;line-height:1.85;color:#5f6166}
  .together-box{margin-top:16px;padding:16px 16px 6px}
  .together-lead{font-size:13px;margin-bottom:6px}
  .together-lead em{font-size:14.5px}
  .together{flex-direction:column;align-items:stretch}
  .tg{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-right:none;margin-right:0;padding:10px 2px;border-bottom:1px dashed rgba(177,85,60,.25)}
  .tg:last-child{border-bottom:none}
  .tg b{font-size:14px;position:relative;padding-left:14px}
  .tg b::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;background:var(--accent);border-radius:50%}
  .tg span{font-size:11px;color:#9a927e;text-align:right;letter-spacing:0}
  .hero .quiet-links{margin-top:18px;gap:10px}
  .hero .quiet-links a{flex:1;text-align:center;border:1px solid rgba(177,85,60,.5);border-radius:2px;padding:13px 8px;font-size:13.5px}
  .hero .quiet-links a:first-child{background:var(--navy);border-color:var(--navy);color:#fbfaf9}
  .hero-book{width:100%;min-height:0;flex-direction:row;align-items:center;gap:14px;padding:16px 18px;margin:0;outline-offset:3px}
  .hero-book>div:first-child{flex:1}
  .hero-book .bk{font-size:9.5px;letter-spacing:0.2em}
  .hero-book .bt{font-size:16px;margin-top:6px;line-height:1.45}
  .hero-book .bs{font-size:12px;margin-top:4px}
  .hero-book .ba{border-top:none;border-left:1px solid rgba(205,139,115,.35);padding-top:0;padding-left:14px;font-size:11px;max-width:124px;line-height:1.7}

  /* ── 섹션 머리 ── */
  .sec-head{flex-direction:column;align-items:flex-start;gap:5px;padding-bottom:12px;margin-bottom:22px}
  .sec-label{font-size:10.5px;letter-spacing:0.26em;margin-bottom:3px}
  .sec-title{font-size:21px}
  .sec-sub{font-size:13.5px}
  .sec-side{font-size:11.5px;color:#9b9ea2}

  /* ── 연구노트 ── */
  .note{padding:18px 18px 16px}
  .note .no{font-size:11px}
  .note h3{font-size:15.5px}
  .note p{font-size:12.5px;line-height:1.75}
  .note .basis{font-size:11px}
  .nl{flex-wrap:wrap;gap:2px 10px;padding:13px 16px}
  .nl-no{min-width:0;font-size:11px}
  .nl-d{margin-left:auto;font-size:11px}
  .nl-t{width:100%;order:3;font-size:13.5px;line-height:1.6}
  .more{font-size:13px}

  /* ── 비교표: 첫 열 고정 + 좌우 스크롤 ── */
  body{word-break:keep-all}
  /* 비교표 — 세로화면 폭에 딱 맞춤 (스크롤 없음) */
  .matrix{width:100%;table-layout:fixed}
  .matrix th,.matrix td{padding:6px 3px}
  .matrix thead th{font-size:10px;padding:8px 2px;word-break:keep-all;line-height:1.45}
  .matrix thead th:first-child{width:37%;padding-left:8px}
  .matrix thead th.us-col{font-size:10.5px}
  .matrix td.area{font-size:11.5px;padding-left:8px;line-height:1.5;width:auto}
  .matrix td.area small{font-size:9.5px;line-height:1.4}
  .matrix td.mk{font-size:11px;width:auto}
  .matrix td.us{font-size:11px;width:auto}
  .matrix td.grp{font-size:9.5px;letter-spacing:0.16em;padding:3px 8px}
  .legend{flex-wrap:wrap;gap:6px 14px;font-size:11px}
  .legend span:last-child{margin-left:0 !important;width:100%}
  .matrix-line{font-size:13px;padding-left:12px}

  /* ── 통계 밴드 ── */
  .stats{flex-wrap:wrap}
  .stat{flex:1 1 45%;padding:16px 8px}
  .stat .n{font-size:22px}
  .stat .l{font-size:11.5px}

  /* ── 연구진 ── */
  .people{gap:16px}
  .person{padding:22px 20px}
  .person h3{font-size:17.5px}
  .person h3 .aff{display:block;margin-left:0;margin-top:4px}
  .person>p{min-height:0;font-size:12.5px}
  .person ul:nth-of-type(1){min-height:0}
  .person li{font-size:11.5px}
  .people-link{font-size:12.5px;text-align:left}

  /* ── 서가: 2단 표지 그리드, 근간은 가로 배너 ── */
  .shelf{grid-template-columns:1fr 1fr;gap:12px}
  .book.soon{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:16px 18px}
  .book.soon .m{margin-top:0;text-align:right;font-size:11px}
  .book.soon .t{font-size:14.5px}
  .book.soon .st{font-size:12px;margin-top:3px}
  .bcov{height:150px;padding:8px}
  .book.real.noimg::before{height:150px;padding:14px;font-size:12.5px;line-height:1.6}
  .book.real .m{padding:10px 12px 12px;font-size:10.5px;line-height:1.6}
  .book.real .m b{font-size:12px;min-height:0}
  .book.real .buy{font-size:11px;padding-top:8px}

  /* ── 오시는 길 ── */
  .loc{gap:14px}
  .loc-info{padding:22px 20px}
  .loc-info h3{font-size:16.5px}
  .loc-info dl{font-size:13.5px}
  .map-btn{padding:12px 10px;font-size:13px}
  .loc-map{min-height:220px}
  .loc-map iframe{min-height:220px}
  .loc-map .map-cap{padding:5px 10px;font-size:11px}

  /* ── 푸터 ── */
  footer{padding:30px 0 46px;font-size:11.5px;line-height:1.95;text-align:center}

  /* ── 하위 페이지 ── */
  .about-hero,.consult-hero,.art-hero{padding:30px 0 26px}
  .crumb{margin-bottom:16px;font-size:12px}
  .about-hero h1,.consult-hero h1{font-size:22px}
  .about-hero .sub{font-size:14px}
  .about-hero::before,.consult-hero::before,.art-hero::before{font-size:180px;right:-36px;top:-60px}
  .essay p,.abody p{font-size:14px;line-height:1.95}
  .pull{font-size:16.5px;padding-left:14px}
  .risks{gap:12px}
  .risk{padding:18px}
  .joint{padding:22px 18px 20px}
  .j-flex{flex-direction:column;gap:20px}
  .j-text{border-left:none;padding-left:0;border-top:1px dashed var(--line);padding-top:16px;width:100%}
  .j-row{flex-direction:column;gap:8px}
  .j-card{width:100%;min-width:0;padding:12px 16px}
  .j-plus{font-size:18px;margin:-2px 0}
  .j-lab{font-size:15.5px}
  .j-lead{font-size:16px}
  .j-text p{font-size:12.5px}
  .about-person{padding:22px 20px}
  .about-person h3{font-size:18px}
  .about-person h3 .aff{display:block;margin-top:4px}
  .about-person p{font-size:13.5px}
  .abody{padding:26px 0 18px}
  .abody h3{font-size:16px}
  .art-hero h1{font-size:19px;line-height:1.6}
  .art-hero .ano{font-size:11px}
  .bx{padding:13px 15px;font-size:12.5px}
  .tracks{gap:12px}
  .track{padding:18px}
  .detail{padding:22px 18px;margin-top:24px}
  .detail h2{font-size:18px}
  .d-grid{grid-template-columns:1fr;gap:18px}
  .d-col li{font-size:13px}
  .step{font-size:13.5px;gap:14px;padding:14px 0}
  .contact-row{gap:14px;margin-top:24px}
  .cbox{padding:20px 18px}
  .cbox .big{font-size:17px}
  .cbox .cbtn{padding:13px 0}
  .consult-note{font-size:12px}
  .gate{padding:22px 18px}
  .gate-btns{gap:10px}
  .gate-btns a{flex:1;text-align:center;padding:12px 10px;font-size:13px}
  .art-nav{flex-direction:column;gap:10px;align-items:flex-start;padding:16px 0 40px}
  .fields{gap:14px}
  .field{padding:22px 20px}
  .field h3{font-size:16.5px}
  .fields-cta{flex-direction:column;align-items:stretch;text-align:center;gap:12px;padding:18px 20px}
  .fields-cta a{padding:13px}
  .bookline{padding-left:20px;margin-left:5px}
  .bl .t{font-size:14px}
}

/* ══ 가로 폰 · 작은 태블릿 (641~940px) ══ */
@media (min-width:641px) and (max-width:940px){
  .wrap{padding:0 26px}
  section{padding:42px 0}
  /* 상단바 — 한 줄 정렬, 전화번호 숨김 */
  .topbar .wrap{height:auto;flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:12px 24px}
  .tel{display:none}
  nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:13.5px}
  nav a.home-link .hl-t{font-size:10px}
  /* 히어로 — 두 칼럼 유지하되 크기 조정 */
  .hero{padding:44px 0 40px}
  .hero::before{font-size:300px;right:-40px;top:-50px}
  .hero .wrap{flex-direction:row;align-items:center;gap:34px}
  .hero h1{font-size:25px}
  .hero p{font-size:14px}
  .hero-book{width:188px;min-height:248px;padding:22px 17px;margin:0}
  /* 카드 그리드 — 2단 재배치 */
  .notes{grid-template-columns:1fr 1fr}
  .notes>.note:nth-child(3){grid-column:1/-1}
  .shelf{grid-template-columns:1fr 1fr;gap:16px}
  .book.soon{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:18px 22px}
  .book.soon .m{margin-top:0;text-align:right;font-size:12px}
  .book.real.noimg::before{height:210px}
  .bcov{height:210px}
  .people{grid-template-columns:1fr 1fr;gap:16px}
  .person{padding:22px 20px}
  .person>p{min-height:0}
  .person ul:nth-of-type(1){min-height:0}
  .loc{grid-template-columns:1fr 1.2fr}
  .fields{grid-template-columns:1fr 1fr;gap:16px}
  .risks{grid-template-columns:repeat(3,1fr);gap:12px}
  .risk{padding:18px 16px}
  .tracks{grid-template-columns:1fr 1fr}
  .d-grid{grid-template-columns:1fr 1fr}
  .contact-row{grid-template-columns:repeat(3,1fr);gap:14px}
  .cbox{padding:20px 18px}
  .stats{flex-wrap:wrap}
  .stat{flex:1 1 22%}
}


/* ══ 가상자산과세연구소 — 추가 규칙 ══ */
/* 자문 분야 카드의 담당 직역 표시 */
.field .fh{gap:12px}
.field .fw{font-size:10.5px;letter-spacing:0.14em;color:var(--accent);border:1px solid rgba(177,85,60,.35);background:rgba(177,85,60,.06);padding:3px 9px;border-radius:2px;white-space:nowrap;flex-shrink:0}
/* 상담 트랙 5개 — 마지막 카드는 한 줄 전체 */
.tracks .track:nth-child(5){grid-column:1 / -1}
/* 운영 구조 다이어그램 */
.joint .j-row .j-card{font-size:14px}
.joint .j-row .j-card small{font-size:10.5px}
a.j-lab{display:block;cursor:pointer;transition:all .18s}
a.j-lab:hover{outline-color:var(--accent);box-shadow:0 8px 22px rgba(40,44,51,.28)}
/* 상단 — 관련 사이트 링크 2개 */
.site-links{display:flex;align-items:stretch;gap:7px}
nav a.home-link{padding:4px 11px;line-height:1.45}
nav a.home-link .hl-t{font-size:9.5px;letter-spacing:0.02em}
nav a.home-link .hl-b{font-size:11.5px}
/* 히어로 — 책 표지 이미지 */
.hero-book.cover{width:246px;min-height:0;padding:0;display:block;overflow:hidden;background:#1f2228;
  border:1px solid var(--accent-l);outline:1px solid rgba(177,85,60,.34);outline-offset:5px;
  box-shadow:0 22px 48px rgba(30,33,39,.42)}
.hero-book.cover img{width:100%;height:auto;display:block}
/* 메인 4개 섹션 — 흰색/아이보리 교차 (비교표 섹션 삭제 반영) */
#view-main section:nth-of-type(1){background:#fff}
#view-main section:nth-of-type(2){background:#f5f4f2}
#view-main section:nth-of-type(3){background:#fff}
#view-main section:nth-of-type(4){background:#f5f4f2}
/* 히어로 — 「함께 …」 항목 사이 세로 구분선 삭제 */
.hero .together .tg{border-right:none}
/* 히어로 — 「함께 …」 5항목을 한 줄에, 박스 폭을 균등하게 채움 */
@media(min-width:1060px){
  .hero .together{flex-wrap:nowrap;align-items:flex-start}
  .hero .together .tg{flex:1 1 0;min-width:0;padding:2px 14px 2px 0;margin-right:0}
  .hero .together .tg b{white-space:nowrap}
  .hero .together .tg:last-child{padding-right:0}
  .hero .together .tg b{font-size:16.5px;line-height:1.35}
  .hero .together .tg span{font-size:12px}
  .hero .together-box{padding:16px 20px 14px}
}
/* 서가 5권 */
@media(min-width:641px){ .shelf{grid-template-columns:repeat(5,1fr)} }
@media(max-width:640px){
  .site-links{display:contents}
  .field .fh{flex-wrap:wrap}
  .tracks .track:nth-child(5){grid-column:auto}
  .hero-book.cover{width:186px;align-self:center;margin:0 auto;flex-direction:column;padding:0}
}

/* ══ 규정 대응 · 캠페인 배너 추가분 ══ */
.topnotice{background:#1e2127;color:#b6b9bd;font-size:11.5px;line-height:1.7;padding:9px 0;letter-spacing:-0.01em}
.topnotice b{color:#e6e3df;font-weight:500}
.deadline{display:block;background:linear-gradient(90deg,#f8ece7 0%,#fbf5f2 100%);border-top:1px solid rgba(177,85,60,.28);border-bottom:1px solid rgba(177,85,60,.28)}
.deadline .wrap{display:flex;align-items:center;gap:16px;padding:13px 24px}
.dl-tag{font-family:var(--serif);font-weight:700;font-size:14.5px;color:#fff;background:var(--accent);padding:4px 12px;border-radius:2px;white-space:nowrap}
.dl-t{font-family:var(--serif);font-size:15px;color:var(--navy);font-weight:600;flex:1;min-width:0}
.dl-go{font-size:12.5px;color:var(--accent);white-space:nowrap;border-bottom:1px solid rgba(177,85,60,.5);padding-bottom:1px}
.deadline:hover .dl-go{color:var(--navy);border-bottom-color:var(--navy)}
.engage-note{border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--card);padding:16px 20px;margin-top:26px;font-size:13px;line-height:1.9;color:#4b4d51}
.engage-note b{color:var(--navy);font-weight:600}
@media(max-width:640px){
  .topnotice{font-size:10.5px;padding:8px 0}
  .deadline .wrap{flex-wrap:wrap;gap:8px;padding:12px 20px}
  .dl-t{font-size:13.5px;flex:1 1 100%}
}

/* ══ 개별 페이지 구조 전환 ══ */
.view,.art{display:block}
.privacy{max-width:820px;margin:0 auto}
.privacy h3{font-family:var(--serif);font-size:17px;color:var(--navy);margin:26px 0 8px;font-weight:700}
.privacy p,.privacy li{font-size:13.5px;line-height:1.95;color:#4b4d51}
.privacy ul{margin:6px 0 6px 18px}
.privacy li{margin:3px 0}
.privacy .meta{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:14px}

/* ══ 브랜드 — 광고 주체(3개 사무소) 전면 표시 ══ */
.brand .sub{font-size:11px;letter-spacing:0.005em;color:var(--accent);font-weight:500;white-space:nowrap}
.brand .name{font-size:19px;letter-spacing:0.02em}
@media(max-width:640px){
  .brand .sub{font-size:9px;letter-spacing:0;white-space:normal;line-height:1.5}
  .brand .name{font-size:16px}
}
@media(max-width:380px){ .brand .sub{font-size:8.5px} }

/* ══ 최상단 고지 — 좌우 균형 ══ */
.topnotice .wrap{text-align:center;max-width:1010px}
.topnotice{font-size:12px;line-height:1.75}
br.nb{display:none}
@media(min-width:1000px){ .topnotice br.nb{display:inline} }
@media(max-width:640px){ .topnotice{font-size:10.5px;line-height:1.7} .topnotice .wrap{text-align:left} }
