/* Cream and navy editorial layer. Loaded last on every portal page. */
:root{
  color-scheme:light;
  --bg:#F5F1E8;
  --bg-radial-1:#FBF8F1;
  --bg-radial-2:#EEE8DC;
  --sidebar-bg:#F5F1E8;
  --sidebar-border:rgba(18,42,75,.2);
  --surface:#FFFCF6;
  --surface-strong:#ECE6DA;
  --surface-border:rgba(18,42,75,.2);
  --surface-border-hover:rgba(18,42,75,.65);
  --accent:#183B66;
  --accent-soft:#315983;
  --accent-2:#102C50;
  --accent-2-soft:#456B96;
  --text-primary:#142B48;
  --text-secondary:#344A63;
  --text-muted:#657488;
  --font-display:'Acthirey','Acthirey Demo','Cormorant Garamond','Baskerville',Georgia,serif;
}
body[data-page]{ background:var(--bg)!important; color:var(--text-primary)!important; }
html{ color-scheme:light; }
/* Keep the custom arrow on links, controls, and their pseudo-elements too.
   `default` prevents the browser from switching to a hand if the SVG is unsupported. */
html,html *,html *::before,html *::after{ cursor:url("../assets/site-cursor.svg") 2 1,default!important; }
.sidebar{
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:"brand nav" ". footer";
  align-items:center;
  justify-items:start;
  column-gap:clamp(18px,3vw,48px);
  row-gap:0;
  padding:9px clamp(18px,4vw,64px) 10px;
}
.sidebar-brand{ grid-area:brand; width:max-content; max-width:100%; min-width:0; gap:13px; white-space:nowrap; }
.sidebar-home-link,.mobile-home-link{ display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; line-height:0; text-decoration:none; }
.sidebar-home-link:focus-visible,.mobile-home-link:focus-visible{ outline:2px solid var(--accent); outline-offset:4px; border-radius:50%; }
.sidebar-brand img{ width:50px; height:50px; flex:0 0 50px; filter:brightness(0) saturate(100%) invert(13%) sepia(37%) saturate(1428%) hue-rotate(176deg) brightness(91%) contrast(97%); }
.sidebar-brand .brand-text{ display:flex; flex:none; min-width:max-content; overflow:visible; padding-right:0; }
.sidebar-brand .brand-text strong{ white-space:nowrap; font-size:20px; }
.sidebar-nav{ grid-area:nav; width:100%; justify-content:flex-start; gap:2px; flex-wrap:nowrap; }
.sidebar-footer{ grid-area:footer; }
/* Shared desktop masthead. Keep every page on the homepage's quiet, two-row nav. */
@media (min-width:1101px){
  .sidebar{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    grid-template-areas:"nav" "footer";
    align-items:center;
    justify-items:stretch;
    gap:0;
    padding:8px clamp(18px,2.7vw,52px) 9px;
  }
  .sidebar-brand{ display:none; }
  .sidebar-nav{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    align-items:center;
    justify-content:stretch;
    gap:4px;
    width:100%;
  }
  .sidebar-nav .nav-link{
    display:flex;
    justify-content:center;
    max-width:none;
    min-height:44px;
    padding:8px 5px;
    color:#17202b!important;
    font:800 clamp(9px,.72vw,13px)/1.05 var(--font-heavy);
    letter-spacing:.015em;
    text-align:center;
    white-space:normal;
  }
  .sidebar-nav .nav-link:nth-child(n){ max-width:none; }
  .sidebar-nav .nav-link:hover{ color:var(--accent)!important; }
  .sidebar-nav .nav-link.is-active{ box-shadow:none!important; }
  .sidebar-footer{
    display:flex;
    justify-content:flex-end;
    width:100%;
    gap:22px;
    padding-right:5px;
  }
}
/* Keep the homepage's existing compact nav sizing at laptop widths. */
@media (min-width:1101px) and (max-width:1400px){
  .sidebar{ grid-template-columns:30px minmax(0,1fr) auto!important; grid-template-rows:1fr!important; grid-template-areas:"brand nav footer"!important; column-gap:18px!important; padding-inline:24px!important; }
  .sidebar-brand{ width:30px!important; min-width:30px!important; }
  .sidebar-brand .brand-text{ display:none!important; }
  .sidebar-footer{ display:flex!important; gap:5px!important; }
  .sidebar-footer a span{ display:none!important; }
  .sidebar-nav{ display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); justify-content:stretch!important; gap:0!important; flex-wrap:nowrap!important; }
  .sidebar-nav .nav-link{ width:100%; padding-inline:4px!important; font-size:clamp(9px,.72vw,13px)!important; letter-spacing:.015em!important; }
}
h1,h2,h3,h4,.hero-tagline,.gallery-card-body h2,.gallery-heading .section-heading,
.section-heading,.page-header .section-heading,.page-header h1,.calendar-month-label,.agenda-heading h2,
.day-dialog-header h2{
  color:var(--text-primary)!important;
  font-family:var(--font-display)!important;
  font-weight:500;
  letter-spacing:-.025em;
}
h1,h2,h3,h4,.section-heading,.hero-tagline,.gallery-heading .section-heading,
.calendar-month-label,.agenda-heading h2,.day-dialog-header h2,.home-intro-reveal strong,
.home-index-title{ text-transform:uppercase!important; }
.page-header{ width:100%; margin-inline:0; text-align:left; }
.page-header .section-heading,.page-header h1{
  font-family:'Abril Fatface',Georgia,serif!important;
  max-width:none;
  margin-inline:0;
  font-size:clamp(2.1rem,5.3vw,5rem);
  line-height:.98;
  text-align:left;
  text-wrap:balance;
}
.page-header p{ margin:0; text-align:left; }
body[data-page="competitions"] .page-header-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  row-gap:14px;
}
body[data-page="competitions"] .page-header-row .page-header{
  grid-column:1/-1;
  grid-row:1;
  width:100%;
  max-width:900px;
  margin-inline:0;
}
body[data-page="competitions"] .page-header-row .showcase-card{
  position:static;
  grid-column:2;
  grid-row:2;
  justify-self:end;
}
.live-project-detail-heading{ margin:clamp(24px,4vw,44px) 0 clamp(28px,4vw,52px); text-align:left; }
.live-project-detail-heading .section-heading{ font-size:clamp(2.4rem,5vw,4.8rem); }
body[data-page="competitions"] .filter-field input[type="date"]{ color-scheme:light!important; cursor:pointer!important; }
body[data-page="competitions"] .filter-field input[type="date"]::-webkit-calendar-picker-indicator{ cursor:pointer!important; opacity:.78; }
p{ color:var(--text-secondary); }
.sidebar,.mobile-topbar,.hero,.nav-submenu,.menu-btn,.main,.home-stage,
.calendar-panel,.deadline-agenda,.competition-day-dialog,.list-card,.course-card,
.lp-card,.showcase-card,.selected-interns-card,.state-msg,.home-card,.subtile,.filter-field input,
.filter-field select,.ic-gate-card,.ic-gate-status{
  background-color:var(--surface)!important;
  color:var(--text-primary)!important;
  border-color:var(--surface-border)!important;
}
.selected-interns-card{ border:1.5px solid var(--accent)!important; }
.selected-interns-card h2{ text-align:center; }
.sidebar,.mobile-topbar,.hero,.main,.home-stage{ background-color:var(--bg)!important; }
.sidebar{ border-bottom:1px solid var(--surface-border)!important; }
.sidebar-brand .brand-text strong,.mobile-topbar .brand-text strong,
.nav-link,.nav-group-trigger,.sidebar-footer a,.page-header h1,
.page-header .section-heading,.page-header p,.hero-tagline,.hero-sub,
.hero-eyebrow,.gallery-heading .section-heading,.gallery-hint,
.crumb-back,.section-heading,.course-card h3,.list-card h3,.lp-card h3,
.lp-card .role-line,.card-link,.meta-chip,.resource-type-badge,
.calendar-month-label,.agenda-heading h2,.calendar-weekdays span,
.calendar-day-number,.deadline-item h3,.deadline-item .deadline-institute,
.deadline-item .deadline-exact,.day-dialog-header h2,.day-dialog-event h3{
  color:var(--text-primary)!important;
}
.sidebar-brand .brand-text span,.nav-link:hover,.nav-group-trigger:hover,
.sidebar-footer a:hover,.hero-eyebrow,.gallery-heading .eyebrow,
.gallery-live-badge,.gallery-explore,.calendar-kicker,.calendar-event-more,
.deadline-item .deadline-details,.top-pick-label{ color:var(--accent)!important; }
.nav-link.is-active{ color:var(--accent)!important; box-shadow:inset 0 -2px 0 var(--accent)!important; }
.sidebar-footer{ justify-content:flex-start; gap:22px; }
.sidebar-footer a{ white-space:nowrap; }
.nav-link,.nav-link:hover{ background:transparent!important; }
.nav-link:hover{ color:var(--accent)!important; }
.sidebar-nav .nav-link{ white-space:normal; text-align:center; line-height:1.08; }
.sidebar-nav .nav-link:nth-child(4){ max-width:105px; }
.sidebar-nav .nav-link:nth-child(5){ max-width:112px; }
.sidebar-nav .nav-link:nth-child(6){ max-width:112px; }
.nav-submenu{ box-shadow:0 14px 32px rgba(18,42,75,.12)!important; }
.menu-btn,.calendar-nav-button,.calendar-today-button,.day-dialog-close,
.filter-field input,.filter-field select,.domain-pill,.btn-ghost,.ic-gate-back{
  color:var(--text-primary)!important;
  border-color:var(--surface-border)!important;
}
.btn-primary,.showcase-card .showcase-btn,.domain-pill.is-active,
.calendar-nav-button:hover,.calendar-today-button:hover,.day-dialog-close:hover,
.hero-scroll-cue:hover,.filter-reset:hover{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}
.hero-scroll-cue{ border-color:var(--accent)!important; color:var(--accent)!important; }
.hero-scroll-cue:hover{ color:#fff!important; }
.logo-orbit{ opacity:.045!important; }
.logo-orbit img{ filter:grayscale(1) sepia(.2) saturate(1.6) hue-rotate(175deg)!important; }
.gallery-card-inner{ background:#183B66!important; border-color:rgba(18,42,75,.28)!important; box-shadow:0 12px 32px rgba(18,42,75,.12)!important; }
.gallery-card-body{ background:var(--surface)!important; border-top-color:var(--surface-border)!important; color:var(--text-primary)!important; }
.gallery-card-body h2,.gallery-card-body em,.gallery-card-photo-credit{ color:var(--text-primary)!important; }
.gallery-card-body em{ opacity:.82; }
.gallery-card-icon{ background:var(--surface)!important; color:var(--accent)!important; border-color:var(--surface-border)!important; }
.calendar-grid{ background:#CBD3DC!important; border-color:#CBD3DC!important; }
.calendar-blank,.calendar-day{ background:#FFFCF6!important; }
.calendar-day.has-deadline:hover,.calendar-day.is-empty:hover{ background:#EAEFF4!important; }
.calendar-day.is-selected{ background:#E4ECF4!important; box-shadow:inset 0 0 0 2px var(--accent)!important; }
.calendar-day.is-today .calendar-day-number{ color:var(--accent)!important; }
.calendar-event-marker{ background:#E7EDF4!important; color:var(--text-primary)!important; border-left-color:var(--accent)!important; }
.calendar-event-marker.is-top-pick{ background:var(--accent)!important; border-left-color:#102C50!important; color:#fff!important; }
.deadline-date-block,.deadline-date-block.is-top-pick,.top-picks-list .deadline-date-block{ background:var(--accent)!important; color:#fff!important; }
.deadline-date-block strong,.deadline-date-block span{ color:#fff!important; }
.top-picks-panel{ background:var(--accent)!important; border-color:var(--accent)!important; color:#fff!important; }
.top-picks-panel .agenda-heading h2,.top-picks-panel .calendar-kicker,
.top-pick-label,.top-pick-note,.top-picks-empty,.top-picks-panel .agenda-count{ color:#fff!important; }
.top-picks-list .deadline-item{ background:rgba(8,28,52,.2)!important; border-color:rgba(255,255,255,.35)!important; }
.top-picks-list .deadline-item h3,.top-picks-list .deadline-item .deadline-institute,
.top-picks-list .deadline-item .deadline-exact,.top-picks-list .deadline-item .deadline-details{ color:#fff!important; }
.competition-day-dialog{ box-shadow:0 24px 70px rgba(18,42,75,.18)!important; }
.competition-day-dialog::backdrop{ background:rgba(18,42,75,.32)!important; }
.state-msg.is-error{ color:#8B2635!important; border-color:#B44B58!important; }
.site-footer{ color:var(--text-muted)!important; border-color:var(--surface-border)!important; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{ outline-color:var(--accent)!important; }
.skip-link{ background:var(--accent)!important; color:#fff!important; }
.ic-gate-card h2{ color:var(--text-primary)!important; font-family:var(--font-display)!important; }
.ic-gate-card p,.ic-gate-status,.ic-gate-back{ color:var(--text-secondary)!important; }
.ic-gate-btn{ background:var(--accent)!important; color:#fff!important; border-radius:3px!important; }
.ic-gate-btn:hover{ background:var(--accent-2)!important; color:#fff!important; }
.showcase-card:hover .showcase-link,
.showcase-card:focus-visible .showcase-link{ color:var(--accent)!important; border-bottom-color:var(--accent)!important; }

/* Keep small controls and metadata readable on the cream palette. */
.domain-pill,.meta-chip,.price-chip,.domain-tag,.deadline-pill,.resource-type-badge{
  color:var(--text-primary)!important;
  background:#E9E4D9!important;
  border:1px solid rgba(20,43,72,.28)!important;
}
.domain-pill{ padding:9px 18px; }
.domain-pill:hover{ color:#fff!important; background:var(--accent)!important; border-color:var(--accent)!important; }
.domain-pill.is-active{ color:#fff!important; background:var(--accent)!important; border-color:var(--accent)!important; }
.deadline-pill{ font-weight:800; }
.card-grid.indexed > *::before{
  color:var(--text-primary)!important;
  font-size:13px;
  line-height:1;
  opacity:1;
  padding:5px 7px;
  background:#E9E4D9;
  border:1px solid rgba(20,43,72,.22);
  border-radius:2px;
}
.list-card .card-link,.subtile .card-cta{
  color:var(--accent)!important;
  font-size:12px;
  font-weight:800;
}
.list-card .card-link:hover,.subtile:hover .card-cta{ color:var(--accent-2)!important; }

@media (max-width:700px){
  .mobile-topbar{ background:var(--bg)!important; }
  .mobile-brand{ display:flex; min-width:0; align-items:center; gap:10px; }
  .mobile-home-link{ display:inline-flex; flex:0 0 auto; }
  .mobile-brand img{ width:42px!important; height:42px!important; filter:brightness(0) saturate(100%) invert(13%) sepia(37%) saturate(1428%) hue-rotate(176deg) brightness(91%) contrast(97%)!important; }
  .mobile-brand .brand-text{ display:flex; min-width:0; flex-direction:column; white-space:nowrap; }
  .mobile-brand .brand-text strong{ font:700 16px/1.1 var(--font-heavy)!important; color:var(--text-primary)!important; }
  .mobile-brand .brand-text span{ margin-top:3px; color:var(--text-muted); font:700 8px/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
}
@media (min-width:701px) and (max-width:1100px){
  .sidebar-brand .brand-text strong{ font-size:17px; }
  .sidebar-nav{ display:block; }
  .sidebar .nav-link{ width:100%; }
}

/* Keep the homepage's existing drawer alignment consistent across the portal. */
@media (max-width:1100px){
  .sidebar-brand{ display:flex; }
  .sidebar-nav{ display:block!important; width:100%; }
  .sidebar-nav .nav-link{ display:flex; justify-content:flex-start; max-width:none; text-align:left; }
  .sidebar-nav .nav-link[data-page-key="home"]::before{ display:none; }
  .sidebar-footer{ grid-area:auto; }
}

/* One steady masthead across every page, with contacts at its far edge. */
@media (min-width:1101px){
  :root{ --header-h:50px; }
  .sidebar{
    position:sticky;
    top:0;
    z-index:100;
    height:50px;
    min-height:50px;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    grid-template-rows:1fr!important;
    grid-template-areas:"brand nav footer"!important;
    align-items:center;
    gap:clamp(10px,1.4vw,24px);
    padding:0 clamp(18px,3vw,54px);
  }
  .sidebar-brand{
    display:flex!important;
    grid-area:brand;
    align-items:center;
    justify-content:flex-start;
    width:44px;
    min-width:44px;
    padding:0;
    border:0;
  }
  .sidebar-brand img{ width:42px; height:42px; flex:0 0 42px; }
  .sidebar-brand .brand-text,.sidebar-brand .sidebar-pin-btn{ display:none!important; }
  .sidebar-nav{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-area:nav;
    align-items:center;
    justify-content:stretch;
    gap:0;
    width:100%;
    min-width:0;
    padding:0;
    overflow:visible;
  }
  .sidebar-nav .nav-link{
    display:flex;
    flex:0 0 auto;
    width:100%;
    justify-content:center;
    min-height:42px;
    max-width:none!important;
    padding:6px clamp(3px,.32vw,6px)!important;
    color:var(--text-primary)!important;
    font:800 clamp(10px,calc(1.25vw - 3.75px),20px)/1 var(--font-heavy)!important;
    letter-spacing:0!important;
    text-align:center;
    white-space:nowrap;
  }
  .sidebar-nav .nav-link .nav-label{
    min-width:max-content;
    overflow:visible;
    text-overflow:clip;
  }
  .sidebar-nav .nav-link::before{ content:none; }
  .sidebar-nav .nav-link.is-active::before{
    content:"";
    display:inline-block;
    width:12px;
    height:12px;
    margin:0 6px 0 0;
    flex:0 0 12px;
    background:url("../assets/logo.png") center/contain no-repeat;
    filter:brightness(0) saturate(100%) invert(13%) sepia(37%) saturate(1428%) hue-rotate(176deg) brightness(91%) contrast(97%);
  }
  .sidebar-nav .nav-link.is-active{
    color:var(--text-primary)!important;
    box-shadow:none!important;
  }
  .sidebar-footer{
    grid-area:footer;
    display:flex!important;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    width:auto;
    padding:0 0 0 8px;
    border:0;
  }
  .sidebar-footer a{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:50%;
    color:var(--text-primary)!important;
  }
  .sidebar-footer a:hover{ background:var(--surface-strong)!important; color:var(--accent)!important; }
  .sidebar-footer a span{ display:none!important; }
  .sidebar-footer svg{ width:16px; height:16px; }
}

@media (max-width:760px){
  body[data-page="competitions"] .page-header-row{ grid-template-columns:1fr; row-gap:18px; }
  body[data-page="competitions"] .page-header-row .showcase-card{ grid-column:1; justify-self:center; }
}
@media (max-width:700px){
  .page-header .section-heading,.page-header h1{ font-size:clamp(2rem,9vw,3.6rem); }
}

@media (max-width:1100px){
  .sidebar-footer{ display:none!important; }
  .mobile-topbar{
    position:sticky;
    top:0;
    z-index:90;
    justify-content:flex-start;
    background:rgba(245,241,232,.96)!important;
    border-bottom:1px solid var(--surface-border)!important;
    box-shadow:0 6px 18px rgba(18,42,75,.06);
  }
  .menu-btn{ order:2; margin-left:12px; background:transparent!important; }
  .mobile-current-page{
    order:1;
    margin:0 clamp(8px,2vw,24px) 0 clamp(12px,2vw,28px);
    color:var(--accent)!important;
    font:700 9px/1.2 var(--font-mono);
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .mobile-current-page::before{
    content:"";
    display:inline-block;
    width:11px;
    height:11px;
    margin:0 7px 1px 0;
    vertical-align:middle;
    background:url("../assets/logo.png") center/contain no-repeat;
    filter:brightness(0) saturate(100%) invert(13%) sepia(37%) saturate(1428%) hue-rotate(176deg) brightness(91%) contrast(97%);
  }
  .mobile-contact-links{
    order:3;
    display:flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
  }
  .mobile-contact-links a{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid var(--surface-border);
    border-radius:50%;
    color:var(--text-primary)!important;
  }
  .mobile-contact-links a:hover{ background:var(--surface-strong)!important; color:var(--accent)!important; }
  .mobile-contact-links svg{ width:16px; height:16px; }
  .mobile-contact-links span{ display:none!important; }
}

/* Editorial list headers and rules; these are div-based lists, not tables. */
.editorial-list-heading{
  display:grid;
  align-items:center;
  min-height:38px;
  border-top:1px solid rgba(20,43,72,.38);
  border-bottom:1px solid rgba(20,43,72,.38);
  color:var(--text-muted);
  font:700 10px/1.25 var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.editorial-list-heading > *{ padding:0 13px; }
.editorial-list-heading > :not(:first-child){ border-left:1px solid rgba(20,43,72,.24); }
.editorial-list-heading svg{ display:block; width:14px; height:14px; margin:auto; }
.course-list-heading,body[data-page="courses"] .course-card{
  grid-template-columns:64px minmax(220px,1.8fr) minmax(100px,.65fr) minmax(130px,.8fr) 56px;
}
body[data-page="courses"] #courses-grid{ display:block; border-bottom:1px solid var(--surface-border); }
body[data-page="courses"] .course-card{
  display:grid;
  align-items:center;
  gap:0;
  min-height:74px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(20,43,72,.2);
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  transform:none;
}
body[data-page="courses"] .course-card:hover{ background:rgba(255,252,246,.58)!important; }
body[data-page="courses"] .course-card > :not(:first-child){ border-left:1px solid rgba(20,43,72,.2); }
body[data-page="courses"] .course-card .course-number{ grid-column:1; grid-row:1; }
body[data-page="courses"] .course-card .course-name-cell{ grid-column:2; grid-row:1; }
body[data-page="courses"] .course-card .course-rating{ grid-column:3; grid-row:1; }
body[data-page="courses"] .course-card .course-duration{ grid-column:4; grid-row:1; }
.course-number,.course-name-cell,.course-rating,.course-duration,.course-card .card-link{ padding:12px 13px; }
.course-number,.list-number{ color:var(--text-muted); font:700 11px/1 var(--font-mono); font-variant-numeric:tabular-nums; }
.course-name-cell{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.course-name-cell h3{ margin:0; font-size:clamp(15px,1.3vw,18px); line-height:1.2; }
.course-name-cell .domain-tag{ margin:0; padding:0; border:0; background:transparent!important; color:var(--accent-soft)!important; font-size:9px; }
.course-rating,.course-duration{ color:var(--text-secondary); font-size:13px; font-variant-numeric:tabular-nums; }
.course-rating .rating{ color:var(--accent)!important; }
.course-rating .rating svg{ width:13px; height:13px; }
body[data-page="courses"] .course-card .icon-link{ grid-column:5; grid-row:1; justify-self:stretch; margin:0; display:grid; place-items:center; }
.icon-link{ width:44px; min-width:44px; height:42px; color:var(--accent)!important; }
.icon-link svg{ width:17px!important; height:17px!important; }
.icon-link:hover{ color:var(--accent-2)!important; background:rgba(24,59,102,.08)!important; }
.card-grid.indexed > .course-card::before,
.card-grid.indexed > .list-card::before{ display:none!important; }

.case-study-list-heading,body[data-page="case-studies"] .list-card{
  grid-template-columns:56px minmax(240px,1.6fr) minmax(150px,.8fr) 56px;
}
.resource-list-heading,body[data-page="resources"] .list-card{
  grid-template-columns:48px minmax(120px,.72fr) minmax(180px,1.2fr) minmax(200px,2fr) 56px;
}
body[data-page="case-studies"] #case-studies-grid,
body[data-page="resources"] #resources-grid,
body[data-page="live-projects"] #lp-grid{ display:block; border-bottom:1px solid var(--surface-border); }
body[data-page="case-studies"] .list-card,
body[data-page="resources"] .list-card{
  display:grid;
  align-items:center;
  gap:0;
  min-height:70px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(20,43,72,.2);
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  transform:none;
}
body[data-page="case-studies"] .list-card:hover,
body[data-page="resources"] .list-card:hover{ background:rgba(255,252,246,.58)!important; }
body[data-page="case-studies"] .list-card > :not(:first-child),
body[data-page="resources"] .list-card > :not(:first-child){ border-left:1px solid rgba(20,43,72,.2); }
body[data-page="case-studies"] .list-card .list-number,
body[data-page="case-studies"] .list-card h3,
body[data-page="case-studies"] .list-card .meta,
body[data-page="resources"] .list-card .list-number,
body[data-page="resources"] .list-card .resource-type-badge,
body[data-page="resources"] .list-card h3,
body[data-page="resources"] .list-card .desc{ margin:0; padding:12px 13px; }
body[data-page="case-studies"] .list-card h3,
body[data-page="resources"] .list-card h3{ font-size:16px; line-height:1.25; }
body[data-page="case-studies"] .list-card .meta{ color:var(--text-secondary); font-size:13px; }
body[data-page="case-studies"] .list-card .list-number{ grid-column:1; grid-row:1; }
body[data-page="case-studies"] .list-card h3{ grid-column:2; grid-row:1; }
body[data-page="case-studies"] .list-card .meta{ grid-column:3; grid-row:1; }
body[data-page="case-studies"] .list-card .icon-link{ grid-column:4; grid-row:1; justify-self:stretch; }
body[data-page="resources"] .list-card .resource-type-badge{ justify-self:stretch; align-self:stretch; display:flex; align-items:center; border:0!important; border-radius:0; background:transparent!important; font-size:10px; }
body[data-page="resources"] .list-card .list-number{ grid-column:1; }
body[data-page="resources"] .list-card .resource-type-badge{ grid-column:2; }
body[data-page="resources"] .list-card h3{ grid-column:3; }
body[data-page="resources"] .list-card .desc{ grid-column:4; }
body[data-page="resources"] .list-card .icon-link{ grid-column:5; }
body[data-page="resources"] .list-card .desc{ color:var(--text-secondary); font-size:13px; line-height:1.45; }
body[data-page="case-studies"] .list-card .icon-link,
body[data-page="resources"] .list-card .icon-link{ justify-self:stretch; margin:0; display:grid; place-items:center; }

.live-project-list-heading,
body[data-page="live-projects"] .lp-card{
  grid-template-columns:minmax(100px,.62fr) minmax(150px,1fr) minmax(180px,1.15fr) minmax(170px,1.1fr) minmax(120px,.8fr) 56px;
}
body[data-page="live-projects"] .lp-card{
  display:grid;
  align-items:center;
  gap:0;
  min-height:74px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(20,43,72,.2);
  border-radius:0;
  background:transparent!important;
  box-shadow:none;
  transform:none;
  text-decoration:none;
}
body[data-page="live-projects"] .lp-card:hover{ background:rgba(255,252,246,.58)!important; }
body[data-page="live-projects"] .lp-card > :not(:first-child){ border-left:1px solid rgba(20,43,72,.2); }
/* Keep project detail cards readable on hover, matching the soft blue hover on the competitions calendar. */
body[data-page="live-projects"] .lp-section:hover,
body[data-page="live-projects"] .lp-stage-bar:hover,
body[data-page="live-projects"] .lp-sidebar .glass-card:hover{ background:rgba(232,238,245,.78)!important; }
body[data-page="live-projects"] .lp-card .live-flag,
body[data-page="live-projects"] .lp-card h3,
body[data-page="live-projects"] .lp-card .role-line,
body[data-page="live-projects"] .lp-card .lp-meta-row,
body[data-page="live-projects"] .lp-card .lp-deadline,
body[data-page="live-projects"] .lp-card .card-link{ position:static; margin:0; padding:12px 13px; }
body[data-page="live-projects"] .lp-card .live-flag{ grid-column:1; grid-row:1; white-space:nowrap; justify-self:start; }
body[data-page="live-projects"] .lp-card h3{ grid-column:2; grid-row:1; font-size:16px; line-height:1.25; }
body[data-page="live-projects"] .lp-card .role-line{ grid-column:3; grid-row:1; font-size:12px; line-height:1.45; }
body[data-page="live-projects"] .lp-card .lp-meta-row{ grid-column:4; grid-row:1; display:flex; flex-wrap:wrap; gap:5px; }
body[data-page="live-projects"] .lp-card .lp-deadline{ grid-column:5; grid-row:1; white-space:normal; color:var(--text-secondary); font-size:12px; }
body[data-page="live-projects"] .lp-card .icon-link{ grid-column:6; grid-row:1; justify-self:stretch; display:grid; place-items:center; }
body[data-page="live-projects"] .lp-card .meta-chip{ padding:4px 7px; font-size:10px; }

/* The competition calendar sits over the same warm, translucent surface. */
body[data-page="competitions"] .calendar-panel{
  background:rgba(255,252,246,.72)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body[data-page="competitions"] .calendar-grid{
  background:rgba(18,42,75,.1)!important;
  border-color:rgba(18,42,75,.14)!important;
}
body[data-page="competitions"] .calendar-blank,
body[data-page="competitions"] .calendar-day{ background:rgba(255,252,246,.62)!important; }
body[data-page="competitions"] .calendar-day.has-deadline:hover,
body[data-page="competitions"] .calendar-day.is-empty:hover{ background:rgba(232,238,245,.78)!important; }
body[data-page="competitions"] .calendar-day.is-selected{ background:rgba(228,236,244,.78)!important; }

@media (min-width:701px){
  .home-index-row > :not(:first-child){ padding-left:clamp(12px,2vw,30px); border-left:1px solid rgba(20,43,72,.2); }
}
@media (max-width:900px) and (min-width:701px){
  .course-list-heading,body[data-page="courses"] .course-card{ grid-template-columns:50px minmax(170px,1.4fr) minmax(82px,.6fr) minmax(105px,.75fr) 48px; }
  .resource-list-heading,body[data-page="resources"] .list-card{ grid-template-columns:40px minmax(95px,.7fr) minmax(140px,1fr) minmax(160px,1.2fr) 48px; }
  .live-project-list-heading,body[data-page="live-projects"] .lp-card{ grid-template-columns:86px minmax(120px,1fr) minmax(120px,1fr) minmax(140px,1fr) minmax(100px,.8fr) 48px; }
}
@media (max-width:700px){
  .mobile-topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px 68px;
    grid-template-rows:38px 16px;
    gap:2px 6px;
    height:auto!important;
    min-height:0;
    padding:7px 12px 8px;
  }
  .mobile-brand{ grid-column:1; grid-row:1; gap:8px; }
  .mobile-brand img{ width:36px!important; height:36px!important; }
  .mobile-brand .brand-text strong{ font-size:13px!important; }
  .mobile-brand .brand-text span{ font-size:7px!important; }
  .mobile-current-page{ grid-column:1/-1; grid-row:2; margin:0 0 0 40px; align-self:center; }
  .menu-btn{ grid-column:2; grid-row:1; width:36px; height:36px; margin:0; padding:8px; order:0; }
  .mobile-contact-links{ grid-column:3; grid-row:1; justify-content:flex-end; gap:4px; margin:0; order:0; }
  .mobile-contact-links a{ width:32px; height:32px; }
  .editorial-list-heading{ display:none!important; }
  body[data-page="courses"] .course-card{
    grid-template-columns:34px minmax(0,1fr) 46px;
    grid-template-rows:auto auto auto;
    min-height:0;
    padding:5px 0;
  }
  body[data-page="courses"] .course-card .course-number{ grid-column:1; grid-row:1/4; align-self:start; padding:18px 8px; }
  body[data-page="courses"] .course-card .course-name-cell{ grid-column:2; grid-row:1; padding:12px; }
  body[data-page="courses"] .course-card .course-rating{ grid-column:2; grid-row:2; padding:3px 12px; }
  body[data-page="courses"] .course-card .course-duration{ grid-column:2; grid-row:3; padding:3px 12px 12px; }
  body[data-page="courses"] .course-card .course-rating::before,
  body[data-page="courses"] .course-card .course-duration::before{ content:attr(data-label) ": "; color:var(--text-muted); font:700 9px/1.3 var(--font-mono); text-transform:uppercase; }
  body[data-page="courses"] .course-card .icon-link{ grid-column:3; grid-row:1/4; align-self:stretch; }
  body[data-page="case-studies"] .list-card,
  body[data-page="resources"] .list-card{
    grid-template-columns:34px minmax(0,1fr) 46px;
    grid-template-rows:auto auto auto;
    min-height:0;
    padding:5px 0;
  }
  body[data-page="case-studies"] .list-card .list-number,
  body[data-page="resources"] .list-card .list-number{ grid-column:1; grid-row:1/4; align-self:start; padding:17px 8px; }
  body[data-page="case-studies"] .list-card h3,
  body[data-page="resources"] .list-card h3{ grid-column:2; grid-row:1; padding:12px; }
  body[data-page="case-studies"] .list-card .meta{ grid-column:2; grid-row:2; padding:2px 12px 12px; }
  body[data-page="case-studies"] .list-card .icon-link,
  body[data-page="resources"] .list-card .icon-link{ grid-column:3; grid-row:1/4; }
  body[data-page="resources"] .list-card .resource-type-badge{ grid-column:2; grid-row:2; padding:3px 12px; }
  body[data-page="resources"] .list-card .desc{ grid-column:2; grid-row:3; padding:3px 12px 12px; }
  body[data-page="live-projects"] .lp-card{
    grid-template-columns:minmax(0,1fr) 46px;
    grid-template-rows:auto auto auto auto auto;
    min-height:0;
    padding:5px 0;
  }
  body[data-page="live-projects"] .lp-card .live-flag{ grid-column:1; grid-row:1; padding:11px 12px 5px; }
  body[data-page="live-projects"] .lp-card h3{ grid-column:1; grid-row:2; padding:5px 12px; }
  body[data-page="live-projects"] .lp-card .role-line{ grid-column:1; grid-row:3; padding:4px 12px; }
  body[data-page="live-projects"] .lp-card .lp-meta-row{ grid-column:1; grid-row:4; padding:4px 12px; }
  body[data-page="live-projects"] .lp-card .lp-deadline{ grid-column:1; grid-row:5; padding:5px 12px 11px; }
  body[data-page="live-projects"] .lp-card .icon-link{ grid-column:2; grid-row:1/6; }
  body[data-page="courses"] .course-card > :not(:first-child),
  body[data-page="case-studies"] .list-card > :not(:first-child),
  body[data-page="resources"] .list-card > :not(:first-child),
  body[data-page="live-projects"] .lp-card > :not(:first-child){ border-left:0; }
  body[data-page="courses"] .course-card .icon-link,
  body[data-page="case-studies"] .list-card .icon-link,
  body[data-page="resources"] .list-card .icon-link,
  body[data-page="live-projects"] .lp-card .icon-link{ border-left:1px solid rgba(20,43,72,.2)!important; }
  .home-index-row > :not(:first-child){ padding-left:0; border-left:0; }
}

/* Live Projects: searchable brief folders, styled in the site's cream and navy palette. */
body[data-page="live-projects"] .lp-search-wrap{ max-width:720px; margin:0 0 28px; }
body[data-page="live-projects"] .lp-search-label{ display:block; margin:0 0 8px; color:var(--text-secondary); font:700 11px/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
body[data-page="live-projects"] .lp-search-box{ display:flex; align-items:center; min-height:54px; gap:12px; padding:0 16px; border:1px solid rgba(20,43,72,.25); border-radius:4px; background:rgba(255,252,246,.82); box-shadow:0 8px 22px rgba(18,42,75,.04); }
body[data-page="live-projects"] .lp-search-box:focus-within{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(24,59,102,.1); }
body[data-page="live-projects"] .lp-search-box > svg{ width:19px; height:19px; flex:0 0 auto; color:var(--accent); }
body[data-page="live-projects"] #lp-search{ width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--text-primary); font:500 14px/1.4 var(--font-heavy); }
body[data-page="live-projects"] #lp-search::placeholder{ color:var(--text-muted); opacity:1; }
body[data-page="live-projects"] #lp-search:focus-visible{ outline:0!important; }
body[data-page="live-projects"] .lp-search-count{ flex:0 0 auto; color:var(--text-muted); font:700 10px/1 var(--font-mono); white-space:nowrap; }
body[data-page="live-projects"] #lp-grid{ display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 28px; border:0!important; }
body[data-page="live-projects"] .lp-file-card{ position:relative; display:flex; min-width:0; min-height:276px; flex-direction:column; align-items:stretch; padding:30px 25px 18px; overflow:visible; border:1px solid rgba(20,43,72,.28); border-radius:3px 3px 3px 3px; background:linear-gradient(145deg,rgba(255,252,246,.97),rgba(238,232,220,.86)); box-shadow:0 10px 24px rgba(18,42,75,.07); color:var(--text-primary)!important; text-decoration:none; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
body[data-page="live-projects"] .lp-file-card::after{ position:absolute; right:-1px; bottom:-1px; width:128px; height:30px; border:1px solid rgba(20,43,72,.27); border-top:0; border-right:0; border-radius:0 0 0 26px; background:var(--bg); content:""; }
body[data-page="live-projects"] .lp-file-card:hover{ transform:translateY(-4px); border-color:rgba(24,59,102,.62); box-shadow:0 18px 34px rgba(18,42,75,.13); }
body[data-page="live-projects"] .lp-file-card:active{ transform:translateY(-1px); }
body[data-page="live-projects"] .lp-file-card:focus-visible{ outline:3px solid var(--accent)!important; outline-offset:4px; }
body[data-page="live-projects"] .lp-file-tab{ position:absolute; top:-13px; left:18px; width:110px; height:14px; border:1px solid rgba(20,43,72,.25); border-bottom:0; border-radius:4px 4px 0 0; background:#E9E4D9; }
body[data-page="live-projects"] .lp-file-status{ position:absolute; top:17px; right:19px; display:flex; align-items:center; gap:7px; max-width:58%; color:var(--accent); font:700 9px/1.3 var(--font-mono); letter-spacing:.04em; text-align:right; text-transform:uppercase; }
body[data-page="live-projects"] .lp-file-status .pulse-dot{ width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:currentColor; }
body[data-page="live-projects"] .lp-file-status.stage-2{ color:#8A5A14; }
body[data-page="live-projects"] .lp-file-status.stage-3{ color:var(--text-muted); }
body[data-page="live-projects"] .lp-file-brand{ display:grid; width:60px; height:60px; place-items:center; margin:4px 0 15px; overflow:hidden; border:1px solid rgba(20,43,72,.16); border-radius:3px; background:#fffdf9; }
body[data-page="live-projects"] .lp-file-logo{ width:100%; height:100%; padding:7px; object-fit:contain; }
body[data-page="live-projects"] .lp-file-monogram{ color:var(--accent); font:600 21px/1 var(--font-display); }
body[data-page="live-projects"] .lp-file-content{ display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; }
body[data-page="live-projects"] .lp-file-kicker{ color:var(--text-muted); font:700 9px/1.3 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
body[data-page="live-projects"] .lp-file-company{ display:block; margin-top:5px; color:var(--text-primary)!important; font:500 clamp(23px,2vw,31px)/1.08 var(--font-display); letter-spacing:-.02em; overflow-wrap:anywhere; }
body[data-page="live-projects"] .lp-file-tagline{ display:-webkit-box; max-width:58ch; margin-top:9px; overflow:hidden; color:var(--text-secondary); font:400 13px/1.5 var(--font-heavy); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body[data-page="live-projects"] .lp-file-roles{ margin-top:12px; color:var(--accent); font:700 10px/1.45 var(--font-mono); }
body[data-page="live-projects"] .lp-file-details{ display:flex; flex-wrap:wrap; gap:7px 15px; margin-top:14px; }
body[data-page="live-projects"] .lp-file-details > span{ display:inline-flex; align-items:center; gap:6px; color:var(--text-secondary); font:500 11px/1.3 var(--font-heavy); }
body[data-page="live-projects"] .lp-file-details svg{ width:14px; height:14px; color:var(--accent); }
body[data-page="live-projects"] .lp-file-footnote{ align-self:flex-end; max-width:72%; margin-top:15px; padding:7px 38px 0 10px; color:var(--text-secondary); font:700 10px/1.3 var(--font-mono); text-align:right; }
body[data-page="live-projects"] .lp-file-open{ position:absolute; right:13px; bottom:11px; z-index:1; display:grid; width:26px; height:26px; place-items:center; border:1px solid rgba(20,43,72,.2); border-radius:50%; color:var(--accent); }
body[data-page="live-projects"] .lp-file-open svg{ width:14px; height:14px; }
body[data-page="live-projects"] .lp-empty-search{ grid-column:1/-1; }
@media(max-width:760px){
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:minmax(0,1fr); gap:30px; }
  body[data-page="live-projects"] .lp-file-card{ min-height:250px; padding:29px 19px 16px; }
  body[data-page="live-projects"] .lp-file-status{ right:13px; max-width:55%; font-size:8px; }
  body[data-page="live-projects"] .lp-file-company{ font-size:27px; }
}
@media(prefers-reduced-motion:reduce){ body[data-page="live-projects"] .lp-file-card{ transition:none; } }

/* Each listing item is a single, unmistakable document icon. Project status sits below it. */
body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px clamp(15px,2vw,30px); align-items:start; }
body[data-page="live-projects"] .lp-project-item{ min-width:0; }
body[data-page="live-projects"] .lp-file-card{ display:flex; width:100%; min-height:0; height:270px; flex-direction:column; align-items:center; justify-content:center; padding:24px 24px 42px; overflow:hidden; border:1.5px solid rgba(20,43,72,.52); border-radius:5px 5px 5px 5px; background:rgba(255,252,246,.78); clip-path:polygon(0 0,100% 0,100% 82%,88% 82%,78% 100%,0 100%); box-shadow:0 8px 20px rgba(18,42,75,.045); text-align:center; }
body[data-page="live-projects"] .lp-file-card::after{ content:none; }
body[data-page="live-projects"] .lp-file-card:hover{ background:#FFFCF6!important; box-shadow:0 16px 30px rgba(18,42,75,.12); }
body[data-page="live-projects"] .lp-file-tab{ top:0; left:0; width:42%; height:10px; border:0; border-radius:0 0 5px 0; background:rgba(24,59,102,.11); }
body[data-page="live-projects"] .lp-file-brand{ width:94px; height:94px; flex:0 0 94px; margin:8px 0 17px; border:1.5px solid rgba(24,59,102,.32); border-radius:50%; background:rgba(233,228,217,.42); }
body[data-page="live-projects"] .lp-file-logo{ width:100%; height:100%; padding:15px; border-radius:50%; object-fit:contain; }
body[data-page="live-projects"] .lp-file-monogram{ display:none; }
body[data-page="live-projects"] .lp-file-company{ display:-webkit-box; max-width:100%; margin:0; overflow:hidden; color:var(--text-primary)!important; font:500 clamp(22px,2vw,30px)/1.12 var(--font-display); text-align:center; text-overflow:ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body[data-page="live-projects"] .lp-file-open{ right:14px; bottom:16px; border:0; background:var(--bg); }
body[data-page="live-projects"] .lp-file-meta{ display:flex; min-height:48px; flex-wrap:wrap; align-items:flex-start; justify-content:flex-end; gap:6px 14px; padding:8px 3px 0; text-align:right; }
body[data-page="live-projects"] .lp-file-status{ position:static; display:inline-flex; width:max-content; max-width:100%; align-items:center; gap:7px; color:var(--accent); font:700 10px/1.4 var(--font-mono); letter-spacing:.035em; text-align:right; text-transform:uppercase; }
body[data-page="live-projects"] .lp-file-status .pulse-dot{ width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:currentColor; }
body[data-page="live-projects"] .lp-file-status.stage-2{ color:#8A5A14; }
body[data-page="live-projects"] .lp-file-status.stage-3{ color:var(--text-muted); }
body[data-page="live-projects"] .lp-file-roles,body[data-page="live-projects"] .lp-file-footnote{ margin:0; padding:0; color:var(--text-muted); font:500 10px/1.4 var(--font-heavy); text-align:right; }
body[data-page="live-projects"] .lp-file-open svg{ width:15px; height:15px; }
@media(max-width:1100px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 20px; } }
@media(max-width:760px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 18px; } }
@media(max-width:560px){
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  body[data-page="live-projects"] .lp-file-card{ width:min(100%,360px); height:250px; margin:auto; }
  body[data-page="live-projects"] .lp-file-meta{ width:min(100%,360px); margin:auto; }
}

/* Compact, translucent project files with one status label outside each file. */
body[data-page="live-projects"] #lp-grid{ perspective:1100px; gap:31px clamp(15px,1.8vw,26px); }
body[data-page="live-projects"] .lp-project-item{ position:relative; }
body[data-page="live-projects"] .lp-file-card{
  height:218px;
  padding:22px 18px 36px;
  border:1px solid rgba(20,43,72,.48);
  border-radius:0;
  background:rgba(255,252,246,.48)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  clip-path:polygon(0 1%,1% 0,99% 0,100% 1%,100% 75%,99.8% 77%,99.2% 79%,98.2% 81%,96.8% 82.8%,95% 84%,92.5% 85%,87.5% 85%,85% 85.5%,82.8% 86.5%,80.8% 88%,79% 90%,77.5% 92.5%,76% 95.5%,74% 98%,71.5% 100%,1% 100%,0 99%);
  box-shadow:0 9px 17px rgba(18,42,75,.09),inset 0 1px 0 rgba(255,255,255,.8);
  transform:translateZ(0);
  transform-style:preserve-3d;
  transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,background-color .32s ease;
  will-change:transform;
}
body[data-page="live-projects"] .lp-file-card::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:1px;
  clip-path:inherit;
  background:linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,0) 48%);
  opacity:.5;
  pointer-events:none;
  transition:opacity .3s ease;
}
body[data-page="live-projects"] .lp-file-card:hover{
  z-index:3;
  background:rgba(255,252,246,.66)!important;
  box-shadow:0 22px 32px rgba(18,42,75,.16),0 4px 10px rgba(24,59,102,.08),inset 0 1px 0 rgba(255,255,255,.92);
  transform:translateY(-7px) scale(1.045) rotateX(1deg);
}
body[data-page="live-projects"] .lp-file-card:hover::after{ opacity:.9; }
body[data-page="live-projects"] .lp-file-card > *{ z-index:1; }
body[data-page="live-projects"] .lp-file-tab{ height:7px; background:rgba(24,59,102,.09); }
body[data-page="live-projects"] .lp-file-brand{ width:76px; height:76px; flex-basis:76px; margin:3px 0 12px; border-color:rgba(24,59,102,.27); background:rgba(255,255,255,.27); }
body[data-page="live-projects"] .lp-file-logo{ padding:12px; }
body[data-page="live-projects"] .lp-file-company{ font-size:clamp(19px,1.6vw,25px); }
body[data-page="live-projects"] .lp-file-meta{ min-height:34px; padding-top:7px; }
body[data-page="live-projects"] .lp-file-status{ color:var(--accent); font-size:9px; }
@media(max-width:560px){ body[data-page="live-projects"] .lp-file-card{ height:210px; } }
@media(hover:none){ body[data-page="live-projects"] .lp-file-card:hover{ transform:none; } }
@media(prefers-reduced-motion:reduce){
  body[data-page="live-projects"] .lp-file-card{ will-change:auto; transition:none; }
  body[data-page="live-projects"] .lp-file-card:hover{ transform:none; }
}

/* Match the smooth, square file silhouette in the reference image. */
body[data-page="live-projects"] .lp-file-card{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  min-height:0;
  padding:20px 18px 15%;
  border:1.5px solid rgba(20,43,72,.56);
  border-radius:0;
  background:rgba(255,252,246,.32)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  clip-path:polygon(0 1%,.2% .5%,.5% .2%,1% 0,99% 0,99.5% .2%,99.8% .5%,100% 1%,100% 79%,99.9% 81%,99.5% 83%,98.8% 84.7%,97.6% 86.1%,96.1% 87.2%,94.2% 87.8%,92% 88%,68% 88%,66% 88.2%,64.2% 88.8%,62.5% 89.8%,60.8% 91.2%,59% 93%,57.3% 95%,55.5% 97%,53.5% 99%,52% 100%,1% 100%,.5% 99.8%,.2% 99.5%,0 99%);
  box-shadow:0 8px 20px rgba(18,42,75,.07),inset 0 1px 0 rgba(255,255,255,.66);
  transform:translateZ(0);
  transform-style:preserve-3d;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),border-color .32s ease,box-shadow .35s ease,background-color .35s ease,filter .35s ease;
}
body[data-page="live-projects"] .lp-file-card::after{
  inset:1.5px;
  clip-path:inherit;
  background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,40%),rgba(255,255,255,.55),rgba(255,255,255,.08) 38%,transparent 68%);
  opacity:.55;
  transition:opacity .35s ease;
}
body[data-page="live-projects"] .lp-file-card:hover{
  border-color:rgba(24,59,102,.95);
  background:rgba(255,252,246,.46)!important;
  box-shadow:0 17px 30px rgba(18,42,75,.14),inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateY(-5px) scale(1.035) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));
  filter:drop-shadow(0 0 3px rgba(24,59,102,.58)) drop-shadow(0 0 9px rgba(24,59,102,.2));
}
body[data-page="live-projects"] .lp-file-card:hover::after{ opacity:1; }
body[data-page="live-projects"] .lp-file-card .lp-file-tab{ height:7px; background:rgba(24,59,102,.09); }
body[data-page="live-projects"] .lp-file-card .lp-file-brand{
  width:clamp(72px,7vw,96px);
  height:clamp(72px,7vw,96px);
  flex-basis:clamp(72px,7vw,96px);
  margin:5px 0 14px;
  border:1.5px solid rgba(24,59,102,.32);
  border-radius:50%;
  background:rgba(255,255,255,.25);
  box-shadow:0 4px 14px rgba(18,42,75,.06);
  transform:translateZ(12px);
}
body[data-page="live-projects"] .lp-file-card .lp-file-logo{ width:100%; height:100%; padding:11px; border-radius:50%; object-fit:contain; }
body[data-page="live-projects"] .lp-file-card .lp-file-company{ max-width:92%; font-size:clamp(18px,1.65vw,25px); transform:translateZ(9px); }
body[data-page="live-projects"] .lp-file-card:focus-visible{ outline:2px solid var(--accent)!important; outline-offset:5px; }
body[data-page="live-projects"] .lp-file-meta{ justify-content:flex-end; padding-top:8px; }
body[data-page="live-projects"] .lp-file-status{ font-size:10px; }
@media(max-width:560px){
  body[data-page="live-projects"] .lp-file-card{ width:100%; height:auto; max-width:360px; margin:0 auto; padding-bottom:15%; }
  body[data-page="live-projects"] .lp-file-meta{ width:100%; max-width:360px; margin:0 auto; }
}
@media(prefers-reduced-motion:reduce){
  body[data-page="live-projects"] .lp-file-card:hover{ transform:none; filter:none; }
}

/* Status filters and the final compact folder outline. */
body[data-page="live-projects"] .lp-listing-tools{ display:flex; max-width:1060px; flex-direction:column; align-items:flex-start; gap:18px; margin:0 0 30px; }
body[data-page="live-projects"] .lp-status-filters{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
body[data-page="live-projects"] .lp-status-filter{ min-height:36px; padding:8px 13px; border:1px solid rgba(20,43,72,.2); border-radius:3px; background:rgba(255,252,246,.45); color:var(--text-secondary); font:700 10px/1.2 var(--font-mono); cursor:pointer; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
body[data-page="live-projects"] .lp-status-filter:hover{ border-color:var(--accent); color:var(--accent); transform:translateY(-1px); }
body[data-page="live-projects"] .lp-status-filter.is-active{ border-color:var(--accent); background:var(--accent); color:#fff; }
body[data-page="live-projects"] .lp-status-filter:focus-visible{ outline:2px solid var(--accent)!important; outline-offset:3px; }
body[data-page="live-projects"] .lp-search-wrap{ width:min(100%,720px); margin:0; }
body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(240px,320px)); justify-content:start; gap:36px 32px; max-width:1060px; }
body[data-page="live-projects"] .lp-project-item{ min-width:0; padding-bottom:23px; }
body[data-page="live-projects"] .lp-file-card{
  --lp-file-shape:polygon(0 1.6%,.12% .95%,.35% .4%,.8% .12%,1.5% 0,98.5% 0,99.2% .12%,99.65% .4%,99.88% .95%,100% 1.6%,100% 79%,99.95% 80.1%,99.75% 81.2%,99.4% 82.1%,98.9% 83%,98.2% 83.8%,97.2% 84.5%,96% 85%,94.5% 85.3%,92.5% 85.5%,69% 85.5%,67.2% 85.65%,65.5% 86.1%,64% 86.8%,62.5% 87.8%,61% 89.2%,59.4% 91%,57.8% 93%,56.2% 95%,54.5% 97%,52.5% 99%,51.5% 100%,1.5% 100%,.8% 99.88%,.35% 99.6%,.12% 99.05%,0 98.4%);
  position:relative;
  width:100%;
  height:auto;
  max-width:320px;
  aspect-ratio:1/1;
  margin:0;
  padding:20px 18px 17%;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:rgba(20,43,72,.5)!important;
  clip-path:var(--lp-file-shape);
  box-shadow:none;
}
body[data-page="live-projects"] .lp-file-card::before{ content:""; position:absolute; z-index:0; inset:1.5px; clip-path:var(--lp-file-shape); background:rgba(255,252,246,.37); pointer-events:none; transition:background-color .3s ease; }
body[data-page="live-projects"] .lp-file-card::after{ inset:1.5px; clip-path:var(--lp-file-shape); }
body[data-page="live-projects"] .lp-file-card:hover{ background:rgba(24,59,102,.95)!important; }
body[data-page="live-projects"] .lp-file-card:hover::before{ background:rgba(255,252,246,.49); }
body[data-page="live-projects"] .lp-file-card > *{ position:relative; z-index:1; }
body[data-page="live-projects"] .lp-file-card .lp-file-tab{ display:none!important; }
body[data-page="live-projects"] .lp-file-card .lp-file-brand{ flex:0 0 clamp(68px,6vw,82px); width:clamp(68px,6vw,82px); height:clamp(68px,6vw,82px); margin:0 0 12px; }
body[data-page="live-projects"] .lp-file-card .lp-file-company{ font-size:clamp(18px,1.45vw,23px); }
body[data-page="live-projects"] .lp-file-meta{ position:absolute; right:0; bottom:0; display:flex; width:max-content; min-height:0; justify-content:flex-end; padding:0 0 0 10px; }
body[data-page="live-projects"] .lp-file-status{ white-space:nowrap; }
@media(max-width:760px){
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,300px)); gap:33px 22px; }
  body[data-page="live-projects"] .lp-file-card{ max-width:300px; }
}
@media(max-width:520px){
  body[data-page="live-projects"] .lp-status-filters{ gap:6px; }
  body[data-page="live-projects"] .lp-status-filter{ padding:8px 10px; font-size:9px; }
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:minmax(0,320px); }
  body[data-page="live-projects"] .lp-file-card{ max-width:320px; }
}

/* Tighter file cards: remove decorative tab/glint/arrow, enlarge brand and title. */
body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(230px,270px)); gap:31px 26px; }
body[data-page="live-projects"] .lp-project-item{ padding-bottom:0; }
body[data-page="live-projects"] .lp-file-card{ max-width:270px; padding:10px 12px 15%; }
body[data-page="live-projects"] .lp-file-card::after{ display:none!important; }
body[data-page="live-projects"] .lp-file-card .lp-file-tab,
body[data-page="live-projects"] .lp-file-card .lp-file-open{ display:none!important; }
body[data-page="live-projects"] .lp-file-card .lp-file-brand{ flex:0 0 108px; width:108px; height:108px; margin:0 0 10px; }
body[data-page="live-projects"] .lp-file-card .lp-file-logo{ padding:8px; }
body[data-page="live-projects"] .lp-file-card .lp-file-company{ max-width:94%; font-size:clamp(27px,2vw,32px); line-height:1.05; }
body[data-page="live-projects"] .lp-file-meta{ right:8px; bottom:8px; padding:0; }
body[data-page="live-projects"] .lp-file-status{ gap:5px; font-size:8px; line-height:1.2; }
body[data-page="live-projects"] .lp-file-status .pulse-dot{ width:6px; height:6px; flex-basis:6px; }
@media(max-width:600px){
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,270px)); gap:28px 20px; }
  body[data-page="live-projects"] .lp-file-card{ max-width:270px; }
}

/* Smaller files, same-size branding, page-matched interior and a shallower fold. */
body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(200px,220px)); gap:30px 22px; }
body[data-page="live-projects"] .lp-file-card{
  max-width:220px;
  padding:8px 10px 12%;
  --lp-file-shape:polygon(0 1.6%,.12% .95%,.35% .4%,.8% .12%,1.5% 0,98.5% 0,99.2% .12%,99.65% .4%,99.88% .95%,100% 1.6%,100% 86%,99.95% 87%,99.7% 88%,99.2% 88.8%,98.4% 89.5%,97.3% 90%,96% 90.4%,94.5% 90.6%,92.5% 90.7%,73% 90.7%,71% 90.9%,69.2% 91.4%,67.5% 92.2%,65.8% 93.3%,64% 94.6%,62.2% 96%,60.3% 97.5%,58.5% 99%,57% 100%,1.5% 100%,.8% 99.88%,.35% 99.6%,.12% 99.05%,0 98.4%);
}
body[data-page="live-projects"] .lp-file-card::before,
body[data-page="live-projects"] .lp-file-card:hover::before{ background:var(--bg)!important; }
body[data-page="live-projects"] .lp-file-meta{ right:5px; bottom:5px; }
body[data-page="live-projects"] .lp-file-status{ font-size:7px; }
@media(max-width:600px){
  body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(auto-fit,minmax(200px,220px)); gap:28px 18px; }
  body[data-page="live-projects"] .lp-file-card{ max-width:220px; }
}
body[data-page="live-projects"] .lp-file-meta{ right:4px; bottom:3px; }
body[data-page="live-projects"] .lp-file-status{ display:grid; width:62px; grid-template-columns:6px 52px; align-items:start; justify-content:end; gap:4px; white-space:normal; text-align:right; line-height:1.05; }
body[data-page="live-projects"] .lp-file-status .pulse-dot{ align-self:center; margin-top:0; }
body[data-page="live-projects"] .lp-status-copy{ display:block; width:52px; text-align:right; }

/* Five live-project cards per row on wide screens, with fewer columns as
   the available width shrinks. */
body[data-page="live-projects"] #lp-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:28px 16px;
  max-width:none;
}
body[data-page="live-projects"] .lp-file-card{ max-width:none; }
@media(max-width:1100px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 14px; } }
@media(max-width:900px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; } }
@media(max-width:420px){ body[data-page="live-projects"] #lp-grid{ grid-template-columns:minmax(0,1fr); } }

/* Keep Live Projects cards compact on phones; desktop sizing is unchanged. */
@media(max-width:767px){
  body[data-page="live-projects"] #lp-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-items:stretch;
    gap:14px 9px;
  }
  body[data-page="live-projects"] .lp-project-item{ width:100%; min-width:0; }
  body[data-page="live-projects"] .lp-file-card{
    width:100%;
    max-width:220px;
    aspect-ratio:1/1;
    margin:0 auto;
    padding:6px 5px 15%;
  }
  body[data-page="live-projects"] .lp-file-card .lp-file-brand{
    flex-basis:clamp(48px,14vw,62px);
    width:clamp(48px,14vw,62px);
    height:clamp(48px,14vw,62px);
    margin:0 0 7px;
  }
  body[data-page="live-projects"] .lp-file-card .lp-file-logo{ padding:5px; }
  body[data-page="live-projects"] .lp-file-card .lp-file-company{
    max-width:98%;
    font-size:clamp(14px,4vw,18px);
    line-height:1.05;
    overflow-wrap:anywhere;
  }
  body[data-page="live-projects"] .lp-file-meta{ right:4px; bottom:3px; }
  body[data-page="live-projects"] .lp-file-status{
    width:62px;
    grid-template-columns:6px 52px;
    gap:4px;
    font-size:7px;
    line-height:1.05;
  }
  body[data-page="live-projects"] .lp-file-status .pulse-dot{
    width:6px;
    height:6px;
    flex-basis:6px;
    transform:translateX(6px);
  }
}

/* Keep the phone drawer inside the visual viewport and let every label use its full line. */
@media (max-width:1100px){
  .sidebar{
    box-sizing:border-box;
    width:min(340px,calc(100vw - 28px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));
    max-width:100vw;
    height:100vh;
    height:100dvh;
    max-height:100dvh;
    padding-bottom:env(safe-area-inset-bottom,0px);
    overflow-x:hidden;
  }
  .sidebar-brand{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    gap:clamp(10px,3vw,16px);
    padding-left:calc(clamp(16px,5vw,22px) + env(safe-area-inset-left,0px));
    padding-right:calc(clamp(16px,5vw,22px) + env(safe-area-inset-right,0px));
    white-space:normal;
  }
  .sidebar-brand .brand-text{
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    white-space:normal;
  }
  .sidebar-brand .brand-text strong{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:clamp(14px,4vw,18px);
    line-height:1.15;
  }
  .sidebar-brand .brand-text span{ white-space:normal; }
  .sidebar-nav{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding-left:calc(clamp(12px,4vw,18px) + env(safe-area-inset-left,0px));
    padding-right:calc(clamp(12px,4vw,18px) + env(safe-area-inset-right,0px));
    overflow-x:hidden;
    overscroll-behavior:contain;
  }
  .sidebar-nav .nav-link,
  .sidebar-nav .nav-link:nth-child(n){
    box-sizing:border-box;
    width:100%;
    max-width:none!important;
    min-width:0;
    gap:14px;
    white-space:normal;
  }
  .sidebar-nav .nav-link .nav-icon{ flex:0 0 24px; width:24px; height:24px; }
  .sidebar-nav .nav-link .nav-label{
    flex:1 1 auto;
    min-width:0;
    overflow:visible;
    white-space:normal;
    overflow-wrap:anywhere;
    text-overflow:clip;
    line-height:1.35;
  }
  .mobile-topbar{
    padding-left:calc(12px + env(safe-area-inset-left,0px));
    padding-right:calc(12px + env(safe-area-inset-right,0px));
  }
}
