/* DNA Discovery typography — single authority for the /newdesign interface.
   Component styles contain layout/color only. Feature-engine overrides live here. */
:root{--nd-font:Arial,Helvetica,sans-serif;--nd-text:17px;--nd-small:14px;--nd-label:12px;--nd-control:16px;--nd-title:clamp(36px,5vw,72px);--nd-profile-title:clamp(36px,4.8vw,68px);--nd-section:clamp(28px,3vw,42px);--nd-card:24px;--nd-body-leading:1.65;--nd-heading-leading:1.1;--nd-heading-tracking:-.045em;--nd-regular:400;--nd-medium:600;--nd-bold:700;--nd-heavy:800}
html body:is(.newdesign,.nd-wheel){font-family:var(--nd-font)!important;font-size:var(--nd-text);line-height:var(--nd-body-leading);font-weight:var(--nd-regular);-webkit-font-smoothing:antialiased}
html body:is(.newdesign,.nd-wheel) :is(button,input,select,textarea,summary,a,p,h1,h2,h3,h4,strong,span,small,label,li,dt,dd,time){font-family:var(--nd-font)!important}
.newdesign :is(h1,h2,h3,h4){font-weight:var(--nd-bold);line-height:var(--nd-heading-leading);letter-spacing:var(--nd-heading-tracking);overflow-wrap:anywhere}
.newdesign h1{font-size:var(--nd-title)}
.newdesign h2{font-size:var(--nd-section)}
.newdesign h3{font-size:var(--nd-card)}
.newdesign :is(button,input,select,textarea){font-size:var(--nd-control);line-height:1.4;letter-spacing:normal}
.newdesign :is(button,label,summary){font-weight:var(--nd-medium)}
.newdesign :is(.nd-kicker,.dd-kicker,.gallery-label,.article-intro,.intro-strip .small){font-size:var(--nd-label);font-weight:var(--nd-bold);letter-spacing:.12em;line-height:1.5;text-transform:uppercase}
.newdesign .nd-header .wordmark,.nd-wheel .nd-wheel-brand{font-size:23px;font-weight:var(--nd-heavy);letter-spacing:-.055em;line-height:1.1}
.newdesign .nd-header .nav a,.nd-wheel .nd-wheel-nav a{font-size:16px;font-weight:var(--nd-medium);line-height:1.4;letter-spacing:normal}
.newdesign :is(.nd-footer a,.page-label,.hero-caption,.gallery-label,.section-picker label){font-size:var(--nd-small);line-height:1.45}
.newdesign .page-label{font-weight:var(--nd-medium)}
.newdesign .name{font-size:var(--nd-profile-title);font-weight:var(--nd-heavy);line-height:1.06;letter-spacing:-.055em}
.newdesign .title-foot{font-size:clamp(17px,1.45vw,20px);font-weight:var(--nd-medium);line-height:1.4;letter-spacing:-.015em}
.newdesign .intro-strip strong{font-size:clamp(18px,2vw,24px);line-height:1.3;letter-spacing:-.025em}
.newdesign :is(.sectionnav a,.section-picker a.submit-update,.chapter-nav,.reading-tools button,.event-tools button){font-size:15px;font-weight:var(--nd-bold);line-height:1.4;letter-spacing:normal}
.newdesign :is(.nd-lead,.dd-people-intro,.dd-family-intro){font-size:clamp(18px,1.7vw,22px);line-height:1.55}
.newdesign .nd-reading p,.newdesign .story-chapter p{font-size:calc(18px + var(--adjust,0px));line-height:1.8;letter-spacing:normal;font-weight:var(--nd-regular)}
.newdesign .story-chapter h2{font-size:var(--nd-section);line-height:1.15;letter-spacing:-.04em}
.newdesign :is(.section-ident,.reading-progress-label){font-size:var(--nd-label);font-weight:var(--nd-medium);letter-spacing:.08em;line-height:1.5}
.newdesign .gallery figcaption{font-size:17px;line-height:1.55}
.newdesign .gallery figcaption strong{font-size:clamp(26px,2.8vw,40px);font-weight:var(--nd-bold);line-height:1.12;letter-spacing:-.04em}
.newdesign :is(.gallery .media-source,.nd-muted,.dd-result-actions a,.dd-family-wheel,.dd-record-match){font-size:15px;line-height:1.6}
.newdesign .fam-group h3{font-size:15px;font-weight:var(--nd-bold);line-height:1.5;letter-spacing:.06em;text-transform:uppercase}
.newdesign .person-row strong,.newdesign .event strong{font-size:18px;line-height:1.4}
.newdesign :is(.person-row span,.person-row small,.event p,.event time,.notes p,.aux li){font-size:calc(16px + var(--adjust,0px));line-height:1.65}
.newdesign :is(.event small,.event-atlas,.note-num){font-size:var(--nd-small);line-height:1.5}
.newdesign .reading-size-label{font-size:var(--nd-small);line-height:1.4}
.newdesign .cite{font-size:12px;font-weight:var(--nd-bold)}
.newdesign .dd-person-result h2,.newdesign .dd-family-person{font-size:26px;line-height:1.2;font-weight:var(--nd-bold);letter-spacing:-.025em}
.newdesign .nd-surname-grid a{font-size:clamp(24px,3vw,36px);font-weight:var(--nd-bold);letter-spacing:-.035em;line-height:1.2}
.newdesign .nd-generation>h2 span{font-size:16px;letter-spacing:normal;font-weight:var(--nd-regular)}
.newdesign .nd-feature .nd-arrow{font-size:32px;line-height:1}
.newdesign .nd-home-art span{font-size:clamp(18px,2.8vw,42px);font-weight:var(--nd-heavy);letter-spacing:-.05em;line-height:1.3}
.newdesign.nd-update h1{font-size:clamp(36px,4.5vw,60px)}
.newdesign.nd-update :is(input,textarea,select,button){font-size:16px;line-height:1.5;font-weight:var(--nd-regular)}
.newdesign.nd-update :is(summary,label,button){font-weight:var(--nd-medium)}
.newdesign.nd-update summary{font-size:18px;line-height:1.4}
.newdesign.nd-update small{font-size:14px;line-height:1.5;font-weight:var(--nd-regular)}
html body.newdesign #family-atlas,html body.newdesign #family-atlas *,html body.newdesign .dd-profile-map *,html body.nd-wheel :is(header,aside,footer,dialog,#focus-view-bar,#focus-search-panel,#focus-controls-panel) *{font-family:var(--nd-font)!important}
html body.newdesign :is(.dd-profile-map,#family-atlas) .leaflet-control-attribution,html body.newdesign :is(.dd-profile-map,#family-atlas) .leaflet-control-attribution a{font-size:12px!important;line-height:1.4!important;font-weight:400!important}
/* Compact map and wheel UI share one readable control scale. !important bridges legacy engines. */
html body.newdesign #family-atlas :is(button,summary,label,small),html body.nd-wheel :is(button,a.button,summary,label){font-size:14px!important;line-height:1.45!important;font-weight:var(--nd-medium)!important;letter-spacing:normal!important}
html body.newdesign #family-atlas :is(input,select),html body.nd-wheel :is(input,select,textarea){font-size:16px!important;line-height:1.4!important;letter-spacing:normal!important}
html body.newdesign #family-atlas .fa-title h1{font-size:32px!important;line-height:1.1!important;font-weight:var(--nd-bold)!important;letter-spacing:var(--nd-heading-tracking)!important}
html body.newdesign #family-atlas :is(.fa-panel h2,.fa-card h2,#ah-panel h2,#an-panel h2,#ae-panel h2){font-size:22px!important;line-height:1.2!important;font-weight:var(--nd-bold)!important;letter-spacing:-.025em!important}
html body.newdesign #family-atlas .fa-panel-head h2{font-size:18px!important}
html body.newdesign #family-atlas .fa-result strong{font-size:18px!important;font-weight:var(--nd-bold)!important;line-height:1.35!important}
html body.newdesign #family-atlas :is(.fa-result span,.fa-result small,.fa-card p,.fa-card li){font-size:14px!important;line-height:1.55!important;font-weight:var(--nd-regular)!important}
html body.newdesign #family-atlas #fa-reader-name{font-size:clamp(28px,4vw,44px)!important;line-height:1.15!important;letter-spacing:-.035em!important}
html body.newdesign #family-atlas #fa-reader-content{font-size:18px!important;line-height:1.8!important}
html body.newdesign .dd-profile-map .dd-places-heading h2{font-size:var(--nd-section)!important;line-height:1.15!important;letter-spacing:var(--nd-heading-tracking)!important}
html body.newdesign .dd-profile-map :is(p,.dd-places-status,.dd-places-note,.dd-place-event){font-size:16px!important;line-height:1.65!important}
html body.newdesign .dd-profile-map :is(button,summary,a){font-size:16px!important;line-height:1.45!important;letter-spacing:normal!important}
html body.newdesign .dd-profile-map small{font-size:14px!important;line-height:1.5!important}
html body.nd-wheel :is(aside,#family-reader) h2{font-size:28px!important;line-height:1.15!important;letter-spacing:-.035em!important}
html body.nd-wheel :is(aside,#family-reader) :is(p,li,.life){font-size:16px!important;line-height:1.65!important;letter-spacing:normal!important}
html body.nd-wheel aside h3{font-size:15px!important;line-height:1.4!important;letter-spacing:.04em!important}
html body.nd-wheel dialog h2{font-size:28px!important;line-height:1.15!important;letter-spacing:-.035em!important}
html body.nd-wheel #dd-ux-tip{font-size:14px!important;line-height:1.5!important}
html body.nd-wheel #journey-panel *,html body.nd-wheel .journey-help-dialog *{font-family:var(--nd-font)!important}
html body.nd-wheel #journey-person-name{font-size:28px!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.035em!important}
html body.newdesign :is(#ah-reader,#an-reader,#ae-reader) *{font-family:var(--nd-font)!important}
html body.newdesign :is(#ah-reader,#an-reader,#ae-reader) h2{font-size:clamp(30px,4vw,48px)!important;line-height:1.1!important;letter-spacing:-.04em!important}
html body.newdesign :is(#ah-reader,#an-reader,#ae-reader) p{font-size:18px!important;line-height:1.8!important}
html body.newdesign #family-atlas :is(#ah-panel,#an-panel,#ae-panel) :is(strong,em){font-style:normal!important;line-height:1.45!important;letter-spacing:normal!important}
@media(max-width:850px){:root{--nd-profile-title:clamp(32px,6vw,48px)}.newdesign .title-foot{font-size:17px}.newdesign .nd-header .wordmark{font-size:21px}}
@media(max-width:600px){:root{--nd-title:34px;--nd-section:30px;--nd-card:22px}.newdesign :is(.nd-lead,.dd-people-intro,.dd-family-intro){font-size:16px;line-height:1.55}.newdesign .nd-header .nav a{font-size:15px}.newdesign .nd-home-hero h1{font-size:46px}.newdesign .name{font-size:36px}.newdesign .nd-surname-grid a{font-size:26px}.newdesign .story-chapter p{font-size:calc(17px + var(--adjust,0px))}.newdesign .section-picker label{font-size:12px}html body.newdesign #family-atlas .fa-title h1{font-size:28px!important}html body.nd-wheel #focus-view-bar button{font-size:13px!important}.nd-wheel .nd-wheel-brand{font-size:18px}.nd-wheel .nd-wheel-nav a{font-size:13px}}
