@font-face{font-family:Daniel Black;src:url('danielbk.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#faf0de;--ink:#103959;--orange:#f05733;--u:min(.052083333vw,1px);--scale:1}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Afacad,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:7px}.leerorkest-page{position:relative;max-width:1920px;margin:auto;overflow:hidden;padding-bottom:calc(80 * var(--u))}.header{position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(34.32 * var(--u)) calc(77 * var(--u)) 0 calc(39 * var(--u))}.brand{display:flex;width:calc(195 * var(--u));flex-direction:column;align-items:center;transition:transform .3s}.brand:hover{transform:rotate(-4deg)}.brand-art{width:calc(188 * var(--u));height:calc(99 * var(--u))}.brand-art img{transform:scale(var(--scale));transform-origin:top left}.brand-place{font-size:calc(23.905 * var(--u));line-height:1.76;text-transform:uppercase;white-space:nowrap;font-weight:500;margin-top:calc(10 * var(--u))}.navigation{display:flex;align-items:center;gap:calc(40 * var(--u));margin-top:calc(42 * var(--u));font-size:calc(24 * var(--u));font-weight:500}.navigation>a:not(.button){position:relative;padding:8px 0}.navigation>a:not(.button)::after{content:"";height:2px;position:absolute;bottom:4px;left:0;right:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}.navigation>a:hover::after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border-radius:calc(8 * var(--u));transition:transform .25s,background .25s}.button:hover{background:#1b5075;transform:translateY(-3px)}.contact{width:calc(161 * var(--u));height:calc(52 * var(--u))}.menu-toggle{display:none}.hero{position:relative;height:calc(951 * var(--u));isolation:isolate}.illustrations{position:absolute;inset:0;z-index:-1;pointer-events:none}.artboard{position:absolute;width:1920px;height:951px;transform:scale(var(--scale));transform-origin:top left}.staff img{position:absolute;left:.15px}.note{position:absolute;transition:translate .8s cubic-bezier(.2,.7,.2,1)}.float{position:relative;animation:float 6s ease-in-out infinite}.note-large{left:645.346px;top:83.225px}.eyes{position:absolute;left:61px;top:141px;transform:rotate(155.55deg) skewX(-1.27deg)}.note-right{left:1315px;top:233.018px}.note-right .float{animation-delay:-1.7s;animation-duration:7s}.note-double{left:395px;top:328.516px}.note-double .float{animation-delay:-3.5s;animation-duration:6.5s}.note-tiny{left:1165.756px;top:203.004px}.note-tiny .float{animation-delay:-2s;animation-duration:5s}.note-long{left:449.884px;top:534.217px}.note-long .float{animation-delay:-4.5s;animation-duration:7.5s}.note-small{left:1367.382px;top:573.527px}.note-small .float{animation-delay:-.8s;animation-duration:5.8s}h1{position:absolute;top:calc(388 * var(--u));left:0;width:100%;margin:0;text-align:center;font-weight:700}.title-top{display:block;font-size:calc(60 * var(--u));line-height:1;letter-spacing:calc(-1.6 * var(--u));text-transform:uppercase;transform:rotate(4deg);animation:title-top 1.6s cubic-bezier(.2,.8,.2,1) both}.title-script{display:block;font-family:Daniel Black,cursive;font-weight:400;color:var(--orange);font-size:calc(80 * var(--u));line-height:1.45;transform:rotate(3deg);animation:write-in 2.4s .35s cubic-bezier(.2,.7,.2,1) both}.hero-copy{position:absolute;top:calc(589.876 * var(--u));left:50%;transform:translateX(-50%);width:min(368px,calc(100% - 48px));text-align:center;animation:fade-up .85s .45s both}.hero-copy p{font-size:18px;line-height:28px;margin:0 0 calc(21 * var(--u))}.offer-button{font-size:calc(18 * var(--u));height:calc(50 * var(--u));padding:0 calc(24 * var(--u));gap:calc(8 * var(--u));white-space:nowrap;font-weight:500}.down-arrow{width:calc(12 * var(--u));height:calc(21.0153 * var(--u))}.down-arrow img{transform:scale(var(--scale));transform-origin:top left}.programs{width:70.833333%;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(19 * var(--u))}.card-entry{min-width:0;animation:fade-up .85s calc(.6s + var(--order) * .12s) both}.program{--color:#ffa300;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(397 * var(--u));padding:calc(94 * var(--u)) calc(16 * var(--u)) calc(24 * var(--u));color:#fff;background:var(--color);border-radius:calc(24 * var(--u));transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;filter:drop-shadow(0 0 0 transparent);transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.green{--color:#45bd8f}.pink{--color:#d864a3}.orange{--color:#f05733}.program:hover,.program:focus-visible{transform:perspective(800px) translateY(-9px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));filter:drop-shadow(0 12px 9px rgb(16 57 89 / 16%))}.card-arrow{position:absolute;top:calc(14.3 * var(--u));right:calc(14.3 * var(--u));width:calc(57.402 * var(--u));height:calc(57.402 * var(--u));transition:transform .3s}.card-arrow img{transform:scale(var(--scale));transform-origin:top left}.program:hover .card-arrow{transform:rotate(8deg) translate(2px,-2px)}.card-copy h2{font-size:calc(32 * var(--u));line-height:1;margin:0 0 calc(15 * var(--u));text-transform:uppercase;font-weight:700}.card-copy p{font-size:calc(18 * var(--u));line-height:calc(28 * var(--u));margin:0}.tags{display:flex;flex-wrap:wrap;gap:calc(16 * var(--u));margin-top:30px}.tags span{background:white;color:var(--color);border-radius:50px;padding:calc(8 * var(--u)) calc(16 * var(--u));font-size:calc(16 * var(--u));line-height:1.3125;white-space:nowrap}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes fade-up{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}@keyframes title-top{from{opacity:0;transform:translateY(15px) rotate(-3deg)}to{opacity:1;transform:rotate(4deg)}}@keyframes write-in{from{opacity:0;clip-path:inset(0 100% 0 0);translate:0 8px}to{opacity:1;clip-path:inset(0 -5% 0 -5%);translate:0 0}}
@media(min-width:1921px){.leerorkest-page{overflow:visible}.hero .illustrations{overflow:hidden}}
@media(max-width:1000px) and (min-width:701px){.hero-copy{width:320px}.offer-button{font-size:14px;min-height:36px}.programs{width:86%;gap:14px}.program{min-height:250px;padding:64px 13px 18px}.card-copy h2{font-size:21px}.card-copy p{font-size:14px;line-height:20px}.tags{gap:6px}.tags span{font-size:11px;padding:5px 8px}.navigation{font-size:17px}.contact{min-height:36px;min-width:95px}.hero{min-height:540px}}
@media(max-width:700px){:root{--u:1px}.leerorkest-page{padding-bottom:28px}.header{position:relative;padding:23px 24px 0;align-items:center}.brand{width:112px}.brand-art{width:108.1px;height:56.925px}.brand-art img{transform:scale(.575)}.brand-place{font-size:13.75px;line-height:1.5;margin-top:5px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:var(--ink);color:#fff;border-radius:7px;padding:11px 15px;min-height:44px;font-size:17px;cursor:pointer}.navigation{display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .32s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s .4s;position:absolute;top:111px;left:24px;right:24px;margin:0;padding:20px 24px;background:var(--paper);border:1px solid #10395920;border-radius:12px;box-shadow:0 14px 30px #10395912;font-size:20px;gap:12px;align-items:stretch}.navigation.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.contact{width:auto;height:44px}.hero{height:535px}.artboard{width:1920px;transform:scale(.48);left:50%;margin-left:-460.8px;top:-55px}.staff{opacity:.8}.note-large{left:608px;top:165px;transform:scale(.65)}.note-right{left:1230px;top:234px;transform:scale(.72)}.note-double{left:560px;top:472px;transform:scale(.65)}.note-tiny{left:1040px;top:132px;transform:scale(.75)}.note-long{left:607px;top:890px;transform:scale(.58)}.note-small{left:1250px;top:873px;transform:scale(.75)}h1{top:163px;padding:0 20px}.title-top{font-size:36px;letter-spacing:-1px}.title-script{font-size:clamp(29px,7.6vw,46px);line-height:1.6;white-space:nowrap;margin-top:4px}.hero-copy{top:300px;width:min(285px,calc(100% - 70px))}.hero-copy p{font-size:18px;line-height:28px;margin-bottom:20px}.offer-button{height:45px;font-size:16px;padding:0 21px;gap:9px;border-radius:7px}.down-arrow{width:10px;height:18px}.down-arrow img{transform:scale(.85)}.programs{width:calc(100% - 40px);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program{min-height:260px;border-radius:17px;padding:73px 15px 18px}.card-arrow{width:38px;height:38px;top:12px;right:12px}.card-arrow img{transform:scale(.662)}.card-copy h2{font-size:23px;line-height:1.05;margin-bottom:12px;overflow-wrap:anywhere}.card-copy p{font-size:16px;line-height:21px}.tags{gap:7px;margin-top:28px}.tags span{font-size:12px;padding:5px 9px}.program:hover{transform:translateY(-5px)}}
@media(max-width:420px){.programs{grid-template-columns:1fr;width:calc(100% - 48px);gap:16px}.program{min-height:258px;padding:78px 21px 21px}.card-copy h2{font-size:29px}.card-copy p{font-size:18px;line-height:25px;max-width:265px}.tags span{font-size:14px;padding:6px 12px}.card-arrow{top:15px;right:15px;width:43px;height:43px}.card-arrow img{transform:scale(.75)}}
@media(max-width:1000px) and (min-width:701px){.programs{width:80%;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.program{min-height:280px;padding:76px 20px 20px}.card-copy h2{font-size:28px}.card-copy p{font-size:17px;line-height:24px}.tags span{font-size:13px;padding:6px 10px}}
@media(max-width:700px){.note-double{top:370px}}
/* The parent drop-shadow follows this masked silhouette, avoiding a rectangular halo.
   A separate painted layer keeps typography, focus outlines and hover motion crisp. */
.program { background: transparent; isolation: isolate; }
.program::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--color);
  -webkit-mask: url("assets/card-edge-yellow.svg") center / 100% 100% no-repeat;
  mask: url("assets/card-edge-yellow.svg") center / 100% 100% no-repeat;
  pointer-events: none;
}
.program.green::before { -webkit-mask-image: url("assets/card-edge-green.svg"); mask-image: url("assets/card-edge-green.svg"); }
.program.pink::before { -webkit-mask-image: url("assets/card-edge-pink.svg"); mask-image: url("assets/card-edge-pink.svg"); }
.program.orange::before { -webkit-mask-image: url("assets/card-edge-orange.svg"); mask-image: url("assets/card-edge-orange.svg"); }
/* Two rounded strokes morph together into the close icon. */
@media(max-width:700px){
  .menu-toggle { min-width:112px; justify-content:space-between; }
  .menu-icon { position:relative; flex:none; width:23px; height:26px; }
  .menu-icon::before, .menu-icon::after {
    content:"";
    position:absolute;
    left:0;
    top:12px;
    width:23px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transform:translateY(-4px);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .menu-icon::after { transform:translateY(4px); }
  .menu-toggle[aria-expanded=true] .menu-icon::before { transform:rotate(45deg); }
  .menu-toggle[aria-expanded=true] .menu-icon::after { transform:rotate(-45deg); }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.note{translate:none!important}.program{transform:none!important}.title-script{clip-path:none}}

/* Private continuation. All sizing here is independent of the scaled hero. */
.content-width { width:min(1130px,66%); margin-inline:auto; }
.donors { margin-top:clamp(64px,5.9vw,113px); display:flex; align-items:center; gap:clamp(24px,3.9vw,75px); background:#fff; padding:16px 24px; border-radius:12px; }
.donors h2 { font-size:18px; font-weight:500; margin:0; }
.donor-logos { display:flex; align-items:center; justify-content:space-between; flex:1; gap:20px; }
.donor-logos img { object-fit:contain; max-width:18%; height:64px; }
.donate-button { height:46px; min-width:130px; font-size:18px; border-radius:8px; }
.about { display:grid; grid-template-columns:49% 39%; gap:12%; align-items:center; padding-block:110px 125px; }
.impact { position:relative; width:100%; aspect-ratio:555.388 / 581.339; }
.impact-art { width:555.388px; height:581.339px; transform:scale(var(--impact-scale,1)); transform-origin:top left; position:relative; }
.paper-shape { position:relative; isolation:isolate; }
.paper-shape::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--color); -webkit-mask:var(--edge,url('assets/card-edge-green.svg')) center / 100% 100% no-repeat; mask:var(--edge,url('assets/card-edge-green.svg')) center / 100% 100% no-repeat; pointer-events:none; }
.impact-card { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; gap:9px; }
.impact-card strong { font-size:81px; line-height:92px; font-weight:700; }
.impact-card span { font-size:20px; line-height:24px; }
.children { --color:#45bd8f; left:0; top:0; width:325px; height:305.821px; }
.concerts { --color:#ffa300; --edge:url('assets/card-edge-yellow.svg'); left:48.07px; top:315.71px; width:278.557px; height:265.628px; }
.schools { --color:#f05733; --edge:url('assets/card-edge-orange.svg'); left:347px; top:207.78px; width:208.388px; height:196.091px; }
.about-notes { position:absolute; left:349.73px; top:26.04px; animation:float 7s ease-in-out infinite; }
.about-note { position:absolute; left:349.73px; top:435.56px; animation:float 6s -2s ease-in-out infinite; }
.eyebrow { font-family:Daniel Black,cursive; font-size:22px; line-height:1.5; color:#ffa300; margin:0; }
.about-copy h2, .why-heading h2 { font-size:clamp(32px,2.5vw,48px); line-height:1.18; letter-spacing:-1px; text-transform:uppercase; margin:0 0 24px; }
.about-copy h2 span { color:#ffa300; }
.about-copy>p:not(.eyebrow), .why-heading>p, .learning-copy p, .reflection p { font-size:18px; line-height:28px; margin:0; }
.about-copy>p+p:not(.eyebrow) { margin-top:24px; }
.why { padding-block:0 100px; }
.why-heading { display:grid; grid-template-columns:40% 1fr; gap:21px; align-items:start; margin-bottom:24px; }
.why-heading h2 { margin-bottom:0; }
.learning-row { display:grid; grid-template-columns:40% 1fr; gap:16px; align-items:center; padding:28px 32px 48px; min-height:168px; color:#fff; --edge:url('assets/edge-wide-0.svg'); filter:drop-shadow(0 -9px 7px rgb(16 57 89 / 15%)); }
.learning-row + .learning-row { margin-top:-20px; }
.learning-row:first-child { filter:none; }
.learning-row h3, .reflection h3 { margin:0; text-transform:uppercase; font-size:clamp(24px,1.67vw,32px); line-height:1.25; letter-spacing:-.6px; }
.learning-copy { position:relative; padding-left:10px; }
.row-divider { position:absolute; left:0; top:50%; width:1px; height:76px; transform:translateY(-50%); }
.row-divider img { transform:rotate(90deg); transform-origin:top left; }
.pleasure .row-divider { height:112px; }
.pleasure { --color:#428dc5; }
.listening { --color:#45bd8f; --edge:url('assets/edge-wide-1.svg'); }
.creativity { --color:#d864a3; --edge:url('assets/edge-wide-2.svg'); }
.movement { --color:#f05733; --edge:url('assets/edge-wide-3.svg'); }
.together { --color:#ffa300; --edge:url('assets/edge-wide-4.svg'); padding-bottom:62px; }
.reflection { --color:#103959; --edge:url('assets/edge-reflection.svg'); width:68%; margin:-32px auto 0; padding:28px 56px; color:#fff; filter:drop-shadow(0 -9px 7px rgb(16 57 89 / 17%)); }
.reflection h3 { text-align:center; margin-bottom:16px; }
.reflection-divider { display:block; height:1px; margin:0 0 14px; }
.reflection-divider img { transform:scaleX(var(--divider-scale,1)); transform-origin:left; }
.reveal { transition:opacity .7s ease,translate .8s cubic-bezier(.2,.8,.2,1); }
.reveal.is-pending { opacity:0; translate:0 24px; }
@media(max-width:1100px){
  .content-width { width:calc(100% - 64px); }
  .donors { gap:24px; }
  .about { grid-template-columns:47% 45%; gap:8%; padding-block:85px 95px; }
  .reflection { width:76%; padding:28px 36px; }
  .learning-row { grid-template-columns:38% 1fr; padding-inline:26px; }
}
@media(max-width:700px){
  .content-width { width:calc(100% - 48px); }
  .donors { display:grid; grid-template-columns:1fr auto; padding:20px; gap:20px; margin-top:48px; }
  .donor-logos { grid-column:1/-1; grid-row:2; gap:12px; }
  .donor-logos img { height:52px; max-width:22%; }
  .donate-button { min-width:100px; height:42px; }
  .about { display:flex; flex-direction:column; gap:42px; padding-block:70px 80px; }
  .impact { max-width:480px; }
  .about-copy h2, .why-heading h2 { font-size:34px; }
  .eyebrow { font-size:20px; }
  .why { padding-bottom:52px; }
  .why-heading { grid-template-columns:1fr; gap:20px; margin-bottom:30px; }
  .learning-row { grid-template-columns:1fr; gap:15px; padding:27px 24px 44px; }
  .learning-row h3, .reflection h3 { font-size:25px; }
  .learning-copy { padding:14px 0 0; }
  .row-divider, .pleasure .row-divider { top:0; left:0; height:1px; width:76px; transform:none; }
  .row-divider img { transform:none; }
  .pleasure .row-divider { width:112px; }
  .together { padding-bottom:58px; }
  .reflection { width:calc(100% - 20px); padding:26px 24px; margin-top:-27px; }
  .reflection h3 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce){ .reveal { transition:none; }.reveal.is-pending { opacity:1; translate:none; }.about-note,.about-notes { animation:none; } }

/* The scaled illustration must not reserve its unscaled height in the layout. */
.impact-art { position:absolute; inset:0 auto auto 0; }
@media(max-width:700px){
  .pleasure { --edge:url('assets/card-edge-yellow.svg'); }
  .listening { --edge:url('assets/card-edge-green.svg'); }
  .creativity { --edge:url('assets/card-edge-pink.svg'); }
  .movement { --edge:url('assets/card-edge-orange.svg'); }
  .together { --edge:url('assets/card-edge-yellow.svg'); }
  .reflection { --edge:url('assets/card-edge-green.svg'); }
}

/* Remaining homepage: Afacad for all UI and Daniel Black for handwritten accents. */
.leerorkest-page { padding-bottom:0; }
.split-section { display:grid; grid-template-columns:49% 39%; gap:12%; align-items:center; }
.team { padding-block:60px 110px; }
.illustration-scale { position:relative; width:100%; }
.scaled-scene { position:absolute; top:0; left:0; transform:scale(var(--art-scale,1)); transform-origin:top left; }
.team-art { aspect-ratio:610 / 750; }
.team-scene { width:610px; height:750px; }
.team-composition { position:absolute; left:30px; top:100px; width:553px; height:641px; }
.team-composition>img { position:absolute; }
.team-red { left:180.8px; top:-66.9px; transform:rotate(15.79deg); }
.team-man { left:162.9px; top:61.7px; transform:rotate(15.79deg); }
.team-blue { position:absolute; left:.57px; top:208.36px; width:259.415px; height:346.287px; transform:rotate(-9.52deg); }
.team-woman { position:absolute; left:-.08px; top:99.51px; }
.team-yellow { left:181.834px; top:257px; }
.team-overlay { left:182px; top:257px; }
.team-eye { transform:rotate(-152.54deg); }
.eye-one { left:245.62px; top:532.33px; }
.eye-two { left:227.67px; top:520.59px; }
.eye-three { left:469.34px; top:457.05px; }
.eye-four { left:453.19px; top:450.78px; }
.section-copy h2, .testimonials h2, .request-card h2 { font-size:clamp(32px,2.5vw,48px); line-height:1.18; letter-spacing:-1px; text-transform:uppercase; margin:0 0 24px; }
.section-copy>p:not(.eyebrow) { font-size:18px; line-height:28px; margin:0 0 26px; }
.coral { color:var(--orange); }
.mint { color:#45bd8f; }
.section-copy .button, .request-card .button, .footer-documents .button { min-height:50px; padding:12px 26px; border-radius:8px; font-size:18px; line-height:1.2; font-weight:500; }
.outline-button { background:transparent; border:1.5px solid var(--ink); color:var(--ink); }
.outline-button:hover { color:white; }
.button-row { display:flex; gap:20px; flex-wrap:wrap; }
.testimonials { padding-block:30px 40px; }
.testimonials-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:32px; }
.testimonials h2 { margin-bottom:0; }
.testimonials .eyebrow { font-size:20px; }
.quote-rail { display:flex; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x proximity; padding:4px max(24px,calc((100% - 1130px) / 2)); scroll-padding-inline:24px; }
.quote-rail::-webkit-scrollbar { display:none; }
.quote-rail:focus-visible { outline:2px solid var(--ink); outline-offset:-2px; }
.school-quotes { margin-top:18px; padding-left:max(24px,calc((100% - 1280px) / 2)); }
.quote { flex:0 0 clamp(340px,29vw,555px); min-height:255px; display:flex; flex-direction:column; justify-content:space-between; gap:26px; margin:0; padding:32px; scroll-snap-align:start; --edge:url('assets/edge-quote.svg'); }
.quote blockquote { font-size:clamp(24px,1.67vw,32px); line-height:1.25; letter-spacing:-.4px; font-weight:500; margin:0; }
.quote figcaption { font-family:Daniel Black,cursive; font-size:20px; line-height:1.5; }
.quote-orange { --color:#f05733; }
.quote-yellow { --color:#ffa300; }
.quote-green { --color:#45bd8f; }
.quote-pink { --color:#d864a3; }
.quote-blue { --color:#428dc5; }
.donation { padding-block:110px 120px; }
.donation-art { aspect-ratio:490 / 670; }
.donation-scene { width:490px; height:670px; }
.donation-scene img { position:absolute; }
.giving-hand { left:16px; top:12px; transform:rotate(-6.29deg) scaleX(-1); }
.giving-notes { left:261px; top:150px; animation:float 7s -2s ease-in-out infinite; }
.giving-note { left:173.5px; top:272px; animation:float 6s ease-in-out infinite; }
.giving-box { left:126px; top:370px; }
.request-section { position:relative; z-index:1; width:min(1058px,66%); margin-bottom:-84px; }
.request-card { --color:#f05733; --edge:url('assets/edge-form.svg'); padding:70px 78px; color:white; }
.request-card h2 { margin-bottom:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; }
.form-grid label { min-width:0; display:flex; flex-direction:column; gap:5px; font-size:16px; }
.form-grid input, .form-grid textarea { width:100%; font:400 18px/1.4 Afacad,Arial,sans-serif; border:0; border-bottom:1px solid #534f4b; border-radius:4px; background:#fff; color:var(--ink); padding:12px; min-height:48px; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color:#657582; }
.form-grid input:focus-visible, .form-grid textarea:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.message-field { grid-column:1/-1; }
.form-grid textarea { resize:vertical; min-height:154px; }
.form-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:28px; }
.terms { display:flex; align-items:center; gap:10px; color:var(--ink); font-size:16px; line-height:1.4; cursor:pointer; }
.terms input { accent-color:var(--ink); width:20px; height:20px; flex:none; }
.terms a { text-decoration:underline; text-underline-offset:3px; }
.send-button { border:0; cursor:pointer; gap:12px; flex-shrink:0; }
.send-button>span { display:flex; align-items:center; justify-content:center; width:24px; height:24px; }
.send-button img { transform:rotate(-90deg); }
.form-feedback { font-size:18px; line-height:26px; margin:0; }
.form-feedback:not(:empty) { margin-top:20px; padding:16px; background:var(--paper); color:var(--ink); border-radius:8px; }
@font-face { font-family:Poppins; font-style:normal; font-weight:400; font-display:swap; src:url('assets/poppins-400.ttf') format('truetype'); }
@font-face { font-family:Antonio; font-style:normal; font-weight:700; font-display:swap; src:url('assets/antonio-700.ttf') format('truetype'); }
.footer { background:var(--ink); color:var(--paper); padding:150px 24px 84px; }
.footer-inner { width:min(796.146px,100%); margin:auto; display:flex; flex-direction:column; align-items:center; }
.footer-brand { display:flex; align-items:center; width:309.006px; height:163.004px; }
.footer-brand img { transform:none; transform-origin:top left; }
.footer-social { position:relative; width:210px; height:50.4px; margin:67px 0; flex:none; }
.footer-social>img { pointer-events:none; }
.footer-social>a { position:absolute; width:50.4px; height:50.4px; top:0; border-radius:5px; }
.footer-social .footer-social-linkedin { left:0; }
.footer-social .footer-social-facebook { right:0; }
.footer a:focus-visible { outline-color:var(--paper); }
.footer-columns { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; width:100%; }
.footer-contact { flex:0 0 309px; }
.footer-programs { flex:0 0 211px; }
.footer h2,.footer-navigation a { font-size:32px; line-height:53px; text-transform:uppercase; font-weight:700; margin:0; }
.footer-columns h2 { margin-bottom:12px; }
.footer address { font-family:Poppins,Afacad,sans-serif; font-style:normal; font-size:16px; line-height:24px; }
.footer address a,.footer address p { display:flex; align-items:center; gap:8px; margin:0 0 20px; }
.footer address a:last-child,.footer address p:last-child { margin-bottom:0; }
.footer address img { flex-shrink:0; }
.footer address span { overflow-wrap:anywhere; }
.footer address a:first-child span { white-space:nowrap; }
.location-icon { width:24px; height:24px; display:grid; place-items:center; flex:none; }
.footer-programs a { display:flex; gap:8px; align-items:center; font-family:Poppins,Afacad,sans-serif; font-size:16px; line-height:24px; margin:0 0 8px; text-transform:uppercase; }
.footer-programs i { width:10px; height:10px; background:var(--dot); border-radius:2px; flex:none; }
.footer-navigation a { display:block; }
/* Match the header underline, sized to the text instead of the whole column. */
.footer-link-label { position:relative; display:inline-block; }
.footer-link-label::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform 250ms cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.footer-navigation .footer-link-label::after { bottom:7px; }
@media(hover:hover) and (pointer:fine) {
 .footer a:hover .footer-link-label::after { transform:scaleX(1); }
}
.footer a:focus-visible .footer-link-label::after { transform:scaleX(1); transition:none; }
@media(prefers-reduced-motion:reduce) {
 .footer-link-label::after { transition:none; }
}
.footer-documents { display:grid; grid-template-columns:111.146px 242px 245px; align-items:center; gap:67px; width:100%; margin-top:67px; padding:32px; border-radius:7px; background:var(--paper); color:var(--ink); }
.footer-documents h2 { font-family:Antonio,Afacad,sans-serif; font-size:32px; line-height:53px; white-space:nowrap; }
.footer-documents .button { min-height:53px; gap:8px; padding:14px; font-family:Poppins,Afacad,sans-serif; font-size:16px; line-height:24px; white-space:nowrap; border-radius:8px; }
.footer-documents .button img { flex:none; }
@media(max-width:1100px){
 .split-section { grid-template-columns:47% 45%; gap:8%; }
 .team { padding-top:20px; }
 .request-section { width:calc(100% - 64px); }
 .request-card { padding:48px; }
}
@media(min-width:701px) and (max-width:860px) {
 .footer-columns { gap:20px; }
 .footer-programs { flex-basis:180px; }
 .footer h2,.footer-navigation a { font-size:28px; line-height:46px; }
 .footer-documents { grid-template-columns:100px 1fr 1fr; gap:24px; padding:24px; }
 .footer-documents .button { font-size:14px; padding-inline:10px; }
}
@media(max-width:700px){
 .split-section { display:flex; flex-direction:column; gap:36px; }
 .team { padding-block:0 75px; }
 .team-art { max-width:420px; }
 .section-copy h2,.testimonials h2,.request-card h2 { font-size:34px; }
 .section-copy .button { padding-inline:24px; }
 .testimonials { padding-top:0; }
 .testimonials-heading { align-items:start; gap:12px; }
 .testimonials-heading>div:first-child { min-width:0; }
 .testimonials .eyebrow { font-size:17px; }
 .testimonials h2 { font-size:29px; }
 .quote { flex-basis:calc(100vw - 72px); padding:26px; min-height:250px; }
 .quote blockquote { font-size:24px; }
 .quote figcaption { font-size:18px; }
 .quote-rail { gap:16px; scroll-snap-type:x mandatory; }
 .donation { padding-block:55px 70px; }
 .donation-art { max-width:350px; }
 .request-section { width:calc(100% - 32px); margin-bottom:-46px; }
 .request-card { padding:40px 24px; --edge:url('assets/edge-form-mobile.svg'); }
 .request-card h2 { font-size:30px; }
 .form-grid { grid-template-columns:1fr; gap:16px; }
 .form-bottom { flex-direction:column; align-items:stretch; gap:22px; }
 .send-button { align-self:flex-end; }
 .footer { padding:104px 24px 40px; }
 .footer-brand { width:220px; height:111.16px; display:block; }
 .footer-brand img { transform:scale(.71196); }
 .footer-social { margin:32px 0 40px; }
 .footer h2,.footer-navigation a { font-size:24px; line-height:38px; }
 .footer-columns { display:grid; grid-template-columns:1fr 1fr; gap:28px 18px; }
 .footer-contact { grid-column:1/-1; min-width:0; }
 .footer address a:first-child span { white-space:normal; }
 .footer-documents { grid-template-columns:1fr; align-items:stretch; padding:24px; gap:12px; margin-top:32px; }
 .footer-documents h2 { text-align:center; font-size:28px; margin-bottom:4px; }
 .footer-programs a { font-size:16px; }
 .footer-navigation a { font-size:23px; }
}
@media(prefers-reduced-motion:reduce){ .giving-notes,.giving-note { animation:none; } }
input, textarea, select { font-family:Afacad,Arial,sans-serif; }
@media(max-width:360px){
 .footer-columns { grid-template-columns:1fr; }
 .footer-contact { grid-column:auto; }
 .footer-navigation { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
 .footer-navigation a { margin:0; font-size:21px; }
}

/* Keep each portrait and its note together while the three layers dance. */
.team-motion-layer,.team-float { position:absolute; inset:0; pointer-events:none; }
.team-float>img { position:absolute; }
.team-motion-red .team-float { transform-origin:325px 195px; }
.team-motion-blue .team-float { transform-origin:130px 390px; }
.team-motion-yellow .team-float { transform-origin:368px 450px; }
@media (prefers-reduced-motion:no-preference) {
 .team-art.motion-ready .team-float { animation:team-sway-red 5.8s ease-in-out infinite; animation-play-state:paused; }
 .team-art.motion-ready .team-motion-blue .team-float { animation-name:team-sway-blue; animation-duration:6.6s; animation-delay:-1.8s; }
 .team-art.motion-ready .team-motion-yellow .team-float { animation-name:team-sway-yellow; animation-duration:4.8s; animation-delay:-.8s; }
 .team-art.motion-ready .team-eye { animation:team-blink 6.4s linear infinite; animation-play-state:paused; }
 .team-art.motion-ready .eye-three,.team-art.motion-ready .eye-four { animation-delay:-2.7s; }
 .team-art.is-motion-active .team-float,.team-art.is-motion-active .team-eye { animation-play-state:running; }
}
@keyframes team-sway-red {
 0%,100% { transform:translate3d(0,6px,0) rotate(-1.6deg); }
 50% { transform:translate3d(5px,-13px,0) rotate(1.8deg); }
}
@keyframes team-sway-blue {
 0%,100% { transform:translate3d(-4px,9px,0) rotate(2deg); }
 50% { transform:translate3d(5px,-11px,0) rotate(-2.2deg); }
}
@keyframes team-sway-yellow {
 0%,100% { transform:translate3d(0,5px,0) rotate(-1deg); }
 50% { transform:translate3d(-4px,-10px,0) rotate(1.5deg); }
}
@keyframes team-blink {
 0%,40%,44%,47%,51%,100% { scale:1 1; }
 42%,49% { scale:1 .08; }
}
@media (prefers-reduced-motion:reduce) {
 .team-motion-layer,.team-eye { translate:none!important; }
 .team-float { transform:none!important; }
}

/* Continuous testimonial rows; the regular scroll rails remain the fallback. */
.quote-rail.is-looping { display:block; overflow:clip; padding-inline:0; scroll-snap-type:none; }
.quote-rail.is-draggable { cursor:grab; }
.quote-rail.is-looping { touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; }
.quote-rail.is-dragging { cursor:grabbing; user-select:none; -webkit-user-select:none; scroll-snap-type:none; }
.quote-track { display:flex; gap:inherit; width:max-content; }
.quote-track>.quote { flex:0 0 auto; width:clamp(340px,29vw,555px); }
@media(max-width:700px) {
 .quote-track>.quote { width:calc(100vw - 72px); }
 .testimonials-heading { flex-wrap:wrap; }
}

/* Each pupil closes in place; the original SVG silhouette stays unchanged. */
.hero-eye { transform-box:fill-box; transform-origin:center; }
.hero .note-large { --hero-blink-duration:9.2s; --hero-blink-delay:-.8s; }
.hero .note-right { --hero-blink-duration:10.4s; --hero-blink-delay:-2.6s; }
.hero .note-double { --hero-blink-duration:11.1s; --hero-blink-delay:-1.4s; }
.hero .note-tiny { --hero-blink-duration:9.8s; --hero-blink-delay:-3.1s; }
.hero .note-long { --hero-blink-duration:10.8s; --hero-blink-delay:-4.2s; }
.hero .note-small { --hero-blink-duration:11.9s; --hero-blink-delay:-1.9s; }
@media(prefers-reduced-motion:no-preference) {
 .hero.hero-eyes-ready .hero-eye { animation:hero-blink var(--hero-blink-duration,6s) var(--hero-blink-delay,0s) linear infinite; animation-play-state:paused; }
 .hero.hero-eyes-ready .hero-eye-secondary { animation-delay:calc(var(--hero-blink-delay,0s) - 2.4s); }
 .hero.hero-eyes-active .hero-eye { animation-play-state:running; }
}
@keyframes hero-blink {
 0%,37%,39%,100% { transform:scaleY(1); }
 38% { transform:scaleY(.08); }
}

/* Keep the original close, overlapping composition during the scroll entrance. */
.learning-stack.has-scroll-entry { position:relative; }
.learning-stack.has-scroll-entry .learning-row { translate:none; transition:none; transform-origin:center; }
@media(prefers-reduced-motion:reduce) {
 .learning-stack.has-scroll-entry .learning-row { transform:none!important; opacity:1!important; }
}
