/* Poly-Vinyl Pests flagship case study */
.case-study-page main{overflow:clip}.case-study-page section[id]{scroll-margin-top:130px}.case-study-page figure{margin:0}.case-study-page figcaption{padding-top:10px;color:#71808d;font:600 10px/1.5 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.case-study-page h1,.case-study-page h2,.case-study-page h3,.case-study-page h4{margin-top:0}.case-study-page h1 em,.case-study-page .contact h2 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.case-study-page img{width:100%;height:auto;border:1px solid var(--line)}
.case-hero{min-height:calc(100vh - 72px);padding-block:clamp(55px,8vw,105px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);align-items:center;gap:clamp(45px,7vw,90px)}.back-link{display:inline-block;margin-bottom:36px;color:var(--muted);font:700 11px ui-monospace,monospace;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.back-link:hover{color:var(--accent)}.case-hero h1{margin:0 0 18px;font-size:clamp(4rem,8vw,7.6rem);line-height:.88;letter-spacing:-.065em}.case-subtitle{margin-bottom:24px;color:var(--accent)!important;font:700 11px/1.5 ui-monospace,Consolas,monospace!important;text-transform:uppercase;letter-spacing:.06em}.case-hero-copy>p:not(.eyebrow,.case-subtitle){max-width:660px;color:#aab6c0;font-size:15px}.case-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.case-actions.center{justify-content:center}.case-hero-media{position:relative}.case-hero-media:after{position:absolute;inset:18px -18px -18px 18px;z-index:-1;content:"";border:1px solid var(--accent)}.case-hero-media img{aspect-ratio:16/10;object-fit:cover}
.case-jump{position:sticky;top:72px;z-index:80;border-block:1px solid var(--line);background:#0b1016ed;backdrop-filter:blur(14px)}.case-jump>.shell{min-height:58px;display:flex;align-items:center;gap:28px}.case-jump>.shell>span{flex:none;color:var(--accent);font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.case-jump button{display:none}.case-jump #case-jump-links{width:100%;display:flex;justify-content:space-between;gap:18px}.case-jump a{color:#9ca9b4;font-size:11px;font-weight:650;text-decoration:none;white-space:nowrap}.case-jump a:hover,.case-jump a[aria-current=true]{color:var(--text)}
.case-section{padding-block:clamp(85px,11vw,145px)}.case-band{width:100%;border-block:1px solid var(--line);background:var(--surface)}.case-heading{max-width:850px;margin-bottom:clamp(45px,7vw,78px)}.case-heading h2{margin:0 0 22px;font-size:clamp(2.8rem,6.6vw,6rem);line-height:.98;letter-spacing:-.06em}.case-heading>p:last-child:not(.eyebrow){max-width:660px;color:var(--muted);font-size:17px}.measure{max-width:800px;margin-bottom:55px}.measure p{color:#aab6c0;font-size:17px;line-height:1.8}
.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.contribution-grid article,.principle-grid article,.leadership-grid article{position:relative;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d131a}.contribution-grid article>span,.leadership-grid article>span{display:block;margin-bottom:30px;color:var(--accent);font:700 10px ui-monospace,monospace}.contribution-grid h3,.principle-grid h3,.leadership-grid h3{margin-bottom:12px;font-size:18px}.contribution-grid p,.principle-grid p,.leadership-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.gameplay-feature{margin-top:90px;display:grid;grid-template-columns:.55fr 1.45fr;align-items:center;gap:50px}.gameplay-feature h3{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.1}.gameplay-feature p:not(.eyebrow){color:var(--muted)}.case-video{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);background:#030506}.case-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.split-feature{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(45px,7vw,90px);margin-block:clamp(80px,11vw,135px)}.split-feature.reverse .feature-copy{order:2}.feature-copy h3,.tool-feature h3,.bark-feature h3{margin-bottom:22px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.045em}.feature-copy>p:not(.eyebrow){color:#aab6c0}.mini-callouts{margin-top:30px;border-top:1px solid var(--line)}.mini-callouts div{padding:15px 0;display:grid;grid-template-columns:145px 1fr;gap:20px;border-bottom:1px solid var(--line)}.mini-callouts b{color:var(--text);font-size:12px}.mini-callouts span{color:var(--muted);font-size:12px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:25px 0;list-style:none}.tech-tags li{padding:5px 9px;border:1px solid var(--line);color:#bdc7d0;font:600 9px ui-monospace,monospace;text-transform:uppercase}.subsection-heading{max-width:700px;margin:clamp(80px,10vw,125px) 0 35px}.subsection-heading h3{margin-bottom:15px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05}.subsection-heading>p:last-child{color:var(--muted)}
.boss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.boss-grid article{border:1px solid var(--line);background:#0b1016}.boss-grid article>div:last-child{padding:24px}.boss-grid h4,.example-grid h4{margin-bottom:10px;font-size:19px}.boss-grid p,.example-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.production-callout{margin-top:28px;padding:30px;display:grid;grid-template-columns:170px 1fr;gap:35px;border:1px solid #c4b5fd55;background:#c4b5fd08}.production-callout>span{color:var(--accent);font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.production-callout h3{margin-bottom:10px;font-size:22px}.production-callout p{margin:0;color:#aab6c0}
.architecture{margin:55px 0 30px;padding:38px;display:grid;grid-template-columns:1fr auto .72fr auto 1fr;align-items:center;gap:20px;border:1px solid var(--line);background:var(--surface)}.architecture-source,.architecture-manager,.architecture-results{padding:22px;border:1px solid var(--line);background:var(--bg);text-align:center}.architecture span:not(.flow-arrow){display:block;margin-bottom:16px;font-size:13px;font-weight:750}.architecture code{display:block;margin:7px 0;padding:7px;background:#c4b5fd10;color:var(--accent);font-size:11px}.architecture-manager{border-color:var(--accent)}.architecture-manager small{color:var(--muted)}.flow-arrow{color:var(--accent);font-size:22px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.workflow{margin-top:110px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px}.workflow h3{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}.workflow ol{padding:0;margin:30px 0 0;list-style:none;border-top:1px solid var(--line)}.workflow li{padding:13px 0;display:flex;gap:18px;border-bottom:1px solid var(--line);color:#b6c0c9;font-size:13px}.workflow li span{color:var(--accent);font:700 10px ui-monospace,monospace}.example-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.example-grid article{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--line);background:var(--surface)}.example-grid img{height:100%;min-height:260px;object-fit:cover;border:0;border-right:1px solid var(--line)}.example-grid article>div{padding:25px}
.tool-feature{margin-block:80px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px}.tool-feature.reverse .feature-copy{order:2}.tool-feature>img{max-height:530px;object-fit:contain;background:var(--bg)}.text-link{display:inline-block;margin-top:16px;color:var(--accent);font-size:12px;font-weight:750;text-underline-offset:5px}.data-flow{padding:28px;display:grid;grid-template-columns:repeat(11,auto);align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--bg)}.data-flow span{color:#bec8d0;font:650 10px/1.5 ui-monospace,monospace;text-align:center;text-transform:uppercase}.data-flow b{color:var(--accent)}.bark-feature{margin-top:110px}.bark-feature>.feature-copy{max-width:740px;margin-bottom:38px}.bark-media{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px}.bark-media img{height:100%;max-height:520px;object-fit:contain;background:var(--bg)}
.ui-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ui-gallery figure{border:1px solid var(--line);background:var(--surface)}.ui-gallery figure img{height:250px;object-fit:cover;border:0}.ui-gallery .ui-feature{grid-column:span 2;grid-row:span 2}.ui-gallery .ui-feature img{height:100%;min-height:540px}.ui-gallery figcaption,.pvp-gallery figcaption,.leadership-media figcaption{padding:12px}.pvp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pvp-gallery figure{overflow:hidden;border:1px solid var(--line);background:var(--surface)}.pvp-gallery img{aspect-ratio:4/3;height:auto;object-fit:cover;border:0}
.optimization-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.optimization-grid article{border:1px solid var(--line);background:var(--bg)}.optimization-grid img{height:330px;object-fit:contain;border:0;border-bottom:1px solid var(--line)}.optimization-grid article>div{padding:30px}.optimization-grid h3{font-size:25px}.optimization-grid p:not(.eyebrow){color:var(--muted)}.leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.leadership-media{margin:55px auto;max-width:900px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.leadership-media figure{border:1px solid var(--line);background:var(--surface)}.leadership-media img{height:320px;object-fit:contain;border:0}.case-study-page .contact{border-top:1px solid var(--line)}
@media(max-width:1000px){.case-hero{grid-template-columns:1fr}.case-hero-copy{max-width:760px}.case-hero-media{max-width:850px}.contribution-grid{grid-template-columns:repeat(2,1fr)}.boss-grid{grid-template-columns:1fr 1fr}.architecture{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);justify-self:center}.leadership-grid{grid-template-columns:repeat(2,1fr)}.data-flow{grid-template-columns:1fr}.data-flow b{transform:rotate(90deg);justify-self:center}}
@media(max-width:820px){.case-study-page section[id]{scroll-margin-top:145px}.case-jump>.shell{padding-block:10px;display:block}.case-jump>.shell>span{display:none}.case-jump button{width:100%;padding:8px 0;display:flex;justify-content:space-between;border:0;background:none;color:var(--text);font:700 11px ui-monospace,monospace;text-transform:uppercase}.case-jump #case-jump-links{display:none;padding:8px 0 5px;flex-direction:column}.case-jump button[aria-expanded=true]+#case-jump-links{display:flex}.case-jump a{padding:6px 0}.split-feature,.workflow,.tool-feature,.gameplay-feature{grid-template-columns:1fr}.split-feature.reverse .feature-copy,.tool-feature.reverse .feature-copy{order:0}.boss-grid{grid-template-columns:1fr}.production-callout{grid-template-columns:1fr}.example-grid{grid-template-columns:1fr}.bark-media{grid-template-columns:1fr}.ui-gallery{grid-template-columns:1fr 1fr}.ui-gallery .ui-feature{grid-column:span 2}.pvp-gallery{grid-template-columns:1fr 1fr}.optimization-grid{grid-template-columns:1fr}}
@media(max-width:560px){.case-hero{padding-top:45px}.case-hero h1{font-size:clamp(3.8rem,19vw,5.4rem)}.contribution-grid,.principle-grid,.leadership-grid{grid-template-columns:1fr}.mini-callouts div{grid-template-columns:1fr;gap:4px}.example-grid article{grid-template-columns:1fr}.example-grid img{border-right:0;border-bottom:1px solid var(--line)}.ui-gallery,.pvp-gallery,.leadership-media{grid-template-columns:1fr}.ui-gallery .ui-feature{grid-column:auto;grid-row:auto}.ui-gallery .ui-feature img,.ui-gallery figure img{min-height:0;height:auto}.case-hero-media:after{inset:10px -10px -10px 10px}}
@media(prefers-reduced-motion:reduce){.case-study-page{scroll-behavior:auto}.case-study-page .reveal{opacity:1!important;transform:none!important}}

/* Refinement pass: legibility, uniform media, and lightweight image viewer. */
.case-hero .back-link{font-size:13px}.case-hero .eyebrow,.case-hero .case-subtitle{font-size:13px}.case-hero-media{padding-bottom:8px}.case-hero-media:after{inset:18px -18px 38px 18px}.case-hero-media figcaption{min-height:38px;padding:16px 14px 0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5}
.case-jump>.shell>span{font-size:12px}.case-jump a{padding-block:4px;font-size:13px}.tech-tags{gap:9px}.tech-tags li{padding:7px 11px;font-size:11px;line-height:1.3}
.example-grid article{display:block}.example-grid img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;border:0;border-bottom:1px solid var(--line);background:var(--bg)}.example-grid article>div{padding:28px}
.ui-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ui-gallery figure,.ui-gallery .ui-feature{grid-column:auto;grid-row:auto;overflow:hidden}.ui-gallery .lightbox-trigger{position:relative;width:100%;padding:0;display:block;overflow:hidden;aspect-ratio:16/9;border:0;border-bottom:1px solid var(--line);background:#080c11;cursor:zoom-in}.ui-gallery .lightbox-trigger:after{position:absolute;right:12px;bottom:12px;padding:6px 9px;content:"View ↗";border:1px solid #ffffff2b;background:#090d12dc;color:var(--text);font:700 10px ui-monospace,monospace;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.ui-gallery .lightbox-trigger:hover:after,.ui-gallery .lightbox-trigger:focus-visible:after{opacity:1;transform:none}.ui-gallery .lightbox-trigger img,.ui-gallery .ui-feature img{width:100%;height:100%;min-height:0;object-fit:contain;border:0;transition:transform .25s}.ui-gallery .lightbox-trigger:hover img{transform:scale(1.015)}
.image-lightbox{width:min(1200px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid var(--line);background:#090d12;color:var(--text);box-shadow:0 30px 100px #000c}.image-lightbox::backdrop{background:#030507df;backdrop-filter:blur(5px)}.lightbox-bar{min-height:54px;padding:10px 14px 10px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.lightbox-bar p{margin:0;color:#bdc7d0;font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.lightbox-close{padding:8px 11px;border:1px solid var(--line);background:transparent;color:var(--text);font:700 11px ui-monospace,monospace;text-transform:uppercase;cursor:pointer}.lightbox-close:hover{border-color:var(--accent);color:var(--accent)}.lightbox-stage{height:calc(100dvh - 88px);display:grid;place-items:center;padding:18px}.lightbox-stage img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;border:0}
@media(max-width:820px){.case-jump a{font-size:12px}.case-jump button{font-size:12px}.case-hero-media:after{inset:12px -12px 34px 12px}}
@media(max-width:560px){.ui-gallery{grid-template-columns:1fr}.lightbox-stage{padding:10px}.case-hero .back-link,.case-hero .eyebrow,.case-hero .case-subtitle{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ui-gallery .lightbox-trigger:after,.ui-gallery .lightbox-trigger img{transition:none}}

/* Secondary typography consistency */
.case-study-page figcaption{font-size:12px;line-height:1.6;letter-spacing:.045em}
.case-hero .back-link,.case-hero .eyebrow,.case-hero .case-subtitle,.case-hero-media figcaption{font-size:13px}
.case-heading>.eyebrow,.subsection-heading>.eyebrow{font-size:13px;line-height:1.45;letter-spacing:.14em}
.contribution-grid article>span,.leadership-grid article>span{font-size:13px;line-height:1.2}
.mini-callouts div{grid-template-columns:155px 1fr;padding-block:17px}
.mini-callouts b{font-size:14px;line-height:1.5}.mini-callouts span{font-size:13px;line-height:1.6}
.workflow li span{font-size:13px;line-height:1.5}.workflow li{align-items:baseline}
.architecture span:not(.flow-arrow){font-size:14px}.architecture code{font-size:12px}
.data-flow span{font-size:11px}.project-number{font-size:12px}
@media(max-width:560px){.case-heading>.eyebrow,.subsection-heading>.eyebrow{font-size:12px}.mini-callouts div{grid-template-columns:1fr}.case-hero-media figcaption{font-size:12px}}

/* Unified supporting-text tier */
.case-study-page .eyebrow,.case-study-page .back-link,.case-study-page .case-subtitle{font-size:13px;line-height:1.5;letter-spacing:.12em}
.case-study-page figcaption,.case-hero-media figcaption{font-size:13px;line-height:1.6;letter-spacing:.04em}
.case-study-page .tech-tags li{font-size:12px;line-height:1.4}
.case-study-page .data-flow span,.case-study-page .project-number{font-size:12px;line-height:1.5}
.case-study-page .architecture code{font-size:12px;line-height:1.45}
.case-study-page .lightbox-bar p,.case-study-page .lightbox-close,.case-study-page .ui-gallery .lightbox-trigger:after{font-size:12px}
@media(max-width:560px){.case-study-page .eyebrow,.case-study-page .back-link,.case-study-page .case-subtitle,.case-study-page figcaption,.case-hero-media figcaption{font-size:12px}}

/* Current section in the project jump navigation */
.case-study-page .case-jump a[aria-current="true"]{color:var(--text);text-shadow:0 0 10px rgba(238,244,248,.42)}

/* Balanced optimization media frames */
.case-study-page .optimization-grid img{width:100%;height:clamp(250px,28vw,330px);object-fit:contain;background:#303030}
