:root {
  --black: #050505;
  --black-2: #0a0908;
  --graphite: #12100d;
  --gold: #f4bd4e;
  --gold-2: #ffd977;
  --gold-deep: #9a6519;
  --ice: #f4f5f7;
  --steel: #9ea5b1;
  --cyan: #00a8ff;
  --cyan-2: #27d2ff;
  --line: rgba(244, 189, 78, .34);
  --glass: rgba(8, 8, 8, .76);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  min-width: 320px;
  background: var(--black);
  color: var(--ice);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
button, input, textarea { font: inherit; }
a { color: inherit; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  z-index: 999;
  padding: .7rem 1rem;
  background: #fff;
  color: #000;
  border-radius: .5rem;
  transition: top .2s ease;
}
.skip-link:focus { top: 1rem; }

.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.hero {
  position: relative;
  min-height: 100svh;
  background: #050505;
  isolation: isolate;
  overflow: hidden;
}
.hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  user-select: none;
  -webkit-user-drag: none;
}
.hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,.20) 76%, rgba(0,0,0,.56) 100%),
    radial-gradient(circle at center 45%, transparent 0%, transparent 45%, rgba(0,0,0,.12) 100%);
}
.hero__fx {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: screen;
}
.logo-glow {
  position: absolute;
  left: 50%;
  top: 9.5%;
  width: 4.6rem;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,211,110,.38) 0%, rgba(255,167,27,.16) 27%, rgba(255,150,0,0) 70%);
  filter: blur(2px);
  z-index: 3;
  pointer-events: none;
  animation: pulseLogo 3s ease-in-out infinite;
}
@keyframes pulseLogo {
  0%,100% { opacity:.45; transform:translate(-50%,-50%) scale(.85); }
  50% { opacity:1; transform:translate(-50%,-50%) scale(1.28); }
}

.mobile-hero-content { display:none; }

.desktop-actions {
  position: absolute;
  inset: 0 0 auto 0;
  height: 0;
  z-index: 5;
  pointer-events: none;
}
.quick-link {
  pointer-events: auto;
  position: absolute;
  top: 30px;
  display: inline-flex;
  align-items: center;
  gap: .66rem;
  min-height: 48px;
  padding: .55rem .9rem;
  border-radius: 15px;
  text-decoration: none;
  font-weight: 650;
  letter-spacing: .02em;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.quick-link:hover { transform: translateY(-2px); }
.quick-link--mail {
  left: clamp(18px, 3vw, 52px);
  color: #f5d376;
  background: rgba(10,9,7,.62);
  border: 1px solid rgba(244,189,78,.76);
  box-shadow: inset 0 0 18px rgba(244,189,78,.06), 0 0 18px rgba(244,189,78,.12);
}
.quick-link--mail:hover { box-shadow: inset 0 0 24px rgba(244,189,78,.10), 0 0 28px rgba(244,189,78,.25); }
.mail-icon {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  color: #f4bd4e;
}
.mail-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.quick-link--nexora {
  right: clamp(18px, 3vw, 52px);
  color: #f6fbff;
  background: rgba(4,11,20,.72);
  border: 1px solid rgba(24,189,255,.8);
  box-shadow: inset 0 0 19px rgba(0,168,255,.10), 0 0 20px rgba(0,168,255,.22);
  overflow: hidden;
  min-width: 154px;
  justify-content: center;
}
.quick-link--nexora:hover { box-shadow: inset 0 0 25px rgba(0,168,255,.18), 0 0 34px rgba(0,168,255,.38); border-color:#63dcff; }
.nexora-icon {
  position: relative;
  z-index: 2;
  width: 31px;
  height: 31px;
  object-fit: cover;
  border-radius: 5px;
  filter: drop-shadow(0 0 8px rgba(0,168,255,.55));
}
.quick-link--nexora > span:not(.nexora-rays) { position:relative; z-index:2; letter-spacing:.10em; font-size:.9rem; }
.chevron { position:relative; z-index:2; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nexora-rays {
  position:absolute;
  inset:-18px -28px;
  overflow:hidden;
  pointer-events:none;
  opacity:.85;
}
.nexora-rays i {
  position:absolute;
  left:-48%;
  width:88%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(40,211,255,.2), #21c9ff, rgba(40,211,255,.3), transparent);
  box-shadow:0 0 8px rgba(0,168,255,.75);
  transform:rotate(-9deg);
  animation:nexoraRay 2.5s linear infinite;
}
.nexora-rays i:nth-child(1){top:27%;animation-delay:0s}
.nexora-rays i:nth-child(2){top:41%;animation-delay:-.65s}
.nexora-rays i:nth-child(3){top:55%;animation-delay:-1.25s}
.nexora-rays i:nth-child(4){top:69%;animation-delay:-1.85s}
@keyframes nexoraRay {
  0%{transform:translateX(-15%) rotate(-9deg); opacity:0}
  18%{opacity:1}
  82%{opacity:.9}
  100%{transform:translateX(190%) rotate(-9deg); opacity:0}
}

.mobile-nav { display:none; }
.scroll-cue {
  position:absolute;
  z-index:5;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.1rem;
  color:rgba(255,239,202,.78);
  text-decoration:none;
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.72;
  transition:opacity .2s ease;
}
.scroll-cue:hover { opacity:1; }
.scroll-cue svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; animation:cue 1.5s ease-in-out infinite; }
@keyframes cue { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }

.values {
  position:relative;
  padding: 76px 0 56px;
  background:
    radial-gradient(circle at 50% -20%, rgba(244,189,78,.12), transparent 42%),
    linear-gradient(180deg, #070604 0%, #050505 70%);
  border-top:1px solid rgba(244,189,78,.14);
}
.values::before,
.contact-section::before {
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(520px,70vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  box-shadow:0 0 12px rgba(244,189,78,.5);
}
.values__grid {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.value-card {
  min-height: 210px;
  padding: 18px 30px 20px;
  text-align:center;
  position:relative;
}
.value-card + .value-card::before {
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(244,189,78,.36), transparent);
}
.value-icon {
  width:48px;
  height:48px;
  display:inline-grid;
  place-items:center;
  color:var(--gold-2);
  filter:drop-shadow(0 0 10px rgba(244,189,78,.2));
}
.value-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.value-card h2 { margin:10px 0 8px; color:var(--gold-2); font-size:.88rem; text-transform:uppercase; letter-spacing:.16em; }
.value-card p { margin:0 auto; max-width:250px; color:#d1d4da; font-size:.88rem; line-height:1.65; }
.values__tagline { margin:22px 0 0; text-align:center; color:#d9dce1; letter-spacing:.27em; font-size:.78rem; }

.contact-section {
  position:relative;
  padding: 70px 0 78px;
  background:
    radial-gradient(circle at 10% 50%, rgba(244,189,78,.10), transparent 31%),
    radial-gradient(circle at 90% 20%, rgba(0,168,255,.035), transparent 26%),
    #050505;
}
.contact-card {
  position:relative;
  display:grid;
  grid-template-columns: .85fr 1.45fr;
  gap: clamp(34px, 5vw, 80px);
  align-items:center;
  padding: clamp(30px, 4vw, 52px);
  border:1px solid rgba(244,189,78,.72);
  border-radius:26px;
  background:linear-gradient(135deg, rgba(20,15,8,.88), rgba(5,5,5,.92));
  box-shadow: inset 0 0 42px rgba(244,189,78,.035), 0 0 34px rgba(244,189,78,.10);
  overflow:hidden;
}
.contact-card::after {
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(circle at 0 0, rgba(244,189,78,.4), transparent 18%),
    radial-gradient(circle at 100% 100%, rgba(244,189,78,.22), transparent 15%);
  mix-blend-mode:screen;
}
.contact-copy, .contact-form { position:relative; z-index:1; }
.eyebrow { color:#cfad64; font-size:.7rem; letter-spacing:.22em; }
.contact-copy h2 {
  margin:.65rem 0 .5rem;
  color:var(--gold-2);
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(2rem,3vw,3.2rem);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.contact-lead { margin:.3rem 0 1rem; color:#eee1c3; font-size:1.02rem; letter-spacing:.025em; }
.contact-copy p { color:#c9cbd1; line-height:1.7; }
.contact-email { display:inline-block; margin-top:.8rem; color:var(--gold-2); text-decoration:none; border-bottom:1px solid rgba(244,189,78,.35); padding-bottom:.2rem; }

.contact-form {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.contact-form label { display:grid; gap:7px; color:#d9dbe0; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input,
.contact-form textarea {
  width:100%;
  color:#fff;
  background:rgba(3,3,3,.68);
  border:1px solid rgba(255,255,255,.24);
  border-radius:11px;
  outline:none;
  padding:14px 15px;
  transition:border-color .2s ease, box-shadow .2s ease;
  text-transform:none;
  letter-spacing:normal;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder { color:#888e98; }
.contact-form input:focus,
.contact-form textarea:focus { border-color:rgba(244,189,78,.75); box-shadow:0 0 0 3px rgba(244,189,78,.08); }
.field-message { grid-column:1 / -1; }
.contact-form textarea { resize:vertical; min-height:104px; }
.send-button {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  min-height:52px;
  border:1px solid #ffd978;
  border-radius:11px;
  cursor:pointer;
  color:#100c05;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
  background:linear-gradient(100deg,#a96b17 0%,#f0b33d 36%,#ffe18a 64%,#c38421 100%);
  box-shadow:inset 0 0 15px rgba(255,255,255,.22), 0 0 16px rgba(244,189,78,.12);
  transition:transform .18s ease, filter .18s ease;
}
.send-button:hover { transform:translateY(-1px); filter:brightness(1.08); }
.send-button:disabled { cursor:wait; opacity:.7; transform:none; }
.send-button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.form-note, .form-status { grid-column:1 / -1; margin:0; text-align:center; font-size:.79rem; color:#b8bac0; }
.form-note strong { color:var(--gold-2); font-weight:600; }
.form-status { min-height:1.2em; color:#f3d37d; }

.site-footer {
  padding:36px 0 22px;
  background:linear-gradient(180deg,#050505,#020202);
  border-top:1px solid rgba(244,189,78,.14);
}
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; color:#aeb1b8; font-size:.75rem; letter-spacing:.06em; }
.footer-brand { display:flex; align-items:center; gap:10px; color:var(--gold-2); }
.footer-mark { font-size:1.8rem; text-shadow:0 0 10px rgba(244,189,78,.5); }
.footer-brand div { display:flex; flex-direction:column; }
.footer-brand strong { font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; letter-spacing:.05em; }
.footer-brand span:not(.footer-mark) { font-size:.62rem; color:#d3d5da; letter-spacing:.28em; }
.footer-copy { white-space:nowrap; }
.footer-tagline { margin:22px 0 0; text-align:center; color:#aa792a; font-size:.62rem; letter-spacing:.28em; }

@media (max-width: 900px) {
  .desktop-actions { display:none; }
  .mobile-nav { display:block; position:absolute; z-index:8; right:18px; top:18px; }
  .menu-toggle {
    width:50px;
    height:50px;
    display:grid;
    align-content:center;
    gap:5px;
    padding:0 12px;
    background:rgba(5,5,5,.58);
    border:1px solid rgba(244,189,78,.36);
    border-radius:13px;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    cursor:pointer;
  }
  .menu-toggle span { display:block; height:2px; border-radius:999px; background:#f6d676; box-shadow:0 0 8px rgba(244,189,78,.28); transition:transform .2s ease, opacity .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu {
    position:absolute;
    right:0;
    top:60px;
    width:min(310px, calc(100vw - 36px));
    padding:10px;
    background:rgba(5,6,8,.94);
    border:1px solid rgba(244,189,78,.30);
    border-radius:17px;
    box-shadow:0 16px 46px rgba(0,0,0,.55), inset 0 0 24px rgba(244,189,78,.03);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transform-origin:top right;
  }
  .mobile-menu[hidden] { display:none; }
  .mobile-menu.is-opening { animation:menuOpen .18s ease both; }
  @keyframes menuOpen { from{opacity:0; transform:translateY(-8px) scale(.98)} to{opacity:1; transform:none} }
  .mobile-menu a {
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    padding:10px 12px;
    text-decoration:none;
    border-radius:12px;
    color:#f2f3f5;
    overflow:hidden;
  }
  .mobile-menu a + a { margin-top:7px; }
  .mobile-menu a:first-child { border:1px solid rgba(244,189,78,.35); background:rgba(244,189,78,.04); color:#f4d47b; }
  .mobile-menu__nexora { border:1px solid rgba(0,168,255,.43); background:rgba(0,168,255,.055); }
  .mobile-menu__nexora > span:not(.nexora-rays) { position:relative; z-index:2; }
  .mobile-menu__nexora .nexora-icon { width:38px; height:38px; }

  .hero { min-height:100svh; }
  .hero__bg {
    object-position:50% 72%;
    transform:scale(1.01);
  }
  .hero__shade {
    background:
      linear-gradient(180deg,
        #050505 0%,
        #050505 38%,
        rgba(5,5,5,.995) 49%,
        rgba(5,5,5,.90) 56%,
        rgba(5,5,5,.40) 66%,
        rgba(0,0,0,.18) 78%,
        rgba(0,0,0,.50) 100%);
  }
  .logo-glow { display:none; }
  .mobile-hero-content {
    position:relative;
    z-index:4;
    min-height:100svh;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    pointer-events:none;
    padding:
      max(74px, calc(env(safe-area-inset-top) + 56px))
      18px
      max(88px, calc(env(safe-area-inset-bottom) + 70px));
  }
  .mobile-brand {
    display:block;
    width:min(88vw, 430px);
    height:auto;
    margin-top:clamp(0px, 1.5vh, 14px);
    filter:drop-shadow(0 0 14px rgba(244,189,78,.08));
  }
  .mobile-title-block {
    width:min(92vw, 540px);
    margin-top:clamp(16px, 2.8vh, 30px);
  }
  .mobile-title-block h1 {
    margin:0;
    color:#f3cf78;
    font-size:clamp(1.35rem, 5.6vw, 2rem);
    line-height:1.2;
    font-weight:500;
    letter-spacing:.105em;
    white-space:nowrap;
    text-shadow:0 0 18px rgba(244,189,78,.10);
  }
  .mobile-title-block h1::before,
  .mobile-title-block h1::after {
    content:"";
    display:inline-block;
    width:clamp(18px, 7vw, 52px);
    height:1px;
    margin:0 clamp(8px, 2.4vw, 16px) .22em;
    vertical-align:middle;
    background:linear-gradient(90deg, transparent, rgba(244,189,78,.85));
  }
  .mobile-title-block h1::after {
    background:linear-gradient(90deg, rgba(244,189,78,.85), transparent);
  }
  .scroll-cue { bottom:max(14px, calc(env(safe-area-inset-bottom) + 8px)); }

  .values { padding:56px 0 36px; }
  .values__grid { grid-template-columns:1fr 1fr; }
  .value-card { min-height:200px; padding:20px 18px; }
  .value-card:nth-child(3)::before { display:none; }
  .values__tagline { padding-inline:24px; line-height:1.8; }

  .contact-section { padding:54px 0 56px; }
  .contact-card { grid-template-columns:1fr; gap:26px; padding:28px; }
  .contact-copy { text-align:center; }
  .contact-form { grid-template-columns:1fr; }
  .field-message, .send-button, .form-note, .form-status { grid-column:1; }

  .footer-inner { flex-direction:column; text-align:center; }
}

@media (max-width: 560px) {
  .section-shell { width:min(100% - 28px, 1180px); }
  .hero__bg { object-position:50% 74%; transform:scale(1.015); }
  .hero__shade {
    background:linear-gradient(180deg,
      #050505 0%,
      #050505 41%,
      rgba(5,5,5,.995) 50%,
      rgba(5,5,5,.90) 57%,
      rgba(5,5,5,.36) 68%,
      rgba(0,0,0,.16) 80%,
      rgba(0,0,0,.54) 100%);
  }
  .mobile-hero-content {
    padding-top:max(66px, calc(env(safe-area-inset-top) + 48px));
    padding-left:12px;
    padding-right:12px;
  }
  .mobile-brand { width:min(94vw, 390px); }
  .mobile-title-block { width:96vw; margin-top:clamp(12px, 2vh, 22px); }
  .mobile-title-block h1 {
    font-size:clamp(1.12rem, 5.45vw, 1.52rem);
    letter-spacing:.075em;
  }
  .mobile-title-block h1::before,
  .mobile-title-block h1::after {
    width:clamp(10px, 4.5vw, 24px);
    margin-inline:clamp(4px, 1.4vw, 8px);
  }
  .scroll-cue span { display:none; }

  .values__grid { grid-template-columns:1fr 1fr; }
  .value-card { min-height:180px; padding:16px 10px; }
  .value-card + .value-card::before { top:20px; bottom:20px; }
  .value-card:nth-child(3)::before { display:none; }
  .value-icon { width:40px; height:40px; }
  .value-card h2 { font-size:.76rem; letter-spacing:.10em; }
  .value-card p { font-size:.78rem; line-height:1.5; }
  .values__tagline { font-size:.66rem; letter-spacing:.18em; }

  .contact-card { border-radius:20px; padding:24px 18px; }
  .eyebrow { font-size:.58rem; }
  .contact-copy h2 { font-size:2rem; }
  .contact-lead { font-size:.95rem; }
  .contact-copy p { font-size:.9rem; }
  .contact-form input, .contact-form textarea { padding:13px 14px; }
  .send-button { min-height:50px; }
  .site-footer { padding-top:30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
  .hero__fx { display:none; }
  .nexora-rays { display:none; }
}
