*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Source Sans 3',sans-serif;background:#FFFFFF;color:#0F172A;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:700}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 60px;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;border-bottom:1px solid #E2E8F0}
.nav__brand{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:#2563EB}
.nav__links{display:flex;gap:28px;list-style:none}
.nav__links a{font-size:0.85rem;color:#64748B;font-weight:600;transition:color 0.3s}
.nav__links a:hover{color:#2563EB}
.nav__cta{background:#2563EB;color:#fff;padding:10px 24px;border-radius:6px;font-size:0.85rem;font-weight:600;border:none;cursor:pointer;transition:background 0.3s}
.nav__cta:hover{background:#1E40AF}

.hero{min-height:85vh;display:flex;align-items:center;background:linear-gradient(135deg,#2563EBdd,#1E40AFcc);position:relative;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:0.25;mix-blend-mode:luminosity}
.hero__content{position:relative;z-index:2;max-width:640px;padding:80px 60px;color:#fff}
.hero h1{font-size:clamp(2.4rem,4vw,3.4rem);color:#fff;line-height:1.12;margin-bottom:16px}
.hero p{font-size:1.15rem;color:rgba(255,255,255,0.88);line-height:1.7;margin-bottom:32px}
.hero__btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{background:#F59E0B;color:#0F172A;padding:14px 32px;border-radius:6px;font-weight:600;font-size:0.95rem;border:none;cursor:pointer;transition:transform 0.2s}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;padding:14px 32px;border-radius:6px;font-weight:600;font-size:0.95rem;border:2px solid rgba(255,255,255,0.4);cursor:pointer;transition:all 0.3s}
.btn-ghost:hover{background:rgba(255,255,255,0.1)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#FFFFFF;border-bottom:1px solid #E2E8F0}
.stat{text-align:center;padding:40px 20px;border-right:1px solid #E2E8F0}
.stat:last-child{border-right:none}
.stat__num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;color:#2563EB;line-height:1}
.stat__label{font-size:0.8rem;color:#64748B;text-transform:uppercase;letter-spacing:0.06em;margin-top:8px}

.services{padding:80px 60px;background:#FFFFFF}
.services h2{font-size:2.2rem;text-align:center;margin-bottom:12px;color:#0F172A}
.services__sub{text-align:center;color:#64748B;margin-bottom:48px;font-size:1.05rem}
.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.svc{background:#F8FAFC;padding:36px;border-radius:8px;transition:all 0.3s;border:1px solid transparent}
.svc:hover{border-color:#2563EB;transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.08)}
.svc__icon{width:48px;height:48px;background:#2563EB;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem}
.svc h3{font-size:1.15rem;margin-bottom:10px;color:#0F172A}
.svc p{font-size:0.9rem;color:#64748B;line-height:1.65}

.work{padding:80px 60px;background:#F8FAFC}
.work h2{font-size:2.2rem;text-align:center;margin-bottom:48px;color:#0F172A}
.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.work__item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.work__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.work__item:hover img{transform:scale(1.06)}
.work__overlay{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,0.75));display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity 0.3s}
.work__item:hover .work__overlay{opacity:1}
.work__overlay h4{color:#fff;font-size:1.1rem;margin-bottom:4px}
.work__overlay span{color:rgba(255,255,255,0.7);font-size:0.8rem}

@media(max-width:768px){
  .nav{padding:16px 24px} .nav__links{display:none}
  .hero__content{padding:60px 24px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .services,.work{padding:48px 24px}
  .work__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .stats{grid-template-columns:1fr}
  .work__grid{grid-template-columns:1fr}
}
.nav__links a:hover,.nav__links a.active{color:#2563EB}
.page-hdr{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#2563EBdd,#1E40AFcc);position:relative;overflow:hidden}
.page-hdr__bg{position:absolute;inset:0}
.page-hdr__bg img{width:100%;height:100%;object-fit:cover;opacity:0.2;mix-blend-mode:luminosity}
.page-hdr__content{position:relative;z-index:2;padding:80px 40px}
.page-hdr h1{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-bottom:12px}
.page-hdr p{font-size:1.1rem;color:rgba(255,255,255,0.8);max-width:560px;margin:0 auto}
.svc-grid{padding:80px 60px;background:#FFFFFF}
.svc-grid h2{font-size:2rem;text-align:center;margin-bottom:8px;color:#0F172A}
.svc-grid__sub{text-align:center;color:#64748B;margin-bottom:48px;font-size:1rem}
.svc-grid__items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{background:#F8FAFC;padding:36px;border-radius:8px;transition:all 0.3s;border:1px solid transparent}
.svc-card:hover{border-color:#2563EB;transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.08)}
.svc-card__icon{width:48px;height:48px;background:#2563EB;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem}
.svc-card h3{font-size:1.15rem;margin-bottom:10px;color:#0F172A}
.svc-card p{font-size:0.9rem;color:#64748B;line-height:1.65}
.svc-process{padding:80px 60px;background:#F8FAFC}
.svc-process h2{font-size:2rem;text-align:center;margin-bottom:48px;color:#0F172A}
.svc-process__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1000px;margin:0 auto}
.svc-step{text-align:center;position:relative}
.svc-step__num{width:56px;height:56px;border-radius:50%;background:#2563EB;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;margin:0 auto 16px}
.svc-step h4{font-size:1.05rem;margin-bottom:8px;color:#0F172A}
.svc-step p{font-size:0.85rem;color:#64748B;line-height:1.6}
.svc-cta{padding:80px 60px;background:linear-gradient(135deg,#2563EB,  #1E40AF);text-align:center}
.svc-cta h2{color:#fff;font-size:2rem;margin-bottom:12px}
.svc-cta p{color:rgba(255,255,255,0.8);margin-bottom:32px;font-size:1.05rem}
.svc-cta__btn{display:inline-block;padding:16px 40px;background:#F59E0B;color:#0F172A;border-radius:6px;font-weight:600;font-size:0.95rem;border:none;cursor:pointer;transition:transform 0.2s}
.svc-cta__btn:hover{transform:translateY(-2px)}
.footer{background:#0F172A;color:rgba(255,255,255,0.6);padding:60px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto}
.footer__brand{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;margin-bottom:12px}
.footer__desc{font-size:0.85rem;line-height:1.7;max-width:280px}
.footer__title{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.4);margin-bottom:16px}
.footer__links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer__links a{font-size:0.85rem;color:rgba(255,255,255,0.6);transition:color 0.3s}
.footer__links a:hover{color:#fff}
.footer__bar{border-top:1px solid rgba(255,255,255,0.1);margin-top:40px;padding-top:20px;text-align:center;font-size:0.8rem;max-width:1200px;margin-left:auto;margin-right:auto}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:80px 60px}
.contact-form h2{font-size:1.6rem;margin-bottom:24px;color:#0F172A}
.contact-form__group{margin-bottom:20px}
.contact-form__label{display:block;font-size:0.8rem;color:#64748B;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}
.contact-form__input{width:100%;padding:12px 16px;border:1px solid #E2E8F0;border-radius:6px;font-size:0.9rem;font-family:'Source Sans 3',sans-serif;background:#FFFFFF;color:#0F172A;outline:none;transition:border-color 0.3s}
.contact-form__input:focus{border-color:#2563EB}
.contact-form__textarea{width:100%;padding:12px 16px;border:1px solid #E2E8F0;border-radius:6px;font-size:0.9rem;font-family:'Source Sans 3',sans-serif;background:#FFFFFF;color:#0F172A;outline:none;min-height:140px;resize:vertical;transition:border-color 0.3s}
.contact-form__textarea:focus{border-color:#2563EB}
.contact-form__btn{padding:14px 40px;background:#2563EB;color:#fff;border:none;border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 0.3s;font-family:'Source Sans 3',sans-serif}
.contact-form__btn:hover{background:#1E40AF}
.contact-info h2{font-size:1.6rem;margin-bottom:24px;color:#0F172A}
.contact-info__items{display:flex;flex-direction:column;gap:20px}
.contact-info__item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:#F8FAFC;border-radius:8px;border:1px solid #E2E8F0}
.contact-info__icon{width:44px;height:44px;background:#2563EB;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}
.contact-info__item h4{font-size:1rem;margin-bottom:4px;color:#0F172A}
.contact-info__item p{font-size:0.85rem;color:#64748B;line-height:1.5}
.contact-map{height:300px;background:linear-gradient(135deg,#F8FAFC,#E2E8F0);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.contact-map::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,#E2E8F044 40px,#E2E8F044 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,#E2E8F044 40px,#E2E8F044 41px)}
.contact-map span{position:relative;z-index:1;font-size:0.9rem;color:#64748B;padding:12px 24px;background:#FFFFFF;border-radius:6px;border:1px solid #E2E8F0}
/* SitePilot: mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
@media(max-width:768px){
  .nav-toggle{display:block}
  .nav__cta{display:none}
  .nav__links{flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);padding:16px 24px;box-shadow:0 4px 12px rgba(0,0,0,0.1);gap:12px}
}
