[hidden]{display:none!important}
.interior-page h1{white-space:normal;font-size:clamp(55px,5.7vw,78px);line-height:1.08;letter-spacing:-.055em;margin:0 0 24px;font-weight:400}
.interior-page h1 em{font-weight:400;color:var(--wine)}
.interior-page h2{font-family:var(--serif);font-size:clamp(34px,3.7vw,47px);font-weight:400;letter-spacing:-.035em;line-height:1.15;margin:0}
.interior-page h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.story-hero{display:grid;grid-template-columns:1.25fr .85fr;align-items:center;gap:100px;padding:78px 0 80px}
.story-intro{max-width:610px}
.story-intro .eyebrow,.tree-intro .eyebrow{margin-bottom:25px}
.page-lead{font-family:var(--serif);font-size:26px;line-height:1.45;letter-spacing:-.02em;margin:0 0 20px}
.intro-copy{font-size:14px;line-height:1.9;color:var(--muted);max-width:460px;margin:0 0 25px}
.text-link{display:inline-block;color:var(--wine);font-size:12px;line-height:1.7;text-decoration:none;padding:7px 0;text-underline-offset:5px}
.text-link:hover{text-decoration:underline}
.text-link>span[aria-hidden]{margin-left:6px}
.archive-cover{margin:0;max-width:410px;border:1px solid var(--line);padding:26px 30px 24px;background:#fbf8f0;box-shadow:8px 9px 0 -2px var(--paper),8px 9px 0 -1px var(--line);transform:rotate(1.4deg)}
.archive-overline{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.15em;color:var(--muted)}
.archive-cover>img{display:block;width:100%;height:auto;margin:20px 0 15px;mix-blend-mode:multiply}
.archive-cover figcaption{display:block;border-top:1px solid var(--line);padding-top:17px;text-align:center;margin:0}
.archive-caption{display:block;font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.4}
.archive-caption-note{display:block;font-size:10px;color:var(--muted);margin-top:7px}
.chapter-nav{border-block:1px solid var(--line);padding:18px 0;display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.chapter-nav>span{font-size:9px;letter-spacing:.15em;margin-right:auto}
.chapter-nav a{text-decoration:none;color:var(--wine);padding-block:5px}
.chapter-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.section-space{padding:66px 0;scroll-margin-top:24px}
.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:60px;margin-bottom:34px}
.section-heading .eyebrow{margin-bottom:16px}
.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;max-width:430px;justify-self:end}
.collection-tools{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:32px 0 12px}
.filter-buttons,.view-switch{display:inline-flex;gap:5px;flex-wrap:wrap}
.filter-buttons button,.view-switch button{border:1px solid transparent;background:transparent;padding:10px 14px;color:var(--muted);cursor:pointer;font-size:12px}
.filter-buttons button[aria-pressed="true"],.view-switch button[aria-pressed="true"]{border-color:var(--line);background:#e9e2d7;color:var(--ink)}
.filter-buttons button:hover,.view-switch button:hover{color:var(--wine)}
.search-field{width:min(310px,100%)}
.search-field label{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}
.search-field input{border:0;border-bottom:1px solid var(--gold);background:transparent;border-radius:0;width:100%;padding:10px 2px;font:inherit;font-size:13px;color:var(--ink)}
.search-field input:focus-visible,select:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.results-count{font-size:10px;line-height:1.6;color:var(--muted);margin:14px 0 0}
.history-record{display:grid;grid-template-columns:130px 1fr;gap:28px;border-bottom:1px solid var(--line);padding:30px 0}
.record-mark{display:flex;flex-direction:column;gap:7px;color:var(--gold)}
.record-mark>span:first-child{font-family:var(--serif);font-size:43px;line-height:1}
.record-mark>span:last-child{font-size:9px;letter-spacing:.15em}
.record-kicker{font-size:9px;font-weight:600;line-height:1.7;letter-spacing:.13em;color:var(--wine);margin:0 0 12px}
.record-content h3{font-size:29px;line-height:1.25;margin:0 0 13px}
.record-content>p:not(.record-kicker){font-size:14px;line-height:1.9;color:var(--muted);max-width:780px;margin:0 0 15px}
.record-content summary{cursor:pointer;font-size:12px;line-height:1.7;color:var(--wine);list-style:none;padding:6px 0;width:fit-content}
.record-content summary::-webkit-details-marker{display:none}
.record-content summary>span{display:inline-block;margin-left:10px;font-size:18px;transition:transform .15s}
.record-content details[open] summary>span{transform:rotate(45deg)}
summary:focus-visible{outline:2px solid var(--wine);outline-offset:5px}
.record-detail{border-left:1px solid var(--gold);padding:3px 0 0 22px;margin-top:17px;max-width:790px}
.record-detail p{font-size:13px;line-height:1.9;color:var(--muted);margin:10px 0}
.record-detail .source-line{font-size:11px}
.record-detail .text-link{margin-right:25px}
.empty-search{padding:38px 0;border-bottom:1px solid var(--line)}
.empty-search h3{font-size:26px;margin:0 0 12px}
.empty-search p{font-size:13px;color:var(--muted)}
.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;font:inherit;font-size:12px;line-height:1.6;text-decoration:none;padding:13px 20px;border:1px solid var(--wine);cursor:pointer;min-height:46px}
.button-primary{background:var(--wine);color:#fff9f0}
.button-primary:hover{background:#5d202a}
.button-secondary{background:transparent;color:var(--wine)}
.button-secondary:hover{background:#eee5dd}
.book-workflow{border-bottom:1px solid var(--line);padding-top:20px}
.preparation-note{font-size:11px;line-height:1.8;color:var(--muted);padding-left:13px;border-left:2px solid var(--gold);margin:0 0 27px}
.workflow-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:60px}
.workflow-steps{border-top:1px solid var(--line)}
.workflow-step{display:flex;align-items:center;gap:18px;text-align:left;width:100%;padding:19px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--serif);font-size:22px}
.workflow-step>span:first-child{font-family:var(--sans);font-size:10px;color:var(--gold);width:22px}
.workflow-step>span:last-child{margin-left:auto;font-size:20px;color:var(--gold)}
.workflow-step small{display:block;font-family:var(--sans);font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}
.workflow-step[aria-pressed="true"]{background:#ece5d9}
.workflow-step[aria-pressed="true"]>span:last-child{color:var(--wine)}
.workflow-detail{background:#eae3d7;padding:32px 35px;align-self:start;min-height:350px}
.workflow-detail h3{font-size:30px;line-height:1.2;margin:0 0 20px;max-width:390px}
.workflow-detail>p:not(.record-kicker){font-size:13px;line-height:1.9;color:#665b51}
.workflow-detail ul{padding-left:18px;font-size:12px;line-height:1.9;color:#665b51;margin:19px 0}
.workflow-detail li{margin-bottom:8px}
.workflow-detail .workflow-result{border-top:1px solid #cfc3b0;padding-top:17px;margin-top:23px;font-family:var(--serif);font-size:18px!important;line-height:1.55!important;color:var(--ink)!important}
.family-invitation{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:55px 0 62px}
.family-invitation .eyebrow{margin-bottom:13px}
.family-invitation h2{font-size:36px}
.family-invitation p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);max-width:630px;margin:17px 0 0}
.family-invitation .button-primary{flex-shrink:0}
.tree-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center;padding:75px 0 55px}
.tree-intro h1{font-size:clamp(53px,5.4vw,74px);margin-bottom:0}
.tree-intro-copy{padding-top:20px}
.tree-intro .intro-copy{margin-bottom:13px}
.tree-explorer{border-top:1px solid var(--line);padding-top:34px;scroll-margin-top:25px}
.explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}
.explorer-heading .eyebrow{margin-bottom:12px}
.explorer-heading h2{font-size:36px}
.preparation-badge{font-size:10px;line-height:1.5;letter-spacing:.05em;border:1px solid var(--line);padding:8px 12px;color:var(--muted);white-space:nowrap}
.tree-explanation{font-size:12px;line-height:1.8;color:var(--muted);max-width:750px;margin:20px 0 26px}
.tree-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;border-block:1px solid var(--line);padding:13px 0;margin-bottom:22px}
.generation-control{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.generation-control select{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;padding:9px 8px;border-radius:0}
.zoom-controls{display:flex;align-items:center;gap:5px}
.zoom-controls button{border:1px solid var(--line);background:transparent;color:var(--wine);min-width:34px;height:34px;cursor:pointer;font-size:17px}
.zoom-controls button:disabled{opacity:.35;cursor:default}
.zoom-controls output{font-size:10px;min-width:46px;text-align:center;color:var(--muted)}
.zoom-controls #tree-zoom-reset{font-size:10px;margin-left:5px;padding-inline:9px}
.tree-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px}
.tree-view-area{min-width:0}
.tree-viewport{height:518px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);background-color:#f9f6ee;background-image:radial-gradient(#d8cebd 0.7px,transparent 0.7px);background-size:18px 18px;scrollbar-color:#c7b99f #f3eee3}
.tree-viewport:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.tree-sizer{position:relative;min-width:100%;min-height:100%}
.tree-canvas{position:relative;transform-origin:top left}
.tree-lines{position:absolute;inset:0;pointer-events:none;overflow:visible}
.tree-lines path{fill:none;stroke:#b6a483;stroke-width:1.25}
.tree-generation-label{position:absolute;top:15px;font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;width:184px;text-align:center}
.tree-person{position:absolute;width:184px;min-height:76px;background:#fbf8f0;border:1px solid #c9bda9;padding:12px 13px;text-align:left;cursor:pointer;color:var(--ink);box-shadow:0 3px 0 #e7dfd2}
.tree-person strong{display:block;font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.2}
.tree-person small{display:block;margin-top:8px;font-size:9px;color:var(--muted);letter-spacing:.03em}
.tree-person[aria-pressed="true"]{border-color:var(--wine);box-shadow:0 3px 0 #c4a6a0;background:#f2e5df}
.tree-person:hover{border-color:var(--wine)}
.tree-instruction{font-size:10px;line-height:1.8;margin:12px 0 0;color:var(--muted)}
.person-preview{border-top:3px solid var(--wine);background:#eae3d7;padding:23px 23px 21px;align-self:start}
.person-preview h3{font-size:27px;line-height:1.2;margin:0 0 10px}
.person-position{font-size:10px;line-height:1.8;color:var(--muted);margin:0}
.person-monogram{display:flex;align-items:center;justify-content:center;margin:19px 0;width:49px;height:49px;border:1px solid #cabb9f;border-radius:50%;font-family:var(--serif);font-size:28px;color:var(--gold)}
.person-fields{margin:0}
.person-fields>div{border-top:1px solid #d1c7b7;padding:12px 0}
.person-fields dt{font-size:10px;color:var(--wine);font-weight:600;margin-bottom:5px}
.person-fields dd{margin:0;font-size:11px;line-height:1.75;color:#6a5f53}
.person-preview .text-link{font-size:11px;margin-top:4px}
.tree-list{min-height:518px;border:1px solid var(--line);padding:0 18px;background:#f9f6ee}
.tree-list button{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;width:100%;padding:18px 9px;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink);font-family:var(--serif);font-size:21px}
.tree-list button small{display:block;font-family:var(--sans);font-size:10px;color:var(--muted);margin-top:5px}
.tree-list button>span:last-child{font-family:var(--sans);font-size:10px;color:var(--muted);white-space:nowrap}
.tree-list button[aria-pressed="true"]{background:#eee2d9;color:var(--wine)}
.genealogy-method{border-bottom:1px solid var(--line)}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.method-grid article{border-top:1px solid var(--line);padding-top:22px}
.method-number{font-family:var(--serif);font-size:25px;color:var(--gold)}
.method-grid h3{font-size:25px;margin:16px 0 12px}
.method-grid p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}
.genealogy-method .preparation-note{margin:29px 0 0}
.no-script-note{font-size:13px;line-height:1.8;color:var(--muted);padding:20px}
@media(max-width:1100px){.story-hero{gap:55px}.tree-intro{gap:40px}.tree-workspace{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.section-heading{gap:30px}.workflow-layout{gap:30px}.story-hero{padding-block:60px}.archive-cover{padding:22px}}
@media(max-width:860px){.story-hero{grid-template-columns:1.15fr .85fr;gap:35px;padding:43px 0 48px}.interior-page .eyebrow{justify-content:flex-start}.interior-page h1{font-size:55px}.page-lead{font-size:23px}.archive-cover{padding:18px 17px}.archive-overline{font-size:8px;letter-spacing:.07em}.archive-caption{font-size:18px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p{max-width:580px;justify-self:start}.section-space{padding-block:43px}.chapter-nav{gap:12px 25px}.chapter-nav>span{width:100%;margin:0}.tree-intro{gap:27px;padding:43px 0}.tree-intro h1{font-size:52px}.tree-workspace{grid-template-columns:minmax(0,1fr)}.person-preview{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.person-preview .person-fields{grid-column:2;grid-row:1/6}.person-preview .person-monogram{align-self:start}.person-preview .text-link{align-self:end}.tree-viewport{height:518px}.tree-list{min-height:0}.family-invitation{gap:25px;padding-block:40px}.family-invitation h2{font-size:32px}.method-grid{gap:25px}}
@media(max-width:600px){.story-hero{grid-template-columns:1fr;gap:37px}.interior-page h1{font-size:57px}.story-intro .eyebrow,.tree-intro .eyebrow{margin-bottom:20px}.intro-copy{font-size:13px}.page-lead{font-size:25px}.archive-cover{width:min(330px,94%);justify-self:center;padding:23px 25px}.chapter-nav{font-size:10px;gap:10px 18px}.section-heading h2{font-size:36px}.section-heading .eyebrow{font-size:9px}.collection-tools{align-items:stretch;flex-direction:column;gap:18px;margin-top:24px}.filter-buttons{gap:4px}.filter-buttons button{padding:9px 12px}.search-field{width:100%}.history-record{grid-template-columns:44px 1fr;gap:17px;padding:25px 0}.record-mark>span:first-child{font-size:29px}.record-mark>span:last-child{font-size:7px;letter-spacing:.04em}.record-kicker{font-size:8px;letter-spacing:.09em}.record-content h3{font-size:26px}.record-content>p:not(.record-kicker){font-size:13px}.record-detail{padding-left:14px}.record-detail p{font-size:12px}.record-detail .text-link{font-size:11px}.workflow-layout{grid-template-columns:1fr;gap:24px}.workflow-step{font-size:21px;padding:15px 10px}.workflow-detail{padding:26px 24px;min-height:0}.workflow-detail h3{font-size:28px}.family-invitation{align-items:flex-start;flex-direction:column;gap:23px}.family-invitation h2{font-size:31px}.tree-intro{grid-template-columns:1fr;gap:23px;padding:40px 0 36px}.tree-intro h1{font-size:54px}.tree-intro-copy{padding:0}.tree-intro-copy .page-lead{font-size:24px}.explorer-heading{align-items:flex-start;flex-direction:column;gap:16px}.explorer-heading h2{font-size:34px}.explorer-heading .eyebrow{font-size:8px}.tree-explanation{font-size:12px}.tree-controls{gap:14px;justify-content:flex-start}.generation-control{margin-left:auto}.generation-control label{display:none}.generation-control select{font-size:10px;max-width:126px}.view-switch{gap:2px}.view-switch button{font-size:11px;padding:9px 10px}.zoom-controls{width:100%;justify-content:flex-end}.tree-viewport{height:460px}.person-preview{display:block;padding:24px}.person-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.person-fields dd{font-size:12px}.person-fields dt{font-size:11px}.person-monogram{display:none}.person-position{margin-bottom:17px}.method-grid{grid-template-columns:1fr;gap:25px}.method-grid article{position:relative;padding:20px 0 0 45px}.method-number{position:absolute;left:0;top:20px}.method-grid h3{margin-top:0}.genealogy-method .preparation-note{font-size:10px}.tree-list{padding-inline:12px}.tree-list button{font-size:19px;gap:8px}.tree-list button>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){.record-content summary>span{transition:none}}
