:root{
  --navy:#0b2035;--navy-2:#102d47;--teal:#0c766f;--teal-2:#095a56;
  --gold:#c9a66a;--paper:#f6f9fb;--card:#fff;--ink:#163044;--muted:#516c73;
  --line:#dce8ed;--ok:#0f5c52;--warn:#7a5c2e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.pub{
  margin:0;font-family:Calibri,Segoe UI,system-ui,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.65;
}
.pub a{color:var(--teal);text-decoration:none}
.pub a:hover{text-decoration:underline}
.pub-header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px 22px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;
}
.pub-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.pub-brand img{width:42px;height:42px;border-radius:8px;object-fit:cover;background:#173d49}
.pub-brand strong{display:block;font-size:.92rem;letter-spacing:.04em}
.pub-brand small{display:block;font-size:.72rem;opacity:.82;font-weight:400}
.pub-nav{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.pub-nav a{color:#d7e4ea;font-size:.86rem;text-decoration:none}
.pub-nav a:hover{color:#fff}
.pub-nav .cta{
  background:var(--teal);color:#fff;padding:8px 12px;border-radius:9px;font-weight:700;
}
.pub-nav .cta:hover{background:var(--teal-2);text-decoration:none}
.pub-wrap{max-width:1080px;margin:0 auto;padding:28px 20px 64px}
.pub-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:center;margin-bottom:28px}
.pub-hero--expert{background:linear-gradient(120deg,#0b2035,#123c49);color:#fff;border-radius:22px;padding:clamp(24px,4vw,52px)}
.pub-hero--expert h1{color:#fff}
.pub-hero--expert .pub-lead{color:#deeaef}
.pub-hero--expert .pub-eyebrow{color:#eac78f}
.pub-hero--expert .profile{background:#ffffff12;border-color:#ffffff48;color:#fff}
.pub-hero--expert .profile .muted{color:#dce9ef}
.pub-hero--expert .btn-primary{background:#d5aa6e;color:#0b2035}
.pub-hero--expert .btn-primary:hover{background:#efd09e}
.pub-eyebrow{margin:0 0 6px;color:var(--warn);font-size:.78rem;letter-spacing:.12em;font-weight:700}
.pub-hero h1,.pub h1{margin:0 0 12px;font-size:2.15rem;line-height:1.2;color:var(--navy)}
.pub-lead{font-size:1.08rem;color:var(--muted);margin:0 0 18px}
.pub-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn{
  display:inline-flex;align-items:center;gap:6px;padding:11px 16px;border-radius:10px;
  font-weight:750;text-decoration:none;border:0;cursor:pointer;font-size:.95rem;
}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-2);text-decoration:none}
.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-ghost:hover{text-decoration:none;border-color:var(--teal)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 28px}
.card,.notice{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;
}
.card h3,.card h2.card-title{margin:8px 0 8px;color:var(--navy)}.card h2.card-title{font-size:1.17em}
.num{display:inline-block;color:#866630;font-weight:800;letter-spacing:.08em;font-size:.78rem}
.price{font-size:1.35rem;font-weight:800;color:var(--navy);margin:8px 0}
.muted{color:var(--muted);font-size:.92rem}
.notice{background:#f0f7f6;border-color:#b9d8d3}
.notice.warn{background:#f7f1e8;border-color:#e0d0b4}
table.price{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
table.price th,table.price td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
table.price th{background:var(--navy);color:#fff;font-weight:700}
.form{display:grid;gap:12px}
.form label{display:grid;gap:4px;font-weight:650;font-size:.9rem}
.form input,.form select,.form textarea{
  font:inherit;padding:10px 12px;border:1px solid #c5d5db;border-radius:10px;background:#fff;
}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pub-footer{
  background:var(--navy);color:#b9c9d2;padding:22px 20px;font-size:.84rem;
}
.pub-footer .inner{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pub-footer a{color:#efcf93}
.profile{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.profile img{width:84px;height:112px;object-fit:cover;border-radius:10px}
.toc a{display:block;padding:6px 0;border-bottom:1px dashed var(--line)}
.article p{margin:0 0 14px}
.article h2{margin:28px 0 10px;color:var(--navy);font-size:1.35rem}
.article h3{margin:20px 0 8px;color:var(--navy)}
.article ul{margin:0 0 14px;padding-left:18px}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:16px}
.crumbs a{color:var(--muted)}
@media(max-width:860px){
  .pub-hero,.card-grid,.form .row{grid-template-columns:1fr}
  .pub-nav .hide-sm{display:none}
  .pub-hero h1,.pub h1{font-size:1.7rem}
  .pub-header{padding:10px 12px;gap:8px}
  .pub-brand{min-width:0;gap:8px}
  .pub-brand span{min-width:0}
  .pub-brand small{font-size:.67rem;line-height:1.25}
  .pub-nav{flex:0 0 auto;gap:6px}
  .pub-nav .cta{white-space:nowrap;padding:7px 10px;font-size:.78rem;line-height:1.15;border:1px solid #d4b273}
}
@media(max-width:430px){
  .pub-brand img{width:38px;height:38px}
  .pub-brand strong{font-size:.82rem}
  .pub-brand small{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.pub .pub-brand{color:#fff}
.pub .btn-primary{color:#fff}
.pub .btn-ghost{color:var(--navy)}
.pub .pub-hero--expert h1{color:#fff}
.pub .pub-hero--expert .btn-primary{color:#0b2035}
table.price{font-size:.92rem;font-weight:400;color:var(--ink)}
@media(max-width:700px){table.price{display:block;overflow-x:auto;font-size:.84rem}table.price th,table.price td{min-width:112px}}

.notice a{text-decoration:underline;text-underline-offset:2px}
