/* FAMILY v1 — isolated Family system. */
.family-page{margin:0;background:#f5efe4;color:#172a27}.family-page *{box-sizing:border-box}
.family-header{position:relative;z-index:20;height:72px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:#0c2a26;color:#fff}.family-header .brand{color:#fff;text-decoration:none;font:700 15px/1 Georgia,serif;letter-spacing:.12em}.family-header nav{display:flex;gap:28px}.family-header nav a{color:rgba(255,255,255,.8);text-decoration:none;text-transform:uppercase;font:700 10px/1 Arial,sans-serif;letter-spacing:.08em}.family-header nav a.active,.family-header nav a:hover{color:#e5a65a}
.family-hero{position:relative;height:400px;min-height:400px;overflow:hidden;padding:30px 7vw;display:grid;grid-template-columns:minmax(360px,42%) minmax(0,58%);align-items:center;background:radial-gradient(circle at 73% 48%,rgba(229,166,90,.12),transparent 23%),linear-gradient(112deg,#0a2925 0%,#0b302a 53%,#153a32 100%);color:#fff}.family-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#efc15f 45%,transparent);opacity:.48}.family-hero-copy{position:relative;z-index:2}.family-hero h1{margin:12px 0 0;font:400 clamp(4rem,6vw,6.2rem)/.86 Georgia,serif;letter-spacing:-.055em}.family-hero p{margin:22px 0 0;font:700 clamp(1.12rem,1.5vw,1.38rem)/1.48 Georgia,serif}.family-tagline{color:#e5a65a}
.family-hero-copy{position:relative;z-index:2}
.family-hero-portrait{position:absolute;z-index:1;top:-2px;right:3vw;bottom:-2px;width:57.5%;margin:0;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
.family-hero-portrait img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:100%;
  opacity:1;
  filter:brightness(1.04) contrast(1.03) saturate(1.03);
  -webkit-mask-image:radial-gradient(ellipse 94% 94% at 54% 50%,#000 0%,#000 60%,rgba(0,0,0,.94) 70%,rgba(0,0,0,.70) 80%,rgba(0,0,0,.34) 90%,transparent 100%);
  mask-image:radial-gradient(ellipse 94% 94% at 54% 50%,#000 0%,#000 60%,rgba(0,0,0,.94) 70%,rgba(0,0,0,.70) 80%,rgba(0,0,0,.34) 90%,transparent 100%);
}






.family-overline{color:#b76b42;font:800 10px/1.1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.section-head h2,.say-title h2{margin:7px 0 10px;font:400 clamp(1.65rem,2.25vw,2.5rem)/1.02 Georgia,serif;letter-spacing:-.02em;white-space:nowrap}.section-head>p{margin:0;max-width:650px;color:#68736e;line-height:1.55}
.family-cast{padding:48px 7vw 54px;background:#f6f1e8}.cast-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:28px}.cast-card{min-height:230px;padding:18px 17px;display:flex;flex-direction:column;background:#efe4d0;border-top:3px solid #b76b42;color:inherit;text-decoration:none;cursor:pointer}.cast-card:nth-child(even){background:#dfe6dc}.cast-card span{color:#a06e38;font:800 9px/1 Arial,sans-serif;letter-spacing:.12em}.cast-card h3{margin:18px 0 8px;font:400 1.7rem/1 Georgia,serif}.cast-card p{margin:0;color:#52615c;font-size:.86rem;line-height:1.5}.cast-card em{margin-top:auto;padding-top:18px;color:#a06e38;font:italic 13px/1.3 Georgia,serif}.cast-card em b{display:inline-block;min-width:18px;color:#6b746f;font:400 16px/1 Georgia,serif}
.family-say{padding:48px 7vw 52px;background:#172a27;color:#fff}.say-title{max-width:780px}.say-title .family-overline{color:#e5a65a}.quote-wall{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-top:26px}.quote-wall blockquote{grid-column:span 3;margin:0;min-height:112px;padding:20px;display:flex;align-items:center;gap:9px;background:#213a34;border:1px solid rgba(255,255,255,.08);font:italic 1.2rem/1.25 Georgia,serif;color:#e9e1d3}.quote-wall blockquote.wide{grid-column:span 5}.quote-wall blockquote b{color:#e5a65a;font:700 1.15em/1 Georgia,serif;font-style:normal}.quote-wall blockquote span{color:inherit;font:inherit}
.family-stories{padding:48px 7vw 60px;background:#e8dece}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:28px}.story-card{min-height:180px;padding:20px;display:flex;flex-direction:column;background:#f6f1e8;color:#172a27;text-decoration:none;border-top:3px solid #b76b42;transition:.2s}.story-card:hover{transform:translateY(-3px)}.story-card small{color:#b76b42;font:800 9px/1 Arial,sans-serif;letter-spacing:.13em}.story-icon{width:38px;height:38px;margin:14px 0 0;display:grid;place-items:center;border:1px solid rgba(183,107,66,.55);border-radius:50%;color:#b76b42;font:400 17px/1 Georgia,serif}.story-card h3{margin:18px 0 10px;font:400 1.55rem/1.05 Georgia,serif}.story-card span{margin-top:auto;color:#68736e;font-size:.8rem}
@media(max-width:850px){.family-hero{grid-template-columns:1fr;height:auto;min-height:650px;padding:48px 24px;display:block}.family-hero-portrait{position:relative;top:auto;right:auto;bottom:auto;width:min(720px,100%);margin:22px auto 0;display:block;pointer-events:none}.section-head h2,.say-title h2{white-space:normal}.family-header nav{display:none}.cast-grid,.story-grid{grid-template-columns:1fr}.quote-wall{display:block}.quote-wall blockquote{margin-bottom:8px}.family-cast,.family-say,.family-stories{padding:42px 22px}}


/* FAMILY v6.64 — palette only; About-inspired soft pastel treatment */
.family-cast{
  background:#e8ebe2;
}
.family-cast .cast-card:nth-child(1){ background:#c9ddd4; }
.family-cast .cast-card:nth-child(2){ background:#dfc2c2; }
.family-cast .cast-card:nth-child(3){ background:#bcd9d7; }
.family-cast .cast-card:nth-child(4){ background:#c8d7e0; }
.family-cast .cast-card:nth-child(5){ background:#d8c3d1; }




/* FAMILY v6.67 — clean cast-section styling */
.family-cast{
  background:#fbfcf9;
}
.family-cast .section-head p{
  font-weight:700;
  white-space:nowrap;
  max-width:none;
  width:auto;
}

/* FAMILY v217 — visual beautification only: fused cast portraits + tighter editorial rhythm */
.family-cast{
  padding:28px 7vw 40px;
}
.family-cast .section-head h2{margin-bottom:8px}
.cast-grid{
  gap:7px;
  margin-top:22px;
}
.cast-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:198px;
  padding:17px 16px 15px;
  border-top-width:2px;
}
.cast-card-copy{
  position:relative;
  z-index:2;
  width:67%;
  min-height:164px;
  display:flex;
  flex-direction:column;
}
.cast-card h3{
  margin:8px 0 8px;
  font-size:1.47rem;
  line-height:1.02;
}
.cast-card p{
  max-width:100%;
  font-size:.80rem;
  line-height:1.43;
}
.cast-card em{
  padding-top:12px;
  font-size:12px;
  line-height:1.28;
}
.cast-card-art{
  position:absolute;
  z-index:1;
  top:0;
  right:-8%;
  width:60%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.38;
  filter:saturate(.72) contrast(.96) brightness(1.04);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.14) 12%,rgba(0,0,0,.78) 47%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.14) 12%,rgba(0,0,0,.78) 47%,#000 100%);
  transition:opacity .22s ease, transform .28s ease;
}
.cast-card:nth-child(1) .cast-card-art{right:-3%;width:55%;object-position:60% 37%;opacity:.31}
.cast-card:nth-child(2) .cast-card-art{right:-13%;width:64%;object-position:60% center;opacity:.34}
.cast-card:nth-child(3) .cast-card-art{right:-11%;width:63%;object-position:57% center;opacity:.36}
.cast-card:nth-child(4) .cast-card-art{right:-8%;width:61%;object-position:58% 44%;opacity:.35}
.cast-card:nth-child(5) .cast-card-art{right:-8%;width:62%;object-position:56% center;opacity:.29}
.cast-card:hover .cast-card-art{opacity:.46;transform:scale(1.015)}

/* soften the five tints so the row reads as one composition */
.family-cast .cast-card:nth-child(1){background:#d8e5de}
.family-cast .cast-card:nth-child(2){background:#ead6d4}
.family-cast .cast-card:nth-child(3){background:#d5e5e2}
.family-cast .cast-card:nth-child(4){background:#dae4e9}
.family-cast .cast-card:nth-child(5){background:#e4d8e0}

.family-say{
  padding:34px 7vw 36px;
}
.say-title h2{margin-bottom:4px}
.quote-wall{
  margin-top:18px;
  gap:0 28px;
}
.quote-wall blockquote,
.quote-wall blockquote.wide{
  min-height:58px;
  padding:9px 0;
  background:transparent;
  border:0;
  border-left:1px solid rgba(229,166,90,.72);
  padding-left:16px;
  font-size:1.02rem;
}
.quote-wall blockquote{grid-column:span 4}
.quote-wall blockquote.wide{grid-column:span 6}
.quote-wall blockquote:nth-child(5){grid-column:span 6}

.family-stories{
  padding:34px 7vw 38px;
}
.story-grid{
  margin-top:20px;
}
.story-card{
  min-height:138px;
  padding:16px 18px;
  border-top-width:2px;
}
.story-icon{
  width:31px;height:31px;margin-top:10px;font-size:14px;
}
.story-card h3{
  margin:10px 0 8px;
  font-size:1.35rem;
}

@media(max-width:1100px){
  .cast-card-copy{width:72%}
  .cast-card h3{font-size:1.32rem}
  .cast-card p{font-size:.77rem}
  .cast-card-art{width:57%;right:-12%}
}
@media(max-width:850px){
  .family-cast{padding:36px 22px 38px}
  .cast-grid{gap:10px}
  .cast-card{min-height:210px;padding:18px}
  .cast-card-copy{width:64%;min-height:172px}
  .cast-card h3{font-size:1.55rem}
  .cast-card p{font-size:.84rem}
  .cast-card-art{right:-4%!important;width:52%!important;opacity:.31!important}
  .family-say,.family-stories{padding:36px 22px}
  .quote-wall blockquote,.quote-wall blockquote.wide{min-height:auto;margin:0;padding:12px 0 12px 15px}
  .story-card{min-height:145px}
}

/* FAMILY v219 — unify light editorial bands */
.family-stories{
  background:#fbfcf9;
}
