/* Services, Membership, Contact pages */

/* Services: eye-led group headers */
.svc-group { display: grid !important; grid-template-columns: 120px 1fr; grid-template-rows: auto auto; column-gap: 28px; align-items: end; margin: 72px auto 26px !important; }
.svc-group:first-child { margin-top: 0 !important; }
.svc-group .svc-eye { grid-row: 1 / span 2; margin: 0; align-self: center; }
.svc-group .svc-eye img { width: 120px; height: auto; }
.svc-group h2 { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin: 0; font-size: clamp(32px, 3.4vw, 46px); }
.svc-group p { margin: 6px 0 0; align-self: start; }
.svc-group--inspire h2 { color: var(--inspire); }
.svc-group--innovate h2 { color: var(--innovate); }
.svc-group--impact h2 { color: var(--impact); }
.svc-group--inspire + .cards > .wp-block-group h3 { color: var(--inspire); }
.svc-group--innovate + .cards > .wp-block-group h3 { color: var(--innovate); }
.svc-group--impact + .cards > .wp-block-group h3 { color: var(--impact); }
@media (max-width: 600px) {
	.svc-group { grid-template-columns: 80px 1fr; column-gap: 16px; }
	.svc-group .svc-eye img { width: 80px; }
}

/* Membership */
.slogan { font: 800 clamp(26px, 3vw, 38px)/1.1 var(--head); letter-spacing: -0.02em; color: var(--ink); margin-top: 1.2em; }
.cards--four > .wp-block-group:nth-child(4) h3 { color: var(--gold); }
.to-fill { font: 500 20px/1.4 var(--head); color: var(--ink); padding: 22px 26px; border: 2px dashed var(--gold); background: var(--cream); }
.ticks--one { columns: 1; }
.small { font-size: 16px; }
.fees td:first-child { font-family: var(--head); font-weight: 600; color: var(--ink); }
.fees tbody tr:hover { background: rgba(211,155,34,.08); }
.steps h3 { font-weight: 800; }
.bank h3 { color: #fff; font-size: 22px; margin-bottom: 18px; }
.bank strong { font: 400 12px/1 var(--btn); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.bank p { margin-bottom: 14px !important; line-height: 1.5; }

/* Contact */
.contact-cards .event-card:nth-child(3) p a { color: var(--ink); text-decoration: none; }
.contact-cards .event-card:nth-child(3) p a:hover { color: var(--innovate); }
.wpcf7 .form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 24px; }
.wpcf7 label { font: 400 13px/1.6 var(--btn); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); display: block; }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 textarea { margin-top: 6px; color: var(--ink); text-transform: none; letter-spacing: 0; }
.wpcf7 textarea { min-height: 180px; }
.wpcf7 p { margin-bottom: 18px; }
.wpcf7 input[type=submit]:hover { background: var(--ink); }
.sec--dark .wpcf7 label, .sec--dark .stay { color: #f3efe6; }
.sec--dark .wpcf7 input[type=submit] { background: var(--gold); }
.sec--dark .wpcf7 input[type=submit]:hover { background: #b9861a; }
.stay .wpcf7-list-item { margin: 0; }
.stay label { text-transform: none !important; letter-spacing: 0 !important; font: 400 18px/1.5 var(--body) !important; display: flex !important; gap: 10px; align-items: center; }
.stay input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--gold); }
.wpcf7-spinner { vertical-align: middle; }

/* Classic-theme group wrapper: target cards through .wp-block-group__inner-container too */
.cards { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; }
.cards > .wp-block-group__inner-container > .wp-block-group { background: #fff; padding: 30px 28px; margin: 0; transition: transform .2s, box-shadow .2s; }
.cards > .wp-block-group__inner-container > .wp-block-group:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,.07); }
.cards > .wp-block-group__inner-container > .wp-block-group h3 { font-size: 23px; font-weight: 600; margin-bottom: .45em; }
.cards > .wp-block-group__inner-container > .wp-block-group p { font-size: 18px; color: var(--muted); margin: 0; }
.cards > .wp-block-group__inner-container > .wp-block-group:nth-child(1) h3 { color: var(--inspire); }
.cards > .wp-block-group__inner-container > .wp-block-group:nth-child(2) h3 { color: var(--innovate); }
.cards > .wp-block-group__inner-container > .wp-block-group:nth-child(3) h3 { color: var(--impact); }
.cards > .wp-block-group__inner-container > .wp-block-group:nth-child(4) h3 { color: var(--gold); }
.svc-group--inspire + .cards h3 { color: var(--inspire) !important; }
.svc-group--innovate + .cards h3 { color: var(--innovate) !important; }
.svc-group--impact + .cards h3 { color: var(--impact) !important; }
.cards--four { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; margin-top: 28px; }

.steps > .wp-block-group__inner-container > .wp-block-group { counter-increment: step; border-top: 3px solid var(--gold); padding-top: 22px; margin: 0; }
.steps > .wp-block-group__inner-container > .wp-block-group::before { content: "0" counter(step); font: 800 46px/1 var(--head); color: var(--gold); display: block; margin-bottom: 10px; }
.steps { margin: 36px auto !important; }
.steps p { font-size: 18px; }

.svc-group > .wp-block-group__inner-container { display: contents; }
.bank > .wp-block-group__inner-container > p:last-child { margin-bottom: 0 !important; }

/* Global fix: .sec > * width limits don't apply through the display:contents wrapper. */
.sec > .wp-block-group__inner-container > * { max-width: var(--wrap); margin-left: auto; margin-right: auto; }
.sec--narrow > .wp-block-group__inner-container > * { max-width: 780px; }
.sec > .wp-block-group__inner-container > .wp-block-buttons { margin-top: 1.4em; }

@media (max-width: 600px) {
	.fees th, .fees td { padding: 12px 8px; font-size: 16px; }
	.fees td:last-child { white-space: normal; }
}
