:root {
  --ink: #43271b;
  --dark: #5a3020;
  --muted: #6e5b50;
  --line: #d9cabd;
  --paper: #fcfaf7;
  --tint: #f2ece5;
  --accent: #ae8c74;
  --max: 1170px;
}
* {box-sizing: border-box;}
html {scroll-behavior: smooth; scroll-padding-top: 94px;}
body {margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased;}
a {color: inherit;}
button, input, textarea {font: inherit;}
button {cursor: pointer;}
img, svg {max-width: 100%;}
.container {width: min(var(--max), calc(100% - 84px)); margin-inline: auto;}
.skip-link {position: absolute; left: 14px; top: -100px; z-index: 1000; padding: 14px 20px; background: white;}
.skip-link:focus {top: 14px;}
.header {height: 86px; display:flex; align-items:center; background: var(--paper); border-bottom: 1px solid #e8dfd7; position:sticky; top:0; z-index:20;}
.header-inner {display:flex; align-items:center; justify-content:space-between; gap:34px;}
.brand {display:flex; align-items:center; gap:12px; text-decoration:none; white-space:nowrap; color:var(--dark); font-weight:700; font-size:21px; letter-spacing:-.035em;}
.brand-mark {width:38px; height:37px; object-fit:contain;}
.nav {display:flex; gap:32px; margin-left:auto; align-items:center;}
.nav a {font-size:13px; font-weight:600; color:#584b44; text-decoration:none; transition:color .15s;}
.nav a:hover,.text-link:hover,.inline-arrow:hover,.footer a:hover {color:#a66d4a;}
.header-contact {font-size:14px; font-weight:700; white-space:nowrap; border:1px solid var(--dark); padding:12px 16px; border-radius:2px; color:var(--dark); text-decoration:none; transition:background .2s,color .2s;}
.header-contact:hover {background:var(--dark); color:white;}
.header-contact span {margin-left:9px;}
.menu-toggle {display:none; width:44px; height:44px; border:1px solid var(--line); background:transparent; border-radius:2px; flex-direction:column; align-items:center; justify-content:center; gap:6px;}
.menu-toggle span {width:19px; height:1.5px; background:var(--dark);}
.hero {min-height:700px; padding-top:90px; padding-bottom:117px; display:grid; grid-template-columns: 1.05fr .95fr; position:relative; gap:28px; align-items:center;}
.hero-copy {position:relative; z-index:3; padding-bottom:65px;}
.eyebrow {color:#805c48; font-size:11px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; line-height:1.8; margin:0 0 29px;}
.eyebrow-rule {display:inline-block; width:22px; height:1px; background:#a27b60; vertical-align:middle; margin-right:11px;}
h1,h2,p {margin-top:0;}
h1 {font-size:clamp(46px, 5.25vw, 77px); letter-spacing:-.063em; line-height:1.12; font-weight:500; margin:0 0 32px;}
h1 em {font-weight:400; font-style:normal; color:#99745b;}
.hero-lead {max-width:430px; font-size:18px; line-height:1.72; color:var(--muted); margin:0 0 33px;}
.hero-actions {display:flex; align-items:center; gap:30px; flex-wrap:wrap;}
.button {display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:17px 22px; font-size:15px; font-weight:700; text-decoration:none; border-radius:2px; transition:background .2s,transform .2s;}
.button-primary {background:var(--dark); color:#fff; border:1px solid var(--dark);}
.button-primary:hover {background:#77442f; transform:translateY(-1px);}
.button:focus-visible,.header-contact:focus-visible,.text-link:focus-visible,a:focus-visible,button:focus-visible {outline:3px solid #bf8d6c; outline-offset:3px;}
.text-link {font-size:15px; text-decoration:underline; text-underline-offset:6px; font-weight:700;}
.text-link span {margin-left:8px; text-decoration:none;}
.hero-visual {min-height:530px; position:relative; display:flex; justify-content:center; align-items:center; isolation:isolate;}
.hero-orbit {position:absolute; width:435px; height:435px; border-radius:50%; background:radial-gradient(circle at 55% 42%, #f6efe8 0%, #eae0d5 68%, #eae0d500 69%); z-index:-2;}
.hero-coffee {position:absolute; width:245px; bottom:60px; right:-5px; opacity:.88; z-index:-1; transform:rotate(-4deg);}
.phone {width:250px; height:495px; box-sizing:border-box; position:relative; padding:6px; background:linear-gradient(135deg,#8c7162 0%,#241b17 18%,#191513 78%,#806352 100%); border:2px solid #3c2a22; border-radius:46px; box-shadow:18px 24px 38px #4e352329, inset 0 0 0 1px #b39a8a; transform:rotate(7deg);}
.phone::before {content:""; position:absolute; width:3px; height:52px; top:118px; left:-5px; border-radius:3px 0 0 3px; background:#684c3f; box-shadow:0 62px 0 #684c3f;}
.phone::after {content:""; position:absolute; width:3px; height:65px; top:136px; right:-5px; border-radius:0 3px 3px 0; background:#684c3f;}
.phone-screen {height:100%; width:100%; position:relative; background:#f9f4ea; border:2px solid #171311; border-radius:38px; overflow:hidden; box-sizing:border-box; display:flex; flex-direction:column;}
.phone-screen::after {content:""; position:absolute; width:76px; height:4px; border-radius:5px; bottom:8px; left:50%; transform:translateX(-50%); background:#332923; opacity:.45;}
.phone-island {position:absolute; top:9px; left:50%; transform:translateX(-50%); background:#1c1715; width:76px; height:21px; border-radius:18px; z-index:2;}
.phone-island::after {content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#3d3534; right:12px; top:7px;}
.phone-content {flex:1; min-height:0; box-sizing:border-box; background:#f9f4ea; border-radius:0; margin:0; padding:57px 20px 25px; text-align:center; display:flex; flex-direction:column; align-items:center;}
.phone-logo {object-fit:contain; width:46px; height:40px;}
.phone-brand {font-size:13px; font-weight:800; color:#59301f; margin-top:7px; letter-spacing:-.025em;}
.phone-rule {height:1px; width:46px; background:#b69d8a; margin:26px 0 33px;}
.phone-overline {font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#96735d;}
.fortune-text {font-family:Georgia,'Times New Roman',serif; font-size:24px; line-height:1.35; font-weight:400; min-height:102px; margin:15px 0 0; color:#4b2d20; display:flex; align-items:center; justify-content:center;}
.fortune-symbol {color:#9b7258; font-size:29px; margin:14px 0 auto;}
.fortune-next {margin-bottom:6px; border:1px solid #a99989; background:transparent; color:var(--dark); font-size:10px; padding:10px 11px; width:100%; border-radius:2px;}
.fortune-next:hover {background:#e9dfd3;}
.fortune-next span {margin-left:8px; font-size:14px;}
.visual-note {position:absolute; bottom:2px; right:25%; font-size:10px; color:#937b6b; letter-spacing:.14em; text-transform:uppercase;}
.scroll-indicator {position:absolute; bottom:42px; left:0; display:flex; gap:13px; align-items:center; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:14px; font-weight:700; color:#79533e; transition:color .2s;}
.scroll-indicator span:first-child {font-size:30px; line-height:1;}
.scroll-indicator:hover {color:#4f2c1f;}
.section-scroll-link {display:inline-flex;gap:13px;align-items:center;margin-top:21px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:700;color:#79533e;transition:color .2s;}
.section-scroll-link span:first-child {font-size:30px;line-height:1;}
.section-scroll-link:hover {color:#4f2c1f;}
.section {padding:102px 0; min-height:590px; display:flex; align-items:center;}
.section-tint {background:var(--tint);}
.split {display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(60px, 9vw, 160px);}
.section-copy {max-width:445px;}
.section-copy h2,.more-layout h2,.contact-aside h2 {font-size:clamp(34px,3.65vw,54px); line-height:1.19; letter-spacing:-.053em; font-weight:500; margin:0 0 28px;}
.section-copy p:not(.eyebrow) {color:#67554a; font-size:16px; line-height:1.78; margin-bottom:17px;}
.inline-arrow {display:inline-flex; align-items:center; gap:20px; margin-top:21px; font-size:13px; font-weight:700; text-underline-offset:5px;}
.scene, .social-scene, .branding-scene {height:405px; position:relative; display:flex; align-items:center; justify-content:center;}
.scene-surface {position:absolute; width:95%; height:24px; border-radius:50%; background:#d9c7b7; opacity:.55; bottom:78px;}
.stand {position:absolute; bottom:96px; left:15%; width:215px; height:260px; transform:rotate(-2deg);}
.stand-edge {position:absolute; width:155px; height:225px; background:#9c7a61; transform:skew(-16deg) rotate(3deg); bottom:-1px; right:-26px; border-radius:2px;}
.stand-face {position:relative; height:100%; width:100%; background:#fffaf4; border:1px solid #b99f8d; box-shadow:6px 11px 20px #85654a20; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:25px;}
.stand-face img {width:92px; height:77px; object-fit:contain;}
.stand-face b {font-size:18px; letter-spacing:-.025em; margin:4px 0 21px;}
.stand-face span {font-size:12px; line-height:1.5;}
.stand-bottom-line {width:35px; height:1px; background:#aa8c74; margin-top:23px;}
.scene-cup {position:absolute; width:245px; right:0; bottom:54px;}
.scene-caption {position:absolute; bottom:0; left:0; color:#866d5b; font-size:10px; text-transform:uppercase; letter-spacing:.13em;}
.split-reverse {grid-template-columns:1fr 1fr;}
.quiet-list {margin-top:31px; border-top:1px solid var(--line);}
.quiet-list p {display:flex; align-items:center; gap:24px; border-bottom:1px solid var(--line); font-size:13px !important; margin:0 !important; padding:14px 0; color:var(--ink) !important;}
.list-number {color:#ab8972; font-size:11px; letter-spacing:.08em;}
.social-scene {transform:translateX(20px);}
.social-paper {position:absolute; border:1px solid #d1bda9; background:#fdf9f2; color:var(--ink); box-shadow:12px 18px 28px #6b4b3216;}
.social-paper-back {width:250px; height:315px; top:30px; left:52px; transform:rotate(-13deg); background:#e4d7c8; display:flex; justify-content:center; align-items:center; text-align:center; font-family:Georgia,serif; font-size:23px; line-height:1.3;}
.social-paper-front {width:250px; height:315px; top:57px; right:40px; transform:rotate(7deg); padding:36px 25px 22px; text-align:center; display:flex; flex-direction:column; align-items:center;}
.social-paper-brand {font-size:12px; font-weight:700;}
.social-paper-spark {display:block;margin:24px 0 10px;width:28px;height:28px;color:#a37c60;flex-shrink:0;}
.social-paper-front p {font-family:Georgia,serif; font-size:22px; line-height:1.38; margin:0 auto auto;}
.paper-action {display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;border-top:1px solid var(--line);padding-top:14px;width:100%;}
.paper-action svg {display:block;width:14px;height:14px;flex-shrink:0;}
.social-line {position:absolute; bottom:24px; height:1px; background:#d3b9a1; width:93%; left:5%;}
.branding-scene {overflow:visible;}
.branding-watermark {position:absolute; left:0; width:310px; opacity:.18; transform:rotate(-8deg); filter:sepia(.4);}
.branding-ticket {position:absolute; right:35px; top:50px; width:235px; min-height:305px; background:#fdf9f2; border:1px solid #ccb6a0; box-shadow:18px 20px 0 #e2d4c5; padding:43px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; transform:rotate(4deg);}
.branding-ticket>span:first-child {letter-spacing:.16em; font-size:11px; font-weight:700;}
.ticket-line {width:38px; height:1px; background:#b3957e; margin:36px 0 27px;}
.branding-ticket p {font-family:Georgia,serif; font-size:22px; line-height:1.4;}
.ticket-bottom {font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-top:auto; color:#9d7c68;}
.section-compact {min-height:330px; padding:85px 0; background:#e3d4c5;}
.more-layout {display:grid; grid-template-columns:1fr 1fr; gap:135px; align-items:end;}
.more-layout h2 {margin-bottom:0; max-width:500px;}
.more-layout>p {max-width:430px; font-size:17px; line-height:1.75; color:#594336; margin-bottom:0;}
.contact-section {background:#f7f3ed; min-height:650px; padding:105px 0 115px;}
.contact-layout {display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(70px,10vw,155px); align-items:start;}
.contact-aside h2 {font-size:clamp(40px, 4vw, 61px); margin-bottom:28px;}
.contact-aside>p:not(.eyebrow) {font-size:15px; line-height:1.75; max-width:335px; color:#6f5b4e;}
.contact-aside .contact-small {font-size:12px !important; margin-top:26px; color:#8e7868 !important;}
.contact-mark {opacity:.2; width:115px; margin-top:28px;}
.form-intro {font-size:19px; font-weight:600; border-bottom:1px solid #cbb9aa; display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:34px; padding-bottom:23px;}
.contact-form-brand {display:inline-flex; align-items:center; justify-content:flex-end; gap:10px; flex-shrink:0; color:#5a3020;}
.contact-form-brand img {width:46px; height:45px; object-fit:contain; display:block;}
.contact-form-brand span {font-size:20px; font-weight:700; letter-spacing:-.035em; white-space:nowrap;}
@media (max-width:480px) {
 .form-intro {gap:12px; font-size:16px;}
 .contact-form-brand {gap:5px;}
 .contact-form-brand img {width:28px; height:28px;}
 .contact-form-brand span {font-size:14px;}
}
.form-row {display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.field {margin-bottom:24px;}
.field label {display:block; font-size:12px; font-weight:700; margin-bottom:11px; color:#5b4131;}
.field label>span:not(.optional) {color:#b17453;}
.optional {font-weight:400; color:#958174; font-size:11px;}
.field input,.field textarea {background:#fffdf9; width:100%; border:1px solid #cdbbab; color:var(--ink); border-radius:2px; padding:15px 14px; outline:0; font-size:13px; resize:vertical;}
.field input {min-height:49px;}
.field textarea {min-height:115px;}
.field input::placeholder,.field textarea::placeholder {color:#a6988e;}
.field input:focus,.field textarea:focus {border-color:#78513a; box-shadow:0 0 0 2px #ad8b722a;}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] {border-color:#b13b25;}
.turnstile-container {min-height:0; margin-top:-5px; margin-bottom:18px;}
.form-footer {display:flex; align-items:center; gap:25px;}
.form-footer .button {white-space:nowrap; padding-inline:22px;}
.form-footer button:disabled {opacity:.65; cursor:wait;}
.form-privacy {color:#8a786d; font-size:11px; line-height:1.6; margin:0; max-width:230px;}
.form-privacy a {text-underline-offset:3px;}
.form-status {font-size:13px; line-height:1.5; margin-top:15px; min-height:18px;}
.form-status[data-state="error"] {color:#a63a27;}
.form-status[data-state="success"] {color:#356f4d;}
.footer {background:#fcfaf7; border-top:1px solid #e7ddd2; padding:28px 0;}
.footer-inner {display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:11px; color:#8e7a6e;}
.brand-footer {font-size:15px; gap:8px; color:var(--dark);}
.brand-footer img {width:28px; height:27px; object-fit:contain;}
.footer-links {display:flex; gap:20px;}
.footer-links a {text-decoration:none;}
.legal-main {min-height:70vh; padding:90px 0; max-width:800px;}
.legal-main h1 {font-size:clamp(36px,4vw,55px);}
.legal-main h2 {font-size:21px; font-weight:600; margin:32px 0 12px;}
.legal-main p,.legal-main li {line-height:1.7; color:var(--muted);}
@media (max-width:1000px) {
 .container {width:min(var(--max),calc(100% - 60px));}
 .nav {gap:19px;}
 .hero {min-height:630px; gap:10px;}
 .hero-orbit {width:335px; height:335px;}
 .hero-coffee {width:190px; right:-2px;}
 .phone {transform:rotate(5deg) scale(.9);}
 .split {gap:60px;}
 .stand {left:0;}
 .scene-cup {right:-35px; width:210px;}
 .social-paper-back {left:-5px;}
 .social-paper-front {right:-4px;}
 .branding-ticket {right:0;}
 .more-layout {gap:60px;}
 .contact-layout {gap:60px;}
}
@media (max-width:760px) {
 html {scroll-padding-top:80px;}
 .container {width:calc(100% - 40px);}
 .header {height:72px;}
 .brand {font-size:19px;}
 .brand-mark {width:31px;}
 .nav {position:absolute; display:none; top:71px; left:0; width:100%; background:var(--paper); border-bottom:1px solid var(--line); padding:18px 20px 24px; flex-direction:column; align-items:stretch; gap:0; margin:0;}
 .nav.is-open {display:flex;}
 .nav a {padding:12px 0; font-size:15px;}
 .header-contact {margin-left:auto; padding:10px 12px; font-size:13px;}
 .header-contact span {display:none;}
 .menu-toggle {display:flex; flex-shrink:0;}
 .header-inner {gap:10px;}
 .hero {padding-top:82px; padding-bottom:95px; min-height:auto; grid-template-columns:1fr; gap:0;}
 .hero-copy {padding:0;}
 .hero-copy .eyebrow {margin-bottom:20px;}
 h1 {font-size:clamp(42px, 10vw, 64px); max-width:620px;}
 .hero-lead {font-size:16px;}
 .hero-visual {min-height:430px; margin:30px auto 0; width:min(100%,410px);}
 .hero-orbit {width:335px; height:335px;}
 .hero-coffee {width:200px; right:8px; bottom:40px;}
 .phone {transform:rotate(7deg) scale(.78);}
 .scroll-indicator {bottom:30px;}
 .section {padding:85px 0; min-height:auto;}
 .split, .split-reverse {grid-template-columns:1fr; gap:55px;}
 .section-copy {max-width:520px;}
 .split-reverse .section-copy {order:2;}
 .split-reverse .social-scene {order:1;}
 .scene,.social-scene,.branding-scene {height:330px; max-width:480px; width:100%; margin-inline:auto;}
 .stand {transform:rotate(-2deg) scale(.8); transform-origin:bottom left; left:12%; bottom:58px;}
 .scene-cup {width:195px; right:4%; bottom:15px;}
 .scene-surface {bottom:45px;}
 .social-scene {transform:none;}
 .social-paper-back {transform:rotate(-11deg) scale(.86); transform-origin:top left; left:18%; top:0;}
 .social-paper-front {transform:rotate(7deg) scale(.86); transform-origin:top right; right:8%; top:15px;}
 .social-line {display:none;}
 .social-scene .scene-caption {bottom:-30px;z-index:2;}
 .split-reverse .social-scene {margin-bottom:35px;}
 .branding-watermark {width:280px; left:5%;}
 .branding-ticket {top:5px; right:10%; transform:rotate(4deg) scale(.9); transform-origin:top right;}
 .section-compact {padding:70px 0;}
 .more-layout {grid-template-columns:1fr; gap:20px;}
 .more-layout>p {font-size:16px;}
 .contact-layout {grid-template-columns:1fr; gap:40px;}
 .contact-aside h2 {font-size:48px;}
 .contact-mark {display:none;}
 .footer-inner {flex-wrap:wrap; justify-content:space-between;}
 .footer-inner>span:nth-of-type(1) {display:none;}
}
@media (max-width:480px) {
 .header-contact {display:none;}
 .menu-toggle {margin-left:auto;}
 .hero {padding-top:66px;}
 .hero-actions {gap:23px;}
 .button {padding:16px 18px;}
 .hero-visual {min-height:385px;}
 .hero-coffee {right:-5px; bottom:23px; width:164px;}
 .hero-orbit {width:285px; height:285px;}
 .phone {transform:rotate(7deg) scale(.69);}
 .scene,.social-scene,.branding-scene {height:290px;}
 .stand {left:3%; transform:rotate(-2deg) scale(.7);}
 .scene-cup {width:160px; right:0;}
 .social-paper-back {left:2%; transform:rotate(-11deg) scale(.75);}
 .social-paper-front {right:0; transform:rotate(7deg) scale(.75);}
 .branding-watermark {width:220px;}
 .branding-ticket {right:0; transform:rotate(4deg) scale(.78);}
 .section-copy h2,.more-layout h2 {font-size:37px;}
 .contact-aside h2 {font-size:41px;}
 .form-row {grid-template-columns:1fr; gap:0;}
 .field {margin-bottom:19px;}
 .form-footer {align-items:flex-start; flex-direction:column; gap:16px;}
 .form-privacy {max-width:320px;}
 .footer-inner {gap:17px;}
 .footer-inner>span:last-child {width:100%;}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 *, *::before, *::after {transition-duration:.01ms !important; animation-duration:.01ms !important;}
}

/* Screenshots from the live Mystic Moca customer journey.
   The CSS preview remains as a fallback until both assets are available. */
.phone-content[hidden], .journey-gallery[hidden], .journey-controls[hidden] {display:none !important;}
.journey-gallery {position:absolute; inset:0; z-index:1; overflow:hidden; border-radius:36px; background:#d9c6b7;}
.journey-gallery img {width:100%; height:100%; object-fit:cover; object-position:center; display:block;}
.journey-controls {position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:17px; white-space:nowrap; z-index:3;}
.journey-controls button {appearance:none; border:0; padding:6px 0; cursor:pointer; color:#876d5c; background:transparent; font-size:10px; letter-spacing:.03em; border-bottom:1px solid transparent;}
.journey-controls button[aria-pressed="true"] {color:#563020; border-bottom-color:#563020;}
.journey-controls button:focus-visible {outline:2px solid #bf8d6c;outline-offset:3px;}
@media (max-width: 680px) {.journey-controls {bottom:15px; gap:12px;}}

/* Static Mystic Moca wish journey preview, adapted from mystic-moca-ui's
   tenant colors and 200ms / 900ms flip / 420ms reveal timing. */
.phone-screen::after {z-index:6;pointer-events:none;}
.wish-demo {position:absolute;inset:0;color:#6f4e37;background:#d7c5b8 url('/assets/wish-demo-background.avif') center center / cover no-repeat;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;overflow:hidden;isolation:isolate;}
.wish-demo button {font-family:inherit;cursor:pointer;}
.wish-demo button:focus-visible,.demo-outer-controls button:focus-visible {outline:2px solid #6f4e37;outline-offset:2px;}
.wish-demo .demo-stage {position:absolute;z-index:1;left:10px;right:10px;top:76px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.wish-demo .demo-stage[hidden],.wish-demo .demo-toast[hidden] {display:none!important;}
.wish-demo .demo-card {position:relative;background:#fffaf2;border-radius:24px;width:100%;box-sizing:border-box;text-align:center;box-shadow:0 13px 25px #3b241b35;}
.wish-demo .demo-logo-circle {position:absolute;top:-43px;left:50%;transform:translateX(-50%);width:86px;height:86px;border-radius:50%;background:#fff;border:2px solid #fffaf2;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.wish-demo .demo-logo-circle img {width:76%;height:76%;object-fit:contain;display:block;flex-shrink:0;}
.wish-demo .demo-intro-card {height:309px;padding:68px 14px 20px;display:flex;align-items:center;flex-direction:column;}
.wish-demo h3 {font-size:19px;line-height:1.13;font-weight:800;letter-spacing:-.03em;margin:0;}
.wish-demo .demo-language-panel {margin:18px 0 14px;width:100%;background:#6f4e37;color:#fffaf2;border-radius:17px;padding:17px 8px 12px;box-sizing:border-box;}
.wish-demo .demo-language-panel p {margin:0 0 13px;font-size:11px;font-weight:700;line-height:1.3;}
.wish-demo .demo-language-buttons {display:flex;gap:7px;align-items:center;}
.wish-demo .demo-language-button {border:1px solid #fffaf2;border-radius:25px;min-width:0;flex:1;background:transparent;color:#fffaf2;font-size:10px;font-weight:750;padding:9px 3px;line-height:1.1;}
.wish-demo .demo-language-button[aria-pressed='true'] {background:#fffaf2;color:#6f4e37;}
.wish-demo .demo-gold-button {border:0;border-radius:24px;background:#c58940;color:#1b130c;font-weight:800;box-shadow:0 5px 10px #28170e24;font-size:11px;line-height:1.2;min-height:36px;}
.wish-demo .demo-start-button {width:100%;margin-top:auto;}
.wish-demo .demo-loading {top:101px;}
.wish-demo .demo-flip-card {width:100%;height:260px;perspective:1100px;position:relative;transform-style:preserve-3d;transition:transform 900ms cubic-bezier(.16,1,.3,1);border-radius:24px;}
.wish-demo .demo-flip-card.is-flipped {transform:rotateY(180deg);}
.wish-demo .demo-flip-face {position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fffaf2;border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 25px #28190f2e;}
.wish-demo .demo-flip-face img {width:110px;height:110px;object-fit:contain;}
.wish-demo .demo-flip-back {transform:rotateY(180deg);}
.wish-demo .demo-result {top:76px;gap:12px;}
.wish-demo .demo-result-card {height:225px;padding:70px 14px 15px;}
.wish-demo .demo-result-card h3 {font-size:19px;margin-bottom:16px;}
.wish-demo .demo-wish-box {border:1px solid #eee;background:white;border-radius:15px;min-height:63px;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;box-shadow:0 8px 16px #37201319;}
.wish-demo .demo-wish-box p {margin:0;font-size:12px;font-weight:750;line-height:1.35;}
.wish-demo #demo-wish-caption {margin:11px 0 0;font-size:9px;color:#9d7e69;}
.wish-demo .demo-result-actions {display:flex;flex-direction:column;gap:8px;width:100%;}
.wish-demo .demo-result-actions button {width:100%;display:flex;align-items:center;justify-content:center;gap:7px;min-height:33px;}
.wish-demo .demo-result-actions button strong {font-family:Arial,sans-serif;font-size:16px;}
.wish-demo .demo-action-icon {display:block;width:17px;height:17px;flex:0 0 17px;overflow:visible;}
.wish-demo .demo-reveal {opacity:0;transform:translateY(8px);filter:blur(5px);transition:opacity 420ms ease,transform 420ms ease,filter 420ms ease;}
.wish-demo .demo-reveal.is-visible {opacity:1;transform:translateY(0);filter:blur(0);}
.wish-demo .demo-watermark {position:absolute;left:50%;bottom:20px;transform:translateX(-50%);white-space:nowrap;color:#6f4e37;background:#f4eadf;border-radius:20px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:4px 7px;}
.wish-demo .demo-toast {position:absolute;left:8px;right:8px;bottom:48px;z-index:5;background:#fffaf2;border:1px solid #c58940;color:#6f4e37;padding:7px;border-radius:12px;text-align:center;font-size:9px;font-weight:700;}
.demo-outer-controls {position:absolute;bottom:-62px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:100%;white-space:nowrap;z-index:4;}
.demo-outer-controls button {display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:10px 17px;border:1px solid #c6ac98;border-radius:999px;background:#f1e7dd;color:#5a3020;box-shadow:0 3px 9px #5135250d;}
.demo-outer-controls button {font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s;gap:9px;}
.demo-outer-controls .restart-icon {font-size:19px;font-weight:400;line-height:1;}
.demo-outer-controls button:hover {background:#e4d2c2;}
@media (max-width:760px) {
 .hero {padding-bottom:145px;}
 .demo-outer-controls {bottom:-58px;gap:10px;}
}
@media (max-width:480px) {
 .demo-outer-controls {bottom:-56px;}
 .demo-outer-controls button {padding:10px 12px;min-height:37px;}
}
@media (prefers-reduced-motion:reduce) {.wish-demo .demo-flip-card,.wish-demo .demo-reveal {transition:none;}}
