/* A single case-study model. Scoped so other project pages remain untouched. */
.case-model{max-width:1600px;padding:28px var(--gutter) 0;margin:auto}
.model-back{display:inline-block;margin-bottom:30px;padding-bottom:5px;border-bottom:1px solid #17382a66;font-size:12px;line-height:1.5}
.model-back:hover{color:var(--leaf);border-color:currentColor}
.model-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center;margin-bottom:42px}
.model-cover{margin:0;overflow:hidden;border-radius:8px;background:#e8ece4}
.model-cover img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.model-intro{min-width:0;padding:5px 0}
.model-intro h1{font-size:clamp(42px,5vw,76px);font-weight:400;letter-spacing:-.065em;line-height:1.02;margin:0 0 24px}
.model-intro h1 span{display:block}
.model-intro h1 span+span{color:#7b8975}
.model-summary{max-width:37ch;font-size:clamp(18px,1.7vw,23px);line-height:1.5;letter-spacing:-.025em}
.model-contribution{font-size:13px;line-height:1.7;color:#64735f;max-width:43ch;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.model-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;padding:23px 0 0;border-top:1px solid var(--line);margin:26px 0 0}
.model-facts>div{min-width:0}
.model-facts>div:first-child{grid-column:1/-1}
.model-facts dt{font-size:11px;line-height:1.4;color:#69736a;margin-bottom:8px}
.model-facts dd{font-size:13px;line-height:1.5;margin:0;max-width:28ch}
.model-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:7%;padding-top:46px}
.model-nav{position:sticky;top:26px;align-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0 0 30px}
.model-nav a{font-size:12px;line-height:1.4;color:#69736a;padding:7px 0}
.model-nav a:hover,.model-nav a[aria-current=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.model-story{min-width:0}
.model-section{display:grid;grid-template-columns:minmax(120px,.31fr) minmax(0,1fr);gap:34px;padding-bottom:37px;margin-bottom:37px;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.model-section>h2,.model-media-heading h2{font-size:18px;font-weight:400;line-height:1.3;letter-spacing:-.035em;margin:0}
.model-body{min-width:0;max-width:66ch;font-size:16px;line-height:1.7;letter-spacing:-.01em}
.model-body p{margin:0;line-height:1.7}
.model-body h3{font-size:clamp(25px,2.6vw,37px);font-weight:400;letter-spacing:-.05em;line-height:1.15;margin:0 0 20px;max-width:22ch}
.model-deliverables{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.model-deliverables h3{font-size:18px;line-height:1.3;letter-spacing:-.03em;margin:0 0 8px}
.model-deliverables p{font-size:15px;line-height:1.65;color:#5c6e5c}
.model-film-section,.model-coverage{margin:0 0 38px;padding-bottom:38px;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.model-media-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.model-media-heading p{font-size:12px;line-height:1.5;color:#69736a}
.model-film{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#183928}
.model-film button{display:block;width:100%;height:100%;padding:0;border:0;position:relative;cursor:pointer;background:#183928;color:#fff9ed;text-align:left}
.model-film img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease;filter:brightness(.8)}
.model-film button:hover img{transform:scale(1.015);filter:brightness(.9)}
.model-play{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:22px;padding:14px 18px;border-radius:7px;background:#fff9ed;color:var(--ink);box-shadow:0 4px 20px #00000018;font-size:13px;line-height:1.3}
.model-play span:last-child{font:10px/1.3 ui-monospace,SFMono-Regular,monospace;color:#69736a}
.model-film iframe{display:block;width:100%;height:100%;border:0}
.model-film-link{display:inline-block;margin-top:14px;padding-bottom:3px;border-bottom:1px solid #17382a55;font-size:11px;line-height:1.5;color:#64735f}
.model-outcome{padding:28px;background:#e9eee2;border:0;border-radius:8px}
.model-outcome .model-body h3{font-size:clamp(27px,3vw,41px);max-width:20ch;margin-bottom:18px}
.model-outcome .model-body p{color:#5c6e5c;font-size:15px;line-height:1.7}
.model-press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.model-press{border:0;padding:0;margin:0;background:none;color:inherit;text-align:left;cursor:pointer;min-width:0}
.model-press-image{display:block;width:100%;height:225px;overflow:hidden;border-radius:7px;background:#edf0e8;padding:16px 25px 0}
.model-press img{width:100%;height:auto;object-fit:cover;object-position:top;transition:transform .35s ease}
.model-press:hover img{transform:translateY(-6px)}
.model-press-label{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:12px;font-size:14px;line-height:1.4;letter-spacing:-.02em}
.model-press-label span:last-child{font-size:10px;color:#69736a;letter-spacing:0}
.model-credits{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px 25px;margin:0;font-size:14px;line-height:1.6}
.model-credits dt{font-size:12px;color:#69736a;padding-top:1px}
.model-credits dd{margin:0}
.model-modal{padding:18px;background:#17382a;color:#fff9ed;border:1px solid #fff9ed33;border-radius:10px;width:min(1000px,calc(100vw - 36px));max-width:none;max-height:calc(100svh - 36px);overflow:auto}
.model-modal::backdrop{background:#081a12bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.model-modal-head,.model-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;line-height:1.4}
.model-modal-head{padding-bottom:16px}
.model-modal button{background:none;color:inherit;border:1px solid #fff9ed55;border-radius:5px;min-height:40px;padding:8px 13px;font-size:12px}
.model-modal button:disabled{opacity:.35;cursor:default}
.model-modal-image{display:block;width:100%;height:calc(100svh - 200px);object-fit:contain;background:#102a1d}
.model-modal-foot{padding-top:15px}
.model-modal-foot>div{display:flex;align-items:center;gap:12px}
.model-modal a{font-size:11px;text-decoration:underline;text-underline-offset:4px}
.case-model+.site-footer{margin-top:0}
@media(max-width:1100px){
  .model-layout{grid-template-columns:130px minmax(0,1fr);gap:36px}
  .model-section{grid-template-columns:minmax(0,1fr);gap:18px}
  .model-intro h1{font-size:clamp(40px,5.4vw,60px)}
  .model-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .model-press-image{height:190px;padding:12px 15px 0}
}
@media(max-width:760px){
  .case-model{padding-top:24px}
  .model-opening{grid-template-columns:minmax(0,1fr);gap:26px;margin-bottom:29px}
  .model-intro{padding:0}
  .model-intro h1{font-size:clamp(42px,7.5vw,60px);line-height:1.03;margin-bottom:20px}
  .model-summary{font-size:20px;line-height:1.55;max-width:43ch}
  .model-contribution{max-width:none;margin-top:21px;padding-top:17px}
  .model-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 25px;padding:23px 0 0}
  .model-layout{display:block;padding-top:0}
  .model-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:2px 18px;padding:19px 0;margin-bottom:28px;border-bottom:1px solid var(--line)}
  .model-nav a{font-size:11px;padding:5px 0}
  .model-section{gap:18px;margin-bottom:30px;padding-bottom:30px}
  .model-body{max-width:none;font-size:15px;line-height:1.7}
  .model-body h3{font-size:29px;margin-bottom:17px}
  .model-media-heading{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:18px}
  .model-film-section,.model-coverage{margin-bottom:30px;padding-bottom:30px}
  .model-outcome{padding:23px}
  .model-outcome .model-body h3{font-size:32px}
  .model-press-image{height:210px}
}
@media(max-width:543px){
  .model-back{font-size:11px;margin-bottom:24px}
  .model-intro h1{font-size:47px;letter-spacing:-.06em}
  .model-summary{font-size:18px;line-height:1.6}
  .model-contribution{font-size:12px;line-height:1.7}
  .model-facts dd{font-size:12px;line-height:1.6}
  .model-facts dt{font-size:10px}
  .model-facts{gap:21px 22px}
  .model-section>h2,.model-media-heading h2{font-size:18px}
  .model-deliverables{gap:22px}
  .model-deliverables p{font-size:14px;line-height:1.75}
  .model-deliverables h3{font-size:17px}
  .model-play{left:14px;bottom:14px;padding:12px 14px;gap:20px;font-size:12px}
  .model-press-grid{gap:22px 14px}
  .model-press-image{height:170px;padding:10px 12px 0}
  .model-press-label{display:block;font-size:13px;padding-top:10px}
  .model-press-label span{display:block}
  .model-press-label span:last-child{font-size:10px;margin-top:4px}
  .model-credits{grid-template-columns:100px minmax(0,1fr);gap:14px 18px;font-size:13px}
  .model-credits dt{font-size:11px}
  .model-modal{padding:14px;width:calc(100vw - 20px);max-height:calc(100svh - 20px)}
  .model-modal-foot>div{gap:7px}
  .model-modal-foot{gap:10px}
  .model-modal-foot a{max-width:95px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.model-film img,.model-press img{transition:none}}

.model-modal button:focus-visible,.model-modal a:focus-visible{outline-color:#fff9ed}

/* Shared optional modules use the approved model's spacing and type. */
.model-films{display:grid;gap:30px}
.model-film-title{font-size:15px;font-weight:400;line-height:1.4;letter-spacing:-.02em;margin:0 0 13px}
.model-film-external{display:block;width:100%;height:100%;position:relative;color:inherit}
.model-film-external:hover img{transform:scale(1.015);filter:brightness(.9)}
.model-press[hidden]{display:none}
.model-artwork .model-press-image{height:250px;padding:16px}
.model-artwork img{height:100%;width:100%;object-fit:contain}
.model-artwork:hover img{transform:scale(1.025)}
.model-gallery-all,.model-load-post{appearance:none;background:none;border:0;border-bottom:1px solid #17382a66;border-radius:0;color:inherit;padding:0 0 6px;font:inherit;font-size:12px;line-height:1.5;text-align:left;cursor:pointer}
.model-gallery-all{margin-top:25px}
.model-gallery-all:hover,.model-load-post:hover{border-color:currentColor}
.model-testimonial{margin:0;padding:0}
.model-testimonial blockquote{margin:0;font-size:clamp(21px,2vw,29px);line-height:1.45;letter-spacing:-.035em}
.model-testimonial figcaption{display:grid;gap:3px;font-size:12px;line-height:1.45;margin-top:22px}
.model-testimonial figcaption span:last-child{font-size:11px;color:#69736a}
.model-original-posts{padding-bottom:37px;margin-bottom:37px;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.model-post-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.model-social-post{min-width:0;padding:20px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.model-post-platform{font-size:10px;color:#69736a}
.model-social-post h3{margin:0;font-size:16px;font-weight:400;letter-spacing:-.025em;line-height:1.4}
.model-social-post>a{font-size:11px;border-bottom:1px solid #17382a55;padding-bottom:3px;margin-top:auto}
.model-post-frame{display:block;width:100%;height:500px;max-height:75svh;border:0;border-radius:6px;background:#edf0e8}
.model-project-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:23px}
.model-project-links a{font-size:11px;line-height:1.5;border-bottom:1px solid #17382a55;padding-bottom:3px}
@media(max-width:760px){.model-artwork .model-press-image{height:220px;padding:12px}.model-original-posts{margin-bottom:30px;padding-bottom:30px}}
@media(max-width:543px){.model-artwork .model-press-image{height:175px}.model-post-grid{grid-template-columns:minmax(0,1fr)}.model-social-post{padding:18px}.model-post-frame{height:520px}}
@media(max-width:543px){.case-model[data-project=builtbygirls] .model-intro h1 span:first-child{font-size:clamp(39px,12vw,47px)}}
@media(prefers-reduced-motion:reduce){.model-artwork:hover img{transform:none}}
