/* Selected work extends the limestone, basalt and orange language of the world. */
.selected-work{background:#eae7de;position:relative;isolation:isolate;padding-block:110px}
.selected-work::before{content:'';position:absolute;left:3.5%;top:0;bottom:0;width:1px;background:linear-gradient(#e57a3e55,#e57a3e,#e57a3e55);z-index:-1}
.work-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end;margin-bottom:55px}
.work-heading h2{font-size:clamp(46px,5.3vw,82px);margin-bottom:0;max-width:780px}
.work-heading>p{font-size:19px;line-height:1.65;color:#656256;max-width:350px;margin:0 0 6px}
/* A flagship, two alternating editorial spreads, then a paired closing row. */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 30px}
.case-card{min-width:0;display:grid;border-top:1px solid #756d5345;background:transparent}
.case-feature,.case-editorial{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:stretch}
.case-card-art{position:relative;display:grid;place-items:center;min-width:0;background:radial-gradient(ellipse at 65% 20%,#344339,#141c17 80%);overflow:hidden;isolation:isolate;aspect-ratio:1.55}
.case-card-art::after{content:'';position:absolute;inset:20px;border:1px solid #d4c5a71c;pointer-events:none}
.case-card-art svg{display:block;width:100%;height:100%;max-height:520px;overflow:visible}
.case-feature .case-card-art,.case-editorial .case-card-art{aspect-ratio:auto;min-height:370px}
.case-editorial:nth-child(even) .case-card-art{grid-column:2;grid-row:1}
.case-editorial:nth-child(even) .case-card-copy{grid-column:1;grid-row:1;padding-left:0;padding-right:12%}
.case-card-number{position:absolute;left:29px;top:29px;color:#d5c9ab;font-size:11px;letter-spacing:.2em;z-index:1}
.case-card-arrow{position:absolute;right:28px;bottom:28px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #d3c8aa55;border-radius:50%;color:#f19a60;font-size:22px;transition:background .3s,color .3s,transform .3s}
.case-card-copy{padding:36px 0 25px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.case-feature .case-card-copy,.case-editorial .case-card-copy{padding:42px 0 38px 12%;justify-content:center}
.case-card-copy .eyebrow{font-size:10px;letter-spacing:.12em;color:#635e50;line-height:1.8;margin:0 0 22px}
.case-card h3{font-size:clamp(29px,3vw,45px);line-height:1.06;letter-spacing:-.045em;font-weight:400;margin:0 0 23px;max-width:580px}
.case-feature h3{font-size:clamp(33px,3.45vw,52px)}
.case-card .case-scope{font-size:12px;line-height:1.7;color:#795339;margin:0 0 25px;padding-left:14px;border-left:2px solid #c27143;max-width:420px}
.case-card .case-summary{font-size:16px;line-height:1.8;color:#625f54;margin:0 0 28px;max-width:580px}
.case-preview{width:100%;margin:0 0 25px;border-top:1px solid #766d5333;border-bottom:1px solid #766d5333}
.case-preview summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;font-size:13px;color:#565449}
.case-preview summary::-webkit-details-marker{display:none}
.case-preview summary>span{font-size:21px;font-weight:300;color:#a75028}
.case-preview[open] summary>span{transform:rotate(45deg)}
.case-preview .case-summary{padding:8px 0 0;margin-bottom:23px}
.case-preview summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.case-card-link{margin-top:auto;border-bottom:1px solid #a96f4866;padding:13px 0;display:flex;justify-content:space-between;gap:40px;font-size:13px;min-height:45px;width:100%}
.case-feature .case-card-link,.case-editorial .case-card-link{margin-top:0}
.case-card-link span{color:#b34519;transition:transform .3s}
.case-card-link:hover span,.case-card-link:focus-visible span{transform:translate(3px,-3px)}
@media(min-width:761px) and (max-width:1080px){.case-feature .case-card-art svg,.case-editorial .case-card-art svg{width:125%;height:auto}}
.case-card:focus-within .case-card-arrow,.case-card.is-art-active .case-card-arrow{background:#ee854a;color:#172018;transform:rotate(-8deg)}
/* Single, finite sequences; the completed artwork is always the resting state. */
.case-card.art-playing .art-network{animation:case-connect 1.6s ease both}
.case-card.art-playing .art-network[fill="none"] path,.case-card.art-playing .art-network path[fill="none"]{stroke-dasharray:1;animation:case-trace 1.65s cubic-bezier(.2,.65,.25,1) both}
.case-card.art-playing .art-core{transform-box:fill-box;transform-origin:center;animation:case-assemble 1.6s cubic-bezier(.2,.7,.2,1) both}
.case-card.art-playing .art-signal{transform-box:fill-box;transform-origin:center;animation:case-arrival 1.7s ease both}
.case-card[data-case="merchant-risk"].art-playing .art-core{animation-name:case-evidence}
.case-card[data-case="platform-modernisation"].art-playing .art-core>g:nth-child(2){animation:case-assemble 1.3s .2s both}
.case-card[data-case="secure-devices"].art-playing .art-core{animation-name:case-layers}
.case-card[data-case="sovereign-ai"].art-playing .art-core{animation-name:case-evidence}
@keyframes case-connect{0%{opacity:.2}65%,100%{opacity:1}}
@keyframes case-trace{0%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}
@keyframes case-assemble{0%{transform:translateY(-15px);opacity:.4}100%{transform:translateY(0);opacity:1}}
@keyframes case-evidence{0%,15%{opacity:.35}70%,100%{opacity:1}}
@keyframes case-layers{0%{transform:translateY(-24px)}100%{transform:translateY(0)}}
@keyframes case-arrival{0%,48%{opacity:.15;transform:scale(.8)}78%{opacity:1;transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}
.world-case-links{margin:28px 0 10px;border-top:1px solid #756d523d;padding-top:22px}
.world-case-links>span{font-size:10px;letter-spacing:.16em;color:#666052;display:block;margin-bottom:12px}
.world-story-body .world-case-links a{display:flex;justify-content:space-between;gap:20px;font-size:15px;line-height:1.5;padding:13px 0;border-bottom:1px solid #756d523d;color:#292b22}
.world-case-links a:hover{color:#a5421d}
.case-page{background:#eeeae0;--case-muted:#676457}
.case-header{height:96px;display:flex;align-items:center;gap:40px;padding:0 6%;border-bottom:1px solid #756d532b}
.case-header nav{margin-left:auto;display:flex;gap:28px;font-size:13px}
.case-header nav a{padding-block:14px}
.case-contact{background:#1c241e;color:#eee7d9;padding:15px 20px;font-size:13px;display:flex;gap:24px;align-items:center}
.case-contact:hover{background:#934017}
.case-hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:680px}
.case-hero-copy{padding:42px 9% 65px 11.1%}
.case-back{display:inline-block;font-size:12px;color:#676052;margin-bottom:62px;padding-block:8px}
.case-hero .eyebrow{font-size:10px;letter-spacing:.14em;line-height:1.8;margin-bottom:24px;color:#6b6050}
.case-hero h1{font-size:clamp(43px,4.6vw,72px);line-height:1.01;letter-spacing:-.055em;max-width:660px}
.case-deck{font-size:17px;line-height:1.85;color:#676052;max-width:570px;margin:28px 0 26px}
.case-read{display:inline-flex;gap:55px;font-size:13px;border-bottom:1px solid #b15b32;padding-block:14px}
.case-read span{color:#ad4d21}
.case-hero-art{position:relative;background:radial-gradient(ellipse at 55% 30%,#37473b,#121b15 85%);display:grid;place-items:center;overflow:hidden;min-width:0}
.case-hero-art::before{content:'';position:absolute;inset:24px;border:1px solid #cbbd991c;pointer-events:none}
.case-hero-art img{width:116%;height:auto;max-height:90%;object-fit:contain}
.case-art-index{position:absolute;top:42px;left:42px;font-size:13px;letter-spacing:.2em;color:#cfc3a5}
.case-art-signature{position:absolute;bottom:42px;left:42px;font-size:9px;letter-spacing:.23em;color:#b4b89f}
.case-context{padding:36px 6%;border-bottom:1px solid #756d5333;background:#e4e0d4}
.case-context dl{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6%;margin:0}
.case-context dt{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#6d6453;margin-bottom:13px}
.case-context dd{margin:0;max-width:350px;font-size:14px;line-height:1.7}
.case-content{padding:110px 8% 65px 6%;display:grid;grid-template-columns:1fr 2.2fr;gap:9%}
.case-contents{align-self:start;position:sticky;top:50px}
.case-contents .eyebrow{font-size:10px;color:#827052;display:block;margin-bottom:20px}
.case-contents nav{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.case-contents nav a{font-size:14px;padding-block:10px;color:#5e5c51}
.case-contents a:hover{color:#a33e17}
.case-world-link{display:block;font-size:13px;line-height:1.7;border-top:1px solid #756d5333;padding-top:22px;margin-top:27px;color:#756344}
.case-narrative section{margin-bottom:65px;scroll-margin-top:35px}
.case-section-number{display:block;color:#956041;font-size:10px;letter-spacing:.2em;margin-bottom:27px}
.case-narrative h2,.case-outcome h2{font-size:clamp(36px,4vw,60px);margin:0 0 28px;line-height:1.07}
.case-narrative p,.case-outcome p{font-size:17px;line-height:1.9;color:#625e51;margin:0 0 30px;max-width:750px}
.case-narrative h3{font-size:23px;font-weight:400;letter-spacing:-.035em;line-height:1.3;margin:30px 0 16px}
.case-decisions{padding:0;list-style:none;counter-reset:decision}
.case-decisions li{counter-increment:decision;border-top:1px solid #756d5333;padding:26px 0 3px 48px;position:relative}
.case-decisions li::before{content:'0' counter(decision);position:absolute;left:0;top:30px;color:#9a5a36;font-size:11px}
.case-decisions h3{margin-top:0}
.case-demonstration{padding:85px 6% 70px;background:#19231d;color:#eee7d7}
.diagram-heading{max-width:850px}
.diagram-heading .eyebrow{color:#d1a875;font-size:10px}
.diagram-heading h2{font-size:clamp(36px,4.6vw,66px);line-height:1.07;max-width:850px;margin-bottom:20px}
.diagram-heading>p:last-child{font-size:14px;color:#b7bdad;line-height:1.8}
.diagram-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center}
.diagram-art{min-width:0}
.diagram-art svg{width:100%;display:block;overflow:visible}
.diagram-art .art-core,.diagram-art .art-network,.diagram-art .art-signal{transition:opacity .7s,transform .9s cubic-bezier(.2,.7,.2,1);transform-box:fill-box;transform-origin:center}
.diagram-art[data-stage="0"] .art-core{opacity:.16;transform:translateY(-22px)}
.diagram-art[data-stage="0"] .art-network{opacity:.13}
.diagram-art[data-stage="0"] .art-signal{opacity:0}
.diagram-art[data-stage="1"] .art-core{opacity:.55;transform:translateY(-9px)}
.diagram-art[data-stage="1"] .art-signal{opacity:.3}
.diagram-labels{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #cabb972b;padding-top:20px;margin-bottom:22px;font-size:10px;line-height:1.5;letter-spacing:.035em;color:#cbd0bc}
.diagram-tabs{display:flex;flex-direction:column;gap:0;border-top:1px solid #cabb9755}
.diagram-tabs button{display:flex;align-items:center;gap:25px;text-align:left;padding:20px 15px;border-bottom:1px solid #cabb9740;min-height:58px;color:#bcc3ae;font-size:19px;font-weight:400}
.diagram-tabs button span{font-size:10px;letter-spacing:.15em;color:#c69f72}
.diagram-tabs button[aria-pressed="true"]{background:#eee8d8;color:#172019;border-left:3px solid #e68344;padding-left:12px}
.diagram-tabs button[aria-pressed="true"] span{color:#80573a}
#diagram-description{font-size:16px;line-height:1.8;min-height:115px;color:#d0d3c3;margin:28px 0 18px}
.diagram-footnote{font-size:10px;line-height:1.8;color:#a9b09b}
.case-outcome{padding:100px 6%;display:grid;grid-template-columns:1fr 1.45fr;gap:9%;scroll-margin-top:35px}
.case-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.case-proof>div{border-top:1px solid #756d5355;padding-top:20px}
.case-proof dt{font-size:clamp(19px,2vw,27px);letter-spacing:-.04em;margin-bottom:10px;overflow-wrap:anywhere}
.case-proof dd{margin:0;font-size:12px;color:#6b6252;line-height:1.6}
.case-enquiry{background:#ddd6c4;padding:75px 6%;position:relative;overflow:hidden}
.case-enquiry::after{content:'';position:absolute;right:-80px;bottom:-170px;width:550px;height:550px;border:1px solid #a98a6144;border-radius:50%;pointer-events:none}
.case-enquiry .eyebrow{font-size:10px;color:#77644a}
.case-enquiry h2{font-size:clamp(40px,5.8vw,82px);margin-bottom:25px}
.case-enquiry p:not(.eyebrow){font-size:16px;line-height:1.8;color:#655d4e;max-width:530px}
.case-enquiry>a{position:relative;z-index:1;display:inline-flex;gap:35px;align-items:center;background:#1d271f;color:#f1eadc;padding:20px 25px;font-size:14px;margin-top:15px;line-height:1.5}
.case-enquiry>a:hover{background:#914019}
.case-next{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:42px 6%;background:#18221b;color:#eee7d7;border-bottom:1px solid #cabb9733}
.case-next>a:first-child{font-size:13px;color:#bbc1ad}
.case-next>a:last-child{font-size:24px;letter-spacing:-.02em;text-align:right}
.case-next small{display:block;font-size:9px;letter-spacing:.15em;color:#d1a875;margin-bottom:14px}
.case-footer{background:#18221b;display:flex;justify-content:space-between;align-items:center;padding:32px 6%;color:#eee7d7}
.case-footer p,.case-footer>a:last-child{font-size:11px;color:#b7bdac}
@media(min-width:761px) and (max-width:1080px){.case-header{gap:24px}.case-hero-copy{padding-right:8%}.case-hero h1{font-size:47px}.case-hero{min-height:0}.case-deck{font-size:16px}.case-hero-art img{width:145%}.case-context dl{gap:4%}.case-content{gap:6%;grid-template-columns:1fr 2.6fr}.diagram-layout{gap:5%;grid-template-columns:1.1fr 1fr}.case-proof{grid-template-columns:1fr}.case-proof>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.case-proof dd{text-align:right}.case-card-copy{padding:25px}}
@media(max-width:760px){
 .selected-work{padding-block:70px}.work-heading{display:block;margin-bottom:35px}.work-heading h2{font-size:45px;max-width:450px}.work-heading>p{margin-top:26px;font-size:17px}
 .case-grid{grid-template-columns:1fr;gap:38px}.case-card{grid-column:auto;display:flex;flex-direction:column;border-top:1px solid #756d5355}
 .case-card .case-card-copy{order:0;padding:28px 0 25px}.case-card .case-card-art{order:1;aspect-ratio:1.55;min-height:0}
 .case-card h3,.case-feature h3{font-size:clamp(30px,7.8vw,43px);margin-bottom:18px}.case-card-copy .eyebrow{font-size:9px;margin-bottom:17px}.case-card .case-scope{font-size:12px;margin-bottom:20px}
 .case-card .case-summary{font-size:15px;line-height:1.8}.case-card-number{left:24px;top:24px}.case-card-arrow{right:23px;bottom:23px;width:35px;height:35px;font-size:19px}
 .case-card-link{margin-top:0}.case-preview{margin-bottom:12px}.case-card-art::after{inset:15px}

 .case-header{height:78px;padding:0 6%;gap:20px;justify-content:space-between}.case-header nav{display:none}.case-header .wordmark{font-size:22px}.case-contact{font-size:11px;padding:13px 14px;gap:16px}
 .case-hero{display:flex;flex-direction:column;min-height:0}.case-hero-copy{padding:26px 7% 38px}.case-back{margin-bottom:30px}.case-hero .eyebrow{font-size:9px;margin-bottom:20px}.case-hero h1{font-size:clamp(40px,10vw,60px);max-width:600px}.case-deck{font-size:16px;line-height:1.8;margin-top:23px}.case-hero-art{min-height:300px;aspect-ratio:1.4}.case-hero-art img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 60%}.case-hero-art::before{inset:17px}.case-art-index{top:28px;left:28px}.case-art-signature{left:28px;bottom:28px;font-size:8px}
 .case-context{padding:32px 7%}.case-context dl{grid-template-columns:1fr;gap:23px}.case-context dt{font-size:9px;margin-bottom:7px}.case-context dd{max-width:none;font-size:14px}
 .case-content{display:block;padding:48px 7% 15px}.case-contents{position:static;margin-bottom:50px}.case-contents .eyebrow{margin-bottom:12px}.case-contents nav{flex-direction:row;flex-wrap:wrap;gap:8px 23px;border-bottom:1px solid #756d5333;padding-bottom:14px}.case-contents nav a{font-size:12px}.case-world-link{border-top:0;margin-top:10px;padding-top:8px;font-size:12px}.case-world-link br{display:none}
 .case-narrative h2,.case-outcome h2{font-size:40px}.case-narrative h3{font-size:22px}.case-narrative p,.case-outcome p{font-size:16px;line-height:1.85}.case-narrative section{margin-bottom:45px}.case-section-number{font-size:9px;margin-bottom:21px}.case-decisions li{padding-left:35px}
 .case-demonstration{padding:55px 7% 45px}.diagram-heading h2{font-size:37px}.diagram-layout{display:block}.diagram-art svg{margin:0 -5%;width:110%}.diagram-labels{font-size:9px;gap:12px;margin:0 0 30px}.diagram-labels span{max-width:32%}.diagram-tabs button{font-size:17px;padding-block:17px}#diagram-description{min-height:110px;font-size:15px;margin:23px 0 16px}
 .case-outcome{display:block;padding:65px 7% 55px}.case-proof{grid-template-columns:1fr;gap:14px;margin-top:30px}.case-proof>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:16px}.case-proof dt{font-size:23px}.case-proof dd{text-align:right;max-width:170px}
 .case-enquiry{padding:60px 7%}.case-enquiry h2{font-size:43px}.case-enquiry>a{font-size:13px;padding:18px 20px;gap:23px}.case-next{padding:32px 7%;flex-direction:column;align-items:flex-start;gap:35px}.case-next>a:last-child{text-align:left;font-size:26px}.case-footer{padding:30px 7%;align-items:flex-start;gap:20px;flex-wrap:wrap}.case-footer p{width:100%;order:3;margin:0}
}
@media(prefers-reduced-motion:reduce){.case-card-art img,.diagram-art *{transition:none!important;transform:none!important}}
.reduced-motion .case-card-art img,.reduced-motion .diagram-art *{transition:none!important;transform:none!important}

@media(prefers-reduced-motion:reduce){.case-card *{animation:none!important;transition:none!important}.case-card .art-core,.case-card .art-signal{transform:none!important}}
.reduced-motion .case-card *{animation:none!important;transition:none!important}.reduced-motion .case-card .art-core,.reduced-motion .case-card .art-signal{transform:none!important}
