:root {
  --ink: #111410;
  --paper: #f2eee3;
  --white: #fffdf6;
  --saffron: #ffbd22;
  --blue: #123f7a;
  --forest: #263228;
  --line: rgba(17, 20, 16, .2);
  --shell: min(1180px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 1000; padding: .8rem 1rem; background: var(--saffron); color: var(--ink); font-weight: 800; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 20; min-height: 96px; padding: 22px max(24px, calc((100vw - 1180px) / 2)); color: var(--white); display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid rgba(255,255,255,.22); }
.site-header.light-header { position: relative; color: var(--ink); border-color: var(--line); }
.brand { display: inline-flex; align-items: center; text-decoration: none; flex: 0 0 auto; }
.brand-logo { display: block; width: 148px; height: auto; }
.light-header .brand-logo { filter: brightness(0); }
.site-nav { display: flex; align-items: center; gap: 26px; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.site-nav a { text-decoration: none; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--saffron); }
.nav-cta { border: 1px solid currentColor; padding: 11px 15px; }
.menu-button { display: none; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

.hero { position: relative; min-height: 820px; height: 100svh; color: var(--white); background: #1f2b22; overflow: hidden; display: flex; align-items: end; }
.hero-media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(10,15,11,.28), rgba(10,15,11,.03)), url('/assets/photo-hero-animated.webp'); background-size: cover; background-position: center 48%; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,15,12,.82) 0%, rgba(12,15,12,.42) 48%, rgba(12,15,12,.12) 75%), linear-gradient(0deg, rgba(11,14,11,.82) 0%, rgba(11,14,11,0) 45%); }
.hero-content { position: relative; z-index: 2; padding-bottom: 90px; }
.eyebrow { margin: 0 0 22px; font-size: .75rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.dark { color: var(--blue); }
.hero h1, .section-heading h2, .relay-title h2, .signup-intro h2, .story-section h2, .photo-story h2, .shop-teaser h2, .shop-hero h1, .shop-callout h2, .shop-coming h1 { margin: 0; text-transform: uppercase; font-weight: 950; line-height: .82; letter-spacing: -.075em; }
.hero h1 { font-size: clamp(5rem, 13vw, 10.5rem); max-width: 900px; }
.hero h1 span, .shop-hero h1 span { color: var(--saffron); }
.hero-copy { max-width: 540px; margin: 28px 0 34px; font-size: clamp(1.05rem, 2vw, 1.3rem); color: rgba(255,255,255,.86); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 20px; text-decoration: none; text-transform: uppercase; font-size: .76rem; font-weight: 900; letter-spacing: .07em; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--saffron); }
.button-ghost { color: var(--white); border: 1px solid rgba(255,255,255,.45); }
.button-dark { color: var(--white); background: var(--ink); }
.button-outline-dark { color: var(--ink); border: 1px solid var(--ink); }
.hero-rail { position: absolute; z-index: 2; right: 24px; bottom: 90px; display: flex; align-items: center; gap: 10px; writing-mode: vertical-rl; transform: rotate(180deg); font-size: .68rem; letter-spacing: .16em; font-weight: 800; }
.hero-rail i { width: 1px; height: 24px; background: rgba(255,255,255,.45); }

.section-pad { padding: 120px 0; }
.split-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 48px; align-items: end; margin-bottom: 64px; }
.section-heading h2 { font-size: clamp(3.8rem, 8vw, 7.2rem); }
.split-heading > p { margin: 0 0 10px; font-size: 1.15rem; max-width: 430px; }
.run-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.run-card { min-height: 430px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.18); }
.featured-card { background: var(--saffron); }
.run-card-top { display: flex; justify-content: space-between; text-transform: uppercase; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.card-kicker { color: var(--blue); font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.run-card h3 { margin: 12px 0 18px; font-size: 2.1rem; line-height: 1; text-transform: uppercase; letter-spacing: -.05em; }
.run-card p { max-width: 300px; }
.run-card > a { display: flex; justify-content: space-between; gap: 16px; padding-top: 18px; border-top: 1px solid currentColor; text-decoration: none; font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.visual-card { background: var(--blue); color: var(--white); }
.visual-card .big-number { margin: auto 0 0; font-size: clamp(6rem, 10vw, 9rem); line-height: .76; font-weight: 950; letter-spacing: -.1em; }
.visual-card .big-number span { color: var(--saffron); }

.relay-section { position: relative; overflow: hidden; color: var(--white); background: var(--ink); padding: 130px 0; }
.relay-section::before { content: ''; position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(255,255,255,.7) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.7) 1px, transparent 1px); background-size: 48px 48px; }
.relay-stamp { position: absolute; right: -4vw; bottom: -8vw; color: transparent; -webkit-text-stroke: 2px rgba(255,189,34,.16); font-size: 34vw; line-height: .7; font-weight: 950; letter-spacing: -.12em; }
.relay-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.relay-title h2 { font-size: clamp(5.2rem, 11vw, 10rem); }
.relay-title h2 span { color: var(--saffron); }
.relay-copy .lead { margin: 0 0 28px; color: var(--saffron); font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.08; font-weight: 800; letter-spacing: -.035em; }
.relay-copy > p:not(.lead) { max-width: 610px; color: rgba(255,255,255,.72); font-size: 1.05rem; }
.relay-stats { margin: 50px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.relay-stats div { padding: 20px 12px 20px 0; display: flex; flex-direction: column; }
.relay-stats strong { font-size: 2rem; line-height: 1; }
.relay-stats span { margin-top: 7px; color: rgba(255,255,255,.6); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.text-link { display: inline-flex; gap: 30px; text-decoration: none; padding-bottom: 5px; border-bottom: 1px solid currentColor; text-transform: uppercase; font-size: .76rem; font-weight: 900; letter-spacing: .08em; }
.text-link.light { color: var(--white); }

.signup-section { background: var(--saffron); }
.signup-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
.signup-intro { position: sticky; top: 40px; }
.signup-intro h2 { font-size: clamp(3.8rem, 7vw, 6.8rem); }
.signup-intro h2 span { color: var(--blue); }
.signup-intro > p:not(.eyebrow) { max-width: 460px; margin: 30px 0; font-size: 1.08rem; }
.form-frame { min-width: 0; min-height: 1320px; overflow: hidden; border: 2px solid var(--ink); background: var(--white); box-shadow: 16px 16px 0 var(--blue); }
.form-frame iframe { display: block; width: 100%; height: 1320px; border: 0; background: var(--white); }

.story-section { overflow: hidden; }
.story-layout { display: grid; grid-template-columns: .35fr 1.65fr; gap: 48px; }
.story-section h2 { font-size: clamp(4rem, 9vw, 8rem); }
.story-section h2 span { color: var(--blue); }
.story-columns { margin-top: 50px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; max-width: 820px; font-size: 1.1rem; }
.marquee { margin-top: 100px; padding: 18px 0 16px; display: flex; overflow: hidden; background: var(--saffron); transform: rotate(-1deg) scale(1.02); font-weight: 950; font-size: clamp(1.3rem, 3vw, 2.4rem); letter-spacing: -.02em; white-space: nowrap; }
.marquee div { animation: marquee 28s linear infinite; }
@keyframes marquee { to { transform: translateX(-100%); } }

.photo-story { position: relative; overflow: hidden; color: var(--white); background: #0b0d0b; }
.photo-story::before { content: ''; position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.55) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.55) 1px, transparent 1px); background-size: 56px 56px; }
.photo-story > * { position: relative; z-index: 1; }
.photo-story-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: end; margin-bottom: 58px; }
.photo-story-heading .eyebrow { color: var(--saffron); }
.photo-story h2 { font-size: clamp(4.5rem, 10vw, 9rem); }
.photo-story h2 span { color: var(--saffron); }
.photo-story-heading > p { max-width: 430px; margin: 0 0 8px; color: rgba(255,255,255,.72); font-size: 1.12rem; }
.photo-wall { display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 330px 480px; gap: 16px; }
.photo-tile { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--forest); }
.photo-tile::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(5,7,6,.8)); pointer-events: none; }
.photo-tile img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.04); transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.photo-tile:hover img { transform: scale(1.025); filter: saturate(1.05) contrast(1.04); }
.photo-tile figcaption { position: absolute; z-index: 2; inset: auto 18px 16px; display: flex; justify-content: space-between; gap: 18px; color: var(--white); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.photo-tile figcaption span { color: var(--saffron); }
.photo-gurdwara { grid-column: 1 / span 8; grid-row: 1; }
.photo-gurdwara img { object-position: center 39%; }
.photo-night { grid-column: 1 / span 4; grid-row: 2; }
.photo-night img { object-position: center 48%; }
.photo-supporters { grid-column: 9 / span 4; grid-row: 1; }
.photo-supporters img { object-position: center 42%; }
.photo-lakeside { grid-column: 5 / span 8; grid-row: 2; isolation: isolate; }
.photo-lakeside img { object-position: center 55%; }
.photo-lakeside::after { inset: 35% 0 0; background: linear-gradient(transparent, rgba(5,7,6,.88)); }
.photo-lakeside figcaption { inset: auto 26px 22px; flex-direction: column; align-items: flex-start; gap: 5px; }
.photo-lakeside figcaption strong { max-width: 640px; font-size: clamp(2.5rem, 6vw, 5.7rem); line-height: .78; letter-spacing: -.07em; }
.moon-orbit { position: absolute; z-index: 3; left: 40%; top: 24%; width: 68px; aspect-ratio: 1; border: 1px solid rgba(255,189,34,.95); border-radius: 50%; transform: translate(-50%, -50%); animation: moon-pulse 3.4s ease-out infinite; pointer-events: none; }
.moon-orbit::before, .moon-orbit::after { content: ''; position: absolute; inset: -13px; border: 1px solid rgba(255,189,34,.34); border-radius: inherit; }
.moon-orbit::after { inset: -29px; border-color: rgba(255,189,34,.14); }
.moon-orbit i { position: absolute; left: 50%; top: calc(100% + 29px); width: 1px; height: 58px; background: linear-gradient(var(--saffron), transparent); }
@keyframes moon-pulse { 0%, 100% { transform: translate(-50%, -50%) scale(.92); box-shadow: 0 0 0 0 rgba(255,189,34,.18); } 50% { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 35px 14px rgba(255,189,34,.11); } }

.shop-teaser { color: var(--white); background: var(--blue); padding: 110px 0; }
.shop-teaser-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.shop-teaser h2 { font-size: clamp(4.5rem, 9vw, 8rem); }
.shop-teaser p:not(.eyebrow) { max-width: 430px; margin: 24px 0 34px; color: rgba(255,255,255,.8); }
.tee-poster { position: relative; min-height: 560px; padding: 28px; overflow: hidden; color: var(--ink); background: var(--saffron); display: flex; flex-direction: column; justify-content: space-between; }
.tee-poster::after { content: ''; position: absolute; inset: -20%; background: repeating-radial-gradient(circle at center, transparent 0 20px, rgba(17,20,16,.09) 21px 22px); }
.poster-label { position: relative; z-index: 2; font-size: .72rem; font-weight: 900; letter-spacing: .15em; }
.tee-poster > strong { position: relative; z-index: 2; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: .84; letter-spacing: -.06em; }
.shirt-shape, .shirt-icon { position: relative; z-index: 2; margin: 20px auto; width: 230px; height: 270px; clip-path: polygon(22% 7%, 38% 0, 62% 0, 78% 7%, 100% 20%, 88% 39%, 77% 32%, 77% 100%, 23% 100%, 23% 32%, 12% 39%, 0 20%); background: var(--ink); color: var(--white); display: grid; place-items: center; text-align: center; font-weight: 950; font-size: 1.8rem; line-height: .9; }
.shirt-shape small, .shirt-icon small { font-size: .42em; letter-spacing: .08em; }

.site-footer { color: var(--white); background: #0b0d0b; padding: 64px 0 32px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 40px; }
.footer-grid > div:first-child { display: flex; align-items: flex-start; gap: 18px; }
.footer-brand-logo { width: 165px; height: auto; }
.footer-grid p { margin: 0; color: rgba(255,255,255,.65); }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 7px; }
.footer-grid a { color: rgba(255,255,255,.85); text-decoration: none; }
.footer-label { margin-bottom: 8px !important; color: var(--saffron) !important; text-transform: uppercase; font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.copyright { grid-column: 1 / -1; margin-top: 50px !important; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); font-size: .75rem; }

.shop-page { background: var(--paper); }
.shop-hero { padding: 100px 0 75px; border-bottom: 1px solid var(--line); }
.shop-hero h1 { font-size: clamp(5rem, 12vw, 10.5rem); }
.shop-intro { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-left: 35%; font-size: 1.05rem; }
.shop-intro p { margin: 0; max-width: 390px; }
.collection { padding: 90px 0 130px; }
.collection-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; text-transform: uppercase; }
.collection-bar h2 { margin: 0; font-size: .8rem; letter-spacing: .14em; }
.collection-bar span { font-size: .75rem; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-art { position: relative; min-height: 520px; display: grid; place-items: center; overflow: hidden; }
.product-art::before { content: ''; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(currentColor 1px, transparent 1px); background-size: 14px 14px; }
.art-attar { color: var(--ink); background: #d8cbb6; }
.art-fauja { color: var(--white); background: var(--blue); }
.art-350 { color: var(--white); background: var(--forest); }
.product-edition { position: absolute; left: 18px; top: 18px; z-index: 2; font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.product-art .shirt-icon { width: 205px; height: 245px; color: var(--white); background: var(--ink); font-size: 1.5rem; filter: drop-shadow(0 22px 20px rgba(0,0,0,.18)); }
.product-art .long-sleeve { clip-path: polygon(25% 7%, 38% 0, 62% 0, 75% 7%, 100% 20%, 92% 67%, 77% 64%, 77% 100%, 23% 100%, 23% 64%, 8% 67%, 0 20%); }
.art-350 .shirt-icon { color: var(--ink); background: var(--saffron); }
.product-info { padding: 18px 0; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.product-info h3 { margin: 0 0 4px; text-transform: uppercase; font-size: 1rem; line-height: 1.15; }
.product-info p { margin: 0; font-size: .78rem; color: rgba(17,20,16,.65); }
.coming-soon { align-self: flex-start; white-space: nowrap; padding: 7px 9px; color: var(--blue); border: 1px solid var(--blue); text-transform: uppercase; font-size: .62rem; font-weight: 900; letter-spacing: .06em; }
.shop-callout { padding: 120px 0; color: var(--white); background: var(--ink); }
.shop-callout-grid { display: grid; grid-template-columns: .35fr 1.65fr; gap: 48px; }
.shop-callout h2 { font-size: clamp(4.5rem, 9vw, 8rem); }
.shop-callout p:not(.eyebrow) { max-width: 470px; margin: 30px 0; color: rgba(255,255,255,.7); font-size: 1.1rem; }

.shop-coming { min-height: calc(100svh - 96px); padding: 80px 0; display: flex; align-items: center; overflow: hidden; }
.shop-coming-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.shop-coming h1 { font-size: clamp(5rem, 10vw, 9rem); }
.shop-coming h1 span { color: var(--blue); }
.shop-coming-copy { max-width: 580px; margin: 32px 0; font-size: 1.15rem; }
.coming-poster { position: relative; min-height: 570px; padding: 28px; overflow: hidden; color: var(--paper); background: var(--blue); display: flex; flex-direction: column; justify-content: space-between; }
.coming-poster::before { content: ''; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.7) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.7) 1px, transparent 1px); background-size: 36px 36px; }
.coming-poster > * { position: relative; z-index: 1; }
.coming-poster span, .coming-poster p { margin: 0; font-size: .74rem; font-weight: 900; letter-spacing: .15em; }
.coming-poster strong { align-self: center; margin: auto 0; color: var(--saffron); font-size: clamp(6rem, 13vw, 10rem); line-height: .8; letter-spacing: -.09em; transform: rotate(-5deg); }

@media (max-width: 900px) {
  :root { --shell: min(100% - 32px, 720px); }
  .site-header { min-height: 80px; padding: 15px 16px; }
  .menu-button { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
  .menu-icon, .menu-icon::before { width: 21px; height: 2px; display: block; background: currentColor; content: ''; transition: transform .2s ease; }
  .menu-icon::before { transform: translateY(6px); }
  .menu-button[aria-expanded='true'] .menu-icon { transform: rotate(45deg); }
  .menu-button[aria-expanded='true'] .menu-icon::before { transform: rotate(-90deg); }
  .site-nav { position: fixed; z-index: 30; inset: 80px 0 0; padding: 40px 24px; background: var(--ink); color: var(--white); display: none; flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.2); font-size: 1.2rem; }
  .light-header .site-nav { background: var(--paper); color: var(--ink); }
  .light-header .site-nav a { border-color: var(--line); }
  .nav-cta { border: 0; }
  .hero { min-height: 720px; }
  .hero-content { padding-bottom: 70px; }
  .hero h1 { font-size: clamp(4.4rem, 19vw, 7rem); }
  .hero-copy { max-width: calc(100% - 20px); }
  .hero-rail { display: none; }
  .section-pad { padding: 85px 0; }
  .split-heading, .relay-layout, .signup-layout, .story-layout, .photo-story-heading, .shop-teaser-grid, .shop-callout-grid, .shop-coming-grid { grid-template-columns: 1fr; gap: 45px; }
  .run-grid, .product-grid { grid-template-columns: 1fr; }
  .run-card { min-height: 360px; }
  .relay-section { padding: 90px 0; }
  .relay-stats { gap: 0; }
  .signup-intro { position: static; }
  .form-frame, .form-frame iframe { min-height: 1450px; height: 1450px; }
  .story-columns { grid-template-columns: 1fr; gap: 12px; }
  .photo-wall { grid-template-columns: repeat(2, 1fr); grid-template-rows: 280px 460px 300px; gap: 12px; }
  .photo-gurdwara { grid-column: 1 / -1; grid-row: 1; }
  .photo-night { grid-column: 1; grid-row: 2; }
  .photo-supporters { grid-column: 2; grid-row: 2; }
  .photo-lakeside { grid-column: 1 / -1; grid-row: 3; }
  .shop-teaser { padding: 90px 0; }
  .tee-poster { min-height: 500px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .shop-hero { padding: 75px 0 55px; }
  .shop-hero h1 { font-size: clamp(4.1rem, 18vw, 7rem); }
  .shop-intro { margin-left: 0; grid-template-columns: 1fr; }
  .collection { padding: 65px 0 90px; }
  .product-art { min-height: 460px; }
  .shop-coming { min-height: auto; padding: 75px 0 90px; }
  .coming-poster { min-height: 440px; }
}

@media (max-width: 520px) {
  .brand-logo { width: 124px; }
  .hero { height: auto; min-height: 760px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .relay-stats { grid-template-columns: 1fr; }
  .relay-stats div { border-bottom: 1px solid rgba(255,255,255,.15); }
  .relay-stats div:last-child { border-bottom: 0; }
  .photo-story-heading { margin-bottom: 38px; }
  .photo-wall { grid-template-columns: 1fr; grid-template-rows: 240px 500px 480px 270px; }
  .photo-gurdwara { grid-column: 1; grid-row: 1; }
  .photo-night { grid-column: 1; grid-row: 2; }
  .photo-supporters { grid-column: 1; grid-row: 3; }
  .photo-lakeside { grid-column: 1; grid-row: 4; }
  .photo-lakeside figcaption strong { font-size: clamp(2.5rem, 13vw, 4.6rem); }
  .moon-orbit { width: 50px; left: 40%; top: 21%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .form-frame { margin-right: 12px; box-shadow: 10px 10px 0 var(--blue); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee div { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
