:root{--cream:#f4ebdd;--cocoa:#4a2818;--ink:#21150f;--stone:#8b8178;--line:rgba(74,40,24,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Nimbus Sans",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
.wrap{width:min(100% - 64px,1440px);margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-60px;z-index:10;background:var(--cocoa);color:var(--cream);padding:12px}
.skip-link:focus{top:16px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:120px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;flex:none}.brand img{display:block;width:206px;height:auto}
nav{display:flex;gap:clamp(18px,3vw,44px);flex-wrap:wrap;justify-content:flex-end}
nav a,.eyebrow,.text-link,.hero-aside,.principle-list article>span,.image-break figcaption,.footer-contact span{font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}nav a:hover,nav a:focus-visible{border-color:currentColor}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3,.signature{font-family:"P052",Georgia,'Times New Roman',serif;font-weight:700}
.eyebrow{color:var(--cocoa);margin-bottom:28px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:6vw;min-height:690px;align-items:end;padding-block:95px 105px}
.hero-copy{max-width:1050px}.hero h1{font-size:clamp(4.6rem,8.2vw,9.5rem);line-height:.99;letter-spacing:-.066em;color:var(--cocoa);margin-bottom:40px}
.hero-lead{max-width:725px;font-size:clamp(1.25rem,1.9vw,1.7rem);line-height:1.48;margin-bottom:36px}
.text-link{display:inline-flex;gap:28px;text-decoration:none;border-bottom:1px solid var(--cocoa);padding-bottom:10px;color:var(--cocoa)}.text-link span{font-size:1.1em}.text-link:hover{gap:36px}
.light-link{display:inline-flex;gap:20px;color:var(--cream);font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:14px}
.light-link:hover{gap:28px}
.hero-aside{align-self:end;color:var(--cocoa);border-top:1px solid var(--cocoa);padding-top:18px;letter-spacing:.04em;line-height:1.55}.hero-aside p{margin:15px 0 0}.aside-number{font-family:"P052",Georgia,serif;font-size:1.25rem;font-weight:700}
.story-section{background:var(--cream);border-block:1px solid var(--line);padding:clamp(90px,11vw,170px) 0}.story-grid,.now-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,150px)}
h2{font-size:clamp(3.2rem,6vw,6.5rem);line-height:1.02;letter-spacing:-.06em;color:var(--cocoa);margin-bottom:0}
.story-text{padding-top:40px}.story-text p,.now-grid p{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.65;margin-bottom:25px}.story-text .signature{font-size:1.75rem;color:var(--cocoa);margin-top:38px;margin-bottom:0}
.image-break{position:relative;height:clamp(360px,53vw,760px);margin:0;background:var(--cream);overflow:hidden}.image-break img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%}.image-break figcaption{position:absolute;left:clamp(24px,5vw,80px);bottom:24px;background:var(--cream);padding:13px 17px;color:var(--cocoa);letter-spacing:.06em}
.principles{padding-block:clamp(90px,11vw,170px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,140px)}.principles-heading>p:last-child{max-width:480px;font-size:1.2rem;line-height:1.6;margin-top:38px;color:var(--cocoa)}
.principle-list{border-top:1px solid var(--line)}.principle-list article{display:grid;grid-template-columns:50px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:30px 0 34px}.principle-list article>span{color:var(--cocoa);padding-top:8px}.principle-list h3{font-size:clamp(1.7rem,2.6vw,2.55rem);line-height:1.13;letter-spacing:-.035em;color:var(--cocoa);margin-bottom:14px}.principle-list p{font-size:1.08rem;line-height:1.6;color:var(--cocoa);margin-bottom:0;max-width:590px}
.now-section{background:var(--cocoa);color:var(--cream);padding-block:clamp(90px,10vw,150px)}.now-section h2,.now-section .eyebrow{color:var(--cream)}.now-grid>div:last-child{padding-top:46px}.now-grid p:last-child{margin-bottom:0}
.site-footer{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-block:72px 65px}.site-footer img{width:205px;height:auto}.site-footer p{font-size:.95rem;color:var(--cocoa);margin:18px 0 0}.footer-contact{display:flex;flex-direction:column;gap:14px}.footer-contact span{color:var(--cocoa)}.footer-contact a{font-family:"P052",Georgia,serif;font-weight:700;font-size:clamp(1.35rem,2vw,2rem);text-underline-offset:5px;color:var(--cocoa)}
nav [aria-current="page"]{border-bottom-color:currentColor}
.family-hero{padding-block:clamp(88px,10vw,150px) clamp(80px,9vw,130px)}
.family-hero h1{font-size:clamp(4.2rem,8vw,9rem);line-height:1;letter-spacing:-.06em;color:var(--cocoa);max-width:1150px;margin-bottom:clamp(60px,9vw,130px)}
.family-hero-bottom{display:grid;grid-template-columns:minmax(0,690px) 1fr;align-items:end;gap:8vw;border-top:1px solid var(--line);padding-top:28px}
.family-hero-bottom>p:first-child{font-size:clamp(1.2rem,1.9vw,1.6rem);line-height:1.5;margin:0}
.family-count{justify-self:end;color:var(--cocoa);font-size:.875rem;font-weight:700;letter-spacing:.12em;line-height:1.8;text-transform:uppercase;margin:0;white-space:nowrap}
.family-list-section{border-block:1px solid var(--line);padding-block:clamp(85px,9vw,135px)}
.family-list-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}
.family-list-heading .eyebrow{margin-bottom:0}.family-list-heading h2{font-size:clamp(2.7rem,5vw,5.5rem)}
.family-list{border-top:1px solid var(--line)}
.family-line{display:grid;grid-template-columns:minmax(140px,.42fr) minmax(0,1fr);gap:clamp(25px,6vw,100px);padding:45px 0 50px;border-bottom:1px solid var(--line)}
.line-index,.line-status{font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cocoa)}
.line-index span{color:var(--cocoa);padding-left:12px}
.line-status{margin-bottom:23px}
.line-main h3{font-size:clamp(3.6rem,6vw,6.5rem);line-height:1;letter-spacing:-.05em;color:var(--cocoa);margin-bottom:20px}
.line-main>p:not(.line-status){max-width:690px;font-size:1.18rem;line-height:1.6;margin-bottom:0}
.line-main .text-link{margin-top:32px}
.family-line-primary{background:var(--cocoa);color:var(--cream);padding:55px clamp(28px,5vw,70px);margin:0;border-bottom:0}
.family-line-primary .line-index,.family-line-primary .line-index span,.family-line-primary .line-status,.family-line-primary .line-main h3,.family-line-primary .text-link{color:var(--cream)}
.family-line-primary .text-link{border-bottom-color:var(--cream)}
.family-closing{padding-block:clamp(90px,10vw,150px)}
.family-closing h2{max-width:1000px;margin-bottom:34px}
.family-closing>p:not(.eyebrow){max-width:700px;font-size:clamp(1.18rem,1.6vw,1.4rem);line-height:1.6;margin-bottom:32px}
.not-found{min-height:50vh;padding-block:clamp(90px,12vw,170px)}.not-found h1{max-width:950px;font-size:clamp(3.6rem,8vw,8.5rem);line-height:1;letter-spacing:-.06em;color:var(--cocoa);margin-bottom:30px}.not-found>p:not(.eyebrow){max-width:620px;font-size:clamp(1.18rem,1.7vw,1.45rem);line-height:1.55;margin-bottom:35px}
a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column;padding-block:24px;min-height:auto;gap:18px}nav{justify-content:flex-start}.hero{grid-template-columns:1fr;min-height:auto;padding-block:90px}.hero-aside{max-width:370px}.principles{grid-template-columns:1fr}.principles-heading>p:last-child{margin-top:25px}.story-grid,.now-grid{gap:50px}}
@media(max-width:900px){.family-list-heading{align-items:start;flex-direction:column;gap:15px}.family-hero-bottom{gap:45px}}
@media(max-width:680px){.wrap{width:min(100% - 40px,1440px)}.brand img{width:170px}nav{gap:9px 12px}nav a{font-size:.875rem;letter-spacing:.07em}.hero{padding-block:78px 85px;gap:64px}.hero h1{font-size:clamp(3.65rem,12vw,5.8rem);margin-bottom:30px}.hero-lead{font-size:1.19rem}.story-grid,.now-grid{grid-template-columns:1fr;gap:25px}.story-text,.now-grid>div:last-child{padding-top:0}.story-section{padding-block:85px}.image-break{height:390px}.image-break img{object-position:62% center}.image-break figcaption{right:20px;left:20px;bottom:20px;font-size:.8rem;line-height:1.5}.principles{padding-block:90px}.principle-list article{grid-template-columns:32px 1fr;gap:12px}.principle-list h3{font-size:1.8rem}.site-footer{align-items:flex-start;flex-direction:column;padding-block:55px;gap:46px}}
@media(max-width:680px){.family-hero{padding-block:80px 90px}.family-hero h1{font-size:clamp(3.6rem,12vw,5.6rem);margin-bottom:65px}.family-hero-bottom{grid-template-columns:1fr;gap:32px}.family-count{justify-self:start}.family-list-section{padding-block:85px}.family-list-heading{margin-bottom:45px}.family-line{grid-template-columns:1fr;gap:20px;padding-block:35px}.family-line-primary{padding:35px 24px;margin-inline:-20px}.line-main h3{font-size:3.6rem}.line-main>p:not(.line-status){font-size:1.08rem}.family-closing{padding-block:90px}}
@media(max-width:360px){.now-section h2{font-size:2.7rem}nav a{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
