:root{
    --bg:#ffffff;
    --panel:#ffffff;
    --panel2:#ffffff;
  
    --text:#0b0f14;      /* near-black */
    --muted:#4b5563;     /* gray */
  
    --accent:#f97316;    /* orange */
    --accent2:#111827;   /* black-ish */
    --border:rgba(17,24,39,.12);
  
    --shadow: 0 10px 24px rgba(17,24,39,.10);
  }
  
  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
    background: var(--bg);
    color: var(--text);
    line-height:1.5;
  }
  
   /* Global vertical rhythm */
h1, h2, h3 { margin-top: 0; }
p { margin: 0 0 14px; }
p:last-child { margin-bottom: 0; }

.section { padding: 52px 0; }      /* was 42px */
.hero { padding: 72px 0 44px; }     /* gives the top more intention */
h2 { margin: 0 0 16px; }            /* consistent section heading spacing */

  
  a{ color:inherit; text-decoration:none; }
  .container{ max-width: 1080px; margin:0 auto; padding: 0 20px; }
  
  .header{
    position: sticky; top: 0;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    z-index: 50;
  }
  
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding: 14px 0;
  }
  .logo{
    font-weight: 800;
    letter-spacing: .2px;
  }
  .logo::after{
    content:"";
    display:inline-block;
    width:10px; height:10px;
    margin-left:8px;
    border-radius: 3px;
    background: var(--accent);
    vertical-align: middle;
  }
  
  .nav{ display:flex; gap: 16px; align-items:center; }
  .nav a{ color: var(--muted); }
  .nav a:hover{ color: var(--text); }

  
  .btn{
    display:inline-block;
    background: var(--accent);
    color: #ffffff;
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 700;
    box-shadow: var(--shadow);
    border: 1px solid rgba(0,0,0,.04);
  }
  .btn:hover{ filter: brightness(0.98); transform: translateY(-1px); }
  .btn:active{ transform: translateY(0px); }
  
  .btn-ghost{
    background: transparent;
    color: var(--text);
    border: 1px solid var(--border);
    box-shadow:none;
  }
  
  
  .hero{
    padding: 56px 0 28px;
    background:
      radial-gradient(900px 500px at 20% 10%, rgba(249,115,22,.18), transparent 55%),
      radial-gradient(900px 500px at 80% 30%, rgba(17,24,39,.10), transparent 60%);
  }
  
  .hero-inner{
    display:grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 22px;
    align-items: start;
  }
  .hero h1{ font-size: 44px; line-height: 1.05; margin: 0 0 10px; }
  .lead{ font-size: 18px; color: var(--muted); margin: 0 0 16px; }
  .hero-cta{ display:flex; gap: 12px; flex-wrap: wrap; margin: 10px 0 10px; }
  .micro{ font-size: 13px; color: var(--muted); margin-top: 8px; }
  
  .hero-card{
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: var(--shadow);
  }
  .hero-card h2{ margin:0 0 10px; font-size: 18px; }
  .hero-card ul{ margin: 0 0 14px; padding-left: 18px; color: var(--muted); }
  
  .section{ padding: 52px 0; }
  .section.alt{
    background: rgba(17,24,39,.03);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  
  
  h2{ font-size: 26px; margin: 0 0 14px; }
  .grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .card{
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 8px 20px rgba(17,24,39,.06);
    border-left: 4px solid rgba(249,115,22,.55);
  }

  /* Testimonials */
.testimonial p{
  font-size: 16px;
  line-height: 1.7;
}
.testimonial p.muted{
  margin-top: 12px;
}
 
  @media (min-width: 881px){
    .card--center{
      grid-column: 2 / 3;
    }
  }
 
  .card h3{
    margin: 0 0 8px;
    color: var(--accent2);
  }
  .muted{ color: var(--muted); }
  
  .about-grid{
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 24px;
    align-items: center;
    margin-top: 20px;
  }
  
  .about-image img{
    width: 100%;
    height: 360px;          /* consistent visual weight */
    border-radius: 18px;
    object-fit: cover;      /* crops nicely */
    box-shadow: 0 12px 30px rgba(17,24,39,.12);
    border-left: 4px solid rgba(249,115,22,.55); /* move brand stripe to desktop too */
  }

  .photo-credit{
    margin-top: 6px;
    font-size: 12px;
    color: var(--muted);
  }
  
  .photo-credit a{
    color: inherit;
    text-decoration: underline;
  }
  
  .photo-credit a:hover{
    color: var(--accent);
  }
  
  .about-text{
    font-size: 16px;
    line-height: 1.6;
    max-width: 520px;   /* soft cap for readability */
    margin: 0 auto;     /* keeps it centered in its column */
  }
  .about-text p{
    margin-bottom: 14px;
  }
  .about-text p:last-child{
    margin-bottom: 0;
  }


  .certifications {
  margin-top: 3rem;
}

.certifications h2 {
  margin-bottom: 1.25rem;
}

.cert-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

.cert-logo {
  width: 96px;
  height: 96px;
  object-fit: contain;
  flex-shrink: 0;
}

.cert-text h3 {
  margin: 0 0 0.25rem;
}

.cert-body {
  margin: 0;
  font-weight: 500;
}

.cert-note {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  opacity: 0.85;
}
  
  #contact .lead { font-size: 16px; }

  .form{
    display:grid;
    gap: 12px;
    max-width: 640px;
    margin-top: 14px;
  }
  label{ display:grid; gap: 6px; color: var(--muted); font-size: 14px; }
  input, textarea{
    width:100%;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #ffffff;
    padding: 10px 12px;
    color: var(--text);
    outline: none;
    box-shadow: 0 2px 10px rgba(17,24,39,.04);
  }
  
  input:focus, textarea:focus{
    border-color: rgba(249,115,22,.55);
    box-shadow: 0 0 0 4px rgba(249,115,22,.14);
  }
  
  
  .footer{
    padding: 26px 0;
    color: var(--muted);
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    gap: 14px;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
    padding-top: 18px;
  }

  .is-hidden{
    display: none;
  }
  
  
  @media (max-width: 880px){
    .hero-inner{ grid-template-columns: 1fr; }
    .hero h1{ font-size: 36px; }
    .grid{ grid-template-columns: 1fr; }
    .nav{ display:none; } /* keep it simple for v1 */
    .about-grid{
        grid-template-columns: 1fr;
        gap: 18px;
      }
    
      .about-image{
        max-width: 420px;
        margin: 0 auto;
      }
  }
  