/* Map-led detail system, matching the supplied Primland reference. */
#brand-story,.brand-scroll,#intro .hero-thought{display:none}#intro{overflow:hidden}#intro .intro-content{height:100svh;min-height:0}#intro h1{font-size:clamp(34px,4.4vw,62px)}#menu{inset:auto 22px 78px auto;width:390px;max-height:75svh;padding:30px 24px 60px;background:#fffbe7;color:#456a4b;box-shadow:0 12px 55px #0b211d33}#menu>h2,#menu .destinations,#menu .real-stories,#menu .menu-bottom{display:none}#menu>.overline{color:#456a4b;font-size:10px;letter-spacing:1px;margin:0 0 23px}#menu .close{top:auto;bottom:0;right:0;width:100%;height:44px;background:#456a4b;color:#fffbe7;font-size:25px}#menu .brand-menu-links{display:flex;flex-direction:column;align-items:center;gap:17px;margin:0;border-color:#456a4b22;padding-top:24px}#menu .brand-menu-links button{font:400 22px/1.4 Inferi,'Songti SC',serif}#destination-page{inset:12px 12px 12px auto;width:510px;max-width:calc(100% - 24px);background:#fffbe7;color:#456a4b;box-shadow:0 0 0 100vmax #10291b28;z-index:60;scrollbar-width:thin}.panel-bar{position:sticky;top:0;z-index:3;background:#456a4b;color:#fffbe7;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:15px 24px;font-size:11px;letter-spacing:1px}.panel-bar button{font:28px Centra;line-height:1}.panel-content{padding:20px 24px 35px}.panel-hero{display:block;width:100%;position:relative}.panel-hero img{width:100%;height:230px;object-fit:cover;display:block}.panel-hero>span{position:absolute;right:15px;top:15px;border-radius:50%;background:#fffbe7ed;color:#456a4b;width:36px;height:36px;display:grid;place-items:center;font-size:22px}.panel-caption{font-size:9px!important;opacity:.65;margin:10px 0!important}.panel-content h1{font:400 28px/1.45 Inferi,'Songti SC',serif;letter-spacing:0;margin:22px 0 16px}.panel-content>p,.panel-content details p{font:400 15px/1.9 Inferi,'Songti SC',serif;letter-spacing:0}.panel-status{display:inline-block;font-size:9px;letter-spacing:2px;margin:6px 0 10px}.panel-content details{border-top:1px solid #456a4b22;padding-top:22px;margin-top:24px}.panel-content summary{list-style:none;font:12px Centra;padding-bottom:22px;cursor:pointer}.panel-content summary:after{content:'＋';float:right}.panel-content details[open] summary:after{content:'−'}.panel-content h2{font:400 23px/1.5 Inferi,'Songti SC',serif}.panel-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}.panel-gallery button{flex:0 0 88%;scroll-snap-align:start;text-align:left}.panel-gallery img{width:100%;height:210px;object-fit:cover}.panel-gallery span{font-size:9px;display:block;margin:12px 0}.panel-plan{width:100%}.panel-link{margin:20px 0;border-bottom:1px solid;font-size:11px}.panel-contact{background:#456a4b;color:#fffbe7;margin:30px -24px 35px;padding:35px 24px}.panel-contact small{font-size:9px;letter-spacing:2px}.panel-contact button{background:#fffbe7;color:#456a4b;padding:14px 22px;font-size:11px}.panel-contact p{font-size:10px;line-height:1.8;opacity:.7}.panel-related-title{font:11px Centra!important;letter-spacing:1px}.panel-related{display:flex;gap:15px;overflow:auto}.panel-related button{flex:0 0 75%;text-align:left}.panel-related img{width:100%;height:160px;object-fit:cover}.panel-related h3{font:20px 'Songti SC',serif}.panel-related span{font-size:9px}#panel-lightbox{padding:35px 20px 15px;background:#fffbe7;color:#456a4b;width:min(1100px,95vw)}#panel-lightbox img{max-width:100%;max-height:75vh;display:block;margin:auto;object-fit:contain}#panel-lightbox button{position:absolute;top:5px;right:15px;font-size:25px}#panel-lightbox p{font-size:10px;text-align:center}@media(max-width:600px){#menu{left:16px;right:16px;width:auto;bottom:32px;max-height:78svh}#destination-page{width:calc(100% - 24px)}.panel-hero img{height:205px}.panel-content h1{font-size:25px}.panel-content>p,.panel-content details p{font-size:14px}#intro .intro-content{padding-top:105px}}

/* Refined editorial rhythm and consistent controls. */
:root{--ui-paper:#fffbed;--ui-green:#405e47;--ui-muted:#74816e;--ui-line:#405e4726;--ui-sans:Centra,'PingFang SC','Microsoft YaHei',sans-serif;--ui-serif:Inferi,'Songti SC','STSong',serif}
#intro .intro-content{padding:130px 28px 64px;gap:0}#intro .intro-content>.overline{font-size:10px;letter-spacing:3px;margin:20px 0 22px}#intro h1{font-family:var(--ui-serif);font-size:clamp(38px,4.4vw,64px);line-height:1.4;letter-spacing:.06em;margin:22px 0 24px;text-wrap:balance}#intro .intro-caption{font-family:var(--ui-sans);font-size:14px;line-height:2;letter-spacing:.06em;max-width:480px;color:#fffbeddd}.vision-tag{font-size:9px;letter-spacing:2px;border-color:#fffbed44;padding:6px 11px}.brand-hero-actions{margin-top:30px;gap:22px}.brand-hero-actions button{min-height:46px;font-size:11px;letter-spacing:1px}.brand-hero-actions .cream-button{background:var(--ui-paper);color:var(--ui-green);outline:0;padding:16px 26px}.intro-content #silent-start{min-height:44px;margin-top:14px;color:#fffbedb3}#brand strong{letter-spacing:.08em}#brand small{font-size:8px;letter-spacing:1.6px}#about{min-height:44px}.intro-state .credit{opacity:.65}
#menu{background:var(--ui-paper);color:var(--ui-green);padding:30px 28px 64px;overscroll-behavior:contain}#menu>.overline{font:10px var(--ui-sans);letter-spacing:2px;color:var(--ui-muted);margin:0 0 24px}#menu .brand-menu-links{gap:0;padding-top:12px;align-items:stretch}#menu .brand-menu-links button{text-align:left;display:flex;align-items:center;gap:15px;min-height:54px;font:400 20px/1.5 var(--ui-serif);padding:10px 2px;border-bottom:1px solid var(--ui-line);transition:color .2s,background .2s}#menu .brand-menu-links{counter-reset:chapter}#menu .brand-menu-links button:before{counter-increment:chapter;content:'0' counter(chapter);font:9px var(--ui-sans);color:var(--ui-muted);letter-spacing:1px}#menu .brand-menu-links button:hover{background:#405e4709;color:#223d2b}#menu .close{position:sticky;display:block;bottom:-64px;width:calc(100% + 56px);margin:24px -28px -64px;height:48px;background:var(--ui-green)}
#destination-page{background:var(--ui-paper);color:var(--ui-green);width:540px;inset:18px 18px 18px auto;max-width:calc(100% - 36px);scrollbar-color:#bbc2af transparent;overscroll-behavior:contain;scroll-padding-top:80px}.panel-bar{background:var(--ui-green);min-height:64px;padding:10px 22px 10px 30px;letter-spacing:1.4px;font-size:11px}.panel-bar button{width:44px;height:44px;display:grid;place-items:center;font-size:27px}.panel-content{padding:26px 30px 38px}.panel-hero img{height:auto;aspect-ratio:1.58}.panel-hero>span{width:40px;height:40px}.panel-caption{font:10px/1.7 var(--ui-sans)!important;letter-spacing:.2px;opacity:1;color:var(--ui-muted);margin:10px 0 24px!important}.panel-content h1{font:400 31px/1.5 var(--ui-serif);margin:0 0 22px;letter-spacing:.015em;text-wrap:balance}.panel-content>p,.panel-content details p{font:14px/2 var(--ui-sans);color:#62705b;margin:0 0 18px;letter-spacing:.02em}.panel-status{font:9px var(--ui-sans);letter-spacing:1.4px;border:1px solid var(--ui-line);padding:7px 10px;margin:5px 0 10px}.panel-content details{border-color:var(--ui-line);margin-top:25px;padding-top:0}.panel-content summary{min-height:64px;padding:22px 0;font:12px/20px var(--ui-sans);letter-spacing:.3px}.panel-content summary::-webkit-details-marker{display:none}.panel-content summary:after{font-size:17px;color:var(--ui-muted)}.panel-content h2{font:400 24px/1.5 var(--ui-serif);margin:0 0 20px}.panel-gallery,.panel-related{gap:16px;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#bbc2af transparent}.panel-gallery button{flex-basis:89%}.panel-gallery img{height:auto;aspect-ratio:1.5;display:block}.panel-gallery span{font:10px/1.6 var(--ui-sans);letter-spacing:.6px;color:var(--ui-muted);margin:12px 0 3px}.panel-link{min-height:44px}.panel-contact{margin:32px -30px;padding:38px 30px;background:var(--ui-green)}.panel-contact small{display:block;margin-bottom:20px;color:#fffbedad}.panel-contact h2{font-size:26px;max-width:300px;text-wrap:balance}.panel-contact button{min-height:46px;padding:15px 25px;background:var(--ui-paper)}.panel-contact p{margin:20px 0 0;max-width:350px;font:11px/1.9 var(--ui-sans);color:#fffbedb0;opacity:1}.panel-related-title{margin-top:38px!important;margin-bottom:20px!important;color:var(--ui-muted)}.panel-related button{flex-basis:72%}.panel-related h3{font:400 20px/1.5 var(--ui-serif);margin:15px 0 8px}.panel-related span{font:9px var(--ui-sans);letter-spacing:1px;color:var(--ui-muted)}.panel-related img{height:auto;aspect-ratio:1.55;display:block}#contact-dialog{background:var(--ui-paper);color:var(--ui-green);padding:60px 36px 30px}#contact-dialog h2{font-family:var(--ui-serif);text-wrap:balance}#contact-dialog p{font:13px/1.9 var(--ui-sans)}#contact-dialog select,#contact-dialog textarea{font-family:var(--ui-sans);font-size:14px;border-color:var(--ui-line);padding:13px;min-height:46px;border-radius:0}#contact-dialog .brand-solid{background:var(--ui-green);min-height:46px}#contact-dialog .close,#panel-lightbox button{width:44px;height:44px}#notes-dialog,#plan-dialog,#real-dialog{background:var(--ui-paper)}#plan-dialog .dialog-head{background:var(--ui-paper)}#destination-page button:focus-visible,#destination-page summary:focus-visible,#menu button:focus-visible{outline:2px solid #a7915d;outline-offset:3px}
@media(min-width:1000px){#menu{width:420px;right:32px;bottom:90px}#destination-page{inset:24px 24px 24px auto;width:min(540px,45vw)}}
@media(max-width:600px){#intro .intro-content{padding:116px 24px 48px}#intro h1{font-size:39px;margin:18px 0 22px}#intro .intro-content>.overline{font-size:9px;letter-spacing:2px;margin:16px 0 18px}#intro .intro-caption{font-size:12px;line-height:2.1}.brand-hero-actions{gap:18px;margin-top:26px}.brand-hero-actions button{font-size:10px}.brand-hero-actions .cream-button{padding:15px 21px}#menu{left:12px;right:12px;bottom:18px;width:auto;max-height:calc(100svh - 116px);padding:24px 24px 60px}#menu .brand-menu-links button{font-size:19px;min-height:51px}#menu .close{width:calc(100% + 48px);margin:20px -24px -60px;bottom:-60px}#destination-page{inset:8px;max-width:none;width:auto}.panel-bar{min-height:60px;padding:8px 12px 8px 24px}.panel-content{padding:22px 24px 30px}.panel-content h1{font-size:27px;line-height:1.5}.panel-content>p,.panel-content details p{font-size:14px;line-height:1.95}.panel-caption{font-size:9px!important}.panel-contact{margin:28px -24px;padding:32px 24px}.panel-contact h2{font-size:25px}#contact-dialog{width:calc(100% - 24px);max-width:none;padding:55px 25px 25px}}
@media(max-height:650px){#intro .intro-content{padding-top:90px;padding-bottom:20px}#intro .sun-mark{display:none}#intro h1{font-size:32px;margin:12px 0}.brand-hero-actions{margin-top:16px}.intro-content #silent-start{margin-top:4px}#intro .intro-content>.overline{margin:8px 0 12px}}
@media(prefers-reduced-motion:reduce){#menu .brand-menu-links button{transition:none}}
#menu .close{position:absolute;inset:auto 0 0;width:100%;margin:0;height:48px}#menu{padding-bottom:72px}
/* Legible coastal overlays; scene and camera remain unchanged. */
.tour-state:not(.cloud-opening) #vignette{z-index:2;background:linear-gradient(180deg,#081c16aa 0%,#081c162b 24%,transparent 42%,#081c163d 62%,#081c16d9 100%);opacity:1}
.tour-state:not(.cloud-opening)>header{color:#fffbed;text-shadow:0 2px 10px #061911}.tour-state:not(.cloud-opening) #brand{text-shadow:0 2px 12px #061911}.tour-state:not(.cloud-opening) #chapter{color:#fffbed;text-shadow:0 2px 14px #061911;max-width:calc(100vw - 60px);bottom:155px}.tour-state:not(.cloud-opening) #chapter-num{font:11px/1.8 var(--ui-sans);letter-spacing:2px;opacity:1}.tour-state:not(.cloud-opening) #chapter h2{font:400 clamp(34px,4.3vw,60px)/1.2 var(--ui-serif);margin:12px 0}.tour-state:not(.cloud-opening) #chapter p{font:15px/1.8 var(--ui-sans);letter-spacing:1px;color:#fffbed;opacity:1}.tour-state:not(.cloud-opening) #real-life{color:#fffbed;background:#203c30e6;padding:12px 16px;border:1px solid #fffbed44;backdrop-filter:blur(10px);text-shadow:none}.tour-state:not(.cloud-opening) #real-life small{color:#fffbed;opacity:1;font-size:12px}.tour-state:not(.cloud-opening) #home{background:#fffbed;color:#405e47;border-color:#fffbed;box-shadow:0 4px 18px #10271c33}.tour-state:not(.cloud-opening) #explore{min-height:58px;background:#fffbed;color:#405e47;padding:14px 28px;box-shadow:0 6px 28px #0c23184d;text-shadow:none;min-width:260px}.tour-state:not(.cloud-opening) #explore span{font:11px/1.6 var(--ui-sans);letter-spacing:1.5px}.tour-state:not(.cloud-opening) #explore small{font:11px/1.7 var(--ui-sans);opacity:1}.tour-state:not(.cloud-opening) .ai-note{color:#fffbed;font-size:10px;text-shadow:0 1px 4px #000;bottom:15px;max-width:70%;background:#173529c9;padding:5px 9px}.tour-state:not(.cloud-opening) .credit{color:#fffbed;opacity:1;text-shadow:0 1px 5px #000;font-size:9px;bottom:3px}.tour-state:not(.cloud-opening) .credit span{display:none}
#destination-page{color:#405e47}.panel-content>p,.panel-content details p{color:#485e43;font-size:15px;line-height:1.95}.panel-caption,.panel-gallery span,.panel-related span{color:#617159}.panel-bar{background:#456a4b}.panel-content h1,.panel-content h2{font-family:var(--ui-serif);font-weight:400}.panel-content details p{max-width:46ch}.panel-content summary{font-size:13px}.panel-content summary:hover{color:#263e2e}.panel-content button{transition:background .25s,color .25s}.panel-bar button:hover{background:#fffbed17}.panel-gallery img,.panel-related img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}.panel-gallery button,.panel-related button{overflow:hidden}.panel-gallery button:hover img,.panel-related button:hover img{transform:scale(1.025)}.panel-contact button:hover{background:#e6e9d4}.panel-content details[open]>:not(summary){animation:panel-unfold .45s ease both}.panel-gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:10px 0 20px;border-bottom:1px solid var(--ui-line);padding-bottom:12px;color:#617159;font:10px var(--ui-sans)}.panel-gallery-controls button{width:44px;height:44px;border:1px solid var(--ui-line);font-size:18px}.panel-gallery-controls>div{display:flex;gap:8px}@keyframes panel-unfold{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.tour-state:not(.cloud-opening) #chapter{left:24px;bottom:160px}.tour-state:not(.cloud-opening) #chapter h2{font-size:35px}.tour-state:not(.cloud-opening) #chapter p{font-size:13px}.tour-state:not(.cloud-opening) #real-life{left:20px;top:145px;padding:10px 12px}.tour-state:not(.cloud-opening) #home{top:226px;left:24px}.tour-state:not(.cloud-opening) #navigation{bottom:65px}.tour-state:not(.cloud-opening) #explore{width:calc(100vw - 48px);min-width:0}.tour-state:not(.cloud-opening) .ai-note{left:18px;bottom:17px;font-size:9px;max-width:calc(100% - 36px)}.tour-state:not(.cloud-opening) .credit{font-size:8px}.panel-content>p,.panel-content details p{font-size:14px;line-height:2}}
@media(prefers-reduced-motion:reduce){.panel-content details[open]>:not(summary){animation:none}.panel-gallery img,.panel-related img,.panel-content button{transition:none}}
.tour-state:not(.cloud-opening) #chapter{background:#163629e8;border-left:1px solid #fffbed70;padding:16px 22px 18px;text-shadow:none;width:max-content;bottom:185px;backdrop-filter:blur(8px)}.tour-state:not(.cloud-opening) #chapter h2{margin:9px 0;font-size:clamp(32px,3.5vw,48px)}.tour-state:not(.cloud-opening)>header:before{content:'';position:absolute;z-index:-1;inset:-25px -30px -25px;background:linear-gradient(#102c23e6,#102c2399,transparent);pointer-events:none}.tour-state:not(.cloud-opening) #chapter p{margin:0}@media(max-width:600px){.tour-state:not(.cloud-opening) #chapter{bottom:185px;left:24px;padding:14px 18px;max-width:calc(100% - 48px)}.tour-state:not(.cloud-opening) #chapter h2{font-size:33px}}
