:root{--ocean:#008f99;--deep:#00656d;--ink:#234849;--muted:#37636b;--cream:#ffead5;--sand:#ffead5;--mint:#def2ed;--leaf:#37636b;--orange:#ed7546;--line:#def2ed;--radius:28px;--sidebar:222px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.75 'Noto Sans TC',system-ui,sans-serif;padding-left:var(--sidebar)}body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='%23c7bda0'%3E%3Ccircle cx='9' cy='17' r='.6'/%3E%3Ccircle cx='60' cy='70' r='.7'/%3E%3Ccircle cx='43' cy='32' r='.5'/%3E%3C/g%3E%3C/svg%3E");z-index:-1}button,input,select{font:inherit}button,a,select{touch-action:manipulation}a{color:var(--deep);text-underline-offset:5px;overflow-wrap:anywhere}button,.btn,select{min-height:50px;border:1px solid var(--line);border-radius:99px;padding:10px 20px;background:#fff;color:var(--deep)}button{cursor:pointer}button:hover,.btn:hover{background:#def2ed;transform:translateY(-2px)}button,.btn{transition:background .2s,transform .2s}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ee884a;outline-offset:4px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;gap:8px}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.primary:hover{background:#d85e31}.btn.ocean{background:var(--ocean);border-color:var(--ocean);color:white}.btn.light{background:rgba(255,255,255,.95)}.btn.small,button.small{font-size:16px;padding:8px 16px;min-height:48px}.icon{width:62px;height:62px;display:block;flex:none}.inline-icon{width:32px;height:32px}.svg-ink{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Noto Serif TC',Georgia,serif;font-weight:600;line-height:1.4}h1{font-size:clamp(38px,4.5vw,68px)}h2{font-size:clamp(29px,3vw,43px);margin-bottom:18px}h3{font-size:23px;line-height:1.5;margin-bottom:12px}p{margin-bottom:18px}.muted,small{font-size:16px;color:var(--muted)}.eyebrow{color:var(--ocean);font-size:15px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.handwritten{font-family:'Noto Serif TC',Georgia,serif;color:var(--leaf);font-size:20px;transform:rotate(-3deg);display:inline-block}.wrap{max-width:1220px;margin:auto;padding:0 42px}.section{padding-top:80px;padding-bottom:80px}.section.compact{padding-top:38px;padding-bottom:38px}.section-header{margin-bottom:34px;display:flex;justify-content:space-between;align-items:end;gap:26px}.section-header p{max-width:640px;margin:0}.section-header h2{margin-top:9px}.section-header .handwritten{margin-bottom:8px}.section-heading{position:relative}.section-heading::after{content:'';display:block;width:72px;height:6px;border-radius:50%;background:#f9ba80;transform:rotate(-3deg);margin-top:15px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{display:flex;flex-direction:column;gap:24px}.divider-wave{height:42px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='40' viewBox='0 0 200 40'%3E%3Cpath d='M0 20Q25 6 50 20T100 20T150 20T200 20' fill='none' stroke='%2398d9d6' stroke-width='2'/%3E%3C/svg%3E") repeat-x center}.sand-bg{background:var(--sand);border-radius:80px 0 0 0}.mint-bg{background:var(--mint);border-radius:0 80px 0 0}.white-paper{background:#fff;border-radius:32px;padding:30px;border:1px solid var(--line)}.note{background:#ffead5;border-radius:18px;padding:18px 22px;font-size:16px;color:#715339}.tag{display:inline-flex;align-items:center;border-radius:99px;padding:5px 12px;background:#def2ed;color:#164b59;font-size:16px;line-height:1.5;margin:0 6px 6px 0}.tag.orange{background:#ffead5;color:#9c542e}.tag.white{background:white;color:var(--deep)}.no-margin{margin:0}.price{font:600 34px/1.4 Georgia,serif;color:var(--ocean);white-space:nowrap}.price-label{font-size:16px;color:var(--muted)}.source-links{display:flex;gap:16px;flex-wrap:wrap;font-size:16px}.source-links a{padding:10px 0;min-height:48px}.details{border-top:1px dashed #b9dcd8;padding:18px 0}.details summary{min-height:48px;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}.details summary::-webkit-details-marker{display:none}.details summary::after{content:'＋';font-size:23px;color:var(--ocean)}.details[open] summary::after{content:'−'}.details-body{padding:16px 0 0}.details-body p:last-child{margin-bottom:0}.details-body ul{padding-left:24px}.details-body li{margin-bottom:9px}.plain-link{display:inline-block;min-height:48px;padding:10px 0;text-decoration:none;font-weight:500}.photo-credit{font-size:13px;line-height:1.5;color:var(--muted)}.photo-credit a{font-size:13px}.zoom-photo{cursor:zoom-in;display:block;object-fit:cover;width:100%}.photo-btn{border:0;padding:0;border-radius:0;background:none;display:block;width:100%;position:relative;overflow:hidden;line-height:0;transition:none}.photo-btn:hover{transform:none;background:none}.photo-btn img{transition:transform .5s}.photo-btn:hover img{transform:scale(1.035)}.zoom-hint{position:absolute;right:12px;bottom:12px;background:#fffc;color:var(--deep);border-radius:99px;padding:8px 12px;font-size:14px;line-height:1.4}.page-intro{padding-top:40px;padding-bottom:36px}.page-intro h1{margin:10px 0 18px}.page-intro p{max-width:760px}.doodle{pointer-events:none;position:absolute;color:var(--leaf)}.loading{padding:100px 20px;text-align:center}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}
#sidebar{position:fixed;top:24px;left:20px;bottom:24px;width:184px;background:#fff;border-radius:30px;z-index:40;padding:24px 14px;display:flex;flex-direction:column;align-items:center;box-shadow:0 7px 35px #34777308}.brand{text-align:center;color:var(--deep);text-decoration:none;font-family:'Noto Serif TC',serif;font-weight:600;font-size:24px;line-height:1.5}.brand-mark{width:78px;height:70px;display:block;margin:auto auto 10px}.brand small{display:block;font:11px/1.8 system-ui;letter-spacing:.16em;color:var(--ocean)}.side-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:26px}.side-nav a{text-align:center;text-decoration:none;font-size:15px;color:var(--ink);border-radius:18px;padding:9px 4px;min-height:95px;background:var(--cream)}.side-nav a .icon{margin:auto;width:50px;height:50px}.side-nav a.active{background:#def2ed}.side-note{margin-top:auto;text-align:center;border-top:1px dashed #b9dcd8;padding-top:18px;font-size:15px;color:var(--leaf)}.side-links{margin-top:10px;font-size:14px}.side-links a{font-size:14px;padding:8px 0;display:block}#header{padding:22px 42px 12px;max-width:1220px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:14px}.header-kicker{font-size:14px;letter-spacing:.12em;color:var(--muted)}.mobile-brand{display:none}#language{background:#def2ed;border:0;white-space:nowrap;font-size:16px;min-height:48px}.header-tools{display:flex;gap:10px}#text-size{border:0;background:#ffead5;min-width:52px;padding:8px 12px}#bottom{display:none}.mobile-subnav{display:none}footer{padding:48px 0 32px;font-size:16px;background:#def2ed;border-radius:60px 0 0 0;margin-top:40px}footer .footer-title{font-family:'Noto Serif TC',serif;font-size:26px;color:var(--deep)}footer p{margin-bottom:10px}footer .actions{margin:20px 0}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;padding:12px 24px;border-radius:99px;z-index:100;display:none;max-width:92vw;font-size:16px}
.hero{position:relative;padding-top:12px;padding-bottom:70px}.hero-frame{position:relative;border-radius:34px 100px 34px 34px;overflow:hidden;background:#b9dcd8;min-height:580px}.hero-frame>.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00474b65,transparent 80%),linear-gradient(0deg,#003c4860,transparent 60%);pointer-events:none}.hero-text{position:relative;z-index:2;color:white;padding:78px 50px 110px;max-width:650px}.hero-text h1{font-size:clamp(40px,4.9vw,73px);line-height:1.5;letter-spacing:.05em;text-shadow:0 2px 18px #002f3d40;margin:18px 0 30px}.hero-text .eyebrow{color:#ffead5}.hero-text p{max-width:450px;color:white}.hero-stamp{position:absolute;right:30px;top:25px;z-index:3;background:#ffead5;color:#37636b;border-radius:50%;width:112px;height:112px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Noto Serif TC',serif;font-size:18px;line-height:1.5;transform:rotate(12deg);border:2px dashed #d8ba76;outline:8px solid #ffead5}.hero-polaroid{position:absolute;width:29%;right:12px;bottom:12px;z-index:4;background:white;padding:10px 10px 15px;transform:rotate(5deg);box-shadow:0 8px 28px #274d4025;border-radius:5px}.hero-polaroid img{width:100%;height:155px;object-fit:cover}.hero-polaroid p{font-size:15px;line-height:1.5;text-align:center;margin:10px 0 0;color:var(--leaf);font-family:'Noto Serif TC',serif}.trip-ribbon{position:relative;margin:-35px 32px 0;background:#ffead5;border-radius:26px;padding:22px 28px;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;box-shadow:0 10px 35px #3176720d;border:1px solid #def2ed}.trip-ribbon>div{border-right:1px dashed #b9dcd8;padding-right:16px}.trip-ribbon>div:last-child{border:0}.trip-ribbon span{font-size:14px;color:var(--muted);display:block}.trip-ribbon strong{font-size:19px;font-weight:500}.intro-story{text-align:center;padding:35px 20px 58px;position:relative}.intro-story h2{font-size:clamp(31px,3vw,46px);line-height:1.7;margin-bottom:20px}.intro-story p{max-width:570px;margin:0 auto 25px}.intro-story .icon{width:80px;height:80px;margin:0 auto 20px}.photo-triptych{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:24px;align-items:start;margin:20px 0 45px}.photo-triptych figure{margin:0;padding:12px 12px 20px;background:white;box-shadow:0 7px 20px #3264550d}.photo-triptych figure:nth-child(1){transform:rotate(-4deg);margin-top:40px}.photo-triptych figure:nth-child(2){transform:rotate(3deg)}.photo-triptych figure:nth-child(3){transform:rotate(-3deg);margin-top:65px}.photo-triptych img{width:100%;height:220px;object-fit:cover}.photo-triptych figcaption{font-family:'Noto Serif TC',serif;text-align:center;color:var(--leaf);margin-top:14px;font-size:19px}.journey-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.journey-tile{padding:30px 24px;text-align:center;border-radius:28px;background:#fff;border:1px solid #def2ed;text-decoration:none}.journey-tile .icon{margin:0 auto 18px;width:85px;height:85px}.journey-tile h3{margin-bottom:8px;color:var(--deep)}.journey-tile p{font-size:16px;margin:0}.weather-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}.weather-art{text-align:center;position:relative;padding:30px}.weather-art .icon{width:140px;height:140px;margin:auto}.weather-art .temp{font:60px/1.4 Georgia,serif;color:var(--ocean);margin-top:20px}.weather-pills{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.weather-pills>div{background:white;border-radius:20px;padding:18px 22px}.weather-pills strong{display:block;color:var(--ocean);font-size:24px}.essentials{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.essentials .icon{margin-bottom:18px}.essentials p{font-size:17px}
.area-story{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;padding:45px 0 65px;border-bottom:1px dashed #b9dcd8}.area-story:nth-child(even){grid-template-columns:1fr 1.1fr}.area-story:nth-child(even) .area-photo{order:2}.area-photo{position:relative}.area-photo img{height:340px;border-radius:30px 75px 30px 30px;object-fit:cover;width:100%}.area-photo .area-sticker{position:absolute;left:-15px;bottom:12px;background:#ffead5;padding:14px 20px;border-radius:8px;transform:rotate(-5deg);font-family:'Noto Serif TC',serif}.area-copy .eyebrow{margin-bottom:10px}.area-copy h2{font-size:32px}.area-copy p{font-size:18px}.hotel-mini-links{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.hotel-mini-links a{background:white;border:1px solid var(--line);border-radius:99px;font-size:16px;padding:8px 15px;min-height:48px;text-decoration:none}.area-distances{font-size:16px;color:var(--muted)}.shopping-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}.shopping-item{padding:20px 0;border-bottom:1px dashed #b9dcd8;display:flex;align-items:start;gap:20px}.shopping-item .icon{width:52px;height:52px}.shopping-item h3{font-size:21px}.shopping-item p{font-size:16px;margin-bottom:8px}
.explore-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 18px}.explore-tabs a{padding:10px 22px;border-radius:99px;text-decoration:none;background:#def2ed;min-height:48px}.explore-tabs a.active{background:var(--ocean);color:white}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}.experience{min-width:0}.experience:nth-child(even){padding-top:60px}.experience .experience-picture{position:relative;margin-bottom:22px}.experience .experience-picture img{height:300px;border-radius:30px;object-fit:cover;width:100%}.experience:nth-child(3n+1) .experience-picture img{border-radius:90px 30px 30px 30px}.experience:nth-child(3n) .experience-picture img{border-radius:30px 90px 30px 30px}.experience .picture-stamp{position:absolute;left:12px;bottom:-15px;border-radius:99px;background:var(--cream);padding:9px 18px;color:var(--deep);box-shadow:0 3px 8px #3654450c}.experience .picture-stamp .icon{width:30px;height:30px;display:inline-block;vertical-align:middle;margin-right:8px}.experience h3{font-size:26px;margin:12px 0}.experience .micro-facts{display:flex;gap:10px;flex-wrap:wrap;color:var(--deep);font-size:16px;margin:15px 0}.experience .micro-facts span{background:#def2ed;border-radius:99px;padding:6px 12px}.experience .description{font-size:18px;margin-bottom:14px}.experience .details p{font-size:16px}.experience-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.experience .image-credit{margin:8px 0;color:var(--muted);font-size:13px}.experience .image-credit a{font-size:13px}.food-layout .experience:nth-child(even){padding-top:40px}.food-no-photo{height:260px;border-radius:30px;background:#ffead5;display:grid;place-items:center;position:relative}.food-no-photo .icon{width:130px;height:130px}.food-no-photo span{position:absolute;bottom:20px;font-family:'Noto Serif TC',serif;font-size:22px}.photo-callout{position:relative;padding:50px 36px;background:#def2ed;border-radius:35px;display:flex;gap:30px;align-items:center;margin:36px 0}.photo-callout .icon{width:100px;height:100px}.photo-callout p{margin:0}
.hotel-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:10px 0 30px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{font-size:16px;min-height:48px;padding:10px 18px;background:#def2ed;border:0}.tabs button.active{background:var(--ocean);color:white}.hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 26px}.hotel-card{background:#fff;border-radius:30px;overflow:hidden;min-width:0;box-shadow:0 6px 30px #2b7e7209;border:1px solid #def2ed}.hotel-photo{position:relative}.hotel-photo img{width:100%;height:255px;object-fit:cover}.hotel-photo .hotel-code{position:absolute;top:16px;left:16px;background:#ffead5;border-radius:50%;width:57px;height:57px;display:grid;place-items:center;color:var(--deep);font:26px Georgia,serif;box-shadow:0 4px 14px #224b4b15;z-index:2}.hotel-photo .location-pill{position:absolute;bottom:16px;left:16px;background:#fffc;padding:6px 14px;border-radius:99px;color:var(--deep);font-size:15px;z-index:2}.hotel-body{padding:24px}.hotel-body h3{font-size:23px;margin-bottom:12px}.hotel-body .hotel-one-liner{color:var(--leaf);font-family:'Noto Serif TC',serif;margin-bottom:14px;font-size:18px}.hotel-price-row{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:16px 0;border-top:1px dashed #def2ed}.hotel-price-row .price{font-size:33px}.hotel-price-row .mini-room-price{font-size:14px;text-align:right;color:var(--muted)}.hotel-highlights{font-size:16px;padding-left:20px;margin:0 0 16px}.hotel-highlights li{margin-bottom:7px}.hotel-body .actions{padding-top:6px}.hotel-body .actions .btn{flex:1}.compare-button.is-selected{background:#def2ed;border:1px solid #b9dcd8}.compare-dock{position:sticky;bottom:18px;background:var(--deep);color:white;border-radius:24px;z-index:15;padding:16px 22px;display:flex;gap:15px;justify-content:space-between;align-items:center;margin:30px 0 0;box-shadow:0 5px 25px #1e585b22}.compare-dock p{margin:0;font-size:16px}.compare-dock strong{font-size:20px}.compare-dock .btn{background:#ffead5;white-space:nowrap}.comparison{background:#def2ed;border-radius:32px;padding:30px;margin:30px 0}.compare-selects{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-selects select{width:100%;font-size:16px;padding:12px;min-width:0;border-radius:14px}.comparison-row{border-top:1px dashed #b9dcd8;padding:18px 0}.comparison-row>strong{display:block;font-size:16px;margin-bottom:12px;color:var(--leaf)}.comparison-values{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:17px}.comparison-values>div{min-width:0;overflow-wrap:anywhere}.comparison-values img{height:150px;width:100%;object-fit:cover;border-radius:18px}.comparison-values .price{font-size:29px}.hotel-detail-top{padding-top:30px}.back-link{padding:10px 0;display:inline-flex;min-height:48px;text-decoration:none}.detail-title{display:flex;gap:20px;align-items:center;margin:18px 0 28px}.detail-title .hotel-code{background:#def2ed;border-radius:50%;width:70px;height:70px;flex:none;display:grid;place-items:center;font:29px Georgia,serif;color:var(--ocean)}.detail-title h1{font-size:clamp(29px,3.5vw,48px);margin:0}.detail-title p{margin:8px 0 0;color:var(--leaf)}.gallery-mosaic{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:210px 210px;gap:12px;position:relative;border-radius:30px;overflow:hidden;margin-bottom:35px}.gallery-mosaic>.photo-btn:first-child{grid-row:span 2}.gallery-mosaic img{width:100%;height:100%;object-fit:cover}.gallery-mosaic>.photo-btn{height:100%;border-radius:0}.gallery-mosaic .more-photos{position:absolute;right:16px;bottom:16px;z-index:3;background:#fff;box-shadow:0 5px 15px #173b4a1c}.detail-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:34px;align-items:start}.detail-block{margin-bottom:30px}.detail-block h2{font-size:29px;margin-bottom:18px}.detail-block p{font-size:17px}.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fact{padding:16px 18px;background:#def2ed;border-radius:18px;font-size:16px}.fact span{display:block;color:var(--muted)}.fact strong{font-size:20px;font-weight:500;color:var(--deep)}.booking-card{position:sticky;top:24px;padding:28px;background:#ffead5;border-radius:28px}.booking-card h3{font-family:'Noto Serif TC',serif;font-size:22px}.booking-card .price{font-size:39px}.booking-card .btn{width:100%;margin-top:14px}.good-tradeoff{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.good-tradeoff>div{padding:24px;border-radius:24px;background:#def2ed}.good-tradeoff>div:nth-child(2){background:#ffead5}.good-tradeoff h3{font-size:21px}.good-tradeoff p{font-size:17px;margin-bottom:0}.room-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.room-strip img{width:100%;height:190px;object-fit:cover;border-radius:18px}.detail-kicker{font-weight:600;color:var(--deep)}.checklist{padding-left:23px}.checklist li{margin-bottom:10px}
.flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.flight-card{background:white;border:1px solid #def2ed;border-radius:30px;padding:30px;position:relative;overflow:hidden}.flight-card::before{content:'';height:8px;background:var(--ocean);position:absolute;top:0;left:0;right:0}.flight-card.hx::before{background:var(--orange)}.airline-name{display:flex;align-items:center;gap:18px;margin-bottom:22px}.airline-code{font:42px Georgia,serif;color:var(--ocean)}.airline-name strong{font-size:20px}.airline-name small{display:block}.flight-leg{padding:20px 0;border-top:1px dashed #b9dcd8}.flight-times{display:flex;justify-content:space-between;gap:14px;font-size:26px;font-weight:500;line-height:1.7}.flight-times span{min-width:0;overflow-wrap:anywhere}.flight-leg .date{font-size:15px;color:var(--muted)}.included-chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.included-chips span{background:#def2ed;padding:5px 10px;border-radius:10px;font-size:16px}.flight-card .btn{width:100%}.arrival-steps{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:28px 0}.arrival-steps>div{text-align:center;flex:1}.arrival-steps .icon{margin:auto auto 12px;width:65px;height:65px}.arrival-steps strong{font-size:18px}.arrival-steps span{display:block;font-size:15px;color:var(--muted)}.arrival-steps .arrow{flex:0;font-size:25px;color:var(--ocean)}.idea-card{position:relative;background:white;padding:26px;border-radius:28px;border:1px solid #def2ed}.idea-photo{width:100%;height:220px;object-fit:cover;border-radius:22px;margin-bottom:24px}.idea-card .icon{position:absolute;top:190px;right:28px;background:#ffead5;border-radius:50%;padding:8px;width:70px;height:70px}.day-steps{list-style:none;padding:0;margin:22px 0}.day-steps li{position:relative;padding:0 0 18px 28px;border-left:2px dashed #b9dcd8;margin-left:7px;font-size:17px}.day-steps li::before{content:'';width:12px;height:12px;background:#f4ac6a;border-radius:50%;position:absolute;left:-7px;top:9px}.day-steps strong{display:block;font-size:15px;color:var(--ocean)}.idea-card .cost{background:#def2ed;padding:15px;border-radius:18px;font-size:16px}
#travel-map{border-radius:30px;background:#def2ed;padding:20px;margin-bottom:30px}.map-note{font-size:15px;margin-top:14px}.map-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.map-hotel-row{display:flex;gap:16px;background:white;border:1px solid #def2ed;border-radius:23px;overflow:hidden;padding:12px}.map-hotel-row img{width:100px;height:100px;object-fit:cover;border-radius:16px}.map-hotel-row h3{font-size:18px;margin:0 0 8px}.map-hotel-row p{font-size:15px;margin:0}.map-hotel-row button{font-size:15px;padding:7px 12px;margin-top:8px;min-height:48px}.map-route-suggestion{background:var(--sand);padding:28px;border-radius:25px;margin:30px 0}.illustrated-map-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}dialog{border:0;border-radius:24px;max-width:min(95vw,1250px);width:1100px;background:var(--cream);padding:18px 22px}dialog::backdrop{background:#103f46eb}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-image{display:grid;place-items:center;margin:16px 0}.lightbox-image img{max-width:100%;max-height:68vh;object-fit:contain}.lightbox-bottom button{white-space:nowrap}.lightbox-bottom #photo-credit{font-size:14px;text-align:center;max-width:500px}.lightbox-bottom a{font-size:14px}.lightbox-top span{font-size:16px;color:var(--muted)}#photo-caption{font-size:17px;text-align:center;margin:8px 0 18px}
.reveal{animation:arrive .55s ease both}@keyframes arrive{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.large-text{font-size:21px}.large-text p,.large-text .description{font-size:21px}.large-text .muted{font-size:18px}.large-text .hotel-highlights,.large-text .details-body p{font-size:19px}
@media(min-width:1550px){:root{--sidebar:260px}#sidebar{left:30px;width:205px}.hero-frame{min-height:650px}}
@media(max-width:1100px){:root{--sidebar:190px}#sidebar{left:14px;width:160px;padding:20px 10px}.side-nav{gap:6px}.side-nav a{font-size:14px}.wrap{padding-left:28px;padding-right:28px}#header{padding-left:28px;padding-right:28px}.hero-text{padding-left:32px;padding-right:32px}.hero-text h1{font-size:50px}.hero-polaroid{width:29%}.hotel-price-row{display:block}.hotel-price-row .mini-room-price{text-align:left;margin-top:5px}.grid{grid-template-columns:repeat(2,1fr)}.gallery-mosaic{grid-template-rows:170px 170px}.detail-layout{grid-template-columns:1.2fr 1fr;gap:24px}.hotel-body{padding:22px}.hotel-body .actions{flex-direction:column;align-items:stretch}}
@media(max-width:850px){:root{--sidebar:0px}body{padding-left:0}#sidebar{display:none}#header{position:sticky;top:0;z-index:40;background:#ffead5f5;border-bottom:1px solid #def2ed;padding:12px 22px}.header-kicker{display:none}.mobile-brand{display:block;font-family:'Noto Serif TC',serif;font-size:21px;color:var(--deep);text-decoration:none;line-height:1.4}.mobile-brand small{display:block;font-size:10px;letter-spacing:.18em;color:var(--ocean)}.header-tools{gap:7px}#language{padding:8px 13px;font-size:15px}#text-size{min-width:45px;padding:7px 10px}.mobile-subnav{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px;padding-bottom:4px}.mobile-subnav a{font-size:16px;padding:8px 14px;min-height:48px;text-decoration:none;color:var(--deep);background:#def2ed;border-radius:99px}#bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffdf8f5;border-top:1px solid #def2ed;z-index:45;padding:6px 8px max(8px,env(safe-area-inset-bottom))}#bottom a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--deep);font-size:15px;line-height:1.3;padding:6px 2px;min-height:62px;gap:2px;border-radius:16px}#bottom .icon{width:30px;height:30px}#bottom a.active{background:#def2ed}body{padding-bottom:85px}.compare-dock{bottom:94px}.hero-frame{min-height:590px}.hero-text{max-width:570px}.section{padding-top:60px;padding-bottom:60px}.weather-story{gap:28px}.essentials{gap:20px}.booking-card{position:static}.detail-layout{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html{scroll-padding-top:90px}.wrap{padding-left:20px;padding-right:20px}h1{font-size:36px}h2{font-size:30px}h3{font-size:23px}.section{padding-top:45px;padding-bottom:45px}.section-header{display:block;margin-bottom:26px}.section-header>.btn{margin-top:16px}.section-header p{font-size:17px}.page-intro{padding-top:26px;padding-bottom:24px}.page-intro h1{font-size:34px}.page-intro p{font-size:18px}.hero{padding-top:12px;padding-bottom:32px}.hero-frame{min-height:560px;border-radius:26px 65px 26px 26px}.hero-frame>.hero-bg{object-position:55% center}.hero-text{padding:56px 24px 175px;max-width:none}.hero-text h1{font-size:38px;line-height:1.6;letter-spacing:.02em;margin:15px 0 22px}.hero-text .eyebrow{font-size:13px;letter-spacing:.1em}.hero-text p{font-size:18px;max-width:260px}.hero-stamp{width:78px;height:78px;top:17px;right:17px;font-size:13px;outline-width:5px}.hero-polaroid{width:43%;right:5px;bottom:25px;padding:7px 7px 11px;transform:rotate(5deg)}.hero-polaroid img{height:105px}.hero-polaroid p{font-size:13px;margin-top:8px}.hero-text .actions .btn{font-size:17px;padding:11px 16px}.trip-ribbon{margin:-13px 8px 0;padding:17px 13px;gap:9px;border-radius:20px}.trip-ribbon>div{padding-right:8px}.trip-ribbon span{font-size:12px}.trip-ribbon strong{font-size:15px;line-height:1.5;display:block}.intro-story{padding:38px 0 20px}.intro-story h2{font-size:30px}.intro-story p{font-size:18px}.photo-triptych{gap:10px;margin:5px 0 35px;grid-template-columns:1fr 1fr}.photo-triptych figure{padding:7px 7px 12px}.photo-triptych figure:nth-child(1){margin-top:30px}.photo-triptych figure:nth-child(2){margin-top:0}.photo-triptych figure:nth-child(3){display:none}.photo-triptych img{height:180px}.photo-triptych figcaption{font-size:16px;margin-top:10px}.journey-links{grid-template-columns:1fr;gap:14px}.journey-tile{display:grid;grid-template-columns:75px 1fr;text-align:left;gap:0 16px;padding:20px}.journey-tile .icon{grid-row:span 2;width:70px;height:70px;margin:0}.journey-tile h3{font-size:22px;margin-bottom:4px}.weather-story{grid-template-columns:1fr;gap:12px}.weather-art{padding:0}.weather-art .icon{width:100px;height:100px}.weather-art .temp{font-size:44px;margin-top:5px}.weather-pills{gap:10px}.weather-pills>div{padding:14px 17px}.weather-pills strong{font-size:22px}.essentials{grid-template-columns:1fr;gap:10px}.essentials>div{display:grid;grid-template-columns:55px 1fr;gap:0 18px;border-bottom:1px dashed #b9dcd8;padding:20px 0}.essentials .icon{width:55px;height:55px;grid-row:span 2}.essentials h3{font-size:22px}.essentials p{font-size:17px}.sand-bg,.mint-bg{border-radius:40px 0 0 0}.area-story,.area-story:nth-child(even){grid-template-columns:1fr;gap:24px;padding:25px 0 40px}.area-story:nth-child(even) .area-photo{order:0}.area-photo img{height:270px;border-radius:25px 65px 25px 25px}.area-photo .area-sticker{font-size:17px;left:7px;bottom:-7px;padding:10px 16px}.area-copy h2{font-size:28px}.area-copy .eyebrow{font-size:14px}.shopping-list{grid-template-columns:1fr}.shopping-item{gap:16px}.grid,.grid.two{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr;gap:38px}.experience:nth-child(even),.food-layout .experience:nth-child(even){padding-top:0}.experience .experience-picture img{height:270px}.experience h3{font-size:25px}.experience .micro-facts{gap:7px}.experience .micro-facts span{font-size:16px}.experience-actions .btn{flex:1;font-size:16px}.experience-actions button{font-size:16px}.photo-callout{padding:24px 20px;gap:20px}.photo-callout .icon{width:70px;height:70px}.photo-callout p{font-size:17px}.hotel-controls{gap:18px}.hotel-grid{grid-template-columns:1fr;gap:26px}.hotel-photo img{height:250px}.hotel-body{padding:22px}.hotel-body h3{font-size:24px}.hotel-price-row{display:flex}.hotel-price-row .mini-room-price{text-align:right}.hotel-price-row .price{font-size:31px}.hotel-body .actions{flex-direction:row}.hotel-body .actions .btn{flex:1}.hotel-body .actions button{font-size:16px;padding:10px 14px}.compare-dock{padding:13px 16px;gap:10px;border-radius:20px}.compare-dock .btn{padding:10px 16px;font-size:16px}.compare-dock p{font-size:14px}.compare-dock strong{font-size:17px}.comparison{padding:20px 16px;margin-left:-5px;margin-right:-5px}.compare-selects{gap:12px}.compare-selects select{font-size:16px;padding:10px 6px}.comparison-values{gap:14px;font-size:16px}.comparison-values .price{font-size:24px}.comparison-values img{height:110px}.detail-title{align-items:start;gap:14px}.detail-title .hotel-code{width:51px;height:51px;font-size:23px}.detail-title h1{font-size:28px}.detail-title p{font-size:17px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 130px;gap:7px;border-radius:22px}.gallery-mosaic>.photo-btn:first-child{grid-column:span 2;grid-row:span 1}.gallery-mosaic .more-photos{font-size:15px;padding:8px 14px;right:10px;bottom:10px}.detail-layout{grid-template-columns:1fr;gap:24px}.booking-card{order:-1;padding:24px}.booking-card .price{font-size:36px}.booking-card h3{margin-bottom:8px}.good-tradeoff{grid-template-columns:1fr;gap:12px}.good-tradeoff>div{padding:22px}.facts-grid{gap:10px}.fact{padding:14px}.fact strong{font-size:18px}.room-strip img{height:155px}.flight-grid{grid-template-columns:1fr;gap:24px}.flight-card{padding:26px}.flight-card .price{font-size:39px}.arrival-steps{gap:7px;align-items:start}.arrival-steps .icon{width:48px;height:48px}.arrival-steps strong{font-size:15px}.arrival-steps span{font-size:13px}.arrival-steps .arrow{font-size:18px;margin-top:14px}.idea-card{padding:20px}.idea-photo{height:220px}.map-list{grid-template-columns:1fr}.map-hotel-row img{width:82px;height:100px}.map-hotel-row h3{font-size:18px}#travel-map{padding:12px;border-radius:24px}.map-note{font-size:15px}.map-route-suggestion{padding:22px}.map-hotel-row{gap:12px}.lightbox-top,.lightbox-bottom{gap:8px}.lightbox-bottom{flex-wrap:wrap}.lightbox-bottom #photo-credit{order:3;flex-basis:100%;font-size:13px}.lightbox-bottom button{font-size:16px;padding:10px 16px}.lightbox-image img{max-height:60vh}dialog{padding:14px;width:95vw}footer{border-radius:40px 0 0 0;padding-top:35px}.footer-title{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.idea-photo img{height:220px;object-fit:cover}.gallery-mosaic .zoom-hint{display:none}@media(max-width:600px){.hero-frame>.hero-bg{object-position:30% center}}

.photo-triptych{overflow:clip;padding:12px 10px}#text-size{flex:none;white-space:nowrap}#language{flex:none}.header-tools{flex:none}
@media(max-width:600px){#header{padding:10px 16px}.mobile-brand{font-size:18px;min-width:0}.mobile-brand small{font-size:9px;letter-spacing:.1em}.header-tools{gap:5px}#text-size{font-size:16px;min-width:42px;width:42px;padding:6px 8px}#language{font-size:14px;padding:8px 10px}.mobile-subnav{gap:8px}.mobile-subnav a{padding:8px 14px}.hero-text .eyebrow{max-width:180px;font-size:12px}.hero-text{padding-top:82px}html[lang=en] .hero-text h1{font-size:34px;letter-spacing:0}.hero-polaroid{bottom:24px}}

.reveal{animation-duration:.28s}@keyframes arrive{from{opacity:.88;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.booking-card{order:0}#bottom a{font-size:16px}.page-intro h1{font-size:32px}}

.photo-type-label{position:absolute;top:12px;right:12px;background:#ffead5;color:#6c512c;padding:8px 12px;border-radius:99px;font-size:14px;line-height:1.4;max-width:85%}.keep-photo img{object-fit:contain;background:#ffead5}
/* Breakfast-inclusive and room-only prices receive equal visual weight. */
.paired-price-wrap{margin:18px 0 22px}.paired-price-basis{font-size:15px;color:var(--muted);margin-bottom:10px;line-height:1.6}.paired-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.paired-price{border:1px solid #b9dcd8;border-radius:18px;padding:14px 12px;background:#def2ed;min-width:0}.paired-price.with-breakfast{background:#def2ed}.paired-price.room-only{background:#ffead5;border-color:#ffead5}.paired-price>span{font-size:16px;display:block;color:var(--ink);margin-bottom:8px}.paired-price>strong{font:600 27px/1.35 Georgia,serif;color:var(--deep);display:block;white-space:nowrap}.paired-price .no-quote{font:500 17px/1.7 'Noto Sans TC',sans-serif}.paired-prices.included-only{grid-template-columns:1fr}.paired-prices.included-only .paired-price{display:flex;align-items:center;justify-content:space-between;gap:12px}.paired-prices.included-only .paired-price>span{margin-bottom:0}.year-tags{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 12px}.year-tag{background:#ffead5;color:#6c673e;font-size:15px}.detail-title .year-tags{margin-top:12px}.price-shortcut{margin:20px 0}.price-overview-controls{display:flex;flex-wrap:wrap;gap:20px;margin:25px 0 18px}.price-overview-controls label{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:16px}.price-overview-controls select{max-width:100%;min-width:0;font-size:16px}.price-table-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.all-hotel-prices{border-collapse:collapse;table-layout:fixed;width:100%;font-size:18px}.all-hotel-prices thead{background:#def2ed}.all-hotel-prices th,.all-hotel-prices td{padding:20px 18px;text-align:right;border-bottom:1px solid #def2ed;vertical-align:middle}.all-hotel-prices th:first-child{width:46%;text-align:left}.all-hotel-prices tbody th{font-weight:400}.all-hotel-prices td{font-variant-numeric:tabular-nums}.all-hotel-prices td strong{font:600 23px/1.4 Georgia,serif;color:var(--deep);white-space:nowrap}.all-hotel-prices tr:last-child>*{border-bottom:0}.table-hotel-link{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.table-hotel-link img{height:64px;width:80px;object-fit:cover;border-radius:12px}.table-hotel-link b{font-size:17px;color:var(--ocean);display:block}.table-hotel-name{display:block;font-size:17px;line-height:1.5}.table-empty{font-size:16px;color:var(--muted);display:block;line-height:1.5}.package-row{background:#ffead5}.table-basis-tag{font-size:14px;line-height:1.5;display:block;color:#78613d;margin-top:6px}.price-table-note{font-size:16px;margin:18px 0 30px;color:var(--muted)}.difference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0 34px}.difference-grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:#def2ed;padding:20px;border-radius:20px;text-decoration:none;font-size:17px}.difference-grid a strong{font:600 25px Georgia,serif;white-space:nowrap}.breakfast-difference h2{font-size:29px}.nearby-place{display:grid;grid-template-columns:1fr auto;gap:8px 16px;border-bottom:1px dashed #b9dcd8;padding:20px 0}.nearby-place h3{font-size:21px}.nearby-place p{grid-column:1/-1;margin:0;font-size:17px}.nearby-place .plain-link{grid-column:1/-1;justify-self:start;font-size:16px}.nearby-time{font-size:16px;color:var(--leaf);max-width:130px;font-weight:500}.beach-relation{margin:22px 0;padding:22px;background:#def2ed;border-radius:22px}.breakfast-features{padding-left:23px}.breakfast-features li{margin-bottom:14px}.breakfast-price-difference{padding:20px;background:#ffead5;border-radius:22px;display:flex;flex-direction:column;gap:8px;margin:24px 0}.breakfast-price-difference span{font-size:17px}.breakfast-price-difference strong{font:600 29px Georgia,serif;color:var(--deep)}.breakfast-included-tag{background:#def2ed;border-radius:99px;padding:12px 20px;display:inline-block}.hotel-drawbacks{padding:22px;border-radius:22px;background:#ffead5}.hotel-drawbacks p{margin-bottom:0}.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}.comparison-values .paired-prices{grid-template-columns:1fr}.comparison-values .paired-price>strong{font-size:25px}.comparison-values .paired-prices.included-only .paired-price{display:block}.comparison-values .paired-prices.included-only .paired-price>span{margin-bottom:8px}
@media(max-width:600px){.paired-price>strong{font-size:25px}.paired-price{padding:13px 10px}.booking-card .paired-price>strong{font-size:26px}.all-hotel-prices th,.all-hotel-prices td{padding:14px 9px}.all-hotel-prices th:first-child{width:43%}.all-hotel-prices thead th{font-size:16px;line-height:1.5}.table-hotel-link{gap:6px}.table-hotel-link img{display:none}.table-hotel-link b{font-size:16px}.table-hotel-name{font-size:16px}.all-hotel-prices td strong{font-size:18px}.table-empty{font-size:16px}.table-basis-tag{font-size:13px}.difference-grid{grid-template-columns:1fr}.nearby-place{grid-template-columns:1fr}.nearby-time{max-width:none}.price-overview-controls label{display:block;width:100%}.price-overview-controls select{width:100%;margin-top:7px}.comparison-values .paired-price{padding:12px 8px}.comparison-values .paired-price>strong{font-size:21px}.comparison-values .paired-price>span{font-size:16px}.comparison-values .paired-price-basis{font-size:14px}}
/* Locally hosted faces requested by the organiser. */
@font-face{font-family:'Glow Sans';src:url('assets/fonts/GlowSansTC-Bold-subset.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Glow Sans';src:url('assets/fonts/GlowSansTC-Heavy-subset.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'ChenYuluoyan';src:url('assets/fonts/ChenYuluoyan-Thin-subset.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'GenWanMinPJP';src:url('assets/fonts/GenWanMinPJP-Regular-subset.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'GenWanMinPJP';src:url('assets/fonts/GenWanMinPJP-Semibold-subset.woff2') format('woff2');font-weight:500 900;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url('assets/fonts/LibreFranklin-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/fonts/InstrumentSerif-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/fonts/InstrumentSerif-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Fraunces';src:url('assets/fonts/Fraunces-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
body{font-family:'Libre Franklin','GenWanMinPJP',serif}h1,h2{font-family:'Glow Sans','GenWanMinPJP',sans-serif;font-weight:900;letter-spacing:.03em}h3{font-family:'Libre Franklin','GenWanMinPJP',serif;font-weight:600}.brand,.mobile-brand{font-family:'Glow Sans','GenWanMinPJP',sans-serif;font-weight:900}.handwritten,.photo-label,.area-sticker,.photo-triptych figcaption,.hero-polaroid p,.hotel-one-liner,.side-note{font-family:'ChenYuluoyan','GenWanMinPJP',serif;font-weight:100;font-style:normal;color:#164b59}.handwritten{font-size:28px;line-height:1.5}.hotel-one-liner{font-size:24px!important;line-height:1.5}.area-sticker{font-size:24px!important;line-height:1.5}.photo-triptych figcaption{font-size:26px}.hero-polaroid p{font-size:23px;line-height:1.3}.side-note{font-size:22px;line-height:1.5}.hero-stamp{font-family:'ChenYuluoyan','GenWanMinPJP',serif;font-size:26px}.booking-card h3,.footer-title{font-family:'Glow Sans','GenWanMinPJP',sans-serif;font-weight:900}.price,.paired-price>strong,.all-hotel-prices td strong,.difference-grid a strong,.breakfast-price-difference strong,.weather-art .temp,.airline-code,.hotel-code,.detail-title .hotel-code{font-family:'Fraunces','GenWanMinPJP',serif;font-weight:550;font-variant-numeric:tabular-nums}.paired-price .no-quote{font-family:'Libre Franklin','GenWanMinPJP',serif}.brand small,.mobile-brand small{font-family:'Libre Franklin',sans-serif}.breakfast-reference-tag{font-size:16px;display:inline-block;background:#def2ed;border-radius:99px;padding:9px 15px}
html[lang=en] h1{font-family:'Fraunces',serif;font-weight:450;letter-spacing:-.02em}html[lang=en] h2{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:0;font-size:43px}html[lang=en] .brand,html[lang=en] .mobile-brand{font-family:'Instrument Serif',serif;font-weight:400}html[lang=en] .handwritten,html[lang=en] .hotel-one-liner,html[lang=en] .area-sticker,html[lang=en] .photo-triptych figcaption,html[lang=en] .hero-polaroid p,html[lang=en] .side-note{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}html[lang=en] .hero-stamp{font-family:'Instrument Serif',serif;font-style:italic;font-size:21px}html[lang=en] .booking-card h3,html[lang=en] .footer-title{font-family:'Instrument Serif',serif}
@media(max-width:600px){.handwritten{font-size:26px}.hotel-one-liner{font-size:24px!important}.area-sticker{font-size:22px!important}.hero-stamp{font-size:21px}.hero-polaroid p{font-size:18px}.photo-triptych figcaption{font-size:22px}html[lang=en] h2{font-size:34px}html[lang=en] .hero-stamp{font-size:16px}html[lang=en] .hero-text h1{font-size:33px}.paired-price>strong{font-size:24px}.all-hotel-prices td strong{font-size:18px}.all-hotel-prices td{padding-left:6px;padding-right:6px}}
.flight-quote-label{font-size:15px;color:var(--muted);margin-top:10px}.flight-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.flight-schedule-card{background:white;border:1px solid var(--line);border-radius:26px;overflow:hidden;padding:24px}.flight-schedule-card h3{font-size:22px;margin-bottom:8px}.flight-schedule-route{color:var(--ocean);font:500 26px 'Fraunces',serif;margin-bottom:20px}.flight-schedule-card table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:17px}.flight-schedule-card th,.flight-schedule-card td{padding:16px 7px;border-bottom:1px solid #def2ed;text-align:right}.flight-schedule-card th:first-child{text-align:left;width:46%}.flight-schedule-card tbody th{font-weight:500}.flight-schedule-card thead th{font-size:16px;color:var(--muted)}.flight-schedule-card tbody th>span:last-child{display:block;font-size:17px;margin-top:5px;overflow-wrap:anywhere}.flight-schedule-card td{font-family:'Fraunces',serif;font-size:21px;white-space:nowrap}.schedule-airline{display:inline-block;font:600 14px 'Libre Franklin',sans-serif;background:#def2ed;color:#164b59;border-radius:8px;padding:4px 8px}.schedule-airline.hx{background:#ffead5;color:#ae6035}.flight-choice-tips{padding:22px 26px;background:#def2ed;border-radius:24px;margin-top:24px}.flight-choice-tips p:last-child{margin-bottom:0}@media(max-width:700px){.flight-schedule-grid{grid-template-columns:1fr}.flight-schedule-card{padding:21px}.flight-schedule-card td{font-size:20px}.flight-schedule-card th,.flight-schedule-card td{padding:16px 5px}}

/* Expressive English hierarchy: true variable weights, with a delicate serif counterpoint. */
html[lang=en] body{font-weight:300}
html[lang=en] h1{font-family:'Fraunces',serif;font-weight:900;line-height:1.12;letter-spacing:-.045em;font-variation-settings:'SOFT' 0,'WONK' 1}
html[lang=en] h2{font-family:'Instrument Serif',serif;font-weight:400;line-height:1.12;font-size:clamp(40px,4.7vw,62px);letter-spacing:-.025em}
html[lang=en] h3,html[lang=en] .airline-name strong{font-family:'Libre Franklin',sans-serif;font-weight:800;letter-spacing:-.035em}
html[lang=en] .btn,html[lang=en] button,html[lang=en] .side-nav a,html[lang=en] .tabs button,html[lang=en] .detail-kicker{font-weight:800}
html[lang=en] .eyebrow,html[lang=en] .header-kicker,html[lang=en] .schedule-airline{font-family:'Libre Franklin',sans-serif;font-weight:900;letter-spacing:.12em}
html[lang=en] .price,html[lang=en] .paired-price>strong,html[lang=en] .all-hotel-prices td strong,html[lang=en] .difference-grid a strong,html[lang=en] .airline-code,html[lang=en] .hotel-code{font-weight:900;letter-spacing:-.035em}
html[lang=en] .flight-times,html[lang=en] .flight-schedule-card td{font-weight:800}
html[lang=en] .flight-schedule-route{font-weight:900}
html[lang=en] strong,html[lang=en] b{font-weight:800}
@media(max-width:600px){html[lang=en] .hero-text h1{font-size:38px;line-height:1.12}html[lang=en] h2{font-size:39px}html[lang=en] .all-hotel-prices td strong{font-size:17px}}

/* Quiet, useful ending without a second navigation section. */
#footer{background:transparent;border-radius:0;margin-top:32px;padding:0 0 28px}
.footer-utility{display:flex;align-items:center;gap:20px;min-height:80px;position:relative;padding-top:24px}
.footer-utility::before{content:'';height:1px;background:var(--line);position:absolute;top:0;left:42px;right:42px}
.footer-place{font:700 12px/1.5 'Libre Franklin',sans-serif;letter-spacing:.14em;color:var(--muted)}
.footer-source{margin-left:auto;font:400 14px/1.6 'Libre Franklin','GenWanMinPJP',serif;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.footer-source::after{content:'↗';margin-left:10px;color:var(--ocean)}
.footer-year{font:300 14px 'Libre Franklin',sans-serif;color:var(--muted)}
.trip-ribbon{grid-template-columns:1.2fr 1fr}
@media(max-width:700px){#footer{padding-bottom:110px}.footer-utility{gap:14px;flex-wrap:wrap;padding-top:20px}.footer-utility::before{left:28px;right:28px}.footer-place{font-size:10px}.footer-source{font-size:13px}.footer-year{display:none}.trip-ribbon{grid-template-columns:1.2fr 1fr}.trip-ribbon strong{font-size:16px}.trip-ribbon>div{padding-right:10px}}

html[lang=zh-Hant] .area-photo .area-sticker{font-family:'ChenYuluoyan','GenWanMinPJP',serif;font-weight:100;font-style:normal;font-size:28px!important;line-height:1.5}
.shopping-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.shopping-list .shopping-item{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #ffead5;border-radius:26px;overflow:hidden;background:#ffead5;min-width:0}
.shopping-photo{width:100%;flex:none}.shopping-photo img{width:100%;height:230px;object-fit:cover}
.shopping-copy{padding:24px}.shopping-copy h3{margin:8px 0 14px}.shopping-copy p{margin-bottom:16px}
@media(max-width:600px){.shopping-list{grid-template-columns:1fr;gap:24px}.shopping-photo img{height:220px}.shopping-copy{padding:22px}html[lang=zh-Hant] .area-photo .area-sticker{font-size:26px!important}}

/* Photo-first viewer with unobtrusive icon controls. */
#photo{position:fixed;padding:0;border:0;border-radius:18px;background:#102b2d;width:max-content;max-width:96vw;max-height:94dvh;overflow:visible;box-shadow:0 18px 90px #001f2750}
#photo::backdrop{background:#07282fe8}
#photo .lightbox-image{margin:0;min-width:min(80vw,700px);min-height:200px}
#photo .lightbox-image img{display:block;max-width:96vw;max-height:88dvh;object-fit:contain;border-radius:18px}
#photo>button{position:absolute;z-index:2;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ffffff40;background:#173b40b8;color:white;display:grid;place-items:center;backdrop-filter:blur(10px);font-family:Arial,sans-serif;font-weight:400;font-size:34px;line-height:1}
#photo>button:hover{background:#00656de8;transform:none}
#close-photo{top:12px;right:12px;font-size:28px!important}
#previous-photo{left:12px;top:50%;transform:translateY(-50%)}#next-photo{right:12px;top:50%;transform:translateY(-50%)}
#photo>#previous-photo:hover,#photo>#next-photo:hover{transform:translateY(-50%)}
.lightbox-info{position:absolute;bottom:12px;right:12px;z-index:3;color:white}
.lightbox-info summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;background:#173b40b8;border:1px solid #ffffff40;border-radius:50%;font:24px Arial,sans-serif;backdrop-filter:blur(10px)}
.lightbox-info summary::-webkit-details-marker{display:none}
#photo-credit{position:absolute;right:0;bottom:54px;width:min(310px,80vw);background:#ffead5;color:var(--ink);padding:15px 18px;border-radius:14px;font-size:13px;line-height:1.7;box-shadow:0 5px 24px #0003}
#photo-credit a{font-size:13px}
@media(max-width:600px){#photo .lightbox-image{min-width:92vw}#photo>button{width:44px;height:44px}#close-photo{top:8px;right:8px}#previous-photo{left:8px}#next-photo{right:8px}.lightbox-info{bottom:8px;right:8px}}

.photo-btn .zoom-hint{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;font:300 27px/1 'Libre Franklin',sans-serif;color:var(--deep);background:#fffef3e8;backdrop-filter:blur(6px)}
/* Subtle photo affordance, keeping the image visually dominant. */
.photo-btn .zoom-hint{width:28px;height:28px;font-size:20px;color:#ffffffb8;background:#263b3c38;backdrop-filter:blur(3px);right:10px;bottom:10px;box-shadow:none;transition:background .2s,color .2s}
.photo-btn:hover .zoom-hint,.photo-btn:focus-visible .zoom-hint{color:#fff;background:#263b3c70}

button[data-copy]{width:48px;min-width:48px;height:48px;padding:0;display:inline-grid;place-items:center;flex:none;background:transparent;border-color:#b9dcd8}
.copy-icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.experience-actions{gap:10px}.experience-actions .btn{font-size:16px;padding:10px 17px}

/* Give the paired totals enough room and distinguish selecting from viewing comparisons. */
.booking-card{padding:22px;min-width:0}.detail-layout>*{min-width:0}
.booking-card .paired-price-basis{font-size:12px;line-height:1.5;margin-bottom:10px}
.booking-card .paired-prices{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-card .paired-prices.included-only{grid-template-columns:1fr}
.booking-card .paired-price{padding:14px 9px;border-radius:16px}
.booking-card .paired-price>span{font-size:14px;margin-bottom:10px}
.booking-card .paired-price>strong{font-family:'Libre Franklin',sans-serif;font-size:clamp(18px,2.8vw,26px);font-weight:700;letter-spacing:-.065em;font-variant-numeric:tabular-nums;line-height:1.3}
.booking-card h3{font-size:20px}.airline-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}
.airline-choice>span{font-size:14px;color:var(--muted)}.airline-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:99px;background:#ffead5}
.airline-toggle button{min-height:42px;min-width:64px;padding:6px 16px;border:0;background:transparent;font:600 16px 'Libre Franklin',sans-serif}
.airline-toggle button[aria-pressed=true]{background:var(--deep);color:white}.airline-toggle button:hover{transform:none}
.booking-card .compare-button{background:transparent;border:1px dashed #b9dcd8}
.booking-card .compare-button.is-selected{background:#def2ed;border-style:solid}
@media(min-width:601px) and (max-width:900px){.detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px}.booking-card{padding:20px}}
@media(max-width:600px){.booking-card .paired-price>strong{font-size:clamp(22px,6.3vw,30px)}.booking-card .paired-price{padding:16px 12px}}

.price-overview-controls{align-items:center;gap:18px}.price-basis-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;background:#def2ed;border-radius:22px;max-width:100%}
.price-basis-toggle button{border:0;border-radius:18px;background:transparent;text-align:left;padding:12px 20px;font-size:16px;line-height:1.5;min-width:0}
.price-basis-toggle button small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}
.price-basis-toggle button[aria-pressed=true]{background:var(--deep);color:white}.price-basis-toggle button[aria-pressed=true] small{color:#def2ed}.price-basis-toggle button:hover{transform:none}
.breakfast-explainer{font-size:15px;color:var(--muted);margin:12px 0 20px}
@media(max-width:600px){.price-basis-toggle{width:100%}.price-basis-toggle button{padding:11px 12px;font-size:14px}.price-basis-toggle button small{font-size:11px}}

.room-badges{display:flex;gap:12px 18px;flex-wrap:wrap;margin:20px 0 26px}.room-badge{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;max-width:100%}.room-badge-icon{width:36px;height:36px;border-radius:50%;background:#def2ed;color:#37636b;display:grid;place-items:center;flex:none}.room-badge-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.room-badges{gap:12px}.room-badge{font-size:13px}.room-badge-icon{width:32px;height:32px}}

.family-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.family-filters button{font-size:14px;min-height:44px;padding:8px 17px;background:#def2ed;border:0}.family-filters button[aria-pressed=true]{background:var(--deep);color:white}.family-count{font-size:13px;color:var(--muted);margin:12px 0 0}.family-intro{font-size:17px}.comfort-label{display:inline-flex;background:#def2ed;color:#37636b;padding:5px 12px;border-radius:99px;font-size:13px;margin-bottom:13px}.comfort-label.active-outing{background:#ffead5;color:#895c35}.practical-info h4{font-size:15px;margin:20px 0 8px;color:var(--ocean)}.practical-info p{font-size:16px}.hotel-surroundings{display:grid;gap:16px;margin:22px 0}.hotel-surroundings article{padding:22px;background:#def2ed;border-radius:22px}.hotel-surroundings h3{font-size:19px}.hotel-surroundings p{font-size:17px;margin:0}.family-planning-note{margin-top:28px;margin-bottom:40px}
/* Larger mode changes reading weight and touch targets as well as type size. */
body.large-text,html[lang=en] body.large-text{font-size:24px;font-weight:500;line-height:1.85}
body.large-text p,body.large-text .description,body.large-text .practical-info p,body.large-text .hotel-surroundings p{font-size:24px;font-weight:500;line-height:1.85}
body.large-text .muted,body.large-text .price-label,body.large-text .micro-facts,body.large-text .tag{font-size:19px}
body.large-text button,body.large-text .btn,body.large-text .plain-link{min-height:60px;font-size:20px;font-weight:700;padding:14px 24px}
body.large-text .details summary{min-height:64px;font-size:21px;line-height:1.6}
body.large-text .side-nav a{font-size:18px;font-weight:700;min-height:108px}
body.large-text .room-badge{font-size:18px;font-weight:600;gap:10px}
body.large-text .room-badge-icon{width:42px;height:42px}
body.large-text .paired-price>span,body.large-text .paired-price-basis{font-size:18px;line-height:1.6}
body.large-text .booking-card .paired-price-basis{font-size:15px}
body.large-text .booking-card .paired-price>span{font-size:17px}
body.large-text .booking-card .btn{font-size:19px;padding:14px 16px}
body.large-text .family-filters{gap:12px}
body.large-text .family-filters button{font-size:18px;min-height:56px;padding:12px 20px}
body.large-text .family-count,body.large-text .comfort-label{font-size:17px}
body.large-text button[data-copy]{width:60px;height:60px;min-width:60px;padding:0}
body.large-text .copy-icon{width:26px;height:26px;stroke-width:1.8}
body.large-text .airline-toggle button{font-size:20px;min-width:68px;padding:10px 16px}
body.large-text .price-basis-toggle button{font-size:19px;padding:15px 20px}
body.large-text .price-basis-toggle button small{font-size:15px}
body.large-text #text-size{min-width:60px;min-height:60px;font-size:26px;padding:8px}
body.large-text #language{font-size:18px;min-height:60px;padding:10px 16px}
body.large-text .photo-btn{padding:0;min-height:0}
body.large-text #photo>button{padding:0;min-height:48px;width:48px;height:48px}
body.large-text .footer-source{font-size:16px}
@media(max-width:900px){body.large-text .experience-grid{grid-template-columns:1fr}body.large-text .detail-layout{grid-template-columns:1fr}body.large-text .shopping-list{grid-template-columns:1fr}}
@media(max-width:600px){body.large-text .wrap{padding-left:22px;padding-right:22px}body.large-text p,body.large-text .description,body.large-text .practical-info p{font-size:23px}body.large-text .header-tools{gap:7px}body.large-text #header{padding-left:16px;padding-right:16px}body.large-text .mobile-brand{font-size:20px}body.large-text .mobile-brand small{font-size:9px}body.large-text #language{font-size:16px;padding:10px 12px}body.large-text #text-size{min-width:54px}body.large-text .price-basis-toggle button{font-size:16px;padding:13px 10px}body.large-text .price-basis-toggle button small{font-size:13px}body.large-text .all-hotel-prices td strong{font-size:18px}body.large-text .table-hotel-name{font-size:17px}body.large-text .difference-grid{grid-template-columns:1fr}body.large-text .hotel-controls{gap:20px}body.large-text .flight-schedule-card{padding:16px}body.large-text .flight-schedule-card td{font-size:21px}body.large-text .trip-ribbon{padding:18px 16px;margin-left:8px;margin-right:8px}body.large-text .trip-ribbon strong{font-size:17px}body.large-text .trip-ribbon span{font-size:15px}}
@media(min-width:901px){body.large-text .side-nav{grid-template-columns:1fr;gap:5px;margin-top:16px}body.large-text .side-nav a{display:flex;align-items:center;text-align:left;gap:10px;min-height:58px;padding:8px;font-size:17px;white-space:nowrap}body.large-text .side-nav a .icon{width:34px;height:34px;margin:0}body.large-text #sidebar{overflow-y:auto}body.large-text .side-note{display:none}body.large-text .side-links{margin-top:12px}}

/* Additional destination photographs remain directly accessible. */
.sight-additional{margin:14px 0 20px}.sight-additional .photo-btn{display:block;width:100%;border-radius:24px;overflow:hidden}.sight-additional img.zoom-photo{display:block;width:100%;height:190px;object-fit:cover}

.hotel-airline-choice{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hotel-airline-choice .airline-toggle{display:inline-flex;flex-wrap:nowrap}.hotel-airline-choice .airline-toggle button{min-width:96px}.hotel-airline-choice small{display:block;font-size:12px;line-height:1.5;font-weight:500;color:inherit}.hotel-airline-choice button[aria-pressed=true] small{color:#fff}body.large-text .hotel-airline-choice small{font-size:15px}

/* Hotel-list annotations: shared card badges, selected fare, and price shortcut. */
@font-face{font-family:"Inter Variable";src:url("assets/fonts/InterVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
.hotel-photo .hotel-code,html[lang=en] .hotel-photo .hotel-code{background:#ffad0a;color:#fff;font-family:"Inter Variable",Arial,sans-serif;font-weight:500;letter-spacing:normal}
.hotel-airline-choice button[aria-pressed=true] small{color:#c4caca}
.price-shortcut .btn.ocean{background:#37636b}

.venue-region{font-size:15px;color:var(--leaf);margin:14px 0 8px}.venue-details{margin:14px 0}.venue-line{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.6;margin:9px 0}.venue-line svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--deep)}.venue-line span{min-width:0;overflow-wrap:anywhere}.combined-budget{display:inline-flex;flex-direction:column;gap:4px;padding:13px 18px;background:#def2ed;border-radius:20px;margin:4px 0 8px}.combined-budget strong{font:600 23px 'Libre Franklin',sans-serif;color:var(--deep)}.combined-budget strong small{font-size:14px;color:inherit;margin-left:6px;font-weight:400}.combined-budget>span{font-size:14px;color:var(--muted)}.area-tradeoffs{border-top:1px dashed #b9dcd8;padding-top:20px;margin-top:20px}.area-tradeoffs h3{font-size:18px}.area-tradeoffs ul{padding-left:20px}.area-tradeoffs li{margin:10px 0;line-height:1.7}.tradeoff-label{font-size:13px;color:var(--leaf);margin-right:8px;font-weight:600}.shopping-item .venue-line{font-size:14px}body.large-text .venue-line,body.large-text .venue-region{font-size:20px}body.large-text .combined-budget>span{font-size:18px}body.large-text .combined-budget strong small{font-size:18px}

.weather-tags{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.weather-tags span{display:inline-flex;background:#def2ed;border-radius:99px;padding:9px 14px;font-size:15px;color:var(--deep)}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.knowledge-card{background:#fff;border:1px solid #def2ed;padding:28px;border-radius:28px;min-width:0}.knowledge-card h2{font-size:28px;margin:10px 0 20px}.knowledge-card p,.knowledge-card li{font-size:16px}.knowledge-table-wrap{overflow-x:auto;margin:18px 0}.knowledge-table-wrap table{border-collapse:collapse;width:100%;font-size:15px}.knowledge-table-wrap th,.knowledge-table-wrap td{text-align:left;padding:11px 9px;border-bottom:1px solid #def2ed}.knowledge-table-wrap th{background:#def2ed;font-weight:600}.knowledge-definitions{margin:0}.knowledge-definitions>div{margin:16px 0}.knowledge-definitions dt{font-weight:600;color:var(--deep)}.knowledge-definitions dd{margin:5px 0;font-size:16px}.knowledge-card li{margin:12px 0}body.large-text .knowledge-card p,body.large-text .knowledge-card li,body.large-text .knowledge-definitions dd{font-size:21px}body.large-text .knowledge-table-wrap table,body.large-text .weather-tags span{font-size:18px}@media(max-width:900px){.knowledge-grid{grid-template-columns:1fr}}@media(max-width:600px){.knowledge-card{padding:22px}.knowledge-table-wrap th,.knowledge-table-wrap td{padding:9px 6px;font-size:14px}.weather-tags span{font-size:14px}}

#sidebar{overflow-y:auto}#sidebar>*{flex-shrink:0}

.knowledge-cta{display:inline-flex;align-items:center;gap:14px;background:#ffead5;border:1px solid #ecd39c;border-radius:22px;padding:13px 20px 13px 14px;color:var(--deep);text-decoration:none;box-shadow:0 5px 15px #a8802910;min-height:76px;margin-top:10px}.knowledge-cta-icon{display:grid;place-items:center;width:50px;height:50px;flex:none}.knowledge-cta-icon svg{width:48px;height:48px}.knowledge-cta strong{font-size:20px}.knowledge-cta-arrow{font-size:27px;margin-left:12px}.knowledge-cta:hover{background:#f4d58f;transform:translateY(-2px)}.knowledge-cta:focus-visible{outline:3px solid var(--ocean);outline-offset:4px}body.large-text .knowledge-cta strong{font-size:24px}
/* Travel-notebook rhythm: useful panels, photo strips, and conversation bubbles. */
.knowledge-intro{position:relative;min-height:270px;padding-right:230px;overflow:hidden}.knowledge-intro h1{font-size:clamp(34px,4vw,58px);max-width:760px}.knowledge-cover-art{position:absolute;right:35px;top:42px;width:155px;height:190px;object-fit:cover;border:9px solid white;transform:rotate(8deg);box-shadow:0 10px 24px #254f4a14}.knowledge-chapters{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.knowledge-chapters button{background:#def2ed;border:0;font-size:15px;padding:10px 18px}.knowledge-chapters button:nth-child(2){background:#ffead5}.knowledge-chapters button:nth-child(3){background:#f8e3d8}.knowledge-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}.knowledge-card{grid-column:span 6;scroll-margin-top:110px}.knowledge-card>.eyebrow{display:none}.knowledge-card h2{font-size:30px;line-height:1.3}.knowledge-topic-1{grid-column:span 7;background:#def2ed;border:0;border-radius:55px 26px 26px 26px}.knowledge-topic-2{grid-column:span 5;background:#ffead5;border:0;border-radius:26px 55px 26px 26px}.knowledge-topic-3,.knowledge-topic-4{border-radius:24px}.knowledge-topic-4{border-top:6px solid #efae73}.knowledge-topic-5{grid-column:span 12;background:#def2ed;border-radius:26px}.knowledge-topic-5 .knowledge-table-wrap{max-width:820px}.knowledge-topic-6,.knowledge-topic-7{grid-column:span 12;background:none;border:0;padding:22px 0;border-radius:0}.knowledge-topic-6 h2,.knowledge-topic-7 h2{font-size:clamp(30px,4vw,44px)}.knowledge-topic-7{background:#ffead5;border-radius:48px 18px 48px 18px;padding:30px}.knowledge-topic-8{grid-column:span 4;background:#def2ed;border:0;border-radius:30px 60px 30px 30px;align-self:start}.knowledge-topic-9{grid-column:span 8;background:none;border:0;padding:8px 0}.knowledge-topic-10{grid-column:span 12;background:#ffead5;border:0;border-radius:26px 26px 65px 26px}.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 18px}.rail-heading .handwritten{font-size:25px}.rail-controls{display:flex;align-items:center;gap:10px;flex:none}.rail-controls button{background:white;border:1px solid #b9dcd8;width:44px;height:44px;min-height:44px;padding:0;font-size:22px;border-radius:50%}.rail-controls button:disabled{opacity:.3;cursor:default}.rail-controls span{font-size:13px;font-variant-numeric:tabular-nums}.taste-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#37636b transparent;padding:4px 2px 18px;overscroll-behavior-x:contain}.taste-rail:focus-visible{outline:3px solid var(--ocean);outline-offset:5px}.taste-card{flex:0 0 35%;min-width:240px;scroll-snap-align:start;scroll-snap-stop:always;background:white;border-radius:22px;overflow:hidden;box-shadow:0 5px 18px #254f4a0a}.taste-photo{position:relative}.taste-photo .photo-btn{width:100%;display:block}.taste-photo img.zoom-photo{width:100%;height:240px;display:block;object-fit:cover}.taste-card:first-child .taste-photo{border-radius:85px 0 0 0;overflow:hidden}.taste-sticker{position:absolute;left:13px;bottom:13px;width:38px;height:38px;display:grid;place-items:center;background:#ffead5;color:var(--deep);border-radius:50%;font:500 16px 'Inter Variable',Arial,sans-serif;pointer-events:none}.taste-caption{padding:20px}.taste-caption>span{font-size:14px;color:var(--leaf)}.taste-caption h3{font-size:23px;margin:9px 0 10px;line-height:1.3}.taste-caption p{margin:0;font-size:16px}.rail-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;font-size:14px;color:var(--muted)}.rail-footer a{font-weight:600;color:var(--deep)}.conversation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.conversation-card{background:white;border-radius:22px 22px 22px 4px;border:1px solid #def2ed;overflow:hidden}.conversation-card:nth-child(even){border-radius:22px 22px 4px 22px;background:#def2ed}.conversation-card summary{display:flex;align-items:center;gap:10px;list-style:none;padding:18px;cursor:pointer;min-height:86px}.conversation-card summary::-webkit-details-marker{display:none}.conversation-card summary strong{font-size:17px;line-height:1.4}.phrase-emoji{font-size:25px;flex:none}.phrase-plus{margin-left:auto;font-size:20px;flex:none}.conversation-card[open] .phrase-plus{transform:rotate(45deg)}.phrase-answer{padding:0 16px 16px}.speech-bubble{font-family:'Libre Franklin',Arial,sans-serif;font-size:23px;line-height:1.5;background:#ffead5;padding:17px;border-radius:18px 18px 18px 3px;color:var(--deep);overflow-wrap:anywhere}.phrase-copy{display:flex;align-items:center;gap:6px;background:none;border:0;padding:10px 0 0;min-height:36px;font-size:13px;color:var(--muted)}.phrase-hint{font-size:15px!important;color:var(--muted)}.cute-reminders{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.knowledge-card .cute-reminders li{display:flex;gap:13px;align-items:center;margin:0;font-size:17px}.reminder-icon{width:49px;height:49px;display:grid;place-items:center;flex:none;background:#ffead5;border-radius:17px;font-size:27px;transform:rotate(-5deg)}.cute-reminders li:nth-child(even) .reminder-icon{transform:rotate(5deg)}.dong-converter{margin:20px 0;background:#ffead5;padding:16px;border-radius:18px}.dong-converter label{display:block;font-size:13px;margin-bottom:9px}.dong-converter>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dong-converter input{width:140px;min-width:0;max-width:100%;padding:8px;border:1px solid #b9dcd8;border-radius:9px;font-size:18px;background:white;color:var(--deep)}.dong-converter output{font-family:'Libre Franklin',Arial,sans-serif;font-weight:600;color:var(--deep);font-size:20px}.knowledge-chapters button:focus-visible,.rail-controls button:focus-visible,.conversation-card summary:focus-visible{outline:3px solid var(--ocean);outline-offset:3px}body.large-text .taste-caption p{font-size:21px}body.large-text .conversation-card summary strong{font-size:21px}body.large-text .speech-bubble{font-size:27px}
@media(max-width:1000px){.knowledge-topic-1,.knowledge-topic-2,.knowledge-topic-3,.knowledge-topic-4{grid-column:span 6}.knowledge-topic-8,.knowledge-topic-9{grid-column:span 12}.knowledge-intro{padding-right:160px}.knowledge-cover-art{width:115px;height:150px;right:25px}.taste-card{flex-basis:43%}.knowledge-topic-7{padding:24px}}
@media(max-width:600px){.knowledge-grid{gap:22px}.knowledge-card{grid-column:span 12!important}.knowledge-intro{padding-right:100px;min-height:270px}.knowledge-intro h1{font-size:34px}.knowledge-intro>p{font-size:15px}.knowledge-cover-art{right:12px;top:62px;width:80px;height:115px;border-width:5px}.knowledge-chapters{margin-right:-85px;gap:7px}.knowledge-chapters button{font-size:13px;padding:9px 13px}.knowledge-card h2{font-size:29px}.rail-heading{align-items:flex-end}.rail-heading .handwritten{font-size:22px;line-height:1.3}.rail-controls{gap:6px}.rail-controls button{width:40px;height:40px;min-height:40px}.taste-card{flex-basis:84%;min-width:0}.taste-photo img.zoom-photo{height:235px}.taste-caption{padding:18px}.knowledge-topic-7{padding:22px 16px;border-radius:35px 16px}.conversation-cards{gap:10px}.conversation-card summary{padding:13px;gap:7px}.conversation-card summary strong{font-size:16px}.phrase-emoji{font-size:22px}.speech-bubble{font-size:20px;padding:13px}.cute-reminders{grid-template-columns:1fr}.rail-footer{font-size:12px}.knowledge-topic-8{padding:24px}.knowledge-topic-9{padding:4px 0}.knowledge-topic-6{padding:14px 0}}
@media(prefers-reduced-motion:reduce){.taste-rail{scroll-behavior:auto}.phrase-plus{transition:none}}

.rail-subtitle{font-family:'Libre Franklin','GenWanMinPJP',sans-serif;font-size:17px;font-weight:400;color:var(--muted)}.knowledge-topic-9 h2{font-family:'Glow Sans','GenWanMinPJP',sans-serif;font-weight:700;letter-spacing:0}.souvenir-groups{display:grid;gap:24px;margin:20px 0}.souvenir-groups h3{font:600 15px 'Libre Franklin','GenWanMinPJP',sans-serif;margin:0 0 14px;color:var(--leaf)}.souvenir-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;list-style:none;padding:0;margin:0}.knowledge-card .souvenir-items li{display:flex;align-items:center;gap:9px;font-size:15px;margin:0;line-height:1.4}.souvenir-items li>span:first-child{display:grid;place-items:center;width:36px;height:36px;background:#ffead5;border-radius:12px;font-size:24px;flex:none}.rail-footer:empty{display:none}.rail-footer{justify-content:flex-end}body.large-text .rail-subtitle{font-size:21px}body.large-text .souvenir-items li{font-size:19px}@media(min-width:601px) and (max-width:1000px){.souvenir-groups{grid-template-columns:2fr 1fr}.souvenir-items{grid-template-columns:repeat(3,minmax(0,1fr))}.souvenir-groups>div:last-child .souvenir-items{grid-template-columns:1fr}}

#shopping{scroll-margin-top:100px}

/* Eva Icons: local 24px outline assets, plus matching travel symbols. */
.eva-icon{fill:currentColor;stroke:none;color:inherit;flex-shrink:0}.room-badge-icon .eva-icon{fill:currentColor;stroke:none}.zoom-hint .eva-icon{width:22px;height:22px}.phrase-emoji .eva-icon,.reminder-icon .eva-icon{width:28px;height:28px}.souvenir-items>li>span:first-child .eva-icon{width:30px;height:30px}.phrase-plus .eva-icon{width:22px;height:22px}.copy-btn .eva-icon,.copy-address .eva-icon,.phrase-copy .eva-icon{width:20px;height:20px}.fact-icon{width:18px;height:18px;display:inline-block;vertical-align:-3px}.venue-line .eva-icon{fill:currentColor;stroke:none}

/* Coastal risograph palette, sampled from the user-provided homepage illustration.
   Bright turquoise/coral are accents; text and selected controls use darker ink. */
:root{--ocean:#075b70;--deep:#123f4b;--ink:#183e48;--muted:#52656a;--cream:#fff6e9;--sand:#ffe8d2;--mint:#def2ed;--leaf:#28616a;--orange:#f2947e;--line:#b9d3d0;--riso-cyan:#37d2dc;--riso-coral:#eea8a9;--riso-paper:#fdf3e9}
body{background:var(--cream);color:var(--ink)}
#sidebar{background:#fffcf5;border:1px solid #e5d9c9;box-shadow:0 12px 34px #123f4b08}
#header{background:#fff6e9f5;border-color:var(--line)}#bottom{background:#fff6e9f5;border-color:var(--line)}
.side-nav a{background:transparent}.side-nav a.active,#bottom a.active{background:#c8efed;color:var(--deep)}
#language,.mobile-subnav a,.explore-tabs a,.tabs button,.family-filters button{background:#def2ed;color:var(--deep);border-color:transparent}
#text-size{background:#ffe0cf;color:var(--deep)}
button,.btn,select{border-color:#9cbfbe;color:var(--deep)}
button:hover,.btn:hover{background:#c8efed;color:var(--deep)}
.btn.primary{background:#f2947e;border-color:#f2947e;color:#123f4b}.btn.primary:hover{background:#edac94;border-color:#edac94;color:#123f4b}
.btn.ocean,.explore-tabs a.active,.tabs button.active,.family-filters button[aria-pressed=true],.airline-toggle button[aria-pressed=true],.price-basis-toggle button[aria-pressed=true]{background:#075b70;border-color:#075b70;color:#fffaf2}
.btn.ocean:hover{background:#123f4b;border-color:#123f4b;color:white}
.price-shortcut .btn.ocean{background:#f2947e;border-color:#f2947e;color:#123f4b}.price-shortcut .btn.ocean:hover{background:#edac94}
.btn.light{background:#fffaf2;color:#123f4b;border-color:#fffaf2}
.airline-toggle,.price-basis-toggle{background:#dceae5}.hotel-airline-choice button[aria-pressed=true] small,.price-basis-toggle button[aria-pressed=true] small{color:#e1f2ef}
.hotel-photo .hotel-code,html[lang=en] .hotel-photo .hotel-code{background:#ffd19a;color:#123f4b}
.tag,.comfort-label,.weather-tags span,.combined-budget,.experience .micro-facts span,.room-badge-icon{background:#def2ed;color:#164b59}
.tag.orange,.comfort-label.active-outing,.year-tag{background:#ffdfca;color:#734336}
.trip-ribbon,.hotel-card,.flight-card,.knowledge-card,.taste-card,.conversation-card,.shopping-list .shopping-item{background:#fffcf5;border-color:#bed3cd}
.sand-bg,.booking-card{background:#ffe8d2}.mint-bg,.comparison{background:#def2ed}
.compare-dock{background:#123f4b;color:#fffaf2}.compare-dock .btn{background:#ffd19a;border-color:#ffd19a;color:#123f4b}
.knowledge-topic-1{background:#def2ed}.knowledge-topic-2,.knowledge-topic-10{background:#ffe8d2}.knowledge-topic-5{background:#fffcf5}.knowledge-topic-6,.knowledge-topic-9{background:none}.knowledge-topic-7{background:#f6dfd6}.knowledge-topic-8{background:#d7eeeb}
.knowledge-chapters button{background:#def2ed;color:#123f4b}.knowledge-chapters button:nth-child(2){background:#ffdfca}.knowledge-chapters button:nth-child(3){background:#f2d9dc}
.conversation-card:nth-child(even){background:#def2ed}.speech-bubble{background:#ffe8d2;color:#123f4b}
.knowledge-cta{background:#ffd19a;border-color:#dcb17b;color:#123f4b}.knowledge-cta:hover{background:#ffc6ac;color:#123f4b}
.knowledge-table-wrap th,.all-hotel-prices thead{background:#d1eae7;color:#123f4b}
.hero-frame::after{background:linear-gradient(90deg,#123f4b9e,transparent 88%),linear-gradient(0deg,#123f4b55,transparent 70%)}
.hero-text,.hero-text h1,.hero-text p,.hero-text .eyebrow{color:#fff;text-shadow:0 2px 12px #123f4b70}
.hero-text .btn{text-shadow:none}.hero-stamp{background:#fff0d5;color:#123f4b;border-color:#b97a4f}
.photo-btn .zoom-hint{background:#123f4bc9;color:#fff}.photo-btn:hover .zoom-hint,.photo-btn:focus-visible .zoom-hint{background:#075b70;color:#fff}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a43e3d;outline-offset:4px}
/* Pink blossoms and lantern yellow from the same illustration. */
:root{--riso-pink:#eea8a9;--riso-yellow:#ffda8c;--riso-pink-paper:#f9dce0;--riso-yellow-paper:#fff0c9}
#text-size{background:var(--riso-yellow);color:var(--deep)}
#language{background:var(--riso-pink-paper);color:var(--deep)}
.btn.primary{background:var(--riso-yellow);border-color:var(--riso-yellow);color:var(--deep)}.btn.primary:hover{background:#ffcf6b;border-color:#ffcf6b;color:var(--deep)}
.price-shortcut .btn.ocean{background:var(--riso-pink);border-color:var(--riso-pink);color:var(--deep)}.price-shortcut .btn.ocean:hover{background:#f4bfc1;color:var(--deep)}
.mobile-subnav a:nth-child(3n+2),.explore-tabs a:nth-child(2):not(.active),.tabs button:nth-child(3):not(.active),.family-filters button:nth-child(3):not([aria-pressed=true]){background:var(--riso-pink-paper);color:var(--deep)}
.mobile-subnav a:nth-child(3n),.explore-tabs a:nth-child(3):not(.active),.tabs button:nth-child(4):not(.active),.family-filters button:nth-child(4):not([aria-pressed=true]){background:var(--riso-yellow-paper);color:var(--deep)}
.hero-stamp,.knowledge-cta,.compare-dock .btn{background:var(--riso-yellow);color:var(--deep);border-color:#d3ab64}.knowledge-cta:hover{background:#ffcf6b}
.section-heading::after{background:var(--riso-pink)}
.journey-tile:nth-child(2){background:#f9dce0}.journey-tile:nth-child(3){background:#fff0c9}
.knowledge-topic-2,.knowledge-topic-10{background:#fff0c9}.knowledge-topic-7{background:#f9dce0}
.knowledge-chapters button:nth-child(2){background:var(--riso-yellow-paper)}.knowledge-chapters button:nth-child(3){background:var(--riso-pink-paper)}
.tag.orange,.comfort-label.active-outing,.year-tag,.taste-sticker{background:var(--riso-yellow-paper);color:var(--deep)}
.hotel-photo .hotel-code,html[lang=en] .hotel-photo .hotel-code{background:var(--riso-yellow);color:var(--deep)}
.hotel-card:nth-child(even) .hotel-code{background:var(--riso-pink)}
.good-tradeoff>div:nth-child(2),.hotel-drawbacks{background:var(--riso-pink-paper)}
.speech-bubble,.reminder-icon,.souvenir-items li>span:first-child{background:var(--riso-yellow-paper);color:var(--deep)}
.cute-reminders li:nth-child(even) .reminder-icon{background:var(--riso-pink-paper)}
/* Shared pill proportions from the navigation annotation, across every page. */
.mobile-subnav a,.explore-tabs a,.tabs button,.family-filters button,.knowledge-chapters button,.tag,.comfort-label,.weather-tags span,.included-chips span{font-weight:600;padding:10px 12px}
@media(max-width:900px){
 .mobile-brand,body.large-text .mobile-brand{font-size:40px;line-height:1.2;min-width:0}
 .mobile-brand small,body.large-text .mobile-brand small{font-size:10px;line-height:1.5;margin-top:4px}
 #header{min-height:94px;gap:16px}
 .header-tools{flex-shrink:0}
}
/* Keep the 40px tablet title; scale only on small phones to leave room for tools. */
@media(max-width:600px){
 .mobile-brand,body.large-text .mobile-brand{font-size:clamp(23px,5vw,30px)}
 .mobile-brand small,body.large-text .mobile-brand small{font-size:9px;letter-spacing:.08em}
 #header{gap:8px}
 .mobile-subnav a{font-weight:600;padding:10px 12px}
}

/* Currency reference table only: leave the other knowledge tables unchanged. */
.phrase-readings{display:grid;gap:10px;margin-top:14px}
.phrase-readings p{margin:0;font-size:16px;line-height:1.6}
.phrase-readings p>span{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.phrase-readings strong{font-weight:500;color:var(--deep);font-family:'Libre Franklin','GenWanMinPJP',sans-serif}
body.large-text .phrase-readings p{font-size:20px}body.large-text .phrase-readings p>span{font-size:15px}
/* Knowledge panels: distinct chapter colours and clearly separated inset labels. */
#knowledge-3{background:#d7eeeb;border-color:#a5cbc7}
#knowledge-4{background:#f9dce0;border-color:#deb9bf}
#knowledge-5{background:#fff0c9;border-color:#dfca94}
.knowledge-grid .weather-tags span{background:#fffcf5;color:#123f4b;border:1px solid #81aaa8;box-shadow:0 2px 0 #123f4b0a}
.knowledge-grid .weather-tags span:nth-child(5),.knowledge-grid .weather-tags span:nth-child(6){background:#fff0c9;border-color:#cdb77d}
.knowledge-grid .weather-tags span:nth-child(7),.knowledge-grid .weather-tags span:nth-child(8){background:#f9dce0;border-color:#ce9da6}
.knowledge-grid .tag{background:#fffaf2;border:1px solid #91b4b5;color:#123f4b}
.knowledge-grid .dong-converter{background:#fffcf5;border:1px solid #cfb875}
#knowledge-4 .btn{background:#fffcf5;border-color:#a77b87;color:#123f4b}
#knowledge-5 .btn{background:#fffcf5;border-color:#aa935a;color:#123f4b}

/* Shared secondary actions: rose, lantern yellow, coral and lagoon. */
.hotel-mini-links a.colour-action,.btn.colour-action,button.colour-action,.booking-card .compare-button.colour-action,.rail-controls button.colour-action,button[data-copy].colour-action,#knowledge-4 .btn.colour-action,#knowledge-5 .btn.colour-action{background:var(--action-colour);color:#fafafa;font-weight:700;border:3px solid #bfe8e3}
.colour-action:hover{filter:brightness(.92)}
.colour-action:disabled{filter:none}
.colour-action small{color:inherit}

.fusion-package-pdf{display:flex;align-items:center;gap:14px;background:#fff0c9;color:#123f4b;border:3px solid #bfe8e3;border-radius:22px;padding:16px 20px;margin:20px 0 26px;text-decoration:none;max-width:100%}.fusion-package-pdf>.icon{width:38px;height:38px}.fusion-package-pdf>span{min-width:0}.fusion-package-pdf strong{display:block;font-weight:700;font-size:20px;line-height:1.4}.fusion-package-pdf small{display:block;color:#52656a;font-size:13px;margin-top:4px}.fusion-package-pdf .pdf-external{width:23px;height:23px;margin-left:auto}.fusion-package-pdf:hover{background:#ffda8c;color:#123f4b}@media(max-width:600px){.fusion-package-pdf{padding:14px;gap:10px}.fusion-package-pdf strong{font-size:18px}}

#knowledge-9 button.phrase-copy{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin-top:14px;padding:10px;background:#def2ed;color:#123f4b;border:1px solid #81aaa8;border-radius:50%;font-size:0}#knowledge-9 button.phrase-copy:hover{background:#bfe8e3}#knowledge-9 button.phrase-copy .eva-icon{width:22px;height:22px}

/* One-pixel affordances shared by tab and filter navigation on every route. */
.tabs button,.family-filters button,.explore-tabs a,.mobile-subnav a,.knowledge-chapters button,.airline-toggle button,.price-basis-toggle button{border:1px solid #81aaa8}
.tabs button.active,.family-filters button[aria-pressed=true],.explore-tabs a.active,.airline-toggle button[aria-pressed=true],.price-basis-toggle button[aria-pressed=true]{border-color:#075b70}
.gallery-mosaic .more-photos{background:rgba(255,250,242,.65);color:#123f4b;border:1px solid rgba(18,63,75,.5);backdrop-filter:blur(8px);padding:8px 15px;font-size:16px;min-height:44px}
.gallery-mosaic .more-photos:hover{background:rgba(255,250,242,.88)}
.booking-card .fusion-package-pdf{margin:12px 0;min-height:52px;border-width:1px;border-radius:99px;padding:10px 16px;gap:10px}
.booking-card .fusion-package-pdf>.icon{width:24px;height:24px}.booking-card .fusion-package-pdf strong{font-size:18px}.booking-card .fusion-package-pdf .pdf-external{width:18px;height:18px}
/* Enclose the secondary category filters separately from page navigation. */
.family-filters{border:1px solid #81aaa8;border-radius:22px;padding:14px;background:#fffcf580;gap:10px}
@media(max-width:600px){.family-filters{padding:12px;gap:8px;border-radius:20px}}
/* Hotel route filters and airline selection share one enclosed control panel. */
.hotel-controls{border:1px solid #81aaa8;border-radius:22px;padding:18px;background:#fffcf580;gap:18px}
.hotel-controls .tabs{margin:0}
@media(max-width:600px){.hotel-controls{padding:14px;border-radius:20px;gap:16px}}

.hotel-history-facts{margin:16px 0 20px;display:grid;gap:7px;font-size:14px;line-height:1.6}.hotel-history-facts>div{display:grid;grid-template-columns:4.8em minmax(0,1fr);gap:9px}.hotel-history-facts dt{color:var(--muted)}.hotel-history-facts dd{margin:0;color:var(--deep)}.hotel-history-facts strong{display:inline-block;background:#fff0c9;border:1px solid #cbb77e;border-radius:99px;padding:2px 10px;font-weight:600}.hotel-history-note,.detail-title .hotel-history{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0}body.large-text .hotel-history-facts{font-size:18px}

/* Consistent, contained copy controls across address and phrase cards. */
button[data-copy],body.large-text button[data-copy]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;padding:11px;background:#def2ed;color:#123f4b;border:1px solid #81aaa8;border-radius:50%;overflow:hidden;line-height:1;vertical-align:middle}
button[data-copy]:hover{background:#bfe8e3;color:#123f4b;filter:none}
button[data-copy] .icon,button[data-copy] .copy-icon,body.large-text button[data-copy] .icon,body.large-text button[data-copy] .copy-icon{display:block;width:24px;height:24px;min-width:0;max-width:100%;flex:none;fill:currentColor;stroke:none;margin:0}

.hotel-history-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}.hotel-history-tags .tag{font-size:14px;line-height:1.4;padding:8px 12px;background:#fff0c9;color:#123f4b;border:1px solid #cbb77e}.hotel-history-tags .tag:nth-child(2){background:#f9dce0;border-color:#ce9da6}body.large-text .hotel-history-tags .tag{font-size:17px}

/* Filled hotel detail links on the map list. */
.map-hotel-row .map-details-button{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;margin-top:10px;border:1px solid #8db9bb;border-radius:999px;background:#f9dce0;color:#123f4b;font-weight:700;text-decoration:none;}
.map-hotel-row:nth-child(2) .map-details-button{background:#ffdc83;}
.map-hotel-row:nth-child(3) .map-details-button{background:#bfe8e3;}
.map-hotel-row .map-details-button:hover{filter:brightness(.95);}

.optional-outing-note{background:#fff0c9;border:1px solid #b9a56c;border-radius:20px;padding:18px;margin:18px 0;color:#123f4b;}
.sight-additional figure,.idea-extra-photos figure{margin:0;min-width:0;}
.sight-additional figcaption,.idea-extra-photos figcaption{font-size:14px;line-height:1.5;padding:8px 0;color:#123f4b;}
.idea-extra-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
.idea-extra-photos .photo-btn{width:100%;aspect-ratio:4/3;border-radius:18px;overflow:hidden;}
.idea-extra-photos img{width:100%;height:100%;object-fit:cover;}
/* Keep the optional Hue booking links readable against their warm fill. */
.hue-booking,.optional-outing-note .btn{background:#ffdc83!important;color:#123f4b!important;border:1px solid #8db9bb!important;font-weight:700;}

/* Reading-first hierarchy. Pastel blocks are content; filled rectangular buttons are actions. */
body.reading-first{font-size:20px;line-height:1.65;background:#fff8ed;color:#123f4b;--ink:#123f4b;--deep:#075b70;--line:#b6cbcc;}
.reading-first .wrap{max-width:1120px;}
.reading-first h1{font-size:clamp(32px,4vw,44px);line-height:1.35;margin:12px 0 22px;letter-spacing:0;}
.reading-first h2{font-size:29px;line-height:1.4;margin:0 0 18px;letter-spacing:0;}
.reading-first h3{font-size:23px;line-height:1.4;margin:0 0 12px;}
.reading-first p{font-size:20px;line-height:1.65;margin:0 0 18px;}
.reading-first .page-intro{padding-top:28px;padding-bottom:32px;}
.reading-first .reading-section{padding-top:32px;padding-bottom:38px;}
.reading-first button,.reading-first .btn,.reading-first select{border-radius:10px;min-height:52px;border:2px solid #8dafb3;box-shadow:none;transform:none;font-size:20px;line-height:1.4;}
.reading-first .btn{padding:13px 20px;font-weight:700;max-width:100%;white-space:normal;}
.reading-first .btn.primary,.reading-first .btn.ocean{background:#075b70!important;color:#fff!important;border-color:#075b70!important;}
.reading-first .btn.secondary,.reading-first .btn.small{background:#fffaf0!important;color:#123f4b!important;border-color:#8dafb3!important;}
.reading-first a:not(.btn):not(.photo-btn){text-decoration:underline;text-underline-offset:5px;}
.reading-first .actions{gap:14px;flex-wrap:wrap;}

.reading-first .reading-subnav{display:flex;gap:20px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;border-bottom:1px solid #cdd9d5;}
.reading-subnav a{font-size:19px;font-weight:600;padding:4px 0;min-height:38px;background:none;border:0;border-radius:0;}
.reading-first #header{background:#fff8ed;border-bottom:1px solid #b6cbcc;}
.reading-first .mobile-brand{display:block;text-decoration:none!important;font-size:clamp(24px,3.6vw,34px);line-height:1.15;}
.reading-first .mobile-brand small{font-size:10px;margin-top:8px;}
.reading-first #text-size,.reading-first #language{font-size:18px;min-height:48px;border:1px solid #8dafb3;padding:8px 12px;border-radius:9px;background:#fffaf0;}
.reading-first #bottom{background:#fffaf0;border-top:1px solid #8dafb3;}
.reading-first #bottom a{font-size:18px;text-decoration:none!important;border-radius:8px;}
.reading-first #bottom a.active{background:#075b70;color:white;}
.reading-first #bottom .icon{width:26px;height:26px;}
.reading-first .side-nav a{min-height:80px;font-size:18px;border-radius:8px;}
.reading-first .footer-utility{justify-content:flex-start;gap:28px;}
.reading-first .hero{padding-bottom:12px;}
.reading-first .hero-frame{min-height:480px;border-radius:18px 70px 18px 18px;}
.reading-first .hero-text{padding:65px 38px;max-width:680px;}
.reading-first .hero-text h1{font-size:clamp(36px,5vw,60px);}
.reading-first .hero-text p{color:white;}
.reading-first .trip-dates{margin:16px 0;font-weight:700;}
.stay-moods{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.stay-moods article{background:#edf6f3;border-left:5px solid #075b70;padding:28px;border-radius:0 16px 16px 0;}
.stay-moods article+article{background:#fff0d3;border-color:#b2722c;}
.reading-first .photo-triptych{margin:24px 0;gap:16px;}
.reading-first .photo-triptych figure{margin:0;}
.reading-photo{display:block;width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:12px;}
.reading-first .reading-points{list-style:disc;display:block;margin:14px 0 24px;padding-left:25px;}
.reading-first .reading-points li{margin:0 0 10px;font-size:20px;line-height:1.6;}
.reading-first .weather-summary{background:none;border-top:1px solid #b6cbcc;}
.reading-first .reading-hotel-grid{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:50px;}
.reading-first .reading-hotel{background:#fff;border:1px solid #b6cbcc;border-radius:16px;padding:28px;}
.reading-hotel-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px;}
.reading-hotel-heading h1,.reading-hotel-heading h2{margin:0 0 8px;}
.hotel-letter{font-family:system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:8px;background:#075b70;color:white;font-size:30px;font-weight:800;line-height:1;}
.hotel-key-numbers{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:20px 0;border-top:1px solid #b6cbcc;border-bottom:1px solid #b6cbcc;}
.hotel-key-numbers span{display:block;font-size:18px;}
.hotel-key-numbers strong{display:block;font-size:30px;line-height:1.4;overflow-wrap:anywhere;}
.reading-hotel>.reading-photo{max-height:240px;margin:22px 0;}
.hotel-reading-sections{display:grid;gap:32px;padding-bottom:50px;}
.hotel-reading-sections>article{padding:28px;background:white;border:1px solid #b6cbcc;border-radius:14px;}
.hotel-reading-sections .pool-section{border-left:6px solid #075b70;}
.reading-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;}
.reading-photo-grid figure{margin:0;}
.reading-photo-grid .reading-photo{height:250px;}
.reading-photo-grid figcaption{font-size:18px;margin:8px 0;}
.reading-first .supporting-text,.reading-first .cell-note{font-size:17px;line-height:1.55;color:#455c62;}
.reading-first .key-line{font-size:23px;font-weight:700;}
.reading-facts{margin:0 0 24px;}
.reading-facts>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #d7dfdc;}
.reading-facts dt{font-size:19px;}
.reading-facts dd{margin:0;font-size:23px;font-weight:700;white-space:nowrap;}
.reading-table-wrap,.reading-first .knowledge-table-wrap{overflow-x:auto;border:1px solid #8dafb3;border-radius:8px;margin:20px 0 30px;background:white;}
.reading-first table{width:100%;border-collapse:collapse;background:white;color:#123f4b;}
.reading-first table th,.reading-first table td{padding:16px 14px;text-align:left;border-bottom:1px solid #b6cbcc;font-size:20px;vertical-align:top;color:#123f4b;background:white;line-height:1.5;}
.reading-first table thead th{background:#dfede9;border-bottom:2px solid #527c81;font-weight:700;}
.reading-first table tbody tr:nth-child(even)>*{background:#f7f9f6;}
.reading-first table tbody tr:last-child>*{border-bottom:0;}
.reading-first .cell-note{display:block;margin-top:6px;}
.price-reading h2{margin-top:38px;}
.reading-first .reading-place-list{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:35px;}
.reading-first .reading-experience{display:block;padding:26px;background:#fff;border:1px solid #b6cbcc;border-radius:14px;animation:none;}
.reading-experience .place-heading h2{margin-bottom:12px;}
.reading-first .place-area{font-size:17px;font-weight:700;color:#075b70;margin:0 0 8px;}
.reading-first .place-timing{font-size:18px;color:#455c62;margin-bottom:16px;}
.reading-experience>.reading-photo{height:180px;object-fit:cover;margin:20px 0;}
.reading-experience .reading-points{margin-bottom:16px;}
.reading-first .place-fee,.reading-first .food-price{font-size:22px;font-weight:700;}
.reading-first .optional-day{border-top:3px solid #d8bc6b;}
.content-links{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0 0;}
.content-links a{font-size:20px;font-weight:600;padding:6px 0;}
.reading-regions{display:grid;gap:42px;}
.reading-region{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;border-bottom:1px solid #b6cbcc;padding-bottom:36px;scroll-margin-top:130px;}
.reading-region>.reading-photo{height:320px;}
.reading-first .region-drives{font-size:18px;font-weight:700;}
.reading-itineraries{display:grid;gap:32px;padding-bottom:45px;}
.reading-itinerary{padding:28px;border:1px solid #b6cbcc;border-radius:14px;background:white;}
.reading-timeline{list-style:none;margin:22px 0;padding:0;}
.reading-timeline li{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid #d7dfdc;}
.reading-timeline strong{color:#075b70;}
.itinerary-budget{background:#f4f7f2;border-left:4px solid #8dafb3;padding:20px 24px;margin:24px 0;}
.itinerary-budget .reading-points{margin-bottom:0;}
.reading-itinerary>.reading-photo{max-height:240px;margin:24px 0;}
.reading-first .reading-knowledge{grid-template-columns:1fr;gap:30px;}
.reading-first .reading-knowledge>.knowledge-card{display:block;background:white!important;padding:28px!important;border:1px solid #b6cbcc!important;border-radius:14px!important;grid-column:auto!important;}
.reading-first .reading-knowledge .knowledge-card h2{font-size:29px;}
.reading-first .taste-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.reading-first .taste-card{min-width:0;width:auto;background:none!important;border:0!important;border-radius:0;box-shadow:none;overflow:visible;}
.reading-first .taste-card>.reading-photo{height:180px;border-radius:10px;}
.reading-first .taste-card>div{padding:14px 0;}
.reading-first .taste-card h3{font-size:23px;}
.reading-first .taste-card p{font-size:19px;margin-bottom:10px;}
.reading-first .taste-name{font-size:17px!important;color:#455c62;}
.reading-first .dong-converter{display:block;background:#f7f9f6;border:1px solid #8dafb3;border-radius:10px;padding:22px;}
.reading-first .dong-converter label{display:block;font-size:20px;font-weight:700;margin-bottom:12px;}
.reading-first .dong-converter input{width:100%;max-width:340px;font-size:28px;min-height:56px;background:white;border:2px solid #527c81;border-radius:8px;padding:10px 12px;}
.reading-first .dong-converter .dong-words{font-size:21px;margin:10px 0;}
.reading-first .dong-converter output{display:block;font-size:25px;font-weight:700;}
.reading-phrases{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.reading-phrases article{position:relative;border-bottom:1px solid #b6cbcc;padding:18px 0 70px;}
.reading-phrases .spoken-vietnamese{font-size:26px;font-weight:700;}
.reading-phrases .phrase-copy{position:absolute;bottom:14px;left:0;width:48px;height:48px;min-width:48px;min-height:48px;padding:10px;border:1px solid #8dafb3;background:#d8eeea;}
.reading-phrases .phrase-copy svg{width:24px;height:24px;}
.reading-first #travel-map{background:none;padding:0;border-radius:0;}
.map-view-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.map-view-links a{display:inline-flex;align-items:center;min-height:52px;border:2px solid #8dafb3;border-radius:10px;padding:10px 16px;background:#fffaf0;font-size:20px;font-weight:700;text-decoration:none!important;}
.map-view-links a.is-current{background:#075b70;color:white;border-color:#075b70;}
.map-scene{border:1px solid #8dafb3;border-radius:12px;overflow:hidden;margin-bottom:16px;background:#fffaf0;animation:map-view-in .25s ease;}
.map-scene svg{display:block;width:100%;height:auto;}
.map-scene svg a:focus-visible{outline:none;}
.map-scene svg a:focus-visible text{fill:#e70667;}
.map-hotel-key{margin-top:35px;}
.map-hotel-key>a{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #b6cbcc;font-size:21px;}
.map-hotel-key>a>span:first-of-type{flex:1;}
@keyframes map-view-in{from{opacity:.5}to{opacity:1}}
@media(min-width:1200px){.reading-first .reading-hotel-grid{grid-template-columns:repeat(3,1fr);gap:20px}.reading-first .reading-hotel{padding:22px}.reading-first .reading-hotel .reading-hotel-heading{display:block}.reading-hotel .hotel-letter{margin-bottom:16px}.reading-hotel .hotel-key-numbers{grid-template-columns:1fr}.reading-first .reading-hotel h2{font-size:25px;}.reading-hotel-grid .btn{width:100%;}}
@media(max-width:1000px){.reading-first .reading-region{grid-template-columns:1fr}.reading-first .reading-region>.reading-photo{height:250px}.reading-first .reading-knowledge{grid-template-columns:1fr;}}
@media(max-width:600px){.reading-first .wrap{padding-left:20px;padding-right:20px}.reading-first #header{padding:14px 18px;gap:10px}.reading-first .header-tools{gap:7px}.reading-first #language,.reading-first #text-size{padding:7px 9px;font-size:16px;min-width:42px}.reading-first .reading-subnav{gap:20px}.reading-subnav a{font-size:18px}.reading-first .hero-frame{min-height:410px}.reading-first .hero-text{padding:42px 24px}.reading-first .hero-text h1{font-size:36px}.reading-first .hero-text p{font-size:20px;max-width:none}.stay-moods{grid-template-columns:1fr;gap:22px}.stay-moods article{padding:24px}.reading-first .reading-hotel,.hotel-reading-sections>article,.reading-first .reading-experience,.reading-itinerary,.reading-first .reading-knowledge>.knowledge-card{padding:22px!important}.reading-hotel-heading{gap:13px}.reading-hotel-heading h1{font-size:30px}.hotel-key-numbers{gap:14px}.hotel-key-numbers strong{font-size:27px}.reading-facts>div{display:block}.reading-facts dd{margin-top:6px}.reading-photo-grid{grid-template-columns:1fr}.reading-photo-grid .reading-photo{height:240px}.reading-timeline li{grid-template-columns:1fr;gap:6px}.itinerary-budget{padding:18px}.reading-first .taste-grid{gap:18px 14px}.reading-first .taste-card>.reading-photo{height:135px}.reading-first .taste-card h3{font-size:21px}.reading-first .taste-card p{font-size:18px}.reading-phrases{grid-template-columns:1fr}.reading-first table th,.reading-first table td{padding:12px 9px;font-size:19px}.reading-first .price-reading table{table-layout:fixed}.price-reading th:first-child{width:43%}.reading-first .price-reading table th,.reading-first .price-reading table td{font-size:18px;overflow-wrap:anywhere}.reading-first .map-scene-title{font-size:27px}.map-view-links a{font-size:19px;padding:10px 13px}.reading-first .photo-triptych{grid-template-columns:repeat(3,1fr);gap:10px}.reading-first .photo-triptych .reading-photo{height:150px;}.reading-first #bottom{padding-bottom:max(6px,env(safe-area-inset-bottom));}.reading-first #bottom a{font-size:17px;min-height:58px;}.reading-first #bottom .icon{width:25px;height:25px}.reading-first .cell-note{font-size:16px;}}
.reading-first.large-text p,.reading-first.large-text .reading-points li{font-size:23px;}
.reading-first.large-text .supporting-text{font-size:20px;}
@media(prefers-reduced-motion:reduce){.map-scene{animation:none;}}
.map-scene{animation:none;}
.reading-first .price-reading{padding-top:0;}
.reading-first .price-reading>.reading-table-wrap:first-child{margin-top:0;}
.reading-first .price-reading table th:first-child{width:36%;}
.reading-first .price-reading table td{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;}

html{scroll-behavior:auto;}
#shopping{scroll-margin-top:120px;}

.reading-first #shopping{scroll-margin-top:20px;}
.reading-first .mobile-brand small{display:block;}
@media(min-width:851px){.reading-first .reading-subnav{display:none;}}
@media(min-width:1200px){.reading-first .reading-hotel .reading-hotel-heading{min-height:200px;}.reading-first .reading-hotel{display:flex;flex-direction:column;}.reading-hotel>.btn{margin-top:auto;}}

/* Restore the coastal paper identity without changing the reading hierarchy or control sizes. */
body.reading-first{background-color:#fff7ea;--cream:#fff7ea;}
.reading-first #header{background:#fff7eaf5;}
.reading-first .page-intro{position:relative;}
.reading-first .page-intro h1::after,.reading-first .weather-summary h2::after{content:'';display:block;width:72px;height:6px;background:#eca7b0;border-radius:50%;transform:rotate(-3deg);margin-top:18px;}
.reading-first .editorial-note{display:block;font-family:'ChenYuluoyan','GenWanMinPJP',serif;font-weight:100;font-size:28px;line-height:1.5;color:#075b70;transform:rotate(-2deg);margin-bottom:10px;}
.reading-first #text-size{background:#ffdc83;border-color:#dfbd70;border-radius:50%;}
.reading-first #language{background:#f9dce0;border-color:#dcaeb8;border-radius:18px;}
.reading-first #bottom{background:#fff7eaf5;}
.reading-first #bottom a.active{background:#bfe8e3;color:#123f4b;border-radius:18px;}
.reading-first .side-nav a.active{background:#bfe8e3;color:#123f4b;}
.reading-first .hero-frame{border-radius:32px 90px 32px 32px;}
.stay-moods article{background:#def2ed;border-left:0;border-radius:48px 18px 18px 18px;}
.stay-moods article+article{background:#fff0c9;border-radius:18px 48px 18px 18px;}
.reading-first .weather-summary{background:#def2ed;border:0;border-radius:48px 18px 18px 18px;margin-top:28px;margin-bottom:40px;padding:32px;}
.reading-first .reading-hotel{background:#fffcf5;border-color:#a8c9c4;border-radius:42px 18px 18px 18px;box-shadow:0 8px 24px #123f4b08;}
.hotel-letter{background:#ffdc83;color:#123f4b;border-radius:50%;font-family:'Fraunces',serif;}
.reading-hotel:nth-child(2) .hotel-letter{background:#f9dce0;}
.reading-hotel:nth-child(3) .hotel-letter{background:#bfe8e3;}
.hotel-key-numbers{background:#def2ed;border:0;border-radius:16px;padding:18px;}
.hotel-key-numbers strong{font-family:'Fraunces','GenWanMinPJP',serif;}
.reading-hotel:nth-child(2) .hotel-key-numbers{background:#fff0c9;}
.reading-hotel:nth-child(3) .hotel-key-numbers{background:#f9dce0;}
.hotel-reading-sections>article{background:#fffcf5;border-color:#b7d0cc;border-radius:36px 16px 16px 16px;}
.hotel-reading-sections .pool-section{background:#def2ed;border-left:0;}
.reading-first .reading-experience{background:#fffcf5;border-color:#b7d0cc;border-radius:38px 16px 16px 16px;}
.reading-first .reading-photo{border-radius:24px 48px 24px 24px;}
.reading-first .reading-region{border-color:#a8c9c4;}
.reading-first .reading-region>.reading-photo{border-radius:50px 18px 50px 18px;}
.reading-first .reading-itinerary{background:#fffcf5;border-color:#b7d0cc;border-radius:40px 18px 18px 18px;}
.reading-first .itinerary-budget{background:#fff0c9;border-left:4px solid #d4ad59;border-radius:0 18px 18px 0;}
.reading-first .reading-knowledge>.knowledge-card{background:#fffcf5!important;border-color:#b7d0cc!important;border-radius:42px 18px 18px 18px!important;}
.reading-first .reading-knowledge>#knowledge-1,.reading-first .reading-knowledge>#knowledge-8{background:#def2ed!important;}
.reading-first .reading-knowledge>#knowledge-2,.reading-first .reading-knowledge>#knowledge-5{background:#fff0c9!important;}
.reading-first .reading-knowledge>#knowledge-4,.reading-first .reading-knowledge>#knowledge-7{background:#fae2e4!important;}
.reading-first .dong-converter{background:#fffcf5;border-color:#cdb778;border-radius:18px;}
.reading-first table thead th{background:#d9ece7;}
.reading-first table tbody tr:nth-child(even)>*{background:#faf6ee;}
.reading-first .map-scene{border-radius:30px 14px 14px 14px;border-color:#8db9b3;}
.reading-first .map-view-links a.is-current{background:#075b70;color:white;}
.reading-first .map-hotel-key{background:#def2ed;padding:12px 24px;border-radius:32px 16px 16px 16px;}
.reading-first .taste-card>.reading-photo{border-radius:18px 36px 18px 18px;}
@media(max-width:600px){.reading-first .weather-summary{width:calc(100% - 40px);padding:24px;}.reading-first .editorial-note{font-size:26px;}}

/* Editorial navigation and pictogram system: navigation, actions and facts use distinct forms. */
.reading-first .reading-subnav{gap:12px;border:0;padding-top:18px;padding-bottom:22px;}
.reading-first .reading-subnav a{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:10px 15px;border:1px solid #81aaa8;border-radius:18px;background:#def2ed;text-decoration:none!important;}
.reading-first .reading-subnav a:nth-child(2){background:#f9dce0;}
.reading-first .reading-subnav a:nth-child(3){background:#fff0c9;}
.reading-subnav .icon{width:25px;height:25px;}
.reading-first .content-links{gap:12px;margin-top:24px;}
.reading-first .content-links a{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:11px 17px;border:1px solid #81aaa8;border-radius:16px;background:#f9dce0;text-decoration:none!important;}
.reading-first .content-links a:nth-child(3){background:#fff0c9;}
.reading-first .content-links a.is-current{background:#075b70;color:white;border-color:#075b70;}
.content-links .icon{width:28px;height:28px;}
.reading-first .btn{border-radius:12px 22px 12px 12px;}
.reading-first .btn.secondary,.reading-first .btn.small{background:#ffdc83!important;border:1px solid #b29655!important;color:#123f4b!important;}
.reading-first .actions .btn.secondary{background:#f9dce0!important;border-color:#c495a1!important;}
.reading-first .plain-link,.reading-first .hotel-mini-links a{display:inline-flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid #81aaa8;border-radius:12px;background:#def2ed;text-decoration:none!important;}
.reading-first .reading-experience{border:0;border-bottom:1px dashed #93bab6;border-radius:0;background:transparent;box-shadow:none;padding:18px 0 40px;}
.reading-first .reading-experience:nth-child(even){padding-top:18px;}
.reading-first .place-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.place-emblem{display:flex;align-items:center;justify-content:center;flex:0 0 66px;height:66px;background:#def2ed;border-radius:24px 24px 24px 6px;}
.place-emblem>.icon{width:42px;height:42px;}
.reading-experience:nth-child(3n+2) .place-emblem{background:#f9dce0;}
.reading-experience:nth-child(3n) .place-emblem{background:#fff0c9;}
.reading-first .place-heading h2,.reading-first .place-heading h1{margin:0;}
.reading-first .place-timing{display:flex;align-items:flex-start;gap:9px;}
.place-timing>.icon{width:24px;height:24px;flex:0 0 24px;margin-top:3px;}
.reading-first .reading-experience .experience-picture{margin:24px 0 42px;}
.reading-first .reading-experience .experience-picture img{height:270px;border-radius:66px 22px 22px 22px;}
.reading-first .reading-experience:nth-child(even) .experience-picture img{border-radius:22px 66px 22px 22px;}
.reading-first .experience .picture-stamp{background:#fff7ea;border:0;border-radius:4px;padding:9px 16px;box-shadow:0 3px 12px #123f4b12;transform:rotate(-2deg);font-family:'ChenYuluoyan','GenWanMinPJP',serif;font-size:26px;line-height:1.4;max-width:95%;}
.reading-first .picture-stamp .icon{width:28px;height:28px;}
.reading-first .illustrated-heading{display:flex;align-items:center;gap:16px;}
.illustrated-heading>span{display:flex;align-items:center;justify-content:center;flex:0 0 58px;height:58px;border-radius:20px 20px 20px 5px;background:#fff9ee;}
.illustrated-heading>span>.icon{width:36px;height:36px;}
.reading-first .mood-drawing{width:68px;height:68px;margin:0 0 18px;}
.reading-first .reading-region h2::after,.reading-first .reading-itinerary h2::after{content:'';display:block;width:62px;height:5px;background:#eca7b0;border-radius:50%;margin-top:14px;transform:rotate(-3deg);}
@media(max-width:600px){.reading-first .reading-subnav{gap:8px}.reading-first .reading-subnav a{padding:9px 11px;font-size:17px;gap:6px}.reading-subnav .icon{width:22px;height:22px}.reading-first .reading-experience{padding:14px 0 34px!important}.place-emblem{flex-basis:54px;height:54px}.place-emblem>.icon{width:34px;height:34px}.reading-first .place-heading{gap:12px}.reading-first .reading-experience .experience-picture img{height:220px}.reading-first .illustrated-heading{gap:12px}.illustrated-heading>span{flex-basis:46px;height:46px}.illustrated-heading>span>.icon{width:30px;height:30px}}

.reading-first .photo-triptych figure{padding:9px 9px 15px;background:#fffcf5;box-shadow:0 6px 22px #123f4b0e;transform:rotate(-2deg);}
.reading-first .photo-triptych figure:nth-child(2){transform:rotate(2deg);}
.reading-first .photo-triptych .reading-photo{border-radius:2px;}
.reading-first .photo-triptych figcaption{font-size:25px;line-height:1.4;margin-top:10px;text-align:center;}
.reading-first .back-link{margin-bottom:24px;}
@media(min-width:1100px){.reading-first .reading-place-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 36px;}.reading-first .reading-experience:nth-child(even){margin-top:48px;}.reading-first .optional-day>.reading-experience{max-width:760px;}}
@media(max-width:600px){.reading-first .photo-triptych figcaption{font-size:22px;}.reading-first .photo-triptych{grid-template-columns:1fr 1fr;}.reading-first .photo-triptych figure:nth-child(3){display:none;}}
.reading-first .brand,.reading-first .side-nav a{text-decoration:none!important;}
.reading-first .side-links{width:100%;display:grid;gap:10px;margin-top:24px;}
.reading-first .side-links a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #9bbeba;border-radius:12px;padding:8px;background:#def2ed;text-decoration:none!important;}
.reading-first .side-links a:nth-child(2){background:#f9dce0;}
.reading-first .side-links a:nth-child(3){background:#fff0c9;}
.reading-first .side-links a:nth-child(4){background:#ffead5;}
/* Original editorial composition with the current readable type scale. */
.reading-first .hero{padding-bottom:70px;}
.reading-first .hero-frame{min-height:580px;border-radius:34px 100px 34px 34px;}
.reading-first .hero-text{padding:78px 50px 110px;max-width:650px;}
.reading-first .trip-ribbon{grid-template-columns:1.4fr 1fr;background:#fff0c9;border:1px solid #a8c9c4;}
.reading-first .trip-ribbon strong{font-size:23px;font-weight:700;}
.reading-first .trip-ribbon span{font-size:17px;}
.reading-first .intro-story{padding-top:50px;padding-bottom:70px;}
.reading-first .intro-story>.icon{margin:0 auto 24px;width:70px;height:70px;}
.reading-first .intro-story p{max-width:760px;margin:0 auto 24px;}
.reading-first .home-stay-options{grid-template-columns:1fr 1fr;gap:32px;}
.reading-first .home-stay-options .journey-tile{display:block;padding:38px;text-align:left;border:1px solid #a8c9c4;border-radius:56px 22px 22px 22px;}
.reading-first .home-stay-options .journey-tile:nth-child(2){background:#fff0c9;border-radius:22px 56px 22px 22px;}
.reading-first .home-stay-options .icon{width:76px;height:76px;margin:0 0 24px;}
.reading-first .home-stay-options .btn{margin-top:12px;}
.reading-first .weather-story{align-items:center;gap:48px;}
.reading-first .weather-story>.weather-art .icon{width:145px;height:145px;}
.reading-first .weather-art .temp{font-size:76px;}
.reading-first .weather-story .knowledge-cta{font-size:22px;border:1px solid #b29655;background:#ffdc83;border-radius:16px;margin-top:28px;text-decoration:none!important;}
.reading-first .weather-story .weather-pills>div{background:#fffcf5;border:1px solid #bdd3ce;border-radius:22px;}
.reading-first .weather-story .section-heading{font-size:29px;}
.reading-first .reading-place-list{gap:52px 34px;}
.reading-first .reading-experience .experience-picture{margin-top:0;margin-bottom:36px;}
.reading-first .reading-experience>.place-heading{margin-top:8px;}
.reading-first .reading-experience .reading-points{margin-top:18px;}
.reading-first .reading-itinerary{padding:0!important;overflow:hidden;border-radius:32px;background:#fffcf5;}
.itinerary-cover{position:relative;}
.reading-first .itinerary-cover>.reading-photo{height:310px;max-height:none;margin:0;border-radius:0;}
.itinerary-cover-icon{position:absolute;bottom:-28px;left:30px;display:grid;place-items:center;width:64px;height:64px;border-radius:22px 22px 22px 5px;background:#fff0c9;border:1px solid #b9cfc5;}
.itinerary-cover-icon>.icon{width:38px;height:38px;}
.itinerary-content{padding:48px 30px 30px;}
.reading-first .reading-timeline{padding-left:14px;}
.reading-first .reading-timeline li{position:relative;display:block;border-bottom:0;border-left:2px solid #98bcb6;padding:0 0 26px 28px;}
.reading-timeline li::before{content:'';position:absolute;width:12px;height:12px;left:-7px;top:7px;border:2px solid #075b70;background:#ffdc83;border-radius:50%;}
.reading-timeline li:last-child{padding-bottom:0;}
.reading-timeline strong{display:block;margin-bottom:7px;font-size:22px;}
.reading-first .map-hotel-key{display:grid;gap:20px;background:none;padding:0;margin-top:42px;}
.reading-first .map-hotel-key>a{position:relative;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;padding:20px;border:1px solid #91b9b2;border-radius:28px 12px 12px 12px;background:#def2ed;text-decoration:none!important;}
.reading-first .map-hotel-key>a:nth-of-type(2){background:#f9dce0;}
.reading-first .map-hotel-key>a:nth-of-type(3){background:#fff0c9;}
.map-hotel-key .map-key-photo{width:100px;height:110px;object-fit:cover;border-radius:20px 8px 8px 8px;}
.map-hotel-key .map-key-title{display:flex;gap:12px;align-items:flex-start;}
.map-hotel-key .hotel-letter{flex-basis:38px;width:38px;height:38px;font-size:25px;}
.map-key-copy strong{display:block;font-size:22px;line-height:1.4;}
.map-key-copy small{display:block;font-size:17px;line-height:1.5;margin-top:9px;color:#36585d;}
@media(min-width:901px){.reading-first .reading-place-list,.reading-first .reading-itineraries{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;}.reading-first .reading-experience:nth-child(even){margin-top:48px;}}
@media(max-width:900px){.reading-first .weather-story{grid-template-columns:1fr 1.3fr;gap:28px;}.reading-first .weather-art .temp{font-size:62px;}.reading-first .home-stay-options .journey-tile{padding:30px;}.reading-first .hero-stamp{display:none;}}
@media(max-width:600px){.reading-first .hero{padding-bottom:48px;}.reading-first .hero-frame{min-height:560px;border-radius:26px 65px 26px 26px;}.reading-first .hero-text{padding:48px 24px 90px;}.reading-first .trip-ribbon{margin:-22px 8px 0;padding:18px 16px;gap:12px;}.reading-first .trip-ribbon strong{font-size:19px;}.reading-first .trip-ribbon span{font-size:15px;}.reading-first .intro-story{padding:42px 20px 52px;}.reading-first .home-stay-options{grid-template-columns:1fr;gap:24px;}.reading-first .home-stay-options .journey-tile{padding:30px;}.reading-first .weather-story{grid-template-columns:1fr;gap:30px;}.reading-first .weather-story>.weather-art .icon{width:100px;height:100px;}.reading-first .weather-art .temp{font-size:54px;}.reading-first .itinerary-cover>.reading-photo{height:235px;}.itinerary-content{padding:44px 22px 24px;}.reading-first .map-hotel-key>a{grid-template-columns:76px 1fr auto;padding:16px;gap:12px;}.map-hotel-key .map-key-photo{width:76px;height:100px;}.map-hotel-key .map-key-title{display:block;}.map-hotel-key .hotel-letter{margin-bottom:8px;}.map-key-copy strong{font-size:20px;}.reading-first .weather-pills{flex-wrap:wrap;}}

.reading-first .wrap{max-width:1220px;}
.reading-first .shopping-editorial .experience-picture{margin-bottom:36px;}
.reading-first .shopping-editorial .experience-picture img{height:270px;}
.reading-first .shopping-editorial .venue-line .icon{width:24px;height:24px;}
.reading-first button.photo-btn{padding:0;border:0;min-height:0;border-radius:0;background:none;}
.reading-first .intro-story .photo-triptych figure .photo-btn{width:100%;}
/* Original page families: hotel photography, alternating area stories and chapter cards. */
.reading-first .restored-hotel-card{background:#fffcf5;border:1px solid #a8c9c4;border-radius:34px;overflow:hidden;}
.reading-first .restored-hotel-card .hotel-body{padding:28px;}
.reading-first .restored-hotel-card h2{font-size:29px;line-height:1.4;}
.reading-first .restored-hotel-card .hotel-one-liner{font-size:26px!important;line-height:1.5;}
.reading-first .restored-hotel-card .hotel-key-numbers{grid-template-columns:1fr 2fr;gap:12px;padding:18px 14px;}
.restored-hotel-card .hotel-key-numbers strong{font-size:28px;white-space:nowrap;overflow-wrap:normal;}
.reading-first .restored-hotel-card .hotel-code{background:#ffdc83;color:#123f4b;}
.reading-first .restored-hotel-card:nth-child(2) .hotel-code{background:#f9dce0;}
.reading-first .restored-hotel-card:nth-child(3) .hotel-code{background:#bfe8e3;}
.reading-first .restored-hotel-card .hotel-photo .photo-btn{width:100%;}
.reading-first .hotel-detail-top{padding-top:32px;padding-bottom:32px;}
.reading-first .hotel-detail-top .gallery-mosaic{margin:28px 0 32px;}
.reading-first .hotel-detail-top .gallery-mosaic .photo-btn{height:100%;}
.reading-first .hotel-detail-top .gallery-mosaic .photo-btn img{height:100%;}
.reading-first .hotel-detail-top .detail-title{margin-top:20px;}
.reading-first .hotel-reading-sections>article{border:0;border-radius:32px;background:#fffaf2;padding:30px;}
.reading-first .hotel-reading-sections>article:nth-child(1){background:#def2ed;}
.reading-first .hotel-reading-sections>article:nth-child(3){background:#fff0c9;}
.reading-first .hotel-reading-sections>article:nth-child(4){background:#fae2e4;}
.reading-first .hotel-reading-sections .pool-section{background:#fffcf5;border:1px solid #abc8c2;}
.reading-first .hotel-reading-sections .photo-btn{border-radius:24px;overflow:hidden;margin-top:20px;}
.reading-first .hotel-reading-sections .photo-btn img{height:340px;}
.reading-first .hotel-reading-sections .reading-photo-grid .photo-btn{margin-top:0;}
.reading-first .hotel-reading-sections .reading-photo-grid .photo-btn img{height:280px;}
.reading-first .zoom-hint{display:grid;place-items:center;width:36px;height:36px;min-width:36px;padding:7px;border-radius:50%;background:#123f4bcc;color:#fff;}
.reading-first .zoom-hint .icon{width:22px;height:22px;}
.reading-first .restored-area-story .area-photo .photo-btn{border-radius:38px 80px 38px 38px;}
.reading-first .restored-area-story .area-photo .photo-btn img{height:420px;}
.reading-first .restored-area-story .area-sticker{background:#ffead5;padding:16px 24px;border-radius:8px;}
.reading-first .restored-area-story .region-drives{font-size:18px;color:#36585d;margin-top:24px;}
.reading-first .reading-knowledge{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px;}
.reading-first .reading-knowledge>.knowledge-card{grid-column:span 6!important;}
.reading-first .reading-knowledge>#knowledge-5,.reading-first .reading-knowledge>#knowledge-6,.reading-first .reading-knowledge>#knowledge-7,.reading-first .reading-knowledge>#knowledge-9,.reading-first .reading-knowledge>#knowledge-10{grid-column:span 12!important;}
.reading-first .reading-knowledge>#knowledge-6,.reading-first .reading-knowledge>#knowledge-9{background:none!important;border:0!important;}
.reading-first .reading-knowledge>#knowledge-6{padding:24px 0!important;}
.reading-first .taste-card{background:#fffcf5!important;border:1px solid #abc8c2!important;border-radius:24px;overflow:hidden;}
.reading-first .taste-card .taste-photo{position:relative;}
.reading-first .taste-card .taste-photo .photo-btn img{height:200px;}
.reading-first .taste-card>.taste-caption{padding:20px;}
.reading-first .itinerary-cover .photo-btn{height:310px;width:100%;}
.reading-first .itinerary-cover .photo-btn img{height:100%;}
.reading-first .reading-experience .experience-picture>.photo-btn{border-radius:66px 22px 22px 22px;overflow:hidden;}
.reading-first .reading-experience:nth-child(even) .experience-picture>.photo-btn{border-radius:22px 66px 22px 22px;}
.reading-first .reading-phrases{gap:20px;}
.reading-first .reading-phrases article{border:1px solid #a7c5bf;background:#fffcf5;border-radius:22px;padding:22px 22px 80px;}
.reading-first .reading-phrases article:nth-child(even){background:#def2ed;}
.reading-first .reading-phrases .phrase-copy{left:22px;}
@media(min-width:901px){.reading-first .reading-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;}}
@media(max-width:1000px){.reading-first .reading-knowledge>.knowledge-card{grid-column:span 12!important;}.reading-first .restored-area-story{grid-template-columns:1fr;gap:28px;}.reading-first .restored-area-story .area-photo{order:0;}.reading-first .restored-area-story .area-photo .photo-btn img{height:300px;}}
@media(max-width:600px){.reading-first .restored-hotel-card .hotel-body{padding:24px 22px;}.reading-first .restored-hotel-card .hotel-key-numbers strong{font-size:25px;}.reading-first .restored-hotel-card .hotel-key-numbers span{font-size:17px;}.reading-first .hotel-reading-sections .photo-btn img{height:240px;}.reading-first .hotel-reading-sections .reading-photo-grid .photo-btn img{height:230px;}.reading-first .knowledge-intro h1{font-size:30px;}.reading-first .taste-card>.taste-caption{padding:14px;}.reading-first .taste-card .taste-photo .photo-btn img{height:135px;}.reading-first .taste-card .zoom-hint{width:28px;height:28px;min-width:28px;padding:5px;right:7px;bottom:7px;}.reading-first .taste-card .zoom-hint .icon{width:18px;height:18px;}.reading-first .itinerary-cover .photo-btn{height:235px;}}
.reading-first .hotel-history-tags .tag{display:inline-flex;background:#fff0c9;color:#123f4b;border:0;border-left:3px solid #b89b52;border-radius:4px;padding:5px 10px;font-size:17px;line-height:1.5;}
.reading-first .hotel-history-tags .tag:nth-child(2){background:#f9dce0;border-left-color:#c58697;}
/* Restore the complete card boundaries and the original information/price split. */
.reading-first #bottom{grid-template-columns:repeat(5,minmax(0,1fr));}
.reading-first #bottom a{min-width:0;}
.reading-first .reading-subnav a:nth-child(3){background:#fff0c9;}
.reading-first .reading-subnav a:nth-child(4){background:#def2ed;}
.reading-first .hotel-detail-card{background:#fffcf5;border:1px solid #9fbbb5;border-radius:36px;padding:28px;box-shadow:0 10px 35px #123f4b0b;}
.reading-first .hotel-detail-card .detail-title{padding:24px;background:#def2ed;border-radius:26px;}
.reading-first .hotel-detail-card .gallery-mosaic{margin:28px 0 34px;}
.reading-first .restored-detail-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:start;}
.reading-first .detail-reading-column{padding:0;gap:24px;}
.reading-first .detail-reading-column>article{padding:24px;background:#fffaf2;border:1px solid #bbcec7;border-radius:24px;}
.reading-first .detail-reading-column>article:nth-child(2){background:#def2ed;}
.reading-first .detail-reading-column>article:nth-child(4){background:#fff0c9;}
.reading-first .hotel-decision{padding:0!important;border:0!important;background:none!important;}
.reading-first .hotel-decision>h2{font-size:26px;}
.reading-first .hotel-room-spec{display:flex;align-items:center;gap:12px;margin:18px 0 24px;font-size:20px;}
.hotel-room-spec .icon{width:30px;height:30px;}
.hotel-room-spec strong{font-size:28px;}
.reading-first .good-tradeoff{grid-template-columns:1fr;gap:16px;margin:20px 0 0;}
.reading-first .good-tradeoff>div{padding:20px;}
.reading-first .good-tradeoff>div:first-child{background:#def2ed;}
.reading-first .good-tradeoff>div:nth-child(2){background:#f9dce0;}
.reading-first .good-tradeoff h3,.booking-flight-totals h3{display:flex;align-items:center;gap:10px;}
.good-tradeoff h3 .icon,.booking-flight-totals h3 .icon{width:28px;height:28px;}
.reading-first .good-tradeoff .reading-points{margin:10px 0 0;}
.reading-first .restored-booking-card{position:sticky;top:112px;background:#fff0c9;border:1px solid #cdb77b;padding:24px;border-radius:26px;}
.reading-first .restored-booking-card h2{font-size:27px;}
.reading-first .restored-booking-card .paired-prices{grid-template-columns:1fr;gap:14px;}
.reading-first .paired-price{border-radius:18px;padding:18px 16px;}
.reading-first .paired-price.room-only{background:#ffe8d2;border:1px solid #e3c5a6;}
.reading-first .paired-price.with-breakfast{background:#def2ed;border:1px solid #9cc7c0;}
.reading-first .paired-price>span{font-size:19px;}
.reading-first .paired-price>strong{font-size:30px;letter-spacing:0;font-family:'Fraunces','GenWanMinPJP',serif;}
.reading-first .paired-price-basis,.reading-first .booking-card .paired-price-basis{font-size:17px;}
.reading-first .booking-flight-totals{padding-top:22px;margin-top:22px;border-top:1px solid #c9b886;}
.reading-first .booking-flight-totals p{font-size:18px;}
.booking-flight-totals dl{margin:0 0 22px;}
.booking-flight-totals dl>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d6c997;}
.booking-flight-totals dd{margin:0;font-size:23px;font-weight:700;white-space:nowrap;}
.reading-first .restored-booking-card .btn{display:flex;width:100%;}
.reading-first .detail-reading-column .reading-photo-grid{grid-template-columns:1fr;}
.reading-first .restored-hotel-card .hotel-body{background:#fffaf2;}
.reading-first .restored-hotel-card:nth-child(2) .hotel-body{background:#fff4f2;}
.reading-first .restored-hotel-card:nth-child(3) .hotel-body{background:#f0f8f4;}
.reading-first .restored-hotel-card .paired-price>strong{font-size:30px;}
.reading-first .reading-experience{padding:0 0 26px!important;background:#fffcf5;border:1px solid #aac5bd;border-radius:32px;box-shadow:0 7px 24px #123f4b08;overflow:hidden;}
.reading-first .reading-experience:nth-child(even){margin-top:0;}
.reading-first .reading-experience>.experience-picture{margin:0 0 36px;}
.reading-first .reading-experience>.experience-picture>.photo-btn,.reading-first .reading-experience .experience-picture img{border-radius:0;}
.reading-first .reading-experience>.place-heading,.reading-first .reading-experience>.place-area,.reading-first .reading-experience>h2,.reading-first .reading-experience>h3,.reading-first .reading-experience>p,.reading-first .reading-experience>.actions,.reading-first .reading-experience>.venue-details{margin-left:24px;margin-right:24px;}
.reading-first .reading-experience>.reading-points{margin-left:24px;margin-right:24px;}
.reading-first .reading-experience>.btn{margin-left:24px;margin-right:24px;}
.reading-first .reading-experience:nth-child(3n+2){background:#fff2ee;}
.reading-first .reading-experience:nth-child(3n){background:#edf7f2;}
/* Chapter layout follows the original title cards, with continuous clothing copy. */
.reading-first .reading-knowledge>.knowledge-card>h2{margin:0 0 26px;font-size:29px;line-height:1.4;}
.reading-first .reading-knowledge>#knowledge-1{border-radius:55px 26px 26px 26px!important;}
.reading-first .reading-knowledge>#knowledge-2{border-radius:26px 55px 26px 26px!important;}
.reading-first .souvenir-groups h3{font-size:21px;}
.reading-first .souvenir-items{gap:18px 14px;}
.reading-first .souvenir-items li{font-size:20px;}
.reading-first .souvenir-items li>span:first-child{width:42px;height:42px;}
.reading-first .conversation-card{border:1px solid #9fbbb5;border-radius:24px 24px 24px 5px;background:#fffcf5;}
.reading-first .conversation-card:nth-child(even){background:#def2ed;border-radius:24px 24px 5px 24px;}
.reading-first .conversation-card summary{min-height:80px;padding:20px;}
.reading-first .conversation-card summary strong{font-size:23px;}
.reading-first .conversation-card .phrase-answer{padding:0 20px 20px;}
.reading-first .conversation-card .speech-bubble{font-size:28px;}
.reading-first .phrase-readings p{font-size:24px;line-height:1.6;}
.reading-first .phrase-readings p>span{font-size:17px;margin-bottom:6px;}
.reading-first .phrase-readings strong{font-size:25px;}
.reading-first .phrase-copy{position:static;margin-top:18px;}
#photo-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:#123f4bdd;color:white;padding:7px 15px;border-radius:20px;font:600 18px/1.4 'Libre Franklin',sans-serif;z-index:2;}
@media(min-width:601px) and (max-width:1000px){.reading-first .reading-knowledge>#knowledge-1,.reading-first .reading-knowledge>#knowledge-2,.reading-first .reading-knowledge>#knowledge-3,.reading-first .reading-knowledge>#knowledge-4{grid-column:span 6!important;}}
@media(min-width:601px){.reading-first .reading-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.reading-first .restored-hotel-card .paired-prices{grid-template-columns:1fr;}}
@media(min-width:1100px){.reading-first .restored-hotel-card .paired-prices{grid-template-columns:1fr 1fr;}.reading-first .restored-booking-card .paired-prices{grid-template-columns:1fr 1fr;}.reading-first .restored-booking-card .paired-price>strong{font-size:25px;}.reading-first .good-tradeoff{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.reading-first .hotel-detail-card{padding:18px 14px;border-radius:26px;}.reading-first .hotel-detail-card .detail-title{padding:18px;gap:12px;}.reading-first .hotel-detail-card .detail-title h1{font-size:28px;}.reading-first .restored-detail-layout{grid-template-columns:1fr;gap:26px;}.reading-first .restored-booking-card{position:static;order:0;}.reading-first .hotel-detail-card .gallery-mosaic{grid-template-rows:220px 120px;}.reading-first .restored-hotel-card .paired-price>strong{font-size:27px;}.reading-first .conversation-cards{grid-template-columns:1fr;}.reading-first .souvenir-items{grid-template-columns:1fr 1fr;}.reading-first #bottom a{font-size:16px;}.reading-first #bottom .icon{width:25px;height:25px;}.reading-first .reading-experience>.place-heading,.reading-first .reading-experience>.place-area,.reading-first .reading-experience>h2,.reading-first .reading-experience>h3,.reading-first .reading-experience>p,.reading-first .reading-experience>.actions,.reading-first .reading-experience>.venue-details{margin-left:20px;margin-right:20px;}}
@media(min-width:601px) and (max-width:1099px){.reading-first .restored-booking-card .paired-prices{grid-template-columns:1fr 1fr;gap:8px;}.reading-first .restored-booking-card .paired-price{padding:14px 8px;}.reading-first .restored-booking-card .paired-price>strong{font-size:22px;}.reading-first .restored-booking-card .paired-price>span{font-size:18px;}}
@media(min-width:601px){.reading-first.large-text .restored-detail-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);}}
@media(min-width:740px){.reading-first.large-text .reading-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.reading-first .restored-detail-layout{grid-template-areas:'decision prices' 'content prices';}
.reading-first .restored-detail-layout>.hotel-decision{grid-area:decision;}
.reading-first .restored-detail-layout>.detail-reading-column{grid-area:content;}
.reading-first .restored-detail-layout>.restored-booking-card{grid-area:prices;}
@media(max-width:600px){.reading-first .restored-detail-layout{grid-template-areas:'decision' 'prices' 'content';}.reading-first .restored-booking-card .paired-prices{grid-template-columns:1fr 1fr;gap:10px;}.reading-first .restored-booking-card .paired-price{padding:14px 9px;}.reading-first .restored-booking-card .paired-price>strong{font-size:25px;}.reading-first .restored-booking-card .paired-price>span{font-size:18px;}}
@media(max-width:600px){.reading-first .restored-booking-card .paired-price{padding:14px 7px;}}
/* User annotations: retain original responsive composition and apply the specified header treatment. */
.reading-first #header{background:#065b75;color:#f7f7f7;border-bottom:1px solid #87aeb7;max-width:none;}
.reading-first #header .mobile-brand,.reading-first #header .mobile-brand small{color:#fff;}
.reading-first #header #text-size{color:#fff;background:#95b8c1;font-size:24px;font-weight:300;border:3px solid #fff;width:54px;height:54px;min-width:54px;min-height:54px;max-width:54px;max-height:54px;padding:0;border-radius:50%;line-height:1;}
.reading-first #header #language{color:#fff;background:#95b8c1;font-size:23px;font-family:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;font-weight:300;border:3px solid #fff;min-height:54px;padding:8px 13px;border-radius:18px;line-height:1.3;}
.reading-first .ideas-intro>p,.reading-first.large-text .ideas-intro>p{font-size:14px;line-height:1.65;}
.reading-first .postcard-place-link{display:block;position:relative;line-height:0;text-decoration:none!important;}
.postcard-place-link img{display:block;width:100%;object-fit:cover;}
.postcard-place-arrow{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#123f4bdd;color:white;font:24px/1 'Libre Franklin',sans-serif;}
.reading-first .hotel-detail-card{padding:0;background:none;border:0;border-radius:0;box-shadow:none;}
.reading-first .hotel-detail-card .detail-title{padding:0;background:none;border:0;border-radius:0;margin-top:20px;margin-bottom:30px;}
.reading-first .hotel-detail-card .detail-title .hotel-code{display:flex;align-items:center;justify-content:center;width:68px;height:68px;flex:0 0 68px;border-radius:50%;background:#def2ed;color:#075b70;}
.reading-first #sidebar{border:1px solid #bed3cd;background:#fffcf5;border-radius:30px;box-shadow:0 7px 35px #34777308;}
.reading-first #sidebar .brand{display:block;text-align:center;line-height:1.4;font-size:24px;}
.reading-first #sidebar .brand-mark{display:block;width:78px;height:70px;margin:0 auto 12px;}
.reading-first #sidebar .brand small{font-size:10px;line-height:1.7;letter-spacing:.08em;}
.reading-first #sidebar .side-nav{gap:10px;margin-top:24px;}
.reading-first #sidebar .side-nav a{font-size:15px;min-height:84px;border-radius:18px;padding:9px 4px;overflow-wrap:normal;word-break:normal;background:#fff7ea;}
.reading-first #sidebar .side-nav a.active{background:#bfe8e3;}
.reading-first #sidebar .side-nav a .icon{width:44px;height:44px;margin:0 auto 5px;}
.reading-first #sidebar .side-note{display:block;margin-top:auto;text-align:center;border-top:1px dashed #a7c5bd;padding-top:18px;font-size:22px;line-height:1.5;}
.reading-first #sidebar .side-links{display:block;margin-top:10px;}
.reading-first #sidebar .side-links a{display:block;min-height:0;border:0;padding:7px 0;background:none;font-size:14px;text-align:center;line-height:1.5;}
@media(min-width:601px){
 .reading-first .reading-place-list,.reading-first.large-text .reading-place-list,.reading-first .reading-itineraries,.reading-first.large-text .reading-itineraries{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;}
 .reading-first .restored-area-story,.reading-first .restored-area-story:nth-child(even){display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding:48px 0 62px;}
 .reading-first .restored-area-story .area-photo{order:0;min-width:0;}
 .reading-first .restored-area-story:nth-child(even) .area-photo{order:2;}
 .reading-first .restored-area-story .area-copy{min-width:0;}
 .reading-first .restored-area-story .area-photo .photo-btn img{height:390px;}
 .reading-first .restored-area-story .area-photo .photo-btn{border-radius:30px 80px 30px 30px;}
 .reading-first .restored-area-story .area-sticker{font-size:26px!important;left:-12px;bottom:-12px;max-width:calc(100% + 20px);transform:rotate(-5deg);}
 .reading-first .restored-area-story .area-copy .eyebrow{font-size:15px;line-height:1.7;letter-spacing:.12em;margin-bottom:14px;}
 .reading-first .restored-area-story h2{margin-top:0;}
}
@media(min-width:601px) and (max-width:900px){.reading-first .reading-itinerary .itinerary-content{padding:44px 22px 24px;}.reading-first .reading-experience>.place-heading{gap:10px;}.reading-first .place-emblem{flex-basis:50px;height:50px;}.reading-first .place-emblem .icon{width:32px;height:32px;}.reading-first .reading-experience .place-heading h2{font-size:27px;}.reading-first .restored-area-story,.reading-first .restored-area-story:nth-child(even){gap:30px;}.reading-first .restored-area-story .area-photo .photo-btn img{height:340px;}}
@media(max-width:600px){.reading-first .hotel-detail-card .detail-title{padding:0;}.reading-first .hotel-detail-card .detail-title .hotel-code{width:51px;height:51px;flex-basis:51px;}.reading-first .restored-area-story,.reading-first .restored-area-story:nth-child(even){grid-template-columns:1fr;}.reading-first .restored-area-story:nth-child(even) .area-photo{order:0;}}
.reading-first .map-scene svg a,.reading-first .map-scene svg text{text-decoration:none!important;}
.reading-first .hotel-history-tags .tag{border:1px solid #cbb77e;border-radius:99px;padding:6px 12px;background:#fff0c9;}
.reading-first .hotel-history-tags .tag:nth-child(2){background:#f9dce0;border-color:#ce9da6;}
@media(max-width:600px){.reading-first .photo-triptych figure:nth-child(3){display:block;}}
/* Original reading type and compact supplementary facts; no changes to the established grids. */
.reading-first .explore-title-row{position:relative;min-height:70px;}
.reading-first .explore-title-row>h1{max-width:52%;margin-top:12px;}
.reading-first .explore-title-row>.handwritten{position:absolute;right:0;top:0;max-width:46%;text-align:right;font-size:25px;line-height:1.4;margin:0;}
.reading-first .reading-experience .place-heading h1,.reading-first .reading-experience .place-heading h2{font-family:'Libre Franklin','GenWanMinPJP',serif;font-weight:600;font-size:27px;line-height:1.5;letter-spacing:0;}
.reading-first .reading-experience .picture-stamp{font-family:'Libre Franklin','GenWanMinPJP',serif;font-size:18px;line-height:1.4;transform:none;border-radius:99px;box-shadow:0 3px 8px #3654450c;padding:9px 16px;background:#fff7ea;}
.reading-first .reading-experience .picture-stamp .icon{width:26px;height:26px;}
.reading-first .reading-experience>.sight-comfort{display:inline-flex;align-items:center;background:#def2ed;border:0;border-radius:99px;padding:6px 12px;margin:0 24px 16px;font:400 16px/1.5 'Libre Franklin','GenWanMinPJP',serif;}
.reading-first .sight-visit-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 24px 10px;}
.reading-first .sight-visit-facts>span{display:inline-flex;align-items:center;gap:6px;background:#def2ed;border:0;border-radius:99px;padding:6px 11px;font:400 18px/1.5 'Libre Franklin','GenWanMinPJP',serif;}
.sight-visit-facts .icon{width:20px;height:20px;}
.reading-first .reading-experience>.drive-note,.reading-first.large-text .reading-experience>.drive-note{display:flex;align-items:center;gap:8px;font:400 16px/1.55 'Libre Franklin','GenWanMinPJP',serif;color:#52676c;margin:4px 24px 16px;}
.drive-note .icon{width:20px;height:20px;flex:0 0 20px;}
.reading-first .reading-experience .reading-points li{font-weight:400;}
.reading-first .restored-area-story .area-copy p,.reading-first.large-text .restored-area-story .area-copy p{font-family:'Libre Franklin','GenWanMinPJP',serif;font-weight:400;}
.reading-first .restored-area-story .area-copy .region-drives,.reading-first.large-text .restored-area-story .area-copy .region-drives{font:400 16px/1.65 'Libre Franklin','GenWanMinPJP',serif;color:#52676c;}
.reading-first .restored-area-story .area-copy .eyebrow{font-family:'Libre Franklin','GenWanMinPJP',serif;font-weight:600;font-size:15px;}
.reading-first .region-hotel-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:24px 0;}
.reading-first .hotel-mini-links .region-hotel-button{display:inline-flex;align-items:center;gap:10px;min-height:52px;max-width:100%;padding:12px 16px;background:#f9dce0;color:#123f4b;border:1px solid #82aaa5;border-radius:18px;text-decoration:none!important;font:600 20px/1.5 'Libre Franklin','GenWanMinPJP',serif;}
.region-hotel-button .icon{width:25px;height:25px;flex:0 0 25px;}
.reading-first .region-hotel-actions .region-hotel-button:nth-child(2){background:#fff0c9;}
.reading-first .shopping-list .shopping-item{background:#fffcf5;border:1px solid #bed3cd;border-radius:26px;}
.reading-first .shopping-copy{padding:24px;}
.reading-first .shopping-copy h3{font-family:'Libre Franklin','GenWanMinPJP',serif;font-size:25px;font-weight:600;line-height:1.5;}
.reading-first .shopping-copy p{font-family:'Libre Franklin','GenWanMinPJP',serif;font-size:20px;font-weight:400;}
.reading-first .shopping-copy .venue-line{font-size:16px;font-weight:400;}
.reading-first .shopping-copy .tag{font-family:'Libre Franklin','GenWanMinPJP',serif;font-size:16px;}
.reading-first .flight-route-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:1px;flex:0 0 58px;}
.reading-first .flight-route-arrow .flight-time-number{display:block;font:400 16px/1.4 'Libre Franklin',sans-serif;white-space:nowrap;color:#52676c;}
.reading-first .flight-times{font-family:'Libre Franklin','GenWanMinPJP',serif;}
.reading-first .flight-schedule-card table{background:none;}
.reading-first .flight-schedule-card table th,.reading-first .flight-schedule-card table td{padding:16px 7px;text-align:right;border-bottom:1px solid #def2ed;background:none;font-size:20px;font-weight:400;}
.reading-first .flight-schedule-card table th:first-child{text-align:left;width:46%;}
.reading-first .flight-schedule-card table thead th{font-size:16px;font-weight:600;}
.reading-first .flight-schedule-card table tbody th>span:last-child{font-size:17px;}
.reading-first .flight-schedule-card table td{font-family:'Fraunces',serif;font-size:22px;}
@media(min-width:601px){.reading-first .shopping-list,.reading-first.large-text .shopping-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.reading-first .explore-title-row>.handwritten{font-size:23px;}.reading-first .shopping-copy{padding:22px;}.reading-first .reading-experience>.sight-comfort{margin-left:20px;margin-right:20px;}.reading-first .sight-visit-facts{margin-left:20px;margin-right:20px;}.reading-first .reading-experience>.drive-note,.reading-first.large-text .reading-experience>.drive-note{margin-left:20px;margin-right:20px;}}
@media(max-width:450px){.reading-first .explore-title-row>.handwritten{font-size:20px;}.reading-first .flight-times{font-size:24px;gap:8px;}.reading-first .flight-route-arrow{flex-basis:48px;}}
.reading-first .reading-experience .picture-stamp{font-weight:400;}
.reading-first .flight-quote-label,.reading-first.large-text .flight-quote-label{font:400 16px/1.6 'Libre Franklin','GenWanMinPJP',serif;color:#52676c;}
/* Quiet header controls, matched to the original cream paper and ink palette. */
.reading-first #header{background:#fff7eaf5;color:#123f4b;border-bottom:1px solid #b6cbcc;}
.reading-first #header .mobile-brand{color:#075b70;}
.reading-first #header .mobile-brand small{color:#075b70;}
.reading-first #header #text-size,.reading-first #header #language{background:#eae0d0;color:#123f4b;border:1px solid #bcb3a4;}
.reading-first #header #text-size:hover,.reading-first #header #language:hover{background:#e1d5c1;}
/* Latest HX quote uses the existing flight-card layout. */
.reading-first .flight-original-fare,.reading-first.large-text .flight-original-fare{font:400 18px/1.6 'Libre Franklin','GenWanMinPJP',serif;color:#52676c;}
.reading-first .flight-local-note,.reading-first.large-text .flight-local-note{font:400 16px/1.5 'Libre Franklin','GenWanMinPJP',serif;color:#52676c;margin:8px 0 0;text-align:right;}
.reading-first .fare-breakdown h2{font-size:29px;}
.fare-breakdown-list{margin:24px 0;}
.fare-breakdown-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #c0d4ce;}
.fare-breakdown-list dt{font-size:20px;}
.fare-breakdown-list dd{margin:0;white-space:nowrap;font:600 23px/1.5 'Libre Franklin',sans-serif;}
.fare-breakdown-list .fare-paid{background:#def2ed;border:0;border-radius:18px;padding:20px;margin-top:18px;}
.fare-breakdown-list .fare-paid dd{font-size:28px;}

@media(max-width:600px){.fare-breakdown-list>div{gap:12px;}.fare-breakdown-list dd{font-size:21px;}.fare-breakdown-list dt{font-size:19px;}.fare-breakdown-list .fare-paid{padding:18px 14px;}.fare-breakdown-list .fare-paid dd{font-size:25px;}}

/* Two current candidates: retain the established card and detail layouts. */
.hotel-photo-pending{min-height:280px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:35px 24px;text-align:center;background:var(--mint,#d9eeea);color:#123f4b;}
.hotel-photo-pending .icon{width:58px;height:58px}.hotel-photo-pending strong{font-size:23px}.hotel-photo-pending span{font-size:16px;line-height:1.7;max-width:300px}
.reading-first .hotel-detail-card .gallery-mosaic.gallery-pending{display:block;min-height:280px;height:auto}.gallery-pending .hotel-photo-pending{border-radius:28px}
.hotel-candidate-caution{padding:18px;background:#fff1c8;border-radius:18px}.hotel-photo-note{margin-bottom:28px}.candidate-budget-controls{flex-wrap:wrap;gap:10px;margin:24px 0}.candidate-budget-controls button{font:inherit;padding:12px 16px;border:1px solid #83aaa9;border-radius:16px;background:#fffaf2;color:#123f4b}.candidate-budget-controls button[aria-pressed="true"]{background:#075b70;color:white}.candidate-comparison{table-layout:fixed}.candidate-comparison th:first-child{width:20%}.candidate-comparison td{overflow-wrap:anywhere}.reading-first .hotel-room-spec span{overflow-wrap:anywhere}
@media(min-width:601px){.reading-first .reading-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hotel-photo-pending{min-height:240px}.candidate-budget-controls button{font-size:16px}.candidate-comparison th:first-child{width:22%}.candidate-comparison td,.candidate-comparison th{padding:12px 9px;font-size:16px}}
/* Descriptive comparison cells wrap; the shared price-table nowrap rule is for amounts only. */
.reading-first .price-reading .candidate-comparison td,.reading-first .price-reading .candidate-comparison th{white-space:normal;overflow-wrap:anywhere;vertical-align:top;}
.reading-first .price-reading .candidate-comparison th:first-child{width:20%}
@media(max-width:600px){.reading-first .price-reading .candidate-comparison td,.reading-first .price-reading .candidate-comparison th{font-size:16px;padding:12px 9px;line-height:1.7}}
.reading-first .restored-hotel-card .hotel-photo{height:280px}
.reading-first .restored-hotel-card .hotel-photo>.photo-btn,.reading-first .restored-hotel-card .hotel-photo>.photo-btn img{height:100%}
/* Confirmed room plans reuse the existing paper cards and teal price accents. */
.quoted-room-types{display:grid;gap:24px;margin:24px 0}.quoted-room-type{border:1px solid #a8c8c2;border-radius:24px;padding:22px;background:#fffaf2}.quoted-room-type h3{font-family:'Libre Franklin',GenWanMinPJP,serif;font-size:22px;line-height:1.5;overflow-wrap:anywhere}.room-quote-total strong{font-size:25px;color:#075b70}.quoted-room-type .reading-photo-grid{margin-top:20px}.quoted-room-type .reading-photo-grid .photo-btn{min-width:0}.paired-price small{display:block;font-size:16px;margin-top:8px}.hotel-room-calculator{margin:32px 0;padding:28px;border:1px solid #a8c8c2;border-radius:28px;background:#fffaf2}.hotel-room-calculator h2{font-size:28px}.hotel-room-calculator h3{font-size:22px}.room-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) 95px 150px;gap:18px;align-items:center;padding:20px 0;border-bottom:1px dashed #aac8c2}.room-quantity-row label span,.room-quantity-row label small{display:block;font-size:16px;margin-top:6px}.room-quantity-row label strong{font-family:'Libre Franklin',GenWanMinPJP,serif;font-size:19px;overflow-wrap:anywhere}.room-quantity-row input{width:62px;min-height:48px;border:1px solid #83aaa9;border-radius:12px;background:#fff;color:#123f4b;font:inherit;text-align:center}.room-quantity-row output{font-weight:700;text-align:right}.room-count-status{background:#def1e9;border-radius:14px;padding:14px;font-size:18px}.room-count-status.needs-adjustment{background:#fff0c7}.calculator-totals>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0}.calculator-totals dt{font-size:19px}.calculator-totals dd{margin:0;font-size:24px;font-weight:700;white-space:nowrap;color:#075b70}.secondary-room-quotes{padding:20px;border:1px solid #a8c8c2;border-radius:18px;background:#fff4db}.secondary-room-quotes summary{cursor:pointer;font-size:20px}.reading-first .room-quote-table table{min-width:620px;table-layout:fixed}.reading-first .room-quote-table th:first-child{width:44%}.reading-first .room-quote-table th,.reading-first .room-quote-table .cell-note{white-space:normal;overflow-wrap:anywhere}.room-quote-table .cell-note{font-size:16px}.room-quote-table td:nth-child(2){white-space:normal}
@media(max-width:600px){.hotel-room-calculator{padding:20px 16px}.room-quantity-row{grid-template-columns:minmax(0,1fr) 86px;gap:12px}.room-quantity-row output{grid-column:1/-1}.calculator-totals>div{flex-wrap:wrap;gap:6px}.calculator-totals dd{font-size:23px}.quoted-room-type{padding:18px 15px}.quoted-room-type h3{font-size:20px}}
.reading-first .room-quote-table table{min-width:1000px}
.reading-first .room-quote-table th:first-child{width:30%}
/* Hotel comparison cards: clearer reading order for supporting copy and four-night quotes. */
.reading-first .restored-hotel-card .hotel-body{padding:30px 32px 32px}
.reading-first .restored-hotel-card .hotel-one-liner{font-size:22px!important;line-height:1.65;margin:12px 0 18px}
.reading-first .restored-hotel-card .hotel-room-spec{font-size:18px;line-height:1.65;margin:14px 0 18px;align-items:flex-start}
.reading-first .restored-hotel-card .year-tag{font-size:14px;line-height:1.5;padding:7px 12px}
.reading-first .restored-hotel-card .supporting-text,
.reading-first .restored-hotel-card .paired-price-basis{font-size:14px;line-height:1.75;color:#52676c}
.reading-first .restored-hotel-card .paired-price-wrap{margin:18px 0 22px}
.reading-first .restored-hotel-card .paired-prices.included-only .paired-price{display:block;padding:18px 20px}
.reading-first .restored-hotel-card .paired-price>span{font-size:16px;line-height:1.6;margin:0 0 6px;overflow-wrap:anywhere}
.reading-first .restored-hotel-card .paired-price>strong{font-size:27px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.reading-first .restored-hotel-card .paired-price>small{font-size:13px;line-height:1.6;margin-top:3px}
.reading-first .restored-hotel-card .reading-points{padding-left:22px;margin:18px 0 22px}
.reading-first .restored-hotel-card .reading-points li{font-size:16px;line-height:1.85;margin-bottom:12px;overflow-wrap:anywhere}
.reading-first .restored-hotel-card .hotel-candidate-caution{font-size:15px;line-height:1.8;padding:16px 18px;margin:18px 0}
@media(max-width:900px){.reading-first .restored-hotel-card .hotel-body{padding:26px 24px 28px}.reading-first .restored-hotel-card .hotel-one-liner{font-size:20px!important}.reading-first .restored-hotel-card .paired-price>strong{font-size:25px}}
/* Hotel detail text follows a clear title, reading, note and price hierarchy. */
.reading-first .hotel-detail-card .detail-title h1{font-size:clamp(30px,3.1vw,42px);line-height:1.25}
.reading-first .hotel-detail-card .detail-title .hotel-one-liner{font-size:21px!important;line-height:1.6}
.reading-first .detail-reading-column article>p,
.reading-first .hotel-decision>p{font-size:18px;line-height:1.8}
.reading-first .detail-reading-column .reading-points{margin:16px 0 22px;padding-left:24px}
.reading-first .detail-reading-column .reading-points li,
.reading-first .hotel-decision .reading-points li{font-size:17px;line-height:1.85;margin-bottom:12px}
.reading-first .detail-reading-column .supporting-text,
.reading-first .hotel-decision .supporting-text,
.reading-first .hotel-detail-card .hotel-photo-note{font-size:14px;line-height:1.7;color:#52676c}
.reading-first .detail-reading-column h2,
.reading-first .hotel-decision>h2{font-size:25px;line-height:1.45;margin-bottom:16px}
.reading-first .detail-reading-column .illustrated-heading{font-size:25px}
.reading-first .hotel-decision .fact{font-size:14px;line-height:1.55}
.reading-first .hotel-decision .fact strong{font-size:17px;line-height:1.6}
.reading-first .hotel-decision .good-tradeoff h3{font-size:19px}
.reading-first .hotel-decision .good-tradeoff .reading-points li{font-size:16px;line-height:1.8}
.reading-first .hotel-reading-sections .quoted-room-type h3{font-size:20px;line-height:1.45}
.reading-first .hotel-reading-sections .quoted-room-type>p{font-size:16px;line-height:1.7}
.reading-first .hotel-reading-sections .quoted-room-type .supporting-text{font-size:14px}
.reading-first .hotel-reading-sections .room-quote-total strong{font-size:25px}
.reading-first .restored-booking-card .paired-prices.included-only{grid-template-columns:minmax(0,1fr)}
.reading-first .restored-booking-card .paired-prices.included-only .paired-price{display:block;padding:16px 18px}
.reading-first .restored-booking-card .paired-prices.included-only .paired-price>span{display:block;font-size:16px;line-height:1.55;margin:0 0 7px;overflow-wrap:anywhere}
.reading-first .restored-booking-card .paired-prices.included-only .paired-price>strong{display:block;font-size:26px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.reading-first .restored-booking-card .paired-prices.included-only .paired-price>small{display:block;font-size:14px;line-height:1.55;margin-top:3px}
.reading-first .restored-booking-card>.supporting-text{font-size:14px;line-height:1.7}
.reading-first .hotel-history-reading p{font-size:16px;line-height:1.7}
@media(max-width:600px){.reading-first .hotel-detail-card .detail-title .hotel-one-liner{font-size:19px!important}.reading-first .detail-reading-column article>p,.reading-first .hotel-decision>p{font-size:17px}.reading-first .detail-reading-column .reading-points li,.reading-first .hotel-decision .reading-points li{font-size:16px}.reading-first .restored-booking-card .paired-prices.included-only .paired-price>strong{font-size:24px}}

/* Room attributes read as compact outlined facts beneath each room name. */
.reading-first .hotel-reading-sections .room-spec-chips{display:flex;flex-wrap:wrap;align-items:flex-start;gap:9px;margin:14px 0 18px}
.reading-first .hotel-reading-sections .room-spec-chips>span{display:inline-flex;align-items:center;max-width:100%;padding:8px 12px;border:1px solid #9fc5bf;border-radius:999px;background:#eef8f4;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
/* Keep detail section titles and reading copy on one deliberate scale across cards. */
.reading-first .detail-reading-column>article h2{font-size:25px;line-height:1.4;margin:0 0 16px}
.reading-first .detail-reading-column>article>p{font-size:17px;line-height:1.75}
.reading-first .detail-reading-column>article.pool-section>p{font-size:17px}
.reading-first .detail-reading-column .hotel-history-reading>p{font-size:17px;line-height:1.75}
.reading-first .booking-flight-totals p{font-size:13px;line-height:1.6}

/* Keep the detail-page caution card full-width after removing duplicate highlights. */
.reading-first .hotel-decision .good-tradeoff.only-consider{grid-template-columns:minmax(0,1fr)}
.reading-first .hotel-decision .good-tradeoff.only-consider>div{background:#f9dce0}

/* Keep sight-card detail points visually below the title hierarchy. */
.reading-first .sight-experience .reading-points li{font-size:17px;line-height:1.8;}
.reading-first.large-text .sight-experience .reading-points li{font-size:23px;}

/* Food-card prices and venue details stay secondary to the place name and description. */
.reading-first .food-experience>.food-price,.reading-first .food-experience .reading-points li,.reading-first.large-text .food-experience>.food-price,.reading-first.large-text .food-experience .reading-points li{font-size:17px;line-height:1.8;}

.hotel-walking-map{margin-top:-12px;margin-bottom:28px}.hotel-walking-map img{display:block;width:100%;height:auto;border:1px solid var(--line,#9ac7c4);border-radius:24px;box-shadow:0 12px 30px #173b4a12}
@media(max-width:600px){.hotel-walking-map{margin-top:-4px;margin-bottom:22px}.hotel-walking-map img{border-radius:18px}}

/* Keep shopping-section supporting copy clearly below its heading in the text hierarchy. */
.reading-first #shopping .section-header>div>p,.reading-first #shopping .shopping-copy>p{font-size:17px;line-height:1.7}

/* Expandable room quotes for smaller screens. */
.room-quote-cards{display:none}
@media(max-width:800px){.room-quote-table{display:none}.room-quote-cards{display:grid;gap:14px}.room-quote-card{border:1px solid #8ab6b5;border-radius:20px;background:#fffaf1;overflow:hidden}.room-quote-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;cursor:pointer;list-style:none}.room-quote-card summary::-webkit-details-marker{display:none}.room-quote-card summary small{display:block;font-size:15px;line-height:1.5;color:var(--muted)}.room-quote-card summary strong{display:block;font-size:19px;line-height:1.5;margin-top:5px}.quote-expand{flex:0 0 32px;text-align:center;font:28px Arial,sans-serif}.quote-expand:before{content:'+'}.room-quote-card[open] .quote-expand:before{content:'−'}.room-quote-content{padding:0 20px 20px;font-size:17px}.room-quote-content p{font-size:17px}.room-quote-content dl{margin:0 0 18px}.room-quote-content dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:12px 0;border-bottom:1px solid #b9dcd8}.room-quote-content dd{margin:0;font-weight:700}.room-quote-card summary:focus-visible{outline:3px solid var(--ocean);outline-offset:-4px}}

.quoted-room-type{scroll-margin-top:125px}
