:root{--forest:#123d31;--dark:#0c2d24;--gold:#c2a05e;--cream:#f5f0e6;--paper:#fffdf8;--ink:#17352b;--muted:#6f7d76;--line:#dce3d9;--danger:#a63d3d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.top{height:84px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:#f7f2e7}.top a{text-decoration:none}.logo{display:flex;align-items:center;gap:12px;font-weight:700}.logo b,.top+main+footer>b,footer>b{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;color:var(--gold)}nav{display:flex;align-items:center;gap:24px;font-size:13px}.navButton{border:1px solid var(--gold);padding:10px 14px}.flash{padding:14px 7vw;background:#dfeedd;color:#285530;font-weight:700}.flash.error{background:#f7dddd;color:#7f2424}.welcome{min-height:560px;padding:110px 7vw;background:radial-gradient(circle at 82% 50%,#a9874938,transparent 22%),linear-gradient(135deg,#0c2d24,#174c3c);color:#f6f3e9}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--gold);margin:0 0 18px}.welcome h1,.heading h1,.profilePage h1{font:500 clamp(52px,8vw,98px)/.95 Georgia,serif;letter-spacing:-.045em;margin:0}.welcome h1 em{color:#ddc893;font-weight:400}.welcome>p:not(.eyebrow){max-width:600px;color:#cbdad3;font-size:18px;line-height:1.7}.welcome>div{display:flex;gap:18px;align-items:baseline;border-top:1px solid #ffffff25;padding-top:22px;max-width:570px;color:#c7d7cf}.welcome strong{font:500 30px Georgia,serif;color:#fff}.tree,.content{padding:90px 7vw}.treeHead{display:flex;justify-content:space-between;align-items:end;gap:25px}.treeHead h2{font:500 clamp(42px,5vw,68px) Georgia,serif;margin:0}.treeHead input{width:280px;padding:14px;border:1px solid var(--line);background:#fff}.generation{padding:48px 0;border-bottom:1px solid var(--line)}.generation h3{font:500 28px Georgia,serif;margin:0 0 22px}.memberGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.member{display:flex;align-items:center;gap:12px;min-height:76px;padding:13px;border:1px solid var(--line);background:#fff;text-decoration:none}.member:hover{border-color:var(--gold);background:#fcf8ef}.member img,.member i{width:46px;height:46px;flex:0 0 46px;border-radius:50%;object-fit:cover}.member i,.placeholder{display:grid;place-items:center;background:#dce8dc;font:500 17px Georgia,serif;font-style:normal}.member strong{font-size:13px}.member small{display:block;margin-top:4px;color:#87928d;font-size:10px}.heading{max-width:760px;margin-bottom:38px}.heading h1{font-size:clamp(48px,6vw,78px)}.heading>p:last-child{color:var(--muted);line-height:1.7}.card{padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px #17352b0c}.form{display:grid;gap:18px}.form label,.controls label{display:grid;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid var(--line);background:#fff;color:var(--ink);text-transform:none;letter-spacing:0}.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid #c2a05e26;border-color:var(--gold)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields .wide{grid-column:1/-1}.primary{justify-self:start;padding:13px 20px;border:0;background:var(--forest);color:#fff;font-weight:700}.center{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:60px 20px;background:var(--cream)}.auth{width:min(480px,100%)}.auth h1{font:500 52px Georgia,serif;margin:0 0 15px}.auth>p{color:var(--muted);line-height:1.6}.adminGrid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;margin-bottom:20px}.card h2{font:500 30px Georgia,serif;margin-top:0}.request{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.request small{display:block;color:var(--muted);margin-top:5px}.request form{display:flex;gap:7px}.request button{padding:8px 10px;border:0;background:var(--forest);color:#fff}.request .danger{background:var(--danger)}.table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);text-transform:uppercase;font-size:10px}.profilePage{display:grid;grid-template-columns:280px 1fr;gap:45px}.profilePage>img,.placeholder{width:280px;height:330px;object-fit:cover}.profilePage h1{font-size:64px}.profilePage dl{display:grid;grid-template-columns:120px 1fr;gap:12px 20px}.profilePage dt{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700}.profilePage dd{margin:0}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips a{padding:8px 11px;background:var(--cream);text-decoration:none;font-size:12px}.children{display:grid;gap:8px;margin-top:20px}.children>span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:700}.children button{padding:10px;border:1px solid var(--line);background:#fff;text-align:left}footer{min-height:120px;padding:30px 7vw;display:flex;align-items:center;gap:15px;background:var(--dark);color:#edf4ef}footer div{display:grid;gap:4px}footer small{color:#9db0a7}@media(max-width:1000px){.memberGrid{grid-template-columns:repeat(3,1fr)}.adminGrid{grid-template-columns:1fr}.profilePage{grid-template-columns:220px 1fr}.profilePage>img,.placeholder{width:220px;height:270px}}@media(max-width:720px){.top{height:auto;padding:18px 22px}.logo span{display:none}nav{gap:12px}.welcome,.tree,.content{padding-left:22px;padding-right:22px}.welcome{min-height:520px;padding-top:85px}.welcome h1{font-size:55px}.treeHead{display:grid}.treeHead input{width:100%}.memberGrid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.profilePage{grid-template-columns:1fr}.profilePage>img,.placeholder{width:100%;height:340px}.profilePage h1{font-size:48px}.profilePage dl{grid-template-columns:90px 1fr}footer{padding:28px 22px}}
