/* Shared editorial styling for Norman Davis and author case dossiers. */
.nd-record{--record-gold:#b49358;--record-border:#deded7;background:#f5f4f0}
.nd-record .rec-hero{padding:28px 0 48px;background:radial-gradient(ellipse at 85% 30%,#244361 0,transparent 48%),linear-gradient(120deg,#0c1d30,#102b46);border-bottom:3px solid var(--record-gold)}
.nd-record .crumbs{margin-bottom:34px;font-size:.75rem;color:#b5c2cf}
.nd-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:72px}
.nd-hero-copy{min-width:0}
.nd-record .rec-hero .eyebrow{font-size:.68rem;letter-spacing:.2em;color:#dcc38f}
.nd-record .rec-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,5.2vw,4.6rem);font-weight:400;line-height:1.04;letter-spacing:-.035em;max-width:660px;margin:18px 0 22px}
.nd-record .rec-sub{max-width:550px;font-size:1.06rem!important;line-height:1.7;color:#c3cdd8!important;margin-bottom:18px!important}
.nd-record .nd-author{font-size:.88rem;color:#d0d9e2}
.nd-author strong{color:#fff;font-weight:600}
.nd-author span{display:inline-block;margin-left:8px;color:#aebdcf;font-size:.8rem}
.nd-file{display:flex;flex-direction:column;gap:5px;padding-top:24px;margin-top:24px;border-top:1px solid #ffffff24}
.nd-file>span,.nd-label{font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.nd-file>span{color:#b4c1d0}
.nd-file strong{font-family:ui-monospace,monospace;font-size:.92rem;font-weight:500;letter-spacing:.04em;color:#f3e5ca}
.nd-hero-actions{display:flex;align-items:center;gap:22px;margin-top:24px}
.nd-hero-actions .btn{border-radius:3px;font-size:.81rem;padding:12px 18px;gap:20px;background:#d1b17b;border-color:#d1b17b;color:#10253b}
.nd-hero-actions .btn:hover{background:#e5c99a}
.nd-print{font:inherit;font-size:.8rem;color:#d6e0eb;background:none;border:0;border-bottom:1px solid #788b9e;padding:4px 0;cursor:pointer}
.nd-book{margin:0;text-align:center;justify-self:center}
.nd-book>a{display:block;max-width:232px;margin:auto;padding:0;box-shadow:8px 12px 0 #00000020,0 22px 50px #0007;transition:transform .2s}
.nd-book>a:hover{transform:translateY(-4px)}
.nd-book img{width:232px;height:auto;border:1px solid #c2ac7555}
.nd-book figcaption{margin-top:22px;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:#a8bbcc}
.nd-book figcaption a{display:block;margin-top:7px;color:#e4c990;font-size:.75rem;letter-spacing:.02em;text-transform:none;text-underline-offset:4px}
.nd-summary{background:#fff;border-bottom:1px solid var(--record-border)}
.nd-summary-grid{display:grid;grid-template-columns:1.65fr repeat(3,1fr);padding-top:23px;padding-bottom:23px}
.nd-summary-grid>div{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 28px;border-left:1px solid var(--record-border)}
.nd-summary-grid>div:first-child{border:0;padding-left:0}
.nd-summary-grid>div>strong{font-family:Georgia,serif;font-size:2rem;font-weight:400;color:var(--navy);line-height:1.2;font-variant-numeric:tabular-nums}
.nd-summary .nd-label{color:#586777}
.nd-summary .nd-current-status>strong{font-family:inherit;font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:9px;margin:4px 0}
.nd-current-status small{font-size:.67rem;color:#667383}
.nd-status-dot{width:8px;height:8px;border-radius:50%;background:var(--s-hold);box-shadow:0 0 0 4px var(--s-hold-bg)}
.nd-record .rec-page{padding-top:46px;padding-bottom:60px}
.nd-record .rec-layout{grid-template-columns:220px minmax(0,1fr);gap:36px}
.nd-record .rec-nav{padding-top:10px}
.nd-record .rec-nav-h{font-size:.66rem;color:#6a716e;margin-bottom:18px}
.nd-record .rec-nav ul{border-left:1px solid #d5d7d5}
.nd-record .rec-nav ul a{font-size:.79rem;padding:10px 0 10px 16px;font-weight:500}
.nd-record .rec-nav ul a small{font-size:.64rem;margin-top:4px;line-height:1.45}
.nd-record .rec-nav ul a.on{border-color:var(--record-gold);color:var(--navy);font-weight:700}
.nd-record .rec-nav-actions{padding-top:15px;border-top:1px solid var(--record-border)}
.nd-record .rec-nav-actions .btn{border-radius:3px;font-size:.72rem;min-height:40px}
.nd-record .rec-sec{background:#fff;border:1px solid var(--record-border);border-radius:4px;padding:30px;margin-bottom:24px;box-shadow:0 3px 12px #102b4603;overflow-wrap:anywhere}
.nd-record .rec-sec>h2,.nd-record .rec-sec-head h2{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:400;letter-spacing:-.025em;line-height:1.22}
.nd-record .rec-sec>h2::before{content:'';display:block;width:30px;height:2px;background:var(--record-gold);margin-bottom:15px}
.nd-record .rec-sec>p.muted{font-size:.84rem;line-height:1.8;margin:14px 0 22px}
.nd-record .rec-kv{border-color:var(--record-border);border-radius:2px}
.nd-record .rec-kv>div{padding:15px 17px;border-color:#e9e9e3}
.nd-record .rec-kv dt{font-size:.6rem;letter-spacing:.09em;margin-bottom:7px;color:#67717b}
.nd-record .rec-kv dd{font-size:.82rem;line-height:1.65}
.nd-record .rec-kv>.wide{background:#fafaf7}
.nd-record .rec-progs{gap:16px}
.nd-record .rec-prog{box-shadow:0 4px 12px #0f274205;border:1px solid var(--record-border);border-top:3px solid var(--record-gold);border-radius:3px;padding:20px}
.nd-record .rec-prog-top{margin-bottom:20px}
.nd-record .rec-prog-top .hc{font-size:.86rem;letter-spacing:.07em;background:#edf1f5;border:0;padding:5px 9px;color:#233e59}
.nd-record .badge{font-size:.61rem;letter-spacing:.04em;border-radius:3px;padding:4px 8px}
.nd-record .rec-prog h3{font-size:.98rem;line-height:1.45;margin-bottom:10px}
.nd-record .rec-num{font-size:.66rem;letter-spacing:-.025em;margin-bottom:14px}
.nd-record .rec-prog p.small{font-size:.76rem;line-height:1.75;flex:1}
.nd-record .rec-prog-stats{font-size:.67rem;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.nd-record .rec-prog-fee{background:#f6f5ef;border:1px solid #e7e2d6;border-radius:3px;padding:10px 12px;align-items:center;margin-bottom:18px;font-size:.69rem}
.nd-record .rec-prog-fee strong{font-size:1.15rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nd-record .rec-prog .more{font-size:.73rem;text-decoration:none}
.nd-record .rec-prog .more:hover{text-decoration:underline;text-underline-offset:4px}
.nd-record .rec-fee-total{background:#102b46;border:0;border-left:3px solid var(--record-gold);border-radius:3px;color:#fff;align-items:center;padding:20px 22px}
.nd-record .rec-fee-total span{font-size:.75rem;font-weight:500;color:#d2dce5}
.nd-record .rec-fee-total strong{font-family:Georgia,serif;font-size:1.85rem;font-weight:400;color:#e5c995;font-variant-numeric:tabular-nums}
.nd-record .rec-sec h3{font-size:.96rem}
.nd-record .rec-sec-head .eyebrow{font-size:.63rem;letter-spacing:.12em;color:#79613e}
.nd-record .rec-hold{border-radius:2px;border-color:#e1e5e8;border-left:3px solid #a6b1bd;background:#fcfcfb;padding:18px}
.nd-record .rec-hold h4{font-size:.85rem;line-height:1.5}
.nd-record .rec-hold p,.nd-record .rec-docs li,.nd-record .rec-release,.nd-record .rec-steps li,.nd-record .rec-statements p{font-size:.81rem;line-height:1.8}
.nd-record .rec-docs,.nd-record .rec-steps li,.nd-record .rec-release,.nd-record .rec-statements{border-radius:3px}
.nd-record .rec-statements{background:#f8f8f5;border-color:var(--record-border)}
.nd-record table{font-size:.78rem;line-height:1.7}
.nd-record th{background:#edf1f4;color:#243d57;font-size:.65rem;letter-spacing:.04em}
.nd-record td{padding:14px 16px}
.nd-record .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:960px){
 .nd-hero-grid{grid-template-columns:minmax(0,1fr) 220px;gap:36px}
 .nd-book img{width:200px}
 .nd-record .rec-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .nd-record .rec-nav{padding:12px 20px;margin:-20px -20px 0;background:#f5f4f0}
 .nd-record .rec-nav ul{border:0}
 .nd-record .rec-nav ul a{padding:7px 12px;font-size:.74rem}
 .nd-record .rec-nav ul a.on{background:#102b46;color:#fff;border-color:#102b46}
 .nd-summary-grid>div{padding:0 18px}
}
@media(max-width:600px){
 .nd-record .rec-hero{padding:22px 0 32px}
 .nd-record .crumbs{margin-bottom:28px}
 .nd-hero-grid{grid-template-columns:1fr;gap:34px}
 .nd-record .rec-hero h1{font-size:2.9rem;max-width:360px}
 .nd-record .rec-hero .eyebrow{font-size:.58rem;letter-spacing:.12em}
 .nd-record .rec-sub{font-size:.94rem!important}
 .nd-author span{display:block;margin:4px 0 0}
 .nd-book img{width:175px}
 .nd-book figcaption{margin-top:18px}
 .nd-hero-actions{gap:18px}
 .nd-summary-grid{grid-template-columns:repeat(3,1fr);gap:20px 0;padding-top:20px;padding-bottom:20px}
 .nd-summary-grid .nd-current-status{grid-column:1/-1;border-bottom:1px solid var(--record-border);padding:0 0 18px}
 .nd-summary-grid>div:nth-child(2){border:0;padding-left:0}
 .nd-summary-grid>div{padding:0 12px;justify-content:flex-start}
 .nd-summary-grid>div>strong{font-size:1.8rem}
 .nd-summary .nd-label{font-size:.55rem;letter-spacing:.08em}
 .nd-record .rec-sec{padding:22px 18px}
 .nd-record .rec-sec>h2,.nd-record .rec-sec-head h2{font-size:1.45rem}
 .nd-record .rec-progs{grid-template-columns:1fr}
 .nd-record .rec-prog{padding:20px}
 .nd-record .rec-hold-h{flex-wrap:wrap;gap:6px}
 .nd-record .rec-fee-total{padding:16px}
 .nd-record .rec-kv>div{padding:13px}
}
@media(prefers-reduced-motion:reduce){.nd-book>a{transition:none}}
@media print{
 .nd-record{background:#fff}
 .nd-record .rec-hero{background:#fff;color:#102b46;padding:0 0 20px}
 .nd-record .rec-hero h1,.nd-record .rec-hero p,.nd-record .rec-hero .eyebrow,.nd-file strong,.nd-file>span,.nd-author strong,.nd-author span{color:#102b46!important}
 .nd-hero-grid{grid-template-columns:1fr 150px;gap:25px}
 .nd-book img{width:130px}
 .nd-book>a{box-shadow:none}
 .nd-book figcaption,.nd-hero-actions{display:none}
 .nd-record .rec-sec{box-shadow:none;padding:18px;margin-bottom:20px}
 .nd-record .rec-layout{display:block}
 .nd-record .rec-fee-total{background:#fff;color:#102b46;border:1px solid #ccc}
 .nd-record .rec-fee-total span,.nd-record .rec-fee-total strong{color:#102b46}
 .nd-record .rec-prog{break-inside:avoid}
}

/* Long program menus remain reachable on full dossier pages. */
@media(min-width:961px){
 .author-dossier .rec-nav{max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain}
}
.author-dossier .nd-hero-actions{flex-wrap:wrap}

/* Document state is conveyed by text, symbols and color, including in print. */
.author-dossier .requirement-state{display:inline-block;margin-left:10px;font-size:.7rem;font-weight:700;padding:2px 8px;border:1px solid currentColor;border-radius:3px}
.author-dossier .requirement-detail{display:block;color:#526171;font-size:.76rem;margin-top:4px}
.author-dossier .rec-docs li::before{display:grid;place-items:center;font-size:12px;line-height:1;font-weight:800}
.author-dossier .rec-docs .requirement-completed::before{content:"✓";color:#176445;border-color:#176445;background:#e9f5ee}
.author-dossier .requirement-completed .requirement-state{color:#176445;background:#e9f5ee}
.author-dossier .rec-hold.requirement-completed{border-left-color:#368260}
.author-dossier .rec-docs .requirement-rejected::before{content:"×";color:#a32335;border-color:#a32335;background:#fff0f1}
.author-dossier .requirement-rejected .requirement-state{color:#a32335;background:#fff0f1}
.author-dossier .rec-hold.requirement-rejected{border-left-color:#a32335}
.author-dossier .rec-docs .requirement-clarification-needed::before{content:"!";color:#855c12;border-color:#b58b42;background:#fff8e9}
.author-dossier .requirement-required .requirement-state,.author-dossier .requirement-clarification-needed .requirement-state{color:#855c12;background:#fff8e9}
.author-dossier .requirement-summary{padding:18px 20px;border:1px solid #d4dee5;border-left:4px solid #b58b42;background:#fffaf0;margin-bottom:22px;border-radius:3px}
.author-dossier .requirement-summary p{font-size:.82rem;margin:7px 0}
.author-dossier .requirement-summary>span{font-size:.75rem;font-weight:700}
.author-dossier .outcome-approved{border-left-color:#368260;background:#f0f8f3}
.author-dossier .outcome-registration-declined{border-left-color:#a32335;background:#fff4f4}
