/* DRLE-ASTRO-01 • Shared visual system • prototype only */
:root{--ct-ink:#0b2c40;--ct-accent:#207eaa;--ct-accent-pale:#d9f0f9;--ct-line:#d7e5ec;--ct-surface:#f2f8fb;--ct-deep:#06283b;--ct-shadow:0 18px 50px rgba(5,43,69,.085)}
body{min-width:320px;background:#fff;color:var(--ct-ink)}
body::selection{background:#c8e7f4;color:#092b40}
img{max-width:100%}
.site-header{position:relative;z-index:25;background:rgba(255,255,255,.98);border-bottom:1px solid #dfeaf0}
.site-header nav>a:focus-visible,.brand:focus-visible{border-radius:3px}
.article-hero.ct-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);column-gap:clamp(36px,5vw,100px);row-gap:8px;min-height:465px;align-content:center;padding-top:64px;padding-bottom:64px;background:linear-gradient(104deg,#fff 2%,#f5fafd 51%,#dceef6 100%);position:relative;overflow:hidden}
.ct-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 84% 18%,rgba(110,192,231,.22),transparent 34%)}
.ct-hero>*:not(.ct-scan){grid-column:1;position:relative;z-index:1;min-width:0}
.ct-hero .breadcrumbs{margin-bottom:18px;color:#617989;flex-wrap:wrap}
.ct-hero .eyebrow,.ct-profile .eyebrow{color:#217b9e;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.ct-hero h1{margin:10px 0 5px!important;max-width:810px;font:normal clamp(43px,4.7vw,68px)/1.09 var(--serif);color:var(--ct-deep);letter-spacing:-.04em}
.ct-hero h1 em,.ct-profile h1 em{font-style:normal;color:var(--ct-ink)}
.ct-hero .article-lead{max-width:770px;margin:15px 0 0;font-size:clamp(16px,1.28vw,19px);line-height:1.7;color:#3d5d6e}
.ct-hero .review-note{margin:18px 0 0;font-size:11px;border-left:2px solid #51a4c7;padding:8px 0 8px 12px;color:#506b7c}
.ct-scan{grid-column:2;grid-row:1 / span 14;position:relative;align-self:stretch;width:100%;min-width:0;margin:0;min-height:330px;background:#082c43;border:1px solid rgba(140,191,219,.35);border-radius:12px;overflow:hidden;box-shadow:0 24px 62px rgba(6,44,70,.19)}
.ct-scan__media{position:absolute;inset:0 0 68px;overflow:hidden;background:#092e47}
.ct-scan__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,32,51,.64),transparent 35%),linear-gradient(90deg,rgba(10,51,76,.14),transparent 60%);pointer-events:none}
.ct-scan img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.ct-scan__cross{position:absolute;z-index:1;color:#b4e5fc;opacity:.75;font-size:25px;font-weight:200}
.ct-scan__cross--one{top:12%;left:7%}.ct-scan__cross--two{right:8%;bottom:18%}
.ct-scan figcaption{position:absolute;bottom:0;left:0;right:0;min-height:68px;background:rgba(5,37,56,.95);border-top:1px solid #306783;color:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:10px 18px}
.ct-scan__eyebrow{grid-column:1 / -1;color:#9bd2ec;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.ct-scan figcaption strong{font-weight:600;font-size:14px}
.ct-scan figcaption small{font-size:10px;color:#c3dfe9;text-align:right;line-height:1.35}
.article-layout{grid-template-columns:minmax(180px,240px) minmax(0,810px);gap:clamp(25px,5vw,72px);max-width:1390px;margin:auto;align-items:start}
.toc{position:sticky;top:18px;padding:23px 23px 19px;border:1px solid var(--ct-line);border-radius:9px;background:#f7fafc;box-shadow:0 8px 25px rgba(9,42,65,.035)}
.toc nav{gap:4px}.toc nav a{padding:9px 0;color:#2c4e60;border-color:#dfebf1;line-height:1.5}
.toc nav a:hover{color:#0c709b}
.article-body{min-width:0;color:#284253}.article-body h2{color:#0b3045;font:normal clamp(27px,2.25vw,36px)/1.2 var(--serif)}
.article-body h2:not(:first-child){padding-top:8px}
.article-body p,.article-body li{font-size:16px;line-height:1.85;color:#365061}
.article-body .clinical-notice{margin-top:48px;background:#fff7f1;border-color:#bd754d;border-radius:0 7px 7px 0}
.article-body .clinical-notice h2{font-size:26px;padding-top:0}
.ct-pathways{background:linear-gradient(115deg,#eff7fb,#fff);border-top:1px solid #d9e7ee;border-bottom:1px solid #dce8ee;padding:65px var(--gutter);max-width:none}
.ct-pathways__top{max-width:1320px;margin:auto}.ct-pathways h2{font:normal clamp(30px,3vw,43px)/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 26px}.ct-pathways h2 em{font-style:italic;color:#247aa1}
.ct-pathways__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1320px;margin:auto}
.ct-pathways__grid a{display:flex;justify-content:space-between;align-items:center;min-width:0;gap:12px;background:#fff;text-decoration:none;color:#153b52;padding:20px 17px;border:1px solid #d6e5eb;border-radius:8px;min-height:100px;box-shadow:0 5px 20px rgba(9,57,89,.035)}
.ct-pathways__grid a:hover{border-color:#56a2c8;box-shadow:var(--ct-shadow)}
.ct-pathways__grid strong{font-size:16px;font-weight:650;display:block;line-height:1.2}.ct-pathways__grid small{font-size:11px;line-height:1.35;color:#607886;display:block;margin-top:7px}.ct-pathways__grid a>span:last-child{color:#2684ae;font-size:19px}
.ct-profile{background:linear-gradient(115deg,#fff,#f1f8fb);grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);align-items:center;gap:clamp(34px,6vw,110px);min-height:550px}
.ct-profile>div:first-child{max-width:640px}
.ct-profile h1{font:normal clamp(48px,5vw,76px)/1.04 var(--serif);letter-spacing:-.045em;color:#0c2e43}
.ct-profile>div:first-child>p:not(.eyebrow){font-size:17px;line-height:1.65;color:#476477}
.ct-profile .ct-scan{min-height:435px;max-height:560px;grid-column:auto;grid-row:auto}
.profile-content{max-width:none;background:#eff7fa;padding:76px var(--gutter)}
.profile-content>div{max-width:670px}
.profile-content h2{color:#0e354a}.profile-content .large-copy{color:#1a4760}
.consult-grid{max-width:1340px;margin:auto;grid-template-columns:1.2fr minmax(280px,.8fr);gap:65px}
.checklist{background:#fff;border:1px solid var(--ct-line);border-radius:9px;padding:7px 25px 25px;box-shadow:0 7px 25px rgba(8,47,71,.04)}
.checklist label:hover{background:#f4f9fb}.checklist label{padding:16px 7px}
.appointment{border:1px solid var(--ct-line);border-top:4px solid var(--ct-accent);border-radius:8px;box-shadow:0 12px 34px rgba(7,48,74,.075)}
.appointment .eyebrow{color:#155f80}
.faq details{background:#fff;border-color:#d5e3ea}.faq details[open]{background:#f8fbfd;padding-left:12px;border-left:3px solid #3698c0}
.library{gap:36px;padding-top:65px;padding-bottom:70px;max-width:1350px;margin:auto}
.library>section{width:100%;max-width:none;border:1px solid var(--ct-line);border-radius:11px;padding:33px 38px 38px;box-shadow:0 12px 35px rgba(11,48,71,.04);background:linear-gradient(130deg,#fff,#f8fbfd)}
.library>section h2{font-size:clamp(29px,3vw,42px)}
.library #hombro{border-top:4px solid #2b83aa}
.library #rodilla{border-top:4px solid #64a3bd}
.library #cadera{border-top:4px solid #2c5b80}
.resource-rows>a{color:#214a60}.resource-rows>a:hover{color:#0b80ae}
.next-reading,.closing:not(.ct-error){background:linear-gradient(118deg,#092f45,#194b66);color:#f0f7fb}
.next-reading h2,.closing:not(.ct-error) h2,.next-reading h2 em,.closing:not(.ct-error) h2 em{color:#fff}
.next-reading .button.secondary,.closing:not(.ct-error) .button{background:#fff;color:#0c344a;border-color:#fff}
.ct-error{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:55px;background:linear-gradient(110deg,#ebf5fa,#fff);color:#153a4e;padding-top:70px;padding-bottom:70px}
.ct-error h1,.ct-error h1 em{color:#0c344a}.ct-error .ct-scan{grid-column:auto;grid-row:auto;min-height:340px}
.ct-error .button{background:#103d56;color:#fff;border-color:#103d56}
.system{max-width:1340px}.system .swatches>div{border-radius:7px;border-color:#c7dfe9;min-height:170px}
/* The older presentation code is retained for content fidelity, not visible abstract artwork. */
.profile-art,.sculpture{display:none!important}
@media(max-width:1100px){.ct-pathways__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-hero.ct-hero{grid-template-columns:minmax(0,1fr) minmax(240px,.68fr);gap:9px 33px}.ct-hero h1{font-size:clamp(40px,4.8vw,60px)}.ct-profile{gap:30px}}
@media(max-width:760px){.article-hero.ct-hero{display:flex;flex-direction:column;gap:16px;min-height:0;padding-top:35px;padding-bottom:42px}.ct-hero .breadcrumbs{margin-bottom:6px}.ct-hero h1{font-size:clamp(38px,9.8vw,54px);margin:4px 0!important;line-height:1.08}.ct-hero .article-lead{font-size:16px;margin:4px 0}.ct-hero .review-note{order:3}.ct-hero .ct-scan{order:4;min-height:270px;max-height:350px;width:100%;margin-top:11px}.ct-hero .ct-scan__media{bottom:61px}.ct-scan figcaption{min-height:61px}.article-layout{padding-top:35px}.toc{position:static;padding:17px}.ct-profile{grid-template-columns:1fr;padding-top:36px;padding-bottom:48px;min-height:0;gap:25px}.ct-profile h1{font-size:clamp(42px,10.2vw,56px)}.ct-profile .ct-scan{min-height:340px}.ct-pathways{padding:55px var(--gutter)}.ct-pathways__grid{grid-template-columns:1fr;gap:9px}.ct-pathways__grid a{min-height:75px;padding:13px 17px}.ct-pathways h2{font-size:32px}.library{padding-top:46px}.library>section{padding:24px 20px}.ct-error{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:30px}.ct-error .ct-scan{min-height:280px}.profile-content{padding:55px var(--gutter)}.consult-grid{grid-template-columns:minmax(0,1fr);gap:25px}}
@media(max-width:420px){.ct-scan figcaption{padding:9px 11px;column-gap:6px}.ct-scan figcaption small{font-size:9px}.ct-scan figcaption strong{font-size:12px}.ct-hero h1{font-size:38px}.ct-profile .ct-scan{min-height:295px}}
@media print{.ct-scan,.ct-pathways{display:none!important}.article-hero.ct-hero{display:block;background:none}.ct-error{display:block}.toc{position:static}}

.information-copy{max-width:920px;margin-inline:auto}
.information-copy a:focus-visible,.information-copy summary:focus-visible{outline:2px solid #0c4963;outline-offset:4px}

/* Keep annotation text readable where illustrations and gradients meet. */
.ct-hero .eyebrow,.ct-profile .eyebrow,.ct-error .eyebrow,.ht-doctor__copy .ht-eyebrow{color:#145675}
.ht-doctor__copy>p:not(.ht-eyebrow):not(.ht-doctor__lead){color:#345165}
.ht-hero__overlay,.ht-hero__concept{background:#0b3045}
.ht-hero__concept{padding:4px 6px;border-radius:3px;text-shadow:none}
