@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ink:#262626;--muted:#737373;--paper:#fff;--soft:#f5f5f5;--line:#e5e5e5;--serif:"Cormorant Garamond",Georgia,serif;--sans:Montserrat,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}.site-container{width:min(calc(100% - 48px),1400px);margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;margin:8px;padding:10px;background:#fff;z-index:9999}.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.muted{color:var(--muted)}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0;line-height:1.08}p{margin:0 0 1.4em}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);backdrop-filter:blur(12px)}.header-inner{height:81px;display:flex;align-items:center;justify-content:space-between}.site-brand__logo,.custom-logo-link{display:block}.site-brand__logo img,.custom-logo{width:auto;height:32px;object-fit:contain}.main-navigation .menu{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0}.main-navigation .menu>li>a{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;transition:opacity .2s}.main-navigation .menu>li>a:hover{opacity:.55}.main-navigation .menu>li:last-child>a{display:block;border:1px solid var(--ink);padding:9px 19px}.main-navigation .menu>li:last-child>a:hover{background:var(--ink);color:#fff;opacity:1}.menu-item-has-children{position:relative}.sub-menu{visibility:hidden;opacity:0;position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);min-width:245px;list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.07);transition:.2s}.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{visibility:visible;opacity:1}.sub-menu a{display:block;padding:10px 14px;font-size:.84rem}.sub-menu a:hover{background:var(--soft)}.nav-toggle{display:none;border:0;background:none;width:30px;height:25px;padding:0;flex-direction:column;justify-content:space-between}.nav-toggle span{display:block;width:100%;height:1px;background:var(--ink);transition:.25s}
.page-hero{border-bottom:1px solid var(--line)}.page-hero__copy{padding-top:80px;padding-bottom:54px;display:grid;grid-template-columns:repeat(12,1fr)}.page-hero__copy h1,.page-hero__copy p{grid-column:3/-1}.page-hero h1{font-size:clamp(2.65rem,6.25vw,5.5rem);max-width:1100px}.page-hero__copy p{margin:22px 0 0;max-width:900px;color:var(--muted);font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2rem);font-style:italic}.page-hero__media{padding-bottom:96px}.page-hero__media img{width:100%;aspect-ratio:16/10;object-fit:cover}.clone-section{border-bottom:1px solid var(--line)}.clone-section--last{border-bottom:0}.clone-section>.site-container{padding-top:104px;padding-bottom:104px}.statement{max-width:960px!important;text-align:center;font-family:var(--serif);font-size:clamp(2rem,3.1vw,2.5rem);line-height:1.38}.statement--small{font-size:clamp(1.65rem,2.5vw,2rem);max-width:820px!important}.two-col{display:grid;grid-template-columns:repeat(12,1fr);gap:40px 64px}.two-col>div:first-child{grid-column:span 5}.two-col__body{grid-column:span 7;font-size:1.06rem}.two-col h2,.section-title{font-size:clamp(2.55rem,4.4vw,3.75rem)}.two-col__body p:last-child{margin-bottom:0}.two-col__image{grid-column:1/-1;width:100%;aspect-ratio:16/10;object-fit:cover;margin-top:8px}.card-grid{display:grid;gap:1px;background:var(--line);margin-top:54px}.card-grid article{background:#fff;padding:42px}.card-grid--2{grid-template-columns:repeat(2,1fr)}.card-grid--3{grid-template-columns:repeat(3,1fr)}.card-grid--5{grid-template-columns:repeat(5,1fr);margin-top:0}.card-grid--5 article{padding:34px 28px}.card-grid h3{font-size:clamp(1.65rem,2.4vw,2rem);margin:25px 0 18px}.card-grid p,.number-card p{color:var(--muted);font-size:.95rem;line-height:1.8;margin:0}.number-card>span{font-family:var(--serif);font-size:3.4rem;color:var(--muted)}.number-card h3{margin-top:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);margin-top:36px;padding-top:36px}.stats div{display:flex;flex-direction:column}.stats strong{font-family:var(--serif);font-size:clamp(3rem,4.5vw,4rem);font-weight:500;line-height:1}.stats span{margin-top:15px;color:var(--muted);font-size:.9rem}.outline-button{display:inline-block;margin-top:12px;border:1px solid var(--ink);background:transparent;padding:11px 24px;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.2s}.outline-button:hover{background:var(--ink);color:#fff}.lead{font-size:1.08rem;line-height:1.8}.feature-row{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}.feature-row--reverse>img{order:2}.feature-row img{width:100%;aspect-ratio:4/3;object-fit:cover}.feature-row h2{font-size:clamp(2.6rem,4vw,3.5rem);margin-bottom:25px}.timeline article{display:grid;grid-template-columns:2fr 10fr;gap:40px;border-top:1px solid var(--line);padding:52px 0}.timeline__num{font-family:var(--serif);font-size:3.5rem;color:var(--muted)}.timeline article>div{max-width:800px}.timeline h2{font-size:clamp(2.5rem,4vw,3.6rem);margin:10px 0 22px}.projects-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:72px}.projects-list{display:flex;flex-direction:column;gap:92px}.project-row{display:grid;grid-template-columns:7fr 5fr;align-items:center;gap:64px}.project-row--reverse>img{order:2}.project-row img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-row h3{font-size:clamp(2.7rem,4.8vw,4rem);margin:14px 0 26px}.project-location{border-top:1px solid var(--line);padding-top:22px}.project-location p{font-family:var(--serif);font-size:1.55rem;margin:4px 0 20px}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:90px}.contact-details{border-top:1px solid var(--line);padding-top:34px;margin-top:46px}.contact-details address{font-style:normal;margin:10px 0 28px}.contact-details p{margin:8px 0 28px}.clone-form{display:flex;flex-direction:column;gap:34px}.clone-form label{display:block}.clone-form input,.clone-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0;outline:0}.clone-form textarea{resize:vertical}.clone-form input:focus,.clone-form textarea:focus{border-color:var(--ink)}.clone-form .outline-button{align-self:flex-start}.form-success{border:1px solid var(--line);padding:25px;margin:0}
.site-footer{border-top:1px solid rgba(0,0,0,.18);background:#fff;color:#000}.site-footer a{color:#000}.site-footer .eyebrow,.site-footer .muted{color:rgba(0,0,0,.62)}.footer-grid{display:grid;grid-template-columns:5fr 3fr 4fr;gap:60px;padding-top:64px;padding-bottom:64px}.footer-brand .site-brand__logo img,.footer-brand .custom-logo{height:40px;filter:none}.footer-brand p{max-width:450px;margin-top:24px;color:#000;font-size:.86rem;line-height:1.8}.footer-links ul{list-style:none;margin:18px 0 0;padding:0}.footer-links .menu{display:block}.footer-links .sub-menu{display:none}.footer-links li{margin:6px 0}.footer-links a,.footer-contact{font-size:.84rem}.footer-links a:hover,.footer-contact a:hover{opacity:.6}.footer-contact address{font-style:normal;margin:18px 0;color:#000}.footer-contact p{margin:14px 0}.footer-bottom{border-top:1px solid rgba(0,0,0,.18);padding-top:21px;padding-bottom:21px;color:rgba(0,0,0,.62);font-size:.72rem}.wp-content{padding-top:90px;padding-bottom:90px}.wp-content h1{font-size:4rem;margin-bottom:30px}
@media(max-width:900px){.site-container{width:min(calc(100% - 32px),1400px)}.nav-toggle{display:flex;z-index:2}.main-navigation{display:none;position:absolute;top:81px;left:0;right:0;max-height:calc(100vh - 81px);overflow:auto;background:#fff;border-top:1px solid var(--line);padding:20px 24px 30px}.main-navigation.is-open{display:block}.main-navigation .menu{display:block}.main-navigation .menu>li>a{display:block;border-top:1px solid var(--line);padding:14px 0;font-family:var(--serif);font-size:1.55rem;letter-spacing:0;text-transform:none}.main-navigation .menu>li:last-child>a{border:0;border-top:1px solid var(--line);padding:14px 0}.sub-menu{display:block!important;visibility:visible;opacity:1;position:static;transform:none;box-shadow:none;border:0;padding:0 0 0 16px}.sub-menu a{font-family:var(--serif);font-size:1.2rem;padding:10px 0}.site-header.is-open .nav-toggle span:nth-child(1){transform:translateY(12px) rotate(45deg)}.site-header.is-open .nav-toggle span:nth-child(2){opacity:0}.site-header.is-open .nav-toggle span:nth-child(3){transform:translateY(-12px) rotate(-45deg)}.page-hero__copy{padding-top:60px}.page-hero__copy h1,.page-hero__copy p{grid-column:1/-1}.page-hero__media{padding-bottom:64px}.clone-section>.site-container{padding-top:72px;padding-bottom:72px}.two-col>div:first-child,.two-col__body{grid-column:1/-1}.card-grid--3,.card-grid--5{grid-template-columns:1fr}.feature-row,.project-row{grid-template-columns:1fr;gap:35px}.feature-row--reverse>img,.project-row--reverse>img{order:0}.projects-heading,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.page-hero__copy{padding-top:48px;padding-bottom:38px}.page-hero__media{padding-bottom:48px}.page-hero__media img{aspect-ratio:4/3}.clone-section>.site-container{padding-top:58px;padding-bottom:58px}.two-col{gap:26px}.card-grid--2,.stats{grid-template-columns:1fr}.card-grid article{padding:30px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.projects-list{gap:68px}.timeline article{grid-template-columns:1fr;gap:12px}.timeline__num{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.site-footer{background:#fff!important;color:#000!important}.site-footer p,.site-footer address,.site-footer span,.site-footer li,.site-footer a,.site-footer .eyebrow,.site-footer .muted,.site-footer .footer-contact,.site-footer .footer-bottom{color:#000!important}.site-footer .custom-logo,.site-footer .site-brand__logo img{filter:none!important;opacity:1!important}.site-footer .footer-bottom{text-align:center}
html{scroll-padding-top:105px}
.detail-grid div{background:#fff;padding:28px}.detail-grid dd{margin:9px 0 0;font-family:var(--serif);font-size:1.5rem;line-height:1.25}.amenities{grid-column:span 7;list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.amenities li{border-bottom:1px solid var(--line);padding:12px 0;font-family:var(--serif);font-size:1.45rem}.amenities li:last-child{border:0}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}@media(max-width:900px){.amenities{grid-column:1/-1}}@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}}

/* Mobile layout mirrors the React reference at its md (768px) breakpoint. */
@media (max-width:767px){
	.site-container{width:calc(100% - 48px)}
	.header-inner{height:73px}
	.site-brand__logo img,.custom-logo{height:32px;max-width:190px}
	.main-navigation{top:73px;max-height:calc(100vh - 73px);padding:22px 24px 28px}
	.main-navigation .menu>li>a{padding:14px 0;font-family:var(--serif);font-size:1.55rem;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:none}
	.main-navigation .menu>li.menu-item-has-children>a{border:0;padding:24px 0 9px;color:var(--muted);font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;pointer-events:none}
	.main-navigation .sub-menu{padding:0;background:#fff}
	.main-navigation .sub-menu li{margin:0}
	.main-navigation .sub-menu a{border-top:1px solid var(--line);padding:14px 0;font-family:var(--serif);font-size:1.55rem;line-height:1.2}
	.main-navigation .menu>li:last-child>a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;background:transparent;color:var(--ink)}
	.page-hero__copy{padding-top:48px;padding-bottom:38px}
	.page-hero h1{font-size:2.5rem;line-height:1.05}
	.page-hero__copy p{font-size:1.55rem;line-height:1.25}
	.page-hero__media{padding-bottom:48px}
	.page-hero__media img{aspect-ratio:16/10}
	.clone-section>.site-container{padding-top:64px;padding-bottom:64px}
	.two-col{gap:28px}
	.two-col h2,.section-title{font-size:2.5rem}
	.card-grid--2,.card-grid--3,.card-grid--5,.stats,.feature-row,.project-row,.projects-heading,.contact-grid{grid-template-columns:1fr}
	.feature-row--reverse>img,.project-row--reverse>img{order:0}
	.projects-list{gap:72px}
	.project-row{gap:30px}
	.footer-grid{grid-template-columns:1fr;gap:48px;padding-top:64px;padding-bottom:64px}
	.footer-brand{grid-column:auto}
	.footer-bottom{padding-top:24px;padding-bottom:24px}
}

/* Reference-site spacing and page-specific content. */
.story-highlight{font-family:var(--serif);font-size:1.25rem;font-style:italic}
.story-businesses{list-style:none;margin:1.5rem 0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-businesses li{padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.5rem}
.story-businesses li:last-child{border-bottom:0}
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 64px;margin-top:54px}
.location-grid article{border-top:1px solid var(--line);padding-top:24px}
.location-grid h3{margin:0}
.location-grid ul{list-style:none;margin:16px 0 0;padding:0}
.location-grid li{font-size:1.06rem;line-height:1.75}
.card-grid--5{margin-top:0}
@media(min-width:1024px){.site-container{width:min(calc(100% - 96px),1400px)}}
@media(max-width:900px){.site-container{width:min(calc(100% - 48px),1400px)}}
@media(max-width:600px){.location-grid{grid-template-columns:1fr;gap:32px}}
