:root {
  --pv-case-green: #169CAC;
  --pv-case-black: #0c0f0f;
  --pv-case-text: #171b1b;
  --pv-case-grey: #66706f;
  --pv-case-line: #dce1df;
  --pv-case-white: #f3f3f3;
}

.pravus-projects-case-page { background: var(--pv-case-white); }
.pv-case { overflow: clip; color: var(--pv-case-text); background: var(--pv-case-white); }
.pv-case a { color: inherit; }
.pv-case__top { display:flex; justify-content:space-between; gap:20px; width:min(1440px,calc(100% - 72px)); margin:auto; padding:120px 0 22px; border-bottom:1px solid rgba(255,255,255,.2); background:var(--pv-case-black); color:#fff; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pv-case__top::before { content:""; position:absolute; inset:0 0 auto; height:190px; z-index:-1; background:var(--pv-case-black); }
.pv-case__top a { text-decoration:none; }
.pv-case__hero { position:relative; min-height:680px; padding:70px max(36px,calc((100vw - 1440px)/2)) 48px; color:#fff; background:var(--pv-case-black); }
.pv-case__hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.05; background:repeating-linear-gradient(135deg,transparent 0 86px,var(--pv-case-green) 87px 89px); }
.pv-case__kicker,.pv-case__eyebrow { margin:0 0 20px; color:var(--pv-case-green); font-size:12px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.pv-case__hero h1 { position:relative; z-index:1; max-width:1280px; margin:0; font-size:clamp(58px,9.6vw,148px); font-weight:850; letter-spacing:-.065em; line-height:.81; text-transform:uppercase; }
.pv-case__hero h1 span,.pv-case__hero h1 em { display:block; }
.pv-case__hero h1 em { color:var(--pv-case-green); font-style:normal; }
.pv-case__hero-meta { position:absolute; left:max(36px,calc((100vw - 1440px)/2)); right:max(36px,calc((100vw - 1440px)/2)); bottom:42px; z-index:1; display:flex; justify-content:space-between; gap:30px; align-items:end; font-size:13px; }
.pv-case__hero-meta p { margin:0; max-width:500px; }
.pv-case__hero-meta a { padding-bottom:5px; border-bottom:1px solid var(--pv-case-green); text-decoration:none; }
.pv-case__intro,.pv-case__scope { display:grid; grid-template-columns:120px 1.2fr .8fr; gap:40px; width:min(1440px,calc(100% - 72px)); margin:auto; padding:110px 0; }
.pv-case__index { color:var(--pv-case-green); font-size:13px; font-weight:850; }
.pv-case__index span { color:#9ba3a1; }
.pv-case__intro h2,.pv-case__scope h2,.pv-case__process h2,.pv-case__technical h2,.pv-case__result h2 { margin:0; font-size:clamp(40px,5vw,78px); font-weight:820; letter-spacing:-.05em; line-height:.95; text-wrap:balance; text-transform:uppercase; }
.pv-case__intro-copy { color:var(--pv-case-grey); font-size:17px; line-height:1.65; }
.pv-case__intro-copy p { margin:0 0 20px; }
.pv-case__facts { grid-column:2 / 4; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:45px 0 0; border-top:1px solid var(--pv-case-line); }
.pv-case__facts div { padding:20px 18px 25px 0; border-right:1px solid var(--pv-case-line); }
.pv-case__facts div+div { padding-left:18px; }
.pv-case__facts dt { color:#77807e; font-size:10px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.pv-case__facts dd { margin:9px 0 0; font-size:16px; font-weight:800; }
.pv-case__cover { position:relative; margin:0; padding:25px max(16px,calc((100vw - 1540px)/2)) 100px; background:#fff; }
.pv-case__cover img { display:block; width:100%; height:min(70vw,800px); object-fit:cover; }
.pv-case__cover figcaption { position:absolute; right:max(36px,calc((100vw - 1440px)/2)); bottom:76px; display:flex; min-width:270px; justify-content:space-between; gap:20px; padding:17px 20px; color:#fff; background:var(--pv-case-green); font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.pv-case__scope { grid-template-columns:120px 1fr 1.15fr; background:var(--pv-case-white); }
.pv-case__scope ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--pv-case-line); }
.pv-case__scope li { display:grid; grid-template-columns:48px 1fr; gap:12px; padding:17px 0; border-bottom:1px solid var(--pv-case-line); }
.pv-case__scope li span { color:var(--pv-case-green); font-size:12px; font-weight:850; }
.pv-case__scope li p { margin:0; font-size:16px; }
.pv-case__process { padding:100px max(36px,calc((100vw - 1440px)/2)); background:#fff; }
.pv-case__process-head { display:grid; grid-template-columns:120px 1fr; gap:40px; margin-bottom:42px; }
.pv-case__process-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pv-case__process-grid figure { margin:0; }
.pv-case__process-grid img { display:block; width:100%; height:clamp(330px,40vw,560px); object-fit:cover; }
.pv-case__process-grid figcaption { display:flex; gap:14px; padding-top:12px; font-size:13px; }
.pv-case__process-grid figcaption span { color:var(--pv-case-green); font-weight:850; }
.pv-case__technical { display:grid; grid-template-columns:1.1fr .9fr; background:var(--pv-case-white); }
.pv-case__technical-image { padding:60px max(30px,calc((100vw - 1440px)/2)) 60px max(30px,calc((100vw - 1440px)/2)); padding-right:30px; background:#fff; }
.pv-case__technical-image img { display:block; width:100%; height:560px; object-fit:contain; }
.pv-case__technical-copy { display:flex; min-height:680px; flex-direction:column; justify-content:center; padding:60px max(36px,calc((100vw - 1440px)/2)) 60px 60px; }
.pv-case__technical-copy .pv-case__index { margin-bottom:50px; }
.pv-case__technical-copy > p:not(.pv-case__eyebrow) { max-width:580px; margin:35px 0; color:var(--pv-case-grey); font-size:17px; line-height:1.65; }
.pv-case__technical-copy > a { align-self:flex-start; padding-bottom:5px; border-bottom:1px solid var(--pv-case-green); color:var(--pv-case-green); font-size:12px; font-weight:850; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.pv-case__result { padding:120px max(36px,calc((100vw - 1440px)/2)); color:#fff; background:var(--pv-case-black); }
.pv-case__result h2 { max-width:1200px; }
.pv-case__result > div { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; margin-top:55px; }
.pv-case__result > div p { max-width:720px; margin:0; color:#c1c8c6; font-size:17px; line-height:1.65; }
.pv-case__result > div a { padding:18px 22px; color:#fff; background:var(--pv-case-green); font-size:12px; font-weight:850; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.pv-case__nav { padding:28px max(36px,calc((100vw - 1440px)/2)); border-top:1px solid #202727; color:#fff; background:var(--pv-case-black); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.pv-case__nav a { text-decoration:none; }

@media (max-width: 900px) {
  .pv-case__intro,.pv-case__scope { grid-template-columns:80px 1fr; }
  .pv-case__intro-copy,.pv-case__scope ol { grid-column:2; }
  .pv-case__facts { grid-column:2; grid-template-columns:repeat(2,1fr); }
  .pv-case__technical { grid-template-columns:1fr; }
  .pv-case__technical-copy { min-height:auto; padding:70px 40px; }
  .pv-case__technical-image { padding:50px 40px 20px; }
}

@media (max-width: 620px) {
  .pv-case__top { width:calc(100% - 40px); padding-top:105px; }
  .pv-case__top span { display:none; }
  .pv-case__hero { min-height:600px; padding:60px 20px 38px; }
  .pv-case__hero h1 { font-size:18vw; line-height:.84; }
  .pv-case__hero-meta { left:20px; right:20px; bottom:32px; display:block; }
  .pv-case__hero-meta a { display:inline-block; margin-top:18px; }
  .pv-case__intro,.pv-case__scope { display:block; width:calc(100% - 40px); padding:75px 0; }
  .pv-case__intro-title,.pv-case__scope > div { margin:28px 0; }
  .pv-case__facts { grid-template-columns:1fr 1fr; }
  .pv-case__facts div { min-width:0; padding:15px 8px; }
  .pv-case__facts div+div { padding-left:10px; }
  .pv-case__facts dd { font-size:13px; }
  .pv-case__cover { padding:12px 0 78px; }
  .pv-case__cover img { height:68vh; }
  .pv-case__cover figcaption { right:18px; bottom:58px; min-width:0; max-width:calc(100% - 36px); }
  .pv-case__process { padding:75px 20px; }
  .pv-case__process-head { display:block; }
  .pv-case__process-head > div { margin-top:28px; }
  .pv-case__process-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:82vw; overflow-x:auto; }
  .pv-case__process-grid img { height:62vw; min-height:280px; }
  .pv-case__technical-image { padding:35px 14px 18px; }
  .pv-case__technical-image img { height:440px; }
  .pv-case__technical-copy { padding:60px 20px; }
  .pv-case__result { padding:85px 20px; }
  .pv-case__result > div { display:block; margin-top:38px; }
  .pv-case__result > div a { display:inline-block; margin-top:28px; }
  .pv-case__nav { padding:24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .pv-case * { scroll-behavior:auto !important; transition:none !important; }
}
