
:root{
  --fh-forest:#1C4942; --fh-forest-deep:#12332E; --fh-ivory:#F2F2EF; --fh-cream:#FAF3E4;
  --fh-orange:#EF4C19; --fh-kelly:#0FA57A; --fh-mint:#CDE3D8; --fh-marigold:#F2A93B;
  --fh-butter:#FCE9AE; --fh-slate:#484545; --fh-ink:#221F1E; --fh-slate-soft:#7B7977; --fh-white:#FFFFFF;
  --text-on-dark-muted:rgba(242,242,239,.62);
  --font-display:'Rubik',sans-serif; --font-body:'Montserrat',sans-serif;
  --font-script:'Caveat',cursive; --font-serif:'Lora',serif;
  --section-y:clamp(56px,7vw,112px); --section-y-tight:clamp(40px,5vw,64px);
  --gutter:clamp(20px,5vw,64px); --container:1240px; --container-narrow:820px;
  --measure:62ch; --ease:cubic-bezier(.2,.7,.3,1); --dur:.24s;
  --panel-bg:var(--fh-ivory); --panel-fg:var(--fh-slate); --panel-strong:var(--fh-forest);
  --panel-ornament:var(--fh-orange); --sticker-color:var(--fh-forest);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-weight:400;font-size:17px;line-height:1.6;color:var(--fh-slate);background:var(--fh-ivory)}
[data-panel="ivory"]{--panel-bg:var(--fh-ivory);--panel-fg:var(--fh-slate);--panel-strong:var(--fh-forest);--panel-ornament:var(--fh-orange);--sticker-color:var(--fh-forest)}
[data-panel="cream"]{--panel-bg:var(--fh-cream);--panel-fg:var(--fh-slate);--panel-strong:var(--fh-forest);--panel-ornament:var(--fh-orange);--sticker-color:var(--fh-forest)}
[data-panel="kelly"]{--panel-bg:var(--fh-kelly);--panel-fg:var(--fh-ivory);--panel-strong:var(--fh-white);--panel-ornament:var(--fh-marigold);--sticker-color:var(--fh-forest-deep)}
[data-panel="forest"]{--panel-bg:var(--fh-forest);--panel-fg:var(--text-on-dark-muted);--panel-strong:var(--fh-ivory);--panel-ornament:var(--fh-marigold);--sticker-color:var(--fh-ivory)}
[data-panel="forest-deep"]{--panel-bg:var(--fh-forest-deep);--panel-fg:var(--text-on-dark-muted);--panel-strong:var(--fh-ivory);--panel-ornament:var(--fh-marigold);--sticker-color:var(--fh-ivory)}
[data-panel]{background:var(--panel-bg);color:var(--panel-fg)}
.fh-section{padding-block:var(--section-y);padding-inline:var(--gutter)}
.fh-section--tight{padding-block:var(--section-y-tight)}
.fh-container{max-width:var(--container);margin-inline:auto}
.fh-container--narrow{max-width:var(--container-narrow);margin-inline:auto}
.fh-display{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;color:var(--panel-strong)}
h1.fh-display{font-size:clamp(2.4rem,5.8vw,4.6rem);max-width:18ch}
h2.fh-display{font-size:clamp(1.9rem,4vw,3.1rem);max-width:20ch}
h3.fh-display{font-size:1.5rem}
.fh-eyebrow{font-family:var(--font-body);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--panel-ornament);display:block;margin-bottom:20px}
.fh-serif-turn{font-family:var(--font-serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;white-space:nowrap}
.fh-sub{font-size:1.08rem;max-width:var(--measure)}
.fh-squiggle{position:relative;display:inline-block;white-space:nowrap}
.fh-squiggle::after{content:"";position:absolute;left:0;right:0;bottom:-.22em;height:.28em;background:var(--panel-ornament);
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='36' viewBox='0 0 300 36' preserveAspectRatio='none'%3E%3Cpath d='M0 26q24-20 48 0t52 0t46 0t54 0t48 0t52 0' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M3 26q22-18 44 0' fill='none' stroke='%23000' stroke-width='8' stroke-linecap='round'/%3E%3Cpath d='M198 26q24-19 48 0' fill='none' stroke='%23000' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/auto 100%;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='36' viewBox='0 0 300 36' preserveAspectRatio='none'%3E%3Cpath d='M0 26q24-20 48 0t52 0t46 0t54 0t48 0t52 0' fill='none' stroke='%23000' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M3 26q22-18 44 0' fill='none' stroke='%23000' stroke-width='8' stroke-linecap='round'/%3E%3Cpath d='M198 26q24-19 48 0' fill='none' stroke='%23000' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x left center/auto 100%}
.fh-sticker{border:2px solid var(--sticker-color);border-radius:16px;box-shadow:6px 6px 0 0 var(--sticker-color);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.fh-btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:1rem;text-decoration:none;padding:14px 28px;border-radius:999px;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.fh-btn--primary{background:var(--fh-orange);color:var(--fh-white);border:2px solid var(--fh-forest);box-shadow:6px 6px 0 0 var(--sticker-color)}
.fh-btn--kelly{background:var(--fh-kelly);color:var(--fh-white);border:2px solid var(--fh-forest);box-shadow:6px 6px 0 0 var(--sticker-color)}
.fh-btn--ivory{background:var(--fh-ivory);color:var(--fh-forest);border:2px solid var(--fh-forest-deep);box-shadow:6px 6px 0 0 var(--fh-forest-deep)}
.fh-btn--secondary{background:transparent;color:var(--panel-strong);border:2px solid var(--panel-strong);box-shadow:none}
.fh-btn--secondary:hover{background:rgba(255,255,255,.08)}
.fh-btn--primary:hover,.fh-btn--kelly:hover,.fh-btn--ivory:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 var(--sticker-color)}
.fh-btn--primary:active,.fh-btn--kelly:active,.fh-btn--ivory:active{transform:translate(6px,6px);box-shadow:0 0 0 0 var(--sticker-color)}
.fh-btn--ivory:hover{box-shadow:9px 9px 0 0 var(--fh-forest-deep)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--fh-orange);outline-offset:3px}
.fh-nav{position:sticky;top:0;z-index:50;background:var(--fh-ivory);border-bottom:2px solid var(--fh-forest);padding:14px var(--gutter)}
.fh-nav-inner{max-width:var(--container);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fh-nav-logo svg{height:34px;width:auto;display:block}
.fh-nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.fh-nav-links a{font-weight:600;font-size:.92rem;color:var(--fh-forest);text-decoration:none;position:relative;padding-bottom:2px}
.fh-nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--fh-orange);transition:width var(--dur) var(--ease)}
.fh-nav-links a:hover::after{width:100%}
.fh-nav .fh-btn{padding:10px 22px;font-size:.92rem}


/* Hero */
.fh-hero h1{margin-bottom:26px}
.fh-hero .fh-sub{font-size:1.12rem}

/* Video + form */
.fh-vf{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:920px){.fh-vf{grid-template-columns:1fr}}
.fh-video{background:var(--fh-forest);border-radius:16px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative}
.fh-video-play{width:76px;height:76px;border-radius:999px;background:var(--fh-orange);border:2px solid var(--fh-ivory);display:flex;align-items:center;justify-content:center}
.fh-video-play::after{content:"";display:block;margin-left:6px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--fh-ivory)}
.fh-video-caption{margin-top:14px;font-size:.88rem;color:var(--fh-slate-soft)}
.fh-form-card{background:var(--fh-cream);padding:34px 30px}
.fh-form-card h3{margin-bottom:14px}
.fh-form-card p{font-size:.98rem;margin-bottom:20px}
.fh-field{margin-bottom:16px}
.fh-field label{display:block;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fh-forest);margin-bottom:6px}
.fh-field input{width:100%;font-family:var(--font-body);font-size:1rem;padding:12px 14px;border:2px solid var(--fh-forest);border-radius:10px;background:var(--fh-white);color:var(--fh-ink)}
.fh-field input:focus{outline:none;box-shadow:4px 4px 0 0 var(--fh-orange)}
.fh-form-note{font-size:.85rem;color:var(--fh-slate-soft);margin-top:14px}

/* Map */
.fh-map-head{margin-bottom:18px}
.fh-map-intro{max-width:var(--measure);margin-bottom:36px}
.fh-map-placeholder{background:var(--fh-mint);border-radius:16px;min-height:380px;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--fh-forest);border:2px solid var(--fh-forest)}
.fh-map-caption{margin-top:16px;font-size:.88rem;color:var(--fh-slate-soft)}

/* Quiz */
.fh-quiz{text-align:center}
.fh-quiz h2,.fh-quiz .fh-sub{margin-inline:auto}
.fh-quiz h2{margin-bottom:22px}
.fh-quiz .fh-sub{margin-bottom:32px;color:var(--fh-ivory)}
.fh-quiz-callout{background:var(--fh-ivory);color:var(--fh-slate);max-width:680px;margin:0 auto 36px;padding:26px 30px;text-align:left;font-size:1rem}
.fh-quiz-callout strong{color:var(--fh-forest)}

/* What you get */
.fh-get{display:grid;grid-template-columns:1fr;gap:0;max-width:var(--container-narrow);margin-inline:auto}
.fh-get-item{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid #DEDDD6}
.fh-get-item:last-child{border-bottom:none}
.fh-get-num{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1;color:var(--fh-kelly)}
.fh-get-item p{font-size:1.05rem;color:var(--fh-slate)}
.fh-get-item p strong{color:var(--fh-forest)}

/* Cards */
.fh-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.fh-cards{grid-template-columns:1fr}}
.fh-card{background:var(--fh-ivory);color:var(--fh-slate);padding:30px 28px;display:flex;flex-direction:column;gap:14px}
.fh-card-tag{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fh-orange)}
.fh-card h3{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:.95;font-size:1.35rem;color:var(--fh-forest)}
.fh-card p{flex:1;font-size:.98rem}
.fh-card a{font-weight:700;color:var(--fh-forest);text-decoration:none}
.fh-card a:hover{color:var(--fh-orange)}
.fh-card--onwhite{background:var(--fh-white)}

/* Testimonials */
.fh-quote-cards .fh-card{background:var(--fh-cream)}
.fh-quote{font-size:.98rem;flex:1}
.fh-quote-name{font-weight:700;color:var(--fh-forest)}
.fh-quote-meta{font-size:.85rem;color:var(--fh-slate-soft)}
.fh-quote-person{display:flex;align-items:center;gap:14px;margin-top:6px}
.fh-quote-avatar{width:56px;height:56px;border-radius:999px;flex-shrink:0}

/* Mission */
.fh-mission h2{margin-bottom:24px}
.fh-mission p{max-width:var(--measure);margin-bottom:18px}

/* Closing */
.fh-close h2{margin-bottom:22px}
.fh-close p{max-width:var(--measure);margin-bottom:30px}
.fh-close-price{font-weight:700;color:var(--fh-marigold);font-size:.95rem;letter-spacing:.02em;margin-bottom:18px}
.fh-close-ctas{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:26px}
.fh-close-quiet{font-size:.95rem;color:var(--text-on-dark-muted)}
.fh-close-quiet a{color:var(--fh-ivory);font-weight:600;text-decoration:none}
.fh-close-quiet a:hover{color:var(--fh-marigold)}

/* Footer */
.fh-footer{padding:56px var(--gutter) 40px}
.fh-footer-inner{max-width:var(--container);margin-inline:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
@media(max-width:820px){.fh-footer-inner{grid-template-columns:1fr}}
.fh-footer svg{height:30px;width:auto;display:block;margin-bottom:18px}
.fh-footer-tag{font-size:.95rem;max-width:40ch}
.fh-footer h4{font-family:var(--font-body);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fh-ivory);margin-bottom:14px}
.fh-footer ul{list-style:none}
.fh-footer li{margin-bottom:10px}
.fh-footer a{color:var(--text-on-dark-muted);text-decoration:none;font-size:.95rem}
.fh-footer a:hover{color:var(--fh-ivory)}
.fh-footer-legal{max-width:var(--container);margin:44px auto 0;padding-top:24px;border-top:1px solid rgba(242,242,239,.18);font-size:.82rem;color:var(--text-on-dark-muted);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}
.fh-footer-legal a{color:var(--text-on-dark-muted);text-decoration:none}
.fh-footer-legal a:hover{color:var(--fh-ivory)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Stats (from homepage) */
.fh-stats-intro{margin-bottom:44px}
.fh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:820px){.fh-stats{grid-template-columns:1fr}}
.fh-stat-figure{font-family:var(--font-display);font-weight:900;line-height:.85;letter-spacing:-.015em;font-size:clamp(3rem,6.4vw,5rem);color:var(--panel-strong)}
.fh-stat-line{margin-top:14px;max-width:30ch;font-size:.98rem}
.fh-stat-source{margin-top:44px;font-size:.85rem;color:var(--text-on-dark-muted)}
/* Two-column card row */
.fh-cards--two{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.fh-cards--two{grid-template-columns:1fr}}
/* People grid */
.fh-people{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1000px){.fh-people{grid-template-columns:repeat(2,1fr)}}
.fh-person{background:var(--fh-white);border:2px solid var(--fh-forest);border-radius:10px;padding:18px}
.fh-person-name{font-weight:700;color:var(--fh-forest)}
.fh-person-role{font-size:.85rem;color:var(--fh-slate-soft)}
.fh-person-photo{background:var(--fh-mint);border-radius:6px;aspect-ratio:1/1;margin-bottom:12px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--fh-forest);overflow:hidden}
.fh-person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fh-people--three{grid-template-columns:repeat(3,1fr);max-width:900px}
@media(max-width:1000px){.fh-people--three{grid-template-columns:repeat(2,1fr)}}
/* Partner name row */
.fh-partner-row{display:flex;flex-wrap:wrap;gap:14px}
.fh-partner-pill{border:2px solid var(--fh-forest);border-radius:999px;padding:10px 22px;font-weight:700;color:var(--fh-forest);background:var(--fh-white)}
/* Checkbox */
.fh-check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--fh-slate);margin:16px 0}
.fh-check input{width:18px;height:18px;margin-top:3px;accent-color:var(--fh-kelly)}
/* Generic section heading spacing */
.fh-head-gap{margin-bottom:40px}
.fh-head-gap-sm{margin-bottom:16px}
/* Pledge list */
.fh-pledge{max-width:var(--container-narrow);margin-inline:auto}
.fh-pledge-item{padding:26px 0;border-bottom:1px solid #E8DFC9}
.fh-pledge-item:last-child{border-bottom:none}
.fh-pledge-item h3{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:1.35rem;color:var(--fh-forest);margin-bottom:8px}
/* Form grid */
.fh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media(max-width:700px){.fh-form-grid{grid-template-columns:1fr}}
/* Event card */
.fh-event-when{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fh-orange)}
/* Numbered card label */
.fh-card-num{font-family:var(--font-display);font-weight:900;font-size:.95rem;letter-spacing:.06em;color:var(--fh-kelly)}
/* Card photos */
.fh-card-photo{border-radius:10px;overflow:hidden;margin-bottom:6px}
.fh-card-photo img{display:block;width:100%;height:auto}
/* Hero with photo */
.fh-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.fh-hero-grid{grid-template-columns:1fr}}
.fh-hero-photo-sticker{justify-self:end;width:min(100%,400px);border:2px solid var(--sticker-color);border-radius:16px;box-shadow:6px 6px 0 0 var(--sticker-color);overflow:hidden}
.fh-hero-photo-sticker img{display:block;width:100%;height:auto}
.fh-tilt{transform:rotate(-2deg)}
@media(max-width:900px){.fh-hero-photo-sticker{justify-self:start;width:min(100%,340px)}}
/* Wide photo band */
.fh-photo-band{border:2px solid var(--sticker-color);border-radius:16px;box-shadow:6px 6px 0 0 var(--sticker-color);overflow:hidden;margin-top:clamp(36px,5vw,56px)}
.fh-photo-band img{display:block;width:100%;height:auto}
/* Side-by-side text + arch photo */
.fh-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:center}
@media(max-width:900px){.fh-split{grid-template-columns:1fr}}
.fh-arch-photo{border-radius:999px 999px 24px 24px;overflow:hidden;justify-self:end;width:min(100%,400px)}
.fh-arch-photo img{display:block;width:100%;height:auto}
.fh-arch-pop{box-shadow:10px 10px 0 0 var(--fh-orange)}
.fh-photo-panel-amb{background-image:linear-gradient(rgba(28,73,66,.9),rgba(28,73,66,.9)),url('/assets/img/img-amb-band.jpg');background-size:cover;background-position:center}
.fh-edu-shot{border:2px solid var(--fh-forest-deep);border-radius:16px;box-shadow:10px 10px 0 0 var(--fh-orange);overflow:hidden;justify-self:end;width:min(100%,560px)}
.fh-edu-shot img{display:block;width:100%;height:auto}
@media(max-width:900px){.fh-edu-shot{justify-self:start}}
/* HubSpot developer-embed forms, styled to the design system */
.hs-form-html{margin-bottom:14px}
.hs-form-html form>div,.hs-form-html fieldset,.hs-form-html .hs-form-field{margin-bottom:16px;border:0;padding:0}
.hs-form-html label{display:block;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fh-forest);margin-bottom:6px}
.hs-form-html input[type="text"],.hs-form-html input[type="email"],.hs-form-html input[type="tel"],.hs-form-html select,.hs-form-html textarea{width:100%;font-family:var(--font-body);font-size:1rem;padding:12px 14px;border:2px solid var(--fh-forest);border-radius:10px;background:var(--fh-white);color:var(--fh-ink)}
.hs-form-html input:focus,.hs-form-html select:focus,.hs-form-html textarea:focus{outline:none;box-shadow:4px 4px 0 0 var(--fh-orange)}
.hs-form-html button,.hs-form-html input[type="submit"],.hs-form-html .hs-button{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:14px 28px;border-radius:999px;cursor:pointer;background:var(--fh-kelly);color:var(--fh-white);border:2px solid var(--fh-forest);box-shadow:6px 6px 0 0 var(--sticker-color);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.hs-form-html button:hover,.hs-form-html input[type="submit"]:hover,.hs-form-html .hs-button:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 var(--sticker-color)}
.hs-form-html .hs-error-msg,.hs-form-html .hs-error-msgs{color:var(--fh-orange);font-size:.85rem;font-weight:600}
.hs-form-html .submitted-message{font-weight:600;color:var(--fh-forest)}
/* Marigold button (nav Donate) */
.fh-btn--marigold{background:var(--fh-marigold);color:var(--fh-forest);border:2px solid var(--fh-forest);box-shadow:6px 6px 0 0 var(--sticker-color)}
.fh-btn--marigold:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 var(--sticker-color)}
.fh-btn--marigold:active{transform:translate(6px,6px);box-shadow:0 0 0 0 var(--sticker-color)}
/* Vision map drawing (about page) */
.fh-vision-map{justify-self:end;width:min(100%,500px);display:flex;flex-direction:column;gap:6px}
.fh-vision-map img{display:block;width:100%;height:auto}
.fh-vision-map-note{font-family:var(--font-script);font-weight:500;font-size:1.5rem;color:var(--fh-orange);align-self:flex-end;transform:rotate(-2deg);margin-right:24px}
@media(max-width:900px){.fh-vision-map{justify-self:start}}
/* Education-page mock card (ambassador flagship) */
.fh-edu-mock-col{display:flex;flex-direction:column;align-items:flex-end;gap:8px;justify-self:end;width:100%;max-width:540px}
.fh-edu-mock-aside{font-family:var(--font-script);font-weight:500;font-size:1.55rem;color:var(--fh-butter);margin-right:24px;transform:rotate(-2deg)}
.fh-edu-mock{width:100%;background:var(--fh-ivory);border:2px solid var(--fh-forest-deep);border-radius:16px;box-shadow:10px 10px 0 0 var(--fh-orange);overflow:hidden;color:var(--fh-slate)}
.fh-edu-mock-head{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--fh-mint);border-bottom:2px solid var(--fh-forest)}
.fh-edu-avatar{flex:none;width:52px;height:52px;border-radius:999px;background:var(--fh-forest);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:19px;color:var(--fh-ivory)}
.fh-edu-id{display:flex;flex-direction:column;gap:2px;min-width:0}
.fh-edu-name{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:17px;letter-spacing:.01em;color:var(--fh-forest);line-height:1}
.fh-edu-role{font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--fh-slate)}
.fh-edu-badge{margin-left:auto;flex:none;background:var(--fh-white);border:2px solid var(--fh-forest);border-radius:999px;padding:6px 14px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fh-forest);white-space:nowrap}
.fh-edu-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:18px}
.fh-edu-headline{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(24px,2.4vw,30px);line-height:.92;color:var(--fh-forest)}
.fh-edu-headline em{font-family:var(--font-serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0}
.fh-edu-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--fh-slate);max-width:44ch}
.fh-edu-progress-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-slate-soft);margin-bottom:7px}
.fh-edu-progress-track{height:14px;border:2px solid var(--fh-forest);border-radius:999px;background:var(--fh-white);overflow:hidden}
.fh-edu-progress-track span{display:block;height:100%;background:var(--fh-orange);border-radius:999px}
.fh-edu-rows{border:2px solid var(--fh-forest);border-radius:10px;overflow:hidden;background:var(--fh-white)}
.fh-edu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #DEDDD6}
.fh-edu-row:last-child{border-bottom:0}
.fh-edu-row-label{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fh-slate-soft)}
.fh-edu-row-val{font-size:13.5px;font-weight:600;color:var(--fh-forest);text-align:right}
.fh-edu-row-val--pending{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fh-slate-soft)}
@media(max-width:900px){.fh-edu-mock-col{justify-self:start}}
@media(max-width:900px){.fh-arch-photo{justify-self:start;width:min(100%,340px)}}
/* Accordion */
.fh-acc{border-top:1px solid #DEDDD6}
.fh-acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;color:var(--fh-forest)}
.fh-acc summary::-webkit-details-marker{display:none}
.fh-acc summary::after{content:"+";font-family:var(--font-display);font-weight:900;font-size:1.3rem;color:var(--fh-orange)}
.fh-acc[open] summary::after{content:"\2212"}
.fh-acc-body{padding:0 0 20px;font-size:.98rem}
.fh-acc-body ul{margin:10px 0 0 18px}
.fh-acc-body li{margin-bottom:8px}

/* Homepage: doors + arch hero + mission */
.fh-hero-photo{border-radius:999px 999px 24px 24px;overflow:hidden;justify-self:end;width:min(100%,420px);box-shadow:8px 8px 0 0 var(--fh-orange)}
.fh-hero-photo img{display:block;width:100%;height:auto}
@media(max-width:900px){.fh-hero-photo{justify-self:start;width:min(100%,360px)}}
.fh-doors-intro{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--fh-forest);margin-bottom:34px}
.fh-programs-head{margin-bottom:14px}
.fh-programs-sub{margin-bottom:clamp(40px,4.5vw,64px);max-width:var(--measure)}
.fh-doors{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:860px){.fh-doors{grid-template-columns:1fr}}
.fh-door{background:var(--fh-ivory);padding:38px 34px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.fh-door-label{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--fh-forest)}
.fh-door p{max-width:52ch}
.fh-door .fh-btn{margin-top:8px}
.fh-door-quiet{font-size:.9rem;color:var(--fh-slate-soft)}
.fh-door-quiet a{color:var(--fh-kelly);font-weight:600;text-decoration:none}
.fh-door-quiet a:hover{text-decoration:underline}
.fh-door-aside{position:relative}
.fh-door-aside .fh-aside{position:absolute;top:-44px;right:8px;transform:rotate(-4deg)}
@media(max-width:860px){.fh-door-aside .fh-aside{display:none}}
.fh-aside{font-family:var(--font-script);font-weight:500;font-size:1.5rem;line-height:1.1;color:var(--panel-ornament);display:inline-flex;align-items:center;gap:8px}
.fh-mission-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center;max-width:var(--container);margin-inline:auto}
@media(max-width:900px){.fh-mission-grid{grid-template-columns:1fr}}
.fh-mission-photo{border:2px solid var(--fh-forest);border-radius:16px;box-shadow:6px 6px 0 0 var(--fh-forest);overflow:hidden}
.fh-mission-photo img{display:block;width:100%;height:auto}
.fh-mission h2{margin-bottom:26px}
.fh-mission p{max-width:var(--measure);margin-bottom:18px}
.fh-mission .fh-partners{font-size:.9rem;color:var(--fh-slate-soft);font-weight:600;letter-spacing:.02em}
.fh-close-quiet{font-size:.95rem;color:var(--text-on-dark-muted)}
.fh-close-quiet a{color:var(--fh-ivory);font-weight:600;text-decoration:none}
.fh-close-quiet a:hover{color:var(--fh-marigold)}

/* Learn / Teach quiet pills beside the logo */
a.fh-pill{background:var(--fh-white);color:var(--fh-forest);border-radius:999px;padding:6px 14px;font-weight:800;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;box-shadow:3px 3px 0 0 var(--fh-forest);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
a.fh-pill--l{transform:rotate(-2.5deg)}
a.fh-pill--r{transform:rotate(2.5deg)}
a.fh-pill:hover{background:var(--fh-orange);color:var(--fh-white)}
@media(max-width:480px){a.fh-pill{padding:5px 10px;font-size:.62rem}}
/* Mobile nav */
.fh-nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:0;background:none}
.fh-nav-burger span{display:block;width:24px;height:3px;border-radius:2px;background:var(--fh-forest)}
#fh-nav-toggle{position:absolute;opacity:0;pointer-events:none}
@media(max-width:900px){
  .fh-nav-burger{display:flex}
  .fh-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--fh-ivory);border-bottom:2px solid var(--fh-forest);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px}
  .fh-nav-links li{width:100%;padding:10px 0}
  .fh-nav-links li:not(.fh-nav-cta){display:block}
  #fh-nav-toggle:checked ~ .fh-nav-links{display:flex}
}

.fh-photo-panel{background-image:linear-gradient(rgba(28,73,66,.88),rgba(28,73,66,.88)),url('/assets/img/img-nbt-bg.jpg');background-size:cover;background-position:center 30%;background-repeat:no-repeat}
.fh-map-embed{display:block;width:100%;height:700px;border:0;background:transparent}
@media(max-width:1023px){.fh-map-embed{height:1020px}}
.fh-person-photo{border-radius:999px;background:transparent}
.fh-amb-band{display:block;width:100%;height:auto}
.fh-video-embed{aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:2px solid var(--fh-forest);background:var(--fh-forest)}
.fh-video-embed iframe{width:100%;height:100%;border:0;display:block}
