@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Nunito+Sans:wght@300;400;600;700&display=swap');
:root{--t-ink:#2e5252;--t-deep:#23423f;--t-green:#3f7652;--t-cream:#fef6ed;--t-tan:#ba9268;--t-grey:#6b6b66;--t-orange:#a8662a;--t-sage:#6f7660;}
.soph{font-family:'Nunito Sans',system-ui,sans-serif;color:#3a3f3d;line-height:1.75;}
.soph h1,.soph h2,.soph h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;color:var(--t-ink);}
.soph a{color:var(--t-green);}
.soph p{margin:.85rem 0;}
body{background:var(--t-cream);}
.sf-hdr{position:sticky;top:0;z-index:50;background:var(--t-ink);box-shadow:0 1px 0 rgba(255,255,255,.06);}
.sf-hdr-in{max-width:1180px;margin:0 auto;padding:.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.sf-logo{display:flex;flex-direction:column;line-height:1.18;text-decoration:none;}
.sf-logo-n{font-family:'Playfair Display',serif;font-size:1.15rem;color:#fff;font-weight:600;}
.sf-logo-s{font-family:'Nunito Sans',sans-serif;font-size:.7rem;color:#dfe9e2;letter-spacing:.03em;}
.sf-nav{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;}
.sf-nav a{font-family:'Nunito Sans',sans-serif;font-size:.95rem;color:#eef4f0;text-decoration:none;transition:color .15s;}
.sf-nav a:hover{color:#fff;}
.sf-cta{background:var(--t-orange);color:#fff !important;padding:.5rem 1.35rem;border-radius:4px;font-weight:600;}
.sf-cta:hover{background:#8a5220;}
@media(max-width:880px){.sf-hdr-in{flex-direction:column;gap:.55rem;}.sf-nav{gap:.8rem;justify-content:center;}}
.sf-ftr{background:var(--t-ink);color:#f3e9da;margin-top:0;}
.sf-ftr-in{max-width:1180px;margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:2.4rem;}
.sf-ftr h3{font-family:'Playfair Display',serif;color:#fff;font-size:1.2rem;margin:0 0 .9rem;font-weight:600;}
.sf-ftr p{margin:.5rem 0;line-height:1.65;color:#f3e9da;}
.sf-ftr a{color:#f3e9da;text-decoration:none;border-bottom:1px solid rgba(243,233,218,.35);}
.sf-ftr a:hover{color:#fff;border-bottom-color:#fff;}
.sf-ftr ul{list-style:none;padding:0;margin:0;}.sf-ftr li{margin:.5rem 0;}.sf-ftr li a{border:0;}
.sf-ftr-btn{display:inline-block;margin-top:.6rem;background:var(--t-orange);color:#fff !important;padding:.6rem 1.4rem;border-radius:4px;font-weight:600;border:0 !important;}
.sf-ftr-btn:hover{background:#8a5220;border:0 !important;}
.sf-ftr-bottom{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:1.1rem;font-size:.85rem;color:rgba(243,233,218,.75);}
@media(max-width:880px){.sf-ftr-in{grid-template-columns:1fr;gap:1.6rem;}}
.soph-hero{background-size:cover;background-position:center;min-height:74vh;display:flex;align-items:center;justify-content:flex-start;text-align:left;color:#fff;padding:4rem 0;}
.soph-hero-in{max-width:1180px;width:100%;margin:0 auto;padding:0 1.5rem;}
.soph-hero h1{color:#fff;font-size:3.1rem;margin:.2rem 0;text-shadow:0 2px 18px rgba(0,0,0,.3);}
.soph-role{font-size:1.2rem;color:#f3ece2;margin:.4rem 0 0;font-style:italic;}
.soph-hero-cta{display:flex;gap:1rem;margin-top:1.7rem;flex-wrap:wrap;}
.soph-hbtn{display:inline-block;background:var(--t-green);color:#fff !important;padding:.85rem 1.7rem;border-radius:4px;font-weight:600;text-decoration:none;}
.soph-hbtn:hover{background:#2f5a3e;}
.soph-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.6rem;align-items:center;max-width:72rem;margin:4rem auto;padding:0 1.5rem;}
.soph-intro-img{text-align:center;}.soph-intro-img img{max-width:100%;width:340px;height:auto;}
.soph-needs2{list-style:none;padding:0;margin:0;text-align:center;}
.soph-needs2 li{font-size:1.06rem;color:#3a3f3d;margin:1rem 0;line-height:1.5;}
.soph-divider{text-align:center;color:var(--t-tan);font-size:1.7rem;margin:1.2rem 0;}
.soph-intro-lead{text-align:center;font-size:1.02rem;color:#4a504c;max-width:38rem;margin:0 auto;}
.soph-band{background-size:cover;background-position:center;text-align:center;padding:4.5rem 1.5rem;}
.soph-band p{font-family:'Playfair Display',serif;font-style:italic;font-size:1.7rem;color:#fff;max-width:46rem;margin:0 auto;text-shadow:0 2px 14px rgba(0,0,0,.3);}
.soph-contact2{background:var(--t-sage);padding:3.8rem 1.5rem;}
.soph-contact2 h2{text-align:center;color:#fff;font-size:1.95rem;margin:0 0 2.3rem;}
.soph-contact-grid{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:1.8rem;max-width:74rem;margin:0 auto;align-items:start;}
.soph-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 12px 32px rgba(0,0,0,.18);}
.soph-resalib{text-align:center;}.soph-resalib h3{margin:.1rem 0 .4rem;font-size:1.15rem;}.soph-resalib p{margin:.2rem 0 .6rem;font-size:.92rem;color:var(--t-grey);}
.soph-cabimg{margin-top:1.2rem;width:100%;border-radius:10px;display:block;}
.soph-form{display:flex;flex-direction:column;gap:.8rem;}
.soph-form input,.soph-form textarea{font-family:inherit;padding:.7rem .9rem;border:1px solid #cfd3c8;border-radius:6px;font-size:.95rem;background:#fff;color:#3a3f3d;}
.soph-form textarea{min-height:130px;resize:vertical;}
.soph-form button{background:var(--t-orange);color:#fff;border:0;padding:.85rem;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;}
.soph-form button:hover{background:#8a5220;}
.soph-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;}
.soph-map img{width:100%;border-radius:12px;display:block;box-shadow:0 12px 32px rgba(0,0,0,.18);}
.soph-map-cap{text-align:center;color:#fff;margin-top:.8rem;font-size:.9rem;}
.soph-formsent{background:#e6f3e0;color:#2e5252;padding:.9rem;border-radius:8px;text-align:center;max-width:40rem;margin:0 auto 1.6rem;}
@media(max-width:900px){.soph-contact-grid{grid-template-columns:1fr;}.soph-intro{grid-template-columns:1fr;}.soph-hero h1{font-size:2.3rem;}}
.soph-narrow{max-width:44rem;margin:3rem auto;padding:0 1.25rem;}.soph-center{text-align:center;}
.soph-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.4rem;color:var(--t-green);margin:2rem auto;text-align:center;}
.soph-doc{max-width:46rem;margin:3rem auto;padding:0 1.25rem;}.soph-doc h2{font-size:1.7rem;margin:2.2rem 0 .7rem;}.soph-doc ul,.soph-doc ol{padding-left:1.3rem;}.soph-doc li{margin:.4rem 0;}
.soph-figure{margin:2rem 0;}.soph-figure img{width:100%;border-radius:16px;display:block;box-shadow:0 14px 40px rgba(46,82,82,.14);}
.soph-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;max-width:62rem;margin:1rem auto 3rem;padding:0 1.25rem;}
.soph-tile{text-decoration:none;color:var(--t-ink);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 26px rgba(46,82,82,.08);transition:transform .15s,box-shadow .15s;}
.soph-tile:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(46,82,82,.16);}
.soph-tile-img{display:block;height:180px;background-size:cover;background-position:center;background-color:#e7ece6;}
.soph-tile-cap{display:block;padding:1rem;text-align:center;font-family:'Playfair Display',serif;font-size:1.2rem;}
.soph-split{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:72rem;margin:0 auto;align-items:stretch;}
.soph-split-img{min-height:340px;background-size:cover;background-position:center;}
.soph-split-txt{background:#fff;padding:2.5rem 2.2rem;display:flex;flex-direction:column;justify-content:center;}
.soph-btn{display:inline-block;margin-top:.6rem;padding:.7rem 1.5rem;border-radius:999px;background:var(--t-ink);color:#fff !important;text-decoration:none;font-weight:600;}
.soph-logos{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:center;margin:1.5rem 0;}.soph-logos img{height:64px;width:auto;object-fit:contain;opacity:.9;}
.soph-page-head{text-align:center;padding:3.2rem 1.25rem 1.5rem;background:linear-gradient(180deg,#fff,var(--t-cream));}.soph-page-head h1{font-size:2.3rem;}.soph-page-sub{color:var(--t-grey);}
.soph-bloglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;max-width:66rem;margin:2.4rem auto;padding:0 1.25rem;}
.soph-blogcard{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:#3a3f3d;box-shadow:0 8px 26px rgba(46,82,82,.08);transition:transform .15s,box-shadow .15s;}
.soph-blogcard:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(46,82,82,.16);}
.soph-blogthumb{height:160px;background-size:cover;background-position:center;background-color:#e7ece6;}
.soph-blogmeta{padding:1.05rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;}
.soph-blogdate{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--t-tan);font-weight:700;}
.soph-blogtitle{font-family:'Playfair Display',serif;font-size:1.12rem;line-height:1.35;color:var(--t-ink);}
.soph-post .post-cover{width:100%;max-height:380px;object-fit:cover;border-radius:16px;margin:0 auto 1.5rem;display:block;box-shadow:0 14px 40px rgba(46,82,82,.14);}
.soph-post .soph-doc img{max-width:100%;height:auto;border-radius:12px;margin:1rem 0;}
.soph-back{margin-top:2rem;}

/* === pages: universal hero + split + sage === */
@media all{
.soph-pagehero{background-size:cover;background-position:center;min-height:360px;display:flex;align-items:center;padding:3rem 0;}
.soph-pagehero-in{max-width:1180px;width:100%;margin:0 auto;padding:0 1.5rem;}
.soph-ph-name{font-family:'Playfair Display',serif;font-size:2.5rem;color:#fff;margin:0;text-shadow:0 2px 16px rgba(0,0,0,.3);}
.soph-ph-role{font-size:1.1rem;color:#f0e9df;font-style:italic;margin:.4rem 0 0;}
.soph-pagehero .soph-hero-cta{margin-top:1.5rem;}
.soph-split2{display:grid;grid-template-columns:.92fr 1.18fr;gap:2.6rem;max-width:72rem;margin:3.5rem auto;padding:0 1.5rem;align-items:start;}
.soph-split2 .s2-l h1,.soph-split2 .s2-l h2{font-size:2.3rem;margin:0 0 1.1rem;}
.soph-split2 figure{margin:1rem 0 0;}.soph-split2 figure img{width:100%;border-radius:14px;display:block;box-shadow:0 14px 40px rgba(46,82,82,.14);}
.soph-split2 ul,.soph-split2 ol{padding-left:1.2rem;}.soph-split2 li{margin:.45rem 0;}
.soph-split2 h2{font-size:1.55rem;margin:1.8rem 0 .6rem;}
.soph-sage{background:var(--t-sage);padding:3.2rem 1.5rem;}
.soph-sage-in{max-width:60rem;margin:0 auto;text-align:center;color:#fff;}
.soph-sage-in h2{color:#fff;font-size:1.9rem;margin:0 0 1.1rem;}
.soph-sage-in p{color:#f1f3ee;}
.soph-sage-list{list-style:none;padding:0;max-width:44rem;margin:1.2rem auto 0;text-align:left;}
.soph-sage-list li{margin:.6rem 0;color:#f4f5f0;}
.soph-sage-in .soph-logos img{height:60px;background:#fff;padding:.5rem .7rem;border-radius:8px;opacity:1;}
.soph-hbtn-orange{background:var(--t-orange);}.soph-hbtn-orange:hover{background:#8a5220;}
@media(max-width:880px){.soph-pagehero{min-height:300px;}.soph-ph-name{font-size:1.8rem;}.soph-split2{grid-template-columns:1fr;gap:1.3rem;}}
}
.sf-nav .ws-menu{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;list-style:none;margin:0;padding:0;}.sf-nav .ws-menu li{margin:0;}
.soph-figure{max-width:46rem;margin:2rem auto;padding:0 1.25rem;}.soph-figure-wide{max-width:60rem;}.soph-figure img{max-height:520px;object-fit:cover;}