/* One Off Design Lab — premium static PHP site */

:root {
  --black: #000;
  --ink: #02040a;
  --ink-2: #06080c;
  --white: #fff;
  --muted: rgba(255, 255, 255, 0.62);
  --soft: rgba(255, 255, 255, 0.08);
  --line: rgba(125, 211, 252, 0.14);
  --blue: #38bdf8;
  --blue-2: #60a5fa;
  --blue-3: #2563eb;
  --sky-soft: rgba(56, 189, 248, 0.14);
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-3xl: 2.25rem;
  --container: 1280px;
  --font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: #000;
}

body {
  margin: 0;
  min-width: 320px;
  background: #000;
  color: #fff;
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

.container {
  width: min(calc(100% - 2rem), var(--container));
  margin-inline: auto;
}

.site {
  min-height: 100vh;
  overflow: hidden;
  background: #000;
}

.hero {
  position: relative;
  min-height: 100vh;
  padding: 1rem;
}

.hero__bg,
.hero__ring,
.hero__fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero__bg--radial {
  background:
    radial-gradient(circle at 50% -8%, rgba(56, 189, 248, 0.22), transparent 30%),
    radial-gradient(circle at 12% 32%, rgba(37, 99, 235, 0.14), transparent 30%),
    radial-gradient(circle at 88% 55%, rgba(255, 255, 255, 0.09), transparent 30%),
    linear-gradient(180deg, #06080c 0%, #000 58%, #070910 100%);
}

.hero__bg--grid {
  opacity: 0.08;
  background-image:
    linear-gradient(rgba(56, 189, 248, 0.7) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56, 189, 248, 0.7) 1px, transparent 1px);
  background-size: 64px 64px;
}

.hero__bg--sheen {
  background: linear-gradient(110deg, transparent 0%, transparent 41%, rgba(56, 189, 248, 0.08) 48%, transparent 55%, transparent 100%);
}

.hero__ring {
  top: -14rem;
  left: 50%;
  width: 35rem;
  height: 35rem;
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 999px;
  transform: translateX(-50%);
  box-shadow: 0 0 100px rgba(56, 189, 248, 0.1);
}

.hero__fade {
  top: auto;
  height: 12rem;
  background: linear-gradient(to top, #000, transparent);
}

.hero__shell {
  position: relative;
  min-height: calc(100vh - 2rem);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.14);
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, 0.028);
  box-shadow:
    0 30px 140px rgba(0, 0, 0, 0.95),
    0 0 80px rgba(56, 189, 248, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(7px);
}

.hero__topline,
.logo-panel__topline,
.footer__topline,
.legal-card__topline {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.75), transparent);
}

.hero__accent-line {
  position: absolute;
  display: none;
  width: 1px;
  height: 10rem;
}

.hero__accent-line--left {
  left: 2rem;
  top: 5rem;
  background: linear-gradient(to bottom, rgba(125, 211, 252, 0.45), transparent);
}

.hero__accent-line--right {
  right: 2rem;
  bottom: 5rem;
  background: linear-gradient(to top, rgba(125, 211, 252, 0.35), transparent);
}

.nav {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.nav__logo {
  width: 150px;
  height: auto;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.nav__logo img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.24));
}

.nav__links {
  display: none;
  align-items: center;
  gap: 2rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.875rem;
}

.nav__links a,
.nav__links button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  transition: color 0.2s ease;
}

.nav__links a:hover,
.nav__links button:hover {
  color: rgb(186, 230, 253);
}

.nav__mobile-call {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.05);
  color: rgb(224, 242, 254);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 18px rgba(56, 189, 248, 0.1);
}

.hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  flex: 1;
  align-items: center;
  gap: 2.5rem;
  padding: 1.5rem 1rem 2.5rem;
}

.hero__copy {
  max-width: 48rem;
}

.eyebrow {
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(125, 211, 252, 0.2);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.06);
  padding: 0.55rem 1rem;
  color: rgb(224, 242, 254);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 0 24px rgba(56, 189, 248, 0.1);
}

.eyebrow span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero h1 {
  margin: 1.5rem 0 0;
  max-width: 48rem;
  color: #fff;
  font-size: clamp(2.45rem, 11vw, 6.8rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
  font-weight: 650;
}

.hero h1 span {
  background: linear-gradient(90deg, #bae6fd, #38bdf8, #2563eb);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.28));
}

.hero__lead {
  max-width: 42rem;
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 1rem;
  line-height: 1.75;
}

.hero__lead span {
  color: rgb(186, 230, 253);
}

.hero__actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border-radius: 0.8rem;
  padding: 0.95rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.button:hover {
  transform: translateY(-1px) scale(1.01);
}

.button--silver {
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: linear-gradient(180deg, #fff 0%, #f4f4f5 45%, #a1a1aa 100%);
  color: #000;
  box-shadow:
    0 0 38px rgba(56, 189, 248, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.button--blueghost {
  border: 1px solid rgba(125, 211, 252, 0.2);
  background: rgba(56, 189, 248, 0.055);
  color: rgb(224, 242, 254);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 22px rgba(56, 189, 248, 0.08);
}

.button--blueghost:hover {
  border-color: rgba(125, 211, 252, 0.4);
  background: rgba(56, 189, 248, 0.09);
  color: #fff;
}

.icon {
  width: 1.1rem;
  height: 1.1rem;
  display: inline-block;
  flex-shrink: 0;
  background: currentColor;
  vertical-align: -0.18em;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.icon--button {
  color: #1d4ed8;
}

.icon--phone {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2A19.79 19.79 0 0 1 11.19 19 19.5 19.5 0 0 1 5 12.81 19.79 19.79 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.91.33 1.8.62 2.65a2 2 0 0 1-.45 2.11L8 9.7a16 16 0 0 0 6.3 6.3l1.22-1.22a2 2 0 0 1 2.11-.45c.85.29 1.74.5 2.65.62A2 2 0 0 1 22 16.92Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2A19.79 19.79 0 0 1 11.19 19 19.5 19.5 0 0 1 5 12.81 19.79 19.79 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.91.33 1.8.62 2.65a2 2 0 0 1-.45 2.11L8 9.7a16 16 0 0 0 6.3 6.3l1.22-1.22a2 2 0 0 1 2.11-.45c.85.29 1.74.5 2.65.62A2 2 0 0 1 22 16.92Z' fill='black'/%3E%3C/svg%3E");
}

.icon--arrow {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14m-7-7 7 7-7 7' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14m-7-7 7 7-7 7' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.icon--spark {
  color: #38bdf8;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 1.55 6.05L20 10l-6.45 1.95L12 18l-1.55-6.05L4 10l6.45-1.95L12 2Zm6 13 .85 3.15L22 19l-3.15.85L18 23l-.85-3.15L14 19l3.15-.85L18 15ZM5 14l.85 3.15L9 18l-3.15.85L5 22l-.85-3.15L1 18l3.15-.85L5 14Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 1.55 6.05L20 10l-6.45 1.95L12 18l-1.55-6.05L4 10l6.45-1.95L12 2Zm6 13 .85 3.15L22 19l-3.15.85L18 23l-.85-3.15L14 19l3.15-.85L18 15ZM5 14l.85 3.15L9 18l-3.15.85L5 22l-.85-3.15L1 18l3.15-.85L5 14Z'/%3E%3C/svg%3E");
}

.icon--bolt {
  color: #38bdf8;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2 3 14h8l-1 8 11-14h-8l0-6Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2 3 14h8l-1 8 11-14h-8l0-6Z'/%3E%3C/svg%3E");
}

.icon--scan,
.icon--shirt,
.icon--layers,
.icon--hammer,
.icon--check,
.icon--palette,
.icon--ruler,
.icon--shield,
.icon--back {
  color: #7dd3fc;
}

.icon--scan {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7V4a1 1 0 0 1 1-1h3v2H5v2H3Zm14-4h3a1 1 0 0 1 1 1v3h-2V5h-2V3ZM5 17v2h2v2H4a1 1 0 0 1-1-1v-3h2Zm14 2v-2h2v3a1 1 0 0 1-1 1h-3v-2h2ZM7 8h10v2H7V8Zm0 3h10v2H7v-2Zm0 3h7v2H7v-2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7V4a1 1 0 0 1 1-1h3v2H5v2H3Zm14-4h3a1 1 0 0 1 1 1v3h-2V5h-2V3ZM5 17v2h2v2H4a1 1 0 0 1-1-1v-3h2Zm14 2v-2h2v3a1 1 0 0 1-1 1h-3v-2h2ZM7 8h10v2H7V8Zm0 3h10v2H7v-2Zm0 3h7v2H7v-2Z'/%3E%3C/svg%3E");
}

.icon--shirt {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3h8l5 4-3 4-2-1v11H8V10l-2 1-3-4 5-4Zm2 2a2 2 0 0 0 4 0h-4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3h8l5 4-3 4-2-1v11H8V10l-2 1-3-4 5-4Zm2 2a2 2 0 0 0 4 0h-4Z'/%3E%3C/svg%3E");
}

.icon--layers {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 10 5-10 5L2 7l10-5Zm8 9-8 4-8-4-2 1 10 5 10-5-2-1Zm0 5-8 4-8-4-2 1 10 5 10-5-2-1Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 10 5-10 5L2 7l10-5Zm8 9-8 4-8-4-2 1 10 5 10-5-2-1Zm0 5-8 4-8-4-2 1 10 5 10-5-2-1Z'/%3E%3C/svg%3E");
}

.icon--hammer {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 4.3 12 7l5 5 2.7-2.7a3.54 3.54 0 0 0-5-5ZM10.6 8.4 2 17v5h5l8.6-8.6-5-5Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 4.3 12 7l5 5 2.7-2.7a3.54 3.54 0 0 0-5-5ZM10.6 8.4 2 17v5h5l8.6-8.6-5-5Z'/%3E%3C/svg%3E");
}

.icon--check {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m20 6-11 11-5-5' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m20 6-11 11-5-5' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.icon--palette {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 0 0 0 18h1.5a2 2 0 0 0 0-4H13a1.5 1.5 0 0 1 0-3h1a7 7 0 0 0-2-11ZM7 12a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3-4a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 0 0 0 18h1.5a2 2 0 0 0 0-4H13a1.5 1.5 0 0 1 0-3h1a7 7 0 0 0-2-11ZM7 12a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3-4a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E");
}

.icon--ruler {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 17 14-14 4 4L7 21l-4-4Zm3.2.2 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1.8-.8 1.2 1.2-11.2 11.2-1.2-1.2.7-.8Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 17 14-14 4 4L7 21l-4-4Zm3.2.2 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1 1.4-1.4 1.1 1.1 1.4-1.4-1.1-1.1.8-.8 1.2 1.2-11.2 11.2-1.2-1.2.7-.8Z'/%3E%3C/svg%3E");
}

.icon--shield {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm4.7 8.3-5.5 5.5-3-3 1.4-1.4 1.6 1.6 4.1-4.1 1.4 1.4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='black' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm4.7 8.3-5.5 5.5-3-3 1.4-1.4 1.6 1.6 4.1-4.1 1.4 1.4Z'/%3E%3C/svg%3E");
}

.icon--back {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 12H5m7 7-7-7 7-7' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 12H5m7 7-7-7 7-7' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.hero__visual {
  position: relative;
}

.hero__visual-glow {
  position: absolute;
  inset: -2rem;
  border-radius: 3rem;
  background: linear-gradient(to bottom, rgba(125, 211, 252, 0.18), rgba(37, 99, 235, 0.08), transparent);
  filter: blur(42px);
}

.badge-float {
  position: absolute;
  z-index: 4;
  right: -0.75rem;
  top: -1rem;
  display: none;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(125, 211, 252, 0.2);
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.7);
  padding: 0.8rem 1rem;
  color: rgba(224, 242, 254, 0.8);
  font-size: 0.875rem;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
}

.logo-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 1.7rem;
  background: #000;
  box-shadow: 0 34px 120px rgba(56, 189, 248, 0.12);
}

.logo-panel__lights {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 15%, rgba(255, 255, 255, 0.16), transparent 35%),
    radial-gradient(circle at 18% 80%, rgba(56, 189, 248, 0.18), transparent 32%),
    radial-gradient(circle at 88% 20%, rgba(37, 99, 235, 0.14), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent 34%, rgba(56, 189, 248, 0.07));
}

.logo-panel__topline {
  left: 2rem;
  right: 2rem;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.85), transparent);
}

.logo-panel__bottomline {
  position: absolute;
  left: 2.5rem;
  right: 2.5rem;
  bottom: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(56, 189, 248, 0.35), transparent);
}

.logo-panel__wash {
  position: absolute;
  height: 18rem;
  width: 7rem;
  transform: rotate(12deg);
  filter: blur(42px);
}

.logo-panel__wash--left {
  left: -6rem;
  top: 2.5rem;
  background: rgba(56, 189, 248, 0.14);
}

.logo-panel__wash--right {
  right: -7rem;
  bottom: 0.5rem;
  background: rgba(37, 99, 235, 0.16);
}

.logo-panel__image-wrap {
  position: relative;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

.logo-panel__image-wrap img {
  width: min(100%, 720px);
  filter: drop-shadow(0 0 30px rgba(56, 189, 248, 0.18));
}

.logo-panel__capabilities {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  border-top: 1px solid rgba(125, 211, 252, 0.12);
  background: rgba(255, 255, 255, 0.035);
  padding: 0.75rem;
  text-align: center;
}

.logo-panel__capabilities div {
  border: 1px solid rgba(125, 211, 252, 0.16);
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.4);
  padding: 1rem;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 24px rgba(56, 189, 248, 0.06);
}

.logo-panel__capabilities strong {
  display: block;
  color: rgb(186, 230, 253);
  font-size: 0.74rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.logo-panel__capabilities span {
  display: block;
  margin-top: 0.35rem;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.hero-pillbar {
  position: relative;
  z-index: 3;
  border-top: 1px solid rgba(125, 211, 252, 0.12);
  background: rgba(0, 0, 0, 0.24);
  padding: 1rem;
}

.hero-pillbar__topline {
  position: absolute;
  top: 0;
  left: 2rem;
  right: 2rem;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.5), transparent);
}

.hero-pillbar__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
}

.hero-pill {
  border: 1px solid rgba(125, 211, 252, 0.14);
  border-radius: 0.75rem;
  background: rgba(0, 0, 0, 0.46);
  padding: 0.85rem 1rem;
  color: rgba(224, 242, 254, 0.78);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-align: center;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.hero-pill--primary {
  border-color: rgba(125, 211, 252, 0.28);
  background: linear-gradient(to bottom, rgba(125, 211, 252, 0.18), rgba(255, 255, 255, 0.035));
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 24px rgba(56, 189, 248, 0.12),
    0 12px 28px rgba(0, 0, 0, 0.28);
}

.section {
  position: relative;
  padding: 5rem 1rem;
}

.section__topline {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.32), transparent);
}

.section-heading {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.section-heading > div > p {
  margin: 0;
  color: rgba(186, 230, 253, 0.55);
  font-size: 0.75rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.section-heading h2,
.work-panel h2 {
  margin: 0.75rem 0 0;
  max-width: 56rem;
  color: #fff;
  font-size: clamp(2rem, 6vw, 3.35rem);
  line-height: 1;
  letter-spacing: -0.045em;
  font-weight: 650;
}

.section-heading h2 span,
.work-panel h2 span,
.footer h2 span {
  color: var(--blue);
}

.section-heading__copy {
  margin: 0;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.75;
}

.service-grid {
  display: grid;
  gap: 1.25rem;
}

.service-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 1.5rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
  padding: 1.5rem;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(125, 211, 252, 0.28);
  box-shadow: 0 28px 90px rgba(56, 189, 248, 0.12);
}

.service-card__topline {
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.6), transparent);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.service-card:hover .service-card__topline {
  opacity: 1;
}

.service-card__icon,
.work-panel__icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 1rem;
  background: linear-gradient(to bottom, rgba(125, 211, 252, 0.14), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.service-card__icon .icon,
.work-panel__icon .icon {
  width: 1.5rem;
  height: 1.5rem;
}

.service-card h3 {
  margin: 1.5rem 0 0;
  font-size: 1.25rem;
}

.service-card p {
  margin: 0.75rem 0 0;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.75;
}

.section--work {
  padding-top: 0;
}

.work-panel {
  position: relative;
  display: grid;
  gap: 2rem;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 2rem;
  background: linear-gradient(135deg, rgba(125, 211, 252, 0.075), rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
  padding: 1.5rem;
  box-shadow:
    0 30px 100px rgba(0, 0, 0, 0.6),
    0 0 60px rgba(56, 189, 248, 0.06);
}

.work-panel__copy {
  position: relative;
}

.work-panel__glow {
  position: absolute;
  left: -5rem;
  top: -6rem;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.12);
  filter: blur(42px);
}

.work-panel__copy > *:not(.work-panel__glow) {
  position: relative;
}

.work-panel p {
  margin: 1.25rem 0 0;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.75;
}

.text-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  background: transparent;
  margin-top: 1.75rem;
  padding: 0;
  color: rgba(224, 242, 254, 0.82);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.text-cta:hover {
  color: #fff;
}

.capability-list {
  display: grid;
  gap: 0.75rem;
}

.capability-list > div {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.34);
  padding: 1rem;
  color: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.capability-list__accent {
  border-color: rgba(125, 211, 252, 0.18) !important;
  background: rgba(56, 189, 248, 0.06) !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

.footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(125, 211, 252, 0.14);
  background: #02040a;
  padding: 3.5rem 1rem;
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 0%, rgba(56, 189, 248, 0.16), transparent 30%),
    radial-gradient(circle at 84% 100%, rgba(37, 99, 235, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent);
}

.footer__glow {
  position: absolute;
  pointer-events: none;
  filter: blur(48px);
}

.footer__glow--left {
  left: 50%;
  top: 0;
  width: 70vw;
  height: 8rem;
  transform: translateX(-50%);
  background: rgba(56, 189, 248, 0.08);
}

.footer__inner {
  position: relative;
}

.footer__panel {
  display: grid;
  gap: 2.5rem;
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.03);
  padding: 1.5rem;
  box-shadow:
    0 30px 100px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.footer__logo-card {
  width: 210px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.footer__logo-card img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 16px rgba(56, 189, 248, 0.24));
}

.footer h2 {
  margin: 1.5rem 0 0;
  max-width: 38rem;
  font-size: clamp(2rem, 6vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 650;
}

.footer__brand p {
  max-width: 34rem;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.75;
}

.button--footer {
  margin-top: 1.75rem;
  min-height: 48px;
  font-size: 0.9rem;
}

.button--work {
  width: fit-content;
  margin-top: 2.35rem;
  min-height: 50px;
  padding: 0.9rem 1.45rem;
  font-size: 0.9rem;
}

@media (max-width: 520px) {
  .button--work {
    width: 100%;
  }
}

.footer__links {
  display: grid;
  gap: 2rem;
}

.footer__links h3 {
  margin: 0 0 1rem;
  color: rgba(186, 230, 253, 0.7);
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.footer__links a,
.footer__link-button {
  display: block;
  border: 0;
  background: transparent;
  padding: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.9rem;
  line-height: 2;
  text-align: left;
  transition: color 0.2s ease;
}

.footer__links a:hover,
.footer__link-button:hover {
  color: rgb(186, 230, 253);
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  color: rgba(255, 255, 255, 0.36);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.footer__bottom p {
  margin: 0;
}

.footer__bottom p:last-child {
  color: rgba(186, 230, 253, 0.42);
}

/* Legal pages */

.legal-hero {
  position: relative;
  min-height: 100vh;
  padding: 1.25rem 1rem 0;
}

.legal-hero__bg,
.legal-hero__grid,
.legal-hero__fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.legal-hero__bg {
  background:
    radial-gradient(circle at 50% -8%, rgba(56, 189, 248, 0.2), transparent 30%),
    radial-gradient(circle at 14% 30%, rgba(37, 99, 235, 0.12), transparent 30%),
    linear-gradient(180deg, #06080c 0%, #000 62%, #070910 100%);
}

.legal-hero__grid {
  opacity: 0.07;
  background-image:
    linear-gradient(rgba(56, 189, 248, 0.7) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56, 189, 248, 0.7) 1px, transparent 1px);
  background-size: 72px 72px;
}

.legal-hero__fade {
  top: auto;
  height: 14rem;
  background: linear-gradient(to top, #000, transparent);
}

.legal-container {
  width: min(calc(100% - 0rem), 1024px);
}

.legal-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.14);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.028);
  box-shadow:
    0 30px 140px rgba(0, 0, 0, 0.95),
    0 0 80px rgba(56, 189, 248, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(7px);
}

.legal-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(125, 211, 252, 0.1);
  padding: 1.25rem;
}

.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
  font-weight: 700;
  transition: color 0.2s ease;
}

.legal-back:hover {
  color: rgb(186, 230, 253);
}

.legal-nav__logo {
  display: none;
  width: 150px;
  height: auto;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.legal-nav__logo img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.22));
}

.legal-content {
  position: relative;
  padding: 2.5rem 1.25rem;
}

.legal-eyebrow {
  margin-bottom: 1.75rem;
}

.legal-content h1 {
  margin: 0;
  max-width: 54rem;
  color: #fff;
  font-size: clamp(2.5rem, 9vw, 4rem);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 650;
}

.legal-intro {
  max-width: 48rem;
  margin: 1.25rem 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 1rem;
  line-height: 1.8;
}

.legal-date {
  margin: 1.25rem 0 0;
  color: rgba(186, 230, 253, 0.5);
  font-size: 0.8rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.legal-sections {
  display: grid;
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.legal-section {
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 1.5rem;
  background: rgba(0, 0, 0, 0.28);
  padding: 1.25rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.legal-section__heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.legal-section__heading div {
  width: 2rem;
  height: 2rem;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 0.75rem;
  background: rgba(56, 189, 248, 0.07);
  color: rgb(186, 230, 253);
  font-size: 0.75rem;
  font-weight: 800;
}

.legal-section h2 {
  margin: 0;
  font-size: clamp(1.25rem, 4vw, 1.6rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.legal-section__body {
  display: grid;
  gap: 1rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.95rem;
  line-height: 1.8;
}

.legal-section__body p {
  margin: 0;
}

/* reveal */

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal--delay {
  transform: scale(0.96);
}

.reveal--delay.is-visible {
  transform: scale(1);
}

/* Responsive */

@media (min-width: 520px) {
  .container {
    width: min(calc(100% - 2.5rem), var(--container));
  }

  .hero {
    padding: 1.25rem;
  }

  .hero__shell {
    min-height: calc(100vh - 2.5rem);
    border-radius: 2.25rem;
  }

  .nav {
    padding: 1.25rem;
  }

  .nav__logo {
    width: 172px;
    height: auto;
  }

  .hero__content {
    padding: 2rem 1.25rem 3rem;
  }

  .hero__lead {
    font-size: 1.1rem;
  }

  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .logo-panel__image-wrap {
    min-height: 360px;
    padding: 2.5rem 2rem;
  }

  .logo-panel__capabilities {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero-pillbar {
    padding: 1.15rem 1.25rem;
  }

  .hero-pill {
    font-size: 0.75rem;
    padding-inline: 1.25rem;
  }

  .service-card,
  .work-panel,
  .footer__panel,
  .legal-section {
    padding: 1.75rem;
  }

  .footer__links {
    grid-template-columns: repeat(3, 1fr);
  }

  .legal-nav {
    padding-inline: 2rem;
  }

  .legal-nav__logo {
    display: flex;
  }

  .legal-content {
    padding: 3.5rem 2rem;
  }
}

@media (min-width: 768px) {
  .hero__accent-line {
    display: block;
  }

  .nav__links {
    display: flex;
  }

  .nav__mobile-call {
    display: none;
  }

  .badge-float {
    display: flex;
  }

  .service-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .capability-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .capability-list__wide {
    grid-column: span 2;
  }

  .footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .hero {
    padding: 2rem 2.5rem;
  }

  .hero__shell {
    min-height: calc(100vh - 4rem);
  }

  .nav {
    padding-inline: 2rem;
  }

  .hero__content {
    grid-template-columns: 1.03fr 0.97fr;
    gap: 3rem;
    padding: 2rem 3rem 3.5rem;
  }

  .hero__lead {
    font-size: 1.2rem;
  }

  .logo-panel__image-wrap {
    min-height: 430px;
  }

  .hero-pillbar {
    padding: 1.25rem 3rem;
  }

  .section {
    padding: 6rem 2.5rem;
  }

  .section-heading {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .work-panel {
    grid-template-columns: 0.85fr 1.15fr;
    padding: 2.5rem;
  }

  .footer {
    padding: 4.5rem 2.5rem;
  }

  .footer__panel {
    grid-template-columns: 1.15fr 1.35fr;
    padding: 2.5rem;
  }

  .legal-content {
    padding: 3.5rem 3rem;
  }
}

@media (min-width: 1180px) {
  .hero h1 {
    font-size: 6.75rem;
  }
}

@media (max-width: 420px) {
  .eyebrow {
    width: 100%;
  }

  .button {
    width: 100%;
  }

  .hero-pill {
    width: 100%;
  }

  .hero-pill--primary {
    line-height: 1.6;
  }

  .footer__logo-card {
    width: 190px;
    max-width: 70vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }

  .reveal,
  .reveal--delay {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Logo cleanup v2 — no pill/card behind transparent logos */
.site-logo,
.nav__logo,
.footer__logo-card,
.legal-nav__logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

.nav__logo.site-logo--header {
  width: 150px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-shrink: 0 !important;
}

.nav__logo.site-logo--header img,
.footer__logo-card.site-logo--footer img,
.legal-nav__logo.site-logo--legal img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.24)) !important;
}

.footer__logo-card.site-logo--footer {
  width: 210px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-bottom: 1.5rem !important;
}

.legal-nav__logo.site-logo--legal {
  width: 150px !important;
  height: auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

@media (min-width: 520px) {
  .nav__logo.site-logo--header {
    width: 172px !important;
    height: auto !important;
  }
}

@media (max-width: 520px) {
  .nav__logo.site-logo--header {
    width: 132px !important;
  }

  .footer__logo-card.site-logo--footer {
    width: 190px !important;
    max-width: 72vw !important;
  }
}

/* Services to work spacing balance v1 */
.section--services {
  padding-bottom: 3rem;
}

.section--work {
  padding-top: 0;
}

@media (min-width: 1024px) {
  .section--services {
    padding-bottom: 3.25rem;
  }
}

@media (max-width: 520px) {
  .section--services {
    padding-bottom: 2.25rem;
  }
}


/* Dispensary catalog page final */
.catalog-page {
  position: relative;
  min-height: 100vh;
  padding: 1.25rem 1rem 0;
}

.catalog-page__bg,
.catalog-page__grid,
.catalog-page__fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.catalog-page__bg {
  background:
    radial-gradient(circle at 50% -8%, rgba(56, 189, 248, 0.22), transparent 30%),
    radial-gradient(circle at 14% 30%, rgba(37, 99, 235, 0.14), transparent 30%),
    radial-gradient(circle at 82% 70%, rgba(56, 189, 248, 0.09), transparent 32%),
    linear-gradient(180deg, #06080c 0%, #000 62%, #070910 100%);
}

.catalog-page__grid {
  opacity: 0.07;
  background-image:
    linear-gradient(rgba(56, 189, 248, 0.7) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56, 189, 248, 0.7) 1px, transparent 1px);
  background-size: 72px 72px;
}

.catalog-page__fade {
  top: auto;
  height: 14rem;
  background: linear-gradient(to top, #000, transparent);
}

.catalog-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.14);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.028);
  box-shadow:
    0 30px 140px rgba(0, 0, 0, 0.95),
    0 0 80px rgba(56, 189, 248, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(7px);
}

.catalog-card__topline {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(125, 211, 252, 0.75), transparent);
}

.catalog-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(125, 211, 252, 0.1);
  padding: 1.25rem;
}

.catalog-nav__logo.site-logo--legal {
  display: flex !important;
  width: 132px !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  justify-content: flex-end !important;
}

.catalog-nav__logo.site-logo--legal img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.24)) !important;
}

.catalog-content {
  position: relative;
  padding: 3.25rem 1.25rem 3.75rem;
}

.catalog-content h1 {
  margin: 0;
  max-width: 58rem;
  color: #fff;
  font-size: clamp(2.75rem, 9vw, 6.25rem);
  line-height: 0.94;
  letter-spacing: -0.065em;
  font-weight: 700;
}

.catalog-content h1 span {
  background: linear-gradient(90deg, #bae6fd, #38bdf8, #2563eb);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.28));
}

.catalog-intro {
  max-width: 44rem;
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1.1rem;
  line-height: 1.8;
}

.catalog-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.catalog-viewer {
  margin-top: 2.2rem;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.16);
  border-radius: 1.35rem;
  background: rgba(0, 0, 0, 0.42);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.42),
    0 0 32px rgba(56, 189, 248, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.catalog-viewer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(125, 211, 252, 0.12);
  background: rgba(255, 255, 255, 0.035);
  padding: 0.9rem 1rem;
  color: rgba(224, 242, 254, 0.78);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.catalog-viewer__bar a {
  color: rgba(186, 230, 253, 0.92);
  text-decoration: none;
  white-space: nowrap;
}

.catalog-viewer__bar a:hover {
  color: #fff;
}

.catalog-viewer iframe {
  display: block;
  width: 100%;
  height: min(78vh, 920px);
  min-height: 560px;
  border: 0;
  background: #111827;
}

@media (min-width: 520px) {
  .catalog-nav {
    padding-inline: 2rem;
  }

  .catalog-nav__logo.site-logo--legal {
    width: 150px !important;
  }

  .catalog-content {
    padding: 4.25rem 2rem 4.75rem;
  }

  .catalog-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (min-width: 1024px) {
  .catalog-content {
    padding: 5rem 3rem 5.5rem;
  }

  .catalog-nav__logo.site-logo--legal {
    width: 160px !important;
  }
}

@media (max-width: 620px) {
  .catalog-nav__logo.site-logo--legal {
    width: 118px !important;
  }

  .catalog-viewer {
    margin-top: 1.75rem;
    border-radius: 1.1rem;
  }

  .catalog-viewer__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    letter-spacing: 0.14em;
  }

  .catalog-viewer iframe {
    height: 66vh;
    min-height: 480px;
  }
}

/* Catalog page no-viewer/header-logo final */
.catalog-viewer,
.catalog-viewer__bar,
.catalog-viewer iframe {
  display: none !important;
}

.catalog-nav {
  align-items: center !important;
  min-height: 96px;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.catalog-nav__logo.site-logo--legal {
  display: flex !important;
  width: 132px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
  position: relative !important;
  z-index: 4 !important;
}

.catalog-nav__logo.site-logo--legal img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.24)) !important;
}

.catalog-actions {
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
}

@media (max-width: 620px) {
  .catalog-page {
    padding-top: 1rem;
  }

  .catalog-card {
    margin-top: 0.25rem;
  }

  .catalog-nav {
    min-height: 108px;
    padding-top: 1.35rem !important;
    padding-bottom: 1.35rem !important;
  }

  .catalog-nav__logo.site-logo--legal {
    width: 112px !important;
  }

  .legal-back {
    font-size: 0.95rem;
  }
}

@media (min-width: 768px) {
  .catalog-nav__logo.site-logo--legal {
    width: 160px !important;
  }
}

/* Catalog visible header logo fix */
.catalog-header-logo {
  display: flex;
  width: min(230px, 62vw);
  height: auto;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2rem;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.catalog-header-logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.26));
}

.catalog-content {
  padding-top: 2.5rem !important;
}

@media (max-width: 620px) {
  .catalog-header-logo {
    width: min(210px, 66vw);
    margin-bottom: 2.1rem;
  }

  .catalog-content {
    padding-top: 2.25rem !important;
  }
}

@media (min-width: 768px) {
  .catalog-header-logo {
    width: 250px;
    margin-bottom: 2.4rem;
  }
}

/* Mobile polish final v1 */
/* Keep the whole site inside the viewport on phones */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.site,
.hero,
.hero__shell,
.catalog-page,
.catalog-card,
.footer,
.legal-hero,
.legal-card {
  max-width: 100%;
}

/* Catalog logo: less headspace, more balanced spacing underneath */
.catalog-header-logo {
  width: min(215px, 58vw) !important;
  margin-top: -0.45rem !important;
  margin-bottom: 1.35rem !important;
}

.catalog-content {
  padding-top: 1.55rem !important;
}

/* Homepage mobile responsiveness */
@media (max-width: 767px) {
  .container {
    width: min(calc(100% - 1.1rem), var(--container));
  }

  .hero {
    padding: 0.65rem;
  }

  .hero__shell {
    min-height: auto;
    width: 100%;
    border-radius: 1.45rem;
  }

  .nav {
    padding: 0.85rem 0.85rem 0.75rem;
  }

  .nav__logo.site-logo--header {
    width: 118px !important;
  }

  .nav__mobile-call {
    width: 42px;
    height: 42px;
  }

  .hero__content {
    display: block;
    padding: 1.25rem 0.85rem 1.5rem;
  }

  .eyebrow {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }

  .eyebrow span:last-child {
    max-width: calc(100vw - 7.5rem);
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 10.6vw, 3.65rem);
    line-height: 0.98;
    letter-spacing: -0.058em;
    overflow-wrap: normal;
  }

  .hero__lead {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.72;
  }

  .hero__actions {
    width: 100%;
  }

  .hero__actions .button,
  .hero__actions a.button {
    width: 100%;
  }

  .hero__visual {
    margin-top: 2rem;
  }

  .hero__visual-glow {
    inset: -1rem;
  }

  .logo-panel {
    border-radius: 1.35rem;
  }

  .logo-panel__image-wrap {
    min-height: auto;
    padding: 2rem 0.85rem;
  }

  .logo-panel__image-wrap img {
    width: 100%;
    max-width: 100%;
  }

  .logo-panel__capabilities {
    grid-template-columns: 1fr;
  }

  .hero-pillbar {
    padding: 0.9rem;
  }

  .hero-pillbar__items {
    gap: 0.55rem;
  }

  .hero-pill {
    width: 100%;
    padding: 0.85rem 0.75rem;
    letter-spacing: 0.18em;
    line-height: 1.45;
  }

  .section {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }

  .section-heading h2,
  .work-panel h2 {
    font-size: clamp(2rem, 9vw, 2.8rem);
    line-height: 1.05;
  }

  .work-panel {
    width: 100%;
    padding: 1.25rem;
    border-radius: 1.5rem;
  }

  .capability-list > div {
    align-items: flex-start;
  }

  .footer {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }

  .footer__panel {
    padding: 1.25rem;
    border-radius: 1.5rem;
  }
}

@media (max-width: 430px) {
  .hero {
    padding: 0.55rem;
  }

  .hero__shell {
    border-radius: 1.25rem;
  }

  .hero h1 {
    font-size: clamp(2.35rem, 10.2vw, 3.25rem);
    letter-spacing: -0.052em;
  }

  .hero__lead {
    font-size: 0.98rem;
  }

  .button {
    min-height: 52px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .catalog-page {
    padding: 0.85rem 0.65rem 0;
  }

  .catalog-card {
    border-radius: 1.45rem;
  }

  .catalog-nav {
    min-height: 88px !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .catalog-header-logo {
    width: min(195px, 58vw) !important;
    margin-top: -0.55rem !important;
    margin-bottom: 1.2rem !important;
  }

  .catalog-content {
    padding-top: 1.25rem !important;
  }

  .catalog-content h1 {
    font-size: clamp(3rem, 12vw, 3.7rem);
    line-height: 0.96;
  }

  .catalog-intro {
    font-size: 1.02rem;
    line-height: 1.75;
  }
}

@media (max-width: 360px) {
  .hero h1 {
    font-size: 2.18rem;
  }

  .catalog-content h1 {
    font-size: 2.75rem;
  }
}

/* Final catalog logo simplification + homepage mobile fix v2 */
.catalog-header-logo {
  display: none !important;
}

.catalog-content {
  padding-top: 2.3rem !important;
}

.catalog-nav__logo.site-logo--legal {
  display: flex !important;
  width: 128px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
  position: relative !important;
  z-index: 4 !important;
}

.catalog-nav__logo.site-logo--legal img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.24)) !important;
}

/* Main homepage: prevent mobile clipping and keep the hero within the viewport */
@media (max-width: 767px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .container {
    width: min(calc(100% - 1rem), var(--container)) !important;
  }

  .hero {
    min-height: auto;
    padding: 0.55rem !important;
    overflow-x: hidden;
  }

  .hero__shell {
    width: 100%;
    min-height: auto !important;
    border-radius: 1.35rem !important;
    overflow: hidden;
  }

  .nav {
    padding: 0.85rem !important;
  }

  .nav__logo.site-logo--header,
  .nav__logo {
    width: 118px !important;
    max-width: 46vw !important;
    min-width: 0 !important;
  }

  .hero__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.85rem !important;
    padding: 1.2rem 0.85rem 1.6rem !important;
  }

  .hero__copy,
  .hero__visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .eyebrow {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .eyebrow span:last-child {
    display: block !important;
    max-width: calc(100vw - 7.5rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.15rem, 10.6vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .hero__lead {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.72 !important;
  }

  .hero__actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .hero__actions .button,
  .hero__actions a.button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .button {
    max-width: 100% !important;
    white-space: normal !important;
  }

  .hero__visual {
    margin-top: 0.5rem !important;
  }

  .hero__visual-glow {
    inset: -0.75rem !important;
  }

  .badge-float {
    display: none !important;
  }

  .logo-panel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 1.25rem !important;
  }

  .logo-panel__image-wrap {
    min-height: auto !important;
    padding: 1.4rem 0.7rem !important;
  }

  .logo-panel__image-wrap img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .logo-panel__capabilities {
    grid-template-columns: 1fr !important;
  }

  .hero-pillbar {
    padding: 0.85rem !important;
  }

  .hero-pillbar__items {
    width: 100% !important;
    gap: 0.55rem !important;
  }

  .hero-pill {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.85rem 0.65rem !important;
    letter-spacing: 0.16em !important;
    line-height: 1.4 !important;
  }

  .section {
    padding-left: 0.55rem !important;
    padding-right: 0.55rem !important;
  }

  .section-heading {
    gap: 1rem !important;
  }

  .section-heading h2,
  .work-panel h2 {
    font-size: clamp(1.9rem, 8.6vw, 2.65rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.038em !important;
  }

  .service-grid,
  .capability-list {
    grid-template-columns: 1fr !important;
  }

  .work-panel {
    width: 100% !important;
    padding: 1.2rem !important;
    border-radius: 1.35rem !important;
  }

  .work-panel__copy,
  .capability-list {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .capability-list__wide {
    grid-column: auto !important;
  }

  .footer {
    padding-left: 0.55rem !important;
    padding-right: 0.55rem !important;
  }

  .footer__panel {
    width: 100% !important;
    padding: 1.2rem !important;
    border-radius: 1.35rem !important;
  }
}

@media (max-width: 430px) {
  .hero h1 {
    font-size: clamp(2rem, 10vw, 2.9rem) !important;
  }

  .hero__lead {
    font-size: 0.95rem !important;
  }

  .catalog-page {
    padding: 0.85rem 0.65rem 0 !important;
  }

  .catalog-card {
    border-radius: 1.45rem !important;
  }

  .catalog-nav {
    min-height: 88px !important;
    padding: 1rem !important;
  }

  .catalog-nav__logo.site-logo--legal {
    width: 112px !important;
  }

  .catalog-content {
    padding-top: 2rem !important;
  }

  .catalog-content h1 {
    font-size: clamp(2.9rem, 11.5vw, 3.55rem) !important;
    line-height: 0.98 !important;
  }

  .catalog-intro {
    font-size: 1.02rem !important;
    line-height: 1.75 !important;
  }
}

/* Footer left alignment restore */
.footer__brand .footer__logo-card {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.footer__brand .button--footer {
  display: inline-flex !important;
  width: fit-content !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 520px) {
  .footer__brand .button--footer {
    width: 100% !important;
  }
}

/* Private dispensary calculator */
.calculator-page{position:relative;min-height:100vh;padding:32px 0 72px;overflow:hidden;background:#02040a}.calculator-shell{position:relative;z-index:2;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(145deg,rgba(6,9,18,.94),rgba(13,18,30,.9));box-shadow:0 30px 90px rgba(0,0,0,.45);overflow:hidden}.calculator-nav{padding:22px clamp(18px,3vw,34px)}.pin-card,.calculator-hero,.calculator-grid{padding:0 clamp(18px,4vw,48px) 42px}.pin-card{max-width:620px;margin:0 auto 20px;text-align:center}.pin-card h1,.calculator-hero h1{margin:14px 0 12px;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.92;letter-spacing:-.06em;color:#fff}.pin-card h1 span,.calculator-hero h1 span{color:#7ec8ff}.pin-form{margin:26px auto 0;max-width:360px;display:grid;gap:12px}.pin-form label,.field-grid label span,.rush-row label span,.notes-row label span{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.58);font-weight:800}.pin-form input,.field-grid select,.field-grid input,.rush-row select,.notes-row textarea,.check-card input[type=number],.size-grid input{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:16px;padding:14px 15px;font:inherit;outline:none}.pin-form input{text-align:center;font-size:2rem;letter-spacing:.35em}.pin-form input:focus,.field-grid select:focus,.field-grid input:focus,.rush-row select:focus,.notes-row textarea:focus,.check-card input[type=number]:focus,.size-grid input:focus{border-color:rgba(126,200,255,.72);box-shadow:0 0 0 4px rgba(126,200,255,.12)}.pin-error{color:#ffb4b4;margin:0;font-weight:700}.calculator-note{color:rgba(255,255,255,.58);font-size:.88rem;line-height:1.6}.calculator-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.calculator-lock,.mini-button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.calculator-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px}.calculator-panel{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:26px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.calculator-panel--summary{position:relative}.summary-card{position:sticky;top:18px}.calculator-section-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.calculator-section-title span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(126,200,255,.13);border:1px solid rgba(126,200,255,.25);color:#7ec8ff;font-weight:900}.calculator-section-title h2,.calculator-section-title h3{margin:0;color:#fff;font-size:1.05rem}.calculator-section-title--small{margin-top:28px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-grid label,.rush-row label,.notes-row label{display:grid;gap:8px}.apparel-breakdown{margin-top:18px;padding:18px;border-radius:20px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.09)}.size-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.size-grid label{display:grid;gap:6px}.size-grid span{color:rgba(255,255,255,.7);font-weight:800;font-size:.8rem}.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-card{display:grid;grid-template-columns:auto 1fr auto 82px;gap:10px;align-items:center;padding:13px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);color:#fff}.check-card span{font-size:.92rem;font-weight:700}.check-card strong{font-size:.78rem;color:#7ec8ff;white-space:nowrap}.check-card input[type=checkbox]{width:18px;height:18px}.rush-row,.notes-row{margin-top:18px}.notes-row textarea{resize:vertical;min-height:120px}.summary-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#7ec8ff;font-size:.78rem;font-weight:900}.summary-card h2{margin:10px 0 8px;color:#fff;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}.summary-card>p{color:rgba(255,255,255,.66)}.summary-lines{display:grid;gap:10px;margin:22px 0}.summary-lines div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-lines dt{color:rgba(255,255,255,.55);font-weight:700}.summary-lines dd{margin:0;color:#fff;font-weight:900}.tier-box,.quote-preview{border:1px solid rgba(126,200,255,.16);background:rgba(126,200,255,.07);border-radius:18px;padding:16px;margin-top:16px}.tier-box strong,.quote-preview strong{color:#fff}.tier-box p,.quote-preview p{margin:.45rem 0;color:rgba(255,255,255,.72);line-height:1.45}.summary-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.button--blueghost{border:1px solid rgba(126,200,255,.28);background:rgba(126,200,255,.08);color:#fff}.calculator-site .footer{margin-top:0}@media(max-width:900px){.calculator-hero{display:block}.calculator-grid{grid-template-columns:1fr}.summary-card{position:static}.field-grid,.addon-grid{grid-template-columns:1fr}.size-grid{grid-template-columns:repeat(3,1fr)}.check-card{grid-template-columns:auto 1fr;}.check-card strong,.check-card input[type=number]{grid-column:2}}@media print{.catalog-nav,.footer,.summary-actions,.calculator-lock,.calculator-panel--form{display:none!important}.calculator-page,.calculator-shell{background:#fff!important;color:#111!important}.calculator-shell,.calculator-panel{box-shadow:none!important;border:0!important}.calculator-grid{display:block}.summary-card h2,.quote-preview strong,.tier-box strong,.summary-lines dd{color:#111!important}.summary-card>p,.quote-preview p,.tier-box p,.summary-lines dt{color:#333!important}}

/* Calculator mobile visibility fix v2 */
body:has(.calculator-site) {
  background: #02040a !important;
}

.calculator-site {
  display: block !important;
  min-height: 100vh !important;
  background: #02040a !important;
  color: #fff !important;
}

.calculator-page {
  position: relative !important;
  min-height: 100svh !important;
  padding: 16px 12px 42px !important;
  overflow: visible !important;
  background:
    linear-gradient(180deg, #05070d 0%, #02040a 48%, #000 100%) !important;
}

.calculator-page .catalog-page__bg,
.calculator-page .catalog-page__grid,
.calculator-page .catalog-page__fade {
  z-index: 0 !important;
  opacity: 0.28 !important;
}

.calculator-page .catalog-page__bg {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(180deg, #05070d 0%, #02040a 56%, #000 100%) !important;
}

.calculator-page .catalog-page__grid {
  opacity: .045 !important;
  background-size: 64px 64px !important;
}

.calculator-shell {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
  overflow: visible !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(8,10,15,.98), rgba(10,13,22,.96)) !important;
}

.calculator-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 0 !important;
  padding: 18px clamp(16px, 3vw, 30px) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.calculator-nav .legal-back {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.calculator-nav__logo.site-logo--legal {
  flex: 0 0 auto !important;
  width: 150px !important;
  max-width: 35vw !important;
}

.pin-card {
  display: grid !important;
  place-items: center !important;
  max-width: 560px !important;
  min-height: 430px !important;
  margin: 0 auto !important;
  padding: 34px 20px 42px !important;
  text-align: center !important;
}

.pin-card > * {
  max-width: 100% !important;
}

.pin-card h1,
.calculator-hero h1 {
  margin: 12px 0 12px !important;
  font-size: clamp(2.15rem, 8vw, 4rem) !important;
  line-height: .98 !important;
}

.pin-form {
  width: min(100%, 360px) !important;
  margin: 22px auto 0 !important;
  display: grid !important;
  gap: 12px !important;
}

.pin-form label {
  display: block !important;
  text-align: left !important;
}

.pin-form input {
  display: block !important;
  width: 100% !important;
  min-height: 58px !important;
  text-align: center !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-sizing: border-box !important;
}

.calculator-grid,
.calculator-hero {
  position: relative !important;
  z-index: 3 !important;
}

.calculator-grid {
  align-items: start !important;
}

@media (max-width: 700px) {
  .calculator-page {
    padding: 10px 8px 34px !important;
  }

  .calculator-shell {
    border-radius: 18px !important;
  }

  .calculator-nav {
    padding: 14px 14px !important;
  }

  .calculator-nav .legal-back {
    font-size: .95rem !important;
    white-space: nowrap !important;
  }

  .calculator-nav__logo.site-logo--legal {
    width: 108px !important;
    max-width: 34vw !important;
  }

  .pin-card {
    min-height: auto !important;
    padding: 30px 16px 34px !important;
    align-content: start !important;
  }

  .pin-card h1,
  .calculator-hero h1 {
    font-size: clamp(2rem, 11vw, 3.05rem) !important;
  }

  .catalog-intro {
    font-size: .98rem !important;
  }

  .calculator-hero,
  .calculator-grid,
  .pin-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .calculator-panel {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .check-card {
    grid-template-columns: auto 1fr !important;
  }

  .check-card strong,
  .check-card input[type=number] {
    grid-column: 2 !important;
  }
}

/* Calculator quote-builder update */
.summary-lines--quote{border:1px solid rgba(126,200,255,.16);border-radius:18px;padding:4px 14px;background:rgba(126,200,255,.055)}
.quote-lines{margin-top:16px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);border-radius:18px;overflow:hidden}
.quote-lines__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.quote-lines__head strong{color:#fff}.quote-lines__head button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800;cursor:pointer}.quote-lines__list{display:grid;gap:0}.empty-quote{margin:0!important;padding:14px;color:rgba(255,255,255,.58)!important}.quote-line{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:13px 14px;border-top:1px solid rgba(255,255,255,.08)}.quote-line:first-child{border-top:0}.quote-line b{display:block;color:#fff;font-size:.92rem}.quote-line small{display:block;margin-top:4px;color:rgba(255,255,255,.56);line-height:1.35}.quote-line strong{color:#7ec8ff;white-space:nowrap}.quote-line button{border:0;background:transparent;color:rgba(255,255,255,.52);font-weight:800;cursor:pointer}.quote-line button:hover{color:#fff}.summary-actions--builder{grid-template-columns:1fr 1fr}.calculator-panel--summary .summary-actions+.summary-actions{margin-top:10px}@media(max-width:520px){.quote-line{grid-template-columns:1fr}.quote-line strong{white-space:normal}.summary-actions--builder{grid-template-columns:1fr}.quote-lines__head{align-items:flex-start;flex-direction:column}.quote-lines__head button{width:100%}}
@media print{.summary-actions--builder,.quote-lines__head button,.quote-line button{display:none!important}.quote-lines,.summary-lines--quote{border-color:#ddd!important;background:#fff!important}.quote-line b,.quote-line strong{color:#111!important}.quote-line small,.empty-quote{color:#333!important}}

.manual-price-wrap[hidden]{display:none!important}.package-builder{margin-top:18px;border:1px solid rgba(126,200,255,.16);background:rgba(126,200,255,.055);border-radius:18px;padding:16px;display:grid;gap:10px}.package-builder>strong{color:#fff}.package-builder p{margin:0;color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.5}.package-builder label{display:grid;gap:7px}.package-builder label span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.55);font-weight:900}.package-builder input,.package-builder select,.package-builder textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:12px 13px;font:inherit;outline:none}.package-builder textarea{resize:vertical;min-height:92px}.package-builder input:focus,.package-builder select:focus,.package-builder textarea:focus{border-color:rgba(126,200,255,.72);box-shadow:0 0 0 4px rgba(126,200,255,.12)}.quote-line--package{background:rgba(126,200,255,.055)}

/* Calculator package builder v5 */
.package-builder--advanced{gap:14px}.package-description{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18);border-radius:14px;padding:12px}.package-description strong{display:block;color:#fff;margin-bottom:4px}.package-items{display:grid;gap:10px}.package-item-row{display:grid;grid-template-columns:auto minmax(0,1.25fr) minmax(110px,.8fr) 74px minmax(90px,.7fr) minmax(78px,.6fr);gap:8px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:14px;padding:10px}.package-include{display:flex!important;align-items:center;gap:8px}.package-include input{width:auto!important}.package-include span{letter-spacing:0!important;text-transform:none!important;font-size:.76rem!important;color:rgba(255,255,255,.72)!important}.package-item-main b{display:block;color:#fff;font-size:.9rem}.package-item-main small{display:block;color:rgba(255,255,255,.52);font-size:.72rem;line-height:1.35;margin-top:2px}.package-item-row input,.package-item-row select{padding:10px!important;border-radius:12px!important}.package-item-price{font-weight:900;color:#7ec8ff;text-align:right;font-size:.88rem}.package-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.package-summary{border:1px solid rgba(126,200,255,.22);background:rgba(126,200,255,.08);border-radius:14px;padding:12px;color:rgba(255,255,255,.72);line-height:1.45}.package-summary strong{display:block;color:#fff;font-size:1rem;margin-bottom:6px}.package-summary p{margin:0 0 5px!important}
@media(max-width:760px){.package-item-row{grid-template-columns:1fr 1fr}.package-item-main{grid-column:1/-1}.package-item-price{text-align:left}.package-totals{grid-template-columns:1fr}}
