:root{--ink:#293229;--paper:#f6f1e8;--white:#fffcf7;--sage:#84927a;--line:#d8d0c2;--rust:#a95d43;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans)}a{color:inherit}.topbar{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,252,247,.94);position:sticky;top:0;z-index:10}.brand{text-decoration:none;font:600 20px var(--serif);display:flex;gap:10px;align-items:center}.brand span{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-style:italic}.topbar nav{display:flex;gap:32px}.topbar nav a{text-decoration:none;font-size:14px}.menu{display:none;border:0;background:none;font-size:22px}.hero{min-height:660px;padding:110px 8vw;background:radial-gradient(circle at 85% 45%,#e1d7c6 0 12%,transparent 12.5%),linear-gradient(120deg,var(--paper),#f8f5ed);position:relative;overflow:hidden}.hero:after{content:'Т';position:absolute;right:8vw;bottom:-100px;font:500 480px var(--serif);color:rgba(132,146,122,.15)}.eyebrow{letter-spacing:.19em;font-size:11px;font-weight:700;color:var(--rust);margin-bottom:22px}.hero h1,.page-title h1,.profile-hero h1{font:500 clamp(48px,6.5vw,92px)/.98 var(--serif);letter-spacing:-.045em;margin:0;max-width:950px}.hero h1 em,.page-title h1 em{font-weight:400;color:var(--sage)}.hero p{font:20px/1.6 var(--serif);max-width:620px}.actions{display:flex;gap:12px;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;font-weight:600}.button.primary{background:var(--ink);color:white}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:45px 8vw;background:var(--ink);color:white}.feature-strip div{display:flex;flex-direction:column;border-right:1px solid #586057;padding-left:5vw}.feature-strip div:first-child{padding-left:0}.feature-strip div:last-child{border:0}.feature-strip b{font:44px var(--serif)}.feature-strip span{color:#bac1b7;font-size:13px}.quote{padding:90px 8vw;text-align:center}.quote span{font:70px var(--serif);color:var(--rust)}.quote p{font:italic 30px var(--serif);margin:0}.profile-hero{min-height:560px;padding:75px 9vw;display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:8vw;align-items:center;background:var(--paper)}.avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,#9da493,#657262);color:#fff;display:grid;place-items:center;font:22px var(--serif);position:relative;flex:none}.avatar small{position:absolute;bottom:7px;font:8px var(--sans);opacity:.6}.avatar.large{width:260px;height:310px;border-radius:45% 45% 12px 12px;font-size:70px;box-shadow:18px 18px 0 #ddd4c4}.avatar.large small{font-size:11px}.photo-hint{display:block;margin-top:35px;font-size:11px;color:#7c7c71}.profile-hero h1{font-size:clamp(48px,6vw,80px)}.years{font:24px var(--serif);color:var(--rust)}.lede{font:20px/1.6 var(--serif);max-width:600px}.chips{display:flex;gap:10px;flex-wrap:wrap}.chips span{border:1px solid var(--line);padding:10px 14px;font-size:12px}.tabs{display:flex;justify-content:center;gap:45px;padding:20px;border-bottom:1px solid var(--line);background:white}.tabs a{text-decoration:none;font-size:13px}.section{padding:90px 8vw}.section.warm{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head>div{display:flex;align-items:center;gap:18px}.section-head span{font:16px var(--serif);color:var(--rust)}h2{font:400 38px var(--serif);margin:0}.section-head p,.section-head a{font-size:12px;color:#6f746d}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-card{padding:34px;border:1px solid var(--line);min-height:260px;position:relative}.story-card small{color:var(--rust);text-transform:uppercase}.story-card h3{font:28px var(--serif);margin-bottom:12px}.story-card p{line-height:1.7;color:#5c625b}.story-card>b{position:absolute;right:25px;bottom:18px;color:#d1c8ba;font:42px var(--serif)}.people-row{display:flex;justify-content:space-between;gap:20px;overflow:auto}.person-mini{min-width:130px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.person-mini span{font-size:11px;color:#777}.places,.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.places article,.archive-grid article{border:1px solid var(--line);padding:18px}.place-art,.media-placeholder{height:170px;display:grid;place-items:center;background:#dde1d7;color:#596455;font:52px var(--serif)}.places h3,.archive-grid h3{font:23px var(--serif);margin:18px 0 5px}.places p,.archive-grid p{font-size:11px;color:#777}.page-title{text-align:center;padding:90px 20px 55px;background:var(--paper)}.page-title h1{font-size:65px;margin:auto}.page-title p{font:17px var(--serif)}.tree-wrap{display:grid;grid-template-columns:1fr 300px;gap:30px;padding:60px 5vw;background:#f9f7f2}.tree{text-align:center;overflow:auto}.generation{display:flex;justify-content:center;gap:20px;position:relative;flex-wrap:wrap}.generation>span{display:block;width:100%;text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#8a8a80}.tree-card{width:210px;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:white;cursor:pointer}.tree-card:hover{border-color:var(--rust);transform:translateY(-2px)}.tree-card strong,.tree-card small{display:block}.tree-card small{color:#777;margin-top:4px}.spouses{display:flex;gap:8px}.spouses .tree-card{width:150px}.connector{height:45px;width:1px;background:var(--rust);margin:auto}.connector.short{height:35px}#person-panel{border:1px solid var(--line);background:white;padding:28px;min-height:370px;position:sticky;top:100px;height:max-content}#person-panel .avatar.large{width:120px;height:140px;font-size:35px;box-shadow:8px 8px 0 #ddd4c4}#person-panel h2{font-size:26px;margin-top:25px}#person-panel small{color:#888}.cabinet-head{padding:65px 7vw 40px;display:flex;justify-content:space-between;align-items:end;background:var(--paper)}.cabinet-head h1{font:55px var(--serif);margin:0}.dashboard{padding:40px 7vw 90px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stats article{padding:24px;border:1px solid var(--line);display:flex;flex-direction:column}.stats b{font:40px var(--serif)}.stats span{font-size:12px;color:#777}.forms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.forms form{padding:25px;background:var(--paper)}.forms h2{font-size:25px;margin-bottom:22px}.forms label{display:block;font-size:11px;font-weight:700;margin:13px 0}.forms input,.forms textarea{width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:white;font:14px var(--sans)}.form-note{font-size:10px;line-height:1.5;color:#777}.recent{max-width:800px}.recent>div{display:grid;grid-template-columns:70px 1fr 100px;align-items:center;border-bottom:1px solid var(--line);padding:12px}.recent .avatar{width:45px;height:45px;font-size:16px}.recent small{color:#777}.empty{min-height:70vh;padding:120px 8vw}.empty h1{font:55px var(--serif)}footer{display:flex;justify-content:space-between;padding:30px 5vw;background:var(--ink);color:#bdc4ba;font-size:11px}
@media(max-width:760px){.topbar nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:25px;flex-direction:column}.topbar nav.open{display:flex}.menu{display:block}.hero{padding:80px 6vw;min-height:600px}.hero:after{font-size:300px}.hero h1{font-size:50px}.actions{flex-direction:column;align-items:stretch}.feature-strip{padding:30px 5vw}.feature-strip div{padding-left:15px}.profile-hero{grid-template-columns:1fr;padding:55px 7vw}.avatar.large{width:190px;height:220px}.tabs{justify-content:flex-start;overflow:auto}.section{padding:65px 6vw}.section-head{align-items:flex-start;gap:15px}.story-grid,.places,.archive-grid,.forms{grid-template-columns:1fr}.people-row{justify-content:flex-start}.page-title h1{font-size:48px}.tree-wrap{grid-template-columns:1fr}.tree{min-width:600px}.tree-wrap{overflow:auto}#person-panel{position:static}.cabinet-head{align-items:flex-start;gap:20px;flex-direction:column}.stats{grid-template-columns:repeat(3,1fr)}footer{gap:20px}}
