@font-face{font-family:Rubik;src:url(assets/Rubik-800.woff2);font-weight:800;font-display:block}@font-face{font-family:Rubik;src:url(assets/Rubik-700.woff2);font-weight:700;font-display:block}@font-face{font-family:Manrope;src:url(assets/Manrope-400.woff2);font-weight:400;font-display:block}@font-face{font-family:Manrope;src:url(assets/Manrope-600.woff2);font-weight:600;font-display:block}@font-face{font-family:Manrope;src:url(assets/Manrope-800.woff2);font-weight:800;font-display:block}
:root{color-scheme:only light;--paper:#fbf7f2;--ink:#25231f;--orange:#e84e1d;--mint:#4caa9d;--muted:#a48d75;--purple:#8c65a2;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#23221f;color:var(--ink);font-family:Manrope,Arial,sans-serif}h1,h2,h3,p,ol{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ffb179;outline-offset:3px}#viewport{position:absolute;inset:0;overflow:hidden}#stage{position:absolute;left:50%;top:50%;width:1600px;height:900px;margin-left:-800px;margin-top:-450px;transform-origin:center;overflow:hidden;touch-action:pan-y}.slide{position:absolute;inset:0;background:var(--paper);visibility:hidden;opacity:0;pointer-events:none;overflow:hidden;isolation:isolate;transition:opacity .55s,visibility .55s}.slide.active{visibility:visible;opacity:1;pointer-events:auto;z-index:2}header{position:absolute;left:65px;right:65px;top:42px;height:64px;z-index:10}.brand{position:absolute;width:139px;height:61px;left:50%;top:0;transform:translateX(-50%);object-fit:contain;mix-blend-mode:multiply}.eyebrow{display:block;padding-top:17px;color:#8b8378;font-size:12px;font-weight:800;letter-spacing:2.1px}h1,h2,h3{font-family:Rubik,Arial,sans-serif;font-weight:800}h2{position:absolute;left:65px;top:132px;font-size:62px;line-height:1.04;letter-spacing:-2.2px;z-index:5}em{font-style:normal;color:var(--orange)}footer{position:absolute;left:65px;right:65px;bottom:35px;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#a49b8f;z-index:15}.page-no{font-family:Rubik,Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:1px}.micro{font-size:9px;letter-spacing:1.6px;font-weight:800;color:#9d9e89}.reveal{opacity:0;transform:translateY(25px);transition:opacity .55s,transform .7s var(--ease)}.reveal.seen{opacity:1;transform:translateY(0)}.trace{fill:none;stroke:#8aac9d;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 1.1s var(--ease),opacity .3s}.trace.seen{stroke-dashoffset:0;opacity:1}.trace.mint{stroke:var(--mint)}.trace.purple{stroke:#ac95b8}.trace.tan{stroke:#b5a78b}.sprite{background-image:url(assets/kit.png);background-size:300% 300%;background-repeat:no-repeat;mix-blend-mode:multiply;aspect-ratio:1;flex:none}.bottom-note{position:absolute;left:65px;bottom:82px;border-left:2px solid var(--orange);padding:5px 0 5px 20px;color:#a18b72;font-size:13px;line-height:1.7}.bottom-note strong{color:#655c4e;font-weight:800;margin-right:7px}.bottom-note span{font-size:11px}
/* Cover / closing use one consistent heroine and branded plastic card. */
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);animation:camera 14s ease-in-out infinite alternate}@keyframes camera{to{transform:scale(1.045) translateX(-6px)}}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#20241daa 0%,#20241d37 35%,transparent 63%),linear-gradient(0deg,#19251bcc,transparent 70%)}.cover header,.closing header{mix-blend-mode:screen}.cover .brand,.closing .brand{filter:invert(1) grayscale(1);mix-blend-mode:screen;opacity:.9}.cover .eyebrow,.closing .eyebrow{color:#f7ead4bb}.cover footer,.closing footer{color:#e8ddc1bb}.cover-copy{position:absolute;left:75px;bottom:139px;color:#fff1d7}.chapter{font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:24px}.cover h1{font-size:76px;letter-spacing:-3.5px;line-height:.99}.cover h1 em{color:#f87540}.cover-sub{font-size:19px;font-weight:600;line-height:1.6;margin-top:26px}.card-focus{position:absolute;right:285px;bottom:145px;font-size:11px;font-weight:800;letter-spacing:2px;color:#fff0ce;display:flex;align-items:center;gap:15px}.card-focus i{width:12px;height:12px;border-radius:50%;background:#ffe6ab;box-shadow:0 0 22px #f6e1a377}
/* Guest story reads from right to left along an organic wave. */
.journey-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.wave-bed{fill:none;stroke:#f2e9da;stroke-width:65;stroke-linecap:round;opacity:.65}.journey-lines .trace{stroke:var(--orange);stroke-width:2.7}.journey-lines .trace.mint{stroke:var(--mint);stroke-width:2.2}.start-here{position:absolute;right:112px;top:210px;color:#b39571;font-size:11px;letter-spacing:2px;font-weight:800}.start-here b{font-size:36px;font-weight:400;margin-left:15px;vertical-align:middle;color:var(--orange)}.journey-stop{position:absolute;z-index:3;text-align:center}.place-label{font-size:11px;letter-spacing:1.8px;font-weight:800;color:#ac967e}.ticket-stop{left:1110px;top:280px;width:390px}.ticket-art{width:340px;height:280px;margin:15px auto 6px;background-size:300% 300%;mask-image:radial-gradient(ellipse at center,#000 58%,transparent 76%)}.ticket-actions{display:flex;align-items:center;justify-content:center;gap:18px;font-family:Rubik;font-size:24px;letter-spacing:-.8px;white-space:nowrap}.ticket-actions i{font:400 24px Manrope;color:#cdbba3}.ticket-actions b,.journey-stop h3 b{display:inline-grid;place-items:center;width:29px;height:29px;margin-left:7px;border-radius:50%;color:#fff;background:var(--orange);font:800 10px Manrope;letter-spacing:0;vertical-align:middle;box-shadow:0 5px 14px #e84e1d20}.stop-caption{font-size:14px;font-weight:600;color:#a48b70;margin-top:16px;line-height:1.5}.ticket-carriers{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:25px}.ticket-carriers img{width:150px;height:75px;object-fit:contain}.ticket-carriers span{font-size:8px;line-height:1.8;letter-spacing:1.4px;color:#a3886a;text-align:left;font-weight:800}.ride-stop{left:620px;top:309px;width:360px}.ride-art{width:300px;height:300px;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse,#000 55%,transparent 76%);margin-top:10px}.journey-stop h3{font-size:26px;letter-spacing:-.7px;margin-top:1px}.topup-stop{left:100px;top:351px;width:350px}.topup-art{position:relative;height:269px;margin-top:5px}.topup-art svg{position:absolute;left:95px;top:15px;width:220px;height:220px;filter:drop-shadow(0 16px 15px #315f5325)}.topup-art img{position:absolute;left:30px;bottom:20px;width:140px;height:140px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-16deg);mask-image:radial-gradient(ellipse,#000 47%,transparent 73%)}.topup-art span{position:absolute;top:42px;left:83px;background:#58c8b8;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:white;font-size:29px;box-shadow:0 7px 20px #58c8b833}.journey-stop h3 b.green{background:#4eab9d}.repeat-caption{position:absolute;left:410px;top:731px;color:#56aa9b;font-size:10px;letter-spacing:1.4px;font-weight:800}.journey .bottom-note{left:96px}
/* Common geographic artwork; pins are separate editable objects. */
.map-slide h2{font-size:55px;top:143px}.map-board{position:absolute;left:265px;top:212px;width:1310px;height:650px}.terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mix-blend-mode:multiply}.map-pins{position:absolute;inset:0;z-index:4}.map-pin{position:absolute;transform:translate(-50%,-50%);width:var(--size,50px);height:var(--size,50px);pointer-events:none}.map-pin .sprite{position:absolute;inset:0;mask-image:radial-gradient(ellipse,#000 47%,transparent 73%)}.map-pin .wheel-model{position:absolute;inset:-23px -13px -2px;width:calc(100% + 26px);height:calc(100% + 21px);object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse,#000 46%,transparent 73%)}.map-number{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);width:27px;height:27px;border:1px solid #e4dfd2;border-radius:50%;background:#fffdf6;color:#6c6452;box-shadow:0 2px 6px #4b3a1920;display:grid;place-items:center;font-family:Rubik;font-size:13px;font-weight:700;z-index:6}.map-pin.small .map-number{width:18px;height:18px;font-size:9px;top:72%;box-shadow:0 1px 3px #4b3a1922}.map-pin.no-model .map-number{top:50%}.map-legend{position:absolute;left:65px;top:314px;width:220px;z-index:5}.map-legend>p{font-size:8px;letter-spacing:1.3px;color:#a49580;font-weight:800;margin-bottom:20px}.map-legend ol{list-style:none;padding:0}.map-legend li{display:flex;align-items:flex-start;gap:11px;min-height:30px;font-size:14px;font-weight:600;color:#625b4e}.map-legend .legend-number{border-radius:50%;border:1px solid #d9d3c7;background:#fffdf7;flex:none;width:19px;height:19px;font-size:10px;display:grid;place-items:center;font-family:Rubik}.map-legend small{display:block;font-size:8px;color:#b6a48b;line-height:1.5;font-weight:400;margin-top:2px}.map-legend li.has-note{margin-bottom:6px}.map-slide footer{font-size:8px}#route-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none}.guest-route{visibility:hidden}.guest-route.shown{visibility:visible}.route-halo,.route-ink{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.route-halo{stroke:#fff7e9;stroke-width:9;opacity:.95}.route-ink{stroke:var(--route-color);stroke-width:5.6}.route-head{fill:#fff9e9;stroke:var(--route-color);stroke-width:2}.route-traveller{display:none}.guest-route.playing .route-traveller{display:block}.route-panel{position:absolute;right:88px;top:142px;width:365px;border-left:2px solid #b0c4bc;padding-left:14px;z-index:7;color:#9a8d75}.route-panel>b{display:block;font:800 10px Manrope;letter-spacing:1px;color:var(--mint)}.route-panel>p{font-size:10px;font-weight:600;line-height:1.6;margin-top:7px;max-width:350px}.route-panel>span{display:block;font-size:8px;letter-spacing:1.2px;font-weight:800;margin-top:9px;color:#ab9d86}.route-key{display:flex;gap:18px;margin-top:9px;font-size:7px;letter-spacing:.6px;font-weight:800}.route-key span{display:flex;align-items:center;gap:5px}.route-key i{width:17px;height:3px;border-radius:3px;background:#ed6c2f}.route-key span+span i{background:#72c7f2}
/* One central hub, six tool groups and the guest carriers. */
.system-slide,.service-slide,.future-slide{background:radial-gradient(ellipse at 50% 55%,#fcf4e7,#fbf7f2 70%)}.system-lines,.future-lines{position:absolute;inset:0;width:100%;height:100%}.system-lines .trace{stroke-width:1.8}.system-hub{position:absolute;left:637px;top:331px;width:326px;height:326px;border-radius:50%;background:linear-gradient(140deg,#ff9b67,#e84e1d);border:10px solid #ffe6cf;box-shadow:0 14px 45px #d26a3225;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff7dc}.system-hub>p{font-size:8px;letter-spacing:1.2px;font-weight:800;margin-bottom:19px;opacity:.75}.system-hub h3{font-size:37px;line-height:.98;letter-spacing:-1.4px}.system-hub>span{font-size:9px;margin-top:20px;font-weight:600;opacity:.8}.system-node{position:absolute;display:flex;align-items:center;gap:10px;width:440px;height:150px}.system-node>.sprite,.pos-art,.sport-art{width:170px;height:150px;mask-image:radial-gradient(ellipse,#000 52%,transparent 75%)}.system-node h3{font-size:25px;line-height:1.08;letter-spacing:-.8px;margin-top:10px}.system-node p{font-size:11px;font-weight:600;line-height:1.5;color:#9b8a72;margin-top:15px}.node-cash{left:63px;top:298px}.node-entry{left:63px;top:475px}.node-internal{left:63px;top:650px}.node-attractions{left:1057px;top:298px}.node-pos{left:1057px;top:475px}.node-sports{left:1057px;top:650px}.purple-text{color:var(--purple)}.proposed{display:inline-block;border:1px solid #d2c9b9;padding:4px 6px;font-size:7px;letter-spacing:1px;color:#a18e73;font-weight:800}.pos-art{position:relative;flex:none;overflow:hidden}.pos-art>svg{position:absolute;right:12px;top:5px;width:80px;height:132px;transform:rotate(-15deg)}.pos-art>img{position:absolute;left:0;top:49px;width:104px;height:104px;object-fit:contain;mix-blend-mode:multiply;z-index:2}.sport-art svg{width:100%;height:100%}.system-carriers{position:absolute;left:664px;top:674px;width:285px;height:143px;object-fit:contain}.system-carriers-caption{position:absolute;left:652px;top:821px;width:310px;text-align:center;font-size:7px;letter-spacing:1.2px;color:#ad9780;font-weight:800}
/* Service geography / cashier example. */
.service-key{position:absolute;left:66px;top:278px;font-size:8px;letter-spacing:1px;color:#a7957d;display:flex;gap:18px}.service-map{left:10px;top:300px;width:1075px;height:515px}.service-map .map-pin .map-number{width:24px;height:24px;font-size:11px;border:2px solid #e9c5a3;color:#ba7038}.service-map .map-pin.small .map-number{border-color:#baa5ca;color:var(--purple);width:21px;height:21px;font-size:13px}.service-stats{position:absolute;left:1133px;top:303px;width:378px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-stats article{background:#fff9edb0;padding:13px 10px 15px;border-radius:5px;min-height:162px}.service-stats b{font-family:Rubik;font-weight:800;font-size:43px;color:#d8753d;letter-spacing:-1px}.service-stats article:last-child b{color:var(--purple)}.service-stats h3{font-size:15px;line-height:1.2;letter-spacing:-.2px;margin-top:9px}.service-stats p{font-size:5.5px;color:#baa58a;letter-spacing:.7px;line-height:1.8;margin-top:12px;font-weight:800}.cashier-scene{position:absolute;left:1132px;top:472px;width:379px}.cashier-scene .sprite{width:379px;height:280px;mask-image:radial-gradient(ellipse,#000 55%,transparent 77%)}.cashier-scene h3{font-size:24px;letter-spacing:-.8px;color:#6b5b46;margin-top:-2px}.cashier-scene p{font-size:12px;line-height:1.6;color:#a08a6d;margin-top:10px}.service-slide .bottom-note{left:65px;bottom:79px;font-size:13px}
/* Optional future module has no live guest data. */
.future-tag{position:absolute;right:80px;top:170px;border:1px solid #d9cbb3;border-radius:20px;padding:8px 13px;font-size:8px;letter-spacing:1.2px;font-weight:800;color:#b1946b}.future-phone{position:absolute;left:570px;top:312px;width:475px;height:460px;mask-image:radial-gradient(ellipse,#000 55%,transparent 77%)}.future-feature{position:absolute;display:flex;gap:25px;width:390px;align-items:center}.future-feature.staff{left:78px;top:362px}.future-feature.profile{left:78px;top:626px}.future-feature.feedback{left:1128px;top:362px}.future-feature.online{left:1128px;top:626px}.feature-icon{width:70px;height:78px;border:6px solid #79b9a5;border-radius:15px;background:#f9f0d9;box-shadow:5px 8px 0 #d9d2b8,0 15px 25px #59745310;display:grid;place-items:center;font:700 55px Rubik;color:#e59d6b;transform:rotate(-8deg);flex:none}.feature-icon.profile-icon{border:0;border-radius:35px;background:radial-gradient(circle at 40% 30%,#e6d6a8,#b0c5a3);color:#6e9b79;font-size:58px;box-shadow:none}.feature-icon.chat-icon{height:55px;width:74px;border:0;border-radius:12px;background:#f6a569;color:#fff0d3;font-size:39px;transform:rotate(5deg)}.feature-icon.card-icon{height:47px;width:75px;border:0;border-radius:8px;background:#8cc5b3;color:#e7e9c9;font-size:43px;transform:rotate(17deg)}.future-feature h3{font-size:24px;letter-spacing:-.7px;color:#76624a;margin-top:12px;line-height:1.1}.future-feature p{font-size:13px;font-weight:600;line-height:1.8;color:#a28d72;margin-top:17px}.future-feature .micro{font-size:7px;letter-spacing:1.3px}.future-slide .bottom-note{bottom:80px}.concept-label{position:absolute;right:392px;bottom:101px;font-size:6px;color:#b5a489;font-weight:800;letter-spacing:1.4px}
/* Expected outcome retains the same approved visual identity. */
.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102a22f2 0%,#112c25e0 35%,#112c2580 57%,#112c2544 100%),linear-gradient(0deg,#12291dbb,transparent 75%)}.closing h2{color:#fff0d6;font-size:73px;top:154px;left:79px;letter-spacing:-3px;line-height:1.01}.closing h2 em{color:#f59d69}.closing-benefits{position:absolute;left:80px;top:500px;display:grid;grid-template-columns:320px 370px;gap:55px;width:745px}.closing-benefits .micro{font-size:10px;letter-spacing:1.8px;color:#a5c8ad}.closing-benefits h3{font-size:29px;letter-spacing:-.7px;color:#fff1d8;margin-top:24px}.closing-benefits p{font-size:18px;line-height:1.9;font-weight:600;color:#d0d6bf;margin-top:23px}.closing-signoff{position:absolute;left:80px;bottom:110px;color:#edbf8e;font-size:18px;display:flex;gap:20px;align-items:center;font-weight:800}.closing-signoff i{width:52px;height:2px;background:#eab57c}.closing footer{font-size:9px;color:#c0c7b3}
/* Viewer controls stay independent of the scaled slide canvas. */
#controls{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;width:max-content;max-width:calc(100vw - 16px);padding:5px 8px;background:#192f27ee;border:1px solid #e2c39333;box-shadow:0 6px 23px #0004;border-radius:10px;color:#ebddc1;z-index:50}#controls button{border:0;background:transparent;color:inherit;padding:7px 11px;border-radius:5px;font:13px Arial;white-space:nowrap}#controls button:hover{background:#f5e4c41a}#controls button:disabled{opacity:.3;cursor:default}#controls .on{color:#ffc489}#controls>i{width:1px;height:20px;background:#e7cba333;margin:0 6px}#counter{font:11px Arial;min-width:90px;text-align:center}#help{position:fixed;top:9px;left:50%;transform:translateX(-50%);font:11px Arial;color:#dbc9a5;z-index:50;text-align:center;pointer-events:none;animation:help-fade 10s both;white-space:nowrap}@keyframes help-fade{0%,55%{opacity:.9}100%{opacity:0}}body.clean #controls,body.clean #help{display:none}@media(max-width:600px){#controls button{padding:7px 9px;font-size:12px}#controls>i{display:none}#help{white-space:normal;width:90%;font-size:10px}}@media(max-height:500px){body:not(.clean) #viewport{bottom:66px}#help{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.hero-image{transform:none}}@media print{@page{size:1600px 900px;margin:0}html,body{height:auto;overflow:visible;background:var(--paper)}#viewport{position:static;overflow:visible}#stage{position:static;margin:0;height:auto;transform:none!important;overflow:visible}.slide{position:relative;height:900px;opacity:1;visibility:visible;break-after:page;print-color-adjust:exact;-webkit-print-color-adjust:exact}.reveal{opacity:1;transform:none}.trace{opacity:1;stroke-dashoffset:0}#controls,#help{display:none}}
.map-pin.reveal{transform:translate(-50%,calc(-50% + 25px))}.map-pin.reveal.seen{transform:translate(-50%,-50%)}
.map-legend li{font-size:16px}.start-here svg{width:32px;height:32px;vertical-align:middle;color:var(--orange);margin-left:14px}
.future-phone{background-position:0% 95%!important;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
#controls a{display:block;border-radius:5px;padding:7px 10px;font:17px Arial;color:inherit;text-decoration:none}#controls a:hover{background:#f5e4c41a}#controls a:focus-visible{outline:3px solid #ffb179;outline-offset:3px}

/* IT-1: keep requested light slides bright, including automatic browser dark mode. */
body.light-canvas{background:#fffdf8}
.map-slide,.service-slide,.future-slide{background:#fffdf8;color:#25231f}
.map-slide .terrain,.service-slide .terrain{mix-blend-mode:normal;filter:brightness(1.16) contrast(.92) saturate(.88)}
.map-slide .map-pin .sprite,.service-slide .map-pin .sprite,.map-slide .wheel-model,.service-slide .wheel-model{filter:brightness(1.1) saturate(.92)}
.future-slide .future-phone{filter:brightness(1.1) saturate(.94)}
.future-slide .future-feature h3{color:#62523f}
.future-slide .future-feature p{color:#8c775e}

/* IT-1: photo-based controller, then guest carriers on the final click. */
.controller-node{position:absolute;left:575px;top:662px;width:250px;height:160px}
.controller-node img{position:absolute;left:0;top:0;width:115px;height:160px;object-fit:contain}
.controller-node h3{position:absolute;left:110px;top:66px;font-size:24px;line-height:1.08;letter-spacing:-.8px;color:#5e5548}
.system-carriers{left:835px;top:705px;width:225px;height:112px}
.system-carriers-caption{left:800px;top:821px;width:290px}

/* Sixth slide only: white canvas and brighter unblended concept illustration. */
.future-slide{background:#fff!important;background-image:none!important;color-scheme:only light}
.future-slide .future-phone{mix-blend-mode:normal;filter:contrast(.96) brightness(1.16) saturate(.94)}
.future-slide .feature-icon{filter:brightness(1.07)}
.future-slide .future-feature h3{color:#383c35}
.future-slide .future-feature p{color:#696252}

/* Approved penultimate risk slide: original draft composition. */
.risk-slide{--risk:#b84632;color:#29251f;position:absolute;inset:0;background:radial-gradient(ellipse at 20% 67%,#f1dfcf66,transparent 36%),var(--paper);isolation:isolate;overflow:hidden}.risk-slide header{position:absolute;left:65px;right:65px;top:42px;height:64px}.risk-slide .eyebrow{display:block;padding-top:17px;color:#8b8378;font-size:12px;font-weight:800;letter-spacing:2.1px}.risk-slide .brand{position:absolute;width:139px;height:61px;left:50%;top:0;transform:translateX(-50%);object-fit:contain;mix-blend-mode:multiply}.risk-heading{position:absolute;left:65px;top:140px;width:490px;z-index:2}.risk-kicker{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:800;letter-spacing:1.6px;color:#ac5a43}.risk-kicker i{width:21px;height:2px;background:var(--risk)}.risk-heading h1{font:800 73px/.99 Rubik,Arial,sans-serif;letter-spacing:-3.1px;margin-top:22px}.risk-heading h1 em{font-style:normal;color:var(--risk)}.risk-heading>p{font-size:18px;line-height:1.65;color:#8b725c;font-weight:600;margin-top:23px}.risk-hero{position:absolute;left:10px;top:435px;width:525px;height:350px;object-fit:contain;z-index:1}.risk-context{position:absolute;left:91px;top:791px;font-size:8px;line-height:1.9;letter-spacing:1.9px;color:#b49b83;font-weight:800}.risk-context strong{color:#a76b54;font-weight:800}.potential-tag{position:absolute;right:65px;top:164px;display:flex;gap:9px;align-items:center;font-size:8px;letter-spacing:1.5px;font-weight:800;color:#ad7157;padding:9px 13px;border:1px solid #dec7b7;border-radius:30px}.potential-tag span{width:5px;height:5px;border-radius:50%;background:#bc5740;box-shadow:0 0 0 3px #bc574013}.risk-grid{position:absolute;left:590px;right:65px;top:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.risk-card{position:relative;height:174px;padding:23px 21px 20px;background:linear-gradient(135deg,#fffdfa,#fff8f1);border:1px solid #e9dace;border-radius:14px;box-shadow:0 7px 22px #6c3c2510;overflow:hidden}.risk-card:after{content:'';position:absolute;left:22px;bottom:0;width:37px;height:2px;background:#c97652;opacity:.7}.risk-card-head{display:flex;align-items:center;gap:14px;padding-right:8px}.risk-icon{flex:none;width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#fff0df,#efd4bc);box-shadow:2px 3px 0 #e4c6b0,0 7px 13px #a6632f0d;color:#b94f35}.risk-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.risk-card h2{position:static;margin:0;z-index:auto;font:800 22.5px/1.18 Rubik,Arial,sans-serif;letter-spacing:-.55px}.risk-card p{font-size:16px;font-weight:600;line-height:1.55;color:#806d5a;margin-top:16px;letter-spacing:-.04px}.risk-number{position:absolute;right:14px;top:10px;color:#c8a78c;font-size:7px;letter-spacing:1px;font-weight:800}.risk-takeaway{position:absolute;left:590px;right:65px;top:798px;padding-top:16px;border-top:1px solid #dfccba;font-size:16px;line-height:1.4;color:#9b7c61;display:flex;gap:5px;align-items:center;white-space:nowrap}.risk-takeaway strong{font-weight:800;color:#b55035}.risk-takeaway>span{width:18px;height:3px;background:#c16443;margin-right:9px;flex:none}

/* One unobtrusive language switch, shown only on the cover. This overlay is
   outside the scaled canvas so it remains usable on a phone. */
#language-toggle{position:absolute;right:65px;bottom:82px;z-index:25;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:5px 11px;border:1px solid #f6ead442;border-radius:24px;background:#23382d91;backdrop-filter:blur(7px);color:#f9edd8;font:600 11px Manrope,Arial,sans-serif;direction:ltr;box-shadow:0 2px 12px #0001}
#language-toggle[hidden]{display:none}
#language-toggle>span:last-child{font:700 13px Cairo,Arial,sans-serif}
#language-toggle i{display:block;position:relative;width:29px;height:16px;border:1px solid #efdfbd77;border-radius:12px;background:#f5e7c822}
#language-toggle i b{position:absolute;left:3px;top:3px;width:8px;height:8px;border-radius:50%;background:#f6cf9a;transition:transform .2s}
#language-toggle[aria-checked=true] i b{transform:translateX(13px)}
#language-toggle:hover{background:#23382dc9;border-color:#f6ead488}
#language-toggle:focus-visible{outline:2px solid #ffd1a7;outline-offset:4px}
@media(max-width:600px){#language-toggle{gap:8px;padding:4px 9px;font-size:10px;min-height:36px}#language-toggle>span:last-child{font-size:12px}}
@media print{#language-toggle{display:none}}

/* Arabic uses the original Cairo face. Geographic objects, route order and
   illustrations keep their approved coordinates; text receives RTL layout. */
@font-face{font-family:Cairo;src:url(assets/Cairo-700.ttf) format('truetype');font-weight:400 700;font-display:block}
@font-face{font-family:Cairo;src:url(assets/Cairo-900.ttf) format('truetype');font-weight:800 900;font-display:block}
#stage{direction:ltr}
html:lang(ar) #stage{font-family:Cairo,Arial,sans-serif}
html:lang(ar) [data-i18n]{direction:rtl;letter-spacing:0;text-align:right;font-family:Cairo,Arial,sans-serif}
html:lang(ar) h1,html:lang(ar) h2,html:lang(ar) h3{font-family:Cairo,Arial,sans-serif;font-weight:900;letter-spacing:0}
html:lang(ar) h2{line-height:1.3;font-size:59px}
html:lang(ar) .eyebrow{font-size:14px;padding-top:14px}
html:lang(ar) footer>span:first-child{font-size:12px}
html:lang(ar) .cover-copy{width:590px}
html:lang(ar) .cover h1{font-size:66px;line-height:1.32}
html:lang(ar) .chapter{font-size:15px;margin-bottom:16px}
html:lang(ar) .cover-sub{font-size:22px;line-height:1.65;margin-top:17px}
html:lang(ar) .card-focus{font-size:15px;gap:12px}
html:lang(ar) .journey h2{width:670px}
html:lang(ar) .start-here{font-size:15px}
html:lang(ar) .journey-stop [data-i18n]{text-align:center}
html:lang(ar) .place-label{font-size:15px}
html:lang(ar) .ticket-actions{gap:12px}
html:lang(ar) .ticket-actions>span{font-size:25px;white-space:nowrap}
html:lang(ar) .ticket-actions b,html:lang(ar) .journey-stop h3 b{margin-left:0;margin-right:7px}
html:lang(ar) .journey-stop h3{font-size:29px}
html:lang(ar) .stop-caption{font-size:16px}
html:lang(ar) .ticket-carriers span{font-size:12px}
html:lang(ar) .repeat-caption{font-size:14px}
html:lang(ar) .bottom-note{border-left:0;border-right:2px solid var(--orange);padding:5px 20px 5px 0;font-size:16px;line-height:1.65}
html:lang(ar) .bottom-note span{font-size:14px}
html:lang(ar) .bottom-note strong{margin-right:0;margin-left:7px}
html:lang(ar) .map-slide h2{font-size:48px;max-width:1000px}
html:lang(ar) .map-legend>p{font-size:13px}
html:lang(ar) .map-legend li{direction:rtl;font-family:Cairo,Arial,sans-serif;font-size:18px;line-height:1.55;min-height:31px;text-align:right}
html:lang(ar) .map-legend small{font-family:Cairo,Arial,sans-serif;font-size:11px}
html:lang(ar) .map-legend .legend-number,html:lang(ar) .map-number,html:lang(ar) .page-no{direction:ltr;font-family:Rubik,Arial,sans-serif}
html:lang(ar) .route-panel{direction:rtl;border-left:0;border-right:2px solid #b0c4bc;padding-left:0;padding-right:14px}
html:lang(ar) .route-panel>b{font-family:Cairo,Arial,sans-serif;font-size:14px;letter-spacing:0}
html:lang(ar) .route-panel>p{font-size:13px;line-height:1.65}
html:lang(ar) .route-panel>span{font-size:11px;letter-spacing:0}
html:lang(ar) .route-key{font-size:10px;gap:14px}
html:lang(ar) .system-slide h2{width:530px}
html:lang(ar) .system-hub [data-i18n]{text-align:center}
html:lang(ar) .system-hub>p{font-size:13px;margin-bottom:15px}
html:lang(ar) .system-hub h3{font-size:42px;line-height:1.35}
html:lang(ar) .system-hub>span{font-size:12px;margin-top:15px}
html:lang(ar) .system-node>div:last-child{flex:1;min-width:0;direction:rtl}
html:lang(ar) .system-node .micro{font-size:11px;white-space:nowrap}
html:lang(ar) .system-node h3{font-size:27px;line-height:1.35;margin-top:7px}
html:lang(ar) .system-node p{font-size:12px;line-height:1.7;margin-top:8px}
html:lang(ar) .proposed{font-size:11px}
html:lang(ar) .controller-node h3{font-size:23px;white-space:nowrap;top:63px}
html:lang(ar) .system-carriers-caption{font-size:10px;text-align:center}
html:lang(ar) .service-key{font-size:12px}
html:lang(ar) .service-stats h3{font-size:20px;line-height:1.3;margin-top:7px}
html:lang(ar) .service-stats p{font-size:10px;line-height:1.6;margin-top:8px}
html:lang(ar) .service-stats article{min-height:174px}
html:lang(ar) .cashier-scene h3{font-size:29px}
html:lang(ar) .cashier-scene p{font-size:16px}
html:lang(ar) .service-slide .bottom-note{font-size:16px;max-width:990px}
html:lang(ar) .future-slide h2{width:530px}
html:lang(ar) .future-tag{font-size:12px}
html:lang(ar) .future-feature>div:last-child{flex:1;min-width:0;direction:rtl}
html:lang(ar) .future-feature .micro{font-size:10px}
html:lang(ar) .future-feature h3{font-size:27px;line-height:1.4;margin-top:8px}
html:lang(ar) .future-feature p{font-size:15px;line-height:1.8;margin-top:11px}
html:lang(ar) .future-slide .concept-label{font-size:10px;right:150px}
html:lang(ar) .closing h2{font-size:66px;line-height:1.3;width:700px}
html:lang(ar) .closing-benefits .micro{font-size:15px}
html:lang(ar) .closing-benefits h3{font-size:32px;line-height:1.4;margin-top:15px}
html:lang(ar) .closing-benefits p{font-size:22px;line-height:1.8;margin-top:16px}
html:lang(ar) .closing-signoff{font-size:22px}
html:lang(ar) #controls{font-family:Cairo,Arial,sans-serif;direction:ltr}
html:lang(ar) #controls button{font-family:Cairo,Arial,sans-serif;line-height:1.5}
html:lang(ar) #counter{direction:ltr}
html:lang(ar) #help{direction:rtl;font-family:Cairo,Arial,sans-serif;letter-spacing:0}
/* Extra breathing room for the longer Arabic service captions. */
html:lang(ar) .journey-stop .stop-caption{position:relative;display:inline-block;background:var(--paper);padding:0 4px}
html:lang(ar) .repeat-caption{top:758px}
html:lang(ar) .service-slide h2{font-size:52px;line-height:1.23}
html:lang(ar) .service-map{left:40px;top:295px;transform:scale(.9);transform-origin:top left}
html:lang(ar) .service-slide .bottom-note{top:775px;bottom:auto;max-width:1020px;font-size:15px}
html:lang(ar) .cashier-scene .sprite{height:250px}
html:lang(ar) .service-stats b{font-family:Rubik,Arial,sans-serif}

/* Arabic risk slide: the same six impacts, read right to left. */
html:lang(ar) .risk-heading{width:490px}
html:lang(ar) .risk-kicker{font-size:12px}
html:lang(ar) .risk-heading h1{font-family:Cairo,Arial,sans-serif;font-weight:900;font-size:58px;line-height:1.22;letter-spacing:0;margin-top:18px}
html:lang(ar) .risk-heading>p{font-size:17px;line-height:1.65;margin-top:18px}
html:lang(ar) .risk-context{font-size:12px;line-height:1.8}
html:lang(ar) .potential-tag{font-size:12px}
html:lang(ar) .risk-grid{direction:rtl}
html:lang(ar) .risk-card-head{direction:rtl;padding-right:0;padding-left:8px}
html:lang(ar) .risk-card h2{position:static;font-family:Cairo,Arial,sans-serif;font-weight:900;font-size:22px;line-height:1.4;letter-spacing:0}
html:lang(ar) .risk-card p{font-size:16px;line-height:1.6;margin-top:12px}
html:lang(ar) .risk-card:after{left:auto;right:22px}
html:lang(ar) .risk-number{direction:ltr}
html:lang(ar) .risk-takeaway{font-size:18px;line-height:1.6;white-space:normal;gap:7px}
html:lang(ar) .risk-takeaway>span{margin-right:0;margin-left:9px}
