@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');:root{--ink:#222522;--muted:#626761;--cream:#f5f2eb;--gold:#b99b65;--deep:#191d1b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit}button{font:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:20;background:white;padding:12px}.site-header{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:31px clamp(24px,6vw,100px);color:#fff;border-bottom:1px solid #ffffff35}.brand{font-size:17px;font-weight:700;letter-spacing:.13em;text-decoration:none}.brand span{font-weight:400}.site-header nav{display:flex;gap:32px}.site-header nav a{text-decoration:none;font-size:12px;letter-spacing:.07em;opacity:.87}.site-header nav a:hover{opacity:1;color:#e7c68e}.menu-toggle{display:none}.hero{min-height:790px;height:100vh;max-height:1030px;color:#fff;position:relative;display:flex;align-items:flex-end;background:#1d2525}.hero-photo{position:absolute;inset:0;background-image:url('photos/regan-smiling.jpg');background-size:cover;background-position:center 29%;filter:brightness(.8) saturate(.85)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,17,.88) 0%,rgba(13,17,17,.63) 36%,rgba(13,17,17,.05) 100%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}.hero-content{position:relative;z-index:1;margin:0 0 12vh clamp(24px,10vw,170px);width:min(650px,82vw)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:700;color:#d0af7d;margin:0 0 24px}.eyebrow.dark{color:#9a7946}.hero h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(49px,6.1vw,100px);line-height:1.14;font-weight:400;letter-spacing:-.065em;margin:0 0 30px}.dates{letter-spacing:.08em;font-size:14px;color:#e7e4de}.gold-rule{height:1px;width:75px;background:var(--gold);margin:30px 0}.hero-intro{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(15px,1.3vw,19px);line-height:1.9;max-width:510px;color:#ece9e2}.text-link{display:inline-block;margin-top:25px;text-transform:uppercase;letter-spacing:.17em;font-size:12px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:12px}.text-link span{padding-left:17px}.intro-wrap,.gallery-section,.about{padding:110px clamp(25px,9vw,150px)}.section-number{font-size:11px;letter-spacing:.19em;color:#988a75;margin-bottom:70px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro-grid h2,.section-heading h2,.memories h2,.about h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;font-size:clamp(35px,4.3vw,66px);line-height:1.24;letter-spacing:-.06em;margin:0}.story-text{font-size:16px;line-height:1.95;color:#535650}.story-text p{margin-top:0;margin-bottom:23px}.story-text .lead{font-family:'Libre Baskerville',Georgia,serif;color:var(--ink);font-size:25px;line-height:1.6}.quote{background:#e7e0d3;text-align:center;padding:95px 20px}.quote p{font:italic clamp(21px,2.4vw,35px)/1.6 'Libre Baskerville',Georgia,serif;max-width:850px;margin:auto}.quote span{display:block;font-size:10px;letter-spacing:.22em;margin-top:34px;color:#8d7350}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:60px}.section-heading>p{max-width:350px;color:var(--muted);font-size:15px;line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.gallery-item{margin:0}.gallery-item button{padding:0;border:0;background:none;display:block;width:100%;height:320px;cursor:zoom-in;overflow:hidden}.gallery-item button:focus-visible{outline:3px solid var(--gold)}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .4s}.gallery-item button:hover img{transform:scale(1.04)}.gallery-item.tall img{object-position:center 20%}.gallery-item figcaption{font-size:12px;letter-spacing:.04em;padding:15px 0 8px}.gallery-note{color:var(--muted);margin-top:45px}.memories{background:var(--deep);color:#eee;padding:115px clamp(25px,9vw,150px)}.memories-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.memories-grid>div:last-child{max-width:500px;color:#d0d0c8;line-height:1.95}.small-note{font-size:13px;opacity:.78;border-left:2px solid var(--gold);padding-left:18px;margin-top:40px}.about{max-width:1200px;margin:auto}.about p:not(.eyebrow){max-width:650px;line-height:1.9;color:var(--muted)}.about h2{margin-bottom:30px}footer{background:#111614;color:white;padding:50px clamp(25px,9vw,150px);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#aaa}footer .brand{color:white}#viewer{border:0;padding:24px;background:#101311;color:white;max-width:min(94vw,1300px);max-height:94vh}#viewer::backdrop{background:#000d}#viewer img{display:block;max-width:85vw;max-height:78vh;object-fit:contain}#viewer button{float:right;background:transparent;color:white;border:0;cursor:pointer;margin-bottom:10px;font-size:20px}#viewer p{text-align:center;font-size:13px}@media(max-width:750px){.site-header{padding:24px}.menu-toggle{display:block;background:none;border:1px solid #ffffff55;color:#fff;padding:9px 14px}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;padding:22px 24px;background:#171b19;flex-direction:column;gap:20px}.site-header nav.open{display:flex}.hero{min-height:670px;height:85vh}.hero-photo{background-position:62% center}.hero-overlay{background:linear-gradient(90deg,#111c 0%,#1118 65%,#1115 100%),linear-gradient(0deg,#111a,transparent 70%)}.hero-content{margin-bottom:8vh}.intro-wrap,.gallery-section,.about,.memories{padding:72px 25px}.section-number{margin-bottom:35px}.intro-grid,.memories-grid{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gallery-item button{height:230px}footer{display:block}footer p{margin-top:18px}}@media(max-width:430px){.gallery{grid-template-columns:1fr}.gallery-item button{height:340px}}
/* Preview 2: uniform thumbnail contact sheet, preserving source aspect ratios */
.gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;}
.gallery-item, .gallery-item.tall{grid-column:auto;grid-row:auto;}
.gallery-item button {width:100%;height:225px;display:block;overflow:hidden;border:0;padding:0;background:#e7e2d9;cursor:zoom-in;}
.gallery-item button img {width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s ease;}
.gallery-item button:hover img{transform:scale(1.035);}
.gallery-item figcaption{font-size:13px;padding:8px 0 0;}
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item button{height:165px}}

/* Distinct memorial archive sections */
.archive-section{padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,6rem);background:#f5f2ea;color:#252621}.archive-section:nth-of-type(even){background:#ebe7dd}.archive-section .section-heading{margin-bottom:2rem}.archive-section .gallery{margin-top:1.5rem}.archive-section .gallery-item figcaption{font-size:.88rem}

/* Version 2.6 original clipping archive */
#newspaper .gallery-item a{display:inline-block;margin-top:7px;color:#755a35;font-size:12px;text-underline-offset:3px}#newspaper .gallery-item button{height:280px}#newspaper .gallery-item img{object-fit:contain}

/* V2.8 — balanced, centered opening. Preserve the original Regan photograph. */
.hero{align-items:flex-end;min-height:740px}
.hero-photo{background-position:center 23%;filter:brightness(.92) saturate(.9)}
.hero-overlay{background:linear-gradient(0deg,rgba(9,14,13,.96) 0%,rgba(9,14,13,.84) 22%,rgba(9,14,13,.36) 54%,rgba(9,14,13,.14) 100%)}
.hero-content{margin:0 auto clamp(68px,9vh,120px);width:min(830px,calc(100% - 48px));text-align:center}
.hero h1{font-size:clamp(46px,6.3vw,88px);line-height:1.13;letter-spacing:-.055em;margin-bottom:22px}
.hero-content .gold-rule{margin:26px auto}
.hero-content .hero-intro{margin:0 auto;max-width:610px;line-height:1.7}
.hero-content .eyebrow{margin-bottom:18px}
.hero-content .text-link{margin-top:25px}
@media(max-width:750px){.hero{min-height:690px;height:90svh;max-height:none}.hero-photo{background-position:58% 19%}.hero-overlay{background:linear-gradient(0deg,rgba(9,14,13,.97) 0%,rgba(9,14,13,.83) 30%,rgba(9,14,13,.32) 65%,rgba(9,14,13,.15) 100%)}.hero-content{margin:0 auto 52px;width:calc(100% - 42px)}.hero h1{font-size:clamp(39px,10vw,62px)}.hero-intro{font-size:15px}}
