/* Case study pages (PFS brand) */
.cs-hero{background:var(--navy) url(../img/pat/p-pfs-dark-line.svg);background-size:200px;color:#fff;padding-top:clamp(40px,7vw,80px)}
.cs-hero > .wrap{padding-bottom:clamp(36px,6vw,64px)}
.cs-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);line-height:1.06;letter-spacing:-.02em;margin-top:.6rem}
.cs-hero h1 em{font-style:normal;color:var(--green)}
.cs-hero .rv{color:var(--muted-on-navy)}
.cs-crumb{font-family:var(--display);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-on-navy);margin-bottom:1.2rem}
.cs-crumb a{color:#fff;text-decoration:none;border-bottom:1px solid var(--green)}
.cs-hero-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:920px){.cs-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.cs-who{display:flex;align-items:center;gap:.8rem;font-family:var(--display);font-size:.82rem;color:var(--muted-on-navy)}
.cs-who img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--navy),0 0 0 4px var(--green)}
.cs-who b{display:block;color:#fff;font-size:.98rem}
.cs-sub{color:var(--muted-on-navy);font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:56ch;margin:1.1rem 0 1.6rem}
.cs-hero-img{margin:0}
.cs-hero-img img{display:block;width:100%;border-radius:18px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.cs-hero-img.face img{aspect-ratio:1;max-width:360px;margin-inline:auto}
.cs-hero-img figcaption{font-size:.84rem;color:var(--muted-on-navy);margin-top:.7rem;font-family:var(--display)}
.cs-stats{background:rgba(0,0,0,.18);border-top:1px solid var(--navy-line)}
.cs-stats ul{list-style:none;margin:0 auto;padding-block:1.6rem;display:grid;gap:1.2rem 1.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:860px){.cs-stats ul{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}
.cs-stats b{display:block;font-family:var(--display);font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:700;color:var(--green);line-height:1}
.cs-stats span{display:block;font-size:.92rem;color:var(--muted-on-navy);margin-top:.45rem;max-width:26ch}
.cs-sec{padding-block:clamp(56px,8vw,96px)}
.cs-sec h2{font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--navy);margin-top:.4rem}
.cs-two{display:grid;gap:1.6rem}
@media (min-width:860px){.cs-two{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem}}
.cs-prose p{font-size:1.15rem;line-height:1.65}
.cs-prose p+p{margin-top:1rem}
.cs-built{background:var(--paper);border-block:1px solid var(--rule)}
.cs-steps{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem;counter-reset:st}
@media (min-width:860px){.cs-steps{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}
.cs-steps > li{counter-increment:st;background:var(--ivory);border:1px solid var(--rule);border-radius:16px;padding:1.5rem;box-shadow:inset 0 4px 0 var(--green)}
.cs-phase{font-family:var(--display);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.cs-steps h3{font-size:1.15rem;color:var(--navy);margin:.4rem 0 .8rem}
.cs-steps ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.cs-steps ul li{position:relative;padding-left:1.3rem;font-size:1.02rem}
.cs-steps ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--green)}
.cs-results{background:var(--navy) url(../img/pat/p-pfs-dark-bars.svg);background-size:200px;color:#fff}
.cs-results h2{color:#fff}
.cs-results .label{color:var(--muted-on-navy)}
.cs-res{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.cs-res li{font-family:var(--display);font-weight:600;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.35;color:#fff;padding-left:2rem;position:relative}
.cs-res li::before{content:"";position:absolute;left:0;top:.2em;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2300304a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.cs-res .rv{color:var(--muted-on-navy)}
.cs-quote{margin:2rem 0 0;background:var(--navy-2);border:1px solid var(--navy-line);border-radius:16px;padding:1.6rem}
.cs-qh{font-family:var(--display);font-weight:700;color:var(--green);font-size:1.1rem}
.cs-quote blockquote{margin:.6rem 0 1rem;font-style:italic;font-size:1.1rem;color:#dbe5eb}
.cs-quote figcaption{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:.8rem;color:var(--muted-on-navy)}
.cs-quote figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.cs-quote figcaption b{display:block;color:#fff;font-size:.9rem}
.cs-media{margin-top:1.8rem;display:grid;gap:1rem}
@media (min-width:860px){.cs-media.split{grid-template-columns:1.3fr 1fr 1fr;align-items:start}}
.cs-media > .yt{max-width:880px}
.cs-media.split > .yt{max-width:none}
.cs-ph{margin:0}
.cs-ph img{display:block;width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
.cs-ph figcaption{font-size:.84rem;color:var(--muted);margin-top:.5rem}
.cs-cta{display:grid;gap:1.4rem;align-items:center;background:var(--navy);border-radius:20px;padding:clamp(1.6rem,4vw,3rem);color:#fff}
@media (min-width:860px){.cs-cta{grid-template-columns:1fr auto}}
.cs-cta h2{color:#fff}
.cs-cta p{color:var(--muted-on-navy);margin-top:.6rem;max-width:56ch}
.cs-cta .label{color:var(--muted-on-navy)}
.cs-more{margin-top:2.4rem;display:grid;gap:.8rem}
@media (min-width:760px){.cs-more{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:stretch}}
.cs-more .label{align-self:center}
.cs-more a{display:grid;gap:.25rem;text-decoration:none;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:1rem 1.1rem}
.cs-more a:hover{border-color:var(--green)}
.cs-more b{font-family:var(--display);color:var(--navy);font-size:.95rem}
.cs-more span{font-size:.92rem;color:var(--muted)}
.cs-cards{display:grid;gap:1.2rem}
@media (min-width:760px){.cs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cs-card{display:grid;text-decoration:none;background:var(--paper);border:1px solid var(--rule);border-radius:18px;overflow:hidden;transition:border-color .15s,transform .15s}
.cs-card:hover{border-color:var(--green);transform:translateY(-2px)}
.cs-card > img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 30%}
.cs-card > img.face{object-position:50% 20%;background:var(--navy)}
.cs-card > div{padding:1.3rem 1.4rem 1.5rem;display:grid;gap:.4rem}
.cs-card h2{font-size:1.3rem;color:var(--navy)}
.cs-card p{color:var(--muted)}
.cs-card .go{font-family:var(--display);font-weight:600;font-size:.84rem;color:var(--navy);margin-top:.4rem}
@media (prefers-reduced-motion:reduce){.cs-card{transition:none}.cs-card:hover{transform:none}}

.cs-tile{display:grid;align-content:center;gap:.5rem;aspect-ratio:16/9;padding:1.4rem 1.6rem;background:linear-gradient(135deg,#00304a,#0b3d5b 60%,#0d4a2e);color:#fff}
.cs-tile b{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;color:var(--green)}
.cs-tile em{font-style:normal;font-family:var(--display);font-size:.95rem;color:var(--muted-on-navy);max-width:28ch}
@media (min-width:700px){.cs-media.photos-only{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cs-media.photos-only > :only-child{grid-column:1/-1}
.cs-ph.wide img{aspect-ratio:auto;object-fit:contain;max-width:1000px}
