:root{--hm-navy:#132947;--hm-navy-deep:#0e2138;--hm-teal:#0e746e;--hm-teal-dark:#075752;--hm-page:#f5f7fb;--hm-ink:#19283d;--hm-soft:#64748b;--hm-border:#e5eaf0}*{box-sizing:border-box}body{background:var(--hm-page);color:var(--hm-ink);min-height:100vh;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.hm-topbar{background:var(--hm-navy-deep);color:#fff}.hm-brand{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:750;letter-spacing:-.02em}.hm-brand:hover{color:#fff}.hm-brand-suffix{font-size:.59rem;letter-spacing:.12em;color:#c1d1df;border-left:1px solid #597087;padding-left:.75rem;margin-left:.3rem;font-weight:600}.hm-top-link,.hm-top-caption{color:#e8eef6;text-decoration:none;font-size:.88rem}.hm-top-link:hover{color:#fff}.hm-eyebrow{color:var(--hm-teal);letter-spacing:.12em;font-size:.8rem;font-weight:750;text-transform:uppercase;margin-bottom:.5rem}.btn-primary{background:var(--hm-teal);border-color:var(--hm-teal)}.btn-primary:hover,.btn-primary:focus{background:var(--hm-teal-dark);border-color:var(--hm-teal-dark)}.btn-outline-primary{border-color:var(--hm-teal);color:var(--hm-teal)}.btn-outline-primary:hover{background:var(--hm-teal);border-color:var(--hm-teal)}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,.hm-sidebar-link:focus-visible{outline:3px solid #80cac5;outline-offset:2px}.card,.hm-panel{border-radius:1rem}.hm-panel{background:#fff;border:1px solid var(--hm-border);box-shadow:0 6px 18px #16284208;padding:1.5rem}.hm-app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 150px)}.hm-app-sidebar{background:#fff;border-right:1px solid var(--hm-border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem}.hm-sidebar-kicker{padding:0 .75rem;text-transform:uppercase;letter-spacing:.12em;color:#7b8b9e;font-size:.68rem;font-weight:800}.hm-sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.hm-sidebar-link{color:#475569;text-decoration:none;padding:.8rem .9rem;border-radius:.7rem;display:flex;align-items:center;gap:.8rem;font-weight:600;font-size:.88rem}.hm-sidebar-link:hover{background:#edf5f3;color:var(--hm-teal-dark)}.hm-sidebar-link.is-active{background:#e3f2ef;color:#0c625d}.hm-sidebar-icon{font-size:1.05rem;width:20px;text-align:center}.hm-sidebar-note{margin-top:auto;padding:.8rem .75rem;color:#78869a;font-size:.74rem;line-height:1.7;border-top:1px solid var(--hm-border)}.hm-sidebar-note span{font-size:.65rem}.hm-app-content{padding:2.1rem 2.4rem;min-width:0;max-width:1600px;width:100%;margin:0 auto}.hm-stat{background:white;border:1px solid var(--hm-border);border-radius:1rem;padding:1.15rem;position:relative;box-shadow:0 5px 14px #14243a06;min-height:122px}.hm-stat-number{font-size:2.05rem;font-weight:750;letter-spacing:-.045em;line-height:1.1}.hm-stat-icon{position:absolute;right:1rem;top:.95rem;color:#7b9d9b;font-size:1.3rem}.hm-table>thead>tr>th{background:#f9fafc;font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;color:#64748b;border-color:var(--hm-border);padding:.95rem 1rem;font-weight:750}.hm-table td{padding:1.05rem 1rem;border-color:var(--hm-border)}.hm-status{display:inline-flex;align-items:center;border-radius:100px;padding:.3rem .65rem;font-size:.7rem;font-weight:750;line-height:1.2;white-space:nowrap;color:#475569;background:#eef2f7}.hm-status-approved,.hm-status-active{background:#ddf5e9;color:#146c43}.hm-status-pending,.hm-status-changes_requested{background:#fff3d6;color:#8f5a08}.hm-status-rejected,.hm-status-suspended{background:#ffebed;color:#a32633}.hm-portrait{width:100%;max-width:420px;height:360px;object-fit:cover;object-position:top center;border-radius:.85rem;background:#e7edf2;display:block}.hm-photo-empty{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;color:#8190a4}.hm-photo-review-card{background:#fafbfc;border-radius:.85rem;border:1px solid var(--hm-border);overflow:hidden}.hm-photo-review-image{display:block;width:100%;height:220px;object-fit:contain;background:#e6edf1}.hm-empty{padding:2.4rem;text-align:center;color:#64748b;border:1px dashed #cdd9e4;border-radius:.7rem}.hm-empty-icon{font-size:2.5rem;color:#a0b0be}.hm-dashboard-photo{width:100px;height:116px;object-fit:cover;object-position:top;border-radius:.8rem;background:#e5ecee;border:1px solid var(--hm-border)}.hm-footer{font-size:.84rem;color:#768398;border-top:1px solid var(--hm-border)}.form-label{font-weight:650}@media(max-width:991px){.hm-app-layout{grid-template-columns:1fr}.hm-app-sidebar{padding:.7rem 1rem;border-bottom:1px solid var(--hm-border);border-right:0}.hm-sidebar-kicker,.hm-sidebar-note{display:none}.hm-sidebar-nav{flex-direction:row;overflow-x:auto;gap:.3rem}.hm-sidebar-link{white-space:nowrap;padding:.65rem .8rem}.hm-app-content{padding:1.4rem 1rem}.hm-brand-suffix{display:none}}@media(max-width:480px){.hm-brand{font-size:1.05rem}.hm-stat-number{font-size:1.75rem}.hm-portrait{height:300px}}

/* v0.3.1 — private approved member directory */
.hm-directory-card{background:#fff;border:1px solid var(--hm-border);border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 20px #1b30430b}
.hm-directory-cover{height:265px;background:#e8eff3;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hm-directory-cover img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.hm-directory-silhouette{color:#8da4b1;background:linear-gradient(145deg,#e4edf2,#f4f7f8);display:flex;align-items:center;justify-content:center;font-size:5rem;width:100%;height:100%}
.hm-directory-info{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.hm-directory-tags{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.hm-directory-tags>span{background:#eff5f5;color:#236961;padding:.28rem .65rem;border-radius:2rem;font-size:.78rem;font-weight:600}
.hm-detail-photo{display:block;width:100%;height:420px;object-fit:cover;object-position:center 25%;background:#e8eff3;border-radius:.7rem}
.hm-detail-grid{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);column-gap:1rem;row-gap:.8rem;margin:0}
.hm-detail-grid dt{color:#63758a;font-weight:600}.hm-detail-grid dd{margin:0;overflow-wrap:anywhere}
.hm-bio{white-space:normal;overflow-wrap:anywhere;line-height:1.65;color:#304155}
.hm-replacement-preview{display:block;width:120px;height:145px;object-fit:cover;object-position:top center;border-radius:.7rem;background:#e9eff3}
@media(max-width:600px){.hm-detail-photo{height:330px}.hm-detail-grid{grid-template-columns:1fr;row-gap:.25rem}.hm-detail-grid dd{margin-bottom:.7rem}}


/* HolyMatrimonial staging homepage, SEO and preference matching */
.hm-brand-mark{width:37px;height:37px;background:#fff;border-radius:50%;padding:3px;flex:none}
.hm-public-nav{display:flex;gap:1.2rem;align-items:center}
.hm-public-nav a{color:#eaf2f4;text-decoration:none;font-size:.87rem;font-weight:600}
.hm-public-nav a:hover,.hm-footer a:hover{color:#e5b766}
.btn-gold{background:linear-gradient(130deg,#cf9a3f,#aa7528);color:#fff;border-color:#ad7b34;font-weight:700}
.btn-gold:hover{background:#bd8b36;color:#fff}
.hm-footer a{color:#52647a;text-decoration:none;font-size:.83rem}
.hm-public-home{background:#fff}
.hm-home-hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:stretch;min-height:550px;background:linear-gradient(115deg,#fffaf3 0%,#fff 70%);overflow:hidden}
.hm-home-hero-copy{padding:clamp(2rem,6vw,6rem) clamp(1.3rem,6vw,6rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hm-home-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.1;font-size:clamp(2.25rem,4.7vw,4.8rem);color:#102c46;max-width:700px}
.hm-home-hero h1 em{color:#b48234;font-style:normal}
.hm-home-intro{font-size:1.15rem;line-height:1.65;color:#425269;max-width:550px;margin-top:1.2rem}
.hm-home-hero-visual{position:relative;min-height:450px;background:linear-gradient(90deg,#fff4e3 0%,transparent 15%),url('/assets/hm-couple-hero.jpg') center / cover no-repeat}
.hm-hero-caption{position:absolute;right:1.7rem;bottom:1.7rem;padding:.6rem .9rem;max-width:270px;background:#102a43cc;border:1px solid #fff5;color:#fff;border-radius:8px;font-family:Georgia,serif;line-height:1.3;font-size:1.1rem}
.hm-home-motto{margin-top:1.7rem;font-family:Georgia,serif;font-style:italic;color:#577066}
.hm-home-motto span{font-family:system-ui,sans-serif;font-size:.78rem;color:#64748b;font-style:normal}
.hm-home-pillars{max-width:1250px;margin:0 auto;padding:1.9rem 1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:#fff}
.hm-home-pillars>div{padding:0 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;border-right:1px solid #e7e6e0}
.hm-home-pillars>div:last-child{border:0}
.hm-home-pillars span{font-size:1.8rem;color:#b58336}
.hm-home-pillars strong{color:#183047}.hm-home-pillars small{color:#617184}
.hm-home-section{max-width:1220px;margin:0 auto;padding:4.5rem 1.4rem}
.hm-section-title{color:#102b45;font-size:clamp(1.85rem,3vw,2.7rem);font-family:Georgia,serif;font-weight:700;text-align:center;line-height:1.2;margin:.4rem 0 1rem}
.hm-section-subtitle{text-align:center;color:#657185;max-width:650px;margin:0 auto 2.5rem}
.hm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.hm-steps article{border:1px solid #e1e9ec;border-radius:1rem;background:#fff;padding:1.5rem;box-shadow:0 12px 32px #13294708}
.hm-step-num{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e2f1ec;color:#05625b;font-weight:800;margin-bottom:1rem}
.hm-steps h3{font-size:1.15rem;font-weight:750;color:#17324b}.hm-steps p{font-size:.92rem;line-height:1.6;color:#6b7788;margin:0}
.hm-feature-section{max-width:none;background:#f5f9f7;padding:4.8rem max(1.4rem,calc((100% - 1170px) / 2))}
.hm-feature-section p{font-size:1.04rem;line-height:1.75;color:#47586a}
.hm-feature-quote{border-radius:1rem;background:linear-gradient(125deg,#12344d,#0c695f);padding:3rem;text-align:center;color:#fff;box-shadow:0 22px 45px #12344d28}
.hm-feature-quote>span{font-family:Georgia,serif;color:#f3c775;font-size:5rem;line-height:.8;display:block}
.hm-feature-quote p{font-family:Georgia,serif;font-size:1.9rem!important;color:#fff!important;margin:1rem 0}
.hm-feature-quote small{color:#a8dfd0}
.hm-home-price{border:1px solid #d9e4e5;border-radius:1rem;padding:2rem;height:100%;display:flex;flex-direction:column;gap:.8rem}
.hm-home-price-premium{border-color:#d1a65b;background:#fffbf2}
.hm-home-price h3{font-family:Georgia,serif;color:#122c45}.hm-home-price p{color:#5b6c7d;line-height:1.6;flex:1}
.hm-home-price .btn{align-self:flex-start}
.hm-topic-links{display:flex;gap:.65rem;flex-wrap:wrap}
.hm-topic-links a{display:inline-block;background:#f0f7f5;color:#0c625d;border-radius:999px;border:1px solid #d7e8e4;padding:.7rem 1rem;text-decoration:none;font-size:.88rem;font-weight:650}
.hm-topic-links a:hover{background:#dcefeb}
.hm-public-cta{background:linear-gradient(115deg,#0a3a54,#0a746a);padding:4.5rem 1rem;color:#fff}
.hm-public-cta h2{font-family:Georgia,serif;font-weight:700;font-size:clamp(1.7rem,3vw,2.5rem)}
.hm-public-cta p{color:#d7ece6}
.hm-seo-hero{background:linear-gradient(130deg,#edf8f4,#fffaf1);padding:3.6rem clamp(1.4rem,5vw,5rem);border-radius:1.4rem;margin:1rem 0 2.5rem}
.hm-seo-hero h1{font-family:Georgia,serif;color:#122b44;font-size:clamp(2rem,4vw,3.3rem);font-weight:750}
.hm-seo-hero .lead{max-width:850px;color:#536476;line-height:1.6}
.hm-fit-chip{background:#def2ec;color:#075b54;padding:.35rem .65rem;border-radius:50px;font-size:.79rem;font-weight:800;white-space:nowrap}
.hm-fit-reasons{padding-left:1.25rem;line-height:1.45;color:#456052;font-size:.83rem}
.hm-fit-reasons li{padding-bottom:.3rem}
@media(max-width:1100px){.hm-public-nav{gap:.5rem}.hm-public-nav a{font-size:.76rem}.hm-home-hero-copy{padding:3rem 2.3rem}}
@media(max-width:860px){.hm-home-hero{grid-template-columns:1fr}.hm-home-hero-visual{min-height:360px}.hm-home-pillars,.hm-steps{grid-template-columns:repeat(2,1fr)}.hm-home-pillars>div:nth-child(2){border:0}.hm-public-nav{display:none}}
@media(max-width:530px){.hm-home-hero-copy{padding:2.4rem 1.1rem}.hm-home-hero-visual{min-height:310px}.hm-home-pillars,.hm-steps{grid-template-columns:1fr}.hm-home-pillars>div{border:0;border-bottom:1px solid #e7e6e0;padding:1rem}.hm-home-section{padding:3rem 1.2rem}.hm-feature-quote{padding:1.8rem}}
/* HolyMatrimonial v0.6 gallery: responsive approved/pending cards and restricted thumbnails */
.hm-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,195px),1fr));gap:1rem}
.hm-gallery-card{overflow:hidden;border:1px solid #dfe6eb;border-radius:14px;background:#fff}
.hm-gallery-card>img{width:100%;height:230px;object-fit:cover;display:block;background:#f8f8f8}
.hm-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.hm-gallery-thumbs a{display:block;border:1px solid #e1e5e8;border-radius:10px;overflow:hidden}
.hm-gallery-thumbs img{display:block;object-fit:cover;width:100%;height:92px}

/* v0.8.0: member engagement, moderation descriptions. */
.hm-report-description{white-space:normal;overflow-wrap:anywhere;}
.hm-directory-info form{width:100%;}
.hm-directory-info .btn{white-space:normal;}

/* Growth Engine v1.0: homepage conversion and mobile refinements */
.hm-home-join-note{margin-top:1rem;color:#315951;font-size:.91rem;font-weight:600;line-height:1.6}
.hm-home-search{padding-top:3.4rem;padding-bottom:3.4rem}
.hm-discovery-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:1rem;padding:1.25rem;border:1px solid #d6e7e2;border-radius:18px;background:#f6fbf9}
.hm-discovery-options>div{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .75rem}
.hm-discovery-options strong{color:#163b39;font-size:1rem}.hm-discovery-options span{color:#516b68;font-size:.83rem}
.hm-discovery-options .btn{white-space:nowrap}
.hm-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
.hm-faq-grid article{border:1px solid #dfe7ea;border-radius:14px;padding:1.5rem;background:#fff}
.hm-faq-grid h3{font-size:1.1rem;color:#173b44;margin:0 0 .75rem}.hm-faq-grid p{margin:0;color:#576c76;line-height:1.65}
.hm-signup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.25rem 0 1.5rem}
.hm-signup-steps span{display:block;font-size:.81rem;line-height:1.4;padding:.8rem;background:#f1f8f5;border:1px solid #d9e9e1;border-radius:10px;text-align:center;color:#194c42;font-weight:600}
@media(max-width:900px){.hm-discovery-options{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-discovery-options .btn{width:100%}}
@media(max-width:600px){.hm-discovery-options,.hm-faq-grid{grid-template-columns:1fr}.hm-discovery-options>div{padding:.4rem}.hm-signup-steps{grid-template-columns:1fr}.hm-home-search{padding-top:2.6rem;padding-bottom:2.6rem}}

/* Growth Engine v1.1 — conversion-first hero, responsive discovery and signup */
.hm-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.hm-hero-actions .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.hm-discovery-options .hm-discovery-choice{display:flex;flex-direction:column;gap:.35rem;padding:.85rem;border-radius:12px;text-decoration:none;min-width:0;transition:background .15s ease}
.hm-discovery-options .hm-discovery-choice:hover,.hm-discovery-options .hm-discovery-choice:focus-visible{background:#e5f3ee}
.hm-discovery-options .hm-discovery-choice strong{color:#12534d}
.hm-discovery-privacy{text-align:center;color:#526e69;font-size:.82rem;margin:1rem 0 0}
.hm-register-promise{border-left:4px solid #0e746e;background:#f0faf6;color:#234a45;padding:.85rem 1rem;border-radius:8px;line-height:1.6}
.hm-register-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.hm-register-submit{min-height:48px}
@media(min-width:861px){.hm-home-hero{max-width:1500px;min-height:510px}.hm-home-hero-copy{padding:clamp(2rem,4vw,4rem) clamp(1.5rem,5vw,5rem)}.hm-home-hero h1{font-size:clamp(2.5rem,4vw,4.15rem)}}
@media(max-width:860px){.hm-home-hero-copy{padding:2.1rem 1.4rem 1.65rem}.hm-home-hero h1{font-size:clamp(2rem,6.6vw,3.25rem);line-height:1.11;margin-bottom:.8rem}.hm-home-intro{font-size:1rem;line-height:1.55;margin-bottom:.3rem}.hm-home-hero-visual{min-height:260px;background-position:center 38%}.hm-home-motto{margin-top:.6rem}.hm-home-join-note{margin-top:.7rem}.hm-home-pillars{padding:1rem}.hm-home-section{padding:2.8rem 1.2rem}.hm-discovery-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hm-home-hero-copy{padding:1.5rem 1.2rem 1.2rem}.hm-home-hero h1{font-size:clamp(1.85rem,8vw,2.55rem);line-height:1.12}.hm-home-intro{font-size:.97rem;line-height:1.52}.hm-hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:1rem}.hm-hero-actions .btn{width:100%;font-size:1rem}.hm-home-hero-visual{min-height:210px}.hm-home-join-note{font-size:.78rem}.hm-home-motto{font-size:.76rem}.hm-discovery-options{grid-template-columns:1fr}.hm-discovery-options .btn{white-space:normal}.hm-register-field-grid{grid-template-columns:1fr;gap:0}.hm-register-submit{width:100%}.hm-signup-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.hm-signup-steps span{font-size:.71rem;padding:.6rem .3rem}}
