/* Primary Homes About Us story refresh. Additive stylesheet: retains the existing site styles. */
.story-page-intro{padding-top:clamp(86px,9vw,140px);padding-bottom:clamp(95px,10vw,145px)}
.story-page-intro h1{max-width:1200px;margin-top:24px;margin-bottom:28px}
.story-page-intro p{max-width:610px;color:#c2d6db;font-size:clamp(1.06rem,1.4vw,1.28rem);line-height:1.78}
.story-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(42px,9vw,140px)}
.story-aside h2{font-size:clamp(3rem,5vw,5.7rem);line-height:1.11;margin:23px 0 38px;letter-spacing:-.055em}
.story-muted{color:#8ba0a5}
.story-rule{height:1px;background:#cdd9d9;width:100%;margin-bottom:27px}
.story-keyline{font-family:'Manrope',Arial,sans-serif;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:500;line-height:1.54;letter-spacing:-.03em;color:#2c454f;max-width:500px}
.story-narrative{padding-top:35px;max-width:650px}
.story-narrative p{font-size:clamp(1rem,1.17vw,1.15rem);line-height:1.88;color:#586c73;margin:0 0 25px}
.story-closing{display:grid;grid-template-columns: .32fr .68fr;gap:35px;border-top:1px solid #c9d6d7;border-bottom:1px solid #c9d6d7;margin-top:clamp(50px,7vw,95px);padding:35px 0 43px;align-items:start}
.story-closing .eyebrow{padding-top:11px}
.story-closing p{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.042em;line-height:1.38;font-size:clamp(1.6rem,2.7vw,3.2rem);margin:0}
.story-closing span{color:#869a9e}
.story-team{background:#f0f2ef!important}
.story-team .director-photo{background:#d9dddb}
.story-team .director-copy{padding-top:26px}
.story-team .director-copy h3{margin-top:8px;margin-bottom:9px}
.story-team .director-role{margin-bottom:20px}
.story-team .director-copy p{line-height:1.82;color:#586c73;margin-bottom:15px}
.story-place-banner{position:relative;min-height:490px;background:#182e33;color:#fff;display:flex;align-items:center;isolation:isolate}
.story-place-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d2b32d9,#09293291 55%,#10293821)}
.story-place-banner>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:50% 54%}
.story-place-banner h2{margin:19px 0 0;max-width:1000px;font-size:clamp(3.1rem,5.3vw,6rem);color:#fff}
/* Ensures arrows do not render as emoji on mobile. */
.story-page-intro .arrow-icon,.cta-panel .arrow-icon,.nav-btn .arrow-icon{display:inline-block;width:18px;height:18px;vertical-align:middle;stroke:currentColor;color:inherit;flex:none}
@media(max-width:850px){.story-layout{grid-template-columns:1fr;gap:6px}.story-narrative{padding-top:7px}.story-keyline{max-width:690px}.story-closing{grid-template-columns:1fr;gap:17px}.story-place-banner{min-height:410px}}
@media(max-width:620px){.story-page-intro h1{font-size:clamp(3.15rem,11vw,4.4rem)}.story-page-intro p{font-size:1rem}.story-aside h2{font-size:3.3rem;margin-bottom:24px}.story-keyline{font-size:1.27rem}.story-narrative p{font-size:1rem;margin-bottom:18px}.story-closing{margin-top:47px;padding:25px 0 29px}.story-closing p{font-size:1.83rem}.story-place-banner{min-height:330px}.story-place-banner h2{font-size:clamp(2.7rem,10vw,3.8rem)}.story-team .director-copy{padding-top:20px}}

/* V9 portraits: consistent framing for the two updated source photographs. */
.story-team .director-mark .director-photo img{object-position:50% center}
.story-team .director-dan .director-photo img{object-position:50% center}

/* V11: align the three studio portrait frames consistently. */
.story-team .director-johnathon .director-photo img{object-position:50% center}
