@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600..800&family=Outfit:wght@400;500;700;800&display=swap');
:root{--dark:#101828;--ink:#1f2937;--muted:#667085;--primary:#ff4d5f;--secondary:#00b8a9;--accent:#ffc857;--light:#f6f8fb;--border:#e4e7ec}
*{box-sizing:border-box}body{margin:0;color:var(--muted);font-family:'Outfit',Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3{color:var(--dark);font-family:'Bricolage Grotesque','Outfit',Arial,sans-serif;font-weight:800;line-height:1.04;margin:0 0 18px}h1{font-size:clamp(2.45rem,5vw,5.35rem)}h2{font-size:clamp(2.05rem,4vw,3.45rem)}
.site-header{align-items:center;background:#fff;box-shadow:0 10px 30px rgba(16,24,40,.08);display:flex;gap:24px;justify-content:space-between;min-height:88px;padding:14px clamp(18px,5vw,70px);position:sticky;top:0;z-index:20}.brand img{width:214px}.main-nav{display:flex;gap:8px;margin-left:auto}.main-nav a{border-radius:6px;color:var(--dark);font-family:'Bricolage Grotesque','Outfit',Arial,sans-serif;font-weight:800;padding:12px 14px}.main-nav a:hover,.main-nav a.active{color:var(--primary)}.header-phone{background:var(--dark);border-radius:6px;color:#fff;font-family:'Bricolage Grotesque','Outfit',Arial,sans-serif;font-weight:800;padding:12px 16px}.menu-toggle{display:none}
.hero{align-items:center;background:linear-gradient(135deg,#fff1f3 0%,#fff8e1 48%,#e7fffb 100%);display:grid;gap:40px;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);min-height:calc(100vh - 88px);padding:60px clamp(18px,6vw,86px)}.hero>img,.split-section>img{border-radius:8px;box-shadow:0 24px 60px rgba(16,24,40,.16);height:auto;object-fit:cover}.hero-copy span,.eyebrow{color:var(--primary);display:block;font-family:'Bricolage Grotesque','Outfit',Arial,sans-serif;font-weight:800;letter-spacing:0;margin-bottom:12px;text-transform:uppercase}.hero p{color:rgba(16,24,40,.76);font-size:1.15rem;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{border:0;border-radius:6px;display:inline-flex;font-family:'Bricolage Grotesque','Outfit',Arial,sans-serif;font-weight:800;justify-content:center;padding:14px 22px}.btn.primary,.btn.dark{background:var(--primary);color:#fff}.btn.dark{background:var(--dark)}.btn.light{background:#fff;color:var(--dark)}
.section,.split-section,.contact-layout{padding:72px clamp(18px,6vw,86px)}.first-section{padding-top:54px}.split-section{align-items:center;display:grid;gap:42px;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.lead{color:var(--dark);font-size:1.2rem;font-weight:800}.section-title{max-width:920px}.stats{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:24px}.stats div{background:var(--light);border-radius:8px;padding:18px}.stats strong{color:var(--primary);display:block;font-size:2rem}.stats span{color:var(--dark);font-weight:800}
.card-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{background:var(--light);border:1px solid var(--border);border-radius:8px;min-height:240px;padding:30px;transition:.25s}.service-card:hover{background:var(--dark);transform:translateY(-4px)}.service-card b{color:var(--primary);display:block;font-size:2.2rem;margin-bottom:18px}.service-card h3 span{color:var(--muted);display:block}.service-card:hover h3,.service-card:hover p,.service-card:hover h3 span{color:#fff}
.tinted{background:var(--light)}.reference-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.reference-grid.full{grid-template-columns:repeat(auto-fit,minmax(220px,280px));justify-content:start}.reference-card{background:#fff;border:1px solid var(--border);border-radius:8px;color:inherit;cursor:pointer;font:inherit;overflow:hidden;padding:0;text-align:left;transition:.25s;width:100%}.reference-card:hover{box-shadow:0 18px 44px rgba(16,24,40,.14);transform:translateY(-3px)}.reference-card img{aspect-ratio:16/10;height:160px;object-fit:cover;width:100%}.reference-card div{padding:16px}.reference-card span{color:var(--secondary);font-size:.82rem;font-weight:900;text-transform:uppercase}.reference-card h3{font-size:1.15rem;margin-bottom:8px}.reference-card p{display:-webkit-box;font-size:.94rem;line-clamp:2;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.modal-open{overflow:hidden}.reference-modal{align-items:center;display:none;inset:0;justify-content:center;padding:24px;position:fixed;z-index:80}.reference-modal.open{display:flex}.reference-modal-backdrop{background:rgba(16,24,40,.74);border:0;cursor:pointer;inset:0;position:absolute}.reference-modal-panel{background:#fff;border-radius:8px;box-shadow:0 28px 90px rgba(0,0,0,.34);max-width:860px;overflow:hidden;position:relative;width:min(92vw,860px);z-index:1}.reference-modal-panel img{background:var(--light);max-height:62vh;object-fit:cover;width:100%}.reference-modal-copy{padding:24px}.reference-modal-copy span{color:var(--secondary);display:block;font-weight:900;text-transform:uppercase}.reference-modal-copy h2{font-size:clamp(1.6rem,3vw,2.4rem)}.reference-modal-copy p{margin:0}.reference-close{align-items:center;background:var(--dark);border:0;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:1.4rem;height:42px;justify-content:center;position:absolute;right:14px;top:14px;width:42px;z-index:2}
.compact-heading{padding-bottom:24px}.compact-heading h1{font-size:clamp(1.8rem,4vw,3rem);max-width:880px}.no-top{padding-top:24px}.contact-layout{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) 380px}.contact-panel,.contact-info{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 45px rgba(16,24,40,.08);padding:26px}form{display:grid;gap:14px}label{color:var(--dark);font-weight:800}input,textarea{border:1px solid var(--border);border-radius:6px;display:block;font:inherit;margin-top:6px;padding:12px;width:100%}textarea{min-height:150px;resize:vertical}.success{background:#e9fbf8;border:1px solid #b7efe6;border-radius:6px;color:#056257;margin-bottom:16px;padding:12px}.map-section{padding:0 clamp(18px,6vw,86px) 72px}.map-section iframe{border:0;border-radius:8px;height:430px;width:100%}
.site-footer{background:var(--dark);color:rgba(255,255,255,.72);display:grid;gap:32px;grid-template-columns:1.2fr 1fr 1fr;padding:58px clamp(18px,6vw,86px)}.site-footer img{background:#fff;border-radius:8px;padding:8px;width:220px}.site-footer h2{color:#fff;font-size:1.4rem}.site-footer a{color:#fff;display:block;margin:8px 0}.footer-bottom{background:#080d17;color:rgba(255,255,255,.62);padding:18px;text-align:center}
@media(max-width:980px){.site-header{flex-wrap:wrap}.menu-toggle{background:var(--primary);border:0;border-radius:6px;color:#fff;display:block;font-weight:900;padding:10px 14px}.main-nav{display:none;flex-basis:100%;flex-direction:column;order:5}.main-nav.open{display:flex}.header-phone{display:none}.hero,.split-section,.contact-layout,.site-footer{grid-template-columns:1fr}.hero{min-height:auto}.card-grid,.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.brand img{width:180px}.card-grid,.reference-grid,.stats{grid-template-columns:1fr}.hero-actions .btn{width:100%}}
