:root { --ink:#25302d; --deep:#263430; --paper:#f7f4ec; --clay:#ab7458; --rose:#d9b4a3; --sage:#aeb9a4; --line:rgba(37,48,45,.19); --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.skip-link { position:absolute; left:-999px; top:0; z-index:20; background:#fff; padding:.75rem 1rem; }.skip-link:focus { left:1rem; top:1rem; }
.wrap { width:min(1160px, calc(100% - 3rem)); margin:0 auto; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem 4vw; position:absolute; z-index:5; width:100%; color:#fff; border-bottom:1px solid rgba(255,255,255,.23); }
.brand { display:inline-flex; align-items:center; gap:.65rem; font-size:.76rem; font-weight:700; letter-spacing:.07em; line-height:1.05; text-transform:uppercase; }.brand em { font-family:var(--serif); font-size:1.1em; font-weight:500; letter-spacing:.02em; text-transform:none; }.brand-mark { display:grid; place-items:center; width:28px; height:38px; border:1px solid currentColor; border-radius:50% 50% 42% 42%; font-family:var(--serif); font-size:1.35rem; font-style:italic; }
nav { display:flex; gap:2rem; font-size:.74rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; } nav a, .header-cta { transition:opacity .18s ease; } nav a:hover, .header-cta:hover { opacity:.66; }.header-cta { border:1px solid rgba(255,255,255,.72); padding:.7rem .9rem; font-size:.69rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.hero { min-height:790px; height:min(100vh,920px); position:relative; overflow:hidden; color:#fff; display:grid; align-items:end; }.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,36,32,.89) 0%,rgba(25,36,32,.6) 42%,rgba(25,36,32,.16) 100%),linear-gradient(0deg,rgba(20,29,26,.5),transparent 50%); }.hero-content { position:relative; z-index:1; padding-bottom:10rem; }.eyebrow { color:var(--clay); font-size:.69rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin:0 0 1rem; }.eyebrow.light { color:#eee1d6; }.hero h1, h2 { font-family:var(--serif); font-weight:500; line-height:.98; letter-spacing:-.04em; margin:0; }.hero h1 { font-size:clamp(3.5rem,8vw,7.7rem); max-width:9ch; }.hero h1 em, h2 em { color:#e6cbb5; font-weight:500; }.hero-copy { width:min(500px,100%); font-size:1.1rem; margin:1.5rem 0 2rem; color:#f5eee9; }.button-row { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:1rem 1.25rem; text-transform:uppercase; font-size:.72rem; font-weight:700; letter-spacing:.11em; transition:transform .18s ease, background .18s ease; }.button:active { transform:scale(.97); }.button.primary { background:#e9d3c2; color:var(--deep); }.button.primary:hover { background:#fff; }.text-link { display:inline-flex; gap:.5rem; align-items:center; border-bottom:1px solid currentColor; padding-bottom:.22rem; font-size:.73rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.text-link.light { color:#fff; }.hero-verse { position:absolute; z-index:1; right:4vw; bottom:2.2rem; margin:0; font-size:.62rem; letter-spacing:.16em; }
.section-grid { display:grid; grid-template-columns:70px minmax(0,1.15fr) minmax(280px,.8fr); gap:5vw; padding:8rem 0; }.section-count { color:var(--clay); font-size:.8rem; font-weight:700; margin:0; }.section-copy h2, .invitation h2, .founder-copy h2, .connect-section h2 { font-size:clamp(2.7rem,4.4vw,5rem); }.section-copy p:not(.eyebrow), .founder-copy p:not(.eyebrow):not(.founder-name):not(.theme-line) { max-width:580px; font-size:1.03rem; }.section-copy .text-link { margin-top:1rem; }.rounded-image { margin:0; min-height:380px; overflow:hidden; border-radius:180px 180px 0 0; }.journal-still { width:100%; min-height:380px; height:100%; background:radial-gradient(circle at 70% 25%,rgba(255,252,235,.8) 0 5%,transparent 5.4%),linear-gradient(135deg,rgba(90,112,96,.24),rgba(237,219,198,.68)),url('assets/swss-hero-women-bible-prayer.jpg'); background-size:auto,auto,cover; background-position:center; filter:saturate(.65) sepia(.1); }
.invitation { background:#e8ddd2; padding:7.5rem 0; }.invitation-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; }.large-copy { margin:0 0 3rem; font-family:var(--serif); font-size:clamp(1.45rem,2vw,2rem); line-height:1.4; }.pillars { border-top:1px solid var(--line); margin-bottom:2rem; }.pillars article { position:relative; padding:1.3rem 0 1.3rem 3rem; border-bottom:1px solid var(--line); }.pillars span { position:absolute; top:1.45rem; left:0; color:var(--clay); font-size:.72rem; font-weight:700; }.pillars h3 { margin:0 0 .2rem; font-family:var(--serif); font-size:1.55rem; font-weight:500; }.pillars p { margin:0; font-size:.95rem; }
.scripture-section { position:relative; min-height:900px; color:#fff; display:flex; align-items:center; overflow:hidden; }.scripture-texture { position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,49,40,.82),rgba(31,49,40,.22)),url('assets/swss-hero-women-bible-prayer.jpg'); background-size:cover; background-position:center; filter:saturate(.54) brightness(.76); transform:scale(1.04); }.scripture-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,49,40,.69),rgba(31,49,40,.35) 55%,rgba(31,49,40,.1)); }.scripture-content { position:relative; z-index:1; padding:7rem 0; }.scripture-content h2 { font-size:clamp(2.8rem,5vw,5.5rem); }.scripture-intro { max-width:570px; color:#fbf7f2; font-size:1.05rem; margin:1.7rem 0 3.2rem; }.scriptures { max-width:720px; }.scriptures blockquote { margin:0; padding:1.3rem 0; border-top:1px solid rgba(255,255,255,.35); }.scriptures blockquote:last-child { border-bottom:1px solid rgba(255,255,255,.35); }.scriptures p { margin:.1rem 0 .45rem; font-family:var(--serif); font-size:clamp(1.12rem,1.8vw,1.55rem); line-height:1.35; }.scriptures cite { color:#e6cbb5; font-size:.68rem; font-style:normal; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.founder-section { display:grid; grid-template-columns:.55fr 1.45fr; gap:8vw; padding:8rem 0; }.founder-note { border-top:1px solid var(--line); padding-top:1.2rem; }.founder-monogram { display:grid; width:120px; height:155px; place-items:center; margin-top:2rem; border-radius:90px 90px 0 0; color:#f8efe7; background:linear-gradient(135deg,#af7860,#6a887c); font-family:var(--serif); font-size:4.6rem; font-style:italic; }.founder-name { margin:0; font-size:1rem; font-weight:700; }.founder-copy .eyebrow { margin-top:.2rem; }.founder-copy h2 { max-width:800px; margin:1.6rem 0; }.theme-line { color:var(--clay); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-top:2rem; }
.connect-section { background:var(--deep); color:#f9f5ee; text-align:center; padding:8rem 0; }.connect-inner { max-width:760px; }.connect-section .eyebrow { color:#e6cbb5; }.connect-section h2 { font-size:clamp(3rem,5vw,5.4rem); }.connect-section p:not(.eyebrow) { margin:1.6rem auto 2rem; max-width:600px; }.contact-lines { margin-top:2.8rem; display:flex; justify-content:center; gap:.55rem; flex-wrap:wrap; font-size:.88rem; }.contact-lines a { border-bottom:1px solid rgba(255,255,255,.55); }
footer { padding:3rem 0; background:#1c2724; color:#e8e4dc; }.footer-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }.footer-brand { color:#fff; }.footer-inner p { max-width:230px; margin:.85rem 0 0; font-size:.84rem; }.socials { display:flex; gap:1.4rem; flex-wrap:wrap; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.socials a:hover { color:#e6cbb5; }
@media (max-width:760px) { .site-header { padding:1rem 1.3rem; min-height:70px; }.site-header nav { display:none; }.header-cta { padding:.55rem .65rem; font-size:.58rem; }.hero { min-height:730px; }.hero-content { padding-bottom:6rem; }.hero-verse { right:1.5rem; bottom:1.5rem; }.wrap { width:min(100% - 2.5rem,1160px); }.section-grid, .invitation-grid, .founder-section { grid-template-columns:1fr; gap:2rem; }.section-count { order:0; }.section-copy { order:1; }.journal-image { order:2; min-height:310px; }.invitation { padding:5rem 0; }.scripture-section { min-height:970px; }.scripture-overlay { background:linear-gradient(90deg,rgba(31,49,40,.91),rgba(31,49,40,.65)); }.founder-section { padding:5rem 0; }.founder-monogram { width:90px; height:115px; font-size:3.5rem; margin-top:1rem; }.connect-section { padding:5rem 0; }.footer-inner { align-items:flex-start; flex-direction:column; }.hero h1 { font-size:clamp(3.35rem,16vw,5rem); } }

/* Authentic She Who Speaks Spirit reference correction: cream split hero, forest/sage/rose palette, botanical brand mark. */
:root { --ink:#2f493e; --deep:#304d41; --paper:#fbf3e9; --clay:#c48b79; --rose:#d8a7a1; --sage:#9ca78f; --line:rgba(47,73,62,.17); }
.site-header { position:relative; min-height:76px; background:#fbf6ee; color:#30483d; border-bottom:1px solid rgba(47,73,62,.13); padding: .75rem 4vw; }
.brand { gap:.45rem; color:#30483d; }.brand-logo { width:38px; height:38px; object-fit:cover; border-radius:3px; }.header-cta { background:#315145; color:#fff; border-color:#315145; padding:.72rem 1rem; }.header-cta:hover { background:#3e6354; opacity:1; }
.hero { display:block; min-height:640px; height:auto; background:#fbf3e9; color:#30483d; overflow:hidden; }.hero>img { left:55%; right:0; width:45%; height:100%; object-fit:cover; object-position:58% center; z-index:0; }.hero-shade { display:none; }.hero:after { content:""; position:absolute; z-index:1; left:47%; top:23%; width:72px; height:72px; background:url('assets/swss-brand-mark.png') center/cover no-repeat; transform:rotate(9deg); opacity:.9; box-shadow:0 8px 18px rgba(87,62,54,.12); }.hero-content { min-height:640px; width:min(1160px,calc(100% - 3rem)); padding:10.4rem 0 5.5rem; position:relative; z-index:2; margin:0 auto; }.hero-content > * { max-width:50%; }.hero .eyebrow { color:#566d60; }.hero h1 { color:#2f493e; font-size:clamp(3.5rem,6.2vw,6.2rem); max-width:7.2ch; }.hero h1 em { color:#2f493e; }.hero-copy { color:#506458; font-size:1rem; max-width:430px; }.hero-verse { color:#617165; right:2vw; bottom:1.4rem; z-index:2; }.text-link.light { color:#2f493e; }.button.primary { background:#c99b54; color:#fff; }.button.primary:hover { background:#b88640; color:#fff; }
.journal-still { background:radial-gradient(circle at 70% 25%,rgba(255,252,235,.75) 0 5%,transparent 5.4%),linear-gradient(135deg,rgba(216,167,161,.26),rgba(251,243,233,.56)),url('assets/swss-hero-women-bible-prayer.jpg'); }
.scripture-library { margin:0 0 1.4rem; }.scripture-library a, .passage-link { display:inline-flex; align-items:center; gap:.45rem; color:#f7ddc5; border-bottom:1px solid currentColor; padding-bottom:.22rem; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.passage-card { border-top:1px solid rgba(255,255,255,.35); padding:1.35rem 0 1.1rem; }.passage-card + .passage-card { border-top:0; }.passage-card:last-child { border-bottom:1px solid rgba(255,255,255,.35); }.passage-card blockquote { margin:0; padding:0; border:0; }.passage-link { margin-top:.65rem; color:#e9c9a9; }.founder-photo { display:block; width:250px; aspect-ratio:4/5; object-fit:cover; object-position:center; border-radius:155px 155px 10px 10px; border:8px solid #f8e9e1; box-shadow:0 16px 36px rgba(47,73,62,.16); margin-top:1.4rem; }.founder-portrait-caption { margin:1rem 0 0; color:#304d41; font-family:var(--serif); font-size:1.25rem; line-height:1.1; }.founder-portrait-caption span { display:block; margin-top:.35rem; font-family:var(--sans); color:#a56d60; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.founder-monogram { display:none; }
footer .brand { color:#fbf3e9; }.footer-brand .brand-logo { filter:brightness(1.1); }
@media (max-width:760px) { .site-header { position:relative; }.brand-logo { width:34px; height:34px; }.site-header nav { display:none; }.hero { min-height:720px; }.hero>img { left:0; top:0; width:100%; height:42%; opacity:.45; }.hero:after { left:auto; right:12%; top:28%; width:56px; height:56px; }.hero-content { min-height:720px; padding-top:23rem; padding-bottom:4rem; }.hero-content > * { max-width:100%; }.hero h1 { font-size:clamp(3.2rem,15vw,4.6rem); }.hero-verse { right:1.2rem; bottom:1rem; }.hero-copy { max-width:100%; }.founder-photo { width:205px; } }
