.duo-section{background:var(--travel-panel);border-block:1px solid var(--travel-line);margin-top:30px}
.duo-inner{padding-block:90px}
.duo-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:65px;margin-bottom:48px}
.duo-heading h2{max-width:590px}.duo-heading .chapter{margin-bottom:24px}
.duo-intro{max-width:420px;padding-bottom:7px}.duo-intro>p{font-size:15px;line-height:1.9}
.duo-compatibility{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:11px;color:var(--travel-ink);border-top:1px solid var(--travel-line);padding-top:17px}.duo-compatibility>.icon{width:16px;height:16px}
.duo-intro>.duo-upcoming{font-size:12px;line-height:1.75;margin-top:13px;max-width:360px;color:var(--travel-ink)}
.duo-demo{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:center}
.duo-controls>.micro{color:var(--travel-muted);font-size:9px;letter-spacing:.13em;margin-bottom:14px}
.duo-choices{display:grid;border-top:1px solid var(--travel-line)}
.duo-choices[hidden]{display:none}
.duo-choices button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;min-height:92px;padding:20px 10px 20px 0;background:transparent;border:0;border-bottom:1px solid var(--travel-line);color:var(--travel-muted);cursor:pointer}
.duo-choice-number{align-self:flex-start;padding-top:3px;font:9px ui-monospace,monospace;color:var(--travel-muted)}
.duo-choices button>span:nth-child(2){flex:1;min-width:0}.duo-choices strong{display:block;font-size:13px;font-weight:550;line-height:1.5}.duo-choices small{display:block;font-size:10px;line-height:1.6;margin-top:3px}
.duo-choices button>.icon{width:16px;height:16px;flex-shrink:0;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.duo-choices button[aria-pressed=true]{color:var(--travel-ink);border-bottom-color:var(--travel-accent)}.duo-choices button[aria-pressed=true] .duo-choice-number{color:var(--travel-accent)}.duo-choices button[aria-pressed=true]>.icon{opacity:1;transform:none}.duo-choices button:hover{color:var(--travel-accent)}
.duo-live>p,.duo-no-js{font-size:12px;line-height:1.85;margin-top:20px;max-width:280px}.duo-live{min-height:88px}
.duo-stage{min-width:0;min-height:550px;display:flex;align-items:center;justify-content:center;position:relative;padding:28px 32px 53px;border:1px solid var(--travel-line);background:var(--travel-paper);overflow:hidden}
.duo-stage::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,var(--travel-panel),transparent 72%);pointer-events:none}
.duo-view{margin:0;position:relative;width:100%;max-width:620px;min-width:0}.duo-view[hidden]{display:none}
.duo-view[data-duo-view=exterior] .duo-device{max-width:285px}
.duo-view figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:10px;line-height:1.6;color:var(--travel-muted)}
.duo-view figcaption>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--travel-ink)}.duo-view figcaption>a>.icon{width:13px;height:13px}.duo-view figcaption>a:hover{color:var(--travel-accent)}
.duo-stage-label{position:absolute;bottom:17px;left:0;right:0;text-align:center;font:8px ui-monospace,monospace;letter-spacing:.15em;color:var(--travel-muted)}
.duo-provenance{font-size:10px;line-height:1.8;max-width:800px;margin:18px 0 0 auto;text-align:right}
.duo-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:46px;padding-top:35px;border-top:1px solid var(--travel-line)}
.duo-features>div>.icon{color:var(--travel-accent);width:20px;height:20px;margin-bottom:14px}.duo-features h3{font-family:var(--sans);font-size:13px;font-weight:550;line-height:1.5;letter-spacing:0}.duo-features p{font-size:11px;line-height:1.85;margin-top:8px;max-width:290px}
.home-page .duo-launch-link{color:var(--travel-accent);border-bottom-color:currentColor}
@media(max-width:1100px){.duo-heading{gap:35px}.duo-demo{grid-template-columns:240px minmax(0,1fr);gap:30px}.duo-stage{padding-inline:22px;min-height:480px}.duo-view[data-duo-view=exterior] .duo-device{max-width:240px}.duo-view figcaption{font-size:9px}}
@media(max-width:800px){.duo-inner{padding-block:65px}.duo-heading{grid-template-columns:1fr;gap:26px;margin-bottom:30px}.duo-intro{max-width:590px}.duo-intro>p{font-size:14px}.duo-demo{grid-template-columns:1fr;gap:15px}.duo-controls>.micro{margin-bottom:10px}.duo-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;border-top:0}.duo-choices button{display:block;min-height:100px;padding:15px 2px 13px;border-top:1px solid var(--travel-line)}.duo-choice-number{display:block;margin-bottom:8px}.duo-choices button>.icon,.duo-choices small{display:none}.duo-choices strong{font-size:12px}.duo-live{min-height:65px}.duo-live>p{max-width:560px;margin-top:14px;font-size:12px}.duo-stage{min-height:495px;padding-inline:25px}.duo-view[data-duo-view=exterior] .duo-device{max-width:250px}.duo-provenance{text-align:left;margin-top:15px}.duo-features{gap:25px}}
@media(max-width:500px){.duo-inner{padding-block:50px}.duo-heading .chapter{font-size:9px;gap:13px}.duo-choices{gap:11px}.duo-choices strong{font-size:11px}.duo-stage{min-height:380px;padding:25px 14px 43px}.duo-view[data-duo-view=exterior] .duo-device{max-width:210px}.duo-view figcaption{align-items:flex-start;gap:10px;margin-top:13px;font-size:9px}.duo-view figcaption>a{max-width:130px;align-items:flex-start;min-height:44px;line-height:1.6}.duo-view figcaption>a>.icon{margin-top:2px;flex-shrink:0}.duo-features{grid-template-columns:1fr;gap:25px;margin-top:30px;padding-top:28px}.duo-features>div{display:grid;grid-template-columns:23px minmax(0,1fr);column-gap:15px}.duo-features>div>.icon{grid-row:1/3;margin:1px 0 0}.duo-features p{grid-column:2;max-width:none;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.duo-choices button>.icon{transition:none}}

/* Body proportions: Apple tech specs. Screen corners: Xcode Duo display profile. */
.duo-device{position:relative;width:100%;margin-inline:auto;filter:drop-shadow(0 3px 2px #08101428) drop-shadow(0 20px 19px #10272a26)}
.duo-chassis,.duo-leaf{box-sizing:border-box;background:linear-gradient(112deg,#555958,#e1e0d7 .7%,#8e918c 1.2%,#343937 2%,#101413 3%,#090d0c 96%,#858a83 98.3%,#d0d0c6 99%,#444945);border:1px solid #646b65;box-shadow:inset 0 1px 0 #efeee4b3,inset 0 -1px 0 #dddcd180,inset 0 0 0 2px #151a18,inset 0 0 0 3px #bac0b52e,0 1px 0 #111713}
.duo-chassis{position:relative;aspect-ratio:164.6/117.8;padding:2.6% 2.4%;border-radius:7% / 9.8%}
.duo-display{position:relative;width:100%;height:100%;overflow:hidden;background:#020608;border-radius:5.78% / 8.22%;box-shadow:0 0 0 1px #000,0 0 0 2px #b9c2b51c}
.duo-display::before{content:'';position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff18;pointer-events:none}
.duo-display picture,.duo-display img{display:block;width:100%;height:100%}.duo-display img{object-fit:contain}
.duo-device--exterior .duo-chassis{aspect-ratio:84.1/117.8;padding:3.2% 4.1%;border-radius:3% 17% 17% 3% / 2.1% 12.1% 12.1% 2.1%}
.duo-device--exterior .duo-chassis::before{content:'';position:absolute;left:-5px;top:1.2%;bottom:1.2%;width:6px;border:1px solid #565c56;border-radius:3px;background:linear-gradient(90deg,#1a201d,#bbbdb2 25%,#5e665e 45%,#222a24 65%,#989c90 90%);box-shadow:-1px 0 0 #d5d5c759,1px 0 1px #000}
.duo-device--exterior .duo-chassis::after{content:'';position:absolute;inset:-2px -3px -3px 1px;z-index:-1;border:1px solid #a9ada180;border-radius:inherit;background:linear-gradient(110deg,#c8cabd,#282e29 10%,#62695f 90%,#bec0b3);box-shadow:0 1px 0 #0a100b}
.duo-device--exterior .duo-display{border-radius:1.72% 12.66% 12.66% 1.72% / 1.18% 8.70% 8.70% 1.18%}
.duo-hardware{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.duo-button{position:absolute;box-sizing:border-box;height:3px;top:-3px;border:1px solid #535a51;border-radius:2px 2px 0 0;background:linear-gradient(#d5d7cb,#8d9386 45%,#30392e);box-shadow:0 -1px 0 #e8e9dd66}
.duo-button--camera{left:15.5%;width:8%}
.duo-button--volume-up{left:72%;width:6%}
.duo-button--volume-down{left:80%;width:6%}
.duo-button--touch{left:100%;top:28%;height:16%;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(90deg,#343d32,#a5ad9b 55%,#626c59);box-shadow:1px 0 0 #e4e8db40}
.duo-hardware--left .duo-button--camera{left:31%;width:16%}
.duo-hardware--right .duo-button--volume-up{left:44%;width:12%}
.duo-hardware--right .duo-button--volume-down{left:60%;width:12%}
.duo-antenna{position:absolute;opacity:.8}
.duo-antenna--top,.duo-antenna--bottom{left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent 1%,#1c251c 1% 1.6%,transparent 1.6% 37%,#1c251c 37% 37.6%,transparent 37.6% 62.4%,#1c251c 62.4% 63%,transparent 63% 98.4%,#1c251c 98.4% 99%,transparent 99%)}
.duo-antenna--top{top:0}.duo-antenna--bottom{bottom:0;left:17%;right:17%}
.duo-antenna--side{inset:12% -1px;width:auto;background:linear-gradient(#182218 0 1%,transparent 1% 99%,#182218 99%);mask:linear-gradient(90deg,#000 0 2px,transparent 2px calc(100% - 2px),#000 calc(100% - 2px))}
.duo-rim{position:absolute;inset:0;border-radius:inherit;border-top:1px solid #f0f1df66;border-bottom:1px solid #c4cabb59;box-shadow:0 2px 0 #131c1580;pointer-events:none}
.duo-camera{position:absolute;z-index:3;top:5.5%;right:5.9%;width:7.3%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 49% 50%,#151e27 0 16%,#080d12 23% 33%,#1b2426 39%,#010302 48% 69%,#252b25 73%,#050806 82%);box-shadow:0 0 0 1px #131c15,0 1px 1px #ffffff10;pointer-events:none}
.duo-camera::after{content:'';position:absolute;left:35%;top:25%;width:22%;height:13%;border-radius:50%;background:#627d9254;filter:blur(.4px)}
.duo-device--interior .duo-display::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 48.8%,#0b161806 49.6%,#ffffff08 50%,#0b161808 50.4%,transparent 51.2%)}
.duo-cover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#020608;opacity:1}
.duo-cover-video:not([controls]):not([data-ready]){opacity:0;pointer-events:none}
.duo-book{display:flex;aspect-ratio:164.6/117.8;perspective:1100px;transform-style:preserve-3d}
.duo-leaf{position:relative;width:50%;height:100%;padding:2.6% 2.4%;transform-style:preserve-3d}
.duo-leaf--left{padding-right:0;border-right:0;border-radius:14% 1% 1% 14% / 9.8% 1% 1% 9.8%;transform-origin:right center;transform:rotateY(24deg)}
.duo-leaf--right{padding-left:0;border-left:0;border-radius:1% 14% 14% 1% / 1% 9.8% 9.8% 1%;transform-origin:left center;transform:rotateY(-24deg)}
.duo-leaf--left .duo-display{border-radius:11.56% 0 0 11.56% / 8.22% 0 0 8.22%}
.duo-leaf--right .duo-display{border-radius:0 11.56% 11.56% 0 / 0 8.22% 8.22% 0}
.duo-leaf .duo-display picture{width:200%}.duo-leaf--right .duo-display picture{margin-left:-100%}
.duo-leaf .duo-display::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 78%,#02060835)}
.duo-leaf--right .duo-display::after{background:linear-gradient(90deg,#02060825,transparent 22%)}
.duo-leaf--left::before,.duo-leaf--right::before{content:'';position:absolute;inset:1px;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#8c9385,#2a3329 45%,#abb19e);box-shadow:0 3px 0 #515b49;transform:translateZ(-4px)}
.duo-hinge{position:absolute;left:calc(50% - 2px);top:1.5%;bottom:1.5%;width:4px;border-radius:2px;background:linear-gradient(90deg,#313b2c,#c1c6b0 32%,#606b52 55%,#141e11);box-shadow:0 1px 0 #c7ccb5,0 -1px 0 #c7ccb5;pointer-events:none}
@media(max-width:500px){.duo-book{perspective:650px}.duo-leaf--left{transform:rotateY(20deg)}.duo-leaf--right{transform:rotateY(-20deg)}}

/* Opening scene: --open goes from 0 (closed, cover outside) to 1 (open passport). Static pages stay open. */
.duo-open{--open:1;--closed-zoom:0;margin:6px 0 64px}
.duo-open-sticky{display:grid;gap:30px}
.duo-open-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;border-top:1px solid var(--travel-line)}
.duo-open-steps li{display:flex;gap:13px;padding-top:17px;border-top:2px solid transparent;margin-top:-1px;transition:color .35s,border-color .35s,opacity .35s}
.duo-open-steps li>span{font:9px ui-monospace,monospace;padding-top:4px;color:var(--travel-muted)}
.duo-open-steps strong{display:block;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.2;letter-spacing:-.03em;color:var(--travel-ink)}
.duo-open-steps p{font-size:12px;line-height:1.75;margin-top:7px;max-width:330px}
.duo-open-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:34px 0}
/* A flat, explicitly centred platform keeps the final spread aligned in mobile WebKit. */
.duo-open-platform{position:relative;width:min(94%,880px);aspect-ratio:164.6/117.8;margin-inline:auto;perspective:2200px;perspective-origin:50% 50%}
.duo-open-device{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:translateX(calc((var(--open) - 1) * 25%)) scale(calc(1 + (1 - var(--open)) * var(--closed-zoom))) rotateX(calc((1 - var(--open)) * 6deg)) rotateZ(calc((1 - var(--open)) * -1.5deg))}
.duo-open-floor{position:absolute;left:50%;bottom:-16px;width:calc(48% + var(--open) * 40%);height:22px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,#0a1b1d2b,transparent);filter:blur(5px);pointer-events:none}
.duo-open-leaf{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d}
.duo-open-leaf--right{left:50%}
.duo-open-leaf--left{left:0;transform-origin:right center;transform:rotateY(calc((1 - var(--open)) * 180deg)) translateZ(calc((var(--open) - 1) * 3px))}
/* Faces stay flat: WebKit ignores backface-visibility on a face whose children are in 3D. */
.duo-open-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.duo-open-face--cover{transform:rotateY(180deg)}
/* Each face shows only on its half of the turn (cut at 90°), so no engine can show a mirrored back. */
.duo-open-face--inner{opacity:clamp(0,(var(--open) - .5) * 1000,1)}
.duo-open-face--cover{opacity:clamp(0,(.5 - var(--open)) * 1000,1)}
.duo-open-body{position:absolute;inset:0;border:1px solid #646b65;background:linear-gradient(112deg,#555958,#e1e0d7 1.4%,#8e918c 2.4%,#343937 4%,#101413 6%,#090d0c 94%,#858a83 96.6%,#d0d0c6 98%,#444945);box-shadow:inset 0 1px 0 #efeee4b3,inset 0 -1px 0 #dddcd180,inset 0 0 0 2px #151a18,inset 0 0 0 3px #bac0b52e}
.duo-open-leaf--right .duo-open-body{border-left:0;border-radius:1% 14% 14% 1% / 1% 9.8% 9.8% 1%}
.duo-open-face--inner .duo-open-body{border-right:0;border-radius:14% 1% 1% 14% / 9.8% 1% 1% 9.8%}
.duo-open-face--cover .duo-open-body{border-radius:3% 17% 17% 3% / 2.1% 12.1% 12.1% 2.1%}
/* Narrow titanium rails and the second shell follow Apple's front and control diagrams. */
.duo-open-body::after{content:'';position:absolute;inset:1px;border-radius:inherit;border-top:1px solid #f5f4e4b3;border-bottom:1px solid #a1a79a80;box-shadow:0 2px 0 #202921,inset 0 0 0 1px #0008;pointer-events:none}
.duo-open-face--cover .duo-open-body::before{content:'';position:absolute;left:-4px;top:1%;bottom:1%;width:5px;border:1px solid #686e63;border-radius:3px;background:linear-gradient(90deg,#20271f,#c2c5b8 35%,#525c4e 70%,#121910)}
.duo-open-leaf--right>.duo-hardware{border-radius:1% 14% 14% 1% / 1% 9.8% 9.8% 1%}
.duo-open-face--inner>.duo-hardware{border-radius:14% 1% 1% 14% / 9.8% 1% 1% 9.8%}
.duo-open-face--cover>.duo-hardware{border-radius:3% 17% 17% 3% / 2.1% 12.1% 12.1% 2.1%}
.duo-open-display{position:absolute;overflow:hidden;background:#020608;inset:3.6% 0 3.6% 4.8%;border-radius:11.56% 0 0 11.56% / 8.22% 0 0 8.22%}
.duo-open-leaf--right .duo-open-display{inset:3.6% 4.8% 3.6% 0;border-radius:0 11.56% 11.56% 0 / 0 8.22% 8.22% 0}
.duo-open-face--cover .duo-open-display{inset:3.4% 5.2% 3.4% 4.2%;border-radius:1.8% 13% 13% 1.8% / 1.2% 9% 9% 1.2%}
.duo-open-display img{display:block;height:100%;width:200%;max-width:none;object-fit:contain}
.duo-open-leaf--right .duo-open-display img{margin-left:-100%}
.duo-open-face--cover .duo-open-display img{width:100%}
.duo-open-shade,.duo-open-spine{position:absolute;inset:0;pointer-events:none}
.duo-open-face--inner .duo-open-shade{background:linear-gradient(90deg,#02060800 40%,#020608);opacity:calc((1 - var(--open)) * .85)}
.duo-open-face--cover .duo-open-shade{background:linear-gradient(90deg,#020608,#02060800 70%);opacity:calc(var(--open) * .7)}
.duo-open-spine{background:linear-gradient(90deg,#0206087a,#02060800 18%);opacity:calc(.25 + (1 - var(--open)) * .75)}
.duo-open-face--inner .duo-open-display::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 84%,#0206082e)}
.duo-open .duo-hinge{opacity:calc(.35 + var(--open) * .65)}
.duo-open-caption{font-size:10px;line-height:1.8;max-width:640px;margin:0 auto;text-align:center}
/* Live: the scene holds while the page scrolls through it. */
.duo-open.is-live{height:280vh;height:280svh;margin-bottom:24px}
.duo-open.is-live .duo-open-sticky{position:sticky;top:0;height:100vh;height:100svh;padding-top:96px;padding-bottom:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}
.duo-open.is-live .duo-open-stage{padding:0}
.duo-open.is-live .duo-open-platform{width:var(--duo-size,70%)}
.duo-open.is-live .duo-open-steps li{opacity:.42}
.duo-open.is-live .duo-open-steps li.is-current{opacity:1;border-top-color:var(--travel-accent)}
.duo-open.is-live .duo-open-steps li.is-current>span{color:var(--travel-accent)}
@media(max-width:800px){.duo-open-steps{gap:16px}.duo-open-steps strong{font-size:18px}.duo-open-steps p{font-size:11px}}
@media(max-width:600px){
  .duo-open-steps{grid-template-columns:1fr;gap:0}
  .duo-open-steps li{padding-block:14px;border-bottom:1px solid var(--travel-line)}
  .duo-open.is-live .duo-open-sticky{padding-top:84px}
  .duo-open.is-live .duo-open-steps{display:grid;grid-template-columns:1fr;border-top:0}
  .duo-open.is-live .duo-open-steps li{grid-area:1/1;opacity:0;visibility:hidden;transition:none;border-bottom:0;border-top:1px solid var(--travel-line);padding-top:14px}
  .duo-open.is-live .duo-open-steps li.is-current{opacity:1;visibility:visible}
  .duo-open-platform{perspective:1100px}
  .duo-open.is-live{--closed-zoom:.45}
  .duo-open.is-live .duo-open-sticky{gap:6px}
}
@media(max-height:540px){.duo-open-stage{padding-block:24px}.duo-open-platform{width:min(90%,640px)}.duo-open-steps{grid-template-columns:1fr;gap:0}.duo-open-steps li{padding-block:14px;border-bottom:1px solid var(--travel-line)}}
@media(prefers-reduced-motion:reduce){.duo-open-steps li{transition:none}}

.duo-passport-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:40px;align-items:center;margin-block:65px 85px}
.duo-passport-pair figure{margin:0;min-width:0}.duo-passport-pair figure:first-child{max-width:250px;justify-self:center}.duo-passport-pair figcaption{font:italic 22px/1.4 var(--serif);margin-top:22px;color:var(--travel-ink)}.duo-passport-pair>p{grid-column:1/-1;font-size:12px;line-height:1.8;color:var(--travel-muted);max-width:700px}
.duo-official{width:100%;margin:auto}.duo-official-exterior{max-width:305px}.duo-stage{padding:28px 24px 55px}.duo-stage::before{display:none}
.duo-folded-preview{width:100%}.duo-folded-preview picture,.duo-folded-preview img{display:block;width:100%;height:auto}
@media(max-width:650px){.duo-passport-pair{grid-template-columns:minmax(0,1fr);gap:35px;margin-block:40px 55px}.duo-passport-pair figure:first-child{width:65%;max-width:240px}.duo-passport-pair figcaption{font-size:20px}.duo-stage{padding-inline:12px}.duo-official-exterior{max-width:270px}}

/* The opening uses a neutral book edge, independent of device hardware artwork. */
.duo-open-body{background:#18201d;border:1px solid #59615b;box-shadow:0 2px 5px #0003}
.duo-open-body::before,.duo-open-body::after{display:none}
.duo-open-display{inset:1.2% 0 1.2% 1.6%;border-radius:3% 0 0 3%}
.duo-open-leaf--right .duo-open-display{inset:1.2% 1.6% 1.2% 0;border-radius:0 3% 3% 0}
.duo-open-face--cover .duo-open-display{inset:1.2% 1.6%;border-radius:3%}

