
:root{
  --ivory:#f5f1ed;
  --brass:#b59a5a;
  --charcoal:#44474a;
  --deep-green:#263c25;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
  --header:86px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:#17191a;font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}

.master-header{
  height:var(--header);background:var(--ivory);position:sticky;top:0;z-index:50;
  display:flex;align-items:center;padding:0 3.8vw;border-bottom:1px solid rgba(68,71,74,.1)
}
.brand-mark{width:220px;display:flex;align-items:center;flex:0 0 220px}
.brand-mark img{width:210px;max-height:44px;object-fit:contain;object-position:left center}
.master-header nav{
  margin-left:auto;display:flex;align-items:center;gap:clamp(28px,3.3vw,58px);
  font-size:11px;letter-spacing:.13em
}
.master-header nav .begin{border:1px solid rgba(68,71,74,.58);padding:14px 19px}
.master-header nav .active{
  transform:translateY(-3px);
  border-bottom:1px solid var(--brass);
  padding-bottom:8px;
}

.about-page{background:var(--ivory)}

/* PDF top composition */
.about-intro{
  display:grid;
  grid-template-columns:46.3% 53.7%;
  min-height:310px;
  border-bottom:1px solid rgba(68,71,74,.12);
}
.about-intro-copy{
  padding:64px 4.4vw 54px 5.2vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.eyebrow{
  font:400 12px/1.2 var(--sans);
  letter-spacing:.16em;
  color:#9c8246;
  margin:0 0 30px;
  display:inline-block;
  width:max-content;
  padding-bottom:10px;
  border-bottom:1px solid var(--brass);
}
.about-intro-copy h1{
  font:400 53px/1.05 var(--serif);
  letter-spacing:-.015em;
  margin:0;
}
.headline-mobile{display:none}
.about-family-wrap{
  overflow:hidden;
  height:310px;
}
.about-family-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
}

/* origin + three bios exactly aligned in one horizontal band */
.about-story-team{
  display:grid;
  grid-template-columns:38% 62%;
  min-height:365px;
  border-bottom:1px solid rgba(68,71,74,.12);
}
.about-origin{
  padding:28px 4.6vw 28px 5.2vw;
}
.about-origin p{
  font:300 13px/1.52 var(--sans);
  margin:0 0 15px;
}
.bio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:28px 4.2vw 28px 0;
}
.bio{
  padding:0 28px;
  border-left:1px solid rgba(68,71,74,.16);
}
.bio h2{
  font:400 19px/1.2 var(--serif);
  margin:0;
}
.bio-rule{
  width:38px;height:1px;background:var(--brass);margin:16px 0 18px;
}
.bio-tagline{
  font:400 italic 18px/1.3 var(--serif) !important;
  margin:0 0 20px !important;
}
.bio p{
  font:300 12px/1.55 var(--sans);
  margin:0;
}
.bio em{
  font-style:italic;
  font-weight:300; /* explicitly remove bold from Denise + Ryan endings */
}

/* bottom composition */
.about-close{
  min-height:265px;
  display:grid;
  grid-template-columns:30% 27% 43%;
  align-items:stretch;
}
.about-close-left{
  padding:38px 3vw 35px 5.2vw;
}
.about-close-left .eyebrow{margin-bottom:18px}
.about-close-left h2{
  font:400 47px/1.04 var(--serif);
  letter-spacing:-.015em;
  margin:0;
}
.about-close-middle{
  padding:36px 2.2vw 28px 0;
}
.about-close-middle p{
  font:300 12px/1.55 var(--sans);
  margin:0 0 10px;
}
.close-italic{
  font:400 italic 17px/1.3 var(--serif) !important;
  margin:10px 0 18px !important;
}
.green-button{
  display:inline-flex;align-items:center;gap:24px;
  background:var(--deep-green);color:white;
  padding:13px 22px;
  font-size:11px;letter-spacing:.15em;
}
.green-button span{font-size:20px}
.about-close-image{overflow:hidden}
.about-close-image img{width:100%;height:100%;object-fit:cover;object-position:center}

@media(max-width:1000px){
  .about-intro{grid-template-columns:1fr}
  .about-family-wrap{height:420px}
  .about-story-team{grid-template-columns:1fr}
  .bio-grid{padding:28px 5vw 40px}
  .about-close{grid-template-columns:1fr}
  .about-close-image{height:300px}
}
@media(max-width:700px){
  :root{--header:72px}
  .brand-mark{width:175px;flex-basis:175px}
  .brand-mark img{width:168px;max-height:36px}
  .master-header nav a:not(.begin){display:none}
  .master-header nav .begin{font-size:9px;padding:11px 12px}
  .about-intro-copy{padding:50px 26px}
  .headline-desktop{display:none}
  .headline-mobile{display:inline;white-space:nowrap}
  .about-intro-copy h1{font-size:clamp(28px,8.5vw,36px);line-height:1.01}
  .bio-grid{grid-template-columns:1fr}
  .bio{border-left:0;border-top:1px solid rgba(68,71,74,.16);padding:26px 0}
  .about-origin{padding:40px 26px}
  .about-origin br{display:none}
  .about-origin p{
    font-size:16px;
    line-height:1.58;
    margin:0 0 22px;
  }
  .about-origin p:last-child{margin-bottom:0}
  .about-close-left,.about-close-middle{padding:36px 26px}
}

/* 3C MOBILE NAVIGATION — mobile only; desktop header remains unchanged */
.mobile-menu-toggle,.mobile-menu{display:none}
@media(max-width:900px){
  .master-header{flex-wrap:nowrap!important;min-height:72px!important;height:72px!important;padding:0 16px!important}
  .master-header nav{margin-left:auto!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important}
  .master-header nav>a:not(.begin){display:none!important}
  .master-header nav .begin{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;font-size:9px!important;letter-spacing:.12em!important;padding:11px 12px!important}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:#17191a;cursor:pointer;flex:0 0 36px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{display:block;width:20px;height:1px;background:currentColor;position:relative;content:"";transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-toggle span:before{position:absolute;top:-6px;left:0}
  .mobile-menu-toggle span:after{position:absolute;top:6px;left:0}
  .mobile-menu-toggle[aria-expanded="true"] span{background:transparent}
  .mobile-menu-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
  .mobile-menu{display:block;position:fixed;left:0;right:0;top:72px;z-index:49;background:#f5f1ed;border-top:1px solid rgba(68,71,74,.08);border-bottom:1px solid rgba(68,71,74,.14);padding:24px 22px 28px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu a{display:block;padding:14px 4px;font-family:"DM Sans",Arial,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(68,71,74,.12)}
  .mobile-menu a:last-child{border-bottom:0}
  body.mobile-menu-open{overflow:hidden}
}
@media(max-width:430px){
  .master-header{padding:0 12px!important}
  .master-header nav{gap:5px!important}
  .master-header nav .begin{font-size:8.5px!important;padding:10px 9px!important}
  .mobile-menu-toggle{width:32px;height:34px;flex-basis:32px}
  .mobile-menu-toggle span,.mobile-menu-toggle span:before,.mobile-menu-toggle span:after{width:18px}
  .brand-mark{max-width:168px!important;flex-basis:168px!important}
}
@media(max-width:390px){
  .brand-mark{max-width:155px!important;flex-basis:155px!important}
  .brand-mark img{max-width:155px!important;width:155px!important}
  .master-header nav .begin{font-size:8px!important;padding:9px 7px!important}
}
