:root{--primary: #2E8BC0;--primary-dark: #145374;--accent: #4DA8DA;--gray: #5A6C7D;--bg-light: #F0F4F8;--text-main: #1A2332;--text-muted: #5A6C7D;--border-soft: #D1D9E0;--max-width: 1120px;--radius-lg: 10px;--shadow-soft: 0 8px 24px rgba(20, 83, 116, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-main);background-color:#fff;line-height:1.5}img{max-width:100%;display:block}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover,a:focus-visible{color:var(--primary-dark);text-decoration:none}main a[href^="#"],main a[href^="/"]{color:#2563eb;text-decoration:underline}main a[href^="#"]:hover,main a[href^="/"]:hover,main a[href^="#"]:focus-visible,main a[href^="/"]:focus-visible{color:#1d4ed8;text-decoration:underline}.btn-primary,.btn-ghost,.nav-phone a,nav a,.brand{text-decoration:none!important}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}.site-header{position:fixed;top:0;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);z-index:1000;box-shadow:0 2px 10px #14537414}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.8rem 1rem;max-width:var(--max-width);margin:0 auto}.brand{display:flex;align-items:center}.brand-logo-img{height:70px;width:auto}nav{display:flex;align-items:center;gap:1.2rem;font-size:.9rem}nav a{font-weight:500;color:var(--text-muted);transition:color .2s ease}nav a:hover,nav a:focus-visible{color:var(--primary)}.nav-phone{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--primary-dark)}.nav-phone a{color:inherit;text-decoration:none}.nav-phone a:hover,.nav-phone a:focus-visible{color:var(--primary)}.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--primary)}main{padding-top:4rem}section{padding:2.5rem 0}section:nth-of-type(2n){background-color:var(--bg-light)}#hero{padding:3rem 0 2.5rem;background:linear-gradient(135deg,#e8f4f8f2,#f0f4f8f2,#fffffff2),url(/images/concrete-in-the-ground-for-the-foundation-of-the-b-2023-11-27-05-12-42-utc.webp);background-size:cover;background-position:center;background-attachment:fixed}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border-radius:999px;background:#2e8bc01a;color:var(--primary-dark);font-size:.8rem;font-weight:600;margin-bottom:.75rem}.badge-dot{width:7px;height:7px;border-radius:999px;background-color:#16a34a;box-shadow:0 0 0 4px #16a34a33}#hero h1{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 .6rem;letter-spacing:-.02em;color:var(--primary-dark)}#hero p.hero-subtitle{margin:0 0 1.2rem;color:var(--text-muted);max-width:34rem;font-size:.95rem}.hero-highlight{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem;font-size:.9rem;color:var(--text-muted)}.hero-highlight-item{display:inline-flex;align-items:center;gap:.4rem}.hero-highlight-item svg{width:16px;height:16px;flex-shrink:0;color:#22c55e}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.3rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;cursor:pointer;font-size:.9rem;box-shadow:0 8px 20px #2e8bc04d;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-2px);box-shadow:0 10px 25px #2e8bc066;text-decoration:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:999px;border:2px solid var(--primary);background:#fff;color:var(--primary);font-weight:500;font-size:.9rem;cursor:pointer;text-decoration:none;transition:all .2s ease}.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--primary);color:#fff;text-decoration:none}.hero-note{font-size:.85rem;color:var(--text-muted)}.hero-media{position:relative}.hero-image{width:100%;height:auto;border-radius:16px;margin-bottom:1rem;box-shadow:0 8px 24px #14537426;object-fit:cover}.hero-card{background:#fff;border-radius:16px;padding:1.2rem;box-shadow:var(--shadow-soft);position:relative;z-index:1;border:1px solid var(--border-soft)}.hero-card-header{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.hero-tech{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.hero-card-header-text h2{font-size:.95rem;margin:0 0 .1rem;color:var(--primary-dark)}.hero-card-header-text p{margin:0;font-size:.8rem;color:var(--text-muted)}.hero-card-list{list-style:none;padding:0;margin:0 0 .5rem;font-size:.85rem}.hero-card-list li{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--text-muted)}.hero-card-list strong{color:var(--text-main)}.hero-floating{position:absolute;inset-inline-end:-.5rem;bottom:-.8rem;padding:.6rem .8rem;border-radius:999px;background:var(--primary-dark);color:#fff;font-size:.75rem;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 10px 20px #14537466}.hero-floating-dot{width:8px;height:8px;border-radius:999px;background:#22c55e}section h2{font-size:1.6rem;margin-top:0;margin-bottom:.5rem;color:var(--primary-dark)}section>.container>p.section-intro{max-width:36rem;color:var(--text-muted);font-size:.9rem;margin-top:.25rem;margin-bottom:1rem}#about .about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start}.about-image{width:100%;height:auto;border-radius:var(--radius-lg);margin-bottom:1.2rem;box-shadow:0 6px 18px #1453741f;object-fit:cover}.about-card{background:#fff;border-radius:var(--radius-lg);padding:1.2rem 1.3rem;border:1px solid var(--border-soft);box-shadow:0 4px 12px #1453740f}.about-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1.2rem;font-size:.85rem;color:var(--text-muted)}.about-meta-item strong{display:block;font-size:.9rem;margin-bottom:.25rem;color:var(--text-main)}#why .why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.2rem}.why-card{background:#fff;border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--border-soft);display:flex;gap:.8rem;align-items:flex-start;transition:transform .2s ease,box-shadow .2s ease}.why-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #1453741f}.why-icon{width:28px;height:28px;border-radius:999px;background:#2e8bc01a;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.why-card h3{margin:0 0 .25rem;font-size:.95rem;color:var(--primary-dark)}.why-card p{margin:0;font-size:.85rem;color:var(--text-muted)}#services .service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.2rem}.service-card{background:#fff;border-radius:var(--radius-lg);padding:0;border:1px solid var(--border-soft);display:flex;flex-direction:column;justify-content:space-between;min-height:160px;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.service-image{width:100%;height:140px;object-fit:cover;display:block}.service-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #1453741f}.service-card h3{font-size:.95rem;margin:0 0 .4rem;color:var(--primary-dark);padding:1rem 1rem 0}.service-card p{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted);padding:0 1rem}.service-card a{font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;color:var(--primary);padding:0 1rem 1rem}.service-details{margin-top:2rem;border-top:1px solid var(--border-soft);padding-top:1.75rem}.service-details h3{font-size:1.05rem;margin-top:0}.service-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}.service-detail{background:#fff;border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--border-soft);font-size:.88rem}.service-detail ul{padding-left:1.1rem;margin:.4rem 0 0;font-size:.85rem;color:var(--text-muted)}.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:800px;margin:0 auto}details.faq-item{background:#fff;border-radius:var(--radius-lg);border:2px solid var(--border-soft);padding:.9rem 1rem;transition:all .3s ease}details.faq-item summary{cursor:pointer;font-weight:600;font-size:.92rem;list-style:none;color:var(--primary-dark);display:flex;justify-content:space-between;align-items:center}details.faq-item summary:after{content:"+";font-size:1.3rem;color:var(--primary);transition:transform .3s ease}details.faq-item[open] summary:after{transform:rotate(45deg)}details.faq-item[open]{border-color:var(--primary);box-shadow:0 4px 12px #2e8bc026}details.faq-item summary::-webkit-details-marker{display:none}details.faq-item p{margin:.6rem 0 0;font-size:.88rem;color:var(--text-muted);line-height:1.6}#service-area .area-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start}.area-image{width:100%;height:auto;border-radius:var(--radius-lg);margin-bottom:1rem;box-shadow:0 6px 18px #1453741f;object-fit:cover;max-height:260px}#map{width:100%;min-height:260px;border-radius:var(--radius-lg);border:1px solid var(--border-soft);overflow:hidden;box-shadow:0 4px 12px #14537414}.area-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-soft);padding:1rem 1.1rem;font-size:.88rem;box-shadow:0 4px 12px #1453740f}.area-list{columns:2;column-gap:1.2rem;margin-top:.6rem;padding-left:1rem}.area-list li{margin-bottom:.25rem;break-inside:avoid}#contact .contact-wrapper{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:flex-start}form{background:linear-gradient(135deg,#fff,#f8fbfc);border-radius:var(--radius-lg);padding:1.5rem 1.4rem;border:2px solid var(--primary);box-shadow:0 8px 24px #2e8bc026}form h3{margin:0 0 1rem;font-size:1.1rem;color:var(--primary-dark)}.form-row{margin-bottom:.9rem}label{display:block;margin-bottom:.3rem;font-size:.88rem;font-weight:500;color:var(--text-main)}input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:.6rem .7rem;border-radius:8px;border:1px solid #d1d5db;font-size:.9rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2e8bc026}textarea{min-height:90px;resize:vertical}.required{color:#ef4444}.opt-in{display:flex;align-items:flex-start;gap:.55rem;font-size:.78rem;color:var(--text-muted);margin:.8rem 0 .6rem}.opt-in input[type=checkbox]{margin-top:.2rem;flex-shrink:0;cursor:pointer}.form-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.9rem}.form-note{font-size:.8rem;color:var(--text-muted)}.contact-info-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-soft);padding:1.2rem 1.3rem;font-size:.88rem;box-shadow:0 4px 12px #1453740f}.contact-info-card h3{margin-top:0;margin-bottom:.7rem;font-size:1rem;color:var(--primary-dark)}.contact-info-card dl{margin:0}.contact-info-card dt{font-weight:600;margin-top:.5rem;color:var(--text-main)}.contact-info-card dd{margin:0;color:var(--text-muted)}.contact-info-card a{font-weight:600;color:var(--primary)}.status-message{font-size:.82rem;margin-top:.3rem;padding:.5rem;border-radius:6px}.status-error{color:#b91c1c;background:#fee2e2}.status-success{color:#15803d;background:#d1fae5}#thank-you-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:2000;align-items:center;justify-content:center;animation:fadeIn .3s ease}#thank-you-modal.show{display:flex}.modal-content{background:#fff;border-radius:16px;padding:2rem 2.5rem;max-width:500px;text-align:center;box-shadow:0 20px 60px #1453744d;animation:slideUp .3s ease}.modal-content h3{font-size:1.5rem;color:var(--primary-dark);margin:0 0 .5rem}.modal-content p{font-size:.95rem;color:var(--text-muted);margin:0 0 1.5rem}.modal-content .btn-primary{margin:0 auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}footer{background:var(--primary-dark);color:#e5e7eb;padding:1.75rem 1rem 1.4rem;font-size:.78rem}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:1rem;align-items:flex-start}.footer-main p{margin:0 0 .35rem;line-height:1.5}.footer-main small{display:block;color:#9ca3af;margin-top:.3rem}.footer-contact{text-align:right}.footer-contact a{color:#e5e7eb;font-weight:600}.footer-contact p{margin:.1rem 0;color:#9ca3af}.floating-call{position:fixed;right:1rem;bottom:1rem;z-index:1200;display:none}.floating-call a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.75rem 1.2rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 12px 24px #14537466;transition:transform .2s ease}.floating-call a:hover{transform:scale(1.05)}.floating-call a span:first-child{font-size:1.1rem}@media (max-width: 900px){.hero-grid,#about .about-grid,#service-area .area-grid,#contact .contact-wrapper,.footer-inner{grid-template-columns:minmax(0,1fr)}.footer-contact{text-align:left}#contact .contact-wrapper{grid-template-columns:minmax(0,1fr)}.contact-info-card{order:2}form{order:1}}@media (max-width: 768px){#hero{background-attachment:scroll}.nav-inner{padding-inline:1rem}nav{position:absolute;inset-inline:0;top:100%;background:#fff;flex-direction:column;padding:.75rem 1rem 1rem;border-bottom:1px solid var(--border-soft);display:none;box-shadow:0 4px 12px #1453741a}nav.open{display:flex}.nav-toggle{display:block}.hero-grid{grid-template-columns:minmax(0,1fr)}#hero{padding-top:2.5rem}.floating-call{display:block}.area-list{columns:1}section h2{font-size:1.4rem}.brand-logo-img{height:55px}}@media (max-width: 480px){#hero{padding-top:2rem}.hero-card{padding:1rem}#hero h1{font-size:1.5rem}.modal-content{padding:1.5rem 1.75rem;margin:1rem}}
