@font-face{font-family:Inter;src:url('/assets/Inter.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#faf8f3;color:#103e46;font:16px/1.65 Inter,system-ui}a{color:inherit}button,input,select{font:inherit}header,main,footer{max-width:1180px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:23px;text-decoration:none}.brand img{width:54px;height:54px;border-radius:16px}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}h1{font-size:clamp(38px,6vw,72px);line-height:1.08;letter-spacing:-.045em;margin:22px 0}h2{font-size:32px;line-height:1.2;letter-spacing:-.025em}h3{font-size:20px;line-height:1.3}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#497980;font-weight:700}.lead{font-size:20px;color:#456269;max-width:600px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:55px 0 80px}.hero-art{position:relative;display:flex;justify-content:center;gap:18px;background:radial-gradient(ellipse,#f4d9b6,transparent 70%);padding:40px 0}.phone{width:42%;max-width:220px;border:8px solid #123d45;border-radius:36px;box-shadow:0 26px 55px #123d4525}.phone:nth-child(2){transform:translateY(35px)}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 22px;background:#103e46;color:white;text-decoration:none;font-weight:600;cursor:pointer}.secondary{background:#e7efeb;color:#103e46}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.note{font-size:13px;color:#6c7f80}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:28px;background:white;border:1px solid #e8ebe6;border-radius:22px}.card p{color:#597075}.symbol{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:#edf2ed;border-radius:16px;color:#527b67;font-size:26px}.warm{background:#f5e6d3;color:#a77242}.section{padding:55px 0}.network{background:#e8eeea;border-radius:26px;padding:40px}.network .grid{margin-top:24px}.network .card{background:#f8faf7}.steps{counter-reset:step}.steps h3:before{counter-increment:step;content:counter(step) ' · ';color:#6e9380}footer{margin-top:50px;border-top:1px solid #e1e6df;color:#67807f;font-size:13px}details{padding:18px 0;border-bottom:1px solid #dde4dd}summary{cursor:pointer;font-weight:600}.admin-shell{max-width:1100px}input,select{width:100%;border:1px solid #cddbd3;border-radius:10px;background:white;padding:12px;margin-top:6px;color:#103e46}label{display:block;font-size:14px;font-weight:600;margin:16px 0}button:disabled{opacity:.5;cursor:wait}.login{max-width:440px;margin:40px auto}.hidden{display:none!important}.status{padding:14px 18px;background:#e6efea;border-radius:12px;margin:12px 0}.status:empty{display:none}.error{background:#fae7df;color:#8d3424}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:5px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:16px 10px;border-bottom:1px solid #e4e9e2;vertical-align:top}th{color:#6c827b;font-size:12px;text-transform:uppercase}td button{font-size:12px;padding:8px 10px;margin:3px}.table-wrap{overflow:auto}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.toolbar h1{font-size:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.badge{display:inline-block;border-radius:30px;background:#eaf0ea;padding:3px 9px;font-size:12px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px}@media(max-width:760px){header,main,footer{padding:18px}header{align-items:flex-start}.brand{font-size:19px}nav{gap:12px}.hero{grid-template-columns:1fr;padding:20px 0 60px;gap:0}.hero-art{margin-top:15px}.grid{grid-template-columns:1fr}.section{padding:30px 0}.network{padding:24px}.form-grid{grid-template-columns:1fr}.phone{max-width:190px}.lead{font-size:18px}h2{font-size:27px}}
main.legal{max-width:820px}main.legal h1{font-size:38px}main.legal h2{font-size:24px;margin-top:32px}main.legal footer{padding:22px 0}

/* Mainz panorama from the original StadtGebet design reference. */
.city-hero{position:relative;padding:54px 34px 70px;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,rgba(250,248,243,.94) 0%,rgba(250,248,243,.83) 45%,rgba(250,248,243,.2) 100%),url('/assets/mainz-panorama.jpg') center/cover no-repeat;box-shadow:inset 0 -50px 60px #faf8f3}.city-hero .hero-art{background:none}.hero-community{font-weight:600;color:#456269;max-width:460px}.verse{margin:24px 0 28px;padding:0 0 0 18px;border-left:3px solid #c5ac8c}.verse p{font-family:Georgia,serif;font-style:italic;font-size:25px;line-height:1.45;margin:0 0 8px}.verse cite{font-style:normal;font-size:13px;color:#536f70}textarea{width:100%;font:inherit;color:#103e46;border:1px solid #cddbd3;border-radius:10px;padding:12px;resize:vertical;margin-top:6px}.region-settings{margin-bottom:24px}.background-preview{display:block;width:100%;max-width:680px;max-height:260px;object-fit:cover;border-radius:16px;margin-top:18px}#design-status{font-size:14px;color:#325f4d}@media(max-width:760px){.city-hero{padding:28px 20px 48px;background:linear-gradient(rgba(250,248,243,.82),rgba(250,248,243,.9)),url('/assets/mainz-panorama.jpg') center/cover no-repeat}.verse p{font-size:23px}}

.member-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:220px}.member-actions button{margin:0;flex:1 1 150px}select{padding:12px;border:1px solid #ccd6d2;border-radius:10px;background:white;font:inherit;width:100%}

.hero .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.hero .actions .button{text-align:center;padding:13px 12px}@media(max-width:900px){.hero .actions{grid-template-columns:1fr}}
