.duo-page main{padding-top:0}.duo-nav{display:flex;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.duo-nav a{text-decoration:none}.duo-nav a:first-child{margin-right:auto;color:var(--text);font-weight:750}.duo-hero{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:64px 0 80px;align-items:center}.duo-icon{border-radius:16px;margin-bottom:28px}.duo-intro h1{font-size:22px;letter-spacing:-.02em;margin-bottom:24px}.duo-intro h1 span{display:block;font-size:clamp(3rem,5.3vw,4.7rem);line-height:1.02;margin-top:18px;letter-spacing:-.04em}.duo-intro>p{max-width:40ch;color:var(--muted)}.duo-intro .lead{color:var(--text);font-size:21px;margin-bottom:18px}.duo-availability{display:inline-flex;align-items:center;min-height:54px;padding:14px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-weight:650;margin-top:14px}.duo-requirements{font-size:13px;margin:12px 0 22px}.duo-preview{min-width:0;scroll-margin-top:24px}.preview-top,.pair-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.preview-top h2{font-size:24px;margin:0}.preview-top{margin-bottom:20px}.preview-top>span{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.fold-stage{perspective:1000px;overflow:hidden;background:var(--hero)}.fold-cover{position:relative;transform-origin:center;transition:transform .55s cubic-bezier(.16,1,.3,1),clip-path .55s cubic-bezier(.16,1,.3,1);clip-path:inset(0);width:100%}.fold-cover img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.fold-seam{position:absolute;inset:0 auto 0 50%;width:1px;background:rgba(255,255,255,.35)}.fold-stage.is-closed .fold-cover{transform:rotateY(-24deg) scale(.88);clip-path:inset(0 24% 0 24%)}.pair-title-row{margin:18px 0 16px;min-height:50px}.pair-title-row h3{font:650 20px/1.25 Archivo,Arial,sans-serif;max-width:30ch;margin:0}.pair-arrows{display:flex;gap:4px;flex-shrink:0}.duo-page button{font:inherit;cursor:pointer}.pair-arrows button{width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--text)}.pair-arrows button:hover{background:var(--surface)}.play-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.play-controls button{display:flex;gap:10px;align-items:center;justify-content:center;min-height:56px;padding:12px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:white;font-weight:650}.play-controls button:last-child{background:transparent;border-color:var(--field-line);color:var(--text)}.play-controls button:hover{background:var(--blue-hover);color:white}.play-controls button[aria-pressed=true]{outline:2px solid var(--orange);outline-offset:3px}.play-controls svg{width:20px;height:20px;fill:currentColor}.duo-page button:disabled{opacity:.55;cursor:not-allowed}#audio-status{font-size:13px;line-height:1.5;min-height:40px;color:var(--muted);margin:12px 0}.pair-shelf{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 5px 12px;scrollbar-color:var(--field-line) var(--canvas);scrollbar-width:thin}.pair{flex:0 0 90px;scroll-snap-align:start;background:transparent;border:0;padding:0;color:var(--muted);text-align:left}.pair img{width:90px;height:90px;object-fit:cover}.pair span{display:block;font-size:11px;line-height:1.4;margin-top:8px}.pair[aria-pressed=true] img{outline:3px solid var(--link);outline-offset:2px}.pair[aria-pressed=true]{color:var(--text)}.pair:hover{color:var(--link)}.shelf-hint{font-size:12px;color:var(--muted);margin:10px 0 0}.duo-story{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:80px 0}.duo-story h2,.duo-closing h2{font-size:clamp(2.5rem,4.2vw,3.7rem);line-height:1.06;letter-spacing:-.035em}.duo-story-copy>p{max-width:45ch}.duo-story-copy>p:not(.lead){color:var(--muted)}.setup-steps{list-style:none;counter-reset:setup;padding:0;margin:32px 0}.setup-steps li{counter-increment:setup;display:grid;grid-template-columns:30px 1fr;gap:6px 16px;border-top:1px solid var(--line);padding:20px 0;margin:0}.setup-steps li::before{content:counter(setup);grid-row:1/3;font:650 24px Archivo,sans-serif;color:var(--link)}.setup-steps strong{font-size:18px}.setup-steps span{grid-column:2;color:var(--muted);font-size:15px;line-height:1.6}.duo-screenshot{margin:0;justify-self:center;max-width:260px}.duo-screenshot img{width:100%;height:auto;border-radius:16px}.duo-screenshot figcaption{text-align:center;margin-top:16px}.offline-note{border-top:1px solid var(--line);margin:32px 0;padding-top:28px}.offline-note h3{font-size:24px}.offline-note p{color:var(--muted)}.duo-closing{padding:72px 0 24px;border-top:1px solid var(--line)}.duo-closing p{color:var(--muted)}.duo-footer .footer-inner{padding-top:40px}.duo-footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.duo-footer-top p{color:var(--muted);font-size:15px;margin:0}.duo-wordmark{display:flex;align-items:center;gap:12px;font-weight:750;text-decoration:none;color:var(--text)}.duo-wordmark img{border-radius:8px}.duo-footer .footer-bottom{margin-top:28px}.duo-reading{padding:64px 0 40px}.duo-reading h1{font-size:clamp(2.5rem,5vw,4rem)}.duo-faq{margin:36px 0}.duo-faq details{border-top:1px solid var(--line);padding:8px 0}.duo-faq details:last-child{border-bottom:1px solid var(--line)}.duo-faq summary{cursor:pointer;font-weight:650;padding:18px 0;min-height:44px}.duo-faq details p{color:var(--muted);padding:0 24px 12px 0}.duo-page a:hover{text-decoration:underline}.duo-page :focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:900px){.duo-hero{gap:5%}.duo-intro h1 span{font-size:3.2rem}.duo-story{gap:6%}.duo-story h2{font-size:2.6rem}}
@media(max-width:650px){.duo-nav{gap:18px;font-size:12px;padding:18px 0}.duo-hero{grid-template-columns:1fr;gap:40px;padding:32px 0 48px}.duo-icon{width:64px;height:64px;margin-bottom:20px;border-radius:16px}.duo-intro h1{font-size:20px}.duo-intro h1 span{font-size:clamp(2.8rem,12vw,4rem)}.duo-intro .lead{font-size:19px}.duo-intro>p{font-size:16px}.duo-availability{font-size:15px}.duo-preview{max-width:480px;width:100%;justify-self:center}.duo-story{grid-template-columns:1fr;padding:48px 0;gap:36px}.duo-story h2,.duo-closing h2{font-size:2.6rem}.duo-screenshot{max-width:230px}.duo-record .duo-screenshot{grid-row:2}.duo-closing{padding-top:48px}.duo-footer-top{align-items:flex-start;flex-direction:column}.duo-reading{padding-top:36px}.pair-title-row h3{font-size:18px}.duo-page .header-inner .main-nav{grid-column:1/-1}.duo-reading h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.fold-cover{transition:none}.fold-stage.is-closed .fold-cover{transform:none}}

/* Keep both sound actions visible in a typical desktop viewport. */
@media(min-width:901px){.duo-hero{padding-top:44px;align-items:start}.duo-intro{padding-top:30px}.fold-stage{max-width:380px;margin-inline:auto}.duo-intro h1 span{font-size:clamp(3.5rem,5vw,4.5rem)}}
@media(max-width:650px){.duo-intro>p:not(.lead):not(.duo-requirements){margin-bottom:16px}.duo-icon{margin-bottom:16px}.duo-intro h1{margin-bottom:18px}}

.duo-intro h1{font-size:clamp(3.5rem,6.2vw,5.5rem);line-height:.98;letter-spacing:-.04em;margin:0 0 24px}.duo-intro .duo-tagline{font:650 clamp(1.8rem,3vw,2.7rem)/1.08 Archivo,Arial,sans-serif;letter-spacing:-.03em;color:var(--text);margin-bottom:24px}.pair-arrows button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;vertical-align:middle}@media(max-width:650px){.duo-intro h1{font-size:clamp(3.4rem,12.5vw,5.4rem)}.duo-intro .duo-tagline{font-size:1.8rem}}

/* Real 3D stage: canvas raster dimensions are controlled by model.js. */
#fold-stage{position:relative;max-width:none;width:100%;aspect-ratio:1.18;background:var(--hero);border-radius:16px}
#model-host{position:absolute;inset:0;visibility:hidden}
.model-ready #model-host{visibility:visible}
.model-ready .fold-cover{display:none}
#model-host canvas:focus-visible{outline:3px solid var(--orange)!important;outline-offset:-5px}
#model-hint{font-size:13px;color:var(--muted);margin:12px 0;min-height:20px}
#model-tools[hidden]{display:none}
#model-tools label{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--text)}
#model-tools label span{color:var(--muted)}
#fold-angle{width:100%;min-height:36px;accent-color:var(--link);cursor:ew-resize;margin:0}

/* Compact phone introduction and thumb-friendly preview controls. */
@media(max-width:650px){
 .duo-hero{gap:28px;padding-top:24px}
 .duo-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
 .duo-title .duo-icon{width:48px;height:48px;border-radius:12px;margin:0}
 .duo-title h1{font-size:clamp(2rem,8.5vw,3rem);margin:0;letter-spacing:-.03em}
 .duo-intro .duo-tagline{font-size:1.5rem;margin-bottom:16px}
 .duo-tagline br{display:none}
 .duo-intro .lead{font-size:18px;margin-bottom:12px}
 .duo-availability{min-height:48px;margin-top:0;padding:12px 16px}
 .duo-intro .duo-requirements{font-size:13px;margin:10px 0}
 .duo-intro>.text-link{display:inline-flex;align-items:center;min-height:44px}
 .duo-nav{padding:8px 0;gap:16px}
 .duo-nav a{display:inline-flex;align-items:center;min-height:44px}
 .preview-top{margin-bottom:12px}
 #model-hint{font-size:12px;margin:10px 0;min-height:18px}
 #fold-angle{min-height:44px;touch-action:pan-y}
 .pair-title-row{margin:10px 0 12px}
 #audio-status{min-height:20px;margin:10px 0 14px}
 .pair-shelf{gap:12px;overscroll-behavior-x:contain}
 .pair{flex-basis:76px}.pair img{width:76px;height:76px}
 .pair span{font-size:12px}
}
