:root{--gold:#e5c575;--gold2:#ffe8aa;--ink:#2a2119;--paper:#f6ecd7;--paper2:#ead7b5;--deep:#19243d;--deep2:#0e1729}
*{box-sizing:border-box}
html{margin:0;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;font-family:Inter,Arial,sans-serif;color:#fff}
body{margin:0;width:100%;min-height:100dvh;height:auto;overflow:visible;background:#6b5778;color:#fff}button,a{font:inherit}.sky-bg{position:fixed;inset:0;overflow:hidden;z-index:0;background:linear-gradient(180deg,#77628d 0%,#9c6d7e 30%,#d38c69 58%,#f0b46f 76%,#40506a 100%)}.sky-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 65%,rgba(255,213,137,.8),transparent 20%),radial-gradient(circle at 25% 10%,rgba(62,76,118,.45),transparent 35%),linear-gradient(180deg,rgba(16,24,45,.22),transparent 55%)}.sun{position:absolute;right:19vw;bottom:18vh;width:125px;height:125px;border-radius:50%;background:#ffd892;box-shadow:0 0 80px 35px rgba(255,194,103,.42);opacity:.82}.cloud{position:absolute;height:90px;width:420px;border-radius:50%;filter:blur(25px);opacity:.22;background:#fff}.cloud-a{left:4vw;top:20vh}.cloud-b{right:2vw;top:38vh;width:520px;opacity:.14}.bg-plane{position:absolute;right:16vw;top:18vh;font-size:42px;color:rgba(24,31,53,.28);transform:rotate(-8deg);text-shadow:0 12px 22px rgba(0,0,0,.1);animation:floatPlane 7s ease-in-out infinite alternate}@keyframes floatPlane{to{transform:translate(18px,-8px) rotate(-5deg)}}.cat-silhouette{position:absolute;right:4vw;bottom:-2vh;width:190px;height:250px;opacity:.52;filter:drop-shadow(0 18px 18px rgba(0,0,0,.22))}.cat-silhouette span{position:absolute;background:#182035}.cat-silhouette .head{width:78px;height:66px;border-radius:46% 46% 48% 48%;left:54px;top:48px}.cat-silhouette .ear{width:34px;height:34px;top:32px;clip-path:polygon(50% 0,100% 100%,0 100%)}.cat-silhouette .e1{left:52px;transform:rotate(-15deg)}.cat-silhouette .e2{left:102px;transform:rotate(15deg)}.cat-silhouette .body{left:40px;top:99px;width:110px;height:155px;border-radius:52% 48% 28% 28%}.cat-silhouette .tail{left:128px;top:150px;width:24px;height:120px;border-radius:50% 50% 50% 50%;transform:rotate(-38deg);transform-origin:top}.stars{position:absolute;inset:0;background-image:radial-gradient(circle,#fff6cf 1px,transparent 1.5px);background-size:58px 58px;opacity:.18;mask-image:linear-gradient(to bottom,#000 0%,transparent 70%)}
.topbar{position:fixed;z-index:40;left:0;right:0;top:0;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;pointer-events:none}.logo,.langs{pointer-events:auto}.logo{display:flex;align-items:center;gap:9px;color:#fff0c1;text-decoration:none}.logo-icon{display:grid;place-items:center;width:44px;height:32px}.logo-icon svg{display:block;width:44px!important;height:32px!important;overflow:visible}.logo-icon .route{fill:none;stroke:#e5c575;stroke-width:1.7;stroke-dasharray:3 3}.logo-icon .plane{fill:#ffe4a2}.logo-icon .cat{fill:none;stroke:#fff2cd;stroke-width:2}.logo-icon circle{fill:#e5c575}.logo-word{font-size:11px;font-weight:800;letter-spacing:.24em;text-shadow:0 2px 10px rgba(0,0,0,.25)}.langs{display:flex;gap:6px}.lang{border:1px solid rgba(255,255,255,.35);background:rgba(20,26,44,.24);color:#fff8e8;border-radius:999px;padding:7px 9px;cursor:pointer;transition:.2s}.lang:hover,.lang.active{background:rgba(255,221,157,.24);border-color:var(--gold);transform:translateY(-1px)}
.app{position:relative;z-index:5;width:100%;height:100dvh}.cover-screen,.diary-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}.cover-screen.active,.diary-screen.active{opacity:1;visibility:visible;pointer-events:auto}.cover-wrap{width:min(430px,82vw);height:min(630px,76dvh);perspective:1600px}.cover{position:relative;width:100%;height:100%;border-radius:12px 24px 24px 12px;background:radial-gradient(circle at 72% 20%,rgba(95,135,183,.25),transparent 28%),linear-gradient(145deg,#284362,#152943 49%,#0c1b30);border:1px solid rgba(243,207,127,.58);box-shadow:0 40px 95px rgba(24,14,29,.42),inset 0 0 50px rgba(0,0,0,.27);overflow:hidden;cursor:pointer;transform-style:preserve-3d;transition:transform .3s ease,box-shadow .3s ease}.cover:hover{transform:translateY(-4px) rotateX(1deg);box-shadow:0 48px 105px rgba(24,14,29,.48),0 0 40px rgba(255,215,140,.12)}.cover-border{position:absolute;inset:14px;border:1px solid rgba(236,201,120,.42);border-radius:6px 17px 17px 6px}.cover-spine{position:absolute;left:24px;top:0;bottom:0;width:28px;border-right:1px solid rgba(236,201,120,.25);background:linear-gradient(90deg,rgba(0,0,0,.28),transparent)}.cover-top{position:absolute;left:66px;right:34px;top:36px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#d8c79e}.cover-photo{position:absolute;top:82px;left:50%;transform:translateX(-50%) rotate(-2deg);margin:0;width:152px;background:#f0e6cf;padding:8px 8px 26px;box-shadow:0 13px 26px rgba(0,0,0,.34)}.cover-photo:before{content:"";position:absolute;top:-8px;left:50%;width:52px;height:18px;background:rgba(218,194,137,.72);transform:translateX(-50%) rotate(2deg)}.cover-photo img{display:block;width:100%;height:132px;object-fit:cover}.cover-photo figcaption{color:#6c604d;font:16px Georgia,serif;text-align:center;padding-top:7px;font-style:italic}.cover-text{position:absolute;left:60px;right:30px;top:295px;text-align:center}.overline{font-size:9px;letter-spacing:.3em;color:#cfbd90}.cover-text h1{font:600 78px/1 Georgia,serif;letter-spacing:.08em;margin:4px 0 4px;color:#ffe8b0;text-shadow:0 0 26px rgba(255,215,125,.18)}.cover-text .sub{font:600 21px Georgia,serif;color:#f1d28c}.cover-text p{font:italic 17px Georgia,serif;color:#d9d1c0;margin:15px 0 0}.mini-route{position:absolute;left:22%;right:18%;bottom:106px;display:flex;align-items:center;color:#f2d07a}.mini-route span{height:1px;background:rgba(242,208,122,.5);flex:1}.mini-route b{font-size:16px;margin:0 8px;transform:rotate(-5deg)}.mini-route i{font-style:normal;border:1px solid rgba(242,208,122,.55);border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:10px}.open-btn{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);min-width:260px;border:1px solid #ffe6a5;background:linear-gradient(135deg,#f3cf75,#ffe6a5 52%,#d4a749);color:#23170a!important;border-radius:999px;padding:14px 18px;box-shadow:0 11px 30px rgba(154,95,16,.31),inset 0 0 0 1px rgba(255,255,255,.34);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:.22s ease}.open-btn strong{color:#23170a!important;font-weight:900!important;font-size:11px!important;letter-spacing:.07em;text-transform:uppercase;text-shadow:none!important}.open-btn:hover{transform:translateX(-50%) translateY(-2px) scale(1.02);filter:brightness(1.05);box-shadow:0 14px 34px rgba(126,75,8,.38),0 0 28px rgba(255,229,160,.22)}.cover small{position:absolute;bottom:25px;left:0;right:0;text-align:center;color:#a7afbd;font-size:9px;letter-spacing:.08em}.cover-tagline{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font:14px Georgia,serif;color:rgba(255,244,219,.82);text-shadow:0 2px 10px rgba(0,0,0,.28)}
.book-shell{position:relative;width:min(1180px,calc(100vw - 150px));height:min(660px,calc(100dvh - 130px));display:flex;align-items:center;justify-content:center}.book{position:relative;width:min(1060px,100%);height:100%;filter:drop-shadow(0 34px 46px rgba(33,19,25,.38));perspective:1700px}.page{position:absolute;top:0;bottom:0;width:50%;padding:52px 48px 82px;color:var(--ink);background:linear-gradient(90deg,#ead8b6 0%,#f7efd9 11%,#f7edd3 90%,#e8d4ad 100%);border:1px solid rgba(137,99,50,.3);overflow:hidden}.page:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:radial-gradient(#6d4e23 .55px,transparent .7px);background-size:7px 7px}.page.left{left:0;border-radius:18px 2px 2px 18px;box-shadow:inset -25px 0 38px rgba(73,48,19,.14)}.page.right{right:0;border-radius:2px 18px 18px 2px;box-shadow:inset 25px 0 38px rgba(73,48,19,.14)}.page-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}.kicker{font-size:9px;font-weight:800;letter-spacing:.28em;color:#8b6730;text-transform:uppercase}.page h2{font:600 clamp(34px,3.4vw,48px)/1.02 Georgia,serif;margin:10px 0 18px}.page p{font:18px/1.5 Georgia,serif;margin:0 0 14px;color:#40382e}.hand{font-style:italic!important;color:#7b6037!important;font-size:20px!important;margin-top:18px!important}.photo-frame{position:relative;margin:auto;width:min(88%,390px);background:#f8efdc;padding:10px 10px 30px;box-shadow:0 14px 32px rgba(62,39,18,.25);transform:rotate(1.3deg)}.photo-frame:before{content:"";position:absolute;top:-9px;left:50%;width:72px;height:20px;background:rgba(211,187,132,.72);transform:translateX(-50%) rotate(-2deg)}.photo-frame img{display:block;width:100%;height:min(42vh,360px);object-fit:cover}.photo-frame figcaption{text-align:center;padding-top:8px;font:italic 16px Georgia,serif;color:#6c5a41}.stamp{margin:18px auto 0;border:2px solid rgba(120,82,38,.44);color:#805b2c;padding:7px 10px;border-radius:4px;font-size:9px;letter-spacing:.16em;transform:rotate(-3deg);width:max-content}.gutter{position:absolute;z-index:5;left:50%;top:0;bottom:0;width:34px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,transparent,rgba(79,51,18,.18),rgba(0,0,0,.08),rgba(79,51,18,.17),transparent)}.flip{position:absolute;z-index:20;top:0;right:0;width:50%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#ead8b6,#f6ecd4);border-radius:2px 18px 18px 2px;display:none;box-shadow:-10px 0 26px rgba(0,0,0,.18)}.flip.active{display:block;animation:flipPage .62s ease-in-out}@keyframes flipPage{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}.arrow{position:absolute;z-index:30;top:50%;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:1px solid rgba(255,231,174,.72);background:rgba(36,41,61,.65);color:#ffe4a2;font-size:24px;display:grid;place-items:center;backdrop-filter:blur(10px);cursor:pointer;transition:.2s ease}.arrow:hover{transform:scale(1.08);background:#e5c575;color:#1d1820}.arrow:disabled{opacity:.22;cursor:default;transform:none}.prev{left:0}.next{right:0}.progress{position:absolute;z-index:8;left:14%;right:14%;bottom:35px;color:#806841}.progress-line{height:15px;position:relative;border-top:1px solid rgba(128,104,65,.45)}.progress-line #plane{position:absolute;top:-10px;left:0;font-size:16px;transition:left .55s ease}.progress-labels{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.12em}.counter{position:absolute;z-index:9;left:50%;bottom:17px;transform:translateX(-50%);font-size:8px;letter-spacing:.16em;color:#786b57}.dots{position:absolute;bottom:18px;display:flex;gap:7px}.dots button{width:6px;height:6px;border:0;border-radius:50%;background:rgba(255,255,255,.38);padding:0;cursor:pointer}.dots button.active{width:20px;border-radius:99px;background:#ffe09a}.swipe{display:none}.routebox{margin-top:20px;padding:13px;border:1px dashed rgba(117,85,42,.42);border-radius:10px;font-size:9px;letter-spacing:.12em;color:#695536}.cta{display:inline-flex;margin-top:17px;text-decoration:none;background:#1c2b43;color:#ffe4a3;padding:12px 16px;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.04em;width:max-content;transition:.2s}.cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}
@media(max-width:900px){.topbar{height:58px;padding:0 13px}.logo-word{font-size:9px}.logo-icon svg{width:38px!important;height:28px!important}.sun{right:5vw;bottom:16vh;width:95px;height:95px}.bg-plane{right:7vw;top:15vh;font-size:30px}.cat-silhouette{right:-26px;width:140px;height:210px;opacity:.38}.cover-wrap{width:min(88vw,410px);height:min(690px,76dvh)}.cover-photo{top:68px;width:136px}.cover-photo img{height:116px}.cover-text{top:260px}.cover-text h1{font-size:64px}.open-btn{min-width:230px}.cover-tagline{display:none}.book-shell{width:94vw;height:calc(100dvh - 102px)}.book{width:100%;height:100%}.page.left{display:none}.page.right{left:0;right:0;width:100%;border-radius:16px;padding:38px 24px 70px;overflow-y:auto}.gutter,.progress,.counter,.arrow{display:none}.dots{display:flex;bottom:12px}.swipe{display:block;position:absolute;bottom:31px;font-size:9px;letter-spacing:.08em;color:rgba(255,245,221,.88)}.page-content{justify-content:flex-start;padding-top:20px}.page h2{font-size:38px}.page p{font-size:17px}.photo-frame{width:min(88%,340px)}.photo-frame img{height:min(46dvh,360px)}}
@media(max-width:520px){.cover-wrap{height:72dvh}.cover{border-radius:10px 20px 20px 10px}.cover-photo{width:118px;top:60px}.cover-photo img{height:100px}.cover-text{top:226px}.cover-text h1{font-size:56px}.cover-text .sub{font-size:18px}.cover-text p{font-size:15px}.mini-route{bottom:100px}.open-btn{bottom:47px;min-width:210px;padding:12px 14px}.open-btn strong{font-size:9.5px!important}.page.right{padding:32px 20px 66px}.page h2{font-size:34px}.page p{font-size:16px}}
@media(max-height:720px) and (min-width:901px){.cover-wrap{height:72dvh;width:min(390px,72vw)}.cover-photo{width:128px;top:61px}.cover-photo img{height:110px}.cover-text{top:230px}.cover-text h1{font-size:58px}.cover-text p{font-size:14px}.mini-route{bottom:92px}.open-btn{bottom:37px}.cover small{bottom:16px}.book-shell{height:calc(100dvh - 86px)}.page{padding:38px 42px 70px}.photo-frame img{height:min(39dvh,280px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* ===== CatSky V4.1 — directional pages + mobile one-screen + Cessna ===== */
.logo{gap:11px}
.logo-icon{width:52px;height:38px}
.logo-icon svg{width:52px!important;height:38px!important}
.logo-word{font-size:12px;letter-spacing:.25em}

.bg-plane{right:14vw;top:17vh;width:86px;height:44px;font-size:0;color:rgba(24,31,53,.32);transform:rotate(-7deg);filter:drop-shadow(0 10px 12px rgba(0,0,0,.12));animation:floatPlane 7s ease-in-out infinite alternate}
.bg-plane svg{display:block;width:100%;height:100%;overflow:visible}
.bg-plane .cessna-shape{fill:currentColor}
.bg-plane .prop{opacity:.62}
@keyframes floatPlane{to{transform:translate(20px,-9px) rotate(-4deg)}}

/* Page direction must follow navigation direction. */
.flip{display:none}
.flip.forward{left:auto;right:0;transform-origin:left center;border-radius:2px 18px 18px 2px;box-shadow:-10px 0 26px rgba(0,0,0,.18)}
.flip.backward{left:0;right:auto;transform-origin:right center;border-radius:18px 2px 2px 18px;box-shadow:10px 0 26px rgba(0,0,0,.18)}
.flip.forward.active{display:block;animation:flipForward .62s ease-in-out}
.flip.backward.active{display:block;animation:flipBackward .62s ease-in-out}
@keyframes flipForward{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}
@keyframes flipBackward{0%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}

@media(max-width:900px){
  .logo-icon{width:44px;height:32px}
  .logo-icon svg{width:44px!important;height:32px!important}
  .logo-word{font-size:10px}
  .bg-plane{right:6vw;top:14vh;width:66px;height:34px}
  .page.right{overflow:hidden!important;padding:30px 22px 54px!important}
  .page-content.mobile-combined{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;justify-content:stretch;padding-top:8px}
  .mobile-copy{min-height:0}
  .mobile-combined .kicker{font-size:8px;letter-spacing:.22em}
  .mobile-combined h2{font-size:clamp(27px,7.4vw,36px);line-height:1.02;margin:6px 0 9px}
  .mobile-combined p{font-size:clamp(13.5px,3.7vw,16px);line-height:1.34;margin:0 0 7px}
  .mobile-combined .hand{font-size:clamp(14px,3.8vw,17px)!important;line-height:1.25;margin-top:7px!important;margin-bottom:0!important}
  .mobile-photo{width:min(76%,310px)!important;max-height:100%;margin:0 auto!important;padding:7px 7px 24px!important;align-self:center;transform:rotate(.7deg)}
  .mobile-photo img{height:100%!important;max-height:30dvh;min-height:120px;object-fit:cover}
  .mobile-photo figcaption{font-size:13px;padding-top:5px}
  .mobile-photo:before{width:58px;height:16px;top:-7px}
  .mobile-final{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:center}
  .mobile-final .routebox{margin:0;padding:7px 9px;font-size:7px}
  .mobile-final .cta{margin:0;padding:9px 12px;font-size:9px}
}

@media(max-width:520px){
  .page.right{padding:27px 17px 50px!important}
  .page-content.mobile-combined{gap:7px;padding-top:4px}
  .mobile-combined h2{font-size:clamp(25px,7vw,31px);margin:5px 0 7px}
  .mobile-combined p{font-size:clamp(12.5px,3.55vw,14.5px);line-height:1.3}
  .mobile-combined .hand{font-size:clamp(13px,3.6vw,15px)!important}
  .mobile-photo{width:min(72%,270px)!important;padding:6px 6px 21px!important}
  .mobile-photo img{max-height:27dvh;min-height:105px}
  .mobile-photo figcaption{font-size:12px}
}

@media(max-height:680px) and (max-width:900px){
  .page.right{padding-top:22px!important;padding-bottom:46px!important}
  .mobile-combined h2{font-size:25px;margin:4px 0 6px}
  .mobile-combined p{font-size:12.5px;line-height:1.25;margin-bottom:5px}
  .mobile-combined .hand{font-size:13px!important;margin-top:4px!important}
  .mobile-photo{width:min(64%,230px)!important;padding:5px 5px 18px!important}
  .mobile-photo img{max-height:23dvh;min-height:88px}
  .mobile-photo figcaption{font-size:11px;padding-top:4px}
  .mobile-final .routebox{padding:5px 7px}
  .mobile-final .cta{padding:7px 10px}
}

/* ===== CatSky V4.2 refinements ===== */
.logo-icon{width:50px;height:36px}.logo-icon svg{width:50px!important;height:36px!important}.logo-word{font-size:13px}
.cover-text{left:50px;right:24px}.overline{font-size:10px;letter-spacing:.20em;white-space:nowrap;max-width:100%;overflow:visible}.cover-text h1{font-size:84px}.cover-text .sub{font-size:23px}.cover-text p{font-size:18px}
/* original jet silhouette + a subtle contrail */
.bg-plane{right:14vw;top:17vh;width:118px;height:48px;color:rgba(24,31,53,.34);transform:rotate(-8deg);filter:none;animation:floatJet 7s ease-in-out infinite alternate;display:flex;align-items:center;justify-content:flex-end}
.bg-plane .jet{position:relative;z-index:2;font-size:58px;line-height:1;color:currentColor;text-shadow:0 10px 18px rgba(0,0,0,.10)}
.bg-plane .contrail{position:absolute;z-index:1;right:48px;top:24px;width:76px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(245,231,218,.10),rgba(245,231,218,.34));filter:blur(.6px);transform:rotate(2deg);transform-origin:right center}
.bg-plane .contrail:after{content:"";position:absolute;right:3px;top:5px;width:54px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(245,231,218,.22));opacity:.7}
@keyframes floatJet{to{transform:translate(22px,-9px) rotate(-5deg)}}
@media(max-width:900px){.logo-icon{width:46px;height:34px}.logo-icon svg{width:46px!important;height:34px!important}.logo-word{font-size:11px}.bg-plane{right:4vw;top:13vh;width:90px;height:38px}.bg-plane .jet{font-size:45px}.bg-plane .contrail{right:38px;top:19px;width:58px}.cover-text{left:42px;right:22px}.overline{font-size:9px;letter-spacing:.16em}.cover-text h1{font-size:72px}.cover-text .sub{font-size:21px}.cover-text p{font-size:16px}}
@media(max-width:420px){.overline{font-size:8.5px;letter-spacing:.12em}.cover-text h1{font-size:68px}}

/* ===== CatSky V4.3 — new cover photo + video diary ===== */
.cover-photo{top:58px;width:178px;transform:translateX(-50%) rotate(-1.2deg)}
.cover-photo img{height:154px;object-position:center 56%}
.cover-text{top:274px}
.cover-text h1{font-size:86px}
.cover-text .sub{font-size:24px}
.video-frame video{display:block;width:100%;height:min(44dvh,320px);object-fit:cover;border-radius:3px;background:#151822;box-shadow:inset 0 0 0 1px rgba(95,70,34,.14)}
.video-frame:after{content:'VIDEO LOG';position:absolute;right:12px;top:12px;padding:4px 7px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(16,22,34,.52);color:#fff4d5;font-size:7px;letter-spacing:.16em;backdrop-filter:blur(6px)}
@media(max-width:900px){
 .cover-photo{top:52px;width:154px}.cover-photo img{height:132px}.cover-text{top:238px}
 .mobile-photo.video-frame{width:min(82%,330px)!important}.mobile-photo.video-frame video{height:auto;max-height:28dvh;aspect-ratio:16/10;object-fit:cover}
 .mobile-photo.video-frame:has(video[src*='car-ride']) video,.mobile-photo.video-frame:has(video[src*='trusting-us']) video{aspect-ratio:9/13;max-height:27dvh}
}
@media(max-width:520px){
 .cover-photo{top:48px;width:146px}.cover-photo img{height:124px}.cover-text{top:225px}
 .mobile-photo.video-frame{width:min(78%,290px)!important}.mobile-photo.video-frame video{max-height:25dvh}
 .mobile-combined:has(.video-frame) h2{font-size:clamp(23px,6.5vw,29px)}
 .mobile-combined:has(.video-frame) p{font-size:clamp(12px,3.35vw,14px)}
}
@media(max-height:680px) and (max-width:900px){.mobile-photo.video-frame video{max-height:21dvh}.cover-photo{width:132px}.cover-photo img{height:112px}}


/* ===== CatSky V4.4 — native pull-to-refresh + stronger cover + contact footer ===== */
/* Keep native vertical browser gestures alive on mobile. Horizontal page swipe is handled in JS. */
html,body{touch-action:pan-y pinch-zoom}
.app{min-height:100dvh}

/* Bigger, more emotional cover photo. */
.cover-photo{top:48px;width:206px;padding:9px 9px 28px}
.cover-photo img{height:178px;object-position:center 58%}
.cover-text{top:286px}
.overline{
  display:inline-block;
  width:auto;
  max-width:calc(100% - 10px);
  padding:6px 11px 5px;
  border:1px solid rgba(229,197,117,.58);
  border-radius:999px;
  background:rgba(8,20,37,.42);
  color:#ffe0a0;
  font-weight:800;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
  box-shadow:0 0 18px rgba(229,197,117,.08);
}
.cover-text h1{margin-top:8px}

/* Small contact line at the bottom of every diary page. */
.page-footer{
  position:absolute;
  left:26px;
  right:26px;
  bottom:18px;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font:700 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  color:rgba(92,69,38,.76);
  text-transform:lowercase;
  pointer-events:auto;
}
.page-footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(92,69,38,.28)}
.page-footer a:hover{color:#2c3d58;border-bottom-color:#2c3d58}
.final-contact{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
.final-contact .cta{margin-top:0}
.final-contact .whatsapp{background:#244c3b;color:#fff1c6}

@media(max-width:900px){
  .cover-photo{top:43px;width:180px}.cover-photo img{height:154px}
  .cover-text{top:252px}
  .overline{font-size:9px!important;padding:5px 9px 4px}
  .page-footer{left:14px;right:14px;bottom:9px;font-size:8.5px;letter-spacing:.055em}
  .page.right{padding-bottom:64px!important}
  .mobile-combined{padding-bottom:15px}
  .final-contact{justify-content:center;margin-top:4px;gap:6px}
  .final-contact .cta{padding:8px 10px;font-size:8.5px}
}
@media(max-width:520px){
  .cover-photo{top:40px;width:172px}.cover-photo img{height:146px}
  .cover-text{top:244px}
  .overline{font-size:8.5px!important;letter-spacing:.1em!important}
  .page-footer{bottom:7px;font-size:8px}
  .page.right{padding-bottom:58px!important}
}
@media(max-height:680px) and (max-width:900px){
  .cover-photo{top:37px;width:148px}.cover-photo img{height:124px}
  .cover-text{top:211px}
}

/* ===== CatSky V5.0 — phone-safe cover + EN first + chapter airplane ===== */
.cover-flight-track{
  position:absolute;left:68px;right:34px;top:61px;height:18px;z-index:3;pointer-events:none;
}
.cover-flight-track .track-line{
  position:absolute;left:0;right:0;top:9px;height:1px;background:linear-gradient(90deg,rgba(229,197,117,.18),rgba(229,197,117,.7));
}
.cover-flight-track .track-line:after{
  content:"";position:absolute;inset:-2px 0 auto;height:5px;background:repeating-linear-gradient(90deg,transparent 0 11px,rgba(229,197,117,.28) 11px 14px);opacity:.55;
}
.cover-flight-track .track-plane{
  position:absolute;left:3%;top:-2px;color:#ffe29a;font-size:17px;line-height:1;transform:translateX(-50%) rotate(-7deg);filter:drop-shadow(0 2px 5px rgba(0,0,0,.32));
}
.chapter-flight-track{
  position:absolute;z-index:4;left:0;right:0;top:0;height:22px;pointer-events:none;
}
.chapter-track-line{
  position:absolute;left:0;right:0;top:10px;height:1px;background:linear-gradient(90deg,rgba(139,103,48,.18),rgba(139,103,48,.48),rgba(139,103,48,.18));
}
.chapter-track-line:after{
  content:"";position:absolute;left:0;right:0;top:-2px;height:5px;background:repeating-linear-gradient(90deg,transparent 0 17px,rgba(139,103,48,.22) 17px 20px);opacity:.8;
}
.chapter-track-plane{
  position:absolute;top:1px;color:#8b6730;font-size:18px;line-height:1;transform:translateX(-50%) rotate(-6deg);filter:drop-shadow(0 2px 2px rgba(75,48,20,.18));transition:left .55s cubic-bezier(.22,.75,.25,1);
}

@media (max-width:900px){
  html,body{min-height:100%;min-height:100dvh}
  .app{min-height:100dvh;height:100dvh;overflow:hidden}
  .cover-screen{align-items:flex-start;padding:74px 12px max(16px,env(safe-area-inset-bottom));overflow:hidden}
  .cover-wrap{
    width:min(88vw,430px,calc((100dvh - 118px) * .69));
    height:auto;
    aspect-ratio:430/630;
    max-height:calc(100dvh - 118px);
    margin:auto;
    flex:0 1 auto;
  }
  .cover{width:100%;height:100%;min-height:0}
  .cover-tagline{display:none}
  .cover-top{top:5.7%;left:15.3%;right:7.9%;font-size:clamp(6px,1.6vw,8px)}
  .cover-flight-track{left:15.8%;right:8%;top:9.3%;height:16px}
  .cover-photo{top:13%;width:35.3%;padding:1.8% 1.8% 6%}
  .cover-photo img{height:auto;aspect-ratio:1.15/1;object-fit:cover}
  .cover-photo figcaption{font-size:clamp(11px,3vw,16px);padding-top:4%}
  .cover-text{top:46.8%;left:14%;right:7%}
  .cover-text h1{font-size:clamp(48px,17.5vw,78px);margin:.5% 0}
  .cover-text .sub{font-size:clamp(15px,4.5vw,21px)}
  .cover-text p{font-size:clamp(12px,3.5vw,17px);margin-top:3.5%}
  .mini-route{bottom:16.8%}
  .open-btn{bottom:7.7%;min-width:min(68%,260px);padding:clamp(9px,2.7vw,14px) clamp(11px,3vw,18px)}
  .cover small{bottom:3.5%;font-size:clamp(7px,2vw,9px)}
  .chapter-flight-track{top:0;height:19px}
  .chapter-track-plane{font-size:16px}
  .page-content.mobile-combined{padding-top:26px}
}

@media (max-width:420px){
  .topbar{height:64px;padding:0 12px}
  .langs{gap:4px}.lang{padding:6px 7px;font-size:12px}
  .cover-screen{padding-top:64px}
  .cover-wrap{width:min(92vw,calc((100dvh - 98px) * .69));max-height:calc(100dvh - 98px)}
  .cover-border{inset:10px}
  .cover-spine{left:18px;width:22px}
  .open-btn strong{font-size:clamp(8px,2.5vw,10px)!important;letter-spacing:.045em}
}

@media (max-height:690px) and (max-width:900px){
  .topbar{height:58px}
  .cover-screen{padding-top:58px;padding-bottom:8px}
  .cover-wrap{width:min(76vw,calc((100dvh - 72px) * .69));max-height:calc(100dvh - 72px)}
  .cover-text p{display:none}
  .cover small{display:none}
  .open-btn{bottom:4.5%}
  .mini-route{bottom:14.5%}
}
