
    :root{
      --navy:#0f223a;
      --navy2:#0b1a2d;
      --navy3:#142d4d;
      --cream:#f3efe6;
      --cream2:#efe7d6;
      --ink:#0d1b2e;
      --muted:#526173;

      --gold:#caa45a;
      --gold-text:#76551a;
      --border: rgba(13,27,46,.10);

      --neon:#39ff14;
      --neon2:#1fe300;

      --radius:18px;
      --shadow: 0 18px 55px rgba(14,26,43,.18);
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color: var(--ink);
      background: var(--cream);
      line-height:1.55;
    }
    a{color:inherit}
    .container{max-width:1140px;margin:0 auto;padding:0 18px}

    /* Header */
    .topbar{
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(243,239,230,.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(13,27,46,.08);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      padding: 14px 0;
      gap: 14px;
    }
    .brand{
      display:flex; align-items:center; gap:0;
      text-decoration:none;
    }
    .logoImg{
      display:block;
      height:76px;
      width:auto;
      max-width:min(54vw, 440px);
      object-fit:contain;
    }
    .logo{
      width:46px;height:46px;border-radius:12px;
      background: var(--navy);
      display:grid;place-items:center;
      color: var(--cream);
      font-family: Fraunces, serif;
      font-weight: 700;
      letter-spacing:.5px;
      box-shadow: 0 14px 30px rgba(15,34,58,.22);
    }
    .brandTitle{
      display:flex; flex-direction:column; line-height:1.05;
    }
    .brandTitle strong{
      font-family: Fraunces, serif;
      font-size: 20px;
      letter-spacing:.2px;
    }
    .brandTitle small{
      font-size: 12px;
      color: var(--muted);
      letter-spacing:.28em;
      text-transform: uppercase;
      margin-top: 4px;
    }
    .links{
      display:flex; align-items:center; gap: 16px;
    }
    .links a{
      text-decoration:none;
      color: #324255;
      font-weight: 600;
      font-size: 14px;
      padding: 10px 10px;
      border-radius: 12px;
      transition: .18s ease;
    }
    .links a:hover{background: rgba(15,34,58,.06)}
    .navRight{
      display:flex; align-items:center; gap: 14px;
    }
    .phone{
      display:flex; align-items:center; gap:10px;
      color:#324255;
      font-weight:700;
      font-size:14px;
      white-space:nowrap;
    }
    .pill{
      display:inline-flex; align-items:center; justify-content:center;
      border-radius: 14px;
      padding: 12px 14px;
      text-decoration:none;
      font-weight: 800;
      font-size: 14px;
      border: 1px solid rgba(15,34,58,.18);
      background: rgba(15,34,58,.95);
      color: var(--cream);
      transition: .18s ease;
      white-space: nowrap;
    }
    .pill:hover{transform: translateY(-1px); filter: brightness(1.02)}

    .menuBtn{display:none}

    /* Hero */
    .hero{
      position:relative;
      min-height: 560px;
      display:flex; align-items:center;
      overflow:hidden;
      background: var(--navy2);
      color: var(--cream);
    }

    /* Optional image: assets/hero.jpg */
    .hero::before{
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(90deg, rgba(11,26,45,.92) 0%, rgba(11,26,45,.72) 58%, rgba(11,26,45,.86) 100%),
        url("/assets/hero.jpg");
      background-size: cover;
      background-position: center;
      filter: saturate(1.05) contrast(1.02);
      opacity: .95;
    }
    /* fallback if hero.jpg doesn't exist: will still show gradient; browser ignores missing image */
    .heroInner{position:relative; z-index:2; padding: 80px 0 66px}

    .heroGrid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 28px;
      align-items:center;
    }
    .heroContent{
      max-width: 980px;
      margin: 0 auto;
      text-align: center;
    }

    .kicker{
      display:inline-block;
      font-size: 12px;
      letter-spacing:.28em;
      text-transform: uppercase;
      color: rgba(243,239,230,.85);
      position:relative;
      padding-top: 8px;
      margin: 0 auto;
    }
    .kicker::before{
      content:"";
      position:absolute;
      top:0; left:0;
      width: 70px; height: 2px;
      background: var(--gold);
      border-radius: 2px;
    }

    h1{
      font-family: "Playfair Display", Georgia, serif;
      font-weight: 800;
      font-size: 56px;
      line-height: 1.03;
      margin: 14px 0 14px;
      letter-spacing:-0.01em;
      font-kerning: normal;
      text-rendering: geometricPrecision;
    }
    .hero p{
      margin: 0 auto;
      max-width: 60ch;
      color: rgba(243,239,230,.85);
      font-size: 16.5px;
      text-align: center;
    }

    .heroActions{
      display:flex; gap: 14px; flex-wrap:wrap;
      margin-top: 22px;
      justify-content: center;
    }
    .btnGold{
      display:inline-flex; align-items:center; justify-content:center;
      padding: 14px 18px;
      border-radius: 16px;
      font-weight: 900;
      text-decoration:none;
      border: 1px solid rgba(202,164,90,.45);
      background: rgba(202,164,90,.95);
      color: #081321;
      box-shadow: 0 18px 40px rgba(0,0,0,.18);
    }
    .btnGhost{
      display:inline-flex; align-items:center; justify-content:center;
      padding: 14px 18px;
      border-radius: 16px;
      font-weight: 900;
      text-decoration:none;
      border: 1px solid rgba(243,239,230,.34);
      background: rgba(243,239,230,.06);
      color: var(--cream);
    }
    .btnGold:hover,.btnGhost:hover{transform: translateY(-1px)}
    .stats{
      display:grid; grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      margin-top: 38px;
      padding-top: 22px;
      border-top: 1px solid rgba(243,239,230,.20);
      text-align: center;
      align-items: start;
    }
    .stat strong{
      display:block;
      font-family: Fraunces, serif;
      font-size: 44px;
      color: var(--gold-text);
      letter-spacing:.3px;
    }
    .stat small{
      display:block;
      color: rgba(243,239,230,.78);
      margin-top: 4px;
      font-weight: 600;
    }

    /* Sections */
    section{padding: 76px 0}
    .sectionHead{
      text-align:center;
      margin-bottom: 34px;
    }
    .sectionHead .mini{
      font-size: 12px;
      letter-spacing:.28em;
      text-transform: uppercase;
      color: var(--gold-text);
    }
    .sectionHead h2{
      font-family: Fraunces, serif;
      font-size: 44px;
      margin: 10px 0 10px;
      color: var(--navy2);
    }
    .sectionHead p{
      margin: 0 auto;
      max-width: 68ch;
      color: var(--muted);
      font-size: 16px;
    }
    .underline{
      width: 70px; height: 2px;
      background: var(--gold);
      border-radius: 2px;
      margin: 14px auto 0;
    }

    /* Areas cards */
    .cards{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 30px;
    }
    .card{
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 24px;
      box-shadow: 0 14px 40px rgba(13,27,46,.08);
      transition: .18s ease;
      position:relative;
    }
    .card:hover{transform: translateY(-2px); box-shadow: 0 18px 55px rgba(13,27,46,.12)}
    .iconBox{
      width: 54px; height: 54px;
      border-radius: 14px;
      background: rgba(15,34,58,.06);
      display:grid; place-items:center;
      border: 1px solid rgba(15,34,58,.10);
      margin-bottom: 14px;
    }
    .card h3{
      font-family: Fraunces, serif;
      font-size: 24px;
      margin: 0 0 10px;
      color: var(--navy2);
    }
    .card p{
      margin:0;
      color: var(--muted);
      font-size: 14.5px;
      line-height:1.65;
    }
    .centerCta{
      display:flex; justify-content:center;
      margin-top: 28px;
    }
    .btnOutline{
      display:inline-flex; align-items:center; justify-content:center;
      padding: 14px 18px;
      border-radius: 16px;
      font-weight: 900;
      text-decoration:none;
      border: 2px solid rgba(15,34,58,.85);
      background: transparent;
      color: var(--navy2);
    }

    /* About */
    .aboutWrap{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 26px;
      align-items:center;
    }
    .aboutKicker{
      font-size: 12px;
      letter-spacing:.28em;
      text-transform: uppercase;
      color: var(--gold-text);
    }
    .aboutTitle{
      font-family: Fraunces, serif;
      font-size: 44px;
      margin: 10px 0 10px;
      color: var(--navy2);
      line-height: 1.06;
    }
    .aboutText{
      color: var(--muted);
      font-size: 15.5px;
    }
    .bullets{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px 18px;
      margin-top: 18px;
    }
    .bullet{
      display:flex; gap: 10px; align-items:flex-start;
      color: var(--muted);
      font-size: 13.5px;
    }
    .check{
      width: 22px; height: 22px;
      border-radius: 999px;
      background: rgba(202,164,90,.18);
      display:grid; place-items:center;
      border: 1px solid rgba(202,164,90,.35);
      flex: 0 0 auto;
      margin-top: 2px;
    }

    .portrait{
      border-radius: 22px;
      overflow:hidden;
      background: #111;
      box-shadow: var(--shadow);
      border: 1px solid rgba(15,34,58,.10);
      position:relative;
    }
    .portrait img{
      width:100%;
      height: 560px;
      object-fit: cover;
      display:block;
    }
    .portrait::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(15,34,58,0) 55%, rgba(15,34,58,.55) 100%);
      pointer-events:none;
    }
    .caption{
      position:absolute;
      left: 18px; bottom: 16px;
      z-index:2;
      color: var(--cream);
    }
    .caption strong{
      font-family: Fraunces, serif;
      font-size: 26px;
      display:block;
      margin-bottom: 2px;
    }
    .caption small{
      display:block;
      color: rgba(243,239,230,.85);
      font-weight: 600;
    }

    /* Contact */
    .contactGrid{
      display:grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 22px;
      align-items:start;
      margin-top: 34px;
    }
    .contactBox{
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 24px;
      box-shadow: 0 14px 40px rgba(13,27,46,.08);
    }
    .contactItem{
      display:flex; gap: 14px; align-items:flex-start;
      padding: 14px 0;
      border-bottom: 1px solid rgba(13,27,46,.08);
    }
    .contactItem:last-child{border-bottom:0}
    .contactIcon{
      width: 46px; height: 46px;
      border-radius: 14px;
      background: rgba(15,34,58,.92);
      color: var(--cream);
      display:grid; place-items:center;
      flex: 0 0 auto;
    }
    .contactItem strong{display:block; font-size: 16px; color: var(--navy2)}
    .contactItem span{display:block; margin-top: 3px; color: var(--muted); font-weight:600}

    form label{
      display:block;
      font-size: 12px;
      letter-spacing:.08em;
      color: #2a3a4c;
      font-weight: 900;
      margin-bottom: 6px;
    }
    .row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    input, select, textarea{
      width:100%;
      padding: 13px 14px;
      border-radius: 14px;
      border: 1px solid rgba(13,27,46,.14);
      outline: none;
      font: inherit;
      background: #fbfbfb;
    }
    textarea{min-height: 140px; resize: vertical}
    input:focus, select:focus, textarea:focus{
      border-color: rgba(15,34,58,.45);
      box-shadow: 0 0 0 4px rgba(15,34,58,.08);
      background:#fff;
    }
    .sendBtn{
      margin-top: 16px;
      display:inline-flex;
      align-items:center; justify-content:center;
      padding: 14px 18px;
      border-radius: 16px;
      border: 0;
      background: rgba(15,34,58,.95);
      color: var(--cream);
      font-weight: 900;
      cursor:pointer;
    }
    .sendBtn:hover{filter: brightness(1.02); transform: translateY(-1px)}

    /* Footer */
    footer{
      background: var(--navy2);
      color: rgba(243,239,230,.80);
      padding: 26px 0 42px;
      margin-top: 40px;
    }
    .footGrid{
      display:flex;
      justify-content:space-between;
      gap: 14px;
      flex-wrap: wrap;
      align-items:center;
    }
    .footGrid small{opacity:.9}
    .oab{
      font-weight: 800;
      letter-spacing:.02em;
    }

    /* Floating WhatsApp */
    .waFloat{
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 99;
      display:inline-flex;
      align-items:center;
      gap: 12px;
      padding: 12px 18px 12px 12px;
      border-radius: 999px;
      text-decoration:none;
      font-weight: 900;
      font-size: 16px;
      color: #ffffff;
      background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 18px 45px rgba(18,140,126,.28);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .waFloat:hover{
      transform: translateY(-2px);
      box-shadow: 0 22px 55px rgba(18,140,126,.34);
      filter: brightness(1.02);
    }
    .waIcon{
      width: 42px;
      height: 42px;
      border-radius: 999px;
      display:grid;
      place-items:center;
      background: rgba(255,255,255,.16);
      border: 1px solid rgba(255,255,255,.16);
      flex: 0 0 auto;
    }
    .waFloat svg{width:20px;height:20px}


    .teamIntro{max-width:820px;margin:0 auto 28px;text-align:center;color:var(--muted);font-size:15.5px;line-height:1.7}
    .teamGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:28px;align-items:stretch}
    .teamCard{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 14px 40px rgba(13,27,46,.08);display:grid;grid-template-rows:auto 1fr;transition:.18s ease}
    .teamCard:hover{transform:translateY(-2px);box-shadow:0 18px 55px rgba(13,27,46,.12)}
    .teamPhoto{height:520px;background:#0b1a2d;overflow:hidden}
    .teamPhoto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
    .teamInfo{padding:24px}
    .teamInfo h3{font-family:Fraunces,serif;font-size:30px;line-height:1.1;margin:8px 0 8px;color:var(--navy2)}
    .teamRole{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);font-weight:900;margin-bottom:2px}
    .teamOab{font-weight:900;color:var(--navy2);margin:0 0 12px;font-size:14px}
    .teamAreas{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .teamAreas span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid rgba(202,164,90,.30);background:#f8f4ec;color:#314358;font-size:12.5px;font-weight:800}
    .teamNote{margin-top:22px;color:var(--muted);font-size:14.5px;line-height:1.7;text-align:center}

    /* Responsive */
    @media (max-width: 980px){
      .links, .phone{display:none}
      h1{font-size: 44px}
      .hero{min-height: 520px}
      .heroGrid{grid-template-columns:1fr}
      .stats{grid-template-columns:1fr; gap: 12px}
      .waFloat{right:14px; bottom:14px; padding:10px 14px 10px 10px; font-size:14px;}
      .waIcon{width:36px; height:36px;}
      .cards{grid-template-columns:1fr}
      .aboutWrap{grid-template-columns:1fr}
      .portrait img{height: 520px}
      .teamGrid{grid-template-columns:1fr}
      .teamPhoto{height:460px}
      .contactGrid{grid-template-columns:1fr}
      .row{grid-template-columns:1fr}
    }
  

/* Mobile menu */
.nav{position:relative}.menuBtn{display:none;align-items:center;gap:8px;border:1px solid rgba(15,34,58,.18);border-radius:14px;background:#fff;color:var(--navy2);font-weight:900;font-size:14px;padding:10px 12px;cursor:pointer}.menuBars{display:inline-grid;gap:3px}.menuBars span{display:block;width:18px;height:2px;background:currentColor;border-radius:999px}.menuBtn:focus{outline:0;box-shadow:0 0 0 4px rgba(15,34,58,.10)}footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(243,239,230,.35)}footer a:hover{border-bottom-color:var(--gold)}.privacyNote{margin:10px 0 0;color:var(--muted);font-size:12px}.privacyNote a{font-weight:800;color:var(--navy2);text-decoration:none;border-bottom:1px solid rgba(15,34,58,.25)}.privacyNote a:hover{border-bottom-color:var(--gold)}
@media (max-width:980px){.menuBtn{display:inline-flex}.nav .links{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:80;flex-direction:column;align-items:stretch;gap:4px;padding:10px;background:rgba(243,239,230,.98);border:1px solid rgba(13,27,46,.10);border-radius:16px;box-shadow:0 18px 45px rgba(13,27,46,.16);backdrop-filter:blur(10px)}.nav.menu-open .links{display:flex}.nav .links a{width:100%;padding:13px 14px}.nav .pill{padding:10px 12px;font-size:13px}.topbar{overflow:visible}.logoImg{max-width:min(58vw,360px)}}
@media (max-width:520px){.logoImg{height:48px;max-width:56vw}.navRight .pill,.nav>.pill{display:none}.nav{gap:8px}}


    .badge{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);font-weight:900;margin-bottom:12px}
    .metaRow{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 16px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);color:#314358;font-size:13px;font-weight:700}
    .readmore{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;text-decoration:none;font-weight:900;border:2px solid rgba(15,34,58,.85);color:var(--navy2);margin-top:16px}
    .problemGrid,.recentGrid,.topicGridHome{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.recentGrid{grid-template-columns:repeat(3,1fr)}.topicGridHome{grid-template-columns:repeat(5,1fr)}
    .problemCard,.topicMini{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:0 14px 40px rgba(13,27,46,.08);text-decoration:none;display:block;transition:.18s ease}.problemCard:hover,.topicMini:hover{transform:translateY(-2px);box-shadow:0 18px 55px rgba(13,27,46,.12)}
    .problemCard strong,.topicMini strong{display:block;font-family:Fraunces,serif;font-size:22px;line-height:1.12;color:var(--navy2);margin-bottom:8px}.problemCard span,.topicMini span{display:block;color:var(--muted);font-size:14px}.softSection{background:rgba(255,255,255,.40)}
    @media (max-width:980px){.problemGrid,.recentGrid,.topicGridHome{grid-template-columns:1fr}.problemCard strong,.topicMini strong{font-size:21px}}

    .readmore{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;text-decoration:none;font-weight:800;border:2px solid rgba(15,34,58,.85);color:var(--navy2);margin-top:16px}
    .badge{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);font-weight:800;margin-bottom:12px}.metaRow{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 14px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);color:#314358;font-size:13px;font-weight:700}
    .focusBand{background:var(--cream);border-top:1px solid rgba(13,27,46,.08);border-bottom:1px solid rgba(13,27,46,.08)}.focusCards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px}.focusCard{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 12px 32px rgba(13,27,46,.07)}.focusCard strong{display:block;font-family:Fraunces,serif;font-size:20px;color:var(--navy2);line-height:1.15;margin-bottom:8px}.focusCard span{display:block;color:var(--muted);font-size:13.5px;line-height:1.55}
    .articleMiniGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.articleMiniGrid .card h3{font-size:22px}.articleMiniGrid .card p{font-size:14px}.softPanel{background:#fff;border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:0 14px 40px rgba(13,27,46,.08)}
    @media(max-width:980px){.focusCards,.articleMiniGrid{grid-template-columns:1fr}.focusCards{gap:12px}}
    

/* Accessibility, privacy and structured content enhancements */
html{scroll-behavior:smooth}
body.cookie-dialog-open{overflow:hidden}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);padding:11px 15px;border-radius:10px;background:#fff;color:var(--navy2);font-weight:900;text-decoration:none;box-shadow:0 10px 30px rgba(13,27,46,.22);transition:transform .16s ease}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.links a[aria-current="page"]{background:rgba(15,34,58,.09);color:var(--navy2)}
.footerLinkButton{appearance:none;border:0;border-bottom:1px solid rgba(243,239,230,.35);padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.footerLinkButton:hover{border-bottom-color:var(--gold)}
.reviewDate{margin:-8px 0 22px;color:var(--muted);font-size:13px;font-weight:700}
.authorBox a{text-decoration:none}.authorName{display:inline-block}.authorName strong{transition:color .18s ease}.authorName:hover strong{color:var(--gold-text)}
.authorProfileLink{display:inline-flex;margin-top:9px;color:var(--navy2);font-size:13px;font-weight:900;border-bottom:1px solid rgba(15,34,58,.25)}
.authorProfileLink:hover{border-bottom-color:var(--gold)}
.serviceSection{margin-top:34px}.serviceSection>h2,.serviceSection>h3{font-family:Fraunces,Georgia,serif;color:var(--navy2)}.serviceSection>h2{font-size:32px;margin:0 0 12px}.serviceSection>p{color:var(--muted)}
.serviceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}.servicePanel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.servicePanel h3{font-family:Fraunces,Georgia,serif;font-size:24px;line-height:1.2;margin:0 0 10px;color:var(--navy2)}.servicePanel p,.servicePanel li{color:var(--muted)}.servicePanel ul,.servicePanel ol{margin:10px 0 0 20px;padding:0}.servicePanel li{margin:8px 0}
.processSteps{counter-reset:step;display:grid;gap:14px;margin-top:18px}.processStep{position:relative;padding:18px 18px 18px 64px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.processStep::before{counter-increment:step;content:counter(step);position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:rgba(202,164,90,.18);border:1px solid rgba(202,164,90,.38);color:#654a16;font-weight:900}.processStep strong{display:block;color:var(--navy2);margin-bottom:4px}.processStep span{color:var(--muted)}
.profileGrid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:28px;align-items:start}.profilePhoto{overflow:hidden;border-radius:22px;background:var(--navy2);border:1px solid var(--border);box-shadow:var(--shadow)}.profilePhoto img{width:100%;height:auto;display:block}.profileDetails{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.profileDetails h2{font-family:Fraunces,Georgia,serif;font-size:34px;line-height:1.12;color:var(--navy2);margin:0 0 8px}.profileOab{font-weight:900;color:var(--navy2)}.profileAreas{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.profileAreas span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f8f4ec;border:1px solid rgba(202,164,90,.35);font-size:13px;font-weight:800;color:#314358}
.fieldHelp{display:block;margin-top:6px;color:var(--muted);font-size:12px}.checkboxRow{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin-top:16px}.checkboxRow input{width:18px;height:18px;margin:2px 0 0}.checkboxRow label{margin:0;font-size:12px;line-height:1.55;letter-spacing:0;text-transform:none;font-weight:700}.checkboxRow a{color:var(--navy2);font-weight:900}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.referenceBox{margin-top:24px;padding:18px 20px;border:1px solid rgba(13,27,46,.10);border-radius:16px;background:#f8f4ec;color:var(--muted);font-size:14px}.referenceBox strong{color:var(--navy2)}
.cookieBanner{position:fixed;left:18px;right:18px;bottom:18px;z-index:300;max-width:1180px;margin:0 auto;background:#fff;border:1px solid rgba(13,27,46,.16);border-radius:20px;box-shadow:0 24px 70px rgba(13,27,46,.28);color:var(--ink)}.cookieBannerInner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px}.cookieBannerText strong{display:block;font-family:Fraunces,Georgia,serif;font-size:22px;color:var(--navy2)}.cookieBannerText p{margin:5px 0 3px;color:var(--muted);font-size:14px}.cookieBannerText a,.cookieDetails a{color:var(--navy2);font-weight:900}.cookieActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.cookieButton{appearance:none;border-radius:12px;padding:11px 14px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.cookieButtonPrimary{border:1px solid var(--navy);background:var(--navy);color:#fff}.cookieButtonSecondary{border:1px solid rgba(15,34,58,.22);background:#fff;color:var(--navy2)}
.cookieDialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);border:0;border-radius:22px;padding:0;background:#fff;color:var(--ink);box-shadow:0 26px 90px rgba(8,19,33,.38)}.cookieDialog::backdrop{background:rgba(8,19,33,.68);backdrop-filter:blur(3px)}.cookieDialogPanel{padding:26px}.cookieDialogHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cookieEyebrow{display:block;font-size:11px;letter-spacing:.22em;color:var(--gold-text);font-weight:900}.cookieDialog h2{font-family:Fraunces,Georgia,serif;font-size:32px;color:var(--navy2);margin:4px 0 8px}.cookieDialog p{color:var(--muted)}.cookieClose{appearance:none;width:38px;height:38px;border-radius:999px;border:1px solid rgba(13,27,46,.14);background:#fff;color:var(--navy2);font-size:26px;line-height:1;cursor:pointer}.cookieCategory{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fbfaf7}.cookieCategory strong{display:block;color:var(--navy2)}.cookieCategory span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.cookieStatus{font-weight:900!important;color:#35644f!important}.cookieToggle{cursor:pointer}.cookieToggle input{width:22px;height:22px;accent-color:var(--navy)}.cookieDetails{font-size:13px}.cookieDialog .cookieActions{margin-top:20px}
@media(max-width:980px){.serviceGrid,.profileGrid{grid-template-columns:1fr}.profilePhoto{max-width:520px}.cookieBannerInner{grid-template-columns:1fr}.cookieActions{justify-content:flex-start}}
@media(max-width:620px){.cookieBanner{left:10px;right:10px;bottom:10px}.cookieBannerInner{padding:16px}.cookieActions{display:grid;grid-template-columns:1fr;width:100%}.cookieButton{width:100%}.cookieDialogPanel{padding:20px 16px}.cookieCategory{grid-template-columns:1fr}.cookieToggle input{justify-self:start}}
@media(max-width:520px){.waFloat{width:54px!important;height:54px!important;padding:0!important;right:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important;justify-content:center!important;font-size:0!important;gap:0!important}.waIcon{width:100%!important;height:100%!important}.waFloat svg{width:22px!important;height:22px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

body.cookie-banner-open .waFloat,body.cookie-dialog-open .waFloat{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}
/* Consentimento: mantém o componente compacto mesmo em páginas com estilos genéricos para section. */
.cookieBanner{padding:0!important;max-height:calc(100vh - 20px);overflow:auto}




/* Refinamentos solicitados para a página inicial */
@media (max-width:620px){
  section{padding:44px 0}
  .sectionHead{margin-bottom:20px}
  .sectionHead .mini{font-size:10px;letter-spacing:.18em;line-height:1.35}
  .sectionHead h2{font-size:28px;line-height:1.12;margin:6px auto 7px;max-width:22ch}
  .sectionHead p{font-size:14.5px;line-height:1.58}
  .underline{margin-top:9px}
  .cards,.recentGrid{margin-top:20px}
  #atuacao-complementar .sectionHead h2{font-size:26px;max-width:22ch}
  #sobre{padding-top:0!important}
  #sobre .sectionHead{margin-bottom:14px}
  .teamIntro{margin-bottom:20px;font-size:14.5px;line-height:1.58}
}
@media (max-width:380px){
  .sectionHead h2{font-size:26px}
  #atuacao-complementar .sectionHead h2{font-size:24px}
}
