/* ============================================================
   COSMIC PASTA GAMES — CONTACT PAGE
   🔧 THEME COLORS — change these to retheme the whole page.
   ============================================================ */
:root{--color-bg:#071a2b;--color-bg-deep:#04111d;--color-surface:#0a2238;--color-surface-2:#0d2d4a;--color-primary:#2196f3;--color-primary-dark:#0d47a1;--color-primary-light:#90caf9;--color-highlight:#e3f2fd;--color-text:#f4faff;--color-text-soft:#d6e8f7;--color-muted:#8fafc8;--color-line:rgba(144,202,249,.18);--color-line-strong:rgba(144,202,249,.34);--color-shadow:rgba(4,71,161,.34);--color-glow:rgba(33,150,243,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg-deep);color:var(--color-text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.page-shell{width:min(calc(100% - 56px),1240px);margin:auto}a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid rgba(144,202,249,.08);background:rgba(3,11,19,.72);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:9px}.brand-symbol{width:36px;height:36px;display:grid;place-items:center;overflow:hidden}.brand-symbol img{width:30px;height:30px;object-fit:contain}.brand-copy{display:grid;line-height:.9;font-family:"Iceland",sans-serif}.brand-copy strong{font-size:16px;font-weight:400;letter-spacing:.05em}.brand-copy small{margin-top:4px;color:var(--color-primary-light);font-size:7px;letter-spacing:.28em}.desktop-nav{display:flex;gap:26px}.nav-link{color:var(--color-muted)}.desktop-nav a{position:relative;color:var(--color-muted);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a.active{color:var(--color-highlight)}.desktop-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:1px;background:var(--color-primary)}.menu-toggle{display:none;width:38px;height:38px;padding:9px;border:1px solid var(--color-line);background:transparent}.menu-toggle span{display:block;height:1px;margin:5px 0;background:var(--color-highlight)}.mobile-menu{position:fixed;z-index:90;inset:72px 0 auto;display:none;padding:20px;background:rgba(3,11,19,.97);border-bottom:1px solid var(--color-line)}.mobile-menu.open{display:grid;gap:18px}.mobile-menu a{color:var(--color-text-soft);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.page-main{padding-top:72px}.page-hero{position:relative;overflow:hidden;padding:110px 0 80px;border-bottom:1px solid var(--color-line);background:radial-gradient(circle at 72% 35%,rgba(33,150,243,.15),transparent 30%),linear-gradient(120deg,rgba(13,71,161,.1),transparent 50%)}.page-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:430px;height:430px;border:1px solid rgba(144,202,249,.1);border-radius:50%;box-shadow:0 0 100px rgba(33,150,243,.08)}.eyebrow,.section-kicker{margin:0 0 18px;color:var(--color-primary-light);font-size:8px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.page-hero h1{margin:0;font-size:clamp(4rem,10vw,9rem);line-height:.82;letter-spacing:-.07em}.page-hero h1 span,.contact-strip h2 span{color:transparent;-webkit-text-stroke:1px rgba(227,242,253,.65)}.page-hero p:not(.eyebrow){max-width:570px;margin:30px 0 0;color:var(--color-muted);font-size:16px;line-height:1.7}
.page-section{padding:100px 0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-info h2{margin:0 0 25px;font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:.88;letter-spacing:-.06em}.contact-info>p:not(.section-kicker){max-width:480px;color:var(--color-muted);line-height:1.8;font-size:13px}.contact-method{padding:22px 0;border-bottom:1px solid var(--color-line)}.contact-method span{display:block;color:var(--color-muted);font-size:8px;font-weight:900;letter-spacing:.16em;margin-bottom:8px}.contact-method a{font-size:14px}.contact-method a:hover{color:var(--color-primary-light)}.contact-form{padding:36px;border:1px solid var(--color-line);background:var(--color-surface);box-shadow:0 25px 70px var(--color-shadow)}.form-intro{margin-bottom:25px;color:var(--color-muted);font-size:10px;line-height:1.7}.form-intro code{color:var(--color-primary-light)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px;margin-bottom:16px}.field label{color:var(--color-muted);font-size:8px;font-weight:900;letter-spacing:.15em}.field input,.field textarea{width:100%;border:1px solid var(--color-line);background:var(--color-bg-deep);color:var(--color-text);padding:14px;outline:none;font:inherit}.field input:focus,.field textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 2px rgba(33,150,243,.08)}.field textarea{min-height:190px;resize:vertical}.button-primary{padding:15px 18px;border:1px solid var(--color-primary);background:var(--color-primary);color:white;font-size:9px;font-weight:900;letter-spacing:.13em;cursor:pointer}.button-primary:hover{background:var(--color-primary-dark);box-shadow:0 12px 30px var(--color-glow)}.form-status{min-height:20px;margin-top:12px;color:var(--color-primary-light);font-size:10px}.contact-strip{padding:80px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface)}.contact-strip .page-shell{display:flex;justify-content:space-between;align-items:end;gap:40px}.contact-strip h2{margin:0;font-size:clamp(3rem,6vw,6rem);line-height:.86;letter-spacing:-.065em}.contact-strip a{padding:15px 18px;border:1px solid var(--color-primary);background:var(--color-primary);font-size:9px;font-weight:900;letter-spacing:.13em}.site-footer{border-top:1px solid var(--color-line)}.footer-top{display:flex;justify-content:space-between;gap:60px;padding:60px 0 45px}.footer-tagline{color:var(--color-muted);font-size:10px}.footer-links{display:flex;gap:70px}.footer-links>div{display:grid;gap:11px}.footer-label{margin-bottom:4px;color:var(--color-primary-light);font-size:8px;font-weight:900;letter-spacing:.15em}.footer-links a{color:var(--color-muted);font-size:10px}.footer-links a:hover{color:var(--color-highlight)}.footer-bottom{display:flex;justify-content:space-between;padding:20px 0 25px;border-top:1px solid var(--color-line);color:var(--color-muted);font-size:8px;font-weight:800;letter-spacing:.12em}
@media(max-width:900px){.desktop-nav{gap:13px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-strip .page-shell{align-items:start;flex-direction:column}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap}}@media(max-width:650px){.page-shell{width:calc(100% - 36px)}.desktop-nav{display:none}.menu-toggle{display:block}.page-main{padding-top:72px}.page-hero{padding:85px 0 60px}.contact-form{padding:25px 20px}.field-row{grid-template-columns:1fr}.footer-links{flex-direction:column;gap:28px}.footer-bottom{flex-direction:column;gap:12px}}


/* ============================================================
   🔧 GLOBAL NAVIGATION STANDARD — KEEP CONSISTENT ON ALL PAGES
   Change these values if you want to retheme the navigation.
   ============================================================ */
.site-header {
  height: 72px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.site-header .brand-symbol {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex: 0 0 36px;
}
.site-header .brand-symbol img {
  width: 30px;
  height: 30px;
  max-width: 30px;
  max-height: 30px;
  object-fit: contain;
  display: block;
}
.site-header .brand-copy {
  display: grid;
  line-height: .9;
  font-family: "Iceland", sans-serif;
}
.site-header .brand-copy strong {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .13em;
}
.site-header .brand-copy small {
  margin-top: 5px;
  font-size: 8px;
  letter-spacing: .35em;
}
.site-header .desktop-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
  margin-left: auto;
}
.site-header .desktop-nav .nav-link {
  position: relative;
  display: inline-block;
  padding: 8px 0;
  color: var(--color-muted, #7892a8);
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease;
}
.site-header .desktop-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -4px;
  height: 1px;
  background: var(--color-primary-light, #90caf9);
  transition: right .25s ease;
}
.site-header .desktop-nav .nav-link:hover,
.site-header .desktop-nav .nav-link.active {
  color: var(--color-highlight, #e3f2fd);
}
.site-header .desktop-nav .nav-link:hover::after,
.site-header .desktop-nav .nav-link.active::after {
  right: 0;
}
.site-header .menu-toggle {
  display: none;
  width: 38px;
  height: 38px;
  padding: 9px;
  border: 1px solid var(--color-line, rgba(144,202,249,.18));
  background: transparent;
  color: var(--color-text, #e3f2fd);
  cursor: pointer;
}
.site-header .menu-toggle span {
  display: block;
  width: 16px;
  height: 1px;
  margin: 5px auto;
  background: currentColor;
}
.mobile-menu {
  position: fixed;
  top: 72px;
  left: 16px;
  right: 16px;
  z-index: 90;
  display: none;
  padding: 14px;
  border: 1px solid var(--color-line, rgba(144,202,249,.18));
  background: rgba(4,17,29,.97);
  backdrop-filter: blur(20px);
}
.mobile-menu.open { display: grid; }
.mobile-menu a {
  padding: 15px 12px;
  border-bottom: 1px solid var(--color-line, rgba(144,202,249,.18));
  color: var(--color-text-soft, #b9cee0);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mobile-menu a:last-child { border-bottom: 0; }
@media (max-width: 900px) {
  .site-header .desktop-nav { display: none; }
  .site-header .menu-toggle { display: block; }
}
@media (min-width: 901px) {
  .mobile-menu { display: none !important; }
}


/* ============================================================
   🔧 GLOBAL NAVIGATION LOCK — IDENTICAL ON EVERY PAGE
   ============================================================ */
.site-header,
.site-header.scrolled {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  box-sizing: border-box !important;
  background: rgba(3,11,19,.78) !important;
  border-bottom: 1px solid rgba(144,202,249,.10) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
}
.site-header .brand-symbol {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 1px solid var(--color-primary, #2196f3) !important;
  background: rgba(33,150,243,.08) !important;
}
.site-header .brand-symbol img {
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  display: block !important;
}
.site-header .brand-copy,
.site-header .brand-copy strong,
.site-header .brand-copy small {
  font-family: "Iceland", sans-serif !important;
}
.site-header .brand-copy strong {
  color: var(--color-highlight, #e3f2fd) !important;
  font-size: 12px !important;
  line-height: .9 !important;
  font-weight: 400 !important;
  letter-spacing: .13em !important;
}
.site-header .brand-copy small {
  margin-top: 5px !important;
  color: var(--color-primary-light, #90caf9) !important;
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: .35em !important;
}
.site-header .desktop-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 26px !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
.site-header .desktop-nav .nav-link {
  position: relative !important;
  display: inline-block !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  color: var(--color-muted, #7892a8) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transition: color .22s ease !important;
}
.site-header .desktop-nav .nav-link::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 100% !important;
  bottom: -4px !important;
  width: auto !important;
  height: 1px !important;
  background: var(--color-primary-light, #90caf9) !important;
  transform: none !important;
  transform-origin: left !important;
  transition: right .22s ease !important;
}
.site-header .desktop-nav .nav-link:hover,
.site-header .desktop-nav .nav-link.active {
  color: var(--color-highlight, #e3f2fd) !important;
}
.site-header .desktop-nav .nav-link:hover::after,
.site-header .desktop-nav .nav-link.active::after {
  right: 0 !important;
}
.site-header .menu-toggle {
  display: none !important;
  width: 38px !important;
  height: 38px !important;
  padding: 9px !important;
  border: 1px solid var(--color-line, rgba(144,202,249,.18)) !important;
  background: rgba(10,34,56,.72) !important;
  color: var(--color-highlight, #e3f2fd) !important;
  cursor: pointer !important;
}
.site-header .menu-toggle span {
  display: block !important;
  width: 16px !important;
  height: 1px !important;
  margin: 5px auto !important;
  background: currentColor !important;
}

/* ============================================================
   🌊 MORE NOTICEABLE SCROLL ATMOSPHERE
   ============================================================ */
.scroll-light {
  position: fixed;
  z-index: -4;
  top: 12vh;
  left: 50%;
  width: min(58vw, 820px);
  height: min(58vw, 820px);
  border-radius: 50%;
  pointer-events: none;
  opacity: .34;
  filter: blur(70px);
  background: radial-gradient(circle, rgba(33,150,243,.24), rgba(144,202,249,.08) 34%, transparent 70%);
  transform: translate3d(-50%, calc(var(--scroll-y, 0px) * -.10), 0) scale(calc(1 + var(--scroll-progress, 0) * .14));
  will-change: transform;
  transition: opacity .3s ease;
}
body.scroll-active .scroll-light { opacity: .52; }

@media (max-width: 900px) {
  .site-header,
  .site-header.scrolled { padding: 0 18px !important; }
  .site-header .desktop-nav { display: none !important; }
  .site-header .menu-toggle { display: block !important; }
}
@media (min-width: 901px) {
  .mobile-menu { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-light { transform: translate3d(-50%,0,0) !important; transition: none !important; }
}

/* ============================================================
   MOBILE NAVIGATION — FINAL SHARED FIX
   ============================================================ */
.site-header .menu-toggle {
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 6px !important;
  color: var(--color-highlight, #E3F2FD) !important;
}
.site-header .menu-toggle span {
  display: block !important;
  width: 18px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  flex: 0 0 1px !important;
  background: var(--color-highlight, #E3F2FD) !important;
  opacity: 1 !important;
}
.mobile-menu {
  pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease;
}
.mobile-menu.open {
  display: grid !important;
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 900px) {
  .site-header .desktop-nav { display: none !important; }
  .site-header .menu-toggle { display: flex !important; }
}
@media (min-width: 901px) {
  .site-header .menu-toggle { display: none !important; }
  .mobile-menu { display: none !important; }
}
