
  :root{
    /* ---- Primary brand colours ---- */
    --black:#000000;
    --white:#FFFFFF;
    --sand:#A69C82;
    /* ---- Secondary brand colours ---- */
    --teal:#0596AD;
    --teal-light:#47B8C2;
    --green:#879445;
    --green-light:#BFC45E;
    --tan:#DEBA94;
    --beige:#E0D6C2;
    /* ---- Derived, in-palette-only tints ---- */
    --beige-soft:#EEE7D8;
    --sand-line:rgba(0,0,0,.12);
    --max:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Montserrat', Arial, sans-serif;
    color:var(--black);
    background:var(--beige-soft);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Baloo 2', Arial, sans-serif;
    margin:0 0 .4em;
    line-height:1.08;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.2px;
  }
  .script{
    font-family:'Caveat', cursive;
    font-weight:700;
    text-transform:none;
    letter-spacing:0;
    line-height:1;
  }
  p{margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
  section{padding:90px 0;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:.92rem;
    letter-spacing:.03em;
    padding:14px 28px;
    border-radius:999px;
    text-decoration:none;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-black{background:var(--black); color:var(--white);}
  .btn-teal{background:var(--teal); color:var(--white);}
  .btn-outline-black{border-color:var(--black); color:var(--black); background:transparent;}
  .btn-outline-black:hover{background:var(--black); color:var(--white);}
  .btn-outline-white{border-color:rgba(255,255,255,.6); color:var(--white); background:transparent;}
  .btn-outline-white:hover{background:rgba(255,255,255,.15);}
  :focus-visible{outline:3px solid var(--teal); outline-offset:3px;}

  /* ---------- LOGO LOCKUP (reusable) ---------- */
  .logo-icon{display:block;}
  .logo-horiz{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .logo-horiz .word{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:1.15rem; line-height:1;}
  .logo-horiz .word .the{display:block; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.5rem; letter-spacing:.22em; text-transform:uppercase; margin-bottom:1px;}
  .logo-horiz.on-light .word{color:var(--black);}
  .logo-horiz.on-dark .word{color:var(--white);}
  .logo-horiz.on-light .word .the{color:var(--sand);}
  .logo-horiz.on-dark .word .the{color:var(--tan);}

  .logo-stack{text-align:center;}
  .logo-stack .the{display:block; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.3em; text-transform:uppercase; margin-bottom:6px;}
  .logo-stack .word{font-family:'Baloo 2',sans-serif; font-weight:800; font-size:2.6rem; line-height:.95; text-transform:uppercase;}
  .logo-stack .trust{font-family:'Montserrat',sans-serif; font-weight:600; font-size:1rem; letter-spacing:.35em; text-transform:uppercase; margin-top:6px;}
  .logo-stack .tagline{font-size:1.5rem; margin-top:6px;}
  .logo-stack.on-light .word,.logo-stack.on-light .trust{color:var(--black);}
  .logo-stack.on-light .the{color:var(--sand);}
  .logo-stack.on-light .tagline{color:var(--black);}
  .logo-stack.on-dark .word,.logo-stack.on-dark .trust,.logo-stack.on-dark .tagline{color:var(--white);}
  .logo-stack.on-dark .the{color:var(--tan);}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background: white;
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--sand-line);
    max-height:100px; display:flex; align-items:center;
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; max-width:var(--max); margin:0 auto;
  }
  .navlinks{display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0;}
  .navlinks a{text-decoration:none; font-weight:600; font-size:.9rem; letter-spacing:.02em; color:var(--black); position:relative; padding:6px 0;}
  .navlinks a:hover{color:var(--teal);}
  .navlinks a.donate-top{
    background:var(--black); color:var(--white); padding:11px 24px; border-radius:999px; font-weight:700;
  }
  .nav img {height:90px; width:auto; margin: 20px;}
  .navlinks a.donate-top:hover{background:var(--teal); color:var(--white);}
  .has-drop{position:relative;}
  .dropdown{
    list-style:none; margin:0; padding:10px; position:absolute; top:130%; left:50%;
    transform:translateX(-50%); background:var(--white); border-radius:16px;
    box-shadow:0 16px 34px rgba(0,0,0,.16); min-width:190px;
    opacity:0; visibility:hidden; transition:opacity .15s ease, top .15s ease;
  }
  .has-drop:hover .dropdown, .has-drop:focus-within .dropdown{opacity:1; visibility:visible; top:120%;}
  .dropdown li a{display:block; padding:9px 12px; border-radius:9px; font-weight:500; white-space:nowrap;}
  .dropdown li a:hover{background:var(--beige);}
  .burger{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .burger span{display:block; width:26px; height:3px; margin:5px 0; background:var(--black); border-radius:2px;}

  /* ---------- HERO (full-screen showcase) ---------- */
  .hero{
    position:relative; min-height:100svh; display:flex; flex-direction:column;
    justify-content:flex-end; overflow:hidden; background:var(--sand);
  }
  .hero-bg{position:absolute; inset:0; z-index:0; overflow:hidden;}
  .hero-bg img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
  }
  .hero-bg .photo-placeholder{width:100%; height:100%; border:none; border-radius:0;}
  .hero-scrim{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.32) 42%, rgba(0,0,0,.12) 68%, rgba(0,0,0,.35) 100%);
  }
  .hero-topbar{position:relative; z-index:3; display:flex; justify-content:space-between; align-items:center; padding:26px 28px 0; max-width:var(--max); margin:0 auto; width:100%;}
  .hero-content{position:relative; z-index:3; padding:60px 28px 96px; max-width:var(--max); margin:0 auto; width:100%;}
  .eyebrow-pill{
    display:inline-block; background:var(--white); color:var(--black); font-weight:700; font-size:.78rem;
    letter-spacing:.05em; text-transform:uppercase; padding:8px 16px; border-radius:999px; margin-bottom:22px;
  }
  .hero-content .script{font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--green-light); display:block; margin-bottom:2px;}
  .hero-content h1{font-size:clamp(2.4rem, 5.4vw, 4.2rem); color:var(--white); max-width:16ch;}
  .hero-content p.lead{font-size:1.1rem; max-width:46ch; color:#f1efe6; font-family:'Montserrat',sans-serif;}
  .hero-ctas{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
  .hero .btn-outline-black{border-color:rgba(255,255,255,.7); color:var(--white);}
  .hero .btn-outline-black:hover{background:rgba(255,255,255,.15);}
  .scroll-cue{
    position:absolute; bottom:130px; left:50%; transform:translateX(-50%); z-index:3;
    width:26px; height:42px; border:2px solid rgba(255,255,255,.7); border-radius:20px;
  }
  .scroll-cue::before{
    content:""; position:absolute; top:7px; left:50%; width:4px; height:8px; background:#fff;
    border-radius:3px; transform:translateX(-50%); animation:scrollDot 1.8s ease infinite;
  }
  @keyframes scrollDot{0%{opacity:1; top:7px;}70%{opacity:0; top:20px;}100%{opacity:0; top:7px;}}

  .wave-divider{position:relative; z-index:3; line-height:0; margin-top:-2px;}
  .wave-divider svg{width:100%; height:auto; display:block;}

  .paw-float{position:absolute; opacity:.8; z-index:3;}

  /* ---------- PLACEHOLDER PHOTO PATTERN ---------- */
  .photo-placeholder{
    width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px; color:#6b6250;
    background-image:
      radial-gradient(circle at 18px 18px, rgba(0,0,0,.055) 3px, transparent 3.5px),
      radial-gradient(circle at 42px 42px, rgba(0,0,0,.04) 2.5px, transparent 3px);
    background-size:60px 60px;
    background-color:var(--tan);
    border:2px dashed rgba(0,0,0,.18);
  }
  .photo-placeholder svg{width:34px; height:34px; opacity:.55;}
  .photo-placeholder span{font-family:'Montserrat',sans-serif; font-weight:600; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; text-align:center; padding:0 10px;}
  .ph-teal{background-color:var(--teal-light);}
  .ph-green{background-color:var(--green-light);}
  .ph-beige{background-color:var(--beige);}
  .ph-sand{background-color:var(--sand);}

  /* Real photos fill their assigned containers and crop from the centre. */
  .pillar img,
  .hero-bg img,
  .photo-strip img,
  .help-photo img{
    object-fit:cover;
    object-position:center center;
  }

  /* ---------- PILLARS ---------- */
  .section-head{max-width:640px; margin:0 auto 48px;}
  .section-head.center{text-align:center;}
  .section-head h2{font-size:clamp(1.6rem,2.6vw,2.2rem); color:var(--black);}
  .kicker{font-weight:700; color:var(--teal); margin-bottom:8px; display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; font-family:'Montserrat',sans-serif;}

  .section-head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:48px;}
  .section-head-row .section-head{margin-bottom:0; text-align:left;}
  .read-more{
    font-weight:700; text-decoration:none; font-family:'Montserrat',sans-serif; font-size:.92rem;
    color:var(--black); display:inline-flex; align-items:center; gap:8px; white-space:nowrap; padding-bottom:6px;
    border-bottom:2px solid var(--sand);
  }
  .read-more:hover{color:var(--teal); border-color:var(--teal);}

  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .pillar{
    position:relative; overflow:hidden; min-height:380px; display:flex; flex-direction:column;
    justify-content:flex-end; padding:32px 28px; border-radius:24px;
  }
  .pillar .bg-fill{position:absolute; inset:0; z-index:0; overflow:hidden;}
  .pillar .bg-fill img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
  }
  .pillar .bg-fill .photo-placeholder{width:100%; height:100%; border-radius:0; border:none;}
  .pillar .pillar-scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(190deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.78) 100%);}
  .pillar-content{position:relative; z-index:2; color:#fff;}
  .pillar h3{font-size:1.35rem; margin-bottom:10px; color:#fff;}
  .pillar p{font-size:.95rem; margin-bottom:18px; font-family:'Montserrat',sans-serif; color:#f1efe6;}
  .pillar a{font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-size:.9rem; color:#fff;}
  .pillar-icon{width:50px; height:50px; margin-bottom:18px; border-radius:16px; display:flex; align-items:center; justify-content:center; position:relative; z-index:2;}
  .pillar-icon svg{width:26px; height:26px;}
  .p-desex .pillar-icon{background:var(--teal);}
  .p-support .pillar-icon{background:#a9713f;}
  .p-rehome .pillar-icon{background:var(--green);}

  /* ---------- MISSION BAND ---------- */
  .mission{background:var(--green); color:var(--white); text-align:center; position:relative; padding-top:120px;}
  .mission .wave-divider{position:absolute; top:0; left:0; width:100%; margin-top:0; transform:translateY(-99%);}
  .mission .wrap{max-width:760px;}
  .mission .script{font-size:clamp(1.6rem,3vw,2.1rem); color:var(--green-light); display:block; margin-bottom:4px;}
  .mission h2{font-size:clamp(1.6rem,3.2vw,2.4rem); color:var(--white); line-height:1.2;}
  .mission p{color:#e6ead7; font-size:1.02rem; max-width:60ch; margin:20px auto 0; font-family:'Montserrat',sans-serif;}

  /* ---------- PHOTO STRIP ---------- */
  .photo-strip-section{padding:0; background:var(--green);}
  .photo-strip{
    display:grid;
    grid-template-columns:repeat(10, 1fr);
    width:100%;
    gap:3px;
    background:var(--green);
  }
  .photo-strip img{
    width:100%;
    height:100%;
    aspect-ratio:1/1;
    display:block;
    object-fit:cover;
    object-position:center;
  }
  .photo-strip .photo-placeholder{aspect-ratio:1/1; border-radius:0; border:none;}
  .photo-strip .photo-placeholder span{display:none;}
  .photo-strip .photo-placeholder svg{width:22px; height:22px;}

  /* ---------- HOW WE HELP ---------- */
  .help-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .help-photo{
    width:100%;
    height:100%;
    min-height:500px;
    overflow:hidden;
  }
  .help-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
    border-radius:58% 42% 38% 62% / 46% 40% 60% 54%;
    border-style:dashed;
  }
  .help-item{display:flex; gap:16px; margin-bottom:30px;}
  .help-icon{
    flex:0 0 52px; width:52px; height:52px; border-radius:14px; background:var(--black);
    display:flex; align-items:center; justify-content:center;
  }
  .help-icon svg{width:26px; height:26px;}
  .help-item h3{font-size:1.1rem; margin-bottom:6px; color:var(--black);}
  .help-item p{font-size:.94rem; color:#3a382f; font-family:'Montserrat',sans-serif; margin:0;}
  .areas{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
  .area-chip{
    background:var(--white); border:1.5px solid var(--sand); padding:7px 16px; border-radius:999px;
    font-weight:600; font-size:.82rem; color:var(--black); font-family:'Montserrat',sans-serif;
  }

  /* ---------- GET INVOLVED STRIP ---------- */
  .involved{background:var(--white);}
  .involved-row{
    display:flex; align-items:center; gap:28px; padding:30px 0; border-top:1.5px solid var(--beige);
  }
  .involved-row:last-child{border-bottom:1.5px solid var(--beige);}
  .involved-num{font-family:'Baloo 2',sans-serif; font-size:2.2rem; color:var(--sand); flex:0 0 60px;}
  .involved-text{flex:1;}
  .involved-text h3{font-size:1.2rem; margin-bottom:6px; color:var(--black);}
  .involved-text p{margin:0; color:#3a382f; font-size:.94rem; font-family:'Montserrat',sans-serif;}
  .involved-row .btn{flex:0 0 auto;}

  /* ---------- FOLLOW ---------- */
  .follow{background:var(--teal-light); text-align:center;}
  .follow h2{color:#04333c;}
  .follow p{font-family:'Montserrat',sans-serif; color:#0a3d47;}
  .social-row{display:flex; gap:16px; justify-content:center; margin-top:22px; flex-wrap:wrap;}
  .social-btn{
    display:inline-flex; align-items:center; gap:10px; background:var(--white); padding:12px 22px;
    border-radius:999px; text-decoration:none; font-weight:700; color:var(--black); font-size:.9rem;
    font-family:'Montserrat',sans-serif;
  }
  .social-btn svg{width:18px; height:18px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--black); color:#c9c6ba; padding:70px 0 30px;}
  .foot-top{display:flex; justify-content:center; margin-bottom:46px;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px;}
  footer h4{color:var(--white); font-size:.95rem; margin-bottom:16px; font-family:'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:.06em;}
  footer p{font-size:.88rem; font-family:'Montserrat',sans-serif;}
  footer ul{list-style:none; padding:0; margin:0;}
  footer li{margin-bottom:10px;}
  footer a{text-decoration:none; font-size:.88rem; color:#c9c6ba; font-family:'Montserrat',sans-serif;}
  footer a:hover{color:var(--tan);}
  .bank-box{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:14px 16px; font-size:.85rem; margin-top:14px; font-family:'Montserrat',sans-serif;}
  .bottom-bar{
    border-top:1px solid rgba(255,255,255,.14); margin-top:50px; padding-top:22px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#8b8878; font-family:'Montserrat',sans-serif;
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .pillars{grid-template-columns:1fr;}
    .help-grid{grid-template-columns:1fr;}
    .help-photo{min-height:420px;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .hero-content h1{max-width:none;}
    .photo-strip{grid-template-columns:repeat(6, 1fr);}
  }
  @media (max-width:760px){
    .navlinks{
      position:fixed; inset:70px 16px auto 16px; background:var(--white); border-radius:20px;
      flex-direction:column; align-items:flex-start; padding:20px; gap:6px;
      box-shadow:0 20px 40px rgba(0,0,0,.2);
      transform:translateY(-14px); opacity:0; visibility:hidden; pointer-events:none;
      transition:all .2s ease;
    }
    .navlinks.open{transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto;}
    .navlinks li{width:100%;}
    .navlinks a{display:block; padding:10px 6px;}
    .navlinks a.donate-top{margin-top:8px; text-align:center;}
    .dropdown{position:static; transform:none; box-shadow:none; display:none; opacity:1; visibility:visible; padding-left:14px;}
    .has-drop.open .dropdown{display:block;}
    .burger{display:block;}
    .involved-row{flex-wrap:wrap;}
    .involved-num{flex:0 0 auto;}
    .logo-stack .word{font-size:2rem;}
    .photo-strip{grid-template-columns:repeat(4, 1fr);}
  }
  @media (max-width:500px){
    .help-photo{min-height:360px;}
    .foot-grid{grid-template-columns:1fr;}
    section{padding:64px 0;}
    .hero-content{padding-bottom:80px;}
    .scroll-cue{display:none;}
    .photo-strip{grid-template-columns:repeat(3, 1fr);}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .btn, .navlinks, .dropdown{transition:none;}
  }

/* ---------- CONTACT CARDS ---------- */

.contact-methods{
  grid-template-columns:repeat(3,1fr);
}

.contact-methods .pillar{
  min-height:360px;
  justify-content:flex-end;
  transition:transform .2s ease, box-shadow .2s ease;
}

/* Solid brand-colour backgrounds */
.contact-email{
  background:var(--teal);
}

.contact-desex{
  background:var(--green);
}

.contact-facebook{
  background:var(--teal-light);
}

/* Remove photo treatment */
.contact-card .bg-fill,
.contact-card .pillar-scrim{
  display:none;
}

/* Keep the content clean */
.contact-card .pillar-content{
  position:relative;
  z-index:2;
  color:var(--white);
}

/* Icons */
.contact-card .pillar-icon{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
}

/* Headings */
.contact-card h3{
  color:var(--white);
}

/* Body text */
.contact-card p{
  color:rgba(255,255,255,.92);
}

/* Links */
.contact-card a{
  color:var(--white);
}

.contact-card a:hover{
  text-decoration:underline;
}

/* Subtle interaction */
.contact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}


/* ---------- CONTACT NOTE ---------- */

.contact-note{
  padding-top:0;
}

.contact-note-box{
  display:flex;
  align-items:flex-start;
  gap:24px;
  background:var(--white);
  border:1px solid var(--sand);
  color:var(--black);
  padding:30px;
  margin:0;
}

.contact-note-box h2{
  margin-bottom:10px;
  font-size:clamp(1.5rem,2.5vw,2rem);
}

.contact-note-box p{
  margin-bottom:10px;
  margin-right:20px
}

.contact-note-icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  border-radius:16px;
  background:var(--teal);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width:900px){

  .contact-methods{
    grid-template-columns:1fr;
  }

  .contact-methods .pillar{
    min-height:300px;
  }

}

@media (max-width:600px){

  .contact-note-box{
    flex-direction:column;
    padding:24px;
  }

}

/* ---------- ABOUT PAGE SUPPORT LIST ---------- */

section > .wrap > .involved {
  background: var(--white);
  padding: 0 30px;
  border-radius: 24px;
}

@media (max-width:600px) {
  section > .wrap > .involved {
    padding: 0 20px;
    border-radius: 18px;
  }
}

/* =========================================================
   DONATE PAGE
   ========================================================= */

/* ---------- DONATE INTRO ---------- */

.donate-intro{
  align-items:stretch;
}

.donate-copy{
  max-width:62ch;
}

.donate-copy p{
  font-size:1rem;
  color:#3a382f;
  margin-bottom:20px;
  font-family:'Montserrat',sans-serif;
}

.donate-copy p:last-child{
  margin-bottom:0;
}


/* ---------- DONATION BANK BOX ---------- */

.donate-bank{
  display:flex;
  align-items:stretch;
}

.donate-bank-inner{
  width:100%;
  background:var(--white);
  border-radius:24px;
  padding:42px;
  border:1px solid var(--beige);
  box-shadow:0 12px 30px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.donate-bank-inner .kicker{
  margin-bottom:10px;
}

.donate-bank-inner h3{
  font-size:1.7rem;
  margin-bottom:12px;
}

.donate-bank-inner p{
  color:#3a382f;
  font-size:.95rem;
  font-family:'Montserrat',sans-serif;
}

.bank-number{
  background:var(--black);
  color:var(--white);
  border-radius:16px;
  padding:22px 24px;
  margin:12px 0 16px;
}

.bank-number span{
  display:block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#c9c6ba;
  font-weight:600;
  margin-bottom:7px;
}

.bank-number strong{
  display:block;
  font-family:'Baloo 2',sans-serif;
  font-size:1.55rem;
  line-height:1.1;
  letter-spacing:.04em;
}

.bank-note{
  margin:0 !important;
  font-size:.82rem !important;
  color:#6b675d !important;
}


/* ---------- FUNDRAISING SECTION ---------- */

.donate-ideas{
  background:var(--beige);
}

.donate-idea-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.donate-idea-content{
  max-width:500px;
}

.donate-idea-content .script{
  display:block;
  font-size:clamp(1.8rem,3vw,2.4rem);
  color:var(--green);
  margin-bottom:5px;
}

.donate-idea-content h2{
  font-size:clamp(2rem,3.5vw,2.8rem);
  margin-bottom:16px;
}

.donate-idea-content p{
  font-size:1rem;
  color:#3a382f;
  margin-bottom:24px;
  font-family:'Montserrat',sans-serif;
}


/* ---------- FUNDRAISING ITEMS ---------- */

.donate-idea-list{
  display:flex;
  flex-direction:column;
  gap:0;
}

.idea-item{
  display:flex;
  gap:18px;
  padding:24px 0;
  border-top:1.5px solid rgba(0,0,0,.12);
}

.idea-item:last-child{
  border-bottom:1.5px solid rgba(0,0,0,.12);
}

.idea-icon{
  flex:0 0 50px;
  width:50px;
  height:50px;
  border-radius:15px;
  background:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--teal);
  font-family:'Baloo 2',sans-serif;
  font-size:1.5rem;
  font-weight:700;
}

.idea-item h3{
  font-size:1.1rem;
  margin-bottom:5px;
}

.idea-item p{
  margin:0;
  color:#3a382f;
  font-size:.9rem;
  font-family:'Montserrat',sans-serif;
}


/* ---------- DONATE HERO ---------- */

.donate-hero .hero-content{
  padding-bottom:100px;
}

.donate-hero .hero-content h1{
  max-width:14ch;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width:900px){

  .donate-idea-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .donate-idea-content{
    max-width:650px;
  }

}


@media (max-width:600px){

  .donate-bank-inner{
    padding:28px 24px;
  }

  .bank-number{
    padding:20px;
  }

  .bank-number strong{
    font-size:1.25rem;
    word-break:break-word;
  }

  .donate-copy p{
    font-size:.94rem;
  }

  .idea-item{
    gap:14px;
  }

  .idea-icon{
    flex:0 0 44px;
    width:44px;
    height:44px;
  }

}

/* ---------- ONLINE DONATION ---------- */

.donate-online-btn{
  width:100%;
  justify-content:center;
  margin:8px 0 10px;
  text-align:center;
}

.donate-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0 8px;
  color:#8b8878;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.donate-divider::before,
.donate-divider::after{
  content:"";
  height:1px;
  background:var(--beige);
  flex:1;
}

.donate-divider span{
  white-space:nowrap;
}

/* =========================================================
REHOME PAGE
========================================================= */

/* ---------- ADOPTION PLACES ---------- */

.adoption-places{
background:var(--beige-soft);
}

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

.adoption-card{
position:relative;
min-height:330px;
padding:30px;
border-radius:24px;
text-decoration:none;
color:var(--white);
display:flex;
flex-direction:column;
justify-content:space-between;
overflow:hidden;
transition:
transform .2s ease,
box-shadow .2s ease;
}

.adoption-card:hover{
transform:translateY(-5px);
box-shadow:0 16px 34px rgba(0,0,0,.14);
}

.adoption-card::after{
content:"→";
position:absolute;
top:26px;
right:28px;
font-size:1.5rem;
font-weight:700;
opacity:.7;
transition:transform .2s ease;
}

.adoption-card:hover::after{
transform:translateX(5px);
}

.adoption-number{
font-family:'Baloo 2',sans-serif;
font-size:1rem;
font-weight:700;
opacity:.65;
}

.adoption-content{
position:relative;
z-index:2;
}

.adoption-label{
display:inline-block;
font-family:'Montserrat',sans-serif;
font-size:.72rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
margin-bottom:9px;
opacity:.8;
}

.adoption-card h3{
color:var(--white);
font-size:1.45rem;
line-height:1.08;
max-width:14ch;
margin-bottom:12px;
}

.adoption-card p{
color:rgba(255,255,255,.9);
font-family:'Montserrat',sans-serif;
font-size:.9rem;
line-height:1.55;
max-width:42ch;
margin-bottom:18px;
}

.adoption-link{
display:inline-flex;
font-family:'Montserrat',sans-serif;
font-size:.86rem;
font-weight:700;
color:var(--white);
}

/* Brand-colour cards */

.adoption-teal{
background:var(--teal);
}

.adoption-green{
background:var(--green);
}

.adoption-light-teal{
background:var(--teal-light);
color:var(--black);
}

.adoption-light-teal h3,
.adoption-light-teal p,
.adoption-light-teal .adoption-link{
color:var(--black);
}

.adoption-light-teal .adoption-label,
.adoption-light-teal .adoption-number{
color:var(--black);
}

.adoption-tan{
background:var(--tan);
color:var(--black);
}

.adoption-tan h3,
.adoption-tan p,
.adoption-tan .adoption-link{
color:var(--black);
}

.adoption-tan .adoption-label,
.adoption-tan .adoption-number{
color:var(--black);
}

.adoption-beige{
background:var(--beige);
color:var(--black);
}

.adoption-beige h3,
.adoption-beige p,
.adoption-beige .adoption-link{
color:var(--black);
}

.adoption-beige .adoption-label,
.adoption-beige .adoption-number{
color:var(--black);
}

.adoption-light-green{
background:var(--green-light);
color:var(--black);
}

.adoption-light-green h3,
.adoption-light-green p,
.adoption-light-green .adoption-link{
color:var(--black);
}

.adoption-light-green .adoption-label,
.adoption-light-green .adoption-number{
color:var(--black);
}

/* ---------- REHOME MISSION ---------- */

.rehome-mission{
background:var(--green);
}

.rehome-mission p{
max-width:62ch;
}

/* ---------- ADVERTISE YOUR DOG ---------- */

.rehome-advertise{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.rehome-advertise-copy{
max-width:580px;
}

.rehome-advertise-copy h2{
font-size:clamp(2rem,3.5vw,2.8rem);
margin-bottom:18px;
}

.rehome-advertise-copy p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.98rem;
margin-bottom:18px;
}

.rehome-advertise-copy .btn{
margin-top:10px;
}

/* Information list */

.rehome-advertise-info{
background:var(--white);
border-radius:24px;
padding:10px 30px;
border:1px solid var(--beige);
}

.advertise-info-item{
display:flex;
gap:18px;
padding:25px 0;
border-bottom:1.5px solid var(--beige);
}

.advertise-info-item:last-child{
border-bottom:none;
}

.advertise-icon{
flex:0 0 50px;
width:50px;
height:50px;
border-radius:15px;
background:var(--teal);
color:var(--white);
display:flex;
align-items:center;
justify-content:center;
font-family:'Baloo 2',sans-serif;
font-weight:700;
font-size:.95rem;
}

.advertise-info-item:nth-child(2) .advertise-icon{
background:var(--green);
}

.advertise-info-item:nth-child(3) .advertise-icon{
background:var(--tan);
color:var(--black);
}

.advertise-info-item h3{
font-size:1.1rem;
margin-bottom:6px;
}

.advertise-info-item p{
margin:0;
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.9rem;
}

/* ---------- FINAL CTA ---------- */

.rehome-cta{
padding:70px 0;
background:var(--beige);
}

.rehome-cta-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
background:var(--tan);
border-radius:28px;
padding:45px 50px;
}

.rehome-cta-inner .script{
display:block;
font-size:clamp(1.7rem,3vw,2.3rem);
color:var(--green);
margin-bottom:5px;
}

.rehome-cta-inner h2{
font-size:clamp(1.8rem,3vw,2.5rem);
margin-bottom:10px;
}

.rehome-cta-inner p{
margin:0;
max-width:580px;
color:#3a382f;
font-family:'Montserrat',sans-serif;
}

.rehome-cta-inner .btn{
flex:0 0 auto;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width:1000px){

.adoption-grid{
grid-template-columns:repeat(2,1fr);
}

.rehome-advertise{
grid-template-columns:1fr;
gap:45px;
}

}

@media (max-width:760px){

.adoption-grid{
grid-template-columns:1fr;
}

.adoption-card{
min-height:290px;
}

.rehome-cta-inner{
flex-direction:column;
align-items:flex-start;
padding:35px 30px;
}

}

@media (max-width:600px){

.rehome-advertise-info{
padding:8px 22px;
}

.advertise-info-item{
gap:14px;
}

.advertise-icon{
flex:0 0 44px;
width:44px;
height:44px;
}

.rehome-cta{
padding:55px 0;
}

.rehome-cta-inner{
border-radius:22px;
}

}
 css
/* =========================================================
   VOLUNTEER PAGE
========================================================= */


/* ---------- HERO ---------- */

.volunteer-hero .hero-content h1{
  max-width:13ch;
}


/* ---------- INTRO ---------- */

.volunteer-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.volunteer-intro-copy{
  max-width:560px;
}

.volunteer-intro-copy p{
  color:#3a382f;
  font-family:'Montserrat',sans-serif;
  font-size:1rem;
  margin-bottom:20px;
}

.volunteer-intro-copy .btn{
  margin-top:8px;
}

.volunteer-intro-photo{
  min-height:420px;
  overflow:hidden;
  border-radius:28px;
}

.volunteer-intro-photo img{
  width:100%;
  height:100%;
  min-height:420px;
  display:block;
  object-fit:cover;
  object-position:center;
}


/* ---------- HOW WE WORK ---------- */

.volunteer-work-grid{
  align-items:center;
}

.volunteer-work-grid > div:first-child{
  max-width:620px;
}

.volunteer-work-grid p{
  color:#3a382f;
  font-family:'Montserrat',sans-serif;
  font-size:.96rem;
}

.volunteer-team-photo{
  min-height:500px;
}

.volunteer-team-photo img{
  object-position:center;
}


/* ---------- MISSION ---------- */

.volunteer-mission{
  background:var(--green);
}

.volunteer-mission .wrap{
  max-width:760px;
}


/* ---------- VOLUNTEER VALUES ---------- */

.volunteer-values{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  background:var(--white);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--beige);
}

.volunteer-value{
  display:flex;
  align-items:flex-start;
  gap:22px;
  padding:32px;
  min-height:175px;
}

.volunteer-value:nth-child(odd){
  border-right:1px solid rgba(0,0,0,.08);
}

.volunteer-value:nth-child(-n+3){
  border-bottom:1px solid rgba(0,0,0,.08);
}

.volunteer-value-number{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:rgba(255,255,255,.35);
  font-family:'Baloo 2',sans-serif;
  font-weight:800;
  font-size:1rem;
}

.volunteer-value h3{
  font-size:1.15rem;
  margin-bottom:7px;
}

.volunteer-value p{
  margin:0;
  color:#3a382f;
  font-family:'Montserrat',sans-serif;
  font-size:.9rem;
}


/* Brand colour backgrounds */

.volunteer-value-teal{
  background:var(--teal);
  color:var(--white);
}

.volunteer-value-teal h3,
.volunteer-value-teal p{
  color:var(--white);
}

.volunteer-value-teal .volunteer-value-number{
  background:rgba(255,255,255,.18);
}


.volunteer-value-green{
  background:var(--green);
  color:var(--white);
}

.volunteer-value-green h3,
.volunteer-value-green p{
  color:var(--white);
}

.volunteer-value-green .volunteer-value-number{
  background:rgba(255,255,255,.18);
}


.volunteer-value-tan{
  background:var(--tan);
}


.volunteer-value-light-green{
  background:var(--green-light);
}


.volunteer-value-light-teal{
  background:var(--teal-light);
}


/* ---------- PHOTO STRIP ---------- */

.volunteer-photo-strip{
  background:var(--black);
}

.volunteer-photo-strip .photo-strip{
  grid-template-columns:repeat(6,1fr);
}


/* ---------- JOIN CTA ---------- */

.volunteer-join{
  background:var(--beige);
  padding:80px 0;
}

.volunteer-join-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;
  background:var(--tan);
  border-radius:28px;
  padding:50px;
}

.volunteer-join-inner > div:first-child{
  max-width:700px;
}

.volunteer-join-inner .script{
  display:block;
  font-size:clamp(1.8rem,3vw,2.4rem);
  color:var(--green);
  margin-bottom:5px;
}

.volunteer-join-inner h2{
  font-size:clamp(2rem,3.5vw,2.8rem);
  margin-bottom:16px;
}

.volunteer-join-inner p{
  color:#3a382f;
  font-family:'Montserrat',sans-serif;
  font-size:.95rem;
}

.volunteer-join-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:0 0 190px;
}

.volunteer-join-actions .btn{
  justify-content:center;
  text-align:center;
  width:100%;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width:900px){

  .volunteer-intro-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .volunteer-intro-copy{
    max-width:700px;
  }

  .volunteer-intro-photo{
    min-height:420px;
  }

  .volunteer-team-photo{
    min-height:420px;
  }

  .volunteer-values{
    grid-template-columns:1fr;
  }

  .volunteer-value{
    border-right:none !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
  }

  .volunteer-value:last-child{
    border-bottom:none !important;
  }

  .volunteer-join-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:30px;
  }

  .volunteer-join-actions{
    flex-direction:row;
    width:100%;
    flex:initial;
  }

  .volunteer-join-actions .btn{
    width:auto;
    flex:1;
  }

}


@media (max-width:600px){

  .volunteer-intro-photo,
  .volunteer-intro-photo img{
    min-height:320px;
  }

  .volunteer-team-photo{
    min-height:360px;
  }

  .volunteer-value{
    padding:26px 22px;
    gap:16px;
  }

  .volunteer-value-number{
    flex:0 0 42px;
    width:42px;
    height:42px;
  }

  .volunteer-photo-strip .photo-strip{
    grid-template-columns:repeat(3,1fr);
  }

  .volunteer-join{
    padding:55px 0;
  }

  .volunteer-join-inner{
    padding:35px 26px;
    border-radius:22px;
  }

  .volunteer-join-actions{
    flex-direction:column;
  }

  .volunteer-join-actions .btn{
    width:100%;
  }

}
 
/* =========================================================
   BUSINESS SUPPORTERS
   ========================================================= */

.supporter-business-section {
  background: var(--beige-soft);
}

.supporter-logo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1050px;
  margin: 50px auto 0;
}

.supporter-logo-card {
  min-height: 190px;
  background: var(--white);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, .06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.supporter-logo-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 35px rgba(0, 0, 0, .11);
}

.supporter-logo-card:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 4px;
}

.supporter-logo-card img {
  display: block;
  max-width: 100%;
  width: auto;
  max-height: 115px;
  object-fit: contain;
}


/* =========================================================
   SUPPORTER RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .supporter-logo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .supporter-logo-card {
    min-height: 170px;
    padding: 30px;
  }

}


@media (max-width: 600px) {

  .supporter-logo-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 35px;
  }

  .supporter-logo-card {
    min-height: 155px;
    border-radius: 20px;
    padding: 28px;
  }

  .supporter-logo-card img {
    max-height: 100px;
  }

}

/* =========================================================
DESEX PAGE
========================================================= */

/* ---------- HERO ---------- */

.desex-hero .hero-content h1{
max-width:15ch;
}

/* ---------- INTRO ---------- */

.desex-intro{
background:var(--beige-soft);
}

.desex-intro-grid{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:70px;
align-items:center;
}

.desex-intro-copy{
max-width:650px;
}

.desex-intro-copy p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:1rem;
margin-bottom:18px;
}

.desex-intro-copy strong{
font-weight:700;
color:var(--black);
}

.desex-intro-actions{
display:flex;
align-items:center;
gap:22px;
flex-wrap:wrap;
margin-top:28px;
}

/* ---------- HIGHLIGHT CARD ---------- */

.desex-highlight{
background:var(--teal);
border-radius:28px;
padding:12px;
color:var(--white);
}

.desex-highlight-inner{
border:1px solid rgba(255,255,255,.25);
border-radius:20px;
padding:42px;
}

.desex-highlight .script{
display:block;
color:var(--green-light);
font-size:clamp(1.7rem,3vw,2.2rem);
margin-bottom:4px;
}

.desex-highlight h3{
color:var(--white);
font-size:clamp(2rem,4vw,3rem);
margin-bottom:12px;
}

.desex-highlight p{
color:rgba(255,255,255,.92);
font-family:'Montserrat',sans-serif;
font-size:.95rem;
}

.desex-highlight-points{
display:flex;
flex-direction:column;
gap:13px;
margin-top:25px;
padding-top:22px;
border-top:1px solid rgba(255,255,255,.22);
}

.desex-highlight-points div{
display:flex;
align-items:center;
gap:12px;
font-family:'Montserrat',sans-serif;
font-size:.88rem;
font-weight:600;
}

.desex-highlight-points strong{
width:27px;
height:27px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.18);
}

/* ---------- BEFORE APPLY ---------- */

.desex-before{
background:var(--white);
}

.desex-info-cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.desex-info-card{
position:relative;
min-height:340px;
padding:30px;
border-radius:24px;
text-decoration:none;
display:flex;
flex-direction:column;
justify-content:space-between;
overflow:hidden;
transition:
transform .2s ease,
box-shadow .2s ease;
}

.desex-info-card:hover{
transform:translateY(-5px);
box-shadow:0 16px 34px rgba(0,0,0,.13);
}

.desex-card-number{
font-family:'Baloo 2',sans-serif;
font-size:1rem;
font-weight:800;
opacity:.55;
}

.desex-card-label{
display:block;
font-family:'Montserrat',sans-serif;
font-size:.7rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
margin-bottom:8px;
opacity:.7;
}

.desex-info-card h3{
font-size:1.45rem;
margin-bottom:12px;
max-width:13ch;
}

.desex-info-card p{
font-family:'Montserrat',sans-serif;
font-size:.9rem;
line-height:1.55;
max-width:42ch;
}

.desex-card-link{
display:inline-flex;
font-family:'Montserrat',sans-serif;
font-size:.85rem;
font-weight:700;
}

.desex-card-teal{
background:var(--teal);
color:var(--white);
}

.desex-card-teal h3,
.desex-card-teal p,
.desex-card-teal .desex-card-link{
color:var(--white);
}

.desex-card-green{
background:var(--green);
color:var(--white);
}

.desex-card-green h3,
.desex-card-green p,
.desex-card-green .desex-card-link{
color:var(--white);
}

.desex-card-tan{
background:var(--tan);
color:var(--black);
}

.desex-card-tan h3,
.desex-card-tan p,
.desex-card-tan .desex-card-link{
color:var(--black);
}

/* ---------- HOW IT WORKS ---------- */

.desex-how{
background:var(--beige-soft);
}

.desex-steps{
background:var(--white);
border-radius:24px;
padding:0 32px;
border:1px solid var(--beige);
}

.desex-step{
display:grid;
grid-template-columns:70px 1fr;
gap:25px;
align-items:start;
padding:32px 0;
border-bottom:1.5px solid var(--beige);
}

.desex-step:last-child{
border-bottom:none;
}

.desex-step-number{
font-family:'Baloo 2',sans-serif;
font-size:1.8rem;
color:var(--sand);
font-weight:800;
}

.desex-step h3{
font-size:1.2rem;
margin-bottom:7px;
}

.desex-step p{
margin:0;
max-width:700px;
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.92rem;
}

/* ---------- APPLICATION ---------- */

.desex-apply{
background:var(--green);
color:var(--white);
}

.desex-apply-header{
max-width:700px;
margin:0 auto 45px;
text-align:center;
}

.desex-apply-header .script{
display:block;
color:var(--green-light);
font-size:clamp(1.8rem,3vw,2.4rem);
margin-bottom:4px;
}

.desex-apply-header h2{
color:var(--white);
font-size:clamp(2rem,3.5vw,2.8rem);
}

.desex-apply-header p{
color:#edf0df;
font-family:'Montserrat',sans-serif;
margin:0;
}

/* ---------- FORM WIDGET PLACEHOLDER ---------- */

.form-widget-placeholder{
background:var(--white);
color:var(--black);
border-radius:28px;
min-height:420px;
padding:20px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
border:2px dashed rgba(0,0,0,.16);
}

/* ---------- TERMS ---------- */

.desex-terms{
background:var(--white);
padding-top:70px;
padding-bottom:70px;
}

.desex-terms-box{
display:grid;
grid-template-columns:58px 1fr;
gap:24px;
background:var(--beige);
border-radius:24px;
padding:36px;
}

.desex-terms-icon{
width:58px;
height:58px;
border-radius:17px;
background:var(--black);
color:var(--white);
display:flex;
align-items:center;
justify-content:center;
font-family:'Baloo 2',sans-serif;
font-size:1.6rem;
font-weight:800;
}

.desex-terms-box h2{
font-size:clamp(1.6rem,3vw,2.2rem);
}

.desex-terms-box p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
}

.terms-placeholder{
background:rgba(255,255,255,.65);
border:1px dashed rgba(0,0,0,.2);
border-radius:14px;
padding:20px;
margin-top:20px;
display:flex;
flex-direction:column;
gap:5px;
}

.terms-placeholder strong{
font-family:'Montserrat',sans-serif;
font-size:.9rem;
}

.terms-placeholder span{
font-family:'Montserrat',sans-serif;
font-size:.82rem;
color:#5d594f;
}

/* ---------- MICROCHIP ---------- */

.desex-microchip{
background:var(--teal-light);
}

.desex-split{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.desex-split-content{
max-width:600px;
}

.desex-split-content h2{
font-size:clamp(2rem,3.5vw,2.8rem);
}

.desex-split-content p{
color:#123d44;
font-family:'Montserrat',sans-serif;
font-size:.96rem;
}

.desex-microchip-card{
background:var(--white);
border-radius:28px;
padding:42px;
box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.microchip-card-icon{
width:55px;
height:55px;
border-radius:16px;
background:var(--teal);
color:var(--white);
display:flex;
align-items:center;
justify-content:center;
font-size:1.6rem;
margin-bottom:22px;
}

.desex-microchip-card .script{
display:block;
color:var(--green);
font-size:1.9rem;
margin-bottom:3px;
}

.desex-microchip-card h3{
font-size:1.6rem;
}

.desex-microchip-card p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.92rem;
margin:0;
}

/* ---------- WHY DESEX ---------- */

.desex-why{
background:var(--beige-soft);
}

.desex-why-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.desex-why-grid > div:first-child{
max-width:600px;
}

.desex-why-grid h2{
font-size:clamp(2rem,3.5vw,2.8rem);
}

.desex-why-grid p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.95rem;
}

.desex-benefits{
background:var(--white);
border-radius:24px;
padding:10px 30px;
}

.desex-benefit{
display:flex;
gap:18px;
padding:26px 0;
border-bottom:1.5px solid var(--beige);
}

.desex-benefit:last-child{
border-bottom:none;
}

.desex-benefit > span{
flex:0 0 48px;
width:48px;
height:48px;
border-radius:14px;
background:var(--teal);
color:var(--white);
display:flex;
align-items:center;
justify-content:center;
font-family:'Baloo 2',sans-serif;
font-size:1.3rem;
font-weight:700;
}

.desex-benefit:nth-child(2) > span{
background:var(--green);
}

.desex-benefit:nth-child(3) > span{
background:var(--tan);
color:var(--black);
}

.desex-benefit h3{
font-size:1.05rem;
margin-bottom:5px;
}

.desex-benefit p{
margin:0;
font-size:.88rem;
}

/* ---------- FUNDING ---------- */

.desex-funding{
background:var(--green);
padding:80px 0;
}

.desex-funding-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:50px;
background:var(--tan);
border-radius:28px;
padding:48px 52px;
}

.desex-funding-inner > div{
max-width:700px;
}

.desex-funding-inner .script{
display:block;
color:var(--green);
font-size:clamp(1.7rem,3vw,2.3rem);
margin-bottom:4px;
}

.desex-funding-inner h2{
font-size:clamp(2rem,3.5vw,2.7rem);
}

.desex-funding-inner p{
color:#3a382f;
font-family:'Montserrat',sans-serif;
font-size:.94rem;
}

.desex-funding-inner .btn{
flex:0 0 auto;
}

/* ---------- OTHER HELP ---------- */

.desex-other-help{
background:var(--white);
}

.desex-support-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.desex-support-card{
min-height:330px;
border-radius:24px;
padding:30px;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.desex-support-number{
font-family:'Baloo 2',sans-serif;
font-size:1rem;
font-weight:800;
opacity:.55;
}

.desex-support-card h3{
font-size:1.35rem;
margin-bottom:12px;
max-width:15ch;
}

.desex-support-card p{
font-family:'Montserrat',sans-serif;
font-size:.9rem;
line-height:1.55;
}

.desex-support-card a{
font-family:'Montserrat',sans-serif;
font-weight:700;
font-size:.86rem;
text-decoration:none;
}

.desex-support-card a:hover{
text-decoration:underline;
}

.desex-support-teal{
background:var(--teal);
color:var(--white);
}

.desex-support-green{
background:var(--green);
color:var(--white);
}

.desex-support-tan{
background:var(--tan);
color:var(--black);
}

/* ---------- FINAL CTA ---------- */

.desex-final-cta{
background:var(--beige);
padding:70px 0;
}

.desex-final-inner{
background:var(--white);
border-radius:28px;
padding:50px;
text-align:center;
max-width:850px;
margin:0 auto;
box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.desex-final-inner .script{
display:block;
color:var(--green);
font-size:clamp(1.7rem,3vw,2.3rem);
margin-bottom:4px;
}

.desex-final-inner h2{
font-size:clamp(2rem,3.5vw,2.7rem);
}

.desex-final-inner p{
max-width:650px;
margin:0 auto 24px;
color:#3a382f;
font-family:'Montserrat',sans-serif;
}

/* ---------- CLOSING ---------- */

.desex-closing{
background:var(--teal);
color:var(--white);
text-align:center;
}

.desex-closing .wrap{
max-width:800px;
}

.desex-closing .script{
display:block;
color:var(--green-light);
font-size:clamp(1.7rem,3vw,2.3rem);
margin-bottom:5px;
}

.desex-closing h2{
color:var(--white);
font-size:clamp(2rem,3.5vw,2.7rem);
}

.desex-closing p{
color:rgba(255,255,255,.9);
max-width:600px;
margin:0 auto;
font-family:'Montserrat',sans-serif;
}

/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width:1000px){

.desex-intro-grid,
.desex-split,
.desex-why-grid{
grid-template-columns:1fr;
gap:45px;
}

.desex-intro-copy,
.desex-split-content,
.desex-why-grid > div:first-child{
max-width:700px;
}

.desex-info-cards,
.desex-support-grid{
grid-template-columns:repeat(2,1fr);
}

.desex-support-card:last-child{
grid-column:1 / -1;
}

}

@media (max-width:760px){

.desex-info-cards,
.desex-support-grid{
grid-template-columns:1fr;
}

.desex-support-card:last-child{
grid-column:auto;
}

.desex-info-card{
min-height:290px;
}

.desex-step{
grid-template-columns:55px 1fr;
gap:18px;
}

.desex-terms-box{
grid-template-columns:1fr;
padding:28px;
}

.desex-funding-inner{
flex-direction:column;
align-items:flex-start;
padding:38px 30px;
}

.desex-final-inner{
padding:38px 28px;
}

}

@media (max-width:600px){

.desex-highlight-inner{
padding:30px 25px;
}

.desex-intro-actions{
flex-direction:column;
align-items:flex-start;
}

.desex-steps{
padding:0 22px;
}

.desex-step{
grid-template-columns:45px 1fr;
gap:14px;
padding:26px 0;
}

.desex-step-number{
font-size:1.5rem;
}

.form-widget-placeholder{
min-height:320px;
padding:40px 25px;
}

.desex-microchip-card{
padding:30px 25px;
}

.desex-benefits{
padding:5px 22px;
}

.desex-benefit{
gap:14px;
}

.desex-benefit > span{
flex:0 0 44px;
width:44px;
height:44px;
}

.desex-funding{
padding:55px 0;
}

.desex-support-card{
min-height:280px;
}

.desex-final-cta{
padding:55px 0;
}

}

.form-section {
  padding: 80px 0;
  background: #f5f7f2;
}

.section-heading {
  max-width: 720px;
  margin: 0 auto 40px;
  text-align: center;
}

.section-heading .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #5f7652;
}

.section-heading h2 {
  margin: 0 0 15px;
}

.section-heading p {
  margin: 0;
  color: #666;
}

.form-card {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

.form-card iframe {
  display: block;
  width: 100%;
  min-height: 1200px;
  border: 0;
}

@media (max-width: 700px) {
  .form-section {
    padding: 55px 0;
  }

  .form-card {
    border-radius: 16px;
  }

  .form-card iframe {
    min-height: 1400px;
  }
}

/* =========================================
   FAQ ACCORDION
   ========================================= */

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 45px;
}

.faq-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.faq-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.09);
}


/* Clickable question */

.faq-question {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 28px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}

.faq-question:hover {
  background: rgba(0, 0, 0, 0.015);
}


/* Question label */

.faq-label {
  display: inline-block;
  margin-bottom: 8px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.55;
}


/* Question */

.faq-question h3 {
  margin: 0;
  padding: 0;
  font-family: "Baloo 2", sans-serif;
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 700;
}


/* Plus / minus */

.faq-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eef7f5;
  display: flex;
  align-items: center;
  justify-content: center;

  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;

  transition:
    transform 0.25s ease,
    background 0.25s ease;
}


/* Answer */

.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 30px;

  transition:
    max-height 0.4s ease,
    opacity 0.25s ease,
    padding 0.4s ease;
}

.faq-answer p {
  margin-top: 0;
  margin-bottom: 16px;
}

.faq-answer p:last-child {
  margin-bottom: 0;
}


/* Open card */

.faq-card.open {
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.1);
}

.faq-card.open .faq-answer {
  max-height: 1000px;
  opacity: 1;
  padding: 0 30px 30px;
}

.faq-card.open .faq-icon {
  transform: rotate(45deg);
  background: #dcefeb;
}


/* Divider between question and answer */

.faq-card.open .faq-question {
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}


/* Fact badge */

.faq-fact {
  margin-bottom: 20px;
}

.faq-fact span {
  display: inline-flex;
  align-items: center;
  padding: 7px 13px;
  border-radius: 999px;

  background: #dcefeb;

  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}


/* Strong text inside answers */

.faq-answer strong {
  font-family: "Baloo 2", sans-serif;
  font-size: 1.15rem;
}


/* Links inside answers */

.faq-answer .read-more {
  display: inline-block;
  margin-top: 8px;
}


/* Mobile */

@media (max-width: 760px) {

  .faq-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 30px;
  }

  .faq-question {
    padding: 22px 20px;
    gap: 15px;
  }

  .faq-question h3 {
    font-size: 1.2rem;
  }

  .faq-label {
    font-size: 0.65rem;
  }

  .faq-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 1.3rem;
  }

  .faq-card.open .faq-answer {
    padding: 0 20px 24px;
  }

}



/* ---------- ADD TO style.css: supports the shared header ---------- */

/* Accessible skip link — hidden until focused (e.g. by keyboard/tab) */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--black);
  color:var(--white);
  padding:12px 20px;
  border-radius:0 0 10px 0;
  z-index:100;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  text-decoration:none;
}
.skip-link:focus{
  left:0;
}

/* Highlight whichever nav link matches the current page */
.navlinks a[aria-current="page"]{
  color:var(--teal);
}
.navlinks a.donate-top[aria-current="page"]{
  color:var(--white);
  background:var(--teal);
}

/* Reserve the header's height up front so injecting it via JS
   doesn't cause a layout jump while partials/header.html loads */
#header-placeholder{
  min-height:100px;
}

.foot-grid {
  display: grid;
  grid-template-columns: 2fr repeat(4, 1fr);
  gap: 2rem;
}

@media (max-width: 900px) {
  .foot-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 500px) {
  .foot-grid {
    grid-template-columns: 1fr;
  }
}

.foot-credit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.8rem;
  opacity: 0.8;
}

.foot-credit a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: inherit;
  text-decoration: none;
}

.weboid-logo {
  width: auto;
  height: 18px;
}