.hp-shell { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:clamp(56px,7vw,92px) 0; color:#18202b; }
.hp-kicker { display:inline-flex; align-items:center; gap:9px; margin-bottom:13px; color:#ef381a; font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hp-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:clamp(34px,6vw,78px); align-items:center; padding:clamp(32px,5vw,62px); border-radius:24px; background:linear-gradient(135deg,#f7f9fb,#fff); box-shadow:0 22px 60px rgba(17,24,39,.1); }
.hp-hero h2,.hp-heading h2 { margin:0 0 18px; color:#141923; font-size:clamp(2rem,4.1vw,3.4rem); line-height:1.12; letter-spacing:-.035em; }
.hp-hero p,.hp-heading p,.hp-copy p { color:#616b77; line-height:1.78; }
.hp-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.hp-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:9px; padding:13px 18px; border:2px solid #ef381a; border-radius:6px; color:#fff; background:#ef381a; font-weight:800; text-decoration:none; }
.hp-button--light { color:#ef381a; background:#fff; }
.hp-button:hover { color:#fff; background:#c92d15; border-color:#c92d15; }
.hp-hero__panel { padding:28px; border-radius:18px; color:#fff; background:#14213a; }
.hp-hero__panel h3 { margin:0 0 18px; font-size:1.35rem; }
.hp-checks { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.hp-checks li { display:flex; gap:11px; align-items:flex-start; color:rgba(255,255,255,.86); line-height:1.55; }
.hp-checks i { margin-top:4px; color:#ef381a; }
.hp-section { padding:clamp(58px,7vw,88px) 0 0; }
.hp-heading { max-width:780px; margin-bottom:30px; }
.hp-heading h2 { font-size:clamp(1.9rem,3.3vw,2.75rem); }
.hp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hp-card { padding:27px; border:1px solid #e7ebef; border-radius:14px; background:#fff; box-shadow:0 13px 34px rgba(17,24,39,.07); }
.hp-card > i { display:grid; width:49px; height:49px; place-items:center; margin-bottom:18px; border-radius:10px; color:#fff; background:#ef381a; font-size:1.2rem; }
.hp-card h3 { margin:0 0 10px; font-size:1.18rem; }
.hp-card p { margin:0; color:#65707c; line-height:1.7; }
.hp-suitability { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:34px; align-items:start; }
.hp-copy { padding:clamp(27px,4vw,42px); border-radius:18px; background:#f4f6f8; }
.hp-copy h2 { margin:0 0 16px; font-size:clamp(1.75rem,3vw,2.45rem); line-height:1.2; }
.hp-copy ul { display:grid; gap:12px; margin:20px 0 0; padding-left:20px; color:#586470; line-height:1.6; }
.hp-grant { position:relative; overflow:hidden; padding:clamp(32px,5vw,56px); border-radius:22px; color:#fff; background:linear-gradient(135deg,#111b31,#1d3157); }
.hp-grant::after { content:"£"; position:absolute; right:-18px; bottom:-75px; color:rgba(255,255,255,.045); font-size:15rem; font-weight:900; }
.hp-grant__inner { position:relative; z-index:1; }
.hp-grant h2 { max-width:720px; margin:0 0 16px; font-size:clamp(1.9rem,3.5vw,2.8rem); }
.hp-grant p { max-width:900px; color:rgba(255,255,255,.8); line-height:1.75; }
.hp-grant-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:27px 0; }
.hp-grant-card { padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.07); }
.hp-grant-card strong { display:block; margin-bottom:6px; color:#ff6a4c; font-size:1.5rem; }
.hp-grant-card span { color:rgba(255,255,255,.82); line-height:1.45; }
.hp-source { font-size:.86rem; }
.hp-source a { color:#fff; font-weight:800; }
.hp-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; counter-reset:hp-step; }
.hp-step { position:relative; padding:25px 22px; border-top:3px solid #ef381a; border-radius:0 0 10px 10px; background:#f6f7f9; counter-increment:hp-step; }
.hp-step::before { content:"0" counter(hp-step); display:block; margin-bottom:15px; color:#ef381a; font-size:1.45rem; font-weight:900; }
.hp-step h3 { margin:0 0 8px; font-size:1.06rem; }
.hp-step p { margin:0; color:#65707c; font-size:.92rem; line-height:1.6; }
.hp-note { margin-top:24px; padding:20px 22px; border-left:4px solid #ef381a; border-radius:5px; color:#4f5a67; background:#fff5f2; line-height:1.7; }
.hp-faq { display:grid; gap:12px; }
.hp-faq .faq-item { border:1px solid #e6e9ed; border-radius:8px; background:#f7f8f9; box-shadow:none; }
.hp-faq .faq-question { min-height:70px; padding:18px 20px; }
.hp-faq .faq-answer { padding:0 54px 21px 20px; }

@media (max-width:900px) {
  .hp-hero,.hp-suitability { grid-template-columns:1fr; }
  .hp-grid,.hp-grant-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hp-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:580px) {
  .hp-shell { width:min(100% - 24px,1180px); }
  .hp-hero { padding:26px 20px; border-radius:15px; }
  .hp-grid,.hp-grant-grid,.hp-process { grid-template-columns:1fr; }
  .hp-card,.hp-copy { padding:22px; }
  .hp-grant { padding:28px 22px; }
  .hp-actions .hp-button { width:100%; }
}
