/* Official website sections. The download and release assets remain unchanged. */
section[id], footer[id] { scroll-margin-top: 112px; }
.header { position: sticky; top: 0; height: 94px; z-index: 30; background: rgba(255,250,244,.96); backdrop-filter: blur(16px); border-bottom: 1px solid #eee5da; }
.desktop-nav { display: flex; align-items: center; gap: 25px; }
.desktop-nav a { font-size: 12px; color: #766859; transition: color .2s; }
.desktop-nav a:hover { color: var(--orange); }
.nav-download { display: flex; align-items: center; gap: 18px; font-size: 12px; padding: 12px 17px; border: 1px solid #d9c9b6; border-radius: 8px; }
.nav-download:hover { border-color: var(--orange); }
.menu-toggle, .mobile-nav { display: none; }
.mobile-nav[hidden] { display: none; }
.hero { padding-top: 36px; padding-bottom: 56px; min-height: 650px; }
.hero-pills { display: flex; gap: 9px; margin-top: 20px; }
.hero-pills span { font-size: 10px; padding: 6px 10px; border: 1px solid #e7d8c7; border-radius: 5px; color: #997e66; }
.hero .download-area { margin-top: 25px; }
.features { padding-bottom: 35px; }
.section { padding-top: 88px; padding-bottom: 88px; }
.section-kicker { margin: 0 0 25px; display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: 2px; color: #977d64; }
.section-kicker > span:first-child { width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.english-label { margin-left: auto; color: #a79787; font-size: 9px; letter-spacing: 2px; }
.heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.heading-row h2, .preview-copy h2, .install-copy h2, .faq-heading h2, .about-layout h2 { font-size: clamp(30px,3.3vw,44px); line-height: 1.45; letter-spacing: -1px; font-weight: 600; margin: 0; }
.heading-row > p { color: #8d7d6d; font-size: 13px; line-height: 2; margin: 0 0 5px; }
.section-heading { margin-bottom: 40px; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.service-card { position: relative; padding: 30px 28px; min-height: 355px; border-radius: 16px; overflow: hidden; }
.service-shopping { background: #f9eee2; }
.service-nearby { background: #eaf0e4; }
.service-coupons { background: #fbe7dc; }
.service-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 27px; }
.service-top > span:last-child { font-size: 9px; color: #9a816b; letter-spacing: 1px; }
.service-icon { font-size: 30px; line-height: 1; font-weight: 300; color: #b06c3c; }
.service-card h3 { font-size: 23px; letter-spacing: -.5px; font-weight: 550; margin: 0 0 14px; }
.service-card > p { font-size: 12px; line-height: 2; color: #8d7763; margin: 0; }
.category-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.category-labels span { border: 1px solid #dcc6af; border-radius: 5px; font-size: 11px; padding: 7px 10px; color: #9a7552; }
.location-visual { height: 100px; margin-top: 18px; position: relative; overflow: hidden; border-radius: 7px; background: #dce6d4; }
.map-line { position: absolute; display: block; width: 140%; height: 13px; background: #f0f5eb; transform: rotate(-27deg); left: -20%; top: 42%; }
.line-b { top: 2%; transform: rotate(54deg); left: 5%; }
.line-c { top: 90%; transform: rotate(20deg); }
.location-dot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #99b28b; }
.dot-a { left: 24%; top: 24%; }.dot-b { right: 18%; bottom: 26%; }
.location-pin { position: absolute; left: 45%; top: 15%; font-size: 38px; color: #728565; line-height: 1; }
.map-caption { position: absolute; top: 59%; left: 34%; font-size: 9px; color: #5b7150; padding: 5px 8px; background: #f9fff3; border-radius: 4px; }
.coupon-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 29px; }
.coupon-pair > span { background: #fffcf3; padding: 17px 12px; border-radius: 7px; border-left: 3px solid #db9b6b; }
.coupon-pair > span:last-child { background: #f9f0e4; border-color: #a28464; }
.coupon-pair b { display: block; color: #ab7043; font-size: 15px; font-weight: 500; margin-bottom: 9px; }
.coupon-pair small { color: #a18c77; font-size: 9px; }
.service-footnote { display: flex; gap: 10px; align-items: center; margin-top: 24px; }
.service-footnote p { margin: 0; color: #a0876f; font-size: 11px; }
.service-footnote a { margin-left: auto; font-size: 11px; color: #9b7657; }
.service-footnote a span { margin-left: 12px; }
.preview-section { background: #efece3; padding: 80px 0 70px; }
.preview-layout { display: grid; grid-template-columns: .87fr 1.13fr; gap: 80px; align-items: center; }
.section-description { font-size: 13px; line-height: 2; color: #897a69; max-width: 355px; margin: 23px 0 31px; }
.preview-points { list-style: none; padding: 0; margin: 0 0 28px; }
.preview-points li { display: flex; gap: 15px; padding: 17px 0; border-bottom: 1px solid #dfd9cc; }
.preview-points li:last-child { border: 0; }
.preview-points li > span { font-size: 10px; color: #b09a7f; margin-top: 4px; }
.preview-points h3 { margin: 0 0 8px; font-size: 14px; font-weight: 550; }
.preview-points p { margin: 0; font-size: 11px; line-height: 1.9; color: #998571; }
.text-link { display: inline-flex; align-items: center; gap: 22px; padding-bottom: 8px; border-bottom: 1px solid #b6987b; color: #9d6740; font-size: 12px; }
.screen-gallery { display: flex; gap: 23px; align-items: flex-start; padding: 20px 0 80px; position: relative; min-width: 0; }
.phone-preview { position: relative; width: calc(50% - 12px); padding: 8px; background: #fffdf7; border: 1px solid #ddd0c0; border-radius: 26px; margin: 0; box-shadow: 0 23px 37px -20px #85694b42; }
.phone-preview img { width: 100%; height: auto; display: block; border-radius: 19px; }
.phone-camera { width: 30%; height: 3px; background: #c5b5a1; border-radius: 5px; position: absolute; top: 3px; left: 35%; }
.second-phone { margin-top: 54px; }
.phone-preview figcaption { position: absolute; bottom: -28px; left: 10px; right: 10px; display: flex; justify-content: space-between; font-size: 10px; letter-spacing: 1px; color: #927e67; }
.phone-preview figcaption span { font-size: 8px; }
.screen-note { position: absolute; left: 0; right: 0; bottom: 0; font-size: 9px; color: #9b8a77; text-align: center; line-height: 1.7; }
.workflow-steps { list-style: none; display: grid; grid-template-columns: repeat(5,1fr); padding: 0; margin: 0; gap: 24px; }
.workflow-steps li { border-top: 2px solid #dfc6ae; padding-top: 20px; }
.step-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 21px; }
.step-top span:first-child { font-size: 29px; font-weight: 300; color: #b69a7f; }
.step-top span:last-child { font-size: 22px; color: #c3a68a; }
.workflow-steps li:last-child .step-top span:last-child { color: #8d9e70; }
.workflow-steps h3 { margin: 0 0 12px; font-size: 17px; font-weight: 550; }
.workflow-steps p { margin: 0 0 20px; font-size: 12px; line-height: 1.95; color: #947e67; min-height: 47px; }
.step-action { display: inline-block; font-size: 10px; color: #ab7b55; border-radius: 4px; background: #f2e7d8; padding: 6px 10px; }
.workflow-note { display: flex; gap: 10px; align-items: center; margin-top: 30px; padding: 15px 18px; border-radius: 7px; background: #f6efe5; }
.workflow-note > span { width: 15px; height: 15px; flex: none; border: 1px solid #bca486; color: #b19572; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-family: Georgia,serif; }
.workflow-note p { margin: 0; font-size: 11px; line-height: 1.9; color: #aa8c6d; }
.install-section { background: #342a23; color: #fff9ef; padding: 67px 0; }
.install-layout { display: grid; grid-template-columns: 1fr 390px; gap: 100px; align-items: center; }
.install-copy .section-kicker { color: #bea58b; }
.install-copy > p:not(.section-kicker) { color: #b59c83; font-size: 12px; line-height: 1.9; margin-top: 22px; }
.install-steps { list-style: none; margin: 30px 0 0; padding: 0; }
.install-steps li { display: flex; gap: 17px; align-items: flex-start; padding: 17px 0; }
.install-steps li > span { width: 27px; height: 27px; display: grid; place-items: center; flex: none; border: 1px solid #73604e; border-radius: 50%; font-size: 11px; color: #d6b494; }
.install-steps h3 { margin: 2px 0 9px; font-size: 14px; font-weight: 500; }
.install-steps p { color: #ae957d; font-size: 11px; line-height: 1.9; margin: 0; }
.install-download { background: #fff9f0; color: var(--ink); padding: 31px 36px 28px; border-radius: 18px; text-align: center; }
.install-app-icon { display: block; margin: 0 auto 8px; }
.install-download h3 { margin: 0; font-size: 21px; letter-spacing: 2px; font-weight: 600; }
.install-download > p:not(.download-status) { color: #a08b75; font-size: 11px; letter-spacing: 1px; margin: 11px 0 19px; }
.install-qr { background: var(--paper); width: fit-content; margin: 0 auto 22px; padding: 7px; border: 1px solid #eadccc; border-radius: 10px; }
.install-qr img { display: block; }
.install-download .download-button { min-width: 0; height: 54px; font-size: 13px; border-radius: 9px; background: var(--orange); gap: 30px; }
.install-download .download-button:hover { background: #d74e26; }
.install-download .download-status { color: #9a816b; font-size: 10px; }
.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.faq-heading > p:not(.section-kicker) { color: #9c8570; font-size: 12px; line-height: 1.9; margin: 21px 0; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; cursor: pointer; display: flex; gap: 20px; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 500; padding: 24px 0; line-height: 1.8; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { position: relative; width: 14px; height: 14px; flex: none; }
.faq-list summary > span:before, .faq-list summary > span:after { position: absolute; content: ''; width: 11px; height: 1px; top: 7px; left: 1px; background: #aa8d73; }
.faq-list summary > span:after { transform: rotate(90deg); }
.faq-list details[open] summary > span:after { transform: rotate(0); }
.faq-list details[open] summary { color: #b2683c; padding-bottom: 14px; }
.faq-list details > p { margin: 0 25px 25px 0; color: #8c7966; font-size: 12px; line-height: 2; }
.about-section { background: #f6e8d9; padding: 57px 0; }
.about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-layout h2 { font-size: 30px; line-height: 1.6; }
.about-copy h3 { font-size: 17px; font-weight: 550; margin: 0 0 17px; }
.about-copy p { color: #9c7c5f; font-size: 12px; line-height: 2.1; margin: 0 0 20px; }
.footer-links { display: flex; align-items: center; gap: 25px; padding: 3px 0 27px; }
.footer-links a { font-size: 11px; color: #9f876f; }
.footer-links a:hover { color: var(--orange); }
.footer-bottom { font-size: 11px; }
.mobile-download-bar { display: none; }
@media(min-width:1450px) { .hero { min-height: 680px; } }
@media(max-width:1100px) {
  .desktop-nav { gap: 16px; }.desktop-nav a { font-size: 11px; }.nav-download { gap: 10px; }
  .service-card { padding: 25px 22px; }.service-card h3 { font-size: 21px; }
  .preview-layout { gap: 35px; }.screen-gallery { gap: 17px; }.phone-preview { width: calc(50% - 9px); }
  .install-layout { gap: 55px; grid-template-columns: 1fr 340px; }.install-download { padding: 27px; }
  .faq-section { gap: 55px; }.about-layout { gap: 45px; }
}
@media(max-width:800px) {
  section[id], footer[id] { scroll-margin-top: 88px; }
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .header { height: 78px; gap: 12px; }
  .header .brand { margin-right: auto; }.brand small { font-size: 8px; letter-spacing: 2px; }
  .desktop-nav { display: none; }.nav-download { font-size: 10px; gap: 8px; padding: 9px 11px; }
  .menu-toggle { border: 0; background: none; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 8px; width: 36px; height: 38px; }
  .menu-toggle > span { width: 19px; height: 1px; background: #6b5847; }
  .mobile-nav { position: absolute; top: 77px; left: -20px; right: -20px; display: flex; flex-direction: column; padding: 11px 25px 20px; background: #fffaf4; border-bottom: 1px solid #e8d9c9; box-shadow: 0 12px 20px #32261f09; }
  .mobile-nav a { padding: 13px 6px; font-size: 14px; color: #786451; }
  .hero { min-height: 0; padding-top: 32px; padding-bottom: 33px; }
  .hero-pills { justify-content: center; margin-top: 17px; }.hero-pills span { font-size: 10px; padding: 5px 9px; }
  .hero .download-area { margin-top: 24px; }.hero-art { height: 340px; }
  .features { padding: 27px 0; gap: 23px; }
  .section { padding-top: 54px; padding-bottom: 54px; }
  .section-kicker { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 21px; }
  .english-label { font-size: 8px; letter-spacing: 1px; }.desktop-break { display: none; }
  .heading-row { flex-direction: column; align-items: flex-start; gap: 19px; }
  .heading-row h2, .preview-copy h2, .install-copy h2, .faq-heading h2 { font-size: 32px; letter-spacing: -.5px; }
  .heading-row > p { font-size: 12px; line-height: 2; margin: 0; }
  .section-heading { margin-bottom: 28px; }
  .service-grid { grid-template-columns: 1fr; gap: 15px; }
  .service-card { min-height: 0; padding: 25px; border-radius: 13px; }
  .service-top { margin-bottom: 22px; }.service-icon { font-size: 29px; }
  .service-card h3 { font-size: 22px; }.service-card > p { font-size: 12px; }
  .category-labels { margin-top: 23px; }.location-visual { margin-top: 24px; }
  .coupon-pair { margin-top: 24px; }.coupon-pair b { font-size: 16px; }.coupon-pair small { font-size: 11px; }
  .service-footnote { flex-wrap: wrap; gap: 6px; margin-top: 20px; }
  .service-footnote p { font-size: 10px; }.service-footnote a { margin-left: 28px; font-size: 11px; }
  .preview-section { padding: 51px 0 35px; }.preview-layout { grid-template-columns: 1fr; gap: 30px; }
  .section-description { font-size: 12px; margin: 19px 0 21px; max-width: 100%; }
  .preview-points { margin-bottom: 19px; }.preview-points li { padding: 15px 0; }.preview-points h3 { font-size: 13px; }
  .preview-points p { font-size: 11px; }.screen-gallery { gap: 13px; padding-top: 8px; padding-bottom: 77px; }
  .phone-preview { width: calc(50% - 7px); padding: 5px; border-radius: 18px; }.phone-preview img { border-radius: 13px; }
  .phone-camera { top: 2px; height: 2px; }.second-phone { margin-top: 35px; }
  .phone-preview figcaption { bottom: -24px; font-size: 10px; left: 6px; right: 6px; }.screen-note { font-size: 9px; bottom: 0; }
  .workflow-steps { grid-template-columns: 1fr; gap: 0; }
  .workflow-steps li { display: grid; grid-template-columns: 40px 1fr 72px; column-gap: 13px; padding: 21px 0; border-top: 1px solid var(--line); align-items: start; }
  .step-top { grid-column: 1; grid-row: 1 / 3; flex-direction: column; gap: 7px; margin: 0; align-items: flex-start; }.step-top span:first-child { font-size: 28px; }.step-top span:last-child { transform: rotate(90deg); font-size: 19px; }
  .workflow-steps li:last-child .step-top span:last-child { transform: none; }
  .workflow-steps h3 { grid-column: 2; grid-row: 1; font-size: 16px; margin: 0 0 8px; }
  .workflow-steps p { grid-column: 2; grid-row: 2; margin: 0; min-height: 0; font-size: 11px; }
  .step-action { grid-column: 3; grid-row: 1 / 3; margin-top: 2px; text-align: center; padding: 7px 5px; font-size: 10px; }
  .workflow-note { margin-top: 8px; padding: 14px; align-items: flex-start; }.workflow-note > span { margin-top: 3px; }.workflow-note p { font-size: 11px; }
  .install-section { padding: 48px 0; }.install-layout { grid-template-columns: 1fr; gap: 32px; }.install-copy > p:not(.section-kicker) { font-size: 11px; }
  .install-steps { margin-top: 23px; }.install-steps li { padding: 13px 0; }.install-steps p { font-size: 11px; }
  .install-download { max-width: 380px; width: 100%; margin: 0 auto; padding: 24px 29px; }.install-app-icon { width: 60px; height: 60px; }
  .install-download .download-button { min-width: 0; }.install-qr { margin-bottom: 20px; }
  .faq-section { grid-template-columns: 1fr; gap: 29px; }.faq-heading > p:not(.section-kicker) { font-size: 11px; }
  .faq-list summary { font-size: 13px; padding: 21px 0; }.faq-list details > p { font-size: 12px; }
  .about-section { padding: 44px 0; }.about-layout { grid-template-columns: 1fr; gap: 27px; }.about-layout h2 { font-size: 27px; }.about-copy h3 { font-size: 16px; }.about-copy p { font-size: 12px; }
  .footer-main { padding-top: 30px; }.footer-links { flex-wrap: wrap; gap: 17px; padding: 0 0 22px; }.footer-links a { font-size: 10px; }
  .footer-bottom { font-size: 10px; }
  .mobile-download-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 35; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e9d8c3; background: rgba(255,250,244,.97); backdrop-filter: blur(12px); padding: 13px 20px calc(13px + env(safe-area-inset-bottom)); }
  .mobile-download-bar strong { display: block; font-size: 15px; font-weight: 550; margin-bottom: 5px; }.mobile-download-bar div > span { font-size: 10px; color: #9e8871; }
  .mobile-download-bar > a { flex: none; background: var(--orange); color: white; border-radius: 8px; padding: 14px 21px; font-size: 13px; display: flex; gap: 18px; }
}
@media(max-width:360px) {
  .english-label { display: none; }.brand { font-size: 17px; }.header .brand img { width: 37px; height: 37px; }.header .brand { gap: 5px; }.nav-download { padding: 8px; font-size: 10px; }
  .workflow-steps li { grid-template-columns: 32px 1fr 66px; column-gap: 10px; }
}
