.sf-site { background:#fff; }
.sf-site .sf-gallery-uncropped { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
.sf-site .sf-gallery-uncropped a { display:block; min-width:0; }
.sf-site .sf-gallery-uncropped img { width:100%; height:360px; aspect-ratio:auto; object-fit:contain; background:#f7f8f5; }
.sf-site .sf-gallery-uncropped a:last-child:nth-child(odd) { grid-column:1/-1; max-width:850px; width:100%; justify-self:center; }
.sf-site .sf-header { min-height:120px; padding:12px 5%; gap:26px; border-bottom:1px solid #e2e7e1; }
.sf-site .sf-header .st-logo { width:126px; }
.sf-site .st-logo img { width:100%; height:94px; object-fit:contain; }
.sf-site .sf-header > nav { gap:22px; font-size:12px; }
.sf-site .sf-book { background:#153d2e; color:#fff; padding:13px 18px; border:0; font-size:12px; }
.sf-site .sf-book:hover { background:#315a46; }
.sf-site .st-hero { height:calc(100svh - 242px); min-height:560px; max-height:800px; }
.sf-site .st-hero h1 { font-size:86px; margin-bottom:25px; }
.sf-site .st-hero-copy { max-width:780px; padding:48px 6% 76px; }
.sf-site .st-hero-line { font-size:38px; }
.sf-site .st-hero:after { background:linear-gradient(90deg,rgba(9,30,22,.80),rgba(9,30,22,.37) 47%,rgba(9,30,22,.03) 77%); }
.sf-site .st-hero-image { object-position:center 39%; }
.sf-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.sf-hero-actions .st-text-link { color:#fff; }
.sf-site .st-button-light { background:#faf7f0; }
.sf-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 6%; background:#fff; border-bottom:1px solid #dbe3dd; }
.sf-journey a { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:25px 26px 25px 0; font-family:var(--font-serif),Georgia,serif; font-size:26px; line-height:1.2; }
.sf-journey span { grid-column:1/-1; font:10px var(--font-sans),Arial,sans-serif; text-transform:uppercase; color:#65756b; }
.sf-journey svg { align-self:center; color:#a17a2e; }
.sf-journey a:hover { color:#967023; }
.sf-site .sf-home-intro { padding-top:108px; padding-bottom:108px; }
.sf-site .sf-pathways { background:#f3f0f7; }
.sf-site .sf-three { gap:38px; }
.sf-site .sf-three img { aspect-ratio:4/5; margin-bottom:24px; transition:filter .25s ease; }
.sf-site .sf-three a:hover img { filter:brightness(1.05); }
.sf-site .sf-three article:nth-child(2) { padding-top:56px; }
.sf-site .sf-three article:nth-child(3) { padding-top:112px; }
.sf-site .st-founder { background:#f3f6f2; }
.sf-site .sf-heading { background:#f3f6f2; padding-top:70px; }
.sf-site .sf-chat { box-shadow:none; border-color:#78917e; }
.sf-site .st-eyebrow,.sf-site .st-housebar>span,.sf-site .st-hero-bottom { letter-spacing:0!important; }
@media(max-width:1150px) {
  .sf-site .sf-header { gap:18px; }
  .sf-site .sf-header>nav { gap:13px; font-size:11px; }
  .sf-site .sf-book { padding:12px; }
}
@media(max-width:900px) {
  .sf-site .sf-header { min-height:108px; }
  .sf-site .sf-header .st-logo { width:113px; }
  .sf-site .st-logo img { height:86px; }
  .sf-site .st-hero h1 { font-size:66px; }
  .sf-journey a { font-size:23px; }
}
@media(max-width:620px) {
  .sf-site .sf-gallery-uncropped { grid-template-columns:1fr; gap:24px; }
  .sf-site .sf-gallery-uncropped img { height:auto; max-height:none; aspect-ratio:auto; }
  .sf-site .sf-header { min-height:106px; padding:10px 7%; }
  .sf-site .sf-header .st-logo { width:113px; }
  .sf-site .st-hero { min-height:0; height:auto; max-height:none; }
  .sf-site .st-hero-copy { padding:62px 7% 76px; }
  .sf-site .st-hero h1 { font-size:48px; line-height:1.05; margin-bottom:22px; }
  .sf-site .st-hero-line { font-size:30px; }
  .sf-site .st-hero-description { font-size:13px; max-width:285px; }
  .sf-site .st-hero-image { object-position:61% center; }
  .sf-site .st-hero:after { background:linear-gradient(90deg,rgba(9,30,22,.80),rgba(9,30,22,.29)); }
  .sf-site .st-hero-bottom { display:none; }
  .sf-hero-actions { gap:19px; }
  .sf-journey { grid-template-columns:1fr; padding:0 7%; }
  .sf-journey a { grid-template-columns:100px 1fr auto; font-size:21px; padding:20px 0; border-bottom:1px solid #e2e7e1; align-items:center; }
  .sf-journey span { grid-column:auto; font-size:9px; }
  .sf-site .sf-home-intro { padding-top:65px; padding-bottom:65px; }
  .sf-site .sf-three article:nth-child(n) { padding-top:0; }
  .sf-site .sf-three img { aspect-ratio:5/4; }
}
@media(prefers-reduced-motion:reduce) { .sf-site * { transition:none!important; } }
