:root{--navy:#102b46;--gold:#b18b45;--cream:#f7f2e8;--ink:#1c2730;--paper:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 Georgia,'Times New Roman',serif}.top{position:sticky;top:0;z-index:20;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:rgba(255,253,248,.96);border-bottom:1px solid #ddd2bf;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none;font-weight:bold}.brand img{height:58px;width:auto}.brand span{font-size:18px}nav{display:flex;gap:25px}nav a{font:600 12px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);text-decoration:none}.menu{display:none;border:0;background:none;font-size:26px;color:var(--navy)}.hero{min-height:78vh;display:grid;place-items:center;padding:65px 20px;background:linear-gradient(180deg,var(--cream),#fffdf8)}.hero-inner{text-align:center;max-width:980px}.family{display:block;width:min(820px,95%);height:auto;max-height:430px;object-fit:contain;margin:0 auto 10px;mix-blend-mode:multiply}.eyebrow{font:700 12px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}h1,h2,h3{color:var(--navy);line-height:1.12}h1{font-size:clamp(42px,7vw,76px);margin:.2em 0}.lead{font-size:clamp(19px,2.2vw,27px);font-style:italic}.button{display:inline-block;margin-top:16px;padding:13px 22px;border:1px solid var(--gold);color:var(--navy);text-decoration:none;font:700 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.section{padding:90px max(7vw,28px);scroll-margin-top:76px}.section-head{max-width:760px;margin:0 auto 50px;text-align:center}.section h2{font-size:clamp(34px,5vw,54px);margin:.15em 0 .4em}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;max-width:1150px;margin:auto}.split.reverse{grid-template-columns:.8fr 1.2fr}.split figure{margin:0}.split img,.photo-row img{display:block;max-width:100%;width:auto;height:auto;margin:auto}.split figcaption{text-align:center;font-style:italic;font-size:14px;color:#6b675f;margin-top:8px}.tinted{background:var(--cream)}.photo-row{max-width:1000px;margin:65px auto 0;display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;align-items:center}.photo-row img{max-height:520px}.events{max-width:930px;margin:auto;border-top:1px solid #d9cdb9}.event{display:grid;grid-template-columns:100px 1fr;gap:28px;padding:28px 8px;border-bottom:1px solid #d9cdb9}.date{text-align:center;color:var(--gold);border-right:1px solid #d9cdb9}.date b{display:block;font:700 12px Arial,sans-serif;letter-spacing:.15em}.date strong{display:block;font-size:40px;line-height:1}.event h3{font-size:23px;margin:0 0 5px}.event p{margin:0 0 6px}.event a{color:#8a672c;font-weight:bold}.looking{max-width:930px;margin:45px auto 0;padding:30px 34px;background:var(--navy);color:white}.looking h3{color:white;font-size:30px;margin:.15em 0}.looking p:last-child{margin-bottom:0}.past{max-width:930px;margin:65px auto 0}.past h2{font-size:34px}.dark{background:var(--navy);color:#f6f0e6}.dark h2,.dark h3{color:white}.videos{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1150px;margin:auto}.videos article{border:1px solid rgba(255,255,255,.18);padding:18px;background:rgba(255,255,255,.04)}video{width:100%;height:auto;aspect-ratio:16/9;background:#000}.videos h3{font-size:25px;margin:17px 0 3px}.videos p{margin:0}.videos small{opacity:.75}.contact{text-align:center;max-width:900px;margin:auto}.contact p{max-width:720px;margin:0 auto 16px}.email{font-size:14px;margin-top:18px!important;color:#69645b}footer{background:#0b2034;color:#ddd2bf;text-align:center;padding:34px 20px;font-size:13px}footer img{height:72px;width:auto;filter:grayscale(1) brightness(2.5);opacity:.8}@media(max-width:760px){.top{height:68px}.brand img{height:48px}.brand span{font-size:15px}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;padding:24px;background:var(--paper);flex-direction:column;border-bottom:1px solid #ddd2bf}nav.open{display:flex}.section{padding:68px 22px}.split,.split.reverse,.photo-row,.videos{grid-template-columns:1fr}.split figure{order:-1}.event{grid-template-columns:72px 1fr;gap:18px}.family{max-height:none}.hero{min-height:auto;padding-top:55px}.photo-row img{max-height:none}}

/* Responsive YouTube embeds */
.videos iframe {display:block; width:100%; aspect-ratio:16 / 9; height:auto; border:0; border-radius:10px; background:#111;}
