:root{--forest:#173d32;--clay:#92513d;--paper:#faf8f1;--bronze:#aa8050}
.topbar nav{gap:22px}.hero{gap:38px}.hero-art{height:auto;min-height:390px;margin:0;border-radius:14px;overflow:hidden;position:relative;background:#ddd;box-shadow:0 22px 50px #20372f1f}.hero-art img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.hero-art figcaption{position:absolute;right:12px;bottom:12px;max-width:82%;padding:7px 10px;border-radius:5px;background:#17231ccc;color:#fff;font-size:9px;line-height:1.5}
.heritage-records,.genealogy-section,.news-events,.library-section{padding:72px 0;border-top:1px solid #f0eee6}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}.record-card{display:flex;flex-direction:column;padding:22px 23px;border:1px solid #e9e6dc;border-radius:10px;background:#fff;min-height:250px}.record-type{font-size:9px;letter-spacing:.11em;color:#987643;font-weight:700}.record-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:21px;line-height:1.3;margin:11px 0 7px}.record-card p{color:#5c6a60;font-size:12px;line-height:1.85;margin:0}.record-card a{display:inline-flex;gap:7px;align-items:center;color:#20583f;font-size:11px;font-weight:700;margin-top:auto;padding-top:16px}.record-card small{font-size:9px;color:#818a80;line-height:1.6;margin-top:6px}.source-rule{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;padding:17px 20px;background:#f5f4ec;border-radius:8px;margin-top:17px;color:#5a665d;font-size:11px;line-height:1.75}.source-rule strong{color:#314a3c}.genealogy-section{background:#f8f8f3;max-width:none;padding-left:max(calc((100vw - 1200px)/2),5.5vw);padding-right:max(calc((100vw - 1200px)/2),5.5vw)}.genealogy-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0 15px}.tree-mode{display:flex;gap:6px}.tree-mode-button{border:1px solid #dfe4d9;background:white;border-radius:6px;padding:9px 13px;color:#657468;font-weight:700;font-size:10px}.tree-mode-button.active{background:#1d5542;color:#fff;border-color:#1d5542}.genealogy-search{display:flex;align-items:center;gap:8px;flex:1;max-width:380px;padding:8px 11px;border:1px solid #e0e4da;border-radius:7px;background:white;color:#849084}.genealogy-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:10px;background:transparent}.genealogy-search small{font-size:8px;white-space:nowrap}.genealogy-empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;border:1px dashed #d9dfd4;border-radius:10px;background:#fff}.genealogy-empty h3{font:500 23px 'Playfair Display',Georgia,serif;margin:12px 0 5px}.genealogy-empty p{max-width:560px;color:#6a776c;font-size:11px;line-height:1.8;margin:0}.empty-tree{width:108px;height:66px;position:relative}.empty-tree:before,.empty-tree:after{content:'';position:absolute;top:28px;left:26px;width:56px;border-top:1px solid #becdbd}.empty-tree:after{top:28px;left:53px;width:1px;height:24px;border-left:1px solid #becdbd}.empty-tree span,.empty-tree i,.empty-tree b{position:absolute;width:22px;height:20px;border-radius:5px;border:1px solid #c4d2c2;background:#f3f6ef}.empty-tree span:first-child{top:4px;left:43px}.empty-tree span:nth-child(2){top:26px;left:12px}.empty-tree span:nth-child(3){top:26px;right:12px}.empty-tree i{top:47px;left:34px}.empty-tree b{top:47px;right:34px}.verification-steps{display:flex;gap:11px;margin-top:21px;flex-wrap:wrap;justify-content:center}.verification-steps span{display:flex;align-items:center;gap:7px;background:#f2f5ef;border-radius:99px;padding:6px 10px;color:#536354;font-size:9px}.verification-steps b{color:#a27942}.news-events{padding-bottom:55px}.news-empty{display:flex;align-items:center;gap:15px;padding:19px 20px;background:#fbfbf8;border:1px solid #e9ebe3;border-radius:9px}.news-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:9px;background:#f2eee1;color:#a27d45;font-size:20px}.news-empty h3{margin:0;font-size:13px}.news-empty p{margin:4px 0 0;color:#6b776d;font-size:10px}.news-empty .collection-state{margin-left:auto;white-space:nowrap}.topic-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:15px}.topic-strip span{font-size:9px;color:#7e897e;margin-right:3px}.topic-strip b{padding:5px 9px;border:1px solid #e6e7df;border-radius:99px;color:#617063;font-size:9px;font-weight:600;background:white}.library-section{padding-bottom:74px}.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.library-card{min-height:147px;display:flex;flex-direction:column;justify-content:flex-end;padding:17px;border:1px solid #e8e6dd;border-radius:9px;background:linear-gradient(155deg,#f8f2e5,#f1f4ec)}.library-card:nth-child(2){background:linear-gradient(155deg,#f0f2e9,#e3ece0)}.library-card:nth-child(3){background:linear-gradient(155deg,#f4eade,#f8f4eb)}.library-card:nth-child(4){background:linear-gradient(155deg,#ecefe8,#f5f0e5)}.library-card span{font-size:8px;font-weight:700;color:#9a7848;letter-spacing:.1em}.library-card b{font:500 17px 'Playfair Display',Georgia,serif;margin:5px 0}.library-card small{color:#667267;font-size:9px;line-height:1.6}.ai-section{padding:54px 56px;margin-bottom:74px;background:#f5f6f0;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:20px 42px;align-items:center}.ai-copy h2{font:500 35px/1.2 'Playfair Display',Georgia,serif;margin:10px 0}.ai-copy>p{color:#627064;font-size:12px;line-height:1.85}.ai-pills{display:flex;gap:7px;flex-wrap:wrap}.ai-pills span{padding:6px 9px;border:1px solid #e0e5da;background:white;border-radius:99px;font-size:9px;color:#516456}.ai-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center}.ai-flow div{width:94px;min-height:92px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:9px;background:#fff;border:1px solid #e2e7dc;border-radius:9px;color:#536153;font-size:9px;line-height:1.45}.ai-flow div b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9f0e5;color:#2b6045;margin-bottom:6px}.ai-flow>i{font-style:normal;color:#a88a5d}.ai-boundary{grid-column:1/-1;margin:0;padding:12px 15px;background:#fff;border-radius:7px;color:#6c776e;font-size:9px;line-height:1.7}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:850px;margin:13px auto 0}.role-grid article{padding:12px 14px;border:1px solid #e4e8df;border-radius:8px;background:#fff}.role-grid b,.role-grid span{display:block}.role-grid b{font-size:10px;color:#365a42}.role-grid span{font-size:9px;color:#758075;line-height:1.55;margin-top:4px}
@media(max-width:1280px){.genealogy-section{padding-left:5vw;padding-right:5vw}}
@media(max-width:900px){.topbar nav{gap:10px}.topbar nav>a{font-size:11px}.record-grid{grid-template-columns:1fr 1fr}.library-grid{grid-template-columns:repeat(2,1fr)}.ai-section{padding:38px 32px;gap:24px}}
@media(max-width:760px){.topbar nav>a{display:none}.topbar nav .mobile-menu{display:block}.topbar nav .mobile-menu summary{list-style:none;border:1px solid #dfe4d9;border-radius:7px;padding:8px 10px;background:#fff;color:#365a42;font-size:11px;font-weight:700;white-space:nowrap}.topbar nav .mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu-panel{position:absolute;top:calc(100% + 8px);right:5vw;left:5vw;display:grid;gap:2px;padding:8px;background:#fff;border:1px solid #e4e8df;border-radius:9px;box-shadow:0 12px 28px #20372f1f}.topbar nav .mobile-menu .mobile-menu-panel a{display:block;padding:11px 12px;border-radius:6px;color:#365a42;font-size:13px}.topbar nav .mobile-menu .mobile-menu-panel a:hover{background:#f3f6ef}.topbar{position:relative;z-index:6}.record-filters{grid-template-columns:1fr 1fr}.record-query{grid-column:1/-1}.record-reset{min-height:42px}.record-count{grid-column:1/-1;text-align:left}.record-empty{font-size:12px}.hero-art,.hero-art img{min-height:265px}.hero-art figcaption{font-size:8px}.heritage-records,.genealogy-section,.news-events,.library-section{padding-top:45px;padding-bottom:45px}.record-grid{grid-template-columns:1fr;gap:9px;margin-top:21px}.record-card{min-height:unset;padding:18px}.record-card h3{font-size:19px}.record-card a{margin-top:12px}.source-rule{grid-template-columns:1fr;gap:4px;padding:13px}.genealogy-tools{display:block}.tree-mode{margin-bottom:10px}.tree-mode-button{flex:1}.genealogy-search{max-width:none}.genealogy-search small{display:none}.genealogy-empty{min-height:270px;padding:23px 17px}.genealogy-empty h3{font-size:20px}.verification-steps{gap:6px}.news-empty{align-items:flex-start;flex-wrap:wrap;padding:15px}.news-empty .collection-state{margin-left:57px}.topic-strip{gap:6px}.library-grid{gap:8px}.library-card{min-height:130px;padding:13px}.library-card b{font-size:15px}.ai-section{padding:33px 5vw;margin-bottom:50px;grid-template-columns:1fr;gap:19px;border-radius:0}.ai-copy h2{font-size:30px}.ai-flow{justify-content:flex-start;gap:4px}.ai-flow div{width:calc((100% - 18px)/4);min-height:83px;padding:6px;font-size:8px}.ai-flow>i{font-size:10px}.role-grid{grid-template-columns:1fr;gap:6px}.role-grid article{padding:11px 13px}}
@media(prefers-reduced-motion:reduce){.hero-art img{scroll-behavior:auto}}
.mobile-menu{display:none}
.record-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(190px,1fr) auto;align-items:end;gap:11px;padding:16px;margin-top:24px;border:1px solid #e9e6dc;border-radius:9px;background:#fafaf6}
.record-filters label{display:grid;gap:6px;color:#536456;font-size:10px;font-weight:700}
.record-filters input,.record-filters select{width:100%;min-height:42px;border:1px solid #dfe4d9;border-radius:6px;padding:9px 11px;background:#fff;color:#344a3a;font:inherit;font-size:12px}
.record-reset{min-height:42px;padding:8px 12px;border:1px solid #cad7cc;border-radius:6px;background:#fff;color:#20583f;font-size:11px;font-weight:700}
.record-count{grid-column:1/-1;margin:0;color:#758075;font-size:10px}
.record-empty{padding:22px;border:1px dashed #d9dfd4;border-radius:8px;color:#637165;text-align:center;font-size:13px}
.record-card[hidden]{display:none}
@media(max-width:900px){.record-filters{grid-template-columns:1fr 1fr}.record-query{grid-column:1/-1}.record-reset{min-height:42px}}
@media(max-width:760px){.topbar nav .mobile-menu{display:block}}
