/* ===========================================================
   Responsive / mobile overrides.
   Loaded LAST on every website page (after main.css and each
   page's own <style> block) so these rules always win inside
   their media queries, regardless of which file defined the
   base (desktop) rule for a given class.
   =========================================================== */

/* Hamburger button: hidden on desktop, shown on narrow screens */
.navtoggle{
  display:none;
  background:none;border:none;cursor:pointer;color:var(--navy);padding:6px;margin-left:8px;
}
/* Mobile-only Sign In / Discuss a Facility links inside the dropdown menu:
   hidden by default (desktop/tablet already show the real ones in
   .headerright) — only revealed inside the 980px media query below. */
.navsignin,
.navcta{display:none;}

@media (max-width: 980px){
  .wrap{padding:0 20px;}

  /* ---------- utility bar ---------- */
  .utilitybar .wrap{flex-direction:column;gap:4px;align-items:flex-start;padding:8px 20px;}
  .utilitybar{font-size:10.5px;}

  /* ---------- header / nav ---------- */
  .headerbar{padding:14px 20px;flex-wrap:wrap;position:relative;}
  .logo{font-size:19px;}
  .logo svg{width:22px;height:22px;}
  .navtoggle{display:flex;align-items:center;margin-left:auto;}
  .headerright{display:none;}
  nav.mainnav{
    display:none;
    flex-direction:column;
    width:100%;
    gap:0;
    order:10;
    margin-top:14px;
    border-top:1px solid var(--border);
    padding-top:10px;
  }
  .headerbar.nav-open nav.mainnav{display:flex;}
  nav.mainnav a{padding:12px 4px;border-bottom:1px solid var(--border);font-size:15px;}
  nav.mainnav a.active{border-bottom:1px solid var(--green);padding-bottom:12px;margin-bottom:0;}
  nav.mainnav .navsignin,
  nav.mainnav .navcta{display:block;margin-top:10px;text-align:center;}
  nav.mainnav .navcta{padding:13px 20px;}

  /* ---------- generic page intro / hero (shared "simple" pattern) ---------- */
  .simpleintro{padding:44px 0 36px;}
  .simpleintro-grid,
  .pageintro-grid{grid-template-columns:1fr;gap:24px;}
  .simpleintro h1,
  .pageintro h1{font-size:28px;max-width:100%;}
  .simpleintro p.lead,
  .pageintro .lead{max-width:100%;font-size:14px;}
  .intro-mark{display:none;}
  .simpleclose{padding:52px 0;}
  .simpleclose h2{font-size:21px;max-width:100%;}
  .simpleclose-actions{flex-direction:column;align-items:stretch;gap:14px;}
  .simpleclose-actions .btn,
  .simpleclose-actions .btn-text-light{text-align:center;justify-content:center;}

  /* ---------- home: full-bleed hero ---------- */
  .hero-full{min-height:0;}
  .hero-full-inner{padding:52px 20px 44px;}
  .hero-full h1{font-size:30px;max-width:100%;}
  .hero-full p.lead{font-size:14px;max-width:100%;}
  .cta-row{flex-direction:column;align-items:stretch;}
  .cta-row .btn{text-align:center;justify-content:center;}
  .hero-tag{display:none;}
  .hero-full .trust{max-width:100%;}

  /* ---------- home: credibility strip ---------- */
  .credstrip2{padding:28px 0;}
  .credstrip2 .wrap{grid-template-columns:1fr 1fr;gap:24px;padding:0 20px;}
  .cred2-item{border-left:none;padding:0;}

  /* ---------- home: pull quote ---------- */
  .pullquote{padding:44px 0;}
  .pullquote blockquote{font-size:20px;}

  /* ---------- home: about / pill photo ---------- */
  .aboutpill{padding:52px 0;}
  .aboutpill-grid{grid-template-columns:1fr;gap:34px;}
  .pillphoto-wrap{padding-left:0;order:-1;}
  .pillphoto-wrap .vline{display:none;}
  .pillphoto-blob{display:none;}
  .pillphoto{border-radius:12px;}
  .aboutpill h2{font-size:24px;}
  .about-numlist{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:20px;}

  /* ---------- home: who we finance ---------- */
  .who{padding:52px 0;}
  .who-grid{grid-template-columns:1fr;gap:28px;}
  .who h2{font-size:24px;}
  .sector-row{grid-template-columns:1fr;gap:6px;}

  /* ---------- home: two-stage model ---------- */
  .stage{padding:52px 0;}
  .stage-head h2{font-size:22px;}
  .stage-grid{grid-template-columns:1fr;}
  .stage-col.p1{border-right:none;border-bottom:1px solid var(--border);}

  /* ---------- home: closing CTA ---------- */
  .closing{min-height:0;padding:52px 0;}
  .closing-inner{padding:0 20px;}
  .closing-inner h2{font-size:26px;}
  .closing-actions{flex-direction:column;align-items:stretch;gap:14px;}
  .closing-actions .btn,
  .closing-actions .btn-text-light{text-align:center;justify-content:center;}

  /* ---------- solutions page ---------- */
  .solutions-grid{grid-template-columns:1fr;}
  .solution-card{padding:32px 24px;}

  /* ---------- how it works / about: "why" photo+text section ---------- */
  .why{padding:52px 0;}
  .why-grid{grid-template-columns:1fr;gap:28px;}
  .why-photo{order:-1;}
  .why-photo::before{display:none;}
  .why h2{font-size:24px;max-width:100%;}
  .why p.lead{max-width:100%;}
  .feature-row{padding:20px 0;}

  /* ---------- about: governance dark panel ---------- */
  .reqpanel{padding:52px 0;}
  .reqpanel-head{margin-bottom:30px;}
  .reqpanel-head h2{font-size:22px;}
  .req-grid{grid-template-columns:1fr;}

  /* ---------- insights: newsletter ---------- */
  .newsletter{flex-direction:column;border:none;gap:10px;}
  .newsletter input{border:1.5px solid var(--line-on-dark);border-radius:3px;}
  .newsletter button{padding:12px 20px;border-radius:3px;}

  /* ---------- eligibility (who we finance) page ---------- */
  .principles-row{flex-direction:column;}
  .principle{border-left:none;border-top:1px solid var(--border);padding:16px 0;}
  .principle:first-child{border-top:none;}
  .elig-row{grid-template-columns:1fr;gap:10px;padding:24px 0;}

  /* ---------- discuss a facility page ---------- */
  .enquiry-split{grid-template-columns:1fr;min-height:0;}
  .enquiry-left{padding:44px 20px;}
  .enquiry-left h1{font-size:26px;}
  .enquiry-right{padding:40px 20px;}
  .form-grid{grid-template-columns:1fr;}
  .form-submit-row{flex-direction:column;align-items:stretch;gap:12px;}
  .form-submit-row button{width:100%;justify-content:center;}

  /* ---------- support page ---------- */
  .support-row{grid-template-columns:1fr;gap:10px;padding:22px 0;}
  .fraud-band{grid-template-columns:1fr;text-align:left;padding:24px 22px;}
  .fraud-band .fraud-btn{width:100%;text-align:center;margin-top:6px;}

  /* ---------- footer ---------- */
  footer{padding:40px 0 24px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;}
  .footer-bottom span:last-child a{margin-left:0;margin-right:16px;display:inline-block;}
}

@media (max-width: 520px){
  .footer-grid{grid-template-columns:1fr;}
  .credstrip2 .wrap{grid-template-columns:1fr;}
  .hero-full h1{font-size:26px;}
  .simpleintro h1,
  .pageintro h1{font-size:24px;}
}
