@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#253280;--accent:#3f8bd7;--muted:#596582;--line:#d9e4f3;--blue:#ecf3fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--navy);font:15px/1.8 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 5%;gap:25px}.wordmark{font-size:20px;font-weight:600;letter-spacing:-.8px}nav{display:flex;gap:28px;font-size:12px}nav a:hover{opacity:.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 21px;border:1px solid var(--navy);background:var(--navy);color:white;font-size:12px;font-weight:500;transition:background .2s}.button:hover{background:#2d4d9a}.button span{font-size:20px;line-height:1}.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:720px;position:relative;border-bottom:1px solid var(--line)}.hero>img{grid-column:2;grid-row:1;width:100%;height:720px;object-fit:contain;display:block;background:#fff}.hero-shade{display:none}.hero-copy{grid-column:1;grid-row:1;padding:110px 7% 80px 10%;align-self:center}.hero h1{font-size:clamp(60px,7vw,108px);line-height:.94;letter-spacing:-6px;font-weight:500;margin:0 0 42px}.hero-copy p{font-size:13px;margin:10px 0;color:var(--muted)}.hero-copy p.hero-sub{font-size:20px;color:var(--navy);max-width:320px;line-height:1.5}.hero-copy .button{margin-top:30px}h2{font:400 clamp(32px,3.5vw,49px)/1.22 Georgia,serif;letter-spacing:-1.4px;margin:0 0 28px}p{margin:0 0 24px}.section{max-width:1440px;margin:auto;padding:105px 8%}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:13%;align-items:start}.intro h2{max-width:480px}.intro-copy{padding-top:5px;color:var(--muted)}.intro-copy .lead{font-size:18px;line-height:1.65;color:var(--navy)}.intro-copy p:not(.lead){font-size:13px}.experience{background:var(--blue);max-width:none;display:grid;grid-template-columns:1fr 1.35fr;gap:10%;padding:95px max(8%,calc((100vw - 1210px)/2))}.experience h2{position:sticky;top:40px}.experience-copy{max-width:680px}.experience-copy p{font-size:15px;line-height:1.95}.experience-copy p:last-child{margin-bottom:0;margin-top:35px}.experience-copy .button{gap:22px}.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:10%}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:14px;padding:24px 0}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);padding-right:30px;margin-bottom:28px;line-height:1.9}.inline-link{border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px}.community{text-align:left;padding-top:30px}.community>h2{font-size:31px}.partners{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;margin-bottom:80px}.partners>span{font-size:clamp(20px,2.4vw,33px);letter-spacing:-1px}.fitrah{font-weight:600}.asra{font-weight:700}.rosebud{font:italic 31px Georgia,serif}.work{max-width:650px}.work h2{font-size:34px}.work p{font-size:15px;color:var(--muted)}.join{background:var(--navy);color:white;padding:75px 8%}.join>div{max-width:1210px;margin:auto}.join h2{font-size:clamp(34px,4vw,54px);letter-spacing:-1px;margin-bottom:32px}.join .button{background:#fff;color:var(--navy);border-color:#fff}.join .button:hover{background:#e2eefb}.registration-count{margin:24px 0 0;font-size:12px;color:#d9e9fa}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:36px 5%;max-width:1600px;margin:auto}footer>span,footer>a:last-child{font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);padding:45px;color:var(--navy);max-width:470px;width:calc(100% - 32px)}dialog::backdrop{background:#25328077}dialog h2{font-size:34px}dialog p{font-size:14px;color:var(--muted)}.close{position:absolute;right:15px;top:8px;border:0;background:none;color:var(--navy);font-size:27px}.eyebrow{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:24px}
@media(min-width:1600px){.experience{padding-left:calc((100vw - 1210px)/2);padding-right:calc((100vw - 1210px)/2)}}
@media(max-width:1000px){header{padding:25px 4%;gap:20px}nav{gap:16px;font-size:11px}.wordmark{font-size:18px}header .button{padding:12px 15px;gap:15px}.hero{min-height:590px}.hero>img{height:590px}.hero-copy{padding:70px 6% 70px 8%}.hero h1{font-size:70px;letter-spacing:-4px}.section{padding:75px 6%}.experience{padding:75px 6%;gap:7%}.intro{gap:7%}.hero-copy p.hero-sub{font-size:17px}.faq{gap:7%}}
@media(max-width:680px){header{padding:23px 22px}.wordmark{font-size:19px}nav{display:none}header .button{font-size:10px;padding:9px 11px;gap:12px}.hero{display:flex;flex-direction:column;min-height:0;margin:0 22px;border-bottom:0}.hero-copy{padding:45px 0 42px;align-self:stretch}.hero h1{font-size:clamp(68px,16vw,100px);line-height:.95;letter-spacing:-4px;margin-bottom:28px}.hero-copy p.hero-sub{font-size:18px;max-width:300px}.hero-copy p{font-size:12px}.hero-copy .button{margin-top:22px}.hero>img{width:100%;height:auto;max-height:none;object-fit:contain;order:2}.section{padding:65px 24px}.intro,.faq,.experience{display:block}.intro{border-top:1px solid var(--line);margin-top:38px}.intro h2{font-size:36px;margin-bottom:26px}.intro-copy .lead{font-size:17px}.intro-copy{padding:0}.experience{padding:60px 24px}.experience h2{position:static;font-size:36px;margin-bottom:32px}.experience-copy p{font-size:14px;line-height:1.9}.experience-copy .button{padding:14px 16px;font-size:11px;gap:14px}.faq h2{font-size:36px;margin-bottom:30px}summary{font-size:13px;padding:21px 0}details p{font-size:13px;padding-right:10px}.community{padding-top:15px}.community>h2{font-size:31px}.partners{flex-direction:column;align-items:flex-start;gap:25px;padding:30px 0;margin-bottom:50px}.partners>span{font-size:28px}.work h2{font-size:32px}.work p{font-size:14px}.join{padding:55px 24px}.join h2{font-size:37px}footer{padding:30px 24px;flex-wrap:wrap}footer .wordmark{width:100%}footer>span{margin-right:auto}dialog{padding:38px 27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.menu-toggle{display:none}
@media(max-width:680px){
header{position:relative;flex-wrap:wrap;gap:0}
header>.wordmark{margin-right:auto}
header>.button{display:none}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;width:44px;height:44px;padding:10px;background:none;border:0;color:var(--navy)}
.menu-toggle span{display:block;width:23px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
header nav{display:none;width:100%;flex-direction:column;gap:0;padding:12px 0 4px;font-size:15px}
header.menu-open nav{display:flex}
header nav a{padding:13px 0;border-top:1px solid var(--line)}
}

.partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.partner-logo{display:flex;align-items:center;justify-content:center;height:150px;padding:25px;background:#fff}
.partner-logo img{display:block;width:100%;max-width:250px;max-height:95px;object-fit:contain}
.partner-logo-dark{background:var(--navy)}
.partner-logo-dark img{max-width:180px}
.partner-logo:hover{outline:1px solid var(--line);outline-offset:5px}
@media(max-width:680px){.partners{grid-template-columns:1fr;gap:25px}.partner-logo{width:100%;height:130px}.partner-logo img{max-width:230px;max-height:85px}.partner-logo-dark img{max-width:160px}}

.partner-fitrah{background:#150f0c;color:#fff;gap:17px;padding:22px}
.partner-fitrah img{width:68px;max-width:27%;max-height:100px;filter:brightness(0) invert(1)}
.fitrah-name{font:400 39px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-1px}
@media(min-width:681px) and (max-width:1000px){.partner-fitrah{gap:10px;padding:15px}.fitrah-name{font-size:28px}.partner-fitrah img{width:45px}}
@media(max-width:680px){.partner-fitrah img{width:62px;max-width:62px}.fitrah-name{font-size:37px}}

.partner-logo-dark{background:transparent}
.partner-logo-dark img{filter:brightness(0)}
/* Place the event title directly over the hero photograph. */
.hero{display:block;isolation:isolate;min-height:720px;overflow:hidden;background:var(--navy)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;z-index:-2}
.hero-shade{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(37,50,128,.78),rgba(37,50,128,.36) 55%,rgba(37,50,128,.12))}
.hero-copy{position:relative;padding:155px 5% 95px;color:#fff;max-width:850px}
.hero h1{font-size:clamp(76px,8.5vw,130px);font-weight:500;letter-spacing:-5px;margin-bottom:30px}
.hero-copy p,.hero-copy p.hero-sub{color:#fff}
.hero-copy p.hero-sub{max-width:430px}
.hero-copy .button{background:#fff;border-color:#fff;color:var(--navy)}
.hero-copy .button:hover{background:#e2eefb}
@media(max-width:1000px) and (min-width:681px){.hero{min-height:650px}.hero-copy{padding:130px 6% 80px}.hero h1{font-size:90px}}
@media(max-width:680px){
.hero{margin:0 12px;min-height:700px}
.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-shade{background:linear-gradient(180deg,rgba(37,50,128,.7),rgba(37,50,128,.4) 45%,rgba(37,50,128,.06) 75%)}
.hero-copy{padding:65px 24px 55px;max-width:none}
.hero h1{font-size:clamp(55px,15vw,96px);letter-spacing:-3px;margin-bottom:25px}
.hero-copy p.hero-sub{font-size:18px;max-width:290px}
.hero-copy p{font-size:12px;max-width:280px}
}
/* Full-bleed landscape hero, cropped around the runner. */
.hero{width:100%;max-width:none;margin:0;min-height:0;height:clamp(540px,56.25vw,880px);border-bottom:0}
.hero>img{object-fit:cover;object-position:50% 66%}
.hero-copy{padding:clamp(95px,10vw,165px) 5% 60px;max-width:950px}
@media(max-width:680px){
.hero{width:100%;margin:0;height:620px;min-height:0}
.hero>img{object-position:50% 61%}
.hero-copy{padding:60px 24px 45px}
}
/* Crop the white margins embedded in the uploaded photo itself. */
.hero>img{width:164%;max-width:none;left:-27%;right:auto;object-fit:cover;object-position:50% 66%}
@media(max-width:680px){.hero>img{width:164%;left:-27%;object-position:50% 64%}}
.button{border-radius:999px}
/* Let the hero photograph sit behind the navigation too. */
body>header{position:absolute;top:0;left:0;right:0;width:100%;max-width:none;z-index:10;color:#fff;background:transparent}
body>header>.button{background:#fff;color:var(--navy);border-color:#fff}
body>header>.button:hover{background:#e2eefb}
.hero-copy{padding-top:clamp(170px,14vw,220px)}
.hero-shade{background:linear-gradient(180deg,rgba(37,50,128,.55),transparent 25%),linear-gradient(90deg,rgba(37,50,128,.78),rgba(37,50,128,.36) 55%,rgba(37,50,128,.12))}
@media(max-width:1000px) and (min-width:681px){.hero-copy{padding-top:170px}}
@media(max-width:680px){
body>header{position:absolute;padding:18px 22px}
.menu-toggle{color:#fff}
body>header.menu-open{background:var(--navy)}
header nav a{border-color:rgba(255,255,255,.25)}
.hero-copy{padding-top:125px}
.hero-shade{background:linear-gradient(180deg,rgba(37,50,128,.8),rgba(37,50,128,.4) 55%,rgba(37,50,128,.06) 85%)}
}
.partner-fitrah{background:transparent;color:#000}
.partner-fitrah img{filter:brightness(0)}

/* Brand blue accents. */
summary span{color:var(--accent)}
.button{box-shadow:0 3px 0 var(--accent)}
body>header nav a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px;opacity:1}
