:root{--bg:#f4f1ea;--surface:#fbfaf7;--text:#282722;--muted:#6d6a62;--line:#d8d3c8;--accent:#596653;--accent-dark:#404a3c;--max:1120px;--narrow:760px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7}
img{max-width:100%}
a{color:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.narrow{max-width:var(--narrow)}
.site-header{background:rgba(244,241,234,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}
.nav-wrap{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center}
.brand img{width:245px;max-height:82px;object-fit:contain;height:auto;display:block}
.site-nav{display:flex;gap:28px;align-items:center}
.site-nav a{text-decoration:none;font-size:.92rem;letter-spacing:.03em;color:var(--muted)}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px}
.hero{min-height:640px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(27,28,25,.82) 0%,rgba(27,28,25,.57) 42%,rgba(27,28,25,.20) 72%,rgba(27,28,25,.08) 100%),url("../images/cemetery/cemetery-hero-1600.webp") center 52%/cover no-repeat;color:#fff}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 35%,rgba(0,0,0,.16));pointer-events:none}
.hero-inner{position:relative;z-index:1;padding-block:100px}
.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--accent)}
.hero .eyebrow{color:#e4e9df}
.hero h1{font-family:var(--serif);font-size:clamp(3.2rem,7vw,6.5rem);font-weight:400;line-height:1.08;letter-spacing:-.03em;margin:0;text-shadow:0 2px 22px rgba(0,0,0,.16)}
.hero-copy{max-width:590px;font-size:1.12rem;color:rgba(255,255,255,.9);margin:28px 0 34px}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-block;padding:13px 20px;border:1px solid transparent;text-decoration:none;font-size:.88rem;font-weight:700;letter-spacing:.02em}
.button-primary{background:var(--accent);color:#fff}
.button-primary:hover{background:var(--accent-dark)}
.button-secondary{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(0,0,0,.08)}
.button-secondary:hover{background:rgba(255,255,255,.09)}
.section{padding:100px 0}
.intro{background:var(--surface);text-align:center}
.intro-logo{width:min(360px,78%);height:auto;margin:0 auto 34px;display:block;opacity:.9}
.intro h2,.feature h2,.contact h2,.photo-story h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.7rem);font-weight:400;line-height:1.08;margin:0}
.intro p:not(.eyebrow){max-width:680px;margin:24px auto 0;color:var(--muted);font-size:1.05rem}
.photo-story{background:var(--bg)}
.photo-story-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:center}
.photo-frame{overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.photo-frame-large{aspect-ratio:16/10}
.photo-story-copy p:not(.eyebrow){color:var(--muted);margin:24px 0 0}
.feature-grid,.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.feature-card,.contact-card,.panel{background:var(--surface);border:1px solid var(--line);padding:42px}
.feature-card .card-mark{font-family:var(--serif);font-size:3.2rem;color:var(--accent)}
.feature-card p{margin:8px 0 2px;font-family:var(--serif);font-size:1.6rem}
.feature-card span,.small-note,.note{color:var(--muted);font-size:.9rem}
.text-link{display:inline-block;margin-top:20px;color:var(--accent-dark);font-weight:700;text-decoration:none;border-bottom:1px solid var(--accent)}
.ground-photo{height:min(52vw,620px);min-height:360px;overflow:hidden;border-top:1px solid var(--line)}
.ground-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%}
.page-heading{padding:100px 0 70px;background:var(--surface);border-bottom:1px solid var(--line)}
.page-heading h1{font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:400;line-height:1.08;margin:0}
.page-heading p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.08rem;margin:25px 0 0}
.records-panel{padding-top:70px}
.panel h2{font-family:var(--serif);font-size:2.8rem;font-weight:400;line-height:1.08;margin:0}
.panel>p:not(.eyebrow){color:var(--muted);max-width:620px}
.panel .button{margin-top:12px}
.small-note{margin-top:16px}
.note{border-left:2px solid var(--accent);padding:20px 0 20px 22px;margin-top:42px}
.note p{margin-bottom:0}
.contact-card{display:grid;gap:28px}
.contact-card>div{padding-bottom:22px;border-bottom:1px solid var(--line)}
.contact-card>div:last-child{padding-bottom:0;border-bottom:0}
.label{display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--muted)}
.contact-card a{text-decoration:none;color:var(--accent-dark);font-weight:700}
.contact-card p{margin:0}
.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.82rem}
.footer-wrap{display:flex;justify-content:space-between;gap:20px}
.footer-wrap p{margin:0}
@media(max-width:720px){.container{width:min(calc(100% - 28px),var(--max))}.nav-wrap{min-height:82px}.brand img{width:190px;max-height:68px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:14px;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:12px 8px}.hero{min-height:620px;background:linear-gradient(90deg,rgba(27,28,25,.80),rgba(27,28,25,.48)),url("../images/cemetery/cemetery-hero-900.webp") 57% center/cover no-repeat}.hero-inner{padding-block:75px}.section{padding:70px 0}.feature-grid,.contact-grid,.photo-story-grid{grid-template-columns:1fr;gap:45px}.feature-card,.contact-card,.panel{padding:28px}.photo-frame-large{aspect-ratio:4/3}.page-heading{padding:75px 0 55px}.ground-photo{height:420px}.footer-wrap{flex-direction:column;gap:4px}}
@media(min-width:721px){.brand{padding:8px 0}.site-header{box-shadow:0 1px 0 rgba(40,39,34,.02)}}
