:root {
      --forest:#21382f;
      --forest-2:#315044;
      --lake:#315e70;
      --lake-dark:#234754;
      --parchment:#f5f0e4;
      --paper:#fffdf8;
      --rust:#8a4b38;
      --gold:#b8955e;
      --ink:#26312d;
      --muted:#66716c;
      --line:#d9d1c0;
      --white:#ffffff;
      --shadow:0 14px 38px rgba(33,56,47,.13);
      --radius:18px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--parchment);
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height:1.62;
    }
    img{max-width:100%;height:auto;display:block}
    a{color:var(--lake-dark);text-underline-offset:3px}
    a:hover{color:var(--rust)}
    .wrap{width:min(calc(100% - 36px), var(--max));margin-inline:auto}

    .utility{
      background:var(--forest);
      color:#eef4ef;
      font-size:.92rem;
    }
    .utility .wrap{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:8px 0;flex-wrap:wrap}
    .utility a{color:#fff;text-decoration:none}

    header{
      position:sticky;top:0;z-index:50;
      background:rgba(255,253,248,.96);
      backdrop-filter:blur(12px);
      border-bottom:1px solid rgba(49,80,68,.12);
    }
    .nav{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .brand{
      display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--forest);
      min-width:max-content;
    }
    .brand-mark{
      width:45px;height:45px;border-radius:50%;background:var(--lake);
      display:grid;place-items:center;color:white;font-family:Georgia,serif;font-size:1.15rem;
      box-shadow:inset 0 0 0 4px rgba(255,255,255,.16)
    }
    .brand strong{font-family:Georgia, "Times New Roman", serif;font-size:1.22rem;letter-spacing:.01em}
    .brand small{display:block;color:var(--muted);font-size:.76rem;margin-top:-2px}
    nav ul{list-style:none;display:flex;gap:22px;align-items:center;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
    nav a{text-decoration:none;color:var(--forest);font-weight:700;font-size:.94rem}
    .join-btn{background:var(--rust);color:white!important;padding:10px 15px;border-radius:999px}

    .hero{
      background:
        linear-gradient(90deg, rgba(20,43,37,.93) 0%, rgba(20,43,37,.74) 47%, rgba(20,43,37,.24) 100%),
        linear-gradient(180deg, #476c69, #274e58);
      color:white;
      padding:64px 0 52px;
      position:relative;overflow:hidden;
    }
    .hero:after{
      content:"";position:absolute;inset:auto -8% -110px auto;width:430px;height:430px;border-radius:50%;
      background:rgba(255,255,255,.055);
    }
    .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}
    .eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#e8d3a7;margin-bottom:10px}
    h1,h2,h3{font-family:Georgia, "Times New Roman", serif;line-height:1.12;color:var(--forest);margin-top:0}
    h1{color:white;font-size:clamp(3.3rem,7vw,6.2rem);margin-bottom:7px;font-weight:500;letter-spacing:-.035em}
    .hero-tag{font-family:Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.8rem);color:#f1dfb8;margin:.2rem 0 1.2rem}
    .hero p{font-size:1.1rem;max-width:690px;color:#f4f7f4;margin-bottom:25px}
    .actions{display:flex;gap:12px;flex-wrap:wrap}
    .btn{display:inline-block;text-decoration:none;font-weight:800;padding:12px 18px;border-radius:999px;border:1px solid transparent}
    .btn-primary{background:#f2e6cb;color:var(--forest)}
    .btn-secondary{border-color:rgba(255,255,255,.58);color:white;background:rgba(255,255,255,.08)}
    .hero-media{background:rgba(255,255,255,.11);padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:var(--shadow)}
    .hero-media img{width:100%;border-radius:16px;min-height:280px;object-fit:cover;background:#d6d9d3}
    .caption{font-size:.78rem;color:#e9efea;margin:8px 6px 2px;text-align:center}

    main{padding:48px 0 72px}
    section{scroll-margin-top:96px}
    .section{margin:0 auto 56px}
    .section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}
    .section-heading h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:4px}
    .section-heading p{max-width:660px;color:var(--muted);margin:0}
    .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:850;color:var(--rust);margin-bottom:5px}

    .quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-22px;position:relative;z-index:3}
    .quick-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(40,52,46,.07)}
    .quick-card span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e4ece8;color:var(--forest);font-weight:900;margin-bottom:13px}
    .quick-card h3{font-size:1.25rem;margin-bottom:6px}
    .quick-card p{margin:0;color:var(--muted);font-size:.94rem}

    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 22px rgba(40,52,46,.06)}
    .card h3{font-size:1.35rem;margin-bottom:8px}
    .card p:last-child{margin-bottom:0}
    .status{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:4px 8px;border-radius:999px;background:#dce9df;color:#315540;margin-bottom:9px}
    .status.notice{background:#efe1d7;color:#7d3f2e}

    .feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;background:var(--forest);border-radius:26px;padding:28px;color:white;overflow:hidden}
    .feature h2,.feature h3{color:white}
    .feature p{color:#eef3ef}
    .feature .panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:22px;border-radius:18px}
    .feature ul{padding-left:20px;margin-bottom:0}

    .notice-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .notice{background:var(--paper);border-left:5px solid var(--lake);padding:21px 23px;border-radius:0 16px 16px 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
    .notice h3{font-size:1.24rem;margin-bottom:7px}
    .notice img{width:180px;border-radius:12px;float:left;margin:4px 18px 10px 0}

    .membership{display:grid;grid-template-columns:1fr .8fr;gap:24px;background:#eadfc8;border:1px solid #d7c9ab;border-radius:26px;padding:30px}
    .membership h2{font-size:2.2rem;margin-bottom:8px}
    .dues{font-size:2.7rem;font-family:Georgia,serif;color:var(--rust);line-height:1;margin:7px 0 10px}
    .mini{font-size:.9rem;color:#5f665f}

    .people{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .person{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
    .person strong{display:block;color:var(--forest)}
    .person span{color:var(--muted);font-size:.9rem}

    .resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    .resource{background:#f8f5ed;border:1px solid var(--line);border-radius:15px;padding:18px;text-decoration:none;color:var(--ink);font-weight:800}
    .resource small{display:block;color:var(--muted);font-weight:500;margin-top:4px}

    .poem{max-width:720px;margin:0 auto;text-align:center;padding:34px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .poem h3{font-size:1.7rem;margin-bottom:4px}
    .poem .byline{color:var(--rust);font-weight:700;margin-bottom:18px}
    .poem p{font-family:Georgia,serif;font-size:1.04rem;color:#49534e}

    footer{background:var(--forest);color:#e7eee9;padding:40px 0 26px}
    .footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
    footer h3{color:white;font-size:1.35rem}
    footer a{color:white}
    .footer-links{display:flex;gap:12px 18px;flex-wrap:wrap}
    .footer-links a{text-decoration:none}
    .copyright{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-size:.84rem;color:#cbd6cf}

    @media (max-width:900px){
      header{position:relative}
      .nav{align-items:flex-start;padding:16px 0;flex-direction:column;gap:12px}
      nav ul{justify-content:flex-start;gap:12px 18px}
      .hero-grid,.feature,.membership,.footer-grid{grid-template-columns:1fr}
      .quick-grid{grid-template-columns:1fr 1fr;margin-top:22px}
      .cards,.people,.resource-grid{grid-template-columns:1fr 1fr}
      .notice-list{grid-template-columns:1fr}
    }
    @media (max-width:610px){
      .wrap{width:min(calc(100% - 24px), var(--max))}
      .utility .wrap{display:block}
      .utility .wrap div+div{margin-top:4px}
      nav ul{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
      nav a{display:block;padding:7px 0}
      .join-btn{padding:8px 10px;text-align:center}
      .hero{padding:46px 0 40px}
      h1{font-size:3.1rem}
      .quick-grid,.cards,.people,.resource-grid{grid-template-columns:1fr}
      .section-heading{align-items:start;flex-direction:column}
      .notice img{float:none;width:100%;margin:0 0 14px}
      .membership{padding:22px}
    }

/* Interior page additions */
.page-hero{
  background:linear-gradient(135deg,var(--forest),var(--lake-dark));
  color:white;padding:54px 0 42px;border-bottom:5px solid var(--gold)
}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);margin:0 0 10px;color:#fff}
.page-hero p{max-width:800px;margin:0;color:#eef4ef;font-size:1.05rem}
.page-main{padding:48px 0 64px}
.content-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:clamp(24px,4vw,44px);margin-bottom:28px
}
.content-card h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:18px}
.content-card h3{font-size:1.4rem;margin-top:30px}
.archive-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.archive-list li{padding:14px 16px;background:#f7f3e9;border-left:4px solid var(--lake);border-radius:10px}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(33,56,47,.09)}
.gallery figure img{width:100%;height:auto}
.gallery figcaption{padding:12px 14px;color:var(--muted);font-size:.94rem}
.notice{padding:18px 20px;background:#f7f3e9;border-left:5px solid var(--rust);border-radius:10px}
.memorial{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;margin:26px 0}
.memorial img{border-radius:12px}
.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.item-card{background:#f7f3e9;border:1px solid var(--line);border-radius:14px;padding:18px}
.item-card img{border-radius:10px;margin:0 auto 14px}
.archive-content p{margin:.8rem 0}
.archive-content blockquote{margin:12px 0 20px 18px;padding-left:18px;border-left:3px solid var(--line)}
.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.subnav a{background:rgba(255,255,255,.12);color:#fff;text-decoration:none;padding:8px 12px;border-radius:999px}
footer{background:var(--forest);color:#eef4ef;padding:34px 0}
footer a{color:#fff}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;flex-wrap:wrap}
.footer-grid p{margin:.25rem 0}
@media (max-width:760px){
  .gallery,.item-grid,.memorial{grid-template-columns:1fr}
  .nav{align-items:flex-start;padding:12px 0}
  nav ul{gap:12px}
  .brand small{display:none}
}
