.case-v2{background:var(--paper);}
.case-v2{
  --case-icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
  --case-icon-zoom-in:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3Cpath d='M11 8v6'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E");
  --case-icon-zoom-out:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E");
}
.case-brand{display:inline-flex;align-items:center;}
.case-loading{min-height:70vh;display:grid;place-items:center;color:var(--soft);font-size:14px;}

.case-v2-hero{padding:clamp(42px,6vw,76px) 0 0;}
.case-v2-back{display:inline-flex;align-items:center;gap:8px;color:var(--soft);font-size:13px;font-weight:600;text-decoration:none;transition:color .18s;}
.case-v2-back::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--icon-arrow-right) center/contain no-repeat;mask:var(--icon-arrow-right) center/contain no-repeat;transform:rotate(180deg);}
.case-v2-back:hover{color:var(--ink);}
.case-v2-title{font-size:clamp(36px,5.2vw,64px);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin:clamp(38px,5vw,58px) 0 0;max-width:1000px;text-wrap:balance;overflow-wrap:break-word;}
.case-hero-summary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.72fr);gap:16px;align-items:stretch;margin-top:clamp(34px,5vw,60px);}
.case-v2-cover{margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-2);min-width:0;}
.case-v2-cover .case-media-button{height:100%;border-radius:0;}
.case-v2-cover img{width:100%;height:100%;min-height:100%;object-fit:cover;}

.case-tldr-inner{background:var(--green);color:#fff;border-radius:var(--radius-lg);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;}
.case-tldr-label{font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:#fff;margin:0 0 24px;}
.case-tldr-grid{display:grid;grid-template-columns:1fr;gap:0;}
.case-tldr-item{padding:0;margin-top:18px;}
.case-tldr-item:first-child{margin-top:0;}
.case-tldr-item h2{font-size:10px;line-height:1.25;letter-spacing:.1em;text-transform:uppercase;color:#b8d3bf;margin:0 0 7px;}
.case-tldr-item p{font-size:clamp(14px,1.2vw,16px);line-height:1.5;color:#fff;margin:0;}
.case-tldr-item p+p{margin-top:10px;}
.case-tldr-result{font-weight:400;}
.case-tldr-result strong{font-weight:700;}

.case-local-nav-shell{position:fixed;z-index:24;top:50%;right:max(24px,calc((100vw - var(--maxw))/2 - 176px));width:150px;transform:translateY(-50%);}
.case-local-nav{display:flex;flex-direction:column;align-items:stretch;}
.case-local-nav-label{font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;color:var(--soft);margin:0 0 14px 13px;}
.case-local-nav-links{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);}
.case-local-nav a{position:relative;padding:7px 0 7px 13px;color:var(--soft);font-size:12px;font-weight:600;line-height:1.3;text-decoration:none;transition:color .18s;}
.case-local-nav a::before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:2px;border-radius:2px;background:transparent;}
.case-local-nav a:hover{color:var(--ink);}
.case-local-nav a.is-active{color:var(--green);font-weight:700;}
.case-local-nav a.is-active::before{background:var(--green);}
.case-local-nav-toggle{display:none;}

.case-v2-content{padding:clamp(44px,7vw,82px) 0;}
.case-v2-section{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,740px);gap:clamp(28px,5vw,72px);padding:clamp(50px,7vw,82px) 0;border-bottom:1px solid var(--line);scroll-margin-top:142px;}
.case-v2-section:first-child{padding-top:0;}
.case-v2-section:last-child{border-bottom:0;}
.case-v2-section-index{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--green);position:sticky;top:100px;align-self:start;}
.case-v2-section-index span{display:block;color:var(--soft);font-weight:550;letter-spacing:.04em;text-transform:none;margin-top:6px;}
.case-v2-section-body{display:flex;flex-direction:column;gap:clamp(28px,4vw,40px);min-width:0;}
.case-v2-section-body>h2{font-size:clamp(24px,2.8vw,34px);line-height:1.16;letter-spacing:-.03em;margin:0;}
.case-v2-section-body>p,.case-richtext p{font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--ink-2);margin:0 0 16px;max-width:700px;}
.case-richtext p:last-child{margin-bottom:0;}
.case-richtext strong{color:var(--ink);font-weight:700;}
.case-component{margin:0;min-width:0;}
.case-component-title{font-size:18px;font-weight:700;letter-spacing:-.015em;margin:0 0 10px;}
.case-list{margin:0;padding:0 0 0 22px;color:var(--ink-2);}
.case-list li{font-size:clamp(16px,1.3vw,18px);line-height:1.55;padding:4px 0 4px 4px;}
.case-list li::marker{color:var(--green);}

.case-media{margin:0;}
.case-media--compact{width:min(78%,680px);}
.case-media-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius-md);overflow:hidden;}
.case-media img{width:100%;height:auto;background:var(--paper-2);}
.case-media figcaption,.case-gallery-caption{font-size:12px;line-height:1.5;color:var(--soft);margin-top:10px;}

.case-before-after{background:#fff;border-radius:var(--radius-lg);padding:12px;box-shadow:0 10px 30px rgba(24,24,26,.06);}
.case-before-after-tabs{display:inline-flex;gap:5px;background:var(--paper-2);border-radius:var(--radius-md);padding:5px;margin-bottom:12px;}
.case-before-after-tabs button{border:0;background:transparent;color:var(--soft);border-radius:var(--radius-sm);font:650 13px/1 var(--sans);padding:10px 16px;cursor:pointer;}
.case-before-after-tabs button.is-active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(24,24,26,.08);}
.case-before-after-view{margin:0;border-radius:var(--radius-md);overflow:hidden;}
.case-before-after-view .case-media-button{border-radius:0;}
.case-before-after-view img{display:block;width:100%;height:auto;background:var(--paper-2);}
.case-before-after-view figcaption{font-size:12px;line-height:1.5;color:var(--soft);padding:10px 2px 2px;}

.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.case-gallery--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.case-gallery .case-media{min-width:0;}
.case-gallery .case-media-button{height:auto;aspect-ratio:4/3;background:var(--paper-2);}
.case-gallery img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;}

.case-quote-line{margin:0;padding:2px 0 2px 22px;border-left:3px solid var(--green);font-size:clamp(20px,2.4vw,28px);line-height:1.42;letter-spacing:-.02em;color:var(--ink);}
.case-quote-line cite,.case-quote-bubble cite{display:block;font-style:normal;font-size:12px;line-height:1.5;letter-spacing:.02em;color:var(--soft);margin-top:12px;}
.case-quote-bubble{margin:0;background:var(--green-tint);border-radius:var(--radius-lg);padding:clamp(22px,3vw,30px);font-size:clamp(17px,2vw,21px);line-height:1.55;color:var(--ink);position:relative;}
.case-quote-bubble::after{content:"";position:absolute;left:28px;top:100%;border:10px solid transparent;border-top-color:var(--green-tint);}
.case-note{border-left:2px solid var(--green-line);padding:2px 0 2px 18px;color:var(--ink-2);font-size:16px;line-height:1.65;}
.case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(24,24,26,.06);overflow:hidden;}
.case-metric{padding:24px;border-left:1px solid var(--line);}
.case-metric:first-child{border-left:0;}
.case-metric strong{display:block;font-size:clamp(28px,3.5vw,42px);line-height:1;color:var(--green);letter-spacing:-.04em;margin-bottom:10px;}
.case-metric span{display:block;font-size:13px;line-height:1.25;color:var(--soft);}

.case-v2-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
.case-v2-pager a{display:flex;flex-direction:column;gap:6px;padding:clamp(26px,5vw,48px) var(--pad);text-decoration:none;transition:background .18s;min-width:0;}
.case-v2-pager a:last-child{text-align:right;align-items:flex-end;border-left:1px solid var(--line);}
.case-v2-pager a:hover{background:var(--green-tint);}
.case-v2-pager small{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);}
.case-v2-pager strong{font-size:clamp(18px,2.4vw,28px);line-height:1.2;letter-spacing:-.025em;max-width:18ch;}
.case-pager-arrow{width:19px;height:19px;background:var(--green);-webkit-mask:var(--icon-arrow-right) center/contain no-repeat;mask:var(--icon-arrow-right) center/contain no-repeat;margin-top:6px;}
.case-v2-pager a:first-child .case-pager-arrow{transform:rotate(180deg);}

.case-lightbox[hidden]{display:none;}
.case-lightbox{position:fixed;inset:0;z-index:500;color:#fff;}
.case-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,12,9,.92);backdrop-filter:blur(8px);}
.case-lightbox-panel{position:relative;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;z-index:1;}
.case-lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;gap:16px;}
.case-lightbox-count{font-size:12px;color:#bfc4bf;}
.case-lightbox-actions{display:flex;gap:7px;}
.case-lightbox-actions button{min-width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:rgba(255,255,255,.08);color:#fff;font:600 14px/1 var(--sans);cursor:pointer;}
.case-lightbox-actions .case-icon-button{position:relative;font-size:0;}
.case-lightbox-actions .case-icon-button::before{content:"";position:absolute;inset:9px;background:currentColor;-webkit-mask:var(--case-action-icon) center/contain no-repeat;mask:var(--case-action-icon) center/contain no-repeat;}
.case-icon-zoom-out{--case-action-icon:var(--case-icon-zoom-out);}
.case-icon-zoom-in{--case-action-icon:var(--case-icon-zoom-in);}
.case-icon-close{--case-action-icon:var(--case-icon-close);}
.case-lightbox-stage{margin:0 70px;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;}
.case-lightbox-stage.is-dragging{cursor:grabbing;}
.case-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;will-change:transform;user-select:none;pointer-events:auto;}
.case-lightbox-nav{position:absolute;top:50%;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;z-index:2;}
.case-lightbox-nav::after{content:"";position:absolute;inset:11px;background:currentColor;-webkit-mask:var(--icon-arrow-right) center/contain no-repeat;mask:var(--icon-arrow-right) center/contain no-repeat;}
.case-lightbox-nav.prev{left:14px;}
.case-lightbox-nav.prev::after{transform:rotate(180deg);}
.case-lightbox-nav.next{right:14px;}
.case-lightbox-caption{font-size:12px;color:#bfc4bf;text-align:center;padding:12px 20px 18px;margin:0;}

@media(max-width:760px){
  .case-v2{overflow-x:clip;}
  .case-v2-title{max-width:100%;font-size:clamp(28px,8.2vw,36px);line-height:1.08;text-wrap:wrap;overflow-wrap:normal;word-break:normal;hyphens:none;}
  .case-hero-summary{grid-template-columns:1fr;gap:12px;}
  .case-v2-cover img{height:auto;min-height:0;}
  .case-v2-section{grid-template-columns:1fr;gap:14px;}
  .case-v2-section-index{position:static;}
  .case-v2-section-index span{display:inline;margin-left:6px;}
  .case-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:calc(-1 * var(--pad));padding-right:var(--pad);}
  .case-media--compact{width:100%;}
  .case-gallery::-webkit-scrollbar{display:none;}
  .case-gallery .case-media{flex:0 0 84%;scroll-snap-align:start;}
  .case-metrics{grid-template-columns:1fr;}
  .case-metric{border-left:0;border-top:1px solid var(--line);}
  .case-metric:first-child{border-top:0;}
  .case-v2-pager{grid-template-columns:repeat(2,minmax(0,1fr));}
  .case-v2-pager a{position:relative;gap:4px;min-height:104px;padding:18px var(--pad) 20px;justify-content:center;}
  .case-v2-pager a:last-child{border-left:1px solid var(--line);border-top:0;}
  .case-v2-pager small{font-size:8px;line-height:1.2;letter-spacing:.08em;}
  .case-v2-pager strong{font-size:clamp(13px,3.8vw,16px);line-height:1.2;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .case-pager-arrow{width:15px;height:15px;margin-top:2px;}
  .case-lightbox-panel{height:100dvh;}
  .case-lightbox-toolbar{padding:10px 10px 8px;gap:8px;}
  .case-lightbox-actions{gap:4px;min-width:0;}
  .case-lightbox-actions button{min-width:44px;height:44px;border-radius:8px;font-size:12px;}
  .case-lightbox-actions .case-icon-button::before{inset:12px;}
  .case-lightbox-stage{margin:0 8px;}
  .case-lightbox-nav{top:50%;bottom:auto;width:44px;height:44px;background:rgba(8,12,9,.58);}
  .case-lightbox-nav::after{inset:12px;}
  .case-lightbox-nav.prev{left:8px;}
  .case-lightbox-nav.next{right:8px;}
  .case-lightbox-caption{padding:8px 14px calc(env(safe-area-inset-bottom,0px) + 12px);font-size:11px;}
}

@media(max-width:1499px){
  .case-local-nav-shell{top:auto;right:20px;bottom:20px;width:auto;transform:none;}
  .case-local-nav{position:relative;}
  .case-local-nav-label{display:none;}
  .case-local-nav-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);box-shadow:0 8px 24px rgba(24,24,26,.12);cursor:pointer;}
  .case-local-nav-toggle span,.case-local-nav-toggle span::before,.case-local-nav-toggle span::after{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;content:"";}
  .case-local-nav-toggle span{position:relative;}
  .case-local-nav-toggle span::before{position:absolute;left:0;top:-5px;}
  .case-local-nav-toggle span::after{position:absolute;left:0;top:5px;}
  .case-local-nav-links{display:none;position:absolute;right:0;bottom:54px;width:170px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 34px rgba(24,24,26,.14);}
  .case-local-nav-shell.is-open .case-local-nav-links{display:flex;}
  .case-local-nav-links{border-left:1px solid var(--line);}
  .case-local-nav a{padding:8px 10px 8px 13px;}
  .case-local-nav a::before{left:-1px;}
}
