:root{font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;color:#12213f;background:#f6f8fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;min-width:320px;scroll-behavior:smooth;background:#f6f8fc}body{color:#1a2a4a;line-height:1.55}#app{width:100%}.site{min-height:100vh;display:flex;flex-direction:column}.route-host{flex:1;display:flex;flex-direction:column;min-height:0}.route-host>:first-child{flex:1}a{color:inherit;text-decoration:none}.js-animate .hero-content,.js-animate .section,.js-animate .card,.js-animate .process-card,.js-animate .gallery-item,.js-animate .about-checklist,.js-animate .footer-grid{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}.js-animate .in-view{opacity:1;transform:translateY(0)}.container{width:min(1120px,92%);margin:0 auto}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);background:rgba(246,248,252,.84);border-bottom:1px solid #e5ebf6;box-shadow:0 6px 18px #142a4f0d}.trust-bar-wrap{border-bottom:1px solid #e3ebf8;background:#f7faff}.trust-bar{min-height:2.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem;color:#36578e;font-weight:600}.hero{min-height:90vh;background:radial-gradient(circle at 20% 20%,rgba(58,112,255,.2),transparent 42%),radial-gradient(circle at 80% 30%,rgba(212,163,71,.2),transparent 38%),linear-gradient(125deg,#ffffff 0%,#f6f8fd 55%,#eef3fb 100%);border-bottom:1px solid #e4eaf5;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:22rem;height:22rem;top:-9rem;right:-6rem;border-radius:50%;background:radial-gradient(circle,rgba(39,111,255,.2),transparent 70%);pointer-events:none}.nav{padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:800;letter-spacing:.08em;color:#102447}.brand img{width:1.8rem;height:1.8rem;object-fit:contain;border-radius:.3rem}.nav-links{display:flex;gap:1rem;color:#1f3764}.nav-links a{padding:.4rem .7rem;border-radius:999px;transition:background-color .25s ease,transform .25s ease,color .25s ease}.nav-links .router-link-active{background:rgba(16,36,71,.12);color:#132c58}.nav-links a:hover{background:rgba(16,36,71,.08);transform:translateY(-1px)}.hero-content{padding:4.8rem 0 6rem}.hero-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;align-items:center}.badge{display:inline-block;background:#f8f3e7;border:1px solid #e5d3a4;color:#7e5c14;border-radius:999px;padding:.35rem .9rem;font-size:.9rem}h1{margin:1rem 0 .75rem;max-width:14ch;font-size:clamp(2rem,7vw,4.25rem);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}.lead{max-width:60ch;font-size:1.04rem;color:#4b5f87}.hero-cta{margin-top:1.7rem;display:flex;gap:.8rem;flex-wrap:wrap}.hero-stats{margin-top:-2.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;max-width:860px;position:relative;z-index:2}.hero-stats article{background:#ffffff;border:1px solid #e1e9f7;border-radius:.9rem;padding:.85rem 1rem;box-shadow:0 8px 20px #112a5214}.hero-panel{background:rgba(255,255,255,.72);border:1px solid #d9e4f7;border-radius:1rem;padding:1.1rem;box-shadow:0 16px 30px #1f376417;backdrop-filter:blur(6px);transition:transform .25s ease,box-shadow .25s ease}.hero-panel:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1f37641f}.hero-cover{height:190px;border-radius:.8rem;background-size:cover;background-position:center;position:relative}.hero-cover:after{content:"";position:absolute;inset:0;border-radius:.8rem;background:linear-gradient(180deg,transparent 35%,rgba(10,24,48,.75))}.hero-cover-badge{position:absolute;left:.7rem;bottom:.7rem;z-index:1;font-size:.76rem;color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.18);border-radius:999px;padding:.24rem .58rem}.hero-panel-body{padding-top:.8rem}.hero-panel h3{margin:0;color:#1f3764}.hero-panel p{margin:.45rem 0 .8rem;color:#60749a}.hero-mini-list{display:grid;gap:.55rem}.hero-mini-list span{background:#fff;border:1px solid #dfe7f5;border-radius:.7rem;padding:.55rem .65rem;font-size:.92rem}.hero-chip-row{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.4rem}.hero-chip-row span{border-radius:999px;border:1px solid #d8e3f8;padding:.25rem .55rem;font-size:.75rem;color:#375a90;background:#f7faff}.hero-stats strong{display:block;font-size:1.45rem}.hero-stats span{color:#5d7094;font-size:.92rem}.btn{padding:.75rem 1.2rem;border-radius:.7rem;font-weight:600;letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000038;filter:brightness(1.03)}.btn.primary{background:linear-gradient(135deg,#d6a74f,#b98930);color:#fff}.btn.ghost{border:1px solid #d2dced;background:#ffffff;color:#1f3764}.section{padding:4.1rem 0}.heavy-banner{min-height:250px;border-radius:1rem;border:1px solid #d8e3f8;background-size:auto 88%;background-position:right 18px center;background-repeat:no-repeat;background-color:#dfe9fb;display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 14px 32px #12244529;position:relative}.heavy-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,22,46,.78) 0%,rgba(10,22,46,.42) 42%,rgba(10,22,46,.08) 72%,rgba(10,22,46,0) 100%);pointer-events:none}.heavy-banner-content{max-width:560px;margin:.8rem;border-radius:.9rem;padding:.8rem .9rem;background:rgba(7,16,33,.56);border:1px solid rgba(255,255,255,.18);position:relative;z-index:1}.heavy-banner-content .eyebrow{color:#f2e2bd;background:rgba(255,208,112,.2);border-color:#ffd07066}.heavy-banner-content h2{color:#fff;margin:0;font-size:clamp(1.5rem,3vw,2.3rem)}.heavy-banner-content p{color:#dce8ff;margin:.65rem 0 0}.section-head{margin-bottom:1.3rem}.eyebrow{display:inline-block;margin:0 0 .45rem;padding:.28rem .64rem;border-radius:999px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#22467d;background:#eaf1ff;border:1px solid #d4e2fc}h2{margin:0;font-size:clamp(1.5rem,3.5vw,2.4rem)}.section-subtitle{color:#5d7094;margin:.65rem 0 1.7rem;max-width:62ch}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{background:#ffffff;border:1px solid #dfe7f5;border-radius:1rem;padding:1.2rem;box-shadow:0 12px 28px #12224214;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-6px);border-color:#ffd1668c;box-shadow:0 18px 34px #00000047}.card h3{margin-top:0}.card p{margin-bottom:0;color:#5a6d90}.service-badge{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-bottom:.8rem;border-radius:.6rem;background:#f8f3e7;border:1px solid #e5d3a4;color:#b98930;font-weight:700}.process-head{text-align:center;margin-bottom:1.4rem}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative}.process-card{background:#ffffff;border:1px solid #dfe7f5;border-radius:1rem;padding:1.2rem;transition:transform .3s ease,border-color .3s ease;position:relative}.process-card:hover{transform:translateY(-5px);border-color:#8ab2ffb3}.step-no{margin:0 0 .4rem;color:#2f4f87;font-weight:700}.process-card:after{content:"";position:absolute;top:1.4rem;right:-.65rem;width:1.2rem;height:2px;background:#cad8f1}.process-card:last-child:after{display:none}.section-dark{background:linear-gradient(180deg,#f8fafe 0%,#eef3fb 100%);border-top:1px solid #e4eaf5;border-bottom:1px solid #e4eaf5}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}.gallery-filters{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.filter-chip{border:1px solid #d4e0f3;background:#fff;color:#20406f;border-radius:999px;padding:.38rem .78rem;cursor:pointer;font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.filter-chip.active{background:#1f3764;border-color:#1f3764;color:#fff}.gallery-item{aspect-ratio:4/3;border-radius:.9rem;padding:.9rem;display:flex;align-items:flex-end;font-weight:700;background-position:center;background-size:cover;background-repeat:no-repeat;border:1px solid #d5deef;transition:transform .35s ease,border-color .35s ease,filter .35s ease;cursor:pointer;box-shadow:0 10px 24px #13284d2e}.gallery-item:hover{transform:scale(1.02);border-color:#ffd16699;filter:saturate(1.1)}.lightbox{position:fixed;inset:0;background:rgba(7,16,32,.22);z-index:99999;display:grid;place-items:center;padding:1rem;animation:lightbox-fade-in .22s ease-out}.lightbox-content{width:min(860px,96%);background:#fff;border-radius:1rem;padding:.9rem;border:1px solid #dce6f6;box-shadow:0 22px 48px #0b183159;position:relative;isolation:isolate;transform-origin:center top;animation:lightbox-content-in .24s cubic-bezier(.22,1,.36,1)}.lightbox-content img{width:100%;max-height:70vh;object-fit:cover;border-radius:.7rem}.lightbox-close{margin-left:auto;margin-bottom:.55rem;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #d4dfef;background:#fff;color:#223a67;border-radius:50%;cursor:pointer;font-size:1rem;font-weight:700}.lightbox-meta{margin-top:.75rem;padding:.25rem .2rem .2rem}.lightbox-meta h3{margin:0;color:#1a3769;font-size:1.2rem}.lightbox-meta p{margin:.45rem 0 0;color:#5a6f95}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-content-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gallery-caption{width:100%;border-radius:.8rem;padding:.62rem .68rem;background:linear-gradient(180deg,rgba(10,25,50,.38),rgba(8,19,39,.62));border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 14px #050d1b29}.gallery-item strong{display:block;margin-bottom:.25rem;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);font-size:.98rem}.gallery-item p{margin:0;font-size:.82rem;color:#e5eeff;text-shadow:0 1px 6px rgba(0,0,0,.45)}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:start}.about p{color:#596d92}.about-copy .btn{margin-top:.8rem;display:inline-block}.about-checklist{background:#ffffff;border:1px solid #dfe7f5;border-radius:1rem;padding:1rem 1rem .4rem}.about ul{margin:0;padding-left:1.2rem;color:#425c8b}.about li{margin-bottom:.55rem}.footer{border-top:1px solid #e4eaf5;background:#ffffff;padding:2rem 0 2.8rem;margin-top:auto}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}.footer p{color:#5f7192;margin:.45rem 0}.footer-brand{display:inline-flex;align-items:center;gap:.5rem;margin:0}.footer-brand img{width:1.6rem;height:1.6rem;object-fit:contain;border-radius:.28rem}.contact-page{min-height:60vh}.contact-card{max-width:620px;padding:1.2rem;border-radius:1rem;background:#fff;border:1px solid #dfe7f5;box-shadow:0 10px 26px #12224214}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.trust-item{background:#fff;border:1px solid #dfe7f5;border-radius:1rem;padding:1rem 1.1rem;transition:transform .25s ease,box-shadow .25s ease}.trust-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1e39661a}.trust-dot{width:.62rem;height:.62rem;border-radius:50%;background:linear-gradient(135deg,#2e62bf,#d3a24a);display:inline-block;margin-bottom:.4rem}.trust-item h3{margin:0 0 .45rem}.trust-item p{margin:0;color:#5b7095}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.featured-card{background:#fff;border:1px solid #dfe7f5;border-radius:1rem;padding:1.1rem;box-shadow:0 10px 24px #12224212;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.featured-card:hover{transform:translateY(-5px);border-color:#c9daf8;box-shadow:0 14px 28px #1f37641f}.featured-icon{width:2.2rem;height:2.2rem;border-radius:999px;display:inline-grid;place-items:center;margin-bottom:.65rem;font-size:.78rem;font-weight:700;color:#1f3764;border:1px solid #d5e1f6;background:linear-gradient(135deg,#f5f9ff,#e8f0ff)}.featured-card p{color:#5b7095}.featured-link{display:inline-block;margin-top:.65rem;color:#1f3764;font-weight:700}.project-summary{border:1px solid #dce6f6;background:linear-gradient(135deg,#ffffff,#f4f8ff);border-radius:1rem;padding:1rem;display:grid;grid-template-columns:1.1fr 1fr;gap:1rem}.project-summary p{color:#5a6f95}.project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.project-metrics article{border:1px solid #dce6f6;background:#fff;border-radius:.8rem;padding:.75rem}.project-metrics strong{display:block;font-size:1.15rem}.project-metrics span{color:#5a6f95;font-size:.82rem}.mini-faq{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mini-faq article{border:1px solid #dce6f6;border-radius:.9rem;background:#fff;padding:.9rem;transition:transform .22s ease,box-shadow .22s ease}.mini-faq article:hover{transform:translateY(-3px);box-shadow:0 10px 22px #142b521a}.mini-faq h3{margin:0 0 .5rem;font-size:1rem}.mini-faq p{margin:0;color:#5b7095}.stats-cta{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;background:linear-gradient(135deg,#ffffff 0%,#f3f7ff 100%);border:1px solid #dfe7f5;border-radius:1rem;padding:1.25rem;box-shadow:0 12px 28px #213a6617}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stats-grid article{background:#fff;border:1px solid #e2e9f6;border-radius:.8rem;padding:.9rem;transition:transform .2s ease}.stats-grid article:hover{transform:translateY(-3px)}.stats-grid strong{display:block;font-size:1.3rem}.stats-grid span,.stats-action p{color:#5b7095}.stats-action h3{margin:0 0 .55rem;font-size:1.35rem;color:#13284b}.stats-action p{margin:0 0 1rem;max-width:42ch}.stats-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.72rem 1.15rem;border:1px solid #b58a36;background:linear-gradient(135deg,#d9ae5c,#b98930);color:#fff;border-radius:.72rem;box-shadow:0 8px 20px #b58a3652;font-weight:700;letter-spacing:.01em}.stats-cta-btn:hover{box-shadow:0 12px 24px #b58a3666}.references-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.reference-card{border:1px solid #dfe7f5;border-radius:1rem;background:#fff;padding:1rem;box-shadow:0 8px 22px #182d5212}.reference-text{margin:0 0 .8rem;color:#50658b}.reference-company{margin:0;font-weight:700;color:#1e3868}.location-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:1rem;align-items:stretch}.map-card{border:1px solid #dfe7f5;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 10px 24px #162c5214}.map-card iframe{width:100%;min-height:320px;border:0}.floating-cta{position:fixed;right:1.1rem;bottom:1.1rem;z-index:40;display:inline-grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:#22c55e;color:#fff;box-shadow:0 12px 26px #0e371f47;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.floating-cta:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 30px #0e371f57}.floating-cta-icon{width:1.65rem;height:1.65rem}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (max-width: 980px){.cards,.gallery,.process-grid,.featured-grid,.trust-strip,.references-grid{grid-template-columns:repeat(2,1fr)}.about,.footer-grid,.stats-cta,.location-grid,.project-summary,.hero-layout{grid-template-columns:1fr}.hero-stats{margin-top:1rem;max-width:100%}.hero-panel{max-width:100%}}@media (max-width: 768px){.trust-bar{flex-wrap:wrap;justify-content:center;padding:.4rem 0;min-height:unset}.project-metrics,.mini-faq{grid-template-columns:1fr}.section{padding:3.2rem 0}.hero-content{padding:3.2rem 0 3.8rem}.hero-cta{width:100%}.hero-cta .btn,.stats-cta-btn{width:100%;text-align:center}.hero-stats{grid-template-columns:1fr;gap:.7rem}.hero-panel{padding:.95rem}.hero-mini-list span{font-size:.88rem}.stats-cta{padding:1rem}.stats-action h3{font-size:1.2rem}.featured-card,.trust-item,.card,.process-card{padding:1rem}.heavy-banner{min-height:210px;background-size:auto 82%;background-position:right 10px center}.heavy-banner-content{margin:.6rem;padding:.65rem .75rem}}@media (max-width: 640px){.nav{flex-direction:column;gap:.8rem}.nav-links{flex-wrap:wrap;justify-content:center}.cards,.gallery,.process-grid,.hero-stats,.featured-grid,.trust-strip,.stats-grid,.references-grid{grid-template-columns:1fr}.process-card:after{display:none}.floating-cta{right:.8rem;bottom:.8rem;width:3rem;height:3rem}.floating-cta-icon{width:1.5rem;height:1.5rem}}
