/* Five business stories. Site typography and colour tokens come from the approved build. */
.story-home .header-inner{max-width:1840px;width:calc(100% - 48px);min-height:86px}.story-hero{max-width:1920px;padding:30px 32px 42px;margin:auto}.story-intro{display:grid;gap:10px;margin:0 auto 28px;padding-bottom:22px;border-bottom:1px solid var(--soft-line)}.story-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-bottom:10px}.story-intro h1{font:700 clamp(30px,2.7vw,48px)/1.15 var(--font-body);letter-spacing:-.04em}.story-intro h1 span,.story-emphasis{color:var(--rust)}html[data-theme=dark] .story-intro h1 span,html[data-theme=dark] .story-emphasis{color:var(--dt-orange)}.story-intro p{max-width:68ch;font-size:16px;line-height:1.5;margin:0;color:var(--muted)}.story-layout{display:grid;grid-template-columns:190px minmax(0,1fr) 174px;gap:24px;align-items:start}.story-industries,.story-scenes{min-width:0}.story-rail-heading{font-size:14px;font-weight:700;margin-bottom:14px}.story-step{color:var(--rust);margin-right:8px}.story-industry-list{display:grid;gap:10px}.story-industry{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px;border:1px solid var(--soft-line);border-radius:6px;text-decoration:none;font-size:14px;line-height:1.35;background:var(--card)}.story-industry svg{flex:0 0 24px;color:var(--muted)}.industry-caret{margin-left:auto;color:var(--rust);visibility:hidden;font-size:24px}.story-industry:hover{background:var(--sand)}.story-industry[aria-current=true]{border-color:var(--rust);box-shadow:inset 3px 0 var(--rust);background:var(--sand);font-weight:700}.story-industry[aria-current=true] .industry-caret{visibility:visible}.story-rail-note{margin-top:24px;padding-top:18px;border-top:1px solid var(--soft-line);font:20px/1.5 var(--font-display);color:var(--muted)}.story-business-mobile{display:none}.story-player{min-width:0}.story-context{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted);margin-bottom:12px;flex-wrap:wrap}.story-context [data-story-brand]{font-weight:700}.story-status-tag{border-left:1px solid var(--line);padding-left:12px}.story-copy h2{font:700 clamp(28px,2.6vw,46px)/1.12 var(--font-body);letter-spacing:-.035em;text-wrap:wrap}.story-copy h2>span{display:block}.story-copy>p{font-size:17px;line-height:1.5;margin:14px 0 20px;color:var(--muted)}.story-stage{position:relative;border:1px solid var(--soft-line);border-radius:8px;overflow:hidden;background:var(--dt-navy);aspect-ratio:4/3;display:grid;place-items:center;touch-action:pan-y pinch-zoom}.story-stage>img{height:100%;width:100%;object-fit:contain;position:absolute;inset:0}.story-missing{padding:30px;text-align:center;color:var(--dt-sand);max-width:48ch}.story-missing p{font:400 clamp(22px,2vw,32px)/1.3 var(--font-display)}.story-missing span{display:block;font-size:15px;line-height:1.6;margin-top:14px}.story-missing button{margin:18px auto 0}.story-enlarge{position:absolute;bottom:12px;right:12px;background:var(--dt-navy);color:var(--dt-warm-white);border:1px solid var(--dt-border-dark);border-radius:4px;padding:10px 14px;min-height:44px;display:flex;align-items:center;gap:8px;font-size:14px;text-decoration:none}.story-controls{display:flex;align-items:center;gap:12px;margin:18px 0}.story-controls button{min-height:48px;min-width:48px;padding:8px 16px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--text);font-size:15px;font-weight:700}.story-controls button:hover:enabled{background:var(--sand)}.story-controls button:disabled{opacity:.5}.story-position{display:flex;gap:10px;align-items:center;margin-inline:auto;font-size:14px;color:var(--muted)}.story-position strong{font-size:17px;color:var(--text);white-space:nowrap}.story-player-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}.story-concept-link{background:var(--orange);color:var(--ink);padding:12px 18px;font-size:15px;font-weight:700;min-height:48px;border-radius:4px;text-decoration:none;display:inline-flex;gap:14px;align-items:center;justify-content:center;text-align:center}.story-concept-link:hover{background:var(--dt-orange-hover)}.story-bottom-note{color:var(--muted);font-size:14px;line-height:1.5;margin-top:10px}.story-thumbs{display:grid;gap:10px}.story-thumb{display:block;position:relative;border:1px solid var(--soft-line);border-radius:6px;text-decoration:none;background:var(--card);min-width:0;min-height:97px;overflow:hidden}.story-thumb>img{width:100%;height:98px;object-fit:contain;background:var(--dt-navy)}.story-thumb-number{display:inline-grid;place-items:center;margin:8px 8px 0;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;font-size:14px;font-weight:700}.story-thumb-label{display:block;margin:7px 10px 10px;font-size:14px;line-height:1.3}.story-thumb[aria-current=true]{border:2px solid var(--rust)}.story-thumb[aria-current=true] .story-thumb-number{background:var(--dt-orange);border-color:var(--dt-orange);color:var(--dt-navy)}.story-thumb:hover{border-color:var(--rust)}.story-shared-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.story-shared-footer p{font-size:15px;line-height:1.5;color:var(--muted)}.story-talk{display:inline-flex;gap:12px;min-height:44px;align-items:center;text-decoration:none;font-size:16px;font-weight:700}.story-error,.story-noscript{padding:14px 18px;background:var(--sand);font-size:15px;margin-top:14px}.story-dialog{background:var(--paper);color:var(--text);padding:20px;border:1px solid var(--line);border-radius:8px;max-width:95vw;width:1400px;max-height:94svh}.story-dialog::backdrop{background:rgb(9 26 37 / .93)}.story-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.story-dialog h2{font:700 18px/1.4 var(--font-body);letter-spacing:0}.story-dialog button{min-height:44px;background:var(--sand);color:var(--text);border:1px solid var(--line);padding:8px 14px}.story-dialog>img{width:100%;max-height:calc(94svh - 160px);object-fit:contain}.story-dialog>p{margin-top:12px;font-size:16px}.story-reading{max-width:1000px;margin:auto;padding:40px 24px 64px}.story-reading h1{font:700 clamp(32px,5vw,60px)/1.15 var(--font-body);margin:24px 0}.story-reading .reading-intro{color:var(--muted);margin:18px 0 28px}.story-reading article{padding:36px 0;border-top:1px solid var(--soft-line);scroll-margin-top:32px}.story-reading h2{font:700 clamp(26px,3vw,38px)/1.15 var(--font-body);letter-spacing:-.025em;margin:12px 0}.story-reading h2 span{display:block;color:var(--rust)}.story-reading article img{width:100%;height:auto;margin:20px 0;border-radius:6px}.scene-kicker{font-size:14px;font-weight:700;color:var(--muted)}.reading-actions{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0}.story-plan-list{padding-left:24px}.art-unavailable{padding:18px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:15px;margin:20px 0}
@media(min-width:1650px){.story-layout{grid-template-columns:210px minmax(0,1fr) 200px;gap:28px}.story-thumb{min-height:115px}.story-industry{font-size:16px}}
@media(max-width:1100px){.story-layout{grid-template-columns:minmax(0,1fr)}.story-industries .story-industry-list{grid-template-columns:repeat(4,minmax(0,1fr))}.story-industry{min-height:72px;flex-direction:column;text-align:center;font-size:14px;padding:10px}.industry-caret{display:none}.story-industries .story-rail-heading,.story-rail-note{display:none}.story-thumbs{display:flex;overflow-x:auto;gap:10px;padding:5px 4px 12px;scrollbar-width:thin}.story-thumb{flex:1 0 125px}.story-scenes{margin-top:4px}.story-copy h2{font-size:clamp(30px,3.7vw,42px)}.story-stage{max-height:760px}.story-hero{padding:24px}.story-home .header-inner{width:calc(100% - 48px)}}
@media(max-width:650px){.story-hero{padding:24px 16px 32px}.story-intro{margin-bottom:22px;padding-bottom:18px;gap:10px}.story-intro h1{font-size:32px}.story-layout{gap:22px}.js .story-industry-list{display:none}.js .story-business-mobile{display:grid;gap:8px;font-size:15px;font-weight:700}.story-business-mobile select{width:100%;min-height:48px;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:10px;font-size:16px}.story-industries .story-industry-list{grid-template-columns:1fr 1fr}.story-copy h2{font-size:29px}.story-context{font-size:13px;gap:8px}.story-copy>p{font-size:16px}.story-missing{padding:24px 18px}.story-missing p{font-size:24px}.story-missing span{font-size:14px}.story-position{font-size:14px}.story-position [data-story-label]{display:none}.story-controls{gap:8px}.story-controls button{padding:8px 12px}.story-controls [data-story-replay]{font-size:14px}.story-shared-footer{flex-direction:column;align-items:start;gap:12px}.story-player-bottom{align-items:stretch;flex-direction:column}.story-concept-link{width:100%}.story-bottom-note{font-size:14px}.story-thumb{flex-basis:128px}.story-dialog{padding:14px}.story-dialog h2{font-size:16px}.story-home .header-inner{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.story-hero *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
html[data-theme=dark] .story-copy h2,html[data-theme=dark] .story-intro h1{color:var(--dt-white)}
@media(min-width:1101px){
 .story-thumb{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;padding:10px 8px;min-height:98px}
 .story-thumb>img{grid-column:1;grid-row:1;width:68px;height:51px;border-radius:3px}
 .story-thumb-number{position:absolute;top:4px;left:4px;margin:0;width:23px;height:23px;font-size:12px;background:var(--paper)}
 .story-thumb-label{grid-column:2;grid-row:1;margin:0;font-size:13px;line-height:1.35}
}
/* Motion explains a successful scene change; it never advances the story. */
.story-thumb{border-width:2px}
@media(prefers-reduced-motion:no-preference){
 .story-stage>img[data-reveal="0"]{animation:story-image-in-a 220ms ease-out}
 .story-stage>img[data-reveal="1"]{animation:story-image-in-b 220ms ease-out}
 .story-thumb,.story-industry,.story-controls button,.story-concept-link,.story-enlarge{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
 .story-thumb:focus-visible,.story-industry:focus-visible{box-shadow:inset 0 0 0 1px var(--rust)}
 .story-controls button:active:enabled,.story-concept-link:active,.story-enlarge:active{transform:translateY(1px)}
 @media(hover:hover){.story-thumb:hover,.story-industry:hover{transform:translateY(-2px);box-shadow:0 3px 10px rgb(9 26 37 / .12)}}
}
@keyframes story-image-in-a{from{opacity:.45}to{opacity:1}}
@keyframes story-image-in-b{from{opacity:.45}to{opacity:1}}

/* Scene-specific HTML captions remain selectable and can be folded away. */
.story-copy{margin-bottom:18px}
.story-explainer{position:absolute;z-index:2;left:18px;bottom:18px;width:min(40%,390px);margin:0;padding:0;border:1px solid rgb(255 253 249 / .22);border-left:3px solid var(--dt-orange);border-radius:6px;background:rgb(9 26 37 / .91);color:#FFFDF9;box-shadow:0 4px 20px rgb(0 0 0 / .12);text-align:left}
.story-explainer summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;cursor:pointer;list-style:none}
.story-explainer summary::-webkit-details-marker{display:none}
.story-explainer summary::after,.story-explainer[open] summary::after{content:none!important}
.story-explainer strong{font:700 13px/1.3 var(--font-body);letter-spacing:.025em;color:#FFFDF9}
.story-caption-toggle{font-size:20px;line-height:1;color:var(--dt-orange)}
.story-explainer[open] .story-caption-toggle{transform:rotate(45deg)}
.story-explainer p{margin:0;padding:0 14px 14px;font:400 clamp(14px,1.05vw,17px)/1.5 var(--font-body);color:#FFFDF9;text-wrap:pretty}
.story-stage[data-caption-position=top-left] .story-explainer{top:18px;bottom:auto}
.story-stage[data-caption-position=top-right] .story-explainer{top:18px;right:18px;bottom:auto;left:auto}
.story-stage[data-caption-position=bottom-right] .story-explainer{right:18px;left:auto;bottom:70px}
.story-enlarge{z-index:3}
.story-stage:has(>img[hidden]) .story-explainer{display:none}
@media(max-width:650px){
 .story-explainer,.story-stage[data-caption-position] .story-explainer{top:auto;right:auto;bottom:10px;left:10px;width:auto;max-width:calc(100% - 20px)}
 .story-explainer:not([open]){max-width:calc(100% - 72px)}
 .story-explainer summary{padding:8px 10px;min-height:44px}
 .story-explainer strong{font-size:12px}
 .story-explainer p{font-size:14px;padding:0 10px 10px;line-height:1.4}
 .story-stage[data-caption-position] .story-explainer[open]{bottom:62px}
 .story-enlarge{bottom:10px;right:10px;width:44px;height:44px;padding:0;justify-content:center;font-size:0}
 .story-enlarge::after{content:'⤢';font-size:23px}
}
/* A generous story frame, readable scene rail and one clear enquiry strip. */
.story-side{min-width:0}
.story-rail-contact{margin-top:18px;padding-top:16px;border-top:2px solid var(--dt-orange)}
.story-rail-contact h2{font:700 20px/1.2 var(--font-body);letter-spacing:-.025em}
.story-rail-contact p{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 12px}
.story-rail-contact .button{display:flex;justify-content:space-between;width:100%;min-height:46px;padding:10px 12px;font-size:13px}
.story-rail-contact .text-link{font-size:12px;margin-top:4px}
.story-shared-footer{margin-top:16px;padding-top:12px}
@media(min-width:1101px){
 .story-home .header-inner{min-height:68px}
 .story-hero{padding-top:18px}
 .story-intro{margin-bottom:24px;gap:10px;width:100%;max-width:min(1580px,calc((100svh - 400px)*1.333333 + 422px))}
 .story-intro h1{font-size:clamp(30px,2.4vw,44px)}
 .story-intro p{font-size:15px}
 .story-layout{width:100%;max-width:min(1580px,calc((100svh - 400px)*1.333333 + 422px));grid-template-columns:180px minmax(0,1fr) 194px;gap:24px;margin-inline:auto}
 .story-copy h2{font-size:clamp(25px,2.05vw,36px);line-height:1.12}
 .story-copy{margin-bottom:12px}
 .story-context{margin-bottom:8px;font-size:12px}
 .story-rail-heading{font-size:13px;margin-bottom:10px}
 .story-industry{min-height:52px;padding:8px 10px;font-size:13px}
 .story-industry-list{gap:8px}
 .story-thumbs{display:grid;gap:7px}
 .story-thumb{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:5px}
 .story-thumb>img{width:56px;height:42px;object-fit:contain}
 .story-thumb-number{position:absolute;top:3px;left:3px;width:20px;height:20px;margin:0;font-size:11px;background:var(--dt-navy);color:var(--dt-warm-white)}
 .story-thumb-label{display:block;margin:0;font-size:12px;line-height:1.3}
 .story-controls{margin:10px 0;gap:10px}
 .story-controls button{min-height:44px;font-size:14px}
 .story-position strong{font-size:15px}
 .story-player-bottom{margin-top:10px;gap:10px}
 .story-concept-link{min-height:44px;padding:10px 12px;font-size:13px}
 .story-player-bottom>.text-link{font-size:13px}
 .story-bottom-note{font-size:12px;margin-top:6px}
 .story-explainer{width:min(47%,360px);bottom:12px;left:12px}
 .story-explainer p{font-size:14px;line-height:1.4}
 .story-explainer summary{padding:8px 12px;min-height:36px}
 .story-explainer strong{font-size:12px}
 .story-stage[data-caption-position=top-left] .story-explainer{top:12px}
 .story-stage[data-caption-position=top-right] .story-explainer{top:12px;right:12px}
 .story-stage[data-caption-position=bottom-right] .story-explainer{bottom:62px;right:12px}
}

/* Image-edge navigation is an additional desktop affordance; touch controls remain below. */
.story-image-nav{display:none}
@media(hover:hover) and (pointer:fine){
 .story-image-nav{display:flex;position:absolute;top:50%;transform:translateY(-50%);z-index:4;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:76px;min-height:86px;border:1px solid rgb(255 255 255 / .3);border-radius:4px;background:rgb(9 26 37 / .68);color:#fffdf9;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 180ms ease,background-color 180ms ease;font:12px/1.4 var(--font-body)}
 .story-image-prev{left:12px}.story-image-next{right:12px}.story-image-nav>span:first-child{font:40px/1 Arial,sans-serif}
 .story-stage:hover .story-image-nav,.story-image-nav:focus-visible{opacity:.88;pointer-events:auto}
 .story-image-nav:hover,.story-image-nav:focus-visible{opacity:1;background:rgb(9 26 37 / .93)}
 .story-stage:has(>img[hidden]) .story-image-nav{display:none}
}
