/*
Theme Name: Sertoma Casinos for Charity
Theme URI: https://sertoma.online
Author: New Inceptions
Description: Custom theme for the Sertoma Club of Broad Ripple (Casinos for Charity). Ported from the Sertoma Growth Engine design.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: sertoma-cfc
*/
:root{--red:#e11d48;--red-h:#be123c;--blue:#121a33;--blue-2:#1c2647;--accent:#5cc2ee;--surface:#f7f9fc;--line:#e3e8ef;--ink:#121a33;--muted:#5b6478;--radius:20px;--shadow:0 20px 45px -20px rgba(18,26,51,.35)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:'Outfit',ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}a:hover{color:var(--red-h)}
h1,h2,h3,h4{color:var(--blue);line-height:1.1;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:1.3rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:8px 14px;border-radius:8px}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;margin-bottom:.9em}
.eyebrow--light{color:var(--accent)}
.lead{font-size:1.2rem;color:var(--muted);max-width:680px}
.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(225,29,72,.1);color:var(--red);font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:999px;margin-bottom:22px;letter-spacing:.04em}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(225,29,72,.6);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:14px;font-weight:700;font-size:1rem;border:2px solid transparent;transition:transform .15s,background .15s,color .15s,border-color .15s;cursor:pointer;font-family:inherit;line-height:1.2}
.btn--sm{padding:10px 18px;font-size:.9rem;border-radius:999px}
.btn--red{background:var(--red);color:#fff;box-shadow:0 14px 30px -12px rgba(225,29,72,.55)}.btn--red:hover{background:var(--red-h);color:#fff;transform:translateY(-1px)}
.btn--outline{border-color:var(--blue);color:var(--blue);background:transparent}.btn--outline:hover{background:var(--blue);color:#fff}
.btn--white{background:#fff;color:var(--blue);border-color:var(--line)}.btn--white:hover{background:var(--surface);color:var(--blue)}
.btn--ghost{color:var(--blue);background:transparent;border-color:var(--line)}.btn--ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn--glass{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}.btn--glass:hover{background:rgba(255,255,255,.18);color:#fff}
.btn--block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn-row--center{justify-content:center}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.brand img{height:56px;width:auto}
.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.nav__list a{color:#4a5368;font-weight:500;font-size:.95rem}.nav__list a:hover,.nav__list .current-menu-item a{color:var(--red)}
.site-header__cta{display:flex;gap:10px}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--blue);margin:5px 0;transition:.2s}
.mobile-nav{border-top:1px solid var(--line);background:#fff;padding:16px 0 24px}
.mobile-nav .nav__list{flex-direction:column;gap:2px;margin-bottom:16px}.mobile-nav .nav__list a{display:block;padding:10px 0;font-size:1.05rem}
.mobile-nav .btn{margin-top:10px}
@media(max-width:1100px){.site-header .nav,.site-header__cta{display:none}.nav-toggle{display:block}}
@media(min-width:1101px){.mobile-nav{display:none!important}}
/* sections */
.section{padding:88px 0}.section--white{background:#fff}.section--tight{padding:56px 0}
.section--blue{background:var(--blue);color:#fff}.section--blue h2,.section--blue h3{color:#fff}.section--blue p{color:#c9d0e0}
.section-head{max-width:760px;margin-bottom:48px}.section-head--center{margin-left:auto;margin-right:auto;text-align:center}
.section-head p{font-size:1.12rem;color:var(--muted)}.section--blue .section-head p{color:#c9d0e0}
/* hero */
.hero{padding:72px 0 96px;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hero h1 .red{color:var(--red);display:block}
.hero__sub{font-size:1.25rem;color:var(--muted);max-width:560px;margin-bottom:6px}
.hero__media{position:relative}
.hero__media img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px;transform:rotate(2deg);box-shadow:var(--shadow)}
.hero__badge{position:absolute;left:-22px;bottom:-22px;background:#fff;padding:20px 24px;border-radius:20px;box-shadow:var(--shadow);max-width:250px;transform:rotate(-3deg);border:1px solid var(--line)}
.hero__badge strong{display:block;color:var(--red);font-size:1.9rem;font-weight:800;line-height:1.1}
.hero__badge span{color:var(--muted);font-size:.9rem;font-weight:500}
.hero__paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;max-width:560px}
.path{display:block;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--blue);transition:.15s}
.path:hover{border-color:var(--blue);transform:translateY(-2px);color:var(--blue)}
.path--primary{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 14px 30px -12px rgba(225,29,72,.55)}.path--primary:hover{background:var(--red-h);color:#fff;border-color:var(--red-h)}
.path b{display:block;font-size:1.1rem}.path small{opacity:.8;font-size:.86rem}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr;gap:56px}.hero{padding-top:40px}}
@media(max-width:480px){.hero__paths{grid-template-columns:1fr}}
/* stats */
.stats{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{text-align:center;padding:30px 12px;border-left:1px solid var(--line)}.stat:first-child{border-left:0}
.stat b{display:block;font-size:2.4rem;font-weight:800;color:var(--blue);line-height:1.1}
.stat span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media(max-width:700px){.stats__grid{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}.stat{border-top:1px solid var(--line)}.stat:nth-child(-n+2){border-top:0}}
/* cards */
.grid{display:grid;gap:24px}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.grid--3,.grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.2s}
.card:hover{border-color:rgba(225,29,72,.35);box-shadow:0 18px 40px -24px rgba(18,26,51,.35)}
.card--surface{background:var(--surface)}
.card--img{padding:12px}.card--img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-bottom:18px}.card--img .card__body{padding:0 12px 14px}
.card--dark{background:var(--blue);color:#fff;border-color:var(--blue)}.card--dark h3{color:#fff}.card--dark p,.card--dark li{color:#c9d0e0}
.card p{color:var(--muted)}
.icon{width:48px;height:48px;border-radius:14px;background:rgba(225,29,72,.1);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:18px;font-weight:800}
.card--dark .icon{background:rgba(255,255,255,.1);color:var(--accent)}
.ticks{list-style:none;margin:0 0 4px;padding:0}
.ticks li{position:relative;padding-left:28px;margin-bottom:10px;color:var(--muted)}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:rgba(225,29,72,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23e11d48' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat}
.card--dark .ticks li{color:#d6dbe7}.card--dark .ticks li::before{background-color:rgba(92,194,238,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%235cc2ee' stroke-width='2'/%3E%3C/svg%3E")}
.section--blue .ticks li{color:#d6dbe7}
/* packages */
.pkg{display:flex;flex-direction:column;position:relative}
.pkg__price{font-size:1.7rem;font-weight:800;color:var(--red);margin:4px 0 6px}.card--dark .pkg__price{color:var(--accent)}
.pkg__meta{font-size:.92rem;color:var(--muted);margin-bottom:18px}.card--dark .pkg__meta{color:#aab3c7}
.pkg .ticks{flex:1;margin-bottom:22px}
.pkg__tag{position:absolute;top:-13px;left:28px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.pkg__for{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted);margin-bottom:14px}.card--dark .pkg__for{color:var(--accent)}
@media(min-width:961px){.pkg--featured{transform:translateY(-12px);box-shadow:var(--shadow)}}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:26px}
.split--duo .duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split--duo .duo img{aspect-ratio:4/5}.split--duo .duo img:last-child{margin-top:48px}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:40px}.split .order-first{order:-1}}
.numbered{display:grid;gap:18px;margin:26px 0 30px}
.numbered div{display:flex;gap:16px;align-items:flex-start}
.numbered em{font-style:normal;flex:0 0 48px;height:48px;border-radius:12px;background:rgba(255,255,255,.07);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800}
.numbered b{display:block;color:#fff;font-size:1.08rem}
.link-arrow{font-weight:700;color:var(--accent);font-size:1.08rem}.link-arrow:hover{color:#fff}
/* uses */
.uses{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.uses span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;color:var(--blue);font-size:.95rem}
/* chips list */
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chips div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-weight:600;color:var(--blue);font-size:.95rem}
@media(max-width:860px){.chips{grid-template-columns:1fr 1fr}}@media(max-width:520px){.chips{grid-template-columns:1fr}}
/* check strip */
.checks{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px}
.checks img{border-radius:20px;aspect-ratio:16/10;object-fit:cover;width:100%}
@media(max-width:860px){.checks{grid-template-columns:1fr}}
/* quote */
.quote-placeholder{border:2px dashed var(--line);border-radius:22px;padding:36px;text-align:center;color:var(--muted)}
/* cta */
.cta{background:linear-gradient(135deg,var(--blue),#0b1022);border-radius:30px;padding:72px 32px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 15%,rgba(225,29,72,.22),transparent 60%)}
.cta>*{position:relative}.cta h2{color:#fff;max-width:760px;margin-left:auto;margin-right:auto}.cta p{color:#c9d0e0;max-width:620px;margin:0 auto}
/* page hero */
.page-hero{padding:80px 0 64px;background:linear-gradient(180deg,#fff,var(--surface));border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);max-width:900px}
/* faq */
.faq{max-width:860px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:0;padding:22px 40px 22px 0;font:inherit;font-weight:700;font-size:1.1rem;color:var(--blue);cursor:pointer;position:relative}
.faq__q::after{content:"+";position:absolute;right:6px;top:18px;font-size:1.6rem;color:var(--red);font-weight:500}
.faq__q[aria-expanded="true"]::after{content:"\2212"}
.faq__a{padding:0 0 22px;color:var(--muted)}
/* forms */
.form-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}
@media(max-width:900px){.form-layout{grid-template-columns:1fr}}
.side-cards{display:grid;gap:16px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.side-card b{display:block;color:var(--blue)}.side-card span{color:var(--muted);font-size:.93rem}
.side-card--dark{background:var(--blue);border-color:var(--blue)}.side-card--dark b{color:#fff}.side-card--dark a{color:var(--accent);font-weight:700;font-size:1.15rem}
.scfc-form,.form-done{background:#fff;border:1px solid var(--line);border-radius:26px;padding:36px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:22px}
.form-row--wide{grid-column:1/-1}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.scfc-form{padding:24px}}
.scfc-form label{display:block;font-weight:700;color:var(--blue);font-size:.9rem;margin-bottom:7px}
.req{color:var(--red)}
.scfc-form input,.scfc-form select,.scfc-form textarea{width:100%;padding:13px 15px;border:1px solid #d5dbe5;border-radius:12px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.scfc-form input:focus,.scfc-form select:focus,.scfc-form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,29,72,.15)}
.form-note{text-align:center;font-size:.85rem;color:var(--muted);margin:14px 0 0}
.form-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:14px 18px;border-radius:12px}
.form-done{text-align:center}.form-done__icon{width:56px;height:56px;border-radius:50%;background:rgba(225,29,72,.1);color:var(--red);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.6rem;font-weight:800}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.gallery figure{margin:0;overflow:hidden;border-radius:18px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.05)}
.gallery .tall{grid-row:span 2}.gallery .wide{grid-column:span 2}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}}
.video{aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;box-shadow:var(--shadow)}.video iframe{width:100%;height:100%;border:0}
.caption{text-align:center;color:var(--muted);font-size:.9rem;font-weight:600;margin-top:10px}
/* legal band + footer */
.legal-band{background:#fff7e6;border-top:1px solid #f5d9a6;border-bottom:1px solid #f5d9a6}
.legal-band p{margin:0;padding:18px 0;font-size:.95rem;color:#5c4512;text-align:center}
.legal-note{background:#fff7e6;border:1px solid #f5d9a6;border-radius:16px;padding:18px 22px;color:#5c4512}
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:64px 0 36px}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:44px}
.site-footer__brand img{height:72px;width:auto;margin-bottom:18px}
.site-footer__brand p{color:var(--muted);max-width:400px}
.site-footer h4{font-size:1rem;margin-bottom:16px}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:10px;color:var(--muted);font-size:.93rem}
.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--red)}
.break{word-break:break-all}
.social{display:flex;gap:10px}.social a{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.site-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:26px;font-size:.85rem;color:var(--muted)}
.site-footer__bottom p{margin:0}
@media(max-width:900px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}
@media(max-width:520px){.site-footer__grid{grid-template-columns:1fr}}
.prose{max-width:800px}.prose h2{margin-top:1.4em}
.center{text-align:center}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-40{margin-top:40px}
.rounded{border-radius:22px}

/* people-crop: keep heads in frame when photos are cropped */
.card--img img,.gallery img,.split img,.checks img,.hero__media img{object-position:50% 18%}

/* news */
.news-card a{color:inherit}.news-card h2.h3{font-size:1.25rem;margin:.3em 0 .4em}.news-card h2 a:hover{color:var(--red)}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--red)}
.prose img{border-radius:18px}.prose p{font-size:1.08rem}
.nav-links{display:flex;gap:10px;justify-content:center}.nav-links a,.nav-links span{padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
