@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/montserrat-latin-400-800.woff2) format("woff2")}:root{color-scheme:light;--ink: #17343a;--muted: #63777b;--paper: #f4f8f7;--surface: #ffffff;--deep: #123f49;--deep-2: #1c5962;--brand-navy: #123157;--aqua: #b9e4dc;--gold: #f0bf58;--line: #d8e4e2;--shadow: 0 18px 50px rgba(18, 63, 73, .1);font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;margin:0;background:radial-gradient(circle at 100% 0,rgba(185,228,220,.42),transparent 28rem),var(--paper);color:var(--ink)}button,input{font:inherit}[hidden]{display:none!important}button{-webkit-tap-highlight-color:transparent}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-card{width:min(100%,440px);padding:38px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.auth-church-logo{width:185px;height:auto}.auth-group-logo{display:block;width:min(100%,270px);height:auto;margin:0 auto 20px}.auth-card h1{margin:0;font-size:2rem;line-height:1.06}.auth-loading-card{max-width:320px;padding-block:30px}.auth-loading-card p{margin:0;color:var(--muted);font-weight:700}.auth-copy{margin:14px auto 24px;color:var(--muted);font-size:.92rem;line-height:1.55}.auth-primary,.auth-form button{width:100%;min-height:48px;border:0;border-radius:14px;background:var(--brand-navy);color:#fff;font-weight:800;cursor:pointer}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:.78rem}.auth-divider:before,.auth-divider:after{height:1px;background:var(--line);content:""}.auth-form{display:grid;gap:14px;text-align:left}.auth-form label{display:grid;gap:7px;color:var(--ink);font-size:.82rem;font-weight:800}.auth-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.auth-create{margin-top:18px}.auth-create p{margin:0 0 10px;color:var(--muted);font-size:.82rem;line-height:1.45}.auth-secondary,.auth-link-button{width:100%;min-height:44px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}.auth-secondary{border:1px solid var(--brand-navy);background:#fff;color:var(--brand-navy)}.auth-link-button{margin-top:10px;border:0;background:transparent;color:var(--brand-navy)}.auth-message{min-height:1.5em;margin:18px 0 0;color:var(--deep-2);font-size:.84rem;line-height:1.45}.app-shell{width:min(100%,1120px);min-height:100vh;margin:0 auto;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 18px}.topbar-brand{display:flex;min-width:0;align-items:center;gap:20px}.church-logo{width:clamp(150px,24vw,220px);height:auto}.directory-logo{width:clamp(145px,20vw,180px)}.topbar-brand>div{padding-left:20px;border-left:1px solid var(--line)}.eyebrow{margin:0 0 4px;color:var(--deep-2);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.topbar h1{margin:0;font-family:inherit;font-size:clamp(1.45rem,5vw,2rem);line-height:1}.avatar-button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:var(--deep);color:#fff;font-size:.82rem;font-weight:800;text-decoration:none;cursor:pointer}.intro{display:flex;position:relative;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;padding:28px;border-radius:28px;background:linear-gradient(128deg,rgba(255,255,255,.1),transparent 48%),var(--brand-navy);color:#fff;box-shadow:var(--shadow)}.intro-copy{position:relative;z-index:1}.intro-brand{display:grid;flex:0 0 320px;place-items:center;margin:-28px -8px -28px 0;align-self:stretch;background:#ffffff0a}.group-logo{width:min(100%,300px);height:auto;filter:drop-shadow(0 14px 24px rgba(0,0,0,.18))}.privacy-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;color:var(--aqua);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.privacy-label span{color:var(--gold);font-size:.65rem}.intro h2,.dates-header h2{max-width:560px;margin:0;font-family:inherit;font-size:clamp(2rem,8vw,4rem);line-height:.98;letter-spacing:-.04em}.intro p{max-width:540px;margin:14px 0 0;color:#d9ebe8;font-size:1rem;line-height:1.55}.secondary-button{flex:0 0 auto;min-height:46px;padding:0 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#fff;color:var(--deep);font-weight:800}.tab-list{display:flex;gap:6px;max-width:100%;width:fit-content;margin:24px 0 18px;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:999px;background:#ffffffbf;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab{min-height:42px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800}.tab.is-active{background:var(--deep);color:#fff}.search-box{display:flex;align-items:center;min-height:56px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 28px #123f490d}.search-icon{padding-left:18px;color:var(--deep-2);font-size:1.5rem}.search-box input{width:100%;min-height:54px;padding:0 18px 0 12px;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem}.search-box:focus-within{border-color:var(--deep-2);box-shadow:0 0 0 4px #1c59621f}.result-row{display:flex;min-height:52px;align-items:center;justify-content:space-between}.result-row p{margin:0;color:var(--muted);font-size:.88rem;font-weight:700}.text-button{border:0;background:transparent;color:var(--deep-2);font-weight:800}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-card{display:grid;grid-template-columns:60px 1fr;gap:14px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:inherit;text-align:left;box-shadow:0 10px 30px #123f490e;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.member-card:hover,.member-card:focus-visible{border-color:#9fc1bc;outline:0;box-shadow:0 16px 36px #123f491a;transform:translateY(-2px)}.member-photo,.dialog-photo{display:grid;place-items:center;overflow:hidden;border-radius:18px;background:var(--photo, var(--aqua));color:var(--deep);font-family:inherit;font-size:1.35rem;font-weight:700}.member-photo{width:60px;height:68px}.member-photo img,.dialog-photo img{width:100%;height:100%;object-fit:cover}.member-copy{min-width:0;align-self:center}.member-copy h3{margin:0 0 5px;overflow:hidden;font-size:1.03rem;text-overflow:ellipsis;white-space:nowrap}.member-copy p{margin:0;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.member-copy .next-date{margin-top:7px;color:var(--deep-2);font-size:.76rem;font-weight:800}.empty-state{padding:64px 20px;text-align:center}.empty-icon{display:grid;width:58px;height:58px;margin:0 auto 14px;place-items:center;border-radius:50%;background:#e2efed;color:var(--deep);font-size:1.7rem}.empty-state h3,.empty-state p{margin:0}.empty-state p{margin-top:6px;color:var(--muted)}.dates-header{padding:18px 0 22px}.dates-header h2{max-width:700px;color:var(--deep);font-size:clamp(2rem,7vw,3.5rem)}.date-list{display:grid;gap:12px}.date-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.date-tile{padding:9px 5px;border-radius:14px;background:#e3f0ee;color:var(--deep);text-align:center}.date-tile strong,.date-tile span{display:block}.date-tile span{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.date-tile strong{font-family:inherit;font-size:1.55rem}.date-copy h3,.date-copy p{margin:0}.date-copy p{margin-top:3px;color:var(--muted);font-size:.82rem}.date-badge{padding:7px 10px;border-radius:999px;background:#fff2d6;color:#745817;font-size:.72rem;font-weight:800}.campsite-view,.external-view{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.external-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--line)}.external-header h2{margin:0;color:var(--deep);font-family:inherit;font-size:clamp(1.35rem,4vw,2rem)}.external-header a{flex:0 0 auto;padding:10px 14px;border-radius:999px;background:var(--deep);color:#fff;font-size:.78rem;font-weight:800;text-decoration:none}.external-frame{display:block;width:100%;height:min(76vh,820px);border:0;background:#fff}.signup-page{padding:clamp(24px,5vw,44px)}.signup-header{max-width:620px;margin-bottom:28px}.signup-header h2{margin:0 0 8px;color:var(--deep);font-family:inherit;font-size:clamp(1.35rem,6.2vw,3.5rem);line-height:1}.signup-header h2 span{display:block}.signup-header>p:last-child{margin:0;color:var(--muted)}.signup-list{display:grid;gap:14px}#social-upcoming{margin-top:14px}.signup-link{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--deep);font-size:1rem;font-weight:800;line-height:1.35;text-decoration:none;box-shadow:0 8px 24px #123f4914;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.signup-link:hover,.signup-link:focus-visible{border-color:var(--brand-gold);box-shadow:0 12px 30px #123f4924;transform:translateY(-2px)}.signup-link:focus-visible{outline:3px solid rgba(218,157,39,.3);outline-offset:3px}.signup-link-static:hover{border-color:var(--line);box-shadow:0 8px 24px #123f4914;transform:none}.signup-status{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#123f4914;color:var(--deep);font-size:.8rem;font-weight:800;white-space:nowrap}.signup-arrow{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:var(--brand-navy);color:#fff;font-size:1.1rem}.friendsgiving-link>span:first-child{display:grid;gap:4px}.friendsgiving-link,.donut-link{border-color:var(--brand-navy);background:var(--brand-navy);color:#fff}.friendsgiving-link:hover,.friendsgiving-link:focus-visible,.donut-link:hover,.donut-link:focus-visible{border-color:var(--brand-navy);background:#1c5962}.friendsgiving-link small{color:#ffffffc7;font-size:.78rem;font-weight:600}.friendsgiving-link .signup-arrow{background:#fff;color:var(--brand-navy)}.fifth-sunday-link{border-color:#d99d27;background:#f5cf74;color:var(--brand-navy)}.fifth-sunday-link>span:first-child{display:grid;gap:4px}.fifth-sunday-link small{color:#123157c2;font-size:.78rem;font-weight:700}.fifth-sunday-link:hover,.fifth-sunday-link:focus-visible{border-color:#c18417;background:#edbd55}.fifth-sunday-link .signup-arrow{background:var(--brand-navy);color:#fff}.donut-link>span:first-child{display:grid;gap:4px}.donut-link small{color:#ffffffc7;font-size:.78rem;font-weight:600}.donut-link .signup-arrow{background:#fff;color:var(--brand-navy)}.operation-christmas-child-link{border-color:#a52132;background:linear-gradient(135deg,#0d5b42,#197447 58%,#a52132 58%,#a52132);color:#fff}.operation-christmas-child-link>span:first-child{display:grid;gap:4px}.operation-christmas-child-link small{color:#ffffffd4;font-size:.78rem;font-weight:600}.operation-christmas-child-link:hover,.operation-christmas-child-link:focus-visible{border-color:#0d5b42;background:linear-gradient(135deg,#0a4d37,#125f3b 58%,#8d1728 58%,#8d1728)}.operation-christmas-child-link .signup-arrow{background:#fff;color:#a52132}.christmas-party-link{position:relative;isolation:isolate;overflow:hidden;border:2px solid #176842;background:#fff;color:#123157}.christmas-party-link>span:first-child{position:relative;z-index:1;display:grid;gap:4px}.christmas-party-link small{color:#123157c2;font-size:.78rem;font-weight:600}.christmas-party-link:before{position:absolute;z-index:-1;top:-10px;right:-8px;left:-8px;height:29px;content:"";opacity:.95;background:radial-gradient(circle at 11px 21px,#bd2438 0 3px,transparent 3.5px),radial-gradient(circle at 42px 14px,#bd2438 0 3px,transparent 3.5px),radial-gradient(circle at 73px 21px,#bd2438 0 3px,transparent 3.5px),radial-gradient(ellipse at 15px 11px,#176842 0 7px,transparent 7.5px),radial-gradient(ellipse at 31px 19px,#0c5535 0 8px,transparent 8.5px),radial-gradient(ellipse at 49px 10px,#1e7a4c 0 8px,transparent 8.5px),radial-gradient(ellipse at 65px 18px,#0c5535 0 8px,transparent 8.5px);background-size:93px 30px;background-repeat:repeat-x}.christmas-party-link:hover,.christmas-party-link:focus-visible{border-color:#0c5535;background:#f7fbf8}.christmas-party-link .signup-arrow{position:relative;z-index:1;background:#176842;color:#fff}.friendsgiving-card{padding:clamp(22px,4vw,34px);border:1px solid rgba(18,49,87,.2);border-radius:22px;background:linear-gradient(145deg,#123157,#1c5962);color:#fff;box-shadow:0 16px 34px #1231572e}.back-to-social{display:inline-block;margin-bottom:22px;color:#fff;font-size:.82rem;font-weight:800;text-decoration:none}.back-to-social:hover,.back-to-social:focus-visible{text-decoration:underline}.friendsgiving-only .intro,.friendsgiving-only .tab-list{display:none}.friendsgiving-only main{padding-top:28px}.friendsgiving-heading{max-width:720px}.friendsgiving-heading .eyebrow{color:#f5cf74}.friendsgiving-heading h3{margin:0 0 10px;font-size:clamp(1.8rem,6vw,2.7rem);line-height:1}.friendsgiving-heading>p:last-child{margin:0;color:#ffffffe0;line-height:1.55}.friendsgiving-summary{margin:22px 0;padding:13px 15px;border-radius:14px;background:#ffffff1f;font-size:.9rem;font-weight:700}.friendsgiving-form{display:grid;gap:16px}.friendsgiving-form>label{display:grid;gap:8px;font-size:.82rem;font-weight:800}.friendsgiving-form input,.friendsgiving-form select{width:100%;min-height:48px;padding:11px 13px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:#fff;color:var(--ink)}.friendsgiving-form fieldset{min-width:0;padding:0;margin:0;border:0}.friendsgiving-form legend{margin-bottom:6px;font-size:.9rem;font-weight:800}.field-help,.venmo-note{margin:0;color:#ffffffc7;font-size:.78rem;line-height:1.5}.dish-options{display:grid;gap:8px;margin-top:12px}.dish-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#ffffff14;cursor:pointer}.dish-option:has(input:checked){border-color:#f5cf74;background:#f0bf582e}.dish-option.is-full{opacity:.55;cursor:not-allowed}.dish-option input{width:18px;min-height:18px;margin:0}.dish-option strong{font-size:.9rem}.dish-option small{color:#ffffffc2;font-size:.72rem;font-weight:700;text-align:right}.friendsgiving-actions{display:flex;flex-wrap:wrap;gap:10px}.friendsgiving-submit,.friendsgiving-cancel,.friendsgiving-export{min-height:48px;padding:12px 16px;border:0;border-radius:12px;font-weight:800;cursor:pointer}.lunch-option{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:#ffffff14;cursor:pointer}.lunch-option input{width:18px;min-height:18px;margin:2px 0 0}.lunch-option span{display:grid;gap:3px}.lunch-option small{color:#ffffffc7;font-size:.75rem}.event-location{display:grid;gap:5px;margin-top:22px;padding:14px 16px;border-radius:14px;background:#ffffff1f}.event-location a{color:#f5cf74;font-size:.88rem;font-weight:700}.friendsgiving-submit{background:#f5cf74;color:#3d2d08}.friendsgiving-cancel,.friendsgiving-export{background:#ffffff24;color:#fff}.friendsgiving-message{min-height:1.3em;margin:0;color:#f5cf74;font-size:.84rem;font-weight:700}.friendsgiving-venmo{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding:14px 16px;border-radius:14px;background:#fff;color:#008cff;font-weight:800;text-decoration:none}.friendsgiving-venmo strong{color:var(--ink);font-size:.86rem}.venmo-note{margin-top:9px}.friendsgiving-export{width:100%;margin-top:18px;border:1px solid rgba(255,255,255,.36)}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;color:var(--muted);font-size:.75rem}.app-footer p{margin:0}.member-dialog{width:min(calc(100% - 28px),520px);max-height:calc(100vh - 28px);padding:0;border:0;border-radius:28px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #0a252a59}.member-dialog::backdrop{background:#0a252a9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.member-dialog article{position:relative;padding:28px}.close-button{position:absolute;top:16px;right:16px;z-index:1;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:#ffffffe6;color:var(--deep);font-size:1.65rem;line-height:1;box-shadow:0 5px 20px #123f491f}.dialog-identity{display:grid;grid-template-columns:96px 1fr;align-items:end;gap:18px;margin-bottom:24px}.dialog-photo{width:96px;height:112px;font-size:2rem}.dialog-identity h2{margin:0;font-family:inherit;font-size:2rem;line-height:1}.dialog-identity p{margin:8px 0 0;color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.quick-actions a{padding:12px 8px;border-radius:14px;background:#e4f1ef;color:var(--deep);font-size:.82rem;font-weight:800;text-align:center;text-decoration:none}.detail-list{display:grid;gap:0;margin:0}.detail-row{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.detail-row dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.detail-row dd{margin:0;overflow-wrap:anywhere;font-size:.92rem;line-height:1.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:680px){.auth-screen{padding:14px}.auth-card{padding:28px 22px;border-radius:24px}.app-shell{padding-inline:14px}.topbar{align-items:flex-start}.topbar-brand{align-items:flex-start;flex-direction:column;gap:10px}.church-logo{width:165px}.directory-logo{width:150px}.topbar-brand>div{padding-left:0;border-left:0}.intro{align-items:start;flex-direction:column;padding:24px 22px;border-radius:24px}.intro-brand{width:calc(100% + 44px);min-height:170px;margin:6px -22px -24px;background:#ffffff0d}.group-logo{width:280px}.member-grid{grid-template-columns:1fr}.member-card{grid-template-columns:56px 1fr}.member-photo{width:56px;height:62px}.date-card{grid-template-columns:58px 1fr}.date-badge{grid-column:2;width:fit-content}.tab-list{width:100%}.tab{flex:0 0 auto;padding-inline:12px}.external-header{align-items:flex-start;flex-direction:column;gap:12px}.external-frame{height:72vh}.app-footer{flex-direction:column;gap:6px}.member-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:28px 28px 0 0}.member-dialog article{padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.dialog-identity{grid-template-columns:82px 1fr}.dialog-photo{width:82px;height:96px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
