/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
/* Horizontal page padding so content never touches browser edges */
:root{--section-vertical:32px}
body{padding-left:20px;padding-right:20px;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;line-height:1.5;color:#0f172a;min-height:100%;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 60%);background-color:#f8fafc;background-attachment:fixed}
.container{max-width:1200px;margin:0 auto;padding:0}
.hero-content{position:relative;padding:80px 20px;color:#fff;text-align:center}
/* Fixed white nav that remains visible while scrolling; match page gutters */
.nav{background:#ffffff;position:fixed;top:0;left:0;right:0;width:100%;z-index:999;transition:background-color .22s ease,box-shadow .22s ease,color .22s ease;padding-left:20px;padding-right:20px}
.nav.nav--solid{background:#ffffff;box-shadow:0 6px 20px rgba(2,6,23,.08);color:#0f172a}

/* Transparent nav over hero: use black text per design request */
.nav.nav--transparent{color:#0f172a}
.nav.nav--transparent .brand{color:inherit}
.nav.nav--transparent .nav-links a{color:inherit}
.nav.nav--transparent .nav-links a:hover{background:rgba(15,23,42,.04)}
.nav.nav--transparent .btn-primary{background:transparent;color:#0f172a;border:1px solid rgba(15,23,42,.9);box-shadow:none}

/* Solid nav state: dark text and filled CTA */
.nav.nav--solid .brand{color:#0f172a}
.nav.nav--solid .nav-links a{color:#0f172a}
.nav.nav--solid .nav-links a:hover{background:rgba(15,23,42,.04)}
.nav.nav--solid .btn-primary{background:#00a6a6;color:#fff;border:none;box-shadow:0 6px 18px rgba(0,166,166,.12)}

.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;position:relative;min-height:64px}
.brand{font-weight:700;color:inherit;text-decoration:none;font-size:1.125rem}
/* Home link on the left of the nav */
.nav-home{margin-right:12px;text-decoration:none;color:inherit;font-weight:600;padding:6px 10px;border-radius:6px}
.nav-home:hover{background:rgba(15,23,42,.04)}
/* Center nav links on wide screens */
.nav-links{list-style:none;display:flex;gap:20px;align-items:center;margin:0 auto;position:static;z-index:3}
.nav-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:4}
.nav-cta{display:inline-block}
/* Base link style: subtle, uppercase, pill-shaped */
.nav-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:8px 12px;border-radius:999px;text-transform:uppercase;font-weight:600;letter-spacing:.08em;font-size:.9rem;transition:background .18s ease,transform .12s ease,opacity .12s ease}
.nav-links a:not(.btn-primary){background:transparent;padding:6px 10px;border-radius:6px;font-weight:500}
.nav-links a.btn-primary{padding:10px 18px;border-radius:999px}
/* CTA arrow */
.nav-links a.btn-primary::after{content:"→";margin-left:8px;font-weight:700}
.nav-links a:hover{transform:translateY(-1px)}
.nav-toggle{display:none;border:0;background:none}
.hamburger{display:inline-block;width:24px;height:2px;background:currentColor;position:relative}
.hamburger::before,.hamburger::after{content:"";position:absolute;left:0;width:24px;height:2px;background:currentColor}
.hamburger::before{top:-8px}.hamburger::after{top:8px}
.hero{position:relative;min-height:calc(100vh - 86px);display:flex;align-items:center;justify-content:center}

/* Main content follows the hero directly; use scroll margins for anchor offsets. */
main{padding-top:0 !important}
.hero-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1533777324565-a040eb52fac2?auto=format&fit=crop&w=1650&q=80');background-size:cover;background-position:top center;filter:brightness(.55);z-index:0}

/* Background video fills the hero; it sits behind the content. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;filter:brightness(.55)}

/* Ensure hero content sits above video and has horizontal padding on small screens */
.hero-content{position:relative;padding:clamp(20px,6vw,48px);color:#fff;text-align:center;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:12px;letter-spacing: -0.02em}
.sub{opacity:.95;margin-bottom:20px;font-size:1.05rem}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-ctas .btn{margin:0}
.btn{display:inline-block;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600}
.btn-primary{background:#00a6a6;color:#fff}
.btn-primary:hover{opacity:.95}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.12)}
.lead{color:#334155;margin-bottom:18px}
.services{padding:var(--section-vertical) 0}
.services h2{margin-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px}
.card{background:#fff;padding:18px;border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.06);text-align:center}
.card-icon{font-size:32px;margin-bottom:12px}
.about{padding:var(--section-vertical) 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.about-image{height:320px;border-radius:12px;background-image:linear-gradient(135deg,#e6fffa,#fff);background-size:cover;overflow:hidden}
.about-image iframe{width:100%;height:100%;border:0;display:block}
.testimonials{padding:var(--section-vertical) 0;background:linear-gradient(180deg,#f8fafc,#fff)}   
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.testimonial{background:#fff;padding:18px;border-radius:10px;box-shadow:0 6px 18px rgba(2,6,23,.04)}
.contact{padding:var(--section-vertical) 0}
.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:start}
.contact-form label{display:block;margin-bottom:12px;font-size:.95rem;color:#111827}
.contact-form input,.contact-form textarea{width:100%;padding:10px;border:1px solid #e6e9ee;border-radius:8px;margin-top:6px}
.contact-info{background:#fff;padding:18px;border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.04)}
.footer{background:#0b1220;color:#cbd5e1;padding:20px 0;margin-top:40px;text-align:center}

#services,#about,#testimonials,#contact{scroll-margin-top:96px}

@media(max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  /* Mobile: keep slide-out menu */
  .nav-links{position:fixed;right:0;top:0;height:100vh;width:240px;background:#fff;flex-direction:column;padding:80px 20px;transform:translateX(100%);transition:transform .25s ease}
  .nav-links.open{transform:translateX(0)}
  .nav-toggle{display:block;position:relative;z-index:1001;color:#0f172a;cursor:pointer}
  /* hide right CTA on mobile (use the menu's CTA instead) */
  .nav-actions{display:none}
  .cards{grid-template-columns:1fr}
}

/* Tighter horizontal padding on very small screens to avoid touching edges */
@media(max-width:420px){
  body{padding-left:14px;padding-right:14px}
  .hero-content{padding-left:14px;padding-right:14px}
  .nav{padding-left:14px;padding-right:14px}
}

/* Improve long-text wrapping */
.hero h1, .lead, .about-text p{word-break:break-word;hyphens:auto}
