:root{--ink:#171512;--paper:#efe7d7;--blue:#24488f;--ochre:#d9aa32;--brick:#c74835;--white:#fffaf0;--edge-left:clamp(24px,5vw,80px);--edge-right:clamp(24px,3vw,42px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:"Manrope",Arial,sans-serif}
a{color:inherit;text-underline-offset:5px}
img{display:block;max-width:100%}
::selection{background:var(--blue);color:var(--white)}
:focus-visible{outline:4px solid var(--ochre);outline-offset:3px}
.case-main{min-height:60vh}
.case-kicker{display:flex;justify-content:space-between;gap:20px;margin:0;padding:16px var(--edge-right) 16px var(--edge-left);border-bottom:2px solid var(--ink);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.case-kicker a{text-decoration:none}
.case-kicker a:hover{text-decoration:underline}
.cases-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);min-height:440px;border-bottom:2px solid var(--ink)}
.cases-hero__copy{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,5vw,80px) var(--edge-left)}
.cases-hero h1,.case-story h1{margin:0;font-family:"Geologica",Arial,sans-serif;font-size:clamp(52px,7vw,108px);font-weight:800;line-height:.94;letter-spacing:-.035em;text-wrap:balance}
.cases-hero__copy p{max-width:54ch;margin:44px 0 0;font-size:clamp(18px,1.6vw,23px);font-weight:600;line-height:1.45}
.cases-hero__aside{display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:clamp(36px,4vw,64px);border-left:2px solid var(--ink);background:var(--blue);color:var(--white)}
.cases-hero__aside strong{font-family:"Geologica",Arial,sans-serif;font-size:clamp(55px,7vw,100px);line-height:1}
.cases-hero__aside p{max-width:26ch;margin:0;font-size:18px;font-weight:700;line-height:1.4}
.cases-list{border-bottom:2px solid var(--ink)}
.cases-list__head{display:flex;justify-content:space-between;gap:20px;padding:28px var(--edge-right) 28px var(--edge-left);border-bottom:2px solid var(--ink);font-size:13px;font-weight:800;text-transform:uppercase}
.case-row{display:grid;grid-template-columns:36% minmax(0,1fr) 118px;min-height:360px;border-bottom:2px solid var(--ink);text-decoration:none;transition:background .18s ease,color .18s ease}
.case-row:last-child{border-bottom:0}
.case-row:hover{background:var(--white)}
.case-row__image{min-width:0;overflow:hidden;border-right:2px solid var(--ink);background:#c9c0b0}
.case-row__image img{width:100%;height:100%;min-height:360px;object-fit:cover;transition:transform .25s ease}
.case-row:hover .case-row__image img{transform:scale(1.035)}
.case-row__body{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(27px,3vw,52px)}
.case-row__meta{margin:0 0 28px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.case-row h2{max-width:23ch;margin:0 0 25px;font-family:"Geologica",Arial,sans-serif;font-size:clamp(28px,3vw,46px);line-height:1.07;letter-spacing:-.025em;text-wrap:balance}
.case-row__body>p:last-child{max-width:65ch;margin:auto 0 0;font-size:17px;line-height:1.5}
.case-row__action{display:flex;align-items:flex-end;justify-content:center;padding:30px;border-left:2px solid var(--ink);background:var(--ochre);font-family:"Geologica",Arial,sans-serif;font-size:48px}
.cases-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);border-bottom:2px solid var(--ink)}
.cases-note>*{margin:0;padding:clamp(30px,4vw,64px) var(--edge-left)}
.cases-note h2{font-family:"Geologica",Arial,sans-serif;font-size:clamp(30px,3vw,48px);line-height:1.1}
.cases-note p{border-left:2px solid var(--ink);font-size:18px;line-height:1.5}
.case-story__hero{display:grid;grid-template-columns:minmax(0,1fr) 38%;border-bottom:2px solid var(--ink)}
.case-story__intro{display:flex;min-height:510px;flex-direction:column;padding:clamp(35px,5vw,76px) var(--edge-left)}
.case-story h1{max-width:15ch;font-size:clamp(43px,5.3vw,82px)}
.case-story__dek{max-width:57ch;margin:auto 0 0;padding-top:42px;font-size:clamp(18px,1.55vw,23px);font-weight:600;line-height:1.45}
.case-story__hero figure{display:flex;min-height:510px;flex-direction:column;margin:0;border-left:2px solid var(--ink);background:var(--ink)}
.case-story__hero img{width:100%;height:100%;max-height:650px;flex:1;object-fit:cover}
.case-story__hero figcaption{padding:13px 20px;background:var(--ink);color:var(--white);font-size:12px;line-height:1.35}
.case-facts{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr);border-bottom:2px solid var(--ink)}
.case-facts>div{display:flex;min-width:0;min-height:170px;flex-direction:column;justify-content:space-between;gap:18px;padding:26px clamp(24px,2.5vw,42px);border-right:2px solid var(--ink)}
.case-facts>div:last-child{border-right:0}
.case-facts dt{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.case-facts dd{margin:0;font-size:clamp(17px,1.4vw,22px);font-weight:700;line-height:1.3}
.case-facts__person dd{display:flex;align-items:center;gap:20px}
.case-person{width:112px;height:112px;flex:none;object-fit:cover;object-position:center 22%}
.case-facts__person-copy{display:grid;gap:9px}
.case-facts__person-copy strong{font-family:"Geologica",Arial,sans-serif;font-size:clamp(23px,2vw,31px);line-height:1.08}
.case-facts__person-copy>span{font-size:15px;font-weight:600;line-height:1.4}
.case-facts__result{background:var(--blue);color:var(--white)}
.case-nav{position:sticky;z-index:40;top:80px;display:grid;grid-template-columns:minmax(170px,23%) repeat(4,minmax(0,1fr));min-height:72px;border-bottom:2px solid var(--ink);background:var(--paper)}
.case-nav__label{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px var(--edge-left);border-right:2px solid var(--ink);background:var(--blue);color:var(--white)}
.case-nav__label strong{font-family:"Geologica",Arial,sans-serif;font-size:15px;line-height:1.1}
.case-nav__label span{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.case-nav a{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:6px;padding:12px clamp(14px,2vw,32px);border-right:1px solid var(--ink);font-size:13px;font-weight:800;text-decoration:none;transition:background .15s ease}
.case-nav a:last-child{border-right:0}
.case-nav a span{font-size:10px;letter-spacing:.05em}
.case-nav a:hover,.case-nav a[aria-current="location"]{background:var(--ochre)}
.story-section{display:grid;grid-template-columns:minmax(170px,23%) minmax(0,1fr);border-bottom:2px solid var(--ink);scroll-margin-top:170px}
.story-section__rail{padding:clamp(28px,4vw,58px) var(--edge-left);border-right:2px solid var(--ink);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.story-section__body{padding:clamp(35px,5vw,76px) clamp(28px,7vw,115px)}
.story-section h2{max-width:22ch;margin:0 0 28px;font-family:"Geologica",Arial,sans-serif;font-size:clamp(34px,4.2vw,64px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.story-section h3{margin:38px 0 14px;font-family:"Geologica",Arial,sans-serif;font-size:clamp(22px,2.25vw,34px);line-height:1.16}
.story-section p,.story-section li{max-width:74ch;font-size:clamp(16px,1.27vw,19px);line-height:1.64}
.story-section p{margin:0 0 20px}
.story-section ul{margin:20px 0 30px;padding-left:22px}
.story-section li+li{margin-top:9px}
.story-section--blue{background:var(--blue);color:var(--white)}
.story-section--ochre{background:var(--ochre)}
.story-section--blue .story-section__rail{border-color:var(--white)}
.case-quote{max-width:830px;margin:36px 0 0;padding:28px 0 0;border-top:2px solid currentColor}
.case-quote p{font-family:"Geologica",Arial,sans-serif;font-size:clamp(23px,2.3vw,35px);font-weight:700;line-height:1.35}
.case-quote cite{display:block;margin-top:16px;font-size:13px;font-style:normal;font-weight:800}
.case-figure{margin:48px calc(-1 * clamp(28px,7vw,115px)) 64px;border:0;background:transparent}
.case-figure__viewport{overflow-x:auto;border-block:2px solid var(--ink);background:#fff}
.case-figure img{display:block;width:100%;height:auto}
.case-figure figcaption{padding:13px clamp(28px,7vw,115px) 0;border:0;font-size:13px;font-weight:600;line-height:1.5}
.case-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid currentColor}
.case-methods>div{padding:25px 28px 25px 0}
.case-methods>div:nth-child(even){padding-left:28px;border-left:1px solid currentColor}
.case-methods strong{display:block;margin-bottom:10px;font-family:"Geologica",Arial,sans-serif;font-size:21px}
.case-methods p{font-size:16px}
.story-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);border-bottom:2px solid var(--ink);scroll-margin-top:170px}
.story-result>div{padding:clamp(40px,5vw,76px) var(--edge-left)}
.story-result h2{max-width:16ch;margin:0 0 30px;font-family:"Geologica",Arial,sans-serif;font-size:clamp(36px,4vw,61px);line-height:1.06}
.story-result p,.story-result li{max-width:65ch;font-size:18px;line-height:1.6}
.story-result li+li{margin-top:10px}
.story-result aside{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(38px,4vw,64px);border-left:2px solid var(--ink);background:var(--brick);color:var(--white)}
.story-result aside span{font-size:13px;font-weight:800;text-transform:uppercase}
.story-result aside p{margin:0;font-family:"Geologica",Arial,sans-serif;font-size:clamp(24px,2.3vw,36px);font-weight:700;line-height:1.28}
.story-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px var(--edge-left);background:var(--ochre);font-family:"Geologica",Arial,sans-serif;font-size:clamp(24px,2.8vw,42px);font-weight:700;text-decoration:none}
.story-next:hover{background:var(--ink);color:var(--white)}
@media(max-width:1000px){.cases-hero,.case-story__hero{grid-template-columns:1fr 40%}.case-row{grid-template-columns:34% minmax(0,1fr) 70px}.case-row__action{padding:12px;font-size:36px}}
@media(max-width:760px){.cases-hero,.case-story__hero,.cases-note,.story-result{grid-template-columns:1fr}.cases-hero{min-height:0}.cases-hero__copy{min-height:360px}.cases-hero__aside{min-height:170px;border-left:0;border-top:2px solid var(--ink)}.cases-hero__aside strong{font-size:58px}.case-row{grid-template-columns:1fr 64px}.case-row__image{grid-column:1/-1;height:225px;border-right:0;border-bottom:2px solid var(--ink)}.case-row__image img{min-height:0;height:225px}.case-row__body{min-height:330px}.case-row__action{grid-column:2;grid-row:2}.cases-note p{border-left:0;border-top:2px solid var(--ink)}.case-story__intro,.case-story__hero figure{min-height:0}.case-story__intro{min-height:430px}.case-story__hero figure{border-left:0;border-top:2px solid var(--ink)}.case-story__hero img{max-height:350px}.case-facts{grid-template-columns:1fr}.case-facts>div{min-height:0;border-right:0;border-bottom:2px solid var(--ink)}.case-facts>div:last-child{border-bottom:0}.story-section{grid-template-columns:1fr}.story-section__rail{padding:18px var(--edge-left);border-right:0;border-bottom:2px solid var(--ink)}.story-section--blue .story-section__rail{border-color:var(--white)}.story-section__body{padding:38px var(--edge-left) 48px}.case-methods{grid-template-columns:1fr}.case-methods>div:nth-child(even){padding-left:0;border-left:0;border-top:1px solid currentColor}.story-result aside{border-left:0;border-top:2px solid var(--ink)}.case-kicker{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.case-row,.case-row__image img{transition:none}}

@media(max-width:760px){.cases-hero h1{font-size:clamp(38px,10vw,44px);letter-spacing:-.035em}.case-row__body{min-width:0}}

.case-figure__hint{display:none}
@media(max-width:760px){.story-section .case-figure__hint{display:block;margin:0;padding:12px var(--edge-left);font-size:12px;font-weight:800;line-height:1.4}}
.story-section__body,.case-figure{min-width:0}
.case-figure__viewport{width:100%;min-width:0}

@media(max-width:900px){.case-nav{top:64px}}
@media(max-width:760px){
  .case-facts__person dd{gap:18px}.case-person{width:88px;height:88px}.case-facts>div{padding:24px var(--edge-left)}
  .case-nav{grid-template-columns:repeat(4,minmax(0,1fr));min-height:52px}.case-nav__label{display:none}
  .case-nav a{align-items:center;justify-content:center;min-height:52px;padding:8px 4px;font-size:clamp(10px,2.8vw,12px);text-align:center}.case-nav a span{display:none}
  .story-section,.story-result{scroll-margin-top:130px}
  .case-figure{margin:38px calc(-1 * var(--edge-left)) 54px}.case-figure figcaption{padding:13px var(--edge-left) 0}
  .case-figure__viewport img{width:850px;max-width:none;height:auto}
}
@media(prefers-reduced-motion:reduce){.case-nav a{transition:none}}
