:root{--blue:#4288f7;--mint:#6ff6f3;--ink:#18263d;--muted:#626e80;--line:#dfe7f0;--page-width:1200px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #153f9c;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:10px;left:10px;padding:12px 20px;background:#fff;color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}.section-shell{max-width:var(--page-width);margin:auto;padding-inline:40px}.eyebrow{margin:0 0 28px;font-size:12px;font-weight:700;letter-spacing:2.5px}.site-header{position:absolute;z-index:3;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;gap:42px;padding:0 max(40px,calc((100vw - 1120px)/2));color:#fff;border-bottom:1px solid #ffffff24}.header-brand{width:96px;overflow:visible}.header-brand img{transform:scale(.65);transform-origin:left center}.site-header nav{display:flex;gap:32px;font-size:14px;font-weight:600}.site-header nav a{opacity:.9;transition:opacity .2s}.site-header nav a:hover{opacity:1}.header-action{margin-left:auto;font-size:14px;font-weight:600;display:flex;gap:24px;align-items:center}.header-action span{font-size:22px}.hero{position:relative;overflow:hidden;min-height:min(900px,100svh);background:linear-gradient(125deg,var(--blue) 35%,#4aa8ef 68%,var(--mint) 120%);color:#fff;display:flex;flex-direction:column;justify-content:center}.hero-inner{width:100%;max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:140px 40px 90px}.hero-copy{position:relative;z-index:1}.hero-copy .eyebrow{opacity:.8}h1{font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.5;letter-spacing:-1.5px;margin:0}.hero-brand{height:242px;margin:24px 0 20px}.brand-art{width:124px;transform:scale(2.6);transform-origin:left top;display:flex;flex-direction:column;align-items:center;gap:10px}.jeonju-wordmark{margin-top:0}.hero-description{font-size:17px;line-height:1.85;color:#fff;margin:0 0 32px;letter-spacing:-.2px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:0 24px;border-radius:8px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s}.button-white{background:white;color:#266ada;box-shadow:0 5px 20px #226ab310}.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #185baa28}.button span{font-size:22px}.hero-visual{position:relative;width:100%;height:590px;display:grid;place-items:center}.illustration-stage{position:relative;width:360px;height:500px;transform:scale(1.18);transform-origin:center center}.scene-icon,.watermark,.scene-house{position:absolute}.scene-map{width:183.32px;left:14.55px;top:43.34px;transform:rotate(-17.74deg)}.scene-gift{width:113.682px;left:219.62px;top:107.12px;transform:rotate(20.83deg)}.scene-people{width:71.425px;left:176.58px;top:246.68px;transform:rotate(11.34deg)}.scene-chat{width:104.948px;left:28.26px;top:219.09px;transform:rotate(-30deg)}.scene-house{width:136.73px;height:136.73px;left:175.65px;top:334.11px;transform:rotate(20.05deg);overflow:hidden;border-radius:48.832px}.scene-house img{position:absolute;width:122.08px;height:122.08px;left:4.59px;top:5.76px;transform:rotate(-9.92deg)}.watermark-pick{left:87.5px;top:165px;transform:rotate(13.82deg)}.watermark-jeonju{left:85px;top:330px;transform:rotate(-10.59deg)}.hero-bottom{position:absolute;bottom:30px;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 max(40px,calc((100vw - 1120px)/2));font-size:11px;letter-spacing:.6px;color:#fff}.hero-bottom>a{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:1.5px}.hero-bottom>a span{font-size:22px;animation:scroll-nudge 2.5s infinite}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:130px}.about .eyebrow,.experience .eyebrow{color:#2876e6}h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.35;letter-spacing:-1.7px;font-weight:700}.about-body{padding-top:40px}.about-body>p:first-child{font-size:24px;line-height:1.5;letter-spacing:-.7px;margin:0 0 24px}.muted{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 28px}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:42px;align-items:center}.text-link span{font-size:24px;color:var(--blue)}.experience{overflow:hidden;background:#f4f8fe}.experience-inner{padding-block:110px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.experience-options{margin-top:44px}.experience-option{width:100%;display:flex;gap:20px;align-items:center;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:25px 0;color:var(--ink);transition:color .2s,padding .2s}.experience-option:last-child{border-bottom:1px solid var(--line)}.option-number{font-size:12px;color:#8b97a8}.experience-option strong{display:block;font-size:20px;letter-spacing:-.5px;font-weight:600}.experience-option small{display:block;font-size:13px;color:var(--muted);margin-top:10px}.option-arrow{margin-left:auto;font-size:24px;opacity:0;transform:translate(-5px,5px);transition:opacity .2s,transform .2s}.experience-option.is-active,.experience-option:hover{color:#236cdb}.experience-option.is-active .option-arrow,.experience-option:hover .option-arrow{opacity:1;transform:none}.experience-option.is-active .option-number{color:#236cdb}.experience-visual{display:flex;align-items:center;flex-direction:column}.landscape-preview{width:360px;height:760px;position:relative;overflow:hidden;border-radius:24px;box-shadow:0 24px 70px #2869b01a;flex-shrink:0;background:#4288f7}.landscape{width:360px;height:760px;object-fit:cover}.preview-brand{position:absolute;left:78px;top:140.4px;width:204px;display:flex;flex-direction:column;align-items:center}.preview-brand p{margin:0 0 16px;width:204px;white-space:nowrap;color:#fff;font-size:16px;line-height:26px;font-weight:600;letter-spacing:-.45px}.preview-brand .jeonju-wordmark{margin-top:10.2463px}.preview-footer{position:absolute;top:686.98px;width:100%;text-align:center;color:#99a1af;font-size:16px;line-height:26px;font-weight:600}.experience-detail{margin-top:34px;width:360px;text-align:center;min-height:86px}.experience-detail>span{font-size:10px;letter-spacing:2px;color:#3071d7;font-weight:700}.experience-detail>p{margin:10px 0 0;font-size:17px;line-height:1.6;letter-spacing:-.3px}.experience-detail.is-changing{animation:detail-in .35s both}.download{color:white;background:#4288f7;position:relative}.download-inner{padding-block:110px;text-align:center}.download h2{font-size:clamp(36px,4.5vw,60px)}.download-description{font-size:17px;line-height:1.7;margin:24px 0 32px;color:#fff}.store-actions{display:flex;justify-content:center;gap:12px}.store-actions button{display:block;padding:0;border:0;background:transparent;border-radius:9px;transition:transform .2s}.store-actions button:hover{transform:translateY(-3px)}.store-status{font-size:13px;min-height:20px;color:#fff;margin:24px 0 0}.site-footer{display:flex;align-items:center;gap:36px;min-height:160px}.footer-brand{width:92px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start}.footer-brand img{filter:brightness(0) saturate(100%) invert(48%) sepia(90%) saturate(2340%) hue-rotate(201deg) brightness(98%) contrast(97%);transform:scale(.58);transform-origin:left top;margin-bottom:-18px}.footer-brand span{font-size:11px;letter-spacing:2.3px;color:#326ecd;font-weight:600}.site-footer p{font-size:13px;color:var(--muted)}.site-footer small{margin-left:auto;font-size:11px;color:var(--muted)}.back-to-top{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:20px}.hero-entrance{animation:entrance .8s both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5){animation-delay:.32s}.hero-visual{animation-delay:.2s}.js-reveal .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-reveal .reveal.is-visible{opacity:1;transform:none}@keyframes entrance{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes detail-in{from{opacity:.3;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(min-width:1400px){.illustration-stage{transform:scale(1.35)}}
@media(max-width:900px){.hero-inner{gap:10px}.hero-visual{height:520px}.illustration-stage{transform:scale(.95)}.hero-brand{height:212px}.brand-art{transform:scale(2.3)}.hero-description{font-size:15px}.about,.experience-inner{gap:35px}.landscape-preview{transform:scale(.85);margin-block:-57px}.experience-detail{width:300px}.hero-bottom>span:last-child{display:none}.site-header{padding-inline:32px}.section-shell{padding-inline:32px}}
@media(max-width:640px){html{scroll-padding-top:24px}.site-header{height:76px;padding:0 24px;gap:15px}.site-header nav{display:none}.header-action{font-size:12px;gap:12px}.header-brand img{transform:scale(.55)}.header-brand{width:76px}.hero{min-height:0;background:linear-gradient(154deg,var(--blue) 33.349%,var(--mint) 110%)}.hero-inner{padding:119px 24px 75px;display:block}.hero-copy{text-align:center}.hero-copy .eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:2px}h1{font-size:25px;line-height:1.45;letter-spacing:-.8px}.hero-brand{height:166px;margin:20px auto 8px;width:235px}.brand-art{transform:scale(1.9);transform-origin:left top}.hero-description{font-size:14px;line-height:1.8;margin-bottom:24px}.button{min-height:50px;font-size:13px;padding:0 20px;gap:40px}.hero-visual{height:340px;margin-top:16px}.illustration-stage{transform:scale(.72);transform-origin:center center}.hero-bottom{padding-inline:24px;bottom:22px;justify-content:center}.hero-bottom>span{display:none}.hero-bottom>a{font-size:9px}.hero-bottom>a span{font-size:20px}.section-shell{padding-inline:24px}.about{grid-template-columns:1fr;gap:32px;padding-block:76px}.eyebrow{font-size:10px;margin-bottom:22px;letter-spacing:2px}h2{font-size:32px;letter-spacing:-1px}.about-body{padding:0}.about-body>p:first-child{font-size:20px;margin-bottom:20px}.muted{font-size:14px}.experience-inner{grid-template-columns:1fr;gap:54px;padding-block:76px}.experience-options{margin-top:32px}.experience-option{padding-block:22px;gap:16px}.experience-option strong{font-size:18px}.experience-option small{font-size:12px}.landscape-preview{transform:none;width:min(360px,100%);height:auto;aspect-ratio:360/760;margin:0;border-radius:20px;container-type:inline-size}.landscape{width:100%;height:100%;object-fit:cover}.preview-brand{left:21.6667%;top:18.4737%;width:56.6667%;left:0;width:100%}.preview-brand p{width:auto;font-size:clamp(12px,4cqw,16px)}.preview-footer{top:90.392%;font-size:14px}.experience-detail{width:100%;margin-top:28px;font-size:15px}.download-inner{padding-block:76px}.download h2{font-size:36px}.download-description{font-size:14px;margin:22px 0 28px}.store-actions{gap:10px;flex-wrap:wrap}.store-actions img{max-width:140px;height:auto}.store-status{font-size:12px}.site-footer{position:relative;min-height:195px;flex-wrap:wrap;gap:0 18px;padding-block:38px;padding-right:75px}.site-footer p{font-size:12px}.site-footer small{width:100%;margin:22px 0 0}.back-to-top{position:absolute;right:24px;top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-reveal .reveal{opacity:1;transform:none}}

@media(max-width:640px){
  .hero{min-height:100svh}
  .hero-inner{display:flex;flex-direction:column;padding:96px 24px 58px;gap:0}
  .hero-copy{display:contents}
  .hero-copy .eyebrow{display:none}
  .hero-copy h1{font-size:18px;line-height:1.5;order:0;letter-spacing:-.5px}
  .hero-copy h1 br{display:none}
  .hero-brand{order:1;width:161px;height:112px;margin:18px auto 0}
  .brand-art{transform:scale(1.3)}
  .hero-description{display:none}
  .hero-visual{order:2;height:clamp(150px,26svh,230px);margin:0}
  .illustration-stage{transform:scale(.46)}
  .hero-copy .button{order:3;min-height:46px;margin-top:8px}
}
/* Home and MY content, adapted from Figma 586:70794. */
.section-description{font-size:16px;line-height:1.85;color:var(--muted);margin:24px 0 30px;letter-spacing:-.2px}
.services{padding-block:90px 100px;border-top:1px solid var(--line)}
.services-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:90px}
.services-heading>.eyebrow{grid-column:1/-1;color:#2876e6}
.services-heading>.section-description{align-self:end;margin:0 0 4px}
.service-list{display:grid;grid-template-columns:repeat(8,1fr);gap:15px;margin-top:60px}
.service-list a{display:flex;flex-direction:column;align-items:center;gap:15px;padding:12px 4px;color:var(--ink);font-size:13px;font-weight:600;transition:color .2s,transform .2s}
.service-list a:hover{color:#236cdb;transform:translateY(-5px)}
.service-list img{width:76px;height:76px;object-fit:contain}
.city-cover{position:relative;height:560px;overflow:hidden;background:#172a37;color:white}
.city-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.city-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#142335b3 0%,#1423355c 52%,#1423350a 100%)}
.city-cover-copy{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.city-cover h2{font-size:64px;line-height:1.22;letter-spacing:-2px}
.city-cover-copy>p:last-child{font-size:17px;margin:25px 0 0;line-height:1.7}
.city-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-block:80px 110px}
.story-photo{overflow:hidden;aspect-ratio:1.4;margin-bottom:28px;background:#edf2f8}
.story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.city-story:hover .story-photo img{transform:scale(1.04)}
.city-story:last-child .story-photo img{object-position:center 20%}
.story-label{font-size:10px;color:#2876e6;font-weight:700;letter-spacing:1.2px}
.city-story h3{font-size:20px;letter-spacing:-.5px;margin:14px 0 12px;line-height:1.45;font-weight:600}
.city-story p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.rewards{background:#eaf5ff;overflow:hidden}
.rewards-inner{padding-block:95px 100px;display:grid;grid-template-columns:1fr 1fr;gap:0 90px;align-items:center}
.rewards .eyebrow,.my .eyebrow,.faq .eyebrow{color:#2876e6}
.rewards-art{display:grid;place-items:center;height:365px}
.rewards-art>img{width:440px;max-width:100%;height:auto}
.reward-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;list-style:none;padding:0;margin:50px 0 0;border-top:1px solid #c5ddf4}
.reward-steps li{display:flex;align-items:flex-start;gap:12px;padding-top:30px}
.reward-steps img{width:62px;height:62px;object-fit:contain;flex-shrink:0}
.reward-steps span{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#2876e6}
.reward-steps h3{font-size:18px;letter-spacing:-.5px;font-weight:600;margin:10px 0}
.reward-steps p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.my{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:110px;align-items:center}
.my-features{list-style:none;padding:0;margin:35px 0 0;display:flex;flex-direction:column;gap:26px}
.my-features li{display:flex;align-items:center;gap:20px}
.my-features img{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.my-features h3{font-size:17px;font-weight:600;margin:0 0 8px;letter-spacing:-.4px}
.my-features p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}
.notification-story{background:#f4f8fe;padding:30px 45px 45px}
.notification-illustration{height:190px;display:grid;place-items:center;margin-bottom:22px}
.notification-illustration img{width:230px;height:230px;object-fit:contain;transform:rotate(-10deg)}
.notification-story .eyebrow{font-size:10px;margin-bottom:18px}
.notification-story h3{font-size:26px;line-height:1.45;letter-spacing:-.9px;margin:0 0 20px}
.notification-story>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:0 0 20px}
.notification-story>p:last-child{margin:0;font-size:13px}
.faq{background:#f8faff}
.faq-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:100px}
.faq h2{font-size:38px}
.faq-heading .section-description{font-size:14px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{padding:23px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;list-style:none;font-size:16px;font-weight:600;line-height:1.6;letter-spacing:-.3px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;line-height:1;font-weight:400;color:#2876e6;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 32px 24px 0;font-size:14px;color:var(--muted);line-height:1.85}
@media(max-width:1000px){.service-list{grid-template-columns:repeat(4,1fr);gap:25px 15px}.services-heading{gap:40px}.city-stories{gap:24px}.city-story h3{font-size:17px}.reward-steps{gap:20px}.reward-steps li{display:block}.reward-steps img{margin-bottom:14px}.my{gap:40px}.notification-story{padding-inline:30px}.faq-inner{gap:40px}.faq h2{font-size:32px}}
@media(max-width:640px){.services{padding-block:65px}.services-heading{grid-template-columns:1fr;gap:0}.services-heading .section-description{margin:22px 0 0;font-size:14px}.service-list{margin-top:30px;gap:12px 4px}.service-list img{width:54px;height:54px}.service-list a{font-size:11px;gap:8px}.city-cover{height:430px}.city-cover h2{font-size:46px}.city-cover-copy>p:last-child{font-size:14px}.city-stories{grid-template-columns:1fr;padding-block:48px 70px;gap:42px}.story-photo{aspect-ratio:1.65;margin-bottom:20px}.city-story h3{font-size:20px;margin-top:12px}.city-story p{font-size:14px}.city-story p br{display:none}.rewards-inner{grid-template-columns:1fr;padding-block:70px;gap:0}.rewards .section-description{font-size:14px;margin-bottom:20px}.rewards-art{height:260px;margin-block:10px}.rewards-art>img{width:330px}.reward-steps{grid-template-columns:1fr;gap:0;margin-top:10px}.reward-steps li{display:flex;padding-block:24px;border-bottom:1px solid #c5ddf4;gap:18px}.reward-steps img{width:60px;height:60px;margin:0}.reward-steps h3{font-size:17px;margin-block:8px}.reward-steps p{font-size:13px}.my{grid-template-columns:1fr;padding-block:70px;gap:45px}.my .section-description{font-size:14px}.my-features li{gap:16px}.my-features img{width:46px;height:46px}.my-features p{font-size:12px}.notification-story{padding:25px 28px 35px}.notification-story h3{font-size:25px}.notification-illustration{height:160px}.notification-illustration img{width:200px;height:200px}.faq-inner{grid-template-columns:1fr;gap:15px;padding-block:70px}.faq-list summary{font-size:14px;padding-block:20px}.faq-list details p{font-size:13px;padding-right:15px}.section-description{font-size:14px}}
@media(max-width:640px){
  .hero-visual{height:clamp(230px,30svh,260px)}
  .hero-visual .illustration-stage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.46)}
}
@media(max-width:640px) and (max-height:650px){
  .hero-inner{padding-top:92px;padding-bottom:56px}
  .hero-brand{width:149px;height:104px;margin-top:14px}
  .hero-brand .brand-art{transform:scale(1.2)}
  .hero-visual{height:190px}
  .hero-visual .illustration-stage{transform:translate(-50%,-50%) scale(.38)}
}
@container(max-width:340px){
  .preview-brand{transform:scale(.9);transform-origin:top center}
  .preview-brand p{font-size:16px}
}
@container(max-width:300px){
  .preview-brand{transform:scale(.75)}
}

/* Fixed navigation and interactive motion. */
:root { --navigation-offset: 112px; }
html { scroll-padding-top: var(--navigation-offset); }
.site-header {
  position: fixed;
  z-index: 20;
  transition: height .3s ease, background-color .3s ease, color .3s ease,
              border-color .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled, .site-header.is-menu-open {
  height: 72px;
  color: var(--ink);
  background: rgba(255,255,255,.96);
  border-bottom-color: rgba(24,38,61,.08);
  box-shadow: 0 4px 24px rgba(24,38,61,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header.is-scrolled .header-brand img,
.site-header.is-menu-open .header-brand img {
  filter: brightness(0) saturate(100%) invert(48%) sepia(90%) saturate(2340%)
          hue-rotate(201deg) brightness(98%) contrast(97%);
}
.site-header nav a { position: relative; padding-block: 12px; }
.site-header nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 5px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.site-header nav a:hover::after,
.site-header nav a:focus-visible::after,
.site-header nav a[aria-current]::after { transform: scaleX(1); }
.site-header.is-scrolled nav a[aria-current] { color: #236cdb; }
.header-action span { transition: translate .25s ease; }
.header-action:hover span { translate: 3px -3px; }
.skip-link { z-index: 40; }
.menu-toggle { display: none; }
.illustration-stage {
  translate: var(--scene-x,0px) var(--scene-y,0px);
  transition: translate .55s cubic-bezier(.22,1,.36,1);
}
/* Independent drifting preserves each icon's original Figma rotation. */
@keyframes scene-float {
  0%, 100% { translate: 0 0; rotate: -.6deg; }
  50% { translate: var(--float-x,3px) var(--float-y,-9px); rotate: .8deg; }
}
@media(prefers-reduced-motion:no-preference) {
  .scene-icon, .scene-house {
    animation: scene-float var(--float-duration,6s) ease-in-out infinite;
    animation-delay: var(--float-delay,0s);
  }
  .scene-map { --float-duration: 6.8s; --float-delay: -1.8s; --float-x: 3px; --float-y: -10px; }
  .scene-gift { --float-duration: 5.6s; --float-delay: -3.2s; --float-x: -3px; --float-y: -8px; }
  .scene-chat { --float-duration: 6.2s; --float-delay: -.7s; --float-x: -2px; --float-y: -9px; }
  .scene-people { --float-duration: 5.2s; --float-delay: -2.4s; --float-x: 2px; --float-y: -7px; }
  .scene-house { --float-duration: 7.2s; --float-delay: -4.6s; --float-x: 3px; --float-y: -10px; }
}
.city-cover > img {
  transform: translateY(var(--city-depth,0px)) scale(1.09);
  transition: transform .5s cubic-bezier(.22,1,.36,1);
}
.service-list img {
  transition: translate .4s cubic-bezier(.34,1.56,.64,1), rotate .4s ease;
}
.service-list a:hover img, .service-list a:focus-visible img {
  translate: 0 -6px;
  rotate: -5deg;
}
.button span, .text-link span { transition: translate .25s ease; }
.button:hover span { translate: 3px -3px; }
.text-link:hover span { translate: 4px 0; }
.experience-option { transition: color .2s, padding .3s ease, background-color .3s; }
.experience-option:hover, .experience-option:focus-visible { padding-inline: 8px; }
.store-actions button:active { transform: translateY(0) scale(.97); }
.back-to-top { transition: background-color .25s, color .25s, translate .25s; }
.back-to-top:hover { background: var(--blue); color: white; translate: 0 -4px; }
@media(min-width:641px) and (prefers-reduced-motion:no-preference) {
  .js-reveal .city-story:nth-child(2),
  .js-reveal .service-list { transition-delay: .1s; }
  .js-reveal .city-story:nth-child(3) { transition-delay: .2s; }
}
@media(max-width:640px) {
  :root { --navigation-offset: 92px; }
  .site-header.is-scrolled, .site-header.is-menu-open { height: 64px; }
  .menu-toggle {
    display: flex;
    order: 3;
    position: relative;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    border-radius: 6px;
  }
  .menu-toggle span {
    width: 20px;
    height: 2px;
    background: currentColor;
    transition: transform .25s ease;
  }
  .is-menu-open .menu-toggle span:first-child { transform: translateY(4px) rotate(45deg); }
  .is-menu-open .menu-toggle span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .site-header nav {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    flex-direction: column;
    gap: 4px;
    padding: 12px 24px 20px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 14px 20px rgba(24,38,61,.08);
    border-bottom: 1px solid var(--line);
    visibility: hidden;
    opacity: 0;
    translate: 0 -8px;
    pointer-events: none;
    transition: opacity .25s, translate .25s, visibility .25s;
  }
  .site-header.is-menu-open nav {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
    pointer-events: auto;
  }
  .site-header nav a { padding-block: 12px; }
  .site-header nav a::after { right: auto; width: 24px; }
  .header-action { order: 2; gap: 10px; }
  .site-header { gap: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .illustration-stage { translate: 0 0; }
  .city-cover > img { transform: none; }
  .service-list a:hover img, .service-list a:focus-visible img { translate: 0 0; rotate: 0deg; }
}
