@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
:root{--bg:#19191d;--panel:#242429;--text:#f5f4f0;--sub:#b9b6b4;--gold:#c8a96b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,.family-rail:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.skip{position:fixed;top:-100px;left:14px;background:white;color:black;padding:10px;z-index:200}.skip:focus{top:10px}
.site-shell{min-height:100vh;background:radial-gradient(ellipse 70% 38% at 50% 21%,rgba(75,70,82,.20),transparent 75%),#19191d}
.topbar{position:sticky;top:0;z-index:50;background:rgba(25,25,29,.97);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff13;min-height:98px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px clamp(18px,4vw,64px);gap:14px}
.back{font-size:11px;letter-spacing:.10em;color:#d6d2d1;max-width:max-content}.wordmark{display:flex;flex-direction:column;align-items:center;gap:6px}.wordmark strong{font-size:clamp(21px,2.4vw,31px);font-weight:650;letter-spacing:.28em}.wordmark span{font-size:9px;letter-spacing:.18em;color:#afaaae}
.lang{display:flex;gap:4px;justify-self:end}.lang button{border:0;color:#b8b6bd;background:none;padding:8px;cursor:pointer;font-size:11px}.lang button[aria-pressed=true]{color:white;border-bottom:1px solid var(--gold)}
.family-main{max-width:1600px;margin:0 auto;padding:64px clamp(18px,6vw,90px) 95px}
.eyebrow{color:#adaab0;font-size:11px;letter-spacing:.21em;font-weight:600}
.hero{text-align:center;max-width:920px;margin:0 auto 50px}
.hero h1{font-size:clamp(45px,6.2vw,88px);font-weight:800;letter-spacing:-.065em;line-height:1.04;margin:16px 0 17px}
.hero p:not(.eyebrow){color:#bbb7bd;font-size:clamp(14px,1.4vw,17px);line-height:1.65;max-width:720px;margin:0 auto}
.hero .trail{font-size:12px;color:#cfc9c3;margin:22px auto 0}
.instructions{text-align:center;color:#99949a;font-size:12px;margin:22px 0 30px;line-height:1.5}
.family-rail{display:flex;gap:clamp(15px,1.7vw,26px);overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:none;cursor:grab;padding:22px clamp(1px,4vw,50px) 30px}
.family-rail::-webkit-scrollbar{display:none}.family-rail:active{cursor:grabbing}
.family-card{position:relative;flex:0 0 clamp(190px,21vw,272px);aspect-ratio:3/4;min-width:0;border-radius:12px;overflow:hidden;background:#29282d;border:1px solid #ffffff1c;display:block;color:#fff;box-shadow:0 25px 60px #0009;transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;scroll-snap-align:start;cursor:pointer}
.family-card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) brightness(.56);transition:filter .4s ease}.family-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.89),transparent 70%);pointer-events:none}
.family-card .card-label{position:absolute;bottom:17px;left:15px;right:15px;display:block;z-index:1;text-align:center}.family-card .card-label strong{font-size:clamp(13px,1.6vw,18px);font-weight:800;letter-spacing:.12em;overflow-wrap:anywhere}.family-card .card-label small{display:block;color:#dfdade;font-size:10px;line-height:1.5;margin-top:7px}
.family-card:hover,.family-card:focus-visible,.family-card[aria-pressed=true]{border-color:var(--gold);box-shadow:0 22px 62px #000b,0 0 0 1px #c8a96b65;transform:translateY(-8px) scale(1.045);z-index:2}
.family-card:hover img,.family-card:focus-visible img,.family-card[aria-pressed=true] img{filter:grayscale(0) brightness(.92)}
.family-details{margin:36px auto 0;max-width:1120px;padding:36px clamp(18px,4vw,55px);border:1px solid #ffffff19;background:linear-gradient(150deg,#25252a,#1b1b1f);display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:25px;align-items:center;border-radius:12px}
.detail-kicker{font-size:10px;letter-spacing:.21em;color:#c8a96b;margin-bottom:10px}.family-details h2{font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-.06em;margin:0 0 10px}
.family-details p{font-size:14px;line-height:1.6;color:#cbc6c6;max-width:600px;margin:0}
.detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.detail-link{background:#d7c8b1;color:#1a191b;padding:13px 20px;border-radius:2px;font-size:12px;font-weight:700;white-space:nowrap}
.detail-link:hover{background:#f0d9ac}.detail-status{font-size:10px;color:#b9ada2;max-width:200px;line-height:1.4}
.family-foot{margin:70px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1060px;text-align:center;padding:27px 0 0;border-top:1px solid #ffffff25}
.family-foot h3{font-size:11px;font-weight:750;letter-spacing:.09em;margin:0 0 10px}.family-foot p{color:#929095;font-size:11px;line-height:1.6;margin:0}
.page-footer{background:#232226;border-top:1px solid #ffffff21;padding:35px 6vw;display:flex;justify-content:space-between;gap:22px;align-items:center;color:#b9b3b5;font-size:11px}.page-footer strong{font-size:18px;letter-spacing:.17em;color:white}
.breadcrumb{margin:0 auto 28px;color:#b5aeaf;font-size:11px;text-align:center}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.topbar{min-height:82px;padding:13px 15px;gap:6px}.back{font-size:9px}.wordmark strong{font-size:19px}.wordmark span{font-size:7px}.lang button{padding:7px 4px;font-size:10px}.family-main{padding:44px 16px 70px}.hero h1{font-size:clamp(39px,10vw,61px)}.family-rail{gap:13px;padding:10px 8px 25px}.family-card{flex-basis:clamp(165px,53vw,210px)}.family-card .card-label strong{font-size:13px}.family-details{grid-template-columns:1fr;margin-top:19px;padding:25px 20px}.family-foot{gap:12px}.family-foot h3{font-size:9px}.family-foot p{font-size:9px}.page-footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
