.case-study-root,
.case-page{
  width:100%;
  height:auto;
  min-height:100%;
  overflow:auto;
  scroll-behavior:smooth;
}
.case-page{
  background:
    radial-gradient(circle at 50% 0,rgba(244,241,234,.14),transparent 29rem),
    linear-gradient(90deg,rgba(22,20,18,.82),rgba(22,20,18,.35) 48%,rgba(22,20,18,.84)),
    url('assets/pantheon-hero.png') center top/cover fixed,
    var(--black);
  color:var(--marble);
}
.case-page:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(22,20,18,.55),rgba(22,20,18,.94) 58%,var(--black)),
    repeating-linear-gradient(90deg,transparent 0 11vw,rgba(244,241,234,.035) 11.08vw,transparent 11.2vw);
}
.case-page .cursor-light{opacity:.55}
.case-header{
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  right:0;
  height:82px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 42px;
  border-bottom:1px solid rgba(244,241,234,.12);
  background:linear-gradient(180deg,rgba(22,20,18,.76),rgba(22,20,18,.18));
  backdrop-filter:blur(16px);
}
.case-wordmark{
  justify-self:start;
  text-decoration:none;
  color:inherit;
  font:500 16px Cinzel,serif;
  letter-spacing:.23em;
}
.case-wordmark span{
  font:400 7px Inter,sans-serif;
  letter-spacing:.12em;
  vertical-align:top;
  margin-left:6px;
  color:var(--shadow);
}
.case-nav{
  display:flex;
  gap:30px;
}
.case-nav a,
.language-switcher button{
  color:inherit;
  border:0;
  background:none;
  text-transform:uppercase;
  text-decoration:none;
  font-size:9px;
  letter-spacing:.19em;
  cursor:pointer;
  opacity:.72;
  transition:.35s var(--ease);
}
.case-nav a:hover,
.case-nav a:focus-visible,
.language-switcher button:hover,
.language-switcher button:focus-visible,
.language-switcher button[aria-pressed=true]{
  opacity:1;
  color:var(--marble);
}
.language-switcher{
  justify-self:end;
  display:flex;
  gap:8px;
  align-items:center;
}
.language-switcher button{
  padding:8px 9px;
  border:1px solid transparent;
}
.language-switcher button[aria-pressed=true]{
  border-color:rgba(244,241,234,.34);
  background:rgba(244,241,234,.08);
}
.case-shell{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
  padding:148px 0 86px;
}
.case-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:70px;
  min-height:68vh;
  align-items:center;
  padding-bottom:70px;
}
.case-hero h1{
  margin:0;
  max-width:820px;
}
.case-hero h1 span{
  display:block;
  font:500 clamp(58px,8vw,124px)/.9 Cinzel,serif;
  letter-spacing:.14em;
  color:var(--marble);
  text-shadow:0 8px 40px rgba(0,0,0,.32);
}
.case-hero h1 em{
  display:block;
  margin-top:30px;
  max-width:680px;
  font:400 italic clamp(24px,3vw,42px)/1.28 Georgia,serif;
  letter-spacing:.01em;
  color:var(--stone);
}
.case-lede{
  grid-column:1;
  max-width:620px;
  margin:30px 0 0;
  font:300 18px/1.75 Inter,sans-serif;
  color:rgba(244,241,234,.78);
}
.case-meta{
  grid-column:2;
  grid-row:1 / span 3;
  align-self:center;
  display:grid;
  gap:14px;
  padding:28px;
  border:1px solid rgba(244,241,234,.16);
  background:linear-gradient(135deg,rgba(244,241,234,.11),rgba(22,20,18,.38));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 22px 70px rgba(0,0,0,.32);
  backdrop-filter:blur(18px);
}
.case-meta article{
  padding:18px 0;
  border-bottom:1px solid rgba(244,241,234,.13);
}
.case-meta article:last-child{border-bottom:0}
.case-meta span{
  display:block;
  margin-bottom:9px;
  text-transform:uppercase;
  font:500 8px Inter,sans-serif;
  letter-spacing:.24em;
  color:var(--shadow);
}
.case-meta strong{
  display:block;
  font:500 18px/1.55 Cinzel,serif;
  letter-spacing:.08em;
  color:var(--marble);
}
.case-actions{
  display:flex;
  gap:12px;
  margin-top:36px;
}
.case-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.case-content{
  border-top:1px solid rgba(244,241,234,.18);
}
.case-section{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:44px;
  padding:72px 0;
  border-bottom:1px solid rgba(244,241,234,.13);
}
.case-section-number{
  margin:4px 0 0;
  font:500 13px Cinzel,serif;
  letter-spacing:.22em;
  color:var(--shadow);
}
.case-section h2{
  margin:0 0 28px;
  font:500 clamp(30px,4vw,54px)/1.08 Cinzel,serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--marble);
}
.case-section p{
  max-width:820px;
  margin:0 0 18px;
  font:300 17px/1.78 Inter,sans-serif;
  color:rgba(244,241,234,.78);
}
.case-section p:last-child{margin-bottom:0}
.case-list{
  display:grid;
  gap:13px;
  max-width:840px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}
.case-list li{
  position:relative;
  padding-left:24px;
  font:300 16px/1.7 Inter,sans-serif;
  color:rgba(244,241,234,.79);
}
.case-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:7px;
  height:7px;
  border:1px solid var(--stone);
  transform:rotate(45deg);
  background:rgba(244,241,234,.08);
}
.journey-flow{
  display:grid;
  grid-template-columns:repeat(7,minmax(95px,1fr));
  gap:12px;
  margin:0 0 28px;
  padding:0;
  list-style:none;
}
.journey-flow li{
  position:relative;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 12px;
  border:1px solid rgba(244,241,234,.18);
  background:rgba(244,241,234,.06);
  font:500 10px/1.55 Cinzel,serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.journey-flow li:not(:last-child):after{
  content:"";
  position:absolute;
  right:-11px;
  top:50%;
  width:9px;
  height:1px;
  background:rgba(244,241,234,.36);
}
.journey-flow.compact{grid-template-columns:repeat(6,minmax(100px,1fr))}
.identity-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
  margin:30px 0 28px;
}
.identity-grid article{
  min-height:180px;
  padding:20px 16px;
  border:1px solid rgba(244,241,234,.15);
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--identity-accent) 16%,transparent),rgba(244,241,234,.045)),
    rgba(22,20,18,.36);
}
.identity-grid h3{
  margin:0 0 18px;
  font:500 18px Cinzel,serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--identity-accent);
}
.identity-grid p{
  margin:0;
  font:300 13px/1.68 Inter,sans-serif;
  color:rgba(244,241,234,.76);
}
.case-footer{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
  padding:0 0 42px;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.22em;
  color:rgba(244,241,234,.52);
}
.case-footer a{
  color:inherit;
  text-decoration:none;
  font-family:Cinzel,serif;
}
body.case-page nav a:focus-visible,
.language-switcher button:focus-visible,
.case-actions a:focus-visible{
  outline:1px solid var(--marble);
  outline-offset:4px;
}
@media(max-width:1100px){
  .case-hero{grid-template-columns:1fr;gap:36px;min-height:auto}
  .case-meta{grid-column:1;grid-row:auto}
  .identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-flow,.journey-flow.compact{grid-template-columns:1fr}
  .journey-flow li:not(:last-child):after{right:auto;left:50%;top:auto;bottom:-10px;width:1px;height:9px}
}
@media(max-width:760px){
  .case-header{
    position:sticky;
    height:auto;
    grid-template-columns:1fr;
    gap:18px;
    padding:18px;
  }
  .case-nav{gap:18px;flex-wrap:wrap}
  .language-switcher{justify-self:start;flex-wrap:wrap}
  .case-shell{width:min(100% - 36px,680px);padding:72px 0 56px}
  .case-hero{padding-bottom:48px}
  .case-hero h1 span{font-size:clamp(42px,14vw,68px);letter-spacing:.1em}
  .case-hero h1 em{font-size:24px}
  .case-section{grid-template-columns:1fr;gap:18px;padding:50px 0}
  .identity-grid{grid-template-columns:1fr}
  .case-actions{flex-direction:column;align-items:stretch}
  .case-footer{width:min(100% - 36px,680px);flex-direction:column;gap:12px}
}
