.button{align-items:center;border:1px solid transparent;display:inline-flex;font-size:.82rem;font-weight:750;gap:10px;justify-content:center;letter-spacing:.04em;min-height:48px;padding:0 21px;text-transform:uppercase;transition:transform var(--ease),background var(--ease),border-color var(--ease)}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--cyan);color:var(--navy)}.button-primary:hover{background:#30d4ef}.button-quiet{border-color:rgba(255,255,255,.42);color:var(--white)}.button-quiet:hover{border-color:var(--cyan);color:var(--cyan)}.button-small{min-height:40px;padding:0 15px}.site-header{height:80px;left:0;position:fixed;right:0;top:0;transition:background var(--ease),box-shadow var(--ease),height var(--ease);z-index:100}.site-header.scrolled{background:rgba(7,29,53,.97);box-shadow:0 1px 0 rgba(255,255,255,.1);height:70px}.nav-wrap{align-items:center;display:flex;height:100%;justify-content:space-between}.brand{display:block;width:148px}.brand img{height:auto;width:100%}.primary-nav{align-items:center;display:flex;gap:28px}.primary-nav>a:not(.button){color:rgba(255,255,255,.76);font-size:.76rem;font-weight:700;letter-spacing:.04em;position:relative;text-transform:uppercase}.primary-nav>a:not(.button)::after{background:var(--cyan);bottom:-8px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform var(--ease);width:100%}.primary-nav>a.active,.primary-nav>a:not(.button):hover{color:var(--white)}.primary-nav>a.active::after{transform:scaleX(1)}.menu-toggle{background:transparent;cursor:pointer;display:none;padding:10px}.menu-toggle span{background:var(--white);display:block;height:2px;margin:5px 0;transition:transform var(--ease),opacity var(--ease);width:25px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.field{display:flex;flex-direction:column;gap:6px}.field label{color:rgba(255,255,255,.88);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.field em{color:rgba(255,255,255,.5);font-style:normal;font-weight:500;text-transform:none}.field input,.field textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:0;color:var(--white);padding:12px;resize:vertical;transition:border-color var(--ease),background var(--ease)}.field input:focus,.field textarea:focus{background:rgba(255,255,255,.09);border-color:var(--cyan);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#fb7185}.field-error{color:#fda4af;min-height:18px}.form-success{color:#a7f3d0;font-weight:600;margin-top:15px}
.site-header .brand{background:transparent;border:0;box-shadow:none;padding:0;width:160px}.site-header .brand::before,.site-header .brand::after{content:none}.site-header .brand img{height:auto;object-fit:contain;width:100%}

/* Refinement layer: the brand remains unframed on the dark header. */
.site-header .brand {
  display: flex;
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  width: 164px;
}

.site-header .brand img {
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.nav-cta {
  background: transparent;
  border-color: rgba(0, 198, 232, .88);
  color: var(--white);
}

.nav-cta:hover,
.nav-cta:focus-visible {
  background: rgba(0, 198, 232, .14);
  border-color: var(--cyan);
  color: var(--white);
}

.button span {
  display: inline-block;
  transition: transform var(--ease);
}

.button:hover span { transform: translateX(3px); }

.form-error { color: #ff9b9b; font-weight: 600; margin-top: 15px; }
.contact-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }

.contact-form button[aria-busy="true"] { color: transparent; cursor: wait; pointer-events: none; position: relative; }
.contact-form button[aria-busy="true"]::after { color: var(--navy); content: "Sending"; left: calc(50% + 12px); position: absolute; transform: translateX(-50%); }
.contact-form button[aria-busy="true"]::before { border: 1.5px solid rgba(7, 29, 53, .3); border-radius: 50%; border-top-color: var(--navy); content: ""; height: 12px; left: calc(50% - 42px); position: absolute; top: calc(50% - 6px); width: 12px; animation: contact-spinner 700ms linear infinite; }

@keyframes contact-spinner { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .contact-form button[aria-busy="true"]::before { animation: none; }
}
