.elementor-136 .elementor-element.elementor-element-254b383{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-136 .elementor-element.elementor-element-254b383{--padding-top:70px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-052da5b *//* =========================================================
   CORNEX 2027 — COMPLETE CSS
========================================================= */

:root{
  --green:#175537;
  --green-dark:#103d2a;
  --burgundy:#7d2f36;
  --burgundy-dark:#512126;
  --gold:#c9a45c;
  --gold-light:#e2c27a;
  --ink:#2a2018;
  --gif-bg:#fbfbfc;
}


/* =========================================================
   RESET
========================================================= */

*,*::before,*::after{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

#app{
  width:100%;
  overflow:hidden;
  background:#fff;
}

img{
  display:block;
  max-width:100%;
}

p,h2,h3{
  margin:0;
}


/* =========================================================
   SHARED
========================================================= */

.cornex-container{
  width:calc(100% - 48px);
  max-width:1180px;
  margin:auto;
}

.section-header{
  text-align:center;
  max-width:650px;
  margin:0 auto 60px;
}

.cornex-eyebrow{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--burgundy);
}

.gold-eyebrow{
  color:var(--gold-light);
}

.cornex-title{
  margin-top:14px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.02em;
}

.cornex-title em{
  color:var(--green);
  font-style:italic;
  font-weight:600;
}


/* =========================================================
   GENERAL REVEAL
========================================================= */

.reveal{
  opacity:0;
  transform:translateY(38px);

  transition:
    opacity .8s cubic-bezier(.22,1,.36,1),
    transform .8s cubic-bezier(.22,1,.36,1);
}

.reveal.is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   COUNTDOWN
========================================================= */

.countdown{
  position:relative;
  overflow:hidden;
  background:var(--burgundy);
}

.countdown-glow{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 85% 0%,
      rgba(226,194,122,.14),
      transparent 50%
    );
}

.countdown-inner{
  position:relative;
  padding:40px 0;
}

.countdown-layout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}

.countdown-heading{
  margin-top:8px;
  font:500 28px/1.2 'Cormorant Garamond',serif;
  color:#fff;
}

.countdown-pills{
  display:flex;
  gap:12px;
}

.countdown-pill{
  min-width:80px;
  padding:12px 16px;
  text-align:center;
  border-radius:16px;

  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(4px);
}

.countdown-number{
  font:400 38px/1 'Cormorant Garamond',serif;
  color:var(--gold-light);
}

.countdown-number.tick{
  animation:cornexTick .45s ease;
}

.countdown-label{
  margin-top:6px;
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(255,255,255,.65);
}


/* =========================================================
   WELCOME
========================================================= */

.welcome{
  position:relative;
  padding:100px 0;
  overflow:hidden;
  background:#fff;
}

.welcome-bg{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 5% 25%,
      rgba(125,47,54,.05),
      transparent 30%
    ),
    radial-gradient(
      circle at 95% 70%,
      rgba(23,85,55,.055),
      transparent 28%
    );
}

.welcome-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:70px;
}


/* =========================================================
   CONFERENCE PRESIDENT
========================================================= */

.speaker-wrap{
  max-width:340px;
  min-height:470px;
  margin:auto;

  display:flex;
  flex-direction:column;
  align-items:center;
}

.speaker-circle{
  position:relative;
  width:300px;
  height:300px;
}

.circle-halo,
.ring-gold-dashed,
.ring-green-solid,
.orbiting-dots{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
}

.circle-halo{
  width:115%;
  height:115%;

  background:
    radial-gradient(
      circle,
      rgba(201,164,92,.12),
      transparent 70%
    );

  animation:cornexBreathe 8s ease-in-out infinite;
}

.ring-gold-dashed{
  width:108%;
  height:108%;
  border:2px dashed rgba(201,164,92,.38);
  animation:cornexRingSpin 28s linear infinite;
}

.ring-green-solid{
  width:118%;
  height:118%;
  border:2px solid rgba(23,85,55,.26);
  animation:cornexRingSpin 46s linear infinite reverse;
}

.orbiting-dots{
  width:112%;
  height:112%;
  animation:cornexRingSpin 20s linear infinite;
}

.dot-gold,
.dot-green{
  position:absolute;
  left:50%;
  border-radius:50%;
  transform:translateX(-50%);
}

.dot-gold{
  top:0;
  width:10px;
  height:10px;
  background:var(--gold);
  box-shadow:0 0 9px rgba(201,164,92,.6);
}

.dot-green{
  bottom:0;
  width:8px;
  height:8px;
  background:var(--green);
}

.circle-photo{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:50%;
  border:5px solid #fff;
  box-shadow:0 20px 50px rgba(42,32,24,.24);
  animation:cornexTilt3D 8s ease-in-out infinite;
}

.circle-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 25%;
}

.circle-sheen{
  position:absolute;
  inset:0;
  border-radius:50%;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.25),
      transparent 40%,
      transparent 60%,
      rgba(0,0,0,.1)
    );
}

.particle{
  position:absolute;
  border-radius:50%;
  animation:cornexFloat 6s ease-in-out infinite;
}


/* =========================================================
   PRESIDENT NAME PLATE
========================================================= */

.name-plate{
  position:relative;
  z-index:5;

  margin-top:25px;
  min-width:290px;
  padding:18px 30px;

  text-align:center;
  color:#fff;

  border-radius:17px;
  overflow:hidden;

  background:
    linear-gradient(
      125deg,
      #0a2a1c,
      #103d2a 22%,
      #175537 52%,
      #247049 75%,
      #103d2a
    );

  box-shadow:
    0 16px 34px rgba(23,85,55,.32);
}

.name-plate-gold-line{
  position:absolute;
  top:0;
  left:19%;
  width:62%;
  height:2px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--gold-light),
      transparent
    );
}

.name-plate-dot{
  position:absolute;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
}

.name-plate-dot.left{
  left:12px;
}

.name-plate-dot.right{
  right:12px;
}

.name-plate-label{
  display:block;

  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;

  color:var(--gold-light);
}

.name-plate-name{
  display:block;
  margin-top:5px;

  font:
    600 24px/1.1
    'Cormorant Garamond',
    serif;
}


/* =========================================================
   WELCOME MESSAGE
========================================================= */

.welcome-message-card{
  position:relative;
  overflow:hidden;

  border-radius:24px;
  border:1px solid rgba(23,85,55,.10);

  background:
    linear-gradient(
      145deg,
      #fff,
      #fbfaf7 58%,
      #f5f8f5
    );

  box-shadow:
    0 20px 55px rgba(42,32,24,.09),
    0 4px 14px rgba(23,85,55,.05);
}

.welcome-message-card::before{
  content:"";

  position:absolute;
  left:0;
  top:38px;
  bottom:38px;

  width:4px;
  border-radius:0 10px 10px 0;

  background:var(--green);
}

.message-glow{
  position:absolute;

  width:230px;
  height:230px;

  right:-110px;
  top:-120px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(23,85,55,.095),
      transparent 68%
    );
}

.message-inner{
  position:relative;
  z-index:2;

  padding:38px 40px 34px;
}

.welcome-small-title{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:22px;

  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;

  color:var(--burgundy);
}

.welcome-small-title span{
  width:40px;
  height:2px;
  background:var(--green);
}

.message-quote{
  position:absolute;
  top:-12px;
  right:24px;

  font:
    700 135px/1
    'Cormorant Garamond',
    serif;

  color:var(--green);
  opacity:.055;
}

.message-first-para{
  font-size:16px;
  text-align:justify;
  line-height:1.85;

  color:rgba(42,32,24,.83);
}

.message-first-para strong{
  color:var(--green);
}

.drop-cap{
  float:left;

  margin:4px 12px 0 0;

  font:
    600 64px/.8
    'Cormorant Garamond',
    serif;

  color:var(--burgundy);
}

.message-paras{
  margin-top:16px;

  display:flex;
  flex-direction:column;
  gap:16px;
}

.message-paras p{
  font-size:15px;
  text-align:justify;
  line-height:1.82;

  color:rgba(42,32,24,.72);
}

.message-signature{
  display:flex;
  align-items:center;
  gap:16px;

  margin-top:28px;
}

.signature-line{
  width:50px;
  height:1px;

  background:
    linear-gradient(
      90deg,
      var(--green),
      var(--gold)
    );
}

.sig-name{
  font:
    italic 400 28px/1
    'Cormorant Garamond',
    serif;

  color:var(--burgundy);
}

.sig-title{
  margin-top:7px;

  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;

  color:var(--green);
}


/* =========================================================
   EVERYTHING YOU NEED
========================================================= */

.features{
  position:relative;

  padding:105px 0 110px;

  background:
    linear-gradient(
      180deg,
      #fff 0%,
      #fff 6%,
      #fbfbfc 30%,
      #fbfbfc 100%
    );
}


/* Green heading */

.feature-eyebrow,
.feature-main-heading,
.feature-main-heading em{
  color:var(--green);
  font-weight:700;
}

.feature-main-heading em{
  font-style:italic;
}


/* =========================================================
   FEATURES GRID — BALANCED 2 × 2
========================================================= */

.features-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  max-width:1050px;
  margin:0 auto;
}


/* =========================================================
   NEW FEATURE CARD
========================================================= */

.feature-card{
  position:relative;

  min-height:390px;

  padding:22px 28px 30px;

  overflow:hidden;

  border-radius:22px;

  /*
     Same background as the GIF.
     GIF now lives INSIDE the card.
  */
  background:#fbfbfc;

  border:1px solid rgba(23,85,55,.10);

  box-shadow:
    0 12px 35px rgba(42,32,24,.055);

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.feature-card:hover{
  transform:translateY(-7px);

  border-color:rgba(125,47,54,.20);

  box-shadow:
    0 20px 45px rgba(125,47,54,.09);
}

/* =========================================================
   CLICKABLE POWERPOINT CARD
========================================================= */

.feature-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.feature-card-link:visited{color:inherit;}
.feature-card-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.feature-status-ready{color:var(--green);background:rgba(23,85,55,.08);}

.feature-download-btn{
  position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  width:max-content;margin-top:20px;padding:11px 19px;border-radius:10px;
  background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;
  font-size:10px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.08em;
  box-shadow:0 8px 18px rgba(23,85,55,.18);
  transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.feature-download-btn svg{width:15px;height:15px;flex-shrink:0;transition:transform .3s ease;}
.feature-card-link:hover .feature-download-btn{
  background:linear-gradient(135deg,var(--burgundy-dark),var(--burgundy));
  transform:translateY(-2px);box-shadow:0 10px 22px rgba(125,47,54,.20);
}
.feature-card-link:hover .feature-download-btn svg{transform:translateY(2px);}


/* =========================================================
   FEATURE TOP ACCENT
========================================================= */

.feature-side-bar{
  position:absolute;

  left:28px;
  right:28px;
  top:0;

  width:auto;
  height:3px;

  border-radius:0 0 10px 10px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--green),
      transparent
    );

  transition:background .35s ease;
}

.feature-card:hover .feature-side-bar{
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--burgundy),
      transparent
    );
}


/* =========================================================
   GIF INSIDE CARD
========================================================= */

.feature-icon-wrap{
  position:relative;

  left:auto;
  top:auto;

  width:100%;
  height:190px;

  margin:0 auto 5px;

  display:flex;
  align-items:center;
  justify-content:center;

  transform:none;

  background:#fbfbfc;

  border-radius:0;
  overflow:hidden;
}

.feature-icon-wrap img{
  display:block;

  width:190px;
  height:190px;

  object-fit:contain;

  background:#fbfbfc;

  /*
     GIF already has its own shadow.
  */
  filter:none;

  transition:transform .35s ease;
}

.feature-card:hover .feature-icon-wrap img{
  transform:scale(1.035);
}


/* =========================================================
   FEATURE INFO ROW
========================================================= */

.feature-top-row{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin:2px 0 17px;
  padding-top:16px;

  border-top:
    1px solid rgba(23,85,55,.08);
}


/* Number */

.feature-num-badge{
  display:flex;
  align-items:center;
  justify-content:center;

  width:38px;
  height:38px;

  border-radius:50%;

  background:var(--green);
  color:#fff;

  font-size:12px;
  font-weight:700;

  transition:
    background .3s ease,
    transform .3s ease;
}

.feature-card:hover .feature-num-badge{
  background:var(--burgundy);
  transform:rotate(-5deg);
}


/* Coming Soon */

.feature-status{
  padding:5px 12px;

  border-radius:999px;

  font-size:8px;
  font-weight:700;

  text-transform:uppercase;
  letter-spacing:.14em;

  color:var(--green);

  background:
    rgba(23,85,55,.07);

  transition:
    color .3s ease,
    background .3s ease;
}

.feature-card:hover .feature-status{
  color:var(--burgundy);

  background:
    rgba(125,47,54,.08);
}


/* =========================================================
   FEATURE TITLE
========================================================= */

.feature-title{
  font:
    700 30px/1.15
    'Cormorant Garamond',
    serif;

  color:var(--green);

  transition:
    color .3s ease,
    transform .3s ease;
}

.feature-card:hover .feature-title{
  color:var(--burgundy);
  transform:translateX(3px);
}


/* =========================================================
   FEATURE DESCRIPTION
========================================================= */

.feature-copy{
  margin-top:10px;

  font-size:14px;
  line-height:1.65;

  color:rgba(42,32,24,.62);
}


/* subtle decoration */

.feature-card::after{
  content:"";

  position:absolute;

  right:-35px;
  bottom:-35px;

  width:100px;
  height:100px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(23,85,55,.055),
      transparent 68%
    );

  transition:
    background .35s ease,
    transform .35s ease;
}

.feature-card:hover::after{
  background:
    radial-gradient(
      circle,
      rgba(125,47,54,.065),
      transparent 68%
    );

  transform:scale(1.15);
}


/* =========================================================
   VENUE
========================================================= */

.venue{
  padding:100px 0;
  background:#fff;
}

.venue-card{
  display:grid;
  grid-template-columns:1fr 1.1fr;

  overflow:hidden;

  border-radius:22px;

  box-shadow:
    0 28px 70px rgba(42,32,24,.12);
}

.venue-copy{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:48px;

  background:var(--green);
}

.venue-radial{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 80% 10%,
      rgba(226,194,122,.12),
      transparent 55%
    );
}

.venue-shimmer-wrap{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.venue-shimmer{
  width:40%;
  height:100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(226,194,122,.08),
      transparent
    );

  animation:
    cornexShimmer
    6s ease-in-out infinite;
}

.venue-copy-inner,
.venue-location{
  position:relative;
}

.venue-headline{
  margin-top:20px;

  font:
    400 28px/1.3
    'Cormorant Garamond',
    serif;

  color:#fff;
}

.venue-desc{
  margin-top:16px;

  font-size:14px;
  line-height:1.75;
  text-align:justify;

  color:rgba(255,255,255,.72);
}

.venue-location{
  display:flex;
  gap:13px;

  margin-top:35px;
  padding-top:22px;

  border-top:
    1px solid rgba(255,255,255,.16);
}

.venue-pin{
  display:flex;
  align-items:center;
  justify-content:center;

  width:40px;
  height:40px;

  flex-shrink:0;

  border-radius:50%;

  background:var(--burgundy);

  color:var(--gold-light);

  animation:
    cornexPinPulse
    2.5s ease-in-out infinite;
}

.venue-pin svg{
  width:19px;
}

.venue-loc-name{
  font-size:15px;
  font-weight:600;
  color:#fff;
}

.venue-loc-sub{
  margin-top:3px;

  font-size:12px;

  color:rgba(255,255,255,.62);
}

.venue-image{
  position:relative;
  overflow:hidden;

  min-height:420px;
}

.venue-image img{
  width:100%;
  height:100%;

  object-fit:cover;

  animation:
    cornexDrift
    12s ease-in-out infinite;
}

.venue-image-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(23,85,55,.08),
      transparent,
      rgba(125,47,54,.06)
    );
}


/* =========================================================
   GLOBAL ASSOCIATION
========================================================= */

.cornex-presidents{
  --p-green:#175537;
  --p-green-dark:#0a2c1d;
  --p-burgundy:#7d2f36;
  --p-burgundy-dark:#45191e;
  --p-gold:#c9a45c;
  --p-gold-light:#e2c27a;

  position:relative;

  padding:105px 0 120px;

  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      #fff,
      #fbfaf7 52%,
      #fff
    );
}

.cornex-presidents-bg{
  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 7% 18%,
      rgba(23,85,55,.055),
      transparent 28%
    ),

    radial-gradient(
      circle at 94% 80%,
      rgba(201,164,92,.045),
      transparent 28%
    );
}


/* Global association header */

.presidents-header{
  position:relative;
  z-index:2;

  max-width:680px;

  margin:0 auto 95px;

  text-align:center;
}

.presidents-intro{
  max-width:560px;

  margin:18px auto 0;

  font-size:14px;
  line-height:1.7;

  color:rgba(42,32,24,.62);
}


/* =========================================================
   GLOBAL ASSOCIATION REVEAL
========================================================= */

.presidents-reveal{
  opacity:0;

  transform:translateY(42px);

  transition:
    opacity .75s ease,
    transform .9s cubic-bezier(.16,1,.3,1);

  transition-delay:var(--delay,0ms);
}

.presidents-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}


/* =========================================================
   GLOBAL ASSOCIATION GRID
========================================================= */

.presidents-grid{
  position:relative;
  z-index:2;

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:115px 42px;
}

.president-card{
  position:relative;

  min-width:0;

  text-align:center;
}


/* =========================================================
   FINISHED SPEAKER IMAGE STAGE
========================================================= */

.president-stage{
  position:relative;
  z-index:6;

  width:300px;
  height:330px;

  margin:0 auto -18px;

  display:flex;
  align-items:flex-end;
  justify-content:center;

  overflow:visible;

  transition:
    transform .5s cubic-bezier(.22,1,.36,1);
}

.president-finished-image{
  position:relative;
  z-index:5;

  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center bottom;

  filter:
    drop-shadow(
      0 15px 14px
      rgba(23,85,55,.14)
    );

  transition:
    transform .55s cubic-bezier(.22,1,.36,1),
    filter .4s ease;
}


/* image fade-up */

.presidents-reveal .president-finished-image{
  opacity:0;

  transform:
    translateY(95px)
    scale(.96);

  transition:
    opacity .8s ease .08s,
    transform 1.15s cubic-bezier(.16,1,.3,1) .05s,
    filter .4s ease;
}

.presidents-reveal.is-visible .president-finished-image{
  opacity:1;

  transform:
    translateY(0)
    scale(1);
}


/* image hover */

.president-card:hover .president-stage{
  transform:translateY(-8px);
}

.president-card:hover .president-finished-image{
  transform:
    translateY(-7px)
    scale(1.025);

  filter:
    drop-shadow(
      0 23px 19px
      rgba(23,85,55,.19)
    );
}


/* =========================================================
   PRESIDENT RIBBON — WIDER
========================================================= */

.president-ribbon{
  position:relative;
  z-index:10;
  width:290px;
  max-width:92%;
  margin:10px auto 0;
  filter:drop-shadow(0 10px 12px rgba(23,85,55,.16));
  transition:filter .4s ease;
}

.presidents-reveal .president-ribbon{
  opacity:0;
  transform:translateY(12px) scaleX(.92);
  transition:opacity .5s ease .15s,transform .7s cubic-bezier(.16,1,.3,1) .12s,filter .4s ease;
}

.presidents-reveal.is-visible .president-ribbon{
  opacity:1;
  transform:translateY(0) scaleX(1);
}

/* =========================================================
   MAIN RIBBON
========================================================= */

.ribbon-main{
  position:relative;
  z-index:3;
  min-height:60px;
  padding:13px 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:8px;
  background:linear-gradient(110deg,#082719 0%,#103d2a 14%,#175537 35%,#2d7852 51%,#175537 68%,#103d2a 86%,#082719 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -5px 10px rgba(3,28,17,.18);
  transition:background .45s ease,box-shadow .45s ease;
}

.ribbon-main::before{
  content:"";
  position:absolute;
  z-index:5;
  top:0;
  left:18%;
  right:18%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--p-gold-light),transparent);
}

/* =========================================================
   NAME
========================================================= */

.ribbon-main h3{
  position:relative;
  z-index:6;
  width:100%;
  margin:0;
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:700;
  line-height:1.12;
  text-align:center;
  color:#fff;
}

/* =========================================================
   COUNTRY — OUTSIDE RIBBON
========================================================= */

.president-country{
  position:relative;
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:15px auto 0;
  padding:0 18px 9px;
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--p-green);
  transition:color .35s ease;
}

.president-country::before,
.president-country::after{
  content:"";
  width:20px;
  height:1px;
  margin:0 9px;
  background:linear-gradient(90deg,transparent,var(--p-gold));
}

.president-country::after{
  background:linear-gradient(90deg,var(--p-gold),transparent);
}

/* =========================================================
   SOCIETY NAME
========================================================= */

.president-society{
  max-width:290px;
  min-height:38px;
  margin:1px auto 0;
  padding-top:9px;
  border-top:1px solid rgba(23,85,55,.10);
  font-size:12px;
  font-weight:600;
  line-height:1.5;
  color:rgba(42,32,24,.60);
  transition:color .35s ease;
}

/* =========================================================
   GLOBAL ASSOCIATION — SOCIETY LOGOS
   Country text removed; society logo is the identifier
========================================================= */

.president-society-logo{
  width:100%;
  height:105px;
  margin:18px auto 0;
  padding:12px 20px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-top:1px solid rgba(23,85,55,.10);
}

.president-society-logo img{
  display:block;

  width:auto;
  height:auto;

  max-width:165px;
  max-height:78px;

  object-fit:contain;
  object-position:center;

  margin:auto;

  transition:
    transform .35s ease,
    filter .35s ease;
}

.president-card:hover .president-society-logo img{
  transform:scale(1.04);
}

/* =========================================================
   RIBBON GLASS
========================================================= */

.ribbon-glass{
  position:absolute;
  z-index:4;
  top:-30%;
  bottom:-30%;
  left:-55%;
  width:38%;
  opacity:0;
  pointer-events:none;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(255,255,255,.50),rgba(255,255,255,.12),transparent);
}

.president-card:hover .ribbon-glass{
  animation:presidentRibbonGlass .9s ease-out 1;
}

/* =========================================================
   RIBBON TAILS — WIDER RIBBON
========================================================= */

.ribbon-tail{
  position:absolute;
  z-index:1;
  top:10px;
  width:40px;
  height:46px;
  background:linear-gradient(135deg,#062116,#103d2a 52%,#175537);
  transition:background .45s ease;
}

.ribbon-tail-left{
  left:-22px;
  clip-path:polygon(100% 0,100% 100%,0 83%,16% 50%,0 17%);
}

.ribbon-tail-right{
  right:-22px;
  clip-path:polygon(0 0,100% 17%,84% 50%,100% 83%,0 100%);
}

.ribbon-tail-left::after,
.ribbon-tail-right::after{
  content:"";
  position:absolute;
  top:0;
  width:11px;
  height:100%;
  background:rgba(0,0,0,.16);
}
.ribbon-tail-left::after{right:0;}
.ribbon-tail-right::after{left:0;}

/* =========================================================
   BURGUNDY HOVER
========================================================= */

.president-card:hover .ribbon-main{
  background:linear-gradient(110deg,#3b1419 0%,#512126 15%,#7d2f36 36%,#99424a 51%,#7d2f36 68%,#512126 86%,#3b1419 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -5px 10px rgba(55,10,15,.20),0 9px 24px rgba(125,47,54,.12);
}
.president-card:hover .president-ribbon{filter:drop-shadow(0 13px 14px rgba(125,47,54,.17));}
.president-card:hover .ribbon-tail{background:linear-gradient(135deg,#351318,#512126 52%,#7d2f36);}
.president-card:hover .president-country{color:var(--p-burgundy);}
.president-card:hover .president-society{color:var(--p-burgundy);}

/* =========================================================
   STRATEGIC PARTNERS
========================================================= */

.sponsors{
  padding:100px 0;
  background:#fff;
}

.sponsors-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.sponsor-card{
  position:relative;

  min-height:200px;

  padding:40px 28px 32px;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  border-radius:16px;

  background:#fff;

  border:
    1px solid rgba(42,32,24,.08);

  box-shadow:
    0 8px 24px rgba(42,32,24,.05);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.sponsor-card:hover{
  transform:translateY(-5px);

  box-shadow:
    0 15px 35px
    rgba(23,85,55,.10);
}


/* sponsor corners */

.corner-tl,
.corner-tr,
.corner-bl,
.corner-br{
  position:absolute;

  width:20px;
  height:20px;
}

.corner-tl{
  top:10px;
  left:10px;

  border-top:2px solid var(--burgundy);
  border-left:2px solid var(--burgundy);
}

.corner-tr{
  top:10px;
  right:10px;

  border-top:2px solid var(--green);
  border-right:2px solid var(--green);
}

.corner-bl{
  bottom:10px;
  left:10px;

  border-bottom:2px solid var(--gold);
  border-left:2px solid var(--gold);
}

.corner-br{
  bottom:10px;
  right:10px;

  border-bottom:2px solid var(--burgundy);
  border-right:2px solid var(--burgundy);
}

.sponsor-label{
  margin-bottom:20px;

  font-size:8px;
  font-weight:700;

  text-transform:uppercase;
  letter-spacing:.2em;

  color:var(--burgundy);
}

.sponsor-logo{
  max-width:180px;
  max-height:90px;

  object-fit:contain;

  transition:transform .3s ease;
}

.sponsor-card:hover .sponsor-logo{
  transform:scale(1.05);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes cornexRingSpin{
  to{
    transform:
      translate(-50%,-50%)
      rotate(360deg);
  }
}

@keyframes cornexBreathe{
  50%{
    transform:
      translate(-50%,-50%)
      scale(1.08);

    opacity:.8;
  }
}

@keyframes cornexTilt3D{
  0%,100%{
    transform:
      perspective(900px)
      rotateY(-7deg)
      rotateX(2deg);
  }

  50%{
    transform:
      perspective(900px)
      rotateY(7deg)
      rotateX(-2deg);
  }
}

@keyframes cornexFloat{
  50%{
    transform:
      translateY(-22px)
      scale(1.4);
  }
}

@keyframes cornexTick{
  40%{
    transform:translateY(-10px);
    opacity:.2;
  }

  60%{
    transform:translateY(10px);
    opacity:.2;
  }
}

@keyframes cornexDrift{
  0%,100%{
    transform:scale(1.06);
  }

  50%{
    transform:
      scale(1.10)
      translateY(-12px);
  }
}

@keyframes cornexShimmer{
  from{
    transform:
      translateX(-120%)
      skewX(-15deg);
  }

  to{
    transform:
      translateX(220%)
      skewX(-15deg);
  }
}

@keyframes cornexPinPulse{
  0%,100%{
    box-shadow:
      0 0 0 0
      rgba(125,47,54,.45);
  }

  50%{
    box-shadow:
      0 0 0 14px
      rgba(125,47,54,0);
  }
}

@keyframes presidentRibbonGlass{
  0%{
    left:-55%;
    opacity:0;
  }

  18%{
    opacity:.9;
  }

  70%{
    opacity:.7;
  }

  100%{
    left:125%;
    opacity:0;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

  .welcome-grid,
  .venue-card{
    grid-template-columns:1fr;
  }

  .welcome-grid{
    gap:50px;
  }

  .welcome-right{
    max-width:720px;
    margin:auto;
  }


  /* features */

  .features-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }

  .feature-card{
    max-width:650px;
    width:100%;

    margin:0 auto;

    min-height:auto;
  }

  .feature-icon-wrap{
    height:180px;
  }

  .feature-icon-wrap img{
    width:180px;
    height:180px;
  }


  /* global association */

  .presidents-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:110px 38px;
  }

}


/* =========================================================
   800PX
========================================================= */

@media(max-width:800px){

  .countdown-layout{
    flex-direction:column;
    text-align:center;
  }

  .sponsors-grid{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .cornex-container{
    width:calc(100% - 30px);
  }


  /* President welcome */

  .speaker-wrap{
    max-width:270px;
    min-height:400px;
  }

  .speaker-circle{
    width:240px;
    height:240px;
  }

  .name-plate{
    min-width:250px;
    padding:16px 20px;
  }

  .message-inner{
    padding:32px 24px 30px;
  }

  .message-first-para,
  .message-paras p,
  .venue-desc{
    text-align:left;
  }


  /* Countdown */

  .countdown-pills{
    width:100%;
    gap:6px;
  }

  .countdown-pill{
    flex:1;

    min-width:0;

    padding:10px 5px;
  }

  .countdown-number{
    font-size:30px;
  }


  /* Features */

  .features{
    padding:85px 0 90px;
  }

  .features-grid{
    grid-template-columns:1fr;
    max-width:520px;
    gap:20px;
  }

  .feature-card{
    padding:18px 22px 26px;
    border-radius:18px;
  }

  .feature-icon-wrap{
    width:100%;
    height:165px;
  }

  .feature-icon-wrap img{
    width:165px;
    height:165px;
  }

  .feature-top-row{
    padding-top:14px;
  }

  .feature-title{
    font-size:27px;
  }


  /* Venue */

  .venue-copy{
    padding:34px 24px;
  }


  /* Global Association */

  .cornex-presidents{
    padding:80px 0 95px;
  }

  .presidents-header{
    margin-bottom:75px;
  }

  .presidents-grid{
    grid-template-columns:1fr;
    gap:105px;
  }

  .president-card{
    width:100%;

    max-width:370px;

    margin:0 auto;
  }

  .president-stage{
    width:280px;
    height:305px;

    margin-bottom:-12px;
  }

  .president-ribbon{
    width:270px;
    max-width:88%;
    margin-top:8px;
  }

  .ribbon-main{
    min-height:58px;
    padding:12px 23px;
  }

  .ribbon-main h3{
    font-size:20px;
  }

  .president-country{
    margin-top:14px;
    padding-left:10px;
    padding-right:10px;
    font-size:17px;
  }

  .president-country::before,
  .president-country::after{
    width:16px;
    margin:0 7px;
  }

  .president-society{
    max-width:270px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:400px){

  .president-stage{
    width:255px;
    height:285px;
  }

  .president-ribbon{
    width:255px;
    max-width:88%;
  }

  .ribbon-main h3{
    font-size:19px;
  }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media(prefers-reduced-motion:reduce){

  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
  }

  .reveal,
  .presidents-reveal,
  .presidents-reveal .president-finished-image,
  .presidents-reveal .president-ribbon{
    opacity:1;
    transform:none;
  }

}

/* Global Association: country text intentionally removed */
.cornex-presidents .president-country{
  display:none !important;
}

@media (max-width:767px){
  .president-society-logo{
    height:95px;
    margin-top:14px;
    padding:10px 15px;
  }

  .president-society-logo img{
    max-width:150px;
    max-height:70px;
  }
}


/* =========================================================
   GLOBAL ASSOCIATION — FINAL POLISHED OVERRIDES
   Equal ribbons + larger logos + elegant separators
========================================================= */

/* Slightly more breathing room while keeping the 3-column layout */
.cornex-presidents .presidents-grid-polished{
  column-gap:58px;
  row-gap:120px;
}

/* Each card becomes a consistent vertical stack */
.cornex-presidents .presidents-grid-polished .president-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
}

/* ---------------------------------------------------------
   EQUAL RIBBONS
--------------------------------------------------------- */

.cornex-presidents .presidents-grid-polished .president-ribbon{
  width:310px;
  max-width:calc(100% - 30px);
  margin:10px auto 0;
}

.cornex-presidents .presidents-grid-polished .ribbon-main{
  width:100%;
  height:72px;
  min-height:72px;
  padding:10px 28px;

  display:flex;
  align-items:center;
  justify-content:center;
}

.cornex-presidents .presidents-grid-polished .ribbon-main h3{
  width:100%;
  margin:0;

  display:flex;
  align-items:center;
  justify-content:center;

  min-height:52px;

  font-size:22px;
  line-height:1.08;
  text-align:center;
}

/* Tails line up with the taller ribbon */
.cornex-presidents .presidents-grid-polished .ribbon-tail{
  top:12px;
  height:50px;
}

/* ---------------------------------------------------------
   LARGER / BETTER BALANCED SOCIETY LOGOS
--------------------------------------------------------- */

.cornex-presidents .presidents-grid-polished .president-society-logo{
  position:relative;

  width:100%;
  max-width:310px;
  height:132px;

  margin:18px auto 0;
  padding:18px 16px 8px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-top:0;
}

/* Decorative divider between ribbon and society logo */
.cornex-presidents .presidents-grid-polished .president-society-logo::before{
  content:"";

  position:absolute;
  top:0;
  left:50%;

  width:82%;
  height:1px;

  transform:translateX(-50%);

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(201,164,92,.20) 12%,
      rgba(201,164,92,.78) 38%,
      rgba(23,85,55,.45) 50%,
      rgba(201,164,92,.78) 62%,
      rgba(201,164,92,.20) 88%,
      transparent 100%
    );
}

/* Small center diamond on the divider */
.cornex-presidents .presidents-grid-polished .president-society-logo::after{
  content:"";

  position:absolute;
  top:-3px;
  left:50%;

  width:7px;
  height:7px;

  transform:
    translateX(-50%)
    rotate(45deg);

  background:var(--p-gold);
  border:1px solid rgba(255,255,255,.95);

  box-shadow:
    0 0 0 3px rgba(201,164,92,.10);
}

.cornex-presidents .presidents-grid-polished .president-society-logo img{
  display:block;

  width:auto;
  height:auto;

  max-width:225px;
  max-height:98px;

  object-fit:contain;
  object-position:center;

  margin:auto;

  filter:
    drop-shadow(0 6px 8px rgba(42,32,24,.06));

  transition:
    transform .35s ease,
    filter .35s ease;
}

.cornex-presidents .presidents-grid-polished .president-card:hover .president-society-logo img{
  transform:scale(1.045);

  filter:
    drop-shadow(0 9px 12px rgba(23,85,55,.10));
}

/* ---------------------------------------------------------
   SEPARATORS BETWEEN MEMBERS
--------------------------------------------------------- */

/* Vertical separators: between columns only */
@media(min-width:951px){

  .cornex-presidents .presidents-grid-polished .president-card:not(:nth-child(3n))::after{
    content:"";

    position:absolute;
    z-index:1;

    top:38px;
    right:-29px;

    width:1px;
    height:calc(100% - 38px);

    background:
      linear-gradient(
        180deg,
        transparent 0%,
        rgba(201,164,92,.12) 12%,
        rgba(201,164,92,.55) 34%,
        rgba(23,85,55,.16) 52%,
        rgba(201,164,92,.45) 72%,
        transparent 100%
      );
  }

  /* Horizontal separator between row 1 and row 2 */
  .cornex-presidents .presidents-grid-polished .president-card:nth-child(n+4)::before{
    content:"";

    position:absolute;
    z-index:1;

    top:-60px;
    left:5%;

    width:90%;
    height:1px;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(201,164,92,.22) 16%,
        rgba(201,164,92,.70) 50%,
        rgba(201,164,92,.22) 84%,
        transparent
      );
  }
}

/* ---------------------------------------------------------
   TABLET — 2 COLUMNS
--------------------------------------------------------- */

@media(min-width:701px) and (max-width:950px){

  .cornex-presidents .presidents-grid-polished{
    column-gap:52px;
    row-gap:112px;
  }

  .cornex-presidents .presidents-grid-polished .president-card:nth-child(odd)::after{
    content:"";

    position:absolute;
    z-index:1;

    top:35px;
    right:-26px;

    width:1px;
    height:calc(100% - 35px);

    background:
      linear-gradient(
        180deg,
        transparent,
        rgba(201,164,92,.52) 32%,
        rgba(23,85,55,.15) 55%,
        rgba(201,164,92,.42) 76%,
        transparent
      );
  }

  .cornex-presidents .presidents-grid-polished .president-card:nth-child(n+3)::before{
    content:"";

    position:absolute;
    top:-56px;
    left:6%;

    width:88%;
    height:1px;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(201,164,92,.65),
        transparent
      );
  }

  .cornex-presidents .presidents-grid-polished .president-ribbon{
    width:290px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo{
    max-width:290px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo img{
    max-width:215px;
    max-height:94px;
  }
}

/* ---------------------------------------------------------
   MOBILE — ONE COLUMN
--------------------------------------------------------- */

@media(max-width:700px){

  .cornex-presidents .presidents-grid-polished{
    gap:92px;
  }

  .cornex-presidents .presidents-grid-polished .president-card{
    max-width:370px;
  }

  .cornex-presidents .presidents-grid-polished .president-ribbon{
    width:280px;
    max-width:calc(100% - 36px);
    margin-top:8px;
  }

  .cornex-presidents .presidents-grid-polished .ribbon-main{
    height:68px;
    min-height:68px;
    padding:9px 22px;
  }

  .cornex-presidents .presidents-grid-polished .ribbon-main h3{
    min-height:48px;
    font-size:20px;
  }

  .cornex-presidents .presidents-grid-polished .ribbon-tail{
    top:10px;
    height:48px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo{
    max-width:280px;
    height:122px;
    margin-top:16px;
    padding:17px 12px 6px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo img{
    max-width:205px;
    max-height:90px;
  }

  /* One clean separator between every member */
  .cornex-presidents .presidents-grid-polished .president-card:not(:last-child)::after{
    content:"";

    position:absolute;
    z-index:1;

    left:50%;
    bottom:-46px;

    width:72%;
    height:1px;

    transform:translateX(-50%);

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(201,164,92,.25) 14%,
        rgba(201,164,92,.72) 50%,
        rgba(201,164,92,.25) 86%,
        transparent
      );
  }
}

@media(max-width:400px){

  .cornex-presidents .presidents-grid-polished .president-ribbon{
    width:265px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo{
    max-width:265px;
  }

  .cornex-presidents .presidents-grid-polished .president-society-logo img{
    max-width:195px;
    max-height:86px;
  }
}



/* =========================================================
   GLOBAL ASSOCIATION — 9 MEMBER GRID
   Existing polished responsive rules automatically support
   the added third row of association members.
========================================================= *//* End custom CSS */