.family-section .section-heading {margin-bottom: 38px}
.family-assembly {grid-template-columns: minmax(0,1fr) minmax(210px,.68fr) minmax(0,1fr);gap: 24px 34px;align-items: stretch}
.family-assembly .family-connections {z-index: 0;overflow: visible;pointer-events: none;stroke: #91aa97;stroke-width: 1;visibility: hidden}
.family-assembly.family-motion-ready .family-connections {visibility: visible}
.family-assembly .family-connections path {animation: none;opacity: .65;stroke-dasharray: 1;stroke-dashoffset: calc(1 - var(--family-progress,1));vector-effect: non-scaling-stroke}
.family-slot {position: relative;display: grid;min-width: 0;z-index: 1}
.family-slot-oyster {grid-area: oyster}
.family-slot-seashell {grid-area: seashell}
.family-slot-beacon {grid-area: beacon}
.family-slot-mariner {grid-area: mariner}
.family-assembly .constellation-card {grid-area: auto;width: 100%;height: 100%;min-width: 0;border-radius: 9px;transform: translate3d(var(--family-x,0px),var(--family-y,0px),0) rotate(var(--family-rotate,0deg)) scale(var(--family-scale,1));transform-origin: center;transition: border-color .2s ease,box-shadow .2s ease}
.family-assembly .constellation-card.family-moving {will-change: transform}
.family-assembly .constellation-card:hover,.family-assembly .constellation-card:focus-within {border-color: #b5cdb7;box-shadow: 0 12px 30px #183c2014}
.family-assembly .constellation-link {min-height: 380px;padding: 22px;scroll-margin-block: 100px}
.family-assembly .constellation-top {gap: 11px;min-height: 27px}
.family-assembly .constellation-top>.mark {width: 26px;height: 26px;flex-shrink: 0}
.family-assembly .constellation-top .micro-label {font-size: 12px;line-height: 1.5;letter-spacing: .025em}
.family-assembly .constellation-copy {margin-top: auto;padding-top: 44px}
.family-assembly .module-context {font-size: 12px;line-height: 1.6;color: #b5d1bd}
.family-assembly .constellation-copy h3 {font-size: clamp(2rem,2.6vw,2.5rem);line-height: 1.15;margin: 7px 0 10px;letter-spacing: -.04em}
.family-assembly .constellation-copy p {font-size: 15px;line-height: 1.7;color: #d2dfd3;max-width: none}
.family-assembly .constellation-footer {min-height: 40px;gap: 10px;flex-wrap: wrap;margin-top: 17px;padding-top: 12px;border-color: #accbb638}
.family-card-cta {display: inline-flex;align-items: center;gap: 9px;font-size: 13px;line-height: 1.6}
.family-card-cta>svg {width: 18px;height: 18px;flex-shrink: 0}
.family-card-by {margin-inline-start: auto;color: #a8c1af;font-size: 12px;line-height: 1.6;white-space: nowrap}
.family-assembly .constellation-link:focus-visible {outline: 3px solid #e6f1db;outline-offset: -5px;border-radius: 8px}
.family-assembly .constellation-link:active .family-card-cta {color: #fff}
.family-assembly .family-hub {position: relative;z-index: 2;align-self: center;justify-self: center;width: 100%;max-width: 280px;min-height: 0;padding: 24px 13px;margin: 0;border: 0;border-radius: 0;background: transparent;text-align: center}
.family-assembly .family-hub:before,.family-assembly .hub-orbit {display: none}
.family-assembly .hub-kicker {font-size: 12px;line-height: 1.6;letter-spacing: .04em;color: #5e7462;text-transform: none;margin-bottom: 21px}
.family-core {position: relative;display: grid;place-items: center;width: 106px;height: 106px;margin-bottom: 23px;border: 1px solid #c2d3c3;border-radius: 24px;background: linear-gradient(145deg,#fbfdf8,#e2ecde);box-shadow: inset 0 1px 0 #fff,0 13px 30px #183c2010}
.family-core:before {content: '';position: absolute;inset: 7px;border: 1px solid #fff9;border-radius: 18px;pointer-events: none}
.family-core>.mark {width: 63px;height: 63px;color: #315b40;stroke-width: 1.25;filter: none}
.family-assembly .family-hub h3 {font-size: clamp(1.875rem,2.3vw,2.375rem);line-height: 1.2;letter-spacing: -.055em;font-weight: 550;color: #244b31}
.family-assembly .family-hub>p {font-size: 15px;line-height: 1.8;color: #627967;max-width: 245px;margin-top: 14px}
.family-assembly .hub-products {gap: 9px;margin-top: 23px}
.family-product-point {display: grid;place-items: center;width: 34px;height: 34px;border: 1px solid #d4dfd0;border-radius: 9px;background: #eff4e9}
.family-assembly .family-product-point>.mark {width: 19px;height: 19px;color: #52705c}
.family-hub-principles {display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 7px 14px;margin-top: 21px;max-width: 100%;font-size: 12px;line-height: 1.5;color: #5e7462}
.family-hub-principles>span {position: relative}
.family-hub-principles>span+span:before {content: '';position: absolute;inset-inline-start: -8px;top: .6em;width: 2px;height: 2px;border-radius: 50%;background: #b2c3b1}
.family-assembly.family-motion-muted .constellation-card,.motion-off .family-assembly .constellation-card {transform: none!important;will-change: auto}
[dir="rtl"] .family-assembly .constellation-copy h3,[dir="rtl"] .family-assembly .family-hub h3 {letter-spacing: 0}
[dir="rtl"] .family-card-cta>svg {transform: scaleX(-1)}
@media(max-width: 1100px) and (min-width: 901px) {
  .family-assembly {grid-template-columns: minmax(0,1fr) minmax(190px,.65fr) minmax(0,1fr);gap: 22px}
  .family-assembly .constellation-link {padding: 19px;min-height: 380px}
  .family-assembly .constellation-copy h3 {font-size: 2rem}
  .family-assembly .constellation-copy p {font-size: 14px}
  .family-assembly .family-hub {padding-inline: 5px}
  .family-assembly .family-hub h3 {font-size: 1.875rem}
}
@media(max-width: 900px) {
  .family-assembly {grid-template-columns: repeat(2,minmax(0,1fr));grid-template-areas: 'hub hub' 'beacon oyster' 'mariner seashell';gap: 22px}
  .family-assembly .family-connections {display: none}
  .family-assembly .family-hub {max-width: 420px;padding: 0 20px 25px;margin: 0 auto 9px}
  .family-assembly .hub-kicker {margin-bottom: 17px}
  .family-core {width: 94px;height: 94px;margin-bottom: 18px}
  .family-core>.mark {width: 56px;height: 56px}
  .family-assembly .family-hub h3 {font-size: 2.375rem}
  .family-assembly .family-hub>p {max-width: 330px;font-size: 16px}
  .family-assembly .hub-products {margin-top: 18px}
  .family-hub-principles {margin-top: 16px}
  .family-assembly .constellation-link {min-height: 420px;padding: 24px}
  .family-assembly .constellation-copy {padding-top: 74px}
}
@media(max-width: 560px) {
  .family-section .section-heading {margin-bottom: 30px}
  .family-assembly {grid-template-columns: minmax(0,1fr);grid-template-areas: 'hub' 'oyster' 'seashell' 'beacon' 'mariner';gap: 20px}
  .family-assembly .family-hub {padding: 0 14px 19px;margin-bottom: 6px}
  .family-assembly .family-hub h3 {font-size: 2.375rem}
  .family-assembly .constellation-link {min-height: 430px;padding: 25px}
  .family-assembly .constellation-copy h3 {font-size: 2.375rem}
  .family-assembly .constellation-copy p {font-size: 16px;line-height: 1.7}
  .family-assembly .constellation-footer {margin-top: 21px;padding-top: 14px}
  .family-card-cta {font-size: 14px}
}
@media(prefers-reduced-motion: reduce) {
  .family-assembly .constellation-card {transform: none!important;will-change: auto}
  .family-assembly .family-connections path {stroke-dashoffset: 0!important}
}
@media(prefers-contrast: more) {
  .family-assembly .family-hub>p,.family-hub-principles,.family-assembly .hub-kicker {color: #365940}
  .family-assembly .constellation-copy p,.family-card-by {color: #e5eee3}
  .family-core,.family-product-point {border-color: #799a7c}
}
@media print {
  .family-assembly {grid-template-columns: repeat(2,minmax(0,1fr));grid-template-areas: 'hub hub' 'beacon oyster' 'mariner seashell'}
  .family-assembly .family-connections {display: none}
  .family-assembly .constellation-card {transform: none!important;break-inside: avoid}
  .family-assembly .constellation-link {min-height: 0}
  .family-assembly .constellation-copy {padding-top: 20px}
  .family-card-by {color: #365940}
}
