.case-page{--case-gold:#80602c;--case-teal:#35675f;--case-muted:#566871;background:#f7f4ec;font-size:16px;}
.case-container{width:min(1120px,calc(100% - 64px));margin-inline:auto;}
.case-header{background:#16384a;color:#faf5e8;border-bottom:1px solid #f0d99f30;}
.case-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.case-brand{font:600 19px var(--serif);letter-spacing:3px;white-space:nowrap;}
.case-brand>span{color:#f0d99f;font-size:27px;vertical-align:middle;margin-right:10px;}
.case-back{font-size:13px;display:flex;align-items:center;gap:12px;}
.case-back:hover,.case-footer a:hover{text-decoration:underline;text-underline-offset:5px;}
.case-hero{background:radial-gradient(ellipse at 95% 20%,#2b626756,transparent 58%),#16384a;color:#fff9ed;padding:54px 0 0;}
.case-eyebrow{font-size:12px;letter-spacing:.8px;color:var(--case-gold);margin:0 0 16px;font-weight:600;}
.case-hero>.case-container>.case-eyebrow{color:#e7cb91;display:flex;align-items:center;gap:12px;margin-bottom:30px;}
.case-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:64px;align-items:center;padding-bottom:52px;}
.case-product{font-size:11px;letter-spacing:2px;color:#bcd4d2;margin:0 0 15px;}
.case-hero h1{font:400 clamp(36px,4.7vw,59px)/1.14 var(--serif);letter-spacing:-1.5px;margin:0 0 25px;}
.case-hero h1>span{color:#f0d99f;}
.case-lead{font-size:16px;line-height:1.85;color:#e0e9e5;max-width:600px;margin:0;}
.case-hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px;}
.case-page .btn{font-size:13px;min-height:48px;}
.case-text-link{color:#e7d6af;font-size:13px;padding:12px 0;}
.case-text-link:hover{text-decoration:underline;text-underline-offset:6px;}
.case-summary{border:1px solid #e7d2a555;background:#092c3930;padding:28px;position:relative;}
.case-summary:before{content:'';position:absolute;inset:6px;border:1px solid #e7d2a51a;pointer-events:none;}
.case-summary-mark{position:absolute;right:22px;top:18px;color:#e7d2a5;}
.case-summary dl{margin:0;}
.case-summary dl>div+div{margin-top:22px;border-top:1px solid #e7d2a529;padding-top:20px;}
.case-summary dt{font-size:11px;color:#cfbb8e;margin-bottom:8px;}
.case-summary dd{font-size:14px;line-height:1.6;margin:0;color:#f9f5e9;}
.case-hero-foot{border-top:1px solid #e7d2a533;display:flex;flex-wrap:wrap;gap:28px;padding:19px 0;color:#c6dbd5;font-size:12px;}
.case-hero-foot span:before{content:'✧';color:#e7d2a5;margin-right:10px;}
.case-gallery-section{padding:70px 0 65px;scroll-margin-top:24px;}
.case-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px;}
.case-page h2{font:400 clamp(27px,3vw,35px)/1.3 var(--serif);letter-spacing:-.6px;margin:0;}
.case-section-heading>p{font-size:14px;line-height:1.8;color:var(--case-muted);max-width:320px;margin:0 0 3px;}
.case-gallery{border:1px solid #cecdbd;background:#fffdf7;box-shadow:0 16px 40px #263d4510;}
.case-gallery-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #d4d8ca;gap:1px;background:#d4d8ca;}
.case-gallery-controls button{min-height:58px;padding:12px 10px;border:0;background:#edf0e7;color:#4a6056;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px;}
.case-gallery-controls button>span{font:12px var(--serif);color:#6d785e;}
.case-gallery-controls button[aria-pressed=true]{background:#214a4d;color:#fff7e1;box-shadow:inset 0 -3px #d8bd7d;}
.case-gallery-controls button[aria-pressed=true]>span{color:#e7d2a5;}
.case-gallery-controls button:hover{background:#e0e8dc;color:#244943;}
.case-gallery-controls button[aria-pressed=true]:hover{background:#214a4d;color:#fff7e1;}
.case-gallery-controls button:focus-visible{outline-offset:-5px;position:relative;z-index:1;}
.case-gallery-figure{margin:0;}
.case-image-stage{aspect-ratio:1708/962;display:flex;align-items:center;justify-content:center;padding:16px;background:#e6ebe5;}
.case-image-stage img{width:100%;height:100%;object-fit:contain;}
.case-gallery figcaption{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;padding:23px 26px;border-top:1px solid #d4d8ca;}
.case-caption-copy{min-width:0;max-width:740px;}
.case-caption-copy strong{font-size:15px;color:#2b4c47;}
.case-caption-copy p{font-size:14px;color:var(--case-muted);line-height:1.75;margin:5px 0 0;}
.case-gallery figcaption>a{flex:none;font-size:12px;color:#365e55;min-height:44px;display:flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:4px;}
.case-image-note{font-size:12px;color:#667365;margin:16px 0 0;}
.case-fallback{font-size:14px;}.case-fallback a{text-decoration:underline;}
.case-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;border-top:1px solid #d8d3c5;padding:60px 0 70px;}
.case-story-copy h3{font:500 23px/1.4 var(--serif);margin:0 0 14px;}
.case-story-copy h3:not(:first-child){margin-top:32px;}
.case-story-copy p{font-size:15px;line-height:1.9;color:var(--case-muted);margin:0 0 18px;}
.case-story-copy strong{font-weight:600;color:#334e55;}
.case-role-list{font-size:14px;line-height:1.85;color:var(--case-muted);padding-left:20px;margin:0;}
.case-role-list li+li{margin-top:7px;}
.case-features-section{background:#eeeee3;border-block:1px solid #d8d7c9;padding:65px 0;scroll-margin-top:24px;}
.case-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.case-features article{background:#faf9f1;border:1px solid #d6d6c6;padding:29px;}
.case-feature-number{font-size:10px;letter-spacing:1.2px;color:#78622e;}
.case-features h3{font:500 23px/1.35 var(--serif);margin:20px 0 14px;}
.case-features article p{font-size:14px;line-height:1.85;color:var(--case-muted);margin:0;}
.case-feature-note{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #b9c4b7;background:#e2e8dd;padding:26px;color:#365e55;}
.case-feature-note>span{font-size:38px;color:#8f7135;}
.case-feature-note p{font:italic 22px/1.55 var(--serif);margin:18px 0 0;}
.case-stack-section{padding:70px 0;}
.case-stack{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 42px;}
.case-stack>div{padding:21px 0;border-top:1px solid #d5d3c4;}
.case-stack dt{font-size:15px;font-weight:600;color:#2c514c;}
.case-stack dd{font-size:14px;color:var(--case-muted);margin:6px 0 0;line-height:1.85;}
.case-closing{background:#16384a;color:#fff7e7;text-align:center;padding:58px 0;}
.case-closing-star{color:#f0d99f;font-size:28px;}
.case-closing .case-eyebrow{color:#e7cb91;margin:12px 0;}
.case-closing .btn{margin-top:26px;}
.case-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:25px;font-size:12px;color:#536861;}
.case-footer p{margin:0;}
@media(max-width:850px){.case-hero-grid{gap:32px;grid-template-columns:minmax(0,1fr) 250px;}.case-summary{padding:23px;}.case-hero h1{font-size:43px;}.case-section-heading{align-items:flex-start;gap:28px;}.case-section-heading>p{max-width:260px;}.case-story{gap:35px;}.case-features{grid-template-columns:repeat(2,minmax(0,1fr));}.case-gallery figcaption{flex-direction:column;gap:8px;}.case-gallery figcaption>a{min-height:36px;}}
@media(max-width:640px){.case-container{width:calc(100% - 36px);}.case-nav{min-height:72px;gap:16px;}.case-brand{font-size:16px;letter-spacing:2px;}.case-brand>span{margin-right:5px;font-size:23px;}.case-back{font-size:12px;gap:7px;}.case-hero{padding-top:36px;}.case-hero-grid{grid-template-columns:1fr;gap:30px;padding-bottom:30px;}.case-hero h1{font-size:clamp(32px,7.8vw,47px);letter-spacing:-.9px;}.case-lead{font-size:15px;}.case-summary{padding:24px;}.case-summary dd{font-size:14px;}.case-summary dl>div+div{margin-top:17px;padding-top:16px;}.case-hero-foot{gap:9px 20px;font-size:11px;}.case-section-heading{display:block;}.case-section-heading>p{max-width:none;margin:15px 0 0;}.case-gallery-section,.case-stack-section{padding:44px 0;}.case-gallery-controls{display:flex;flex-wrap:wrap;background:#edf0e7;gap:0;padding:5px;}.case-gallery-controls button{flex:1 1 30%;font-size:12px;gap:6px;min-height:44px;padding:8px;}.case-image-stage{padding:6px;}.case-gallery figcaption{padding:18px;}.case-caption-copy p{font-size:13px;}.case-image-note{font-size:11px;line-height:1.75;}.case-story{grid-template-columns:1fr;gap:28px;padding:42px 0;}.case-features-section{padding:44px 0;}.case-features{grid-template-columns:1fr;gap:13px;}.case-features article{padding:24px;}.case-features h3{margin-top:14px;}.case-feature-note{padding:25px;}.case-stack{grid-template-columns:1fr;}.case-closing{padding:42px 0;}.case-footer{flex-direction:column;gap:12px;align-items:flex-start;font-size:11px;}}
