/* Kyoto shares the landing's paper, typography, green ink and miniature scenery. */
.duo-page{--duo-warm:#f7eddf;overflow-x:clip}.duo-page .site-header{position:absolute}.duo-page nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--accent)}.duo-page .site-header nav{gap:28px}.duo-page .nav-cta{padding:0}.duo-hero{position:relative;isolation:isolate;min-height:1150px;padding:145px 24px 38px;background:#f9efdc url('/assets/duo/kyoto-scene.webp') center bottom/cover no-repeat;overflow:hidden}.kyoto-word{position:absolute;top:60px;left:0;right:0;text-align:center;font-size:clamp(180px,25vw,400px);font-weight:750;letter-spacing:-.08em;color:#fff8e8;opacity:.65;z-index:-1;line-height:1;pointer-events:none}.hero-copy{text-align:center;max-width:740px;margin:auto}.hero-copy .eyebrow{margin-bottom:22px}.hero-copy h1{font-size:clamp(50px,5.8vw,84px);line-height:1.01;font-weight:650;letter-spacing:-.06em}.hero-copy>p:not(.eyebrow){max-width:490px;margin:24px auto;font-size:18px;color:#4b564b}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;padding:8px 0;border-bottom:1px solid #25392d55}.text-link:hover{color:var(--accent)}.hero-screens{position:relative;max-width:900px;height:530px;margin:24px auto 0;isolation:isolate}.hero-screens figure{margin:0;position:absolute}.hero-wide{width:76%;left:3%;top:28px;transform:rotate(-5deg)}.hero-folded{width:28%;right:1%;top:100px;transform:rotate(7deg)}.hero-screens figcaption{font-size:11px;letter-spacing:.06em;text-align:center;margin-top:10px;color:#40503f}.trip-ticket{max-width:650px;margin:22px auto 0;display:flex;align-items:center;justify-content:center;gap:0;padding:20px 14px;background:#faf6eee6;border:1px solid #d3cbb866;border-radius:4px;box-shadow:0 10px 30px #6a4a2920}.trip-ticket span{padding:0 28px;font-size:12px;letter-spacing:.04em;border-right:1px dashed #898c7b}.trip-ticket span:last-child{border:0}.chapter-nav{position:sticky;top:0;z-index:7;display:flex;justify-content:center;gap:38px;padding:21px 24px;background:#faf6eef2;backdrop-filter:blur(15px);border-bottom:1px solid #25392d14;font-size:11px;font-variant-numeric:tabular-nums}.chapter-nav a{color:#8b8d80;white-space:nowrap}.chapter-nav span{color:var(--ink);margin-left:8px;font-size:13px}.chapter-nav a:hover,.chapter-nav a[aria-current]{color:var(--accent)}.chapter-nav a[aria-current] span{color:var(--accent)}.duo-chapter{padding:115px 24px 85px;scroll-margin-top:64px;overflow:hidden}.chapter-heading{text-align:center;max-width:850px;margin:0 auto 52px;padding:0}.chapter-heading .eyebrow{color:#777c6e;margin-bottom:25px;font-size:12px}.chapter-heading h2{font-size:clamp(38px,4.8vw,68px);font-weight:600;letter-spacing:-.055em;line-height:1.04}.chapter-heading>p:last-child{max-width:560px;margin:25px auto 0;font-size:17px;color:#667061;line-height:1.7}.wide-shot{max-width:1050px;margin:0 auto;transform:rotate(-2deg)}.wide-shot img{width:100%;height:auto}.duo-page figcaption{font-size:13px;line-height:1.6;color:#6e736b;text-align:center;margin-top:22px}.company-row{max-width:1050px;display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center;padding:75px 0 0}.company-row figure{margin:0;transform:rotate(4deg)}.company-row h3{font-size:31px;letter-spacing:-.035em;line-height:1.14;margin:20px 0}.company-row p{font-size:16px;color:var(--muted);max-width:330px}.little-rule{display:block;height:2px;width:42px;background:var(--accent)}.chapter-weather{background:radial-gradient(ellipse at 12% 60%,#e6d7bd 0,transparent 60%),#f5eddf;display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.4fr);align-items:center;gap:55px;padding-left:max(40px,calc((100vw - 1280px)/2));padding-right:max(40px,calc((100vw - 1400px)/2));min-height:820px}.chapter-weather .chapter-heading{text-align:left;margin:0}.chapter-weather h2{font-size:clamp(40px,4.3vw,64px)}.chapter-weather .chapter-heading>p:last-child{max-width:350px;margin-left:0}.chapter-weather .wide-shot{width:112%;max-width:none;transform:rotate(4deg)}.chapter-discover{background:radial-gradient(ellipse at 65% 60%,#e1e8d7,transparent 66%);padding-bottom:110px}.chapter-discover .wide-shot{transform:rotate(2deg);max-width:1000px}.journal-chapter{background:#e9edde;padding-bottom:80px}.journal-chapter .chapter-heading{max-width:1000px}.posture-controls{display:flex;width:fit-content;gap:5px;padding:5px;margin:0 auto 32px;background:#d6decc;border-radius:100px}.posture-controls[hidden]{display:none}.posture-controls button{border:0;border-radius:100px;background:transparent;color:#53624e;font-size:13px;padding:12px 24px}.posture-controls button[aria-pressed=true]{background:#25392d;color:#fff}.journal-stage{max-width:1080px;min-height:810px;margin:auto;display:grid;place-items:start center}.journal-stage figure{margin:0;width:100%;grid-area:1/1}.journal-stage figure[hidden]{display:none}.journal-stage #journal-folded{max-width:540px}.journal-stage img{width:100%;height:auto}.journal-stage:not(.enhanced){display:flex;flex-wrap:wrap;gap:48px}.chapter-budget{background:radial-gradient(ellipse at 45% 65%,#f2d9d4,transparent 68%)}.chapter-budget .wide-shot{transform:rotate(-3deg);max-width:1000px}.chapter-next{background:radial-gradient(ellipse at 60% 70%,#d9e6df,transparent 65%)}.chapter-next .wide-shot{transform:rotate(2deg)}.duo-closing{background:#faefdc url('/assets/duo/kyoto-scene.webp') center bottom/cover no-repeat;min-height:800px;padding:80px 24px 300px;text-align:center}.duo-closing .eyebrow{margin-bottom:22px}.duo-closing h2{font-size:clamp(42px,5vw,70px);font-weight:600}.duo-closing p:not(.eyebrow){margin:25px 0}.duo-closing .app-store-badge{display:inline-block}.duo-footer{padding-top:40px;padding-bottom:40px;max-width:1280px;display:grid;grid-template-columns:130px 1fr;gap:20px 40px;align-items:start}.duo-footer p{font-size:12px;color:var(--muted);max-width:550px}.duo-footer>div{grid-column:2;display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:var(--muted)}
@media(min-width:1700px){.duo-hero{min-height:1280px;padding-top:165px}.hero-screens{height:620px;max-width:1050px}.trip-ticket{margin-top:50px}}
@media(max-width:900px){.duo-page .site-header nav{gap:18px}.duo-page .site-header nav>a:first-child{display:none}.duo-hero{min-height:1000px}.hero-screens{height:470px;max-width:760px}.chapter-nav{gap:22px}.chapter-weather{display:block;padding:90px 24px}.chapter-weather .chapter-heading{text-align:center;margin:0 auto 45px}.chapter-weather .chapter-heading>p:last-child{max-width:560px;margin-left:auto}.chapter-weather .wide-shot{width:100%;max-width:1000px}.company-row{gap:30px}.company-row h3{font-size:26px}.journal-stage{min-height:680px}}
@media(max-width:600px){.duo-page .site-header{padding:0 20px;height:76px}.duo-page .brand{font-size:24px}.duo-page .site-header nav{gap:17px;font-size:12px}.duo-page .nav-cta{display:none}.duo-hero{padding:118px 20px 28px;min-height:850px;background-size:auto 850px;background-position:center bottom}.kyoto-word{top:91px;font-size:30vw}.hero-copy h1{font-size:48px}.hero-copy .eyebrow{font-size:11px;margin-bottom:23px}.hero-copy>p:not(.eyebrow){font-size:16px;margin:23px auto;max-width:320px}.hero-screens{height:300px;margin-top:25px;width:112%;margin-left:-6%}.hero-wide{width:86%;left:0;top:30px;transform:rotate(-6deg)}.hero-folded{width:30%;right:-1%;top:100px}.hero-screens figcaption{font-size:9px;max-width:70%;margin:auto;padding-top:8px}.trip-ticket{padding:17px 8px;margin:18px auto 0}.trip-ticket span{font-size:10px;padding:0 10px;letter-spacing:0}.chapter-nav{gap:0;justify-content:space-between;padding:16px 12px;font-size:10px}.chapter-nav span{display:block;font-size:10px;margin:4px 0 0}.duo-chapter{padding:74px 20px 55px;scroll-margin-top:65px}.chapter-heading{margin-bottom:32px}.chapter-heading .eyebrow{font-size:11px;margin-bottom:20px}.chapter-heading h2,.chapter-weather h2{font-size:37px}.chapter-heading>p:last-child{font-size:16px;line-height:1.65;margin-top:23px}.wide-shot{width:112%;margin-left:-6%;transform:rotate(-2deg)}.duo-page figcaption{font-size:11px;padding:0 22px;margin-top:16px}.company-row{display:flex;flex-direction:column;padding-top:48px;gap:26px}.company-row figure{width:100%}.company-row>div{max-width:340px}.company-row h3{font-size:28px}.company-row p{font-size:15px;max-width:none}.chapter-weather{min-height:0}.chapter-weather .wide-shot{width:112%;max-width:none}.journal-stage{min-height:350px}.journal-stage #journal-folded{max-width:250px}.posture-controls{margin-bottom:25px}.posture-controls button{padding:11px 20px;font-size:12px}.duo-closing{min-height:650px;padding:65px 20px 240px;background-size:auto 650px}.duo-closing h2{font-size:41px}.duo-footer{display:block;padding:30px 24px}.duo-footer p{margin:20px 0}.duo-footer>div{gap:16px}}
/* Keep the screen opaque; vector silhouettes remove only the capture surround. */
.duo-page figure img,.hero-screens figure{mix-blend-mode:normal}.hero-screens figure{filter:drop-shadow(0 24px 18px #34241630)}.hero-screens figcaption{display:none}.wide-shot,.company-row figure{filter:drop-shadow(0 20px 25px #26352815)}
/* Screens stay fully opaque, including while loading the first viewport. */
.hero-wide,.hero-folded{animation:none}

/* Each chapter has its own miniature set. Artwork loads when it approaches the viewport. */
.duo-chapter,.company-scene{position:relative;isolation:isolate;background:var(--paper);margin-bottom:36px;border-radius:0 0 50% 50% / 0 0 68px 68px}
.duo-chapter{padding-bottom:210px}
.scene-art{position:absolute;inset:auto 0 0;z-index:-1;width:100%;aspect-ratio:3/2;max-height:100%;pointer-events:none;user-select:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 26%)}
.scene-art img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom}
.duo-chapter .wide-shot{max-width:960px}
.chapter-departure .wide-shot{transform:rotate(-3deg)}
.company-scene{padding:100px 40px 240px;overflow:hidden;min-height:830px}
.company-row{padding:0;max-width:1100px;gap:85px;grid-template-columns:1.2fr .8fr}
.company-row figure{transform:rotate(5deg)}
.company-row h3{font-size:clamp(30px,3.2vw,44px);letter-spacing:-.045em}
.company-row p{color:#566251}
.chapter-weather{min-height:1020px;padding-top:130px;padding-bottom:300px}
.chapter-weather .scene-art{mask-image:linear-gradient(to bottom,transparent,#000 26%)}
.chapter-weather .wide-shot{max-width:none;width:108%}
.chapter-weather .chapter-heading{position:relative;isolation:isolate}
.chapter-weather .chapter-heading:before{content:"";position:absolute;inset:-100px -90px;z-index:-1;background:radial-gradient(ellipse,#faf6ee 38%,#faf6eef5 60%,transparent 76%);filter:blur(14px)}
.chapter-discover{padding-bottom:235px}
.chapter-discover .wide-shot{transform:rotate(3deg)}
.journal-chapter{padding-bottom:200px}
.posture-controls{background:#e3e5d8}
.journal-stage{max-width:980px;min-height:750px}
.journal-stage #journal-folded{max-width:500px}

.journal-stage figure{filter:drop-shadow(0 24px 26px #26352820)}
.chapter-budget{padding-bottom:230px}
.chapter-next{padding-bottom:250px}
.wide-shot figcaption,.journal-stage figcaption{display:table;max-width:calc(100% - 40px);margin:20px auto 0;padding:9px 18px;border:1px solid #ffffff70;border-radius:50px;background:#faf6eeee;backdrop-filter:blur(12px);color:#52604c}
@media(min-width:1700px){
 .duo-chapter{padding-bottom:260px}
 .company-scene{min-height:940px;padding-bottom:310px}
 .chapter-weather{min-height:1150px;padding-bottom:350px}
 .chapter-next{padding-bottom:320px}
}
@media(max-width:900px){
 .duo-chapter{padding-bottom:150px}
 .company-scene{padding:70px 28px 170px;min-height:640px}
 .company-row{gap:35px}
 .company-row h3{font-size:30px}
 .chapter-weather{min-height:0;padding-top:90px;padding-bottom:180px}
 .chapter-weather .wide-shot{width:100%}
 .journal-stage{min-height:590px}
 .journal-stage #journal-folded{max-width:420px}
 
}
@media(max-width:600px){
 .duo-chapter{padding-bottom:125px}
 .scene-art{left:-12%;right:-12%;width:124%}
 .company-scene{padding:65px 20px 130px;min-height:0}
 .company-row{padding:0;gap:30px}
 .company-row figure{width:112%;max-width:none;transform:rotate(3deg)}
 .company-row>div{max-width:340px;padding:16px 12px 24px;background:#faf6eeee;border-radius:12px}
 .company-row h3{font-size:30px}
 .company-row p{font-size:16px}
 .chapter-weather{padding-top:74px;padding-bottom:140px}
 .chapter-weather .wide-shot{width:112%}
 .journal-stage{min-height:360px}
 .journal-stage #journal-folded{max-width:250px}
 
 .journal-chapter{padding-bottom:130px}
 .chapter-next{padding-bottom:145px}
 .wide-shot figcaption,.journal-stage figcaption{font-size:11px;line-height:1.55;padding:8px 14px;margin-top:16px;max-width:90%}
}

/* A shallow curved edge closes each scene before the next chapter begins. */
.duo-hero{border-radius:0 0 50% 50% / 0 0 64px 64px}
.company-scene .scene-art{mask-image:linear-gradient(to bottom,transparent,#000 38%)}
.duo-closing{position:relative;isolation:isolate}
.duo-closing:before{content:"";position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(var(--paper),transparent);z-index:-1;pointer-events:none}
@media(max-width:600px){
 .duo-chapter,.company-scene{margin-bottom:18px;border-radius:0 0 50% 50% / 0 0 28px 28px}
 .duo-hero{border-radius:0 0 50% 50% / 0 0 28px 28px}
 .duo-closing:before{height:110px}
}

/* Exact outlines preserve the original device and leave the source captures untouched. */
.duo-silhouettes{position:absolute;pointer-events:none}
.duo-capture{display:block;width:100%;height:auto}
[data-duo-parallax]{translate:0 var(--duo-parallax,0px);rotate:var(--duo-drift,0deg)}
[data-duo-parallax].parallax-visible{will-change:translate,rotate}
.hero-leaf-layer{position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:inherit;pointer-events:none;user-select:none;perspective:800px}
.hero-maple-leaf{position:absolute;left:0;top:0;height:auto;opacity:.94;will-change:transform;transform-origin:50% 55%;filter:drop-shadow(2px 4px 3px #783a171a);pointer-events:none}
.duo-hero .hero-copy{position:relative;z-index:3}
@media(prefers-reduced-motion:reduce){
 html:has(.duo-page){scroll-behavior:auto}
 [data-duo-parallax]{translate:none;rotate:none;will-change:auto}
 .hero-leaf-layer{display:none}
}
