:root{--brand:#f2b134;--brand-dark:#a86e06;--brand-tint:#fdf0d5;--paper:#e8eef2;--cream:#f1f4f6;--ink:#18212b;--serif:'Archivo',system-ui,sans-serif;--sans:Inter,system-ui,sans-serif}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.04}h1 em,h2 em{font-style:normal;color:#d99413}
.eyebrow{font-family:'Archivo',sans-serif;letter-spacing:.16em;color:#d99413}
.page-hero{background:#0f1720;color:#fff}.page-hero h1{color:#fff;font-size:clamp(42px,5vw,68px)}.page-hero h1 em{color:#f2b134}.page-hero p{color:#c9d2da}.page-hero .eyebrow{color:#f2b134}
.page-hero .ph{background:transparent;color:#f2b134;border-color:#f2b134}
.type h3,.space h3,.group-card h3,.article h3,.detail h3{font-size:22px}.venuehero .card h2,.inquire h3,.give h3{font-size:32px}.split h2,.welcome h2,.visit h2{font-size:40px}.misfits h2{font-size:46px}
blockquote.pull{font-family:'Archivo',sans-serif;font-style:normal;font-weight:800;font-size:28px}
.page-hero .pic img,.arch img.main,.banner-photo,.pics img,.split .photo img,.venuehero,.type,.space,.inquire,.mosaic img,.give .box,.give-card,.give-layout .photo img,.visit .ext,.fact,.map,.contact-grid .ext,.group-card,.misfits img,.affil a,.article,.detail,.address-card img,.form-slot,.venuehero .card{border-radius:10px}.page-hero .pic img,.give-layout .photo img{border-radius:12px}
.btn{border-radius:6px;background:#f2b134;color:#0f1720;font-family:'Archivo',sans-serif}.btn.l{background:transparent;color:#18212b;box-shadow:inset 0 0 0 2px #18212b}.page-hero .btn.l{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.site-footer{background:#0f1720;color:#b9c4ce}.site-footer a{color:#b9c4ce}.site-footer h4{font-family:'Archivo',sans-serif;font-size:18px}
.page-hero .venuehero .card p{color:var(--body)}.page-hero .venuehero .card h2{color:var(--ink)}.page-hero .venuehero .card .eyebrow{color:var(--brand-dark)}.page-hero .venuehero .card .ph{background:#fff;color:var(--brand-dark);border-color:var(--brand)}
/* ---- Photo frame line (from Style C: 1px solid outline, 10px offset, no shadow) in E's gold ---- */
/* Outward frame where the photo has room around it (C's exact treatment) */
.page-hero .pic img,.give-layout .photo img,.split .photo img,.visit img,.address-card img,.misfits img,.pics img{outline:1px solid #d99413;outline-offset:10px}
.page-hero .pic img,.page-hero .give-layout .photo img{outline-color:#f2b134}
/* Inset frame where the photo is full-bleed, clipped by a rounded card, or packed in a tight grid */
.hero>img,.venuehero>img,.space>img,.step>img,.rentcard>img,.banner-photo img,.mosaic img,.misfit img{outline:1px solid rgba(242,177,52,.95);outline-offset:-12px}
.mosaic img{outline-offset:-8px}

/* ---- Rent hero card: readable text over photo (dark scrim, white type) ---- */
.venuehero::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(270deg,rgba(10,15,25,.9) 0%,rgba(10,15,25,.85) 38%,rgba(10,15,25,.45) 58%,rgba(10,15,25,0) 75%),linear-gradient(0deg,rgba(10,15,25,.55) 0%,rgba(10,15,25,0) 45%)}
.page-hero .venuehero .card{z-index:2;background:transparent;box-shadow:none}
.page-hero .venuehero .card h2{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.page-hero .venuehero .card p{color:#fff}
.page-hero .venuehero .card .eyebrow{color:#f2b134}
.page-hero .venuehero .card .ph{background:rgba(10,15,25,.6);color:#fff;border-color:#f2b134}
@media (max-width:900px){.venuehero::after{display:none}.page-hero .venuehero .card{background:#0f1720}.page-hero .venuehero .card h2{text-shadow:none}}

/* group listings */
.gl-h{font-size:24px;margin:34px 0 14px}.gl-prayer{margin-top:34px}.gl-h:first-child{margin-top:8px}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));grid-gap:16px;gap:16px}
.gl-card{border-radius:12px;padding:22px 24px;min-width:0}
.gl-card h4{font-size:20px;margin:0 0 6px;line-height:1.2}
.gl-card p{margin:0 0 6px;font-size:16px;line-height:1.5}
.gl-when{font-weight:700}
.gl-card a{font-weight:700;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}
.gl-light .gl-card{background:#fff;border:1px solid #e3d3b0}.gl-light .gl-when{color:#8a5a05}.gl-light .gl-who,.gl-light .gl-where{color:#3b424b}.gl-light .gl-card a{color:#8a5a05}

/* ---- Fixed photo heights (old Safari/Chrome safe: never rely on aspect-ratio alone) ---- */
.page-hero .pic img,.split .photo img,.venuehero>img,.space>img,.banner-photo img,.give-layout .photo img,.address-card img{display:block;width:100%;-o-object-fit:cover;object-fit:cover;aspect-ratio:auto;max-height:none}
.page-hero .pic img{height:420px}.split .photo img{height:405px}.venuehero>img{height:487px}.space>img{height:242px;-webkit-flex:none;flex:none}
.banner-photo img{height:380px}.give-layout .photo img{height:612px}.address-card img{height:400px}
.space{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}
@media (max-width:1100px){.page-hero .pic img{height:343px}.split .photo img{height:330px}.venuehero>img{height:400px}.space>img{height:200px}.banner-photo img{height:312px}.give-layout .photo img{height:500px}}
@media (max-width:900px){.page-hero .pic img{height:280px}.split .photo img{height:263px}.venuehero>img{height:263px}.space>img{height:220px}.banner-photo img{height:200px}.give-layout .photo img{height:438px}.address-card img{height:233px}}

/* Misfit toys cutout on cream: fixed height, contain, no frame/shadow */
.misfits img.misfit-img{display:block;width:100%;height:400px;max-height:none;-o-object-fit:contain;object-fit:contain;background:transparent;box-shadow:none;border-radius:0;outline:0;aspect-ratio:auto}
@media (max-width:900px){.misfits img.misfit-img{height:230px}}

/* Rent the Campus: capacity / pricing / dates list in the hall card */
.hf{list-style:none;margin:6px 0 0;padding:0}
.hf li{margin:0 0 10px;font-size:18px;line-height:1.35;color:#fff}
.hf .k{display:block;font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f2b134;margin-bottom:2px}
.hf a{color:#fff;text-decoration:underline;text-decoration-color:#f2b134}
.detail p{margin:0;font-size:17px;line-height:1.45}
@media (max-width:900px){.hf li{font-size:17px}}

/* Booking details: 4 cards -> 2x2 on desktop (1 column on phone comes from sozo.css) */
@media (min-width:901px){.details{grid-template-columns:repeat(2,1fr)}}
