/* Comfortable motion and navigation, progressively enhanced. */
.site-header{transition:box-shadow .25s,background .25s}
.site-header.is-scrolled{background:#fffefaf7;box-shadow:0 6px 28px #112f3610}
.reading-progress{position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:var(--teal);transform:scaleX(0);transform-origin:left;pointer-events:none}
.quick-paths{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.quick-paths a{font-size:13px;line-height:1.5;display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid #c5dbd0;border-radius:24px;background:#ffffff80;color:#355e58;transition:background .2s,border-color .2s,transform .2s}
.quick-paths a:hover{background:#e4f1e8;border-color:var(--teal);transform:translateY(-2px)}
.quick-paths span{color:var(--teal)}
.hero-visual{isolation:isolate}
.hero-visual:before{content:'';position:absolute;inset:10% -5%;background:radial-gradient(ellipse,#d5ed9480,transparent 68%);z-index:-1;border-radius:50%;pointer-events:none}
.profile-item,.solution-card,.audience-card,.training-gallery figure,.partner-list article{transition:transform .25s,box-shadow .25s,border-color .25s}
.training-gallery a{position:relative}
.training-gallery a:after{content:'↗ Xem ảnh';position:absolute;right:14px;bottom:14px;padding:7px 12px;border-radius:20px;background:#fffefaf0;color:var(--ink);font-size:12px;font-weight:600;box-shadow:0 3px 15px #112f3620;pointer-events:none}
.training-gallery img{transition:transform .55s}
.gains-row{transition:background .2s}
.gains-row:hover{background:#f0f6f280}
.faq-list summary{border-radius:5px;transition:color .2s,background .2s}
.faq-list summary:hover{color:var(--teal)}
.faq-list details[open]>p{animation:answer-in .25s ease-out}
.trigger-panel:not([hidden]){animation:answer-in .3s ease-out}
.share-profile{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--teal-deep);font-size:14px;font-weight:600;padding:10px 0;margin-top:15px;text-decoration:underline;text-underline-offset:5px}
.share-profile:hover{color:var(--teal)}
.contact-section .share-profile{color:var(--lime)}
.contact-section .share-profile:hover{color:#fff}
.viewing-photo{overflow:hidden}
.share-profile:disabled{opacity:.6;cursor:wait}
.mobile-connect{display:none}
.back-to-top{position:fixed;right:24px;bottom:25px;z-index:95;width:46px;height:46px;display:grid;place-items:center;border:1px solid #c5dbd0;border-radius:50%;background:#fffefaeb;backdrop-filter:blur(12px);color:var(--teal);box-shadow:0 5px 25px #112f3615;font-size:23px;transition:background .2s,transform .2s}
.back-to-top:hover{background:#e3f1e7;transform:translateY(-3px)}
.photo-dialog{width:min(1100px,94vw);max-width:94vw;border:1px solid #dbe4df;border-radius:16px;background:var(--paper);color:var(--ink);padding:16px;max-height:92dvh;box-shadow:0 24px 90px #0005}
.photo-dialog::backdrop{background:#0b2326d9;backdrop-filter:blur(7px)}
.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px}
.photo-dialog-head p{font-size:14px;color:var(--ink)}
.photo-close,.photo-nav button{border:1px solid var(--line);border-radius:8px;min-width:44px;min-height:44px;background:#fff;color:var(--ink);font-size:22px}
.photo-close:hover,.photo-nav button:hover{background:var(--mist)}
.photo-dialog figure{margin:0}
.photo-dialog img{width:100%;height:min(65dvh,720px);object-fit:contain;background:#eaf0eb;border-radius:8px}
.photo-dialog figcaption{font-size:14px;line-height:1.7;padding:14px 0 4px;color:var(--muted)}
.photo-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.photo-nav p{font-size:12px}
.photo-nav button{font-size:16px;padding:8px 16px}
@keyframes answer-in{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-arrive{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (hover:hover) and (pointer:fine){.solution-card:hover,.training-gallery figure:hover{transform:translateY(-5px);box-shadow:0 16px 38px #112f3610}.training-gallery a:hover img{transform:scale(1.025)}.profile-item:hover{transform:translateY(-3px);border-color:var(--teal)}.partner-list article:hover{transform:translateX(5px)}}
@media (prefers-reduced-motion:no-preference){.hero-copy{animation:hero-arrive .7s ease-out both}.hero-visual{animation:hero-arrive .9s .1s ease-out both}.reveal-pending{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending.is-visible{opacity:1;transform:none}}
@media(max-width:767px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.mobile-connect{position:fixed;bottom:0;left:0;right:0;z-index:99;display:grid;grid-template-columns:1.3fr 1fr;gap:10px;padding:11px 18px calc(11px + env(safe-area-inset-bottom,0px));background:#fffefaf5;backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -4px 25px #112f3608}.mobile-connect a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;font-size:14px;font-weight:600;border-radius:8px;background:var(--teal);color:white}.mobile-connect a:last-child{background:#eaf2ec;color:var(--teal-deep);border:1px solid #c8ddd2}.mobile-connect .icon{width:18px;height:18px}.back-to-top{bottom:calc(92px + env(safe-area-inset-bottom,0px));right:16px;width:42px;height:42px}.toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))!important;max-width:calc(100vw - 36px)}.quick-paths{gap:8px}.quick-paths a{font-size:12px;padding:9px 12px}.photo-dialog{padding:12px}.photo-dialog img{height:55dvh}.photo-nav button{padding:8px 12px}.photo-dialog-head p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1!important;transform:none!important}}
@media print{.reading-progress,.quick-paths,.mobile-connect,.back-to-top,.share-profile,.photo-dialog{display:none!important}body{padding-bottom:0}.reveal-pending{opacity:1!important;transform:none!important}}
