
:root{
  --deep: #0B4F71;     /* deep blue */
  --mid:  #0E7490;     /* teal */
  --light:#EAF2F6;     /* light background */
  --text:#0F172A;      /* slate-900 */
  --muted:#334155;     /* slate-700 */
  --accent:#12A4A6;    /* turquoise accent */
  --card:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  color:var(--text);
  line-height:1.5;
  background:#fff;
}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

header.hero{
  background: linear-gradient(165deg, var(--deep), #0E5A8A 40%, var(--mid));
  color:#fff;
  padding:70px 0 90px;
  position:relative;
  overflow:hidden;
}
.hero .title{font-size:48px;font-weight:800;letter-spacing:1px;margin:0 0 10px}
.hero .subtitle{font-size:20px;opacity:0.95;margin:0 0 26px}
.hero .cta{
  background:#16A34A00;
}
.cta-btn{
  display:inline-block;
  background:#16a3a6;
  color:#fff;
  text-decoration:none;
  padding:12px 18px;
  border-radius:10px;
  font-weight:600;
}
.section{padding:64px 0}
.section.light{background:#fff}
.section.gray{background:#f7fafc}
h2{font-size:28px;margin:0 0 22px}
p{margin:0 0 14px;color:var(--muted)}

.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.intro img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,0.1)}

.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
.card{
  background:var(--card);
  border-radius:16px;
  padding:18px 18px 16px;
  box-shadow:0 8px 20px rgba(2,12,27,0.06);
  border:1px solid #eef2f7;
  min-height:160px;
}
.card h3{margin:6px 0 6px;font-size:18px}
.card p{margin:0;font-size:15px}

.about{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.about .portrait{
  width:100%;max-width:280px;border-radius:16px;box-shadow:0 12px 28px rgba(2,12,27,0.12)
}
.contact{
  text-align:center
}
.contact .big{
  font-size:20px;margin:8px 0
}
.contact a{
  color:#0b7285;text-decoration:none;font-weight:600
}
footer{padding:36px 0;color:#64748b;text-align:center;font-size:14px;border-top:1px solid #e2e8f0}

@media (max-width: 980px){
  .services{grid-template-columns:repeat(2,1fr)}
  .intro{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .about{grid-template-columns:1fr}
  .hero .title{font-size:38px}
  .hero .subtitle{font-size:18px}
}
