/* Generated by performance:optimize-assets. */

/* style.frontend.css */
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}button,input,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,figure,p{margin:0}ol,ul,menu{margin:0;padding:0;list-style:none}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}img,svg,video,iframe,embed{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}:root{--background:45 33% 95%;--foreground:201 28% 21%;--card:0 0% 100%;--card-foreground:201 28% 21%;--popover:0 0% 100%;--popover-foreground:201 28% 21%;--primary:204 65% 18%;--primary-foreground:0 0% 100%;--secondary:120 6% 91%;--secondary-foreground:204 65% 18%;--muted:120 6% 91%;--muted-foreground:201 18% 42%;--accent:40 51% 55%;--accent-foreground:204 65% 18%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--border:120 6% 91%;--input:120 6% 91%;--ring:40 51% 55%;--chart-1:204 65% 18%;--chart-2:40 51% 55%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.625rem;--font-heading:"Lora", ui-serif, Georgia, serif;--font-body:"Be Vietnam Pro", ui-sans-serif, system-ui, sans-serif;--font-display:"Lora", ui-serif, Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sidebar-background:45 33% 95%;--sidebar-foreground:201 28% 21%;--sidebar-primary:204 65% 18%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:120 6% 91%;--sidebar-accent-foreground:204 65% 18%;--sidebar-border:120 6% 91%;--sidebar-ring:40 51% 55%}*{border-color:hsl(var(--border));outline-color:hsl(var(--ring) / .5)}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background-color:hsl(var(--background));font-family:var(--font-body);color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{color:#10364b;background-color:#c7a052}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-x-0{left:0;right:0}.left-0{left:0}.left-3{left:.75rem}.left-4{left:1rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-28{top:7rem}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-24{width:6rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-primary{border-color:hsl(var(--primary))}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gold{--tw-bg-opacity:1;background-color:rgb(199 160 82/var(--tw-bg-opacity,1))}.bg-ivory{--tw-bg-opacity:1;background-color:rgb(247 245 239/var(--tw-bg-opacity,1))}.bg-navy{--tw-bg-opacity:1;background-color:rgb(16 54 75/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-36{padding-top:9rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-heading{font-family:var(--font-heading)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-gold{--tw-text-opacity:1;color:rgb(199 160 82/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(38 57 67/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-navy{--tw-text-opacity:1;color:rgb(16 54 75/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.text-balance{text-wrap:balance}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}


/* custom.css */
/* Bổ sung cho style.css: menu mobile và form đăng ký (thay cho component React gốc) */
.hd-menu[hidden], .hd-modal[hidden] { display: none; }
.hd-menu { position: fixed; inset: 0; z-index: 60; }
.hd-menu__backdrop, .hd-modal__backdrop { position: absolute; inset: 0; background: rgba(16, 54, 75, .45); backdrop-filter: blur(3px); }
.hd-menu__panel { position: absolute; right: 0; top: 0; height: 100%; width: 82%; max-width: 24rem; background: #faf8f3; display: flex; flex-direction: column; box-shadow: -8px 0 30px rgba(0, 0, 0, .15); }
.hd-menu__top { display: flex; align-items: center; justify-content: space-between; height: 5rem; padding: 0 1.25rem; border-bottom: 1px solid #e5e5e5; }
.hd-menu__close, .hd-modal__close { background: none; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; color: #10364b; }
.hd-menu nav { display: flex; flex-direction: column; padding: .5rem 1.25rem; }
.hd-menu nav a { padding: 1rem 0; font-size: 1.125rem; color: #10364b; border-bottom: 1px solid #e5e5e5; }
.hd-menu__actions { margin-top: auto; padding: 1.25rem 1.25rem 2rem; display: grid; gap: .75rem; }
.hd-btn { display: block; width: 100%; text-align: center; padding: .875rem 1.25rem; border-radius: 9999px; font-weight: 500; cursor: pointer; border: 1px solid transparent; }
.hd-btn--navy { background: #10364b; color: #fff; }
.hd-btn--ghost { border-color: rgba(16, 54, 75, .2); color: #10364b; }
.hd-modal { position: fixed; inset: 0; z-index: 70; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.hd-modal__box { position: relative; width: 100%; max-width: 36rem; max-height: 92vh; overflow: auto; background: #faf8f3; border-radius: 1rem; padding: 2rem; display: grid; gap: 1rem; color: #10364b; }
.hd-modal__box h2 { font-size: 1.5rem; font-weight: 600; }
.hd-modal__lead { color: rgba(16, 54, 75, .7); font-size: .95rem; }
.hd-modal__close { position: absolute; top: .75rem; right: 1rem; }
.hd-grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .hd-grid { grid-template-columns: 1fr 1fr; } }
.hd-modal label { display: grid; gap: .375rem; font-size: .875rem; font-weight: 500; }
.hd-modal input, .hd-modal select, .hd-modal textarea { font: inherit; padding: .65rem .8rem; border: 1px solid #d4d4d4; border-radius: .5rem; background: #fff; }
.hd-modal input:focus, .hd-modal select:focus, .hd-modal textarea:focus { outline: 2px solid #c9a24d; border-color: transparent; }
.hd-error { color: #b42318; font-size: .875rem; min-height: 1em; }

/* Trang Coaching: ảnh card thấp hơn (4:3) */
.hd-short .aspect-\[3\/4\] { aspect-ratio: 4 / 3; }

/* Form mua hàng: dòng giá */
.hd-price { margin: -.25rem 0 0; padding: .6rem .9rem; border-radius: .6rem; background: rgba(199, 160, 82, .14); color: #10364b; font-weight: 600; font-size: .95rem; }
.hd-price[hidden] { display: none; }
.hd-birth[hidden], .hd-item[hidden] { display: none; }


/* header-light.css */
/* Header sáng, tối giản, sticky — áp dụng cho toàn bộ trang */
header.fixed {
  background: rgba(250, 249, 246, .96) !important;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(12, 45, 66, .06);
  box-shadow: none; transition: box-shadow .3s ease;
}
header.fixed.is-scrolled { box-shadow: 0 10px 30px -22px rgba(12, 45, 66, .55); }
header.fixed > div { max-width: 1400px !important; }

/* menu navy + gạch chân vàng khi hover / trang hiện tại */
header nav > a, header nav > .hd-dd > a { color: #0c2d42 !important; font-weight: 500; letter-spacing: .01em; }
header nav > a span, header nav > .hd-dd > a span { background: #c59a48 !important; height: 2px !important; }
header nav > a:hover span, header nav > a[data-active="1"] span, header nav > .hd-dd:hover > a span, header nav > .hd-dd > a[data-active="1"] span { width: 100% !important; }
header nav a[data-active="1"] { font-weight: 600; }
header img { height: 4rem !important; }
@media (min-width: 1500px) { header.fixed > div { padding-left: 0 !important; padding-right: 0 !important; } }

/* hotline 2 dòng */
header a[href^="tel:"] { color: #0c2d42 !important; align-items: center; }
header a[href^="tel:"] svg { color: #c59a48; width: 1.35rem; height: 1.35rem; }
header .hd-hotline { display: flex; flex-direction: column; line-height: 1.2; }
header .hd-hotline small { font-size: .72rem; color: #627582; font-weight: 400; }
header .hd-hotline b { font-size: .95rem; font-weight: 600; color: #0c2d42; letter-spacing: .01em; }

/* nút đăng ký */
header button:not([aria-label]) {
  background: #c59a48 !important; color: #fff !important; font-weight: 600; padding: .8rem 1.6rem !important;
  box-shadow: 0 10px 24px -14px rgba(197, 154, 72, .9); transition: background .25s, transform .25s, box-shadow .25s;
}
header button:not([aria-label])::after { content: "→"; margin-left: .5rem; transition: transform .25s; display: inline-block; }
header button:not([aria-label]):hover { background: #b2873a !important; transform: translateY(-1px); }
header button:not([aria-label]):hover::after { transform: translateX(4px); }
header button[aria-label="Mở menu"] { color: #0c2d42 !important; }

/* menu xổ xuống */
header nav .hd-dd { position: relative; }
header nav .hd-dd > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px .5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .25s; }
header nav .hd-dd:hover > a::after { transform: rotate(225deg) translate(-2px, -2px); }
.hd-dd__panel { position: absolute; left: -1.1rem; top: 100%; min-width: 17rem; padding-top: 1.2rem; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s, transform .25s, visibility .25s; z-index: 60; }
.hd-dd:hover .hd-dd__panel, .hd-dd:focus-within .hd-dd__panel { opacity: 1; visibility: visible; transform: none; }
.hd-dd__panel > div { background: #fff; border-radius: 14px; padding: .55rem; box-shadow: 0 24px 50px -22px rgba(12, 45, 66, .5); border: 1px solid rgba(12, 45, 66, .07); }
.hd-dd__panel a { display: block; padding: .6rem .85rem; border-radius: 9px; font-size: .9rem; line-height: 1.35; color: #0c2d42; transition: background .2s, color .2s; }
.hd-dd__panel a:hover { background: #faf9f6; color: #a9802f; }


/* footer.css */
/* Footer Học viện Hải Đăng — CTA + thông tin liền một khối */
.hd-footer {
  --hd-navy: #0e3448;
  --hd-navy-deep: #0a2636;
  --hd-gold: #d9ac58;
  --hd-ivory: #faf8f3;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--hd-ivory);
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(217, 172, 88, .10), transparent 70%),
    radial-gradient(520px 360px at 8% 28%, rgba(255, 213, 138, .10), transparent 70%),
    radial-gradient(420px 380px at 94% 20%, rgba(143, 184, 220, .10), transparent 70%),
    linear-gradient(180deg, #123b52 0%, var(--hd-navy) 38%, var(--hd-navy-deep) 100%);
}

/* ---------- CTA ---------- */
.hd-cta { position: relative; padding: 6.5rem 1.25rem 5rem; text-align: center; }
.hd-cta__inner { position: relative; z-index: 2; max-width: 46rem; margin: 0 auto; }
.hd-eyebrow { display: flex; align-items: center; justify-content: center; gap: .9rem; margin-bottom: 1.5rem;
  color: var(--hd-gold); font-size: .75rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.hd-eyebrow::before, .hd-eyebrow::after { content: ""; width: 2.5rem; height: 1px; background: var(--hd-gold); opacity: .8; }
.hd-cta h2 { font-family: var(--font-heading), Georgia, serif; font-weight: 500;
  font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.18; text-wrap: balance; margin: 0; }
.hd-cta h2 em { font-style: normal; color: var(--hd-gold); }
.hd-cta__rule { width: 3rem; height: 1px; background: var(--hd-gold); margin: 1.75rem auto 1.5rem; opacity: .7; }
.hd-cta p { color: rgba(250, 248, 243, .78); font-size: 1.0625rem; line-height: 1.7; max-width: 34rem; margin: 0 auto; }
.hd-cta__actions { margin-top: 2.25rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.hd-btn-gold, .hd-btn-line { display: inline-flex; align-items: center; gap: .6rem; padding: .95rem 1.9rem; border-radius: 9999px;
  font-weight: 500; font-size: .95rem; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, background .25s, border-color .25s, color .25s; }
.hd-btn-gold { background: var(--hd-gold); color: var(--hd-navy); border: 1px solid var(--hd-gold); }
.hd-btn-gold { box-shadow: 0 8px 24px -10px rgba(217,172,88,.5); }
.hd-btn-gold:hover { transform: translateY(-2px); background: #e4bb6c; box-shadow: 0 14px 32px -10px rgba(217, 172, 88, .7); }
.hd-btn-gold svg { transition: transform .25s ease; }
.hd-btn-gold:hover svg { transform: translateX(4px); }
.hd-btn-line { color: var(--hd-ivory); border: 1px solid rgba(250, 248, 243, .35); background: transparent; }
.hd-btn-line:hover { transform: translateY(-2px); border-color: var(--hd-gold); color: var(--hd-gold); background: rgba(217, 172, 88, .08); }
.hd-btn-gold:focus-visible, .hd-btn-line:focus-visible, .hd-footer a:focus-visible { outline: 2px solid var(--hd-gold); outline-offset: 3px; }

/* hình minh họa */
.hd-art { position: absolute; pointer-events: none; z-index: 1; display: none; }
.hd-art--book { left: -2%; bottom: 1.5rem; width: min(34vw, 520px); opacity: .9; filter: drop-shadow(0 18px 40px rgba(0,0,0,.28));
  -webkit-mask-image: radial-gradient(ellipse 62% 70% at 55% 48%, #000 40%, transparent 100%); mask-image: radial-gradient(ellipse 62% 70% at 55% 48%, #000 40%, transparent 100%); }
.hd-art--arch { right: 3%; top: 2.5rem; width: min(16vw, 250px); opacity: .88;
  -webkit-mask-image: radial-gradient(ellipse 70% 62% at 50% 42%, #000 45%, transparent 100%); mask-image: radial-gradient(ellipse 70% 62% at 50% 42%, #000 45%, transparent 100%); }
.hd-curve { display: none !important; }
.hd-side { position: absolute; z-index: 2; display: none; color: rgba(250, 248, 243, .42); font-size: .7rem; letter-spacing: .3em; line-height: 2; text-transform: uppercase; }
.hd-side--left { left: 3.5rem; top: 4rem; padding-left: 1rem; border-left: 1px solid rgba(217, 172, 88, .35); }
.hd-side--right { right: calc(2% + min(17vw, 260px) + 2.5rem); top: 5rem; text-align: right; }
.hd-quote { position: absolute; left: 3.5rem; top: 10.5rem; z-index: 2; display: none; text-align: left; font-family: var(--font-heading), Georgia, serif; font-style: italic;
  color: rgba(250, 248, 243, .45); font-size: .92rem; line-height: 1.6; }
@media (min-width: 1024px) { .hd-art, .hd-curve { display: block; } .hd-art--book { left: -2%; bottom: 1.5rem; width: min(34vw, 520px); opacity: .9; filter: drop-shadow(0 18px 40px rgba(0,0,0,.28));
  -webkit-mask-image: radial-gradient(ellipse 62% 70% at 55% 48%, #000 40%, transparent 100%); mask-image: radial-gradient(ellipse 62% 70% at 55% 48%, #000 40%, transparent 100%); } }
@media (min-width: 1280px) { .hd-side, .hd-quote { display: block; } }

/* đường phân cách mềm */
.hd-divider { position: relative; z-index: 2; height: 90px; margin: -45px 0 -45px; pointer-events: none;
  background: radial-gradient(ellipse 45% 50% at 50% 50%, rgba(217, 172, 88, .16), transparent 70%); }
.hd-divider::after { content: ""; position: absolute; left: 50%; top: 50%; width: min(760px, 70%); height: 1px; transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(217, 172, 88, .4), transparent); }

/* ---------- Thông tin ---------- */
.hd-info { position: relative; z-index: 2; max-width: 1240px; margin: 2.5rem auto 0; padding: 3rem 1.5rem 2.5rem; border-radius: 2rem;
  background: linear-gradient(180deg, rgba(250,248,243,.045), rgba(250,248,243,.015)); border: 1px solid rgba(250,248,243,.07); display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .hd-info { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .hd-info { grid-template-columns: 1.35fr 1fr 1.2fr 1.1fr; gap: 2rem; padding: 3.75rem 3rem 3.25rem; } }
.hd-brand__logo { display: inline-block; margin-bottom: 1.25rem; }
.hd-brand__logo img { display: block; width: 15rem; max-width: 100%; height: auto; }
.hd-brand__slogan { font-family: var(--font-heading), Georgia, serif; font-style: italic; font-size: 1.15rem; line-height: 1.5; color: var(--hd-ivory); margin: 0; }
.hd-brand__desc { margin: .9rem 0 0; font-size: .9rem; line-height: 1.7; color: rgba(250, 248, 243, .62); max-width: 18rem; }
.hd-social { display: flex; gap: .65rem; margin-top: 1.4rem; }
.hd-social a { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: 9999px; color: var(--hd-ivory);
  background: rgba(250, 248, 243, .07); border: 1px solid rgba(250, 248, 243, .16); transition: all .25s ease; }
.hd-social a:hover { color: var(--hd-navy); background: var(--hd-gold); border-color: var(--hd-gold); transform: translateY(-2px); }
.hd-col h4 { margin: 0 0 1.3rem; color: var(--hd-gold); font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.hd-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; font-size: .93rem; color: rgba(250, 248, 243, .8); }
.hd-col li { display: flex; align-items: flex-start; gap: .7rem; }
.hd-col li > svg { flex: none; width: 1.1rem; height: 1.1rem; margin-top: .2rem; color: var(--hd-gold); }
.hd-col--nav li { justify-content: space-between; max-width: 13rem; }
.hd-col--nav li a::after { content: none; }
.hd-col--nav li::after { content: "›"; color: rgba(250, 248, 243, .4); transition: transform .25s, color .25s; }
.hd-col--nav li:hover::after { transform: translateX(3px); color: var(--hd-gold); }
/* gạch chân tinh tế */
.hd-footer .hd-link { background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: background-size .3s ease, color .25s; padding-bottom: 2px; }
.hd-footer .hd-link:hover { color: var(--hd-gold); background-size: 100% 1px; }

/* ---------- Dưới cùng ---------- */
.hd-bottom { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 0 1.5rem 2rem; }
@media (min-width: 1024px) { .hd-bottom { padding: 0 3rem 2.25rem; } }
.hd-bottom__row { padding-top: 1.5rem; border-top: 1px solid rgba(250, 248, 243, .07); display: flex; flex-direction: column; gap: .6rem; align-items: center;
  text-align: center; font-size: .78rem; color: rgba(250, 248, 243, .55); }
.hd-bottom__row p { margin: 0; }
.hd-bottom__row .hd-tag { font-family: var(--font-heading), Georgia, serif; font-style: italic; }
@media (min-width: 768px) { .hd-bottom__row { flex-direction: row; justify-content: space-between; text-align: left; } }

/* mobile / tablet */
@media (max-width: 639px) {
  .hd-cta { padding: 4.5rem 1.25rem 3.5rem; }
  .hd-cta__actions { flex-direction: column; align-items: stretch; }
  .hd-btn-gold, .hd-btn-line { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .hd-footer * { transition: none !important; } }

/* lề hai bên cho thẻ thông tin khi màn hình hẹp */
@media (max-width: 1279px) { .hd-info { margin-left: 1rem; margin-right: 1rem; } .hd-bottom { padding-left: 2rem; padding-right: 2rem; } }


/* partners.bundle.css */
/* Generated by performance:optimize-assets. Do not edit directly. */

/* hero-programs.css */
/* Hero giới thiệu chương trình (trang Khóa học) */
.hd-hero {
  --hd-navy: #0e3448;
  --hd-gold: #d9ac58;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #faf8f3;
  min-height: clamp(520px, 62vh, 680px);
  display: flex;
  align-items: center;
  padding: 8rem 0 6.5rem;
  background:
    radial-gradient(700px 420px at 78% 40%, rgba(255, 213, 138, .12), transparent 70%),
    radial-gradient(600px 400px at 6% 85%, rgba(143, 184, 220, .08), transparent 70%),
    linear-gradient(105deg, #0a2636 0%, var(--hd-navy) 48%, #12405a 100%);
}
.hd-hero__inner { position: relative; z-index: 3; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.25rem; }
@media (min-width: 1024px) { .hd-hero__inner { padding: 0 2rem; } }
.hd-hero__text { max-width: 52rem; }
.hd-hero__eyebrow { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.6rem; color: var(--hd-gold);
  font-size: .78rem; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; }
.hd-hero__eyebrow::before { content: ""; width: 2.6rem; height: 1px; background: var(--hd-gold); }
.hd-hero h1 { margin: 0; font-family: var(--font-heading), Georgia, serif; font-weight: 500; letter-spacing: -.01em;
  font-size: clamp(2.3rem, 3.4vw, 4rem); line-height: 1.1; }
.hd-hero h1 span { display: block; white-space: nowrap; }
@media (max-width: 640px) { .hd-hero h1 span { white-space: normal; } }
.hd-hero h1 .hd-gold { color: var(--hd-gold); }
.hd-hero p { margin: 1.75rem 0 0; max-width: 33rem; color: rgba(250, 248, 243, .74); font-size: 1.0625rem; line-height: 1.75; }

/* hình minh họa bên phải, tan vào nền */
.hd-hero__art { position: absolute; z-index: 1; right: 0; top: 4.5rem; bottom: 0; width: min(60%, 1000px); overflow: visible; pointer-events: none; }
.hd-hero__art img { position: absolute; right: 0; bottom: 0; height: min(100%, 33vw); width: auto; max-width: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(180deg, #000 82%, transparent 100%);
  -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(180deg, #000 82%, transparent 100%); mask-composite: intersect; }
.hd-hero__art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 52, 72, .0) 40%, rgba(10, 38, 54, .0) 100%); }

/* đường cong vàng mảnh chạy qua section */
.hd-hero__curve { position: absolute; z-index: 2; left: 0; bottom: 0; width: 100%; height: 100%; pointer-events: none; }
.hd-hero__curve path { fill: none; stroke: var(--hd-gold); stroke-opacity: .42; stroke-width: 1.2; vector-effect: non-scaling-stroke; }

/* viền chuyển mềm xuống section kế tiếp */
.hd-hero::after { content: ""; position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(180deg, transparent, rgba(10, 38, 54, .55)); pointer-events: none; }

/* header trên trang có hero này: kính navy mỏng thay vì trong suốt hoàn toàn */
body:has(.hd-hero) header.bg-transparent { background: rgba(10, 38, 54, .62); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(217, 172, 88, .16); }

@media (max-width: 1023px) {
  .hd-hero { min-height: 0; padding: 7rem 0 3.5rem; }
  .hd-hero__art { width: 100%; opacity: .32; }
  .hd-hero__art img { -webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 100%); mask-image: linear-gradient(180deg, #000 20%, transparent 100%); }
}
@media (max-width: 639px) { .hd-hero p { font-size: 1rem; } }

/* Mỗi trang một tông nền riêng */
.hd-hero--coaching { background:
  radial-gradient(760px 460px at 80% 45%, rgba(255, 200, 120, .20), transparent 70%),
  radial-gradient(520px 380px at 4% 90%, rgba(217, 172, 88, .09), transparent 70%),
  linear-gradient(105deg, #0b2a3b 0%, #0f3a50 50%, #174a5d 100%); }
.hd-hero--sach { background:
  radial-gradient(640px 420px at 70% 30%, rgba(255, 213, 138, .14), transparent 70%),
  radial-gradient(560px 400px at 5% 80%, rgba(60, 120, 130, .16), transparent 70%),
  linear-gradient(105deg, #07202e 0%, #0b2d40 52%, #0f3a50 100%); }
.hd-hero--kienthuc { background:
  radial-gradient(760px 460px at 78% 35%, rgba(255, 213, 138, .16), transparent 70%),
  radial-gradient(560px 400px at 8% 85%, rgba(143, 184, 220, .14), transparent 70%),
  linear-gradient(105deg, #0a2a3c 0%, #123e56 52%, #1a5068 100%); }
.hd-hero--vehaidang { background:
  radial-gradient(900px 520px at 72% 60%, rgba(255, 190, 110, .26), transparent 72%),
  radial-gradient(520px 380px at 6% 20%, rgba(143, 184, 220, .10), transparent 70%),
  linear-gradient(105deg, #0a2636 0%, #123b52 50%, #1c4f66 100%); }


/* partners.css */
/* Section Hợp tác cùng Hải Đăng — Partnership showcase (6 card 3×2, ảnh cắt cong) */
.hd-pa { --navy: #0c2d42; --gold: #c59a48; --muted: #627582; position: relative; isolation: isolate; overflow: hidden; padding: 5.5rem 0 6.5rem;
  background: radial-gradient(900px 500px at 100% 0%, rgba(255, 231, 172, .32), transparent 70%), radial-gradient(700px 400px at 0% 100%, rgba(240, 228, 200, .5), transparent 70%), linear-gradient(180deg, #faf9f6, #f7f1e4); }
.hd-pa__wrap { position: relative; z-index: 2; width: calc(100% - 80px); max-width: 1600px; margin: 0 auto; }

/* ---------- đầu section ---------- */
.hd-pa__head { position: relative; min-height: 330px; padding-bottom: 1rem; }
.hd-pa__text { position: relative; z-index: 3; max-width: 58rem; }
.hd-pa__eyebrow { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.5rem; color: var(--gold); font-size: .8rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.hd-pa__eyebrow::before { content: ""; width: 2.6rem; height: 1px; background: var(--gold); }
.hd-pa h2 { margin: 0; font-family: "Playfair Display", var(--font-heading), Georgia, serif; font-weight: 500; letter-spacing: -.016em; line-height: 1.1; font-size: clamp(2.2rem, 3.7vw, 4rem); color: var(--navy); }
.hd-pa h2 span { display: block; white-space: nowrap; }
.hd-pa__desc { margin: 1.5rem 0 0; color: var(--muted); font-size: 1.1rem; line-height: 1.65; max-width: 44rem; }

/* cảnh hải đăng bên phải */
.hd-pa__scene { position: absolute; z-index: 1; top: -.5rem; right: -1rem; width: min(34vw, 560px); pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(180deg, #000 70%, transparent 100%); -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(180deg, #000 70%, transparent 100%); mask-composite: intersect; }
.hd-pa__scene svg { display: block; width: 100%; height: auto; }
.hd-pa__vtext { position: absolute; z-index: 2; top: 3.2rem; right: 0; text-align: left; color: rgba(197, 154, 72, .85); font-size: .56rem; letter-spacing: .3em; line-height: 2; text-transform: uppercase; pointer-events: none; }
.hd-pa__path { position: absolute; z-index: 1; left: 0; top: -1rem; width: 100%; height: 420px; pointer-events: none; overflow: visible; }
.hd-pa__path path { fill: none; stroke: var(--gold); stroke-opacity: .65; stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.2s ease .2s; }
.hd-pa__path.in path { stroke-dashoffset: 0; }
.hd-pa__dot { position: absolute; z-index: 2; width: 7px; height: 7px; border-radius: 9999px; background: var(--gold); box-shadow: 0 0 0 4px rgba(197, 154, 72, .18); pointer-events: none; }
.hd-pa__cta { position: absolute; z-index: 4; right: min(4vw, 70px); bottom: 1.2rem; display: inline-flex; align-items: center; gap: .8rem; padding: 1rem 2rem; border-radius: 40px; background: #fffdf8; border: 1.5px solid var(--gold); color: var(--navy); font-weight: 700; font-size: 1rem; text-decoration: none; box-shadow: 0 16px 30px -20px rgba(185, 138, 53, .8); transition: background .3s, color .3s, transform .3s; }
.hd-pa__cta svg { width: 1.1rem; height: 1.1rem; transition: transform .3s; }
.hd-pa__cta:hover { background: var(--gold); color: #fff; }
.hd-pa__cta:hover svg { transform: translateX(5px); }

/* ---------- lưới 6 card (24 cột) ---------- */
.hd-pa__grid { margin-top: 2.2rem; display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 1.4rem; }
.hd-pc6 { position: relative; display: block; min-height: 330px; border-radius: 20px; overflow: hidden; background: linear-gradient(135deg, #fffdf8, #fbf5e8); border: 1px solid rgba(214, 191, 144, .35);
  box-shadow: 0 22px 46px -34px rgba(12, 45, 66, .45); transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s, border-color .45s; text-decoration: none; color: inherit; }
.hd-pc6:nth-child(1) { grid-column: span 12; } .hd-pc6:nth-child(2), .hd-pc6:nth-child(3) { grid-column: span 6; }
.hd-pc6:nth-child(4) { grid-column: span 8; } .hd-pc6:nth-child(5) { grid-column: span 9; } .hd-pc6:nth-child(6) { grid-column: span 7; }
.hd-pc6:hover { transform: translateY(-5px); box-shadow: 0 32px 54px -30px rgba(12, 45, 66, .5); border-color: rgba(197, 154, 72, .6); }
.hd-pc6__body { position: relative; z-index: 2; width: 60%; height: 100%; min-height: inherit; display: flex; flex-direction: column; padding: 1.7rem 0 1.7rem 1.9rem; }
.hd-pc6:nth-child(1) .hd-pc6__body { width: 56%; } .hd-pc6:nth-child(5) .hd-pc6__body { width: 55%; }
.hd-pc6__num { display: flex; align-items: center; gap: 1rem; color: var(--gold); font-family: "Playfair Display", Georgia, serif; font-size: 1.5rem; line-height: 1; font-variant-numeric: lining-nums; }
.hd-pc6__num::after { content: ""; width: 3.2rem; height: 1px; background: rgba(197, 154, 72, .6); }
.hd-pc6__top { display: flex; align-items: center; gap: 1.1rem; margin-top: 1.1rem; }
.hd-pc6__ico { flex: none; width: 3.7rem; height: 3.7rem; display: grid; place-items: center; border-radius: 9999px; background: #f4ecd9; color: var(--gold); transition: transform .4s; }
.hd-pc6:hover .hd-pc6__ico { transform: translateY(-3px); }
.hd-pc6__ico svg { width: 1.7rem; height: 1.7rem; stroke-width: 1.4; }
.hd-pc6 h3 { margin: 0; font-family: "Playfair Display", Georgia, serif; font-weight: 500; font-size: clamp(1.2rem, 1.5vw, 1.55rem); line-height: 1.25; color: var(--navy); transition: color .3s; }
.hd-pc6:hover h3 { color: #a9802f; }
.hd-pc6 p { margin: 1.15rem 0 0; color: var(--muted); font-size: .96rem; line-height: 1.7; }
.hd-pc6__go { margin-top: auto; padding-top: 1rem; }
.hd-pc6__go i { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 9999px; border: 1px solid rgba(197, 154, 72, .85); color: var(--gold); background: transparent; transition: background .3s, color .3s, transform .3s; }
.hd-pc6__go svg { width: 1.05rem; height: 1.05rem; }
.hd-pc6:hover .hd-pc6__go i { background: var(--gold); color: #fff; transform: translateX(4px); }

/* ảnh cắt cong bất đối xứng, mở rộng sang cạnh phải */
.hd-pc6__img { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: 42%; overflow: hidden; border-radius: 55% 0 0 55% / 50% 0 0 50%; background: #efe9db; }
.hd-pc6:nth-child(1) .hd-pc6__img { width: 45%; } .hd-pc6:nth-child(5) .hd-pc6__img { width: 46%; }
.hd-pc6__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.hd-pc6:hover .hd-pc6__img img { transform: scale(1.04); }
.hd-pc6__arc { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: calc(42% + 18px); border-radius: 55% 0 0 55% / 50% 0 0 50%; border: 1px solid rgba(197, 154, 72, .55); border-right: 0; pointer-events: none; transition: border-color .4s; }
.hd-pc6:nth-child(1) .hd-pc6__arc { width: calc(45% + 18px); } .hd-pc6:nth-child(5) .hd-pc6__arc { width: calc(46% + 18px); }
.hd-pc6:hover .hd-pc6__arc { border-color: var(--gold); }
.hd-pc6__hand { position: absolute; z-index: 3; left: 38%; bottom: 1.4rem; transform: rotate(-9deg); color: #b0852f; font-family: "Dancing Script", "Segoe Script", cursive; font-size: 1.3rem; line-height: 1.25; pointer-events: none; }

/* chia lại chiều rộng chữ / ảnh để không chồng nhau */
.hd-pc6:nth-child(n) .hd-pc6__body { padding-right: .8rem; }
.hd-pc6:nth-child(1) .hd-pc6__body { width: 60%; } .hd-pc6:nth-child(1) .hd-pc6__img { width: 40%; } .hd-pc6:nth-child(1) .hd-pc6__arc { width: calc(40% + 16px); }
.hd-pc6:nth-child(2) .hd-pc6__body, .hd-pc6:nth-child(3) .hd-pc6__body { width: 64%; }
.hd-pc6:nth-child(2) .hd-pc6__img, .hd-pc6:nth-child(3) .hd-pc6__img { width: 36%; } .hd-pc6:nth-child(2) .hd-pc6__arc, .hd-pc6:nth-child(3) .hd-pc6__arc { width: calc(36% + 14px); }
.hd-pc6:nth-child(4) .hd-pc6__body { width: 62%; } .hd-pc6:nth-child(4) .hd-pc6__img { width: 38%; } .hd-pc6:nth-child(4) .hd-pc6__arc { width: calc(38% + 16px); }
.hd-pc6:nth-child(5) .hd-pc6__body { width: 60%; } .hd-pc6:nth-child(5) .hd-pc6__img { width: 40%; } .hd-pc6:nth-child(5) .hd-pc6__arc { width: calc(40% + 16px); }
.hd-pc6:nth-child(6) .hd-pc6__body { width: 64%; } .hd-pc6:nth-child(6) .hd-pc6__img { width: 36%; } .hd-pc6:nth-child(6) .hd-pc6__arc { width: calc(36% + 14px); }
.hd-pc6 h3 { font-size: clamp(1.15rem, 1.35vw, 1.5rem); } .hd-pc6 p { font-size: .93rem; line-height: 1.65; }
.hd-pc6__hand { left: 40%; bottom: 1.2rem; }

/* ---------- chuyển động ---------- */
@media (prefers-reduced-motion: no-preference) { html.js-anim .hd-pa .hd-reveal--u { transform: translateY(36px); } html.js-anim .hd-pa .hd-reveal--u.in { transform: none; } }
@media (prefers-reduced-motion: reduce) { .hd-pa__path path { stroke-dashoffset: 0; transition: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1439px) { .hd-pa__wrap { width: calc(100% - 56px); } .hd-pc6__body { padding-left: 1.5rem; } .hd-pa__grid { gap: 1.1rem; } .hd-pc6__top { gap: .8rem; } .hd-pc6__ico { width: 3.1rem; height: 3.1rem; } }
@media (max-width: 1199px) {
  .hd-pa { padding: 4.6rem 0 5rem; }
  .hd-pa__head { min-height: 0; }
  .hd-pa h2 span { display: inline; white-space: normal; } .hd-pa h2 span::after { content: " "; }
  .hd-pa__scene, .hd-pa__path, .hd-pa__dot, .hd-pa__vtext { display: none; }
  .hd-pa__cta { position: static; margin-top: 1.6rem; }
  .hd-pa__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hd-pc6:nth-child(n) { grid-column: auto; min-height: 320px; }
  .hd-pc6:nth-child(1) .hd-pc6__body, .hd-pc6:nth-child(5) .hd-pc6__body, .hd-pc6__body { width: 58%; }
  .hd-pc6:nth-child(n) .hd-pc6__img { width: 42%; } .hd-pc6:nth-child(n) .hd-pc6__arc { width: calc(42% + 14px); }
  .hd-pc6__hand { display: none; }
}
@media (max-width: 699px) {
  .hd-pa__wrap { width: calc(100% - 40px); }
  .hd-pa h2 { font-size: clamp(2rem, 8.4vw, 2.5rem); }
  .hd-pa h2 span { display: block; white-space: normal; } .hd-pa h2 span::after { content: none; }
  .hd-pa__cta { width: 100%; justify-content: space-between; }
  .hd-pa__grid { grid-template-columns: 1fr; }
  .hd-pc6:nth-child(n) { min-height: 0; display: flex; flex-direction: column-reverse; }
  .hd-pc6:nth-child(n) .hd-pc6__body { width: auto; min-height: 0; padding: 1.4rem; }
  .hd-pc6:nth-child(n) .hd-pc6__img { position: relative; width: 100%; height: 190px; border-radius: 0; }
  .hd-pc6__arc { display: none; }
}

@media (max-width: 1199px) {
  .hd-pc6:nth-child(n) .hd-pc6__body { width: 62%; }
  .hd-pc6:nth-child(n) .hd-pc6__img { width: 38%; } .hd-pc6:nth-child(n) .hd-pc6__arc { width: calc(38% + 14px); }
}
@media (max-width: 699px) {
  .hd-pc6:nth-child(n) .hd-pc6__body { width: auto; padding: 1.4rem; }
  .hd-pc6:nth-child(n) .hd-pc6__img { width: 100%; }
}
@media (max-width: 699px) {
  .hd-pa h2 span { display: inline; } .hd-pa h2 span::after { content: " "; }
  .hd-pc6:nth-child(n) .hd-pc6__body { height: auto; min-height: 0; }
  .hd-pc6__go { margin-top: 1.2rem; padding-top: 0; }
}



/* HD responsive utility hotfix 2026-10-25 */.max-w-\[1280px\]{max-width:1280px}.aspect-\[16\/10\]{aspect-ratio:16/10}.text-\[15px\]{font-size:15px}.tracking-\[0\.2em\]{letter-spacing:.2em}.leading-\[1\.2\]{line-height:1.2}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-8{padding:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:items-center{align-items:center}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-16{gap:4rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:text-\[2\.6rem\]{font-size:2.6rem}}