:root{
  --paper:#f5efe7;
  --paper-2:#eee3d1;
  --teal:#08716f;
  --teal-dark:#075c5b;
  --ink:#101414;
  --muted:#8d918e;
  --line:#d6c9b8;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Site Sans",Arial,sans-serif;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;
  padding:14px 4vw;background:rgba(245,239,231,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(16,20,20,.08)
}
.brand{width:132px;flex:0 0 auto}.brand img{width:100%;height:auto}
.site-header nav{display:flex;gap:20px;justify-content:center;flex:1;font-size:.84rem;font-weight:600}
.site-header nav a{text-decoration:none;opacity:.8}.site-header nav a:hover{color:var(--teal);opacity:1}
.header-cta{border:1px solid var(--teal);color:var(--teal);padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.8rem}
.hero{
  min-height:calc(100vh - 68px);display:grid;grid-template-columns:1fr 1fr;
  max-width:var(--max);margin:auto;align-items:stretch
}
.hero-copy{padding:clamp(55px,8vw,110px) clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:center;
  background:
  linear-gradient(135deg,transparent 0 45%,rgba(238,227,209,.8) 45% 55%,transparent 55%),
  var(--paper)}
.eyebrow{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 16px}
.hero-copy .eyebrow,.text-panel .eyebrow,.mission-card .eyebrow{color:var(--teal)}
h1,h2,h3{margin:0;font-weight:700;line-height:1.02}
h1{font-size:clamp(3.3rem,7vw,6.6rem);letter-spacing:-.055em;color:var(--teal)}
h1 em{font-style:normal;color:var(--ink)}
h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.035em;color:var(--teal)}
h3{font-size:2rem;color:var(--teal)}
.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);max-width:590px;margin:28px 0 0}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:36px}
.button{display:inline-block;padding:13px 19px;border-radius:2px;text-decoration:none;font-weight:700}
.button-dark{background:var(--teal);color:white}.button-dark:hover{background:var(--teal-dark)}
.text-link{text-decoration:none;font-weight:700}.text-link span{color:var(--teal)}
.hero-image{position:relative;overflow:hidden;min-height:620px}
.hero-image img{width:100%;height:100%;object-fit:cover}
.image-caption{
  position:absolute;left:8%;bottom:8%;background:rgba(8,113,111,.88);color:white;
  padding:12px 18px;font-size:.9rem;max-width:76%
}
.quote-band{background:var(--teal-dark);color:white;padding:clamp(50px,8vw,100px 6vw);padding-left:8vw;padding-right:8vw}
.quote-band blockquote,.closing-quote blockquote{font-family:"Site Serif",Georgia,serif;font-size:clamp(1.7rem,3.4vw,3.2rem);line-height:1.12;max-width:1000px;margin:0}
.quote-band cite,.closing-quote cite{display:block;margin-top:22px;font-size:.82rem;opacity:.8}
.content-grid{display:grid;grid-template-columns:1fr 1fr;max-width:var(--max);margin:auto}
.text-panel{padding:clamp(50px,7vw,90px) clamp(28px,5vw,70px);min-height:450px}
.text-panel p:not(.eyebrow){max-width:620px;font-size:1.08rem}
.text-panel.accent{background:var(--paper-2)}
.memorial-section{display:grid;grid-template-columns:1.15fr .85fr;max-width:var(--max);margin:auto;background:var(--paper-2)}
.memorial-image{position:relative;min-height:570px}.memorial-image img{width:100%;height:100%;object-fit:cover}
.memorial-image .image-caption{left:6%;bottom:7%;max-width:70%}
.memorial-copy{padding:clamp(48px,7vw,90px);display:flex;flex-direction:column;justify-content:center}
.memorial-copy p:not(.eyebrow){font-size:1.08rem}
.dark-story{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;background:#0d2424;color:white}
.dark-story-image{min-height:680px}.dark-story-image img{width:100%;height:100%;object-fit:cover}
.dark-story-copy{padding:clamp(50px,7vw,90px);display:flex;flex-direction:column;justify-content:center}
.dark-story-copy h2{color:white}.dark-story-copy p:not(.eyebrow){font-size:1.08rem;max-width:540px}
.dark-story-copy .eyebrow{color:#b9c6c4}
.responsibility{max-width:var(--max);margin:auto;padding:clamp(55px,8vw,100px);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.responsibility-copy{font-size:1.08rem}.principles{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.principles span{border:1px solid var(--teal);color:var(--teal);padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700}
.mission{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr}
.mission-card{padding:clamp(50px,7vw,90px);background:var(--paper-2)}
.mission-card p:not(.eyebrow){font-size:1.08rem;max-width:680px}
.donation-card{padding:clamp(42px,5vw,70px);background:var(--teal);color:white}
.donation-card .eyebrow{color:#b9d0ce}.donation-card h3{color:white;margin-bottom:22px}
.donation-card a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.donation-card hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:26px 0}
.small{font-size:.84rem;opacity:.82}
.closing-quote{max-width:var(--max);margin:auto;padding:clamp(55px,8vw,100px);background:white;text-align:center}
.closing-quote blockquote{max-width:950px;margin:auto;color:var(--teal-dark)}
.closing-quote cite{color:var(--muted)}
.site-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 4vw;background:#092d2c;color:white;font-size:.72rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:900px){
  .site-header nav{display:none}.header-cta{margin-left:auto}
  .hero,.content-grid,.memorial-section,.dark-story,.responsibility,.mission{grid-template-columns:1fr}
  .hero{min-height:auto}.hero-image{min-height:55vh;max-height:680px}
  .dark-story-image{min-height:55vh}.responsibility{gap:24px}
}
@media (max-width:560px){
  .site-header{padding:12px 18px}.brand{width:118px}
  .hero-copy{padding:52px 22px}.hero-actions{flex-direction:column;align-items:flex-start}
  .text-panel,.memorial-copy,.dark-story-copy,.mission-card,.donation-card{padding:46px 22px}
  .image-caption{left:5%;right:5%;max-width:none}
  .site-footer{padding:20px}
}
