/* Review-only shared components. Original editorial compositions remain in their page styles. */
:root{--review-ink:#303c3c;--review-paper:#fcfaf6;--review-line:#c8cec8;--review-accent:#82483d}
html{scroll-padding-top:24px}body[data-review]{overflow-wrap:break-word}body[data-family="Meghan"]{--review-accent:#3d6370}
.review-header,.review-header *,.review-scope,.review-tree-shortcuts,.review-contents{box-sizing:border-box}
.review-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(24px,calc((100vw - 1360px)/2));background:var(--review-paper);border-bottom:1px solid var(--review-line);font:600 15px/1.5 Arial,sans-serif;color:var(--review-ink)}
.review-brand{font:700 25px/1.2 Georgia,serif;white-space:nowrap}.review-brand span{display:block;font:400 12px/1.6 Arial,sans-serif;letter-spacing:.04em;margin-top:4px}
.review-header a{text-decoration:none;color:inherit}.review-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.review-header nav>a,.review-header summary{display:inline-block;padding:10px 0;min-height:44px}.review-header details{position:relative}.review-header summary{cursor:pointer;list-style:revert}.review-menu{position:absolute;right:0;top:100%;width:245px;padding:12px;background:var(--review-paper);border:1px solid var(--review-line);box-shadow:0 12px 30px #303c3c20}.review-menu a{display:block;padding:10px 12px;min-height:44px}.review-header a:hover,.review-menu a:hover{text-decoration:underline;text-underline-offset:5px}
.review-scope{display:flex;justify-content:space-between;gap:16px;padding:13px max(24px,calc((100vw - 1360px)/2));background:#edf0e9;color:var(--review-ink);font:14px/1.6 Arial,sans-serif}.review-scope span span{padding:0 9px;color:#66716b}.review-scope a{color:var(--review-accent);white-space:nowrap;text-underline-offset:4px}
body[data-review] :focus-visible{outline:3px solid #b65a31!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fff!important}body[data-review] [id]{scroll-margin-top:24px}
.review-contents{background:#eeeae1;border-block:1px solid var(--review-line);padding:20px max(24px,calc((100vw - 1280px)/2));color:var(--review-ink)}.review-contents summary{cursor:pointer;font:700 16px/1.5 Arial,sans-serif;padding:8px 0;min-height:44px}.review-contents nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 0}.review-contents a{font:600 14px/1.5 Arial,sans-serif;color:var(--review-ink);display:inline-block;padding:9px 0;text-decoration:underline;text-underline-offset:4px}.review-contents .don-chapters{border:0;background:none}.review-contents .don-chapters-inner{width:100%;padding:0;gap:8px 24px}.review-contents .eyebrow{display:none}.review-sources{margin-top:4px}
/* Two heroes: bold editorial / intimate portrait. Preserve original type, palette and images. */
body[data-review="don"] .don-portrait figcaption{font-size:12px;letter-spacing:.04em}body[data-review="don"] .don-hero-copy a{font-size:13px}body[data-review="roy"] .mb-eyebrow{font:700 13px/1.6 Arial,sans-serif;letter-spacing:.07em}body[data-review="roy"] .mb-chapter p{max-width:65ch}body[data-review="roy"] .mb-links a{display:inline-block;padding:8px 0}
body[data-review] figcaption{font-size:max(13px, .8125rem);line-height:1.65}body[data-review] .mb-evidence figcaption{color:#46544c}body[data-review] .mb-evidence figcaption a{white-space:normal;color:#784b40}body[data-review] .research-evidence{border-color:var(--review-line)}
body[data-review] .chronicle-tabs{flex-wrap:wrap;overflow:visible}body[data-review] .chronicle-tabs a{font-size:14px;min-height:44px}body[data-review] .chronicle-item-meta{font-size:13px}body[data-review] .chronicle-item-body p{line-height:1.65}
body[data-review] :is(input,select,button){font-size:16px;line-height:1.5}body[data-review] :is(input,select){max-width:100%;min-height:44px}body[data-review] button{min-height:44px}body[data-review] .filter-row{gap:8px}body[data-review] .filter-row button{font-size:14px;padding:10px 15px}body[data-review] .filter-row button[aria-pressed="true"]{background:#303c3c;color:#fcfaf6;border-color:#303c3c}body[data-review] .minor-note{font-size:14px;line-height:1.6}body[data-review] .modal-close{min-width:44px}
.review-tree-shortcuts{display:flex;gap:8px 28px;flex-wrap:wrap;padding:12px max(24px,calc((100vw - 1360px)/2));background:var(--review-paper);border-bottom:1px solid var(--review-line);font:600 14px/1.5 Arial,sans-serif}.review-tree-shortcuts a{color:var(--review-accent);padding:10px 0;text-underline-offset:4px}
body[data-review] :is(.tree-controls,.tree-subcontrols,.mt-controls,.mt-depth){flex-wrap:wrap;gap:12px}body[data-review] :is(.tree-subcontrols,.mt-depth) label{font:600 14px/1.5 Arial,sans-serif}body[data-review] :is(.pedigree-viewport,.mt-viewport){max-width:100%;overscroll-behavior:contain}body[data-review] :is(.tree-lower,.tree-meta,.mt-explorer-grid)>*{min-width:0}body[data-review] :is(.search-help,.mt-context-note){font-size:14px;line-height:1.6}
@media(max-width:800px){.review-header{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 20px}.review-header nav{width:100%;gap:4px 20px}.review-header .review-menu{left:0;right:auto}.review-scope{padding:12px 20px;flex-wrap:wrap;gap:4px 16px}.review-contents{padding:16px 20px}.review-contents nav{gap:4px 18px}.review-tree-shortcuts{padding:12px 20px;gap:0 20px}body[data-review] :is(.tree-subcontrols,.mt-depth){align-items:stretch}body[data-review] :is(.tree-subcontrols,.mt-depth) select{width:100%}body[data-review] .chronicle-tabs{gap:6px}body[data-review] .chronicle-tabs a{white-space:normal}body[data-review="roy"] .mb-hero{padding:48px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body[data-review] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Corrections from the first rendered QA pass. */
body[data-review="chronicle"] :is(.chronicle-edition>span,.chronicle-tabs a span,.chronicle-overline,.chronicle-cta){color:#78483b;font-size:13px}
body[data-review="tree-zach"] :is(.family-research-heading,.section-head)>.eyebrow{color:#78483b;font-size:13px}
body[data-review="tree-zach"] .wrap>.eyebrow{color:#edc1a1;font-size:13px}
body[data-review="tree-zach"] :is(.family-research-note,.crumb-label,.generation-rail>div,.detail-kicker,.foot,.heat-summary p){color:#4e5f56;font-size:13px}
body[data-review="tree-zach"] .heat-wrap td span{color:#253c30!important;background:#edf1e9;border:1px solid #bec9bf;border-radius:3px;padding:2px 5px}
body[data-review="tree-meghan"] :is(.mt-heading,.mt-further) .mt-kicker{color:#814a3b;font-size:13px}
body[data-review="tree-meghan"] :is(dt,.mt-context-filter label,#meghan-history-count,.mt-context-note){color:#475b4d;font-size:13px}
body[data-review="tree-meghan"] .mt-jump{display:inline-block;min-height:44px;padding:12px 0;margin-right:18px;font-size:14px}
/* Container queries respond to the actual available reading width, including CSS magnification. */
body[data-review]{container-type:inline-size;container-name:review}
body[data-review] :is(.don-hero-copy,.don-portrait,.mt-shell,.mt-depth,.archive-entry-card,.review-header nav){min-width:0}
body[data-review] .don-hero-copy a{white-space:normal}
@container review (max-width:700px){
 body[data-review] :is(.don-hero,.don-section-head,.archive-entry-head,.section-head,.mt-heading,.mt-bottom,.mt-context-filter,.mt-story-grid,.tree-lower){grid-template-columns:minmax(0,1fr)}
 body[data-review] :is(.archive-entry-grid,.library-grid,.archive-branches){grid-template-columns:minmax(0,1fr)}
 body[data-review] .don-hero-copy{padding:48px 24px}.don-hero-copy h1{font-size:clamp(44px,17cqw,108px)!important}
 body[data-review] .don-portrait{padding:25px;min-height:0}body[data-review] .don-portrait figure{max-width:min(230px,100%)}
 body[data-review] :is(.don-section h2,.page-hero h1,.mt-hero h1){font-size:clamp(32px,11cqw,64px)}
 body[data-review] .review-header{flex-direction:column;align-items:flex-start;padding:18px 16px}.review-header nav{gap:4px 16px}.review-header .review-menu{left:0;right:auto;max-width:calc(100cqw - 32px)}
 body[data-review] :is(.mt-depth,.tree-subcontrols){width:100%;flex-wrap:wrap}body[data-review] :is(.mt-depth,.tree-subcontrols) select{width:100%;min-width:0}
 body[data-review] .review-scope{flex-wrap:wrap;padding:12px 16px}.review-scope a{white-space:normal}
}
body[data-review="tree-zach"] .foot{color:#4e5f56!important;font-size:13px!important}
body[data-review="tree-zach"] .heat-wrap td span{background:#edf1e9!important}
body[data-review="tree-meghan"] .mt-context-filter>*{min-width:0;max-width:100%}
body[data-review="tree-meghan"] .mt-context-filter select{width:100%;min-width:0;max-width:100%}


/* Final review refinement: recognizable, high-contrast deep-green interior masthead.
   This is confined to the six /interior-review/ copies. */
body[data-review] .review-header{
  background:#234a40;
  color:#fcfaf6;
  border-bottom-color:#18392f;
}
body[data-review] .review-header .review-menu{
  background:#fcfaf6;
  color:#263c38;
  border-color:#aebdb2;
}
body[data-review] .review-header :focus-visible{
  outline:3px solid #ffe2ae!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #234a40!important;
}
body[data-review] .review-header .review-menu :focus-visible{
  outline-color:#a44334!important;
  box-shadow:0 0 0 2px #fcfaf6!important;
}
body[data-review] .review-mobile-menu-link{display:none!important;}

/* Only essential functional labels grow. Fixed-width pedigree SVG node glyphs
   are left untouched until a separate tree-scale/list-view review. */
body[data-review="archive"] .archive-entry-card small,
body[data-review="archive"] .archive-entry-card .action,
body[data-review="archive"] .archive-branch-card small,
body[data-review="archive"] .archive-original-link{font-size:13px!important;line-height:1.5!important;}
body[data-review="archive"] .archive-entry-card .desc{font-size:14px!important;line-height:1.55!important;}
body[data-review="archive"] .eyebrow{font-size:max(13px,.8125rem);}
body[data-review="tree-meghan"] :is(.mt-control-label,.mt-legend,.mt-crumb,.mt-smallhead,.mt-detail dt,.mt-results button small,.mt-context-overline,.mt-context-filter label){font-size:13px;line-height:1.55;}
body[data-review="tree-meghan"] :is(.mt-footnote,.mt-context-links a,.mt-story-grid small,.mt-event-body .mt-event-evidence){font-size:13px;line-height:1.6;}
body[data-review="tree-zach"] :is(.family-research-heading .eyebrow,.family-research-note,.crumb-label,.detail-kicker,.generation-rail>div){font-size:13px;line-height:1.6;}
body[data-review="chronicle"] :is(.chronicle-item-meta,.chronicle-overline,.chronicle-section-kicker){font-size:13px;line-height:1.5;}
body[data-review="don"] :is(.don-note,.feature-kicker){font-size:max(12px,.75rem);line-height:1.55;}

/* Compact mobile header: brand on one line, Zach / Meghan / Explore on one
   accessible second row. Chronicle and Archive remain in the Explore disclosure. */
@media(max-width:800px){
  body[data-review] .review-header{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:10px 16px;
  }
  body[data-review] .review-brand{font-size:22px;line-height:1.15;}
  body[data-review] .review-brand span{display:none;}
  body[data-review] .review-header nav{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:8px;
  }
  body[data-review] .review-header nav>a,
  body[data-review] .review-header summary{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:9px 3px;
    font-size:14px;
    white-space:nowrap;
  }
  body[data-review] .review-header nav>a:nth-of-type(n+3){display:none;}
  body[data-review] .review-header details{position:static;}
  body[data-review] .review-header .review-menu{
    position:absolute;
    top:calc(100% - 1px);
    left:auto;
    right:16px;
    width:min(300px,calc(100cqw - 32px));
    max-width:calc(100cqw - 32px);
    padding:8px;
    z-index:30;
  }
  body[data-review] .review-header .review-menu .review-mobile-menu-link{display:block!important;}
  body[data-review] .review-scope{padding:9px 16px;font-size:13px;}
  body[data-review] .review-scope>a[href="/interior-review/"]{display:none;}
}


/* A 390px phone at 200% CSS magnification has ~195px of effective
   content width. Allow navigation to reflow rather than overflow. */
@container review (max-width:260px){
  body[data-review] .review-header nav{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:0 12px;
  }
  body[data-review] .review-header nav>a,
  body[data-review] .review-header summary{
    white-space:normal;
    max-width:100%;
  }
}

/* Stage-one preview: limit all editorial changes to preview pages. */
.review-header{background:#303c3c;color:#fcfaf6;border-bottom-color:#596e61}
.review-header a,.review-header summary{color:#fcfaf6}
.review-menu{background:#303c3c;color:#fcfaf6;border-color:#647c70}
.review-scope{background:#edf0e9}
.review-header nav a:focus-visible,.review-header summary:focus-visible{outline:3px solid #e0a39a;outline-offset:3px}
@media(max-width:800px){.review-header{padding:12px 18px;gap:8px}.review-brand{font-size:22px}.review-brand span{display:none}.review-header nav{justify-content:space-between;gap:10px}.review-header nav>a,.review-header summary{font-size:13px;min-height:44px}.review-header nav>a:nth-of-type(n+3){display:none}.review-header .review-menu{left:auto;right:0;width:min(290px,calc(100vw - 30px))}.review-header .review-mobile-menu-link{display:block}}
@media(min-width:801px){.review-header .review-mobile-menu-link{display:none}}

/* Accessibility: the review dropdown has a light paper background, but the
   outer masthead's white anchor-color rule otherwise paints the links white.
   Set interactive-item colors explicitly in the dropdown, including focus. */
body[data-review] .review-header .review-menu a,
body[data-review] .review-header .review-menu a:visited {
  color:#263c38;
}
body[data-review] .review-header .review-menu a:hover,
body[data-review] .review-header .review-menu a:focus-visible {
  color:#173e35;
  text-decoration:underline;
}
