/* Homepage measurements and motion structure from the supplied design guide. */
.homepage h2:not(.request-action h2) { font-size:clamp(2.25rem,3.75vw,3.375rem);line-height:1.08 }
.line-mask { display:block;overflow:hidden;padding:0 .04em .13em;margin-bottom:-.13em }
.line-content { display:block }
.hero-title .line-mask:first-child { color:var(--primary) }
.hero-title .line-mask:nth-child(2) { color:var(--secondary) }
.hero-background { overflow:hidden }
.hero-parallax { position:absolute;inset:-28px 0 }
.hero-overlay { background:linear-gradient(180deg,#ffffff12 0%,#ffffff24 54%,#fff 100%),linear-gradient(90deg,#ffffff20 0%,#ffffffaa 28%,#ffffffbf 50%,#ffffff77 72%,#ffffff16 100%) }
.request-container { display:flow-root;scroll-margin-top:108px }
.request-panel { scroll-margin-top:0 }
/* Keep the funds form static even if an older script starts a reveal. */
.request-container, .request-container * {
  animation:none!important;
  transition:none!important;
  transform:none!important;
  clip-path:none!important;
  opacity:1!important;
}
.hero-description { color:var(--muted) }
.request-action p { font-size:.875rem }
.preset:hover { box-shadow:none;background:#f6f8f7 }
.preset[aria-pressed="true"]:hover { background:#173d2a }
.text-link span { display:inline-block;margin-left:6px;transition:transform .2s }
.text-link:hover span { transform:translateX(4px) }
/* Reserve a stable observation area independently of the inner clip animation. */
.story-photo-trigger { min-width:0;aspect-ratio:1 / 1 }
.story-frame { aspect-ratio:1 / 1 }
.story-frame .story-image { object-fit:contain }
.features { gap:19px }
.features strong { display:block;font-weight:700 }
.features p { margin-top:3px;color:var(--muted);font-size:.875rem;line-height:1.5 }
.borrowing-note { margin-top:28px }
.faq-item summary .faq-plus { position:relative;display:block;width:17px;height:17px;margin-top:4px;color:var(--primary);transform:none }
.faq-plus::before,.faq-plus::after { content:'';position:absolute;width:17px;height:1.5px;top:calc(50% - .75px);left:0;background:currentColor;transition:transform .2s }
.faq-plus::after { transform:rotate(90deg) }
.faq-item[open] .faq-plus::after { transform:rotate(0) }
.homepage .site-footer { padding-top:60px }
.homepage .footer-top { padding-bottom:45px }
.homepage .footer-top h2 { font-size:clamp(2.125rem,3.2vw,2.875rem) }
.homepage .footer-top .button { min-width:200px }
.homepage .footer-main { grid-template-columns:1fr auto }
.homepage .footer-links,.homepage .footer-description { font-size:.8125rem }
.homepage .footer-disclosure { margin-top:13px;color:var(--inverse);font-size:.75rem;line-height:1.7;max-width:510px }
.homepage .footer-meta { margin-top:33px }
.homepage .header-row { gap:30px }
.header-actions { display:flex;align-items:center;gap:12px }
.homepage .nav-links { margin-left:auto;gap:34px }
.header-actions .button { min-height:44px;padding:12px 20px;font-size:.875rem }
@media (max-width:1000px) {
  .homepage h2:not(.request-action h2):not(.footer-top h2) { font-size:2.5625rem }
  .homepage .footer-main { gap:28px }
  .homepage .nav-links { gap:24px }
  .homepage .header-row { gap:22px }
}
@media (max-width:760px) {
  .hero-description .desktop-break { display:none }
  .request-container { scroll-margin-top:92px }
  .how-intro .line-mask { display:inline-block;margin-right:.1em }
  .homepage .story-layout h2 { font-size:2.25rem!important }
  .homepage .footer-main { grid-template-columns:1fr }
  .homepage .footer-top { flex-direction:row;align-items:center }
}
@media (max-width:560px) {
  .hero-overlay { background:linear-gradient(180deg,#ffffffdd 0%,#ffffffd6 55%,#fff 100%) }
  .hero-reassurance { margin-top:19px }
  .homepage h2:not(.request-action h2):not(.footer-top h2) { font-size:2.25rem }
  .features { gap:18px;margin-top:25px }
  .homepage .site-footer { padding-top:44px }
  .homepage .footer-top { flex-direction:column;align-items:flex-start;gap:26px;padding-bottom:32px }
  .homepage .footer-top .button { min-width:190px }
  .homepage .footer-links { grid-template-columns:1fr 1fr;column-gap:18px;font-size:.75rem }
  .header-actions .button { display:none }
}
@media (prefers-reduced-motion:reduce) { .text-link:hover span { transform:none } }
@media print {
  .hero-background,.hero-overlay,.presets,#amount-range,.range-labels { display:none }
  .hero { padding:20px 0 }
  .hero-title { font-size:36pt }
  .hero-title,.hero-title .line-mask,.hero-description { color:#000!important }
  .line-mask { overflow:visible }
  .line-content,.request-panel,.story-photo { transform:none!important;clip-path:none!important;opacity:1!important }
  .request-panel,.steps li,.story-layout { break-inside:avoid }
  .request-action { background:#fff;color:#000;border:1px solid #999 }
  .request-action p { color:#000 }
  .how-section,.faq-section { padding-block:30px }
  .story-section { margin-top:30px;padding-block:30px }
}
