/* Brand typography refinement: Lucia BT script accents, New Icon Serif display, Times New Roman body. */
@font-face{font-family:'Lucia BT';src:url('./fonts/Lucia-BT.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'New Icon Serif';src:url('./fonts/New-Icon-Serif.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
:root{--accent:'Lucia BT',cursive;--header:'New Icon Serif',serif;--body:'Times New Roman',Times,serif;--mono:'Times New Roman',Times,serif}
html,body{font-family:var(--body)!important}
.hero h1,.story h2,.manifesto h2,.waitlist h2,.contact-preview h2,.contact-us h2,.join-card-title{font-family:var(--header)!important;font-weight:400}
.hero h1 em,.story h2 em,.manifesto h2 em,.waitlist h2 em,.contact-preview h2 em,.join-card-title em{font-family:var(--accent)!important;font-weight:400;font-style:normal;letter-spacing:0}
.story-body,.story-body .lead,.intro,.manifesto-inner p,.waitlist-left>p:not(.eyebrow),.contact-preview p,.contact-us>p,footer>span{font-family:var(--body)!important}
.nav-note,.join,.discover,.hero-top,.hero-foot,.eyebrow,.section-index,.manifesto-top,.manifesto-bottom,.waitlist-note,.join-card-top,.join-card-bottom,form label,.form-note,.join-ornament,.contact-preview-kicker,.contact-email span,.footer-join,footer small{font-size:11px!important;letter-spacing:.14em}
.story-body{font-size:16px!important;line-height:1.9}
.story-body .lead{font-size:24px!important;line-height:1.45}
.intro,.manifesto-inner p,.waitlist-left>p:not(.eyebrow),.contact-preview p,.contact-us>p{font-size:18px!important;line-height:1.8}
main>.waitlist .signup-fields input{font-size:17px!important}
main>.waitlist .email-row button{font-size:11px!important}
.contact-preview-email{font-family:var(--body)!important;font-size:clamp(20px,1.8vw,26px)!important}
.contact-us .contact-email strong{font-family:var(--header)!important}
@media(max-width:800px){.nav-note{font-size:11px!important}.story-body{font-size:16px!important}.story-body .lead{font-size:23px!important}.intro,.manifesto-inner p,.waitlist-left>p:not(.eyebrow),.contact-preview p,.contact-us>p{font-size:17px!important}.nav .join{font-size:10px!important}}

/* Campus Quad: sage-green hero with white typography (requested refinement) */
.hero {
  background: #716b51 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.hero::after {
  background: linear-gradient(115deg, rgba(55,36,20,.12), transparent 58%, rgba(237,229,222,.04)) !important;
}
.hero .hero-top,
.hero .hero-foot,
.hero .hero-coming,
.hero .hero-coming b,
.hero .eyebrow,
.hero h1,
.hero h1 em,
.hero .intro,
.hero .coming-soon,
.hero .coming-soon em,
.hero .coming-soon span,
.hero .discover,
.hero .discover span,
.hero .crest-ring,
.hero .crest-quad,
.hero .crest-center small,
.hero .floating-card,
.hero .floating-card span,
.hero .floating-card b,
.hero .spark {
  color: #ffffff !important;
}
.hero .discover {
  border-bottom-color: rgba(255,255,255,.75) !important;
}
.hero .orbit,
.hero .orbit-b {
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: none !important;
}
.hero .floating-card {
  background: rgba(55,36,20,.24) !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  box-shadow: 0 18px 30px rgba(25,18,10,.12) !important;
}
.hero .crest {
  background: rgba(55,36,20,.22) !important;
  border-color: rgba(255,255,255,.7) !important;
  box-shadow: inset 0 0 0 8px rgba(55,36,20,.12), inset 0 0 0 9px rgba(255,255,255,.22), 0 25px 40px rgba(25,18,10,.16) !important;
}
.hero .crest::before {
  border-color: rgba(255,255,255,.4) !important;
}
.hero .grain {
  opacity: .035 !important;
}


/* Hero visual replacement: supplied Campus Quad apparel photo */
.hero .orbit-image-scene {
  position: absolute;
  width: min(36vw, 390px);
  height: min(72%, 500px);
  right: clamp(5%, 8vw, 11%);
  top: 50%;
  transform: translateY(-46%);
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: none;
  z-index: 1;
  pointer-events: none;
}
.hero .hero-apparel-image {
  display: block;
  width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  border: 1px solid rgba(255,255,255,.72);
  outline: 1px solid rgba(237,229,222,.22);
  outline-offset: 7px;
  box-shadow: 0 0 12px rgba(237,229,222,.28), 0 0 34px rgba(237,229,222,.16), 0 22px 60px rgba(25,20,10,.22);
  filter: drop-shadow(0 0 9px rgba(237,229,222,.13));
  transition: box-shadow .35s ease, transform .5s ease;
}
.hero .orbit-image-scene:hover .hero-apparel-image {
  box-shadow: 0 0 16px rgba(237,229,222,.36), 0 0 42px rgba(237,229,222,.22), 0 26px 70px rgba(25,20,10,.25);
  transform: translateY(-3px);
}
@media (max-width: 800px) {
  .hero .orbit-image-scene {
    position: relative;
    inset: auto;
    transform: none;
    width: min(72vw, 330px);
    height: auto;
    margin: 0 auto 34px;
    perspective: none;
  }
  .hero .hero-apparel-image {
    width: 100%;
    max-height: 420px;
  }
  .hero .hero-copy { padding-top: 42px; }
}


/* User-requested visual refinements: typography, image border/size, signup card */
.hero .coming-soon,
.hero .coming-soon em,
.hero .coming-soon span {
  font-family: "Times New Roman", Times, serif !important;
  text-shadow: none !important;
}
.hero .coming-soon {
  font-weight: 400 !important;
  letter-spacing: .04em !important;
}
.hero .coming-soon em {
  font-style: normal !important;
  font-weight: 400 !important;
}
.hero .orbit-image-scene {
  width: min(40vw, 440px) !important;
}
.hero .hero-apparel-image {
  border: 2px solid rgba(255,255,255,.88) !important;
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: 0 8px 24px rgba(25,20,10,.16) !important;
  filter: none !important;
  transition: none !important;
}
.hero .orbit-image-scene:hover .hero-apparel-image {
  box-shadow: 0 8px 24px rgba(25,20,10,.16) !important;
  transform: none !important;
}
@media (max-width: 800px) {
  .hero .orbit-image-scene {
    width: min(78vw, 360px) !important;
  }
}
.join-card {
  transform: none !important;
}
.join-card:hover {
  transform: none !important;
}
.waitlist h2,
.waitlist h2 em {
  color: #370101 !important;
}


/* Requested final refinements: center launch date and keep the apparel frame even. */
.hero { position: relative; }
.hero .hero-top { position: relative; }
.hero .hero-coming { position: absolute !important; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; white-space: nowrap; text-align: center; z-index: 3; }
.hero .hero-apparel-image { box-sizing: border-box !important; border: 1px solid rgba(255,255,255,.88) !important; outline: none !important; padding: 0 !important; }
@media (max-width: 600px) { .hero .hero-coming { font-size: 10px !important; letter-spacing: .1em !important; } }

/* Final correction: the white frame belongs tightly to the photo, not the scene wrapper. */
.hero .orbit-image-scene {
  width: min(40vw, 460px) !important;
  height: auto !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
  filter: none !important;
}
.hero .orbit-image-scene::before,
.hero .orbit-image-scene::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.hero .hero-apparel-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: 0 8px 24px rgba(25,20,10,.16) !important;
}
@media (max-width: 800px) {
  .hero .orbit-image-scene { width: min(78vw, 360px) !important; height: auto !important; }
  .hero .hero-apparel-image { width: 100% !important; max-height: none !important; }
}
