

@media (max-width:767px){
  /* Match the statistics heading to the mobile hero title. */
  body.home-page:not(.desktop-preview) .stats-title{
    font-size:min(var(--m-hero-h1),10.1vw) !important;
    line-height:var(--m-hero-h1-lh) !important;
  }
  body.home-page:not(.desktop-preview) .stats-section{
    --st-mark-h:1.04em;
    --st-mark-bottom:.02em;
  }

  /* Same scroll-snap activity carousel used on the internal activity pages. */
  body.home-page:not(.desktop-preview) .activities-section{
    overflow:hidden;
  }
  body.home-page:not(.desktop-preview) .activities-wrap{
    width:100%;
    max-width:none;
  }
  body.home-page:not(.desktop-preview) .activities-grid{
    position:relative;
    display:flex;
    flex-flow:row nowrap;
    justify-content:flex-start;
    align-items:center;
    gap:24px !important;
    width:100vw;
    max-width:none;
    margin:var(--gap-desc-content) calc(50% - 50vw) 0;
    padding:12px 0;
    overflow-x:auto;
    overflow-y:hidden;
    direction:ltr;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    cursor:grab;
  }
  body.home-page:not(.desktop-preview) .activities-grid::-webkit-scrollbar{ display:none; }
  body.home-page:not(.desktop-preview) .activities-grid.is-dragging{
    scroll-snap-type:none;
    cursor:grabbing;
    user-select:none;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-item{
    flex:0 0 calc((100% - 48px) / 2);
    width:calc((100% - 48px) / 2);
    max-width:none;
    min-width:0;
    height:auto;
    scroll-snap-align:center;
    scroll-snap-stop:always;
    direction:rtl;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card,
  body.home-page:not(.desktop-preview) .activities-grid .activity-card.active{
    display:block;
    width:100%;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    cursor:inherit;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label{
    width:max-content;
    max-width:90%;
    bottom:13%;
    padding:6px 8px;
    font-size:clamp(11px,3.2vw,17px);
    line-height:1.2;
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label span{
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__image{
    user-select:none;
    -webkit-user-drag:none;
  }
  body.home-page:not(.desktop-preview) .activities-grid:focus-visible{
    outline:2px solid var(--orange);
    outline-offset:-2px;
    border-radius:12px;
  }
}

/* Homepage mobile flow: consistent type, compact interactive sections and
   the same footer proportions used by the internal activity pages. */
@media (max-width:767px){
  /* Activity cards are real navigation items, with a visible cue. */
  body.home-page:not(.desktop-preview) .activities-grid .activity-card{
    cursor:pointer !important;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    max-width:94%;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label::after{
    content:'↖';
    display:inline-grid;
    place-items:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
    border-radius:50%;
    background:var(--ink);
    color:#fff;
    font-size:12px;
    line-height:1;
  }

  /* One mobile heading rhythm from voices through the field gallery. */
  body.home-page:not(.desktop-preview) :is(
    .voices-title,.give-title,.volunteers-title,.join-title,.field-title
  ){
    font-size:var(--m-title) !important;
    line-height:var(--m-title-lh) !important;
  }
  body.home-page:not(.desktop-preview) .voices-title > span{
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) :is(.voices-lead,.volunteers-lead){
    width:min(calc(100% - 30px),470px);
    max-width:none;
    margin-top:10px;
    padding-inline:0;
    font-size:clamp(13px,3.6vw,14.5px) !important;
    line-height:1.35 !important;
  }

  /* Compact 2×2 giving route. Every stop remains an anchor to its target. */
  body.home-page:not(.desktop-preview) .give-section{
    --gv-pad-top:28px;
    --gv-pad-bottom:36px;
  }
  body.home-page:not(.desktop-preview) .give-flow{
    gap:18px;
  }
  body.home-page:not(.desktop-preview) .give-track{
    width:min(100%,360px);
    margin-inline:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,auto);
    grid-auto-rows:auto;
    gap:18px 14px !important;
  }
  body.home-page:not(.desktop-preview) .give-track > *:nth-child(1){ grid-column:1; grid-row:1; }
  body.home-page:not(.desktop-preview) .give-track > *:nth-child(2){ grid-column:2; grid-row:1; }
  body.home-page:not(.desktop-preview) .give-track > *:nth-child(3){ grid-column:1; grid-row:2; }
  body.home-page:not(.desktop-preview) .give-track > *:nth-child(4){ grid-column:2; grid-row:2; }
  body.home-page:not(.desktop-preview) .give-track::before{
    inset:8% 12%;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M76 18 C55 18 46 34 25 34 C12 34 12 66 28 66 C51 66 53 82 76 82' fill='none' stroke='%2385C5D8' stroke-width='2' stroke-linecap='round' stroke-dasharray='6 8' vector-effect='non-scaling-stroke'/></svg>");
  }
  body.home-page:not(.desktop-preview) .give-stop{
    width:100%;
    min-height:104px;
    gap:6px;
  }
  body.home-page:not(.desktop-preview) .give-stop-icon{
    width:52px !important;
    height:52px !important;
  }
  body.home-page:not(.desktop-preview) .give-stop-label{
    font-size:13.5px !important;
    line-height:1.2;
  }
  body.home-page:not(.desktop-preview) .give-stop-dot{
    width:22px;
    height:22px;
  }

  /* Thin, restrained carousel controls with a 44px invisible touch area. */
  body.home-page:not(.desktop-preview) :is(
    .volunteers-nav-row .vl-nav,.field-nav-row .vl-nav
  ){
    position:relative;
    width:34px !important;
    height:34px !important;
    border-width:1px;
  }
  body.home-page:not(.desktop-preview) :is(
    .volunteers-nav-row .vl-nav,.field-nav-row .vl-nav
  )::before{
    content:'';
    position:absolute;
    inset:-5px;
    border-radius:50%;
  }
  body.home-page:not(.desktop-preview) :is(
    .volunteers-nav-row .vl-nav,.field-nav-row .vl-nav
  ) svg{
    width:34%;
    height:34%;
    stroke-width:1.8 !important;
  }

  /* Join section: tighter copy-to-form flow and a single-line consent. */
  body.home-page:not(.desktop-preview) .join-wrap{
    gap:18px;
  }
  body.home-page:not(.desktop-preview) .join-body{
    margin-top:8px;
    font-size:clamp(13px,3.6vw,14.5px) !important;
    line-height:1.35 !important;
  }
  body.home-page:not(.desktop-preview) .join-badge{
    margin-top:10px;
  }
  body.home-page:not(.desktop-preview) .join-consent{
    gap:5px;
    margin:10px 0 12px;
    font-size:clamp(8.5px,2.45vw,10px) !important;
    line-height:1.1;
    white-space:nowrap !important;
  }
  body.home-page:not(.desktop-preview) .join-form input[type='checkbox']{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
    max-width:16px !important;
    max-height:16px !important;
    flex-basis:16px;
  }

  /* Field tag, heading and controls share one centered axis. */
  body.home-page:not(.desktop-preview) .field-wrap{
    gap:18px;
  }
  body.home-page:not(.desktop-preview) .field-copy{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  /* 5.10.2026: התגית והחצים היו נעוצים לקצה הימני (align-self מהכלל המשותף),
     בעוד הכותרת ממורכזת. השלושה יושבים עכשיו על אותו ציר מרכזי. */
  /* השוליים חייבים !important: כלל משותף ב-site-refinements.css קובע
     margin-left:auto !important, ושוליים אוטומטיים בפריט flex גוברים על
     align-self — ולכן התגית נדחקה לקצה הימני למרות המרכוז. */
  body.home-page:not(.desktop-preview) .field-copy .section-tag{
    align-self:center;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none;
  }
  body.home-page:not(.desktop-preview) .field-title{
    width:100%;
    margin-top:8px;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .field-nav-row{
    align-self:center;
    justify-content:center;
    gap:7px;
    margin-top:12px;
  }

  /* A larger logo on the compact floating header, still centred. */
  body.home-page:not(.desktop-preview) .site-header.is-stuck{
    --hd-logo-stuck:56px;
  }
  body.home-page:not(.desktop-preview) .site-header.is-stuck .logo-badge{
    width:56px;
    height:56px;
  }
}

/* Reuse the internal activity-page footer proportions on the homepage. */
@media (max-width:1024px){
  body.home-page:not(.desktop-preview) .footer-section{
    --ft-logo:clamp(90px,14vw,110px) !important;
    --ft-logo-ring:10px;
    --ft-logo-out:.38;
    --ft-pad-top:calc(var(--ft-logo) * .62 + var(--ft-logo-ring) + 8px) !important;
    padding-block:var(--ft-pad-top) 28px;
  }
  body.home-page:not(.desktop-preview) .ft-logo{
    width:var(--ft-logo) !important;
    height:var(--ft-logo);
  }
  body.home-page:not(.desktop-preview) .ft-cta-row{
    flex-flow:row nowrap;
    gap:10px;
  }
  body.home-page:not(.desktop-preview) .ft-btn{
    position:relative;
    flex:1 1 0;
    width:auto;
    max-width:200px;
    min-width:0;
    height:36px;
    min-height:36px;
    padding:0 8px !important;
    justify-content:center;
    gap:5px;
    font-size:clamp(11px,3vw,13px);
    line-height:1;
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) .ft-btn::before{
    content:'';
    position:absolute;
    inset-inline:0;
    top:50%;
    height:44px;
    transform:translateY(-50%);
  }
  body.home-page:not(.desktop-preview) .ft-btn svg{
    flex:0 0 13px;
    width:13px;
    height:13px;
  }
  body.home-page:not(.desktop-preview) .ft-cols{
    align-items:start;
    gap:22px 16px;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .ft-col{
    min-width:0;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .ft-col h3{
    margin-bottom:7px;
    line-height:1.2;
  }
  body.home-page:not(.desktop-preview) .ft-col li{
    margin-bottom:2px;
    line-height:1.3;
  }
  body.home-page:not(.desktop-preview) .ft-col :is(a,span){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding-block:2px;
    line-height:1.3;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .ft-contact li{
    justify-content:center;
    align-items:center;
    gap:5px;
  }
  body.home-page:not(.desktop-preview) .ft-contact li > :is(a,span){
    flex:0 1 auto;
    min-width:0;
  }
  body.home-page:not(.desktop-preview) .ft-contact svg{ margin-top:0; }
  body.home-page:not(.desktop-preview) .ft-contact li a[href^='mailto']{
    font-size:clamp(10px,2.6vw,13px);
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-strip{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:16px 12px;
    padding:18px 12px;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-strip-title{
    order:0;
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.2em;
    width:100%;
    font-size:24px;
    line-height:1.2;
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-strip-title .title-highlight{
    margin-inline:0;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-trust{
    order:1;
    min-width:0;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-tile{
    width:44px;
    height:44px;
    flex:0 0 44px;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-trust-text{
    text-align:center;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-trust-text h3{
    margin-bottom:3px;
    font-size:13px;
    line-height:1.25;
  }
  body.home-page:not(.desktop-preview) .footer-section .give-trust-text p{
    font-size:11.5px;
    line-height:1.3;
  }
}

@media (max-width:359px){
  body.home-page:not(.desktop-preview) .voices-title{
    font-size:27px !important;
  }
}

/* September mobile pass: stronger headings, continuous activity rail and
   the Figma-proportioned memorial card. */
@media (max-width:767px){
  body.home-page:not(.desktop-preview){
    --m-title:clamp(31px,8.2vw,37px);
    --m-title-sm:clamp(31px,8.2vw,37px);
    --m-title-lh:1.04;
    --m-title-gap:6px;
  }

  body.home-page:not(.desktop-preview) :is(
    .stats-title,.activities-title,.give-title,.volunteers-title,.join-title,.field-title
  ){
    font-size:var(--m-title) !important;
    line-height:var(--m-title-lh) !important;
    font-weight:900 !important;
  }
  body.home-page:not(.desktop-preview) .stats-title{
    font-size:calc(var(--m-title) + 10px) !important;
  }
  body.home-page:not(.desktop-preview) .voices-title{
    font-size:var(--m-title) !important;
    line-height:var(--m-title-lh) !important;
    font-weight:900 !important;
    letter-spacing:normal;
  }
  body.home-page:not(.desktop-preview) .voices-title > span{
    transform:none;
  }
  body.home-page:not(.desktop-preview) :is(.voices-lead,.volunteers-lead,.join-body){
    margin-top:6px !important;
    line-height:1.3 !important;
  }

  /* Continuous motion is free of snap resistance until the first press. */
  body.home-page:not(.desktop-preview) .activities-grid.is-auto-moving{
    scroll-snap-type:none !important;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label{
    box-sizing:border-box;
    bottom:14%;
    gap:3px;
    max-width:86%;
    padding:4px 6px;
    font-size:clamp(11px,3vw,13px);
    line-height:1.05;
    letter-spacing:normal;
    word-spacing:-1px;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label span + span::before{
    content:'';
    display:inline-block;
    width:3px;
  }
  body.home-page:not(.desktop-preview) .activities-grid .activity-card__label::after{
    width:16px;
    height:16px;
    flex-basis:16px;
    font-size:9px;
  }

  /* Only the active testimony and its immediate neighbours remain visible. */
  body.home-page:not(.desktop-preview) .voices-track > li:nth-child(-n+2),
  body.home-page:not(.desktop-preview) .voices-track > li:nth-last-child(-n+2){
    display:none;
  }

  /* A compact descending zig-zag: right, left, right, left. */
  body.home-page:not(.desktop-preview) .give-flow{ gap:10px; }
  body.home-page:not(.desktop-preview) .give-track{
    width:min(100%,330px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(4,78px);
    gap:0 46px !important;
  }
  body.home-page:not(.desktop-preview) .give-track > .give-stop:nth-of-type(1){ grid-column:1; grid-row:1; }
  body.home-page:not(.desktop-preview) .give-track > .give-stop:nth-of-type(2){ grid-column:2; grid-row:2; }
  body.home-page:not(.desktop-preview) .give-track > .give-stop:nth-of-type(3){ grid-column:1; grid-row:3; }
  body.home-page:not(.desktop-preview) .give-track > .give-stop:nth-of-type(4){ grid-column:2; grid-row:4; }
  body.home-page:not(.desktop-preview) .give-track::before{
    inset:2% 7%;
    clip-path:inset(0 0 var(--gv-mobile-clip,0%) 0) !important;
    transition:none !important;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M76 9 C76 20 24 23 24 35 S76 48 76 60 S24 75 24 89' fill='none' stroke='%2385C5D8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' stroke-dasharray='6 8' vector-effect='non-scaling-stroke'/></svg>");
  }
  body.home-page:not(.desktop-preview) .give-stop{
    min-height:78px;
    gap:3px;
  }
  body.home-page:not(.desktop-preview) .give-stop-icon{
    position:relative;
    display:block !important;
    width:48px !important;
    height:48px !important;
    min-width:48px;
    max-width:48px;
    min-height:48px;
    max-height:48px;
    flex:0 0 48px;
    aspect-ratio:1 / 1;
    border-radius:50% !important;
    overflow:hidden;
  }
  body.home-page:not(.desktop-preview) .give-section.is-drawn .give-stop-icon{
    animation:none !important;
    transform:none !important;
  }
  body.home-page:not(.desktop-preview) .give-stop:is(:hover,:focus,:focus-visible) .give-stop-icon{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    background:var(--grad-accent) !important;
    filter:drop-shadow(0 5px 10px rgba(67,31,16,.12)) !important;
  }
  body.home-page:not(.desktop-preview) .give-stop:is(:hover,:focus,:focus-visible) .give-stop-dot{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  body.home-page:not(.desktop-preview) .give-stop-icon img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    transform:none !important;
  }
  body.home-page:not(.desktop-preview) .give-stop-dot{
    width:19px;
    height:19px;
    min-width:19px;
    min-height:19px;
    aspect-ratio:1 / 1;
    border-radius:50% !important;
  }

  body.home-page:not(.desktop-preview) .field-track > li{ flex-basis:30px; }

  body.home-page:not(.desktop-preview) .site-header.is-stuck{ --hd-logo-stuck:62px; }
  body.home-page:not(.desktop-preview) .site-header.is-stuck .logo-badge{
    width:62px;
    height:62px;
  }
}

@media (max-width:359px){
  body.home-page:not(.desktop-preview) .voices-title{ font-size:27px !important; }
  body.home-page:not(.desktop-preview) .voices-title > span{ transform:none; }
  body.home-page:not(.desktop-preview) .join-title{
    transform:none;
  }
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
  body.home-page:not(.desktop-preview) .give-track::before{
    clip-path:none !important;
  }
}

/* September mobile QA: exact line breaks, compact tags and centred media. */
@media (max-width:767px){
  body.home-page:not(.desktop-preview){
    --tag-w:156px;
  }

  /* The activities heading is intentionally three lines at every phone width. */
  body.home-page:not(.desktop-preview) .activities-title-line{
    display:block;
    white-space:nowrap;
  }
  body.home-page:not(.desktop-preview) .activities-title-desktop-break{
    display:none;
  }

  /* Keep the volunteer headline on its two authored lines. */
  body.home-page:not(.desktop-preview) .volunteers-title > span{
    white-space:nowrap;
  }

  /* All section badges use the same circular artwork, just slightly smaller. */
  body.home-page:not(.desktop-preview) .section-tag:not(.hero-tag){
    width:var(--tag-w);
  }

  /* The hero badge stays deliberately compact, but its type is never condensed. */
  body.home-page:not(.desktop-preview) .hero .hero-tag b{
    font-family:'Afek','Assistant',-apple-system,'Segoe UI',Arial,sans-serif;
    font-style:normal;
    font-stretch:normal;
    font-variation-settings:normal;
    letter-spacing:0;
  }

  /* Two responsive grid tracks keep every statistics circle inside the viewport. */
  body.home-page:not(.desktop-preview) .stats-list{
    width:min(calc(100% - 12px),310px);
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    justify-content:stretch;
    gap:min(var(--m-st-gap),12px) !important;
  }
  body.home-page:not(.desktop-preview) .stats-list > li{
    width:100% !important;
    max-width:var(--m-st-circle);
    height:auto !important;
    aspect-ratio:1 / 1;
    justify-self:center;
  }

  /* The active testimony is mathematically centred; its pager sits just below it. */
  body.home-page:not(.desktop-preview) .voices-deck{
    margin-top:6px !important;
  }
  body.home-page:not(.desktop-preview) .voice-card{
    top:50% !important;
    margin-left:calc(var(--m-vc-card) / -2) !important;
  }
  body.home-page:not(.desktop-preview) .voice-card.is-playing{
    box-shadow:0 0 0 var(--vl-border) var(--ink),
               0 26px 52px rgba(67,31,16,.28) !important;
  }
  body.home-page:not(.desktop-preview) .voice-card.is-playing .voice-progress rect{
    stroke:var(--ink);
  }

  /* Name and email share the first row; phone and interest each get a full row. */
  body.home-page:not(.desktop-preview) .join-row:first-of-type > input[name='name'],
  body.home-page:not(.desktop-preview) .join-row:first-of-type > input[name='email']{
    flex:1 1 calc(50% - 5px) !important;
    width:auto !important;
  }
  body.home-page:not(.desktop-preview) .join-row:first-of-type > input[name='phone']{
    flex:1 1 100% !important;
    width:100% !important;
  }
  body.home-page:not(.desktop-preview) .join-select-wrap{
    flex:1 1 100% !important;
    width:100%;
  }
  body.home-page:not(.desktop-preview) .join-form input[type='text'],
  body.home-page:not(.desktop-preview) .join-form input[type='email'],
  body.home-page:not(.desktop-preview) .join-form input[type='tel'],
  body.home-page:not(.desktop-preview) .join-form select{
    padding-inline:12px !important;
    font-size:clamp(12px,3.35vw,13px) !important;
  }

  /* Each authored footer line can wrap naturally on narrow phones. */
  body.home-page:not(.desktop-preview) .ft-title{
    font-size:clamp(24px,7.4vw,31px) !important;
  }
  body.home-page:not(.desktop-preview) .ft-title > span{
    white-space:normal;
  }
}
