/* Quieter geometry across every route. Circular map markers remain circular. */
:root{--sc-r-sm:3px;--sc-r-md:0.25rem;--sc-r-lg:0.375rem;--sc-r-pill:0.25rem;--dx-header-height:4.875rem;scroll-padding-top:calc(var(--dx-header-height) + 1.25rem)}
body :is(.brand-mark,.dx-homeland-photo,.dx-feature-card,.dx-tour-card,.dx-360-window,.dx-360-library-card,.dx-directory-spotlight,.dx-directory-card,.record-card,.dx-calendar-board,.dx-calendar-agenda,.dx-atlas-map,.dx-atlas-card,.dx-tour-dialog-note,.dx-profile-related-grid>a,.dx-culture-ref-hero img,.dx-culture-ref-grid article,.dx-culture-cards article,.dx-roadmap article,.detail-aside,.dx-event-card){border-radius:0.25rem!important}
body :is(button,input,select,textarea,.header-cta,.button,.dx-light-button,.dx-360-button,.dx-profile-button,.dx-culture-ref-hero a,#dx-experience-search,.search-box,.dx-atlas-search,.dx-pano-stage-label,.dx-pano-controls,.dx-pano-status,.dx-360-photo-label){border-radius:3px!important}
body :is(.dx-demo-badge,.record-rank,.detail-rank,.dx-profile-heading>span,.dx-atlas-map-brand,.dx-event-date-badge,.dx-atlas-filters button span){border-radius:2px!important}
html.dx-motion-enabled .dx-photo-unveil{clip-path:inset(0 0 10% 0 round 0.25rem)}
html.dx-motion-enabled .dx-photo-unveil.sc-in{clip-path:inset(0 round 0.25rem)}
/* The roof stays grounded. Type enters once, then follows ordinary page scroll. */
.dx-hero-building,.dx-hero-heading,.dx-hero-paper,.dx-hero-light{translate:none;scale:1}
.dx-hero-heading>p{animation:dx-hero-type-in .75s cubic-bezier(.2,.7,.2,1) both}
.dx-hero-heading>span{animation:dx-hero-type-in .85s .08s cubic-bezier(.2,.7,.2,1) both}
.dx-hero-heading>h1{animation:dx-hero-type-in .95s .16s cubic-bezier(.2,.7,.2,1) both}
.dx-hero-bottom>p,.dx-hero-bottom>a{animation:dx-hero-type-in .85s .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes dx-hero-type-in{from{opacity:0;transform:translate3d(0,1.5rem,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.dx-hero-dragon{position:absolute;z-index:0;pointer-events:none;left:50%;top:0;width:min(73.75rem,94%);max-width:none;height:78%;object-fit:contain;transform:translateX(-50%);opacity:.12;mix-blend-mode:multiply}
/* A fixed header with a stable slot avoids shifting the page when it shrinks. */
.dx-header-slot{height:4.875rem}
.site-header{position:fixed;inset:0 0 auto;width:100%;height:var(--dx-header-height);z-index:80;background:#fffcf8f5;transition:height .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s;border-bottom:1px solid #e5d7c5}
.site-header .brand{transform-origin:left center;transition:transform .22s cubic-bezier(.2,.7,.3,1)}
.site-header .main-nav{align-self:stretch;align-items:stretch}
.site-header .main-nav>a{display:flex;align-items:center;height:100%;padding-block:0}
.site-header .main-nav>a:after{bottom:0.9375rem;transition:transform .2s}
.site-header .header-cta{padding:0.6875rem 1.0625rem;font-size:1rem}
html.dx-header-compact{--dx-header-height:3.875rem}
html.dx-header-compact .site-header{box-shadow:0 0.4375rem 1.5rem #64472a12}
html.dx-header-compact .site-header .brand{transform:scale(.88)}
html.dx-header-compact .site-header .main-nav>a:after{bottom:0.625rem}
/* Each 360 route is a dedicated viewer with its own navigation. */
body.dx-tour-mode{height:100dvh;overflow:hidden}
body.dx-tour-mode>.dx-header-slot,body.dx-tour-mode>.footer,body.dx-tour-mode>.skip-link{display:none!important}
body.dx-tour-mode>#main{height:100dvh;min-height:0;margin:0;padding:0}
.dx-pano-immersive{height:100dvh;max-height:100dvh;padding:0;display:flex;flex-direction:column;background:#f8f2e8;overflow:hidden}
.dx-pano-immersive .dx-pano-top{flex:none;min-height:4.25rem;padding:0.6875rem 1.375rem;gap:1.375rem;border-bottom:1px solid #e0cdb4;background:#fffbf4}
.dx-pano-immersive .dx-pano-back{font-size:1rem;gap:0.5rem;min-height:2.75rem}
.dx-pano-immersive .dx-pano-back .material-symbols-outlined{font-size:1.375rem}
.dx-pano-identity{flex:1;min-width:0}
.dx-pano-immersive .dx-pano-identity small{font-size:1rem;letter-spacing:.14em}
.dx-pano-immersive .dx-pano-identity h1{font-size:1.6875rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0.25rem 0 0}
.dx-pano-tools{display:flex;gap:0.5rem;flex:none}
.dx-pano-tools button{display:flex;align-items:center;justify-content:center;gap:0.5rem;min-height:2.75rem;padding:0 0.8125rem;border:1px solid #d4b99a;background:#f5ead9;color:#7a5636;font-size:1rem;font-weight:600}
.dx-pano-tools button[aria-expanded=true]{background:#e5cfaf;border-color:#b68a58}
.dx-pano-tools .material-symbols-outlined{font-size:1.25rem}
.dx-pano-immersive .dx-pano-demo-note{flex:none;padding:0.5rem 1.375rem;gap:0.625rem;min-height:2.125rem}
.dx-pano-immersive .dx-pano-demo-note>p{font-size:1rem;line-height:1.5}
.dx-pano-immersive .dx-pano-demo-note>.material-symbols-outlined{font-size:1rem}
.dx-pano-immersive .dx-pano-demo-note>a{font-size:1rem}
.dx-pano-immersive .dx-pano-viewer{display:flex;flex:1;flex-direction:column;min-height:0}
.dx-pano-immersive .dx-pano-stage{height:auto!important;min-height:0!important;max-height:none;flex:1;min-width:0}
.dx-pano-scenes-panel{flex:none;max-height:12.625rem;overflow:auto;border-top:1px solid #e4cfb3;background:#faf4e9}
.dx-pano-immersive .dx-pano-scene-header{padding:0.8125rem 1.375rem 0.5625rem}
.dx-pano-immersive .dx-pano-scene-header h2{font-size:1.25rem}
.dx-pano-immersive .dx-pano-scenes{padding:0 1.375rem 0.875rem}
.dx-pano-immersive .dx-pano-scenes>button{flex-basis:9.0625rem}
.dx-pano-immersive .dx-pano-scenes img{height:4.5rem}
.dx-pano-immersive .dx-pano-scenes span{min-height:2.5rem;padding:0.4375rem 0.5625rem;font-size:1rem}
.dx-pano-map-dialog{position:fixed;inset:0 0 0 auto;width:26.25rem;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;background:#fcf7ee;color:#6d4d31;border:0;border-left:1px solid #d9c1a2;box-shadow:-0.875rem 0 2.8125rem #35220c30;overflow:auto}
.dx-pano-map-dialog::backdrop{background:#38271366}
.dx-pano-map-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4375rem 1.5rem;border-bottom:1px solid #e0ccb2}
.dx-pano-map-heading small{font-size:1rem;letter-spacing:.13em;font-weight:700;color:#8b6743}
.dx-pano-map-heading h2{font-size:1.75rem;line-height:1.2;margin:0.5rem 0 0}
.dx-pano-map-heading>button{display:grid;place-items:center;min-width:2.75rem;height:2.75rem;background:#eee0ca;border:1px solid #ddc6a6;color:#7f5935}
.dx-pano-map-dialog>iframe{display:block;width:100%;height:min(33dvh,18.75rem);border:0;filter:saturate(.75)}
.dx-pano-map-help{font-size:1rem;line-height:1.7;color:#8b6a49;padding:1.125rem 1.5rem 0;margin:0}
.dx-pano-places{padding:0.75rem 1.5rem 1.5625rem}
.dx-pano-places>a{display:grid;grid-template-columns:1.75rem minmax(0,1fr) 1.25rem;gap:0.625rem;align-items:center;border-top:1px solid #dfc9ad;min-height:4.9375rem;padding:0.875rem 0.5rem;color:#6f4c2d}
.dx-pano-places>a:last-child{border-bottom:1px solid #dfc9ad}
.dx-pano-places>a[aria-current=page]{background:#ecdbc1}
.dx-pano-places>a>span:first-child{font-size:1rem;font-weight:700;color:#a07c50}
.dx-pano-places strong{font-family:'Noto Serif',Georgia,serif;font-size:1.125rem;line-height:1.2;font-weight:600;display:block}
.dx-pano-places small{font-size:1rem;display:block;color:#94724f;margin-top:0.3125rem}
.dx-pano-places .material-symbols-outlined{font-size:1.125rem;color:#9f784c}
.dx-pano-immersive:fullscreen{height:100dvh;width:100vw}
@media(max-width:1000px){.site-header{gap:0.9375rem}.site-header .brand{min-width:11.875rem}.site-header .main-nav{gap:0.875rem}.site-header .main-nav>a{font-size:1rem}.site-header .header-cta{font-size:1rem;padding:0.625rem 0.75rem}}
@media(max-width:1000px){
 :root{--dx-header-height:4.25rem}html.dx-header-compact{--dx-header-height:3.625rem}.dx-header-slot{height:4.25rem}
 .site-header{padding-inline:1.25rem}.site-header .brand{min-width:0}.site-header .main-nav{top:var(--dx-header-height);max-height:calc(100dvh - var(--dx-header-height));overflow:auto;gap:0}.site-header .main-nav>a{height:auto;min-height:3rem;font-size:1.125rem;padding:0.75rem 0}
 .site-header .header-cta{display:none}.site-header .main-nav>a:after{display:none}html.dx-header-compact .site-header .brand{transform:scale(.92)}
 .dx-hero-dragon{top:14%;width:165%;height:60%;opacity:.11}
 .dx-pano-immersive .dx-pano-top{min-height:4.125rem;padding:0.5rem 0.75rem;gap:0.5625rem;align-items:center}
 .dx-pano-immersive .dx-pano-back{font-size:0;min-width:2.25rem;padding:0}.dx-pano-back>span:not(.material-symbols-outlined){display:none}
 .dx-pano-immersive .dx-pano-identity{min-width:0}.dx-pano-immersive .dx-pano-identity small{font-size:1rem;letter-spacing:.08em}.dx-pano-immersive .dx-pano-identity h1{font-size:1.3125rem;margin-top:0.3125rem}
 .dx-pano-tools{gap:0.3125rem}.dx-pano-tools button{width:2.5rem;min-height:2.75rem;padding:0}.dx-pano-tools button>span:not(.material-symbols-outlined){display:none}
 .dx-pano-immersive .dx-pano-demo-note{display:flex;gap:0.4375rem;padding:0.4375rem 0.75rem;min-height:0}.dx-pano-immersive .dx-pano-demo-note>p{font-size:1rem;line-height:1.6}.dx-pano-immersive .dx-pano-demo-note>a{font-size:0;min-width:1.25rem}.dx-pano-immersive .dx-pano-demo-note>a .material-symbols-outlined{font-size:1.125rem}
 .dx-pano-scenes-panel{max-height:10rem}.dx-pano-immersive .dx-pano-scene-header{padding:0.5625rem 0.75rem 0.4375rem}.dx-pano-immersive .dx-pano-scene-header h2{display:none}.dx-pano-immersive .dx-pano-caption{font-size:1rem}.dx-pano-immersive .dx-pano-scenes{padding:0 0.75rem 0.5625rem;gap:0.4375rem}.dx-pano-immersive .dx-pano-scenes>button{flex-basis:7.75rem}.dx-pano-immersive .dx-pano-scenes img{height:3.625rem}
 .dx-pano-map-dialog{inset:auto 0.625rem 0.625rem;width:calc(100% - 1.25rem);max-height:calc(100dvh - 1.25rem);height:auto;border:1px solid #d7bd98;border-radius:0.25rem}.dx-pano-map-heading{padding:1rem 1.125rem}.dx-pano-map-heading h2{font-size:1.5625rem}.dx-pano-map-dialog>iframe{height:12.5rem}.dx-pano-map-help{padding:0.75rem 1.125rem 0}.dx-pano-places{padding:0.5625rem 1.125rem 1.125rem}.dx-pano-places>a{min-height:4.25rem;padding-block:0.625rem}
}
@media(prefers-reduced-motion:reduce){.dx-hero-heading>p,.dx-hero-heading>span,.dx-hero-heading>h1,.dx-hero-bottom>p,.dx-hero-bottom>a{animation:none}.site-header,.site-header .brand{transition:none}}
/* Leave room inside the scrollport for the complete resting and hover shadows. */
.dx-feature-rail{width:calc(100% + 5vw + 6rem);padding:2rem 3rem 5rem;margin:-2rem -3rem -5rem;scroll-padding-inline:3rem;overflow-y:hidden}
.dx-featured-cards{padding-bottom:4.75rem}
@media(max-width:1000px){.dx-featured-cards{padding-bottom:4rem}}
/* Detailed bronze raster ornaments on a deeper warm bronze footer. */
.footer{position:relative;isolation:isolate;overflow:hidden;padding-top:4rem;background:#694c3c;color:#fff3e1}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4rem;background:url('/assets/footer-crane-band.png') repeat-x center;background-size:28.125rem 9.375rem;opacity:.58;pointer-events:none;z-index:-1}
.footer::after{content:"";position:absolute;width:32.5rem;height:32.5rem;right:-6.875rem;bottom:-14.375rem;background:url('/assets/footer-dong-son-drum.png') center/contain no-repeat;opacity:.25;pointer-events:none;z-index:-1}
.footer-brand-row strong{color:#fff3e1}.footer-brand-row small,.footer-nav-group>strong{color:#e6c595}
.footer-brand>p{color:#eadbca}.footer-nav-group>a{color:#fff0df}.footer-nav-group>a:hover{color:#edc685}
.footer-bottom{border-top-color:#c4a27845;color:#e1c9a9}.footer-logo{filter:brightness(1.65) saturate(.7)}
@media(max-width:1000px){.footer{padding-top:3.25rem}.footer::before{height:3.25rem;background-size:24.375rem 8.125rem;opacity:.5}.footer::after{width:23.125rem;height:23.125rem;right:-7.8125rem;bottom:-9.375rem;opacity:.19}}
/* Keep experience search and its destinations in the same visual group. */
.dx-experience-intro{padding-top:2.25rem;padding-bottom:1.25rem}
.dx-experience-intro h1{font-size:clamp(2.25rem,4vw,3.375rem);margin:0.75rem 0 0.8125rem;line-height:1.13;letter-spacing:-.04em}
.dx-experience-intro h1 br{display:none}.dx-experience-intro h1 em::before{content:" "}
.dx-experience-intro>p:not(.dx-eyebrow){max-width:49.375rem;font-size:1.125rem;line-height:1.65}
#dx-experience-search{margin-top:1.25rem;max-width:none}#dx-experience-search .search-box{height:3.375rem}
.dx-quick-search{margin-top:0.75rem}
.dx-experience-page .dx-360-library{padding-top:0.875rem;padding-bottom:3.4375rem}
.dx-experience-page .dx-360-library .dx-directory-heading{margin-bottom:0.75rem}
.dx-experience-page .dx-360-library .dx-directory-heading h2{font-size:clamp(1.625rem,3vw,2.25rem);margin-top:0.5625rem}
.dx-experience-page .dx-360-library-note{margin-bottom:1.125rem;max-width:59.375rem;font-size:1rem;line-height:1.65}
.dx-experience-page .dx-360-library-photo{height:11.875rem}.dx-experience-page .dx-360-library-body{padding:1.125rem 1.25rem}
.dx-experience-results{margin-top:0.625rem;background:#fffaf2;border:1px solid #ddc8ac;padding:0.875rem 1rem}
.dx-experience-results>p{font-size:1rem;margin:0 0 0.625rem;color:#8a6b50}
.dx-experience-results>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.3125rem 1.125rem}
.dx-experience-results>div>a{display:flex;align-items:center;gap:0.75rem;padding:0.625rem 0.4375rem;border-bottom:1px solid #e8d9c6;color:#715139;min-height:3.5625rem}
.dx-experience-results>div>a:hover,.dx-experience-results>div>a:focus-visible{background:#f0e1cc}
.dx-experience-results>div>a>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.dx-experience-results strong{font-size:1.125rem}.dx-experience-results small{font-size:1rem;color:#90775e}
.dx-experience-results .material-symbols-outlined{font-size:1.3125rem}.dx-search-all{display:flex;gap:0.5rem;align-items:center;font-size:1rem;padding-top:0.8125rem}
@media(max-width:1000px){.dx-experience-intro{padding-top:1.5625rem;padding-bottom:1rem}.dx-experience-intro h1{font-size:2.1875rem}.dx-experience-intro>p:not(.dx-eyebrow){font-size:1rem}.dx-experience-page .dx-360-library{padding-top:0.5rem}.dx-experience-results>div{grid-template-columns:1fr}.dx-experience-results{padding:0.75rem}.dx-experience-page .dx-360-library-photo{height:11.25rem}}
/* Let the heritage mark sit directly on the header background. */
.site-header .brand-mark{border:0;background:transparent;box-shadow:none;overflow:visible;padding:0}
/* Overlay page scrollbar uses no layout width and never changes the viewport. */
html{scrollbar-width:none;scrollbar-gutter:auto}html::-webkit-scrollbar{width:0;height:0;display:none}
.dx-overlay-scrollbar{position:fixed;right:0;top:3px;bottom:3px;width:1rem;z-index:9999;opacity:0;transition:opacity .2s;touch-action:none;cursor:pointer;outline-offset:-2px}
.dx-overlay-scrollbar>span{display:block;position:absolute;top:0;right:3px;width:0.3125rem;border-radius:0.5rem;background:#98714cd9;box-shadow:0 0 0 1px #fff5e330}
.dx-overlay-scrollbar.is-active,.dx-overlay-scrollbar:hover,.dx-overlay-scrollbar:focus-visible{opacity:1}.dx-overlay-scrollbar[hidden]{display:none!important}.dx-scroll-dragging{user-select:none!important;cursor:grabbing!important}
body:has(dialog[open])>.dx-overlay-scrollbar{display:none}
@media(pointer:coarse){.dx-overlay-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.dx-overlay-scrollbar{transition:none}}

@media(max-width:600px){
 .dx-pano-immersive .dx-pano-top{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.5rem}
 .dx-pano-immersive .dx-pano-top>a{padding:0;min-width:0}
 .dx-pano-immersive .dx-pano-tools{gap:.25rem}
 .dx-pano-immersive .dx-pano-tools button{width:2.75rem;min-height:2.75rem;padding:.5rem}
}
