/* About page — editorial profile */
.fh-about-page{background:var(--fh-ivory);color:var(--fh-charcoal)}
.fh-about-hero{padding:58px 24px 72px;background:var(--fh-ivory)}
.fh-about-hero-inner{display:grid;grid-template-columns:minmax(330px,.83fr) minmax(0,1.17fr);align-items:stretch;gap:0;width:min(1280px,100%);margin:0 auto;border:1px solid rgba(47,47,44,.10);background:#fbf9f5}
.fh-about-hero-photo{position:relative;min-height:680px;background:var(--fh-warm-sand);overflow:hidden}
.fh-about-hero-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 35%}
.fh-about-photo-caption{position:absolute;left:28px;bottom:24px;padding:9px 14px;background:rgba(247,245,241,.92);color:var(--fh-charcoal);font-family:var(--fh-font-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.fh-about-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(38px,6vw,88px);min-width:0}
.fh-about-eyebrow{margin:0 0 20px!important;color:var(--fh-champagne)!important;font-family:var(--fh-font-ui)!important;font-size:.68rem!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase}
.fh-about-hero h1{margin:0 0 30px;color:var(--fh-charcoal);font-family:var(--fh-font-display);font-size:clamp(3rem,5vw,5.3rem);font-weight:400;letter-spacing:-.035em;line-height:.98}
.fh-about-name{margin:0 0 18px;font-size:1.05rem;line-height:1.6}
.fh-about-name strong{font-weight:600}
.fh-about-role{margin:0 0 17px;color:rgba(47,47,44,.86);font-size:.94rem;line-height:1.8}
.fh-about-opening-quote{margin:10px 0 0;padding:2px 0 2px 22px;border-left:1px solid var(--fh-champagne);color:var(--fh-charcoal);font-family:var(--fh-font-display);font-size:clamp(1.8rem,2.5vw,2.5rem);font-style:italic;line-height:1.15}
.fh-about-section{padding:86px 24px}
.fh-about-reading{width:min(780px,100%);margin:0 auto}
.fh-about-reading h2{margin:0 0 30px;color:var(--fh-charcoal);font-family:var(--fh-font-display);font-size:clamp(2.65rem,4.2vw,4rem);font-weight:400;letter-spacing:-.025em;line-height:1.02}
.fh-about-reading p:not(.fh-about-eyebrow):not(.fh-about-emphasis):not(.fh-about-list-intro):not(.fh-about-signature):not(.fh-about-cta){margin:0 0 19px;color:rgba(47,47,44,.88);font-size:.98rem;line-height:1.85}
.fh-about-story{background:var(--fh-warm-sand)}
.fh-about-story .fh-about-reading{width:min(850px,100%)}
.fh-about-emphasis{margin:28px 0!important;color:var(--fh-charcoal)!important;font-family:var(--fh-font-display)!important;font-size:clamp(1.75rem,2.9vw,2.5rem)!important;font-weight:400!important;line-height:1.2!important}
.fh-about-women{background:#fbf9f5}
.fh-about-list-intro{margin:28px 0 14px!important;font-weight:600}
.fh-about-voices,.fh-about-practice-list{list-style:none;margin:0 0 26px;padding:0}
.fh-about-voices li{padding:17px 0;border-bottom:1px solid rgba(191,174,155,.65);font-family:var(--fh-font-display);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.3}
.fh-about-voices li:first-child{border-top:1px solid rgba(191,174,155,.65)}
.fh-about-how{background:var(--fh-ivory)}
.fh-about-practice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
.fh-about-practice-list li{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid rgba(191,174,155,.58);font-size:.95rem;line-height:1.65}
.fh-about-practice-list li:before{content:"";position:absolute;left:0;top:24px;width:9px;height:1px;background:var(--fh-champagne)}
.fh-about-meaning{background:var(--fh-charcoal)}
.fh-about-meaning .fh-about-reading h2,.fh-about-meaning .fh-about-reading p{color:var(--fh-ivory)!important}
.fh-about-meaning .fh-about-eyebrow{color:#d1b58b!important}
.fh-about-meaning .fh-about-emphasis{color:#e4c89c!important}
.fh-about-invitation{background:var(--fh-warm-sand);padding-top:96px;padding-bottom:96px}
.fh-about-invitation .fh-about-reading{width:min(850px,100%)}
.fh-about-signature{margin:34px 0 24px!important;font-family:var(--fh-font-display);font-size:1.7rem;line-height:1.1}
.fh-about-signature span{color:#8f806e;font-family:var(--fh-font-ui);font-size:.75rem;letter-spacing:.08em}
.fh-about-cta{margin:32px 0 0!important}
.fh-about-cta a{display:inline-flex;align-items:center;gap:24px;padding:15px 26px;background:var(--fh-champagne);color:#fff!important;border:1px solid var(--fh-champagne);border-radius:999px;font-family:var(--fh-font-ui);font-size:.72rem;font-weight:600;letter-spacing:.10em;transition:transform .2s ease,box-shadow .2s ease}
.fh-about-cta a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(184,150,99,.22);color:#fff}
.fh-about-cta a span{font-size:1rem;transition:transform .2s ease}
.fh-about-cta a:hover span{transform:translateX(4px)}
@media(max-width:900px){
  .fh-about-hero{padding:36px 18px 48px}
  .fh-about-hero-inner{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}
  .fh-about-hero-photo{min-height:580px}
  .fh-about-hero-copy{padding:48px 34px}
  .fh-about-section{padding:70px 24px}
}
@media(max-width:680px){
  .fh-about-hero{padding:20px 12px 32px}
  .fh-about-hero-inner{grid-template-columns:1fr}
  .fh-about-hero-photo{min-height:0;height:auto;aspect-ratio:4/5}
  .fh-about-hero-photo img{object-position:center 32%}
  .fh-about-photo-caption{left:16px;bottom:16px}
  .fh-about-hero-copy{padding:38px 24px 42px}
  .fh-about-hero h1{font-size:clamp(2.7rem,12vw,4rem)}
  .fh-about-section{padding:58px 22px}
  .fh-about-reading h2{font-size:2.7rem}
  .fh-about-practice-list{grid-template-columns:1fr}
}


/*
 * The Site Editor's earlier photo blend rules make the columns 100% wide on
 * tablets, while leaving the image container overflow visible. Keep the whole
 * portrait inside its own row and let the copy follow underneath.
 */
@media (max-width:1050px){
  .fh-about-page .fh-about-hero-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:min(720px,100%);
  }
  .fh-about-page .fh-about-hero-photo{
    position:relative!important;
    flex:none!important;
    width:100%!important;
    box-sizing:border-box!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    aspect-ratio:4/5;
    overflow:hidden!important;
  }
  .fh-about-page .fh-about-hero-photo .fh-about-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%!important;
    margin:0;
  }
  .fh-about-page .fh-about-hero-photo .fh-about-hero-image img{
    position:absolute;
    inset:0;
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .fh-about-page .fh-about-hero-copy{
    margin-left:0!important;
    flex:none!important;
    width:100%!important;
    box-sizing:border-box!important;
    min-width:0;
    padding:clamp(32px,6vw,56px);
  }
}
@media (max-width:680px){
  .fh-about-page .fh-about-hero-copy{padding:38px 24px 42px}
}

/* Keep the editorial photo blend inside the same centered content width. */
@media (min-width:1051px){
  .fh-about-page .fh-about-hero-inner{
    position:relative;
    display:block!important;
    width:min(1280px,100%)!important;
    box-sizing:border-box;
    overflow:hidden;
  }
  .fh-about-page .fh-about-hero-photo{
    position:absolute!important;
    z-index:1;
    inset:0 auto 0 0;
    flex:none!important;
    width:58%!important;
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .fh-about-page .fh-about-hero-photo .fh-about-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%!important;
    margin:0;
  }
  .fh-about-page .fh-about-hero-photo .fh-about-hero-image img{
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 70%,transparent 100%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 70%,transparent 100%)!important;
  }
  .fh-about-page .fh-about-hero-copy{
    position:relative;
    z-index:2;
    flex:none!important;
    width:55%!important;
    min-height:680px;
    box-sizing:border-box;
    margin:0 0 0 45%!important;
    padding:70px clamp(48px,6vw,86px) 70px clamp(64px,7vw,100px);
  }
  .fh-about-page .fh-about-hero h1{font-size:clamp(3rem,4vw,4.1rem)}
}
