/* A font by Jos Buivenga (exljbris) -> www.exljbris.com */
@font-face{
  font-family:'Museo Sans 500';
  src:url(assets/museosans-500.woff) format('woff');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
  :root{
    --navy-900:#0A1830;
    --navy-800:#122B4A;
    --navy-700:#1C3F66;
    --gold-500:#B08D46;
    --gold-400:#C9A55C;
    --gold-100:#EFE3C8;
    --ivory-50:#F6F3EA;
    --ivory-100:#EFEADD;
    --ink-900:#1B1F27;
    --ink-600:#4A5568;
    --line: rgba(10,24,48,0.14);
    --line-light: rgba(246,243,234,0.18);
    --shadow: 0 12px 40px rgba(10,24,48,0.10);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}
  body{
    margin:0;
    background:var(--ivory-50);
    color:var(--ink-900);
    font-family:'Museo Sans 500', sans-serif;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  p{
    text-align:justify;
    text-align-last:left;
    -webkit-hyphens:auto;
    -moz-hyphens:auto;
    hyphens:auto;
  }
  h1,h2,h3,.serif{
    font-family:'Museo Sans 500', sans-serif;
    font-weight:600;
    color:var(--navy-900);
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1120px; margin:0 auto; padding:0 28px; overflow-x:hidden;}
  [class*="elfsight-app-"]{max-width:100%; overflow-x:hidden;}
  .eyebrow{
    display:none;
  }
  .eyebrow::before{content:""; width:26px; height:1px; background:var(--gold-500);}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(246,243,234,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .headwrap{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; margin:0;
  }
  .brand{display:flex; align-items:center; gap:12px; cursor:pointer; flex-shrink:0;}
  .brandlock{display:flex; flex-direction:column; align-items:center; gap:8px;}
  .headwrap .brandlock{flex-direction:row; align-items:center; gap:14px;}
  .headwrap .brandlock .bl-text{text-align:left;}
  .headwrap .brandlock .bl-name{font-size:23.4px;}
  .brandlock img{height:59.67px; width:auto; display:block; flex-shrink:0;}
  .brandlock .bl-text{display:flex; flex-direction:column; line-height:1.25; text-align:center;}
  .brandlock .bl-name{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:15px; color:var(--navy-900); white-space:nowrap;}
  .brandlock .bl-tag{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:10px; letter-spacing:0.09em; text-transform:uppercase; color:var(--gold-500); margin-top:4px; white-space:nowrap;}
  .brandlock-footer{display:inline-flex; align-items:center;}
  .brandlock-footer .bl-text{text-align:center;}
  .brandlock-footer img{height:84px;}
  .brandlock-footer .bl-name{font-size:20px; color:#fff;}
  .brandlock-footer .bl-tag{font-size:11px;}
  .social-row{display:flex; align-items:center; gap:18px;}
  .social-row a{display:flex; align-items:center; justify-content:center; opacity:0.85; transition:opacity .15s ease;}
  .social-row a:hover{opacity:1;}
  .social-row .icon{width:32px; height:32px; margin-bottom:0; stroke:#fff;}
  .brandlock-mobile img{height:72px;}
  .brandlock-mobile .bl-name{font-size:17px; color:#fff;}
  .brandname{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:17px; color:var(--navy-900); line-height:1.15;}
  .brandname small{display:block; font-family:'Museo Sans 500', sans-serif; font-weight:500; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-500); margin-top:2px;}

  nav.mainnav{display:flex; align-items:center; gap:4px;}
  nav.mainnav .navlink{
    padding:10px 14px; font-size:18.85px; font-weight:600; color:var(--navy-800);
    border-radius:6px; position:relative; white-space:nowrap;
  }
  nav.mainnav .navlink:hover{color:var(--gold-500);}
  nav.mainnav .navlink.active{color:var(--gold-500);}
  .navright{display:flex; align-items:center; gap:14px;}
  .langtoggle{
    display:flex; border:1px solid var(--line); border-radius:20px; overflow:hidden; font-size:13px; font-weight:700;
  }
  .langtoggle button{
    padding:7px 14px; background:transparent; border:none; cursor:pointer; color:var(--ink-600); font-family:inherit; font-weight:700; font-size:13px;
  }
  .langtoggle button.active{background:var(--navy-900); color:var(--ivory-50);}
  .cta-btn{
    background:var(--navy-900); color:var(--ivory-50); padding:11px 20px; border-radius:4px;
    font-weight:600; font-size:14px; border:1px solid var(--navy-900); cursor:pointer; white-space:nowrap;
    transition:all .15s ease;
  }
  .cta-btn:hover{background:var(--gold-500); border-color:var(--gold-500); color:var(--navy-900);}
  .cta-ghost{
    background:transparent; color:var(--navy-900); padding:11px 20px; border-radius:4px;
    font-weight:600; font-size:14px; border:1px solid var(--navy-900); cursor:pointer; white-space:nowrap;
  }
  .cta-ghost:hover{background:var(--navy-900); color:var(--ivory-50);}
  .cta-ghost.on-dark{color:var(--ivory-50); border-color:var(--line-light);}
  .cta-ghost.on-dark:hover{background:var(--ivory-50); color:var(--navy-900);}

  .burger{display:none; background:none; border:none; cursor:pointer; padding:8px;}

  /* ---------- WhatsApp chat widget ---------- */
  .wa-widget{position:fixed; bottom:24px; right:24px; z-index:200; display:flex; flex-direction:column; align-items:flex-end; gap:16px;}
  .whatsapp-float{
    width:60px; height:60px; border-radius:50%;
    background:var(--navy-900); display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.25);
    transition:transform .15s ease, box-shadow .15s ease;
    text-decoration:none; border:none; cursor:pointer; flex-shrink:0;
  }
  .whatsapp-float:hover{transform:scale(1.08); box-shadow:0 8px 22px rgba(0,0,0,0.32);}
  .whatsapp-float svg{width:32px; height:32px;}
  .wa-chatcard{
    width:300px; max-width:calc(100vw - 48px); background:#fff; border-radius:14px;
    box-shadow:0 14px 40px rgba(10,24,48,0.25); overflow:hidden;
    opacity:0; transform:translateY(12px) scale(0.97); pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
  }
  .wa-chatcard.open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
  .wa-chatcard-head{background:var(--navy-900); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px;}
  .wa-chatcard-head .wa-avatar{width:38px; height:38px; border-radius:50%; background:#fff; flex-shrink:0; box-sizing:border-box; overflow:hidden;}
  .wa-chatcard-head .wa-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
  .wa-chatcard-head .wa-name{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:14.5px;}
  .wa-chatcard-head .wa-status{font-size:12px; color:rgba(255,255,255,0.75);}
  .wa-chatcard-close{margin-left:auto; background:none; border:none; color:#fff; font-size:20px; cursor:pointer; opacity:0.8; line-height:1; padding:4px;}
  .wa-chatcard-close:hover{opacity:1;}
  .wa-chatcard-body{background:#E5DDD5; padding:18px;}
  .wa-bubble{background:#fff; border-radius:10px 10px 10px 2px; padding:12px 14px; font-size:14px; color:var(--ink-900); line-height:1.5; box-shadow:0 1px 2px rgba(0,0,0,0.1); max-width:90%;}
  .wa-chatcard-inputrow{display:flex; align-items:center; gap:8px; padding:12px; background:#fff; border-top:1px solid #e8e8e8;}
  .wa-chatcard-inputrow input{flex:1; border:1px solid var(--line); border-radius:20px; padding:10px 16px; font-size:14px; font-family:inherit; color:var(--ink-900); outline:none;}
  .wa-chatcard-inputrow input:focus{border-color:var(--navy-900);}
  .wa-chatcard-inputrow button{width:38px; height:38px; border-radius:50%; background:var(--navy-900); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .15s ease;}
  .wa-chatcard-inputrow button:hover{background:var(--navy-700);}
  .wa-chatcard-inputrow button svg{width:18px; height:18px;}
  @media (max-width:620px){
    .whatsapp-float{width:52px; height:52px;}
    .whatsapp-float svg{width:28px; height:28px;}
    .wa-widget{bottom:18px; right:18px;}
  }
  .burger span{display:block; width:22px; height:2px; background:var(--navy-900); margin:5px 0;}

  /* ---------- Practice dropdown ---------- */
  .has-drop{position:relative;}
  .dropdown{
    position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
    background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow);
    min-width:280px; padding:10px; display:none; z-index:50;
  }
  .has-drop:hover .dropdown{display:block;}
  .dropdown a{display:block; padding:9px 12px; border-radius:6px; font-size:14px; font-weight:600; color:var(--ink-900);}
  .dropdown a:hover{background:var(--ivory-100); color:var(--gold-500);}

  /* ---------- Hero ---------- */
  .hero{
    background:var(--navy-900);
    color:var(--ivory-50);
    padding:110px 0 120px;
    position:relative;
    overflow:hidden;
  }
  .hero-video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center; z-index:0;
    display:block;
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(90deg, rgba(10,24,48,0.82) 0%, rgba(10,24,48,0.55) 32%, rgba(10,24,48,0.15) 60%, transparent 78%),
      linear-gradient(0deg, rgba(10,24,48,0.55) 0%, transparent 35%);
  }
  .hero::before{
    content:"";
    position:absolute; inset:0; z-index:1;
    background-image:
      repeating-linear-gradient(0deg, transparent, transparent 38px, rgba(246,243,234,0.035) 39px);
    pointer-events:none;
  }
  @media (max-width:620px){
    .hero{padding:90px 0 90px;}
  }
  .hero-inner{position:relative; z-index:2;}
  .hero h1{font-size:clamp(34px,4.6vw,54px); line-height:1.08; color:#fff; margin:0 0 20px; max-width:780px;}
  .hero h2{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:19px; color:var(--gold-400); margin:0 0 26px; letter-spacing:0.01em; max-width:700px;}
  .hero p{font-size:17px; color:rgba(246,243,234,0.86); max-width:640px; margin:0 0 34px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

  /* ---------- Sections ---------- */
  section{padding:88px 0;}
  section.tight{padding:64px 0;}
  .section-head{max-width:680px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(26px,3vw,36px); margin:0 0 14px;}
  .section-head p{color:var(--ink-600); font-size:16.5px; margin:0;}
  .bg-navy{background:var(--navy-900); color:var(--ivory-50);}
  .approach-stage{display:grid; grid-template-columns:90px 1fr; gap:32px; padding:44px 0; border-bottom:1px solid var(--line);}
  .approach-stage:first-child{padding-top:0;}
  .approach-stage:last-child{padding-bottom:0; border-bottom:none;}
  .approach-stage-num{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:44px; color:var(--gold-500); line-height:1;}
  .approach-stage-body h3{font-size:21px; color:var(--navy-900); margin-bottom:10px;}
  .approach-stage-quote{font-style:italic; color:var(--gold-500); font-size:16px; margin-bottom:16px;}
  .approach-stage-text{color:var(--ink-600); font-size:15.5px; line-height:1.65; margin-bottom:20px; text-align:justify;}
  .approach-stage-bullets{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;}
  .approach-stage-bullets li{color:var(--ink-600); font-size:14.5px; line-height:1.55; padding-left:20px; position:relative;}
  .approach-stage-bullets li::before{content:'—'; position:absolute; left:0; color:var(--gold-500);}
  .approach-stage-bullets strong{color:var(--navy-900);}
  @media (max-width:640px){
    .approach-stage{grid-template-columns:1fr; gap:10px;}
    .approach-stage-num{font-size:32px;}
  }
  .bg-navy h2, .bg-navy h3{color:#fff;}
  .bg-navy .section-head p{color:rgba(246,243,234,0.78);}
  .bg-panel{background:var(--ivory-100);}

  .prose p{color:var(--ink-600); font-size:16.5px; margin:0 0 20px; max-width:none;}
  .prose p:last-child{margin-bottom:0;}

  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}

  .card{
    background:#fff; border:1px solid var(--line); border-radius:10px; padding:30px 26px;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .card:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--gold-500);}
  .card h3{font-size:19px; margin:0 0 10px;}
  .card p{color:var(--ink-600); font-size:15px; margin:0 0 14px;}
  .card .go{font-size:13.5px; font-weight:700; color:var(--navy-800);}
  .card:hover .go{color:var(--gold-500);}
  .article-list{margin:20px 0; padding-left:0; display:flex; flex-direction:column; gap:16px; counter-reset:article-counter;}
  .article-list li{list-style:none; counter-increment:article-counter; padding-left:34px; position:relative; color:var(--ink-600); font-size:15.5px; line-height:1.65; max-width:none;}
  .article-list li::before{content:counter(article-counter) "."; position:absolute; left:0; top:0; color:var(--gold-500); font-weight:700; font-family:'Museo Sans 500', sans-serif;}
  .article-list li strong{color:var(--navy-900);}
  .article-lead{font-style:italic; color:var(--navy-800); font-size:18px; line-height:1.5; max-width:none; margin-bottom:8px;}

  .icon{width:120px; height:120px; stroke:var(--gold-500); fill:none; stroke-width:1.5; margin-bottom:16px; object-fit:contain;}

  .values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .value-card{border-top:2px solid var(--gold-500); padding-top:18px;}
  .value-card h3{font-size:17px; margin:0 0 8px;}
  .value-card p{color:var(--ink-600); font-size:14.5px; margin:0;}

  .team-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
  .team-card{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .team-photo{width:70%; aspect-ratio:3/4; border-radius:8px; background:linear-gradient(160deg,var(--navy-800),var(--navy-700)); margin-bottom:14px; display:flex; align-items:center; justify-content:center; color:var(--gold-400); font-family:'Museo Sans 500', sans-serif; font-size:32px; overflow:hidden;}
  .team-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease;}
  .team-photo:hover img{transform:scale(1.08);}
  .team-card h3{font-size:16.5px; margin:0 0 3px;}
  .team-card span{font-size:13.5px; color:var(--gold-500); font-weight:600;}

  .industries-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  .ind-card{padding:22px 18px; border:1px solid var(--line); border-radius:8px; background:#fff;}
  .ind-card .icon{width:56px; height:56px; margin-bottom:12px;}
  .ind-card h3{font-size:15.5px; margin:10px 0 6px;}
  .ind-card p{font-size:13.5px; color:var(--ink-600); margin:0;}

  .divider{height:1px; background:var(--line); margin:0;}

  .cta-band{
    background:var(--navy-900); color:#fff; border-radius:14px; padding:52px 48px;
    display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  }
  .cta-band h3{color:#fff; font-size:26px; margin:0 0 8px; max-width:480px;}
  .cta-band p{color:rgba(246,243,234,0.75); margin:0; max-width:420px;}

  footer{background:var(--navy-900); color:rgba(246,243,234,0.7); padding:56px 0 28px;}
  .foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; margin-bottom:40px;}
  footer h4{color:#fff; font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:15px; margin:0 0 16px;}
  footer a{display:block; font-size:14px; color:rgba(246,243,234,0.68); margin-bottom:10px;}
  footer a:hover{color:var(--gold-400);}
  .foot-bottom{border-top:1px solid var(--line-light); padding-top:22px; font-size:13px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:24px;}

  /* Contact form */
  .contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .member-profile{display:grid; grid-template-columns:340px 1fr; gap:56px; align-items:start;}
  .member-photo{border-radius:10px; overflow:hidden; aspect-ratio:3/4; background:linear-gradient(160deg,var(--navy-800),var(--navy-700));}
  .member-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .member-role{font-family:'Museo Sans 500', sans-serif; font-weight:600; color:var(--gold-500); font-size:20.8px; margin-top:6px;}
  .breadcrumb{font-size:13px; color:var(--ink-600); margin-bottom:24px;}
  .breadcrumb span:hover{color:var(--gold-500);}
  .member-contact-block{margin:18px 0 28px; padding-bottom:24px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr; gap:12px;}
  .member-contact-block a{display:flex; align-items:center; gap:10px; font-size:18.2px; color:var(--ink-900); text-decoration:none;}
  .member-contact-block a:hover{color:var(--gold-500);}
  .member-contact-block .icon{width:20.8px; height:20.8px; stroke:var(--gold-500); stroke-width:2; margin-bottom:0; flex-shrink:0;}
  @media (max-width:560px){
    .member-contact-block{grid-template-columns:1fr;}
  }
  .member-section{margin-top:28px;}
  .member-section h4{font-family:'Museo Sans 500', sans-serif; font-weight:600; font-size:15px; color:var(--navy-900); text-transform:uppercase; letter-spacing:0.04em; border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:14px;}
  .qualifications-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; font-size:14.5px; color:var(--ink-600);}
  .qualifications-list strong{color:var(--navy-900);}
  .member-full-width{margin-top:40px; padding-top:40px; border-top:1px solid var(--line);}
  @media (max-width:720px){
    .member-profile{grid-template-columns:1fr;}
    .member-photo{max-width:280px; margin:0 auto;}
  }
  .field{margin-bottom:18px;}
  .field label{display:block; font-size:13.5px; font-weight:700; color:var(--navy-800); margin-bottom:7px;}
  .field input, .field textarea{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:6px; font-family:inherit; font-size:15px;
    background:#fff; color:var(--ink-900);
  }
  .field textarea{min-height:120px; resize:vertical;}
  .file-upload-btn{display:inline-flex; align-items:center; gap:9px; padding:11px 18px; border:1px solid var(--line); border-radius:6px; font-size:14.5px; color:var(--ink-600); cursor:pointer; background:#fff; transition:border-color 0.2s ease, color 0.2s ease;}
  .file-upload-btn:hover{border-color:var(--gold-500); color:var(--gold-500);}
  .file-upload-btn .icon{width:16px; height:16px; stroke:currentColor; stroke-width:2; margin-bottom:0; flex-shrink:0;}
  .file-upload-hint{font-size:12.5px; color:var(--ink-600); opacity:0.75; margin-top:6px;}
  .contact-info-item{display:flex; gap:14px; margin-bottom:22px;}
  .contact-info-item .icon{width:22px; height:22px; margin-bottom:0; flex-shrink:0;}
  .contact-info-item h4{margin:0 0 4px; font-size:15px; color:var(--navy-900); font-family:'Museo Sans 500', sans-serif;}
  .contact-info-item p{margin:0; color:var(--ink-600); font-size:15px;}
  .map-box{border-radius:10px; overflow:hidden; border:1px solid var(--line); height:380px;}
  .map-box iframe{width:100%; height:100%; border:0;}

  .breadcrumb{font-size:13.5px; color:var(--gold-400); font-weight:600; margin-bottom:16px;}
  .breadcrumb span{color:rgba(246,243,234,0.5); margin:0 8px;}

  .fadein{animation:fadein .35s ease both;}
  @keyframes fadein{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

  /* Header: the full nav needs ~1750px, so tighten it step by step on laptop screens
     and switch to the burger menu before anything can be pushed off-screen */
  @media (max-width:1880px){
    .headwrap{gap:16px;}
    nav.mainnav{gap:0;}
    nav.mainnav .navlink{font-size:16px; padding:8px 9px;}
    .headwrap .brandlock .bl-name{font-size:20px;}
    .navright{gap:10px;}
  }
  @media (max-width:1580px){
    .navright .cta-btn{display:none;} /* "Contact" stays in the nav; the hero has the same button */
  }
  @media (max-width:1360px){
    nav.mainnav{display:none;}
    .navright .cta-btn{display:inline-block;}
    .burger{display:block;}
  }
  @media (max-width: 980px){
    nav.mainnav, .navright .cta-btn{display:none;}
    .burger{display:block;}
    /* Let the brand shrink and wrap so the language toggle and menu button always fit on screen */
    .navright{flex-shrink:0;}
    .headwrap .brand{flex-shrink:1; min-width:0;}
    .headwrap .brandlock .bl-text{min-width:0;}
    .headwrap .brandlock .bl-name, .headwrap .brandlock .bl-tag{white-space:normal;}
    .grid-3, .grid-4, .values-grid, .team-grid, .industries-grid{grid-template-columns:repeat(2,1fr);}
    .grid-2, .contact-wrap, .foot-grid{grid-template-columns:1fr;}
    .foot-grid{gap:26px;}
  }
  @media (max-width:500px){
    .headwrap{padding:12px 16px; gap:10px;}
    .brandlock img{height:52px;}
    .headwrap .brandlock .bl-name{font-size:15px;}
    .brandlock .bl-tag{font-size:8.5px;}
    .headwrap .brandlock{gap:10px;}
    .navright{gap:8px;}
    .headwrap .brandlock img{height:44px;}
    .headwrap .brandlock .bl-name{font-size:14px; line-height:1.2;}
    .langtoggle button{padding:6px 10px;}
    .burger{padding:10px 4px 10px 8px;}
  }
  @media (max-width:390px){
    .headwrap .brandlock .bl-tag{display:none;}
  }
  @media (max-width:620px){
    .grid-3, .grid-4, .values-grid, .team-grid, .industries-grid{grid-template-columns:1fr;}
    section{padding:60px 0;}
    .cta-band{padding:36px 26px;}
    .cta-band form{min-width:0; width:100%;}
    .cta-band input[type="email"]{min-width:0;}
    /* Justified text leaves large gaps between words on narrow screens */
    p, .approach-stage-text{text-align:left;}
  }

  /* Blog cards are real links (so search engines can follow them) */
  a.card{display:block;}

  /* Contact form result message */
  .form-status{margin:14px 0 0; font-size:14.5px; text-align:left;}
  .form-status.ok{color:#1E6B3A;}
  .form-status.err{color:#A12A2A;}

  /* Blog article extras produced by the CMS editor */
  .article-bullets{margin:20px 0; padding-left:22px; display:flex; flex-direction:column; gap:10px; color:var(--ink-600); font-size:15.5px; line-height:1.65;}
  .article-bullets li::marker{color:var(--gold-500);}
  .article-quote{margin:24px 0; padding:4px 0 4px 20px; border-left:2px solid var(--gold-500); font-style:italic; color:var(--navy-800);}
  .article-quote p{margin:0 0 10px;}
  .prose img{border-radius:8px; margin:10px 0; height:auto;}

  /* mobile nav panel */
  #mobilePanel{
    display:none; position:fixed; inset:0; background:var(--navy-900); z-index:200; padding:26px;
    overflow-y:auto;
  }
  #mobilePanel.open{display:block;}
  #mobilePanel a{display:block; color:#fff; font-family:'Museo Sans 500', sans-serif; font-size:22px; padding:14px 0; border-bottom:1px solid var(--line-light);}
  #mobilePanel .closeBtn{background:none; border:none; color:#fff; font-size:28px; float:right; cursor:pointer;}
