:root{--ink:#403532;--rose:#815e68;--header-height:38px;--footer-height:77px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:'Hiragino Kaku Gothic ProN',sans-serif;color:var(--ink);background:#e9e5e2}button,a,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}.skip{position:fixed;top:-100px;z-index:60;background:white;padding:10px}.skip:focus{top:0}.swipe-app{height:100dvh}.topbar{height:var(--header-height);position:fixed;z-index:15;top:0;left:50%;transform:translateX(-50%);width:100%;display:flex;align-items:center;gap:10px;padding:0 13px;background:#faf8f5;border-bottom:1px solid #d9d0ca;font-size:10px}.topbar>span{white-space:nowrap}.topbar b{margin-left:auto;font-size:12px;white-space:nowrap}.topbar small{font-size:9px;font-weight:400}.header-stores{margin-left:auto;border:0;background:none;color:#815e68;font-size:10px;text-decoration:underline;padding:4px}.slides{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none}.slides::-webkit-scrollbar{display:none}.slide{height:100dvh;padding:calc(var(--header-height) + 12px) 10px calc(var(--footer-height) + 18px);display:flex;justify-content:center;align-items:center;scroll-snap-align:start;scroll-snap-stop:always}.image-frame{position:relative;width:min(100%,calc((100dvh - var(--header-height) - var(--footer-height) - 30px)*1122/1402));aspect-ratio:1122/1402;background:#fffdfa;box-shadow:0 0 0 1px #cdbfb655,0 8px 24px #4035320a}.image-frame>img{width:100%;height:100%;object-fit:contain;display:block}.fixed-cta{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:9px 12px calc(7px + env(safe-area-inset-bottom));background:#faf8f5fa;border-top:1px solid #d9d0ca;display:flex;flex-direction:column;align-items:center;gap:7px}.cta-pair{width:min(100%,540px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.apply-cta,.tour-cta{display:flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:3px;color:#fff;font-size:14px;line-height:1.3;font-weight:600;text-decoration:none;padding:8px 4px}.apply-cta{background:#087f46}.tour-cta{background:#91616c}.dots{display:none}.controls{position:fixed;right:13px;bottom:calc(var(--footer-height) + 1px);z-index:10;display:none;gap:6px}.controls button{width:26px;height:26px;border:1px solid #c6b7b0;border-radius:50%;background:#fffcf9ee;color:#815e68;display:grid;place-items:center;padding:3px}.controls button:disabled{opacity:.3}.controls svg{width:16px}.video-trigger,.store-trigger,.faq-trigger,.casual-trigger,.closing-tour{position:absolute;background:transparent;border:0;padding:0}.video-trigger{left:7.13%;top:31.95%;width:85.74%;height:46.87%}.store-trigger,.faq-trigger{left:7.3%;right:7.3%;bottom:5.8%;height:7.5%}.casual-trigger{left:48%;top:71.5%;width:45%;height:17%}.closing-tour{left:7.3%;top:71.5%;width:37%;height:17%}button:focus-visible,a:focus-visible{outline:3px solid #815e68;outline-offset:3px}dialog{border:0;background:#fffdfa;color:#403532;max-height:88dvh;overflow:auto;padding:30px 22px;width:min(92vw,580px)}dialog::backdrop{background:#29202399}.dialog-close{position:absolute;top:7px;right:10px;background:none;border:0;font-size:28px}.info-dialog h2{font-size:22px;margin:0 30px 22px 0}.info-dialog h3{font-size:16px;margin-top:28px}.info-dialog p{font-size:14px;line-height:1.9}.video-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.video-header h2{font-size:15px}.video-header button{font-size:26px;background:none;border:0}#recruit-video{max-width:440px}#recruit-video video{max-width:100%;max-height:67dvh;display:block;margin:auto}#recruit-video>p{font-size:11px;text-align:center}@media(min-width:700px){html,body{height:auto;overflow-y:auto}.swipe-app{height:auto;max-width:480px;margin:auto;padding:calc(var(--header-height) + 22px) 0 calc(var(--footer-height) + 22px)}.topbar{max-width:480px}.slides{height:auto;overflow:visible;scroll-snap-type:none}.slide{height:auto;display:block;padding:0;margin-bottom:24px;scroll-margin-top:calc(var(--header-height) + 20px)}.image-frame{width:100%}.controls{display:flex;top:50%;left:50%;right:auto;bottom:auto;width:620px;transform:translate(-50%,-50%);justify-content:space-between;pointer-events:none}.controls button{pointer-events:auto;width:40px;height:40px}.controls svg{width:22px}.cta-pair{max-width:480px}}
@media(prefers-reduced-motion:reduce){.slides{scroll-behavior:auto}}

.controls button{font-size:20px;line-height:1}.topbar>span{font-size:10px}.topbar b{flex-shrink:0}

.cta-note{margin:0;font-size:10px;line-height:1.4;font-weight:400;color:#685653;text-align:center}

/* Matching two-line CTAs: concise note and a restrained button edge. */
.apply-cta,.tour-cta{min-height:60px;flex-direction:column;gap:3px;padding:8px 4px;border:1px solid #ffffff38;border-bottom-width:2px;border-radius:7px;box-shadow:0 2px 4px #40353220,inset 0 1px 0 #ffffff25;transition:transform .15s,box-shadow .15s}
.apply-cta{background:linear-gradient(180deg,#11864b,#08733e);border-bottom-color:#045a2e}
.tour-cta{background:linear-gradient(180deg,#986b76,#855962);border-bottom-color:#624049}
.cta-title{display:flex;align-items:center;justify-content:center;gap:5px;font-size:15px;line-height:1.4;font-weight:600;white-space:nowrap}
.cta-arrow{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1px solid #ffffff70;border-radius:50%;background:#ffffff18;font:600 20px/1 Georgia}
.cta-caption{font-size:11px;line-height:1.4;min-height:0;font-weight:400;text-align:center;white-space:nowrap}
.apply-cta:active,.tour-cta:active{transform:translateY(1px);box-shadow:0 1px 2px #40353218,inset 0 1px 0 #ffffff25}
@media(hover:hover){.apply-cta:hover,.tour-cta:hover{transform:translateY(-1px);box-shadow:0 3px 6px #40353224,inset 0 1px 0 #ffffff25}}
@media(prefers-reduced-motion:reduce){.apply-cta,.tour-cta{transition:none}}

/* Keep swiping and pinch zoom; disable accidental double-tap zoom. */
html,body,.slides,dialog{touch-action:manipulation}

/* Keep Safari text sizing and grid tracks within the fixed footer. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.cta-pair>*{min-width:0}
