/* KMARRY: a shared, responsive presentation layer for member and admin pages. */
:root{--wine:#742543;--rose:#f7ecee;--ink:#30292b;--muted:#716568;--line:#e9dfdc;--gold:#b78039;--paper:#faf7f2;--shadow:0 12px 40px #46273108;background:var(--paper);color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55}
body{background:var(--paper);min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
body>main{flex:1;width:100%;min-width:0}body>header{height:84px;padding:0 max(24px,calc((100vw - 1160px)/2));background:#fffdfaf5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);z-index:20;gap:20px}
.brand{font-size:23px;letter-spacing:.075em;white-space:nowrap;line-height:1.2}.brand span{padding:0 2px;color:#bd9252}.brand small{font-size:11px;font-weight:600;letter-spacing:.14em;margin-left:12px;padding-left:12px;border-left:1px solid var(--line);color:var(--muted);text-transform:uppercase}
.nav-links{gap:4px}.nav button{font-size:13px;font-weight:650;min-height:42px;border-radius:10px;padding:10px 13px}.nav .primary{background:var(--wine);color:white;padding-inline:20px}#logoutNav{border:1px solid var(--line);margin-left:8px}
body:has(#browse:not(.hidden)) #browseNav,body:has(#memberProfile:not(.hidden)) #browseNav,body:has(#interests:not(.hidden)) #interestsNav,body:has(#profile:not(.hidden)) #profileNav,body:has(#setup:not(.hidden)) #profileNav,body:has(#payment:not(.hidden)) #premiumNav{background:var(--rose);color:var(--wine)}
.shell,body>main{max-width:1160px;padding:40px 24px 64px;margin-inline:auto}.shell>section{min-width:0}.shell>section>.row.between{margin-bottom:22px;gap:16px}.section-title{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:500;letter-spacing:-.035em;line-height:1.18;margin:8px 0 16px}h2,h3{line-height:1.3}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.2em;font-weight:750}.muted,.hint{font-size:13px;line-height:1.7;color:var(--muted)}.row{gap:12px}
button,.button-link{min-height:46px;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:650;line-height:1.35;transition:background .18s,box-shadow .18s,transform .18s;color:#fff;background:var(--wine)}button:not(:disabled):hover,.button-link:hover{box-shadow:0 4px 14px #74254318;transform:translateY(-1px)}button:disabled{cursor:not-allowed}.secondary{color:var(--wine);background:#fff;border:1px solid #dfcdd3}.secondary:not(:disabled):hover{background:#fcf4f6}.danger{background:#fff2f1;color:#aa3043;border:1px solid #efcfd3}a{color:var(--wine);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b7803970;outline-offset:3px}button:focus:not(:focus-visible){outline:none}
.panel{padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}label{font-size:12px;letter-spacing:.01em;font-weight:650;color:#514349}.field{gap:8px;min-width:0}input,select,textarea{font-family:inherit;font-size:15px;min-width:0;min-height:48px;border:1px solid #ded4d3;border-radius:10px;padding:12px 13px;background:#fffcfa;line-height:1.4;transition:border-color .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:#bca9af}input:focus,select:focus,textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7425430b;background:#fff}input:disabled,select:disabled{background:#f4f1ef;color:#83787a}textarea{min-height:120px;width:100%;resize:vertical}input[type=file]{padding:9px;border-style:dashed;background:#faf7f2}input::file-selector-button{border:0;border-radius:6px;padding:8px 12px;background:var(--rose);color:var(--wine);margin-right:12px;font:inherit;font-size:13px}.notice{border:1px solid #eadcc7;background:#fbf6ed;border-radius:12px;padding:14px 18px;font-size:13px;color:#695131;line-height:1.65}.status{font-size:13px;overflow-wrap:anywhere}.status:empty{min-height:0;margin:16px 0}.form-grid{gap:22px}.form-divider{grid-column:1/-1;margin:12px 0 0;padding-top:22px;border-top:1px solid var(--line)}.form-divider:first-child{border:0;padding-top:0;margin-top:0}.form-divider h2{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 5px;letter-spacing:-.025em}.form-divider p{margin:0;color:var(--muted);font-size:13px}
/* The sign-in and registration forms share one quiet editorial welcome panel. */
#auth{display:grid;grid-template-columns:1.05fr 1fr;max-width:1040px;margin:12px auto 0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white;box-shadow:0 20px 70px #4627310a;align-items:stretch}.auth-story{background:#efe5dc;padding:46px 40px 34px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story .eyebrow{color:#875e37}.auth-story h2{font:500 clamp(34px,3.6vw,48px)/1.1 Georgia,serif;letter-spacing:-.045em;color:#5c293b;margin:24px 0 18px;max-width:330px}.auth-story h2 em{font-weight:400;color:#986743}.auth-story>p{font-size:14px;color:#755f5e;max-width:315px;line-height:1.8;margin:0}.union-art{width:100%;max-width:290px;align-self:center;margin:28px 0 16px;color:#a5764f}.story-note{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#795e50;margin-top:auto;padding-top:14px;display:flex;gap:10px;align-items:center}.story-note:before{content:"";height:1px;width:28px;background:currentColor}.auth-wrap{max-width:500px;margin:30px auto}.auth-wrap h1{font-size:36px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:16px 0}.auth-wrap .muted{margin-bottom:26px}#auth>.auth-wrap{border:0;box-shadow:none;border-radius:0;padding:48px 40px;margin:0;width:100%;align-self:center}#authForm>button{width:100%;margin-top:10px}#authForm>#authToggle{margin-top:12px;background:transparent}#authStatus:empty{margin:20px 0 0}#authForm .notice{font-size:12px;padding:12px 14px}#loginFields .field+.field{margin-top:20px!important}
/* Home: restrained typography, custom artwork, and a simple three-step introduction. */
.hero{background:#f0e5dc;color:var(--ink);border:1px solid #e5d7cd;border-radius:24px;padding:54px;grid-template-columns:1.2fr .8fr;gap:40px;min-height:380px}.hero h1{font-size:clamp(38px,4.6vw,60px);font-weight:500;color:#5c293b;letter-spacing:-.045em;max-width:580px;line-height:1.08}.hero p{font-size:15px;color:#77635f;line-height:1.8;max-width:485px}.hero button{margin-top:12px}.hero-art{font-size:initial;filter:none;display:flex;justify-content:center}.hero-art .union-art{max-width:310px;margin:0}#home>.section-title{margin-top:42px;font-size:30px}#home>.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:steps}#home>.cards article{counter-increment:steps;box-shadow:none;padding:26px;background:transparent;border-top:2px solid #dfc4b2}#home>.cards article:before{content:"0" counter(steps);color:var(--gold);font-family:Georgia,serif;font-size:25px}#home>.cards h3{font-size:17px;margin:18px 0 10px}#home>.notice{margin-top:24px}
/* Search and members */
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:end}#browse>.panel{box-shadow:none;padding:24px}#browse .filters>button:last-child{grid-column:-2/-1}#moreSearchFilters{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:20px;gap:18px}#moreSearchToggle{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}#moreSearchToggle:after{content:"+";font-size:22px;font-weight:400;line-height:1}#moreSearchToggle[aria-expanded=true]:after{content:"−"}#browseStatus{margin:20px 0 12px}.cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin-top:20px}.card{border-radius:18px;box-shadow:0 4px 18px #38232a05;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;min-width:0}.card:hover{border-color:#cfb8c0;box-shadow:0 12px 28px #38232a0b}.card>img{height:275px;object-position:center 24%;width:100%;display:block}.card-body{padding:20px;display:flex;flex:1;flex-direction:column;min-width:0}.card h3{font-family:Georgia,serif;font-size:23px;font-weight:500;letter-spacing:-.025em}.profile-name{min-height:0;line-height:1.3;border-radius:4px;color:var(--ink)}.profile-name:hover{color:var(--wine);box-shadow:none!important;transform:none!important;text-decoration:underline;text-underline-offset:4px}.card-body>.muted{font-size:12px}.card-body>p{overflow-wrap:anywhere}.tags{gap:6px;margin:12px 0}.tag{background:#f5efed;color:#745760;border-radius:6px;font-size:11px;padding:5px 8px}.card-actions{margin-top:auto;padding-top:16px;gap:8px}.card-actions button{min-height:44px;border-radius:10px;font-size:12px;line-height:1.35}.interest-state:disabled{opacity:1;cursor:default}.interest-pending{background:#f7d392;color:#644413}.interest-accepted{background:#267b55;color:white}.interest-rejected{background:#b9384c;color:white}.interest-tag.interest-pending{background:#fff1d6;color:#805000}.interest-tag.interest-accepted{background:#e1f4e8;color:#126436}.interest-tag.interest-rejected{background:#fde7e9;color:#9e2330}.cards>.panel:only-child{grid-column:1/-1;padding:40px;text-align:center;background:#fffdfb;box-shadow:none;border-style:dashed}.tabs{display:inline-flex;max-width:100%;padding:5px;background:#ece4e2;border-radius:13px;gap:4px;flex-wrap:wrap;margin:14px 0 22px}.tabs button{border-radius:9px;min-height:40px;background:transparent;color:#715c66;padding:10px 20px}.tabs button.active{background:white;color:var(--wine);box-shadow:0 2px 8px #41262d10}
/* Profile pages stay pages; desktop portraits are bounded. */
#setup{max-width:900px;margin:auto}#setup>.panel{padding:34px}#profileForm>button[type=submit]{min-width:190px;margin-top:12px}.profile-layout{grid-template-columns:260px minmax(0,1fr);gap:34px}.profile-photo{border-radius:14px;max-width:100%;object-position:center 24%}.profile-layout h2,#profileDetails>h2{font-family:Georgia,serif;font-weight:500;font-size:32px;letter-spacing:-.03em;margin:0 0 14px}.profile-layout>div{min-width:0}#memberProfile{max-width:1000px;margin:auto}#profileDetails{display:flow-root;padding:32px}#profileDetails>.profile-photo{float:left;display:block;width:290px;height:355px;max-width:100%;margin:0 32px 24px 0;object-fit:cover;border-radius:15px}#profileDetails>.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;overflow:hidden}.detail-grid p{font-size:13px;line-height:1.6;padding:10px 0;border-bottom:1px solid #f0e9e6;overflow-wrap:anywhere}.detail-grid strong{display:block;font-size:10px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}#profileDetails>h3{font-size:15px;margin:24px 0 8px}#profileDetails>p{font-size:14px;overflow-wrap:anywhere}#profileDetails>button{margin-top:10px}.profile-layout .notice{margin-top:22px}
/* Plans */
#payment{max-width:900px;margin:auto}#payment>.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}#payment .cards>.panel{padding:34px;position:relative;text-align:left;grid-column:auto;border-style:solid}#payment .cards>.panel:last-child{border:1px solid #b8895a;background:#fffcf7}#payment h2{font-size:19px;font-weight:600;margin:8px 0 20px}#payment .cards .section-title{font-family:Georgia,serif;font-size:54px;color:var(--wine);margin:18px 0}#payment .cards button{width:100%;margin-top:16px}.plan-kicker{color:var(--gold);font-size:10px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.plan-features{list-style:none;padding:18px 0;margin:20px 0 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.plan-features li{margin:10px 0;padding-left:21px;position:relative}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--wine)}
.modal{background:#24161ec2;backdrop-filter:blur(5px);padding:22px;z-index:50}.modal .panel{box-shadow:0 24px 100px #0003;border:0}.modal .row h2{font-family:Georgia,serif;font-weight:500;font-size:28px}.modal-photo{object-fit:contain}#contactDetails .row{margin-top:22px}.button-link{gap:8px}.button-link.secondary{color:var(--wine)}footer{border-top:1px solid var(--line);padding:24px!important;font-size:11px;letter-spacing:.035em;background:#f4eee8;color:#7a676b;margin-top:20px}
/* Admin shares the same controls, with denser overview tiles. */
.admin-page header{position:sticky;top:0}.admin-page .auth-wrap{margin:32px auto;padding:38px}.admin-page #adminLoginForm>button{width:100%;margin-top:8px}.admin-page .section-title{font-size:32px}.admin-page .overview{margin-top:28px}.admin-page .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.admin-page .stat-card{padding:22px 18px;border-radius:15px;border-color:var(--line);position:relative;overflow:hidden;box-shadow:var(--shadow);border-top:3px solid #d6b6a2}.admin-page .stat-label{font-size:11px;line-height:1.6;min-height:34px}.admin-page .stat-value{font-family:Georgia,serif;font-size:32px;font-weight:500;color:var(--wine)}.admin-page .stat-card:nth-last-child(-n+2){background:#f5ebe3}.admin-page .overview h2{font-family:Georgia,serif;font-weight:500;font-size:24px;margin-top:30px}.admin-page .religion-table th{background:#f3ece7;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.admin-page .religion-table td{font-size:13px}.admin-page .religion-table tbody tr:hover{background:#fffbf7}.admin-page .filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:24px;gap:18px;border-radius:18px}.admin-page .checks{grid-column:span 2;min-height:46px}.admin-page .checks input{min-height:auto;accent-color:var(--wine);width:17px;height:17px}.admin-page .filters>.row{grid-column:span 2;justify-content:flex-end}.admin-page #adminMembers>.panel{padding:24px;text-align:left;background:white;grid-column:auto;border-style:solid}.admin-page #adminMembers h3{font-family:Georgia,serif;font-size:24px;margin:0 0 14px;font-weight:500}.admin-page #adminMembers .row{gap:8px;margin-top:16px}.admin-page #adminMembers button{font-size:12px;min-height:40px;padding:10px 14px}.admin-page #dashboardView>.row>.section-title{margin-right:auto}.admin-page .edit-grid{gap:18px}.admin-page .member-photo{border-radius:14px}.admin-page .auth-wrap>.eyebrow{color:var(--gold)}
@media(min-width:721px) and (max-width:1000px){body>header{padding-inline:20px;gap:12px}.brand{font-size:20px}.nav button{padding-inline:9px;font-size:12px}.nav-links{gap:0}#auth>.auth-wrap{padding:34px 28px}.auth-story{padding:38px 28px}.admin-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{padding:36px;gap:20px}}
@media(max-width:720px){body>header{height:auto;min-height:72px;padding:16px 20px;gap:10px}.brand{font-size:22px}.brand small{font-size:9px;margin-left:7px;padding-left:7px}.shell,body>main{padding:26px 18px 44px}.section-title{font-size:29px}.nav .menu-toggle{min-width:44px;min-height:44px;background:var(--rose);color:var(--wine);border-radius:10px;font-size:21px;padding:8px 12px}.nav-links{min-width:220px;top:calc(100% + 14px);padding:10px;border-radius:14px;gap:4px;box-shadow:0 16px 45px #40233025}.nav-links button{min-height:44px;border-radius:8px;font-size:14px;padding:12px}#logoutNav{margin:4px 0 0}.panel{padding:22px;border-radius:16px}#auth{grid-template-columns:1fr;margin:0 auto;max-width:500px;border-radius:20px}.auth-story{padding:28px 26px;min-height:0}.auth-story h2{font-size:34px;margin:16px 0 12px;max-width:300px}.auth-story>p{font-size:13px;max-width:330px}.auth-story .union-art,.story-note{display:none}#auth>.auth-wrap{padding:30px 26px}.auth-wrap h1{font-size:32px}.auth-wrap .muted{margin-bottom:22px}.hero{padding:30px;min-height:0;grid-template-columns:1fr}.hero h1{font-size:40px}.hero-art{display:none}.hero p{font-size:14px}#home>.cards{grid-template-columns:1fr;gap:12px}#home>.cards article{padding:22px}#home>.cards h3{margin-top:12px}.filters,.admin-page .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#browse>.panel{padding:20px}#moreSearchFilters{grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;gap:16px}#moreSearchFilters>.field:last-child{grid-column:1/-1}#browse .filters>button:last-child{grid-column:1/-1}input,select,textarea{font-size:16px;min-height:48px;padding:12px 10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card>img{height:210px}.card-body{padding:14px}.card h3{font-size:21px}.card-actions{flex-direction:column}.card-actions button{flex:auto;width:100%;min-height:44px}.card .tags{gap:4px}.tag{font-size:10px;padding:4px 6px}.form-grid{grid-template-columns:1fr;gap:20px}.form-divider{grid-column:1/-1}#setup>.panel{padding:24px 20px}#profileForm>button[type=submit]{width:100%}.profile-layout{grid-template-columns:1fr;gap:24px}.profile-layout>div:first-child{max-width:280px;width:100%;margin:auto}.profile-photo{max-width:100%}#profileDetails{padding:22px}#profileDetails>.profile-photo{float:none;width:100%;max-width:300px;height:auto;aspect-ratio:4/5;margin:0 auto 24px}#profileDetails>.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}#profileDetails>h2{font-size:29px}#payment>.cards{grid-template-columns:1fr;gap:18px}#payment .cards>.panel{padding:28px}#payment .cards .section-title{font-size:48px}.tabs{display:flex}.tabs button{flex:1;padding:10px 12px;font-size:13px}.modal{padding:12px}.modal .panel{padding:22px;max-height:calc(100dvh - 24px)}.admin-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-page .stat-card{padding:18px 14px}.admin-page .stat-value{font-size:28px}.admin-page .filters{padding:20px}.admin-page .filters>.row,.admin-page .checks{grid-column:1/-1;justify-content:flex-start}.admin-page #adminMembers{grid-template-columns:1fr}.admin-page .auth-wrap{padding:28px;margin:12px auto}.admin-page header>a{font-size:11px;text-align:right}.admin-page .section-title{font-size:28px}.admin-page .edit-grid{grid-template-columns:1fr}}
@media(max-width:400px){.shell,body>main{padding-inline:14px}.cards{grid-template-columns:1fr}.card>img{height:300px}.card-body{padding:20px}.card-actions{flex-direction:row}.auth-story{padding:25px 22px}.auth-story h2{font-size:31px}#auth>.auth-wrap{padding:26px 22px}#profileDetails>.detail-grid{grid-template-columns:1fr}.admin-page .brand{font-size:17px}.admin-page .brand small{display:none}.filters label{font-size:11px}.filters select{font-size:14px}}
@media(max-width:400px){.filters select{font-size:16px}#moreSearchToggle{padding-inline:10px;gap:6px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:hover,.button-link:hover{transform:none!important}}
