/* Shared visual rhythm: keeps the original palette while varying page composition. */
:root{
  --refresh-line:rgba(201,168,106,.18);
  --refresh-ink:rgba(239,232,217,.035);
}

html body{
  background-image:
    radial-gradient(circle at 8% 12%,rgba(128,97,60,.09),transparent 28rem),
    radial-gradient(circle at 92% 48%,rgba(71,50,92,.12),transparent 32rem);
}

main{overflow:hidden}

main > .section{
  position:relative;
  isolation:isolate;
}

main > .section:nth-child(even)::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(110deg,transparent 4%,var(--refresh-ink) 46%,transparent 92%);
  border-block:1px solid rgba(41,32,51,.55);
}

main > .section:nth-child(4n + 1)::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:190px;
  height:190px;
  right:max(4vw,24px);
  bottom:-95px;
  border:1px solid var(--refresh-line);
  border-radius:50%;
  opacity:.48;
}

main > .section h2{
  position:relative;
}

main > .section h2::after{
  content:"";
  display:block;
  width:48px;
  height:1px;
  margin-top:var(--space-2);
  background:linear-gradient(90deg,var(--color-accent),transparent);
}

main > .section .center h2::after,
main > .section h2.center::after,
main > .section.center h2::after{
  margin-inline:auto;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:var(--space-2);
  color:var(--color-accent);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.section-kicker::before{
  content:"";
  width:24px;
  height:1px;
  background:currentColor;
}

main .card:nth-child(3n + 2){
  background:linear-gradient(155deg,rgba(41,32,51,.72),rgba(23,29,40,.92));
}

main .card:nth-child(3n){
  border-radius:var(--radius-sm) var(--radius-md) 28px var(--radius-md);
}

main img{
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}

.site-header{
  border-bottom-color:rgba(201,168,106,.16);
}

.nav-list a{position:relative}
.nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:1px;
  background:var(--color-accent);
  transition:right var(--transition);
}
.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{right:0}

.site-discovery{
  position:relative;
  overflow:hidden;
  padding-block:clamp(72px,9vw,120px);
  background:
    linear-gradient(125deg,rgba(41,32,51,.68),rgba(16,21,29,.96) 58%),
    var(--color-surface-primary);
  border-top:1px solid var(--refresh-line);
}

.site-discovery::after{
  content:"IC";
  position:absolute;
  right:-.04em;
  bottom:-.32em;
  font-family:var(--font-heading);
  font-size:clamp(13rem,30vw,34rem);
  line-height:1;
  color:rgba(239,232,217,.025);
  pointer-events:none;
}

.site-discovery__layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);
  gap:clamp(40px,7vw,96px);
  align-items:start;
}

.site-discovery__intro{position:sticky;top:110px}
.site-discovery__intro p{max-width:46ch}

.site-discovery__links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
}

.discovery-link{
  min-height:210px;
  padding:var(--space-3);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:var(--space-3);
  align-items:end;
  background:rgba(16,21,29,.56);
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  transition:transform var(--transition),border-color var(--transition),background var(--transition);
}

.discovery-link--wide{grid-column:1/-1;min-height:180px}
.discovery-link:hover{transform:translateY(-4px);border-color:var(--color-accent-muted);background:rgba(23,29,40,.86)}
.discovery-link__index{align-self:start;color:var(--color-accent);font-size:.75rem;letter-spacing:.18em}
.discovery-link strong{display:block;font-family:var(--font-heading);font-size:var(--fs-4);margin-bottom:6px}
.discovery-link small{display:block;color:var(--color-text-secondary);font-size:.8rem;line-height:1.5}

body .site-footer{margin-top:0}

@media(min-width:980px){
  main > .section:nth-child(3n) > .container{padding-left:clamp(64px,9vw,130px)}
  main > .section:nth-child(3n + 2) > .container{padding-right:clamp(64px,9vw,130px)}
}

@media(max-width:800px){
  .site-discovery__layout,.site-discovery__links{grid-template-columns:1fr}
  .site-discovery__intro{position:static}
  .discovery-link--wide{grid-column:auto}
  .discovery-link{min-height:170px}
  main > .section:nth-child(4n + 1)::after{width:120px;height:120px;bottom:-60px}
}

@media(prefers-reduced-motion:reduce){
  .discovery-link,.nav-list a::after{transition:none}
}
