:root {
  --page-red: #e21d36;
  --page-red-dark: #861126;
  --page-ink: #2d1015;
  --page-muted: #76545b;
  --page-cream: #fff8f9;
  --page-border: #efdce0;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--page-ink); font-family: "DM Sans", sans-serif; }
.inner-page { overflow: hidden; }
.inner-page a { text-decoration: none; }
.inner-hero { position: relative; isolation: isolate; min-height: 500px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(90deg,rgba(38,5,11,.95),rgba(68,8,18,.87) 48%,rgba(68,8,18,.36)),var(--hero-image) center/cover no-repeat; color: #fff; }
.inner-hero::after { content:""; position:absolute; z-index:-1; right:-8rem; bottom:-18rem; width:34rem; height:34rem; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.inner-hero-pattern { position:absolute; z-index:-1; inset:0; opacity:.13; background-image:radial-gradient(rgba(255,255,255,.7) .7px,transparent .7px); background-size:18px 18px; mask-image:linear-gradient(90deg,#000,transparent 68%); }
.inner-hero-content { padding-top:4rem; padding-bottom:4rem; }
.inner-breadcrumb { display:flex; gap:.55rem; margin:0 0 2rem; padding:0; list-style:none; color:rgba(255,255,255,.58); font-size:.72rem; font-weight:600; }
.inner-breadcrumb li+li::before { content:"/"; margin-right:.55rem; color:rgba(255,255,255,.3); }
.inner-breadcrumb a { color:#fff; }
.inner-kicker,.section-eyebrow { display:inline-flex; align-items:center; gap:.45rem; color:var(--page-red); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.inner-kicker { color:#ff9eac; }
.inner-hero h1 { max-width:720px; margin:.9rem 0 1.1rem; font-size:clamp(2.25rem,4.2vw,3.7rem); font-weight:700; line-height:1.06; letter-spacing:-.045em; }
.inner-hero h1 em { color:#ff8fa0; font-style:normal; }
.inner-hero-content>p { max-width:580px; margin:0; color:rgba(255,255,255,.74); font-size:clamp(.88rem,1.2vw,1rem); line-height:1.65; }
.inner-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.primary-action,.secondary-action { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:46px; padding:.75rem 1.1rem; border-radius:12px; font-size:.82rem; font-weight:700; transition:.2s ease; }
.primary-action { background:var(--page-red); color:#fff; box-shadow:0 12px 26px rgba(226,29,54,.25); }
.primary-action:hover { background:#bd1228; color:#fff; transform:translateY(-2px); }
.secondary-action { border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.08); color:#fff; backdrop-filter:blur(8px); }
.secondary-action:hover { background:rgba(255,255,255,.15); color:#fff; }

.content-section,.form-section { padding:clamp(4.5rem,7vw,6.5rem) 0; }
.soft-section { padding:clamp(4.5rem,7vw,6rem) 0; background:var(--page-cream); }
.split-layout,.form-layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:center; gap:clamp(2.5rem,7vw,6rem); }
.section-title { margin:.7rem 0 1rem; color:var(--page-ink); font-size:clamp(1.9rem,3.8vw,3.1rem); font-weight:700; line-height:1.08; letter-spacing:-.04em; }
.section-copy { max-width:650px; margin:0; color:var(--page-muted); font-size:.9rem; line-height:1.75; }
.center-heading { max-width:700px; margin:0 auto 2.5rem; text-align:center; }
.center-heading .section-copy { margin-inline:auto; }
.notice-card { display:flex; gap:.8rem; margin-top:1.5rem; padding:1rem; border:1px solid #f0dce0; border-radius:14px; background:#fff5f6; color:var(--page-red); }
.notice-card>i { margin-top:.1rem; }
.notice-card p { margin:0; color:#806068; font-size:.75rem; line-height:1.55; }
.notice-card strong { display:block; margin-bottom:.15rem; color:var(--page-ink); }
.check-card { padding:2rem; border:1px solid var(--page-border); border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(59,10,18,.08); }
.check-card h3 { margin:0 0 1.2rem; font-size:1.1rem; }
.check-list { margin:0 0 1.2rem; padding:0; list-style:none; }
.check-list li { display:flex; align-items:center; gap:.7rem; padding:.72rem 0; border-bottom:1px solid #f3e8ea; color:#644149; font-size:.82rem; }
.check-list i { display:grid; flex:0 0 26px; width:26px; height:26px; place-items:center; border-radius:8px; background:#fff0f2; color:var(--page-red); }
.text-action { display:inline-flex; align-items:center; gap:.4rem; color:var(--page-red); font-size:.76rem; font-weight:700; }
.text-action:hover { color:#bd1228; }

.steps-grid,.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.three-columns { grid-template-columns:repeat(3,1fr); }
.step-card { position:relative; min-height:210px; padding:1.5rem; border:1px solid var(--page-border); border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(62,12,20,.045); }
.step-card>span { position:absolute; top:1rem; right:1rem; color:#ead3d8; font-size:1.6rem; font-weight:700; }
.step-card>i { display:grid; width:46px; height:46px; place-items:center; margin-bottom:1.1rem; border-radius:13px; background:#fff0f2; color:var(--page-red); font-size:1.1rem; }
.step-card h3 { margin:0 0 .55rem; font-size:.95rem; }
.step-card p { margin:0; color:#806068; font-size:.75rem; line-height:1.65; }

.form-section { background:#fff; }
.form-intro { align-self:start; padding-top:1rem; }
.contact-line { display:flex; align-items:center; gap:.75rem; margin-top:1.5rem; }
.contact-line>i { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:#fff0f2; color:var(--page-red); }
.contact-line small,.contact-line a { display:block; }
.contact-line small { color:#9b6b74; font-size:.65rem; }
.contact-line a { color:var(--page-ink); font-size:.84rem; font-weight:700; }
.site-form { padding:2rem; border:1px solid var(--page-border); border-radius:20px; background:linear-gradient(145deg,#fff,#fffafb); box-shadow:0 20px 55px rgba(59,10,18,.09); }
.form-heading { display:flex; align-items:center; gap:.8rem; margin-bottom:1.5rem; }
.form-heading>span { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; background:var(--page-red); color:#fff; font-size:1.1rem; }
.form-heading h3 { margin:0 0 .15rem; font-size:1.05rem; }
.form-heading p { margin:0; color:#9a757d; font-size:.66rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.site-form label { color:#65464d; font-size:.68rem; font-weight:700; }
.site-form input,.site-form select,.site-form textarea { width:100%; margin-top:.4rem; padding:.72rem .8rem; border:1px solid #ead9dc; border-radius:11px; outline:0; background:#fff; color:#382027; font:inherit; font-size:.78rem; transition:.2s ease; }
.site-form input,.site-form select { min-height:46px; }
.site-form textarea { resize:vertical; }
.site-form input:focus,.site-form select:focus,.site-form textarea:focus { border-color:#d77b88; box-shadow:0 0 0 3px rgba(217,29,56,.08); }
.site-form.was-validated :invalid { border-color:#d91d38; }
.full-field { grid-column:1/-1; }
.check-field { display:flex; align-items:flex-start; gap:.65rem; font-weight:500!important; line-height:1.5; }
.check-field input { width:17px; height:17px; min-height:0; margin:.1rem 0 0; }
.form-submit { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; min-height:48px; margin-top:1.2rem; border:0; border-radius:12px; background:var(--page-red); color:#fff; font-size:.8rem; font-weight:700; transition:.2s ease; }
.form-submit:hover { background:#bd1228; transform:translateY(-2px); }
.form-status { min-height:18px; margin:.65rem 0 0; font-size:.68rem; text-align:center; }
.form-status.is-error { color:#c51c34; }
.form-status.is-success { color:#188b55; }

.urgent-strip { background:linear-gradient(90deg,#5a0916,#861126 55%,#a51730); color:#fff; }
.urgent-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:60px; font-size:.78rem; }
.urgent-strip-inner span { display:flex; align-items:center; gap:.5rem; }
.urgent-strip-inner a { color:#fff; font-weight:700; }
.image-card { overflow:hidden; border:1px solid var(--page-border); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(59,10,18,.07); transition:.2s ease; }
.image-card:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(59,10,18,.12); }
.image-card>img { width:100%; height:220px; object-fit:cover; }
.image-card>div { padding:1.25rem; }
.card-label { color:var(--page-red); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.image-card h3 { margin:.45rem 0 .8rem; font-size:1rem; }
.image-card p { margin:.35rem 0; color:#806068; font-size:.72rem; }
.image-card p i { width:18px; color:var(--page-red); }
.image-card a { display:inline-flex; gap:.4rem; margin-top:.8rem; color:var(--page-red); font-size:.72rem; font-weight:700; }
.camp-cards-pagination { display:none; }

/* Blood camp photo gallery */
.camp-gallery-section { padding:5rem 0; background:#fff; }
.camp-gallery-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr); gap:2rem; align-items:end; margin-bottom:2rem; }
.camp-gallery-heading .section-title { margin-bottom:0; }
.camp-gallery-heading .section-copy { margin:0; }
.camp-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:190px; grid-auto-flow:dense; gap:.85rem; }
.camp-gallery-item { position:relative; overflow:hidden; min-width:0; padding:0; border:0; border-radius:16px; background:#2d0b12; cursor:zoom-in; box-shadow:0 9px 26px rgba(59,10,18,.1); }
.camp-gallery-item::after { content:'\F52A'; position:absolute; right:.8rem; bottom:.8rem; display:grid; width:2.2rem; height:2.2rem; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(28,5,10,.65); color:#fff; font-family:'bootstrap-icons'; font-size:.9rem; opacity:0; transform:translateY(5px); transition:.2s ease; }
.camp-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease, opacity .25s ease; }
.camp-gallery-item:hover img,.camp-gallery-item:focus-visible img { transform:scale(1.045); opacity:.88; }
.camp-gallery-item:hover::after,.camp-gallery-item:focus-visible::after { opacity:1; transform:none; }
.camp-gallery-item:focus-visible { outline:3px solid var(--page-red); outline-offset:3px; }
.camp-gallery-item-wide { grid-column:span 2; }
.camp-gallery-item-tall { grid-row:span 2; }
.camp-gallery-item[hidden] { display:none; }
.camp-gallery-pagination { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; margin-top:2rem; padding-top:1.35rem; border-top:1px solid var(--page-border); }
.camp-gallery-count { margin:0; color:#806068; font-size:.76rem; font-weight:600; }
.camp-gallery-page-controls,.gallery-page-numbers { display:flex; align-items:center; gap:.45rem; }
.gallery-page-direction,.gallery-page-number { display:inline-flex; min-width:2.55rem; height:2.55rem; align-items:center; justify-content:center; gap:.45rem; border:1px solid var(--page-border); border-radius:10px; background:#fff; color:#5d1a27; font-size:.74rem; font-weight:700; transition:.2s ease; }
.gallery-page-direction { padding:0 .85rem; }
.gallery-page-direction:hover:not(:disabled),.gallery-page-number:hover,.gallery-page-number.is-active { border-color:var(--page-red); background:var(--page-red); color:#fff; }
.gallery-page-number.is-active { box-shadow:0 7px 18px rgba(158,20,43,.22); }
.gallery-page-number:focus-visible,.gallery-page-direction:focus-visible { outline:3px solid rgba(158,20,43,.25); outline-offset:2px; }
.gallery-page-direction:disabled { opacity:.42; cursor:not-allowed; }
.camp-lightbox[hidden] { display:none; }
.camp-lightbox { position:fixed; z-index:1090; inset:0; display:grid; place-items:center; padding:4rem 1.25rem 1.25rem; background:rgba(18,3,7,.92); backdrop-filter:blur(8px); }
.camp-lightbox img { display:block; max-width:min(1100px,94vw); max-height:86vh; border-radius:14px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.camp-lightbox-close { position:absolute; top:1.25rem; right:1.25rem; display:grid; width:2.8rem; height:2.8rem; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:1.1rem; cursor:pointer; }
.camp-lightbox-close:hover,.camp-lightbox-close:focus-visible { background:#fff; color:var(--page-red); }
body.has-open-lightbox { overflow:hidden; }
.camps-page:not(.gallery-page) .camp-gallery-section { display:none; }
.gallery-page .camp-gallery-section { background:linear-gradient(180deg,#fff 0%,#fff7f8 100%); }
.gallery-page .inner-hero {
  background:
    linear-gradient(90deg,rgba(38,5,11,.95),rgba(68,8,18,.87) 48%,rgba(68,8,18,.36)),
    var(--hero-image) center top -160px/cover no-repeat;
}

@media (max-width:991.98px) {
  .camp-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:170px; }
}

@media (max-width:767.98px) {
  .camp-gallery-section { padding:3.75rem 0; }
  .camp-gallery-heading { grid-template-columns:1fr; gap:.75rem; }
  .camp-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:145px; gap:.65rem; }
  .camp-gallery-item-wide { grid-column:span 2; }
  .camp-gallery-item-tall { grid-row:span 2; }
  .camp-gallery-pagination { flex-direction:column; align-items:stretch; }
  .camp-gallery-count { text-align:center; }
  .camp-gallery-page-controls { justify-content:center; }
  .gallery-page-direction span { display:none; }
  .gallery-page-direction { padding:0; }
}
.mini-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.mini-feature-grid article { padding:1.2rem; border:1px solid var(--page-border); border-radius:15px; background:#fff; }
.mini-feature-grid i { color:var(--page-red); font-size:1.2rem; }
.mini-feature-grid h3 { margin:.65rem 0 .3rem; font-size:.86rem; }
.mini-feature-grid p { margin:0; color:#84636a; font-size:.7rem; }

.contact-cards-section { padding:4rem 0 1rem; }
.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.contact-card { display:flex; flex-direction:column; align-items:flex-start; min-height:210px; padding:1.4rem; border:1px solid var(--page-border); border-radius:17px; background:#fff; color:var(--page-ink); box-shadow:0 10px 30px rgba(59,10,18,.06); }
.contact-card>span { display:grid; width:44px; height:44px; place-items:center; margin-bottom:1rem; border-radius:12px; background:#fff0f2; color:var(--page-red); }
.contact-card small { color:#9b6b74; font-size:.65rem; }
.contact-card strong { margin:.35rem 0; font-size:.9rem; }
.contact-card em { margin-top:auto; color:var(--page-red); font-size:.68rem; font-style:normal; font-weight:700; }
a.contact-card:hover { color:var(--page-ink); transform:translateY(-3px); }
.hours-card { margin-top:1.5rem; padding:1.2rem; border:1px solid var(--page-border); border-radius:15px; background:var(--page-cream); }
.hours-card h3 { margin:0 0 .7rem; font-size:.85rem; }
.hours-card p { display:flex; justify-content:space-between; gap:1rem; margin:.4rem 0; color:#836169; font-size:.7rem; }
.hours-card strong { color:var(--page-ink); }
.quick-links { display:grid; gap:.7rem; }
.quick-links a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; padding:1rem; border:1px solid var(--page-border); border-radius:14px; background:#fff; color:var(--page-ink); }
.quick-links>a>i:first-child { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:#fff0f2; color:var(--page-red); }
.quick-links span strong,.quick-links span { display:block; }
.quick-links span { color:#89676e; font-size:.68rem; }
.quick-links span strong { margin-bottom:.2rem; color:var(--page-ink); font-size:.8rem; }
.quick-links>a>i:last-child { color:var(--page-red); }

/* Contact page form */
.contact-page .form-section { position:relative; background:linear-gradient(180deg,#fff 0%,#fff9fa 100%); }
.contact-page .form-section::before { content:""; position:absolute; top:8%; right:-9rem; width:22rem; height:22rem; border:1px solid rgba(226,29,54,.07); border-radius:50%; pointer-events:none; }
.contact-site-form { position:relative; overflow:hidden; padding:0 2rem 1.8rem; border-color:#ead4d9; background:rgba(255,255,255,.98); box-shadow:0 24px 65px rgba(59,10,18,.12); }
.contact-site-form::before { content:""; position:absolute; top:0; right:0; left:0; height:4px; background:linear-gradient(90deg,#5a0916,#e21d36 65%,#ff7186); }
.contact-form-topline { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 -2rem 1.7rem; padding:1rem 2rem; border-bottom:1px solid #f1e2e5; background:#fffafb; }
.contact-form-topline>span { color:var(--page-red); font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-form-topline small { display:inline-flex; align-items:center; gap:.35rem; color:#9b747c; font-size:.62rem; }
.contact-site-form .form-heading { margin-bottom:1.7rem; }
.contact-site-form .form-heading>span { width:50px; height:50px; border-radius:14px; box-shadow:0 10px 22px rgba(226,29,54,.18); }
.contact-site-form .form-heading h3 { font-size:1.15rem; }
.contact-site-form .form-heading p { margin-top:.2rem; font-size:.69rem; line-height:1.4; }
.contact-site-form .form-grid { gap:1.15rem 1rem; }
.contact-site-form .field-label { display:flex; align-items:center; gap:.4rem; color:#513139; }
.contact-site-form .field-label i { color:var(--page-red); font-size:.76rem; }
.contact-site-form input,.contact-site-form select,.contact-site-form textarea { border-color:#e8d6da; background:#fffdfd; }
.contact-site-form input:hover,.contact-site-form select:hover,.contact-site-form textarea:hover { border-color:#dcb9c0; }
.contact-site-form input:focus,.contact-site-form select:focus,.contact-site-form textarea:focus { border-color:var(--page-red); background:#fff; box-shadow:0 0 0 4px rgba(226,29,54,.08); }
.contact-site-form textarea { min-height:130px; }
.field-hint { display:block; margin-top:.38rem; color:#a17d84; font-size:.6rem; font-weight:500; }
.contact-site-form .form-submit { justify-content:space-between; min-height:50px; padding:0 1.1rem 0 1.3rem; box-shadow:0 12px 26px rgba(226,29,54,.18); }
.contact-site-form .form-submit i { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:rgba(255,255,255,.15); }
.contact-form-privacy { display:flex; align-items:center; justify-content:center; gap:.4rem; margin:.2rem 0 0; color:#9a777e; font-size:.6rem; text-align:center; }
.contact-form-privacy i { color:#268f5a; }

@media (max-width:991.98px) {
  .inner-hero { min-height:460px; }
  .split-layout,.form-layout { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .feature-grid.three-columns { grid-template-columns:repeat(2,1fr); }
  .contact-cards { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:767.98px) {
  .inner-hero h1 { font-size:clamp(2rem,8.5vw,2.85rem); }
  .three-columns,.feature-grid.three-columns { grid-template-columns:1fr; }
  .contact-cards { grid-template-columns:1fr; }
  .urgent-strip-inner { align-items:flex-start; flex-direction:column; padding-top:.85rem; padding-bottom:.85rem; }
}
@media (max-width:575.98px) {
  .inner-hero { min-height:520px; }
  .inner-hero h1 { font-size:clamp(1.85rem,9.5vw,2.4rem); letter-spacing:-.035em; }
  .inner-hero-actions { align-items:stretch; flex-direction:column; }
  .donate-page .inner-hero {
    min-height:500px;
    align-items:flex-end;
    background:
      linear-gradient(180deg,rgba(36,4,10,.2) 0%,rgba(36,4,10,.68) 44%,rgba(38,5,11,.96) 100%),
      var(--hero-image) center top/cover no-repeat;
  }
  .donate-page .inner-hero::after {
    right:-10rem;
    bottom:-12rem;
    width:22rem;
    height:22rem;
    opacity:.55;
  }
  .donate-page .inner-hero-pattern {
    opacity:.08;
    background-size:16px 16px;
    mask-image:linear-gradient(180deg,transparent 0%,#000 38%,transparent 100%);
  }
  .donate-page .inner-hero-content {
    padding:2.35rem 1rem 2rem;
  }
  .donate-page .inner-breadcrumb {
    gap:.42rem;
    width:fit-content;
    max-width:100%;
    margin:0 0 1rem;
    padding:.42rem .58rem;
    overflow-x:auto;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.7);
    font-size:.58rem;
    scrollbar-width:none;
    backdrop-filter:blur(10px);
  }
  .donate-page .inner-breadcrumb::-webkit-scrollbar {
    display:none;
  }
  .donate-page .inner-breadcrumb li {
    flex:0 0 auto;
  }
  .donate-page .inner-breadcrumb li+li::before {
    margin-right:.42rem;
  }
  .donate-page .inner-kicker {
    padding:.42rem .62rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:.56rem;
    letter-spacing:.08em;
    backdrop-filter:blur(10px);
  }
  .donate-page .inner-hero h1 {
    max-width:21rem;
    margin:.85rem 0 .75rem;
    font-size:clamp(2rem,10.5vw,2.6rem);
    line-height:1.06;
    letter-spacing:0;
  }
  .donate-page .inner-hero-content>p {
    max-width:21rem;
    color:rgba(255,255,255,.82);
    font-size:.84rem;
    line-height:1.55;
  }
  .donate-page .inner-hero-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
    margin-top:1.15rem;
  }
  .donate-page .inner-hero-actions .primary-action,
  .donate-page .inner-hero-actions .secondary-action {
    width:100%;
    min-height:44px;
    padding:.62rem .45rem;
    border-radius:12px;
    font-size:.64rem;
    line-height:1.15;
    white-space:nowrap;
  }
  .request-page .inner-hero {
    min-height:470px;
    align-items:flex-end;
    background:
      linear-gradient(180deg,rgba(36,4,10,.22) 0%,rgba(36,4,10,.7) 44%,rgba(38,5,11,.96) 100%),
      var(--hero-image) center top/cover no-repeat;
  }
  .request-page .inner-hero::after {
    right:-10rem;
    bottom:-12rem;
    width:22rem;
    height:22rem;
    opacity:.55;
  }
  .request-page .inner-hero-pattern {
    opacity:.08;
    background-size:16px 16px;
    mask-image:linear-gradient(180deg,transparent 0%,#000 38%,transparent 100%);
  }
  .request-page .inner-hero-content {
    padding:1.75rem 1rem 1.9rem;
  }
  .request-page .inner-breadcrumb {
    gap:.42rem;
    width:fit-content;
    max-width:100%;
    margin:0 0 1rem;
    padding:.42rem .58rem;
    overflow-x:auto;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.7);
    font-size:.58rem;
    scrollbar-width:none;
    backdrop-filter:blur(10px);
  }
  .request-page .inner-breadcrumb::-webkit-scrollbar {
    display:none;
  }
  .request-page .inner-breadcrumb li {
    flex:0 0 auto;
  }
  .request-page .inner-breadcrumb li+li::before {
    margin-right:.42rem;
  }
  .request-page .inner-kicker {
    padding:.42rem .62rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:.56rem;
    letter-spacing:.08em;
    backdrop-filter:blur(10px);
  }
  .request-page .inner-hero h1 {
    max-width:21rem;
    margin:.85rem 0 .75rem;
    font-size:clamp(2rem,10.5vw,2.6rem);
    line-height:1.06;
    letter-spacing:0;
  }
  .request-page .inner-hero-content>p {
    max-width:21rem;
    color:rgba(255,255,255,.82);
    font-size:.84rem;
    line-height:1.55;
  }
  .request-page .inner-hero-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
    margin-top:1.15rem;
  }
  .request-page .inner-hero-actions .primary-action,
  .request-page .inner-hero-actions .secondary-action {
    width:100%;
    min-height:44px;
    padding:.62rem .45rem;
    border-radius:12px;
    font-size:.64rem;
    line-height:1.15;
    white-space:nowrap;
  }
  .camps-page .inner-hero {
    min-height:500px;
    align-items:flex-end;
    background:
      linear-gradient(180deg,rgba(36,4,10,.18) 0%,rgba(36,4,10,.68) 44%,rgba(38,5,11,.96) 100%),
      var(--hero-image) center top/cover no-repeat;
  }
  .camps-page .inner-hero::after {
    right:-10rem;
    bottom:-12rem;
    width:22rem;
    height:22rem;
    opacity:.55;
  }
  .camps-page .inner-hero-pattern {
    opacity:.08;
    background-size:16px 16px;
    mask-image:linear-gradient(180deg,transparent 0%,#000 38%,transparent 100%);
  }
  .camps-page .inner-hero-content {
    padding:2.1rem 1rem 2rem;
  }
  .camps-page .inner-breadcrumb {
    gap:.42rem;
    width:fit-content;
    max-width:100%;
    margin:0 0 1rem;
    padding:.42rem .58rem;
    overflow-x:auto;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.7);
    font-size:.58rem;
    scrollbar-width:none;
    backdrop-filter:blur(10px);
  }
  .camps-page .inner-breadcrumb::-webkit-scrollbar {
    display:none;
  }
  .camps-page .inner-breadcrumb li {
    flex:0 0 auto;
  }
  .camps-page .inner-breadcrumb li+li::before {
    margin-right:.42rem;
  }
  .camps-page .inner-kicker {
    padding:.42rem .62rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:.56rem;
    letter-spacing:.08em;
    backdrop-filter:blur(10px);
  }
  .camps-page .inner-hero h1 {
    max-width:21.5rem;
    margin:.85rem 0 .75rem;
    font-size:clamp(1.9rem,9.7vw,2.45rem);
    line-height:1.07;
    letter-spacing:0;
  }
  .camps-page .inner-hero-content>p {
    max-width:21rem;
    color:rgba(255,255,255,.82);
    font-size:.84rem;
    line-height:1.55;
  }
  .camps-page .inner-hero-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
    margin-top:1.15rem;
  }
  .camps-page .inner-hero-actions .primary-action,
  .camps-page .inner-hero-actions .secondary-action {
    width:100%;
    min-height:44px;
    padding:.62rem .42rem;
    border-radius:12px;
    font-size:.62rem;
    line-height:1.15;
    white-space:nowrap;
  }
  .camps-page .content-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .camps-page .content-section .container,
  .camps-page .camp-gallery-section .container,
  .camps-page .soft-section .container,
  .camps-page .form-section .container {
    padding-inline:1rem;
  }
  .camps-page .content-section .center-heading {
    max-width:none;
    margin:0 0 1.15rem;
    text-align:left;
  }
  .camps-page .content-section .section-eyebrow,
  .camps-page .camp-gallery-section .section-eyebrow,
  .camps-page .soft-section .section-eyebrow,
  .camps-page .form-intro .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .camps-page .content-section .section-title,
  .camps-page .camp-gallery-section .section-title,
  .camps-page .soft-section .section-title,
  .camps-page .form-intro .section-title {
    max-width:21rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .camps-page .content-section .section-copy,
  .camps-page .camp-gallery-section .section-copy,
  .camps-page .soft-section .section-copy,
  .camps-page .form-intro .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .camps-page .content-section .feature-grid {
    display:flex;
    gap:.75rem;
    margin-inline:-1rem;
    padding:0 1rem .35rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .camps-page .content-section .feature-grid::-webkit-scrollbar {
    display:none;
  }
  .camps-page .content-section .image-card {
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    flex:0 0 min(88vw,330px);
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 14px 30px rgba(62,12,20,.06);
    scroll-snap-align:center;
  }
  .camps-page .content-section .image-card>img {
    width:92px;
    height:100%;
    min-height:148px;
  }
  .camps-page .content-section .image-card>div {
    padding:.85rem;
  }
  .camps-page .content-section .card-label {
    font-size:.54rem;
    letter-spacing:.08em;
  }
  .camps-page .content-section .image-card h3 {
    margin:.32rem 0 .5rem;
    font-size:.86rem;
    line-height:1.25;
  }
  .camps-page .content-section .image-card p {
    font-size:.64rem;
    line-height:1.35;
  }
  .camps-page .content-section .image-card a {
    margin-top:.55rem;
    font-size:.64rem;
  }
  .camps-page .camp-cards-pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    margin:.55rem 0 0;
  }
  .camps-page .camp-cards-pagination button {
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#e8b8c0;
    transition:.2s ease;
  }
  .camps-page .camp-cards-pagination button.is-active {
    width:22px;
    background:var(--page-red);
  }
  .camps-page .camp-gallery-section {
    padding:2.75rem 0;
    background:#fff;
  }
  .camps-page .camp-gallery-heading {
    display:grid;
    grid-template-columns:1fr;
    gap:.7rem;
    margin-bottom:1rem;
  }
  .camps-page .camp-gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:122px;
    gap:.5rem;
  }
  .camps-page .camp-gallery-item {
    border-radius:13px;
    box-shadow:0 10px 22px rgba(59,10,18,.08);
  }
  .camps-page .camp-gallery-item::after {
    right:.5rem;
    bottom:.5rem;
    width:1.75rem;
    height:1.75rem;
    font-size:.75rem;
    opacity:1;
    transform:none;
  }
  .camps-page .camp-gallery-pagination {
    gap:.7rem;
    margin-top:1rem;
    padding-top:1rem;
  }
  .camps-page .camp-gallery-count {
    font-size:.64rem;
  }
  .camps-page .camp-gallery-page-controls {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:.45rem;
  }
  .camps-page .gallery-page-numbers {
    justify-content:center;
    min-width:0;
  }
  .camps-page .gallery-page-direction,
  .camps-page .gallery-page-number {
    min-width:2.2rem;
    height:2.2rem;
    border-radius:10px;
    font-size:.64rem;
  }
  .camps-page .soft-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff7f8 0%,#fff 100%);
  }
  .camps-page .soft-section .split-layout {
    gap:1rem;
    align-items:stretch;
  }
  .camps-page .mini-feature-grid {
    gap:.7rem;
  }
  .camps-page .mini-feature-grid article {
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:.65rem;
    padding:.82rem;
    border-radius:15px;
    background:#fff;
    box-shadow:0 14px 30px rgba(62,12,20,.055);
  }
  .camps-page .mini-feature-grid i {
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border-radius:12px;
    background:#fff0f2;
    font-size:1rem;
  }
  .camps-page .mini-feature-grid h3 {
    margin:.05rem 0 .22rem;
    font-size:.82rem;
    line-height:1.25;
  }
  .camps-page .mini-feature-grid p {
    grid-column:2;
    font-size:.64rem;
    line-height:1.45;
  }
  .camps-page .form-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .camps-page .form-layout {
    gap:1rem;
    align-items:stretch;
  }
  .camps-page .form-intro {
    padding-top:0;
  }
  .camps-page .contact-line {
    align-items:flex-start;
    gap:.7rem;
    margin-top:1rem;
    padding:.8rem;
    border:1px solid #f0d3d8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 28px rgba(59,10,18,.06);
  }
  .camps-page .contact-line>i {
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:11px;
  }
  .camps-page .contact-line small {
    font-size:.6rem;
  }
  .camps-page .contact-line a {
    font-size:.72rem;
    line-height:1.45;
  }
  .camps-page .site-form {
    padding:1rem;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 36px rgba(59,10,18,.08);
  }
  .camps-page .form-heading {
    gap:.7rem;
    margin:-1rem -1rem 1rem;
    padding:.95rem 1rem;
    border-bottom:1px solid #f2e3e6;
    background:#fffafb;
  }
  .camps-page .form-heading>span {
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:1rem;
  }
  .camps-page .form-heading h3 {
    font-size:.96rem;
    line-height:1.2;
  }
  .camps-page .form-heading p {
    font-size:.62rem;
    line-height:1.35;
  }
  .camps-page .form-grid {
    gap:.75rem;
  }
  .camps-page .site-form label {
    font-size:.64rem;
  }
  .camps-page .site-form input,
  .camps-page .site-form select,
  .camps-page .site-form textarea {
    min-height:44px;
    margin-top:.34rem;
    padding:.68rem .75rem;
    border-radius:12px;
    font-size:.78rem;
  }
  .camps-page .form-submit {
    min-height:46px;
    margin-top:.9rem;
    border-radius:13px;
    font-size:.72rem;
    box-shadow:0 12px 24px rgba(226,29,54,.18);
  }
  .camps-page .form-status {
    margin-top:.55rem;
    font-size:.64rem;
  }
  .contact-page .inner-hero {
    min-height:500px;
    align-items:flex-end;
    background:
      linear-gradient(180deg,rgba(36,4,10,.2) 0%,rgba(36,4,10,.68) 44%,rgba(38,5,11,.96) 100%),
      var(--hero-image) center top/cover no-repeat;
  }
  .contact-page .inner-hero::after {
    right:-10rem;
    bottom:-12rem;
    width:22rem;
    height:22rem;
    opacity:.55;
  }
  .contact-page .inner-hero-pattern {
    opacity:.08;
    background-size:16px 16px;
    mask-image:linear-gradient(180deg,transparent 0%,#000 38%,transparent 100%);
  }
  .contact-page .inner-hero-content {
    padding:2.05rem 1rem 2rem;
  }
  .contact-page .inner-breadcrumb {
    gap:.42rem;
    width:fit-content;
    max-width:100%;
    margin:0 0 1rem;
    padding:.42rem .58rem;
    overflow-x:auto;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.7);
    font-size:.58rem;
    scrollbar-width:none;
    backdrop-filter:blur(10px);
  }
  .contact-page .inner-breadcrumb::-webkit-scrollbar {
    display:none;
  }
  .contact-page .inner-breadcrumb li {
    flex:0 0 auto;
  }
  .contact-page .inner-breadcrumb li+li::before {
    margin-right:.42rem;
  }
  .contact-page .inner-kicker {
    padding:.42rem .62rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:.56rem;
    letter-spacing:.08em;
    backdrop-filter:blur(10px);
  }
  .contact-page .inner-hero h1 {
    max-width:21rem;
    margin:.85rem 0 .75rem;
    font-size:clamp(2rem,10.5vw,2.6rem);
    line-height:1.06;
    letter-spacing:0;
  }
  .contact-page .inner-hero-content>p {
    max-width:21rem;
    color:rgba(255,255,255,.82);
    font-size:.84rem;
    line-height:1.55;
  }
  .contact-page .inner-hero-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
    margin-top:1.15rem;
  }
  .contact-page .inner-hero-actions .primary-action,
  .contact-page .inner-hero-actions .secondary-action {
    width:100%;
    min-height:44px;
    padding:.62rem .42rem;
    border-radius:12px;
    font-size:.62rem;
    line-height:1.15;
    white-space:nowrap;
  }
  .contact-page .contact-cards-section {
    padding:2.5rem 0 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .contact-page .contact-cards {
    grid-template-columns:1fr;
    gap:.7rem;
    padding-inline:1rem;
  }
  .contact-page .contact-card {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.7rem;
    min-height:0;
    padding:.85rem;
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 30px rgba(62,12,20,.06);
  }
  .contact-page .contact-card>span {
    grid-row:1 / span 3;
    width:42px;
    height:42px;
    margin:0;
    border-radius:13px;
  }
  .contact-page .contact-card small,
  .contact-page .contact-card strong,
  .contact-page .contact-card em {
    grid-column:2;
  }
  .contact-page .contact-card small {
    font-size:.58rem;
  }
  .contact-page .contact-card strong {
    margin:.08rem 0;
    font-size:.78rem;
    line-height:1.3;
    overflow-wrap:anywhere;
  }
  .contact-page .contact-card em {
    margin-top:.05rem;
    font-size:.62rem;
  }
  .contact-page .form-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff7f8 0%,#fff 100%);
  }
  .contact-page .form-section::before {
    display:none;
  }
  .contact-page .form-section .container,
  .contact-page .soft-section .container {
    padding-inline:1rem;
  }
  .contact-page .form-layout,
  .contact-page .soft-section .split-layout {
    gap:1rem;
    align-items:stretch;
  }
  .contact-page .form-intro {
    padding-top:0;
  }
  .contact-page .form-intro .section-eyebrow,
  .contact-page .soft-section .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .contact-page .form-intro .section-title,
  .contact-page .soft-section .section-title {
    max-width:21rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .contact-page .form-intro .section-copy,
  .contact-page .soft-section .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .contact-page .hours-card {
    margin-top:1rem;
    padding:.9rem;
    border-radius:15px;
    background:#fff;
    box-shadow:0 12px 28px rgba(59,10,18,.06);
  }
  .contact-page .hours-card h3 {
    font-size:.82rem;
  }
  .contact-page .hours-card p {
    font-size:.64rem;
  }
  .contact-page .contact-site-form {
    padding:0 1rem 1rem;
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 36px rgba(59,10,18,.08);
  }
  .contact-page .contact-form-topline {
    margin:0 -1rem 1rem;
    padding:.9rem 1rem;
    border-bottom:1px solid #f2e3e6;
  }
  .contact-page .contact-form-topline>span {
    font-size:.56rem;
  }
  .contact-page .contact-form-topline small {
    font-size:.58rem;
    line-height:1.35;
  }
  .contact-page .contact-site-form .form-heading {
    gap:.7rem;
    margin-bottom:1rem;
  }
  .contact-page .contact-site-form .form-heading>span {
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:1rem;
  }
  .contact-page .contact-site-form .form-heading h3 {
    font-size:.96rem;
    line-height:1.2;
  }
  .contact-page .contact-site-form .form-heading p {
    font-size:.62rem;
    line-height:1.35;
  }
  .contact-page .contact-site-form .form-grid {
    gap:.75rem;
  }
  .contact-page .contact-site-form label {
    font-size:.64rem;
  }
  .contact-page .contact-site-form input,
  .contact-page .contact-site-form select,
  .contact-page .contact-site-form textarea {
    min-height:44px;
    margin-top:.34rem;
    padding:.68rem .75rem;
    border-radius:12px;
    font-size:.78rem;
  }
  .contact-page .contact-site-form textarea {
    min-height:116px;
  }
  .contact-page .contact-site-form .form-submit {
    min-height:46px;
    margin-top:.9rem;
    border-radius:13px;
    font-size:.72rem;
  }
  .contact-page .contact-form-privacy {
    align-items:flex-start;
    margin-top:.65rem;
    font-size:.6rem;
    line-height:1.4;
  }
  .contact-page .soft-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .contact-page .quick-links {
    gap:.7rem;
  }
  .contact-page .quick-links a {
    grid-template-columns:38px minmax(0,1fr) 22px;
    gap:.65rem;
    min-height:68px;
    padding:.82rem;
    border-radius:15px;
    box-shadow:0 14px 30px rgba(62,12,20,.055);
  }
  .contact-page .quick-links>a>i:first-child {
    width:38px;
    height:38px;
    border-radius:12px;
  }
  .contact-page .quick-links span strong {
    font-size:.76rem;
    line-height:1.25;
  }
  .contact-page .quick-links span {
    font-size:.64rem;
    line-height:1.35;
  }
  .request-page .urgent-strip {
    background:linear-gradient(135deg,#5a0916 0%,#9f1730 100%);
  }
  .request-page .urgent-strip .container {
    padding-inline:1rem;
  }
  .request-page .urgent-strip-inner {
    display:grid;
    grid-template-columns:1fr;
    gap:.7rem;
    min-height:0;
    padding:.9rem 0;
    font-size:.7rem;
    line-height:1.45;
  }
  .request-page .urgent-strip-inner span {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem .55rem;
    align-items:center;
    line-height:1.35;
  }
  .request-page .urgent-strip-inner span>i {
    display:grid;
    flex:0 0 34px;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:11px;
    background:rgba(255,255,255,.12);
    color:#ffb4c0;
  }
  .request-page .urgent-strip-inner strong {
    display:inline;
    margin:0;
    font-size:.76rem;
  }
  .request-page .urgent-strip-inner a {
    display:flex;
    justify-content:center;
    width:100%;
    min-height:40px;
    align-items:center;
    gap:.4rem;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.1);
    font-size:.7rem;
  }
  .request-page .content-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .request-page .content-section .container {
    padding-inline:1rem;
  }
  .request-page .content-section .center-heading {
    max-width:none;
    margin:0 0 1.15rem;
    text-align:left;
  }
  .request-page .content-section .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .request-page .content-section .section-title {
    max-width:20rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .request-page .content-section .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .request-page .content-section .steps-grid {
    gap:.7rem;
  }
  .request-page .content-section .step-card {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.75rem;
    min-height:0;
    padding:.85rem;
    overflow:hidden;
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 30px rgba(62,12,20,.06);
  }
  .request-page .content-section .step-card>span {
    top:.65rem;
    right:.75rem;
    color:#f1d9de;
    font-size:1.1rem;
    line-height:1;
  }
  .request-page .content-section .step-card>i {
    grid-row:1 / span 2;
    width:42px;
    height:42px;
    margin:0;
    border-radius:13px;
    font-size:1rem;
  }
  .request-page .content-section .step-card h3 {
    grid-column:2;
    margin:.05rem 2rem .22rem 0;
    font-size:.86rem;
    line-height:1.25;
  }
  .request-page .content-section .step-card p {
    grid-column:2;
    font-size:.66rem;
    line-height:1.48;
  }
  .request-page .form-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .request-page .form-section .container {
    padding-inline:1rem;
  }
  .request-page .form-layout {
    gap:1rem;
    align-items:stretch;
  }
  .request-page .form-intro {
    padding-top:0;
  }
  .request-page .form-intro .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .request-page .form-intro .section-title {
    max-width:20rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .request-page .form-intro .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .request-page .form-intro .notice-card {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.7rem;
    margin-top:1rem;
    padding:.8rem;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 28px rgba(59,10,18,.06);
  }
  .request-page .form-intro .notice-card>i {
    display:grid;
    width:34px;
    height:34px;
    margin:0;
    place-items:center;
    border-radius:11px;
    background:#fff0f2;
  }
  .request-page .form-intro .notice-card p {
    font-size:.66rem;
    line-height:1.48;
  }
  .request-page .site-form {
    padding:1rem;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 36px rgba(59,10,18,.08);
  }
  .request-page .form-heading {
    gap:.7rem;
    margin:-1rem -1rem 1rem;
    padding:.95rem 1rem;
    border-bottom:1px solid #f2e3e6;
    background:#fffafb;
  }
  .request-page .form-heading>span {
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:1rem;
  }
  .request-page .form-heading h3 {
    font-size:.96rem;
    line-height:1.2;
  }
  .request-page .form-heading p {
    font-size:.62rem;
    line-height:1.35;
  }
  .request-page .form-grid {
    gap:.75rem;
  }
  .request-page .site-form label {
    font-size:.64rem;
  }
  .request-page .site-form input,
  .request-page .site-form select,
  .request-page .site-form textarea {
    min-height:44px;
    margin-top:.34rem;
    padding:.68rem .75rem;
    border-radius:12px;
    font-size:.78rem;
  }
  .request-page .check-field {
    gap:.55rem;
    padding:.75rem;
    border:1px solid #f0d3d8;
    border-radius:12px;
    background:#fff7f8;
    font-size:.66rem!important;
  }
  .request-page .check-field input {
    flex:0 0 17px;
  }
  .request-page .form-submit {
    min-height:46px;
    margin-top:.9rem;
    border-radius:13px;
    font-size:.72rem;
    box-shadow:0 12px 24px rgba(226,29,54,.18);
  }
  .request-page .form-status {
    margin-top:.55rem;
    font-size:.64rem;
  }
  .donate-page .content-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .donate-page .content-section .container {
    padding-inline:1rem;
  }
  .donate-page .content-section .split-layout {
    gap:1rem;
    align-items:stretch;
  }
  .donate-page .content-section .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .donate-page .content-section .section-title {
    max-width:20rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .donate-page .content-section .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .donate-page .content-section .notice-card {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.7rem;
    margin-top:1rem;
    padding:.8rem;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 28px rgba(59,10,18,.06);
  }
  .donate-page .content-section .notice-card>i {
    display:grid;
    width:34px;
    height:34px;
    margin:0;
    place-items:center;
    border-radius:11px;
    background:#fff0f2;
  }
  .donate-page .content-section .notice-card p {
    font-size:.66rem;
    line-height:1.48;
  }
  .donate-page .content-section .check-card {
    padding:1rem;
    border-radius:16px;
    box-shadow:0 16px 34px rgba(59,10,18,.08);
  }
  .donate-page .content-section .check-card h3 {
    margin-bottom:.7rem;
    font-size:.96rem;
    line-height:1.25;
  }
  .donate-page .content-section .check-list {
    margin-bottom:.85rem;
  }
  .donate-page .content-section .check-list li {
    gap:.6rem;
    padding:.62rem 0;
    font-size:.72rem;
    line-height:1.35;
  }
  .donate-page .content-section .check-list i {
    flex-basis:24px;
    width:24px;
    height:24px;
    border-radius:8px;
    font-size:.72rem;
  }
  .donate-page .content-section .text-action {
    justify-content:center;
    width:100%;
    min-height:42px;
    border:1px solid #f0d3d8;
    border-radius:12px;
    background:#fff7f8;
    font-size:.68rem;
  }
  .donate-page .soft-section {
    padding:2.75rem 0;
    background:
      linear-gradient(180deg,#fff7f8 0%,#fff 100%);
  }
  .donate-page .soft-section .container {
    padding-inline:1rem;
  }
  .donate-page .soft-section .center-heading {
    max-width:none;
    margin:0 0 1.15rem;
    text-align:left;
  }
  .donate-page .soft-section .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .donate-page .soft-section .section-title {
    max-width:20rem;
    margin:.75rem 0 0;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .donate-page .soft-section .steps-grid {
    gap:.7rem;
  }
  .donate-page .soft-section .step-card {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:.75rem;
    min-height:0;
    padding:.85rem;
    overflow:hidden;
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 30px rgba(62,12,20,.06);
  }
  .donate-page .soft-section .step-card>span {
    top:.65rem;
    right:.75rem;
    color:#f1d9de;
    font-size:1.1rem;
    line-height:1;
  }
  .donate-page .soft-section .step-card>i {
    grid-row:1 / span 2;
    width:42px;
    height:42px;
    margin:0;
    border-radius:13px;
    font-size:1rem;
  }
  .donate-page .soft-section .step-card h3 {
    grid-column:2;
    margin:.05rem 2rem .22rem 0;
    font-size:.86rem;
    line-height:1.25;
  }
  .donate-page .soft-section .step-card p {
    grid-column:2;
    font-size:.66rem;
    line-height:1.48;
  }
  .donate-page .form-section {
    padding:2.75rem 0;
    background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  }
  .donate-page .form-section .container {
    padding-inline:1rem;
  }
  .donate-page .form-layout {
    gap:1rem;
    align-items:stretch;
  }
  .donate-page .form-intro {
    padding-top:0;
  }
  .donate-page .form-intro .section-eyebrow {
    display:inline-flex;
    width:fit-content;
    padding:.42rem .62rem;
    border:1px solid #f0d3d8;
    border-radius:999px;
    background:#fff;
    font-size:.56rem;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(59,10,18,.05);
  }
  .donate-page .form-intro .section-title {
    max-width:20rem;
    margin:.75rem 0 .7rem;
    font-size:clamp(1.5rem,7.4vw,2rem);
    line-height:1.12;
    letter-spacing:0;
  }
  .donate-page .form-intro .section-copy {
    font-size:.82rem;
    line-height:1.62;
  }
  .donate-page .contact-line {
    align-items:flex-start;
    gap:.7rem;
    margin-top:1rem;
    padding:.8rem;
    border:1px solid #f0d3d8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 28px rgba(59,10,18,.06);
  }
  .donate-page .contact-line>i {
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:11px;
  }
  .donate-page .contact-line small {
    font-size:.6rem;
  }
  .donate-page .contact-line a {
    display:inline;
    font-size:.72rem;
    line-height:1.45;
  }
  .donate-page .site-form {
    padding:1rem;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 36px rgba(59,10,18,.08);
  }
  .donate-page .form-heading {
    gap:.7rem;
    margin:-1rem -1rem 1rem;
    padding:.95rem 1rem;
    border-bottom:1px solid #f2e3e6;
    background:#fffafb;
  }
  .donate-page .form-heading>span {
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:1rem;
  }
  .donate-page .form-heading h3 {
    font-size:.96rem;
    line-height:1.2;
  }
  .donate-page .form-heading p {
    font-size:.62rem;
    line-height:1.35;
  }
  .donate-page .form-grid {
    gap:.75rem;
  }
  .donate-page .site-form label {
    font-size:.64rem;
  }
  .donate-page .site-form input,
  .donate-page .site-form select,
  .donate-page .site-form textarea {
    min-height:44px;
    margin-top:.34rem;
    padding:.68rem .75rem;
    border-radius:12px;
    font-size:.78rem;
  }
  .donate-page .form-submit {
    min-height:46px;
    margin-top:.9rem;
    border-radius:13px;
    font-size:.72rem;
    box-shadow:0 12px 24px rgba(226,29,54,.18);
  }
  .donate-page .form-status {
    margin-top:.55rem;
    font-size:.64rem;
  }
  .steps-grid,.mini-feature-grid,.form-grid { grid-template-columns:1fr; }
  .site-form { padding:1.25rem; }
  .contact-site-form { padding:0 1.25rem 1.35rem; }
  .contact-form-topline { align-items:flex-start; flex-direction:column; margin:0 -1.25rem 1.35rem; padding:.9rem 1.25rem; }
  .full-field { grid-column:auto; }
}
