@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}:root{--color-navy:#0a1628;--color-navy-mid:#112240;--color-blue:#1e3a8a;--color-blue-light:#2d5fda;--color-gold:#c9a227;--color-gold-light:#e8c456;--color-purple:#6b21a8;--color-purple-light:#8b3ec8;--color-off-white:#f8f5f0;--color-cream:#fdf9f4;--color-text:#1a1a2e;--color-text-muted:#4a5568;--color-border:#d4c5a9;--color-border-light:#e8e0d0;--font-display:"Cinzel", Georgia, serif;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000001f, 0 1px 2px #00000014;--shadow-md:0 4px 12px #00000026, 0 2px 4px #0000001a;--shadow-lg:0 8px 32px #0003, 0 4px 8px #0000001f;--shadow-gold:0 0 20px #c9a22740;--max-width:1100px;--nav-height:64px;--transition:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-off-white);font-size:1rem;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--color-blue);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-gold)}.site-nav{z-index:1000;height:var(--nav-height);background:var(--color-navy);border-bottom:2px solid var(--color-gold);align-items:center;display:flex;position:sticky;top:0}.nav-inner{max-width:var(--max-width);align-items:center;gap:0;width:100%;margin:0 auto;padding:0 1.5rem;display:flex}.nav-brand{font-family:var(--font-display);color:var(--color-gold);letter-spacing:.04em;white-space:nowrap;margin-right:1.5rem;font-size:.9rem;font-weight:600;text-decoration:none}.nav-brand:hover{color:var(--color-gold-light)}.nav-links{flex-wrap:wrap;align-items:center;gap:0;list-style:none;display:flex}.nav-links a{font-family:var(--font-body);letter-spacing:.03em;color:#ffffffd9;text-transform:uppercase;transition:color var(--transition);white-space:nowrap;padding:.25rem .7rem;font-size:.78rem;font-weight:500;text-decoration:none;display:block}.nav-links a:hover,.nav-links a.active{color:var(--color-gold)}.nav-auth{align-items:center;gap:.75rem;margin-left:auto;display:flex}.btn-signin{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);transition:all var(--transition);color:#ffffffd9;cursor:pointer;background:0 0;border:1px solid #ffffff4d;padding:.3rem .8rem;font-size:.78rem;font-weight:500}.btn-signin:hover{border-color:var(--color-gold);color:var(--color-gold)}.btn-signup{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);transition:all var(--transition);background:var(--color-gold);color:var(--color-navy);border:1px solid var(--color-gold);cursor:pointer;padding:.3rem .8rem;font-size:.78rem;font-weight:500}.btn-signup:hover{background:var(--color-gold-light)}.hero{background:var(--color-navy);color:#fff;padding:0 0 3rem}.hero-banner{object-fit:cover;object-position:center;width:100%;max-height:200px;display:block}.hero-body{max-width:var(--max-width);grid-template-columns:1fr 340px;align-items:start;gap:3rem;margin:0 auto;padding:2.5rem 1.5rem 0;display:grid}.hero-title{font-family:var(--font-display);color:var(--color-gold);letter-spacing:.04em;text-shadow:0 2px 8px #0006;grid-column:1/-1;margin-bottom:1.5rem;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700}.hero-text{grid-column:1}.hero-text p{color:#ffffffe6;margin-bottom:1.2rem;font-size:1rem;line-height:1.8}.hero-blockquote{border-left:3px solid var(--color-gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#c9a22714;margin:1.5rem 0;padding:1rem 1.2rem}.hero-blockquote p{font-family:var(--font-heading);font-size:1.05rem;font-style:italic;color:#ffffffe6!important;margin-bottom:.4rem!important}.hero-sidebar{flex-direction:column;grid-column:2;align-items:center;gap:1rem;display:flex}.hero-photo{border:3px solid var(--color-gold);border-radius:var(--radius-md);box-shadow:var(--shadow-gold), var(--shadow-lg);width:100%;max-width:320px}.hero-photo-caption{color:#ffffffb3;text-align:center;font-size:.82rem;font-style:italic}.hero-dedication{color:#ffffffa6;margin-top:1rem;font-size:.85rem;font-style:italic;line-height:1.6}.audio-player{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #c9a22759;flex-direction:column;gap:.4rem;margin:1.2rem 0;padding:.8rem 1rem;display:flex}.audio-player-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-gold);font-size:.75rem;font-weight:500}.audio-player audio{width:100%;accent-color:var(--color-gold)}.nav-cards-section{background:var(--color-off-white);padding:3rem 1.5rem}.nav-cards-inner{max-width:var(--max-width);margin:0 auto}.nav-cards-title{font-family:var(--font-display);color:var(--color-navy);text-transform:uppercase;letter-spacing:.12em;text-align:center;margin-bottom:2rem;font-size:1.1rem;font-weight:600}.nav-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;display:grid}.nav-card{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);text-align:center;transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);color:var(--color-text);background:#fff;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1.25rem;text-decoration:none;display:flex}.nav-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gold);color:var(--color-navy);transform:translateY(-3px)}.nav-card-icon{font-size:2rem;line-height:1}.nav-card-label{font-family:var(--font-heading);font-size:1rem;font-weight:600;line-height:1.3}.nav-card-desc{color:var(--color-text-muted);font-size:.8rem;line-height:1.4}.page-header{background:var(--color-navy);color:#fff;border-bottom:3px solid var(--color-gold);padding:2.5rem 1.5rem 2rem}.page-header-inner{max-width:var(--max-width);margin:0 auto}.page-title{font-family:var(--font-display);color:var(--color-gold);letter-spacing:.04em;margin-bottom:.4rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}.page-subtitle{color:#ffffffb3;font-size:1rem;font-style:italic}.page-content{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem 4rem}.content-section{margin-bottom:2.5rem}.content-section h2{font-family:var(--font-heading);color:var(--color-navy);border-bottom:2px solid var(--color-gold);margin-bottom:1.2rem;padding-bottom:.4rem;font-size:1.5rem}.content-section h3{font-family:var(--font-heading);color:var(--color-blue);margin-top:1.5rem;margin-bottom:.8rem;font-size:1.2rem}.content-section p{color:var(--color-text);margin-bottom:1rem}.letter-nav{flex-wrap:wrap;gap:.35rem;margin-bottom:2rem;display:flex}.letter-nav a{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:34px;height:34px;font-family:var(--font-display);color:var(--color-navy);transition:all var(--transition);justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.letter-nav a:hover{background:var(--color-navy);color:var(--color-gold);border-color:var(--color-navy)}.letter-section{margin-bottom:2.5rem}.letter-heading{font-family:var(--font-display);color:var(--color-gold);background:var(--color-navy);border-radius:var(--radius-sm);margin-bottom:.9rem;padding:.1rem .7rem;font-size:1.4rem;font-weight:700;display:inline-block}.family-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;display:grid}.family-card{border:1px solid var(--color-border-light);border-left:3px solid var(--color-blue);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text);transition:all var(--transition);background:#fff;padding:.7rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:block}.family-card:hover{border-left-color:var(--color-gold);background:var(--color-cream);color:var(--color-navy);box-shadow:var(--shadow-sm)}.tree-page{padding:0}.tree-outer{background:var(--color-off-white);padding:2.5rem 1.5rem 3rem;overflow-x:auto}.tree-forest{flex-direction:column;gap:3.5rem;display:flex}.tree-section-heading{font-family:var(--font-heading);color:var(--color-navy);border-bottom:2px solid var(--color-gold);margin:0 0 1.25rem;padding-bottom:.4rem;font-size:1.2rem}.tree-legend{color:#555;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:2rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.ls{border:2px solid var(--color-gold);border-radius:3px;flex-shrink:0;width:20px;height:13px;display:inline-block}.ls.navy{background:var(--color-navy)}.ls.white{background:#fff}.ls.blue{background:#dce8ff;border-color:#6888cc}.ls.gray{background:#eee;border-color:#bbb}.tree-section{padding-bottom:.5rem;overflow-x:auto}.tree-root{flex-direction:column;align-items:center;padding:.5rem 1rem;display:inline-flex}.tree-node{flex-direction:column;align-items:center;display:flex;position:relative}.node-body{flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.couple-row{align-items:center;gap:5px;display:flex}.cx{color:var(--color-gold);flex-shrink:0;padding:0 2px;font-size:1rem;font-weight:700}.remarriage-lbl{color:#999;text-align:center;margin-top:5px;font-size:.65rem;font-style:italic}.card{border:2px solid var(--color-gold);text-align:center;background:#fff;border-radius:6px;width:148px;padding:7px 10px;font-size:.74rem;line-height:1.35;position:relative}.card .n{color:var(--color-navy);font-size:.78rem;font-weight:700;display:block}.card .d{color:#888;margin-top:2px;font-size:.67rem;display:block}.card.root{background:var(--color-navy);border-color:var(--color-gold)}.card.root .n{color:var(--color-gold)}.card.root .d{color:#9ab}.card.spouse{background:#dce8ff;border-color:#6888cc}.card.spouse .n{color:#1a3a80}.card.priv{background:#eee;border-color:#bbb}.card.priv .n{color:#666}.card.priv .d{color:#aaa}.card.collapsible{cursor:pointer}.card.collapsible:after{content:"▾";color:var(--color-gold);font-size:.6rem;position:absolute;bottom:3px;right:5px}.tree-node.closed>.node-body .card.collapsible:after{content:"▸"}:root{--gap:44px}.tree-node.has-ch>.node-body:after{content:"";width:2px;height:var(--gap);background:var(--color-gold);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tree-children{margin-top:var(--gap);flex-direction:row;justify-content:center;align-items:flex-start;gap:14px;display:flex}.tree-node.closed>.node-body:after,.tree-node.closed>.tree-children{display:none!important}.tree-children>.tree-node{position:relative}.tree-children>.tree-node:before{content:"";left:50%;top:calc(-1 * var(--gap));width:2px;height:var(--gap);background:var(--color-gold);position:absolute;transform:translate(-50%)}.tree-children>.tree-node:after{content:"";top:calc(-1 * var(--gap));background:var(--color-gold);height:2px;position:absolute;left:0;right:0}.tree-children>.tree-node:first-child:after{left:50%}.tree-children>.tree-node:last-child:after{right:50%}.tree-children>.tree-node:first-child:last-child:after{display:none}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.gallery-item{border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition);background:#fff;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-gold);transform:translateY(-2px)}.gallery-item img{object-fit:cover;width:100%;height:200px}.gallery-item-caption{color:var(--color-text-muted);padding:.8rem 1rem;font-size:.85rem}.btn{font-family:var(--font-body);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;border:2px solid #0000;padding:.7rem 1.6rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.btn-gold{background:var(--color-gold);color:var(--color-navy);border-color:var(--color-gold)}.btn-gold:hover{background:var(--color-gold-light);border-color:var(--color-gold-light);color:var(--color-navy);box-shadow:0 4px 16px #c9a22766}.btn-outline{color:var(--color-gold);border-color:var(--color-gold);background:0 0}.btn-outline:hover{background:var(--color-gold);color:var(--color-navy)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;background:var(--color-cream);transition:all var(--transition);cursor:pointer;padding:3rem 2rem}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-gold);background:#fff}.upload-zone p{color:var(--color-text-muted);font-size:.95rem}.approval-banner{border-radius:var(--radius-md);color:#92400e;background:#fef3c7;border:1px solid #f59e0b;margin-bottom:2rem;padding:1rem 1.4rem;font-size:.9rem}.site-footer{background:var(--color-navy);color:#ffffffa6;border-top:2px solid var(--color-gold);text-align:center;padding:2rem 1.5rem}.footer-inner{max-width:var(--max-width);flex-direction:column;align-items:center;gap:.6rem;margin:0 auto;display:flex}.footer-brand{font-family:var(--font-display);color:var(--color-gold);letter-spacing:.06em;font-size:.95rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:.3rem .8rem;display:flex}.footer-links a{color:#ffffff80;text-transform:uppercase;letter-spacing:.04em;transition:color var(--transition);font-size:.78rem;text-decoration:none}.footer-links a:hover{color:var(--color-gold)}.footer-copy{color:#ffffff59;font-size:.76rem}@media (max-width:900px){.hero-body{grid-template-columns:1fr}.hero-title{grid-column:1}.hero-sidebar{flex-flow:wrap;grid-column:1;justify-content:center}}@media (max-width:640px){.nav-inner{gap:0}.nav-brand{margin-right:.8rem;font-size:.8rem}.nav-links{display:none}.page-content{padding:1.5rem 1rem 3rem}.family-grid,.nav-cards,.gallery-grid{grid-template-columns:1fr}.hero-body{padding:1.5rem 1rem 0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
