/* dw-NGO — colours and fonts come from theme.json (set in Appearance > Theme Edit) */
:root{
  --gold:var(--wp--preset--color--primary);--sec:var(--wp--preset--color--secondary);--leaf:var(--wp--preset--color--accent);
  --ink:var(--wp--preset--color--ink);--txt:var(--wp--preset--color--soft);--paper:var(--wp--preset--color--paper);
  --dark:var(--wp--preset--color--dark);--blush:var(--wp--preset--color--blush);--mist:var(--wp--preset--color--mist);--stone:var(--wp--preset--color--stone);
  --f1:var(--wp--preset--font-family--heading);--f2:var(--wp--preset--font-family--body);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.dw-sec,.dw-sec *{box-sizing:border-box}
.dw-sec :where(h1,h2,h3,h4,p,ul){margin:0}
.dw-sec a{text-decoration:none}
.dw-sec :focus-visible,.dw-nav :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1160px;margin:auto;padding:0 24px}
.btn{display:inline-block;padding:14px 26px;border-radius:99px;font-weight:600;transition:transform .2s;text-decoration:none}
.btn:hover{transform:translateY(-3px)}
.b1{background:var(--gold);color:#fff}
.b2{border:2px solid var(--paper);color:var(--paper)}
#fx{position:fixed;inset:0;pointer-events:none;z-index:40}

/* ---------- header ---------- */
/* top bar */
.dw-topbar{background:var(--tbbg,var(--dark));color:var(--tbtx,var(--paper));font-size:14px;line-height:1.4}
.dw-topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;min-height:42px;padding-top:6px;padding-bottom:6px}
.dw-tb-l,.dw-tb-r{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap}
.dw-tb-r{justify-content:flex-end;text-align:right}
.dw-topbar a{color:inherit;text-decoration:none}
.dw-topbar a:hover{text-decoration:underline}
.dw-topbar .tb-btn{background:var(--gold);color:#fff;padding:5px 16px;border-radius:99px;font-weight:700;text-decoration:none}
.dw-topbar .tb-btn:hover{text-decoration:none;filter:brightness(1.1)}
@media(max-width:700px){.dw-topbar .wrap{flex-direction:column;justify-content:center;text-align:center;font-size:13px;padding-top:8px;padding-bottom:8px}.dw-tb-l,.dw-tb-r{justify-content:center;text-align:center}}
/* menu: no box, the bar fades out at every edge into the page */
.dw-nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 24px));z-index:50;isolation:isolate;display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 24px}
.dw-nav::before{content:"";position:absolute;inset:-16px -44px;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent);mask-composite:intersect}
.admin-bar .dw-nav{top:calc(14px + var(--wp-admin--admin-bar--height,32px))}
.dw-nav a{text-decoration:none;color:var(--ink)}
.logo{font:800 28px/1 var(--f1);letter-spacing:.08em;color:var(--sec)!important;display:flex;align-items:center}
.logo img{max-height:42px;width:auto;display:block}
.dw-menu,.dw-menu ul{list-style:none;margin:0;padding:0}
.dw-menu{display:flex;gap:6px}
.dw-menu li{position:relative}
.dw-menu a{display:block;padding:10px 14px;font-weight:600;font-size:15px;border-radius:99px}
.dw-menu a:hover{background:color-mix(in srgb,var(--gold) 15%,transparent)}
.dw-menu .menu-item-has-children>a::after{content:" ▾"}
.dw-nav .dw-menu .sub-menu{position:absolute;top:100%;left:0;min-width:240px;margin:0;list-style:none;background:var(--paper);border-radius:18px;padding:8px;box-shadow:0 16px 40px rgba(54,51,56,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.dw-nav .dw-menu li:hover>.sub-menu,.dw-nav .dw-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.dw-nav .dw-menu .sub-menu li{margin:0}
.dw-nav .dw-menu .sub-menu a{display:block;padding:9px 14px;border-radius:12px;font-size:15px;font-weight:400;line-height:inherit;background:none}
.dw-nav .dw-menu .sub-menu a:hover{background:var(--blush)}
.dw-nav .cta{background:var(--gold);color:#fff;padding:11px 22px;border-radius:99px;font-weight:700;font-size:15px}
.burger{display:none;background:none;border:0;font-size:28px;color:var(--ink);cursor:pointer}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;background:var(--dark);color:var(--paper);display:flex;align-items:flex-start;overflow:hidden}
.hero svg.scene,.hero .scene-img{position:absolute;inset:0;width:100%;height:100%}
.hero .scene-img{object-fit:cover}
.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--dark) 75%,transparent),color-mix(in srgb,var(--dark) 25%,transparent))}
.hero .wrap{position:relative;z-index:2;padding-top:20vh;padding-bottom:clamp(60px,12vh,120px)}
.hero h1{font-size:calc(var(--dw-hs,1)*clamp(44px,7.4vw,98px));font-weight:800;letter-spacing:-.025em;max-width:900px;line-height:1.05;color:var(--paper)}
.hero h1 span{display:block;color:var(--leaf)}
.hero p{max-width:520px;font-size:calc(var(--dw-bs,17px) + 3px);margin:22px 0 30px;color:var(--paper)}
.g1{stop-color:var(--dark)}.g2{stop-color:var(--sec)}.g3{stop-color:color-mix(in srgb,var(--gold) 70%,#fff)}.g4{stop-color:var(--blush)}
.sunl{fill:var(--paper)}
.h1{fill:color-mix(in srgb,var(--sec) 75%,#fff)}.h2{fill:color-mix(in srgb,var(--leaf) 75%,var(--ink))}.h3{fill:color-mix(in srgb,var(--leaf) 45%,var(--ink))}
.rd{stroke:var(--blush)}.tr{fill:color-mix(in srgb,var(--leaf) 25%,var(--ink))}
.sun{animation:rise 3.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(190px)}}
.lead-in{animation:fade 1.4s .6s both}
@keyframes fade{from{opacity:0;transform:translateY(22px)}}
.dw-slider{position:relative}

/* ---------- journey ---------- */
#journey{position:relative;padding:90px 0 200px;transition:background .15s}
.stars{position:absolute;inset:0;opacity:var(--n,0);background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(1.5px 1.5px at 90px 80px,#fff,transparent),radial-gradient(2px 2px at 160px 20px,var(--blush),transparent);background-size:200px 120px}
.intro{position:relative;max-width:640px;margin:0 auto 90px;background:var(--paper);border-radius:28px;padding:34px 38px;text-align:center;box-shadow:0 20px 50px rgba(54,51,56,.15)}
.intro h2{font-size:calc(var(--dw-hs,1)*clamp(32px,4.4vw,52px));margin-bottom:12px}
.intro p{color:var(--txt)}
#trail{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#base{stroke:rgba(54,51,56,.28)}#prog{stroke:var(--gold)}
.walker circle{fill:var(--gold)}.walker .wc{fill:#fff}
.stop{position:relative;display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin-bottom:110px}
.mk{grid-column:2;grid-row:1;justify-self:center;width:30px;height:30px;border-radius:50%;background:var(--paper);border:6px solid var(--c);transition:.5s}
.card{grid-row:1;grid-column:1;justify-self:end;max-width:460px;background:var(--paper);border-radius:26px;padding:26px 28px 28px;border-top:8px solid var(--c);box-shadow:0 18px 44px rgba(54,51,56,.16);opacity:0;transform:translateY(40px) rotate(-1.5deg);transition:.8s cubic-bezier(.2,.8,.2,1)}
.stop:nth-of-type(odd) .card{grid-column:3;justify-self:start;transform:translateY(40px) rotate(1.5deg)}
.stop.on .card{opacity:1;transform:none}
.stop.on .mk{background:var(--c);box-shadow:0 0 0 10px color-mix(in srgb,var(--c) 30%,transparent)}
.card svg,.card>img{width:64px;height:64px;float:right;margin:0 0 8px 14px}
.card>img{object-fit:cover;border-radius:16px}
.card .st{font-size:calc(var(--dw-bs,17px) - 3px);font-weight:600;color:var(--c);filter:brightness(.62)}
.card h3{font-size:calc(var(--dw-hs,1)*30px);margin:4px 0 10px}
.card h3 a{color:inherit}
.card p{font-size:calc(var(--dw-bs,17px) - 1px);color:var(--txt)}
.card em{display:block;margin-top:10px;font-size:calc(var(--dw-bs,17px) - 3px);font-style:normal;font-weight:600;background:color-mix(in srgb,var(--c) 16%,var(--paper));padding:6px 12px;border-radius:10px}
/* icon colours (follow the palette) */
.fp{fill:var(--gold)}.fs{fill:var(--sec)}.fa{fill:var(--leaf)}.fi{fill:var(--ink)}.fb{fill:var(--paper)}.fl{fill:var(--blush)}
.sa{stroke:var(--leaf);fill:none}.si{stroke:var(--ink);fill:none}.sb{stroke:var(--paper);fill:none}

/* ---------- numbers ---------- */
.stats{background:var(--sec);color:var(--paper);padding:90px 0}
.stats h2{font-size:calc(var(--dw-hs,1)*clamp(32px,4.4vw,54px));max-width:640px;margin-bottom:46px;color:var(--paper)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.stat{border-left:4px solid var(--c);padding:6px 0 6px 20px}
.stat:nth-child(1){--c:var(--leaf)}.stat:nth-child(2){--c:var(--blush)}
.stat:nth-child(3){--c:color-mix(in srgb,var(--gold) 60%,#fff)}.stat:nth-child(4){--c:color-mix(in srgb,var(--sec) 35%,#fff)}
.stat b{display:block;font:800 clamp(42px,5vw,62px)/1 var(--f1);color:var(--c)}
.stat span{color:var(--blush)}

/* ---------- pillars ---------- */
.pillars{padding:100px 24px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.pillars h2{font-size:calc(var(--dw-hs,1)*clamp(32px,4.4vw,54px));margin-bottom:16px}
.pillars p{max-width:480px;margin-bottom:26px;color:var(--txt)}
.pillars .b1{background:var(--sec);color:var(--paper)}
.pl line{stroke:var(--gold);stroke-width:3;stroke-dasharray:6 8;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-28}}
.pl text{font:600 12px var(--f2);fill:var(--paper);text-anchor:middle}
.nc{fill:var(--sec)}.n1{fill:var(--gold)}.n2{fill:color-mix(in srgb,var(--leaf) 55%,var(--ink))}.n3{fill:color-mix(in srgb,var(--sec) 75%,#fff)}.n4{fill:var(--ink)}

/* ---------- videos ---------- */
.vid{background:var(--blush);padding:90px 0}
.vid h2{font-size:calc(var(--dw-hs,1)*clamp(32px,4.4vw,54px));margin-bottom:34px}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.v{position:relative;aspect-ratio:16/9;border-radius:26px;overflow:hidden;cursor:pointer;border:0;padding:0;width:100%;color:#fff;text-align:left;background:var(--sec)}
.v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.v>svg{position:absolute;inset:0;width:100%;height:100%}
.v b{position:absolute;left:24px;bottom:20px;font:800 26px/1.1 var(--f1);max-width:70%}
.v i{position:absolute;right:24px;bottom:22px;width:64px;height:64px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:#fff;font-style:normal;font-size:22px;transition:transform .2s}
.v:hover i{transform:scale(1.12)}
.va{fill:var(--gold)}.vb{fill:var(--leaf)}.vc{fill:color-mix(in srgb,var(--leaf) 60%,var(--ink))}.vd{fill:var(--paper)}.ve{fill:color-mix(in srgb,var(--sec) 75%,#fff)}.vf{stroke:color-mix(in srgb,var(--leaf) 60%,var(--ink));fill:none}

/* ---------- closing ---------- */
.join{background:var(--gold);color:#fff;text-align:center;padding:90px 24px}
.join h2{font-size:calc(var(--dw-hs,1)*clamp(34px,5vw,64px));max-width:760px;margin:0 auto 26px;color:#fff}
.join .b1{background:var(--paper);color:var(--sec)}
.join .b2{border-color:#fff;color:#fff}

/* ---------- footer ---------- */
.dw-foot{background:var(--dark);color:var(--stone);padding:70px 0 0;font-size:15px}
.dw-foot .logo{color:var(--paper)!important}
.dw-foot .fabout{margin-top:14px;color:var(--stone)}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:34px}
.dw-foot h4{font:800 17px var(--f1);color:var(--paper);margin-bottom:12px}
.dw-fmenu{list-style:none;padding:0;margin:0}
.dw-fmenu li{margin-bottom:7px}
.dw-foot a{color:var(--stone)}.dw-foot a:hover{color:var(--leaf)}
.fb{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid color-mix(in srgb,var(--sec) 80%,#fff);margin-top:40px;padding:20px 0}
.dw-foot>svg{display:block;width:100%;height:70px;margin-top:10px}
.dw-foot>svg path{fill:var(--sec)}

/* ---------- inner pages ---------- */
.dw-inner{padding:140px 24px 80px;min-height:60vh}
.dw-inner>*+*{margin-top:1.4rem}
.dw-inner .wp-block-post-template{gap:28px}
.dw-inner .wp-block-post-title a{color:var(--ink);text-decoration:none}
.dw-post>*+*{margin-top:.6rem}
.dw-post .wp-block-post-featured-image img{border-radius:18px}
.wp-block-query-pagination{gap:14px;margin-top:2rem}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .dw-nav .dw-menu,.dw-nav .cta{display:none}.burger{display:block}
  .dw-nav.open .dw-menu{display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--paper);padding:12px;border-radius:24px;max-height:70vh;overflow:auto}
  .dw-nav.open .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none}
  .stop{grid-template-columns:50px 1fr;margin-bottom:60px}
  .mk{grid-column:1}
  .card,.stop:nth-of-type(odd) .card{grid-column:2;justify-self:stretch;max-width:none}
  .pillars{grid-template-columns:1fr}.fg{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.dw-sec *,.dw-nav{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.dw-full>.wp-block-post-content>:not(.alignfull):not(.dw-sec){max-width:1160px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.dw-full>.wp-block-post-content>.wp-block-spacer:first-child{margin-top:0}

/* ---------- Contact Form 7 ---------- */
.wpcf7,.wpcf7 *{box-sizing:border-box}
.wpcf7{max-width:680px;margin:2rem auto;background:var(--paper);border-radius:28px;border-top:8px solid var(--gold);padding:36px 38px;box-shadow:0 20px 50px rgba(54,51,56,.12)}
.wpcf7-form p{margin:0 0 20px}
.wpcf7-form br{display:none}
.wpcf7-form label{display:block;font-weight:700;font-size:15px;color:var(--ink)}
.wpcf7-form-control-wrap{display:block;margin-top:8px}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form input[type=url],.wpcf7-form input[type=number],.wpcf7-form select,.wpcf7-form textarea{width:100%;font:inherit;font-weight:400;padding:14px 18px;border:2px solid var(--stone);border-radius:16px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.wpcf7-form textarea{min-height:150px;resize:vertical;border-radius:20px}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 20%,transparent)}
.wpcf7-form ::placeholder{color:var(--txt);opacity:.55}
.wpcf7-submit{background:var(--gold);color:#fff;border:0;border-radius:99px;padding:15px 36px;font:700 16px var(--f2);cursor:pointer;transition:transform .2s,box-shadow .2s}
.wpcf7-submit:hover{transform:translateY(-3px);box-shadow:0 10px 24px color-mix(in srgb,var(--gold) 40%,transparent)}
.wpcf7-spinner{margin-left:12px}
.wpcf7-not-valid-tip{color:#B3261E;font-size:14px;font-weight:400;margin-top:6px}
.wpcf7-form .wpcf7-not-valid{border-color:#B3261E}
.wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 18px;border:2px solid var(--stone);border-radius:14px;font-size:15px}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--leaf);background:color-mix(in srgb,var(--leaf) 20%,var(--paper))}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#B3261E}
.dw-row{display:block}
@media(max-width:640px){.wpcf7{padding:26px 22px}}
