/* Shared brand and contact controls. */
.header .wrap{min-height:104px;gap:24px}.header .brand,.app-header>a:first-child{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;line-height:1;letter-spacing:.16em}.header .brand img,.app-header>a:first-child img{position:static!important;display:block;flex:none;width:52px!important;height:52px!important;max-width:none;object-fit:contain;margin:0!important;transform:none!important}.header nav{gap:3px;flex-wrap:wrap;justify-content:flex-end}.header nav a{padding:10px 11px;font-size:12px;font-weight:500;line-height:1.4;border-radius:5px;transition:background .18s,color .18s}.header nav a:hover,.header nav a[aria-current=page]{background:#deca9612;color:var(--gold)}.header nav .nav-cta{background:var(--gold);color:#172018;padding:12px 18px;margin-left:7px;border:0}.header nav .nav-cta:hover{background:#eee0b7;color:#172018}.contact-float{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:15;display:inline-flex;gap:10px;align-items:center;padding:13px 18px;border-radius:32px;border:1px solid #ead8a770;background:#26372e;color:#fff7df;box-shadow:0 8px 30px #040b0855;font:500 13px/1.3 'Be Vietnam Pro',sans-serif;text-decoration:none;transition:transform .18s,background .18s}.contact-float svg{width:23px;height:23px;flex:none}.contact-float:hover{background:#354b3e;transform:translateY(-2px)}.contact-float:focus-visible{outline:3px solid #deca96;outline-offset:4px}.fanpage-link{display:inline-flex;gap:8px;color:var(--gold,#deca96);font-size:13px}.footer{padding-bottom:100px}.app-header>a:first-child{white-space:nowrap}.app-header nav{flex-wrap:wrap}.app-header+.contact-float{bottom:90px}
@media(max-width:1050px){.header .wrap{padding:18px 0;flex-wrap:wrap;gap:12px}.header nav{width:100%;justify-content:flex-start;gap:5px}.header nav a{padding:10px 12px}.header .brand img{width:46px!important;height:46px!important}}
@media(max-width:600px){.header .wrap{min-height:0;gap:12px}.header .brand{font-size:24px}.header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:11px;gap:4px}.header nav a{text-align:center;padding:11px 5px;border:1px solid #deca961a;white-space:nowrap}.header nav .nav-cta{margin:0;padding:11px 5px}.contact-float{right:16px;bottom:max(18px,env(safe-area-inset-bottom));padding:14px}.contact-float span{display:none}.app-header>a:first-child img{width:38px!important;height:38px!important}}
@media(prefers-reduced-motion:reduce){.contact-float,.header nav a{transition:none}}
/* Signature navigation: three main destinations, quiet utility links. */
.header.nav-enhanced{border-bottom:1px solid #deca962b;background:linear-gradient(120deg,#122019ed,#18231bed)}
.header.nav-enhanced .wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;padding:25px 0 15px;align-items:center}
.header.nav-enhanced nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px;min-width:0}
.nav-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative}
.header.nav-enhanced a.nav-service{display:flex;align-items:center;gap:10px;min-height:76px;padding:14px 15px;border:1px solid #cfba8038;background:linear-gradient(135deg,#dfce9910,#dfce9902);border-radius:13px;position:relative;isolation:isolate;overflow:hidden;transition:transform .25s,border-color .3s,background .3s,box-shadow .3s;text-align:left;white-space:normal}
.nav-service::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(110deg,transparent 20%,#eed69922 48%,transparent 75%);transform:translateX(-130%)}
.header.nav-enhanced a.nav-service:hover,.header.nav-enhanced a.nav-service:focus-visible{transform:translateY(-3px);border-color:#e7ce897d;background:#d9c58c17;box-shadow:0 8px 24px #0002;color:#fff1c9}
.nav-service:hover::after,.nav-service:focus-visible::after{animation:nav-glint .85s ease-out}
.header.nav-enhanced a.nav-service[aria-current=page]{border-color:#dec68b94;background:#dec68b1b;box-shadow:inset 0 -2px 0 #e4c888}
.service-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;color:#e4ce98}
.service-icon svg{width:38px;height:34px;overflow:visible}
.icon-fan rect{fill:#1a281f}.icon-orbit{transform-origin:20px 17px;transition:transform .8s}.icon-numbers{transform-origin:20px 17px}
.nav-tarot:hover .icon-fan,.nav-tarot:focus-visible .icon-fan{animation:nav-card-tilt .7s ease-in-out}
.nav-ziwei:hover .icon-orbit,.nav-ziwei:focus-visible .icon-orbit{transform:rotate(60deg)}
.nav-numbers:hover .icon-numbers,.nav-numbers:focus-visible .icon-numbers{animation:nav-number-rise .65s ease-in-out}
.service-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.service-title{font-size:15px;font-weight:600;color:#f1e3bc;letter-spacing:.01em}.service-detail{font-size:10px;line-height:1.4;font-weight:400;color:#a9b6a9;white-space:nowrap}.service-arrow{margin-left:auto;font-size:16px;color:#c4b782}
.nav-star-guide{position:absolute;width:30px;height:30px;top:-19px;left:0;transform:translateX(var(--guide-x,0px)) rotate(-9deg);transition:transform .65s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:3;filter:drop-shadow(0 0 7px #e8dba43b)}
.nav-star-guide svg{width:100%;height:100%;animation:guide-greet 1.8s ease-in-out 2}.guide-eyes{transform-origin:20px 19px;animation:guide-blink 4s 2}
.header.nav-enhanced .nav-secondary{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.header.nav-enhanced .nav-secondary a{border:0;background:transparent;font-size:11px;min-height:38px;display:inline-flex;align-items:center;padding:8px 12px;color:#c3cbbf;border-radius:7px}
.header.nav-enhanced .nav-secondary a:hover{color:#fff0c3;background:#e5d7a710}
.header.nav-enhanced .nav-secondary .nav-cta{background:#dfcb97;color:#182219;margin-left:8px;padding-inline:17px}
.header.nav-enhanced .nav-secondary .nav-cta:hover{background:#f0dfb3;color:#182219}
@keyframes nav-glint{to{transform:translateX(130%)}}
@keyframes nav-card-tilt{35%{transform:rotate(-7deg)}70%{transform:rotate(5deg)}}
@keyframes nav-number-rise{40%{transform:translateY(-3px)}75%{transform:translateY(1px)}}
@keyframes guide-greet{50%{transform:translateY(-4px) rotate(12deg)}}
@keyframes guide-blink{0%,42%,48%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@media(max-width:1100px){.header.nav-enhanced .wrap{grid-template-columns:1fr;gap:22px}.header.nav-enhanced .brand{justify-self:center}.header.nav-enhanced .nav-secondary{justify-content:center}}
@media(max-width:600px){.header.nav-enhanced .wrap{padding:18px 0 10px;gap:24px}.nav-services{gap:6px}.header.nav-enhanced a.nav-service{flex-direction:column;gap:7px;padding:12px 4px 11px;min-height:93px;justify-content:center;text-align:center;border-radius:12px}.service-icon,.service-icon svg{width:32px;height:29px;flex-basis:29px}.service-title{font-size:12px}.service-detail,.service-arrow{display:none}.nav-star-guide{width:26px;height:26px;top:-16px}.header.nav-enhanced .nav-secondary{gap:0}.header.nav-enhanced .nav-secondary a{font-size:10px;padding:8px 9px;min-height:40px}.header.nav-enhanced .nav-secondary .nav-cta{margin-left:2px;padding-inline:12px}}
.paused .nav-star-guide svg,.paused .guide-eyes{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.header.nav-enhanced *,.header.nav-enhanced *::after{animation:none!important;transition:none!important}.header.nav-enhanced a.nav-service:hover{transform:none}}
