@font-face{font-family:"Noto Sans FHH";src:url("fonts/noto-sans-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans FHH";src:url("fonts/noto-sans-bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Karma FHH";src:url("fonts/karma-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}

:root{
  --ink:#1c2929;--muted:#52605f;--petrol:#123b3a;--petrol-2:#1d514e;--cream:#f7f3ea;--paper:#fffdf8;
  --terracotta:#d56a4c;--terracotta-dark:#a44430;--ochre:#e0a83e;--line:#d9ded8;--white:#fff;
  --shadow:0 24px 70px rgba(18,59,58,.12);--radius:1.2rem;--shell:min(1180px,calc(100% - 2.5rem));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;color:var(--ink);background:var(--paper);font:400 1.05rem/1.65 "Noto Sans FHH",Arial,sans-serif;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Karma FHH",Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-.025em}
h1{font-size:clamp(3.2rem,7vw,6.9rem);max-width:10ch;margin-bottom:1.35rem}
h2{font-size:clamp(2.55rem,4.5vw,4.7rem);max-width:13ch;margin-bottom:1.2rem}
h3{font-size:1.35rem;line-height:1.2;margin-bottom:.75rem}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.75rem 1rem;background:var(--white);color:var(--petrol);transform:translateY(-150%);border:2px solid var(--petrol);border-radius:.5rem}
.skip-link:focus{transform:none}
.eyebrow{display:flex;align-items:center;gap:.65rem;color:var(--terracotta-dark);font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin-bottom:1rem}
.eyebrow::before{content:"";width:2.4rem;height:2px;background:currentColor}
.utility-bar{background:var(--petrol);color:#e7f0ec;font-size:.82rem}
.utility-bar__inner{min-height:2.65rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.utility-bar p{margin:0}.utility-bar nav{display:flex;gap:1.4rem}.utility-bar a{text-decoration:none}.utility-bar a:hover{text-decoration:underline}
.site-header{position:relative;z-index:100;background:rgba(255,253,248,.97);border-bottom:1px solid rgba(18,59,58,.12)}
.brand-row{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.brand__mark{display:grid;place-items:center;width:3.3rem;height:3.3rem;color:var(--terracotta)}
.brand__mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.brand__name{display:grid;line-height:1.05}.brand__name strong{font-size:1.12rem;letter-spacing:.01em}.brand__name span{font-size:.86rem;color:var(--muted);margin-top:.24rem}
.main-nav{display:flex;align-items:center;gap:1.65rem;font-size:.9rem;font-weight:700}.main-nav a{text-decoration:none;position:relative}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-.38rem;height:2px;background:var(--terracotta);transition:right .2s}.main-nav a:hover::after,.main-nav a:focus-visible::after{right:0}
.menu-toggle{display:none;border:0;background:transparent;color:var(--petrol);font-weight:700;align-items:center;gap:.65rem}.menu-toggle__icon,.menu-toggle__icon::before,.menu-toggle__icon::after{display:block;width:1.5rem;height:2px;background:currentColor;position:relative}.menu-toggle__icon::before,.menu-toggle__icon::after{content:"";position:absolute;left:0}.menu-toggle__icon::before{top:-.45rem}.menu-toggle__icon::after{top:.45rem}

.hero{background:var(--cream);overflow:hidden;padding:clamp(3.5rem,7vw,7.5rem) 0 4.5rem;position:relative}
.hero::before{content:"";position:absolute;top:-25rem;right:-22rem;width:50rem;height:50rem;border:1px solid rgba(213,106,76,.22);border-radius:50%;box-shadow:0 0 0 5rem rgba(213,106,76,.035),0 0 0 11rem rgba(213,106,76,.025)}
.hero__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,6vw,6.5rem);align-items:center;position:relative}
.hero__copy{padding-block:1rem}.hero__lead{font-size:clamp(1.12rem,1.6vw,1.3rem);max-width:53ch;color:#394746;margin-bottom:2rem}
.button-row{display:flex;flex-wrap:wrap;gap:.8rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:3.25rem;padding:.75rem 1.35rem;text-decoration:none;border-radius:999px;font-weight:700;font-size:.9rem;border:2px solid transparent;transition:transform .18s,background .18s,color .18s}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.button--primary{background:var(--terracotta);color:var(--white)}.button--primary:hover{background:var(--terracotta-dark)}.button--ghost{border-color:var(--petrol);color:var(--petrol)}.button--ghost:hover,.button--outline:hover{background:var(--petrol);color:var(--white)}.button--outline{border-color:var(--petrol);color:var(--petrol)}
.hero__facts{display:flex;flex-wrap:wrap;gap:1.5rem 2.2rem;margin:2.6rem 0 0}.hero__facts div{display:grid}.hero__facts dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero__facts dd{margin:0;font-weight:700;color:var(--petrol)}
.hero__media{margin:0;position:relative}.hero__media::before{content:"";position:absolute;inset:-1rem 1.4rem 1.7rem -1rem;border:2px solid var(--terracotta);border-radius:var(--radius)}.hero__media img{position:relative;aspect-ratio:1/1.06;object-fit:cover;object-position:center;border-radius:var(--radius);box-shadow:var(--shadow)}.hero__media figcaption{position:absolute;z-index:2;right:-1rem;bottom:-1.6rem;max-width:18rem;padding:1rem 1.15rem;background:var(--petrol);color:var(--white);font-size:.78rem;line-height:1.45;border-radius:.8rem}

.help-now{padding:clamp(5rem,9vw,8.5rem) 0;background:var(--paper)}
.section-heading{max-width:38rem}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.section-heading--compact{margin-bottom:2.2rem}.section-heading--compact h2{max-width:none}.section-heading--split{max-width:none;display:grid;grid-template-columns:1fr .72fr;gap:4rem;align-items:end;margin-bottom:3rem}.section-heading--split p:last-child{font-size:1.12rem;color:var(--muted);max-width:42ch}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.service-card{display:flex;min-height:19rem;flex-direction:column;padding:1.6rem;text-decoration:none;background:var(--white);border-right:1px solid var(--line);transition:background .18s,transform .18s}.service-card:last-child{border-right:0}.service-card:hover{background:#eff5f1;transform:translateY(-3px)}.service-card__number{color:var(--terracotta);font-weight:700;font-size:.77rem;letter-spacing:.08em;margin-bottom:2.7rem}.service-card h3{font-family:"Karma FHH",Georgia,serif;font-size:1.8rem;font-weight:400}.service-card p{color:var(--muted)}.service-card strong{margin-top:auto;color:var(--petrol);font-size:.85rem}.service-card--accent{background:var(--petrol);color:var(--white)}.service-card--accent p,.service-card--accent strong,.service-card--accent .service-card__number{color:#e8f1ed}.service-card--accent:hover{background:var(--petrol-2)}

.appointments{padding:clamp(5rem,9vw,8.5rem) 0;background:var(--petrol);color:var(--white)}.appointments .eyebrow{color:#f0a58f}.appointments__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}.appointments .section-heading>p:not(.eyebrow){color:#c8d8d4}.text-link{display:inline-block;color:inherit;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.18rem}.text-link:hover{color:var(--terracotta)}
.appointment-list{border-top:1px solid rgba(255,255,255,.25)}.appointment{display:grid;grid-template-columns:7.5rem 1fr;gap:1.5rem;padding:1.6rem .4rem;border-bottom:1px solid rgba(255,255,255,.25);align-items:center}.appointment__date{display:grid;text-align:center;border-right:1px solid rgba(255,255,255,.25);padding-right:1.3rem}.appointment__date strong{font:400 2.7rem/1 "Karma FHH",Georgia,serif}.appointment__date span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.appointment h3{margin:0 0 .3rem}.appointment p{margin:0;color:#c8d8d4}.appointment .tag{color:#f0a58f}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:.45rem}

.projects{padding:clamp(5rem,9vw,9rem) 0;background:var(--cream)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-card{display:flex;min-width:0;min-height:19rem;flex-direction:column;padding:1.8rem;background:var(--white);border:1px solid rgba(18,59,58,.13);border-radius:1rem;overflow-wrap:anywhere}.project-card h3{font:400 2rem/1.1 "Karma FHH",Georgia,serif}.project-card p{color:var(--muted)}.project-card a{margin-top:auto;text-decoration:none;color:var(--petrol);font-weight:700;font-size:.85rem}.project-card__index{font-size:.75rem!important;color:var(--terracotta)!important;font-weight:700}.project-card--image{grid-column:span 2;padding:0;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr}.project-card--image img{height:100%;width:100%;object-fit:cover;min-height:24rem}.project-card--image>div{min-width:0;padding:2rem;display:flex;flex-direction:column}.centered-action{text-align:center;margin-top:2.2rem}

.story{padding:clamp(5rem,9vw,9rem) 0;background:var(--paper)}.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.story__image{margin:0;position:relative}.story__image::after{content:"";position:absolute;inset:auto -1.3rem -1.3rem 22%;height:42%;background:var(--ochre);z-index:0;border-radius:0 0 1rem 0}.story__image img{position:relative;z-index:1;border-radius:1rem;aspect-ratio:4/5;object-fit:cover}.story__copy h2{max-width:11ch}.story__lead{font-size:1.28rem;line-height:1.5;color:var(--petrol)}.story__copy>p:not(.eyebrow):not(.story__lead){color:var(--muted)}

.participate{padding:clamp(5rem,9vw,8.5rem) 0;background:var(--terracotta);color:var(--white)}.participate .eyebrow{color:#fff2e5}.participate__intro h2{max-width:none}.participate__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.45);margin-top:2.8rem}.participate__grid article{padding:2rem 2rem 0 0;margin-right:2rem;border-right:1px solid rgba(255,255,255,.35);min-height:15rem;display:flex;flex-direction:column}.participate__grid article:last-child{border-right:0}.participate__grid article>span{font-size:.72rem;letter-spacing:.08em}.participate__grid h3{font:400 2rem/1.1 "Karma FHH",Georgia,serif;margin-top:1.4rem}.participate__grid p{color:#fff4eb}.participate__grid a{margin-top:auto;color:inherit;text-decoration:none;font-weight:700}

.trust{padding:clamp(5rem,9vw,8.5rem) 0;background:var(--paper)}.trust__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.document-links{border-top:1px solid var(--line)}.document-links a{display:flex;justify-content:space-between;gap:2rem;padding:1.45rem .5rem;border-bottom:1px solid var(--line);text-decoration:none}.document-links a:hover{background:var(--cream)}.document-links strong{color:var(--petrol);font-size:.82rem;white-space:nowrap}

.page-hero{padding:clamp(4rem,9vw,8rem) 0;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero__inner{max-width:900px}.page-hero h1{max-width:14ch;margin-bottom:1.25rem}.page-hero__inner>p:last-child{max-width:64ch;color:var(--muted);font-size:1.2rem}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.4rem;font-size:.82rem;color:var(--muted)}.breadcrumbs a{color:var(--petrol)}
.listing-section{padding:clamp(4rem,8vw,7rem) 0}.home-news{padding:clamp(4rem,8vw,7rem) 0;background:var(--cream)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.listing-card{min-width:0;min-height:18rem;padding:1.8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:flex;flex-direction:column;overflow:hidden;overflow-wrap:anywhere}.listing-card h2{font-size:2rem;max-width:none}.listing-card p:not(.tag){color:var(--muted)}.listing-card .text-link{margin-top:auto;color:var(--petrol);width:max-content;max-width:100%}.listing-card--post{padding:0;min-height:0}.listing-card__image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream)}.listing-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.listing-card--post:hover .listing-card__image img{transform:scale(1.025)}.listing-card__body{display:flex;flex:1;flex-direction:column;padding:1.45rem}.listing-card__body h2,.listing-card__body h3{max-width:none;margin:.35rem 0 .85rem;font-size:clamp(1.45rem,2.2vw,1.85rem)}.listing-card__body h2 a,.listing-card__body h3 a{color:var(--ink)}.listing-card__date,.article-date{display:block;color:var(--muted);font-size:.82rem}.article-date{margin:.25rem 0 .8rem}.listing-card__body>p:not(.tag){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.home-news .centered-action{margin-top:2.5rem}
.event-list,.document-list{display:grid;border-top:1px solid var(--line)}.event-row,.document-row{display:grid;grid-template-columns:9rem 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start}.event-row__date{display:grid;padding-right:1.5rem;border-right:1px solid var(--line)}.event-row__date strong{font:400 1.8rem/1.1 "Karma FHH",Georgia,serif;color:var(--petrol)}.event-row__date span,.event-meta,.document-row small{color:var(--muted)}.event-row h2,.document-row h2{font-size:2rem;max-width:none;margin-bottom:.6rem}.document-row{grid-template-columns:1fr auto;align-items:center}.document-row .button{white-space:nowrap}.document-row p{color:var(--muted)}
.legacy-archive{margin-top:4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.legacy-archive summary{cursor:pointer;padding:1.2rem 1.4rem;font-weight:700;color:var(--petrol)}.legacy-archive__body{padding:0 clamp(1rem,4vw,3rem) 3rem;border-top:1px solid var(--line)}
.article-layout{padding:clamp(3rem,7vw,6rem) 0;display:grid;grid-template-columns:minmax(0,760px) minmax(250px,1fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}.article-hero{grid-column:1/-1;margin:0}.article-hero img{width:100%;max-height:630px;object-fit:cover;border-radius:var(--radius)}.article-hero figcaption,.content-image figcaption,.content-gallery figcaption{margin-top:.5rem;color:var(--muted);font-size:.82rem}.article-content{min-width:0}.contact-box{position:sticky;top:2rem;padding:1.6rem;background:var(--petrol);color:var(--white);border-radius:var(--radius)}.contact-box .eyebrow{color:#f0a58f}.contact-box h2{font-size:2rem;max-width:none}.prose{font-size:1.08rem;line-height:1.75}.prose>*{max-width:72ch}.prose h2,.prose h3,.prose h4{font-family:"Karma FHH",Georgia,serif;font-weight:400;line-height:1.15;color:var(--ink);margin:2.5rem 0 1rem}.prose h2{font-size:2.5rem}.prose h3{font-size:1.9rem}.prose a{color:var(--petrol);font-weight:700}.prose img{max-width:100%;height:auto!important;border-radius:.65rem}.prose figure{max-width:100%;margin:2rem 0}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.prose td,.prose th{padding:.55rem;border:1px solid var(--line)}.prose iframe{max-width:100%;aspect-ratio:16/9;height:auto}.legacy-content [style*="width"]{max-width:100%!important}.legacy-content .j-hr{margin:2.5rem 0}.legacy-content script,.legacy-content form{display:none!important}.content-image{margin:2.5rem 0}.content-image img{width:100%;border-radius:var(--radius)}.content-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2.5rem 0}.content-gallery figure{margin:0}.content-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.75rem}.content-cta{margin:2rem 0}.content-notice{padding:1.4rem;background:var(--cream);border-left:4px solid var(--ochre);border-radius:.5rem}.content-notice p{margin-bottom:0}blockquote{margin:2rem 0;padding:1.5rem 2rem;border-left:4px solid var(--terracotta);background:var(--cream);font:400 1.4rem/1.5 "Karma FHH",Georgia,serif}blockquote cite{display:block;margin-top:.7rem;font:400 .85rem/1.4 "Noto Sans FHH",Arial,sans-serif;color:var(--muted)}

.site-footer{background:#0b2928;color:#dce9e6;padding-top:4.5rem}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:3rem;padding-bottom:3.5rem}.brand--footer{color:var(--white);margin-bottom:1.5rem}.brand--footer .brand__name span{color:#bcd0cc}.site-footer__top p{color:#bcd0cc}.site-footer nav{display:grid;align-content:start;gap:.65rem}.site-footer nav h2{font:700 .75rem/1 "Noto Sans FHH",Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.7rem;color:#86a9a3}.site-footer__bottom{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem;color:#9fbbb6}.site-footer__bottom p{margin:0}.site-footer__bottom nav{display:flex;gap:1.4rem}

:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
@media(max-width:1020px){.main-nav{gap:1rem;font-size:.8rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-grid{grid-template-columns:repeat(2,1fr)}.site-footer__top{grid-template-columns:1.5fr 1fr 1fr}.site-footer__top nav:last-child{grid-column:2}}
@media(max-width:820px){.utility-bar p{display:none}.utility-bar__inner{justify-content:flex-end}.menu-toggle{display:inline-flex}.main-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;padding:1.2rem;background:var(--paper);border-block:1px solid var(--line);box-shadow:0 18px 30px rgba(18,59,58,.1)}.main-nav.is-open{display:flex}.main-nav a{padding:.65rem}.hero__grid,.appointments__grid,.story__grid,.trust__grid{grid-template-columns:1fr}.hero__copy{order:1}.hero__media{order:2;max-width:42rem}.hero__media img{aspect-ratio:4/3}.section-heading--split{grid-template-columns:1fr;gap:.5rem}.appointments__grid{gap:3rem}.story__image{max-width:35rem}.story__image img{aspect-ratio:4/3}.site-footer__top{grid-template-columns:1.5fr 1fr}.site-footer__top nav:last-child{grid-column:auto}}
@media(max-width:620px){:root{--shell:min(100% - 1.35rem,1180px)}body{font-size:1rem}.utility-bar nav{width:100%;justify-content:space-between;gap:.5rem}.brand__mark{width:2.75rem;height:2.75rem}.brand__name strong{font-size:.98rem}.brand-row{min-height:5.1rem}.hero{padding-top:3rem}.hero__media::before{display:none}.hero__media figcaption{position:relative;right:auto;bottom:auto;border-radius:0 0 .8rem .8rem}.button-row{display:grid}.service-grid{grid-template-columns:minmax(0,1fr)}.service-card{min-height:15rem;border-right:0;border-bottom:1px solid var(--line)!important}.service-card:last-child{border-bottom:0!important}.project-grid{grid-template-columns:minmax(0,1fr)}.project-card--image{grid-column:auto;grid-template-columns:minmax(0,1fr)}.project-card--image img{min-height:17rem}.participate__grid{grid-template-columns:1fr}.participate__grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.35);margin:0;padding:1.6rem 0;min-height:12rem}.appointment{grid-template-columns:5rem 1fr;gap:1rem}.appointment__date{padding-right:.8rem}.appointment__date strong{font-size:2.1rem}.document-links a{display:grid;gap:.35rem}.site-footer__top{grid-template-columns:1fr 1fr}.site-footer__top>div{grid-column:1/-1}.site-footer__bottom{display:grid}.site-footer__bottom nav{flex-wrap:wrap}}
@media(max-width:1020px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.article-layout{grid-template-columns:1fr}.contact-box{position:static}.article-content{max-width:100%}}
@media(max-width:620px){.cards{grid-template-columns:minmax(0,1fr)}.event-row{grid-template-columns:5.5rem 1fr;gap:1rem}.event-row__date{padding-right:.75rem}.event-row__date strong{font-size:1.35rem}.document-row{grid-template-columns:1fr}.document-row .button{width:max-content}.content-gallery{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
