.ssf-inner-page h1 { font-family:var(--serif); font-weight:500; font-size:clamp(42px,4.5vw,66px); line-height:1.04; margin:0 0 25px; text-wrap:balance; }
.ssf-inner-page h2 { font-size:clamp(34px,3.4vw,49px); margin:0 0 25px; }
.ssf-inner-page h3 { font-size:34px; margin:0 0 18px; }
.ssf-breadcrumb { font-size:13px; padding-top:26px; color:var(--muted); }
.ssf-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.ssf-page-hero { padding-block:65px 80px; }
.ssf-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(35px,6vw,90px); }
.ssf-split > * { min-width:0; }
.ssf-lead { font-family:var(--serif); font-size:24px; line-height:1.45; color:var(--muted); }
.ssf-framed-photo { margin:0; padding:14px; border:1px solid #c8b99f; background:var(--paper); box-shadow:18px 18px 0 var(--paper-deep),var(--shadow); }
.ssf-framed-photo img { width:100%; aspect-ratio:4/4.5; object-fit:cover; object-position:center 32%; }
.ssf-contact-layout .ssf-framed-photo img { aspect-ratio:4/3; height:auto; object-position:center 35%; }
/* Contact heading belongs to the form/content below, not a separate tall hero. */
.page-id-65 .ssf-page-hero { padding-bottom:32px; }
.page-id-65 .ssf-page-hero h1 { margin-bottom:0; }
.ssf-contact-layout { align-items:start; }
.ssf-contact-layout .ssf-lead { margin-top:0; }
.ssf-landscape-photo { margin:0; }
.ssf-landscape-photo img { width:100%; aspect-ratio:5/6; object-fit:cover; }
.ssf-story { padding-block:75px; }
.ssf-story.ssf-split { align-items:start; }
.ssf-story-heading-photo { margin:28px 0 0; padding:10px; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); }
.ssf-story-heading-photo img { display:block; width:100%; height:auto; }
.ssf-band { background:var(--paper-deep); padding-block:75px; }
.ssf-reading { width:min(820px,calc(100% - 64px)); margin-inline:auto; }
.ssf-values { align-self:center; margin:0; padding:8px 28px 8px 48px; list-style-type:"—  "; background:var(--paper); border:1px solid var(--line); }
.ssf-values li { margin:0; padding:20px 0 20px 8px; font-family:var(--serif); font-size:clamp(23px,2vw,27px); font-weight:500; line-height:1.35; color:var(--ink); }
.ssf-values li + li { border-top:1px solid var(--line); }
.ssf-values li::marker { color:var(--red); font-family:var(--sans); font-size:16px; }
.ssf-signoff { font-family:var(--serif); font-size:42px; font-style:italic; color:var(--red); }
.ssf-build-note { border-left:3px solid var(--olive-dark); padding:15px 20px; font-size:15px; background:var(--paper-deep); }
.ssf-centered { text-align:center; }
.ssf-course-section { padding-bottom:80px; scroll-margin-top:35px; }
.ssf-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.ssf-course-card { display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); scroll-margin-top:30px; }
.ssf-course-image img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.ssf-card-body { padding:28px; display:flex; flex-direction:column; flex:1; }
.ssf-card-body > p:not(.eyebrow):not(.ssf-price):not(.ssf-platform-note) { font-size:16px; margin-top:0; }
.ssf-card-body .ssf-price { margin-top:auto; padding-top:20px; font-family:var(--serif); font-size:36px; margin-bottom:18px; }
.ssf-platform-note { font-size:12px; text-align:center; color:var(--muted); margin-bottom:0; }
.ssf-page-search { display:flex; gap:12px; margin-top:30px; }
.ssf-page-search input { min-width:0; flex:1; padding:16px; border:1px solid var(--line); border-radius:2px; background:var(--paper); color:var(--ink); }
.ssf-inner-page :focus-visible { outline:3px solid var(--olive-dark); outline-offset:4px; }
.ssf-results { padding-bottom:70px; }
.ssf-results-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin:30px 0; }
.ssf-result-card { padding:28px; border:1px solid var(--line); background:var(--paper); overflow-wrap:anywhere; }
.ssf-result-card img { aspect-ratio:4/3; object-fit:cover; width:100%; margin-bottom:25px; }
.ssf-result-card > p:not(.eyebrow) { font-size:16px; }
.ssf-empty { padding-block:35px; }
.ssf-search-suggestions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:25px 0 35px; }
.ssf-search-suggestions a,.ssf-results .page-numbers { padding:10px 18px; border:1px solid var(--line); background:var(--paper); display:inline-block; }
.ssf-results .page-numbers.current { color:white; background:var(--red); }
@media(max-width:1000px) { .ssf-course-grid,.ssf-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .ssf-split { grid-template-columns:1fr; } .ssf-framed-photo { max-width:580px; width:calc(100% - 18px); } .ssf-page-hero,.ssf-story,.ssf-band { padding-block:45px; } .ssf-landscape-photo img { aspect-ratio:4/3; } }
@media(max-width:600px) { .ssf-course-grid,.ssf-results-grid { grid-template-columns:1fr; } .ssf-reading { width:calc(100% - 40px); } .ssf-page-search { flex-direction:column; } .ssf-card-body { padding:24px; } }
/* Give the Recipes and Courses closing sections clear separation from the footer. */
.page-id-66 .ssf-inner-page > .ssf-band:last-child,
.page-id-62 .ssf-inner-page > .ssf-band:last-child{background:#fff}
