/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* =============================================================
   Design tokens
   ============================================================= */

:root {
  --color-teal:       #9fe3da;
  --color-teal-dark:  #6fc7bb;
  --color-teal-muted: #9fb3b0;
  --color-gold:       #f0c36a;
  --color-text:       #f1f5f4;
  --color-bg-dark:    #15232e;
  --color-bg-card:    #1c2f3a;
  --color-bg-tier:    #363f3a;
  --color-bg-level:   #233d49;

  /* Channel triples for rgba() tints */
  --teal-ch: 159, 227, 218;
  --gold-ch:  240, 195, 106;
  --bg-dark-ch: 21, 35, 46;
}

/* =============================================================
   Layout
   ============================================================= */

.ilhc {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
/*   font-family: "Hanken Grotesk", system-ui, sans-serif; */
  line-height: 1.6;
}

/* .ilhc h1,
.ilhc h2 {
  font-family: "Bricolage Grotesque", sans-serif;
  line-height: 1.08;
  letter-spacing: -0.01em;
}
 */

.ilhc .wp-block-columns {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: stretch;
}

.ilhc .wp-block-column {
  flex: 1 1 280px;
}

/* =============================================================
   Intro / header area
   ============================================================= */

.ilhc-kicker {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-teal);
  margin: 0 0 8px;
}

.ilhc-intro-p {
  max-width: 64ch;
  font-size: 1.02rem;
  color: var(--color-teal-muted);
}

.ilhc-intro-p strong {
  color: var(--color-text);
}

/* =============================================================
   Card
   ============================================================= */

.ilhc-card {
  position: relative;
  height: 100%;
  padding: 30px;
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 18px;
  box-sizing: border-box;
}

.ilhc-eyebrow {
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-teal);
  margin: 0 0 6px;
}

/* Badge: required / free / door */

.ilhc-req {
  position: absolute;
  top: 26px;
  right: 26px;
  display: inline-block;
  padding: 5px 11px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  margin: 0;
}

.ilhc-req--free {
  color: var(--color-teal);
  background: rgba(var(--teal-ch), 0.10);
  border: 1px solid rgba(var(--teal-ch), 0.28);
}

.ilhc-req--need {
  color: var(--color-gold);
  background: rgba(var(--gold-ch), 0.14);
  border: 1px solid rgba(var(--gold-ch), 0.40);
}

.ilhc-req--door {
  color: var(--color-teal-muted);
  background: transparent;
  border: 1px dashed var(--color-teal-muted);
}

/* Card headings & lede */

.ilhc h2 {
  color: var(--color-teal);
  margin: 0 0 12px;
}

.ilhc-lede {
  opacity: 0.92;
  margin: 0 0 20px;
}

/* =============================================================
   Pricing tiers
   ============================================================= */

.ilhc-tier {
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 8px;
}

.ilhc-tier--active {
  border: 1px solid rgba(var(--gold-ch), 0.42);
}

.ilhc-tier__tag {
  display: inline-block;
  padding: 3px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-bg-dark);
  background: var(--color-gold);
  border-radius: 999px;
  margin: 0 0 8px;
}

.ilhc-tier__amount {
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-gold);
  margin: 0;
}

.ilhc-tier--next .ilhc-tier__amount {
  font-size: 1.25rem;
  color: var(--color-teal-muted);
}

.ilhc-tier__meta {
  font-size: 0.92rem;
  color: var(--color-teal-muted);
  margin: 6px 0 0;
}

/* =============================================================
   Feature list
   ============================================================= */

.ilhc-h3 {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-teal-muted);
  margin: 22px 0 12px;
}

.ilhc-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ilhc-feature-list li {
  position: relative;
  padding-left: 26px;
  margin: 0 0 10px;
}

.ilhc-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border: 2px solid var(--color-teal);
  border-radius: 50%;
  box-sizing: border-box;
}

/* =============================================================
   Level callout
   ============================================================= */

.ilhc-level {
  background: var(--color-bg-level);
  border-left: 3px solid var(--color-teal);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 12px;
}

.ilhc-level strong {
  color: var(--color-teal);
}

.ilhc-note {
  font-size: 0.88rem;
  color: var(--color-teal-muted);
  margin: 14px 0 0;
}

/* =============================================================
   Competition prices table
   ============================================================= */

.ilhc-comp-table {
  width: 100%;
  margin: 8px 0;
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(var(--teal-ch), 0.16);
}

.ilhc-comp-table table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  border: none;
  margin: 0;
}

.ilhc-comp-table th,
.ilhc-comp-table td {
  border: 1px solid rgba(var(--teal-ch), 0.16) !important;
  padding: 13px 16px;
  text-align: left;
}

.ilhc-comp-table thead {
  border: none !important;
}

.ilhc-comp-table thead th {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text);
  vertical-align: bottom;
}

.ilhc-comp-table td:nth-child(2),
.ilhc-comp-table th:nth-child(2) {
  background: rgba(var(--gold-ch), 0.12);
}

.ilhc-comp-table th:nth-child(2),
.ilhc-comp-table td:nth-child(2) {
  color: var(--color-gold);
  font-weight: 700;
}

.ilhc-comp-table td:nth-child(3),
.ilhc-comp-table td:nth-child(4) {
  color: var(--color-teal-muted);
}

.ilhc-comp-table tbody tr:last-child td {
  border-bottom: 0;
}

.unit {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--color-teal-muted);
  margin-top: 2px;
}

.head-pill {
  display: inline-block;
  padding: 2px 9px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-bg-dark);
  background: var(--color-gold);
  border-radius: 999px;
  margin-bottom: 7px;
}

.head-sub {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--color-teal-muted);
  margin-top: 3px;
}

/* =============================================================
   Door note & nights list
   ============================================================= */

.ilhc-door-note {
  display: inline-block;
  padding: 11px 16px;
  font-size: 0.92rem;
  border: 1px dashed var(--color-teal-muted);
  border-radius: 12px;
  margin: 6px 0 0;
}

.ilhc-nights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.ilhc-nights li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(var(--teal-ch), 0.16);
  padding: 12px 0;
}

.ilhc-nights li:last-child {
  border-bottom: 0;
}

.ilhc-nights .price {
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-teal);
  white-space: nowrap;
}

/* =============================================================
   CTA button
   ============================================================= */

.ilhc .wp-element-button {
  display: inline-block;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ilhc .wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(var(--gold-ch), 0.28);
}



/* Registration Page */
.ilhc-reg{font-family:"Hanken Grotesk",system-ui,sans-serif;line-height:1.6;}
.ilhc-reg h1,.ilhc-reg h2{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.01em;line-height:1.12;}

/* CONTENT WRAPPER */
.ilhc-reg__content{
	max-width:720px !important;
	margin:0 auto;
	padding:clamp(32px,5vw,56px) 24px clamp(48px,6vw,72px);
}

/* STATUS */
.ilhc-reg__status{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	text-align:center;
	color:var(--color-teal);
	font-weight:700;
	font-size:clamp(1.3rem,3.5vw,1.9rem);
	margin:0 0 28px;
}

.ilhc-reg__status::before, 
.ilhc-reg__status::after {
	content:"";
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--color-gold);
	box-shadow:0 0 0 4px rgba(var(--gold-ch),.14);
	flex:none;
}

/* STEP LABELS */
.ilhc-reg__step{display:flex;align-items:center;gap:14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-teal-muted);font-weight:600;margin:0 0 16px;}
.ilhc-reg__step::after{content:"";flex:1;height:1px;background:rgba(var(--teal-ch),.16);}

/* CHECKLIST */

.ilhc-reg__checklist {
	display:grid;
	gap:6px !important;
	margin:0 0 40px;
}

.ilhc-reg__check {
	width:100%;
	max-width:100%;
	align-self:stretch;
	position:relative;
	padding:16px 52px 16px 60px !important;
	background:var(--color-bg-card);
	border:1px solid rgba(var(--teal-ch),.16) !important;
	border-radius:14px;
	transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.ilhc-reg__check:hover {
	border-color:rgba(var(--teal-ch),.45);
	background:var(--color-bg-level);
	transform:translateY(-1px);
}

.ilhc-reg__check::before {
	content:"";
	position:absolute;
	left:18px;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
	border-radius:9px;
	border:2px solid var(--color-teal);
	box-sizing:border-box;
}

.ilhc-reg__check::after {
	content:"→";
	position:absolute;
	right:20px;
	top:50%;
	transform:translateY(-50%);
	color:var(--color-teal-muted);
	transition:transform .15s ease,color .15s ease;
}

.ilhc-reg__check:hover::after{
	transform:translate(3px,-50%);
	color:var(--color-teal);
}

.ilhc-reg__check-title {
	margin:0 !important;
	font-weight:600;
}

.ilhc-reg__check-title p{
	color:var(--color-text);
	text-decoration:none;
}

.ilhc-reg__check-title p:hover{
	color:var(--color-teal);
}

.ilhc-reg__check-sub{
	margin:2px 0 0 !important;
	font-size:.86rem;
	color:var(--color-teal-muted);
}

/* CTA */
.ilhc-reg__cta-block{background:var(--color-bg-card);border:1px solid rgba(var(--teal-ch),.16);border-radius:18px;padding:clamp(24px,4vw,34px);text-align:center;}
.ilhc-reg__gate{color:var(--color-teal-muted);font-size:.95rem;margin:0 0 18px;}
.ilhc-reg__handoff{color:var(--color-teal-muted);font-size:.84rem;margin:16px 0 0;}
.ilhc-reg .wp-block-buttons{display:flex;justify-content:center;}
.ilhc-reg .wp-element-button{display:inline-block;transition:transform .18s ease,box-shadow .18s ease;}
.ilhc-reg .wp-element-button:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(var(--gold-ch),.3);}

/* CHECK-IN */
.ilhc-reg__checkin{margin-top:42px;padding-top:26px;border-top:1px solid rgba(var(--teal-ch),.16);font-size:.96rem;color:var(--color-text);}
.ilhc-reg__checkin b{color:var(--color-teal);font-weight:700;}
.ilhc-reg__checkin a{color:var(--color-gold);text-decoration:underline;text-underline-offset:2px;}



/* =====================================================================
   ILHC shared document styling — powers BOTH the Competition Rules
   and Terms & Conditions pages (class prefix: .ilhc-doc).
   Add this to the same stylesheet where your :root color variables live
   (child theme style.css, or the styles plugin) so it loads on the
   front end AND in the block-editor canvas.
   ===================================================================== */

.ilhc-doc {
  --ilhc-offset: 0px;
  counter-reset: section;
  background: var(--color-bg-dark);
  color: var(--color-text);
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  line-height: 1.5;
}

.ilhc-doc h1,
.ilhc-doc h2 {
  letter-spacing: -0.01em;
}

/* ---- sticky jump bar ---- */

.ilhc-doc__jumpbar {
  position: sticky;
  top: var(--ilhc-offset, 0px);
  z-index: 20;
  background: rgba(var(--bg-dark-ch), 0.86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(var(--teal-ch), 0.16);
}

.ilhc-doc__jumpbar-inner {
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 6px 18px;
  flex-wrap: wrap;
  padding: 12px 24px;
}

.ilhc-doc__jumpbar .lbl {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-teal-muted);
  font-weight: 600;
}

.ilhc-doc__jumpbar a {
  font-size: 0.9rem;
  color: var(--color-teal-muted);
  text-decoration: none !important;
  padding: 4px 2px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.ilhc-doc__jumpbar a:hover {
  color: var(--color-text);
}

.ilhc-doc__jumpbar a.active {
  color: var(--color-teal);
  border-color: var(--color-teal);
}

/* ---- layout ---- */

.ilhc-doc__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 52px) 24px 96px;
}

.ilhc-doc h1 {
  font-size: clamp(2.2rem, 6vw, 3.1rem);
  font-weight: 800;
  color: var(--color-teal);
  margin: 0 0 24px;
}

/* ---- important callout (gold) ---- */

.ilhc-doc__callout {
  border: 1px solid rgba(var(--gold-ch), 0.32);
  border-left: 4px solid var(--color-gold);
  border-radius: 14px;
  padding: 18px 20px;
  margin: 0 0 16px;
  background: rgba(var(--gold-ch), 0.10);
}

.ilhc-doc__callout-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold);
  font-weight: 700;
  margin: 0 0 4px;
}

.ilhc-doc__callout p:last-child {
  margin: 0;
}

/* ---- sections (panels) ---- */

.ilhc-doc__section {
  counter-increment: section;
  background: var(--color-bg-card);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 18px;
  padding: clamp(22px, 3vw, 32px);
  scroll-margin-top: calc(var(--ilhc-offset, 0px) + 70px);
}

.ilhc-doc__section + .ilhc-doc__section {
  margin-top: 18px;
}

.ilhc-doc__section h2 {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: clamp(1.4rem, 3.4vw, 1.9rem);
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 18px;
  line-height: 1.15;
}

/* Counter chip — pseudo-element, not controlled by Astra */
.ilhc-doc__section h2::before {
  content: counter(section);
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-family: "Bricolage Grotesque", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--color-gold);
  background: rgba(var(--gold-ch), 0.14);
  border: 1px solid rgba(var(--gold-ch), 0.3);
}

/* ---- subsections / inline bits ---- */

.ilhc-doc__sub-title {
  font-size: 0.82rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--color-teal);
  font-weight: 700;
  margin: 24px 0 7px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.ilhc-doc__sub-title::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-teal);
  flex: none;
}

.ilhc-doc__tagline {
  color: var(--color-teal);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0 0 16px;
}

.ilhc-doc__note {
  font-size: 0.92rem;
  color: var(--color-teal-muted);
  font-style: italic;
  margin: 16px 0 0;
}

.ilhc-doc a.ilhc-inline {
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---- lists: ordered = number chips, unordered = teal dots ---- */

.ilhc-doc ol.ilhc-doc__list,
.ilhc-doc ul.ilhc-doc__list {
  list-style: none;
  margin: 6px 0 0;
  padding-left: 0;
  counter-reset: r;
}

.ilhc-doc__list li {
  position: relative;
  padding: 0 0 0 38px;
  margin: 0 0 14px;
}

.ilhc-doc ol.ilhc-doc__list li {
  counter-increment: r;
}

.ilhc-doc ol.ilhc-doc__list li::before {
  content: counter(r);
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--color-bg-level);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  color: var(--color-teal);
  font-size: 0.85rem;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.ilhc-doc ul.ilhc-doc__list li::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 0.7em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 2px solid var(--color-teal);
  box-sizing: border-box;
}

.ilhc-doc__list strong {
  color: var(--color-teal-dark);
}

/* ---- support callout (teal) ---- */

.ilhc-doc__support {
  background: rgba(var(--teal-ch), 0.07);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-left: 4px solid var(--color-teal);
  border-radius: 14px;
  padding: 20px 22px;
  margin-top: 20px;
}

.ilhc-doc__support-label {
  font-size: 0.74rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--color-teal);
  font-weight: 700;
  margin: 0 0 12px;
}

.ilhc-doc__support-label::before {
  content: "\25C6";
  margin-right: 9px;
}

.ilhc-doc__names {
  list-style: none;
  margin: 4px 0 14px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}

.ilhc-doc__names li {
  background: rgba(var(--teal-ch), 0.10);
  border-radius: 999px;
  padding: 7px 15px;
  font-weight: 600;
  color: var(--color-text);
}

@media print {
  .ilhc-doc__jumpbar {
    display: none;
  }

  .ilhc-doc__section {
    border: 0;
    border-top: 1px solid #ccc;
    border-radius: 0;
    background: none;
  }
}


/* =====================================================================
   Competition Divisions page — grouped cards
   ===================================================================== */
/* ---- wide layout (divisions page) ---- */

.ilhc-doc__jumpbar--wide .ilhc-doc__jumpbar-inner {
  max-width: 1080px;
}

.ilhc-doc__wide {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 44px) 24px 90px;
}

.ilhc-doc__lede {
  color: var(--color-teal-muted);
  margin: 0 0 6px;
}

/* ---- division groups ---- */

.ilhc-doc__group {
  scroll-margin-top: calc(var(--ilhc-offset, 0px) + 70px);
  margin-top: 48px;
}

.ilhc-doc__group-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ilhc-doc__group-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(var(--teal-ch), 0.16);
}

/* ---- division cards ---- */

.ilhc-doc__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 16px;
  align-items: start;
}

.ilhc-doc__card {
  position: relative;
  background: var(--color-bg-card);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 16px;
  padding: 22px;
  margin-block-start: 0px !important;
}

.ilhc-doc__tag {
  display: inline-block;
  padding: 4px 11px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-teal);
  background: rgba(var(--teal-ch), 0.10);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 999px;
  margin: 0;
}

.ilhc-doc__date {
  position: absolute;
  top: 22px;
  right: 22px;
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-gold);
}

.ilhc-doc__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-teal);
  margin: 14px 0 16px;
  line-height: 1.15;
}

/* ---- format details inside a card ---- */

.ilhc-doc__fmt-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-teal-muted);
  margin: 16px 0 8px;
}

.ilhc-doc__fmt-p {
  margin: 0;
  font-size: 0.93rem;
}

.ilhc-doc ul.ilhc-doc__fmt-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ilhc-doc__fmt-list li {
  position: relative;
  padding: 0 0 0 16px;
  margin: 0 0 8px;
  font-size: 0.93rem;
}

.ilhc-doc__fmt-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-teal-dark);
}

.ilhc-doc__fmt-list strong {
  color: var(--color-teal-dark);
  font-weight: 700;
}

/* ---- awards podium list ---- */

.ilhc-doc ol.ilhc-doc__awards-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(var(--teal-ch), 0.16);
}

.ilhc-doc__awards-list li {
  position: relative;
  padding: 0 0 0 48px;
  margin: 0 0 9px;
  font-size: 0.9rem;
}

.ilhc-doc__awards-list li::before {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  height: 23px;
  padding: 0 6px;
  border-radius: 7px;
  font-size: 0.74rem;
  font-weight: 700;
}

.ilhc-doc__awards-list li:nth-child(1)::before {
  content: "1st";
  background: var(--color-gold);
  color: var(--color-bg-dark);
}

.ilhc-doc__awards-list li:nth-child(2)::before {
  content: "2nd";
  background: var(--color-bg-level);
  color: var(--color-teal);
  border: 1px solid rgba(var(--teal-ch), 0.16);
}

.ilhc-doc__awards-list li:nth-child(3)::before {
  content: "3rd";
  background: var(--color-bg-level);
  color: var(--color-teal-muted);
  border: 1px solid rgba(var(--teal-ch), 0.16);
}

/* ---- footnote ---- */

.ilhc-doc__footnote {
  font-size: 0.85rem;
  color: var(--color-teal-muted);
  margin-top: 28px;
}


/* =====================================================================
   Home / Landing page
   ===================================================================== */

.ilhc-home {
  background: var(--color-bg-dark);
  color: var(--color-text);
  font-family: "Hanken Grotesk", system-ui, sans-serif;
  line-height: 1.65;
  padding-left:0 !important;
  padding-right:0 !important;
}

.ilhc-home h1,
.ilhc-home h2,
.ilhc-home h3 {
  font-family: "Bricolage Grotesque", sans-serif;
  letter-spacing: -0.015em;
}

.ilhc-home__wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- buttons ---- */

.ilhc-home .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 30px;
  background: var(--color-gold);
  color: var(--color-bg-dark);
  font-weight: 700;
  font-size: 1.02rem;
  text-decoration: none !important;
  border-radius: 999px;
  transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
}

.ilhc-home .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(var(--gold-ch), 0.3);
}

.ilhc-home .btn--ghost {
  background: transparent;
  color: var(--color-teal);
  border: 1px solid rgba(var(--teal-ch), 0.22);
}

.ilhc-home .btn--ghost:hover {
  background: rgba(var(--teal-ch), 0.08);
  box-shadow: none;
}

.ilhc-home .btn--wait {
  background: var(--color-gold);
  color: var(--color-bg-dark);
  opacity: 0.5;
  cursor: not-allowed;
}

.ilhc-home .btn--wait:hover {
  transform: none;
  box-shadow: none;
}

.ilhc-home__cta-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

.ilhc-home #hero-cta {
  display: inline-flex;
}

.ilhc-home .cd {
  margin: 14px 0 0;
  font-size: 0.9rem;
  color: var(--color-teal-muted);
  text-align: center;
}

.ilhc-home .cd b {
  color: var(--color-teal);
  font-weight: 700;
}

/* ---- hero ---- */

.ilhc-home__hero {
  text-align: center;
}

.ilhc-home__hero .wp-block-cover__inner-container {
  max-width: 780px;
  margin: 0 auto;
}

.ilhc-home__eyebrow {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-teal-dark) !important;
  margin: 0 0 18px;
}

.ilhc-home__hero h1 {
  font-size: clamp(2.4rem, 6.5vw, 4.4rem);
  font-weight: 800;
  line-height: 1.02;
  margin: 0 auto 20px;
  max-width: 18ch;
  color: var(--color-text);
}

.ilhc-home__hero h1 em {
  font-style: normal;
  color: var(--color-gold);
}

.ilhc-home__sub {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  color: #dfe8e6 !important; /* light blue-grey — no token match */
  max-width: 60ch;
  margin: 0 auto 28px;
}

/* ---- stats bar ---- */

.ilhc-home__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(var(--teal-ch), 0.16);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 16px;
  overflow: hidden;
  margin-block-start: 0;
}


.ilhc-home__stat {
  background: var(--color-bg-dark);
  padding: 22px 14px;
  text-align: center;
  margin-block-start: 0;
}

.ilhc-home__stat-num {
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  color: var(--color-teal);
  line-height: 1;
  margin: 0;
}

.ilhc-home__stat-label {
  margin: 7px 0 0;
  font-size: 0.82rem;
  color: var(--color-teal-muted);
}

@media (max-width: 620px) {
  .ilhc-home__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---- section shell ---- */

.ilhc-home__section {
  padding: clamp(48px, 8vw, 84px) 0;
}

.ilhc-home__sec-head {
  text-align: center;
  max-width: 60ch;
  margin: 0 auto clamp(32px, 5vw, 48px);
}

.ilhc-home__kick {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 0 0 12px;
}

.ilhc-home__sec-head h2 {
  font-size: clamp(1.8rem, 4.5vw, 2.6rem);
  font-weight: 800;
  color: var(--color-text);
  margin: 0 0 12px;
}

/* ---- expect grid ---- */

.ilhc-home__expect {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 840px) {
  .ilhc-home__expect {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  .ilhc-home__expect {
    grid-template-columns: 1fr;
  }
}

.ilhc-home__xcard {
  background: var(--color-bg-card);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 16px;
  padding: 24px;
  margin-block-start: 0px !important;
	
}

.ilhc-home__xcard::before {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background-color: rgba(var(--gold-ch), 0.14);
  border: 1px solid rgba(var(--gold-ch), 0.3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  margin-bottom: 16px;
}

/* SVG icons — kept on one line intentionally */
.ilhc-home__expect > .ilhc-home__xcard:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209H4.5a2.5%202.5%200%200%201%200-5H6%27/%3E%3Cpath%20d%3D%27M18%209h1.5a2.5%202.5%200%200%200%200-5H18%27/%3E%3Cpath%20d%3D%27M6%204h12v4a6%206%200%200%201-12%200z%27/%3E%3Cpath%20d%3D%27M9%2018h6%27/%3E%3Cpath%20d%3D%27M10%2018v-2h4v2%27/%3E%3C/svg%3E"); }
.ilhc-home__expect > .ilhc-home__xcard:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%2018V5l12-2v13%27/%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2718%27%20r%3D%273%27/%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2716%27%20r%3D%273%27/%3E%3C/svg%3E"); }
.ilhc-home__expect > .ilhc-home__xcard:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpolygon%20points%3D%2712%202%2015%209%2022%209%2016.5%2013.5%2018.5%2021%2012%2016.5%205.5%2021%207.5%2013.5%202%209%209%209%27/%3E%3C/svg%3E"); }
.ilhc-home__expect > .ilhc-home__xcard:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%276.4%27%20cy%3D%276.2%27%20r%3D%271.9%27/%3E%3Cpath%20d%3D%27M6.4%208.1%207.4%2012.8%27/%3E%3Cpath%20d%3D%27M6.2%208.8%203.4%2011.6%27/%3E%3Cpath%20d%3D%27M6.9%209%2012%2012.2%27/%3E%3Cpath%20d%3D%27M7.4%2012.8%2010%2018.2%27/%3E%3Cpath%20d%3D%27M7.4%2012.8%204.2%2018.4%27/%3E%3Ccircle%20cx%3D%2717.6%27%20cy%3D%276.2%27%20r%3D%271.9%27/%3E%3Cpath%20d%3D%27M17.6%208.1%2016.6%2012.8%27/%3E%3Cpath%20d%3D%27M17.6%208.4%20C%2019.4%207.2%2020.4%206%2020.6%204.4%27/%3E%3Cpath%20d%3D%27M17.1%209%2012%2012.2%27/%3E%3Cpath%20d%3D%27M16.6%2012.8%2014.4%2018.4%27/%3E%3Cpath%20d%3D%27M16.6%2012.8%2019.2%2018%27/%3E%3C/svg%3E"); }
.ilhc-home__expect > .ilhc-home__xcard:nth-child(5)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2010%2012%205%202%2010l10%205%2010-5z%27/%3E%3Cpath%20d%3D%27M6%2012v5c0%201%203%203%206%203s6-2%206-3v-5%27/%3E%3C/svg%3E"); }
.ilhc-home__expect > .ilhc-home__xcard:nth-child(6)::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200z%27/%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%273%27/%3E%3C/svg%3E"); }

.ilhc-home__xcard h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-teal);
  margin: 0 0 6px;
}

.ilhc-home__xcard p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--color-teal-muted);
}

/* ---- why band ---- */

.ilhc-home__why {
  background: var(--color-bg-card);
  border-top: 1px solid rgba(var(--teal-ch), 0.16);
  border-bottom: 1px solid rgba(var(--teal-ch), 0.16);
}

.ilhc-home__why-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 26px;
}

@media (max-width: 700px) {
  .ilhc-home__why-grid {
    grid-template-columns: 1fr;
  }
}

.ilhc-home__why-item {
  position: relative;
  padding-left: 24px;
}

.ilhc-home__why-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-teal);
}

.ilhc-home__why-item h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 4px;
}

.ilhc-home__why-item p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--color-teal-muted);
}

.ilhc-home__powered {
  text-align: center;
  margin-top: 36px;
  font-size: 0.95rem;
  color: var(--color-teal-muted);
}

.ilhc-home__powered a {
  color: var(--color-gold);
  text-decoration: none;
}

/* ---- passes band ---- */

.ilhc-home__passes {
  background: linear-gradient(120deg, rgba(var(--gold-ch), 0.10), rgba(var(--teal-ch), 0.06));
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 22px;
  padding: clamp(28px, 5vw, 44px);
  text-align: center;
}

.ilhc-home__pill {
  display: inline-block;
  padding: 6px 14px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-gold);
  background: rgba(var(--gold-ch), 0.14);
  border: 1px solid rgba(var(--gold-ch), 0.32);
  border-radius: 999px;
  margin: 0 0 16px;
}

.ilhc-home__passes h2 {
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  color: var(--color-text);
  margin: 0 0 10px;
}

.ilhc-home__prices {
  color: var(--color-teal-muted);
  font-size: 1.05rem;
  margin: 0 0 24px;
}

.ilhc-home__prices strong {
  color: var(--color-teal);
}

/* ---- facts grid ---- */

.ilhc-home__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 700px) {
  .ilhc-home__facts {
    grid-template-columns: 1fr;
  }
}

.ilhc-home__fact {
  background: var(--color-bg-card);
  border: 1px solid rgba(var(--teal-ch), 0.16);
  border-radius: 14px;
  padding: 22px;
  margin-block-start: 0px !important;
}

.ilhc-home__fact .l {
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-teal-muted);
  margin: 0 0 6px;
}

.ilhc-home__fact .v {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
  margin: 0;
}

.ilhc-home__fact .v a {
  color: var(--color-gold);
  text-decoration: none;
}

/* ---- final CTA ---- */

.ilhc-home__final {
  text-align: center;
}

.ilhc-home__final h2 {
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--color-teal);
  margin: 0 0 16px;
}

.ilhc-home__final p {
  color: var(--color-teal-muted);
  margin: 0 0 28px;
}

/* =====================================================================
   Venues page
   ===================================================================== */
.ilhc-venues {
	background: var(--color-bg-dark, #15232e);
	color: var(--color-text, #f1f5f4);
	font-family: "Hanken Grotesk", system-ui, sans-serif;
	line-height: 1.65;
}

.ilhc-venues h1,
.ilhc-venues h2,
.ilhc-venues h3 {
	font-family: "Bricolage Grotesque", sans-serif;
	letter-spacing: -.015em;
}

.ilhc-venues__wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 24px clamp(56px, 9vw, 90px);
}

/* header */
.ilhc-venues__head {
	text-align: center;
	padding: clamp(48px, 8vw, 84px) 0 clamp(28px, 4vw, 40px);
}

.ilhc-venues__eyebrow {
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-teal, #9fe3da);
	font-weight: 600;
	margin: 0 0 16px;
}

.ilhc-venues__head h1 {
	font-size: clamp(2.2rem, 6vw, 3.6rem);
	font-weight: 800;
	margin: 0 0 14px;
	color: var(--color-text, #f1f5f4);
}

.ilhc-venues__intro {
	color: var(--color-teal-muted, #9fb3b0);
	max-width: 60ch;
	margin: 0 auto;
	font-size: 1.08rem;
}

/* overview map */
.ilhc-venues__map {
	margin: 8px 0 clamp(32px, 6vw, 56px);
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	border-radius: 18px;
	overflow: hidden;
	background: var(--color-bg-card, #1c2f3a);
}

.ilhc-venues__map iframe {
	display: block;
	width: 100%;
	height: clamp(320px, 52vw, 480px);
	border: 0;
}

/* venue rows */
.ilhc-venues__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ilhc-venues__row {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 26px;
	align-items: center;
	background: var(--color-bg-card, #1c2f3a);
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	border-radius: 18px;
	padding: 18px;
}

.ilhc-venues__img {
	margin: 0;
	height: 100%;
}

.ilhc-venues__img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}

.ilhc-venues__tag {
	display: inline-block;
	font-size: .6rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color-gold, #f0c36a);
	background: rgba(var(--gold-ch, 240, 195, 106), .14);
	border: 1px solid rgba(var(--gold-ch, 240, 195, 106), .3);
	border-radius: 999px;
	padding: 4px 10px;
	margin: 0 0 12px;
}

.ilhc-venues__name {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--color-teal, #9fe3da);
	margin: 0 0 10px;
}

.ilhc-venues__desc {
	color: var(--color-text, #f1f5f4);
	margin: 0 0 10px;
}

.ilhc-venues__hint {
	color: var(--color-teal-muted, #9fb3b0);
	font-size: .92rem;
	margin: 0 0 18px;
}

.ilhc-venues__hint strong {
	color: var(--color-teal-dark, #6fc7bb);
	font-weight: 600;
}

.ilhc-venues__maplink .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
/* 	color: var(--color-teal, #9fe3da);
	background: transparent;
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .18);
	border-radius: 999px; */
	padding: 9px 18px;
	font-weight: 600;
	font-size: .95rem;
}

.ilhc-venues__maplink .wp-block-button__link::before {
	content: "";
	width: 16px;
	height: 16px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%239fe3da%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200z%27/%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%273%27/%3E%3C/svg%3E") center/contain no-repeat;
}

.ilhc-venues__maplink .wp-block-button__link:hover {
  transform: translateY(-2px);
}

@media(max-width:820px) {
	.ilhc-venues__row {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ilhc-venues__img img {
		aspect-ratio: 16/9;
	}
}

/* =====================================================================
   Artists page
   ===================================================================== */
.ilhc-artists {
	background: var(--color-bg-dark, #15232e);
	color: var(--color-text, #f1f5f4);
	font-family: "Hanken Grotesk", system-ui, sans-serif;
	line-height: 1.65;
}

.ilhc-artists h1,
.ilhc-artists h2,
.ilhc-artists h3 {
	font-family: "Bricolage Grotesque", sans-serif;
	letter-spacing: -.015em;
}

.ilhc-artists__wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 24px;
}

.ilhc-artists__head {
	text-align: center;
	padding: clamp(48px, 8vw, 84px) 0 clamp(24px, 4vw, 34px);
}

.ilhc-artists__eyebrow {
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-teal, #9fe3da);
	font-weight: 600;
	margin: 0 0 16px;
}

.ilhc-artists__head h1 {
	font-size: clamp(2.2rem, 6vw, 3.6rem);
	font-weight: 800;
	margin: 0 0 14px;
	color: var(--color-text, #f1f5f4);
}

.ilhc-artists__intro {
	color: var(--color-teal-muted, #9fb3b0);
	max-width: 60ch;
	margin: 0 auto;
	font-size: 1.08rem;
}

.ilhc-artists__section {
	padding: clamp(44px, 7vw, 72px) 0 0;
	scroll-margin-top: 64px;
}

.ilhc-artists__section:last-child {
	padding-bottom: clamp(56px, 9vw, 90px);
}

.ilhc-artists__section h2 {
	font-size: clamp(1.7rem, 4.5vw, 2.4rem);
	font-weight: 800;
	margin: 0 0 clamp(24px, 4vw, 34px);
}

.ilhc-artists__sub {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--color-gold, #f0c36a);
	margin: clamp(26px, 4vw, 36px) 0 18px;
}

.ilhc-artists__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 24px 18px;
}

.ilhc-artists__grid>* {
	margin: 0;
}

.ilhc-artists__card .ilhc-artists__photo {
	margin: 0;
}

.ilhc-artists__photo img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 16px;
	display: block;
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	background: var(--color-bg-level, #233d49);
}

.ilhc-artists__name {
	margin: 12px 2px 0;
	text-align: center;
	color: var(--color-teal, #9fe3da);
	font-weight: 600;
	font-size: 1.02rem;
	line-height: 1.3;
}

.ilhc-artists__callout {
	background: var(--color-bg-card, #1c2f3a);
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	border-left: 3px solid var(--color-teal-dark, #6fc7bb);
	border-radius: 12px;
	padding: 18px 22px;
}

.ilhc-artists__callout .lead {
	color: var(--color-teal, #9fe3da);
	font-weight: 700;
	margin: 0 0 6px;
}

.ilhc-artists__callout p:last-child {
	margin: 0;
	color: var(--color-teal-muted, #9fb3b0);
}

.ilhc-artists__tba {
	color: var(--color-teal-muted, #9fb3b0);
	font-size: 1.05rem;
	margin: 0;
}


/*
=====================================================================
Contact page
=====================================================================*/ 

.ilhc-contact {
	background: var(--color-bg-dark, #15232e);
	font-family: "Hanken Grotesk", system-ui, sans-serif;
	line-height: 1.65;
}

.ilhc-contact h1 {
	font-family: "Bricolage Grotesque", sans-serif;
	letter-spacing: -.015em;
}

.ilhc-contact__wrap {
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(44px, 7vw, 72px) 24px clamp(56px, 9vw, 90px);
}

/* hero (Cover) */

.ilhc-contact__eyebrow {
	font-size: .8rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--color-teal, #9fe3da);
	font-weight: 600;
	margin: 0 0 16px;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .5);
}

.ilhc-contact__hero h1 {
	font-size: clamp(2.4rem, 7vw, 4rem);
	font-weight: 800;
	margin: 0 0 16px;
	color: #fff;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .5);
}

.ilhc-contact__sub {
	color: #dfe8e6;
	max-width: 52ch;
	margin: 0 auto;
	font-size: 1.12rem;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
}

/* contact cards */
.ilhc-contact__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

@media(max-width:620px) {
	.ilhc-contact__grid {
		grid-template-columns: 1fr;
	}
}

.ilhc-contact__card {
	position: relative;
	display: flex;
	gap: 16px;
	align-items: center;
	background: var(--color-bg-card, #1c2f3a);
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	border-radius: 16px;
	padding: 20px 22px;
	transition: border-color .18s, transform .18s, background .18s;
	margin-block-start: 0px !important;
}

.ilhc-contact__card:hover {
	border-color: rgba(var(--teal-ch, 159, 227, 218), .4);
	transform: translateY(-2px);
	background: #20333f;
}

.ilhc-contact__card::before {
	content: "";
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background-color: rgba(var(--gold-ch, 240, 195, 106), .14);
	border: 1px solid rgba(var(--gold-ch, 240, 195, 106), .3);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px;
}

.ilhc-contact__grid>.ilhc-contact__card:nth-child(1)::before {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2720%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27m22%207-10%205L2%207%27/%3E%3C/svg%3E");
}

.ilhc-contact__grid>.ilhc-contact__card:nth-child(2)::before {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M18%202h-3a5%205%200%200%200-5%205v3H7v4h3v8h4v-8h3l1-4h-4V7a1%201%200%200%201%201-1h3z%27/%3E%3C/svg%3E");
}

.ilhc-contact__grid>.ilhc-contact__card:nth-child(3)::before {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%272%27%20width%3D%2720%27%20height%3D%2720%27%20rx%3D%275%27/%3E%3Cpath%20d%3D%27M16%2011.37A4%204%200%201%201%2012.63%208%204%204%200%200%201%2016%2011.37z%27/%3E%3Cline%20x1%3D%2717.5%27%20y1%3D%276.5%27%20x2%3D%2717.51%27%20y2%3D%276.5%27/%3E%3C/svg%3E");
}

.ilhc-contact__grid>.ilhc-contact__card:nth-child(4)::before {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f0c36a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%27/%3E%3C/svg%3E");
}

.ilhc-contact__body {
	flex: 1;
	min-width: 0;
}

.ilhc-contact__label {
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--color-teal-muted, #9fb3b0);
	font-weight: 600;
	margin: 0 0 3px;
}

.ilhc-contact__value {
	color: var(--color-teal, #9fe3da);
	font-weight: 700;
	font-size: 1.08rem;
	margin: 0;
	word-break: break-word;
}

.ilhc-contact__value a {
	color: inherit;
	text-decoration: none;
}

.ilhc-contact__value a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.ilhc-contact__card:hover .ilhc-contact__value {
	color: #bdeee6;
}

/* note */
.ilhc-contact__note {
	background: var(--color-bg-card, #1c2f3a);
	border: 1px solid rgba(var(--teal-ch, 159, 227, 218), .16);
	border-left: 3px solid var(--color-teal-dark, #6fc7bb);
	border-radius: 12px;
	padding: 18px 22px;
	color: var(--color-teal-muted, #9fb3b0);
	margin: 24px 0 0;
}

.ilhc-contact__note a {
	color: var(--color-gold, #f0c36a);
	text-decoration: none;
	font-weight: 600;
}

.ilhc-contact__note a:hover {
	text-decoration: underline;
}