/* BriHel Capital theme, Build 32.
   Replaces visual-refinement.css, build31.css and site-polish.css with one sitewide file.
   Navy, white and cool blue. No gold. Helvetica / Arial throughout.
   The hero motion layer lives in brihel-motion.css and brihel-motion.js and is not changed here. */

:root{
  --f:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --accent:#1f74a6;          /* links, buttons and numerals on light backgrounds (AA contrast on white) */
  --accent-lt:#8cc9ee;       /* accents on dark backgrounds */
  --navy:#06243c;
  --navy-2:#0a2c48;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:#f7fafc;color:#112b42;font-family:var(--f);font-size:16px;line-height:1.62}
h1,h2,h3,h4,.nav,.btn,input,textarea,select{font-family:var(--f)}
h1,h2{overflow-wrap:break-word;text-wrap:balance}
h1{line-height:1.1;letter-spacing:-.02em}
h2{line-height:1.18;letter-spacing:-.015em}
h3{line-height:1.3}
p,li{overflow-wrap:break-word}
img{max-width:100%;height:auto}

/* ---------- colour system ---------- */
.kicker,.num,.pn,.more,.arw{color:var(--accent)}
.dark .kicker,.hero .kicker,.band .kicker,.sectors-feature .kicker,.visual-sector-strip .kicker{color:var(--accent-lt)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:#155a82;border-color:#155a82;color:#fff}
.btn-outline{border-color:var(--accent);color:#155a82}
.btn-outline:hover{background:#155a82;border-color:#155a82;color:#fff}
.dark .btn-outline,.sectors-feature .btn-outline,.band .btn-outline{border-color:rgba(255,255,255,.55);color:#fff}
.dark .btn-outline:hover,.sectors-feature .btn-outline:hover,.band .btn-outline:hover{background:#fff;color:var(--navy)}
.dark .arw,.band .arw,.hero .arw,.btn-primary .arw{color:inherit}
.prose a,.link{color:var(--accent)}
.dark .prose a,.dark .link{color:var(--accent-lt)}

/* ---------- spacing ---------- */
.sec{padding:clamp(40px,5vw,68px) 0}
.sec.tight{padding:clamp(30px,4vw,48px) 0}
.sec-head{margin-bottom:clamp(20px,3vw,30px)}
.sec .lead{line-height:1.55}
.hero.slim{padding-block:clamp(44px,6vw,76px)}
.cards,.two,.split,.hero-grid{align-items:stretch}
.card p:last-child,.sector p:last-child{margin-bottom:0}

/* ---------- section backgrounds ---------- */
.sec.alt{background:#eef5f9}
.sec.dark{background:var(--navy)}
.trust{padding:22px 0;background:#08233b;color:#e7f3fa}
.trust b{color:#9bd4f4}
.band{background:linear-gradient(115deg,#061c30,#173e53)}

/* ---------- card grids: clean gutters (Build 31 left grey bars between cards) ---------- */
.cards{gap:16px;background:transparent;border:0}
.cards .card{border:1px solid #d9e4ec;background:#fff;height:100%;padding-top:24px;padding-bottom:24px}
.dark .cards{background:transparent}
.dark .cards .card{border-color:rgba(255,255,255,.14);background:var(--navy-2)}

/* ---------- definition lists on dark sections were grey on navy ---------- */
.dark .defs,.dark .defs div{border-color:rgba(255,255,255,.16)}
.dark .defs dt{color:#fff}
.dark .defs dd{color:#c3d4e1}

/* ---------- homepage hero ---------- */
.hero.home{padding:clamp(36px,5vw,64px) 0 clamp(36px,4vw,48px)}
.hero.home .hero-grid{gap:32px;align-items:start}
.hero.home h1{max-width:18ch;font-weight:500;font-size:clamp(2.3rem,4.4vw,4.2rem);line-height:1.07;letter-spacing:-.03em;color:#fff;text-shadow:0 5px 30px rgba(0,0,0,.18)}
.hero.home .lead{max-width:60ch;color:#e1ebf2}
.hero.home .kicker{color:var(--accent-lt)}
.hero.home .leadbox{box-shadow:0 18px 50px rgba(0,0,0,.28);border:1px solid rgba(140,201,238,.35);border-top:3px solid var(--accent)}

/* ---------- photographic sector strip ---------- */
.visual-sector-strip{background:#061f35;color:#fff;padding:48px 0 56px}
.visual-sector-strip h2{font-weight:500;font-size:clamp(1.8rem,3vw,2.6rem);text-align:center;margin:8px 0 28px;color:#fff}
.visual-sector-strip .eyebrow{text-align:center;color:#9dd3f3;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:700}
.visual-sector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.visual-sector-card{display:block;text-decoration:none;background:var(--navy-2);border:1px solid #31516b;overflow:hidden;color:#fff;transition:transform .3s ease,border-color .3s ease}
.visual-sector-card:hover{transform:translateY(-5px);border-color:#85c9f1}
.visual-sector-card img{display:block;width:100%;height:158px;object-fit:cover}
.visual-sector-card .inner{padding:16px}
.visual-sector-card h3{color:#fff;font-size:1.05rem;margin:0 0 8px}
.visual-sector-card p{color:#c9deed;font-size:.85rem;line-height:1.45;margin:0}

/* ---------- ten sector grid on dark ---------- */
.sectors-feature{background:linear-gradient(130deg,#031b30,#0b3046);color:#fff}
.sectors-feature h2{color:#fff}
.sectors-feature .lead{color:#d2dde3}
.sectors{gap:10px;background:transparent;border:0}
.sector{background:#06192a;color:#fff;border:1px solid rgba(140,201,238,.24);padding-bottom:16px;overflow:hidden}
.sector:hover{background:#102e43;border-color:rgba(140,201,238,.6)}
.sector img{aspect-ratio:1.25;object-fit:cover}
.sector .s-name{color:#fff}
.sector .s-line{color:#cbd7df}
/* Homepage: the photographic strip already carries imagery, so the ten sector list is compact text tiles */
.home-page .sectors-feature .sector img{display:none}
.home-page .sectors-feature .sector{padding:18px 18px 18px}
.home-page .sectors-feature .sector .s-name{font-size:1.02rem;font-weight:500;margin:0 0 4px}

/* ---------- inline capital enquiry section (Build 32) ---------- */
.lead-cta{background:linear-gradient(135deg,#041a2d 0%,#0a2c48 60%,#0f3a58 100%);color:#fff}
.lead-cta .lc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(28px,5vw,64px);align-items:start}
.lead-cta h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:500;margin-bottom:14px}
.lead-cta .lead{color:#d6e5ef;margin-bottom:22px}
.lead-cta .lc-points{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.lead-cta .lc-points li{position:relative;padding-left:28px;color:#e7f1f7}
.lead-cta .lc-points li::before{content:"";position:absolute;left:2px;top:8px;width:12px;height:6px;border-left:2px solid var(--accent-lt);border-bottom:2px solid var(--accent-lt);transform:rotate(-45deg)}
.lead-cta .lc-alt{color:#b9cddb;font-size:.92rem}
.lead-cta .lc-alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lead-cta .leadbox{border-top:3px solid var(--accent);box-shadow:0 22px 60px rgba(0,0,0,.3)}
.lead-cta .leadbox h3{font-size:1.25rem;margin:0 0 6px}
.lead-cta .leadbox .lc-sub{color:#4b5d6b;font-size:.92rem;margin:0 0 18px}

/* ---------- further reading pair (homepage) ---------- */
.further .cards .card h3{margin-bottom:8px}

/* ---------- article sidebar CTA ---------- */
.aside-cta{background:var(--navy)}
.aside-cta .btn-primary{background:var(--accent)}

/* ---------- consent bar: compact, never covers a form for long ---------- */
.bh-prefs{max-width:760px;padding:14px 18px}
.bh-prefs a{color:var(--accent)}

/* ---------- sticky mobile call to action (Build 32) ---------- */
.mcta{display:none}
@media(max-width:860px){
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(6,30,50,.97);border-top:1px solid rgba(140,201,238,.25);box-shadow:0 -10px 30px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .3s ease}
  .mcta.show{transform:none}
  .mcta .btn{flex:1;justify-content:center;min-height:48px}
  .mcta .mcta-mail{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:48px;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.85rem;text-decoration:none}
  body.has-mcta .ftr{padding-bottom:84px}
}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .sec{padding:42px 0}
  .hero.slim{padding-block:48px}
  .visual-sector-grid{grid-template-columns:repeat(3,1fr)}
  .hero.home .hero-aside{margin-top:20px}
  .lead-cta .lc-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  .hero.home .hero-grid{grid-template-columns:1fr}
  .hero.home h1{max-width:22ch}
  .sectors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .sec{padding:34px 0}
  .sec-head{margin-bottom:20px}
  .hero.slim{padding-block:36px}
  .hero.home{padding:28px 0}
  .wrap{padding-inline:20px}
  .visual-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visual-sector-card img{height:120px}
  .sectors{grid-template-columns:1fr 1fr;gap:8px}
}

/* Never hide whole content sections if animation JavaScript fails */
.reveal{opacity:1!important;transform:none!important}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.sector,.visual-sector-card{transition:none}.mcta{transition:none}}

/* Article sidebar secondary route */
.aside-cta .aside-alt{margin:14px 0 0;font-size:.9rem}
.aside-cta .aside-alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Sector and service hero drawings: blueprint treatment on the dark hero instead of a cream panel */
.hero .art-fig{background:rgba(255,255,255,.035);border:1px solid rgba(140,201,238,.22);opacity:.72;padding:6px}
