.page-hero{
  min-height:calc(34vh - 82px);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:1.25rem 0 .5rem;
}

.page-hero-inner{
  max-width:980px;
  width:100%;
  margin:0 auto;
  padding:2.7rem 2.2rem;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 18px 50px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.02);
  position:relative;
  overflow:hidden;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.page-hero-inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 18%, rgba(255,255,255,.04), transparent 60%);
  pointer-events:none;
}

.page-hero-inner > *{
  position:relative;
  z-index:1;
}

.eyebrow{
  display:inline-block;
  margin-bottom:.8rem;
  font-family:'Inter', sans-serif;
  font-size:.75rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}

.page-title{
  font-family:'CloisterBlack', serif;
  font-size:clamp(3.6rem, 11vw, 7rem);
  line-height:1.02;
  margin:0 0 .9rem;
  text-transform:none;
  letter-spacing:0;
  text-shadow:
    0 0 18px rgba(255,255,255,.12),
    0 0 8px rgba(255,255,255,.07),
    0 0 18px rgba(255,255,255,.05);
}

.page-sub{
  max-width:640px;
  margin:0 auto;
  font-family:'Cinzel', serif;
  font-size:clamp(1rem, 2vw, 1.18rem);
  line-height:1.8;
  letter-spacing:.08em;
  color:rgba(255,255,255,.74);
  font-weight:400;
}

.application-panel{
  padding:3rem 2rem 3.1rem;
  text-align:center;
  background:var(--panel);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  isolation:isolate;
  max-width:1080px;
  margin:0 auto;
}

.application-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 15%, rgba(255,255,255,.05), transparent 60%);
  pointer-events:none;
  z-index:1;
}

.application-panel .section-header,
.application-panel .section-copy,
.application-grid,
.application-note,
.application-actions{
  position:relative;
  z-index:3;
}

/* SECTION HEADER */

.section-kicker{
  font-family:'Inter', sans-serif;
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:.55rem;
}

.section-title{
  font-family:'Cinzel', serif;
  letter-spacing:.08em;
  text-shadow:
    0 0 8px rgba(255,255,255,.08),
    0 0 18px rgba(255,255,255,.04);
}

.section-title::after{
  margin:.8rem auto 0;
}

/* SIGIL */

.panel-sigil{
  position:relative;
  width:150px;
  height:150px;
  margin:1.35rem auto 1.9rem auto;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:3;
}

.sigil-ring{
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  animation:sigilRotate 18s linear infinite;
  pointer-events:none;
}

.sigil-ring::before,
.sigil-ring::after{
  content:"";
  position:absolute;
  border-radius:50%;
  inset:10px;
  border:1px solid rgba(255,255,255,.05);
}

.sigil-ring::after{
  inset:22px;
  border:1px dashed rgba(255,255,255,.08);
  animation:sigilReverse 24s linear infinite;
}

.sigil-mark{
  position:absolute;
  color:rgba(255,255,255,.45);
  font-size:.8rem;
  text-shadow:0 0 10px rgba(255,255,255,.18);
  pointer-events:none;
  animation:sigilPulse 3.8s ease-in-out infinite;
  z-index:2;
}

.sigil-mark.mark-1{ top:6px; left:50%; transform:translateX(-50%); }
.sigil-mark.mark-2{ right:18px; top:28px; animation-delay:.6s; }
.sigil-mark.mark-3{ right:6px; top:50%; transform:translateY(-50%); animation-delay:1.2s; }
.sigil-mark.mark-4{ right:18px; bottom:28px; animation-delay:1.8s; }
.sigil-mark.mark-5{ bottom:6px; left:50%; transform:translateX(-50%); animation-delay:2.4s; }
.sigil-mark.mark-6{ left:18px; bottom:28px; animation-delay:3s; }
.sigil-mark.mark-7{ left:6px; top:50%; transform:translateY(-50%); animation-delay:3.4s; }
.sigil-mark.mark-8{ left:18px; top:28px; animation-delay:2.1s; }

.panel-sigil img{
  width:80px;
  height:auto;
  position:relative;
  z-index:3;
  filter:
    drop-shadow(0 0 10px rgba(255,255,255,.10))
    drop-shadow(0 0 20px rgba(255,255,255,.05));
  animation:emblemFloat 4.8s ease-in-out infinite;
}

@keyframes sigilRotate{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@keyframes sigilReverse{
  from{ transform:rotate(360deg); }
  to{ transform:rotate(0deg); }
}

@keyframes sigilPulse{
  0%,100%{ opacity:.38; }
  50%{ opacity:.75; }
}

@keyframes emblemFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}

/* TEXT BLOCK */

.application-panel .section-copy{
  max-width:560px;
  margin:1.6rem auto 0;
  line-height:2;
  color:#cfcfcf;
  font-size:1.05rem;
}

.application-panel .section-copy:first-of-type{
  margin-top:1.3rem;
}

.application-panel .section-copy + .section-copy{
  margin-top:1.6rem;
}

/* GRID */

.application-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:2rem;
  margin-top:3.5rem;
  align-items:stretch;
}

/* CARDS */

.info-card{
  padding:0;
  text-align:left;
  position:relative;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 14px 36px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.02);
  overflow:hidden;
}

.info-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.03), transparent 58%);
  pointer-events:none;
  z-index:1;
}

.info-card::after{
  content:"";
  position:absolute;
  top:0;
  left:12%;
  width:76%;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(255,255,255,.18), transparent);
  pointer-events:none;
  z-index:2;
}

.info-card-inner{
  padding:2rem 1.9rem 1.9rem;
  height:100%;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:3;
}

.info-kicker{
  display:block;
  margin-bottom:.85rem;
  font-family:'Inter', sans-serif;
  font-size:.7rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}

.info-card h3{
  font-family:'Cinzel', serif;
  font-size:clamp(2rem, 3vw, 2.45rem);
  line-height:1.15;
  margin:0 0 1.2rem;
  letter-spacing:.04em;
  color:#f3f3f3;
  text-shadow:
    0 0 10px rgba(255,255,255,.05),
    0 0 20px rgba(255,255,255,.03);
}

/* LIST */

.fancy-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.fancy-list li{
  position:relative;
  padding-left:1.45rem;
  color:#cfcfcf;
  line-height:1.8;
  font-size:1rem;
  font-family:'Manrope', sans-serif;
}

.fancy-list li::before{
  content:"♱";
  position:absolute;
  left:0;
  top:.05rem;
  color:rgba(255,255,255,.72);
  font-size:.82rem;
}

/* FOOTNOTE */

.application-note{
  max-width:760px;
  margin:2.35rem auto 0;
  text-align:center;
  color:#bdbdbd;
  line-height:1.9;
  font-size:1rem;
  font-family:'Manrope', sans-serif;
}

.application-actions{
  margin-top:2rem;
  display:flex;
  justify-content:center;
}

/* RESPONSIVE */

@media (max-width:900px){
  .application-grid{
    grid-template-columns:1fr;
  }

  .page-hero{
    min-height:auto;
    padding:1rem 0 .25rem;
  }
}

@media (max-width:768px){
  .page-hero-inner{
    padding:2.15rem 1.2rem;
  }

  .application-panel{
    padding:2rem 1.35rem 2.2rem;
  }

  .panel-sigil{
    width:132px;
    height:132px;
    margin:1.1rem auto 1.55rem auto;
  }

  .panel-sigil img{
    width:72px;
  }

  .info-card-inner{
    padding:1.5rem 1.35rem;
  }

  .page-title{
    font-size:clamp(3rem, 15vw, 5.2rem);
  }

  .page-sub{
    font-size:.98rem;
    line-height:1.75;
    letter-spacing:.08em;
  }

  .info-card h3{
    font-size:clamp(1.7rem, 8vw, 2.1rem);
  }

  .fancy-list li{
    font-size:.98rem;
    line-height:1.75;
  }
}
