:root{--ink:#000;--red:#d71920;--red-dark:#a51016;--paper:#fff;--warm:#f5f5f5;--soft:#ededed;--line:#d7d7d7;--text:#171717}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--paper);font:16px/1.55 Poppins,Arial,sans-serif}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;padding:.7rem;background:#fff}.family{min-height:58px;padding:10px 5vw;display:flex;align-items:center;gap:16px;background:#000;color:#fff}.family-logo{display:block;width:min(270px,48vw);line-height:0}.family-logo img{display:block;width:100%;height:auto}.family-link{margin-left:auto;padding:9px 13px;border:1px solid rgba(255,255,255,.62);color:#fff;font:800 12px/1 Poppins,Arial,sans-serif;letter-spacing:.02em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.family-link:hover,.family-link:focus-visible{background:#fff;color:#000}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:22px;padding:15px 5vw;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.brand{display:block;flex:0 0 430px}.brand img{display:block;width:420px;max-height:128px;object-fit:contain;object-position:left center}.menu{display:none;margin-left:auto;width:48px;height:48px;border:0;background:var(--red);color:#fff;font-size:26px}.nav{display:flex;gap:16px;align-items:center;justify-content:flex-end;flex:1}.nav a{font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.nav .button{padding:11px 16px}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;background:var(--red);color:#fff;border:0;font-weight:800;text-decoration:none}.button.alt{background:transparent;border:1px solid currentColor}.section .button.alt{color:var(--ink);border-color:var(--ink)}.section .button.alt:hover,.section .button.alt:focus-visible{background:var(--ink);color:#fff}.hero{position:relative;min-height:500px;display:grid;align-content:end;overflow:hidden;isolation:isolate;background:var(--ink);color:#fff}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.45)),var(--hero) center/cover}.wrap{width:min(1160px,90vw);margin:auto}.hero .wrap{padding:78px 0}.eyebrow{margin:0 0 15px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1,.section h2{margin:0;font:700 clamp(46px,7vw,86px)/.93 Roboto Slab,Georgia,serif;letter-spacing:-.055em}.hero h1 em,.section h2 em{font-style:normal;color:var(--red)}.hero p{max-width:670px;margin:22px 0 0;font-size:20px;line-height:1.25}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.section{padding:clamp(64px,9vw,118px) 0}.section.soft{background:var(--soft)}.section.warm{background:var(--warm)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro .copy{padding-top:8px}.lead{margin:0;font-size:19px}.kicker{margin:0 0 13px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card{min-height:270px;padding:28px;border-right:1px solid var(--line)}.card:last-child{border-right:0}.card h3{margin:0 0 12px;font:700 26px/1.1 Roboto Slab,Georgia,serif}.card p{margin:0}.card a{display:inline-block;margin-top:26px;color:var(--red);font-weight:800;text-decoration:none}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:46px}.course{padding:31px;background:#fff;border:1px solid var(--line)}.course h3{margin:0;font:700 32px/1 Roboto Slab,Georgia,serif}.course .meta{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#4c4c4c}.course p{margin:0}.hold{display:inline-block;margin-top:18px;padding:6px 9px;background:#f2eeee;color:var(--red-dark);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}.program{min-height:440px;padding:0 0 30px;background:#fff}.program img{display:block;width:100%;height:215px;object-fit:cover}.program div{padding:26px 28px 0}.program h3{margin:0 0 12px;font:700 28px/1.08 Roboto Slab,Georgia,serif}.program p{margin:0}.route-list{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:45px}.route-list article{padding:27px;background:var(--ink);color:#fff}.route-list h3{margin:0 0 10px;font:700 30px/1 Roboto Slab,Georgia,serif}.route-list p{margin:0}.faq{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:46px}.faq details{padding:18px 20px;background:#fff;border:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800}.faq p{margin:13px 0 0}.note{max-width:860px;margin:34px 0 0;padding:17px 20px;border-left:4px solid var(--red);background:#fff}.footer{padding:38px 5vw;background:var(--ink);color:#fff}.footer .private{margin:0 0 9px;color:#ffb9bf;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.footer p:last-child{max-width:700px;margin:10px 0 0;color:#d5d5d5;font-size:13px}@media(max-width:1320px){.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:8px 5vw 18px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);}.nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.menu{display:block}}@media(max-width:700px){.family{min-height:52px;padding:9px 16px;gap:10px}.family-logo{width:min(190px,52vw)}.family-link{padding:8px 9px;font-size:10px}.site-header{padding:13px 16px;flex-wrap:nowrap;align-items:center}.brand{flex:1 1 auto;min-width:0}.brand{flex:1 1 100%;max-width:100%}.brand img{width:min(390px,100%);max-height:128px}.hero{min-height:460px}.hero .wrap{padding:55px 0}.hero h1{font-size:clamp(48px,14vw,70px)}.hero p{font-size:18px}.section{padding:70px 0}.intro,.course-grid,.programs,.route-list,.faq{grid-template-columns:1fr;gap:18px}.cards{grid-template-columns:1fr}.card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.card:last-child{border-bottom:0}.program{min-height:0}.program img{height:235px}.button{width:100%}.actions{display:grid}.site-header{gap:8px}}

.course-head{display:flex;gap:16px;align-items:start;justify-content:space-between}.course-head>a{color:var(--red);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.route-embed{display:block;width:100%;height:360px;margin:20px 0;border:0;background:#eee}.footer{padding:46px 5vw 22px;background:var(--ink);color:#fff}.footer-grid{display:grid;grid-template-columns:1.25fr 2fr .75fr;gap:36px;align-items:start}.footer strong{font:700 30px/1 Roboto Slab,Georgia,serif}.footer p{margin:12px 0 0;color:#d5d5d5;font-size:13px}.footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.footer nav a,.footer-link{color:#fff;font-size:13px;font-weight:700;text-decoration:none}.footer-cta{display:block;padding:12px 16px;background:var(--red);color:#fff;font-size:13px;font-weight:800;text-align:center;text-decoration:none}.footer-link{display:block;margin-top:13px;text-align:center}.footer-credit{margin-top:36px!important;padding-top:18px;border-top:1px solid #444;color:#aaa!important;font-size:11px!important}(max-width:700px){.route-embed{height:300px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer nav{display:grid}.footer-cta{width:100%}}

.footer{padding:0;background:#000}.footer-register{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 5vw;background:var(--red);color:#fff}.footer-register strong{display:block;font:700 28px/1 Roboto Slab,Georgia,serif}.footer-register span{display:block;margin-top:5px;font-size:12px;font-weight:700}.footer-register>a{padding:12px 18px;border:1px solid #fff;color:#fff;font-size:13px;font-weight:800;text-decoration:none}.footer-nav{display:flex;justify-content:center;gap:32px;padding:18px 5vw;background:#fff}.footer-nav a{color:#111;font-size:13px;font-weight:800;text-decoration:none}.footer-legal{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:16px 5vw;color:#bbb;font-size:11px}(max-width:700px){.footer-register{align-items:flex-start;flex-direction:column}.footer-nav{align-items:flex-start;flex-direction:column;gap:12px}.footer-legal{justify-content:flex-start;flex-direction:column;gap:5px}}

.footer .footer-nav a{color:#111}

.course-support{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.course-support strong{color:var(--red);font-weight:800}.course-support span{grid-column:1/-1;color:#555;font-size:11px;line-height:1.35}.festival-cards{margin-top:30px}@media(max-width:700px){.course-support{grid-template-columns:1fr}.course-support span{grid-column:auto}.festival-cards{margin-top:24px}}

.home-cause-heading>span{white-space:nowrap}@media(max-width:700px){.site-header{align-items:flex-start}.brand{flex:1 1 auto;max-width:calc(100% - 56px)}.menu{flex:0 0 48px;margin-top:8px}.home-cause-heading{font-size:clamp(30px,9.4vw,38px);letter-spacing:-.065em}}

/* Mary Free Bed cause page */
.cause-intro{padding-bottom:82px}.text-link{display:inline-block;margin-top:26px;color:var(--red-dark);font-weight:800;text-underline-offset:4px}.cause-program{padding:86px 0 94px}.cause-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);column-gap:7vw;align-items:end}.cause-heading .kicker{grid-column:1/-1}.cause-heading h2{font-size:clamp(43px,5vw,70px);line-height:1.02}.cause-heading .lead{grid-column:2;grid-row:2;max-width:580px}.cause-heading .button{grid-column:2;justify-self:start;margin-top:26px}.cause-photos{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;margin-top:42px}.cause-photos figure{position:relative;min-width:0;margin:0;background:#ddd;overflow:hidden}.cause-photos img{display:block;width:100%;height:clamp(280px,31vw,430px);object-fit:cover;object-position:center center}.cause-photos figcaption{position:absolute;left:12px;bottom:12px;padding:7px 10px;background:rgba(0,0,0,.76);color:#fff;font-size:11px;font-weight:800;letter-spacing:.035em}.impact-section{background:#101010;color:#fff}.impact-heading{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}.impact-heading h2{font-size:clamp(50px,6vw,78px)}.impact-heading .lead{color:#e6e6e6}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:52px}.impact-card{min-height:265px;padding:28px;background:#fff;color:#151515}.impact-card strong{display:block;margin-bottom:18px;color:var(--red-dark);font:700 42px/1 Roboto Slab,Georgia,serif}.impact-card p{margin:0;font-size:15px;font-weight:600;line-height:1.4}.impact-card span{display:block;margin:13px 0;color:#757575;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.impact-source{margin:24px 0 0;color:#bbb;font-size:12px}.cause-close{background:#f5f5f5}.cause-close .copy .text-link{margin-top:22px}@media(max-width:900px){.cause-heading,.impact-heading{grid-template-columns:1fr;gap:20px}.cause-heading .kicker,.cause-heading .lead,.cause-heading .button{grid-column:1;grid-row:auto}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.cause-program{padding:70px 0}.cause-heading .button{justify-self:stretch}.cause-photos{grid-template-columns:1fr;gap:10px;margin-top:34px}.cause-photos img{height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain;background:#ddd}.impact-grid{grid-template-columns:1fr;margin-top:34px}.impact-card{min-height:0}.cause-intro{padding-bottom:70px}}
