@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600;700&display=swap');

:root{
  --green-deep:#163A2E;
  --green-mid:#2C6B4F;
  --green-btn:#2F7A52;
  --sand:#F3E9D2;
  --cream:#FBF6EA;
  --gold:#C69A3D;
  --gold-light:#E4C778;
  --ink:#211C15;
  --muted:#6B6255;
  --line:rgba(33,28,21,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3,.display{font-family:'Fraunces',serif; font-weight:600; letter-spacing:-0.01em;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

.eyebrow{text-transform:uppercase; letter-spacing:0.14em; font-size:0.72rem; font-weight:700; color:var(--gold);}

/* ---------- Header ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(251,246,234,0.94); backdrop-filter: blur(6px); border-bottom:1px solid var(--line);}
.nav{max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:16px 28px; gap:20px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:700; font-size:1.1rem; color:var(--green-deep); white-space:nowrap;}
.brand-mark{width:30px; height:30px; flex-shrink:0;}
.nav-links{display:flex; gap:22px; font-size:0.88rem; font-weight:500; flex-wrap:wrap;}
.nav-links a{opacity:0.78; transition:opacity .2s; padding:6px 0; border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active{opacity:1; border-bottom-color:var(--gold);}
.nav-cta{display:flex; align-items:center; gap:14px;}

.org-strip{background:var(--green-deep); color:var(--sand); text-align:center; font-size:0.78rem; letter-spacing:0.03em; padding:8px 16px;}

/* ---------- Buttons ---------- */
.btn{display:inline-block; padding:12px 24px; border-radius:10px; font-weight:700; font-size:0.9rem; text-decoration:none; cursor:pointer; border:none; text-align:center; transition:transform .15s ease, box-shadow .15s ease;}
.btn-gold{background:linear-gradient(160deg,var(--gold-light),var(--gold)); color:var(--green-deep); box-shadow:0 6px 16px rgba(198,154,61,0.32);}
.btn-gold:hover{transform:translateY(-1px);}
.btn-green{background:var(--green-btn); color:white;}
.btn-green:hover{background:#256644;}
.btn-outline{border:1.5px solid var(--green-deep); color:var(--green-deep); background:transparent;}
.btn-outline-light{border:1.5px solid rgba(251,246,234,0.5); color:var(--cream); background:transparent;}
.btn-sm{padding:9px 16px; font-size:0.82rem; border-radius:8px;}

/* ---------- Layout helpers ---------- */
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
section{padding:64px 0;}
.section-head{max-width:640px; margin-bottom:40px;}
.section-head h2{font-size:2rem; color:var(--green-deep); margin-top:10px; line-height:1.2;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:var(--green-deep); color:var(--sand); padding:56px 0;}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero h1{color:var(--cream); font-size:clamp(1.9rem,3.4vw,2.6rem); margin-top:10px; max-width:720px;}
.page-hero p{opacity:0.85; margin-top:14px; max-width:60ch;}
.breadcrumb{font-size:0.8rem; opacity:0.7; margin-bottom:12px;}

/* ---------- Arch signature ---------- */
.arch{border-radius:50% 50% 0 0 / 40% 40% 0 0; overflow:hidden; position:relative;}
.arch::after{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 3px rgba(198,154,61,0.55); pointer-events:none;}

/* ---------- Cards ---------- */
.card{background:white; border:1px solid var(--line); border-radius:16px; padding:26px;}
.card h3{color:var(--green-deep); margin-bottom:8px; font-size:1.1rem;}
.card p{font-size:0.92rem; opacity:0.82;}

/* ---------- Progress ---------- */
.progress-box{background:var(--green-deep); color:var(--sand); border-radius:20px; padding:32px 36px; display:grid; grid-template-columns:1fr 1fr auto; gap:26px; align-items:center;}
.progress-box .num{font-family:'Fraunces',serif; font-size:1.9rem; font-weight:600; color:var(--gold-light);}
.progress-box .label{font-size:0.82rem; opacity:0.75; margin-top:2px;}
.bar-track{grid-column:1/-1; height:9px; border-radius:999px; background:rgba(255,255,255,0.15); overflow:hidden;}
.bar-fill{height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-light)); border-radius:999px;}

/* ---------- Footer ---------- */
footer{background:var(--green-deep); color:rgba(251,246,234,0.75); padding:48px 0 24px; margin-top:40px;}
.footer-inner{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px;}
footer h4{color:var(--sand); font-family:'Fraunces',serif; font-weight:600; margin-bottom:14px; font-size:0.98rem;}
footer li{margin-bottom:8px; font-size:0.88rem;}
footer li a:hover{color:var(--gold-light);}
.footer-bottom{max-width:1180px; margin:32px auto 0; padding:20px 28px 0; border-top:1px solid rgba(251,246,234,0.15); font-size:0.76rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}

/* ---------- Forms ---------- */
label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; color:var(--green-deep);}
input, select, textarea{width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid var(--line); background:white; font-family:'Work Sans',sans-serif; font-size:0.92rem; margin-bottom:16px;}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--gold);}

/* burger (mobile) */
.burger{display:none; width:26px; height:18px; position:relative; cursor:pointer; background:none; border:none;}
.burger span{position:absolute; left:0; right:0; height:2px; background:var(--ink);}
.burger span:nth-child(1){top:0;} .burger span:nth-child(2){top:8px;} .burger span:nth-child(3){top:16px;}

@media (max-width:960px){
  .nav-links{display:none;}
  .burger{display:block;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .footer-inner{grid-template-columns:1fr;}
}
