:root{
  --bg:#f5f6f8;--panel:#ffffff;--text:#1d232b;--muted:#69717d;--line:#dfe3e8;
  --accent:#242b35;--soft:#eef1f4;--danger:#9b1c1c;--ok:#1f6b45;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{color:inherit}
.site-header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:20}
.brand{font-weight:800;letter-spacing:.16em;text-decoration:none;font-size:1.1rem}
.top-nav,.sub-nav{display:flex;gap:18px;align-items:center}
.top-nav a,.sub-nav a{text-decoration:none;color:#353c46}
.top-nav a:hover,.sub-nav a:hover{text-decoration:underline}
.sub-nav{padding:10px 4vw;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto}
.container{max-width:1180px;margin:0 auto;padding:40px 24px 70px}
.hero{padding:9vh 0 8vh;max-width:820px}
.hero h1{font-size:clamp(2.5rem,7vw,5.8rem);line-height:.95;margin:0 0 24px;letter-spacing:-.04em}
.hero p{font-size:1.25rem;color:var(--muted);max-width:720px}
.button,.button-secondary{display:inline-block;padding:11px 18px;border-radius:10px;text-decoration:none;border:1px solid var(--accent);cursor:pointer;font:inherit}
.button{background:var(--accent);color:white}
.button-secondary{background:white;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.card h2,.card h3{margin-top:0}
.project-card{min-height:185px;display:flex;flex-direction:column;justify-content:space-between}
.project-card .meta{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.form-row{margin:0 0 16px}
label{display:block;font-weight:650;margin-bottom:6px}
input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cbd1d8;border-radius:9px;background:white;font:inherit}
textarea{min-height:120px}
.narrow{max-width:540px}
.flash{padding:12px 14px;border-radius:9px;margin-bottom:18px;background:#eef1f4}
.flash.error{background:#fff0f0;color:var(--danger)}
.flash.success{background:#effaf4;color:var(--ok)}
.site-footer{padding:26px 4vw;border-top:1px solid var(--line);color:var(--muted);background:#fff}
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--soft);font-size:.78rem}
.person-card{width:190px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.person-card img,.avatar{width:74px;height:74px;border-radius:14px;object-fit:cover;background:#e7eaee;display:block;margin:0 auto 10px}
.initials{width:74px;height:74px;border-radius:14px;background:#e7eaee;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-weight:750;font-size:1.25rem}
.person-card a{text-decoration:none}
.tree{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.tabs a{padding:7px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);text-decoration:none}
.small{font-size:.88rem;color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:720px){
  .site-header{height:auto;align-items:flex-start;gap:12px;padding:16px 18px;flex-direction:column}
  .top-nav{gap:12px;flex-wrap:wrap}
  .container{padding:28px 16px 56px}
}

/* Build 003: family tree */
.family-tree-wrap{overflow:auto;padding:10px 0 30px}
.family-tree{display:flex;flex-direction:column;gap:34px;min-width:max-content}
.tree-generation{display:flex;gap:24px;align-items:flex-start;justify-content:flex-start}
.tree-node-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.tree-couple{display:flex;gap:10px;align-items:flex-start}
.tree-card{width:170px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;position:relative}
.tree-card a{text-decoration:none}
.tree-card .initials{width:64px;height:64px;margin-bottom:8px}
.tree-card .name{font-weight:700;line-height:1.2}
.tree-card .years{font-size:.82rem;color:var(--muted);margin-top:4px}
.tree-card .status-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:#d0d5db}
.tree-card .status-dot.assumed{background:#c99a2e}
.tree-card .status-dot.unclear{background:#8b93a1}
.tree-branch{border-left:2px solid #ccd2d9;height:18px}
.tree-children{display:flex;gap:18px;align-items:flex-start;position:relative;padding-top:18px}
.tree-children:before{content:"";position:absolute;left:20px;right:20px;top:0;border-top:2px solid #ccd2d9}
.tree-child{position:relative;padding-top:18px}
.tree-child:before{content:"";position:absolute;top:0;left:50%;height:18px;border-left:2px solid #ccd2d9}
.tree-empty{color:var(--muted);font-size:.9rem}
.danger-zone{border:1px solid #efc8c8;background:#fffafa}
.danger-button{background:#fff;color:#9b1c1c;border:1px solid #c65f5f;padding:10px 14px;border-radius:9px;cursor:pointer}
@media(max-width:720px){
  .tree-card{width:150px}
}


/* HISTORY MASTER / Stammbaum V1 */
.family-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:20px}.family-heading h1{margin-bottom:6px}
.family-focus-form{min-width:min(430px,100%)}.focus-input,.person-search{display:flex;gap:8px}.focus-input input,.person-search input{min-width:0}.tree-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.genealogy-canvas{min-width:980px;background:linear-gradient(#fff,#fafbfc);border:1px solid var(--line);border-radius:20px;padding:30px 28px;overflow:hidden}.gene-generation{display:flex;justify-content:center;gap:18px;align-items:flex-start;flex-wrap:nowrap}.generation-line{width:2px;height:28px;background:#c9cfd6;margin:0 auto}.gene-card{position:relative;width:174px;min-height:150px;background:#fff;border:1px solid #d8dde3;border-radius:15px;padding:12px;text-align:center;box-shadow:0 4px 14px rgba(25,35,45,.04)}.gene-card.focus{border:2px solid #242b35;box-shadow:0 8px 24px rgba(25,35,45,.12)}.gene-card a{text-decoration:none;display:block}.gene-avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;background:#edf0f3;font-weight:800;font-size:1.05rem}.gene-avatar.large{width:92px;height:92px;font-size:1.55rem;margin:0}.gene-name{font-weight:750;line-height:1.2}.gene-years{font-size:.84rem;color:var(--muted);margin-top:5px}.gene-id{font-size:.71rem;color:#8a929c;letter-spacing:.02em;margin-top:7px}.gene-state{position:absolute;right:9px;top:9px;width:9px;height:9px;border-radius:50%;background:#8b93a1}.gene-state.research_finding{background:#b58a2c}.gene-state.open{background:#9b1c1c}.genealogy-mobile{display:none}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;margin-top:18px}.person-list-card{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none}.person-list-card .gene-avatar{margin:0}.person-hero-card{display:flex;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.person-hero-card h1{margin:2px 0 0}.person-years-big{font-size:1.1rem;color:var(--muted)}.person-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.relation-chips{display:flex;flex-wrap:wrap;gap:8px}.relation-chips a{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px}.relation-chips small{color:var(--muted)}.timeline{display:grid;gap:12px}.timeline article{border-left:3px solid #cfd4da;padding:4px 0 4px 16px}.timeline article h3{margin:0}.timeline-date{font-size:.8rem;color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
@media(max-width:720px){.family-heading{display:block}.family-focus-form{margin-top:16px}.genealogy-desktop{display:none}.genealogy-mobile{display:block}.mobile-focus-card{display:flex;justify-content:center;margin:10px 0 24px}.mobile-rel-list{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px}.mobile-rel-list .gene-card{min-width:150px;width:150px}.gene-card{width:150px}.people-grid{grid-template-columns:1fr}.person-list-card{grid-template-columns:52px 1fr}.person-list-card>.badge{grid-column:2}.person-hero-card{align-items:flex-start}.person-detail-grid{grid-template-columns:1fr}.focus-input,.person-search{flex-direction:column}}


/* =========================================================
   Stammbaum Design V2
   Desktop benchmark: spacious family-tree canvas
   Mobile benchmark: focus-person relationship navigation
   ========================================================= */
:root{
  --tree-bg:#f3f5f8;
  --tree-card:#ffffff;
  --tree-line:#aeb7c3;
  --tree-green:#28725a;
  --tree-green-soft:#eaf4ef;
  --tree-ink:#1d2733;
  --tree-sub:#6e7885;
  --tree-blue:#365f91;
}
.family-page-v2{max-width:1460px;margin:0 auto}
.family-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}
.family-topbar h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1;margin:4px 0 10px;letter-spacing:-.035em}
.family-topbar p{margin:0;color:var(--tree-sub);font-size:1.05rem}
.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tree-green)}
.family-top-actions{display:flex;gap:9px;flex-wrap:wrap}
.tree-searchbar,.directory-search{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #dfe4ea;border-radius:14px;padding:8px 9px 8px 14px;box-shadow:0 3px 18px rgba(24,37,52,.045);margin-bottom:20px}
.tree-searchbar>span,.directory-search>span{font-size:1.3rem;color:#7a8592}
.tree-searchbar input,.directory-search input{border:0;padding:8px 4px;outline:0;box-shadow:none;background:transparent}
.tree-searchbar input:focus,.directory-search input:focus{outline:0}
.desktop-family-tree{border:1px solid #d9dfe6;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 26px rgba(29,39,51,.055)}
.tree-stage-toolbar{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e7ec;background:#fff;position:relative;z-index:3}
.tree-stage-title{font-weight:750}.tree-stage-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#8b95a1;font-size:.72rem;margin-left:9px}.tree-stage-hint{font-size:.78rem;color:#8b95a1}
.tree-viewport{height:min(72vh,760px);min-height:560px;overflow:auto;background:
  radial-gradient(circle at 1px 1px, rgba(117,130,145,.13) 1px, transparent 1.5px) 0 0/24px 24px,
  var(--tree-bg);cursor:grab;overscroll-behavior:contain;scrollbar-color:#c4cbd3 transparent}
.tree-viewport.is-dragging{cursor:grabbing;user-select:none}
.tree-world{width:max-content;min-width:100%;min-height:100%;padding:56px 110px 90px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.ft-ancestor-zone,.ft-descendant-zone{display:flex;align-items:flex-end;justify-content:center;gap:46px;position:relative}
.ft-ancestor-branch,.ft-descendant-branch{display:flex;flex-direction:column;align-items:center;position:relative}
.ft-ancestor-parents{display:flex;align-items:flex-end;justify-content:center;gap:24px;position:relative;padding-bottom:24px}
.ft-ancestor-parents.count-2:after,.ft-descendant-children.count-2:before,
.ft-ancestor-parents[class*="count-"]:after,.ft-descendant-children[class*="count-"]:before{
  content:"";position:absolute;height:2px;background:var(--tree-line);left:calc(25% - 7px);right:calc(25% - 7px)
}
.ft-ancestor-parents:after{bottom:12px}
.ft-ancestor-drop{height:24px;width:2px;background:var(--tree-line);margin-top:-12px;margin-bottom:0}
.ft-main-drop{width:2px;height:34px;background:var(--tree-line);margin:0 auto}
.ft-main-drop.down{height:42px}
.ft-focus-zone{position:relative}
.ft-couple-row{display:flex;align-items:center;justify-content:center;gap:0}
.ft-partner-link{width:34px;height:2px;background:var(--tree-line)}
.ft-descendant-children{display:flex;align-items:flex-start;justify-content:center;gap:24px;position:relative;padding-top:24px}
.ft-descendant-children:before{top:12px}
.ft-descendant-drop{height:24px;width:2px;background:var(--tree-line)}
.ft-descendant-children>.ft-descendant-branch:before{
  content:"";position:absolute;top:-12px;left:50%;width:2px;height:12px;background:var(--tree-line)
}

.ft-person-card{width:184px;min-height:124px;background:var(--tree-card);border:1px solid #cfd6de;border-radius:10px;box-shadow:0 4px 14px rgba(29,39,51,.08);position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.ft-person-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(29,39,51,.13);border-color:#9facba}
.ft-person-card.is-focus{width:206px;border:2px solid var(--tree-green);box-shadow:0 9px 28px rgba(40,114,90,.18)}
.ft-card-main{padding:13px 12px 10px;display:flex;align-items:center;gap:10px;text-decoration:none;min-height:88px}
.ft-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dfe7ed;color:#33465a;font-weight:800;letter-spacing:.02em;border:3px solid #f5f7f9}
.is-focus .ft-avatar{width:54px;height:54px;flex-basis:54px;background:var(--tree-green-soft);color:var(--tree-green)}
.ft-card-copy{min-width:0;text-align:left}.ft-relation-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--tree-green);font-weight:800;margin-bottom:3px}.ft-name{font-size:.91rem;font-weight:760;line-height:1.18;color:var(--tree-ink)}.ft-nickname{font-size:.72rem;color:var(--tree-sub);margin-top:2px}.ft-years{font-size:.76rem;color:var(--tree-sub);margin-top:5px}
.ft-card-meta{border-top:1px solid #edf0f3;display:flex;align-items:center;justify-content:space-between;padding:6px 9px;background:#fbfcfd}.ft-person-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;color:#9aa3ad}.ft-profile-link{font-size:.69rem;font-weight:700;text-decoration:none;color:var(--tree-blue)}
.ft-state{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:#c99824}.ft-state.research_finding{background:#6a83a5}
.mobile-family-tree{display:none}

/* directory */
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.directory-card{background:#fff;border:1px solid #dfe4e9;border-radius:13px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.directory-person{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.directory-avatar,.mini-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7edf1;font-weight:800;color:#42566a}.directory-person>div:last-child{min-width:0}.directory-person strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-person span,.directory-person small{display:block;color:var(--tree-sub);font-size:.76rem}.directory-person small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;margin-top:2px}.directory-tree-link{font-size:.75rem;font-weight:700;text-decoration:none;color:var(--tree-blue);white-space:nowrap}

/* profile */
.profile-backbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.profile-backbar a{text-decoration:none;font-weight:650;color:#536271}
.profile-hero{background:linear-gradient(120deg,#fff,#f6f9f8);border:1px solid #dfe5e6;border-radius:20px;padding:28px;display:flex;align-items:center;gap:20px;box-shadow:0 5px 24px rgba(29,39,51,.045)}
.profile-avatar{width:96px;height:96px;flex:0 0 96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tree-green-soft);color:var(--tree-green);font-size:1.8rem;font-weight:850;border:5px solid white;box-shadow:0 4px 14px rgba(35,65,55,.12)}
.profile-headcopy h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:6px 0 7px;letter-spacing:-.035em}.profile-years,.profile-nickname{margin:3px 0;color:var(--tree-sub)}.profile-status{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:999px;background:#eef2f5;color:#55616d;font-size:.72rem;font-weight:700}
.profile-tabs{display:flex;gap:4px;margin:18px 0 0;border-bottom:1px solid #dfe4e9;overflow-x:auto}.profile-tabs a{padding:12px 14px;text-decoration:none;font-weight:700;font-size:.86rem;white-space:nowrap;border-bottom:2px solid transparent}.profile-tabs a:hover{border-bottom-color:var(--tree-green);color:var(--tree-green)}
.profile-section{padding:28px 0;border-bottom:1px solid #e3e7eb}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.profile-section-head h2{margin:0;font-size:1.35rem}.profile-section-head a{text-decoration:none;font-size:.82rem;font-weight:700;color:var(--tree-blue)}
.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact-card{background:#fff;border:1px solid #e0e5ea;border-radius:12px;padding:16px}.fact-card.wide{grid-column:1/-1}.fact-card span{display:block;color:var(--tree-sub);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:4px}.fact-card strong{font-size:1rem}.fact-card small{display:block;color:var(--tree-sub);margin-top:3px}.fact-card p{margin:5px 0 0}
.profile-family-group{margin-top:18px}.profile-family-group h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tree-sub)}.profile-family-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.profile-family-list a{display:flex;align-items:center;gap:10px;text-decoration:none;background:#fff;border:1px solid #e0e5ea;border-radius:11px;padding:10px}.profile-family-list strong,.profile-family-list small{display:block}.profile-family-list small{color:var(--tree-sub);font-size:.75rem}.empty-note{color:var(--tree-sub)}
.story-timeline{position:relative;margin-left:8px}.story-timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:#dce2e7}.story-timeline article{display:grid;grid-template-columns:14px 1fr;gap:16px;position:relative;padding-bottom:22px}.story-marker{width:14px;height:14px;border-radius:50%;background:var(--tree-green);border:3px solid #fff;box-shadow:0 0 0 2px var(--tree-green);z-index:2;margin-top:4px}.story-body h3{margin:3px 0 7px}.story-body p{margin:0;color:#3c4651}.story-meta{font-size:.75rem;color:var(--tree-sub);font-weight:650}

/* Mobile: focus-first, ancestry-style interaction */
@media(max-width:760px){
  .container{padding:22px 14px 54px}
  .family-topbar{display:block}.family-top-actions{margin-top:14px}
  .family-topbar h1{font-size:2.25rem}
  .tree-searchbar,.directory-search{grid-template-columns:auto 1fr}.tree-searchbar button,.directory-search button{grid-column:1/-1}
  .desktop-family-tree{display:none}.mobile-family-tree{display:block}
  .mobile-focus-panel{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid #dfe4e9;border-radius:16px;padding:14px;box-shadow:0 4px 18px rgba(29,39,51,.05)}
  .mobile-focus-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tree-green-soft);color:var(--tree-green);font-weight:850;font-size:1.2rem}
  .mobile-focus-copy span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--tree-green);font-weight:800}.mobile-focus-copy h2{font-size:1.12rem;margin:2px 0}.mobile-focus-copy p{font-size:.82rem;color:var(--tree-sub);margin:0}.mobile-focus-copy small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#9aa3ad;font-size:.6rem}.mobile-focus-panel>a{text-decoration:none;font-size:.72rem;font-weight:750;color:var(--tree-blue)}
  .mobile-family-tabs{display:flex;gap:8px;overflow-x:auto;margin:14px -14px 2px;padding:0 14px 10px;scrollbar-width:none}.mobile-family-tabs::-webkit-scrollbar{display:none}.mobile-family-tabs a{display:flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none;padding:8px 11px;border:1px solid #dce2e7;border-radius:999px;background:#fff;font-size:.76rem;font-weight:700}.mobile-family-tabs b{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:999px;background:#eef2f5;font-size:.67rem}
  .mobile-family-section{margin-top:18px}.mobile-family-section h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tree-sub);margin-bottom:8px}
  .mobile-family-card{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:11px 4px;border-bottom:1px solid #e7eaee;text-decoration:none}.mobile-family-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7edf1;font-weight:800;color:#42566a}.mobile-family-copy strong,.mobile-family-copy span{display:block}.mobile-family-copy>span:last-child{color:var(--tree-sub);font-size:.76rem}.mobile-family-label{font-size:.62rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--tree-green)!important;font-weight:800}.mobile-family-birth{color:var(--tree-ink)!important;font-size:.82rem!important;line-height:1.15}.mobile-family-arrow{font-size:1.55rem;color:#99a2ac}
  .directory-grid{grid-template-columns:1fr}.directory-card{border-left:0;border-right:0;border-radius:0;padding:11px 2px}
  .profile-hero{padding:18px;align-items:flex-start}.profile-avatar{width:72px;height:72px;flex-basis:72px;font-size:1.25rem}.profile-headcopy h1{font-size:1.75rem}.profile-tabs{position:sticky;top:0;background:var(--bg);z-index:8;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.facts-grid,.profile-family-list{grid-template-columns:1fr}.profile-section{padding:22px 0}
}


/* =========================================================
   Stammbaum Design V3 – navigation/orientation layer
   ========================================================= */
.tree-stage-toolbar{gap:16px}
.tree-stage-titlegroup{display:flex;align-items:baseline;gap:8px;min-width:0}
.tree-stage-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tree-control{
  appearance:none;border:1px solid #d2d8df;background:#fff;color:#43505e;
  border-radius:8px;min-width:34px;height:32px;padding:0 10px;font-size:.78rem;
  font-weight:750;cursor:pointer;box-shadow:0 1px 2px rgba(29,39,51,.04)
}
.tree-control:hover{background:#f5f7f9;border-color:#b9c2cc}
.tree-control.wide{min-width:auto}
.tree-control.tree-zoom-readout{min-width:54px;color:#79838e;cursor:default;background:#f8f9fa}
.tree-guide{
  display:flex;align-items:center;gap:16px;min-height:36px;padding:7px 18px;
  border-bottom:1px solid #e3e7ec;background:#fbfcfd;font-size:.69rem;color:#6f7984
}
.tree-guide span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.tree-guide .tree-stage-hint{margin-left:auto}
.guide-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#b8c0c8}
.guide-dot.focus{background:var(--tree-green)}
.guide-dot.open{background:#c99824}
.guide-dot.research{background:#6a83a5}

.tree-viewport{position:relative}
.tree-world{
  position:relative;
  transform-origin:top left;
  will-change:transform;
  transition:transform .12s ease-out
}
.generation-ruler{
  width:100%;min-width:900px;display:grid;grid-template-columns:1fr 1fr 1fr;
  margin-bottom:28px;position:sticky;top:0;z-index:1;pointer-events:none
}
.generation-ruler .gen{
  justify-self:center;background:rgba(243,245,248,.86);backdrop-filter:blur(5px);
  color:#84909d;border:1px solid rgba(210,217,224,.85);border-radius:999px;
  padding:5px 10px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800
}
.generation-ruler .gen-focus{color:var(--tree-green);border-color:#b8d2c7;background:rgba(234,244,239,.9)}

.ft-person-card{isolation:isolate}
.ft-person-card.is-focus:before{
  content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--tree-green);z-index:3
}
.ft-person-card.is-focus .ft-card-meta{background:#f7fbf9}
.ft-person-card:focus-within{outline:3px solid rgba(54,95,145,.16);outline-offset:2px}

.tree-viewport:focus{outline:2px solid rgba(54,95,145,.18);outline-offset:-2px}
.tree-viewport::-webkit-scrollbar{width:12px;height:12px}
.tree-viewport::-webkit-scrollbar-thumb{background:#c3cbd4;border:3px solid transparent;background-clip:padding-box;border-radius:999px}
.tree-viewport::-webkit-scrollbar-corner{background:transparent}

/* Slightly richer desktop cards, while remaining compact */
@media(min-width:761px){
  .ft-person-card{width:192px}
  .ft-person-card.is-focus{width:216px}
  .ft-card-main{min-height:92px}
  .ft-avatar{box-shadow:inset 0 0 0 1px rgba(80,94,108,.05)}
  .ft-name{font-size:.93rem}
}

/* Tablet keeps canvas but reduces chrome */
@media(min-width:761px) and (max-width:1050px){
  .tree-stage-hint{display:none}
  .tree-guide .tree-stage-hint{display:none}
  .tree-world{padding-left:70px;padding-right:70px}
}

/* Mobile keeps focus-first view; tree toolbar is desktop-only */
@media(max-width:760px){
  .tree-stage-controls,.tree-guide,.generation-ruler{display:none}
}


/* =========================================================
   V4 VISUAL OVERHAUL
   ========================================================= */
.family-page-v2{
  max-width:none;
  width:100%;
}
.family-topbar{
  max-width:1500px;
  margin:0 auto 18px;
  padding:0 4px;
}
.family-topbar h1{
  font-size:clamp(2.7rem,5vw,4.8rem);
  letter-spacing:-.055em;
  font-weight:760;
}
.family-topbar p{max-width:760px;font-size:1.08rem}
.family-overview-strip{
  max-width:1500px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(90px,130px)) minmax(280px,1fr);
  gap:10px;
}
.family-overview-strip>div{
  background:#fff;
  border:1px solid #e1e6ea;
  border-radius:14px;
  padding:13px 14px;
  box-shadow:0 5px 18px rgba(21,34,49,.035);
}
.family-overview-strip strong{display:block;font-size:1.25rem;color:#22303d}
.family-overview-strip span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;color:#89939e;font-weight:800}
.family-overview-strip .family-overview-focus{
  background:linear-gradient(135deg,#254c42,#3f7866);
  border-color:transparent;
  color:white;
}
.family-overview-strip .family-overview-focus span{color:rgba(255,255,255,.67)}
.family-overview-strip .family-overview-focus strong{color:white;font-size:1rem;margin-top:3px}

.tree-searchbar{
  max-width:1500px;
  margin:0 auto 18px;
}
.desktop-family-tree{
  position:relative;
  border-radius:22px;
  border:1px solid #cfd6dc;
  box-shadow:0 16px 50px rgba(30,43,57,.11);
  overflow:hidden;
}
.tree-stage-toolbar{
  height:66px;
  background:linear-gradient(180deg,#ffffff,#f9fafb);
}
.tree-stage-title{font-size:1.02rem}
.tree-guide{
  background:#f7f9fa;
  min-height:42px;
}
.tree-floating-dock{
  position:absolute;
  z-index:25;
  right:18px;
  top:126px;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:7px;
  border-radius:14px;
  background:rgba(255,255,255,.95);
  border:1px solid #d4dbe1;
  box-shadow:0 10px 28px rgba(30,43,57,.14);
  backdrop-filter:blur(10px);
}
.tree-floating-dock button{
  width:38px;height:38px;border:0;border-radius:9px;background:#f2f5f6;
  color:#32404c;font-weight:850;font-size:1.08rem;cursor:pointer;
}
.tree-floating-dock button:hover{background:#e7eeeb;color:#23604e}
.tree-viewport{
  height:min(78vh,860px);
  min-height:650px;
  background:
    linear-gradient(rgba(255,255,255,.74),rgba(255,255,255,.74)),
    radial-gradient(circle at 1px 1px,#aeb8c2 1px,transparent 1.35px) 0 0/26px 26px,
    #eef2f4;
}
.tree-world{
  padding:80px 150px 120px;
}
.generation-ruler{
  margin-bottom:34px;
}
.generation-ruler .gen{
  background:rgba(255,255,255,.9);
  box-shadow:0 3px 10px rgba(38,54,70,.05);
}
.ft-ancestor-zone,.ft-descendant-zone{gap:66px}
.ft-ancestor-parents,.ft-descendant-children{gap:34px}

.ft-person-card{
  width:218px;
  min-height:252px;
  height:252px;
  border-radius:14px;
  border:1px solid #bec8d0;
  box-shadow:0 8px 22px rgba(29,39,51,.10);
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
.ft-person-card:hover{
  transform:translateY(-4px) scale(1.012);
  box-shadow:0 15px 34px rgba(29,39,51,.15);
}
.ft-person-card.is-focus{
  width:218px;
  min-height:252px;
  height:252px;
  border:2px solid #2f7962;
  box-shadow:0 18px 42px rgba(47,121,98,.23);
}
.ft-person-card.is-focus:before{height:6px}
.ft-person-interactive{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  height:100%;
  padding:18px 16px 34px;
  text-decoration:none;
  color:inherit;
  overflow:visible;
}
.ft-card-main{
  padding:16px 15px 13px;
  min-height:106px;
  gap:13px;
}
.ft-avatar{
  width:82px;height:82px;flex:0 0 82px;
  margin:4px auto 12px;
  border:4px solid #f6f8f9;
  background:linear-gradient(145deg,#dce5ea,#edf2f4);
  color:#2e4355;
  font-size:1.45rem;
  box-shadow:inset 0 0 0 1px rgba(80,94,108,.06);
}
.ft-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.is-focus .ft-avatar{
  width:82px;height:82px;flex-basis:82px;
  background:linear-gradient(145deg,#d8eee5,#edf7f3);
  color:#25644f;
}
.ft-card-text{
  width:100%;
  min-height:86px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.ft-card-name-line{
  width:100%;
  min-height:2.35em;
  font-size:1.02rem;
  font-weight:790;
  line-height:1.14;
  color:var(--tree-ink);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  word-break:break-word;
}
.ft-card-name-line.is-empty{visibility:hidden}
.ft-card-birth-line{
  width:100%;
  margin-top:2px;
  min-height:1.2em;
  font-size:1.02rem;
  font-weight:760;
  line-height:1.12;
  color:var(--tree-ink);
  text-align:center;
  word-break:break-word;
}
.ft-card-years{
  width:100%;
  margin-top:auto;
  padding-top:10px;
  min-height:1.15em;
  font-size:.86rem;
  line-height:1;
  color:var(--tree-sub);
  text-align:center;
}
.ft-card-years.is-empty{visibility:hidden}
.ft-relation-label{font-size:.66rem}
.ft-name{font-size:1.02rem;line-height:1.16}
.ft-years{font-size:.82rem}
.ft-nickname{font-size:.76rem}
.ft-card-meta{padding:8px 11px}
.ft-person-id{font-size:.6rem}
.ft-profile-link{font-size:.73rem}
.ft-state{width:10px;height:10px;top:10px;right:10px}
.ft-card-plus{
  position:absolute;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  width:40px;
  height:40px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #d9dfe5;
  box-shadow:0 6px 16px rgba(29,39,51,.14);
  color:#58626d;
  font-size:1.85rem;
  line-height:1;
  z-index:3;
}
.person-contact-state{right:9px;bottom:9px}

.ft-partner-link{width:48px;height:3px;background:#9da9b4}
.ft-main-drop,.ft-ancestor-drop,.ft-descendant-drop,
.ft-descendant-children>.ft-descendant-branch:before{background:#9da9b4}
.ft-ancestor-parents:after,.ft-descendant-children:before{height:3px;background:#9da9b4}

/* Profile gets a richer hero and panel treatment */
.person-profile-v2{max-width:1180px;margin:auto}
.profile-hero{
  background:
    radial-gradient(circle at 90% 10%,rgba(57,130,104,.10),transparent 35%),
    linear-gradient(135deg,#fff,#f7faf9);
  border-radius:26px;
  padding:34px;
}
.profile-avatar{width:112px;height:112px;flex-basis:112px;font-size:2rem}
.profile-tabs{margin-top:24px}
.fact-card,.profile-family-list a{
  box-shadow:0 4px 15px rgba(30,43,57,.035)
}

/* Mobile: more Ancestry-like focus hierarchy */
@media(max-width:760px){
  .family-page-v2{padding:0}
  .family-topbar{padding:0 2px}
  .family-topbar h1{font-size:2.55rem}
  .family-overview-strip{
    grid-template-columns:repeat(4,1fr);
    overflow-x:auto;
    gap:8px;
    padding-bottom:4px;
  }
  .family-overview-strip>div{min-width:78px;padding:10px}
  .family-overview-strip .family-overview-focus{display:none}
  .mobile-focus-panel{
    border-radius:20px;
    padding:17px;
    background:
      radial-gradient(circle at 100% 0,rgba(47,121,98,.12),transparent 38%),
      #fff;
    box-shadow:0 10px 30px rgba(29,39,51,.07);
  }
  .mobile-focus-avatar{width:72px;height:72px}
  .mobile-family-section{
    background:#fff;
    border:1px solid #e0e5e9;
    border-radius:16px;
    padding:14px;
    box-shadow:0 4px 16px rgba(29,39,51,.035);
  }
  .mobile-family-card:last-child{border-bottom:0}
}


/* =========================================================
   HISTORY Admin V2
   ========================================================= */
.admin-history-shell{max-width:1280px;margin:0 auto}
.admin-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:10px 0 20px}
.admin-page-head.compact{align-items:center;margin-top:0}
.admin-page-head h1,.admin-page-head h2{margin:0 0 6px}
.admin-page-head p{margin:0;color:#68727e}
.admin-searchbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:18px}
.admin-table-wrap{overflow:auto;background:#fff;border:1px solid #e0e4e8;border-radius:12px}
.admin-table-wrap .table{margin:0}
.admin-action-link{font-weight:700;text-decoration:none}
.admin-id-rule{display:flex;flex-direction:column;gap:4px;padding:15px 17px;background:#f4f8f6;border:1px solid #d7e4dd;border-radius:12px;margin-bottom:18px}
.admin-id-rule span{font-size:.86rem;color:#65716a}
.admin-person-form{margin-top:16px}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.admin-person-form h2,.admin-relations-card h2{font-size:1.2rem;margin-top:0}
.form-row small{display:block;color:#76808a;margin-top:4px;font-size:.75rem}
.admin-relations-card{margin-top:18px}
.admin-relation-list{display:flex;flex-direction:column;border-top:1px solid #e4e7ea}
.admin-relation-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #e4e7ea}
.admin-relation-row>div{display:grid;grid-template-columns:150px minmax(180px,1fr);column-gap:12px;align-items:baseline}
.admin-relation-row strong{color:#55616c}
.admin-relation-row a{font-weight:700;text-decoration:none}
.admin-relation-row small{grid-column:2;color:#828b95}
.danger-button{border-color:#d6a5a5!important;color:#8b3535!important}
.admin-relation-add{display:grid;grid-template-columns:1.2fr 1fr;gap:12px 18px}
.admin-relation-add .form-row:last-of-type{grid-column:1/-1}
.admin-relation-add>button{justify-self:start}
.danger-zone{margin-top:18px;border-color:#e6caca;background:#fffafa}
@media(max-width:760px){
  .admin-page-head{display:block}.admin-page-head>.button{display:inline-block;margin-top:12px}
  .admin-form-grid,.admin-relation-add{grid-template-columns:1fr}
  .admin-relation-add .form-row:last-of-type{grid-column:auto}
  .admin-relation-row{grid-template-columns:1fr}
  .admin-relation-row>div{grid-template-columns:1fr}
  .admin-relation-row small{grid-column:auto}
}


/* HISTORY Admin V7 – relationship dates */
.admin-relation-row-v7{
  grid-template-columns:minmax(240px,.85fr) minmax(420px,1.6fr) auto;
  align-items:start;
}
.admin-relation-main{display:flex!important;flex-direction:column;gap:3px}
.admin-relation-main small{grid-column:auto!important}
.admin-relation-date-form{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 10px;align-items:end;
}
.admin-relation-date-form .form-row{margin:0}
.admin-relation-date-form .relation-note-row{grid-column:1/-1}
.admin-relation-date-form button{justify-self:start;grid-column:1/-1}
.relationship-detail-date{color:#49705e!important;font-weight:650;margin-top:3px}
@media(max-width:980px){
  .admin-relation-row-v7{grid-template-columns:1fr}
  .admin-relation-date-form{grid-template-columns:1fr 1fr}
  .admin-relation-date-form .relation-note-row{grid-column:1/-1}
}
@media(max-width:620px){
  .admin-relation-date-form{grid-template-columns:1fr}
  .admin-relation-date-form .relation-note-row{grid-column:auto}
}


/* =========================================================
   V8 PERSON DIRECTORY + PROFILE PHOTO EDITOR
   ========================================================= */
.directory-card-actions{display:flex;align-items:center;gap:12px;padding-right:14px;white-space:nowrap}
.directory-profile-link,.directory-tree-link{font-weight:750;text-decoration:none;color:#315d91}
.directory-profile-link{color:#37424e}
.directory-avatar.has-photo,.profile-avatar.has-photo,.mini-avatar.has-photo{overflow:hidden}
.directory-avatar img,.profile-avatar img,.mini-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar.has-photo{background:#eef1f2}
.directory-card{grid-template-columns:minmax(0,1fr) auto}
.family-top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.photo-editor-page{max-width:1050px}
.photo-editor-card{padding:24px}
.photo-editor-grid{display:grid;grid-template-columns:minmax(360px,1fr) 260px;gap:54px;align-items:start}
.photo-file-button{display:inline-flex;cursor:pointer;margin:10px 0 18px}
.photo-crop-stage{
  width:min(460px,72vw);aspect-ratio:1;position:relative;overflow:hidden;
  background:#e8ecef;touch-action:none;cursor:grab;border:1px solid #cfd5da;border-radius:12px;
}
.photo-crop-stage.dragging{cursor:grabbing}
.photo-crop-stage>img#photoCropImage{position:absolute;left:0;top:0;max-width:none;display:none;transform-origin:0 0;user-select:none;pointer-events:none}
.photo-crop-mask{
  position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(circle at center,transparent 0 48.5%,rgba(24,29,34,.62) 49% 100%);
}
.photo-crop-mask:after{
  content:"";position:absolute;inset:7%;border:2px solid rgba(255,255,255,.94);border-radius:50%;
  box-shadow:0 0 0 1px rgba(0,0,0,.18)
}
.photo-crop-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:800;color:#66737c}
.photo-crop-placeholder img{width:100%;height:100%;object-fit:cover}
.photo-zoom-row{width:min(460px,72vw);display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center;margin:14px 0 10px}
.photo-zoom-row input{width:100%}
.photo-preview-column{text-align:center}
.photo-round-preview{
  width:190px;height:190px;border-radius:50%;overflow:hidden;margin:22px auto 12px;
  background:#e9edef;border:3px solid #d0d6da;display:flex;align-items:center;justify-content:center;
  font-size:2.4rem;font-weight:800;color:#63707a
}
.photo-round-preview img{width:100%;height:100%;object-fit:cover}
#photoSaveForm{margin-top:24px}
.photo-delete-form{margin-top:12px}
@media(max-width:760px){
  .photo-editor-grid{grid-template-columns:1fr;gap:25px}
  .photo-preview-column{text-align:left}
  .photo-round-preview{margin-left:0}
  .directory-card-actions{gap:8px}
}


/* =========================================================
   V9 PEOPLE DIRECTORY FIX
   ========================================================= */
.people-page-v9{max-width:1280px;margin:0 auto}
.people-page-head{margin-bottom:12px}
.people-page-head h1{margin-bottom:6px}
.people-primary-actions{
  display:flex!important;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  flex-wrap:wrap;
}
.people-add-button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.people-grid-v9 .directory-card-v9{
  cursor:pointer;
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  gap:12px;
}
.directory-person-v9{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:0;
}
.directory-person-copy{min-width:0;display:flex;flex-direction:column}
.directory-person-copy strong{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.directory-card-actions-v9{
  display:flex!important;
  align-items:center;
  gap:8px;
  position:relative;
  z-index:4;
}
.directory-profile-button,.directory-tree-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  text-decoration:none!important;
}
.directory-card-v9:focus{
  outline:3px solid rgba(58,169,201,.25);
  outline-offset:2px;
}
@media(max-width:720px){
  .people-grid-v9 .directory-card-v9{grid-template-columns:1fr!important}
  .directory-card-actions-v9{padding-top:8px}
}


/* =========================================================
   V10 TREE PERSON OVERLAY / FRONTEND EDIT CARD
   ========================================================= */
.person-modal[hidden]{display:none!important}
.person-modal{position:fixed;inset:0;z-index:10000}
.person-modal-backdrop{position:absolute;inset:0;background:rgba(20,24,28,.46);backdrop-filter:blur(2px)}
.person-modal-card{
  position:absolute;right:22px;top:22px;bottom:22px;width:min(720px,calc(100vw - 44px));
  background:#f7f8f8;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.27);overflow:hidden
}
.person-modal-card iframe{width:100%;height:100%;border:0;background:#f7f8f8}
.person-modal-close{
  position:absolute;right:14px;top:12px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;
  background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.15);font-size:25px;cursor:pointer;color:#42484e
}
.person-modal-open{overflow:hidden}

.person-panel-body{margin:0;background:#f7f8f8;color:#252a30}
.person-panel{padding:28px 28px 60px}
.person-panel-header{display:flex;gap:18px;align-items:center;margin:4px 46px 20px 0}
.person-panel-header h1{margin:3px 0 3px;font-size:1.65rem}
.person-panel-header p{margin:0;color:#78808a}
.person-panel-avatar{
  width:92px;height:92px;border-radius:50%;background:#e5eaed;border:2px solid #cfd5d8;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;color:#5e6871;overflow:hidden;flex:0 0 auto
}
.person-panel-avatar img{width:100%;height:100%;object-fit:cover}
.person-panel-actions{display:flex;gap:15px;margin:0 0 18px;flex-wrap:wrap}
.person-panel-actions a{font-weight:750;text-decoration:none}
.panel-section{background:#fff;border:1px solid #dfe3e6;border-radius:13px;margin:13px 0;overflow:hidden}
.panel-section>summary{cursor:pointer;padding:14px 16px;font-weight:800;background:#fbfbfa}
.panel-section.static{padding:16px}
.panel-section.static h2{margin-top:0}
.panel-edit-form{padding:16px}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-bottom:14px}
.panel-grid label,.panel-edit-form>label,.panel-relation-form label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:700;color:#5d6670}
.panel-grid input,.panel-grid select,.panel-grid textarea,.panel-edit-form input,.panel-edit-form select,.panel-relation-form input,.panel-relation-form select{
  width:100%;box-sizing:border-box;border:1px solid #cbd2d8;border-radius:8px;padding:9px 10px;background:#fff;font:inherit;color:#252a30
}
.panel-grid textarea{min-height:88px}
.panel-grid .wide{grid-column:1/-1}
.panel-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.panel-facts div{padding:10px;background:#f7f8f8;border-radius:9px}
.panel-facts dt{font-size:.72rem;color:#7b838b}.panel-facts dd{margin:3px 0 0;font-weight:750}
.panel-relation{padding:13px 16px;border-top:1px solid #e6e8ea}
.panel-relation-title{display:grid;grid-template-columns:140px 1fr auto;gap:10px;align-items:baseline}
.panel-relation-title a{font-weight:750;text-decoration:none}
.panel-relation-title small{color:#8b9298}
.panel-relation-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}
.panel-relation-form .wide{grid-column:1/-1}
.panel-relation-form button{grid-column:1/-1;justify-self:start}
.panel-relation-meta{margin-top:6px;color:#68727b;font-size:.82rem}
.panel-unlink-form{margin-top:9px}
.panel-add-relation{margin:12px 16px;border:1px dashed #cfd5d9;border-radius:10px}
.panel-add-relation summary{cursor:pointer;padding:11px;font-weight:750}
.panel-event{padding:14px 16px;border-top:1px solid #e6e8ea}
.panel-event small{display:block;color:#899099;margin-top:2px}.panel-event p{margin-bottom:0}
@media(max-width:720px){
  .person-modal-card{inset:0;width:auto;border-radius:0}
  .person-panel{padding:20px 16px 45px}
  .panel-grid,.panel-relation-form{grid-template-columns:1fr}
  .panel-grid .wide,.panel-relation-form .wide{grid-column:auto}
  .panel-relation-title{grid-template-columns:1fr}
}


/* =========================================================
   V11 – FAMILY PLATFORM
   ========================================================= */
.public-family-teaser{
  max-width:1180px;margin:22px auto 0;padding:18px 22px;border:1px solid #d7dcdf;border-radius:14px;
  background:linear-gradient(135deg,#f8faf9,#eef4f1);display:flex;justify-content:space-between;gap:20px;align-items:center
}
.public-family-teaser span{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#728078}
.public-family-teaser strong{display:block;font-size:1.15rem;margin:4px 0}
.public-family-teaser p{margin:0;color:#707980}
.public-family-teaser a{font-weight:800;text-decoration:none;white-space:nowrap}

.public-family-page{max-width:1180px;margin:0 auto;padding:22px 0 50px}
.public-family-hero{display:grid;grid-template-columns:1fr 210px;gap:48px;align-items:center;padding:42px 0}
.public-family-hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.03;margin:8px 0 18px;max-width:800px}
.public-family-hero>div>p{font-size:1.08rem;color:#657079;max-width:760px;line-height:1.6}
.public-family-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.public-family-stat{width:190px;height:190px;border-radius:50%;background:#f0f4f2;border:1px solid #d7ded9;display:flex;flex-direction:column;align-items:center;justify-content:center}
.public-family-stat strong{font-size:3rem}.public-family-stat span{color:#78817d}
.public-family-grid,.public-branch-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.public-family-grid article,.public-branch-cards article{padding:20px;border:1px solid #dde1e3;border-radius:14px;background:#fff}
.public-family-grid h2,.public-branch-cards h3{margin-top:0}
.public-family-grid p,.public-branch-cards p{color:#707980;line-height:1.5}
.public-branch-preview{margin-top:42px}.public-branch-cards article>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7d858b}

.family-home-v11{max-width:1380px;margin:0 auto}
.family-home-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:18px 0}
.family-home-hero h1{margin:4px 0}.family-home-stat{text-align:right}.family-home-stat strong{font-size:2.2rem;display:block}
.family-home-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 24px}
.family-overview-board{display:grid;grid-template-columns:minmax(500px,1.35fr) 70px minmax(420px,1fr);gap:18px;align-items:stretch}
.overview-connected,.overview-external{display:flex;flex-direction:column;gap:14px}
.overview-section-label{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#7e858b;padding-left:4px}
.branch-overview-card{padding:22px;border:1px solid #d9dee1;border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(35,42,48,.06)}
.branch-overview-card.is-main{border-color:#8fc7d7;background:#f7fcfd}.branch-overview-card.is-spouse{border-color:#d6c6eb;background:#fbf9fe}
.branch-overview-card.is-external{border-style:dashed;background:#fafafa}
.branch-type{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7d858b;font-weight:800}
.branch-overview-card h2{margin:7px 0}.branch-overview-card p{color:#707980;line-height:1.5}
.external-branch-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}.external-branch-row .branch-overview-card{min-width:300px}
.overview-divider{position:relative;display:flex;align-items:center;justify-content:center}
.overview-divider:before{content:"";position:absolute;top:0;bottom:0;width:1px;border-left:1px dashed #c8cccf}
.overview-divider span{position:relative;background:#f7f8f8;padding:8px 4px;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.1em;color:#8a8f93}

.person-contact-state{position:absolute;right:8px;bottom:8px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.73rem;font-style:normal;font-weight:800;z-index:2}
.person-contact-state.is-available{background:#e5f5eb;color:#2d8250;border:1px solid #bcdcc8}
.person-contact-state.is-unavailable{background:#eff1f2;color:#8b9298;border:1px solid #d4d8db}
.person-contact-state i{position:absolute;right:-2px;bottom:-3px;font-size:.62rem;background:#fff;border-radius:50%;width:11px;height:11px;display:flex;align-items:center;justify-content:center;font-style:normal}

.panel-contact-link{color:#286943!important}.panel-contact-unavailable{display:inline-flex;align-items:center;gap:6px;color:#8a9095;font-size:.82rem}
.panel-contact-unavailable .person-contact-state{position:relative;right:auto;bottom:auto}

.contact-relay-page{max-width:760px;margin:0 auto}.contact-relay-card{padding:24px}
.contact-relay-head{display:flex;gap:18px;align-items:center}.contact-relay-head h1{margin:4px 0}
.contact-relay-avatar{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#e7ecee;display:flex;align-items:center;justify-content:center;font-weight:800}
.contact-relay-avatar img{width:100%;height:100%;object-fit:cover}
.contact-relay-form{display:grid;gap:13px;margin-top:20px}.contact-relay-form label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:750}
.contact-relay-form input,.contact-relay-form textarea{border:1px solid #cbd2d7;border-radius:9px;padding:10px;font:inherit}
.contact-relay-form textarea{min-height:100px;resize:vertical}.contact-relay-form small{align-self:flex-end;color:#858c92}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-privacy-note{font-size:.76rem;color:#858c92;margin-top:16px}
.contact-unavailable{display:flex;align-items:center;gap:9px;margin-top:18px;padding:12px 14px;border-radius:10px;background:#f1f2f2;color:#777e84}
.contact-unavailable .person-contact-state{position:relative;right:auto;bottom:auto}
.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}

.ft-appbar-left-v11{gap:4px}

@media(max-width:900px){
  .public-family-grid,.public-branch-cards{grid-template-columns:1fr 1fr}
  .family-overview-board{grid-template-columns:1fr}
  .overview-divider{height:45px}.overview-divider:before{left:0;right:0;top:22px;bottom:auto;width:auto;border-left:0;border-top:1px dashed #c8cccf}
  .overview-divider span{writing-mode:horizontal-tb}
}
@media(max-width:650px){
  .public-family-hero{grid-template-columns:1fr}.public-family-stat{width:130px;height:130px}.public-family-stat strong{font-size:2rem}
  .public-family-grid,.public-branch-cards{grid-template-columns:1fr}
  .public-family-teaser{margin:12px;display:block}.public-family-teaser a{display:inline-block;margin-top:12px}
}


/* =========================================================
   V12 – compact public home, access, directory, accounts
   ========================================================= */
.home-v12{max-width:1180px;margin:0 auto;padding:32px 0 55px}
.home-v12-hero{padding:38px 0 30px}.home-v12-hero h1{font-size:clamp(3rem,7vw,5.3rem);margin:5px 0 16px;letter-spacing:-.04em}
.home-v12-hero p{font-size:1.12rem;line-height:1.55;max-width:760px;color:#68717c}
.home-family-search{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;padding:22px 24px;background:#fff;border:1px solid #dce1e4;border-radius:16px;box-shadow:0 8px 25px rgba(30,38,45,.05)}
.home-family-search span,.home-path-card>span{font-size:.66rem;letter-spacing:.12em;font-weight:800;color:#74808a}.home-family-search h2{margin:3px 0 6px}.home-family-search p{margin:0;color:#7a828a}
.home-family-search form{display:grid;grid-template-columns:1fr auto;gap:8px}.home-family-search input{border:1px solid #cbd2d7;border-radius:10px;padding:13px 14px;font-size:1rem}
.home-v12-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.home-path-card{display:block;padding:22px;border:1px solid #dce1e4;border-radius:16px;background:#fff;text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow}
.home-path-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(30,38,45,.08)}.home-path-card h2{margin:7px 0}.home-path-card p{color:#707982;line-height:1.5;min-height:68px}.home-path-card strong{color:#315d91}
.home-path-card.family{background:#f7fbfc}.home-path-card.access{background:#faf9fd}

.public-search-v12{max-width:1000px;margin:0 auto;padding:35px 0}.public-search-v12 h1{margin:6px 0 18px}
.public-search-form{display:grid;grid-template-columns:1fr auto;gap:8px}.public-search-form input{padding:13px;border:1px solid #cbd2d7;border-radius:10px;font-size:1rem}
.public-search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}.public-search-results article{padding:18px;border:1px solid #dde1e3;border-radius:13px;background:#fff}
.public-search-results article>span{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#7b858d}.public-search-results h2{margin:5px 0}.public-search-results p{color:#6f7981}.public-search-results a{display:inline-block;margin-top:10px;font-weight:750;text-decoration:none}

.family-access-v12{max-width:1050px;margin:0 auto;padding:35px 0}.access-v12-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.access-v12-grid>section:first-child{padding:20px 8px}.access-v12-grid h1{font-size:2.6rem;margin:5px 0 15px}.access-buttons{display:flex;gap:9px;margin-top:18px}
.simple-v12-form{display:grid;gap:12px}.simple-v12-form label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:750}.simple-v12-form input,.simple-v12-form textarea,.simple-v12-form select{padding:10px;border:1px solid #cbd2d7;border-radius:8px;font:inherit}.simple-v12-form textarea{min-height:90px}

.login-v12{max-width:470px;margin:50px auto}.login-card-v12{padding:26px}.login-card-v12 h1{font-size:2.4rem;margin:6px 0 20px}.login-family-help{margin-top:22px;padding-top:16px;border-top:1px solid #e2e5e7;display:flex;flex-direction:column;gap:6px}.login-family-help a{font-weight:750;text-decoration:none}

.claim-v12{max-width:650px;margin:35px auto;padding:26px}.access-request-card{margin:10px 0}
@media(max-width:760px){
 .home-family-search,.access-v12-grid{grid-template-columns:1fr}.home-v12-paths{grid-template-columns:1fr}.home-path-card p{min-height:0}
 .public-search-results{grid-template-columns:1fr}.home-v12{padding-left:12px;padding-right:12px}
}


/* V12.1 language switch */
.top-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.language-switcher{display:flex;align-items:center;gap:7px;margin-left:12px;padding-left:12px;border-left:1px solid #d9dde0}
.language-button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-width:48px;min-height:46px;padding:4px 8px!important;border:1px solid #cfd5d9;border-radius:9px;background:#fff;text-decoration:none!important;line-height:1}
.language-button:hover{background:#f4f7f8}
.language-button.active{border-color:#315d91;box-shadow:0 0 0 2px rgba(49,93,145,.13)}
.language-flag{font-size:1.35rem;line-height:1.05}
.language-code{font-size:.64rem;font-weight:850;letter-spacing:.08em;margin-top:4px;color:#3d454c}
@media(max-width:760px){
  .language-switcher{margin-left:0;padding-left:0;border-left:0}
  .language-button{min-width:44px;min-height:42px}
}


/* V12.2 – force globally visible language controls */
.language-switcher-fixed{
  position:fixed!important;
  top:10px!important;
  right:14px!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:5px!important;
  border:1px solid #d5dade!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 4px 18px rgba(20,30,40,.12)!important;
  backdrop-filter:blur(8px);
}
.language-switcher-fixed .language-button{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:48px!important;
  min-height:45px!important;
  padding:4px 8px!important;
  border:1px solid #ccd3d8!important;
  border-radius:9px!important;
  background:#fff!important;
  text-decoration:none!important;
  line-height:1!important;
}
.language-switcher-fixed .language-flag{font-size:1.35rem!important;line-height:1!important}
.language-switcher-fixed .language-code{font-size:.64rem!important;font-weight:850!important;letter-spacing:.08em!important;margin-top:4px!important;color:#333!important}
.language-switcher-fixed .language-button.active{border-color:#315d91!important;box-shadow:0 0 0 2px rgba(49,93,145,.14)!important}
.site-header{padding-right:125px}
@media(max-width:720px){
  .language-switcher-fixed{top:7px!important;right:7px!important}
  .language-switcher-fixed .language-button{min-width:42px!important;min-height:40px!important;padding:3px 6px!important}
  .site-header{padding-right:108px}
}


/* V12.3 – language control is a normal menu item, never an overlay */
.language-switcher-fixed{display:none!important}
.site-header{padding-right:0!important}
.top-nav{display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:nowrap!important}
.language-switcher-inline{
  position:static!important;display:flex!important;align-items:center!important;gap:6px!important;
  margin:0 10px 0 0!important;padding:0 14px 0 0!important;border:0!important;
  border-right:1px solid #d7dce0!important;background:transparent!important;box-shadow:none!important;
  backdrop-filter:none!important;flex:0 0 auto!important
}
.language-switcher-inline .language-button{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  width:48px!important;height:48px!important;padding:3px 6px!important;border:1px solid #cfd5da!important;
  border-radius:10px!important;background:#fff!important;text-decoration:none!important;line-height:1!important;box-shadow:none!important
}
.language-switcher-inline .language-button.active{border-color:#315d91!important;box-shadow:0 0 0 2px rgba(49,93,145,.14)!important}
.language-switcher-inline .language-button.inactive{border-color:#d9dde0!important;background:#f6f7f8!important}
.language-switcher-inline .language-button.inactive .language-flag{filter:grayscale(1)!important;opacity:.42!important}
.language-switcher-inline .language-button.inactive .language-code{color:#9aa0a5!important}
.language-switcher-inline .language-flag{font-size:1.3rem!important;line-height:1!important}
.language-switcher-inline .language-code{margin-top:4px!important;font-size:.64rem!important;font-weight:850!important;letter-spacing:.08em!important;color:#343b41!important}
@media(max-width:900px){
  .top-nav{gap:10px!important}
  .language-switcher-inline{margin-right:4px!important;padding-right:8px!important}
  .language-switcher-inline .language-button{width:42px!important;height:42px!important}
}


/* V12.4 – sticky navigation and balanced viewport spacing */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:12000!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid #dfe3e6!important;
  padding-left:32px!important;
  padding-right:32px!important;
}

.site-header .brand{
  flex:0 0 auto!important;
}

.site-header .top-nav{
  margin-left:auto!important;
  padding-right:0!important;
}

.site-header .top-nav > a:last-child{
  margin-right:6px!important;
}

.sub-nav{
  position:sticky!important;
  top:78px!important;
  z-index:11900!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid #dfe3e6!important;
}

@media(max-width:900px){
  .site-header{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .sub-nav{
    top:68px!important;
  }
}


/* V12.5 – person popup above Family sub-navigation, below primary header */
.person-modal{
  top:78px!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  inset:auto 0 0 0!important;
  z-index:11950!important;
}

.person-modal-backdrop{
  z-index:0!important;
}

.person-modal-card{
  z-index:1!important;
  top:16px!important;
  bottom:16px!important;
  right:22px!important;
}

.person-modal-close{
  z-index:3!important;
}

@media(max-width:900px){
  .person-modal{
    top:68px!important;
  }
}

@media(max-width:720px){
  body.family-v5-page .person-modal{
    top:0!important;
  }
  .person-modal-card{
    inset:0!important;
    width:auto!important;
    border-radius:0!important;
  }
}


/* V12.6 – navigation/modal regression fix */

/* Only the main site header stays sticky. The Family submenu participates
   in normal document flow so it can never cover profile/person content. */
.sub-nav{
  position:relative!important;
  top:auto!important;
  z-index:100!important;
}

/* Modal is moved to body by JS. It therefore no longer inherits any
   Family/tree stacking context. */
body > .person-modal{
  position:fixed!important;
  inset:78px 0 0 0!important;
  z-index:20000!important;
}

body > .person-modal .person-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}

body > .person-modal .person-modal-card{
  position:absolute!important;
  z-index:1!important;
  top:16px!important;
  right:22px!important;
  bottom:16px!important;
  width:min(720px,calc(100vw - 44px))!important;
}

body > .person-modal .person-modal-close{
  z-index:3!important;
}

@media(max-width:900px){
  body > .person-modal{
    inset:68px 0 0 0!important;
  }
}

@media(max-width:720px){
  body.family-v5-page > .person-modal{
    inset:0!important;
  }
  body > .person-modal .person-modal-card{
    inset:0!important;
    width:auto!important;
    border-radius:0!important;
  }
}


/* =========================================================
   V12.7 – APPROVED HOMEPAGE MOCKUP / PLUM + EBONY + BEIGE
   ========================================================= */
:root{
  --bouzek-plum:#7c2f64;
  --bouzek-plum-dark:#62244f;
  --bouzek-plum-soft:#efe3eb;
  --bouzek-plum-pale:#f8f1f5;
  --bouzek-ebony:#21191f;
  --bouzek-ebony-soft:#4a4046;
  --bouzek-beige:#f0e6de;
  --bouzek-beige-light:#fbf7f3;
  --bouzek-white:#fffdfb;
  --bouzek-line:#dfd4da;
  --bouzek-muted:#756b72;
}

/* global colour language */
body{
  background:var(--bouzek-beige-light)!important;
  color:var(--bouzek-ebony)!important;
}
.site-header{
  background:rgba(255,253,251,.98)!important;
  border-bottom-color:var(--bouzek-line)!important;
}
.brand{
  color:var(--bouzek-ebony)!important;
}
.top-nav a,.sub-nav a{
  color:var(--bouzek-ebony-soft)!important;
}
.top-nav a:hover,.sub-nav a:hover{
  color:var(--bouzek-plum)!important;
}
.sub-nav{
  background:rgba(248,241,245,.96)!important;
  border-bottom-color:var(--bouzek-line)!important;
}
.site-footer{
  background:var(--bouzek-white)!important;
  border-top:1px solid var(--bouzek-line)!important;
  color:var(--bouzek-muted)!important;
}

.button{
  background:var(--bouzek-plum)!important;
  border-color:var(--bouzek-plum)!important;
  color:#fff!important;
}
.button:hover{
  background:var(--bouzek-plum-dark)!important;
  border-color:var(--bouzek-plum-dark)!important;
}
.button-secondary{
  background:var(--bouzek-white)!important;
  border-color:#cdb9c5!important;
  color:var(--bouzek-plum)!important;
}
.button-secondary:hover{
  background:var(--bouzek-plum-pale)!important;
}

.card,
.branch-overview-card,
.public-family-grid article,
.public-branch-cards article,
.public-search-results article,
.contact-relay-card,
.login-card-v12{
  background:var(--bouzek-white)!important;
  border-color:var(--bouzek-line)!important;
}

input,textarea,select{
  border-color:#cfc1c9!important;
  background:#fffefd!important;
  color:var(--bouzek-ebony)!important;
}
input:focus,textarea:focus,select:focus{
  outline:2px solid rgba(124,47,100,.14)!important;
  border-color:var(--bouzek-plum)!important;
}

.eyebrow,
.home-family-search span,
.home-path-card>span,
.branch-type,
.overview-section-label{
  color:var(--bouzek-plum)!important;
}

.profile-status{
  background:var(--bouzek-plum-soft)!important;
  color:var(--bouzek-plum)!important;
}

/* language controls */
.language-switcher-inline .language-button.active{
  border-color:var(--bouzek-plum)!important;
  box-shadow:0 0 0 2px rgba(124,47,100,.13)!important;
}
.language-switcher-inline .language-button.inactive{
  background:#f6f2f3!important;
}

/* homepage */
.home-mockup{
  max-width:1520px;
  margin:0 auto;
  padding:0 30px 50px;
}

.home-mockup-hero{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-radius:0 0 24px 24px;
  background:var(--bouzek-beige);
  box-shadow:0 16px 48px rgba(61,39,52,.10);
}

.home-mockup-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.home-mockup-hero-wash{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(255,249,245,.96) 0%,
      rgba(255,249,245,.92) 24%,
      rgba(255,249,245,.66) 39%,
      rgba(255,249,245,.15) 57%,
      rgba(255,249,245,0) 72%);
}

.home-mockup-copy{
  position:relative;
  z-index:2;
  width:min(48%,660px);
  padding:76px 0 66px 54px;
}

.home-mockup-kicker{
  margin-bottom:26px;
  color:var(--bouzek-plum);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.18em;
}
.home-mockup-kicker:after{
  content:"";
  display:block;
  width:48px;
  height:2px;
  margin-top:12px;
  background:var(--bouzek-plum);
}

.home-mockup-copy h1{
  margin:0 0 14px;
  max-width:650px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,7vw,7rem);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.045em;
  color:#1f1119;
}

.home-mockup-copy p{
  max-width:600px;
  margin:0 0 28px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.25rem,2vw,2rem);
  line-height:1.18;
  color:#35262f;
}

.home-hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-width:230px;
  padding:15px 24px;
  border-radius:28px;
  background:linear-gradient(135deg,#8f376f,#6d2457);
  color:white!important;
  text-decoration:none!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.1rem;
  box-shadow:0 9px 24px rgba(109,36,87,.18);
}
.home-hero-cta:hover{
  transform:translateY(-1px);
}
.home-hero-cta span{
  font-size:1.3rem;
}

.home-hero-signature{
  position:absolute;
  z-index:2;
  right:34px;
  bottom:34px;
  max-width:180px;
  color:rgba(255,255,255,.94);
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:1.35rem;
  line-height:1.05;
  text-align:right;
  text-shadow:0 1px 6px rgba(0,0,0,.22);
}

.home-mockup-search{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:96px minmax(320px,.95fr) minmax(480px,1.45fr);
  gap:24px;
  align-items:center;
  width:calc(100% - 80px);
  margin:-54px auto 0;
  padding:24px 28px;
  border:1px solid var(--bouzek-line);
  border-radius:16px;
  background:rgba(255,250,247,.96);
  box-shadow:0 12px 36px rgba(53,37,46,.12);
  backdrop-filter:blur(12px);
}

.home-search-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  background:#f2e3eb;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--bouzek-plum);
  font-size:2.2rem;
  border:1px solid #ead6e1;
}

.home-search-copy h2{
  margin:0 0 7px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.2vw,2.35rem);
  font-weight:600;
  color:#24161f;
}
.home-search-copy p{
  margin:0;
  color:#61565c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.03rem;
  line-height:1.4;
}

.home-search-form{
  display:grid;
  grid-template-columns:1fr 150px;
  gap:10px;
  align-items:center;
}
.home-search-form input{
  min-height:48px;
  padding:0 16px!important;
  border-radius:7px!important;
  border:1px solid #d6cbd1!important;
  background:white!important;
}
.home-search-button{
  min-height:48px;
  border:0;
  border-radius:7px;
  background:linear-gradient(135deg,#8e336e,#6b2455);
  color:white;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;
  cursor:pointer;
}
.home-search-form small{
  grid-column:1 / -1;
  color:#9a8e94;
  padding-left:8px;
}

.home-mockup-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  width:calc(100% - 80px);
  margin:18px auto 0;
}

.home-mockup-card{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:20px;
  min-height:170px;
  padding:24px;
  border:1px solid var(--bouzek-line);
  border-radius:14px;
  text-decoration:none!important;
  color:inherit!important;
  box-shadow:0 8px 24px rgba(60,42,53,.06);
}
.home-mockup-card.family{background:#f8eff5}
.home-mockup-card.stories{background:#f7f0ea}
.home-mockup-card.projects{background:#f8eff5}

.home-card-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(124,47,100,.11);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--bouzek-plum);
  font-size:2rem;
}
.home-mockup-card.stories .home-card-icon{
  background:rgba(112,77,99,.08);
}

.home-mockup-card h3{
  margin:2px 0 7px;
  font-family:Georgia,"Times New Roman",serif;
  color:#5f1f4d;
  font-size:1.45rem;
}
.home-mockup-card p{
  margin:0 0 14px;
  color:#51474c;
  line-height:1.42;
  font-family:Georgia,"Times New Roman",serif;
}
.home-mockup-card strong{
  color:var(--bouzek-plum);
  font-family:Georgia,"Times New Roman",serif;
}

.home-mockup-quote{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  margin:34px auto 0;
  width:72%;
}
.home-mockup-quote span{
  height:1px;
  background:#cdb9c4;
}
.home-mockup-quote blockquote{
  margin:0;
  color:#3a2832;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-style:italic;
  text-align:center;
}

/* family pages */
.family-home-v11 .branch-overview-card.is-main{
  border-color:#cdb7c5!important;
  background:#faf3f7!important;
}
.family-home-v11 .branch-overview-card.is-spouse{
  border-color:#d7c6ba!important;
  background:#faf5ef!important;
}
.family-home-v11 .branch-overview-card.is-external{
  background:var(--bouzek-white)!important;
}

.public-family-stat{
  background:var(--bouzek-plum-pale)!important;
  border-color:#d7c7d0!important;
}
.public-family-teaser{
  background:linear-gradient(135deg,#faf5ef,#f4e8ef)!important;
  border-color:var(--bouzek-line)!important;
}

/* person/profile panels */
.person-panel-body{
  background:#f6f1ed!important;
}
.person-panel{
  color:var(--bouzek-ebony)!important;
}
.panel-section{
  background:var(--bouzek-white)!important;
  border-color:var(--bouzek-line)!important;
}
.person-modal-card{
  background:#f6f1ed!important;
}
.person-modal-card iframe{
  background:#f6f1ed!important;
}

/* directory / admin cards */
.table,
.admin-person-form,
.access-request-card{
  background:var(--bouzek-white)!important;
}

/* responsive */
@media(max-width:1100px){
  .home-mockup{
    padding-left:16px;
    padding-right:16px;
  }
  .home-mockup-hero{
    min-height:500px;
  }
  .home-mockup-copy{
    width:52%;
    padding-left:36px;
  }
  .home-mockup-search,
  .home-mockup-cards{
    width:calc(100% - 24px);
  }
  .home-mockup-search{
    grid-template-columns:72px 1fr;
  }
  .home-search-form{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .home-mockup{
    padding:0 0 34px;
  }
  .home-mockup-hero{
    min-height:690px;
    border-radius:0;
  }
  .home-mockup-hero-image{
    object-position:67% center;
  }
  .home-mockup-hero-wash{
    background:
      linear-gradient(180deg,
        rgba(255,249,245,.97) 0%,
        rgba(255,249,245,.92) 35%,
        rgba(255,249,245,.30) 58%,
        rgba(255,249,245,0) 75%);
  }
  .home-mockup-copy{
    width:auto;
    padding:44px 24px 0;
  }
  .home-mockup-copy h1{
    font-size:clamp(3.2rem,13vw,5rem);
  }
  .home-mockup-copy p{
    max-width:92%;
    font-size:1.25rem;
  }
  .home-hero-signature{
    display:none;
  }
  .home-mockup-search{
    width:calc(100% - 24px);
    margin:-34px auto 0;
    grid-template-columns:1fr;
    padding:20px;
  }
  .home-search-icon{
    width:58px;
    height:58px;
  }
  .home-search-form{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .home-search-form small{
    grid-column:auto;
  }
  .home-mockup-cards{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
  }
  .home-mockup-card{
    grid-template-columns:70px 1fr;
    min-height:auto;
  }
  .home-card-icon{
    width:60px;
    height:60px;
  }
  .home-mockup-quote{
    width:88%;
    grid-template-columns:1fr;
  }
  .home-mockup-quote span{
    display:none;
  }
}


/* =========================================================
   V12.8 – PROJECT DETAIL CARDS
   ========================================================= */
.projects-v128{
  max-width:1500px;
  margin:0 auto;
  padding:44px 34px 70px;
}

.projects-v128-head{
  max-width:900px;
  margin-bottom:28px;
}

.projects-v128-head h1{
  margin:7px 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.8rem,5vw,4.8rem);
  font-weight:500;
  letter-spacing:-.035em;
  color:var(--bouzek-ebony);
}

.projects-v128-head p{
  margin:0;
  max-width:820px;
  color:var(--bouzek-muted);
  font-size:1.08rem;
  line-height:1.55;
}

.projects-v128-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.project-detail-card{
  min-height:620px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  border:1px solid var(--bouzek-line);
  border-radius:20px;
  overflow:hidden;
  background:var(--bouzek-white);
  box-shadow:0 12px 30px rgba(61,39,52,.07);
}

.project-card-upper{
  display:grid;
  grid-template-columns:minmax(180px,34%) 1fr;
  gap:0;
  min-height:250px;
  border-bottom:1px solid var(--bouzek-line);
}

.project-square-placeholder{
  aspect-ratio:1/1;
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:24px;
  background:
    linear-gradient(145deg,rgba(124,47,100,.11),rgba(240,230,222,.72));
  border-right:1px solid var(--bouzek-line);
  text-align:center;
}

.project-square-placeholder span{
  color:var(--bouzek-plum);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:.03em;
}

.project-square-placeholder small{
  color:var(--bouzek-muted);
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-intro{
  padding:34px 34px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.project-kicker{
  margin-bottom:10px;
  color:var(--bouzek-plum);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
}

.project-intro h2{
  margin:0 0 13px;
  color:var(--bouzek-ebony);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3vw,2.7rem);
  font-weight:600;
  line-height:1;
}

.project-tagline{
  margin:0;
  color:var(--bouzek-ebony-soft);
  font-size:1.05rem;
  line-height:1.5;
}

.project-card-body{
  padding:30px 34px 24px;
  background:linear-gradient(180deg,#fffdfb,#fbf6f2);
}

.project-card-body p{
  margin:0;
  color:#51474c;
  font-size:1.03rem;
  line-height:1.68;
}

.project-card-footer{
  padding:18px 24px 22px;
  background:#fbf6f2;
  border-top:1px solid #eadfe4;
}

.project-link-button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  border:1px solid #cfb7c5;
  border-radius:12px;
  background:#ead7e3;
  color:var(--bouzek-ebony)!important;
  font-weight:800;
  letter-spacing:.015em;
  text-decoration:none!important;
  transition:.15s ease;
}

.project-link-button:hover{
  background:#dec2d2;
  border-color:#b98da6;
  color:var(--bouzek-plum-dark)!important;
  transform:translateY(-1px);
}

.project-link-button span{
  color:var(--bouzek-plum);
}

/* gentle individual tinting, still within one palette */
.project-detail-card.coaching .project-square-placeholder{
  background:linear-gradient(145deg,rgba(124,47,100,.10),rgba(238,225,232,.85));
}
.project-detail-card.mapequo .project-square-placeholder{
  background:linear-gradient(145deg,rgba(89,71,80,.10),rgba(240,230,222,.78));
}
.project-detail-card.wineafrica .project-square-placeholder{
  background:linear-gradient(145deg,rgba(114,60,86,.10),rgba(245,235,229,.82));
}

@media(max-width:980px){
  .projects-v128-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .projects-v128{
    padding:28px 14px 50px;
  }

  .project-detail-card{
    min-height:0;
  }

  .project-card-upper{
    grid-template-columns:1fr;
  }

  .project-square-placeholder{
    width:100%;
    min-height:0;
    aspect-ratio:1.6/1;
    border-right:0;
    border-bottom:1px solid var(--bouzek-line);
  }

  .project-intro,
  .project-card-body{
    padding:24px;
  }
}


/* V12.8.1 – public project card separated from protected internal access */
.project-detail-wrap{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.project-internal-access{
  display:flex;
  justify-content:flex-start;
  padding:0 2px 6px;
}

.project-internal-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:12px;
  background:var(--bouzek-plum);
  border:1px solid var(--bouzek-plum);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(124,47,100,.12);
}

.project-internal-button:hover{
  background:var(--bouzek-plum-dark);
  border-color:var(--bouzek-plum-dark);
  transform:translateY(-1px);
}


/* =========================================================
   V12.9 – HERO TITLE + PROFESSIONAL SEARCH LAYOUT
   ========================================================= */

.home-mockup-copy h1{
  text-transform:uppercase!important;
  letter-spacing:-.035em!important;
  font-size:clamp(3.25rem,5.7vw,6.2rem)!important;
  line-height:.94!important;
  max-width:760px!important;
}

/* Search area sits fully below the hero: no overlap with faces/image */
.home-mockup-search-v129{
  position:relative!important;
  z-index:2!important;
  width:calc(100% - 80px)!important;
  margin:24px auto 0!important;
  padding:28px 30px!important;
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) minmax(460px,1.25fr)!important;
  gap:34px!important;
  align-items:center!important;
  border:1px solid var(--bouzek-line)!important;
  border-radius:18px!important;
  background:rgba(255,253,251,.98)!important;
  box-shadow:0 12px 30px rgba(61,39,52,.08)!important;
  backdrop-filter:none!important;
}

.home-search-copy-v129{
  display:grid!important;
  grid-template-columns:66px 1fr!important;
  gap:18px!important;
  align-items:center!important;
  min-width:0!important;
}

.home-search-icon-v129{
  width:62px!important;
  height:62px!important;
  border-radius:50%!important;
  background:#f1e2eb!important;
  border:1px solid #e6d4df!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--bouzek-plum)!important;
  font-size:1.9rem!important;
  flex:0 0 auto!important;
}

.home-search-copy-v129 h2{
  margin:0 0 8px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.55rem,2.1vw,2.15rem)!important;
  line-height:1.12!important;
  color:var(--bouzek-ebony)!important;
}

.home-search-copy-v129 p{
  margin:0!important;
  max-width:560px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1rem!important;
  line-height:1.45!important;
  color:#62585e!important;
}

.home-search-form-v129{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  min-width:0!important;
}

.home-search-input-row-v129{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 140px!important;
  gap:10px!important;
  align-items:center!important;
}

.home-search-input-row-v129 input{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:0 16px!important;
  border-radius:10px!important;
  font-size:1rem!important;
  box-sizing:border-box!important;
}

.home-search-button-v129{
  min-height:50px!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#8e336e,#6b2455)!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1rem!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}

.home-search-form-v129 small{
  padding-left:4px!important;
  color:#93878d!important;
  line-height:1.3!important;
}

@media(max-width:1100px){
  .home-mockup-search-v129{
    width:calc(100% - 32px)!important;
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  .home-mockup-copy h1{
    font-size:clamp(2.75rem,12vw,4.6rem)!important;
  }

  .home-mockup-search-v129{
    width:calc(100% - 24px)!important;
    margin:14px auto 0!important;
    padding:20px!important;
    gap:22px!important;
  }

  .home-search-copy-v129{
    grid-template-columns:52px 1fr!important;
    gap:14px!important;
  }

  .home-search-icon-v129{
    width:52px!important;
    height:52px!important;
    font-size:1.5rem!important;
  }

  .home-search-input-row-v129{
    grid-template-columns:1fr!important;
  }

  .home-search-button-v129{
    width:100%!important;
  }
}


/* =========================================================
   V12.10 – HERO TYPE SCALE + SEARCH CARD HARD LAYOUT FIX
   ========================================================= */

/* Hero title: two fixed lines, smaller, more balanced */
.home-mockup-copy h1{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  margin:0 0 18px!important;
  max-width:620px!important;
  font-size:clamp(3rem,5vw,5.4rem)!important;
  line-height:.92!important;
  letter-spacing:-.03em!important;
  text-transform:uppercase!important;
}

.home-mockup-copy h1 span{
  display:block!important;
  white-space:nowrap!important;
}

.home-mockup-copy{
  width:min(46%,620px)!important;
}

.home-hero-signature{
  display:none!important;
}

/* Completely new search card structure */
.home-search-v1210{
  width:calc(100% - 80px)!important;
  margin:24px auto 0!important;
  padding:30px 32px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:42px!important;
  align-items:center!important;
  border:1px solid var(--bouzek-line)!important;
  border-radius:18px!important;
  background:rgba(255,253,251,.99)!important;
  box-shadow:0 12px 30px rgba(61,39,52,.08)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.home-search-left-v1210{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  min-width:0!important;
}

.home-search-icon-v1210{
  width:60px!important;
  height:60px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f1e2eb!important;
  border:1px solid #e5d3de!important;
  color:var(--bouzek-plum)!important;
  font-size:1.85rem!important;
}

.home-search-copy-v1210{
  min-width:0!important;
}

.home-search-copy-v1210 h2{
  margin:0 0 8px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.45rem,2vw,2.05rem)!important;
  line-height:1.08!important;
  color:var(--bouzek-ebony)!important;
  overflow-wrap:anywhere!important;
}

.home-search-copy-v1210 p{
  margin:0!important;
  max-width:560px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.98rem!important;
  line-height:1.45!important;
  color:#62585e!important;
}

.home-search-right-v1210{
  min-width:0!important;
}

.home-search-right-v1210 form{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:0!important;
}

.home-search-row-v1210{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 140px!important;
  gap:10px!important;
  min-width:0!important;
}

.home-search-row-v1210 input{
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  padding:0 16px!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
  font-size:1rem!important;
}

.home-search-row-v1210 button{
  height:52px!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#8e336e,#6b2455)!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1rem!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}

.home-search-right-v1210 small{
  color:#91868c!important;
  line-height:1.35!important;
  padding-left:4px!important;
}

/* Neutralise previous search layouts so they cannot interfere */
.home-mockup-search,
.home-mockup-search-v129,
.home-search-copy-v129,
.home-search-form-v129,
.home-search-input-row-v129{
  all:unset;
}

@media(max-width:1100px){
  .home-mockup-copy{
    width:min(52%,620px)!important;
  }

  .home-search-v1210{
    width:calc(100% - 32px)!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
}

@media(max-width:760px){
  .home-mockup-copy{
    width:auto!important;
  }

  .home-mockup-copy h1{
    font-size:clamp(2.5rem,11vw,4.2rem)!important;
    max-width:100%!important;
  }

  .home-mockup-copy h1 span{
    white-space:normal!important;
  }

  .home-search-v1210{
    width:calc(100% - 24px)!important;
    margin:14px auto 0!important;
    padding:20px!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .home-search-left-v1210{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:14px!important;
  }

  .home-search-icon-v1210{
    width:50px!important;
    height:50px!important;
    font-size:1.45rem!important;
  }

  .home-search-row-v1210{
    grid-template-columns:1fr!important;
  }

  .home-search-row-v1210 button{
    width:100%!important;
  }
}


/* =========================================================
   V12.11 – FULL-WIDTH DESKTOP + PROFESSIONAL MOBILE HERO
   ========================================================= */

/* Let the homepage use the browser width instead of a narrow centred island */
body > main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.home-mockup{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px clamp(22px,3vw,56px) 56px!important;
  box-sizing:border-box!important;
}

.home-mockup-hero{
  width:100%!important;
  min-height:clamp(520px,58vw,760px)!important;
  border-radius:22px!important;
}

/* more restrained hero typography */
.home-mockup-copy{
  width:min(43%,610px)!important;
  padding:clamp(58px,6vw,92px) 0 58px clamp(42px,5vw,76px)!important;
}

.home-mockup-copy h1{
  font-size:clamp(2.75rem,4.3vw,4.9rem)!important;
  line-height:.94!important;
  max-width:590px!important;
  letter-spacing:-.025em!important;
}

.home-mockup-copy p{
  max-width:540px!important;
  font-size:clamp(1.15rem,1.55vw,1.65rem)!important;
  line-height:1.22!important;
}

/* Desktop image composition: keep both people visible, no excessive empty margins */
.home-mockup-hero-image{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Search and cards also expand naturally with the viewport */
.home-search-v1210,
.home-mockup-cards{
  width:100%!important;
  max-width:none!important;
}

.home-search-v1210{
  margin:24px 0 0!important;
}

.home-mockup-cards{
  margin:18px 0 0!important;
}

.home-mockup-quote{
  width:min(1100px,86%)!important;
}

/* Medium desktop/tablet */
@media(max-width:1180px){
  .home-mockup{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .home-mockup-copy{
    width:min(48%,590px)!important;
    padding-left:38px!important;
  }

  .home-mockup-copy h1{
    font-size:clamp(2.65rem,5.1vw,4.5rem)!important;
  }
}

/* Mobile: image becomes its own visual block instead of background crop.
   This prevents faces being cut off by cover/object-position. */
@media(max-width:760px){
  .home-mockup{
    padding:0 0 36px!important;
  }

  .home-mockup-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:var(--bouzek-beige-light)!important;
    box-shadow:none!important;
  }

  .home-mockup-hero-image{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center top!important;
    display:block!important;
    background:#efe7e1!important;
  }

  .home-mockup-hero-wash{
    display:none!important;
  }

  .home-mockup-copy{
    position:relative!important;
    order:1!important;
    width:auto!important;
    max-width:none!important;
    padding:30px 22px 24px!important;
    background:linear-gradient(180deg,#fffaf6,#f8f1ec)!important;
  }

  .home-mockup-kicker{
    margin-bottom:18px!important;
    font-size:.68rem!important;
  }

  .home-mockup-copy h1{
    font-size:clamp(2.2rem,9.5vw,3.45rem)!important;
    line-height:.95!important;
    max-width:100%!important;
    margin-bottom:16px!important;
  }

  .home-mockup-copy h1 span{
    white-space:nowrap!important;
  }

  .home-mockup-copy p{
    max-width:100%!important;
    font-size:1.08rem!important;
    line-height:1.35!important;
    margin-bottom:20px!important;
  }

  .home-hero-cta{
    min-width:0!important;
    width:auto!important;
    padding:13px 20px!important;
    font-size:1rem!important;
  }

  .home-search-v1210{
    width:calc(100% - 24px)!important;
    margin:14px auto 0!important;
    border-radius:14px!important;
  }

  .home-mockup-cards{
    width:calc(100% - 24px)!important;
    margin:14px auto 0!important;
  }

  .home-mockup-quote{
    width:88%!important;
  }
}

/* Extra-small phones: allow title to wrap only if absolutely necessary */
@media(max-width:430px){
  .home-mockup-copy h1{
    font-size:clamp(2rem,9vw,2.85rem)!important;
  }
  .home-mockup-copy h1 span{
    white-space:normal!important;
  }
}


/* =========================================================
   V12.12 – GLOBAL RESPONSIVE LAYOUT SYSTEM
   Same spacing logic as approved homepage/Hero.
   ========================================================= */

:root{
  --page-gutter:clamp(16px,3vw,56px);
  --page-gutter-tight:clamp(12px,2.2vw,32px);
  --content-max:1600px;
}

/* Universal page canvas */
body > main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Shared page-width behaviour for non-home areas */
.projects-v128,
.family-home-v11,
.family-page-v2,
.public-family-page,
.public-search-v12,
.family-access-v12,
.login-v12,
.claim-v12,
.admin-page,
.admin-content,
.profile-page,
.dashboard-page,
.people-page,
.stories-page,
.places-page,
.media-page,
.research-page,
.forum-page{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--page-gutter)!important;
  padding-right:var(--page-gutter)!important;
  box-sizing:border-box!important;
}

/* Common headings keep breathing room */
.projects-v128-head,
.family-home-hero,
.profile-backbar,
.profile-hero,
.profile-tabs,
.profile-section,
.public-family-hero,
.public-search-v12 > *,
.family-access-v12 > *,
.claim-v12 > *{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Cards and content must never overflow their grid cells */
.card,
.project-detail-card,
.project-detail-wrap,
.branch-overview-card,
.home-path-card,
.public-search-results article,
.public-family-grid article,
.public-branch-cards article,
.fact-card,
.profile-family-group,
.access-request-card,
.contact-relay-card{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
}

/* PROJECTS */
.projects-v128{
  padding-top:44px!important;
  padding-bottom:70px!important;
}

.projects-v128-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
  width:100%!important;
}

.project-detail-wrap{
  width:100%!important;
  min-width:0!important;
}

.project-card-upper{
  grid-template-columns:minmax(180px,34%) minmax(0,1fr)!important;
}

.project-intro,
.project-card-body{
  min-width:0!important;
}

.project-intro h2,
.project-tagline,
.project-card-body p{
  overflow-wrap:anywhere!important;
}

/* DASHBOARD / "MEINE PROJEKTE" legacy grids */
.grid,
.cards-grid,
.project-grid,
.dashboard-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))!important;
  gap:clamp(16px,2vw,24px)!important;
  width:100%!important;
}

.grid > *,
.cards-grid > *,
.project-grid > *,
.dashboard-grid > *{
  min-width:0!important;
  width:auto!important;
}

/* FAMILY HOME */
.family-home-v11{
  padding-top:34px!important;
  padding-bottom:60px!important;
}

.family-home-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
}

.family-overview-board,
.overview-connected,
.overview-external{
  width:100%!important;
  min-width:0!important;
}

.overview-connected{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}

.external-branch-row{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important;
  gap:20px!important;
}

/* PEOPLE / PUBLIC SEARCH */
.public-search-results{
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important;
  gap:16px!important;
}

.public-search-form{
  grid-template-columns:minmax(0,1fr) auto!important;
  width:100%!important;
}

.public-search-form input{
  min-width:0!important;
}

/* FAMILY ACCESS */
.access-v12-grid{
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)!important;
  gap:clamp(20px,3vw,36px)!important;
}

/* PROFILE / PERSON PAGE */
.person-profile-v2{
  width:100%!important;
  max-width:var(--content-max)!important;
  margin:0 auto!important;
  padding-left:var(--page-gutter)!important;
  padding-right:var(--page-gutter)!important;
  box-sizing:border-box!important;
}

.profile-hero{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
}

.profile-tabs{
  display:flex!important;
  gap:clamp(16px,2.2vw,34px)!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  scrollbar-width:thin;
}

.facts-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))!important;
}

.profile-family-list{
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important;
}

/* ADMIN / FORMS */
.admin-form-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important;
  gap:20px!important;
}

.form-row,
.simple-v12-form,
.admin-person-form{
  min-width:0!important;
}

table.table{
  width:100%!important;
  display:block!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}

/* HEADER: prevent items from falling off-screen */
.site-header{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.site-header .top-nav{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(10px,1.4vw,18px)!important;
  flex-wrap:wrap!important;
}

.site-header .top-nav > a{
  white-space:nowrap!important;
}

.language-switcher-inline{
  flex:0 0 auto!important;
}

/* FAMILY SUBNAV: scroll rather than clip on narrow widths */
.sub-nav{
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:var(--page-gutter)!important;
  padding-right:var(--page-gutter)!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
  display:flex!important;
  gap:clamp(18px,2.2vw,34px)!important;
  scrollbar-width:thin;
}

.sub-nav a{
  flex:0 0 auto!important;
}

/* Forms always respect viewport */
input,
textarea,
select,
button{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* ===== Tablet / compressed desktop ===== */
@media(max-width:1100px){
  :root{
    --page-gutter:22px;
  }

  .projects-v128-grid{
    grid-template-columns:1fr!important;
  }

  .project-detail-card{
    min-height:0!important;
  }

  .overview-connected{
    grid-template-columns:1fr!important;
  }

  .access-v12-grid{
    grid-template-columns:1fr!important;
  }

  .site-header{
    align-items:flex-start!important;
  }

  .site-header .top-nav{
    row-gap:10px!important;
  }
}

/* ===== Mobile ===== */
@media(max-width:760px){
  :root{
    --page-gutter:14px;
  }

  .projects-v128,
  .family-home-v11,
  .family-page-v2,
  .public-family-page,
  .public-search-v12,
  .family-access-v12,
  .claim-v12,
  .person-profile-v2{
    padding-left:var(--page-gutter)!important;
    padding-right:var(--page-gutter)!important;
  }

  .site-header{
    padding-left:14px!important;
    padding-right:14px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  .site-header .brand{
    align-self:flex-start!important;
  }

  .site-header .top-nav{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:10px 14px!important;
  }

  .language-switcher-inline{
    margin-right:4px!important;
  }

  .sub-nav{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .projects-v128{
    padding-top:28px!important;
    padding-bottom:50px!important;
  }

  .projects-v128-head h1{
    font-size:clamp(2.35rem,11vw,3.8rem)!important;
  }

  .project-card-upper{
    grid-template-columns:1fr!important;
  }

  .project-square-placeholder{
    width:100%!important;
    aspect-ratio:1.5/1!important;
    min-height:0!important;
    border-right:0!important;
    border-bottom:1px solid var(--bouzek-line)!important;
  }

  .project-intro,
  .project-card-body{
    padding:22px!important;
  }

  .project-card-footer{
    padding:16px 18px 20px!important;
  }

  .project-internal-access{
    padding-left:0!important;
  }

  .family-home-hero{
    grid-template-columns:1fr!important;
  }

  .family-home-stat{
    justify-self:start!important;
  }

  .profile-hero{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }

  .profile-tabs{
    margin-left:0!important;
    margin-right:0!important;
  }

  .public-search-form{
    grid-template-columns:1fr!important;
  }

  .public-search-form .button{
    width:100%!important;
  }

  .admin-form-grid{
    grid-template-columns:1fr!important;
  }
}

/* ===== Very small phones ===== */
@media(max-width:430px){
  .site-header .top-nav{
    gap:8px 12px!important;
  }

  .language-switcher-inline .language-button{
    width:40px!important;
    height:40px!important;
  }

  .project-intro h2{
    font-size:clamp(1.65rem,9vw,2.35rem)!important;
  }
}


/* =========================================================
   V12.12.1 – ACTUAL GLOBAL MAIN LAYOUT
   Targets legacy pages that render directly into main.container.
   ========================================================= */

/* All ordinary pages get the same responsive breathing room as the Hero page */
body:not(.section-home):not(.family-v5-page) > main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:
    clamp(30px,4vw,58px)
    clamp(16px,3vw,56px)
    clamp(54px,5vw,78px)!important;
  box-sizing:border-box!important;
}

/* Home owns its spacing itself */
body.section-home > main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Legacy direct children such as dashboard h1 + .grid fill available width */
body:not(.section-home):not(.family-v5-page) > main.container > h1,
body:not(.section-home):not(.family-v5-page) > main.container > h2,
body:not(.section-home):not(.family-v5-page) > main.container > p,
body:not(.section-home):not(.family-v5-page) > main.container > .grid,
body:not(.section-home):not(.family-v5-page) > main.container > .card,
body:not(.section-home):not(.family-v5-page) > main.container > form,
body:not(.section-home):not(.family-v5-page) > main.container > section{
  max-width:1600px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Real legacy .grid used on My Projects */
body:not(.section-home) > main.container > .grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))!important;
  gap:clamp(16px,2vw,26px)!important;
  width:100%!important;
}

body:not(.section-home) > main.container > .grid > *{
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
}

/* Prevent any generic card from imposing a hidden fixed width */
.project-card,
.card{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Projects detail page should scale to browser width, but remain readable */
.projects-v128{
  max-width:1600px!important;
  width:100%!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.projects-v128-grid{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:1100px){
  .projects-v128-grid{
    grid-template-columns:1fr!important;
  }
}

/* Narrow browser windows: reliable edge margins and one-column cards */
@media(max-width:760px){
  body:not(.section-home):not(.family-v5-page) > main.container{
    padding:
      26px 14px
      48px!important;
  }

  body:not(.section-home) > main.container > .grid{
    grid-template-columns:1fr!important;
  }

  .projects-v128-grid{
    grid-template-columns:1fr!important;
  }
}


/* V12.13 – real project artwork */
.project-square-placeholder{
  overflow:hidden!important;
  padding:0!important;
}

.project-square-placeholder img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}

@media(max-width:650px){
  .project-square-placeholder img{
    object-fit:cover!important;
  }
}


/* =========================================================
   V12.14 – AVENTIQOR full-width artwork above body text
   ========================================================= */
.project-full-image{
  width:100%!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--bouzek-line)!important;
  background:#fbf7f3!important;
}

.project-full-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

.project-detail-card.has-full-project-image .project-card-body{
  padding-top:30px!important;
}

@media(max-width:760px){
  .project-full-image img{
    width:100%!important;
    height:auto!important;
  }
}


/* =========================================================
   V12.20 – EQUAL PROJECT CARD HEIGHTS
   ========================================================= */

/* In each two-column desktop row, the tallest card defines the row height. */
.projects-v128-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}

.project-detail-wrap{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}

.project-detail-card{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}

.project-full-image{
  flex:0 0 auto!important;
}

/* The text area absorbs the difference in copy length. */
.project-card-body{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:flex-start!important;
}

.project-card-body p{
  width:100%!important;
}

.project-card-footer{
  margin-top:auto!important;
  flex:0 0 auto!important;
}

.project-internal-access{
  flex:0 0 auto!important;
}

/* In the single-column layout cards use their natural height again. */
@media(max-width:1100px){
  .projects-v128-grid{
    grid-auto-rows:auto!important;
  }

  .project-detail-wrap,
  .project-detail-card{
    height:auto!important;
  }
}


/* =========================================================
   V12.21 – IDENTICAL PROJECT IMAGE / TEXT PROPORTIONS
   ========================================================= */

/* Every finished project card gets exactly the same visual image height.
   This keeps image, description and CTA bands aligned across the grid. */
.project-full-image{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  background:#fbf7f3!important;
}

.project-full-image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Keep the description block visually consistent below the artwork. */
.project-detail-card.has-full-project-image .project-card-body{
  padding-top:30px!important;
}

/* Mobile keeps the same proportion, but naturally scales with width. */
@media(max-width:760px){
  .project-full-image{
    aspect-ratio:16 / 9!important;
  }

  .project-full-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* =========================================================
   V12.22 – PROJECT COCKPIT V1
   ========================================================= */
.project-cockpit-v1{
  width:100%;
  max-width:1600px;
  margin:0 auto;
}

.cockpit-breadcrumb{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:28px;
  color:var(--bouzek-muted);
  font-size:.92rem;
}
.cockpit-breadcrumb a{color:var(--bouzek-plum)!important;text-decoration:none;font-weight:700}

.cockpit-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
  padding:34px 38px;
  border:1px solid var(--bouzek-line);
  border-radius:22px;
  background:linear-gradient(135deg,#fffdfb 0%,#f6edf3 60%,#f3e9e2 100%);
  box-shadow:0 14px 34px rgba(61,39,52,.07);
}
.cockpit-hero h1{
  margin:8px 0 10px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:.95;
  color:var(--bouzek-ebony);
}
.cockpit-hero p{margin:0;color:var(--bouzek-ebony-soft);font-size:1.08rem}
.cockpit-access-badge{
  min-width:180px;
  padding:14px 18px;
  border:1px solid #d9c7d1;
  border-radius:14px;
  background:rgba(255,255,255,.75);
}
.cockpit-access-badge span{display:block;color:var(--bouzek-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.cockpit-access-badge strong{display:block;margin-top:4px;color:var(--bouzek-plum)}

.cockpit-tabs{
  position:sticky;
  top:82px;
  z-index:20;
  display:flex;
  gap:8px;
  margin:18px 0 30px;
  padding:9px;
  overflow-x:auto;
  border:1px solid var(--bouzek-line);
  border-radius:14px;
  background:rgba(255,253,251,.94);
  backdrop-filter:blur(10px);
}
.cockpit-tabs a{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:9px;
  color:var(--bouzek-ebony-soft)!important;
  text-decoration:none!important;
  font-weight:700;
}
.cockpit-tabs a:hover{background:var(--bouzek-plum-pale);color:var(--bouzek-plum)!important}

.cockpit-section{
  scroll-margin-top:160px;
  margin-bottom:34px;
  padding:30px;
  border:1px solid var(--bouzek-line);
  border-radius:20px;
  background:var(--bouzek-white);
  box-shadow:0 8px 24px rgba(61,39,52,.045);
}
.cockpit-section-heading{max-width:900px;margin-bottom:22px}
.cockpit-section-heading>span{color:var(--bouzek-plum);font-size:.72rem;font-weight:800;letter-spacing:.14em}
.cockpit-section-heading h2{margin:7px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.7rem)}
.cockpit-section-heading p{margin:0;color:var(--bouzek-muted);line-height:1.55}

.cockpit-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.cockpit-summary-card{
  min-width:0;
  padding:20px;
  border:1px solid #e2d6dc;
  border-radius:14px;
  background:#faf5f8;
}
.cockpit-summary-card:nth-child(even){background:#faf6f1}
.cockpit-summary-card small{display:block;margin-bottom:8px;color:var(--bouzek-muted);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.cockpit-summary-card strong{display:block;line-height:1.4;color:var(--bouzek-ebony)}

.cockpit-work-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.cockpit-work-card{
  min-width:0;
  padding:20px;
  border:1px solid var(--bouzek-line);
  border-radius:14px;
  background:#fffdfb;
}
.cockpit-work-status{
  display:inline-flex;
  margin-bottom:16px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--bouzek-plum-soft);
  color:var(--bouzek-plum);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
}
.cockpit-work-card h3{margin:0 0 8px;font-size:1.08rem}
.cockpit-work-card p{margin:0;color:var(--bouzek-muted);line-height:1.45;font-size:.92rem}

.cockpit-list-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.cockpit-list-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-width:0;
  padding:18px;
  border:1px solid var(--bouzek-line);
  border-radius:14px;
  background:#fffdfb;
}
.cockpit-icon{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--bouzek-plum-soft);color:var(--bouzek-plum);font-size:1.2rem;font-weight:700
}
.cockpit-list-card h3{margin:0 0 4px;font-size:1rem}
.cockpit-list-card p{margin:0;color:var(--bouzek-muted);font-size:.9rem}

.cockpit-admin-section{background:linear-gradient(180deg,#fffdfb,#faf5f8)}
.cockpit-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cockpit-admin-card{padding:20px;border:1px solid #decfd7;border-radius:14px;background:white}
.cockpit-admin-card small{display:block;color:var(--bouzek-muted);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.cockpit-admin-card strong{display:block;margin:8px 0;color:var(--bouzek-ebony)}
.cockpit-admin-card p{margin:0;color:var(--bouzek-muted);line-height:1.5}
.cockpit-action{color:var(--bouzek-plum)!important;font-weight:800;text-decoration:none!important}

@media(max-width:1100px){
  .cockpit-summary-grid,.cockpit-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cockpit-hero{grid-template-columns:1fr;padding:24px 20px}
  .cockpit-access-badge{min-width:0;width:100%;box-sizing:border-box}
  .cockpit-tabs{top:0;margin-left:-2px;margin-right:-2px}
  .cockpit-section{padding:22px 18px}
  .cockpit-summary-grid,.cockpit-work-grid,.cockpit-list-grid,.cockpit-admin-grid{grid-template-columns:1fr}
}

/* =========================================================
   V12.25 – PUBLIC FAMILY HISTORY HUB / RESEARCH LEADS
   ========================================================= */
.family-history-door-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.family-history-door{
  min-width:0;
  min-height:270px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid var(--bouzek-line,#ddd3d8);
  border-radius:16px;
  background:var(--bouzek-white,#fffdfb);
  box-sizing:border-box;
}
.family-history-door-icon{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;background:var(--bouzek-plum-soft,#efe3eb);color:var(--bouzek-plum,#7c2f64);font-size:1.35rem;font-weight:700;
}
.family-history-door h2{margin:0 0 12px;font-size:1.45rem;line-height:1.15;}
.family-history-door p{margin:0 0 18px;color:var(--bouzek-muted,#756b72);line-height:1.5;}
.family-history-door a{margin-top:auto;color:var(--bouzek-plum,#7c2f64);font-weight:800;text-decoration:none;}
.family-history-door-count{display:inline-flex;align-self:flex-start;margin:0 0 14px;padding:5px 9px;border-radius:999px;background:var(--bouzek-plum-pale,#f8f1f5);color:var(--bouzek-plum,#7c2f64);font-size:.8rem;font-weight:700;}

.research-leads-page,.research-contact-page,.family-public-topic-page{
  width:100%;max-width:1600px;margin:0 auto;padding:44px clamp(16px,3vw,56px) 70px;box-sizing:border-box;
}
.research-leads-head,.family-public-topic-page>p{max-width:900px;}
.research-leads-head h1,.family-public-topic-page h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:.25em 0;}
.research-lead-list{display:flex;flex-direction:column;gap:12px;margin-top:30px;}
.research-lead-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px 22px;border:1px solid var(--bouzek-line,#ddd3d8);border-radius:14px;background:var(--bouzek-white,#fffdfb);}
.research-lead-row h2{margin:0 0 6px;font-size:1.25rem;}
.research-lead-meta{display:flex;gap:10px 18px;flex-wrap:wrap;color:var(--bouzek-muted,#756b72);font-size:.9rem;}
.research-lead-main p{margin:10px 0 0;}
.research-lead-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.research-admin-link{margin-top:24px;}
.research-contact-card{max-width:760px;padding:26px;}
.family-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;}
.family-topic-grid .card{padding:24px;}
.family-topic-grid h2{margin-top:0;}
.research-admin-page{max-width:1600px;margin:0 auto;padding:40px clamp(16px,3vw,56px) 70px;}
.research-admin-email,.research-admin-add,.research-admin-item{padding:22px;margin-bottom:20px;}
.research-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.research-admin-item-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;}

@media(max-width:1100px){
  .family-history-door-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .research-admin-list{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .family-history-door-grid,.family-topic-grid{grid-template-columns:1fr;}
  .research-lead-row{grid-template-columns:1fr;}
  .research-lead-actions{justify-content:flex-start;}
  .family-history-door{min-height:0;}
}


/* =========================================================
   V12.26 – FAMILY CORE LAYOUT + RESEARCH LEAD UX
   ========================================================= */

/* Connected core family: section label above, two equal cards side-by-side. */
.overview-connected{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}

.core-branch-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}

.core-branch-row .branch-overview-card{
  height:100%!important;
  box-sizing:border-box!important;
}

/* Make the public research administration self-explanatory. */
.research-admin-head{
  display:flex!important;
  justify-content:space-between!important;
  gap:24px!important;
  align-items:flex-start!important;
  margin-bottom:22px!important;
}

.research-admin-head>div{
  max-width:900px!important;
}

.research-howto{
  padding:24px!important;
  margin-bottom:20px!important;
  background:linear-gradient(135deg,#fffdfb,#f8f1f5)!important;
}

.research-howto h2,
.research-admin-add h2,
.research-existing-section>h2{
  margin-top:0!important;
}

.research-example{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px 18px!important;
  margin-top:16px!important;
  padding:16px 18px!important;
  border:1px solid var(--bouzek-line,#ddd3d8)!important;
  border-radius:12px!important;
  background:#fff!important;
}

.research-example>strong{
  grid-column:1/-1!important;
  color:var(--bouzek-plum,#7c2f64)!important;
}

.research-form-title p{
  margin-top:-4px!important;
  color:var(--bouzek-muted,#756b72)!important;
}

.research-existing-section{
  margin-top:30px!important;
}

.research-settings{
  margin-top:28px!important;
  padding:0!important;
  overflow:hidden!important;
}

.research-settings summary{
  cursor:pointer!important;
  padding:18px 22px!important;
  font-weight:800!important;
  color:var(--bouzek-plum,#7c2f64)!important;
}

.research-settings form{
  padding:0 22px 22px!important;
}

.research-settings label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin-bottom:12px!important;
}

.research-leads-explainer{
  margin-top:12px!important;
  padding:12px 14px!important;
  border-left:3px solid var(--bouzek-plum,#7c2f64)!important;
  background:var(--bouzek-plum-pale,#f8f1f5)!important;
}

@media(max-width:900px){
  .core-branch-row{
    grid-template-columns:1fr!important;
  }
  .research-admin-head{
    flex-direction:column!important;
  }
  .research-example{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V12.27 – CORE BUTTON ALIGNMENT + EXPANDABLE RESEARCH BRANCHES
   ========================================================= */

/* Core family cards stay equal height and their buttons align at the bottom. */
.core-branch-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}

.core-branch-row .branch-overview-card{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}

.core-branch-row .branch-overview-card p{
  flex:0 0 auto!important;
}

.core-branch-row .branch-overview-card .button,
.core-branch-row .branch-overview-card .button-secondary{
  margin-top:auto!important;
  align-self:flex-start!important;
}

/* Unconnected research branches form a vertical feed.
   New branches can be rendered first and the column grows downward indefinitely. */
.overview-external{
  min-width:0!important;
}

.external-branch-row{
  display:flex!important;
  flex-direction:column!important;
  gap:20px!important;
  align-items:stretch!important;
}

.external-branch-row .branch-overview-card{
  width:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}

.external-branch-row .branch-overview-card .button,
.external-branch-row .branch-overview-card .button-secondary{
  margin-top:auto!important;
  align-self:flex-start!important;
}

/* Keep both main columns aligned at the top while allowing the right column to grow downward. */
.family-overview-board{
  align-items:start!important;
}

@media(max-width:900px){
  .core-branch-row{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V12.28 – GLOBAL CARD CONTENT ALIGNMENT
   Fixes wrapping + bottom-aligned CTAs across reusable cards
   ========================================================= */

/* ---------- Shared card behaviour ---------- */
.home-mockup-card,
.public-family-grid article,
.public-branch-cards article,
.branch-overview-card,
.home-path-card,
.card-link,
.family-hub-card,
.research-hub-card{
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
}

/* Never allow headings/text to push beyond card width */
.home-mockup-card h2,
.home-mockup-card h3,
.public-family-grid h2,
.public-family-grid h3,
.public-branch-cards h2,
.public-branch-cards h3,
.branch-overview-card h2,
.branch-overview-card h3,
.home-path-card h2,
.home-path-card h3,
.family-hub-card h2,
.family-hub-card h3,
.research-hub-card h2,
.research-hub-card h3{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  line-height:1.12!important;
}

/* Body copy wraps naturally and stays inside the card */
.home-mockup-card p,
.public-family-grid p,
.public-branch-cards p,
.branch-overview-card p,
.home-path-card p,
.family-hub-card p,
.research-hub-card p{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
}

/* CTA / text links are always pinned to the bottom of the card */
.home-mockup-card > strong,
.home-mockup-card > a:last-child,
.public-family-grid article > a:last-child,
.public-branch-cards article > a:last-child,
.branch-overview-card > a:last-child,
.home-path-card > a:last-child,
.family-hub-card > a:last-child,
.research-hub-card > a:last-child{
  margin-top:auto!important;
  align-self:flex-start!important;
}

/* Some cards use an inner text wrapper. Make that wrapper a flex column too. */
.home-mockup-card > div:last-child,
.public-family-grid article > div,
.public-branch-cards article > div,
.home-path-card > div,
.family-hub-card > div,
.research-hub-card > div{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
}

/* Links inside those inner wrappers also sit at the bottom. */
.home-mockup-card > div:last-child > strong,
.home-mockup-card > div:last-child > a:last-child,
.public-family-grid article > div > a:last-child,
.public-branch-cards article > div > a:last-child,
.home-path-card > div > a:last-child,
.family-hub-card > div > a:last-child,
.research-hub-card > div > a:last-child{
  margin-top:auto!important;
}

/* ---------- Family History 4-tile hub ---------- */
/* The four information cards stay equal height and their content aligns cleanly. */
.public-family-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}

.public-family-grid article{
  padding:clamp(22px,2.2vw,30px)!important;
}

.public-family-grid article h3{
  margin-bottom:14px!important;
}

.public-family-grid article p{
  margin-bottom:22px!important;
  flex:0 1 auto!important;
}

.public-family-grid article a:last-child{
  padding-top:6px!important;
}

/* ---------- Homepage 3 cards ---------- */
.home-mockup-cards{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}

.home-mockup-card{
  overflow:hidden!important;
}

.home-mockup-card > div:last-child{
  height:100%!important;
}

.home-mockup-card h3{
  margin-bottom:8px!important;
}

.home-mockup-card p{
  margin-bottom:18px!important;
}

/* ---------- Branch / overview cards ---------- */
.core-branch-row .branch-overview-card,
.external-branch-row .branch-overview-card{
  display:flex!important;
  flex-direction:column!important;
}

.core-branch-row .branch-overview-card .button,
.core-branch-row .branch-overview-card .button-secondary,
.external-branch-row .branch-overview-card .button,
.external-branch-row .branch-overview-card .button-secondary{
  margin-top:auto!important;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .public-family-grid,
  .home-mockup-cards{
    grid-auto-rows:auto!important;
  }
}

@media(max-width:760px){
  .public-family-grid article,
  .home-mockup-card,
  .branch-overview-card{
    height:auto!important;
  }

  .public-family-grid article a:last-child,
  .home-mockup-card > div:last-child > strong,
  .home-mockup-card > div:last-child > a:last-child{
    margin-top:18px!important;
  }
}


/* =========================================================
   V12.29 – HERO WIDESCREEN CROP LIMIT
   Keep both heads fully visible on very wide desktop screens.
   ========================================================= */

/* Standard desktop remains unchanged. */

/* On wide monitors the hero becomes slightly taller instead of endlessly
   increasing the image crop/zoom. The focal point moves upward so the
   complete head area stays inside the frame. */
@media(min-width:1600px){
  .home-mockup-hero{
    min-height:clamp(780px,44vw,920px)!important;
  }

  .home-mockup-hero-image{
    object-fit:cover!important;
    object-position:center 28%!important;
  }
}

/* Extra-wide screens: cap the visual zoom further by allowing a little
   more hero height while keeping the same top-weighted focal point. */
@media(min-width:2200px){
  .home-mockup-hero{
    min-height:940px!important;
  }

  .home-mockup-hero-image{
    object-position:center 25%!important;
  }
}


/* =========================================================
   V12.30 – HERO FULL-HEAD WIDESCREEN MODE
   On very wide screens stop cropping the image completely.
   ========================================================= */

/* Wide desktop: preserve the complete source composition.
   The hero derives its height from the image's native aspect ratio,
   so neither Glenda's nor Jörg's head can be cut off by object-fit:cover. */
@media(min-width:1600px){
  .home-mockup-hero{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1.75 / 1!important;
    overflow:hidden!important;
  }

  .home-mockup-hero-image{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#f7efea!important;
  }
}

/* Extra-wide displays keep exactly the same full-image behaviour.
   This intentionally overrides the previous V12.29 zoom/crop rules. */
@media(min-width:2200px){
  .home-mockup-hero{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1.75 / 1!important;
  }

  .home-mockup-hero-image{
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* =========================================================
   V12.31 – FUNCTIONAL FAMILY MODULES
   Stories / Places / Media / Research
   ========================================================= */
.family-module-page{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:clamp(38px,5vw,72px) clamp(16px,3vw,56px) 72px;
  box-sizing:border-box;
}
.family-module-hero{
  max-width:980px;
  margin-bottom:40px;
}
.family-module-hero.compact{margin-bottom:26px}
.family-module-hero h1{
  margin:6px 0 12px;
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:.98;
}
.family-module-hero p{
  margin:0;
  max-width:900px;
  font-size:clamp(1rem,1.5vw,1.25rem);
  line-height:1.55;
  color:var(--bouzek-muted,#6f6870);
}
.family-module-back{
  display:inline-block;
  margin-bottom:24px;
}
.family-module-intro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-bottom:38px;
}
.family-module-info-card{
  min-width:0;
  min-height:220px;
  padding:24px;
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:18px;
  background:#fffdfb;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
}
.family-module-info-card>span{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bouzek-plum-pale,#f5e7f0);
  color:var(--bouzek-plum,#842b6a);
  font-weight:800;
}
.family-module-info-card h2{
  margin:20px 0 10px;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.family-module-info-card p{
  margin:0 0 16px;
  line-height:1.5;
  color:var(--bouzek-muted,#6f6870);
}
.family-module-info-card.linked strong{
  margin-top:auto;
  color:var(--bouzek-plum,#842b6a);
}
.family-module-section{
  margin-top:28px;
  padding:clamp(22px,3vw,34px);
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:20px;
  background:#fffdfb;
}
.family-module-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:22px;
}
.family-module-section-head h2{
  margin:4px 0 0;
  line-height:1.08;
}
.family-module-count{
  min-width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--bouzek-plum-pale,#f5e7f0);
  color:var(--bouzek-plum,#842b6a);
  font-size:1.2rem;font-weight:800;
}
.family-module-empty{
  padding:22px;
  border:1px dashed var(--bouzek-line,#ded2d8);
  border-radius:14px;
  color:var(--bouzek-muted,#6f6870);
}
.family-module-list{display:flex;flex-direction:column}
.family-record-row{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:18px 4px;
  text-decoration:none;
  color:inherit;
  border-bottom:1px solid var(--bouzek-line,#ded2d8);
}
.family-record-row:last-child{border-bottom:0}
.family-record-row div{display:flex;flex-direction:column;gap:4px}
.family-record-row small,.family-record-row span{color:var(--bouzek-muted,#6f6870)}
.family-place-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:14px;
}
.family-place-card{
  min-width:0;
  padding:18px;
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:14px;
  text-decoration:none;color:inherit;
  display:flex;justify-content:space-between;gap:14px;
}
.family-place-card.active{
  border-color:var(--bouzek-plum,#842b6a);
  background:var(--bouzek-plum-pale,#f5e7f0);
}
.family-place-card span{color:var(--bouzek-muted,#6f6870);white-space:nowrap}
.family-person-link-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:14px;
}
.family-person-link{
  min-width:0;
  display:flex;align-items:center;gap:14px;
  padding:14px;
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:14px;
  text-decoration:none;color:inherit;
}
.family-person-link>span{min-width:0;display:flex;flex-direction:column}
.family-person-link strong{overflow-wrap:anywhere}
.family-person-link small{color:var(--bouzek-muted,#6f6870)}
.family-media-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:18px;
}
.family-media-card{
  overflow:hidden;
  min-width:0;
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:16px;
  text-decoration:none;color:inherit;
  background:white;
}
.family-media-image{
  aspect-ratio:1/1;
  display:grid;place-items:center;
  background:#f3eeeb;
  overflow:hidden;
}
.family-media-card>div:last-child{padding:15px;display:flex;flex-direction:column}
.media-avatar{
  width:100%!important;height:100%!important;
  border-radius:0!important;
}
.media-avatar img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:0!important;
}
.family-status-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
}
.family-status-card{
  padding:18px;
  border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:14px;
  display:flex;flex-direction:column;
}
.family-status-card strong{font-size:1.7rem}
.family-status-card span{color:var(--bouzek-muted,#6f6870)}
@media(max-width:900px){
  .family-module-intro-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .family-module-page{padding-left:14px;padding-right:14px}
  .family-module-section-head{align-items:flex-start;flex-direction:column}
  .family-record-row{flex-direction:column;gap:6px}
}


/* =========================================================
   V12.32 – Research Lead Management Page
   ========================================================= */
.research-manage-page{max-width:1500px!important}
.research-howto-v2{background:linear-gradient(135deg,#fffdfb,#f7eef4)!important}
.research-example-v2{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  margin:16px 0;
}
.research-example-v2>div{
  min-width:0;padding:14px 16px;border:1px solid var(--bouzek-line,#ded2d8);
  border-radius:12px;background:white;display:flex;flex-direction:column;gap:4px;
}
.research-example-v2 .wide{grid-column:1/-1}
.research-example-v2 small{color:var(--bouzek-muted,#6f6870)}
.research-example-v2 strong{overflow-wrap:anywhere}
.research-form-grid-v2{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;
  margin-bottom:18px;
}
.research-form-grid-v2 label,.research-textarea-v2,.research-notification-v2 label{
  min-width:0;display:flex;flex-direction:column;gap:7px;font-weight:700;
}
.research-form-grid-v2 input,.research-form-grid-v2 select,.research-textarea-v2 textarea,.research-notification-v2 input{
  width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d5c4cf;border-radius:10px;
  background:white;font:inherit;color:inherit;
}
.research-textarea-v2 textarea{min-height:100px;resize:vertical}
.research-admin-list-v2{display:flex;flex-direction:column;gap:18px}
.research-admin-row-v2{
  padding:20px;border:1px solid var(--bouzek-line,#ded2d8);border-radius:14px;background:white;
}
.research-admin-row-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}
.research-admin-row-head span{color:var(--bouzek-muted,#6f6870)}
.research-notification-v2 summary{cursor:pointer;font-weight:800;color:var(--bouzek-plum,#842b6a)}
.research-notification-v2 form{margin-top:18px}
.research-table-warning{border-color:#b56d6d!important;background:#fff6f5!important}
@media(max-width:760px){
  .research-form-grid-v2,.research-example-v2{grid-template-columns:1fr}
  .research-example-v2 .wide{grid-column:auto}
}


/* =========================================================
   V12.33 – HELP / LEGAL / GOVERNANCE / SAFETY
   ========================================================= */
.legal-footer-nav{display:flex;flex-wrap:wrap;gap:14px 20px;margin-left:auto}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.legal-shell,.help-center{width:100%;max-width:1400px;margin:0 auto;padding:clamp(38px,5vw,74px) clamp(16px,4vw,54px) 72px;box-sizing:border-box}
.legal-hero{max-width:930px;margin-bottom:34px}
.legal-hero h1,.legal-shell>h1{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1;margin:8px 0 16px}
.legal-card{padding:24px 26px;border:1px solid var(--bouzek-line,#ded2d8);border-radius:18px;background:#fffdfb;margin:16px 0}
.legal-card h2{margin-top:0}
.legal-card p,.legal-card li{line-height:1.62}
.legal-version{color:var(--bouzek-muted,#6f6870)}
.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.help-card{min-width:0;display:flex;flex-direction:column;padding:24px;border:1px solid var(--bouzek-line,#ded2d8);border-radius:18px;background:#fffdfb}
.help-card h2{overflow-wrap:anywhere}.help-card p{line-height:1.55;color:var(--bouzek-muted,#6f6870)}.help-card>a{margin-top:auto;color:var(--bouzek-plum,#842b6a);font-weight:800}
.policy-check-form{max-width:900px;display:flex;flex-direction:column;gap:18px;padding:26px}
.policy-check-form label{display:flex;align-items:flex-start;gap:12px;font-weight:700}
.policy-check-form input[type=checkbox]{width:20px;height:20px;margin-top:2px}
.policy-note,.safety-warning,.research-contact-help{padding:16px 18px;border-left:4px solid var(--bouzek-plum,#842b6a);background:#f8f0f5;line-height:1.55}
.research-contact-help{margin:18px 0}.research-contact-help ul{margin:10px 0 8px}
.legal-admin-form{display:grid;gap:14px;padding:24px;max-width:900px}
.legal-admin-form label,.backup-create-form label,.backup-restore-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.legal-admin-form input,.legal-admin-form textarea,.backup-create-form input,.backup-restore-form input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d3c3cd;border-radius:9px;font:inherit}
.legal-admin-form textarea{min-height:100px}
.privacy-ack{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px}
.undo-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:#f6edf3;border:1px solid #ddc8d6;border-radius:12px;margin-bottom:14px}
.danger-button,.destructive-action button{border-color:#a64d4d!important;color:#8b3030!important}
.backup-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.backup-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:20px;align-items:end;padding:20px}
.backup-item>div{display:flex;flex-direction:column;gap:5px}.backup-item small{color:var(--bouzek-muted,#6f6870)}
.backup-restore-form{display:flex;gap:10px;align-items:end}.backup-restore-form label{flex:1}
@media(max-width:900px){.help-grid{grid-template-columns:1fr}.backup-item{grid-template-columns:1fr}.backup-restore-form{flex-direction:column;align-items:stretch}}


/* =========================================================
   V12.34 – Family access privacy row + safety installer
   ========================================================= */
.simple-v12-form .privacy-ack{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:10px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  flex-direction:unset!important;
}
.simple-v12-form .privacy-ack > input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:2px 0 0!important;
  align-self:start!important;
}
.simple-v12-form .privacy-ack > span{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
  line-height:1.45!important;
  font-size:.88rem!important;
}
.simple-v12-form .privacy-ack > span a{
  display:inline!important;
  white-space:nowrap!important;
}
.safety-install-card{
  padding:20px!important;
  border-radius:14px!important;
}
.safety-install-card p{margin:10px 0 14px!important;line-height:1.5}
.safety-install-card small{display:block;margin-top:12px;opacity:.75;line-height:1.4}
@media(max-width:760px){
  .family-access-v12{padding-top:20px!important}
  .simple-v12-form .privacy-ack{
    grid-template-columns:22px minmax(0,1fr)!important;
  }
}


/* V12.35 – Family access mail administration */
.family-mail-settings{margin-bottom:22px}
.family-mail-settings p{max-width:920px;line-height:1.5}
.family-mail-settings .mail-test-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--bouzek-line,#ded2d8)}
.family-mail-settings small{display:block;margin-top:12px;color:var(--bouzek-muted,#6f6870);line-height:1.45}


/* =========================================================
   V12.36 – Family Access workflow
   ========================================================= */
.family-access-admin-v12{width:100%;max-width:1500px;margin:0 auto;padding:clamp(28px,4vw,58px) clamp(16px,3vw,44px) 70px;box-sizing:border-box}
.family-access-admin-head{max-width:900px}.family-access-admin-head h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:.2em 0}.family-access-admin-head p{font-size:1.08rem;line-height:1.55;color:var(--bouzek-muted,#6f6870)}
.access-workflow-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 38px}
.access-workflow-guide>div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:18px;border:1px solid var(--bouzek-line,#ded2d8);border-radius:16px;background:#fffdfb}
.access-workflow-guide span{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2deec;color:var(--bouzek-plum,#842b6a);font-weight:900}
.access-workflow-guide small{color:var(--bouzek-muted,#6f6870);margin-top:4px}
.section-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:end}.section-heading-row p{color:var(--bouzek-muted,#6f6870);max-width:900px}
.access-request-list{display:flex;flex-direction:column;gap:18px}
.access-request-card-v2{padding:22px 24px}
.access-request-top{display:flex;justify-content:space-between;align-items:start;gap:18px}
.access-request-top h3{font-size:1.45rem;margin:7px 0 3px}.access-request-top small{color:var(--bouzek-muted,#6f6870)}
.access-status{display:inline-block;padding:4px 9px;border-radius:999px;background:#eee;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.status-open{background:#f7ebf3;color:#7d2c64}.status-matched{background:#f3eddc;color:#755b1c}.status-approved{background:#e7f4eb;color:#276943}
.access-request-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:20px 0}.access-request-data .wide{grid-column:1/-1}
.access-request-data dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bouzek-muted,#6f6870);font-weight:800}.access-request-data dd{margin:4px 0 0}
.match-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.match-choice>div{padding:18px;border:1px solid var(--bouzek-line,#ded2d8);border-radius:14px;background:#fff}
.match-choice h4{margin:0 0 10px}.match-existing form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.match-existing select{min-width:0}
.match-new p{color:var(--bouzek-muted,#6f6870);line-height:1.5}
.matched-person-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f7f0f5;border-left:4px solid var(--bouzek-plum,#842b6a);padding:14px 16px;margin:18px 0}.matched-person-box span{color:var(--bouzek-muted,#6f6870)}.matched-person-box code{margin-left:auto}
.access-primary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.access-complete{font-weight:800;color:#276943}
.access-danger-zone{margin-top:18px;border-top:1px solid var(--bouzek-line,#ded2d8);padding-top:12px}.access-danger-zone summary{cursor:pointer;color:var(--bouzek-muted,#6f6870)}
.text-danger{margin-top:12px;background:none;border:0;padding:0;color:#9b2f2f;text-decoration:underline;cursor:pointer;font:inherit}
.access-advanced,.family-mail-settings{margin-top:24px;padding:18px 22px}.access-advanced>summary,.family-mail-settings>summary{cursor:pointer;font-size:1.1rem;font-weight:800}
.access-person-create{width:100%;max-width:1100px;margin:0 auto;padding:40px 20px 70px;box-sizing:border-box}.access-person-create h1{font-size:clamp(2.2rem,5vw,4rem)}
.access-request-source{margin:20px 0;padding:18px}.access-new-person-form{padding:22px}
@media(max-width:850px){
 .access-workflow-guide{grid-template-columns:1fr}
 .match-choice{grid-template-columns:1fr}
 .access-request-data{grid-template-columns:1fr}.access-request-data .wide{grid-column:auto}
 .match-existing form{grid-template-columns:1fr}
 .matched-person-box code{margin-left:0}
}


/* =========================================================
   V12.37 – Family activation password UX
   ========================================================= */
.family-activation-card{max-width:1180px!important}
.activation-email{margin-bottom:22px}
.password-help-inline{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  align-items:baseline;
  padding:14px 16px;
  margin:0 0 18px;
  border-left:4px solid var(--bouzek-plum,#842b6a);
  background:#faf3f8;
  line-height:1.45;
}
.password-help-inline strong{color:var(--bouzek-ebony,#241a20)}
.password-help-inline span{color:var(--bouzek-muted,#6f6870)}
.password-help-inline a{margin-left:auto;white-space:nowrap}
.password-activation-form label{display:block;margin-top:14px;font-weight:800}
.password-field-wrap{position:relative;margin-top:7px}
.password-field-wrap input{
  width:100%!important;
  box-sizing:border-box!important;
  padding-right:54px!important;
}
.password-eye{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#5e555b;
  cursor:pointer;
  font-size:1.15rem;
  display:grid;
  place-items:center;
}
.password-eye:hover,.password-eye:focus{background:#f3e5ee;outline:2px solid transparent}
.password-eye.is-visible{color:var(--bouzek-plum,#842b6a);background:#f3e5ee}
.password-rules{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:16px 0 5px;
  font-size:.88rem;
  color:var(--bouzek-muted,#6f6870);
}
.password-rules span{white-space:nowrap}
.password-rules .ok{color:#246b45;font-weight:700}
.password-rules .bad{color:#9b2f2f}
.password-form-error{min-height:1.5em;margin:6px 0 10px;color:#9b2f2f;font-weight:700}
.help-password-rules{
  margin:14px 0;
  padding:14px 16px;
  background:#faf3f8;
  border-radius:12px;
}
.help-password-rules ul{margin:8px 0 10px;padding-left:21px}
.help-password-rules p{margin:8px 0 0!important}
@media(max-width:680px){
  .password-help-inline{display:block}
  .password-help-inline a{display:inline-block;margin:8px 0 0}
  .password-rules{display:grid;grid-template-columns:1fr}
}

/* =========================================================
   V12.38 – Admin Family Governance + functional research
   ========================================================= */
.admin-head-actions,.admin-inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.admin-tabs{display:flex;gap:8px;margin:18px 0}.admin-tabs a{padding:9px 14px;border:1px solid #dccbd4;border-radius:12px;text-decoration:none}.admin-tabs a.active{background:#842b6a;color:#fff;border-color:#842b6a}
.governance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 36px}.governance-card{display:flex;flex-direction:column;min-height:180px;text-decoration:none}.governance-card h2{margin-top:0}.governance-install{padding:24px;margin-top:24px}.governance-person-zone{margin-top:24px;padding:24px}.admin-governance-details{border-top:1px solid #eadde4;padding:15px 0}.admin-governance-details summary{cursor:pointer;font-weight:800;color:#6f2558}.admin-guarded-form{display:grid;gap:12px;margin-top:14px}.admin-guarded-form label{display:grid;gap:6px}.inline-guarded{display:inline-flex}.permanent-delete-zone{border:1px solid #d7a6af;border-radius:14px;padding:16px;margin-top:18px;background:#fff8f8}.button-danger{border:0;border-radius:12px;padding:13px 17px;background:#8e2f45;color:#fff;font:inherit;font-weight:800;cursor:pointer}.warning{background:#fff8df;border-color:#e9d59a;color:#735c15}
.research-action-grid{align-items:stretch}.research-action-card{display:flex;flex-direction:column;min-height:330px;text-decoration:none}.research-action-card p{flex:1}.research-action-card strong{margin-top:auto}.research-count{display:grid;place-items:center;width:48px;height:48px;border-radius:999px;background:#f2e3ec;color:#842b6a;font-weight:900;margin-bottom:18px}.research-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.research-case-card{display:flex;flex-direction:column;gap:12px;padding:22px}.research-case-card .button-secondary{margin-top:auto}.empty-research-state,.research-tip-form,.contribution-context{padding:24px;margin-top:20px}.research-tip-form{display:grid;gap:16px}.research-tip-form label,.admin-case-editor form label{display:grid;gap:6px}.admin-case-editor{padding:20px;margin:22px 0}.admin-case-editor summary{cursor:pointer}.admin-case-editor form{display:grid;gap:14px;margin-top:18px}.research-admin-list{display:grid;gap:14px}.research-admin-item{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:20px}.research-admin-item h3{margin:8px 0}.admin-inline-link{margin-top:22px}.admin-handbook section{padding:22px 0;border-bottom:1px solid #eadde4}.handbook-toc{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 30px}.handbook-toc a{padding:8px 12px;border:1px solid #dccbd4;border-radius:999px;text-decoration:none}
@media(max-width:900px){.governance-grid{grid-template-columns:1fr 1fr}.research-case-grid{grid-template-columns:1fr}.research-admin-item{flex-direction:column}}
@media(max-width:640px){.governance-grid{grid-template-columns:1fr}.research-action-card{min-height:0}}


/* V12.39 – Contact form */
.contact-page-v12{max-width:1500px;margin:0 auto;padding:54px clamp(22px,4vw,70px) 70px}
.contact-page-v12 h1{margin-bottom:10px}
.contact-form-card{padding:clamp(22px,3vw,38px);margin-top:28px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-card label{display:block;font-weight:800;margin-bottom:17px}
.contact-form-card input,.contact-form-card textarea{
  display:block;width:100%;box-sizing:border-box;margin-top:7px;
}
.contact-form-card textarea{resize:vertical}
.contact-form-card small{display:block;margin-top:6px;color:var(--bouzek-muted,#6f6870)}
.check-row{display:flex!important;align-items:flex-start;gap:11px;font-weight:500!important}
.check-row input{width:auto!important;margin:4px 0 0!important;flex:0 0 auto}
.contact-note{margin-top:16px;color:var(--bouzek-muted,#6f6870)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){
  .contact-grid{grid-template-columns:1fr}
  .contact-page-v12{padding-top:32px}
}

/* V12.40 – prevent duplicate contact submissions */
.contact-form-card button:disabled{
  opacity:.6;
  cursor:not-allowed;
}


/* V12.41 – contact success replaces form */
.contact-success-card{
  margin-top:34px;
  min-height:360px;
  border:1px solid #d9c7d3;
  border-radius:24px;
  background:linear-gradient(135deg,#fffdfb 0%,#f7edf4 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:clamp(34px,6vw,72px);
  box-shadow:0 12px 34px rgba(62,35,52,.07);
}
.contact-success-icon{
  width:82px;
  height:82px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  background:#e8f6ee;
  color:#1f7248;
  font-size:46px;
  font-weight:800;
}
.contact-success-card h2{
  margin:0 0 16px;
  font-size:clamp(30px,4vw,56px);
  line-height:1.08;
  color:#241b21;
}
.contact-success-card p{
  margin:0 auto 28px;
  max-width:780px;
  font-size:clamp(18px,2vw,24px);
  line-height:1.5;
  color:var(--bouzek-muted,#6f6870);
}
.contact-success-home{
  min-width:220px;
  text-align:center;
}


/* V12.42 – unified success state for access/request forms */
.request-success-card{
  max-width:1100px;
  margin:36px auto 0;
}
form button:disabled,
form input[type="submit"]:disabled{
  opacity:.6;
  cursor:not-allowed;
}


/* V12.43 – individual access management */
.access-request-page-v1243,
.access-admin-v1243,
.dashboard-access-v1243{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(34px,5vw,72px) clamp(20px,4vw,64px) 72px;
}
.access-request-card-v1243{padding:clamp(24px,3vw,40px);margin-top:26px}
.access-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}
.access-dashboard-card{
  min-height:220px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
}
.access-admin-section{margin-top:40px}
.access-admin-request-list{display:grid;gap:16px}
.access-admin-request{padding:24px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.access-admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.access-table-wrap{overflow:auto;border:1px solid #e0d3dc;border-radius:18px;background:#fff}
.access-matrix{width:100%;border-collapse:collapse;min-width:900px}
.access-matrix th,.access-matrix td{padding:14px;border-bottom:1px solid #eee4ea;text-align:center}
.access-matrix th:first-child,.access-matrix td:first-child{text-align:left;min-width:260px}
.access-matrix td small{display:block;color:#756c73;margin-top:4px}
.permission-on,.permission-off{
  width:42px;height:42px;border-radius:10px;border:1px solid #cdb9c6;font-size:20px;cursor:pointer
}
.permission-on{background:#e9f5ee;color:#1f7248}
.permission-off{background:#faf7f8;color:#8b2e6d}
.permission-admin{font-size:12px;font-weight:800;letter-spacing:.08em}
@media(max-width:900px){
 .access-dashboard-grid{grid-template-columns:1fr 1fr}
 .access-admin-request{flex-direction:column}
}
@media(max-width:620px){
 .access-dashboard-grid{grid-template-columns:1fr}
}


/* =========================================================
   V12.58 – uniform visible organigram cards (.ft-card)
   ========================================================= */
.ft-card.ft-person-interactive{
  box-sizing:border-box !important;
  width:236px !important;
  min-width:236px !important;
  max-width:236px !important;
  height:272px !important;
  min-height:272px !important;
  max-height:272px !important;
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:18px 18px 42px !important;
  text-align:center !important;
  overflow:visible !important;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
}
.ft-card.ft-person-interactive.focus{
  width:236px !important;
  min-width:236px !important;
  max-width:236px !important;
  height:272px !important;
  min-height:272px !important;
  max-height:272px !important;
}
.ft-card.ft-person-interactive .ft-avatar{
  width:106px !important;
  height:106px !important;
  flex:0 0 106px !important;
  margin:0 auto 10px !important;
  align-self:center !important;
}
.ft-card.ft-person-interactive .ft-card-text{
  width:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 !important;
}
.ft-card.ft-person-interactive .ft-card-name-line{
  width:100% !important;
  min-height:0 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:1.02rem !important;
  font-weight:790 !important;
  line-height:1.18 !important;
  color:var(--tree-ink) !important;
  overflow-wrap:anywhere;
}
.ft-card.ft-person-interactive .ft-card-name-line.is-empty{
  min-height:1.2em !important;
  visibility:hidden !important;
}
.ft-card.ft-person-interactive .ft-card-birth-line{
  width:100% !important;
  display:block !important;
  margin:3px 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:1.02rem !important;
  font-weight:760 !important;
  line-height:1.15 !important;
  color:var(--tree-ink) !important;
  overflow-wrap:anywhere;
}
.ft-card.ft-person-interactive .ft-card-years{
  position:absolute !important;
  left:34px !important;
  right:34px !important;
  bottom:27px !important;
  width:auto !important;
  min-height:1.15em !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  font-size:.86rem !important;
  line-height:1 !important;
  color:var(--tree-sub) !important;
}
.ft-card.ft-person-interactive .ft-card-years.is-empty{
  visibility:hidden !important;
}
.ft-card.ft-person-interactive .person-contact-state{
  right:9px !important;
  bottom:9px !important;
}
.ft-card.ft-person-interactive .ft-card-plus{
  left:50% !important;
  bottom:-19px !important;
  transform:translateX(-50%) !important;
}


/* V12.59 – larger tree portraits, ~30% over V12.58 */
.ft-card.ft-person-interactive.focus .ft-avatar,
.ft-card.ft-person-interactive.is-focus .ft-avatar{
  width:106px !important;
  height:106px !important;
  flex:0 0 106px !important;
}


/* =========================================================
   V12.65 – Stepchildren inside the relevant family unit
   Same generation row as children, but visually distinct.
   ========================================================= */
.ft-union-children-mixed{
  display:flex!important;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:center;
  gap:22px!important;
}
.ft-card.stepchild{
  background:linear-gradient(180deg,#fffaf1,#fff7e7)!important;
  border-color:#cfa24c!important;
  box-shadow:0 8px 22px rgba(145,102,29,.10)!important;
}
.ft-card.stepchild:hover{
  border-color:#b9872c!important;
  box-shadow:0 14px 32px rgba(145,102,29,.16)!important;
}
.ft-card-role-badge{
  position:absolute;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  padding:3px 8px;
  border-radius:999px;
  background:#fff6df;
  border:1px solid #d8b970;
  color:#8a641a;
  font-size:.56rem;
  line-height:1;
  letter-spacing:.09em;
  font-weight:850;
  text-transform:uppercase;
  white-space:nowrap;
}
.ft-card.stepchild .ft-avatar{
  margin-top:18px!important;
}
.ft-stepchild-legend{
  width:min(760px,90%);
  margin:12px auto 2px;
  padding-top:8px;
  border-top:1px dashed #d7bd83;
  color:#8a7551;
  font-size:.72rem;
  line-height:1.35;
  text-align:center;
}
.ft-stepchild-group{
  display:flex;
  flex-direction:column;
  align-items:center;
}


/* =========================================================
   V12.66 – Explicit parent roles on stepchild cards
   ========================================================= */
.ft-card-role-stack{
  position:absolute;
  top:7px;
  left:10px;
  right:10px;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  pointer-events:none;
}
.ft-card-role-stack .ft-card-role-badge{
  position:static!important;
  transform:none!important;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ft-card-role-sub{
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid #e3cf9d;
  color:#8b6c2a;
  font-size:.52rem;
  line-height:1.05;
  letter-spacing:.055em;
  font-weight:760;
  text-transform:uppercase;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ft-card.stepchild .ft-avatar{margin-top:34px!important}
.ft-union-family-note{
  width:max-content;
  max-width:90%;
  margin:12px auto 0;
  padding:6px 11px;
  border-radius:999px;
  background:#faf8f3;
  border:1px solid #ded8c9;
  color:#776e5d;
  font-size:.68rem;
  font-weight:720;
  text-align:center;
}
