:root{--color-dark:#0f1923;--color-dark-mid:#162a3a;--color-dark-teal:#0d3b4f;--color-accent:#e8611a;--color-accent-hover:#cf5415;--color-white:#fff;--color-off-white:#f4f5f7;--color-text:#2c3e50;--color-text-light:#6b7c8d;--color-border:#dce1e6;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.25rem;--fs-lg:1.75rem;--fs-xl:2.5rem;--fs-xxl:3.5rem;--sp-4:.25rem;--sp-8:.5rem;--sp-16:1rem;--sp-24:1.5rem;--sp-32:2rem;--sp-48:3rem;--sp-64:4rem;--sp-96:6rem;--sp-128:8rem;--font-heading:"Plus Jakarta Sans", sans-serif;--font-body:"DM Sans", sans-serif;--shadow:0 2px 8px #0f192314;--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text);background:var(--color-white);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;line-height:1.15}.container{max-width:var(--max-width);padding:0 var(--sp-24);margin:0 auto}.topbar{background:var(--color-dark);color:var(--color-white);font-size:var(--fs-sm);padding:var(--sp-8) 0;border-bottom:1px solid #ffffff14}.topbar .container{justify-content:space-between;align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.topbar-left{align-items:center;gap:var(--sp-24);display:flex}.topbar-left a{color:#ffffffbf;transition:color .2s}.topbar-left a:hover{color:var(--color-accent)}.topbar-right{color:#ffffffbf}.topbar-right a{color:var(--color-accent);font-weight:500}.navbar{background:var(--color-dark);padding:var(--sp-16) 0;z-index:100;transition:box-shadow .2s;position:sticky;top:0}.navbar.scrolled{box-shadow:0 2px 16px #0000004d}.navbar .container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-heading);font-size:var(--fs-md);color:var(--color-white);letter-spacing:-.02em;align-items:center;font-weight:800;display:inline-flex}.logo span{color:var(--color-accent)}.logo-mark{filter:invert();width:auto;height:1.6em;margin-right:var(--sp-8);display:block}.nav-links{gap:var(--sp-32);align-items:center;list-style:none;display:flex}.nav-links a{color:#ffffffbf;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--color-white)}.nav-cta{background:var(--color-accent);padding:var(--sp-8) var(--sp-24);color:var(--color-white)!important;letter-spacing:.02em!important;font-weight:700!important;transition:background .2s!important}.nav-cta:hover{background:var(--color-accent-hover)!important}.mobile-toggle{cursor:pointer;padding:var(--sp-8);background:0 0;border:none;display:none}.mobile-toggle span{background:var(--color-white);width:24px;height:2px;margin:6px 0;transition:all .3s;display:block}.hero{background:var(--color-dark);padding:var(--sp-64) 0 var(--sp-96);position:relative;overflow:hidden}.hero:before{content:"";opacity:.15;background:url(https://images.unsplash.com/photo-1621905251189-08b45d6a269e?w=1200&q=80) 50%/cover no-repeat;width:55%;height:100%;position:absolute;top:0;right:0}.hero .container{gap:var(--sp-64);z-index:1;grid-template-columns:1fr 420px;align-items:start;display:grid;position:relative}.hero-content{padding-top:var(--sp-32)}.hero-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--sp-16);font-weight:700}.hero h1{font-size:var(--fs-xxl);color:var(--color-white);margin-bottom:var(--sp-24);letter-spacing:-.02em}.hero-points{margin-bottom:var(--sp-32);list-style:none}.hero-points li{color:#fffc;font-size:var(--fs-base);padding:var(--sp-4) 0;padding-left:var(--sp-16);border-left:2px solid var(--color-accent);margin-bottom:var(--sp-8)}.hero-buttons{gap:var(--sp-16);flex-wrap:wrap;display:flex}.btn{padding:var(--sp-16) var(--sp-32);font-family:var(--font-body);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;font-weight:700;transition:background .2s,color .2s;display:inline-block}.btn-primary{background:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-outline{color:var(--color-white);background:0 0;border:1px solid #ffffff4d}.btn-outline:hover{border-color:var(--color-white)}.hero-form-wrapper{background:var(--color-white);padding:var(--sp-32);overflow:hidden}.hero-form-wrapper h3{font-size:var(--fs-md);color:var(--color-dark);margin-bottom:var(--sp-8)}.hero-form-wrapper p{font-size:var(--fs-sm);color:var(--color-text-light);margin-bottom:var(--sp-24)}.form-grid{gap:var(--sp-16);grid-template-columns:1fr 1fr;max-width:100%;display:grid}.form-group{flex-direction:column;display:flex}.form-group.full{grid-column:1/-1}.form-group label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);margin-bottom:var(--sp-4);font-weight:700}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-size:var(--fs-sm);padding:var(--sp-8) var(--sp-16);border:1px solid var(--color-border);background:var(--color-off-white);color:var(--color-text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:80px}.hero-form-wrapper .btn{width:100%;max-width:100%;margin-top:var(--sp-8);text-align:center;box-sizing:border-box}.form-grid .form-group input,.form-grid .form-group select,.form-grid .form-group textarea,.form-grid .form-group button{box-sizing:border-box;width:100%;max-width:100%}.services{padding:var(--sp-96) 0;background:var(--color-white)}.section-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--sp-8);font-weight:700}.section-heading{font-size:var(--fs-xl);color:var(--color-dark);margin-bottom:var(--sp-48);letter-spacing:-.02em}.services-grid{gap:var(--sp-16);grid-template-rows:340px 340px;grid-template-columns:1.2fr 1fr 1fr;display:grid}.service-card{background:var(--color-dark);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.service-card:first-child{grid-area:1/1/3/2}.service-card:nth-child(2){grid-area:1/2/2/3}.service-card:nth-child(3){grid-area:1/3/2/4}.service-card:nth-child(4){grid-area:2/2/3/3}.service-card:nth-child(5){grid-area:2/3/3/4}.service-card img{object-fit:cover;opacity:.5;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.service-card:hover img{opacity:.65}.service-card-content{z-index:1;padding:var(--sp-32);position:relative}.service-card h3{font-size:var(--fs-lg);color:var(--color-white);margin-bottom:var(--sp-8)}.service-card p{font-size:var(--fs-sm);color:#fffc;margin-bottom:var(--sp-16)}.service-card .card-link{font-size:var(--fs-sm);color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.process{padding:var(--sp-96) 0;background:var(--color-off-white)}.process-grid{gap:var(--sp-32);counter-reset:process-step;grid-template-columns:repeat(4,1fr);display:grid}.process-step{counter-increment:process-step;padding:var(--sp-32) var(--sp-24);border-top:3px solid var(--color-dark)}.process-step:before{content:"0" counter(process-step);font-family:var(--font-heading);font-size:var(--fs-xl);color:var(--color-accent);margin-bottom:var(--sp-16);font-weight:800;display:block}.process-step h3{font-size:var(--fs-md);color:var(--color-dark);margin-bottom:var(--sp-8)}.process-step p{font-size:var(--fs-sm);color:var(--color-text-light);line-height:1.7}.process-cta{margin-top:var(--sp-48);text-align:center}.process-cta .btn-primary{background:var(--color-accent)}.about{padding:var(--sp-128) 0;background:var(--color-dark-teal);color:var(--color-white)}.about .container{gap:var(--sp-96);grid-template-columns:1.2fr 1fr;align-items:center;display:grid}.about-content .section-label{color:var(--color-accent)}.about-content h2{font-size:var(--fs-xl);color:var(--color-white);margin-bottom:var(--sp-24);letter-spacing:-.02em}.about-content p{font-size:var(--fs-base);color:#ffffffbf;margin-bottom:var(--sp-24);line-height:1.8}.about-values{margin-top:var(--sp-32);list-style:none}.about-values li{padding:var(--sp-8) 0;padding-left:var(--sp-24);border-left:2px solid var(--color-accent);color:#ffffffe6;margin-bottom:var(--sp-8);font-weight:500}.about-stats{gap:var(--sp-32);grid-template-columns:1fr 1fr;display:grid}.stat{border-left:3px solid var(--color-accent);padding-left:var(--sp-24)}.stat-number{font-family:var(--font-heading);font-size:var(--fs-xxl);color:var(--color-white);font-weight:800;line-height:1}.stat-label{font-size:var(--fs-sm);color:#fff9;margin-top:var(--sp-8);text-transform:uppercase;letter-spacing:.06em}.testimonials{padding:var(--sp-96) 0;background:var(--color-white)}.testimonials-grid{gap:var(--sp-32);grid-template-columns:1fr 1fr 1fr;display:grid}.testimonial-card{padding:var(--sp-32);border:1px solid var(--color-border);border-top:3px solid var(--color-accent)}.testimonial-rating{color:var(--color-accent);font-size:var(--fs-md);letter-spacing:.1em;margin-bottom:var(--sp-16)}.testimonial-text{font-size:var(--fs-base);color:var(--color-text);margin-bottom:var(--sp-24);font-style:italic;line-height:1.7}.testimonial-author{color:var(--color-dark);font-weight:700}.testimonial-role{font-size:var(--fs-sm);color:var(--color-text-light)}.cta-banner{background:var(--color-accent);padding:var(--sp-64) 0}.cta-banner .container{justify-content:space-between;align-items:center;gap:var(--sp-32);flex-wrap:wrap;display:flex}.cta-banner h2{font-size:var(--fs-lg);color:var(--color-white);max-width:600px}.cta-banner p{color:#ffffffd9;margin-top:var(--sp-8);font-size:var(--fs-base)}.cta-banner .btn{background:var(--color-dark);color:var(--color-white);white-space:nowrap}.cta-banner .btn:hover{background:var(--color-dark-mid)}.gallery{padding:var(--sp-96) 0;background:var(--color-off-white)}.gallery-grid{gap:var(--sp-16);grid-template-rows:280px 280px;grid-template-columns:2fr 1fr 1fr;display:grid}.gallery-item{background:var(--color-dark-mid);overflow:hidden}.gallery-item:first-child{grid-row:1/3}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.03)}.gallery-note{text-align:center;margin-top:var(--sp-32);font-size:var(--fs-sm);color:var(--color-text-light)}.contact{padding:var(--sp-96) 0;background:var(--color-white)}.contact .container{gap:var(--sp-64);grid-template-columns:1fr 1.2fr;display:grid}.contact-info h2{font-size:var(--fs-xl);color:var(--color-dark);margin-bottom:var(--sp-24)}.contact-info p{color:var(--color-text-light);margin-bottom:var(--sp-32);line-height:1.7}.contact-detail{margin-bottom:var(--sp-24)}.contact-detail-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:var(--sp-4);font-weight:700}.contact-detail-value{font-size:var(--fs-md);color:var(--color-dark);font-weight:700}.contact-detail-value a{color:var(--color-dark);transition:color .2s}.contact-detail-value a:hover{color:var(--color-accent)}.contact-form{background:var(--color-off-white);padding:var(--sp-48)}.contact-form h3{font-size:var(--fs-lg);color:var(--color-dark);margin-bottom:var(--sp-8)}.contact-form>p{font-size:var(--fs-sm);color:var(--color-text-light);margin-bottom:var(--sp-32)}.contact-form .form-grid{gap:var(--sp-16)}.contact-form .btn{width:100%;margin-top:var(--sp-8);text-align:center}.footer{background:var(--color-dark);color:#fff9;padding:var(--sp-64) 0 var(--sp-32)}.footer-grid{gap:var(--sp-48);margin-bottom:var(--sp-64);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-brand .logo{margin-bottom:var(--sp-16);display:inline-block}.footer-brand p{font-size:var(--fs-sm);color:#ffffff80;line-height:1.7}.footer-col h4{font-size:var(--fs-sm);color:var(--color-white);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--sp-24)}.footer-col ul{list-style:none}.footer-col li{margin-bottom:var(--sp-8)}.footer-col a{font-size:var(--fs-sm);color:#ffffff80;transition:color .2s}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{padding-top:var(--sp-32);font-size:var(--fs-sm);border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.footer-bottom a{color:#ffffff80;margin-left:var(--sp-24);transition:color .2s}.footer-bottom a:hover{color:var(--color-accent)}@media (max-width:1024px){.hero .container{gap:var(--sp-48);grid-template-columns:1fr}.hero:before{opacity:.08;width:100%}.hero h1{font-size:var(--fs-xl)}.services-grid{grid-template-rows:320px 320px 320px;grid-template-columns:1fr 1fr}.service-card:first-child{grid-area:auto/1/auto/-1}.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5){grid-area:auto}.process-grid{grid-template-columns:1fr 1fr}.about .container{gap:var(--sp-48);grid-template-columns:1fr}.gallery-grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}.gallery-item:first-child{grid-row:auto}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.topbar .container{text-align:center;flex-direction:column}.topbar-left{gap:var(--sp-4);flex-direction:column}.nav-links{background:var(--color-dark);padding:var(--sp-24);gap:var(--sp-16);border-top:1px solid #ffffff14;flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.active{display:flex}.navbar .container{position:relative}.mobile-toggle{display:block}.hero h1{font-size:var(--fs-lg)}.hero-form-wrapper{padding:var(--sp-24)}.form-grid{grid-template-columns:1fr}.services-grid{grid-template-rows:auto;grid-template-columns:1fr}.service-card,.service-card:first-child,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5){grid-area:auto;min-height:280px}.process-grid{grid-template-columns:1fr}.section-heading{font-size:var(--fs-lg)}.about-stats,.testimonials-grid{grid-template-columns:1fr}.cta-banner .container{text-align:center;flex-direction:column}.gallery-grid{grid-template-rows:240px;grid-template-columns:1fr;grid-auto-rows:240px}.contact .container{grid-template-columns:1fr}.contact-form{padding:var(--sp-32)}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:var(--sp-16);text-align:center;flex-direction:column}}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}
