:root{--color-primary:#007a8a;--color-primary-dark:#005f6b;--color-secondary:#002d5a;--color-bg:#fafafa;--color-surface:#fff;--color-text:#1e293b;--color-text-light:#64748b;--font-heading:"Montserrat", sans-serif;--font-body:"Inter", sans-serif;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1);--shadow-sm:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-md:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000008;--shadow-lg:0 20px 25px -5px #0000000d, 0 10px 10px -5px #00000005;--section-spacing:clamp(60px, 10vw, 120px);--container-padding:clamp(16px, 5vw, 24px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;width:100%;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);letter-spacing:-.02em;line-height:1.15}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1280px;padding:0 var(--container-padding);margin:0 auto}.btn{font-family:var(--font-body);transition:var(--transition-smooth);cursor:pointer;text-align:center;border:none;border-radius:8px;justify-content:center;align-items:center;padding:clamp(12px,2vw,14px) clamp(20px,3vw,28px);font-size:clamp(.95rem,1vw + .5rem,1rem);font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-outline{color:var(--color-secondary);border:1px solid var(--color-secondary);background-color:#0000}.btn-outline:hover{background-color:var(--color-secondary);color:#fff}.btn-zalo{color:#0068ff;background-color:#0000;border:1px solid #0068ff}.btn-zalo:hover{color:#fff;background-color:#0068ff}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;width:100%;transition:var(--transition-smooth);background:#fffffffa;border-bottom:1px solid #0000000d;position:fixed;top:0;left:0}.nav-wrapper{justify-content:space-between;align-items:center;height:clamp(64px,8vw,80px);display:flex}.logo{flex-shrink:0;align-items:center;gap:12px;display:flex}.logo svg{width:clamp(32px,5vw,40px);height:auto}.logo-text{font-family:var(--font-heading);color:var(--color-secondary);font-size:clamp(.9rem,1.5vw + .5rem,1.1rem);font-weight:700;line-height:1.2}.logo-text small{color:var(--color-text-light);font-size:.85em;font-weight:400;display:block}.nav-links{gap:clamp(16px,3vw,32px);display:flex}.nav-links a{color:var(--color-text);transition:var(--transition-smooth);font-size:.95rem;font-weight:500;position:relative}.nav-links a:hover{color:var(--color-primary)}.menu-toggle{cursor:pointer;color:var(--color-secondary);background:0 0;border:none;font-size:1.8rem;display:none}.hero{background-color:#f0f7f8;align-items:center;min-height:100vh;padding-top:clamp(80px,15vw,140px);padding-bottom:clamp(60px,10vw,80px);display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;object-position:center left;width:50%;height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.hero .container{z-index:2;position:relative}.hero-content{max-width:640px}.hero-title{color:var(--color-secondary);margin-bottom:clamp(16px,3vw,24px);font-size:clamp(2.1rem,3.2vw + 1rem,3.4rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--color-text-light);max-width:500px;margin-bottom:clamp(24px,5vw,40px);font-size:clamp(1rem,1.5vw + .5rem,1.2rem);line-height:1.5}.hero-actions{flex-wrap:wrap;gap:16px;margin-bottom:clamp(32px,6vw,48px);display:flex}.info-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(12px,2vw,20px);display:grid}.info-card{background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border-radius:12px;flex-direction:column;gap:6px;padding:clamp(16px,3vw,24px);display:flex}.info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.info-card strong{color:var(--color-secondary);font-family:var(--font-heading);font-size:clamp(1rem,1.5vw + .5rem,1.1rem)}.info-card span{color:var(--color-text-light);font-size:.95rem;line-height:1.4}section{padding:var(--section-spacing) 0}.section-title{text-align:center;margin-bottom:16px;font-size:clamp(2rem,4vw + 1rem,3rem)}.section-subtitle{text-align:center;color:var(--color-text-light);max-width:600px;margin:0 auto clamp(32px,6vw,64px);font-size:clamp(1rem,1.5vw + .5rem,1.1rem)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,64px);display:grid}.about-image{box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.about-image img{aspect-ratio:4/3;object-fit:cover;object-position:50% 22%;width:100%}.about-content h3{margin-bottom:16px;font-size:clamp(1.8rem,3vw + .5rem,2.5rem)}.about-content p{color:var(--color-text-light);margin-bottom:24px;font-size:clamp(1rem,1.5vw + .5rem,1.05rem)}.license-box{border-left:4px solid var(--color-primary);background:#f8fafc;border-radius:0 8px 8px 0;margin:32px 0;padding:16px 24px}.core-values{flex-wrap:wrap;gap:24px;display:flex}.value-item{color:var(--color-secondary);font-weight:600;font-family:var(--font-heading);align-items:center;gap:8px;display:flex}.services-grid{--gap:clamp(20px, 4vw, 32px);justify-content:center;gap:var(--gap);flex-wrap:wrap;display:flex}.service-card{flex:0 1 calc((100% - 2 * var(--gap)) / 3);background:var(--color-surface);min-width:280px;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border:1px solid #00000008;border-radius:16px;padding:clamp(24px,4vw,40px) clamp(20px,3vw,32px)}.service-card:hover{box-shadow:var(--shadow-lg);border-color:#007a8a1a;transform:translateY(-8px)}.service-icon{width:56px;height:56px;color:var(--color-primary);background:#007a8a1a;border-radius:12px;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.service-card h4{margin-bottom:12px;font-size:1.4rem}.service-card p{color:var(--color-text-light);font-size:.95rem}.contact-grid{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,64px);display:grid}.contact-form{background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:16px;padding:clamp(24px,5vw,48px)}.map-container{height:100%;min-height:350px;box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.footer{background:var(--color-secondary);color:#fff;padding:64px 0 32px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(32px,6vw,64px);margin-bottom:48px;display:grid}.footer-info p{color:#ffffffb3;max-width:400px;margin-top:16px}.footer-links h4{color:#fff;margin-bottom:24px;font-size:1.2rem}.footer-links ul{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#ffffffb3;transition:var(--transition-smooth)}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;color:#ffffff80;border-top:1px solid #ffffff1a;padding-top:32px;font-size:.9rem}@media (width<=992px){.about-grid,.contact-grid{grid-template-columns:1fr}}@media (width<=768px){.logo-text small,.header-call-btn{display:none!important}.menu-toggle{z-index:1001;position:absolute;top:50%;right:24px;transform:translateY(-50%);display:block!important}.nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;background:#fffffffa;flex-direction:column;gap:0;width:100%;position:absolute;top:100%;left:0;box-shadow:0 10px 15px -3px #0000001a;display:none!important}.nav-links.active{display:flex!important}.nav-links a{text-align:center;border-bottom:1px solid #0000000d;width:100%;padding:16px 24px;display:block}.hero-bg{opacity:.1;width:100%;-webkit-mask-image:none;mask-image:none}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.info-cards{grid-template-columns:1fr}.core-values{flex-direction:column;gap:16px}}.float-contact{z-index:900;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:16px;right:16px}.float-btn{color:#fff;width:56px;height:56px;font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 6px 16px #00000040}.float-btn:hover,.float-btn:focus-visible{transform:translateY(-3px);box-shadow:0 10px 22px #0000004d}.float-zalo{background-color:#0068ff}.float-call{background-color:var(--color-primary)}@media (prefers-reduced-motion:no-preference){.float-call{animation:2.4s ease-out infinite float-pulse}}@keyframes float-pulse{0%{box-shadow:0 6px 16px #00000040,0 0 #007a8a80}70%{box-shadow:0 6px 16px #00000040,0 0 0 16px #007a8a00}to{box-shadow:0 6px 16px #00000040,0 0 #007a8a00}}@media (width>=769px){.float-call{display:none}}@media (width<=768px){.footer{padding-bottom:104px}}@media (width<=640px){.service-card{flex-basis:100%}}.booking{background-color:#f0f7f8}.booking-phone{color:var(--color-primary);font-weight:600}.booking-card{background:var(--color-surface);max-width:720px;box-shadow:var(--shadow-md);border-radius:16px;margin:0 auto;padding:clamp(24px,5vw,48px)}.form-row{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.form-group{margin-bottom:20px}.form-label{color:var(--color-text);margin-bottom:8px;font-weight:500;display:block}.form-label .req{color:#c0392b}.form-control{width:100%;font-family:var(--font-body);color:var(--color-text);transition:var(--transition-smooth);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:14px 16px;font-size:1rem}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #007a8a26}textarea.form-control{resize:vertical;min-height:96px}.form-hint{color:var(--color-text-light);margin-bottom:20px;font-size:.9rem}.booking-submit{width:100%}.booking-submit:disabled{opacity:.7;cursor:wait;transform:none}.form-status{text-align:center;margin-top:16px;font-weight:500}.form-status:empty{display:none}.form-status.success{color:#15803d}.form-status.error{color:#b91c1c}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=640px){.form-row{grid-template-columns:1fr}}.blog-grid{grid-template-columns:repeat(2,1fr);gap:clamp(20px,4vw,32px);max-width:960px;margin:0 auto;display:grid}.blog-card{background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border:1px solid #00000008;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.blog-card:hover,.blog-card:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.blog-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.blog-card-body{flex-direction:column;flex:1;gap:10px;padding:clamp(20px,3vw,28px);display:flex}.blog-card-body h3{font-size:1.25rem;line-height:1.3}.blog-card-body p{color:var(--color-text-light);font-size:.95rem}.blog-more{color:var(--color-primary);margin-top:auto;font-weight:600}@media (width<=768px){.blog-grid{grid-template-columns:1fr}}.contact-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px;display:flex}.review-link{color:var(--color-primary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.review-link:hover{color:var(--color-primary-dark)}@media (width<=640px){.contact-actions .btn{width:100%}}.booking-notice{color:#7a4a00;text-align:center;background:#fff7e6;border:1px solid #f5c26b;border-radius:12px;max-width:720px;margin:0 auto 20px;padding:12px 16px;font-weight:500}.booking-notice[hidden]{display:none}
