*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--green:#649949;--green-light:#73B753;--green-pale:#dde2d1;--text:#241f1f;--text-mid:#575757;--text-light:#888888;--bg:#ffffff;--bg-2:#f5f5f5;--bg-3:#ebebeb;--dark:#1a1a1a;--dark-2:#111111;--border:rgba(100,153,73,0.2);--border-gray:#c8c8c8;--white:#ffffff;--gold:#649949;--gold-light:#73B753;--mid:#575757;--light:#241f1f;--serif:'Playfair Display',Georgia,serif;--sans:'Be Vietnam Pro',sans-serif;--radius:2px;--transition:0.4s cubic-bezier(0.4,0,0.2,1);--max-w:1200px}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}.skip-link{position:absolute;top:-40px;left:0;background:var(--green);color:#fff;padding:.5rem 1rem;z-index:999;font-size:.875rem;font-weight:500;transition:top .2s}.skip-link:focus{top:0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 4vw;display:flex;align-items:center;justify-content:space-between;transition:background var(--transition),padding var(--transition),box-shadow var(--transition)}nav .nav-logo{color:#fff}nav .nav-logo span{color:var(--green-light)}nav .nav-links a{color:rgba(255,255,255,.8)}nav .nav-burger span{background:#fff}nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.875rem 4vw;box-shadow:0 2px 12px rgba(36,31,31,.08);border-bottom:1px solid rgba(100,153,73,.12)}nav.scrolled .nav-logo{color:var(--text)}nav.scrolled .nav-logo span{color:var(--green)}nav.scrolled .nav-links a{color:rgba(36,31,31,.65)}nav.scrolled .nav-burger span{background:var(--text)}.nav-logo{font-family:var(--serif);font-size:1.5rem;font-weight:600;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:2.5rem}.nav-links a{font-size:.8125rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;transition:color .25s}.nav-links a:hover,.nav-links a.active,.nav-links a[aria-current="page"]{color:var(--green) !important}.nav-cta{background:var(--green) !important;color:#fff !important;padding:.5rem 1.25rem !important;font-weight:500 !important;letter-spacing:.08em !important;transition:background .25s,transform .2s !important}.nav-cta:hover{background:var(--green-light) !important;transform:translateY(-1px)}.nav-burger{display:none;flex-direction:column;gap:5px;padding:4px;background:none;border:none;cursor:pointer}.nav-burger span{display:block;width:22px;height:1.5px;transition:transform .3s,opacity .3s}.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none;position:fixed;inset:0;background:#fff;z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem}.nav-mobile.open{display:flex}.nav-mobile a{font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--text);letter-spacing:.04em;transition:color .25s}.nav-mobile a:hover{color:var(--green)}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:0 4vw 6vh;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#1a1208 0%,#0d0b08 60%)}.hero-grid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;opacity:.4}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,7,.92) 0%,rgba(10,9,7,.4) 50%,rgba(10,9,7,.15) 100%)}.hero-content{position:relative;z-index:2;max-width:720px}.hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .2s forwards}.hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--green)}.hero-eyebrow span{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green-light);font-weight:400}.hero-title{font-family:var(--serif);font-size:clamp(3rem,8vw,6.5rem);font-weight:500;line-height:1.05;letter-spacing:-.01em;color:#fff;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .4s forwards}.hero-title em{font-style:italic;color:var(--green-light)}.hero-sub{font-size:clamp(.875rem,1.5vw,1rem);color:rgba(255,255,255,.65);max-width:480px;margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s .6s forwards;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s forwards}.hero-scroll{position:absolute;bottom:2rem;right:4vw;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5}.hero-scroll span{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;color:#fff}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--green),transparent);animation:scrollAnim 2s ease-in-out infinite}.btn-primary{display:inline-flex;align-items:center;gap:.625rem;background:var(--green);color:#fff;padding:.875rem 2rem;font-size:.875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background .25s,transform .2s}.btn-primary:hover{background:var(--green-light);transform:translateY(-2px)}.btn-primary svg{width:14px;height:14px;transition:transform .25s}.btn-primary:hover svg{transform:translateX(3px)}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-mid);border-bottom:1px solid rgba(100,153,73,.4);padding-bottom:2px;transition:color .25s,border-color .25s}.btn-ghost:hover{color:var(--green);border-color:var(--green)}.hero-actions .btn-ghost{color:rgba(255,255,255,.75);border-bottom-color:rgba(100,153,73,.5)}.hero-actions .btn-ghost:hover{color:var(--green-light);border-bottom-color:var(--green-light)}section{padding:6rem 4vw}.section-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.section-eyebrow::before{content:'';width:32px;height:1px;background:var(--green)}.section-eyebrow span{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:400}.section-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:500;line-height:1.1;color:var(--text);margin-bottom:1rem}.section-title em{font-style:italic;color:var(--green)}.section-sub{font-size:.9375rem;color:var(--text-mid);max-width:540px;line-height:1.75}.inner{max-width:var(--max-w);margin:0 auto}.stats{background:var(--bg-2);border-top:1px solid var(--border-gray);padding:4rem 4vw}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-gray);max-width:var(--max-w);margin:0 auto}.stat-item{background:var(--bg-2);padding:2.5rem 2rem;text-align:center}.stat-num{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:500;color:var(--green);line-height:1;margin-bottom:.5rem}.stat-label{font-size:.8125rem;color:var(--text-mid);letter-spacing:.1em;text-transform:uppercase}.about{background:var(--bg)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.about-visual{position:relative}.about-img-main{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--bg-3)}.about-img-placeholder{width:100%;aspect-ratio:4 / 5;background:linear-gradient(135deg,var(--bg-2),var(--bg-3));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1rem;color:rgba(100,153,73,.4);letter-spacing:.1em}.about-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--green);color:#fff;padding:1.5rem;text-align:center;width:130px}.about-badge-num{font-family:var(--serif);font-size:2.5rem;font-weight:600;line-height:1;display:block}.about-badge-txt{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.25rem;display:block}.about-text{padding-left:1rem}.about-body{font-size:.9375rem;color:var(--text-mid);line-height:1.85;margin-bottom:2rem}.about-vals{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2.5rem}.val-item{border-left:2px solid rgba(100,153,73,.3);padding-left:1rem}.val-title{font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.25rem}.val-desc{font-size:.8125rem;color:var(--text-mid);line-height:1.6}.services{background:var(--bg-2)}.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;flex-wrap:wrap;gap:1.5rem}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-gray)}.service-card{background:var(--bg-2);padding:2.5rem 1.75rem;transition:background var(--transition),box-shadow var(--transition)}.service-card:hover{background:#fff;box-shadow:0 4px 20px rgba(100,153,73,.1)}.service-card:hover .service-arrow{transform:translateX(4px)}.service-icon{width:48px;height:2px;background:var(--green);margin-bottom:2rem}.service-num{font-family:var(--serif);font-size:.875rem;color:rgba(100,153,73,.5);margin-bottom:1rem;letter-spacing:.1em}.service-name{font-family:var(--serif);font-size:1.375rem;font-weight:500;color:var(--text);line-height:1.3;margin-bottom:.875rem}.service-desc{font-size:.8125rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.75rem}.service-link{display:flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.service-arrow{transition:transform .25s}.projects{background:var(--bg)}.projects-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}.projects-filter{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--border-gray);color:var(--text-mid);padding:.4rem 1rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .25s;font-family:var(--sans)}.filter-btn.active,.filter-btn:hover{border-color:var(--green);color:var(--green);background:rgba(100,153,73,.06)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.project-card{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4 / 3;transition:opacity .3s,visibility .3s}.project-card.hidden{display:none;opacity:0;visibility:hidden;pointer-events:none}.project-card:first-child{grid-column:span 2;aspect-ratio:16 / 9}.project-img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--transition);background:var(--bg-3)}.project-card:hover .project-img{transform:scale(1.04)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,7,.9) 0%,transparent 60%);opacity:0;transition:opacity .4s}.project-card:hover .project-overlay{opacity:1}.project-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;transform:translateY(8px);opacity:0;transition:all .4s}.project-card:hover .project-info{transform:translateY(0);opacity:1}.project-type{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green-light);margin-bottom:.375rem}.project-name{font-family:var(--serif);font-size:1.125rem;color:#fff}.projects-more{text-align:center;margin-top:3rem}.projects-all-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.projects-all-grid .project-card{aspect-ratio:4 / 3}.projects-all-grid .project-card:first-child{grid-column:span 1;aspect-ratio:4 / 3}.projects-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:4rem}.projects-pagination a,.projects-pagination span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:.875rem;border:1px solid var(--border-gray);color:var(--text-mid);transition:all .25s}.projects-pagination a:hover,.projects-pagination .current{border-color:var(--green);color:var(--green);background:rgba(100,153,73,.06)}.process{background:var(--bg-2);overflow:hidden}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:4rem}.process-grid::before{content:'';position:absolute;top:40px;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--green) 20%,var(--green) 80%,transparent);opacity:.4}.process-step{padding:2rem 1.5rem;text-align:center;position:relative}.step-dot{width:12px;height:12px;border:2px solid var(--green);background:var(--bg-2);margin:0 auto 1.75rem;position:relative;z-index:1;transform:rotate(45deg)}.step-num{font-family:var(--serif);font-size:.8125rem;color:rgba(100,153,73,.5);letter-spacing:.15em;margin-bottom:.75rem}.step-name{font-family:var(--serif);font-size:1.125rem;font-weight:500;color:var(--text);margin-bottom:.5rem;line-height:1.3}.step-desc{font-size:.8125rem;color:var(--text-mid);line-height:1.65}.testimonials{background:var(--bg)}.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}.testi-card{border:1px solid rgba(100,153,73,.15);padding:2rem;transition:border-color .3s,box-shadow .3s;background:var(--bg)}.testi-card:hover{border-color:rgba(100,153,73,.4);box-shadow:0 4px 20px rgba(100,153,73,.08)}.testi-quote{font-family:var(--serif);font-size:1.0625rem;font-style:italic;color:var(--text-mid);line-height:1.7;margin-bottom:1.5rem}.testi-quote::before{content:'\201C';font-size:3rem;color:var(--green);line-height:.5;display:block;margin-bottom:.75rem;opacity:.5}.testi-author{display:flex;align-items:center;gap:.875rem}.testi-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-pale);border:2px solid rgba(100,153,73,.2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.875rem;color:var(--green);flex-shrink:0;overflow:hidden}.testi-avatar img{width:100%;height:100%;object-fit:cover}.testi-name{font-size:.875rem;font-weight:500;color:var(--text)}.testi-role{font-size:.75rem;color:var(--text-mid)}.cta-section{background:var(--green);padding:6rem 4vw;text-align:center}.cta-section .section-eyebrow::before{background:rgba(255,255,255,.5)}.cta-section .section-eyebrow span{color:rgba(255,255,255,.8)}.cta-section .section-title{color:#fff}.cta-section .section-title em{color:#fff;font-style:italic}.cta-section .section-sub{color:rgba(255,255,255,.75);max-width:480px;margin:0 auto 3rem;text-align:center}.cta-actions{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}.cta-section .btn-primary{background:#fff;color:var(--green)}.cta-section .btn-primary:hover{background:var(--green-pale);color:var(--green)}.cta-contact{display:flex;align-items:center;gap:.75rem}.cta-contact-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cta-contact-icon svg{width:18px;height:18px;color:#fff}.cta-contact-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.125rem}.cta-contact-val{font-family:var(--serif);font-size:1.125rem;font-weight:500;color:#fff}.cta-contact-val a{color:#fff}footer{background:#241f1f;padding:4rem 4vw 2rem;border-top:3px solid var(--green)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem}.footer-brand .nav-logo{margin-bottom:1rem;display:inline-block;color:#fff}.footer-brand .nav-logo span{color:var(--green-light)}.footer-desc{font-size:.8125rem;color:rgba(255,255,255,.45);line-height:1.75;max-width:280px}.footer-title{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green-light);margin-bottom:1.25rem;font-weight:500}.footer-links{display:flex;flex-direction:column;gap:.625rem}.footer-links a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .25s}.footer-links a:hover{color:#fff}.footer-contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.footer-contact-item svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--green-light)}.footer-contact-item span{font-size:.8125rem;color:rgba(255,255,255,.45);line-height:1.5}.footer-contact-item a{color:rgba(255,255,255,.45);transition:color .25s}.footer-contact-item a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copy{font-size:.75rem;color:rgba(255,255,255,.3)}.footer-social{display:flex;gap:1rem}.footer-social a{width:36px;height:36px;border:1px solid rgba(100,153,73,.25);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:all .25s}.footer-social a:hover{border-color:var(--green);color:var(--green-light)}.footer-social svg{width:16px;height:16px}.sticky-zalo{position:fixed;bottom:2rem;right:1.5rem;z-index:200;display:flex;flex-direction:column;align-items:center;gap:.5rem}.zalo-btn{width:52px;height:52px;border-radius:50%;background:#0068FF;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,104,255,.4);animation:pulse 2.5s ease-in-out infinite;transition:transform .2s}.zalo-btn:hover{transform:scale(1.08)}.zalo-btn svg{width:40px;height:40px}.phone-btn{width:52px;height:52px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(100,153,73,.4);transition:transform .2s}.phone-btn:hover{transform:scale(1.08)}.phone-btn svg{width:22px;height:22px;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.breadcrumb{padding:1rem 0;margin-bottom:.5rem}.breadcrumb-list{display:flex;align-items:center;gap:.5rem;list-style:none;flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-mid)}.breadcrumb-item a{color:var(--text-mid);transition:color .25s}.breadcrumb-item a:hover{color:var(--green)}.breadcrumb-item.active span{color:var(--text-light)}.breadcrumb-sep{color:var(--border-gray)}.page-hero{position:relative;padding:10rem 4vw 5rem;background:var(--bg-2);overflow:hidden;border-bottom:1px solid var(--border-gray)}.page-hero-bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.06}.page-hero-content{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto}.page-hero h1{margin-bottom:.75rem}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.5rem}.form-group label .req{color:var(--green);margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--bg);border:1px solid var(--border-gray);color:var(--text);padding:.875rem 1rem;font-family:var(--sans);font-size:.9375rem;font-weight:300;transition:border-color .25s;appearance:none;-webkit-appearance:none;border-radius:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--green)}.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb}.form-group textarea{min-height:120px;resize:vertical}.form-group select{cursor:pointer}.form-error{display:block;font-size:.8125rem;color:#c0392b;margin-top:.375rem}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#c0392b}.form-honeypot{display:none !important}.form-submit-wrap{margin-top:2rem}.form-notice{margin-top:1rem;font-size:.875rem;padding:.75rem 1rem;border-left:3px solid}.form-notice.success{color:#2e7d32;border-color:#649949;background:rgba(100,153,73,.06)}.form-notice.error{color:#c0392b;border-color:#c0392b;background:rgba(192,57,43,.05)}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--border-gray)}.contact-info-item:first-child{border-top:1px solid var(--border-gray)}.contact-info-icon{width:44px;height:44px;border:1px solid rgba(100,153,73,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-info-icon svg{width:18px;height:18px;color:var(--green)}.contact-info-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.25rem}.contact-info-val{font-size:.9375rem;color:var(--text);line-height:1.5}.contact-info-val a{transition:color .25s}.contact-info-val a:hover{color:var(--green)}.contact-map{margin-top:2.5rem;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border-gray)}.contact-map iframe{width:100%;height:100%;border:0;display:block}.project-detail-specs{display:flex;gap:2rem;flex-wrap:wrap;padding:2rem 0;border-top:1px solid var(--border-gray);border-bottom:1px solid var(--border-gray);margin-bottom:3rem}.spec-label{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.25rem}.spec-val{font-family:var(--serif);font-size:1rem;color:var(--text)}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:4rem}.gallery-item{aspect-ratio:4 / 3;overflow:hidden;cursor:pointer}.gallery-item:first-child{grid-column:span 2;aspect-ratio:16 / 9}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--transition)}.gallery-item:hover img{transform:scale(1.05)}.lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;align-items:center;justify-content:center}.lightbox-overlay.open{display:flex}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;color:#fff;font-size:2rem;line-height:1;cursor:pointer;background:none;border:none;padding:.5rem;opacity:.7;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:1rem;opacity:.7;transition:opacity .2s}.lightbox-prev:hover,.lightbox-next:hover{opacity:1}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.project-cta-inline{background:var(--bg-2);border:1px solid rgba(100,153,73,.15);padding:2.5rem;text-align:center;margin-bottom:4rem}.project-cta-inline h3{font-family:var(--serif);font-size:1.5rem;color:var(--text);margin-bottom:.75rem}.project-cta-inline p{font-size:.9375rem;color:var(--text-mid);margin-bottom:1.75rem}.related-projects{margin-top:5rem}.related-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}.related-projects-grid .project-card{aspect-ratio:4 / 3;grid-column:span 1 !important}.project-detail-layout{display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start}.project-detail-sidebar{position:sticky;top:6rem}.sidebar-card{background:var(--bg-2);border:1px solid var(--border-gray);padding:2rem;margin-bottom:1.5rem}.sidebar-card h4{font-family:var(--serif);font-size:1rem;color:var(--text);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-gray)}.timeline{position:relative;max-width:720px;margin:3rem auto 0;padding-left:2rem}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(100,153,73,.2)}.timeline-item{position:relative;padding-bottom:2.5rem}.timeline-item::before{content:'';position:absolute;left:-2.375rem;top:.375rem;width:8px;height:8px;background:var(--green);transform:rotate(45deg)}.timeline-year{font-family:var(--serif);font-size:.875rem;color:var(--green);letter-spacing:.1em;margin-bottom:.375rem}.timeline-text{font-size:.9375rem;color:var(--text-mid);line-height:1.7}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}.team-card-img{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--bg-3);margin-bottom:1rem}.team-name{font-family:var(--serif);font-size:1.125rem;color:var(--text);margin-bottom:.25rem}.team-role{font-size:.8125rem;color:var(--text-mid)}.partners-grid{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;margin-top:2rem}.partner-logo{filter:grayscale(1) opacity(.5);transition:filter .25s;max-height:48px;width:auto}.partner-logo:hover{filter:grayscale(0) opacity(1)}.service-detail{padding:4rem 0;border-bottom:1px solid var(--border-gray);display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.service-detail:nth-child(even) .service-detail-img{order:2}.service-detail:nth-child(even) .service-detail-text{order:1}.service-detail-img{aspect-ratio:4 / 3;overflow:hidden}.service-detail-img img{width:100%;height:100%;object-fit:cover}.commitment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}.commitment-item{text-align:center;padding:2rem 1rem;border:1px solid rgba(100,153,73,.15);transition:border-color .3s,box-shadow .3s}.commitment-item:hover{border-color:rgba(100,153,73,.4);box-shadow:0 4px 16px rgba(100,153,73,.08)}.commitment-icon{font-size:2rem;margin-bottom:1rem}.commitment-title{font-family:var(--serif);font-size:1rem;color:var(--text);margin-bottom:.5rem}.commitment-desc{font-size:.8125rem;color:var(--text-mid);line-height:1.6}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollAnim{0%,100%{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(0,104,255,.4)}50%{box-shadow:0 4px 28px rgba(0,104,255,.65)}}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--transition),transform .7s var(--transition)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@media (max-width:1024px){.projects-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-column:span 2}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.about-grid{gap:3rem}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid::before{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.service-detail{grid-template-columns:1fr;gap:2rem}.service-detail:nth-child(even) .service-detail-img{order:0}.service-detail:nth-child(even) .service-detail-text{order:0}.commitment-grid{grid-template-columns:repeat(2,1fr)}.contact-wrapper{grid-template-columns:1fr}.project-detail-layout{grid-template-columns:1fr}.project-detail-sidebar{position:static}.projects-all-grid{grid-template-columns:repeat(2,1fr)}.related-projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-links{display:none}.nav-burger{display:flex}.hero-title{font-size:clamp(2.5rem,10vw,4rem)}.projects-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:span 1;aspect-ratio:4 / 3}.about-grid{grid-template-columns:1fr}.about-visual{order:-1}.about-badge{right:0;bottom:-1rem}.about-text{padding-left:0}.testi-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr;background:none;gap:0}.service-card{border-bottom:1px solid var(--border-gray)}.cta-actions{flex-direction:column;gap:1.5rem}section{padding:4rem 5vw}.team-grid{grid-template-columns:1fr 1fr}.commitment-grid{grid-template-columns:1fr 1fr}.project-gallery{grid-template-columns:1fr 1fr}.gallery-item:first-child{grid-column:span 2}.projects-all-grid{grid-template-columns:1fr}.related-projects-grid{grid-template-columns:1fr}.sticky-zalo{bottom:1.25rem;right:1rem}.project-detail-specs{gap:1.25rem}}@media (max-width:480px){nav{padding:1rem 5vw}.hero{padding:0 5vw 8vh}.hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr 1fr}.about-vals{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.commitment-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.gallery-item:first-child{grid-column:span 1;aspect-ratio:4 / 3}}.obf-email::before{content:attr(data-u) "@" attr(data-d)}