:root{--cream:#fff7e8;--cream-deep:#f6e5c3;--gold:#c79a3b;--gold-soft:#ead29a;--burgundy:#6d1d2d;--burgundy-deep:#46101d;--brown:#4a2d1c;--ink:#241711;--muted:#70584a;--white:#fffdf7;--shadow:0 20px 60px rgba(70,16,29,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(109,29,45,.15);background:rgba(255,247,232,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-shell{align-items:center;display:flex;gap:24px;justify-content:space-between;margin:0 auto;max-width:1180px;padding:16px 20px}.brand{color:var(--burgundy);font-size:1.35rem;font-weight:800;letter-spacing:0}.nav-links{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}.nav-links a{border-radius:999px;color:var(--brown);font-size:.95rem;padding:8px 11px}.nav-links a:focus-visible,.nav-links a:hover{background:var(--burgundy);color:var(--white)}.hero,.page-section{margin:0 auto;max-width:1180px;padding:48px 20px}.hero{display:grid;grid-gap:30px;gap:30px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);min-height:680px;place-items:center}.eyebrow{color:var(--burgundy);font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{color:var(--burgundy-deep);line-height:1.05;margin:0}h1{font-size:clamp(2.8rem,7vw,5.7rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.35rem}p{color:var(--muted);font-size:1.06rem;line-height:1.65}.lead{color:var(--brown);font-size:1.28rem}.form-panel,.hero-card,.panel,.reunion-card{background:var(--white);border:1px solid rgba(109,29,45,.14);border-radius:8px;box-shadow:var(--shadow)}.hero-card{overflow:hidden;width:100%}.hero-photo{aspect-ratio:4/5;background:linear-gradient(135deg,var(--gold-soft),var(--cream));object-fit:cover;width:100%}.hero-caption{padding:22px}.ancestor-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.ancestor-pill{background:rgba(199,154,59,.18);border:1px solid rgba(199,154,59,.4);border-radius:8px;padding:14px}.ancestor-pill strong{color:var(--burgundy-deep);display:block}.ancestor-pill span{color:var(--muted);display:block;margin-top:4px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{align-items:center;background:var(--burgundy);border:1px solid var(--burgundy);border-radius:999px;color:var(--white);display:inline-flex;font-weight:800;justify-content:center;min-height:44px;padding:10px 18px}.button.secondary{background:transparent;color:var(--burgundy)}.carousel-shell{background:var(--burgundy-deep);border:8px solid var(--gold);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.carousel-media{aspect-ratio:16/9;background:#1c0b0f;object-fit:cover;width:100%}.carousel-caption{align-items:center;background:rgba(70,16,29,.95);color:var(--white);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px}.carousel-caption p{color:var(--cream);margin:0}.grid-2,.grid-3{display:grid;grid-gap:20px;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel,.panel,.reunion-card{padding:22px}.photo-slot{border:2px dashed rgba(109,29,45,.35);border-radius:8px;overflow:hidden}.photo-slot img{aspect-ratio:4/3;object-fit:cover;width:100%}.photo-slot figcaption{background:rgba(255,247,232,.94);color:var(--muted);font-size:.9rem;padding:10px}.form-grid{display:grid;grid-gap:16px;gap:16px}.form-grid label{color:var(--burgundy-deep);display:grid;font-weight:800;grid-gap:7px;gap:7px}.form-grid input,.form-grid select,.form-grid textarea{background:var(--white);border:1px solid rgba(109,29,45,.28);border-radius:8px;color:var(--ink);min-height:44px;padding:10px 12px;width:100%}.form-grid textarea{min-height:120px;resize:vertical}.notice{background:rgba(199,154,59,.18);border-left:5px solid var(--gold);border-radius:8px;color:var(--brown);padding:14px 16px}.gallery{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.site-footer{background:var(--burgundy-deep);color:var(--cream);margin-top:40px}.footer-shell{margin:0 auto;max-width:1180px;padding:32px 20px}.footer-shell p{color:var(--cream-deep);margin:6px 0 0}@media (max-width:860px){.gallery,.grid-2,.grid-3,.hero{grid-template-columns:1fr}.hero{min-height:unset;padding-top:32px}.nav-shell{align-items:flex-start;flex-direction:column}.nav-links{justify-content:flex-start}}