/* Commissioned Meiling portraits, travel notebook and personal guide. */
.brand .brand-mark{width:44px;height:44px;padding:0;background:#e6eddf;border:1px solid #d5dfce;border-radius:50%;transform:rotate(-5deg);overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}
.hero{gap:36px;padding-top:48px;padding-bottom:45px;min-height:600px}
.hero .eyebrow{letter-spacing:.07em}.hero h1{font-size:clamp(40px,4.6vw,65px)}
.hero-intro{font-size:16px;line-height:1.95;max-width:470px}.hero-note{line-height:1.8;max-width:435px}
.meiling-art{position:relative;min-width:0;display:grid;place-items:center;isolation:isolate;min-height:510px;margin:0}
.meiling-art:before{content:'';position:absolute;width:91%;aspect-ratio:1;border-radius:46% 54% 49% 51%;background:#e2eadb;transform:rotate(-13deg);z-index:-2;box-shadow:inset 0 0 0 1px #bdccb841}
.meiling-art:after{content:'';position:absolute;width:89%;height:77%;border:1px dashed #99ad9270;border-radius:50%;transform:rotate(23deg);z-index:-1}
.meiling-hero-image{width:min(100%,415px);height:510px;object-fit:contain;display:block;filter:drop-shadow(0 16px 14px #34432916);transform:rotate(2deg);transition:transform .4s}
.meiling-art:hover .meiling-hero-image{transform:rotate(0deg) translateY(-3px)}
.meiling-art-label{position:absolute;left:0;top:20px;color:#8b5d43;font:11px var(--sans);font-weight:800;letter-spacing:.18em;writing-mode:vertical-rl;line-height:1.8}
.meiling-art-note{position:absolute;right:0;top:34px;max-width:140px;background:#fffdf6;padding:10px 15px;border:1px solid #e8dcc7;border-radius:13px;transform:rotate(8deg);font-size:13px;color:#526b4f;font-weight:900;box-shadow:0 5px 15px #5d4c3612}
.meiling-art-note span{display:block;font:10px var(--sans);font-weight:700;letter-spacing:.13em;margin-top:3px;color:#9b9b80}
.meiling-ticket{position:absolute;left:-7px;bottom:23px;display:flex;align-items:center;gap:17px;background:#fff9e9;border:1px solid #d9cfb5;border-radius:10px;padding:13px 17px;box-shadow:0 12px 24px #7461401b;transform:rotate(-5deg);color:#7b6349}
.meiling-ticket:before{content:'↺';font:35px var(--serif);color:var(--coral);border-right:1px dashed #cfc2a5;padding-right:15px;line-height:1}
.meiling-ticket strong{display:block;font:17px var(--serif);font-weight:900;letter-spacing:.08em}.meiling-ticket small{display:block;font-size:10px;letter-spacing:.08em;margin-top:3px;color:#958974}
.meiling-art-caption{position:absolute;right:0;bottom:4px;font-size:10px;letter-spacing:.1em;color:#8c8c75}
.meiling-hero-saved{display:inline-flex;gap:7px;align-items:center;margin-top:21px;border:0;background:transparent;padding:5px 0;color:#85604c;font-size:12px;text-align:left;text-decoration:underline;text-underline-offset:4px}
.meiling-hero-saved strong{font-weight:900;color:var(--coral-dark)}
.meiling-guide{display:flex;align-items:center;gap:12px;width:100%;margin:-7px 0 23px;padding:0 0 15px;border-bottom:1px dashed #dedecf}
.meiling-guide img{width:68px;height:68px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 2px #4c513a12)}
.meiling-guide small{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;color:#9a8064;margin-bottom:4px}
.meiling-guide p{font-size:12px;line-height:1.7;color:#62715b;margin:0;max-width:250px}
.meiling-map-face{filter:drop-shadow(0 3px 3px #30472b24)}
.meiling-marker-paper{fill:#fffdf5;stroke:#d9b989;stroke-width:1.5}.meiling-marker-stem{stroke:var(--coral);stroke-width:2}
.tour-marker-label rect{fill:#fffdf6}.tour-info .tour-card-top{margin-bottom:17px}
.tour[data-returning="true"] .meiling-guide{background:#fbf0de;border:1px solid #eadbc4;border-radius:17px;padding:9px 12px;margin-top:-7px}
.tour[data-returning="true"] .meiling-guide img{width:87px;height:87px}
.tour[data-returning="true"] .meiling-guide p{color:#9a6545}
.meiling-memory{margin:25px 0 0;display:grid;grid-template-columns:1.65fr 1fr;min-height:310px;border:1px solid #e3dbc8;border-radius:23px;background:#faf2e1;overflow:hidden;box-shadow:0 10px 30px #695d4010}
.meiling-memory-photo{min-width:0;position:relative;overflow:hidden}
.meiling-memory-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:35% center}
.meiling-memory-photo>span{position:absolute;left:15px;bottom:14px;color:#fffdf1;background:#2c4a3dcc;padding:5px 9px;border:1px solid #ffffff35;border-radius:5px;font-size:9px;letter-spacing:.12em}
.meiling-memory figcaption{padding:31px 28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative}
.meiling-memory figcaption:before{content:'';height:19px;width:75px;position:absolute;top:0;right:28px;background:#dbc7a267;transform:rotate(5deg)}
.meiling-memory .memory-kicker{font-size:10px;letter-spacing:.16em;color:#9a8056;font-weight:800;margin:0 0 9px}
.meiling-memory h3{font:900 28px/1.5 var(--serif);margin:0 0 11px;color:#435e49}
.meiling-memory p{font-size:12px;line-height:1.9;color:#8a785e;margin:0 0 16px}
.meiling-memory a{color:var(--coral-dark);font-size:12px;font-weight:900;text-underline-offset:4px}
.meiling-rest{display:flex;align-items:center;gap:17px;margin-top:22px;padding-top:19px;border-top:1px dashed #bdc9b5}
.meiling-rest img{width:130px;height:130px;object-fit:contain;transform:rotate(-5deg);filter:drop-shadow(0 3px 2px #64735919);flex-shrink:0}
.meiling-rest strong{font:900 20px/1.6 var(--serif);display:block;color:#7b5f4a;margin-bottom:5px}
.meiling-rest p{font-size:12px;line-height:1.8;color:#7b826d}
.empty .meiling-empty-photo{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 14px;transform:rotate(-4deg)}
.meiling-footer{display:flex;align-items:center;gap:10px}.meiling-footer img{width:50px;height:50px;object-fit:contain;transform:rotate(7deg)}
@media(min-width:1200px){.hero{min-height:640px}.meiling-art{min-height:550px}.meiling-hero-image{height:550px;width:440px}}
@media(max-width:1020px){.hero{gap:25px;min-height:580px}.meiling-art{min-height:470px}.meiling-hero-image{height:470px}.meiling-art-note{right:-3px;top:17px;font-size:12px}.meiling-ticket{left:-10px;bottom:7px;padding:11px 13px;gap:12px}.meiling-ticket strong{font-size:15px}.meiling-art-caption{bottom:-18px}.meiling-memory{grid-template-columns:1.45fr 1fr}.meiling-memory figcaption{padding:24px}.meiling-memory h3{font-size:25px}.meiling-guide{gap:9px;margin-bottom:17px}.meiling-guide img{width:58px;height:58px}}
@media(max-width:760px){.brand .brand-mark{width:39px;height:39px}.hero{gap:15px;padding:29px 0 35px;min-height:0}.hero h1{font-size:43px;line-height:1.35}.hero-intro{font-size:14px;margin-bottom:20px}.hero-note{font-size:11px;margin-top:19px}.meiling-hero-saved{font-size:11px;margin-top:18px}.meiling-art{min-height:410px;width:min(100%,410px);margin:0 auto 13px}.meiling-hero-image{height:410px;width:100%;max-width:335px}.meiling-art:before{width:88%}.meiling-art-note{right:0;top:35px}.meiling-art-label{top:56px;left:0;font-size:9px}.meiling-ticket{left:5px;bottom:3px;padding:10px 12px;gap:10px}.meiling-ticket:before{font-size:28px;padding-right:10px}.meiling-ticket strong{font-size:14px}.meiling-ticket small{font-size:9px}.meiling-art-caption{right:5px;bottom:-17px;font-size:9px}.meiling-guide{margin:-3px 0 16px;padding-bottom:12px}.meiling-guide img{width:61px;height:61px}.meiling-guide p{font-size:11px}.meiling-guide small{font-size:9px}.meiling-memory{grid-template-columns:1fr;margin-top:19px;border-radius:21px}.meiling-memory-photo{aspect-ratio:1.85}.meiling-memory-photo>img{object-fit:cover;object-position:30% center}.meiling-memory figcaption{padding:23px 23px 26px}.meiling-memory h3{font-size:26px;margin-bottom:8px}.meiling-memory p{font-size:12px;margin-bottom:12px}.meiling-rest{gap:15px}.meiling-rest img{width:108px;height:108px}.meiling-rest strong{font-size:18px}.meiling-footer img{width:43px;height:43px}}
@media(max-width:760px){.meiling-art:after{width:75%;height:65%}}
@media(max-width:360px){.hero h1{font-size:38px}.meiling-art{min-height:370px}.meiling-hero-image{height:370px}.meiling-art-note{font-size:11px;padding:8px 10px;right:-2px}.meiling-art-label{font-size:8px}.meiling-rest{gap:10px}.meiling-rest img{width:85px;height:100px}.meiling-rest strong{font-size:17px}.meiling-rest p{font-size:11px}.meiling-guide img{width:53px;height:53px}}
@media(prefers-reduced-motion:reduce){.meiling-hero-image{transition:none}.meiling-art:hover .meiling-hero-image{transform:rotate(2deg)}}
@media print{.meiling-art,.meiling-guide,.meiling-rest,.meiling-memory{display:none}.brand .brand-mark{display:none}}
