/* Family story: an editorial page within the approved Into the Blue direction. */
.ts-family-intro{background:var(--seafoam);padding:52px 32px!important}
.ts-family-hero-row{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:70px!important;align-items:center}
.ts-family-intro-copy{gap:25px!important}
.ts-family-intro .ts-family-title h1.elementor-heading-title{font-size:clamp(50px,5.2vw,68px);line-height:1.06;letter-spacing:-2.7px;font-weight:500}
.ts-family-lead{max-width:515px;font-size:20px;line-height:1.65}
.ts-family-intro-copy .ts-button{margin-top:1px}
.ts-family-origin{font-size:13px;line-height:1.5;padding-top:23px;border-top:1px solid var(--ocean-line);max-width:515px}
.ts-family-portrait{gap:0!important}
.ts-family-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;border-radius:8px}
.ts-family-photo figure{margin:0}
.ts-family-photo figcaption{font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.5;color:var(--ocean-text);text-align:left;margin:13px 0 0}
.ts-family-story,.ts-family-belief{padding:80px 32px!important;scroll-margin-top:24px}
.ts-family-story-row{display:grid!important;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:90px!important;align-items:start}
.ts-family-section-heading{gap:19px!important}
.ts-family-section-heading .elementor-heading-title{font-size:40px;line-height:1.15;letter-spacing:-1.5px}
.ts-family-story-copy .ts-copy{font-size:18px;line-height:1.8}
.ts-family-story-copy p+p{margin-top:20px}
.ts-family-milestones{background:var(--ocean);padding:64px 32px!important}
.ts-family-milestones>.ts-inner{gap:38px!important}
.ts-family-milestone-heading{display:grid!important;grid-template-columns:1fr 1fr;gap:90px!important;align-items:center}
.ts-family-milestone-heading .elementor-heading-title{color:#fff;font-size:40px;letter-spacing:-1.5px}
.ts-family-milestone-heading .ts-copy{color:#e1efeb;font-size:18px;max-width:450px;justify-self:end}
.ts-family-stat-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px!important;border-top:1px solid #486970;padding-top:30px!important}
.ts-family-stat{gap:12px!important}
.ts-family-stat+.ts-family-stat{border-left:1px solid #486970;padding-left:34px!important}
.ts-family-number{font-family:'Manrope',sans-serif;color:var(--citron);font-size:64px;line-height:1.1;letter-spacing:-2.5px;font-weight:500}
.ts-family-stat-label{font-size:15px;line-height:1.55;color:#fff;max-width:230px}
.ts-family-story-copy .ts-family-signoff{font-size:20px;color:var(--ocean);border-top:1px solid var(--ocean-line);padding-top:22px}
.ts-family-contact{padding:66px 32px!important;background:var(--seafoam)}
.ts-family-contact-row{align-items:center;gap:80px!important}
.ts-family-contact-row>.ts-family-contact-actions{flex:0 0 230px;gap:20px!important;align-items:flex-start}
.ts-family-contact .elementor-heading-title{font-size:42px;line-height:1.15;letter-spacing:-1.5px;text-wrap:balance;max-width:670px}
.ts-family-contact .ts-copy:not(.ts-eyebrow){font-size:17px}
.ts-family-contact-actions .elementor-button{min-height:48px}
.ts-family-contact-actions .ts-button-link .elementor-button{min-height:40px}
@media(max-width:1024px){
 .ts-family-hero-row{gap:35px!important;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
 .ts-family-intro .ts-family-title h1.elementor-heading-title{font-size:49px;letter-spacing:-2px}
 .ts-family-lead{font-size:18px}
 .ts-family-story-row,.ts-family-milestone-heading{gap:45px!important}
 .ts-family-section-heading .elementor-heading-title{font-size:34px}
 .ts-family-number{font-size:55px}
}
@media(max-width:767px){
 .ts-family-intro{padding:38px 20px 32px!important}
 .ts-family-hero-row{grid-template-columns:1fr;gap:30px!important}
 .ts-family-intro-copy{gap:21px!important}
 .ts-family-intro .ts-family-title h1.elementor-heading-title{font-size:44px;line-height:1.08;letter-spacing:-1.8px}
 .ts-family-lead{font-size:17px;line-height:1.7}
 .ts-family-origin{font-size:12px;padding-top:18px}
 .ts-family-photo figcaption{font-size:12px;margin-top:12px}
 .ts-family-story,.ts-family-belief{padding:48px 20px!important}
 .ts-family-story-row,.ts-family-milestone-heading{grid-template-columns:1fr;gap:24px!important}
 .ts-family-section-heading .elementor-heading-title,.ts-family-milestone-heading .elementor-heading-title{font-size:32px;line-height:1.18;letter-spacing:-1.1px}
 .ts-family-story-copy .ts-copy{font-size:17px;line-height:1.75}
 .ts-family-milestones{padding:46px 20px!important}
 .ts-family-milestones>.ts-inner{gap:27px!important}
 .ts-family-milestone-heading .ts-copy{font-size:17px;justify-self:start}
 .ts-family-stat-row{grid-template-columns:1fr;gap:22px!important;padding-top:25px!important}
 .ts-family-stat{display:grid!important;grid-template-columns:135px minmax(0,1fr);align-items:center;gap:22px!important}
 .ts-family-stat+.ts-family-stat{border-left:0;border-top:1px solid #486970;padding:22px 0 0!important}
 .ts-family-number{font-size:50px;letter-spacing:-2px}
 .ts-family-stat-label{font-size:14px}
 .ts-family-story-copy .ts-family-signoff{font-size:19px}
 .ts-family-contact{padding:48px 20px!important}
 .ts-family-contact-row{flex-direction:column!important;gap:28px!important;align-items:stretch}
 .ts-family-contact .elementor-heading-title{font-size:34px;letter-spacing:-1.2px}
 .ts-family-contact-row>.ts-family-contact-actions{flex:auto;gap:14px!important}
 .ts-family-contact-actions .ts-button{width:100%}
 .ts-family-contact-actions .ts-button:not(.ts-button-link) .elementor-button{width:100%}
}
@media(max-width:360px){.ts-family-intro .ts-family-title h1.elementor-heading-title{font-size:39px}.ts-family-stat{grid-template-columns:115px minmax(0,1fr);gap:18px!important}.ts-family-number{font-size:45px}}
