:root{--navy:#0c2339;--blue:#214e70;--gold:#c99646;--ink:#182c3d;--muted:#60717f;--line:#dce3e8;--paper:#f4f7f9;--white:#fff;--serif:'Songti SC','STSong','Noto Serif CJK SC',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c99646;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;background:var(--white);gap:20px}.brand{display:flex;align-items:center;gap:14px;font-weight:600}.brand b{font:28px Georgia;color:var(--gold);border-right:1px solid var(--line);padding-right:14px}.brand small{display:block;font:10px/1.8 sans-serif;letter-spacing:2px;color:var(--muted)}.topdate{font:13px Georgia;letter-spacing:2px}.print{border:1px solid var(--line);border-radius:5px;background:white;padding:7px 14px;font-size:13px}.hero{position:relative;display:grid;grid-template-columns:1.5fr 1fr;background:var(--navy);color:white;min-height:450px;padding:64px 7%;gap:50px;align-items:center;overflow:hidden}.eyebrow{font-size:12px;font-weight:650;letter-spacing:2px;color:var(--gold);margin:0 0 12px}.hero h1{font:500 clamp(36px,4.2vw,62px)/1.4 var(--serif);letter-spacing:1px;margin:14px 0 20px}.hero-copy>p:not(.eyebrow){color:#d4e0e9}.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;font-size:13px}.hero-meta span{border:1px solid #ffffff40;border-radius:30px;padding:5px 13px}.hero-aside{border-left:1px solid #ffffff38;padding-left:38px}.hero-aside>p{color:#d4e0e9;font-size:14px}.hero-aside ol{list-style:none;padding:0;margin:0}.hero-aside li{display:flex;align-items:center;gap:24px;padding:10px 0}.hero-aside b{font:30px Georgia;color:#dfb982}.chapters{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:36px;overflow:auto;background:#fffefef5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:17px 25px;white-space:nowrap;font-size:14px}.chapters a:hover,.chapters a.active{color:#95641e}.page{max-width:1240px;margin:auto;padding:0 40px}.trip-note{margin:26px 0 0;display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.trip-note b{color:var(--blue);white-space:nowrap}.chapter{padding:64px 0;border-bottom:1px solid var(--line)}.chapter-head{display:flex;gap:26px;margin-bottom:28px;align-items:flex-start}.chapter-no{font:italic 52px Georgia;color:#bac8d1;line-height:1}.chapter-head h2{font:500 34px/1.4 var(--serif);margin:0 0 10px}.chapter-head p:last-child{color:var(--muted);margin:0;max-width:750px}.flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.flight{background:white;border:1px solid var(--line);border-top:3px solid var(--blue);padding:26px;border-radius:4px}.pill{font-size:12px;color:var(--blue);background:#edf3f7;padding:5px 10px;border-radius:3px}.flight h3{font-size:18px;font-weight:550;margin:24px 0}.flight h3>span{font-size:12px;color:var(--muted);padding:0 12px}.flight-time{display:flex;gap:20px;align-items:center;justify-content:space-between}.flight-time b{font:32px Georgia;white-space:nowrap}.flight-time small{font:12px/1.5 sans-serif;display:block;color:var(--muted);margin-top:8px}.flight-line{border-bottom:1px dashed #a7b7c4;font-size:11px;padding-bottom:10px;color:var(--muted);white-space:nowrap}.flight>p{font-size:13px;margin-bottom:0;color:var(--muted)}.summary-line{display:flex;align-items:center;gap:16px;font-size:14px}.summary-line strong{font:28px Georgia;color:var(--blue)}.summary-line span{margin-left:auto;color:var(--muted);font-size:12px}@media(max-width:760px){.topbar{padding:14px 20px}.topdate{display:none}.brand{font-size:14px}.hero{grid-template-columns:1fr;padding:42px 24px;gap:22px}.hero-aside{display:none}.hero h1{font-size:36px}.hero-copy>p:not(.eyebrow){font-size:15px}.chapters{justify-content:flex-start;gap:25px;padding:14px 20px}.page{padding:0 20px}.trip-note{align-items:flex-start;font-size:12px}.chapter{padding:42px 0}.chapter-no{font-size:40px}.chapter-head{gap:15px}.chapter-head h2{font-size:29px}.flight-grid{grid-template-columns:1fr}.flight{padding:20px}.flight-time{gap:12px}.flight-time b{font-size:28px}.flight-line{font-size:10px}.summary-line{flex-wrap:wrap}.summary-line span{margin-left:0;width:100%}.print{font-size:12px;padding:6px 9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.45}.hero:has(.hero-photo):after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,37,.7),rgba(6,22,37,.15))}.hero-copy,.hero-aside{position:relative;z-index:1}.hero-credit{position:absolute;bottom:10px;right:24px;color:#e2e8ed;font-size:11px;z-index:2}.photo{margin:0;min-width:0;background:#edf2f5}.image-wrap{position:relative;overflow:hidden;aspect-ratio:16/10;background:#dbe5ec}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.photo:hover img{transform:scale(1.025)}.photo figcaption{display:flex;justify-content:space-between;gap:15px;padding:8px 12px;color:#5d707e;font-size:11px;line-height:1.5}.photo figcaption a{flex-shrink:0;text-decoration:underline;text-underline-offset:3px}.image-fallback{position:absolute;inset:0;align-items:center;justify-content:center;padding:20px;color:var(--muted);font-size:14px}.image-fallback:not([hidden]){display:flex}.note{margin:22px 0;padding:19px 22px;border-left:3px solid var(--blue);background:#eaf0f5;font-size:14px}.note>b{color:var(--blue);font-size:15px}.note p{margin:5px 0 0;line-height:1.8}.note.important{background:#fbf3e5;border-color:var(--gold)}.note.important>b{color:#855b1e}.subheading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:36px 0 18px}.subheading h3{margin:0;font-size:22px;font-weight:550}.subheading span{font-size:12px;color:var(--muted)}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.route-box{padding:24px;background:white;border:1px solid var(--line)}.route-type{font-size:11px;letter-spacing:2px;color:#708494}.route-box h4{font:500 21px var(--serif);margin:13px 0}.route-box p{font-size:14px;color:var(--muted)}.route-stops{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;margin:18px 0}.route-stops span{padding:2px 7px;background:#edf2f6}.route-stops i{font-style:normal;color:var(--gold)}small,.fine{color:var(--muted);font-size:12px;line-height:1.7}.source-row{display:flex;flex-wrap:wrap;gap:12px 22px;margin:18px 0;color:var(--muted);font-size:12px}.source-row a{text-decoration:underline;text-underline-offset:4px}.practical{margin:24px 0 0;border:1px solid var(--line);background:white}.practical summary{padding:17px 22px;cursor:pointer;font-size:15px;font-weight:550}.practical summary::marker{color:var(--gold)}.details-inner{padding:0 24px 24px;font-size:14px}.details-inner ul,.details-inner ol{padding-left:22px}.details-inner li{margin:12px 0}.card-links{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;margin-top:20px}.card-links a{color:var(--blue);border-bottom:1px solid #9eafbc;padding-bottom:2px}.card-links a:hover{color:#9d702b;border-color:#9d702b}.stay-lead{display:grid;grid-template-columns:1.25fr 1fr;background:var(--white)}.stay-lead .image-wrap{height:100%;min-height:390px;aspect-ratio:auto}.stay-lead .photo{display:flex;flex-direction:column}.stay-copy{padding:35px}.stay-copy h3{font:500 31px/1.5 var(--serif);margin:14px 0}.stay-copy p{color:var(--muted);font-size:15px}.stay-copy .address{font-size:12px}.stay-copy small{display:block;margin-top:22px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.room-card{background:white;padding:28px;border:1px solid var(--line);border-radius:4px}.room-card.special{border-color:#d7be97;background:#fffdf8}.pill.gold{background:#f3e8d4;color:#815c22}.room-card h3{font:500 25px/1.5 var(--serif);margin:18px 0 10px}.room-card p{font-size:14px}.room-facts{color:var(--muted)}.room-facts i{font-style:normal;padding:0 6px;color:#9babb5}.room-price{border-top:1px solid var(--line);padding-top:16px;margin:20px 0 10px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.room-price b{font:28px Georgia;color:var(--blue)}.room-price span{font-size:12px;color:var(--muted)}.stay-rhythm{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}.stay-rhythm>div{border-top:1px solid #aebeca;padding-top:18px}.stay-rhythm b{font:12px Georgia;letter-spacing:1px;color:var(--gold)}.stay-rhythm h4{font-size:18px;font-weight:550;margin:10px 0}.stay-rhythm p{font-size:14px;color:var(--muted);margin:0}.place-grid,.bar-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.place-card{background:white;border:1px solid var(--line);overflow:hidden;border-radius:5px}.card-body{padding:26px}.card-body h3{font:500 26px/1.5 var(--serif);margin:16px 0}.card-body h3 small{display:block;font:12px/1.7 sans-serif;letter-spacing:.5px;margin-top:4px}.card-body>p{font-size:15px;color:var(--muted)}.card-body dl{margin:23px 0 0;border-top:1px solid var(--line);padding-top:13px}.card-body dl>div{display:grid;grid-template-columns:75px 1fr;gap:10px;font-size:13px;line-height:1.8;margin:9px 0}.card-body dt{color:var(--muted)}.card-body dd{margin:0}.night-band{display:grid;grid-template-columns:1fr 1fr;gap:34px;background:var(--navy);color:#e5edf4;margin:30px 0;padding:28px;border-radius:5px}.night-band .photo{align-self:center}.night-band h3{font:500 29px/1.5 var(--serif);margin:10px 0 15px}.night-band p{font-size:14px;color:#c5d4df}.night-band .card-links a{color:#e4bf80}.mini-show{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:12px;border-block:1px solid #ffffff25;padding:17px 0;margin:20px 0}.mini-show b{color:#e4bf80;font-weight:500}.uss-block{margin:34px 0;background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.uss-block>.photo .image-wrap{aspect-ratio:2.5}.uss-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:30px}.uss-intro h3{font:500 29px/1.5 var(--serif);margin:16px 0 10px}.uss-intro p{font-size:15px;color:var(--muted)}.ticket-box{background:#eef3f7;padding:22px;border-radius:4px}.ticket-box b{font-size:16px}.ticket-box p{font-size:14px}.ride-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:0 30px;gap:24px}.ride{border-top:2px solid var(--gold);padding:18px 0}.ride>span{font:italic 28px Georgia;color:#bec9d1;float:right}.ride h4{font-size:18px;margin:0 0 7px}.ride>b{font-size:12px;color:#906729;font-weight:500}.ride p{font-size:14px;color:var(--muted)}.uss-block .practical{margin:10px 30px 30px}.photo-plan{padding:32px;background:#e8eff4;border-radius:5px;display:flex;flex-direction:column;justify-content:center}.photo-plan h3{font:500 32px/1.6 var(--serif);margin:8px 0}.photo-plan p{font-size:14px;color:var(--muted)}.photo-plan>a{color:var(--blue);font-size:13px;text-decoration:underline}.photo-route{border-top:1px solid #becbd5;margin-top:20px;padding-top:20px}.photo-route b{font-size:16px}.photo-plan .note{background:#fdf8ef;margin-bottom:15px}.food-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.food-strip>div{padding:15px 0;border-top:2px solid var(--gold)}.food-strip b{font-size:16px;font-weight:550;display:block}.food-strip span{font-size:12px;color:var(--muted)}.dining-grid .image-wrap{aspect-ratio:1.7}.bar-header{margin-top:64px;padding:34px 0 25px;border-top:1px solid #b5c5d0;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}.bar-header h3{font:500 30px/1.5 var(--serif);margin:0}.bar-header>p{font-size:14px;color:var(--muted)}.bar-grid .place-card{background:var(--navy);color:#eef2f6;border:none}.bar-grid .card-body>p,.bar-grid dt,.bar-grid small{color:#aebfce}.bar-grid .pill{background:#284258;color:#e4bf80}.bar-grid .card-body dl{border-color:#ffffff25}.bar-grid .card-links a{color:#e4bf80}.bar-grid .photo{background:#16344c}.bar-grid figcaption{color:#afc2d2}.bar-grid .image-wrap{aspect-ratio:1.8}.bar-decision{display:flex;gap:20px;background:#e6edf2;padding:20px 24px;margin-top:25px;align-items:baseline;font-size:14px}.bar-decision>b{color:var(--blue);white-space:nowrap}.bar-decision p{margin:0}.shopping-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.shopping-layout .image-wrap{aspect-ratio:4/5}.shopping-list article{border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:24px}.shopping-list article>span{font-size:11px;letter-spacing:1px;color:var(--gold)}.shopping-list h3{font:500 25px var(--serif);margin:12px 0}.shopping-list p{color:var(--muted);font-size:14px;margin:0}.days{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.day{background:white;border:1px solid var(--line);padding:22px}.day-title{display:flex;align-items:center;gap:12px}.day-title>b{font:46px Georgia;color:var(--blue)}.day-title>span{font:11px/1.7 sans-serif;letter-spacing:1px;color:var(--muted)}.day h3{font:500 20px/1.5 var(--serif);margin:20px 0}.day dl{margin:0}.day dl>div{border-left:1px solid var(--line);padding:0 0 16px 13px}.day dt{font-size:12px;color:var(--blue);font-weight:650}.day dd{font-size:13px;margin:3px 0 0;color:var(--muted)}.day>p{border-top:1px solid var(--line);padding-top:13px;font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 0 45px;font-size:12px;color:var(--muted)}footer b{font-size:14px;color:var(--ink)}footer p{margin:5px 0}footer>a{white-space:nowrap;border-bottom:1px solid var(--line)}@media(min-width:1400px){.hero{padding-inline:max(7%,calc((100vw - 1120px)/2))}}
@media(max-width:1000px){.route-grid{grid-template-columns:1fr}.route-box{display:grid;grid-template-columns:1fr 1.8fr;gap:0 25px}.route-type{grid-column:1}.route-box h4{grid-column:1}.route-box p{grid-column:2;grid-row:1/3;margin:0}.route-stops{grid-column:1/-1;margin:12px 0}.route-box small{grid-column:1/-1}.stay-copy{padding:25px}.stay-copy h3{font-size:26px}.days{grid-template-columns:1fr 1fr}.mini-show{grid-template-columns:1fr}.night-band{gap:24px}.night-band>.photo{height:100%;display:flex;flex-direction:column}.night-band .image-wrap{flex:1;aspect-ratio:auto}.food-strip{grid-template-columns:1fr 1fr}.bar-header{grid-template-columns:1fr;gap:10px}.bar-header>p{margin:0}}
@media(max-width:760px){.photo figcaption{font-size:11px}.subheading{display:block}.subheading span{display:block;margin-top:6px}.note{padding:16px;font-size:14px}.stay-lead,.room-grid,.stay-rhythm,.place-grid,.bar-grid,.night-band,.uss-intro,.shopping-layout{grid-template-columns:1fr}.stay-lead .image-wrap{min-height:0;aspect-ratio:1.4;height:auto}.stay-copy{padding:24px}.stay-copy h3{font-size:28px}.room-card{padding:22px}.room-card h3{font-size:24px}.stay-rhythm{gap:22px}.card-body{padding:22px}.card-body h3{font-size:25px}.card-body dl>div{font-size:14px;grid-template-columns:72px 1fr}.night-band{padding:20px;gap:22px}.night-band .image-wrap{aspect-ratio:1.5;flex:auto}.night-band h3{font-size:27px}.mini-show{grid-template-columns:1fr 1.3fr;font-size:12px}.uss-intro{padding:23px;gap:12px}.uss-intro h3{font-size:26px}.uss-block>.photo .image-wrap{aspect-ratio:1.5}.ride-grid{grid-template-columns:1fr;padding:0 23px;gap:8px}.ride p{margin:10px 0}.uss-block .practical{margin:12px 20px 22px}.photo-plan{padding:25px}.photo-plan h3{font-size:29px}.food-strip{gap:16px 12px}.food-strip b{font-size:15px}.food-strip span{font-size:12px}.bar-header{margin-top:40px}.bar-header h3{font-size:27px}.bar-decision{display:block;padding:20px}.bar-decision p{margin-top:8px}.shopping-layout{gap:24px}.shopping-layout .image-wrap{aspect-ratio:1.45}.days{grid-template-columns:1fr}.day{padding:22px;display:grid;grid-template-columns:74px 1fr;gap:0 16px}.day-title{display:block;grid-row:1/4}.day-title>b{font-size:42px}.day-title>span{display:block}.day h3{margin:4px 0 17px}.day dl,.day>p{grid-column:2}.day dd{font-size:14px}.day dt{font-size:13px}footer{display:block}footer>p{margin:18px 0}footer>a{display:inline-block;margin-top:8px}.hero-credit{font-size:10px;right:12px}}
@media print{body{background:#fff;font-size:11px}.topbar,.chapters,.skip,.print,.hero-aside,.hero-credit,footer>a{display:none}.hero{min-height:0;padding:20px;color:#132e45;background:white}.hero h1{font-size:28px}.hero-photo{display:none}.hero-copy>p:not(.eyebrow){color:#455}.hero-meta{margin:0}.page{padding:0}.chapter{padding:25px 0;break-before:page}.chapter-head h2{font-size:24px}.chapter-no{font-size:35px}.photo .image-wrap{max-height:180px}.place-card,.flight,.room-card,.day,.note{break-inside:avoid}.place-grid,.bar-grid,.days{grid-template-columns:1fr 1fr}.bar-grid .place-card,.night-band{background:#fff;color:#182c3d}.bar-grid .card-body>p,.bar-grid dt,.bar-grid small,.night-band p{color:#455}.practical{display:none}.hero:after{display:none}.trip-note{font-size:10px}.chapter-head p{font-size:12px}a{color:#214e70!important}.image-wrap img{height:100%}}
/* Compact navigation and flight cards for small phones. */
@media screen and (max-width:760px){.chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px;padding:12px 15px;text-align:center;font-size:12px;white-space:normal}.chapter{scroll-margin-top:86px}.flight{min-width:0}.flight-time{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.flight-time b:last-child{text-align:right}.flight-line{grid-column:1/-1;grid-row:2;text-align:center;padding-top:6px}.flight-time small{font-size:11px;white-space:normal}.flight h3>span{padding:0 6px}.hero h1{font-size:clamp(29px,8vw,36px)}}
img[hidden]{display:none!important}
/* 07 / Budget */
.budget-totals{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.budget-total{padding:26px;background:white;border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column}.budget-total>span{font-size:13px;color:var(--muted)}.budget-total strong{font:36px/1.5 Georgia;margin:12px 0;color:var(--blue);white-space:nowrap}.budget-total small{font-size:12px;color:var(--muted)}.budget-total.featured{background:var(--navy);border-color:var(--navy)}.budget-total.featured>span,.budget-total.featured small{color:#bfd0dd}.budget-total.featured strong{color:#e4bf80}.budget-assumption{font-size:13px;color:var(--muted);margin:24px 0}.budget-table-wrap{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.budget-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.budget-table th,.budget-table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top}.budget-table thead{background:#e7eef3;color:var(--blue)}.budget-table tbody th{font-weight:600;min-width:150px}.budget-table th small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:5px}.budget-table tbody td:nth-child(2),.budget-table tbody td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.budget-table tbody td:last-child{color:var(--muted);max-width:470px}.budget-table tfoot{background:#eff3f5;font-weight:600}.budget-table tfoot td:last-child{font-weight:400;color:var(--muted)}.budget-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.budget-notes h3{font-size:18px}.budget-notes p{font-size:14px;color:var(--muted)}
@media(max-width:1050px){.chapters{gap:22px}.budget-total{padding:20px}.budget-total strong{font-size:29px}.budget-table th,.budget-table td{padding:15px}}
@media screen and (max-width:760px){.chapters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px;font-size:11px;padding:12px 10px}.budget-totals{grid-template-columns:1fr}.budget-total{padding:21px}.budget-total strong{font-size:34px;margin:8px 0}.budget-notes{grid-template-columns:1fr;gap:0}.budget-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.budget-table,.budget-table tbody,.budget-table tfoot{display:block}.budget-table tr{display:grid;grid-template-columns:1fr 1fr;padding:18px;border-bottom:1px solid var(--line)}.budget-table th,.budget-table td{padding:0;border:0;min-width:0}.budget-table tbody th{grid-column:1/-1;margin-bottom:13px;font-size:16px}.budget-table th small{display:inline-block;margin-left:10px}.budget-table tbody td:nth-child(2)::before{content:'两人金额';display:block;font-size:11px;color:var(--muted)}.budget-table tbody td:nth-child(3)::before{content:'折合人民币';display:block;font-size:11px;color:var(--muted)}.budget-table tbody td:last-child{grid-column:1/-1;margin-top:12px;font-size:12px}.budget-table tfoot tr{display:block}.budget-table tfoot th,.budget-table tfoot td{display:block;margin-bottom:7px}}
@media print{.budget-totals{grid-template-columns:1fr 1fr 1fr}.budget-total strong{font-size:24px}.budget-table{font-size:10px}.budget-table th,.budget-table td{padding:9px}.budget-table tr{break-inside:avoid}.budget-notes{font-size:11px}}
/* Personal handbook: actionable lists, route choices and compact ticket totals. */
.departure{margin:34px 0 0;padding:28px;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;border-radius:5px;scroll-margin-top:80px}.departure-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.departure-head h2{font:500 27px var(--serif);margin:0}.departure-head .eyebrow{font-size:10px;margin-bottom:7px}.departure-head>span{font-size:12px;color:var(--muted);white-space:nowrap}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 26px}.check-item{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.check-item input{flex:0 0 auto;width:17px;height:17px;margin:5px 0 0;accent-color:var(--blue)}.check-item b{display:block;font-size:14px}.check-item small{display:block;font-size:12px;margin-top:4px}.check-item:has(input:checked) b{text-decoration:line-through;color:#6b8177}.check-item input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.checklist-foot{display:flex;justify-content:space-between;gap:15px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.checklist-foot a{color:var(--blue);white-space:nowrap}.departure .source-row{margin:8px 0 0;font-size:11px}.flight-rest{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.flight-rest h4{font-size:17px;margin:0 0 8px}.flight-rest p{font-size:13px;color:var(--muted);line-height:1.9;margin:9px 0}.flight-rest b{color:var(--ink)}.flight-rest .source-row{font-size:11px;margin:15px 0 0}.flight-rest .practical{margin-top:14px}.flight-rest .practical summary{font-size:13px;padding:12px}.flight-rest .details-inner{padding:0 13px 13px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.choice-card{background:white;border:1px solid var(--line);border-radius:5px;padding:27px;min-width:0}.choice-card h4{font-size:21px;font-weight:550;margin:19px 0 15px}.choice-card p{font-size:14px;color:var(--muted)}.choice-card p b{color:var(--ink)}.choice-card>a{display:inline-block;color:var(--blue);font-size:13px;border-bottom:1px solid #9eafbc}.cost-line{margin:20px 0;padding:15px 0;border-block:1px solid var(--line)}.cost-line b{display:block;font-size:20px;color:var(--blue)}.cost-line span{font-size:12px;color:var(--muted)}.action-steps{counter-reset:step;list-style:none;padding:0;margin:15px 0}.action-steps>li{position:relative;padding:0 0 18px 38px;border-left:1px solid #d6e0e7;margin-left:12px}.action-steps>li:last-child{border-left-color:transparent;padding-bottom:0}.action-steps>li:before{counter-increment:step;content:counter(step);position:absolute;left:-13px;top:0;background:#e7eef4;border:3px solid #fff;color:var(--blue);border-radius:50%;width:26px;height:26px;text-align:center;font:600 12px/20px Georgia}.action-steps>li>b{font-size:15px;font-weight:600}.action-steps p{margin:6px 0 0;font-size:14px;color:var(--muted)}.action-steps p b{color:var(--ink)}.hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hotel-grid article{background:white;border:1px solid var(--line);padding:24px}.hotel-grid h4{font:500 23px var(--serif);margin:0 0 11px}.hotel-grid article>b{font-size:12px;color:var(--blue)}.hotel-grid p{font-size:14px;color:var(--muted);margin-bottom:0}.say-box{padding:18px 22px;background:#edf3f7;border-left:2px solid var(--gold)}.say-box p:first-child{margin-top:0}.say-box p:last-child{margin-bottom:0}.ticket-banner{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;padding:27px 30px;background:#e6eef4;border:1px solid #d6e1e9;border-radius:5px}.ticket-banner h3{font:500 26px var(--serif);margin:18px 0 10px}.ticket-banner p{font-size:14px;color:var(--muted);margin-bottom:0}.ticket-price{align-self:center;padding-left:25px;border-left:1px solid #bbcedc}.ticket-price b{display:block;font:30px/1.5 Georgia;color:var(--blue)}.ticket-price strong{display:block;font-size:14px;margin:5px 0 12px}.ticket-price a{color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:4px}.ticket-breakdown{font-size:13px;margin:16px 0}.ticket-breakdown>div{display:flex;gap:15px;justify-content:space-between;padding:7px 0}.ticket-breakdown dd{margin:0;white-space:nowrap;text-align:right}.ticket-breakdown .sum{border-top:1px solid #ccd9e2;margin-top:5px;padding-top:12px;font-weight:650}.ticket-breakdown .sum dd{font-size:23px;color:var(--blue)}.ticket-breakdown .sum small{font:12px sans-serif}.uss-plan{padding:0 30px 25px}.route-ribbon{padding:17px 20px;background:#edf3f7;border-left:3px solid var(--gold);font-size:14px;line-height:2;margin-bottom:25px}.uss-rules{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-block:1px solid var(--line);padding:18px 0;margin:27px 0}.uss-rules h4{font-size:16px;margin:0 0 8px}.uss-rules p{font-size:13px;margin:0;color:var(--muted)}.uss-plan .ride-grid{padding:0}.uss-plan .ride h4{font-size:16px}.uss-plan .ride p{font-size:13px}.meal-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:22px}.meal-shortcuts article{background:#eaf1f6;padding:23px}.meal-shortcuts h4{font-size:16px;margin:0 0 8px}.meal-shortcuts p{font-size:14px;color:var(--muted);margin:0}.meal-shortcuts .source-row{margin:12px 0 0}.budget-table thead th{white-space:nowrap}.budget-table tbody th{max-width:225px}.budget-total strong{font-size:33px}.chapter-head p:empty{display:none}
@media(max-width:1050px){.check-grid{grid-template-columns:1fr 1fr}.choice-card{padding:23px}.choice-card h4{font-size:20px}.budget-total strong{font-size:28px}.stay-lead{grid-template-columns:1fr 1.05fr}}
@media(max-width:760px){.departure{padding:22px 18px;margin-top:24px}.check-grid,.choice-grid,.hotel-grid,.ticket-banner,.uss-rules,.meal-shortcuts{grid-template-columns:1fr}.check-grid{gap:18px}.departure-head h2{font-size:25px}.check-item small{font-size:13px}.checklist-foot{display:block}.checklist-foot a{display:inline-block;margin-top:8px}.stay-lead{grid-template-columns:1fr}.flight-rest p{font-size:14px}.choice-card{padding:22px}.action-steps>li{padding-left:28px}.ticket-banner{padding:23px;gap:20px}.ticket-price{padding:16px 0 0;border-left:0;border-top:1px solid #bbcedc}.ticket-price b{font-size:28px}.ticket-breakdown{font-size:12px}.uss-plan{padding:0 22px 23px}.route-ribbon{font-size:13px;padding:14px}.uss-rules{gap:18px}.budget-total strong{font-size:32px}.flight-rest .practical summary{line-height:1.7}.hotel-grid article{padding:22px}}
@media print{.departure{break-inside:avoid;padding:16px;margin-top:10px}.departure .check-grid{grid-template-columns:1fr 1fr}.choice-grid,.hotel-grid{grid-template-columns:1fr 1fr}.choice-card,.hotel-grid article,.flight{break-inside:avoid}.flight-rest .practical{display:block}.flight-rest .practical:not([open])>.details-inner{display:block}.cost-line b{font-size:17px}.uss-plan .action-steps li{break-inside:avoid}.ticket-banner{break-inside:avoid}.check-item input{appearance:auto}}

/* First-day route with map links and optional SkyPark / Orchard stops. */
.skypark-plan{display:grid;grid-template-columns:1.45fr 1fr;gap:34px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px;margin:28px 0 10px;scroll-margin-top:90px}.skypark-plan h3{font:500 28px/1.45 var(--serif);margin:20px 0 14px}.skypark-plan p{font-size:14px;color:var(--muted)}.skypark-plan p b{color:var(--ink)}.skypark-plan aside{background:#eaf1f6;padding:25px;align-self:start}.skypark-plan aside>b{font-size:13px;color:var(--blue)}.skypark-plan aside>strong{display:block;font:28px/1.5 Georgia;margin:12px 0;color:var(--blue)}.skypark-plan p a,.day a,.day-route a,.ion-alternatives p a{color:var(--blue);text-decoration:underline;text-decoration-color:#aabbc9;text-underline-offset:4px}.day-detail{background:#fff;border:1px solid var(--line);padding:28px 32px;margin-top:28px;scroll-margin-top:88px}.day-detail .subheading{margin:0 0 14px}.day-detail>.fine{max-width:980px}.day-route{list-style:none;margin:27px 0 15px;padding:0}.day-route>li{display:grid;grid-template-columns:120px 1fr;gap:23px;padding:22px 0;border-top:1px solid var(--line)}.day-route time{font-size:13px;font-weight:650;color:var(--blue);padding-top:3px;white-space:nowrap}.day-route h4{font-size:18px;font-weight:550;margin:0 0 8px}.day-route p{font-size:14px;color:var(--muted);margin:9px 0 0}.route-time{display:block;font-size:12px;color:#7a622f}.ion-alternatives{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:24px}.ion-alternatives article{padding:27px;background:#fff;border:1px solid var(--line)}.ion-alternatives h3{font:500 24px var(--serif);margin:18px 0}.ion-alternatives p,.ion-alternatives li{font-size:14px;color:var(--muted)}.ion-alternatives ol{padding-left:20px}.ion-alternatives li{padding:5px 0}.ion-alternatives b{color:var(--ink)}.ion-alternatives .card-links{flex-wrap:wrap}
@media(max-width:760px){.skypark-plan,.ion-alternatives{grid-template-columns:1fr;gap:20px}.skypark-plan,.day-detail,.ion-alternatives article{padding:23px}.skypark-plan h3{font-size:25px}.skypark-plan aside{padding:20px}.day-route>li{grid-template-columns:1fr;gap:6px;padding:21px 0}.day-route h4{font-size:17px}.day-route time{font-size:12px}.day-detail .subheading{align-items:flex-start}.day-detail .subheading>span{display:block;font-size:12px}.day-detail .source-row{flex-wrap:wrap}}
@media print{.skypark-plan,.day-detail,.ion-alternatives article{padding:16px}.day-route>li{break-inside:avoid}.skypark-plan aside{break-inside:avoid}.ion-alternatives{display:block}.ion-alternatives article{margin:14px 0}}
.day-jump{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 26px}.day-jump a{display:flex;flex-direction:column;gap:5px;padding:15px 18px;background:#fff;border:1px solid var(--line);color:var(--blue);text-decoration:none}.day-jump b{font:16px Georgia,serif;letter-spacing:1px}.day-jump span{font-size:13px}.day-jump a:hover,.day-jump a:focus-visible{border-color:var(--gold);background:#fffaf0}.day-option{border-left:3px solid var(--gold);background:#f4f7f9;padding:23px 26px;margin:26px 0}.day-option h4{font-size:20px;margin:16px 0 12px}.day-option ol{padding-left:20px}.day-option li,.day-option p{font-size:14px;color:var(--muted)}.day-option li{padding:6px 0}.day-option b{color:var(--ink)}.day-option a{color:var(--blue);text-underline-offset:3px}.back-to-days{display:inline-block;margin-top:18px;font-size:13px;color:var(--blue);text-underline-offset:4px}.day-detail .source-row{flex-wrap:wrap}
@media(max-width:760px){.day-jump{grid-template-columns:repeat(2,1fr);gap:10px}.day-jump a{padding:13px 15px}.day-option{padding:20px 18px}.day-option h4{font-size:18px}}
@media print{.day-jump,.back-to-days{display:none}.day-option{break-inside:avoid}}

/* Semporna edition: keep the Singapore handbook rhythm, with sea-green accents. */
:root{--navy:#103941;--blue:#21686d;--gold:#b98a46;--ink:#183e43;--muted:#657d80;--line:#dbe6e5;--paper:#f3f7f6;--white:#fff}
.hero{min-height:540px}.hero-photo{opacity:.72;object-position:center 54%}.hero:has(.hero-photo):after{background:linear-gradient(90deg,rgba(4,37,43,.85),rgba(5,36,40,.28))}.hero h1{font-size:clamp(38px,4.1vw,62px)}.hero-aside b{color:#e4c796}.hero-copy>p:not(.eyebrow){color:#e0efea}.hero-meta span{background:#173f4333}.hero-actions{display:flex;gap:22px;margin-top:25px;flex-wrap:wrap}.hero-actions a{font-size:13px;border-bottom:1px solid #ffffff7a;padding-bottom:4px}.hero .eyebrow{color:#e5c48d}.booked-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:12px;color:var(--muted);padding:23px 0 0}.booked-strip b{color:var(--blue);margin-right:8px}.flight-segment{border-top:1px solid var(--line);padding:17px 0}.flight-segment>b{font-size:12px;letter-spacing:.4px;color:var(--blue)}.flight-segment>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.flight-segment strong{font:21px Georgia,serif;white-space:nowrap}.flight-segment small{display:block;margin-top:3px}.flight-segment i{font-style:normal;color:var(--gold)}.flight>p{border-top:1px solid var(--line);padding-top:17px}.flight-grid .flight h3{font-size:19px}.transfer-chain{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr;align-items:center;gap:12px;background:var(--navy);padding:30px;color:#fff}.transfer-chain>div{display:flex;flex-direction:column;gap:6px}.transfer-chain b{font:italic 30px Georgia;color:#e5c48d}.transfer-chain strong{font-size:18px;font-weight:550}.transfer-chain span{color:#c7dbd9;font-size:12px}.transfer-chain i{font-style:normal;color:#d9c69e}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.benefits-grid article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:25px}.benefits-grid span{font-size:12px;color:var(--blue)}.benefits-grid h3{font:25px var(--serif);margin:15px 0}.benefits-grid p{font-size:14px;color:var(--muted);margin:0}.second-stay{margin-top:30px}.simple-list{padding-left:20px;color:var(--muted);font-size:14px}.simple-list li{padding:6px 0}.copy-note{white-space:pre-wrap;font-size:14px;line-height:1.9;padding:20px;border:1px solid var(--line);background:#f6f9f8;color:var(--ink)}.copy-button{background:var(--navy);color:white;padding:9px 15px;border:0;border-radius:3px;font-size:13px;margin-top:16px}.copy-status{display:block;font-size:12px;color:var(--blue);margin-top:8px}.meal-table-wrap{overflow:auto;margin:0 0 26px;border:1px solid var(--line);background:#fff}.meal-table{border-collapse:collapse;width:100%;min-width:580px;text-align:left;font-size:14px}.meal-table th,.meal-table td{padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:top}.meal-table thead{background:#e7f0ed;color:var(--blue)}.meal-table tbody th{white-space:nowrap}.meal-table tbody td{color:var(--muted)}.meal-table tbody tr:last-child>*{border-bottom:0}.phrase-card{background:#e7efec;border-left:3px solid var(--blue);padding:25px;margin-top:26px}.phrase-card p{font:18px/1.85 Georgia,serif;max-width:850px;margin:5px 0}.packing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.packing-grid article{background:#fff;padding:26px;border:1px solid var(--line)}.packing-grid h3{font:25px var(--serif);margin:0 0 20px}.packing-grid ul{padding-left:18px;font-size:14px;color:var(--muted);margin:0}.packing-grid li{margin:10px 0}.weather-card{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;margin-top:30px;padding:30px;background:var(--navy);color:#fff}.weather-card h3{font:26px/1.5 var(--serif);margin:12px 0}.weather-card p{font-size:14px;color:#ccdedb}.weather-card .eyebrow,.weather-card a{color:#e4c796}.weather-card a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.weather-fallback{border-left:1px solid #ffffff38;padding:20px 0 0 28px}.weather-fallback>b{color:#e4c796;font-size:17px}.day-detail h3{text-wrap:balance}.day-route a,.details-inner a,.note a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.stay-lead .image-wrap{min-height:360px}.choice-card p{font-size:14px}.chapter .subheading{scroll-margin-top:90px}.budget-total.featured{background:var(--navy)}.day-jump a:hover,.day-jump a:focus-visible{background:#eef5f1}.pill{background:#eaf2ee}.room-price b,.summary-line strong{color:var(--blue)}.chapter-head>div{min-width:0}
@media(max-width:1000px){.benefits-grid,.packing-grid{grid-template-columns:1fr}.benefits-grid{gap:14px}.benefits-grid article{padding:22px}.transfer-chain{gap:8px;padding:24px}.transfer-chain strong{font-size:16px}.packing-grid{gap:14px}.weather-card{grid-template-columns:1fr}.weather-fallback{border-left:0;border-top:1px solid #ffffff38;padding:18px 0 0}.hero-aside{padding-left:22px}.flight-segment strong{font-size:20px}}
@media(max-width:760px){.hero{min-height:520px;padding:52px 24px 42px}.hero h1{font-size:38px;line-height:1.45}.hero-photo{object-position:64% center}.hero:has(.hero-photo):after{background:linear-gradient(90deg,rgba(4,37,43,.86),rgba(5,36,40,.38))}.hero-meta{gap:8px}.hero-meta span{font-size:11px;padding:5px 10px}.hero-actions{gap:18px}.booked-strip{display:block;padding-top:20px}.booked-strip span{display:block;margin-bottom:7px}.flight-grid .flight h3{font-size:17px}.flight-segment strong{font-size:20px}.transfer-chain{grid-template-columns:1fr;padding:24px;gap:8px}.transfer-chain>div{display:grid;grid-template-columns:36px 1fr;gap:3px 15px}.transfer-chain b{grid-row:span 2}.transfer-chain i{margin-left:9px;transform:rotate(90deg);width:16px}.transfer-chain span{grid-column:2}.stay-copy h3{font-size:27px}.meal-table th,.meal-table td{padding:14px 16px}.phrase-card,.weather-card{padding:22px}.phrase-card p{font-size:16px}.second-stay .image-wrap{min-height:260px}.budget-totals .budget-total strong{font-size:27px}.day-detail .subheading{display:block}.day-detail .subheading span{margin-top:8px}.day-detail .subheading h3{font-size:23px}.day-route time{white-space:normal}.day-route h4{line-height:1.65}.packing-grid article{padding:22px}.hero .eyebrow{font-size:10px}.hero-credit{font-size:10px}}
@media print{.hero{min-height:270px}.hero-actions,.copy-button,.copy-status{display:none}.transfer-chain,.weather-card{background:white;color:#183e43;border:1px solid #dbe6e5}.transfer-chain span,.weather-card p{color:#657d80}.benefits-grid,.packing-grid{display:block}.benefits-grid article,.packing-grid article{margin:15px 0;break-inside:avoid}.phrase-card{break-inside:avoid}.meal-table{min-width:0}.hero:has(.hero-photo):after{display:none}}

/* 08 / Personal snorkeling notes */
.snorkel-lead{background:var(--navy);color:#fff;padding:38px 42px;border-top:3px solid var(--gold)}
.snorkel-lead .eyebrow{color:#e4c796}.snorkel-lead h3{font:34px/1.55 var(--serif);margin:12px 0 20px}.snorkel-lead>p{max-width:850px;color:#d4e4e0;line-height:1.9}.snorkel-lead .fine{font-size:13px;color:#bfd4ce;margin-bottom:0}.snorkel-rules{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.snorkel-rules span{border:1px solid #ffffff45;border-radius:24px;padding:7px 15px;font-size:13px;color:#f5e6c7}
.snorkel-questions,.snorkel-gear,.snorkel-help{display:grid;grid-template-columns:1fr 1fr;gap:20px}.snorkel-questions article,.snorkel-gear article,.snorkel-help article{padding:26px 28px;background:#fff;border:1px solid var(--line);min-width:0}.snorkel-questions article>b{font-size:12px;color:var(--gold);letter-spacing:1px}.snorkel-questions h4,.snorkel-gear h4,.snorkel-help h4{font-size:18px;line-height:1.7;margin:12px 0}.snorkel-questions p,.snorkel-gear p,.snorkel-help p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.snorkel-gear .fine{font-size:12px;margin-top:12px}.snorkel-help article{border-top:3px solid var(--gold)}.snorkel-help article>span{font-size:12px;color:var(--blue)}.snorkel-no{padding:26px 30px 26px 46px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.9}.snorkel-no li+li{margin-top:14px}.snorkel-no b{color:var(--ink)}.snorkel-reviewed{margin-top:25px}
@media(max-width:760px){.snorkel-lead{padding:25px 24px}.snorkel-lead h3{font-size:28px}.snorkel-lead>p{font-size:14px}.snorkel-rules{gap:8px}.snorkel-rules span{font-size:12px;padding:6px 10px}.snorkel-questions,.snorkel-gear,.snorkel-help{grid-template-columns:1fr;gap:14px}.snorkel-questions article,.snorkel-gear article,.snorkel-help article{padding:21px 23px}.snorkel-no{padding:22px 23px 22px 40px}}
@media print{.snorkel-lead{background:#fff;border:1px solid #b7c9c3;color:#183e43}.snorkel-lead>p,.snorkel-lead .fine{color:#314844}.snorkel-rules span{color:#183e43;border-color:#b7c9c3}.snorkel-questions article,.snorkel-gear article,.snorkel-help article{break-inside:avoid}.snorkel-questions,.snorkel-gear,.snorkel-help{display:block}.snorkel-questions article,.snorkel-gear article,.snorkel-help article{margin-bottom:16px}}
