/* ---- For Surgeons section — loaded in addition to journal.css ---- */

.sg-head{max-width:1140px;margin:0 auto;padding:170px 24px 0}
.sg-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.2vw,60px);line-height:1.12;margin-bottom:20px}
.sg-head .lead{color:var(--ink-dim);font-size:17px;max-width:720px;line-height:1.85}
.sg-head .lead + .lead{margin-top:18px}

.sg-wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.sg-narrow{max-width:820px}
section.sg{max-width:1140px;margin:0 auto;padding:74px 24px;border-top:1px solid var(--hairline)}
section.sg:first-of-type{border-top:0}
section.sg > h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3.4vw,38px);line-height:1.22;margin-bottom:16px}
section.sg > .eyebrow{margin-bottom:16px}
section.sg > p{color:var(--ink-dim);font-size:15.5px;max-width:760px;margin-bottom:20px;line-height:1.85}
section.sg > p strong{color:var(--ink);font-weight:500}

/* credential strip */
.cred{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin:38px 0 0}
.cred div{background:#101115;padding:26px 22px}
.cred .n{display:block;font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1.1;margin-bottom:9px}
.cred .t{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);line-height:1.6}
@media(max-width:860px){.cred{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.cred{grid-template-columns:1fr}}

/* text cards */
.sg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.sg-grid.two{grid-template-columns:repeat(2,1fr)}
.tcard{display:block;border:1px solid var(--hairline);background:#101115;padding:32px 28px 34px;transition:border-color .35s}
a.tcard:hover{border-color:rgba(201,168,106,.5)}
.tcard .meta{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
.tcard h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;margin-bottom:11px}
.tcard p{font-size:13.5px;color:var(--ink-dim);margin-bottom:16px;line-height:1.75}
.tcard .more{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
@media(max-width:900px){.sg-grid,.sg-grid.two{grid-template-columns:1fr}}

/* spec / comparison table */
.spec{width:100%;border-collapse:collapse;margin:30px 0;font-size:14px;line-height:1.7}
.spec th,.spec td{border:1px solid var(--hairline);padding:14px 16px;text-align:left;vertical-align:top}
.spec th{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;background:#101115}
.spec td:first-child{color:var(--gold);font-size:12px;letter-spacing:.06em;white-space:nowrap}
.spec td{color:var(--ink-dim)}
@media(max-width:640px){.spec{font-size:12.5px}.spec th,.spec td{padding:10px}.spec td:first-child{white-space:normal}}

/* key-value list */
.kv{margin:26px 0;border-top:1px solid var(--hairline)}
.kv > div{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:18px 0;border-bottom:1px solid var(--hairline)}
.kv dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);line-height:1.7}
.kv dd{color:var(--ink-dim);font-size:14.5px;line-height:1.8}
@media(max-width:700px){.kv > div{grid-template-columns:1fr;gap:6px}}

/* numbered protocol steps */
.steps{counter-reset:s;margin:28px 0;max-width:820px}
.steps li{list-style:none;counter-increment:s;position:relative;padding:0 0 24px 60px;color:var(--ink-dim);font-size:15px;line-height:1.85}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--serif);font-size:18px;color:var(--gold);letter-spacing:.06em}
.steps li b{display:block;color:var(--ink);font-weight:500;font-size:15.5px;margin-bottom:5px}

/* bulleted list */
.blist{margin:20px 0 26px;max-width:820px}
.blist li{list-style:none;position:relative;padding:0 0 13px 22px;color:var(--ink-dim);font-size:15px;line-height:1.8}
.blist li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:1px;background:var(--gold)}
.blist li b{color:var(--ink);font-weight:500}

/* callout */
.callout{border:1px solid rgba(201,168,106,.4);background:#101115;padding:32px 34px;margin:36px 0;max-width:860px}
.callout b{display:block;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:13px;font-weight:500}
.callout p{color:var(--ink-dim);font-size:15px;line-height:1.85;margin-bottom:14px}
.callout p:last-child{margin-bottom:0}
.callout p strong{color:var(--ink);font-weight:500}

/* references */
.refs{margin:26px 0 0;counter-reset:r;max-width:900px}
.refs li{list-style:none;counter-increment:r;position:relative;padding:0 0 16px 40px;font-size:13.5px;line-height:1.75;color:var(--ink-dim)}
.refs li::before{content:"[" counter(r) "]";position:absolute;left:0;top:0;color:var(--gold);font-size:12px}
.refs a{color:var(--gold);border-bottom:1px solid rgba(201,168,106,.3)}
.refs a:hover{border-bottom-color:var(--gold)}
.refs i{color:var(--ink)}

/* attribution / origin box */
.origin{border-left:2px solid var(--gold);padding:6px 0 6px 26px;margin:32px 0;max-width:820px}
.origin p{color:var(--ink-dim);font-size:15px;line-height:1.85;margin-bottom:14px}
.origin p:last-child{margin-bottom:0}
.origin strong{color:var(--ink);font-weight:500}

/* inline CTA row */
.ctarow{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;align-items:center}
.btn-ghost{display:inline-block;padding:13px 30px;border:1px solid var(--hairline);color:var(--ink-dim);font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:border-color .3s,color .3s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ===== TODO placeholder — REMOVE ALL OF THESE BEFORE PUBLISHING ===== */
.todo{display:block;border:1px dashed #d08a3a;background:rgba(208,138,58,.07);color:#e0a869;padding:18px 22px;margin:22px 0;font-size:13px;line-height:1.75;letter-spacing:.02em}
.todo b{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:8px;color:#d08a3a}
