
/* HERO SECTION STYLES*/
.hero {
    position: relative;
    width: 100vw;
    height: 100vh;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* full-bleed hero image */
.hero-image {
    position: absolute;
    inset: 0;
    background-image: url('assets/hero-image.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*  SCROLL ARROW */
.scroll-arrow {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    background: none;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    z-index: 2;
    animation: bounce 1.8s ease-in-out infinite;
}

.arrow-circle {
    width: 36px;
    height: 36px;
    border: 1.5px solid var(--blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

/* INTRO SECTION STYLES */
.intro {
    background: var(--light-blue);
    width: 100vw;
}

.names {
    padding-top: 16px;
}

.pitch {
    text-align: center;
    padding-top: 32px;
}

.key-features-title {
    margin-top: var(--space-above);
    margin-bottom: var(--space-above);
}

.star-blob img {
  width: 400px;
  height: 402px;
  object-fit: contain;
  filter: drop-shadow(4px 6px 0px black);
}

.stars-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 6 cols instead of 3 */
    gap: 24px;
    max-width: 900px;
    margin-left: 128px;
    margin-right: 128px;
    padding: 0 60px 40px 60px;
}

/* Top row: 3 stars spanning 2 cols each */
.stars-grid .star-blob:nth-child(1) { grid-column: 1 / span 2; }
.stars-grid .star-blob:nth-child(2) { grid-column: 3 / span 2; }
.stars-grid .star-blob:nth-child(3) { grid-column: 5 / span 2; }

/* Bottom row: 2 stars offset by 1 col to sit in the gaps */
.stars-grid .star-blob:nth-child(4) { grid-column: 2 / span 2; }
.stars-grid .star-blob:nth-child(5) { grid-column: 4 / span 2; }

/* DEMO SECTION STYLES */
.demo-title{
    padding-top: var(--space-above);
    padding-bottom: 24px;
}

.demo video {
  display: block;
  width: 100%;
  margin-bottom: var(--space-below);
}

/* CAROUSEL STYLES */
.carousel-container {
  width: 100%;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 24px;
  transition: transform 0.4s ease;
}

.carousel-slide {
  flex: 0 0 calc(33.333% - 16px); /* show 3 at a time */
  overflow: hidden;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ARROW BUTTONS */
.carousel-controls {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}

.carousel-controls button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid #333;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.carousel-controls button:hover {
  background: rgba(0,0,0,0.06);
}

/* CHROMESTHESIA STYLES */
.chrome-explination {
    display: flex;
    align-items: center;
    gap: 120px;
    padding-top: var(--space-above);
}

.chrome-explination img {
    width: 50%;
    flex-shrink: 0;
}

.chrome-explination-text {
    flex: 1;
}

.chrome-explination-text h1 {
    padding-bottom: 24px;
}

/* DESIGN DIRECTION STYLES */
.design-direction-title {
    text-align: center;
    padding-top: var(--space-above);
}

.direction-card {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 56px;
}

/* BRANDING SECTION */
.branding-section {
    display: flex;
    align-items: center;    /* centers text with image stack */
    gap: 120px;
    padding-top: var(--space-above);
    padding-left: 128px;    /* make sure it respects page margins */
    padding-right: 128px;
    margin-bottom: 104px;
}
.branding-text {
    flex: 1;               /* text takes equal space to images */
}

.branding-images {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 0;        /* remove the 80px padding */
}

.branding-image img {
  width: 100%;
  object-fit: contain;
}

/* UX SECTION */
.ux-design-section {
  background: var(--blue);
  color: white;
  padding: 80px 0;
  width: 100%;
  margin-left: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.ux-design-section h2 {
  color: white;
  margin-bottom: 16px;
}

.ux-design-section p {
  color: white;
}

.ux-wireframes {
  display: flex;
  gap: 0px;
  align-items: center;
}

.wireframe-1 {
    transform: rotate(-9deg);
}

.wireframe-2 {
    transform: rotate(9deg);
}

/* TYPOGRAPHY SECTION STYLING */
.typography-title {
    text-align: center;
    margin-top: 56px;
    padding-bottom: 40px;
}


.typography-blurb {
    margin-bottom: 56px;
}

.typeface-block {
  padding-top: 56px;
}

.typeface-name {
  text-align: center;
  font-size: 120px;
  color: var(--blue);
  margin-bottom: 16px;
  margin-left: 128px;
  margin-right: 128px;
}

.typeface-description {
  max-width: 800px;
  margin-bottom: 40px;
  margin-left: 128px;
}

/* Two-column specimen block */
.typeface-specimen {
  display: flex;
  width: 100%;
}

/* Left: light purple, alphabet display */
.specimen-left {
  flex: 1;
  background: #d4d0e8;
  padding-top: 56px;
  padding-bottom: 56px;
  padding-right: 104px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Right: dark navy, large character */
.specimen-right {
  width: 50%;
  background: #2d3a6b;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}

.specimen-group {
    margin-left: 128px;
}

.big-a {
    text-align: center;
    font-size: 600px;
    line-height: 400px;
    color: #FFF;
}

.specimen-label {
  margin-bottom: 8px;
}

.specimen-rule {
  all: unset;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #333;
  margin-bottom: 8px;
}

.specimen-letters {
  font-size: 65px;
  line-height: 67px;
}

.astro { font-family: 'Astro Sans', sans-serif; }
.nova  { font-family: 'Nova Sans', sans-serif; }

.product-title {
    margin-top: var(--space-above);
    text-align: center;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    padding-top: var(--space-above);
    
}

.product-mockup-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.product-mockup {
    width: 583px;
    object-fit: contain;
}

.product-title-mockup {
    text-align: center;
}

/* VERSION STYLES */
.version {
    background: var(--blue);
    width: 100%;
    margin-left: calc(-50vw + 50%);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    padding-top: 32px;
    padding-bottom: 56px;
}

.versions-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px 40px;
  margin-top: 40px;
}

.version-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.version-title {
  color: white;
  text-align: center;
}

.version-rule {
  all: unset;
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 1);
}

.version-description {
  color: white;
  height: 100px;

}

/* Slideshow */
.version-slideshow {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin-top: 8px;
}

.version-slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}

/* First image visible by default */
.version-slideshow img:first-child {
  opacity: 1;
}

/* FRONTEND SECTION TITLE */
.frontend-title {
    padding-top: var(--space-above);
    padding-bottom: 56px;
    text-align: center;
}

.user-input {
    display: flex;
    gap: 40px;
    align-items: center;
}

/*  UI BREAKDOWN STYLES */
.user-cutomization-title{
    padding-top: var(--space-above);
}

.font-dropdown-container {
    padding-top: 56px;
    display: flex;
    gap: 116px;
    align-items: center;
}

.font-dropdown-container-text h2{
    padding-bottom: 24px;
}

.lyric-window-container {
    padding-top: 0px;
    display: flex;
    gap: 116px;
    align-items: center;
}

.lyric-window-container-text h2 {
    padding-bottom: 24px;
}


.lyric-placement-container {
    padding-top: 0px;
    display: flex;
    gap: 116px;
    align-items: center;
}

.lyric-placement-container-text h2{
    padding-bottom: 24px;
}

.text-customization-container {
    padding-top: 0px;
    display: flex;
    gap: 116px;
    align-items: center;
}

.text-customization-container-text h2{
    padding-bottom: 24px;
}

.download-container {
    padding-top: 24px;
    display: flex;
    gap: 116px;
    align-items: center;
}

.download-container-text h2 {
    padding-bottom: 24px;
}

/* BACKEND BREAKDOWN STYLES */
.backend-title {
    padding-top: var(--space-above);
    text-align: center;
}

.user-input-title {
    padding-top: 56px;
    padding-bottom: 16px;
    color: #000;
}

.user-input-diagram {
    margin-left: auto;
    margin-right: auto;
}

.lyrics-container {
    padding-top: var(--space-above);
    display: flex;
    gap: 100px;
    align-items: center;
}

.lyrics-container-text h2{
    padding-bottom: 32px;
}

.canvas-ratio-container {
    padding-top: var(--space-above);
    display: flex;
    gap: 100px;
    align-items: center;
}

.building-prompt-diagram-title {
    padding-top: var(--space-above);
    padding-bottom: 32px;
}

.building-prompt-diagram {
    width: 100%;
}

.random-variable-container {
    padding-top: var(--space-above);
    display: flex;
    gap: 100px;
    align-items: center;
}

.random-variable-container h2{
    padding-bottom: 32px;
}

.prompt-title {
    padding-top: var(--space-above);
    padding-bottom: 24px;
}

.prompt-diagram {
    width: 100%;
}

.prompt-output-diagram {
    padding-top: 32px;
    width: 100%;
}

.example-outputs-title {
    padding-top: var(--space-above);
    padding-bottom: 24px;
}

.example-outputs-container {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

.example-outputs-container-left img{
    height: 584px;
}

.example-outputs-container-left h2{
    text-align: center;
    padding-top: 8px;
}

.example-outputs-container-right img{
    height: 584px;
}

.example-outputs-container-right h2{
    text-align: center;
    padding-top: 8px;
}

.conclusion .page-grid {
    padding-top: var(--space-above);
    align-items: center;
}

.conclusion-text h1 {
    padding-bottom: 24px;
}

.conclusion-mockups {
    position: relative;
    display: flex;
    align-items: center;
}

.conclusion-donwload {
    width: 600px;
    object-fit: contain;
    position: relative;
    top: -50px;
    z-index: 2;       /* sits on top */
}

.conclusion-home {
    width: 600px;
    object-fit: contain;
    position: absolute;
    left: 200px;      /* nudge this to control how much overlap */
    top: -40px;       /* nudge this to match the tilted offset in the design */
    z-index: 1;       /* sits behind */
}