@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@400;500;600&display=swap');

:root{
  --ivory:#f8f5ef; --paper:#fcfbf8; --sage:#8b9886; --sage-dark:#5d6859;
  --blue:#7f95a8; --ink:#303330; --muted:#74756f; --gold:#b89b5e;
  --line:#dedbd3; --white:#fff; --lav:#b9b1c1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.75}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1120px,88vw);margin:auto}
.section{padding:105px 0}
.eyebrow{font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--sage-dark);margin:0 0 17px}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;line-height:.98;margin:0 0 22px}
h1{font-size:clamp(58px,8vw,112px)}
h2{font-size:clamp(48px,6vw,76px)}
h3{font-size:36px}
h2 span{color:var(--sage-dark)}
p{margin:0 0 20px}
.lead{font:500 21px/1.65 "Cormorant Garamond",serif}
.button{display:inline-block;padding:13px 22px;border:1px solid var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:600;transition:.2s}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:var(--sage-dark)}
.button-light{border-color:white;color:white}
.button-light:hover{background:white;color:var(--ink)}
.button-soft{border-color:var(--sage-dark);color:var(--sage-dark)}
.button-soft:hover{background:var(--sage-dark);color:white}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:600}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(252,251,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,219,211,.8)}
.header-inner{width:min(1220px,92vw);margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{width:54px;height:54px;object-fit:contain}
.brand-name{font:600 30px/1 "Cormorant Garamond",serif}
.brand-tagline{display:block;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{display:flex;align-items:center;gap:22px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.nav a{padding:8px 0}
.nav a:hover{color:var(--sage-dark)}
.nav .nav-give{border:1px solid var(--ink);padding:10px 15px}
.menu-toggle{display:none;border:0;background:none;font-size:25px;color:var(--ink)}

.hero{min-height:780px;height:92vh;position:relative;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:grayscale(100%)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,29,27,.68),rgba(27,29,27,.22) 68%,rgba(27,29,27,.04))}
.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-44%);max-width:700px;color:white}
.hero-content .eyebrow{color:#e8eae5}
.hero-content .hero-tagline{font:500 clamp(28px,3.4vw,48px)/1.05 "Cormorant Garamond",serif;margin:25px 0}
.hero-content .hero-copy{max-width:540px;color:rgba(255,255,255,.9);font-size:14px}
.hero-actions{display:flex;gap:25px;align-items:center;margin-top:30px}

.welcome{background:var(--paper)}
.welcome-grid{display:grid;grid-template-columns:130px 1fr;gap:45px;max-width:980px}
.welcome-mark{font-size:62px;opacity:.55}
.welcome-copy{max-width:760px}
.welcome-copy p:not(.lead){color:var(--muted)}

.feature{background:var(--ivory)}
.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}
.feature-photo img{width:100%;aspect-ratio:1/1.08;object-fit:cover;filter:grayscale(100%)}
.feature-copy{max-width:560px}
.feature-copy p{color:var(--muted)}
.feature-copy strong{color:var(--ink)}

.hours{background:#eee9e2}
.hours-inner{max-width:900px}
.hours-copy{max-width:780px;font:500 21px/1.75 "Cormorant Garamond",serif}
.hours-copy strong{color:var(--sage-dark);font-size:25px}

.words{background:#f1eee7}
.words-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}
.words-photo{max-width:560px;box-shadow:0 18px 45px rgba(40,43,39,.12);transform:rotate(-1deg)}
.words-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.words-copy{max-width:600px}
.words-copy p:not(.eyebrow):not(.words-note){color:var(--muted)}
.words-note{font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.08em;color:#7d8078;margin-top:28px}

.elephants{background:var(--paper)}
.section-heading{text-align:center;max-width:760px;margin:0 auto 55px}
.section-heading>p:not(.eyebrow){color:var(--muted)}
.elephant-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}
.elephant-photo img{width:100%;height:590px;object-fit:cover}
.elephant-copy{max-width:560px}
.elephant-copy p{color:var(--muted)}
.elephant-copy strong{font:500 27px/1.25 "Cormorant Garamond",serif;color:var(--sage-dark)}
.ministry-highlight{padding:25px 28px;background:#eef1eb;border-left:3px solid var(--sage);font:500 27px/1.25 "Cormorant Garamond",serif!important;color:var(--sage-dark)!important}
.request-elephant{margin-top:35px;padding:27px 28px;background:var(--ivory);border:1px solid var(--line)}
.request-elephant h3{font-size:34px;margin-bottom:12px}
.request-elephant p:not(.eyebrow){color:var(--muted)}
.email-link{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--sage-dark);word-break:break-word}
.email-link:hover{text-decoration:underline}

.birthday{background:#dfe4dc}
.birthday-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}
.birthday-grid>div{border-top:1px solid rgba(48,50,48,.25);padding-top:20px}
.birthday-grid h3{font-size:34px}
.birthday-grid p:not(.time){color:#5f655d}
.time{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;color:var(--sage-dark)}

.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:18px}
.memory-grid figure{margin:0;overflow:hidden;background:var(--ivory)}
.memory-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.memory-grid figure:hover img{transform:scale(1.025)}
.memory-tall{grid-row:span 2}
.memory-wide{grid-column:span 2}

.he-is{text-align:center;padding:110px 0;background:#313630;color:white}
.he-is .eyebrow{color:#cfd5cc}
.he-is-words{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;max-width:900px;margin:0 auto 35px}
.he-is-words span{font:500 clamp(31px,4vw,56px)/1.05 "Cormorant Garamond",serif}
.he-is-words span:not(:last-child)::after{content:" ·";opacity:.35}
.he-is-final{font:500 24px "Cormorant Garamond",serif;color:#d9ddd7}
.he-is-final strong{font-size:42px;color:white}

.legacy{background:var(--ivory)}
.legacy-grid{display:grid;grid-template-columns:1.15fr .85fr}
.legacy-photo img{width:100%;height:100%;min-height:680px;object-fit:cover}
.legacy-copy{padding:105px 8vw;align-self:center;max-width:700px}
.legacy-copy p{color:var(--muted)}
.closing-line{font:500 29px "Cormorant Garamond",serif;color:var(--sage-dark)!important;margin-top:35px}

.give{background:#dfe4dc;text-align:center}
.give-card{max-width:720px;margin:auto}
.give-card p:not(.eyebrow){color:#5f655d}
.cashapp{display:inline-flex;align-items:center;gap:10px;margin:15px 0 5px;padding:15px 20px;background:white;border:1px solid rgba(48,50,48,.15);font-size:12px;letter-spacing:.1em;font-weight:600}
.small-note{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#73796f!important}

.footer{background:#2f332f;color:white;padding:55px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px}
.footer-brand{font:500 36px "Cormorant Garamond",serif}
.footer-tagline{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#c8cec5}
.footer-links{display:flex;gap:25px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.footer-links a:hover{color:#c8cec5}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:28px;font-size:10px;letter-spacing:.08em;color:#aeb5ab}

.page-hero{padding:165px 0 90px;background:var(--ivory)}
.page-hero-inner{max-width:900px}
.page-hero h1{font-size:clamp(60px,8vw,105px)}
.page-hero p{max-width:700px;color:var(--muted);font-size:16px}

.story-copy-full{max-width:800px;margin:auto}
.story-copy-full p{font:500 21px/1.8 "Cormorant Garamond",serif;color:#5f625c}
.story-copy-full .pull{font-size:33px;line-height:1.25;color:var(--sage-dark);margin:50px 0}
.story-image-wide{margin:50px auto;max-width:1000px}
.story-image-wide img{width:100%;max-height:650px;object-fit:cover}

.gallery-page{padding-top:120px}
.gallery-intro{max-width:760px;margin:0 auto 60px;text-align:center}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.gallery-grid figure{margin:0}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-grid figcaption{font:italic 17px "Cormorant Garamond",serif;color:var(--muted);padding:12px 2px 20px}

@media(max-width:900px){
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:18px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .feature-grid,.elephant-grid,.words-grid,.legacy-grid{grid-template-columns:1fr}
  .feature-copy,.elephant-copy,.words-copy{max-width:none}
  .birthday-grid{grid-template-columns:1fr}
  .memory-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .memory-tall{grid-row:span 1}
  .memory-wide{grid-column:span 2}
  .legacy-copy{padding:80px 7vw}
  .legacy-photo img{min-height:0;aspect-ratio:4/3}
  .footer-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .header-inner{min-height:68px}
  .brand-logo{width:47px;height:47px}
  .brand-name{font-size:25px}
  .brand-tagline{font-size:7px}
  .hero{min-height:690px;height:90vh}
  .hero-content{left:7vw;right:7vw}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:16px}
  .section{padding:80px 0}
  .welcome-grid{grid-template-columns:1fr;gap:10px}
  .welcome-mark{display:none}
  .elephant-photo img{height:auto;aspect-ratio:4/3}
  .memory-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .memory-grid figure,.memory-wide,.memory-tall{grid-column:auto;grid-row:auto}
  .memory-grid img{height:auto;aspect-ratio:4/3}
  .he-is-words{display:block}
  .he-is-words span{display:block;margin:10px 0}
  .he-is-words span::after{display:none!important}
  .page-hero{padding:135px 0 70px}
}
