/* The Exceptional Private Practice — shared reading shell.
   Paper and ink match the approved Daily Brief so the framed brief sits seamlessly in the page. */
:root{
  --paper:#fbf8f2; --paper-2:#f3ece0; --ink:#1f2328; --muted:#5d5a55; --rule:#e2d9c9;
  --bronze:#a16e49; --bronze-ink:#8a5a36; --gold:#be9a48; --charcoal:#202020; --link:#8a5a36;
  --display:"Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --serif:Charter, "Bitstream Charter", "Iowan Old Style", "Sitka Text", Georgia, "Times New Roman", serif;
  --sans:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--paper:#14181f;--paper-2:#1b2029;--ink:#ece8e0;--muted:#aab0ba;--rule:#2d333d;--bronze:#d2a27a;--bronze-ink:#e0b48e;--gold:#d6b46a;--charcoal:#0f1217;--link:#e0b48e}
}
:root[data-theme="dark"]{--paper:#14181f;--paper-2:#1b2029;--ink:#ece8e0;--muted:#aab0ba;--rule:#2d333d;--bronze:#d2a27a;--bronze-ink:#e0b48e;--gold:#d6b46a;--charcoal:#0f1217;--link:#e0b48e}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans)}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,summary:focus-visible,iframe:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:50;background:var(--paper);color:var(--ink);padding:.5rem .8rem;border:1px solid var(--bronze)}
.wrap{width:min(72rem,100% - 2rem);margin-inline:auto}

/* Masthead */
.site-head{border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:.75rem 2rem;flex-wrap:wrap;padding:1.1rem 0}
.wordmark{font:500 clamp(1.2rem,2.4vw,1.55rem)/1.1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.005em}
.wordmark span{font-style:italic;color:var(--bronze)}
.site-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;font-size:.86rem}
.site-nav a{color:var(--ink);text-decoration:none;padding:.3rem 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom-color:var(--bronze)}
.ext::after{content:" ↗";font-size:.8em;color:var(--bronze)}

/* Publication intro */
.pub-hero{padding:clamp(2.5rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem);text-align:center}
.pub-hero .kicker,.deeper-head .kicker,.reader-top .kicker{font:600 .74rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink);margin:0 0 1rem}
.pub-hero h1{font:500 clamp(2.3rem,6.4vw,4.4rem)/1.04 var(--display);letter-spacing:-.015em;margin:0 auto;max-width:16ch}
.pub-hero h1 em{color:var(--bronze);font-weight:400}
.pub-hero .subtitle{font:400 clamp(1.05rem,2.2vw,1.3rem)/1.5 var(--sans);color:var(--muted);margin:1.1rem auto 0;max-width:38rem}
.pub-hero .intro{font:400 1rem/1.7 var(--sans);margin:1.4rem auto 0;max-width:34rem}
.rule-ornament{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:2.2rem auto 0;color:var(--bronze);font:italic 500 1rem/1 var(--display)}
.rule-ornament::before,.rule-ornament::after{content:"";height:1px;width:min(9rem,22vw);background:var(--bronze);opacity:.55}

/* Article crumb row on the article page */
.crumbs{padding:1.5rem 0 0;font-size:.82rem;color:var(--muted)}
.crumbs a{color:var(--muted)}

/* The brief publication copy (gold with a footer-only change), framed */
.brief-frame{display:block;width:100%;height:85vh;border:0;background:var(--paper)}
.brief-frame.is-fitted{height:auto}
.brief-alt{text-align:center;font-size:.8rem;color:var(--muted);margin:.25rem 0 0}

/* Go deeper — shown only after the full brief */
.deeper{background:var(--paper-2);border-top:1px solid var(--rule);padding:clamp(3rem,7vw,5rem) 0}
.deeper-head{text-align:center;max-width:40rem;margin:0 auto clamp(2rem,5vw,3rem)}
.deeper-head h2{font:500 clamp(1.9rem,4.4vw,2.9rem)/1.1 var(--display);margin:0}
.deeper-head p{color:var(--muted);margin:.8rem 0 0}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.25rem)}
.choice{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);color:var(--ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.choice:hover{border-color:var(--bronze);transform:translateY(-2px)}
.choice:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.choice figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);border-bottom:1px solid var(--rule)}
.choice figure img{width:100%;height:100%;object-fit:cover;display:block}
.choice .body{padding:clamp(1.25rem,3vw,1.9rem);display:flex;flex-direction:column;gap:.6rem;flex:1}
.choice .label{font:600 .72rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink)}
.choice h3{font:500 clamp(1.5rem,3vw,2rem)/1.15 var(--display);margin:0}
.choice p{margin:0;color:var(--muted);font-size:.96rem}
.choice .go{margin-top:auto;padding-top:.6rem;font-weight:500;color:var(--bronze-ink)}
.choice .go::after{content:" →"}
@media (max-width:720px){.choices{grid-template-columns:1fr}}

/* Footer */
.site-foot{background:var(--charcoal);color:#e9e2d6;padding:2.6rem 0 2.2rem;font-size:.86rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem}
.site-foot .wordmark{color:#f6efe4}
.site-foot nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.site-foot a{color:#e9e2d6}
.site-foot .fine{flex-basis:100%;color:#b9b0a2;font-size:.78rem;margin:0;max-width:52rem}

/* ---------- Story reader ---------- */
.reader{padding:clamp(2rem,6vw,4rem) 0 4rem}
.reader-top{width:min(42rem,100% - 2rem);margin:0 auto}
.reader h1{font:500 clamp(2.1rem,5.6vw,3.5rem)/1.08 var(--display);letter-spacing:-.012em;margin:.4rem 0 0}
.reader .byline{font-size:.86rem;color:var(--muted);margin:1rem 0 0}
.prose{width:min(42rem,100% - 2rem);margin:2rem auto 0;font:400 1.15rem/1.72 var(--serif)}
.prose>p:first-child em{display:block;font-size:1.22rem;line-height:1.55;color:var(--muted);border-left:2px solid var(--bronze);padding-left:1.1rem;margin-bottom:.6rem}
.prose p{margin:0 0 1.15rem}
.prose h2{font:500 clamp(1.6rem,3.6vw,2.15rem)/1.15 var(--display);margin:3.2rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--rule)}
.prose h3{font:600 1.22rem/1.3 var(--display);margin:2.2rem 0 .7rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2rem}
.prose li{margin:.35rem 0}
.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:2px solid var(--gold);font-style:italic}
.prose sup{line-height:0;font:600 .7em/0 var(--sans)}
.prose sup a{text-decoration:none;padding:0 .08em}
.prose strong{font-weight:700}
.prose :target{scroll-margin-top:1.5rem}
.teaching-figure{margin:2.4rem calc(50% - min(30rem,50vw - 1rem));width:min(60rem,100vw - 2rem)}
.teaching-figure img{display:block;width:100%;border:1px solid var(--rule);background:#fff;cursor:zoom-in}
.teaching-figure figcaption{font:400 .9rem/1.5 var(--sans);color:var(--muted);margin:.7rem auto 0;max-width:42rem;text-align:center}
.teaching-figure .image-zoom{display:block;text-align:center;font:500 .82rem/1.4 var(--sans);margin-top:.35rem}
.teaching-figure[data-role="clinic"]{width:min(42rem,100vw - 2rem);margin-inline:auto}
details.evidence{margin:3rem 0 1rem;border:1px solid var(--rule);background:var(--paper-2);padding:1rem 1.2rem}
details.evidence>summary{cursor:pointer;font:500 1.35rem/1.3 var(--display)}
details.evidence[open]>summary{margin-bottom:1rem}
.evidence-description{font:400 .92rem/1.5 var(--sans);color:var(--muted)}
details.evidence p{font-family:var(--sans);font-size:.95rem}
.table-scroll{overflow-x:auto;margin:0 0 1.6rem;border:1px solid var(--rule);background:var(--paper)}
.evidence-table{border-collapse:collapse;min-width:52rem;width:100%;font:400 .84rem/1.45 var(--sans)}
.evidence-table th,.evidence-table td{border-bottom:1px solid var(--rule);padding:.6rem .7rem;text-align:left;vertical-align:top}
.evidence-table th{background:var(--paper-2);font-weight:600;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.prose #references+ol{font:400 .86rem/1.55 var(--sans);overflow-wrap:anywhere}
.reader-end{width:min(42rem,100% - 2rem);margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;font-size:.92rem}
.reader-end a{font-weight:500}

/* Image viewer */
dialog.viewer{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(96vw,80rem);max-height:94vh;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.viewer::backdrop{background:rgba(15,18,23,.82)}
.viewer-bar{position:sticky;top:0;display:flex;justify-content:flex-end;gap:.5rem;padding:.6rem;background:var(--paper);border-bottom:1px solid var(--rule)}
.viewer-bar button{font:500 .9rem/1 var(--sans);padding:.55rem .9rem;border:1px solid var(--bronze);background:transparent;color:var(--ink);cursor:pointer;min-width:2.75rem}
.viewer-scroll{overflow:auto;max-height:calc(94vh - 3.6rem)}
.viewer-scroll img{display:block;width:100%;max-width:none;margin:0 auto}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-head nav,.deeper,.site-foot nav,.viewer-bar{display:none}}
