/* Page-level layout for lafayette-deca.com. Component styling lives in the design-system CSS above. */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--deca-blue);color:#fff;padding:10px 16px;z-index:60;font:var(--type-label)}
.skip-link:focus{left:0}

/* Lockup ------------------------------------------------------------------ */
.lockup{display:block;width:auto;color:var(--deca-blue)}
.lockup--inverse{color:var(--deca-white)}

/* Header ------------------------------------------------------------------ */
.topbar{background:var(--deca-navy);color:var(--text-inverse-muted);font-size:var(--size-caption);font-family:var(--font-body)}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:34px;padding-block:6px;flex-wrap:wrap}
.topbar__links{display:flex;gap:18px;align-items:center}
.topbar__ig{display:inline-flex;align-items:center;gap:6px;color:#fff}
.topbar a{color:inherit}
.siteheader{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border-subtle)}
.siteheader__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:88px}
.siteheader__logo{display:flex;padding:var(--logo-clearspace)}
.nav{display:flex;align-items:center;gap:var(--space-6)}
.nav__link{font-family:var(--font-display);font-weight:700;font-size:var(--size-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-strong);border-bottom:3px solid transparent;padding-bottom:4px}
.nav__link:hover{color:var(--deca-blue);text-decoration:none}
.nav__link.is-active{color:var(--deca-blue);border-bottom-color:var(--deca-blue)}
.nav__toggle{display:none}

/* Sections ---------------------------------------------------------------- */
.section{padding-block:var(--section-y)}
.section--tight{padding-top:var(--space-16);padding-bottom:var(--space-12)}
.section--subtle{background:var(--surface-subtle)}
.section--rule{border-bottom:1px solid var(--border-subtle)}
.section--navy{background:var(--deca-navy);color:var(--text-inverse)}
.section--brand{background:var(--deca-blue);color:var(--text-inverse)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6)}
.stack-8{display:flex;flex-direction:column;gap:var(--space-8)}
.btnrow{display:flex;gap:var(--space-3);flex-wrap:wrap}
.section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-8);flex-wrap:wrap}
.icon-brand{color:var(--deca-blue);display:inline-flex}
.narrow{max-width:var(--container-narrow)}
.cardtext{font-size:var(--size-body-sm);color:var(--text-muted);margin:0}

/* Hero -------------------------------------------------------------------- */
.hero{position:relative;background:var(--deca-blue);color:var(--text-inverse);overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.hero__scrim{position:absolute;inset:0;background:var(--scrim-left)}
.hero__inner{position:relative;padding-block:104px;max-width:1200px}
.hero__col{max-width:620px}

/* Compact page header for subpages */
.pagehead{background:var(--deca-navy);color:var(--text-inverse)}
.pagehead__inner{padding-block:var(--space-16)}
.crumb{font-family:var(--font-display);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-inverse-muted);margin-bottom:var(--space-5);display:block}
.crumb a{color:inherit}

/* Award strip ------------------------------------------------------------- */
.award{display:grid;grid-template-columns:340px 1fr;align-items:center;gap:var(--space-12);padding-block:var(--space-12)}
.award__img{width:100%;height:200px;object-fit:cover;display:block}
.award__value{font-family:var(--font-display);font-weight:800;font-size:var(--size-display-3);line-height:1;letter-spacing:var(--tracking-tight);color:var(--deca-gold);margin-bottom:var(--space-3)}

/* Stats ------------------------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-10);padding-block:var(--space-12)}

/* Checklist / split figure ------------------------------------------------ */
.checklist{margin:var(--space-6) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.checklist li{display:flex;gap:var(--space-3);align-items:center;font-size:var(--size-body)}
.figure-img{width:100%;height:420px;object-fit:cover;display:block}

/* Conference ladder ------------------------------------------------------- */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-top:var(--space-10);counter-reset:step}
.ladder__step{border-top:var(--rule-accent-width) solid var(--deca-blue);padding-top:var(--space-5)}
.ladder__n{font-family:var(--font-display);font-weight:800;font-size:var(--size-heading-2);color:var(--deca-blue);line-height:1;display:block;margin-bottom:var(--space-3)}
.ladder__title{font-family:var(--font-display);font-weight:700;font-size:var(--size-heading-4);color:var(--text-strong);margin:0 0 var(--space-2)}

/* CTA band ---------------------------------------------------------------- */
.cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding-block:var(--space-16);flex-wrap:wrap}

/* Events table ------------------------------------------------------------ */
.filters{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-6);flex-wrap:wrap}
.filters__tags{display:flex;gap:var(--space-2);flex-wrap:wrap}
.table{margin-top:var(--space-8);border:1px solid var(--border-subtle)}
.table__head,.table__row{display:grid;grid-template-columns:2.2fr 1.4fr 1.6fr 1fr;gap:var(--space-4);align-items:center}
.table__head{padding:var(--space-3) var(--space-5);background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.table__row{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}
.table__row:last-child{border-bottom:0}
.table__row[hidden]{display:none}
.table__name{font-family:var(--font-display);font-weight:600;color:var(--text-strong)}
.table__meta{font-size:var(--size-body-sm);color:var(--text-muted)}
.table__empty{padding:var(--space-12);text-align:center;color:var(--text-muted)}
.table__label{display:none;font-family:var(--font-display);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint)}

/* People ------------------------------------------------------------------ */
.people{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6);margin-top:var(--space-10)}
.people+.people{margin-top:var(--space-12)}
.person{border-top:var(--rule-accent-width) solid var(--deca-blue);padding-top:var(--space-4)}
.person__role{font-family:var(--font-display);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:var(--space-2)}
.person__name{font-family:var(--font-display);font-weight:700;font-size:var(--size-heading-4);color:var(--text-strong);letter-spacing:var(--tracking-normal);margin:0}
.person--lead{border-top-width:6px}
.person--lead .person__name{font-size:var(--size-heading-2);letter-spacing:var(--tracking-tight)}
.people--3{grid-template-columns:repeat(3,1fr)}

/* Gallery ----------------------------------------------------------------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-10)}
.gallery__item{display:flex;flex-direction:column;gap:var(--space-3)}
.gallery__img{width:100%;height:280px;object-fit:cover;display:block;background:var(--gray-100)}
.gallery__cap{font-size:var(--size-body-sm);color:var(--text-muted);margin:0}
.gallery__item--wide{grid-column:span 2}

/* Calendar rows ----------------------------------------------------------- */
.callist{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-subtle)}
.calrow{display:grid;grid-template-columns:66px 1fr auto;gap:var(--space-5);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}
.calrow__date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0 10px;background:var(--deca-blue-tint-08);border-top:var(--rule-accent-width) solid var(--deca-blue)}
.calrow__mon{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--deca-blue)}
.calrow__day{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--size-heading-2);line-height:1;letter-spacing:var(--tracking-tight);color:var(--deca-blue-press)}
.calrow__title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--size-heading-4);color:var(--text-strong);display:block}
.calrow__meta{font-size:var(--size-body-sm);color:var(--text-muted);display:block;margin-top:3px}
.calmonth{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--size-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:var(--space-10) 0 var(--space-3)}
.calwrap>.calmonth:first-child{margin-top:var(--space-8)}
.calempty{color:var(--text-muted);padding:var(--space-8) 0;margin:0;border-top:1px solid var(--border-subtle)}
.calwrap{margin-top:var(--space-8)}
.calstamp{font-size:var(--size-caption);color:var(--text-faint);margin-top:var(--space-5)}

/* Embeds ------------------------------------------------------------------ */
.embed{border:1px solid var(--border-subtle);background:#fff;margin-top:var(--space-8)}
.embed iframe{display:block;width:100%;border:0}
.embed--calendar iframe{height:760px}
.embed--agenda iframe{height:420px}
.embed--form iframe{height:1400px}
.embed--video{aspect-ratio:16/9;border:0}
.embed--video iframe{height:100%}
.embednote{font-size:var(--size-body-sm);color:var(--text-muted);margin-top:var(--space-4)}

/* Join -------------------------------------------------------------------- */
.join{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-16);padding-top:var(--space-12);padding-bottom:var(--section-y);align-items:start}
.aside{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:130px}
.aside .deca-card__body{gap:var(--space-4)}
.covers{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--size-body-sm);color:var(--text-body)}
.covers li{display:flex;gap:var(--space-2)}

/* Footer ------------------------------------------------------------------ */
.sitefooter{background:var(--deca-navy);color:var(--text-inverse-muted);padding-top:var(--space-16);padding-bottom:var(--space-8)}
.sitefooter__cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--space-10)}
.sitefooter__blurb{margin-top:var(--space-5);font-size:var(--size-body-sm);max-width:34ch}
.sitefooter__addr{font-size:var(--size-caption);margin:0}
.sitefooter__ig{display:inline-flex;align-items:center;gap:8px;margin-top:var(--space-5);color:#fff;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--size-body-sm)}
.sitefooter__head{font-family:var(--font-display);font-weight:700;font-size:var(--size-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:#fff;margin-bottom:var(--space-4)}
.sitefooter__links{display:flex;flex-direction:column;gap:var(--space-2)}
.sitefooter__links a{color:var(--text-inverse-muted);font-size:var(--size-body-sm)}
.sitefooter__bar{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--border-inverse);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--size-caption);flex-wrap:wrap}

@media (max-width:1100px){
  .nav{gap:var(--space-5)}
}
@media (max-width:1040px){
  .grid-4,.stats,.ladder{grid-template-columns:repeat(2,1fr)}
  .grid-3,.gallery{grid-template-columns:repeat(2,1fr)}
  .grid-2,.join{grid-template-columns:1fr;gap:var(--space-10)}
  .people,.people--3,.grid-5{grid-template-columns:repeat(3,1fr)}
  .aside{position:static}
  .sitefooter__cols{grid-template-columns:1fr 1fr}
  .award{grid-template-columns:1fr;gap:var(--space-6)}
  .table__head{display:none}
  .table__row{grid-template-columns:1fr;gap:var(--space-1)}
  .table__label{display:inline}
}
.person--solo{max-width:420px}

@media (max-width:760px){
  /* Step the display scale down on phones. Same scale, smaller rungs. */
  :root{--size-display-1:42px;--size-display-2:34px;--size-display-3:28px;--size-heading-1:26px;--section-y:72px}
  .nav__toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:var(--space-4);background:#fff;border-bottom:1px solid var(--border-subtle);padding:var(--space-5) var(--gutter)}
  .siteheader.is-open .nav{display:flex}
  .siteheader__inner{position:relative;min-height:70px}
  .topbar__links{display:none}
  .hero__inner{padding-block:64px}
  .hero__col{max-width:none}
  .grid-4,.stats,.ladder,.gallery,.grid-3{grid-template-columns:1fr}
  .people,.people--3,.grid-5{grid-template-columns:repeat(2,1fr)}
  .gallery__item--wide{grid-column:span 1}
  .gallery__img{height:240px}
  .calrow{grid-template-columns:56px 1fr;gap:var(--space-4)}
  .calrow__kind{grid-column:2;justify-self:start;margin-top:var(--space-2)}
  .cta{padding-block:var(--space-12)}
  .figure-img{height:260px}
  .sitefooter__cols{grid-template-columns:1fr}
  .embed--calendar iframe{height:620px}
  .embed--form iframe{height:1320px}
}
