@font-face{font-family:'Open Sans';src:url('/assets/fonts/OpenSans-Variable.woff2') format('woff2');font-weight:300 800;font-display:swap}@font-face{font-family:'Unbounded';src:url('/assets/fonts/Unbounded-Variable.woff2') format('woff2');font-weight:200 900;font-display:swap}
body[data-page=case-study]{margin:0;background:#0c1116;color:#edf4f1;font-family:'Open Sans',sans-serif;line-height:1.75;overflow-x:hidden}
.case-page,.case-page *{box-sizing:border-box}
.case-page{max-width:1248px;width:100%;padding:132px 48px 64px;margin:0 auto}
.case-page a{color:#69d5bf;text-decoration:none;cursor:pointer!important}
.case-page a:hover{text-decoration:underline;text-underline-offset:4px}
.case-page a:focus-visible,.case-page button:focus-visible{outline:2px solid #69d5bf;outline-offset:5px}
.case-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;color:#8da8a6;line-height:1.7;margin-bottom:38px}
.case-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#6ccdb7;margin:0 0 18px}
.case-hero{position:static;display:block;background:none;border:0;padding:0 0 36px;margin:0;min-height:0}
.case-page h1{font:800 clamp(28px,3.1vw,43px)/1.25 'Unbounded',sans-serif;letter-spacing:-.035em;text-align:left;color:#edf4f1;padding:0;margin:0 0 26px;max-width:1030px;overflow-wrap:break-word}
.case-page h1 span{color:#37c7b0;font-size:inherit;margin:0}
.case-introduction{font-size:17px;line-height:1.85;color:#bacbcc;max-width:850px;margin:0 0 24px}
.case-stack{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.case-stack span{padding:6px 11px;border:1px solid #2b4244;border-radius:7px;color:#a9cfca;font-size:12px;margin:0}
.case-actions{display:flex;flex-wrap:wrap;gap:24px;font-size:13px;margin-top:28px}
.case-page .case-brief{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:30px 32px;background:#142128;border:1px solid #293c40;border-radius:18px;margin:0 0 24px;min-width:0;min-height:0;max-width:none;backdrop-filter:none}
.case-brief>div{min-width:0}
.case-brief .case-eyebrow{margin-bottom:10px}
.case-brief p:not(.case-eyebrow){font-size:15px;line-height:1.85;color:#d2dddd;margin:0}
.case-flow{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 24px;margin:0 0 24px;align-items:center}
.case-flow span{font-size:12px;padding:7px 10px;color:#b6d0c9;display:flex;align-items:center;gap:16px;margin:0}
.case-flow span:not(:last-child)::after{content:'→';color:#37c7b0}
.case-content{max-width:940px;margin:0 auto;scroll-margin-top:112px}
.case-page .case-section{display:block;margin:0;padding:34px 0;border:0;border-top:1px solid #293c40;border-radius:0;background:transparent;backdrop-filter:none;min-width:0;min-height:0;max-width:none;box-shadow:none}
.case-page h2{font:650 clamp(20px,2.1vw,27px)/1.55 'Unbounded',sans-serif;letter-spacing:-.025em;text-align:left;color:#edf4f1;margin:0 0 20px;padding:0}
.case-page h3{font:650 18px/1.6 'Open Sans',sans-serif;text-align:left;color:#6bd7be;margin:28px 0 16px;padding:0}
.case-page h4{font:650 16px/1.65 'Open Sans',sans-serif;color:#edf4f1;margin:24px 0 12px;text-align:left}
.case-page .case-content p,.case-description{font-size:16px;line-height:1.9;color:#c2d2d2;text-align:left;margin:0 0 18px}
.case-page .case-content ul,.case-page .case-content ol{font-size:15px;line-height:1.85;color:#c2d2d2;margin:18px 0 24px;padding-left:22px;text-align:left;list-style:disc}
.case-page .case-content ol{list-style:decimal}
.case-page .case-content li{font-size:inherit;margin:8px 0;text-align:left}
.case-page .case-content strong{color:#edf4f1}
.case-content img{display:block;width:100%!important;height:auto!important;max-width:100%;border:1px solid #304449;border-radius:12px;margin:24px auto 12px;float:none!important}
.case-content figure{margin:28px 0}
.case-content .image-caption,.case-content figcaption{font-size:12px!important;line-height:1.7;text-align:left;color:#8ea9a8;margin:8px 0 24px}
.case-step{font:600 12px/1.5 'Open Sans',sans-serif;color:#53cbb1;margin-bottom:14px;letter-spacing:.1em}
.case-page .case-conclusion{display:block;min-height:0;min-width:0;max-width:none;margin:40px 0 0;padding:36px;background:#142128;border:1px solid #2b4142;border-radius:20px;backdrop-filter:none;scroll-margin-top:110px}
.case-conclusion h2 span{font-size:inherit;color:#37c7b0;margin:0}
.case-conclusion p:not(.case-eyebrow){font-size:16px;color:#c2d2d2;max-width:820px;line-height:1.85;margin:20px 0}
.case-conclusion button{font:700 15px 'Open Sans',sans-serif;padding:16px 24px;color:#0c1116;background:#37c7b0;border:0;border-radius:10px;cursor:pointer!important;min-height:48px}
.case-page .case-related{display:block;min-width:0;min-height:0;max-width:none;margin:56px 0 0;padding:0;background:none;border:0;backdrop-filter:none}
.case-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.case-related>div>a{background:#142128;border:1px solid #293c40;border-radius:14px;padding:22px;color:#edf4f1;min-width:0;display:flex;flex-direction:column;gap:12px;text-decoration:none}
.case-related>div>a:hover{border-color:#37c7b0}
.case-related strong{font:650 16px/1.6 'Unbounded',sans-serif}
.case-related span{font-size:10px;letter-spacing:.06em;color:#8fc2b5;margin:0}
.case-related p{font-size:13px;line-height:1.7;color:#afc5c2;margin:0}
body[data-page=case-study] #contactModal .contact-form__agree input[type=checkbox]{display:block!important;width:22px;height:22px;left:0;top:0;margin:0;cursor:pointer;pointer-events:auto}
/* Catalogue and home use the same calm cards as the case pages. */
body[data-unified=portfolio] .case-card{border:1px solid #2c4245!important;border-radius:18px;overflow:hidden;text-decoration:none!important;box-shadow:none!important;background:#142128!important}
body[data-unified=portfolio] .case-card::before,body[data-unified=portfolio] .case-card::after{display:none!important}
body[data-unified=portfolio] .case-body{padding:28px;display:flex;flex-direction:column;height:100%}
body[data-unified=portfolio] .case-name{color:#edf4f1;font-size:21px;margin:16px 0}
body[data-unified=portfolio] .case-task{color:#d5e4e0;line-height:1.65;font-size:16px;margin:0 0 16px}
body[data-unified=portfolio] .case-sub{font-size:14px;line-height:1.8;color:#afc4c4;flex:1;margin-bottom:22px}
body[data-unified=portfolio] .case-link{margin-top:24px;border-top:1px solid #2c4245;padding-top:18px;color:#70d8bf;display:flex;justify-content:space-between}
body[data-unified=portfolio] .case-industry-tag{color:#85b7aa;font-size:10px;line-height:1.7}
body[data-unified=portfolio] .case-type-tag{font-size:11px}
body[data-unified=portfolio] .cases-grid{align-items:stretch}
body[data-unified=portfolio] .case-types{display:flex;flex-wrap:wrap;gap:6px}
body[data-unified=home] #cases{scroll-margin-top:16px}
.featured-cases .featured-case{display:flex;flex-direction:column}
.featured-cases .featured-case>p:not(.case-lead){flex:1}
.featured-cases .featured-case>a{margin-top:auto}
@media(max-width:900px){.case-related>div{grid-template-columns:repeat(2,minmax(0,1fr))}.case-page{padding-inline:32px}.case-page h1{font-size:32px}}
@media(max-width:600px){.case-page{padding:108px 22px 44px}.case-breadcrumb{margin-bottom:28px;font-size:11px;gap:7px}.case-page h1{font-size:26px;line-height:1.35}.case-introduction{font-size:15px}.case-eyebrow{font-size:10px;line-height:1.7}.case-page .case-brief{grid-template-columns:1fr;padding:24px;gap:24px}.case-page .case-section{padding:28px 0}.case-page .case-content p,.case-description{font-size:15px}.case-content img{border-radius:8px}.case-page .case-conclusion{padding:26px 24px}.case-conclusion button{width:100%;font-size:14px}.case-related>div{grid-template-columns:1fr}.case-actions{gap:16px}.case-flow{gap:0}.case-flow span{font-size:11px;padding:6px 6px}.case-related strong{font-size:15px}body[data-unified=portfolio] .case-body{padding:24px}body[data-unified=portfolio] .case-name{font-size:19px}}

/* A compact, consistent presentation of the original project screenshots. */
.case-page .case-content figure.case-media{width:100%;max-width:680px;margin:28px auto;background:#111c22;border:1px solid #2c4146;border-radius:14px;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.12)}
.case-media-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid #293c42;color:#83aba4;font:600 10px/1.6 'Open Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase}
.case-media-bar span{font-size:inherit;margin:0}
.case-page .case-media-stage{display:flex;position:relative;width:100%!important;align-items:center;justify-content:center;aspect-ratio:16/10;max-height:300px;padding:14px;background:#e8edee;overflow:hidden;cursor:zoom-in!important;text-decoration:none}
.case-page .case-media-stage img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%;object-fit:contain;margin:0!important;border:0!important;border-radius:4px!important;float:none!important}
.case-media-open{position:absolute;bottom:10px;right:10px;background:#102b28;color:#b8f0de;border:1px solid #478477;border-radius:7px;padding:6px 10px;font:600 11px/1.4 'Open Sans',sans-serif;opacity:0;transform:translateY(3px);transition:opacity .15s,transform .15s}
.case-media-stage:hover .case-media-open,.case-media-stage:focus-visible .case-media-open{opacity:1;transform:none}
.case-page .case-content .case-media figcaption{font-size:12px!important;line-height:1.7;margin:0;padding:13px 16px;color:#b5cac7;min-height:46px;background:#111c22}
.case-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin:28px 0}
.case-page .case-content .case-media-grid figure.case-media{max-width:none;margin:0}
.case-media-grid .case-media-stage{aspect-ratio:16/11;max-height:265px}
.projects-toggle{appearance:none;border:1px solid #34534d;background:#142927;color:#62d4bb;font:700 13px/1.5 'Open Sans',sans-serif;border-radius:9px;min-height:44px;padding:11px 18px;cursor:pointer!important;white-space:nowrap}
.projects-toggle::after{content:'+';display:inline-block;margin-left:12px;font-size:18px;font-weight:400;line-height:1}
.projects-toggle[aria-expanded=true]::after{content:'−'}
.projects-toggle:hover{background:#1e3933;border-color:#5aa18e}
.projects-toggle:focus-visible{outline:2px solid #7adbc4;outline-offset:4px}
.projects-ready:not(.projects-expanded) .featured-case:nth-child(n+3){display:none}
.case-viewer{position:fixed;inset:0;width:min(1440px,calc(100vw - 48px));max-width:none;height:calc(100dvh - 48px);max-height:none;margin:auto;border:1px solid #3b5d55;border-radius:18px;padding:0;background:#0f191e;color:#edf4f1;overflow:hidden;box-shadow:0 24px 100px rgba(0,0,0,.6)}
.case-viewer::backdrop{background:rgba(3,9,12,.88);backdrop-filter:blur(5px)}
.case-viewer[open]{display:flex;flex-direction:column}
.case-viewer-head{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #29413f;flex-shrink:0}
.case-viewer-title{font:600 14px/1.55 'Open Sans',sans-serif;margin:0!important;flex:1;color:#d7e7e1;min-width:0}
.case-viewer-count{font:12px 'Open Sans',sans-serif;color:#8ca9a1;white-space:nowrap}
.case-viewer button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #33544b;border-radius:8px;background:#19302a;color:#beeede;padding:9px 13px;font:600 12px 'Open Sans',sans-serif;cursor:pointer!important}
.case-viewer button:hover{background:#254b3e}
.case-viewer button:focus-visible,.case-viewer a:focus-visible{outline:2px solid #9ee6cf;outline-offset:3px}
.case-viewer-close{font-size:23px!important;min-width:42px}
.case-viewer-pane{min-height:0;flex:1;padding:18px;overflow:auto;display:flex;align-items:center;justify-content:center;background:#e8edee}
.case-viewer-pane img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;margin:0}
.case-viewer-pane.is-zoomed{display:block}
.case-viewer-pane.is-zoomed img{width:auto;height:auto;min-width:100%;max-width:none;max-height:none;object-fit:initial}
.case-viewer-foot{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 18px;border-top:1px solid #29413f;flex-shrink:0}
.case-viewer-foot a{color:#83ddc1;font:12px 'Open Sans',sans-serif;margin-left:auto;text-decoration:none}
@media(max-width:700px){.case-media-grid{grid-template-columns:1fr;gap:16px;margin:24px 0}.case-page .case-content figure.case-media{margin:24px auto}.case-page .case-media-stage{max-height:235px;padding:10px;aspect-ratio:16/11}.case-media-open{opacity:1;transform:none;font-size:10px;padding:5px 8px}.case-media-bar{padding:9px 12px;font-size:9px}.case-page .case-content .case-media figcaption{padding:11px 12px;font-size:11px!important}.case-viewer{width:calc(100vw - 20px);height:calc(100dvh - 24px);border-radius:12px}.case-viewer-head{padding:10px 12px;gap:8px}.case-viewer-title{font-size:12px}.case-viewer-pane{padding:8px}.case-viewer-foot{padding:10px;gap:7px;flex-wrap:wrap}.case-viewer button{font-size:11px;padding:8px 10px}.case-viewer-foot a{font-size:11px}.projects-toggle{font-size:12px;padding:10px 15px}}
@media(prefers-reduced-motion:reduce){.case-media-open{transition:none}}

/* Match the applications block: external catalogue link, then a separate inline toggle. */
body[data-unified=home] .cases-section .section-heading{margin-bottom:24px}
.projects-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:24px}
body[data-unified=home] .projects-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--teal,#2ec5ad);font:600 12px/1.4 'Open Sans',sans-serif;box-shadow:none}
body[data-unified=home] .projects-toggle::after{font-size:20px;font-weight:400;margin-left:0}
body[data-unified=home] .projects-toggle:hover{color:#fff;background:transparent}
@media(max-width:600px){.projects-toolbar{margin-bottom:12px}body[data-unified=home] .projects-toggle{font-size:11px}.projects-partner-link{font-size:12px}}
