/*
Amor + Associates
Business Viability & Decision Economics

Core UI + brand system
Diagnostic-first practice
*/

:root{
    --aa-ink:#0f172a;      /* slate-900 */
    --aa-muted:#475569;    /* slate-600 */
    --aa-faint:#94a3b8;    /* slate-400 */
    --aa-line:#e2e8f0;     /* slate-200 */
    --aa-bg:#ffffff;
    --aa-soft:#f8fafc;     /* slate-50 */
    --aa-accent:#f97316;   /* orange */
    --aa-nav:#111827;      /* near-black */
    --aa-go:#14532d;        /* deep governance green */
    --aa-go-soft:#f0fdf4;  /* very light green */
  }

  body{
    color:var(--aa-ink);
    background:var(--aa-bg);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }

  /* Type system */
  .kicker{
    color:#c2410c;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:.72rem;

  }

  @media (max-width: 767px){
    .kicker{
      margin-top:.25rem;
    }
  }
  
  .display-tight{
    letter-spacing:-.02em;
    line-height:1.03;
  }
  .lead-muted{ color:var(--aa-muted); }

  /* Layout rhythm */
  section{ padding: 5.25rem 0; }
  @media (max-width: 991.98px){
    section{ padding: 3.75rem 0; }
  }

  .section-soft{
    background: var(--aa-soft);
    box-shadow: inset 0 1px 0 var(--aa-line);
  }
  @media (max-width: 767px){
    section{
      padding: 3rem 0;
    }
  }
  

  /* Navbar */
  .aa-nav{
    border-bottom: 1px solid var(--aa-line);
    background: rgba(255,255,255,.92);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
  }


  .aa-nav .nav-link{
    color:#334155;
    font-weight:500;
    font-size:.95rem;
  }
  .aa-nav .nav-link:hover{ color:var(--aa-nav); }

  .aa-nav .navbar-toggler{
    border: 1px solid var(--aa-line);
    border-radius: .6rem;
  }
  
  .aa-nav .navbar-toggler-icon{
    background-image: var(--bs-navbar-toggler-icon-bg);
  }
  


  /* Buttons */
  .btn-aa{
    background:#0b1220;
    border-color:#0b1220;
    color:#fff;
    border-radius:.6rem;
    padding:.78rem 1.05rem;
    font-weight:600;
  }
  .btn-aa:hover{ filter:brightness(1.05); }
  .btn-aa-outline{
    border:1px solid var(--aa-line);
    color:var(--aa-ink);
    border-radius:.6rem;
    padding:.78rem 1.05rem;
    font-weight:600;
    background:#fff;
  }
  .btn-aa-outline:hover{ background:var(--aa-soft); }

  /* Cards */
  .aa-card{
    border:1px solid var(--aa-line);
    border-radius:1rem;
    background:#fff;
    box-shadow:0 0 0 rgba(0,0,0,0);
  }
  .aa-card .card-body{ padding:1.6rem; }

  /* Tags */
  .aa-tag{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    border:1px solid var(--aa-line);
    border-radius:.5rem;
    padding:.25rem .55rem;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#64748b;
    background:#fff;
  }

  /* Accent hairline */
  .aa-accent-line{
    width:3px;
    background:var(--aa-accent);
    border-radius:2px;
  }

  /* Quotes / callouts */
  .aa-callout{
    border:1px solid var(--aa-line);
    border-radius:1rem;
    padding:1.35rem 1.35rem;
    background:#fff;
  }
  .aa-callout strong{ font-weight:700; }
  .aa-hr{ border-top:1px solid var(--aa-line); opacity:1; }

  @media (max-width: 767px){
    .aa-callout{
      padding:1.25rem;
      font-size:1.05rem;
    }
  }
  .aa-callout{
    border-left:3px solid var(--aa-accent);
  }
    

  /* Images */
  .aa-img{
    border-radius:1.25rem;
    border:1px solid var(--aa-line);
    overflow:hidden;
    background:var(--aa-soft);
  }

/* Aspect-ratio container */
.aa-img--ratio{
    position: relative;
    aspect-ratio: 16 / 10; /* default */
  }

  /* Make the img truly fill the frame */
.aa-img--ratio > img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  /* Optional variants */
  .aa-img--16x9{ aspect-ratio: 16 / 9; }
  .aa-img--4x3{ aspect-ratio: 4 / 3; }
  .aa-img--1x1{ aspect-ratio: 1 / 1; }
  
  /* Slightly shorter on small phones */
  @media (max-width: 575.98px){
    .aa-img--ratio{ aspect-ratio: 16 / 11; }
  }
  
  @media (max-width: 767px){
    .aa-img{
      min-height: 200px !important;
      border-radius: 1rem;
      margin-bottom: 1rem;
    }
  }
  @media (max-width: 767.98px){
    #what-we-do .row{ --bs-gutter-y: 1rem; }
  }
  
  @media (max-width: 767.98px){
    .dc-img{ display:none; }
  }
  @media (max-width: 767.98px){
    #diagnostic-clarity .kicker{ margin-top:.25rem; }
  }
  
  

  .aa-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* Lists */
  .aa-list{
    list-style:none;
    padding-left:0;
    margin:0;
  }
  .aa-list li{
    display:flex;
    gap:.65rem;
    align-items:flex-start;
    padding:.15rem 0;
    color:var(--aa-muted);
  }
  .aa-bullet{
    width:1.25rem;
    height:1.25rem;
    border:1px solid var(--aa-line);
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:.1rem;
    flex:0 0 auto;
    color:#64748b;
    font-size:.8rem;
    background:#fff;
  }

  /* Footer */
  footer{
    padding:2.75rem 0;
    border-top:1px solid var(--aa-line);
    color:var(--aa-muted);
    font-size:.95rem;
  }

  /* Subtle background geometry (optional, calm) */
  .hero-bg{
    background:
      radial-gradient(1200px 600px at 90% 10%, rgba(15,23,42,.04), transparent 60%),
      radial-gradient(900px 500px at 10% 90%, rgba(249,115,22,.05), transparent 60%);
  }
  @media (min-width: 992px) {
    .hero h1 {
      font-size: clamp(2.6rem, 3.2vw, 3.2rem);
      line-height: 1.05;
    }
  }
  
  @media (min-width: 992px) {
    .hero-section {
      padding-top: 4rem;
      padding-bottom: 4rem;
    }
  }
  
  .aa-brand-sub{
    font-size: .8rem;
    line-height: 1.2;
    color: var(--aa-muted);
    letter-spacing: .02em;
  }
  @media (max-width: 991.98px){
    .aa-brand-sub{
      display:none; /* hide on mobile to preserve space */
    }
  }
  
  @media (max-width: 575.98px){

    body{
      font-size: 1.05rem; /* ~16.8px */
      line-height: 1.55;
    }
  
    .lead,
    .lead-muted{
      font-size: 1.05rem;
      line-height: 1.6;
    }
  
    .aa-list li{
      font-size: 1rem;
      line-height: 1.55;
    }
  }
  @media (max-width: 575.98px){
    h2{
      font-size: 1.6rem;
      line-height: 1.25;
    }

    @media (max-width: 767px){
        h2{
          margin-bottom: .75rem;
        }
      }
      
  }
  @media (max-width: 575.98px){
    .lead-muted,
    .text-secondary{
      color:#334155; /* slate-700 */
    }
  }

  @media (max-width: 767px){
    p,
    .lead-muted{
      font-size:1.05rem;
      line-height:1.55;
    }
  }
  
  .aa-tag-go{
    border-color: rgba(20,83,45,.35);
    color: var(--aa-go);
    background: var(--aa-go-soft);
  }

  .aa-tag-go{
    border-color: rgba(20,83,45,.35);
    color: var(--aa-go);
    background: var(--aa-go-soft);
  }
  .aa-card.step{
    position:relative;
  }
  
  .aa-card.step::before{
    content:"";
    position:absolute;
    left:0;
    top:12%;
    bottom:12%;
    width:3px;
    background: var(--aa-go);
    border-radius:2px;
  }
  @media (max-width: 767px){
    .diagnostic-secondary-img{
      display:none;
    }
  }

  .aa-tag-triage{
    border-color: rgba(180,83,9,.35);   /* amber-700 */
    color:#92400e;                      /* amber-800 */
    background:#fffbeb;                 /* amber-50 */
  }

  .aa-tag-primary{
    border-color: rgba(20,83,45,.35);   /* green-800 */
    color:#14532d;                      /* green-900 */
    background:#f0fdf4;                 /* green-50 */
  }

  @media (max-width: 767.98px){
    .nav-link,
    .dropdown-item,
    footer a{
      padding-top:.5rem;
      padding-bottom:.5rem;
    }
  }
  .nav-link.active{
    color:var(--aa-ink);
    font-weight:600;
  }
  
  /* Hero brand descriptor */
.aa-brand-subtitle {
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--aa-muted);
  }
  
  /* Desktop only – tighten it further */
  @media (min-width: 992px) {
    .aa-brand-subtitle {
      font-size: 0.85rem;
    }
  }
  
  .aa-tag-stability{
    border-color: rgba(30,58,138,.35);   /* slate / indigo tone */
    color:#1e3a8a;                      /* indigo-900 */
    background:#eef2ff;                 /* indigo-50 */
  }

  .aa-tag-value{
    border-color: rgba(20,83,45,.35);   /* green-800 */
    color:#14532d;                      /* green-900 */
    background:#f0fdf4;                 /* green-50 */
  }
  
  .aa-tag-stability{
    font-weight:600;
  }
  
  .aa-tag-value{
    font-weight:600;
  }
  