/* Smooth anchor scrolling */
body{ scroll-behavior: smooth }

/* Light West-Coast palette */
:root{
  --bg: #F7FBFF; --bg-2: #FEF9F2; --text: #0F172A; --muted: #64748B;
  --brand: #2BA7D9; --brand-2: #7CD3FF; --card: #FFFFFF; --ring: rgba(43,167,217,.35);
  --max: 1200px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,var(--bg),var(--bg-2));color:var(--text);font-family:'Inter',system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)} .small{font-size:12px}

/* Header */
header.site{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);border-bottom:1px solid #E6EEF6;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(15,23,42,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo-wrap{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}
.logo-wrap img{width:34px;height:34px;border-radius:8px}
.navlinks{display:flex;gap:18px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#002131;padding:10px 16px;border-radius:12px;font-weight:700;border:1px solid #7CD3FF;box-shadow:0 8px 18px rgba(43,167,217,.20)}
.btn.secondary{background:transparent;color:var(--text);border:1px solid #DCE8F2}

/* Hero */
.hero{min-height:70vh;display:grid;place-items:center;text-align:center}
.hero-inner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:60px 0}
.mark{width:96px;height:96px;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.hero-title{font-size:clamp(28px,4.6vw,44px);line-height:1.08;margin:0;background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{max-width:820px;margin:0 auto 6px;color:#3B556E}

/* Sections */
section{padding:80px 0;border-top:1px solid #E6EEF6}
h2{font-size:clamp(24px,3.4vw,34px);margin:0 0 10px}
.grid{display:grid;gap:18px}
@media(min-width:720px){.grid.cols-3{grid-template-columns:repeat(3,1fr)} .grid.cols-2{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--card);border:1px solid #E6EEF6;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.badge{display:inline-block;border:1px solid #E6EEF6;border-radius:999px;padding:4px 10px;color:#3B556E;background:#F7FCFF}

/* Contact */
form.contact{display:grid;gap:12px;max-width:560px;margin:0 auto}
input,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #DCE8F2;background:#FFFFFF;color:var(--text);outline:none}
input:focus,textarea:focus{box-shadow:0 0 0 3px var(--ring);border-color:#B9E5F8}
textarea{min-height:140px;resize:vertical}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Footer */
footer{padding:32px 0;color:#3B556E;border-top:1px solid #E6EEF6;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.9))}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Mobile nav */
#navtoggle{display:none}
@media(max-width:920px){
  #navtoggle{display:inline-flex}
  #navlinks{display:none}
  #navlinks.open{display:flex;position:absolute;right:20px;top:60px;background:#FFFFFF;border:1px solid #E6EEF6;border-radius:14px;padding:12px 14px;flex-direction:column;gap:10px;box-shadow:0 12px 30px rgba(15, 23, 42, .10)}
}
