  .about-wrap{padding-top:40px}
  .about-hero{padding:80px 0 20px}
  .headshot{width:100%; max-width:340px; border-radius:14px; margin-left:auto}
  .guide{padding:40px 0}
  .principles{list-style:none; padding-left:0; margin:18px 0 0; display:grid; gap:18px}
  .principles li{display:flex; align-items:center; gap:12px; font-size:1.02rem; color:#3c4a53}
  .dot{width:26px; height:26px; border-radius:50%; display:inline-block}
  .dot-blue{background:#d8f3f5}
  .dot-pink{background:#f6dbe3}
  .dot-green{background:#dff3e4}
  .blush{
    background:linear-gradient(180deg, rgba(253,235,241,.65), rgba(255,255,255,1) 70%);
    padding:52px 0;
  }
  .about-icons{font-size:22px; margin-bottom:8px}
  @media (max-width:991px){
    .about-hero{padding-top:40px}
    .headshot{margin:0 auto}
  }


  /**************************************
    0) ROOT + GLOBAL UTILITIES
  **************************************/
  :root{
    --nav-teal:#7ECFDC;
    --nav-dark:#0d2740;
  }

  /* Basic header spacing used globally */
  .site-top {
    position: sticky; top:0; z-index:1000;
    background:#fff;
    border-bottom:1px solid rgba(0,0,0,.06);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .site-top .container{ min-height:68px; }

  /* Base brand link (also used outside header scope) */
  .brand {
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
    color: #0d2740;
  }

  /* Generic hover micro-interactions */
  .btn{ transition: transform .25s ease, box-shadow .25s ease }
  .btn:hover{ transform: translateY(-3px) }

  /**************************************
    1) HEADER & NAV (site-top, brand, nav)
  **************************************/
  header.site-top .brand {
    font-size: 1.4rem;
    font-weight: 700;
  }
  header.site-top .brand span {
    font-size: 1.4rem;
  }

  /* Default/stuck header (solid) — already declared above with .site-top */

  /* Overlay variant: sits above hero, transparent, no border/shadow */
  .site-top--overlay{
    position:absolute; left:0; right:0; top:0;
    background: transparent;
    border-bottom-color: transparent;
  }
  .site-top.is-stuck{
    background:#fff;
    border-bottom-color: rgba(0,0,0,.06);
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
  }

  /* Final overlay hard reset (wins via !important) */
  .site-top--overlay{
    background:transparent !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  .site-top--overlay.shadow-sm,
  .site-top--overlay[class*="shadow"]{
    box-shadow:none !important;
  }

  /* Brand + nav link visuals */
  .site-top .brand{ font-weight:700; font-size:1.6rem; color:var(--nav-dark); text-decoration:none; }
  .site-top .brand span{ color:var(--nav-teal); }

  .site-top .nav{ display:flex; gap:28px; align-items:center; }
  .site-top .nav a{
    position:relative; display:inline-block; padding:6px 2px;
    color:var(--nav-dark); text-decoration:none; font-weight:600; letter-spacing:.2px;
    transition:color .2s ease;
  }
  .site-top .nav a::after{
    content:""; position:absolute; left:0; bottom:-8px; height:2px; width:0;
    background:var(--nav-teal); transition:width .22s ease;
  }
  .site-top .nav a:hover{ color:#3aa8ba; }
  .site-top .nav a:hover::after{ width:100%; }
  .site-top .nav a.active{ color:var(--nav-teal); }
  .site-top .nav a.active::after{ width:100%; }

  /* Hamburger */
  .hamburger {
    font-size: 1.8rem;
    background: none;
    border: none;
    cursor: pointer;
    display: none;
    color: #0d2740;
  }
  .hamburger{ display:none; width:44px; height:44px; background:none; border:0; font-size:1.7rem; color:var(--nav-dark); }

  /* Mobile drawer */
  @media (max-width:991px){
    .hamburger{ display:inline-block; }
    .site-top .nav{
      position:fixed; top:0; right:0; width:280px; height:100vh;
      background:#fff; border-left:1px solid rgba(0,0,0,.08);
      box-shadow:-20px 0 40px rgba(0,0,0,.06);
      padding:80px 18px 18px; flex-direction:column; gap:12px;
      transform:translateX(100%); transition:transform .28s ease; z-index:1001;
    }
    .site-top.is-open .nav{ transform:translateX(0); }
    #site-nav{ transition: transform .28s ease }
  }

  /* Dim overlay for mobile drawer */
  .nav-dim{ position:fixed; inset:0; background:rgba(0,0,0,.28); z-index:1000;
    opacity:0; pointer-events:none; transition:opacity .25s ease; }
  .nav-dim.show{ opacity:1; pointer-events:auto; }

  /* Z-index layering for header/drawer/dimmer */
  .site-top { z-index: 2000; }
  @media (max-width: 991px){
    .site-top .nav { z-index: 2001; }
  }
  .nav-dim { z-index: 1500; }



  .about-icons {
    display: flex;
    justify-content: center; /* Centers horizontally */
    gap: 10px; /* Space between icons */
  }

  .about-icons img {
    display: block; /* Prevents extra space below images */
  }






  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  * {
    box-sizing: border-box;
  }


  /* --- Safe gutters + max width for the content column --- */
.narrow{
  max-width: 980px;               /* keeps lines readable on desktops */
  margin-inline: auto;
}

/* Make every container keep a comfy gutter on small screens */
@media (max-width: 992px){
  .container,
  .container-fluid,
  .narrow{
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .row{ --bs-gutter-x: 1rem; }    /* tame Bootstrap's negative margins */
}

@media (max-width: 576px){
  .container,
  .container-fluid,
  .narrow{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .row{ --bs-gutter-x: .75rem; }
}

/* Prevent any stray horizontal scroll */
html, body{ max-width:100%; overflow-x:hidden; }
*{ box-sizing:border-box; }

/* Images never overflow */
img{ max-width:100%; height:auto; display:block; }

/* Gentle type scaling so it doesn’t feel crammed */
@media (max-width: 768px){
  .about-hero .display-4,
  .about-hero h1{ font-size: clamp(1.6rem, 4.5vw, 2.1rem); line-height:1.25; }

  .about-hero .lead{ font-size: 1rem; }
  .about-hero p{ font-size: .95rem; }
}

/* Headshot + icons center nicely on narrow screens */
@media (max-width: 768px){
  .headshot{ margin: 0 auto; }
  .about-icons{ justify-content:center; }
}


