
.sa-page { background:#faf3e3; color:#18181b; }
.sa-sub-hero { background:#15241b; color:#faf3e3; padding:10rem 0 5rem; }
.sa-sub-hero .rt-container, .sa-section .rt-container { max-width:1180px; }
.sa-eyebrow { color:#c7b98a; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin-bottom:1rem; }
.sa-sub-hero h1 { max-width:860px; color:#faf3e3; font-family:Marcellus,serif; font-size:clamp(2.5rem,5vw,5rem); line-height:1.02; font-weight:400; margin:0 0 1.25rem; }
.sa-sub-hero p { max-width:720px; color:rgba(250,243,227,.78); font-size:1.1rem; line-height:1.75; }
.sa-section { padding:5rem 0; }
.sa-section h2 { font-family:Marcellus,serif; font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.1; font-weight:400; margin:0 0 1rem; }
.sa-section p { color:#484341; line-height:1.75; }
.sa-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.sa-grid.sa-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sa-card { border:1px solid rgba(21,36,27,.14); border-radius:6px; padding:1.5rem; background:#fffaf0; text-decoration:none; color:inherit; transition:transform .2s ease,border-color .2s ease; }
.sa-card:hover { transform:translateY(-3px); border-color:#15241b; }
.sa-card h3 { font-size:1.35rem; margin:0 0 .65rem; color:#18181b; }
.sa-card p { margin:0; }
.sa-section-intro { max-width:760px; }
.sa-rich-text { max-width:820px; }
.sa-rich-text p + p { margin-top:1rem; }
.sa-large-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.sa-service-panel { position:relative; min-height:360px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border:1px solid rgba(21,36,27,.16); border-radius:8px; padding:2rem; background:#fffaf0; text-decoration:none; color:#18181b; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.sa-service-panel::before { content:""; position:absolute; inset:auto -20% -35% auto; width:55%; aspect-ratio:1; border-radius:999px; background:rgba(21,36,27,.08); transition:transform .25s ease; }
.sa-service-panel:hover { transform:translateY(-5px); border-color:#15241b; box-shadow:0 22px 55px rgba(21,36,27,.12); }
.sa-service-panel:hover::before { transform:scale(1.18); }
.sa-service-index { position:relative; color:#8a7d5f; font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.sa-service-panel h3 { position:relative; max-width:520px; font-family:Marcellus,serif; font-size:clamp(2rem,3vw,3.25rem); line-height:1.05; font-weight:400; margin:2rem 0 1rem; color:#18181b; }
.sa-service-panel p { position:relative; max-width:560px; font-size:1rem; line-height:1.75; margin:0; }
.sa-card-cta { position:relative; display:inline-flex; align-items:center; gap:.45rem; margin-top:1.75rem; color:#15241b; font-weight:700; }
.sa-feature-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.sa-feature { border-top:1px solid rgba(21,36,27,.18); padding-top:1rem; }
.sa-feature strong { display:block; color:#18181b; margin-bottom:.45rem; }
.sa-founder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.sa-founder-card { min-height:500px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; border-radius:8px; padding:2rem; text-decoration:none; color:#faf3e3; background:#15241b; }
.sa-founder-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(21,36,27,.05),rgba(21,36,27,.92)); z-index:1; }
.sa-founder-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sa-founder-card > *:not(img) { position:relative; z-index:2; }
.sa-founder-card h3 { font-family:Marcellus,serif; font-size:clamp(2.1rem,3vw,3.6rem); line-height:1; font-weight:400; color:#faf3e3; margin:0 0 .75rem; }
.sa-founder-card p { max-width:520px; color:rgba(250,243,227,.82); margin:0; }
.sa-founder-meta { color:#c7b98a; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin-bottom:.85rem; }
.sa-founder-cta { display:inline-flex; margin-top:1.25rem; color:#faf3e3; font-weight:700; }
.sa-process-list { display:grid; gap:1rem; margin-top:2.5rem; }
.sa-process-step { display:grid; grid-template-columns:120px 1fr; gap:2rem; border:1px solid rgba(21,36,27,.14); border-radius:8px; background:#fffaf0; padding:2rem; }
.sa-process-number { font-family:Marcellus,serif; font-size:3.5rem; line-height:1; color:#15241b; }
.sa-process-step h3 { font-size:1.55rem; margin:0 0 .75rem; color:#18181b; }
.sa-process-step p { max-width:760px; margin:0; }
.sa-process-step ul { display:grid; gap:.5rem; margin:1.25rem 0 0; padding-left:1.1rem; color:#484341; line-height:1.65; }
.sa-list { display:grid; gap:.75rem; padding:0; margin:1.5rem 0 0; list-style:none; }
.sa-list li { border-top:1px solid rgba(21,36,27,.14); padding-top:.75rem; color:#484341; line-height:1.6; }
.sa-cta-band { background:#15241b; color:#faf3e3; padding:4rem 0; }
.sa-cta-band h2 { color:#faf3e3; }
.sa-cta-band p { color:rgba(250,243,227,.78); max-width:680px; }
.sa-text-link { color:#15241b; font-weight:600; text-decoration:none; }
.sa-cta-band .sa-text-link { color:#faf3e3; }
@media (max-width: 900px) { .sa-grid, .sa-grid.sa-two, .sa-large-service-grid, .sa-feature-strip, .sa-founder-grid { grid-template-columns:1fr; } .sa-sub-hero { padding-top:8rem; } .sa-process-step { grid-template-columns:1fr; gap:1rem; } .sa-service-panel, .sa-founder-card { min-height:380px; } }
