*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--blue:#2B9CD8;--blue-dark:#1A7AB8;--blue-light:#4DB8E8;--green:#94C83D;--green-dark:#7BAD2D;--navy:#1A2840}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#1f2937;line-height:1.6;background:#fff}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}
/* NAV */
.nav{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.nav-logo img{height:64px;width:auto}
.nav-links{display:none;align-items:center;gap:2rem}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{color:#374151;font-size:15px;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--blue);font-weight:600}
.btn-call-nav{background:var(--blue)!important;color:#fff!important;padding:.5rem 1.5rem;border-radius:8px;font-weight:600;transition:background .2s!important}
.btn-call-nav:hover{background:var(--blue-dark)!important}
.nav-hamburger{display:flex;align-items:center;padding:.5rem;cursor:pointer;background:none;border:none}
@media(min-width:768px){.nav-hamburger{display:none}}
.nav-mobile{display:none;padding:0 0 1rem}
.nav-mobile.open{display:block}
.nav-mobile a{display:block;padding:.75rem 1rem;color:#374151;border-radius:6px;transition:all .2s}
.nav-mobile a:hover,.nav-mobile a.active{color:var(--blue);background:rgba(43,156,216,.08);font-weight:600}
.btn-call-mobile{display:block;text-align:center;background:var(--blue);color:#fff!important;padding:.75rem;border-radius:8px;margin-top:.5rem;font-weight:600}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:all .2s;line-height:1.4}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-dark);box-shadow:0 8px 25px rgba(0,0,0,.2);transform:scale(1.02)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark);box-shadow:0 8px 25px rgba(0,0,0,.2);transform:scale(1.02)}
.btn-white{background:#fff;color:var(--blue)}.btn-white:hover{background:#f3f4f6;box-shadow:0 8px 25px rgba(0,0,0,.2);transform:scale(1.02)}
.btn-outline-white{background:transparent;color:#fff;border:2px solid #fff}.btn-outline-white:hover{background:#fff;color:var(--blue);transform:scale(1.02)}
.btn-lg{padding:1rem 2.5rem;font-size:1.125rem}
.btn-xl{padding:1.25rem 2.5rem;font-size:1.25rem}
/* HERO */
.hero{position:relative;height:600px;display:flex;align-items:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.75),rgba(0,0,0,.6),rgba(0,0,0,.5));z-index:1}
.hero-content{position:relative;z-index:2;color:#fff}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.15;margin-bottom:1.5rem}
.hero p{font-size:clamp(1rem,2.5vw,1.25rem);max-width:640px;margin-bottom:2rem;font-weight:600}
.hero-btns{display:flex;flex-wrap:wrap;gap:1rem}
.hero-service{position:relative;height:500px;display:flex;align-items:center;overflow:hidden}
/* SECTION */
section{padding:5rem 0}
.section-sm{padding:2rem 0}
.section-header{text-align:center;margin-bottom:3rem}
.section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:.75rem}
.section-header p{font-size:1.125rem;color:#4B5563;max-width:700px;margin:0 auto}
.bg-gray{background:#F9FAFB}
/* PROMO BANNER */
.promo-banner{background:var(--green);padding:1.5rem 0;overflow:hidden}
.promo-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.promo-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.2);border:2px solid #fff;border-radius:9999px;padding:.4rem 1rem;color:#fff;font-weight:700;animation:blink 2s infinite}
.promo-text{color:#fff}
.promo-text .promo-title{font-size:1.5rem;font-weight:700}
.promo-text .promo-sub{font-size:1rem}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.75}}
/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr;gap:2rem}
.grid-3{display:grid;grid-template-columns:1fr;gap:2rem}
.grid-4{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
/* FEATURE CARDS */
.icon-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.icon-circle svg{width:32px;height:32px;color:#fff}
.feature-card{text-align:center}
.feature-card h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}
.feature-card p{color:#4B5563}
/* SERVICE ROWS */
.service-row{display:flex;flex-direction:column;gap:2rem;align-items:center;margin-bottom:4rem}
@media(min-width:1024px){.service-row{flex-direction:row}.service-row.reverse{flex-direction:row-reverse}}
.service-img-wrap{width:100%;flex:0 0 50%;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}
@media(min-width:1024px){.service-img-wrap{width:auto}}
.service-img-wrap img{width:100%;height:400px;object-fit:cover;transition:transform .7s}
.service-img-wrap:hover img{transform:scale(1.08)}
.service-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.4),transparent)}
.service-icon-badge{position:absolute;bottom:-24px;right:-24px;width:96px;height:96px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .3s}
.service-img-wrap:hover .service-icon-badge{transform:scale(1.1) rotate(6deg)}
.service-icon-badge svg{width:48px;height:48px;color:#fff}
.service-content{flex:0 0 50%;display:flex;flex-direction:column;gap:1.25rem}
.service-label{display:flex;align-items:center;gap:1rem}
.service-label-line{height:4px;width:64px;border-radius:4px}
.service-tags{display:flex;gap:.75rem;flex-wrap:wrap}
.service-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:9999px;border:2px solid;font-size:.875rem;font-weight:600}
/* TESTIMONIALS */
.testimonial-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.1);padding:3rem;max-width:760px;margin:0 auto}
.testimonial-text{font-size:1.5rem;font-style:italic;color:#1f2937;line-height:1.6;margin-bottom:2rem;font-weight:500}
.testimonial-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.testimonial-author{display:flex;align-items:center;gap:1rem}
.testimonial-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.testimonial-name{font-weight:700;font-size:1.125rem}
.stars{display:flex;gap:4px}
.star svg{width:20px;height:20px;fill:var(--blue);color:var(--blue)}
.dots{display:flex;gap:.5rem}
.dot{width:12px;height:12px;border-radius:9999px;background:#E5E7EB;cursor:pointer;transition:all .2s;border:none}
.dot.active{background:var(--blue);width:32px}
/* GALLERY */
.gallery-wrap{position:relative}
.gallery-scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.gallery-scroll::-webkit-scrollbar{display:none}
.gallery-track{display:flex;gap:1.5rem;min-width:min-content;padding:0 64px}
.gallery-card{flex-shrink:0;width:320px;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1);border:4px solid;transition:box-shadow .2s}
.gallery-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.15)}
.gallery-card img{width:100%;height:auto}
.gallery-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:all .2s;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.gallery-btn:hover{transform:translateY(-50%) scale(1.1)}
.gallery-btn-left{left:0}.gallery-btn-right{right:0}
.gallery-btn svg{width:24px;height:24px}
/* AREAS */
.area-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.area-pill{background:#fff;padding:.75rem 1.5rem;border-radius:9999px;box-shadow:0 2px 8px rgba(0,0,0,.08);border:2px solid var(--blue);font-weight:600;transition:box-shadow .2s}
.area-pill:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}
.area-pill-filled{background:var(--blue);color:#fff;border-color:var(--blue)}
/* CTA SECTIONS */
.section-blue{background:var(--blue);color:#fff;padding:5rem 0;text-align:center}
.section-blue h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:1.5rem}
.section-blue p{font-size:1.25rem;line-height:1.7;font-weight:500;max-width:800px;margin:0 auto 2rem}
.cta-gradient{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 50%,var(--green) 100%);color:#fff;padding:5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-deco1{position:absolute;top:40px;right:40px;width:256px;height:256px;border-radius:50%;background:#fff;opacity:.1}
.cta-deco2{position:absolute;bottom:40px;left:40px;width:384px;height:384px;border-radius:50%;background:#fff;opacity:.05}
.cta-content{position:relative;z-index:2}
.cta-gradient h2{font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:1.5rem}
.cta-gradient p{font-size:1.25rem;margin-bottom:2.5rem;font-weight:500;max-width:700px;margin-left:auto;margin-right:auto}
.cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
/* CARDS */
.card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.card h3{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.check-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.check-item{display:flex;align-items:flex-start;gap:.75rem}
.check-icon{flex-shrink:0;width:24px;height:24px;color:var(--blue);margin-top:2px}
.check-icon-green{color:var(--green)}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 2fr}}
.contact-info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.contact-icon-box{padding:.75rem;border-radius:8px;background:rgba(43,156,216,.1);flex-shrink:0;display:flex}
.contact-icon-box svg{width:24px;height:24px;color:var(--blue)}
.form-wrap{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.form-row{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}
.form-group label{font-size:.875rem;font-weight:600;color:#374151}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem 1rem;border:1px solid #E5E7EB;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,156,216,.15)}
.form-submit{width:100%;padding:.875rem;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s}
.form-submit:hover{background:var(--blue-dark)}
.form-submit-green{background:var(--green)}.form-submit-green:hover{background:var(--green-dark)}
.success-box{background:rgba(43,156,216,.08);border:1px solid rgba(43,156,216,.3);border-radius:12px;padding:2rem;text-align:center}
.success-box svg{width:48px;height:48px;color:var(--blue);margin:0 auto 1rem}
.success-box h3{font-size:1.5rem;color:var(--blue-dark);margin-bottom:.5rem}
.success-box-green{background:rgba(148,200,61,.08);border-color:rgba(148,200,61,.3)}
.success-box-green svg{color:var(--green)}
.success-box-green h3{color:var(--green-dark)}
/* ABOUT CARDS */
.leader-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.leader-avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2.5rem;font-weight:700;color:#fff;background:var(--blue)}
.photo-text-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media(min-width:1024px){.photo-text-grid{grid-template-columns:1fr 1fr}}
.photo-rounded{border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.12);width:100%;height:500px;object-fit:cover}
.photo-card-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.photo-card-grid{grid-template-columns:1fr 1fr}}
.photo-card{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.12);height:320px}
.photo-card img{width:100%;height:100%;object-fit:cover}
.photo-card-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:1.5rem}
.photo-card-caption h3{color:#fff;font-size:1.5rem;margin-bottom:.25rem}
.photo-card-caption p{color:rgba(255,255,255,.9)}
/* STEPS */
.steps{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.steps-3{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:900px;margin:0 auto}
@media(min-width:768px){.steps{grid-template-columns:repeat(4,1fr)}.steps-3{grid-template-columns:repeat(3,1fr)}}
.step-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}
.step-num{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.25rem;font-weight:700;color:#fff}
/* SALE */
.sale-hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden}
.sale-price-box{background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.3);border-radius:16px;padding:2rem;margin-bottom:2rem}
.sale-regular{font-size:2.5rem;font-weight:700;text-decoration:line-through;opacity:.6}
.sale-new-price{font-size:4rem;font-weight:900;color:var(--green)}
.urgency-bar{background:var(--blue);color:#fff;padding:1rem 0;text-align:center}
.limited-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--green);padding:.5rem 1.25rem;border-radius:9999px;color:#fff;font-weight:700;font-size:1.125rem;margin-bottom:1.5rem;animation:blink 2s infinite}
.sale-form-card{background:linear-gradient(135deg,#F9FAFB,#fff);border:2px solid var(--green);border-radius:16px;padding:2rem;box-shadow:0 12px 48px rgba(0,0,0,.1)}
@media(min-width:768px){.sale-form-card{padding:3rem}}
.faq-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:1rem}
.faq-card h3{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}
.faq-card p{color:#374151}
.note-box{background:#FEFCE8;border:2px solid #FDE68A;border-radius:8px;padding:1rem;margin-bottom:1.25rem;font-size:.875rem;color:#374151}
/* HERO BLUE */
.hero-blue{background:var(--blue);color:#fff;padding:5rem 0;text-align:center}
.hero-blue h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:1rem}
.hero-blue p{font-size:1.25rem;max-width:720px;margin:0 auto}
/* SERVICE BADGE PILLS */
.badge-pills{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.badge-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;border-radius:9999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:600;font-size:.95rem}
.badge-pill svg{width:20px;height:20px}
.service-icon-label{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.icon-box{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-box svg{width:32px;height:32px;color:#fff}
.icon-badge-row{display:flex;align-items:center;gap:1rem}
.icon-badge-row .label-text{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
/* COMPARE */
.compare-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:900px;margin:0 auto}
@media(min-width:768px){.compare-grid{grid-template-columns:1fr 1fr}}
/* PROSE */
.prose h2{font-size:1.75rem;font-weight:700;margin:2.5rem 0 1rem}
.prose h3{font-size:1.25rem;font-weight:700;margin:1.5rem 0 .75rem}
.prose p{color:#374151;line-height:1.8;margin-bottom:1rem}
.prose ul{list-style:disc;padding-left:1.5rem;color:#374151;line-height:1.8;margin-bottom:1rem}
.prose ul li{margin-bottom:.4rem}
/* SITEMAP */
.sitemap-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:1.5rem}
.sitemap-card h2{font-size:1.5rem;font-weight:700;margin-bottom:1.25rem;color:var(--blue)}
.sitemap-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.sitemap-links a{color:#374151;transition:color .2s}.sitemap-links a:hover{color:var(--blue)}
/* 404 */
.not-found{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem}
.not-found h1{font-size:8rem;font-weight:900;color:var(--blue);line-height:1;margin-bottom:.5rem}
.not-found h2{font-size:2rem;font-weight:700;margin-bottom:1rem}
.not-found p{color:#4B5563;font-size:1.125rem;margin-bottom:2rem}
/* FOOTER */
.footer{background:#111827;color:#fff;padding:3rem 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:2rem}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.5fr}}
.footer h3{font-size:1rem;font-weight:600;margin-bottom:1rem}
.footer p,.footer-links a{font-size:.875rem;color:#9CA3AF}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-links a:hover{color:var(--blue-light)}
.footer-contact-item{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}
.footer-contact-item svg{width:20px;height:20px;color:var(--blue);flex-shrink:0;margin-top:2px}
.footer-bottom{border-top:1px solid #1f2937;padding:1.5rem 0;text-align:center;font-size:.875rem;color:#9CA3AF}
.footer-bottom a:hover{color:var(--blue-light)}
/* UTILS */
.text-center{text-align:center}
.relative{position:relative}
.overflow-hidden{overflow:hidden}
.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}
.space-y{display:flex;flex-direction:column;gap:1rem}
