/* Marine Life Alliance — homepage structural styling
   Designed for the semantic homepage replacement. Existing /css/styles.css remains loaded. */
.home-page { --mla-navy:#082c3b; --mla-teal:#0e8d88; --mla-mint:#dff4ef; --mla-line:#dce6e5; }
.home-page .section-pad { padding: clamp(58px, 7vw, 100px) 0; }
.home-page .section-soft { background: #f6f8f5; }
.home-page .section-heading { max-width: 720px; margin-bottom: 36px; }
.home-page .section-heading h2, .home-page .mission-copy h2, .home-page .intro-copy h2,
.home-page .history-grid h2 { margin: 0; color: var(--navy); font: 800 clamp(30px, 4vw, 48px)/1.12 Manrope, sans-serif; letter-spacing: -.045em; }
.home-page .section-heading-row { max-width: none; display:flex; justify-content:space-between; align-items:end; gap:38px; }
.home-page .section-intro { max-width:430px; margin:0 0 4px; color:#5f737a; font-size:14px; line-height:1.8; }
.home-page .mission-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(36px,7vw,100px); align-items:start; }
.home-page .mission-grid .section-heading { position:sticky; top:30px; margin:0; }
.home-page .mission-copy { max-width:690px; }
.home-page .mission-copy p, .home-page .intro-copy p, .home-page .history-grid>div:first-child>p:not(.eyebrow) { color:#52676d; line-height:1.85; margin:0 0 19px; }
.home-page .mission-copy .lead-copy { color:#173d49; font:600 clamp(19px,2vw,24px)/1.65 Manrope,sans-serif; }
.home-page .text-link { display:inline-flex; align-items:center; gap:20px; color:var(--teal); font-size:12px; font-weight:800; text-decoration:none; }
.home-page .intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,7vw,90px); align-items:center; }
.home-page .intro-image { min-height:360px; overflow:hidden; border-radius:14px; background:#dcebe7; }
.home-page .intro-image img { width:100%; height:100%; min-height:360px; max-height:520px; object-fit:cover; margin:0; }
.home-page .intro-copy { max-width:590px; }
.home-page .intro-copy h2 { margin-bottom:22px; }
.home-page .intro-copy .button { margin-top:8px; text-decoration:none; }
.home-page .programme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-page .programme-card { min-width:0; overflow:hidden; border:1px solid #e1e9e6; border-radius:12px; background:#fff; box-shadow:0 6px 22px rgba(8,44,59,.045); transition:transform .2s,box-shadow .2s; }
.home-page .programme-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(8,44,59,.12); }
.home-page .card-image { display:block; overflow:hidden; background:#dcebe7; }
.home-page .card-image img { width:100%; height:225px; object-fit:cover; margin:0; border-radius:0; box-shadow:none; transition:transform .4s; }
.home-page .programme-card:hover .card-image img { transform:scale(1.035); }
.home-page .card-body { padding:22px 22px 20px; }
.home-page .card-kicker { margin:0 0 9px; color:var(--teal); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.home-page .card-body h3 { margin:0 0 10px; font:800 20px/1.3 Manrope,sans-serif; letter-spacing:-.025em; }
.home-page .card-body h3 a { color:var(--navy); text-decoration:none; }
.home-page .card-body p:not(.card-kicker) { margin:0 0 18px; color:#61747a; font-size:13px; line-height:1.75; }
.home-page .card-link { display:flex; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid #e6eeeb; color:var(--teal); font-size:11px; font-weight:800; text-decoration:none; }
.home-page .impact-section { background:var(--navy); color:#fff; }
.home-page .impact-heading h2 { color:#fff; }
.home-page .impact-heading .section-intro { color:#c2d5d8; }
.home-page .impact-section .eyebrow { color:#8ce6d9; }
.home-page .impact-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.home-page .impact-stat { display:flex; flex-direction:column; gap:11px; min-height:150px; padding:26px 22px; border-right:1px solid rgba(255,255,255,.16); }
.home-page .impact-stat:first-child { padding-left:0; }
.home-page .impact-stat:last-child { border-right:0; }
.home-page .impact-stat strong { color:#8ce6d9; font:800 clamp(28px,3vw,40px)/1 Manrope,sans-serif; letter-spacing:-.04em; }
.home-page .impact-stat span { color:#e0ebec; font-size:12px; line-height:1.6; }
.home-page .history-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,110px); align-items:start; }
.home-page .history-grid h2 { margin-bottom:22px; }
.home-page .history-grid .text-link { margin-top:10px; }
.home-page .timeline { border-top:1px solid var(--mla-line); }
.home-page .timeline-item { display:grid; grid-template-columns:105px 1fr; gap:22px; padding:23px 0; border-bottom:1px solid var(--mla-line); }
.home-page .timeline-item>span { color:var(--teal); font-size:12px; font-weight:800; letter-spacing:.04em; }
.home-page .timeline-item h3 { margin:0 0 7px; color:var(--navy); font:800 18px/1.35 Manrope,sans-serif; }
.home-page .timeline-item p { margin:0; color:#60737a; font-size:13px; line-height:1.75; }
.home-page .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-page .support-band { margin:0; }
.home-page .site-footer .footer-grid { grid-template-columns:1.5fr .8fr .9fr 1fr; }
.home-page .article-content img { max-width:100%; }
.home-page .mobile-menu-toggle { cursor:pointer; }
.home-page .primary-navigation.is-open { display:flex; }
.home-page .nav-toggle { font-family:inherit; }
.home-page .nav-toggle:focus-visible, .home-page a:focus-visible, .home-page button:focus-visible { outline:3px solid #48d1c5; outline-offset:3px; }
@media(max-width:1100px) {
  .home-page .nav-list { gap:0; }
  .home-page .nav-link,.home-page .nav-toggle { padding-inline:7px; font-size:11px; }
  .home-page .primary-navigation { gap:10px; }
  .home-page .impact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-page .impact-stat:nth-child(3) { border-right:0; }
  .home-page .impact-stat:nth-child(n+4) { border-top:1px solid rgba(255,255,255,.16); }
}
@media(max-width:900px) {
  .home-page .header-main { min-height:78px; flex-wrap:wrap; gap:12px; padding-block:10px; }
  .home-page .mobile-menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .home-page .primary-navigation { display:none; flex:0 0 100%; flex-direction:column; align-items:stretch; gap:10px; padding:10px 0 14px; }
  .home-page .primary-navigation.is-open { display:flex; }
  .home-page .nav-list { display:flex; flex-direction:column; align-items:stretch; }
  .home-page .nav-item { width:100%; }
  .home-page .nav-link,.home-page .nav-toggle { width:100%; justify-content:space-between; padding:12px 10px; font-size:13px; text-align:left; }
  .home-page .dropdown { position:static; display:none; min-width:0; max-height:none; margin:0 0 8px 8px; padding:5px; border-radius:8px; box-shadow:none; background:#f5faf7; }
  .home-page .has-dropdown.open>.dropdown { display:block; }
  .home-page .donate-button { align-self:flex-start; }
  .home-page .mission-grid,.home-page .intro-grid,.home-page .history-grid { grid-template-columns:1fr; gap:30px; }
  .home-page .mission-grid .section-heading { position:static; }
  .home-page .programme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .section-heading-row { align-items:start; flex-direction:column; gap:16px; }
  .home-page .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .home-page .container { width:calc(100% - 36px); }
  .home-page .home-hero { min-height:590px; }
  .home-page .home-hero-content { padding-block:75px 90px; }
  .home-page .home-hero h1 { font-size:clamp(43px,12vw,60px); }
  .home-page .hero-lede { font-size:15px; }
  .home-page .hero-actions { align-items:stretch; flex-direction:column; max-width:310px; }
  .home-page .hero-actions .button { width:100%; }
  .home-page .hero-note { margin-top:40px; }
  .home-page .hero-scroll { display:none; }
  .home-page .section-pad { padding:54px 0; }
  .home-page .programme-grid { grid-template-columns:1fr; gap:16px; }
  .home-page .card-image img { height:230px; }
  .home-page .impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .impact-stat { min-height:125px; padding:20px 14px; border-top:1px solid rgba(255,255,255,.16); }
  .home-page .impact-stat:first-child { padding-left:14px; }
  .home-page .impact-stat:nth-child(odd) { border-right:1px solid rgba(255,255,255,.16); }
  .home-page .impact-stat:nth-child(even) { border-right:0; }
  .home-page .impact-stat:last-child { grid-column:1/-1; }
  .home-page .timeline-item { grid-template-columns:82px 1fr; gap:14px; }
  .home-page .feature-grid { grid-template-columns:1fr; }
  .home-page .feature-item,.home-page .feature-item:first-child { padding:20px 0; border-right:0; border-bottom:1px solid var(--mla-line); }
  .home-page .support-band-inner { align-items:stretch; flex-direction:column; gap:25px; }
  .home-page .support-actions .button { width:100%; }
  .home-page .footer-grid,.home-page .site-footer .footer-grid { grid-template-columns:1fr; gap:28px; }
  .home-page .footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; padding-block:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::before, .home-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
