/* THE SHEPHERD FRIENDS / PHASE 1F — structural refinements.
   Page templates and photos remain ordinary replaceable PHP/asset files. */

/* Hero pagination belongs to the slide, not beneath overlapping CTA cards. */
.hero-carousel{isolation:isolate}
.hero-dots{bottom:30px;z-index:6}
.action-wrap{margin-top:0!important;position:relative;z-index:2}
.action-strip{box-shadow:0 13px 30px rgba(23,48,60,.14)}

/* Keep section intros together: description goes beneath the title, never in a narrow side column. */
.section-title-row{display:block;align-items:initial;gap:0}
.section-title-row>div{max-width:100%}
.section-title-row p{display:block;max-width:850px;margin:20px 0 0;font-size:clamp(14px,1.4vw,16px);line-height:1.75}
.news-section .section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.news-section .news-heading-actions{margin-bottom:8px}

/* Photos are ordinary files: CSS provides the sculpted opposing corner curves. */
.about-visual-1e{padding:0;min-height:520px}
.about-visual-1e .about-arch{width:100%;height:520px;border-radius:36% 4px 31% 4px / 24% 4px 22% 4px;overflow:hidden}
.about-visual-note,.story-editorial-note{display:none!important}
.story-images-1e{height:545px}
.story-editorial-photo{inset:0;border-radius:5px 36% 5px 30% / 5px 24% 5px 21%;overflow:hidden}
.story-editorial-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%}

/* NAKEF-inspired testimonial: no white border/padding around the picture. */
.tsf-story-card{
  display:grid;grid-template-columns:clamp(150px,15vw,215px) minmax(0,1fr);gap:0;
  min-height:292px;padding:0;overflow:hidden;align-items:stretch;background:#fff;
}
.tsf-story-person{display:block;width:100%;height:100%;min-height:292px;object-fit:cover;object-position:center 28%;border-radius:0;align-self:stretch}
.tsf-story-copy{padding:clamp(18px,2.1vw,30px);min-height:0}
.tsf-story-copy>p{font-size:clamp(12px,1.05vw,14px);line-height:1.62}
.success-stories-actions,.stories-bottom-action{text-align:center;display:flex;justify-content:center;margin-top:28px}

/* Full-width Our Approach: the photograph owns the entire left half. */
.process-section-1f{padding:clamp(60px,6vw,85px) 0 0;background:#e9efeb}
.process-heading-1f{padding-bottom:34px}
.process-heading-1f h2{font-size:clamp(38px,4.2vw,60px);letter-spacing:-.05em;line-height:1.12;margin:0}
.process-heading-1f>p{max-width:900px;margin:18px 0 0;color:#58717b;font-size:16px;line-height:1.75}
.process-feature-1f{width:100%;max-width:none;min-height:575px;grid-template-columns:50% 50%;gap:0;margin:0;box-shadow:none}
.process-feature-1f .process-feature-image{min-height:575px}
.process-feature-1f .process-feature-image::after{display:none}
.process-feature-1f .process-feature-image img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.process-feature-1f .process-principles{padding:clamp(30px,4.5vw,72px);display:flex;justify-content:center}
.process-feature-1f .process-principles>div{max-width:670px}

/* The success stories destination uses the same photo/quote visual language. */
.stories-page-head{max-width:880px;margin-bottom:36px}
.stories-page-head h2{margin-bottom:15px}
.stories-page-head p{max-width:850px;color:#536673}
.stories-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.stories-page-card{display:grid;grid-template-columns:39% minmax(0,1fr);overflow:hidden;min-height:275px;border:1px solid #e5e9e6;background:#fff;box-shadow:0 14px 30px #213e4910}
.stories-page-photo{min-height:275px}
.stories-page-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.stories-page-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,2vw,38px)}
.stories-page-copy blockquote{margin:0 0 17px;font-size:clamp(16px,1.5vw,21px);line-height:1.5;font-weight:600;color:#213e4d}
.stories-page-copy strong{font-size:14px;color:#213e4d}.stories-page-copy>span:last-child{color:#687c84;font-size:12px}

@media(max-width:1050px){
  .process-feature-1f .process-principles{padding:30px}
  .stories-page-grid{grid-template-columns:1fr}
  .section-title-row p{max-width:850px}
}
@media(max-width:800px){
  .process-feature-1f{grid-template-columns:1fr}
  .process-feature-1f .process-feature-image{min-height:410px}
  .process-feature-1f .process-principles{padding:32px max(20px,calc((100vw - 650px)/2))}
  .about-visual-1e{min-height:440px}
  .about-visual-1e .about-arch{height:430px}
  .story-images-1e{height:440px}
  .story-editorial-photo{inset:0}
}
@media(max-width:600px){
  .hero-dots{bottom:19px;z-index:6}
  .action-wrap{margin:0!important}
  .section-title-row p{margin-top:15px;font-size:14px;max-width:none}
  .news-section .section-title-row{display:block}
  .news-heading-actions{margin-top:16px}
  .about-visual-1e{min-height:345px;padding:0}
  .about-visual-1e .about-arch{height:335px;border-radius:32% 4px 28% 4px / 22% 4px 20% 4px}
  .story-images-1e{height:345px}
  .story-editorial-photo{inset:0;border-radius:4px 32% 4px 27% / 4px 22% 4px 18%}
  .tsf-story-card{grid-template-columns:36% 64%;min-height:250px;gap:0;padding:0}
  .tsf-story-person{height:100%;min-height:250px;object-position:center 28%}
  .tsf-story-copy{padding:15px 12px 15px 16px}
  .tsf-story-copy>p{font-size:clamp(11.6px,3.3vw,13px);line-height:1.54}
  .tsf-story-copy>footer strong{font-size:12px}
  .success-stories-actions .button{margin:0 auto!important}
  .process-heading-1f{padding-bottom:25px}
  .process-heading-1f h2{font-size:clamp(34px,9vw,43px)}
  .process-heading-1f>p{font-size:14px}
  .process-feature-1f .process-feature-image{min-height:325px}
  .stories-page-grid{gap:18px}
  .stories-page-card{min-height:235px;grid-template-columns:37% 63%}
  .stories-page-photo{min-height:235px}
  .stories-page-copy{padding:18px 12px}
  .stories-page-copy blockquote{font-size:14px}
}
@media(max-width:350px){
 .tsf-story-card{grid-template-columns:37% 63%}
 .tsf-story-copy{padding:13px 10px}
 .stories-page-copy blockquote{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .tsf-story-person,.story-editorial-photo img{transition:none!important}
}
