/*
Theme Name: Illinois Massage Championships 2027
Text Domain: illinois-massage-championships-2027
Description: Custom editorial WordPress theme matching the Illinois Massage Championships Base44 site.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

/* ── Design tokens ──────────────────────────────────────────────────────── */
:root{
  --p:#f3f1ec;   /* parchment  */
  --s:#dedbd5;   /* stone      */
  --w:#fff;
  --c:#1a1c1d;   /* carbon     */
  --g:#5d6164;   /* graphite   */
  --m:#17324d;   /* midnight   */
  --x:#d8d9d6;   /* mist       */
}

/* ── Base ───────────────────────────────────────────────────────────────── */
html{scroll-behavior:smooth}
body{margin:0;background:var(--p);color:var(--c);font-family:Inter,system-ui,sans-serif;line-height:1.6}
.imc *{box-sizing:border-box}
.imc a{text-decoration:none;color:inherit}
.imc{overflow:hidden}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.imc-wrap{width:min(1440px,100%);margin:auto;padding:0 clamp(20px,5vw,96px)}

/* ── Header / Nav ───────────────────────────────────────────────────────── */
.imc-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:18px 0;                    /* slightly taller than before */
  background:var(--p);color:var(--c);
  border-bottom:1px solid var(--x);
}
.imc-nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.imc-brand{display:flex;align-items:center;gap:10px}

/* Real logo image (replaces text mark) */
.imc-mark-logo{
  width:48px;height:48px;
  border-radius:50%;
  object-fit:contain;
  flex-shrink:0;
}
.imc-brand strong{display:block;font:300 16px/1 Fraunces,Georgia,serif}
.imc-brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.65}

.imc-menu{display:flex;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.imc-menu a{opacity:.85;transition:opacity .2s}
.imc-menu a:hover{opacity:1}

.imc-register{
  border:1px solid #bfc1bf;border-radius:999px;
  padding:12px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;
  transition:.2s;white-space:nowrap;
}
.imc-register:hover{background:var(--c);color:var(--p)}

/* Burger button — shown on tablet AND mobile */
.imc-menu-btn{
  display:none;background:none;color:var(--c);
  border:1px solid #bfc1bf;border-radius:50%;
  width:44px;height:44px;cursor:pointer;font-size:18px;
  align-items:center;justify-content:center;
}

/* ── Mobile / Tablet Drawer ─────────────────────────────────────────────── */
.imc-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:200;
  width:min(340px,90vw);
  background:var(--m);color:#fff;
  padding:22px 26px 32px;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
.imc-drawer.open{transform:translateX(0)}
.imc-drawer-overlay{
  position:fixed;inset:0;z-index:190;
  background:#0007;
  opacity:0;pointer-events:none;
  transition:opacity .3s;
}
.imc-drawer-overlay.open{opacity:1;pointer-events:auto}
.imc-drawer-close{
  align-self:flex-end;width:44px;height:44px;border-radius:50%;
  border:1px solid #fff4;background:none;color:#fff;cursor:pointer;font-size:18px;
}
.imc-drawer-links{display:flex;flex-direction:column;margin-top:20px;flex:1}
.imc-drawer-links a{
  padding:16px 0;border-bottom:1px solid #ffffff1f;
  font:300 26px/1 Fraunces,Georgia,serif;color:#fff;
}
.imc-drawer-links a:hover{color:#fff;opacity:.7}
.imc-drawer-register{
  margin-top:28px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--p);color:var(--c);border-radius:999px;
  padding:15px 28px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;
}
.imc-drawer-sub{
  margin-top:12px;font-size:10px;text-transform:uppercase;
  letter-spacing:.2em;color:#fff5;text-align:center;
}

/* ── Eyebrow ────────────────────────────────────────────────────────────── */
.imc-ey{font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:var(--g)}
.imc-ey.light{color:#fff9}
.imc-ey.accent{color:var(--m)}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.imc-hero{
  min-height:100svh;position:relative;display:flex;align-items:flex-end;
  background:linear-gradient(145deg,#011825,#06375d 48%,#011825);color:#fff;
}
.imc-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#000b,transparent 65%)}
.imc-hero-img{position:absolute;inset:0;opacity:.12}
.imc-hero-img img{width:100%;height:100%;object-fit:cover}
.imc-hero-content{position:relative;z-index:2;padding:160px 0 70px}
.imc-hero h1{font:300 clamp(50px,7vw,104px)/.96 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:25px 0}
.imc-hero h1 em{font-style:italic}
.imc-lead{max-width:720px;color:#fffc;font-size:18px}
.imc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.imc-actions.center{justify-content:center}
.imc-actions.end{justify-content:flex-end}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.imc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 28px;border-radius:999px;
  font-size:10px;text-transform:uppercase;letter-spacing:.16em;
  border:1px solid #fff7;transition:.25s;white-space:nowrap;
}
.imc-btn.light{background:var(--p);color:var(--c);border-color:var(--p)}
.imc-btn.light:hover{background:#fff}
.imc-btn.dark{background:var(--c);color:var(--p);border-color:var(--c)}
.imc-btn.dark:hover{background:var(--m);border-color:var(--m)}
.imc-btn.full{width:100%;margin-top:22px}

/* ── Stats strip in hero ────────────────────────────────────────────────── */
.imc-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;border-top:1px solid #fff3}
.imc-stat{padding:18px 12px;border-right:1px solid #ffffff1f}
.imc-stat:last-child{border-right:0}
.imc-stat b{display:block;margin-top:7px;font:300 24px/1.1 Fraunces,Georgia,serif}

/* ── Info strip below hero ──────────────────────────────────────────────── */
.imc-strip{background:#d8d6d1;padding:20px 0}
.imc-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.imc-strip-grid div{text-align:center;font:300 23px/1.1 Fraunces,Georgia,serif}

/* ── Sections ───────────────────────────────────────────────────────────── */
.imc-sec{padding:105px 0}
.imc-alt{background:var(--s)}
.imc-white{background:#fff}
.imc-dark{background:var(--m);color:var(--p)}
.imc-dark .imc-copy{color:#f3f1ecb3}

.imc-grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,100px);align-items:center}

.imc-title{font:300 clamp(38px,4.5vw,66px)/1.02 Fraunces,Georgia,serif;letter-spacing:-.03em;margin:15px 0 28px}
.imc-copy{font-size:18px;color:var(--g);line-height:1.7}
.imc-copy+.imc-copy{margin-top:18px}
.imc-feature-copy{font:300 clamp(20px,2.5vw,30px)/1.35 Fraunces,Georgia,serif;color:var(--c);margin:0 0 24px}

.imc-about-img{width:100%;aspect-ratio:4/5;object-fit:cover}

.imc-numbers,.imc-values{display:grid;gap:22px;border-top:1px solid var(--x);padding-top:28px;margin-top:40px}
.imc-numbers{grid-template-columns:repeat(3,1fr)}
.imc-values{grid-template-columns:repeat(3,1fr)}
.imc-numbers b{font:300 38px/1 Fraunces,Georgia,serif;color:var(--m)}
.imc-numbers span{display:block;margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--g)}
.imc-values h4{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--m);margin:0 0 8px}
.imc-values p{margin:0;color:var(--g);font-size:14px}

/* ── Reach section ──────────────────────────────────────────────────────── */
.imc-reach{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.imc-rule{padding:26px 0;border-top:1px solid #ffffff24}
.imc-rule h3{font:300 27px Fraunces,Georgia,serif;margin:0 0 10px}
.imc-rule p{margin:0;color:#f3f1ecad;font-size:15px}
.imc-reachstats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#fff2;margin-top:35px}
.imc-reachstats>div{background:var(--m);padding:22px}
.imc-reachstats b{font:300 34px Fraunces,Georgia,serif}

/* ── Cards grid ─────────────────────────────────────────────────────────── */
.imc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--x);border:1px solid var(--x)}
.imc-card{background:var(--p);padding:32px;min-height:245px;min-width:0}
.imc-white .imc-card{background:#fff}
.imc-num{font:300 34px Fraunces,Georgia,serif;color:#c8c8c3}
.imc-card h3{font:300 25px/1.12 Fraunces,Georgia,serif;margin:18px 0 10px}
.imc-home-sponsor-logo{width:100%;max-width:180px;height:90px;object-fit:contain;display:block;margin:0 auto 22px;}


/* ── Workshops — 4 blocks in one row, no grey bg ────────────────────────── */
.imc-workshops-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--x);border:1px solid var(--x);
  margin-top:50px;
}
.imc-workshop-item{
  background:var(--p);          /* parchment — no grey background */
  padding:32px 28px;
  min-width:0;
}
.imc-workshop-item .imc-num{display:block;margin-bottom:16px}
.imc-workshop-item h3{font:300 22px/1.12 Fraunces,Georgia,serif;margin:0 0 10px;color:var(--c)}
.imc-workshop-item p{font-size:14px;color:var(--g);margin:0}

/* ── Leadership (directors) — 2 cards side by side, no grey bg ─────────── */
.imc-leadership-row{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--x);border:1px solid var(--x);
  margin-top:50px;
}
.imc-director-card{
  background:var(--p);          /* parchment — no grey background */
  padding:40px 36px;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;
}
.imc-director-logo{
  width:64px;height:64px;border-radius:50%;
  object-fit:contain;margin-bottom:20px;
  border:1px solid var(--x);
}
.imc-director-card h3{font:300 28px/1.1 Fraunces,Georgia,serif;margin:6px 0 8px;color:var(--c)}
.imc-director-card p{font-size:14px;color:var(--g);margin:8px 0 0}

/* ── Categories ─────────────────────────────────────────────────────────── */
.imc-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--x);border-block:1px solid var(--x);margin-top:50px}
.imc-cat{background:#fff;min-height:280px;padding:32px;position:relative;min-width:0}
.imc-bgnum{position:absolute;top:8px;right:15px;font:300 84px/1 Fraunces,Georgia,serif;color:#e6e4df}
.imc-cat h3{position:relative;font:300 25px/1.12 Fraunces,Georgia,serif;margin:0 0 12px;max-width:82%}
.imc-cat b{position:relative;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--m)}
.imc-cat p{position:relative;color:var(--g);font-size:14px}

/* ── List (judging/rules) ───────────────────────────────────────────────── */
.imc-list{margin:45px 0 0;padding:0;list-style:none;border-top:1px solid var(--x)}
.imc-list li{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);gap:30px;padding:23px 0;border-bottom:1px solid var(--x)}
.imc-list strong{font:300 23px Fraunces,Georgia,serif}
.imc-list span{font-size:15px;color:var(--g)}

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.imc-faq{border-top:1px solid var(--x)}
.imc-fq{width:100%;background:none;border:0;border-bottom:1px solid var(--x);padding:23px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;font:300 21px Fraunces,Georgia,serif;cursor:pointer;color:var(--c)}
.imc-fa{display:none;color:var(--g);font-size:15px;padding:0 35px 20px 0}
.imc-fi.open .imc-fa{display:block}

/* ── Final CTA (Step into the championships) ────────────────────────────── */
.imc-cta{
  min-height:78svh;position:relative;display:grid;place-items:center;
  background:var(--m);color:var(--p);text-align:center;
}
.imc-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.imc-cta:after{content:'';position:absolute;inset:0;background:#17324de6}
.imc-ctai{position:relative;z-index:2;padding:100px 0;width:100%}
.imc-cta h2{font:300 clamp(48px,8vw,120px)/.95 Fraunces,Georgia,serif;letter-spacing:-.04em;margin:25px auto;max-width:1100px}
.imc-cta p{max-width:700px;margin:0 auto 36px;color:#f3f1ecbf;font-size:18px}
/* Buttons centred inside the CTA */
.imc-ctai .imc-actions{justify-content:center}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.imc-footer{background:#101315;color:var(--p)}
.imc-footer-date-wrap{padding-top:56px}
.imc-footer-date{
  font:300 clamp(48px,12vw,150px)/1 Fraunces,Georgia,serif;
  letter-spacing:-.03em;color:#f3f1ec1a;
  border-bottom:1px solid #f3f1ec1a;
  padding-bottom:28px;white-space:nowrap;overflow:hidden;
}
.imc-footer-inner{padding:48px 0 25px}
.imc-fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}
.imc-footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#c2c5c3;margin:0 0 16px}
.imc-fl{display:grid;gap:7px}
.imc-footer p,.imc-footer a{font-size:13px;color:#f3f1eca3}
.imc-fb{margin-top:48px;padding-top:22px;border-top:1px solid #ffffff19;font-size:11px;color:#f3f1ec73;display:flex;justify-content:space-between}

/* Footer brand logo */
.imc-footer-logo{width:52px;height:52px;border-radius:50%;object-fit:contain;margin-bottom:14px;display:block}

/* ── Inner pages (Judges / Sponsors) ───────────────────────────────────── */
.imc-inner-hero{background:var(--c);color:var(--p);padding:150px 0 90px}
.imc-inner-hero h1{font:300 clamp(48px,7vw,90px)/1 Fraunces,Georgia,serif;margin:20px 0}
.imc-page{background:var(--p);min-height:70vh}

/* Sponsor cards */
.imc-sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.imc-sponsor-card{background:#fff;border:1px solid var(--x);padding:32px;min-height:200px;box-shadow:0 1px 4px #0000000a;transition:box-shadow .35s}
.imc-sponsor-card:hover{box-shadow:0 4px 18px #00000014}
.imc-sponsor-logo{display:flex;align-items:center;justify-content:center;min-height:80px;margin-bottom:18px;padding:14px;background:var(--s);border:1px solid var(--x);font:300 18px/1.2 Fraunces,Georgia,serif;text-align:center;color:var(--c)}
.imc-sponsor-card h3{font:300 24px Fraunces,Georgia,serif;margin:10px 0 6px}
.imc-sponsor-card p{color:var(--g);font-size:14px;margin:0 0 18px}
.imc-sponsor-card a{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--m)}
.imc-sponsor-cta{margin-top:60px;padding-top:40px;border-top:1px solid var(--x);text-align:center}
.imc-sponsor-cta h2{font:300 clamp(30px,4vw,52px)/1.05 Fraunces,Georgia,serif;margin:12px 0 18px}
.imc-sponsor-cta p{color:var(--g);font-size:16px;max-width:520px;margin:0 auto 28px}

/* Judges grid */
.imc-judges-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.imc-judge-card{display:block}
.imc-portrait{position:relative;display:block;width:100%;aspect-ratio:4/5;margin-bottom:18px;overflow:hidden;background:linear-gradient(160deg,var(--m) 0%,#3a5c73 60%,var(--g) 100%)}
.imc-portrait span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:300 46px/1 Fraunces,Georgia,serif;color:#f3f1ece6;letter-spacing:-.02em}
.imc-portrait.large{aspect-ratio:4/5;margin-bottom:18px}
.imc-judge-card h3{font:300 20px/1.15 Fraunces,Georgia,serif;margin:4px 0 8px;color:var(--c)}
.imc-judge-card>p{margin:0;font-size:13px;color:var(--g)}
.imc-judge-card:hover .imc-portrait{transform:scale(1.02);transition:transform .5s}
.imc-judges-cta{max-width:640px;margin:0 auto;text-align:center}
.imc-judges-cta .imc-title{margin-top:15px}
.imc-judges-cta .imc-actions{justify-content:center}

/* Judge profile */
.imc-back{display:inline-block;margin-bottom:30px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--g)}
.imc-back:hover{color:var(--m)}
.imc-profile-grid{display:grid;grid-template-columns:.42fr .58fr;gap:60px}
.imc-profile-portrait{}
.imc-profile-social{display:flex;gap:10px;margin-top:18px}
.imc-profile-social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--x);font-size:11px;text-transform:uppercase;color:var(--g)}
.imc-profile-body h1{font:300 clamp(38px,4.5vw,58px)/1.03 Fraunces,Georgia,serif;letter-spacing:-.03em;margin:12px 0 14px}
.imc-lead.dark{color:var(--g);font-size:18px}
.imc-profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.imc-profile-tags span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--m);border:1px solid var(--x);padding:8px 14px}
.imc-profile-sections{margin-top:46px;display:grid;gap:38px}
.imc-profile-sections h2{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--m);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--x)}
.imc-profile-sections p{margin:0;color:var(--g);font-size:16px;line-height:1.7}
.imc-profile-achievements{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.imc-profile-achievements li{display:flex;gap:12px;color:var(--g);font-size:15px;line-height:1.6}
.imc-profile-achievements li span:first-child{color:#c8c8c3;flex-shrink:0}
.imc-next-judge{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:54px;padding-top:26px;border-top:1px solid var(--x)}
.imc-next-judge-name{display:block;font:300 22px Fraunces,Georgia,serif;color:var(--c);margin-top:4px}
.imc-next-judge-country{display:block;font-size:13px;color:var(--g);margin-top:2px}
.imc-next-judge-arrow{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--x);color:var(--m)}
.imc-cta-simple{padding:90px 0;text-align:center;background:var(--m);color:var(--p)}
.imc-cta-simple .imc-title{margin:15px auto 25px;max-width:640px}
/* Centre button in judge profile CTA */
.imc-cta-simple .imc-actions{justify-content:center}

/* ── Scroll-reveal animation ─────────────────────────────────────────────── */
.imc-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
.imc-reveal.is-visible{opacity:1;transform:translateY(0)}

/* ── Tablet breakpoint (burger visible, 2-col grids) ────────────────────── */
@media(max-width:1020px){
  .imc-menu,.imc-register{display:none}
  .imc-menu-btn{display:inline-flex}
  .imc-judges-grid{grid-template-columns:repeat(3,1fr)}
  .imc-profile-grid{grid-template-columns:1fr;gap:36px}
  .imc-grid2,.imc-reach{grid-template-columns:1fr}
  .imc-cards,.imc-cats{grid-template-columns:repeat(2,1fr)}
  .imc-values{grid-template-columns:repeat(2,1fr)}
  .imc-fg{grid-template-columns:repeat(2,1fr)}
  .imc-workshops-row{grid-template-columns:repeat(2,1fr)}
  .imc-leadership-row{grid-template-columns:repeat(2,1fr)}
  .imc-sponsor-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Mobile breakpoint ──────────────────────────────────────────────────── */
@media(max-width:640px){
  .imc-wrap{padding:0 20px}
  .imc-judges-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}
  .imc-footer-date{font-size:clamp(32px,14vw,60px)}
  .imc-hero-content{padding-top:130px}
  .imc-hero h1{font-size:clamp(48px,13vw,72px)}
  .imc-lead{font-size:16px}
  .imc-actions{flex-direction:column}
  .imc-btn{width:100%}
  .imc-stats,.imc-strip-grid{grid-template-columns:repeat(2,1fr)}
  .imc-strip-grid{row-gap:18px}
  .imc-strip-grid div{font-size:20px}
  .imc-sec{padding:75px 0}
  .imc-title{font-size:clamp(36px,11vw,58px)}
  .imc-values,.imc-cards,.imc-cats{grid-template-columns:1fr}
  .imc-workshops-row,.imc-leadership-row{grid-template-columns:1fr}
  .imc-card,.imc-cat{min-height:auto}
  .imc-list li{grid-template-columns:1fr;gap:7px}
  .imc-fq{font-size:18px}
  .imc-fg{grid-template-columns:1fr}
  .imc-fb{flex-direction:column;gap:8px}
  .imc-reachstats{grid-template-columns:repeat(2,1fr)}
  .imc-sponsor-grid{grid-template-columns:1fr}
}
