/* Navigation, photographic home-box and responsive hero adapted from
   TravelX by Akash Vimal, MIT. See LICENSE.txt and docs/模板来源.md. */
:root{--navy:#163d4b;--ink:#183745;--blue:#437d90;--gold:#a17d46;--cream:#f7f5ed;--paper:#fffefa;--muted:#65767a;--line:#dddcd2;--serif:'Songti SC','STSong','Noto Serif CJK SC','SimSun',serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.9;color:var(--ink);background:var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}p{margin:0 0 20px}h1,h2,h3,h4{margin:0;font-weight:500}h1,h2,h3{font-family:var(--serif)}h2{font-size:clamp(30px,3.3vw,46px);line-height:1.5;letter-spacing:.02em}h2 em{font-style:normal;color:var(--blue)}h3{font-size:25px;line-height:1.5}h4{font-size:17px}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}strong{font-weight:600}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b28b4b;outline-offset:5px}button[hidden],[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 104px));margin-inline:auto}.section{padding-block:104px}.eyebrow{font-size:10px;font-family:var(--sans);letter-spacing:.2em;font-weight:600;color:var(--gold);line-height:1.6;margin-bottom:24px}.eyebrow.light{color:#dddcc8}.script{font-family:'Snell Roundhand','Apple Chancery','Brush Script MT',cursive;font-size:34px;font-style:italic;font-weight:400;line-height:1.4;color:var(--gold)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}.site-header{height:88px;background:var(--cream);position:relative;z-index:10}.navbar{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.logo-link{display:flex;align-items:center;gap:12px;white-space:nowrap;font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.07em;line-height:1.3}.logo-link small{display:block;font-family:var(--sans);font-weight:500;font-size:8px;letter-spacing:.24em;margin-top:5px}.brand-mark{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1;transform:rotate(-12deg);color:var(--blue)}.nav-links{display:flex;align-items:center;gap:34px}.nav-links li a{font-size:12px;font-weight:500;padding:10px 0;position:relative}.nav-links li a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}.nav-links li a:hover::after{width:100%}.nav-links li:last-child a{border-bottom:1px solid var(--ink)}.nav-links li:last-child span{margin-left:16px}.bar{display:none;border:0;background:transparent;padding:14px}.bar span{display:block;width:24px;height:1px;background:var(--navy);margin:6px 0;transition:transform .2s}.home{position:relative}.home-box{position:relative;width:100%;height:690px;min-height:590px;background:linear-gradient(90deg,rgba(8,32,42,.64),rgba(8,32,42,.2) 70%),linear-gradient(0deg,rgba(8,32,42,.25),transparent 40%),url('../images/hero.jpg');background-size:cover;background-position:center 55%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;color:white}.hero-content{padding-bottom:40px}.hero-content h1{font-size:clamp(48px,5.1vw,74px);line-height:1.45;font-weight:500;letter-spacing:.025em;margin-bottom:24px;text-shadow:0 2px 20px #0002}.hero-content .eyebrow{margin-bottom:22px;letter-spacing:.28em}.hero-description{font-size:16px;line-height:2;color:#f1f2ed}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:32px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:15px 26px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.6;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.cream{background:var(--cream);color:var(--navy)}.button.cream:hover{background:white}.button.navy{background:var(--navy);color:white}.button.secondary{border-color:var(--line);background:var(--cream)}.hero-link{font-size:12px;border-bottom:1px solid #ffffff70;padding-block:9px}.hero-link span{margin-left:20px}.hero-script{position:absolute;right:8%;bottom:95px;color:#e8dfc7;font-size:40px;transform:rotate(-6deg)}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #fff4;padding-top:18px;font-size:11px;color:#e9ece6}.hero-bottom a{font-size:8px;letter-spacing:.15em;white-space:nowrap}.hero-bottom a span{margin-left:14px;font-size:16px}.service-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.service-strip a{position:relative;padding:26px 24px 26px 50px;font-family:var(--serif);font-size:20px}.service-strip a:first-child{padding-left:30px}.service-strip a:not(:first-child){border-left:1px solid var(--line)}.service-strip a>span{font-family:Georgia,serif;font-size:12px;color:var(--gold);margin-right:16px}.service-strip small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.18em;margin-left:34px;margin-top:2px;color:var(--muted)}.service-strip b{position:absolute;right:20px;top:32px;font-size:18px;font-weight:400}.service-strip a:hover{background:var(--paper)}.about-section{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.about-photo{position:relative;padding-bottom:74px}.portrait{height:450px;background:url('../user-media/sanshui-intro.jpg') 48% 0/auto 1160px no-repeat;border-radius:150px 150px 0 0;background-color:#c9dce4}.photo-caption{display:block;font-size:8px;letter-spacing:.23em;margin-top:16px;color:var(--muted)}.photo-note{position:absolute;right:-35px;bottom:0;background:var(--paper);border:1px solid var(--line);padding:22px 32px;transform:rotate(-4deg)}.photo-note span{display:block}.photo-note span:last-child{font-size:10px;text-align:right;letter-spacing:.15em;margin-top:7px}.about-copy h2{margin-bottom:24px;font-size:38px}.about-copy p{font-size:13px;color:var(--muted)}.about-copy .intro{color:var(--ink);font-size:16px;font-family:var(--serif)}blockquote{margin:28px 0;padding:8px 0 8px 24px;border-left:2px solid var(--gold);font-family:var(--serif);font-size:22px;line-height:1.8}.text-button{padding:8px 0;border:0;border-bottom:1px solid #adbaa8;background:transparent;font-size:12px;font-weight:500;text-align:left;line-height:1.8;transition:color .2s}.text-button:hover,.poster-link:hover{color:var(--blue)}.text-button span{margin-left:24px}.travel-section{background:#eeeee5}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:52px}.heading-aside{width:410px;flex-shrink:0;font-size:13px;color:var(--muted)}.heading-aside p:last-child{margin-bottom:0}.travel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.travel-card{background:var(--paper);border:1px solid #e0e1d6;overflow:hidden}.travel-card.featured{grid-column:span 2}.destination-photo{height:265px;background-repeat:no-repeat;background-image:url('../user-media/custom-travel.png')}.santorini{background-size:200% auto;background-position:0 46%}.aurora{background-size:200% auto;background-position:34% 46%}.card-content{padding:30px 34px}.card-number{display:block;font-size:9px;letter-spacing:.14em;color:var(--gold);margin-bottom:14px}.travel-card h3{margin-bottom:12px;font-size:24px}.travel-card p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:18px}.travel-card.compact{padding:28px 24px}.travel-card.compact h3{font-size:20px}.travel-card.compact h3 small{font-size:13px}.line-icon{display:block;font-size:28px;line-height:1.2;color:var(--blue);margin-bottom:27px;font-family:Georgia,serif}.travel-card.wide{grid-column:span 4;padding:28px 34px;display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:10px 30px}.travel-card.wide .card-number{grid-column:1;margin:0}.travel-card.wide h3{grid-column:1;margin:0}.travel-card.wide p{grid-column:2;grid-row:1/3;margin:0}.travel-card.wide button{grid-column:3;grid-row:1/3}.philosophy{margin-top:58px;border-top:1px solid #cfd3c6;padding-top:35px;display:grid;grid-template-columns:1fr 1.25fr;gap:8px 70px;align-items:center}.philosophy .eyebrow{margin:0;grid-column:1}.philosophy h3{grid-column:1;font-size:28px}.philosophy div{grid-column:2;grid-row:1/3;color:var(--muted);font-size:13px}.philosophy div p{margin-bottom:10px}.philosophy .poster-link{grid-column:2;justify-self:start}.poster-link{background:transparent;border:0;padding:6px 0;color:var(--muted);font-size:11px;letter-spacing:.02em}.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.ticket-grid article{padding:35px 32px;background:var(--paper)}.ticket-grid article:not(:first-child){border-left:1px solid var(--line)}.ticket-grid .eyebrow{font-size:9px;margin-bottom:12px}.ticket-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #cdd8d7;border-radius:50%;font-size:27px;margin-bottom:25px;color:var(--blue)}.ticket-grid h3{margin-bottom:20px;font-size:25px}.ticket-grid article p:not(.eyebrow){font-size:13px;color:var(--muted)}.ticket-grid strong{color:var(--ink)}.benefit-row{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.benefit-row>div>span{font-family:Georgia,serif;font-size:11px;color:var(--gold)}.benefit-row h4{margin:7px 0;font-size:14px}.benefit-row p{font-size:12px;color:var(--muted);margin:0}.section-foot{border-top:1px solid var(--line);padding-top:25px;margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.section-foot p{font-size:12px;color:var(--muted);margin:0}.partner-section{background:var(--navy);color:var(--cream)}.partner-section h2 em{color:#b7c6bd}.partner-section .eyebrow{color:#c8b785}.partner-section .heading-aside{color:#c2d0d1}.partner-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbd6d13b}.partner-grid article{padding:40px}.partner-grid article+article{border-left:1px solid #cbd6d13b}.partner-grid h3{font-size:30px;margin-bottom:20px}.partner-grid p{font-size:13px;color:#bdcdd0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-block:26px}.tag-list li{font-size:10px;padding:5px 10px;border:1px solid #dae2de40;color:#cbd4cc}.partner-grid button{color:#f1ead7;border-color:#b4c4b475}.partner-details{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.partner-details h3{font-size:22px;margin-bottom:20px}.check-list li{position:relative;padding-left:22px;color:#c3d1ce;font-size:12px;margin-bottom:9px}.check-list li::before{content:'✓';position:absolute;left:0;color:#c6b88c}.cooperation-note{padding-top:30px;margin-top:35px;border-top:1px solid #cbd6d13b;color:#bdcdd0;font-size:12px}.cooperation-note p{margin-bottom:10px}.cooperation-note .poster-link{color:#d7d7c8}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);gap:0 44px}.why-grid article{padding:30px 0 28px;border-bottom:1px solid var(--line)}.why-grid article>span{font-family:Georgia,serif;font-size:26px;color:var(--gold)}.why-grid h3{font-size:20px;margin:12px 0}.why-grid p{font-size:12px;color:var(--muted);margin:0}.journal-section{background:#e5e9e1;border-block:1px solid #d5ddcf}.journal-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:start}.journal-layout h2{font-size:47px}.journal-layout .script{font-size:30px;margin-top:30px}.journal-copy{font-size:14px;color:#5c706c}.journal-copy blockquote{font-size:30px;border:0;padding:0;color:var(--ink);margin-block:24px}.journal-more{margin-top:30px;border-top:1px solid #bcc9be}.journal-more summary{padding-block:18px;font-size:12px;color:var(--ink)}.journal-more div{padding-top:12px}.section-heading>.poster-link{white-space:nowrap}.chat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}.chat-grid button{position:relative;background:transparent;border:0;text-align:left;padding:30px 25px 58px;transition:background .2s}.chat-grid button:hover{background:var(--paper)}.chat-grid button+button{border-left:1px solid var(--line)}.chat-grid button>span{font-size:8px;letter-spacing:.18em;color:var(--gold)}.chat-grid h3{font-size:21px;margin:20px 0 13px}.chat-grid p{font-size:12px;color:var(--muted);margin:0}.chat-grid b{position:absolute;right:25px;bottom:20px;font-size:23px;font-weight:400}.chat-ending{font-family:var(--serif);font-size:18px;text-align:center;line-height:2;margin:45px 0 0;color:var(--muted)}.faq-section{border-top:1px solid var(--line);padding-top:70px}.faq-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:70px}.faq-layout h2{font-size:34px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding-right:30px}summary::-webkit-details-marker{display:none}summary>span[aria-hidden="true"]{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:18px;font-weight:300}details[open]>summary>span[aria-hidden="true"]{transform:translateY(-50%) rotate(45deg)}.faq-list summary{padding:19px 30px 19px 0;font-size:14px}.faq-list details p{font-size:12px;color:var(--muted);padding-right:30px;margin-bottom:22px}.contact-section{background:var(--navy);color:var(--cream);padding-block:84px}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.contact-layout h2{font-size:39px;margin-bottom:24px}.contact-layout>div>p:not(.eyebrow):not(.script){font-size:12px;color:#bdcece;max-width:390px}.contact-phone{display:inline-block;margin-left:20px;font-family:Georgia,serif;font-size:17px;white-space:nowrap}.contact-layout .script{color:#d8c99e;font-size:35px;margin-top:25px;margin-bottom:0}.contact-card{background:var(--cream);color:var(--ink);padding:32px;text-align:center;border:1px solid #dddcd2;justify-self:end;width:350px;max-width:100%}.qr-frame{background:white;padding:14px;width:142px;height:142px;margin:0 auto 18px}.wechat-qr{width:114px;height:114px;background:url('../user-media/sanshui-intro.jpg') -1200px -802px/1536px 1024px no-repeat;image-rendering:pixelated;flex-shrink:0}.contact-card h3{font-size:18px;margin-bottom:12px}.contact-card p{font-size:11px;color:var(--muted);line-height:1.8;max-width:230px;margin:0 auto 17px}.qr-actions{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.qr-actions a{font-size:10px;color:var(--muted)}.media-section{padding-block:32px;border-bottom:1px solid var(--line)}.media-section summary{font-size:12px;padding-block:10px;color:var(--muted)}.media-section>details>p{font-size:12px;color:var(--muted);margin-top:20px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.media-grid button{border:1px solid var(--line);padding:0;background:var(--paper);text-align:left}.media-grid button>span{display:block;padding:15px;font-size:11px}.site-footer{padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .logo-link{font-size:18px}.site-footer .brand-mark{font-size:35px}.site-footer p{margin:0;font-family:var(--serif);font-size:13px;color:var(--muted)}.site-footer>span{font-size:10px;color:var(--muted)}.back-to-top{position:fixed;right:22px;bottom:22px;width:40px;height:40px;border:1px solid #ffffff90;background:var(--navy);color:white;font-size:20px;z-index:9}.back-to-top:hover{background:var(--blue)}dialog{border:1px solid var(--line);padding:0;background:var(--cream);color:var(--ink);max-height:90vh;max-height:90dvh}dialog::backdrop{background:#0c253ed9;backdrop-filter:blur(4px)}body.dialog-open{overflow:hidden}.dialog-close{border:0;background:transparent;width:38px;height:38px;font-size:28px;font-weight:300;line-height:1;flex-shrink:0}.consult-dialog{width:min(860px,calc(100% - 32px));overflow:auto;padding:40px}.consult-dialog>.dialog-close{position:absolute;right:14px;top:14px}.consult-header .eyebrow{margin-bottom:12px}.consult-header h2{font-size:32px}.consult-header>p:last-child{font-size:12px;color:var(--muted);margin-top:12px}.consult-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}.consult-layout form label{display:block;font-size:11px;font-weight:500;margin-bottom:14px}.consult-layout input,.consult-layout textarea,.consult-layout select{display:block;width:100%;border:1px solid #cbd1c5;border-radius:0;background:var(--paper);color:var(--ink);padding:10px;margin-top:5px;font-size:12px}.consult-layout textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-hint{font-size:10px;color:var(--gold);margin-bottom:15px}.form-privacy{font-size:10px;color:var(--muted);margin:12px 0 20px;line-height:1.6}.consult-contact{border-left:1px solid var(--line);padding-left:35px;text-align:center;padding-top:20px}.consult-contact h3{font-size:17px;margin:12px 0}.consult-contact a{display:block;font-size:13px;margin-block:15px}.consult-contact>a:last-of-type{font-size:10px}.consult-contact p{font-size:10px;color:var(--muted);margin:15px 0;line-height:1.8}.consult-contact #phoneStatus{color:var(--blue)}.consult-contact .text-button{font-size:10px}.copy-status{font-size:11px;color:var(--blue);margin:15px 0 0;line-height:1.7}.copy-fallback{width:100%;font-size:10px}.poster-dialog{width:min(1240px,calc(100% - 24px));overflow:hidden;max-height:95vh;max-height:95dvh}.poster-toolbar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:var(--cream);border-bottom:1px solid var(--line)}.poster-toolbar h2{font-size:18px;flex:1}.poster-toolbar button:not(.dialog-close),.poster-toolbar a{font-size:11px;border:1px solid var(--line);background:var(--paper);padding:7px 12px}.poster-stage{overflow:auto;max-height:calc(95dvh - 130px);background:#e7e7dc}.poster-stage img{width:100%;height:auto;margin:auto;max-width:none}.poster-stage.zoomed img{width:1536px;max-width:none}.poster-hint{font-size:10px;color:var(--muted);margin:0;padding:12px 20px;line-height:1.6}
@media(min-width:1600px){.home-box{height:760px}.hero-content h1{font-size:78px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav-links{gap:24px}.about-section,.journal-layout{gap:60px}.portrait{height:400px;background-size:auto 1060px}.about-copy h2{font-size:34px}.heading-aside{width:350px}.travel-grid{gap:16px}.travel-card.compact{padding:24px 18px}.travel-card.compact h3{font-size:18px}.contact-layout{gap:35px}.contact-layout h2{font-size:34px}.contact-phone{display:block;margin:20px 0 0}.chat-grid button{padding-inline:18px}.chat-grid h3{font-size:19px}}
@media(max-width:800px){html{scroll-padding-top:20px}.container{width:calc(100% - 40px)}.section{padding-block:68px}.site-header{height:74px}.logo-link{font-size:20px}.brand-mark{font-size:40px}.bar{display:block}.menu{position:absolute;top:74px;left:0;right:0;background:var(--cream);padding:10px 25px 25px;box-shadow:0 12px 16px #163d4b10;display:none}.menu.open{display:block}.nav-links{display:block}.nav-links li{border-bottom:1px solid var(--line)}.nav-links li a{display:block;padding:13px 0;font-size:13px}.nav-links li:last-child a{border:0}.bar[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.bar[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.home-box{height:620px;min-height:0;background-position:60% center}.hero-content h1{font-size:52px}.hero-script{right:6%;bottom:97px;font-size:32px}.hero-description{font-size:14px}.service-strip a,.service-strip a:first-child{padding:22px 12px;font-size:17px}.service-strip a>span{margin-right:7px}.service-strip small{font-size:7px;margin-left:22px;letter-spacing:.1em}.service-strip b{display:none}.about-section{grid-template-columns:.85fr 1fr;gap:35px}.portrait{height:360px;background-size:auto 930px}.about-photo{padding-bottom:55px}.photo-note{right:-12px;padding:15px 20px}.photo-note .script{font-size:25px}.photo-caption{font-size:6px;letter-spacing:.1em}.about-copy h2{font-size:27px}.about-copy .intro{font-size:14px}.about-copy p{font-size:12px}.about-copy blockquote{font-size:18px;padding-left:16px}.section-heading{gap:35px}.heading-aside{width:300px;font-size:12px}h2{font-size:32px}.travel-grid{grid-template-columns:repeat(2,1fr)}.travel-card.featured{grid-column:span 1}.destination-photo{height:190px;background-size:300% auto}.santorini{background-position:0 46%}.aurora{background-position:34% 46%}.card-content{padding:24px}.travel-card.wide{grid-column:span 2;grid-template-columns:1fr 1fr;padding:25px}.travel-card.wide button{grid-column:2;grid-row:3;justify-self:start}.travel-card.wide h3{grid-row:2}.travel-card.wide p{grid-row:1/3}.philosophy{gap:15px 35px}.philosophy h3{font-size:25px}.ticket-grid article{padding:28px 20px}.ticket-grid h3{font-size:21px}.ticket-grid article p:not(.eyebrow){font-size:11px}.benefit-row{gap:20px}.partner-grid article{padding:30px}.partner-grid h3{font-size:25px}.partner-details{gap:40px}.why-grid{gap:0 25px;grid-template-columns:repeat(2,1fr)}.journal-layout{gap:40px}.journal-layout h2{font-size:38px}.journal-layout .script{font-size:25px}.journal-copy{font-size:12px}.journal-copy blockquote{font-size:25px}.chat-grid{grid-template-columns:repeat(2,1fr)}.chat-grid button:nth-child(3){border-left:0}.chat-grid button:nth-child(n+3){border-top:1px solid var(--line)}.chat-grid button{padding:25px 25px 55px}.chat-grid h3{font-size:22px}.chat-ending{font-size:15px}.faq-layout{gap:30px}.faq-layout h2{font-size:28px}.contact-layout{grid-template-columns:1fr .85fr;gap:30px}.contact-layout h2{font-size:28px}.contact-card{padding:25px 16px}.contact-layout .script{font-size:28px}.site-footer p{display:none}.consult-dialog{padding:32px 25px}.consult-layout{gap:24px}.consult-contact{padding-left:20px}.poster-toolbar{gap:10px}.poster-toolbar h2{font-size:14px}}
@media(max-width:560px){.container{width:calc(100% - 40px)}.section{padding-block:56px}.home-box{height:620px;background-position:62% center}.home-box::before{content:'';position:absolute;inset:0;background:#092b3520}.hero-content{position:relative;padding-bottom:75px}.hero-content .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:22px}.hero-content h1{font-size:43px;line-height:1.5;margin-bottom:20px}.hero-description{font-size:13px;line-height:2}.hero-actions{gap:23px;margin-top:27px}.button{padding:14px 20px;font-size:11px;gap:25px}.hero-link{font-size:11px}.hero-link span{margin-left:12px}.hero-script{left:22px;right:auto;bottom:88px;font-size:30px;transform:rotate(-4deg);margin:0}.hero-bottom{bottom:22px;padding-top:14px;font-size:9px;gap:10px}.hero-bottom a{font-size:6px;letter-spacing:.04em}.hero-bottom a span{margin-left:5px}.service-strip{width:100%;padding-inline:10px}.service-strip a,.service-strip a:first-child{font-size:14px;padding:21px 11px}.service-strip a>span{font-size:10px;margin-right:5px}.service-strip small{font-size:5px;margin-left:18px;letter-spacing:.1em}.about-section{display:flex;flex-direction:column;gap:30px}.about-photo{width:100%;max-width:330px;padding-bottom:55px}.portrait{height:345px;background-size:auto 960px;background-position:52% 0;border-radius:140px 140px 0 0}.photo-note{right:-5px;bottom:0;padding:17px 25px}.photo-note .script{font-size:28px}.photo-caption{font-size:7px}.about-copy{width:100%}.eyebrow{font-size:9px;margin-bottom:18px}.about-copy h2{font-size:31px}.about-copy .intro{font-size:16px}.about-copy p{font-size:13px}.about-copy blockquote{font-size:21px}.section-heading{display:block;margin-bottom:30px}.heading-aside{width:auto;margin-top:25px;font-size:13px}.heading-aside p{margin-bottom:18px}h2{font-size:31px}.travel-grid{gap:14px}.travel-card.featured{grid-column:span 2}.destination-photo{height:220px;background-size:230% auto}.santorini{background-position:0 45%}.aurora{background-position:34% 46%}.travel-card.compact{padding:23px 18px}.travel-card.compact h3{font-size:18px}.travel-card.compact h3 small{display:block;margin-top:3px}.travel-card p{font-size:11px}.travel-card.compact .text-button{font-size:10px}.line-icon{margin-bottom:20px}.travel-card.wide{display:block;padding:26px}.travel-card.wide h3{margin:12px 0}.travel-card.wide p{margin-bottom:15px}.philosophy{display:block;margin-top:35px;padding-top:28px}.philosophy .eyebrow{margin-bottom:18px}.philosophy h3{font-size:27px;margin-bottom:23px}.philosophy div{font-size:13px}.philosophy .poster-link{margin-top:10px}.ticket-grid{grid-template-columns:1fr}.ticket-grid article{padding:28px}.ticket-grid article:not(:first-child){border-left:0;border-top:1px solid var(--line)}.ticket-grid h3{font-size:25px}.ticket-grid article p:not(.eyebrow){font-size:13px}.ticket-icon{float:right;margin-top:8px}.benefit-row{grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.benefit-row h4{font-size:14px}.benefit-row p{font-size:11px}.section-foot{display:block}.section-foot p{margin-bottom:14px}.partner-grid{grid-template-columns:1fr}.partner-grid article+article{border-left:0;border-top:1px solid #cbd6d13b}.partner-grid article{padding:28px}.partner-grid h3{font-size:27px}.partner-grid p{font-size:12px}.partner-details{grid-template-columns:1fr;gap:22px;margin-top:35px}.partner-details h3{font-size:21px}.cooperation-note{font-size:12px}.why-grid{gap:0 20px}.why-grid h3{font-size:18px}.why-grid p{font-size:11px}.why-grid article{padding-block:23px}.why-grid article>span{font-size:24px}.journal-layout{grid-template-columns:1fr;gap:32px}.journal-layout h2{font-size:36px}.journal-layout .script{margin-top:20px;font-size:27px}.journal-copy{font-size:13px}.journal-copy blockquote{font-size:27px}.chat-section h2{font-size:28px}.chat-section .section-heading>.poster-link{margin-top:20px}.chat-grid button{padding:24px 17px 52px}.chat-grid h3{font-size:19px;margin-top:16px}.chat-grid p{font-size:11px}.chat-grid button>span{font-size:6px}.chat-ending{text-align:left;font-size:15px;margin-top:28px}.faq-layout{grid-template-columns:1fr;gap:22px}.faq-layout h2{font-size:30px}.faq-list summary{font-size:13px;padding-block:17px}.contact-section{padding-block:54px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout h2{font-size:29px}.contact-layout .script{font-size:29px}.contact-card{justify-self:center;width:100%;padding:28px}.contact-phone{font-size:19px}.site-footer{display:block;padding-block:25px}.site-footer>span{display:block;margin-top:16px;font-size:9px}.media-grid{grid-template-columns:repeat(2,1fr);gap:12px}.media-grid button>span{padding:10px;font-size:9px}.consult-dialog{padding:30px 22px;width:calc(100% - 22px)}.consult-header h2{font-size:28px}.consult-layout{grid-template-columns:1fr;gap:22px}.consult-contact{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.consult-contact .qr-frame{margin-bottom:12px}.consult-contact a{margin-block:10px}.consult-contact p{max-width:230px;margin:12px auto}.consult-layout input,.consult-layout select,.consult-layout textarea{font-size:16px}.form-row{gap:12px}.poster-toolbar{flex-wrap:wrap;padding:10px 12px;gap:8px}.poster-toolbar h2{font-size:13px;flex-basis:calc(100% - 50px);order:0}.poster-toolbar .dialog-close{order:1}.poster-toolbar button:not(.dialog-close),.poster-toolbar a{order:2;font-size:10px;padding:6px 10px}.poster-stage{max-height:calc(95dvh - 175px)}.poster-hint{padding:10px 12px;font-size:9px}.back-to-top{width:35px;height:35px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.hero-actions,.hero-bottom,.back-to-top,dialog,.media-section,.poster-link,.text-button,.button{display:none!important}.section{padding-block:30px}.home-box{height:400px}.container{width:95%}.partner-section,.contact-section{background:white;color:var(--ink)}.partner-section p,.partner-section li{color:var(--ink)}details>div{display:block}}

/* Keep the original scenic panels within their poster photo boundaries. */
.destination-photo{height:auto;aspect-ratio:2.15;background-size:420% auto}.santorini{background-position:2% 44.5%}.aurora{background-position:35.3% 44.5%}

/* Keep matching cards on shared heading and action baselines. */
.travel-grid,
.ticket-grid,
.partner-grid,
.chat-grid,
.why-grid { align-items: stretch; }
.travel-card.featured,
.travel-card.compact,
.card-content,
.ticket-grid article,
.partner-grid article,
.chat-grid button { display: flex; flex-direction: column; min-width: 0; }
.card-content { flex: 1; }
.text-button { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; align-self: flex-start; }
.text-button span { margin-left: 0; }
.travel-card.featured .text-button,
.travel-card.compact .text-button,
.ticket-grid .text-button,
.partner-grid .text-button { margin-top: auto; }
.travel-card.compact .card-number,
.ticket-grid .eyebrow,
.partner-grid > article > .eyebrow { min-height: 3.6em; line-height: 1.8; }
.travel-card h3,
.ticket-grid h3,
.partner-grid h3,
.chat-grid h3,
.why-grid h3 { white-space: nowrap; }
.travel-card.compact h3 small { display: inline; white-space: nowrap; margin-left: 6px; }
.tag-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tag-list li { display: flex; align-items: center; min-height: 40px; padding: 8px 10px; line-height: 1.7; }
.partner-grid > article > p { margin-bottom: 18px; }
.partner-grid > article > .eyebrow { margin-bottom: 12px; }
.partner-grid .text-button { justify-self: start; }

/* Subgrid shares the actual content rows, even when label/text lengths differ. */
@supports (grid-template-rows: subgrid) {
  .partner-grid > article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 6;
  }
  .partner-grid .text-button { margin-top: 0; align-self: end; }
  .ticket-grid > article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
  }
  .ticket-grid .text-button { margin-top: 0; align-self: end; justify-self: start; }
}

@media (max-width: 1100px) {
  .travel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-card.featured { grid-column: span 1; }
  .travel-card.wide { grid-column: span 2; }
  .chat-grid,
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chat-grid button:nth-child(3) { border-left: 0; }
  .chat-grid button:nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* Phone-first: give titles enough width instead of breaking Chinese words. */
@media (max-width: 700px) {
  .partner-grid,
  .partner-details,
  .ticket-grid,
  .chat-grid,
  .why-grid { grid-template-columns: minmax(0, 1fr); }
  .partner-grid > article { padding: 28px; }
  .partner-grid > article + article { border-left: 0; border-top: 1px solid #cbd6d13b; }
  .partner-grid h3 { font-size: 26px; }
  .partner-grid > article > .eyebrow { font-size: 9px; letter-spacing: .14em; min-height: 3.6em; }
  .ticket-grid > article { display: grid; grid-row: auto; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto auto auto; padding: 28px; gap: 0 12px; }
  .ticket-grid > article + article { border-left: 0; border-top: 1px solid var(--line); }
  .ticket-icon { grid-column: 2; grid-row: 1; margin: 0; float: none; align-self: start; }
  .ticket-grid .eyebrow { grid-column: 1; grid-row: 1; min-height: 0; align-self: center; margin-bottom: 0; }
  .ticket-grid h3 { grid-column: 1 / -1; grid-row: 2; font-size: 23px; margin-top: 16px; }
  .ticket-grid > article > p:not(.eyebrow) { grid-column: 1 / -1; grid-row: 3; font-size: 13px; }
  .ticket-grid .text-button { grid-column: 1 / -1; grid-row: 4; }
  .chat-grid button { padding: 28px 28px 58px; }
  .chat-grid button + button { border-left: 0; border-top: 1px solid var(--line); }
  .chat-grid h3 { font-size: 23px; }
  .chat-grid button>span { font-size: 9px; }
  .chat-grid p,
  .why-grid p { font-size: 13px; }
  .why-grid h3 { font-size: 20px; }
  .partner-details { gap: 24px; }
  .contact-card h3 { font-size: clamp(17px, 4.6vw, 19px); }
}

@media (max-width: 560px) {
  .travel-grid { grid-template-columns: minmax(0, 1fr); }
  .travel-card.featured,
  .travel-card.wide { grid-column: auto; }
  .travel-card.compact { padding: 28px; }
  .travel-card.compact .card-number { min-height: 0; }
  .travel-card.compact h3 { font-size: 23px; }
  .travel-card.compact h3 small { font-size: 13px; }
  .travel-card.compact p { font-size: 13px; }
  .travel-card.compact .text-button { font-size: 12px; }
}

@media (max-width: 360px) {
  .chat-grid h3,
  .travel-card.compact h3 { font-size: 22px; }
}

/* Approved A: complete phrases, first line one 4px type step larger. */
.section-heading > div:first-child { flex: 1; min-width: 0; }
.balanced-heading {
  container-type: inline-size;
  --heading-ideal: 46px;
  --heading-first: min(var(--heading-ideal), calc(100cqi / var(--first-length) - 1.5px), calc(100cqi / var(--second-length) + 2.5px));
  letter-spacing: .02em;
}
.balanced-heading > .heading-line { display: block; white-space: nowrap; font-size: var(--heading-first); line-height: 1.6; }
.balanced-heading > .heading-line + .heading-line { font-size: calc(var(--heading-first) - 4px); }
.hero-content .balanced-heading { --heading-ideal: 74px; }
.about-copy .balanced-heading { --heading-ideal: 38px; }
.contact-layout .balanced-heading { --heading-ideal: 39px; }
.faq-layout .balanced-heading { --heading-ideal: 34px; }
@media (max-width: 800px) {
  .balanced-heading { --heading-ideal: 36px; }
  .hero-content .balanced-heading { --heading-ideal: 52px; }
  .about-copy .balanced-heading { --heading-ideal: 34px; }
  .contact-layout .balanced-heading { --heading-ideal: 32px; }
}
@media (max-width: 560px) {
  .balanced-heading { --heading-ideal: 32px; }
  .hero-content .balanced-heading { --heading-ideal: 43px; }
  .about-copy .balanced-heading { --heading-ideal: 32px; }
  .contact-layout .balanced-heading { --heading-ideal: 30px; }
}

/* Keep navigation in the viewport and reserve its space in the page. */
:root { --site-header-height: 88px; }
html { scroll-padding-top: calc(var(--site-header-height) + 16px); }
body { padding-top: var(--site-header-height); }
.site-header {
  position: fixed;
  inset: 0 0 auto;
  height: var(--site-header-height);
  z-index: 50;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 800px) {
  :root { --site-header-height: 74px; }
  .menu {
    top: 100%;
    max-height: calc(100vh - var(--site-header-height));
    max-height: calc(100dvh - var(--site-header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media print { body { padding-top: 0; } }

/* Keep each final Chinese word group intact while the rest of the copy wraps naturally. */
p, blockquote, .check-list li, .tag-copy, summary, .hero-bottom>span { text-wrap: pretty; }
.text-tail { white-space: nowrap; }
.tag-copy { display: block; min-width: 0; }
