/** Shopify CDN: Minification failed

Line 1381:2 Unexpected "="
Line 1634:2 Unexpected "="

**/
/* OZ FUSION PROTOCOL THEME - base variables */
:root{
  
  /* Core brand */
  --accent:#32ff9c;        /* neon green (DNA brand) */
  --accent-blue:#32b5ff;   /* protocol/performance */
  --accent-soft:rgba(50,255,156,.12);

  /* Hero stack accents (used lightly per card/page) */
  --accent-orange:#ff7a18; /* Wolverine */
  --accent-gold:#ffb23f;   /* Phoenix */
  --accent-red:#ff4b6b;    /* Shredder */
  --accent-purple:#9b6bff; /* Aesthetic */
  --accent-teal:#35d6c2;   /* Regeneration */

  --text:#f5f5f7;
  --muted:#a0a7b8;
  --border:#1b2230;

  --font-display: "Bebas Neue", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans: "Oswald", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body{
  font-family: var(--font-sans);
  background: radial-gradient(circle at top, #161b28 0, #05070b 55%, #020308 100%);
  color: var(--text);
}

/* Make headings cinematic */
h1,h2,h3,.display{
  font-family: var(--font-display);
  letter-spacing: .02em;
}

a{ color: var(--accent-blue); }

/* ===== GLOBAL BACKGROUND ANTI-GLARE FIX ===== */
body.gradient {
  background: radial-gradient(circle at top, #161b28 0%, #0f1724 55%, #0b111c 100%) !important;
  color: rgba(255,255,255,0.92);
}

/* Ensure all protocol sections match */
.oz-protocol-page,
#shopify-section-oz-protocol-grid,
#shopify-section-template--main,
main {
  background: transparent !important;
}

/* =========================================
   OZ FUSION – PROTOCOL / STACK PAGES VISIBILITY FIX
========================================= */

body[class*="protocol-"] * {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body[class*="protocol-"] h1,
body[class*="protocol-"] h2,
body[class*="protocol-"] h3,
body[class*="protocol-"] p,
body[class*="protocol-"] span,
body[class*="protocol-"] li {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

body[class*="protocol-"] .shopify-section,
body[class*="protocol-"] .page-width,
body[class*="protocol-"] .rich-text,
body[class*="protocol-"] .rte {
  position: relative;
  z-index: 20;
}

/* ======================================
   FINAL PROTOCOL VISIBILITY FIX (OZ FUSION)
====================================== */

body.is-protocol .shopify-section,
body.is-protocol .page-width,
body.is-protocol .rich-text,
body.is-protocol .rte,
body.is-protocol .banner__content {
  opacity: 1 !important;
  filter: none !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  position: relative !important;
  z-index: 20 !important;
}

body.is-protocol h1,
body.is-protocol h2,
body.is-protocol h3,
body.is-protocol p,
body.is-protocol span,
body.is-protocol li,
body.is-protocol a {
  opacity: 1 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.65);
}

/* Prevent hero overlay from washing out sections */
body.is-protocol .banner::before,
body.is-protocol .banner__overlay,
body.is-protocol .slideshow__overlay {
  opacity: 0.15 !important;
}

/* ======================================
   PROTOCOL HERO READABILITY (premium glass panel)
====================================== */

/* Put a subtle dark overlay over the hero background */
body.is-protocol .oz-hero,
body.is-protocol .banner,
body.is-protocol .oz-protocol-hero {
  position: relative;
}

body.is-protocol .oz-hero::before,
body.is-protocol .banner::before,
body.is-protocol .oz-protocol-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1;
  pointer-events: none;
}

/* Ensure the hero text sits above overlay */
body.is-protocol .oz-hero * ,
body.is-protocol .banner__content,
body.is-protocol .oz-protocol-hero * {
  position: relative;
  z-index: 2;
}

/* Make headings crisp */
body.is-protocol h1,
body.is-protocol h2,
body.is-protocol h3 {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 3px 14px rgba(0,0,0,0.8);
}

/* Make body text readable */
body.is-protocol p,
body.is-protocol li,
body.is-protocol span {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.75);
}

/* ======================================
   PROTOCOL HERO – FINAL READABILITY FIX
====================================== */

/* 1) Force hero text to be solid */
body.is-protocol .banner__content,
body.is-protocol .banner__content *,
body.is-protocol .hero__content,
body.is-protocol .hero__content * {
  opacity: 1 !important;
  filter: none !important;
  color: #fff !important;
  text-shadow: 0 3px 16px rgba(0,0,0,0.85) !important;
}

/* 2) If an overlay exists, keep it BEHIND the text */
body.is-protocol .banner,
body.is-protocol .hero,
body.is-protocol .oz-hero {
  position: relative !important;
}

body.is-protocol .banner__content,
body.is-protocol .hero__content {
  position: relative !important;
  z-index: 50 !important;
}

/* 3) Darken any hero overlay that’s washing things out */
body.is-protocol .banner::before,
body.is-protocol .banner__overlay,
body.is-protocol .hero::before,
body.is-protocol .hero__overlay,
body.is-protocol .oz-hero::before {
  opacity: 0.55 !important; /* increase/decrease if needed */
}

/* 4) If the overlay is LIGHT (white haze), force it to dark */
body.is-protocol .banner::before,
body.is-protocol .hero::before,
body.is-protocol .oz-hero::before {
  background: rgba(0,0,0,0.55) !important;
}

/* ===== FINAL PROTOCOL TEXT CLARITY FIX ===== */
.oz-protocol-page .main-page-title,
.oz-protocol-page h1,
.oz-protocol-page h2,
.oz-protocol-page h3,
.oz-protocol-page p,
.oz-protocol-page li {
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Remove animation haze */
.oz-protocol-page .scroll-trigger,
.oz-protocol-page .animate--fade-in,
.oz-protocol-page .animate--slide-in {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== PROTOCOL CONTENT SPACING FIX ===== */
.oz-protocol-page .rte {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* Better spacing for lists & paragraphs */
.oz-protocol-page p,
.oz-protocol-page ul,
.oz-protocol-page ol {
  margin-left: 0 !important;
  padding-left: 8px;
}

/* Optional: slightly increase overall breathing room */
.oz-protocol-page {
  padding-left: 10px;
  padding-right: 10px;
}

/* ===== PROTOCOL PAGE BACKGROUND RESTORE (ANTI-GLARE) ===== */
.oz-protocol-page {
  background: radial-gradient(
    circle at top,
    #161b28 0%,
    #0f1724 55%,
    #0b111c 100%
  ) !important;
}

/* Soften harsh contrast to reduce text glare */
.oz-protocol-page .rte,
.oz-protocol-page p,
.oz-protocol-page li {
  color: rgba(255,255,255,0.92) !important;
}

/* =========================
   GLOBAL ANTI-BLACK OVERRIDES
   ========================= */

/* 1) Catch the common Dawn wrappers that often hold the real background */
html, body,
body.gradient,
#MainContent,
main,
.content-for-layout,
.shopify-section,
.shopify-section-group,
.section,
.section-background,
.color-background-1,
.color-background-2,
.color-inverse {
  background-color: transparent !important;
}

/* 2) Force your site "base" background everywhere (this is the key) */
body,
body.gradient,
#MainContent,
main,
.content-for-layout {
  background: radial-gradient(circle at top, #161b28 0%, #0f1724 55%, #0b111c 100%) !important;
}

/* 3) Kill any black overlay pseudo-elements (VERY common) 
body::before,
body::after,
#MainContent::before,
#MainContent::after,
main::before,
main::after,
.content-for-layout::before,
.content-for-layout::after,
.shopify-section::before,
.shopify-section::after {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}
*/

/* 4) Make your cards/boxes readable (less glare) */
.card,
.rte,
.page-width,
.page-width--narrow,
.oz-card,
.oz-box,
.protocol-card,
.protocol-tile,
.multicolumn-card,
.collection-card,
.product-card {
  background: rgba(20, 28, 45, 0.55) !important;
}

/* 5) Optional: soften text glare slightly */
body, p, li {
  color: rgba(255,255,255,0.92) !important;
}

/* =========================
   GLOBAL ANTI-BLACK OVERRIDES
   ========================= */

/* 1) Catch the common Dawn wrappers that often hold the real background */
html, body,
body.gradient,
#MainContent,
main,
.content-for-layout,
.shopify-section,
.shopify-section-group,
.section,
.section-background,
.color-background-1,
.color-background-2,
.color-inverse {
  background-color: transparent !important;
}

/* 2) Force your site "base" background everywhere (this is the key) */
body,
body.gradient,
#MainContent,
main,
.content-for-layout {
  background: radial-gradient(circle at top, #161b28 0%, #0f1724 55%, #0b111c 100%) !important;
}

/* 3) Kill any black overlay pseudo-elements (VERY common) */
body::before,
body::after,
#MainContent::before,
#MainContent::after,
main::before,
main::after,
.content-for-layout::before,
.content-for-layout::after,
.shopify-section::before,
.shopify-section::after {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* 4) Make your cards/boxes readable (less glare) */
.card,
.rte,
.page-width,
.page-width--narrow,
.oz-card,
.oz-box,
.protocol-card,
.protocol-tile,
.multicolumn-card,
.collection-card,
.product-card {
  background: rgba(20, 28, 45, 0.55) !important;
}

/* 5) Optional: soften text glare slightly */
body, p, li {
  color: rgba(255,255,255,0.92) !important;
}

/* === Give hero/page content breathing room inside the box === */
.oz-protocol-page .rte,
.oz-protocol-page .page-width--narrow,
.oz-protocol-page .page-width {
  padding-left: 28px;
  padding-right: 28px;
}

@media (max-width: 749px) {
  .oz-protocol-page .rte,
  .oz-protocol-page .page-width--narrow,
  .oz-protocol-page .page-width {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* ===== GLOBAL BACKGROUND FIX (FOR ALL SECTIONS) ===== */

/* Force site-wide background away from pure black */
body,
.gradient,
#MainContent,
main,
.shopify-section,
.section,
.color-background-1,
.color-background-2,
.color-inverse {
  background: radial-gradient(circle at top, #161b28 0%, #0f1724 55%, #0b111c 100%) !important;
}

/* Prevent any section from forcing black */
.shopify-section {
  background-color: transparent !important;
}

/* Keep cards readable but not harsh */
.card,
.rte,
.page-width,
.page-width--narrow {
  background: transparent !important;
}

/* GLOBAL SITE BACKGROUND FIX – OZ FUSION */
body,
.gradient,
#MainContent {
  background: radial-gradient(circle at top, #161b28 0%, #05070b 55%, #020308 100%) !important;
}

/* Section backgrounds (fix black blocks) */
.shopify-section,
.section,
.main-content,
#MainContent > div {
  background-color: transparent !important;
}

/* === GLOBAL BACKGROUND FIX (OVERRIDES SHOPIFY BLACK) === */
body,
.color-background-1,
.color-background-2,
.gradient,
.section,
.shopify-section {
  background: #0b1624 !important;
}

/* === GLOBAL BACKGROUND (override jet-black) === */
html, body {
  background: radial-gradient(circle at top, #161b28 0%, #05070b 55%, #020308 100%) !important;
}

/* If any wrapper is forcing pure black */
#MainContent, .content-for-layout, main, .shopify-section {
  background: transparent !important;
}

/* Common Dawn-style wrappers that sometimes get background set */
.gradient,
.color-background-1,
.color-background-2 {
  background: radial-gradient(circle at top, #161b28 0%, #05070b 55%, #020308 100%) !important;
}

/* --- Fix bubble title colour (Superman / Aesthetic etc.) --- */
.oz-protocol-grid .protocol-card__title,
.oz-foundation-grid .protocol-card__title,
.oz-protocol-grid .bubble-title,
.oz-foundation-grid .bubble-title,
.oz-protocol-grid h3,
.oz-foundation-grid h3 {
  color: #EAFBFF !important; /* same near-white as your hero headings */
  opacity: 1 !important;
}

/* =========================
   OZ – Bubble/Card title colour fix
   ========================= */

/* Catch most title/heading patterns inside your protocol pages */
.oz-protocol-page h1,
.oz-protocol-page h2,
.oz-protocol-page h3,
.oz-protocol-page h4,
.oz-protocol-page .h0,
.oz-protocol-page .h1,
.oz-protocol-page .h2,
.oz-protocol-page .h3 {
  color: #EAF6FF !important;
}

/* If your “bubble titles” are inside cards/boxes, force them too */
.oz-protocol-page .card__heading,
.oz-protocol-page .card__title,
.oz-protocol-page .oz-card-title,
.oz-protocol-page .oz-bubble-title,
.oz-protocol-page .oz-section-title,
.oz-protocol-page .oz-box-title {
  color: #EAF6FF !important;
}

/* =========================
   Phoenix label rename (CSS override)
   ========================= */

body.page-phoenix-stack .oz-protocol-label,
body.page-phoenix-protocol-superhuman-series .oz-protocol-label {
  position: relative;
  color: transparent !important; /* hides original text but keeps spacing */
}

body.page-phoenix-stack .oz-protocol-label::after,
body.page-phoenix-protocol-superhuman-series .oz-protocol-label::after {
  content: "Reawakening Protocol";
  position: absolute;
  left: 0;
  top: 0;
  color: #EAF6FF;
}

/* main wrappers */
html, body,
#MainContent,
main,
.main-content,
.content-for-layout,
.shopify-section,
.section,
.page-width {
  background: var(--oz-bg) !important;
}

/* remove any accidental hard black fills */
body, #MainContent, main {
  background-color: transparent !important;
}

/* Force the same background everywhere (home, pages, 404, products) */
html, body,
body.gradient,
body.is-protocol,
body.is-protocol-library,
body.is-foundation,
.template-404,
#MainContent {
  background: var(--oz-bg) !important;
}

/* Prevent sections/containers from painting their own “black panels” */
main, #MainContent,
.shopify-section-group-header-group,
.section,
.page-width,
.color-background-1,
.color-background-2 {
  background: transparent !important;
}

/* === FORCE HERO SECTIONS TO USE GLOBAL BG === */

.oz-hero,
.oz-hero_overlay,
.oz-hero_tnmgBi,
section.oz-hero {
  background: var(--oz-bg) !important;
}
  
:root {
  --oz-bg: #050f1f;
}

/* Force the gradient onto every major wrapper Shopify uses */
html, body,
#MainContent, main, .content-for-layout,
.shopify-section,
.shopify-section-group-header-group,
.shopify-section-group-main,
.shopify-section-group-footer-group {
  background: var(--oz-bg) !important;
  background-color: var(--oz-bg-solid) !important;
}

/* Kill common overlay layers that “black out” the gradient */
.oz-hero_overlay,
.oz-hero__overlay,
.oz-hero::before,
.oz-hero::after,
.shopify-section::before,
.shopify-section::after {
  background: transparent !important;
  background-color: transparent !important;
}

/* If anything is using opacity overlays, keep content visible */
.oz-hero, .shopify-section {
  isolation: isolate; /* prevents blend/overlay weirdness */
}

/* ===== OZ FUSION INTRO SECTION ===== */

.oz-intro {
  text-align: center;
  padding: 120px 20px 100px;
  max-width: 900px;
  margin: 0 auto;
}

.oz-intro h2 {
  font-size: 48px;
  letter-spacing: 4px;
  margin-bottom: 40px;
  color: #e8f6f5;
}

.oz-intro p {
  font-size: 18px;
  line-height: 1.8;
  color: #c9d6d8;
  margin-bottom: 22px;
}

.oz-intro-tag {
  margin-top: 35px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #6ce6d8;
}

#shopify-section-footer {
  margin-top: 0;
}

.oz-foundation-grid {
  padding-bottom: 40px;
}

html {
  scroll-behavior: smooth;
}

.oz-protocol-page__poster img{
  max-height: 620px;
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.oz-protocol-page__top{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-top: -20px;
}

@media (max-width: 900px){
  .oz-protocol-page__top{
    grid-template-columns: 1fr;
  }
}

/* === Fix anchor landing for protocol library === */

#protocol-library{
  scroll-margin-top:120px;
}

/* ===== PRODUCT OPTIONS PANEL ===== */

#protocol-options{
  max-width:520px;
  margin:auto;
  text-align:center;
}

/* price */
.price{
  font-size:28px;
  letter-spacing:2px;
  margin-bottom:20px;
}

/* variant pills */
.product-form__input input[type="radio"] + label{
  background:#0b1320;
  border:1px solid rgba(255,255,255,.2);
  color:#dfe7f5;
  border-radius:28px;
  padding:10px 18px;
  transition:all .25s ease;
}

.product-form__input input[type="radio"]:checked + label{
  border-color:#00ffc6;
  box-shadow:0 0 14px rgba(0,255,198,.35);
}

/* quantity */
.quantity input{
  background:#0b1320;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
}

/* add to cart button */
.product-form__submit{
  background:linear-gradient(90deg,#00ffc6,#00b4ff);
  border:none;
  border-radius:6px;
  font-weight:600;
  letter-spacing:2px;
  transition:all .25s ease;
}

.product-form__submit:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,255,198,.35);
}

/* paypal button */
.shopify-payment-button__button{
  border-radius:6px;
}

/* ===== OZ FUSION CINEMATIC PRODUCT PANEL ===== */

#protocol-options{
  max-width: 560px;
  margin: 0 auto;
  padding: 28px 24px 34px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(7,19,42,0.92), rgba(3,10,24,0.96));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.03) inset,
    0 18px 50px rgba(0,0,0,0.45),
    0 0 30px rgba(0,180,255,0.08);
  backdrop-filter: blur(8px);
}

/* title / price spacing */
#protocol-options .product__title,
#protocol-options .price{
  text-align: center;
}

#protocol-options .price{
  font-size: 30px;
  letter-spacing: 2px;
  margin-bottom: 24px;
}

/* variant group label */
#protocol-options .product-form__input legend,
#protocol-options .form__labelproduct-form__input legend,
.product-form__input legend,
.product-form__input .form__label {
  color: #cfe8ff;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
  text-align: center;
  width: 100%;
}

/* bundle pills */
#protocol-options .product-form__input input[type="radio"] + label
.product-form__input input[type="radio"] + label{
  background: rgba(8,16,30,0.92);
  border: 1px solid rgba(255,255,255,0.15);
  color: #eef7ff;
  border-radius: 999px;
  padding: 12px 18px;
  min-width: 140px;
  text-align: center;
  transition: all .25s ease;
}

#protocol-options .product-form__input input[type="radio"] + label:hover,
.product-form__input input[type="radio"] + label:hover {
  transform: translateY(-2px);
  border-color: rgba(0,255,198,0.45);
  box-shadow: 0 0 18px rgba(0,255,198,0.15);
}

#protocol-options .product-form__input input[type="radio"]:checked + label,
.product-form__input input[type="radio"]:checked + label {
  background: rgba(8,16,30,0.98);
  border-color: #00ffc6;
  color: #ffffff;
  box-shadow:
    0 0 1px rgba(0,255,198,0.15) inset,
    0 0 18px rgba(0,255,198,0.20),
    0 0 36px rgba(0,180,255,0.16);
}

/* quantity input */
#protocol-options .quantity:after{
  display: none;
}

#protocol-options .quantity{
  justify-content: center;
}

#protocol-options .quantity input{
  background: rgba(10,18,34,0.95);
  border: 1px solid rgba(255,255,255,0.15);
  color: #ffffff;
  border-radius: 10px;
  min-height: 48px;
}

/* main buy button */
#protocol-options .product-form__submit{
  background: linear-gradient(90deg, #00ffc6, #00b4ff);
  color: #04121c;
  border: none;
  border-radius: 10px;
  min-height: 52px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all .25s ease;
  box-shadow: 0 10px 24px rgba(0,180,255,0.18);
}

/* ===== site-wide variant pill layout ===== */

.product-form__input--pill {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.product-form__input {
  margin: 18px 0;
}

.product-form__input legend,
.product-form__input .form__label {
  display: block;
  width: 100%;
  text-align: center;
}

#protocol-options .product-form__submit:hover{
  transform: translateY(-2px);
  box-shadow:
    0 14px 32px rgba(0,180,255,0.24),
    0 0 20px rgba(0,255,198,0.22);
}

#protocol-options .product-form__submit[disabled]{
  opacity: .55;
}

/* dynamic checkout / buy now */
#protocol-options .shopify-payment-button__button{
  border-radius: 10px !important;
  min-height: 48px !important;
  overflow: hidden;
}

/* spacing */
#protocol-options .product-form__input,
#protocol-options .product-form,
#protocol-options .shopify-payment-button{
  margin-top: 18px;
}

/* mobile */
@media (max-width: 749px){
  #protocol-options{
    padding: 22px 16px 28px;
    border-radius: 14px;
  }

  #protocol-options .product-form__input input[type="radio"] + label{
    min-width: 100%;
  }

  #protocol-options .price{
    font-size: 26px;
  }
}

/* quantity cleaner */
#protocol-options .quantity{
  background: rgba(10,18,34,0.9);
  border-radius: 10px;
  padding: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#protocol-options .quantity input{
  background: transparent;
  border: none;
  font-weight: 600;
  font-size: 16px;
  width: 60px;
}

#protocol-options::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  background: radial-gradient(circle, rgba(0,255,198,0.12), transparent 70%);
  filter: blur(40px);
  z-index:-1;
}

.shopify-payment-button{
  display:none !important;
}

.shopify-payment-button{
  display:none !important;
}

#protocol-options .product-form{
  margin-bottom:0 !important;
}

/* ===== OZ FUSION SCIENCE HERO BACKGROUND ===== */

.oz-hero{
  position: relative;
  overflow: hidden;
}

.oz-hero__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
}

.oz-hero__overlay::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 820px;
  height: 820px;
  background-image: url("/cdn/shop/files/AMINO_CIRCLE.png?v=1772859827");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, -50%);
  opacity: 0.16;
  pointer-events: none;
}

/* keep content above overlay/image */
.oz-hero__content{
  position: relative;
  z-index: 2;
}

.oz-hero{
  position: relative;
  overflow: hidden;
}

.oz-hero__science {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(90vw, 1000px);
  height: auto;
  opacity: 0.15;
  pointer-events: none;
  z-index: 1;
}

@media screen and (max-width: 749px) {
  .oz-hero__science {
    width: 140vw !important;
    max-width: none !important;
    opacity: 0.24 !important;
  }
}

.oz-hero__content{
  position: relative;
  z-index: 2;
}

/* Reduce header height */
.header {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  min-height: 60px;
}

/* Reduce logo container size */
.header__heading-logo {
  max-height: 38px;
}

.banner {
  position: relative;
}

.banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('/cdn/shop/files/AMINO_CIRCLE.png?v=1772859827');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 900px;
  opacity: 0.16;
  pointer-events: none;
  z-index: 1;
}

.banner {
  position: relative;
}

.banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('/cdn/shop/files/AMINO_CIRCLE.png?v=1772859827');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 900px;
  opacity: 0.16;
  pointer-events: none;
  z-index: 1;
}

.banner__content,
.banner__box,
.banner h1,
.banner .banner__buttons {
  position: relative;
  z-index: 2;
}

/* Tighten intro section */

.section-template--intro,
.section-template--rich-text {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.section-template--rich-text p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

/* Section divider */

.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #00d2c6, transparent);
  opacity: 0.4;
  margin: 60px 0;
}

.protocol-library {
  padding-top: 100px;
  padding-bottom: 80px;
}

.protocol-library {
  text-align: center;
}

.protocol-title {
  letter-spacing: 3px;
  margin-bottom: 15px;
}

.protocol-subtitle {
  opacity: 0.8;
  max-width: 600px;
  margin: auto;
}

.oz-protocol-page__poster img{
  object-fit: contain;
  object-position: center top;
}

/* Fix anchor jump positions */
#protocol-library,
[id$="-top"],
[id$="-options"] {
  scroll-margin-top: 110px;
}

#protocol-start {
  display: block;
  height: 1px;
  margin-top: -100px;
  padding-top: 100px;
}

#protocol-library,
#wolverine-options,
#hulk-options,
#superman-options,
#phoenix-options,
#shredder-options,
#aesthetic-options,
#regen-options {
  scroll-margin-top: 160px;
}

.oz-intro {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  padding: 80px 20px;
  color: #dce6ef;
}

.oz-intro h2 {
  font-size: 42px;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

.oz-intro p {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 18px;
  opacity: 0.9;
}

/* Protocol card hover effect */

.oz-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.oz-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.45);
}

/* ===== OZ HERO TITLE GLOW ===== */

.oz-hero__title {
  font-size: clamp(48px, 6vw, 84px);
  font-weight: 700;
  letter-spacing: 4px;
  text-align: center;

  text-shadow:
    0 0 10px rgba(90,255,200,0.25),
    0 0 25px rgba(90,255,200,0.18),
    0 0 45px rgba(90,255,200,0.12);
}

/* ===== Protocol Card Hover Upgrade ===== */

.protocol-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.protocol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.6);
}

/* ===== HERO ENERGY GLOW ===== */

.oz-hero__title {
  position: relative;
  z-index: 3;
}

.oz-hero__title::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 420px;
  height: 220px;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    circle,
    rgba(0, 255, 220, 0.35) 0%,
    rgba(0, 255, 220, 0.12) 40%,
    transparent 70%
  );
  filter: blur(40px);
  z-index: -1;
}

.oz-back-link {
  display: inline-block;
  margin-bottom: 18px;
  color: #9fded8;
  text-decoration: none;
  font-family: Oswald, sans-serif;
  letter-spacing: 1px;
  font-size: 14px;
  opacity: 0.9;
}

.oz-back-link:hover {
  opacity: 1;
  text-decoration: underline;
}

/* OZ Protocol Card Hover Effect */

.oz-protocol-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.oz-protocol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 25px rgba(0,255,200,0.25);
}

/* Optional subtle glow for images */

.oz-protocol-card img {
  transition: transform 0.4s ease;
}

.oz-protocol-card:hover img {
  transform: scale(1.03);
}

/* ===== HERO GLOW PULSE ===== */

.oz-hero__title::after {
  animation: ozHeroPulse 4.2s ease-in-out infinite;
}

@keyframes ozHeroPulse {
  0% {
    opacity: 0.85;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
  }
  100% {
    opacity: 0.85;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* ===== PROTOCOL CARD PREMIUM BORDER ===== */

.oz-card {
  position: relative;
  overflow: hidden;
}

.oz-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.04));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.65;
}

html {
  scroll-behavior: smooth;
}

/* ===== CARD HOVER ===== */

.oz-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.oz-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.45);
}

/* Image zoom inside card */

.oz-card img {
  transition: transform 0.4s ease;
}

.oz-card:hover img {
  transform: scale(1.03);
}

/* ===== HERO TITLE GLOW PULSE ===== */

.oz-hero__title {
  text-shadow: 
    0 0 10px rgba(140,255,220,0.6),
    0 0 20px rgba(140,255,220,0.4),
    0 0 40px rgba(140,255,220,0.2);
  animation: ozGlowPulse 4s ease-in-out infinite;
}

@keyframes ozGlowPulse {
  0% {
    text-shadow:
      0 0 10px rgba(140,255,220,0.6),
      0 0 20px rgba(140,255,220,0.4),
      0 0 40px rgba(140,255,220,0.2);
  }

  50% {
    text-shadow:
      0 0 14px rgba(140,255,220,0.8),
      0 0 28px rgba(140,255,220,0.6),
      0 0 55px rgba(140,255,220,0.3);
  }

  100% {
    text-shadow:
      0 0 10px rgba(140,255,220,0.6),
      0 0 20px rgba(140,255,220,0.4),
      0 0 40px rgba(140,255,220,0.2);
  }
}

.oz-back-link{
  display:inline-block;
  margin-bottom:18px;
  color:#7fffd4;
  font-size:13px;
  letter-spacing:1px;
  text-decoration:none;
  opacity:.8;
}

.oz-back-link:hover{
  opacity:1;
}

* ===== RESEARCH COMPOUNDS / PRODUCT CARD TITLE FIX ===== */

.card__heading,
.card__heading a,
.full-unstyled-link {
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.5px !important;
  text-wrap: balance;
  word-break: normal !important;
  overflow-wrap: break-word;
}

/* Optional: keep vendor + price spacing tighter */
.card-information {
  row-gap: 6px;
}

/* Mobile tidy-up */
@media screen and (max-width: 749px) {
  .card__heading,
  .card__heading a,
  .full-unstyled-link {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* ===== LIGHTEN RESEARCH COMPOUND CARDS ===== */

.card,
.card-wrapper .card {
  background: linear-gradient(145deg, rgba(7,19,42,0.92), rgba(3,10,24,0.96)) !important;
  border: 1px solid rgba(255,255,255,0.08);
}

.card__media::after,
.media::after {
  opacity: 0.12 !important;
}

/* Offset anchor landing so section sits below hero */

#superman-options,
#wolverine-options,
#hulk-options,
#phoenix-options,
#regeneration-options,
#aesthetic-options,
#shredder-options {
  scroll-margin-top: 220px;
  padding-top: 60px;
}

/* ===== FIX FIRST PROTOCOL DETAIL ROW ONLY ===== */

.oz-protocol-page .page-width > div:nth-child(3) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.oz-protocol-page .page-width > div:nth-child(3) > :first-child,
.oz-protocol-page .page-width > div:nth-child(3) > :nth-child(2) {
  min-height: 180px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* mobile stacking */
@media screen and (max-width: 749px) {
  .oz-protocol-page .page-width > div:nth-child(3) {
    grid-template-columns: 1fr;
  }

  .oz-protocol-page .page-width > div:nth-child(3) > :first-child,
  .oz-protocol-page .page-width > div:nth-child(3) > :nth-child(2) {
    min-height: auto !important;
  }
}

/* ==== only reduce oversized Designed For card ==== */

.oz-protocol-page .page-width > div::nth-child(3) > :first-child {
  min-height: 0 !important;
  height: auto !important;
}

/* ===== PROTOCOL TOP DETAIL PANELS: KEEP BOTH EVEN ===== */

.oz-protocol-page__grid {
  align-items: start;
}

.oz-protocol-page__grid > .oz-panel {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.oz-protocol-page__grid > .oz-panel.oz-panel--wide {
  min-height: auto;
  display: block;
}

/* ===== PUSH DESIGNED FOR DOWN TO ALIGN WITH RIGHT SIDE ===== */

.oz-protocol-page__grid > .oz-panel:first-child {
  margin-top: 60px;
}

/* ===== MATCH HEIGHT OF DESIGNED FOR + WHAT'S INCLUDED ===== */

.oz-protocol-page__grid > .oz-panel {
  min-height: 140px;
}

.oz-panel ul {
  margin-top: 6px;
}

.oz-panel--wide {
  display: flex;
  align-items: center;
}

/* ===== OZ FUSION PRODUCT PAGE POLISH ===== */

.product {
  align-items: start;
}

.product__media-wrapper,
.product__info-wrapper {
  background: rgba(6, 12, 22, 0.72);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.03) inset;
}

.product__info-wrapper {
  max-width: 720px;
  margin: 0 auto;
}

.product__title,
.product__title h1,
.product__title .h1 {
  line-height: 1.08;
  letter-spacing: 0.03em;
  margin-bottom: 12px;
}

.price {
  margin-bottom: 18px;
}

.product-form__input,
.product-form__quantity,
.product-form__buttons,
.shopify-payment-button {
  margin-top: 18px;
}

.product-form__input legend,
.product-form__input label,
.quantity__label {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-form__input input[type="radio"] + label {
  border-radius: 999px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.02);
  transition: all 0.2s ease;
}

.product-form__input input[type="radio"]:checked + label {
  border-color: rgba(78, 227, 194, 0.9);
  box-shadow: 0 0 0 1px rgba(78, 227, 194, 0.4) inset;
}

.quantity {
  border-radius: 14px;
  overflow: hidden;
}

.quantity__button,
.quantity__input {
  min-height: 48px;
}

.product-form__submit,
.shopify-payment-button__button {
  border-radius: 14px;
  min-height: 54px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product__description,
.product__description.rte {
  margin-top: 28px;
  line-height: 1.7;
}

.product__description h3,
.product__description h4,
.product__description strong {
  display: block;
  margin-top: 18px;
  margin-bottom: 10px;
}

/* mobile */
@media screen and (max-width: 749px) {
  .product__media-wrapper,
  .product__info-wrapper {
    padding: 20px;
    border-radius: 16px;
  }
}

/* ===== CATALOG / COLLECTION CARD TEXT FIX ===== */

.card__heading,
.card__heading a,
.card-information,
.card-information *,
.price,
.price * {
  color: #f5f5f7 !important;
}

.card__heading a:hover {
  color: #4ee3c2 !important;
}

/* sold out badge text */
.badge,
.badge--bottom-left,
.badge--top-left {
  color: #f5f5f7 !important;
}

* ===== PRODUCT OVERVIEW ALIGNMENT ===== */

.product__description,
.product__description.rte {
  max-width: 620px;
  margin: 30px auto 0;
  text-align: center;
  line-height: 1.75;
}

.product__description p {
  margin-bottom: 18px;
}

.product__description ul {
  list-style-position: inside;
  padding-left: 0;
  margin-top: 14px;
}

.product__description li {
  margin-bottom: 10px;
}

.product__description h3,
.product__description h4,
.product__description strong {
  display: block;
  margin-top: 20px;
  margin-bottom: 12px;
}

/* ===== PRODUCT PAGE PANEL TIGHTENING ===== */

.product__media-wrapper,
.product__info-wrapper {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.product__info-wrapper {
  text-align: center;
}

.product-form__buttons,
.shopify-payment-button {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== PRODUCT OVERVIEW BLOCK ALIGNMENT ===== */

.product__info-wrapper .rte,
.product__info-wrapper .product__description,
.product__info-wrapper .product__description.rte {
  max-width: 640px;
  margin: 30px auto 0 !important;
  text-align: center !important;
  line-height: 1.75;
}

.product__info-wrapper .rte p,
.product__info-wrapper .product__description p {
  margin: 0 0 18px 0;
}

.product__info-wrapper .rte h2,
.product__info-wrapper .rte h3,
.product__info-wrapper .rte h4,
.product__info-wrapper .product__description h2,
.product__info-wrapper .product__description h3,
.product__info-wrapper .product__description h4,
.product__info-wrapper .product__description strong {
  display: block;
  margin: 18px 0 12px;
  text-align: center !important;
}

.product__info-wrapper .rte ul,
.product__info-wrapper .product__description ul {
  list-style-position: inside;
  padding-left: 0;
  margin: 14px 0 0;
  text-align: center !important;
}

.product__info-wrapper .rte li,
.product__info-wrapper .product__description li {
  margin-bottom: 10px;
}

/* ===== PRODUCT PAGE BACK LINK ===== */

.product__info-wrapper a[href*="/pages/protocols"],
.product__info-wrapper a[href*="/pages/research-compounds"],
.product__info-wrapper a[href*="/collections/all"] {
  color: #4ee3c2 !important;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.product__info-wrapper a[href*="/pages/protocols"]:hover,
.product__info-wrapper a[href*="/pages/research-compounds"]:hover,
.product__info-wrapper a[href*="/collections/all"]:hover {
  opacity: 0.8;
}

/* ===== FORCE ALL PROTOCOL BACK LINKS TO TEAL ===== */

.oz-protocol-page a[href*="/pages/protocols"],
.oz-protocol-page a[href*="/pages/protocol-library"],
.product__info-wrapper a[href*="/pages/protocols"],
.product__info-wrapper a[href*="/pages/protocol-library"] {
  color: #4ee3c2 !important;
  font-weight: 700;
  text-decoration: none;
}

.oz-protocol-page a[href*="/pages/protocols"]:hover,
.oz-protocol-page a[href*="/pages/protocol-library"]:hover,
.product__info-wrapper a[href*="/pages/protocols"]:hover,
.product__info-wrapper a[href*="/pages/protocol-library"]:hover {
  opacity: 0.8;
}

/* ===== REGENERATION TOP CARD ALIGNMENT FIX ===== */

#regeneration-options {
  margin-top: 40px;
}

/* ===== Regeneration only: nudge Designed For down ===== */
.oz-protocol-page[class*="oz-accent-rege"] .oz-protocol-page__grid > .oz-panel:first-child {
  margin-top: 2px !important;
}

/* Regeneration page spacing correction */
#regeneration-protocol-top .oz-protocol-page__grid {
  margin-top: 80px !important;
}

/* ===== MOBILE HERO FIX ===== */
@media screen and (max-width: 749px) {

  .oz-hero,
  .oz-hero-section,
  .hero-banner {
    min-height: auto;
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .oz-hero__content,
  .hero__content,
  .banner__content {
    padding-left: 18px;
    padding-right: 18px;
    max-width: 100%;
    text-align: center;
  }

  .oz-hero__title,
  .hero__title,
  .banner__heading h1 {
    font-size: 2.2rem;
    line-height: 1.05;
    letter-spacing: 0.14em;
    margin-bottom: 14px;
  }

  .oz-hero__text,
  .hero__text,
  .banner__text {
    font-size: 1.55rem;
    line-height: 1.55;
    letter-spacing: 0.16em;
    max-width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
  }

  /* Amino circle / background art */
  .oz-hero-overlay,
  .oz-hero__overlay,
  .oz-amino-circle,
  .hero__media img,
  .banner__media img {
    transform: scale(1.18);
    transform-origin: center center;
    opacity: 0.24;
  }

  /* CTA buttons */
  .oz-hero .button,
  .oz-hero .button--secondary,
  .hero .button,
  .banner .button {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    font-size: 1.35rem;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
  }

  .oz-hero__buttons,
  .hero__buttons,
  .banner__buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
}

/* ===== MOBILE HERO IMAGE FIX ===== */

@media screen and (max-width: 749px) {

  .oz-hero-overlay img,
  .hero__media img,
  .banner__media img {
    width: 100%;
    height: auto;
    max-width: none;
    transform: scale(5.4);
    transform-origin: center center;
  }

  .hero__media,
  .banner__media,
  .oz-hero-overlay {
    overflow: hidden;
  }

}

.hero__media img {
  transform: scale(2.6) translateY(-5%);
}

/* ===== HOME HERO AMINO CIRCLE MOBILE FIX ===== */
@media screen and (max-width: 749px) {
  .oz-hero {
    overflow: hidden;
  }

  .oz-hero__science {
    width: 140vw !important;
    max-width: none !important;
    min-width: 120vw !important;
    height: auto !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* Catalog headings fix */
.card__heading,
.card__heading a,
.card-information__text,
.card-information__text a,
.full-unstyled-link {
  color: #f5f7fa !important;
}

.price,
.price-item,
.card-information .price {
  color: #dfe8f2 !important;
}

/* ===== PRODUCT PAGE TITLE FIX ===== */
.product__title,
.product__title h1,
.product__title h2,
.product__info-wrapper h1,
.product__info-container h1,
.main-product h1 {
  color: #f5f7fa !important;
}

/* ===== PRODUCT DESCRIPTION HEADINGS FIX ===== */
.product__description h3,
.product__description h4,
.product__info-container .rte h3,
.product__info-container .rte h4,
.product__info-wrapper .rte h3,
.product__info-wrapper .rte h4,
.rte h3,
.rte h4 {
  color: #dfe8f2 !important;
}

.product__description,
.product__description p,
.product__description li,
.product__description ul,
.product__info-container .rte,
.product__info-container .rte p,
.product__info-container .rte li {
  color: #dfe8f2 !important;
}

/* ===== PRODUCT VARIANT / BUNDLE SELECTOR POLISH ===== */
.product-form__input {
  margin: 18px 0 !important;
}

.product-form__input legend,
.product-form__input .form__label {
  margin-bottom: 12px !important;
}

.product-form__input input[type="radio"] + label {
  min-width: 140px;
  padding: 12px 18px !important;
  margin: 6px 8px 6px 0 !important;
  border-radius: 999px !important;
  line-height: 1.2;
  text-align: center;
}

.product-form__input--pill {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.product-form__input--pill input[type="radio"] + label {
  margin: 0 !important;
}

/* ===== SITE-WIDE VARIANT / PRICING PILLS ===== */
.product-form__input {
  margin: 20px 0 !important;
}

.product-form__input legend,
.product-form__input .form__label {
  display: block;
  text-align: center;
  margin-bottom: 14px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-form__input--pill {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center;
  gap: 10px !important;
}

.product-form__input--pill input[type="radio"] + label {
  min-width: 210px;
  padding: 12px 20px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  text-align: center;
  line-height: 1.2;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 749px) {
  .product-form__input--pill input[type="radio"] + label {
    min-width: 100%;
  }
}

/* ===== GLOBAL PRODUCT OPTION PILLS ===== */

.product-form__input--pill {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.product-form__input {
  margin: 16px 0;
}

.product-form__input legend,
.product-form__input .form__label {
  display: block;
  width: 100%;
  text-align: center;
  color: #cfe8ff;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
}

.product-form__input input[type="radio"] + label {
  background: rgba(8, 16, 30, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #eef7ff !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  min-width: 150px;
  text-align: center;
  transition: all 0.25s ease;
  box-shadow: none !important;
}

.product-form__input input[type="radio"] + label:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 255, 198, 0.45) !important;
  box-shadow: 0 0 18px rgba(0, 255, 198, 0.14) !important;
}

.product-form__input input[type="radio"]:checked + label {
  background: rgba(8, 16, 30, 0.98) !important;
  border-color: #00ffc6 !important;
  color: #ffffff !important;
  box-shadow:
    0 0 1px rgba(0,255,198,0.16) inset,
    0 0 18px rgba(0,255,198,0.18),
    0 0 30px rgba(0,180,255,0.12) !important;
}

/* ===== COMPOUND OPTION SPACING TIGHTEN ===== */

.product__info-container .product-form__input {
  margin-top: 10px;
  margin-bottom: 14px;
}

.product__info-container .product-form__input legend,
.product__info-container .product-form__input .form__label {
  margin-bottom: 8px;
}

.product__info-container .product-form__input--pill {
  gap: 8px;
}

/* ===== PROTOCOL PILL BALANCE ===== */

#protocol-options .product-form__input input[type="radio"] + label,
.product-form__input input[type="radio"] + label {
  min-width: 170px;
}

/* ===== COMPOUND PILL TIDY-UP ===== */

/* Tighten spacing between compound option groups */
.product__info-container .product-form__input {
  margin-top: 8px !important;
  margin-bottom: 10px !important;
}

/* Keep labels compact */
.product__info-container .product-form__input legend,
.product__info-container .product-form__input .form__label {
  margin-bottom: 6px !important;
  line-height: 1.1;
}

/* Make compound pills a touch narrower and tighter */
.product__info-container .product-form__input input[type="radio"] + label {
  min-width: 130px !important;
  padding: 10px 16px !important;
}

/* Tighten spacing above quantity selector */
.product__info-container .quantity {
  margin-top: 10px !important;
}

/* Reduce gap before add to cart / submit area */
.product__info-container .product-form__buttons,
.product__info-container .product-form__submit {
  margin-top: 12px !important;
}

/* ===== CATALOG CARD STRUCTURE ===== */

.collection .card-wrapper {
  height: 100%;
}

.collection .card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.collection .card__inner {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

/* Keep titles aligned */
.collection .card__heading {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Lock bottom section position */
.collection .card__content {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Price alignment */
.collection .price {
  margin-top: 6px;
}

/* Remove uneven spacing from badges */
.collection .card__badge {
  margin-bottom: 8px;
}

/* Center catalog card content perfectly */
.collection .card__information {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.collection .card__information > * {
  margin-left: auto;
  margin-right: auto;
}

/* ===== FORCE BUNDLE PILLS TO TRUE CENTER ===== */

.product-form__input--pill {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.product-form__input--pill .form__label,
.product-form__input--pill legend {
  width: 100% !important;
  text-align: center !important;
}

.product-form__input--pill input[type="radio"] + label {
  margin: 0 !important;
}
/* ===== OZ FUSION HOVER GLOW ===== */

.collection .card {
  transition: all 0.3s ease;
  border-radius: 12px;
}

.collection .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 18px rgba(0, 255, 200, 0.25),
              0 0 40px rgba(0, 120, 255, 0.15);
}

/* ===== PRODUCT PAGE COMPRESSION ===== */

.product__info-container {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.product__title {
  margin-bottom: 6px !important;
}

.price {
  margin-bottom: 8px !important;
}

.product-form {
  margin-top: 10px !important;
}

.quantity {
  margin-top: 8px !important;
}

/* ===== PRODUCT CARD TIGHTER LAYOUT ===== */

.product__info-wrapper {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.product__media-wrapper {
  padding-bottom: 10px !important;
}

/* ===== CENTER PRODUCT CONTENT MORE CLEANLY ===== */

.product {
  align-items: center;
}

/* ===== HERO AUTHORITY UPGRADE ===== */

.oz-hero {
  min-height: 72vh !important;
  padding-top: 24px !important;
  padding-bottom: 28px !important;
}

.oz-hero__content {
  max-width: 920px;
  margin: 0 auto;
  padding-top: 8px !important;
}

.oz-hero__title {
  margin-bottom: 14px !important;
  line-height: 0.95;
}

.oz-hero__subtitle {
  max-width: 760px;
  margin: 0 auto 22px auto !important;
  line-height: 1.45;
}

.oz-hero__buttons {
  margin-top: 10px !important;
  gap: 14px !important;
}

.oz-hero .oz-btn {
  min-width: 280px;
}

@media screen and (max-width: 749px) {
  .oz-hero {
    min-height: 66vh !important;
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .oz-hero__title {
    margin-bottom: 10px !important;
  }

  .oz-hero__subtitle {
    margin-bottom: 16px !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .oz-hero .oz-btn {
    min-width: 100%;
  }
}

/* ===== FOOTER COMPRESSION ===== */

.footer {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.footer__content-top {
  padding-bottom: 10px !important;
}

.footer__content-bottom {
  padding-top: 10px !important;
}

/* ===== PRE-FOOTER TEXT SECTION TIGHTEN ===== */

.oz-section,
.section {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* ===== REMOVE STRIP BETWEEN HERO AND NEXT SECTION ===== */

.oz-hero {
  margin-bottom: 0 !important;
}

.oz-hero + .shopify-section,
.oz-hero + .section,
.oz-hero + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.oz-hero + .shopify-section .page-width,
.oz-hero + .section .page-width {
  margin-top: 0 !important;
}

.shopify-section {
  border-top: none !important;
}

/* Force the section directly after hero to blend cleanly */
.oz-hero + .shopify-section {
  background: #000 !important;
}

/* Exact homepage custom liquid strip fix */
.shopify-section-template--21905781424363__custom_liquid_YbKUIz {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

.shopify-section-template--21905781424363__custom_liquid_YbKUIz::before,
.shopify-section-template--21905781424363__custom_liquid_YbKUIz::after {
  display: none !important;
  content: none !important;
}

.oz-hero-subtext {
  margin-top: 18px;
  font-size: 13px;
  color: #8fa3b8;
  opacity: 0.75;
  letter-spacing: 0.5px;
}

.oz-hero-subtext {
  margin-top: 20px;
  font-size: 12.5px;
  color: #8fa3b8;
  opacity: 0.65;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

/* ===== RESEARCH LIBRARY PAGE ===== */

.oz-library-links {
  margin-top: 24px;
}

.oz-library-links p {
  margin: 0 0 14px;
}

.oz-library-links a {
  display: inline-block;
  min-width: 260px;
  padding: 14px 18px;
  border-radius: 12px;
  text-decoration: none;
  text-align: center;
  background: rgba(8, 16, 30, 0.92);
  border: 1px solid rgba(255,255,255,0.12);
  color: #eef7ff;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.oz-library-links a:hover {
  transform: translateY(-2px);
  border-color: rgba(0,255,198,0.4);
  box-shadow:
    0 0 16px rgba(0,255,198,0.12),
    0 0 28px rgba(0,180,255,0.08);
  color: #9fffee;
}

.page-width .rte hr {
  opacity: 0.14;
  margin: 22px 0;
}

.oz-subtext {
  opacity: 0.75;
  margin-bottom: 30px;
  text-align: center;
}

.oz-compound-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 30px;
}

.oz-compound-card {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  text-decoration: none;
  color: #8ec5ff;
  font-weight: 500;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  background: rgba(255,255,255,0.02);
}

.oz-compound-card:hover {
  border-color: #8ec5ff;
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 0 20px rgba(142,197,255,0.2);
}

/* === BLOG TEXT CLEANUP (REMOVE GLOW) === */
.article-card h2,
.article-card p,
.article-card .rte,
.article-template h1,
.article-template h2,
.article-template h3,
.article-template p,
.rte h1,
.rte h2,
.rte h3,
.rte p {
  text-shadow: none !important;
}

/* Improve readability */
.article-template {
  letter-spacing: 0.02em;
}

.article-template p {
  line-height: 1.7;
  color: rgba(255,255,255,0.92);
}

.article-template h1,
.article-template h2,
.article-template h3 {
  color: #ffffff;
}

.article-template {
  max-width: 720px;
  margin: 0 auto;
}

/* === GLOBAL TEXT SCALE TUNE-UP === */
body,
.rte,
.article-template p,
.article-card p,
.oz-research-library-intro p,
.oz-compound-index p,
.oz-subtext,
.oz-featured-content p {
  font-size: 1.05rem;
  line-height: 1.75;
}

/* Slightly stronger supporting text */
.oz-research-library-intro p,
.oz-compound-index p,
.oz-subtext,
.hero-subtext,
.oz-hero-subtext {
  color: rgba(255,255,255,0.96);
}

/* === HOMEPAGE SUPPORTING TEXT UNDER CTA === */
.oz-hero p,
.oz-hero .subtitle,
.oz-hero .subtext,
.oz-hero-support,
.oz-hero-tagline {
  color: rgba(255,255,255,0.96) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* === PROTOCOL LIBRARY CARD TITLE CONSISTENCY === */
.protocol-library .protocol-card h3,
.protocol-library .oz-protocol-card h3,
.oz-protocol-grid .oz-protocol-card h3,
.oz-foundation-grid .oz-protocol-card h3 {
  min-height: 2.6em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.15;
}

/* Optional: make all protocol subtitles align evenly too */
.protocol-library .protocol-card p,
.protocol-library .oz-protocol-card p,
.oz-protocol-grid .oz-protocol-card p,
.oz-foundation-grid .oz-protocol-card p {
  min-height: 1.5em;
  text-align: center;
}

/* === RESEARCH PAGE HEADING STRENGTH === */
.oz-research-library-intro h1,
.oz-compound-index h1,
.blog-articles .title,
.main-blog h1,
.article-template h1 {
  font-size: clamp(2.8rem, 5vw, 4.4rem);
  line-height: 1;
}

.oz-research-library-intro h2,
.oz-compound-index h2,
.article-template h2,
.article-template h3 {
  font-size: 1.5rem;
}

/* === COMPOUND CARD TEXT BOOST === */
.oz-compound-card {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

/* === HOMEPAGE HERO SUPPORT TEXT: BRIGHTER + LARGER === */
.oz-hero-note,
.oz-hero-kicker,
.oz-hero .oz-hero-note,
.oz-hero .oz-hero-kicker,
.oz-hero .hero-note,
.oz-hero .hero-kicker,
.oz-hero .subtitle,
.oz-hero .subtext,
.oz-hero p:last-of-type {
  color: rgba(255,255,255,0.96) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* === PROTOCOL LIBRARY: FORCE TITLE STACKING + ALIGNMENT === */
.protocol-library .protocol-card__title,
.protocol-library .oz-protocol-card__title,
.protocol-library .protocol-card h3,
.protocol-library .oz-protocol-card h3,
.oz-protocol-grid .protocol-card__title,
.oz-protocol-grid .oz-protocol-card__title,
.oz-protocol-grid .protocol-card h3,
.oz-protocol-grid .oz-protocol-card h3 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.08 !important;
  min-height: 2.8em !important;
}

/* Makes HULK sit above PROTOCOL consistently */
.protocol-library .protocol-card__title br,
.protocol-library .oz-protocol-card__title br,
.oz-protocol-grid .protocol-card__title br,
.oz-protocol-grid .oz-protocol-card__title br {
  display: block !important;
}

/* Keep subtitles level across all cards */
.protocol-library .protocol-card__series,
.protocol-library .oz-protocol-card__series,
.protocol-library .protocol-card p,
.protocol-library .oz-protocol-card p,
.oz-protocol-grid .protocol-card__series,
.oz-protocol-grid .oz-protocol-card__series,
.oz-protocol-grid .protocol-card p,
.oz-protocol-grid .oz-protocol-card p {
  min-height: 1.5em !important;
  text-align: center !important;
}

/* Slight bump for protocol card text */
.protocol-library .protocol-card,
.protocol-library .oz-protocol-card,
.oz-protocol-grid .protocol-card,
.oz-protocol-grid .oz-protocol-card {
  font-size: 1.04rem !important;
}

/* === RESEARCH LIBRARY TEXT BOOST (TARGETED) === */
.page-research-library p,
.template-page .rte p,
.main-page .rte p,
.page-width p {
  font-size: 1.08rem !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.96) !important;
}

.page-research-library hr,
.page-research-library .divider {
  margin: 40px 0;
  opacity: 0.2;
}

/* === SITE-WIDE TEXT SCALE (CONTROLLED) === */
p,
li,
.rte,
.rte p,
.main-page p,
.page-width p,
.article-template p,
.article-card p,
.oz-research-library-intro p,
.oz-compound-index p,
.oz-subtext,
.oz-featured-content p {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Supporting text stays bright */
p,
li,
.rte p,
.main-page p,
.page-width p,
.article-template p,
.article-card p,
.oz-research-library-intro p,
.oz-compound-index p,
.oz-subtext,
.oz-featured-content p {
  color: rgba(255,255,255,0.96) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Headings stronger site-wide */
h1 {
  font-size: clamp(2.8rem, 5vw, 4.4rem) !important;
  line-height: 1 !important;
}

h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  line-height: 1.1 !important;
}

h3 {
  font-size: clamp(1.2rem, 2vw, 1.5rem) !important;
  line-height: 1.2 !important;
}

/* === RESTORE HERO TITLE SIZE === */
.oz-hero-title,
.oz-hero h1,
.home-hero h1,
.banner__heading,
.hero__title {
  font-size: clamp(4.2rem, 8vw, 7rem) !important;
  line-height: 0.95 !important;
}

/* === RESTORE BUTTON / CTA TEXT === */
button,
.button,
.btn,
.shopify-payment-button__button,
.oz-button,
.oz-cta,
a.button,
a.btn {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
}

.oz-protocol-page .oz-back-link,
.oz-protocol-page .back-link,
.oz-protocol-page .return-link {
  font-size: 1rem !important;
}

@media screen and (max-width: 749px) {
  .oz-back-link {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.2px !important;
  }
}

/* === KEEP BODY TEXT LARGER, BUT NOT BUTTONS OR TITLES === */
.oz-research-library-intro p,
.oz-compound-index p,
.article-template p,
.rte p,
.main-page p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.96) !important;
}

/* === KEEP RESEARCH / CONTENT HEADINGS STRONG === */
.oz-research-library-intro h1,
.oz-compound-index h1,
.article-template h1 {
  font-size: clamp(2.8rem, 5vw, 4.4rem) !important;
  line-height: 1 !important;
}

/* === GLOBAL TEXT SYSTEM (OZ FUSION CLEAN TYPE SCALE) === */

/* Base text */
body {
  font-size: 18px;
  line-height: 1.75;
}

/* Paragraphs + rich text */
p,
.rte p,
.product__description,
.article-template p {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Small/meta text */
small,
.caption,
.product__text,
.card-information__text,
.article-card__excerpt {
  font-size: 14px !important;
  opacity: 0.8;
}

/* Product titles */
.product__title h1 {
  font-size: 42px !important;
  letter-spacing: 1px;
}

/* Prices */
.price {
  font-size: 20px !important;
}

/* Buttons */
button,
.button {
  font-size: 14px !important;
  letter-spacing: 1px;
}

/* Navigation */
.header__menu-item {
  font-size: 14px !important;
  letter-spacing: 1px;
}

/* ===== TARGETED TYPE FIXES ===== */

/*  
.card-information__wrapper,
.card-information,
.card-information__text,
.card-information__wrapper .price,
.card-information__wrapper .price-item {
  font-size: 18px !important;
  line-height: 1.5 !important;
}
*/

.card__heading,
.card__heading a,
.full-unstyled-link {
  font-size: 20px !important;
  line-height: 1.3 !important;
}

/* Blog index cards */
.main-blog .title--primary,
.blog-articles .title--primary {
  font-size: 56px !important;
  line-height: 1 !important;
}

.article-card .card__heading,
.article-card__title,
.article-card h2,
.article-card h3,
.blog-articles .card__heading {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

.article-card .article-card__excerpt,
.article-card p,
.blog-articles p {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

/*  
.oz-protocol-grid h2,
.oz-protocol-grid h3,
.protocol-library h2,
.protocol-library h3,
.oz-protocol-card h2,
.oz-protocol-card h3 {
  font-size: 24px !important;
  line-height: 1.2 !important;
}
*/

.oz-protocol-grid p,
.protocol-library p,
.oz-protocol-card p {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

/* Product page */
.product__title h1,
.product__title {
  font-size: 56px !important;
  line-height: 1 !important;
}

.product__text,
.product__description,
.product__description p,
.product .rte p,
.product li {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.price,
.price-item {
  font-size: 22px !important;
  line-height: 1.2 !important;
}

/* Buttons / links on product pages */
.oz-back-link,
.product .button,
.product button,
.product-form__submit,
.product__info .button {
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
}

/* ===== PROTOCOL CARD TEXT FIX ===== */

.oz-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  min-height: 220px; /* gives text room to breathe */
  padding: 30px 20px;
  text-align: center;
}

/* Title inside cards */
.oz-card h3 {
  font-size: 32px !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  margin-bottom: 10px !important;
}

/* Subtitle inside cards */
.oz-card p {
  font-size: 20px !important;
  line-height: 1.4 !important;
  opacity: 0.9;
}

.oz-series-title {
  font-size: 34px;
  letter-spacing: 3px;
  text-align: center;
  margin: 60px 0;
}

/* ===== COLLECTION CARD FIX (FINAL) ===== */

.card-wrapper {
  height: 100%;
}

.card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}

/* Image container */
.card__media {
  height: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 20px 0 !important;
}

/* Image */
.card__media img {
  max-height: 220px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Content section */
.card__content {
  margin-top: auto !important;
  padding-top: 10px !important;
  text-align: center !important;
}

/* Title */
.card__heading {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

/* Price */
.price {
  font-size: 16px !important;
  margin-top: 6px !important;
}

/* ===== FIX IMAGE RATIO + DEAD SPACE ===== */

/* Kill Shopify's forced aspect ratio */
.card__media {
  aspect-ratio: auto !important;
  height: auto !important;
}

/* Remove the internal ratio wrapper */
.media {
  position: relative !important;
  padding-bottom: 0 !important;
  height: auto !important;
}

/* Fix image positioning */
.media img {
  position: relative !important;
  height: auto !important;
  width: auto !important;
  max-height: 240px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}

/* ===== TIGHTEN PRODUCT CARDS ===== */

/* Reduce overall card height */
.card {
  padding-bottom: 10px !important;
}

/* Bring image + content closer */
.card__media {
  margin-bottom: 10px !important;
}

/* Reduce space above content */
.card__content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Tighten title spacing */
.card__heading {
  margin-bottom: 4px !important;
}

/* Tighten price spacing */
.price {
  margin-top: 2px !important;
}

/* OPTIONAL: pull "Sold out" up */
.badge {
  margin-top: -10px !important;
}

/* ===== CATALOG TEXT REBALANCE ===== */
.card__heading,
.card__heading a,
.full-unstyled-link {
  font-size: 14px !important;
  line-height: 1.25 !important;
  letter-spacing: 0.4px !important;
}

.price,
.price-item,
.card-information__wrapper .price,
.card-information__wrapper .price-item {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

/* tighten bottom content spacing */
.card__information,
.card-information,
.card-information__wrapper {
  gap: 4px !important;
}

.card__heading {
  margin-bottom: 2px !important;
}

.price {
  margin-top: 0 !important;
}

/* ===== ELITE CARD HOVER ===== */

.card-wrapper {
  transition: transform 0.3s ease, filter 0.3s ease;
}

.card-wrapper:hover {
  transform: translateY(-6px);
  filter: brightness(1.05);
}

/* Glow enhancement */
.card-wrapper:hover .card {
  box-shadow: 0 0 25px rgba(0, 255, 170, 0.15);
}

/* Image subtle zoom */
.card__media img {
  transition: transform 0.4s ease;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.05);
}

/* ===== COLORED GLOW PER CARD ===== */

.oz-card--wolverine:hover {
  box-shadow: 0 0 25px rgba(255, 120, 0, 0.25);
}

.oz-card--hulk:hover {
  box-shadow: 0 0 25px rgba(0, 255, 120, 0.25);
}

.oz-card--superman:hover {
  box-shadow: 0 0 25px rgba(0, 150, 255, 0.25);
}

.oz-card--phoenix:hover {
  box-shadow: 0 0 25px rgba(255, 180, 0, 0.25);
}

.card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(circle at center, rgba(0,255,170,0.15), transparent 70%);
  transition: opacity 0.4s ease;
}

.card-wrapper:hover .card::before {
  opacity: 1;
}

/* ===== PRODUCT PAGE LAYOUT BALANCE ===== */

/* Reduce image column dominance */
.product__media-wrapper {
  max-width: 45% !important;
}

/* Give content more space */
.product__info-wrapper {
  max-width: 55% !important;
}

/* ===== PRODUCT IMAGE CONTROL ===== */

.product__media {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 40px 0 !important;
}

/* Control image size */
.product__media img {
  max-height: 380px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Remove excessive media container space */
.product__media-list {
  height: auto !important;
}

.product__media-wrapper {
  padding: 0 !important;
}

/* ===== PRODUCT INFO SPACING ===== */

.product__info-wrapper {
  padding-left: 40px !important;
}

/* Title spacing */
.product__title {
  margin-bottom: 10px !important;
}

/* Description spacing */
.product__description {
  margin-top: 20px !important;
  line-height: 1.6 !important;
}

.oz-series-title {
  display: block;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: 3px;
  text-align: center;
  color: #ffffff;
  margin: 0 0 12px;
  opacity: 0.92;
}

.oz-series-subtitle {
  display: block;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 1px;
  text-align: center;
  color:rgb(3, 99, 114);
  margin: 0 0 42px;
  opacity: 0.9;
}


.oz-series-subtitle {
  margin-bottom: 24px;
}

.oz-series-title {
  margin-top: 30px;
}

/* ===== PROTOCOL PAGE SPACING REFINEMENT ===== */


/* Keep Protocol Library block tight */
.oz-protocol__title {
  margin-bottom: 14px !important;
}

.oz-protocol__subtitle {
  margin-bottom: 26px !important;
}

/* Push Superhuman block down a touch from the top intro */
.oz-series-title {
  margin-top: 34px !important;
  margin-bottom: 10px !important;
}

.oz-series-subtitle {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

/* ===== FOUNDATION SECTION PULLED UP ===== */
.oz-foundation-grid {
  margin-top: 18px !important;
}

.oz-foundation-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.oz-foundation-subtitle {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* ===== PROTOCOL CARD HOVER (MATCH CATALOG FEEL) ===== */

.oz-card {
  transition: 
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

/* Smooth text transition */
.oz-card h3,
.oz-card p {
  transition: 
    color 0.25s ease,
    text-shadow 0.25s ease;
}

/* Glow + lift */
.oz-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 28px rgba(127, 255, 212, 0.18);
}

/* Text colour change on hover */
.oz-card:hover h3,
.oz-card:hover p {
  color: #7fffd4 !important;
  text-shadow: 0 0 10px rgba(127, 255, 212, 0.2);
}

/* ===== PROTOCOL CARD HOVER (MATCH CATALOG FEEL) ===== */

.oz-card {
  transition: 
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

/* Smooth text transition */
.oz-card h3,
.oz-card p {
  transition: 
    color 0.25s ease,
    text-shadow 0.25s ease;
}

/* Glow + lift */
.oz-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 28px rgba(16, 98, 131, 0.2);
}

/* Text colour change on hover */
.oz-card:hover h3,
.oz-card:hover p {
  color: #7fffd4 !important;
  text-shadow: 0 0 10px rgba(16, 98, 131, 0.2);
}

/* ===== STRONGER CATALOG-STYLE GLOW ===== */

.oz-card:hover {
  transform: translateY(-6px);

  /* layered glow = depth */
  box-shadow:
    0 0 25px rgba(16, 98, 131, 0.2),
    0 0 60px rgba(16, 98, 131, 0.6),
    0 0 120px rgba(16, 98, 131, 0.8);
}

/* ===== PROTOCOL PRODUCT PAGES: IMAGE-FREE + WIDER ===== */

.template-product .product {
  justify-content: center !important;
}

.template-product .product__info-wrapper {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  flex: 0 0 760px !important;
}

.template-product .product__info-container {
  max-width: 100% !important;
  width: 100% !important;
}

/* Hide left image/media area for protocol-style product pages */
.template-product .product__media-wrapper {
  display: none !important;
}

/* Let the right panel feel broader and more premium */
.template-product .product__info-wrapper .oz-panel,
.template-product .product__info-wrapper .product__info-container > * {
  max-width: 100% !important;
}

/* Slightly more breathing room inside */
.template-product .product__info-container {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* ===== PROTOCOL PRODUCT PAGES: WIDER + IMAGE-FREE ===== */

.product--protocol-layout {
  display: flex !important;
  justify-content: center !important;
}

.product--protocol-layout #protocol-options {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  flex: 0 0 760px !important;
}

.product--protocol-layout .product__info-container {
  width: 100% !important;
  max-width: 100% !important;
}

.product--protocol-layout .product__info-wrapper {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

.product--protocol-layout .oz-panel {
  max-width: 100% !important;
}

/* Ensure protocol layout is truly centered in viewport */
.product--protocol-layout {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

/* Center the entire container, not just inner content */
.product--protocol-layout .page-width {
  display: flex !important;
  justify-content: center !important;
}

/* Make sure the card sits perfectly centered */
.product--protocol-layout #protocol-options {
  margin-left: auto !important;
  margin-right: auto !important;
}

.product--protocol-layout #protocol-options {
  transform: translateX(-2px);
}

/* ===== FIX: CENTER QUANTITY ON PROTOCOL PAGES ===== */

.product--protocol-layout .product-form__quantity {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.product--protocol-layout quantity-input {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

.product--protocol-layout .quantity {
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
}

.product--protocol-layout .quantity {
  transform: translateX(-22px);
}

/* FIX: quantity styling reverting */
.product--protocol-layout quantity-input,
.product--protocol-layout .quantity {
  background: transparent !important;
}

.product--protocol-layout .quantity__button,
.product--protocol-layout .quantity__input {
  background: #1c2433 !important; /* match your dark UI */
  color: #ffffff !important;
  border: none !important;
}

/* increase space under main title */
.oz-protocol-library h1 {
  margin-bottom: 40px !important;
}

/* force spacing between headings */
.oz-protocol-library h1 + h2,
.oz-protocol-library h1 + h3 {
  margin-top: 40px !important;
}

/* PROTOCOL CARD HOVER EFFECT */
.oz-protocol-card {
  transition: all 0.35s ease;
}

.oz-protocol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 25px rgba(0, 255, 200, 0.15),
              0 0 50px rgba(0, 150, 255, 0.1);
}
/* PROTOCOL CARD HOVER EFFECT */
.oz-protocol-card {
  transition: all 0.35s ease;
}

.oz-protocol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 25px rgba(0, 255, 200, 0.15),
              0 0 50px rgba(0, 150, 255, 0.1);
}

.oz-protocol-card:hover h3 {
  text-shadow: 0 0 10px rgba(255,255,255,0.15);
}

/* ENHANCED HOVER (builds on your existing glow) */
.oz-protocol-card:hover {
  transform: translateY(-6px);
  
  box-shadow: 
    0 0 30px rgba(0, 255, 200, 0.25),
    0 0 60px rgba(0, 150, 255, 0.18),
    0 10px 40px rgba(0, 0, 0, 0.4);
}

.oz-protocol-card {
  transition: 
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border 0.35s ease;
}

/* =========================
   PROTOCOL CARD ACCENT HOVER
   ========================= */

/* Wolverine */
.oz-accent-wolverine .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(255,122,24,.35),
              0 0 60px rgba(255,122,24,.2);
}

/* Hulk */
.oz-accent-hulk .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(0,255,136,.35),
              0 0 60px rgba(0,255,136,.2);
}

/* Superman */
.oz-accent-superman .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(0,195,255,.35),
              0 0 60px rgba(0,195,255,.2);
}

/* Phoenix */
.oz-accent-phoenix .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(255,179,71,.35),
              0 0 60px rgba(255,179,71,.2);
}

/* Shredder */
.oz-accent-shredder .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(255,77,109,.35),
              0 0 60px rgba(255,77,109,.2);
}

/* Aesthetic */
.oz-accent-aesthetic .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(155,107,255,.35),
              0 0 60px rgba(155,107,255,.2);
}

/* Regen */
.oz-accent-regen .oz-protocol-card:hover {
  box-shadow: 0 0 30px rgba(53,214,194,.35),
              0 0 60px rgba(53,214,194,.2);
}

/* ===== KEEP BASE CARD KEYLINES STRONG ===== */
.oz-card--wolverine.oz-accent-wolverine { border-color: #ff7a18 !important; }
.oz-card--hulk.oz-accent-hulk { border-color: #00ff88 !important; }
.oz-card--superman.oz-accent-superman { border-color: #00c3ff !important; }
.oz-card--phoenix.oz-accent-phoenix { border-color: #ffb347 !important; }

.oz-card--regen.oz-accent-regen { border-color: #35d6c2 !important; }
.oz-card--aesthetic.oz-accent-aesthetic { border-color: #9b6bff !important; }
.oz-card--shredder.oz-accent-shredder { border-color: #ff4d6d !important; }

/* ===== PROTOCOL CARD HOVER - GLOBAL ===== */
.oz-card {
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease,
    text-shadow 0.35s ease;
}

.oz-card:hover {
  transform: translateY(-6px) scale(1.01);
}

/* ===== WOLVERINE ===== */
.oz-card--wolverine.oz-accent-wolverine:hover {
  border-color: #ff7a18 !important;
  box-shadow:
    0 0 0 1px rgba(255,122,24,.45),
    0 0 22px rgba(255,122,24,.30),
    0 0 48px rgba(255,122,24,.18);
}
.oz-card--wolverine.oz-accent-wolverine:hover h3,
.oz-card--wolverine.oz-accent-wolverine:hover p {
  color: #ffb06b !important;
}

/* ===== HULK ===== */
.oz-card--hulk.oz-accent-hulk:hover {
  border-color: #00ff88 !important;
  box-shadow:
    0 0 0 1px rgba(0,255,136,.45),
    0 0 22px rgba(0,255,136,.30),
    0 0 48px rgba(0,255,136,.18);
}
.oz-card--hulk.oz-accent-hulk:hover h3,
.oz-card--hulk.oz-accent-hulk:hover p {
  color: #72ffb9 !important;
}

/* ===== SUPERMAN ===== */
.oz-card--superman.oz-accent-superman:hover {
  border-color: #00c3ff !important;
  box-shadow:
    0 0 0 1px rgba(0,195,255,.45),
    0 0 22px rgba(0,195,255,.30),
    0 0 48px rgba(0,195,255,.18);
}
.oz-card--superman.oz-accent-superman:hover h3,
.oz-card--superman.oz-accent-superman:hover p {
  color: #6fddff !important;
}

/* ===== PHOENIX ===== */
.oz-card--phoenix.oz-accent-phoenix:hover {
  border-color: #ffb347 !important;
  box-shadow:
    0 0 0 1px rgba(255,179,71,.45),
    0 0 22px rgba(255,179,71,.30),
    0 0 48px rgba(255,179,71,.18);
}
.oz-card--phoenix.oz-accent-phoenix:hover h3,
.oz-card--phoenix.oz-accent-phoenix:hover p {
  color: #ffd08a !important;
}

/* ===== REGEN ===== */
.oz-card--regen.oz-accent-regen:hover {
  border-color: #35d6c2 !important;
  box-shadow:
    0 0 0 1px rgba(53,214,194,.45),
    0 0 22px rgba(53,214,194,.30),
    0 0 48px rgba(53,214,194,.18);
}
.oz-card--regen.oz-accent-regen:hover h3,
.oz-card--regen.oz-accent-regen:hover p {
  color: #82f0e2 !important;
}

/* ===== AESTHETIC ===== */
.oz-card--aesthetic.oz-accent-aesthetic:hover {
  border-color: #9b6bff !important;
  box-shadow:
    0 0 0 1px rgba(155,107,255,.45),
    0 0 22px rgba(155,107,255,.30),
    0 0 48px rgba(155,107,255,.18);
}
.oz-card--aesthetic.oz-accent-aesthetic:hover h3,
.oz-card--aesthetic.oz-accent-aesthetic:hover p {
  color: #c3a4ff !important;
}

/* ===== SHREDDER ===== */
.oz-card--shredder.oz-accent-shredder:hover {
  border-color: #ff4d6d !important;
  box-shadow:
    0 0 0 1px rgba(255,77,109,.45),
    0 0 22px rgba(255,77,109,.30),
    0 0 48px rgba(255,77,109,.18);
}
.oz-card--shredder.oz-accent-shredder:hover h3,
.oz-card--shredder.oz-accent-shredder:hover p {
  color: #ff8aa0 !important;
}

.oz-back-link {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #7fffd4;
  opacity: 0.85;
  margin-top: 10px;
  margin-bottom: 18px;
  transition: all 0.25s ease;
  text-decoration: none;
}

.oz-back-link:hover {
  opacity: 1;
  transform: translateX(-4px);
  text-shadow: 0 0 14px rgba(127,255,212,0.4);
}

/* Back link accent hover */
.oz-accent-wolverine .oz-back-link:hover { text-shadow: 0 0 14px rgba(255,122,24,.5); }
.oz-accent-hulk .oz-back-link:hover { text-shadow: 0 0 14px rgba(0,255,136,.5); }
.oz-accent-superman .oz-back-link:hover { text-shadow: 0 0 14px rgba(0,195,255,.5); }
.oz-accent-phoenix .oz-back-link:hover { text-shadow: 0 0 14px rgba(255,179,71,.5); }

@media screen and (max-width: 749px) {

 @media screen and (max-width: 749px) {

  /* =========================
     PROTOCOL LIBRARY MOBILE
     ========================= */

  .oz-protocol__title {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: 2px !important;
    margin-bottom: 18px !important;
  }

  .oz-series-title {
    font-size: 24px !important;
    margin-bottom: 10px !important;
  }

  .oz-series-subtitle,
  .oz-protocol__subtitle {
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: 1px !important;
    margin-bottom: 26px !important;
  }

.oz-card {
    padding: 34px 20px !important;
    min-height: 240px !important;
  }

  .oz-card h3 {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  .oz-card p {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

}
  /* =========================
     PRODUCT PAGE MOBILE
     ========================= */

  .product--protocol-layout .product__info-wrapper,
  #protocol-options,
  .product__info-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .product--protocol-layout .product__title,
  .product--protocol-layout h1 {
    font-size: 44px !important;
    line-height: 0.95 !important;
    letter-spacing: 1px !important;
    margin-bottom: 14px !important;
  }

  .product--protocol-layout .price,
  .product--protocol-layout .price-per-item,
  .product--protocol-layout .price__regular {
    font-size: 16px !important;
  }

  .product--protocol-layout variant-radios,
  .product--protocol-layout .product-form__input {
    width: 100% !important;
  }

  .product--protocol-layout .product-form__input input[type="radio"] + label,
  .product--protocol-layout .product-form__input label {
    min-width: unset !important;
    width: 100% !important;
    font-size: 14px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
  }

  .product--protocol-layout .quantity {
    transform: none !important;
    margin: 0 auto 18px auto !important;
    width: 170px !important;
  }

  .product--protocol-layout .quantity__button,
  .product--protocol-layout .quantity__input {
    height: 54px !important;
  }

  .product--protocol-layout .product-form__submit,
  .product--protocol-layout .shopify-payment-button__button {
    width: 100% !important;
    font-size: 16px !important;
    padding: 16px 18px !important;
  }

  .oz-back-link {
    font-size: 15px !important;
    line-height: 1.3 !important;
    margin-bottom: 18px !important;
  }
}

.oz-protocol__title:first-of-type {
  font-size: 36px !important;
}





@media screen and (max-width: 768px) {

  /* Product container tighten */
  .product {
    padding: 30px 16px !important;
  }

  /* Title + price */
  .product__title {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  .price {
    font-size: 18px !important;
  }

  /* Bundle options (these big bars) */
  .product-form__input label {
    padding: 12px 14px !important;
    font-size: 14px !important;
    min-height: auto !important;
  }

  /* Reduce spacing between bundle options */
  .product-form__input {
    margin-bottom: 10px !important;
  }

  /* Quantity selector */
  .quantity {
    max-width: 140px !important;
  }

  .quantity__button {
    width: 36px !important;
    height: 36px !important;
  }

  .quantity__input {
    font-size: 16px !important;
  }

  /* Add to cart / Sold out button */
  .product-form__submit {
    padding: 14px !important;
    font-size: 14px !important;
  }

  /* Section spacing cleanup */
  .product__info-container > * {
    margin-bottom: 14px !important;
  }

}

.product-form__input label {
  border-radius: 8px !important;
}

.oz-protocol-page__grid .oz-panel ul {
  list-style: disc;
  padding-left: 1.2rem;
  margin: 0;
}

.oz-protocol-page__grid .oz-panel li {
  display: list-item;
  margin-bottom: 10px;
  line-height: 1.5;
  white-space: normal;
}

.oz-protocol-page__grid .oz-panel ul {
  list-style: disc !important;
  padding-left: 1.2rem !important;
  margin: 0 !important;
}

.oz-protocol-page__grid .oz-panel li {
  display: list-item !important;
  margin-bottom: 10px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
}

.oz-protocol-page__grid .oz-panel {
  overflow: visible !important;
}

.oz-protocol-page__grid .oz-panel ul,
.oz-protocol-page__grid .oz-panel li {
  width: 100% !important;
  float: none !important;
}

.oz-protocol-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.oz-protocol-page__grid .oz-panel {
  height: 100%;
}

.oz-protocol-page__grid {
  align-items: stretch !important;
}

.oz-protocol-page__grid .oz-panel {
  height: 100% !important;
}

.oz-protocol-page__grid {
  align-items: start !important;
}

.oz-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.oz-protocol-page__grid .oz-panel:first-child {
  margin-top: 0px;
}

.oz-protocol-page__focus-text {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.oz-focus-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.oz-focus-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
  background: #7ef0c2;
}

.oz-focus-item p {
  margin: 0;
  line-height: 1.6;
}

.oz-protocol-page__focus-text {
  list-style: none;
}

.oz-focus-item {
  list-style: none;
}

.oz-focus-item {
  list-style: none !important;
}

.oz-focus-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 4px; /* was 8px */
  background: #7ef0c2;
}

.oz-protocol-page__focus {
  margin-top: 12px;
}

.oz-protocol-page__focus-text,
.oz-protocol-page__focus-text ul,
.oz-protocol-page__focus-text li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.oz-protocol-page__focus-text li::before,
.oz-focus-item::before {
  content: none !important;
  display: none !important;
}

.oz-focus-item {
  gap: 8px; /* was 10px */
}

.oz-focus-item::before,
.oz-protocol-page__focus-text *::before {
  content: none !important;
  display: none !important;
}

.oz-protocol-page__focus-text p::before,
.oz-protocol-page__focus-text p::marker,
.oz-focus-item p::before,
.oz-focus-item p::marker {
  content: none !important;
  display: none !important;
}

.oz-protocol-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.oz-protocol-page .page-width {
  padding-top: 0 !important;
}

.oz-protocol-page__top {
  margin-top: 0 !important;
  padding-top: 0px !important;
}

.shopify-section:has(.oz-protocol-page) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 768px) {

  /* Overall page spacing */
  .oz-protocol-page,
  .oz-protocol-options,
  .oz-protocol-page__grid,
  .oz-protocol-options__grid,
  .oz-pricing-grid,
  .oz-pricing-cards {
    gap: 12px !important;
  }

  .oz-protocol-page .page-width,
  .oz-protocol-options .page-width {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Hero section */
  .oz-protocol-page__top {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .oz-protocol-page__poster,
  .oz-protocol-page__intro {
    width: 100% !important;
  }

  .oz-protocol-page__poster img,
  .oz-protocol-page__poster picture,
  .oz-protocol-page__poster .media {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  .oz-protocol-page__title {
    font-size: 2.1rem !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
  }

  .oz-protocol-page__desc {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }

  /* CTA stack */
  .oz-protocol-page__ctas {
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .oz-protocol-page__ctas .oz-btn,
  .oz-protocol-page__ctas .oz-btn--primary,
  .oz-protocol-page__ctas .oz-btn--secondary {
    width: 100% !important;
    text-align: center !important;
    padding: 13px 14px !important;
    min-height: unset !important;
  }

  /* Top cards and benefits */
  .oz-protocol-page__grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .oz-panel,
  .oz-panel--wide,
  .oz-option-card,
  .oz-pricing-card {
    padding: 16px !important;
    border-radius: 16px !important;
    min-height: unset !important;
  }

  .oz-panel h2,
  .oz-option-card h3,
  .oz-pricing-card h3 {
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
    margin-bottom: 10px !important;
  }

  .oz-panel p,
  .oz-panel li,
  .oz-focus-copy,
  .oz-option-card p,
  .oz-option-card li,
  .oz-pricing-card p,
  .oz-pricing-card li {
    font-size: 0.98rem !important;
    line-height: 1.5 !important;
  }

  /* Protocol options / pricing cards */
  .oz-protocol-options,
  .oz-protocol-options__grid,
  .oz-pricing-grid,
  .oz-pricing-cards {
    grid-template-columns: 1fr !important;
  }

  .oz-protocol-options .oz-btn,
  .oz-pricing-card .oz-btn,
  .oz-option-card .oz-btn {
    width: 100% !important;
    text-align: center !important;
  }

  /* Stop overflow */
  .oz-panel,
  .oz-option-card,
  .oz-pricing-card {
    overflow: hidden !important;
  }

  .oz-panel *,
  .oz-option-card *,
  .oz-pricing-card * {
    word-break: break-word !important;
  }

  /* Tighten section spacing */
  .oz-protocol-page__focus {
    margin-top: 10px !important;
  }

  .oz-back-link {
    display: inline-block !important;
    margin-top: 6px !important;
  }
}

@media (max-width: 768px) {

  /* Force ALL pricing/options into single column */
  .oz-protocol-options__grid,
  .oz-protocol-options,
  .oz-option-grid,
  .oz-pricing-grid,
  .oz-pricing-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Kill any horizontal layouts */
  .oz-option-row,
  .oz-pricing-row {
    display: block !important;
  }

}

@media (max-width: 768px) {

  .oz-option-card,
  .oz-pricing-card,
  .oz-panel {
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
  }

}

@media (max-width: 768px) {

  .oz-option-card,
  .oz-pricing-card,
  .oz-panel {
    font-size: 16px !important;
  }

  .oz-option-card h3,
  .oz-pricing-card h3 {
    font-size: 18px !important;
  }

  .oz-option-card p,
  .oz-pricing-card p,
  .oz-option-card li,
  .oz-pricing-card li {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

}

@media (max-width: 768px) {

  .quantity,
  .product-form,
  .product-form__buttons {
    width: 100% !important;
  }

  .quantity input {
    width: 100% !important;
    text-align: center;
  }

  .product-form__buttons button,
  .product-form__submit,
  .oz-btn {
    width: 100% !important;
    padding: 14px !important;
    font-size: 15px !important;
  }

}

@media (max-width: 768px) {

  .oz-option-card,
  .oz-pricing-card {
    overflow: hidden !important;
  }

  * {
    word-break: break-word;
  }

}

@media (max-width: 768px) {

  /* Protocol pricing wrapper */
  .oz-protocol-options,
  .oz-protocol-options__grid,
  .oz-protocol-options .product,
  .oz-protocol-options .product__info-wrapper,
  .oz-protocol-options .product-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Kill desktop spacing/offsets */
  .oz-protocol-options,
  .oz-protocol-options .page-width,
  .oz-protocol-options .product,
  .oz-protocol-options .product__info-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Bundle option buttons */
  .oz-protocol-options .oz-option-btn,
  .oz-protocol-options .product-form__input input[type="radio"] + label,
  .oz-protocol-options .product-form__input input[type="radio"] + span,
  .oz-protocol-options .product-form__input label {
    width: 100% !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }

  /* Remove any inherited strike-through / unavailable styling */
  .oz-protocol-options label,
  .oz-protocol-options span,
  .oz-protocol-options button,
  .oz-protocol-options .oz-option-btn {
    text-decoration: none !important;
  }

  .oz-protocol-options label::before,
  .oz-protocol-options label::after,
  .oz-protocol-options span::before,
  .oz-protocol-options span::after,
  .oz-protocol-options button::before,
  .oz-protocol-options button::after {
    text-decoration: none !important;
  }

  /* Quantity row */
  .oz-protocol-options .quantity,
  .oz-protocol-options quantity-input {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto 16px auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  .oz-protocol-options .quantity__label,
  .oz-protocol-options .form__label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    text-align: left !important;
  }

  /* CTA button */
  .oz-protocol-options .product-form__submit,
  .oz-protocol-options .shopify-payment-button,
  .oz-protocol-options .shopify-payment-button__button {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 18px !important;
    text-decoration: none !important;
  }

  /* Prevent weird clipping */
  .oz-protocol-options * {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* ===== MOBILE PROTOCOL VARIANT FIX ===== */
@media (max-width: 768px) {

  /* Target Shopify variant buttons directly */
  .product-form__input input[type="radio"] + label {
    width: 100% !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.2 !important;

    opacity: 1 !important;
    text-decoration: none !important;
  }

  /* Remove Shopify "unavailable" styling */
  .product-form__input input[type="radio"]:disabled + label {
    opacity: 1 !important;
    text-decoration: none !important;
  }

  /* Kill any strike-through pseudo elements */
  .product-form__input label::before,
  .product-form__input label::after {
    display: none !important;
  }

  /* Stack options properly */
  .product-form__input {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  /* Quantity fix */
  .quantity {
    width: 100% !important;
    max-width: 280px !important;
    margin: 10px auto !important;
  }

  .quantity__label {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 14px !important;
  }

  /* CTA button */
  .product-form__submit {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 18px !important;
  }

}

/* ===== MOBILE PRODUCT TEMPLATE FIX ===== */
@media (max-width: 768px) {

  main#MainContent .product {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  main#MainContent .product__media-wrapper,
  main#MainContent .product__info-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  main#MainContent .product__info-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin: 0 auto !important;
  }

  /* hide duplicate/awkward mobile product image area if needed */
  main#MainContent .product__media-wrapper {
    margin-bottom: 16px !important;
  }

  /* Variant picker stack */
  main#MainContent .product-form__input {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  main#MainContent .product-form__input input[type="radio"] + label {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  /* Quantity block */
  main#MainContent quantity-input.quantity,
  main#MainContent .quantity {
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 auto 18px auto !important;
    display: flex !important;
  }

  main#MainContent .quantity__label,
  main#MainContent .form__label {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
  }

  /* Sold out / add to cart */
  main#MainContent .product-form__buttons,
  main#MainContent .product-form__submit,
  main#MainContent .shopify-payment-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  main#MainContent .product-form__submit {
    min-height: 56px !important;
    font-size: 18px !important;
    padding: 14px 16px !important;
    box-sizing: border-box !important;
  }

  /* tighten headings a touch, not tiny */
  main#MainContent .product__title,
  main#MainContent h1 {
    font-size: 2.7rem !important;
    line-height: 1.02 !important;
  }

  main#MainContent .price {
    font-size: 1.2rem !important;
  }
}

@media (max-width: 768px) {
  main#MainContent,
  main#MainContent p,
  main#MainContent li,
  main#MainContent label,
  main#MainContent .price,
  main#MainContent .product__text,
  main#MainContent .product__description,
  main#MainContent .oz-focus-copy,
  main#MainContent .oz-panel li,
  main#MainContent .oz-panel p {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  main#MainContent .oz-back-link,
  main#MainContent .quantity__label,
  main#MainContent .form__label,
  main#MainContent .product__text.caption-with-letter-spacing,
  main#MainContent .caption-with-letter-spacing {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  main#MainContent .oz-panel h2,
  main#MainContent .product__title,
  main#MainContent h1 {
    font-size: 2.1rem !important;
    line-height: 1.08 !important;
  }

  main#MainContent .price {
    font-size: 1.9rem !important;
  }

  main#MainContent .product-form__input input[type="radio"] + label,
  main#MainContent .product-form__submit {
    font-size: 18px !important;
  }
}

html {
  scroll-behavior: smooth;
}

.oz-hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oz-hero {
  overflow: hidden;
}

.oz-hero::before {
  transform: scale(1.1);
}

/* ===== HEADER POLISH ===== */

header {
  background: linear-gradient(180deg, #020617 0%, #071a2b 100%);
  border-bottom: 1px solid rgba(0, 255, 200, 0.05);
}

/* Center logo perfectly */
.header__heading-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Improve logo clarity */
.header__heading-logo {
  opacity: 0.95;
  transition: all 0.3s ease;
}

/* Subtle hover effect (premium feel) */
.header__heading-link:hover .header__heading-logo {
  opacity: 1;
  transform: scale(1.05);
}

/* Add breathing room to header */
.header {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* Nav spacing */
.header__inline-menu {
  gap: 28px;
}

/* Nav text polish */
.header__menu-item {
  letter-spacing: 0.08em;
  font-size: 13px;
  opacity: 0.85;
  transition: all 0.25s ease;
}

/* Nav hover */
.header__menu-item:hover {
  opacity: 1;
  color: #6ee7d9;
}

/* ===== OZ FUSION RESEARCH LIBRARY ===== */

.research-library-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 72px 32px 88px;
}

.research-library-intro {
  max-width: 980px;
  margin: 0 auto 52px;
  text-align: center;
}

.research-library-intro h1 {
  margin: 0 0 20px;
  font-size: 52px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.research-library-intro p {
  margin: 0 auto 12px;
  font-size: 17px;
  line-height: 1.8;
  opacity: 0.84;
  max-width: 920px;
}

.research-library-note {
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6ee7d9;
  opacity: 0.95;
}

.research-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.research-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 255px;
  background: linear-gradient(145deg, rgba(6, 23, 38, 0.96), rgba(2, 6, 23, 0.98));
  border: 1px solid rgba(110, 231, 217, 0.08);
  border-radius: 18px;
  padding: 28px 26px 24px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.research-card:hover {
  transform: translateY(-6px);
  border-color: rgba(110, 231, 217, 0.2);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.3);
}

.research-category {
  margin-bottom: 12px;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6ee7d9;
  opacity: 0.9;
}

.research-title {
  margin-bottom: 14px;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 600;
  color: #f4fbff;
}

.research-excerpt {
  margin-bottom: 22px;
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.78);
}

.research-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: #6ee7d9;
  transition: all 0.25s ease;
}

.research-link:hover {
  transform: translateX(3px);
  opacity: 0.85;
}

.research-library-footer-note {
  max-width: 900px;
  margin: 48px auto 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.72);
}

/* If Shopify wraps this inside page-width */
.page-width .research-library-wrap {
  max-width: 1320px;
  padding-left: 0;
  padding-right: 0;
}

/* Responsive */
@media screen and (max-width: 1100px) {
  .research-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .research-library-intro h1 {
    font-size: 44px;
  }
}

@media screen and (max-width: 749px) {
  .research-library-wrap {
    padding: 52px 20px 68px;
  }

  .research-library-intro {
    margin-bottom: 36px;
  }

  .research-library-intro h1 {
    font-size: 34px;
  }

  .research-library-intro p {
    font-size: 15px;
    line-height: 1.75;
  }

  .research-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .research-card {
    min-height: auto;
    padding: 22px 20px;
    border-radius: 14px;
  }

  .research-title {
    font-size: 19px;
  }
}

.research-library-intro {
  margin-bottom: 36px;
}

.research-library-note {
  margin-top: 18px;
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6ee7d9;
  opacity: 0.9;
}

.research-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  pointer-events: none;
  box-shadow: 0 0 40px rgba(110, 231, 217, 0.04);
}

.research-card {
  position: relative;
}

.research-card:hover {
  transform: translateY(-6px) scale(1.01);
  border-color: rgba(110, 231, 217, 0.25);
  box-shadow: 
    0 18px 42px rgba(0, 0, 0, 0.35),
    0 0 30px rgba(110, 231, 217, 0.08);
}

.research-title {
  line-height: 1.25;
}

/* ===== ARTICLE PAGE SPACING FIX ===== */

main .page-width--narrow,
main .page-width,
main .rte {
  margin-bottom: 48px;
}

main .page-width--narrow:last-child,
main .page-width:last-child {
  padding-bottom: 60px;
}

/* Add separation before the next section */
main .shopify-section + .shopify-section {
  margin-top: 40px;
}

/* ===== RESEARCH ARTICLE PAGES ===== */

.page-width--narrow {
  max-width: 900px !important;
}

main .rte {
  max-width: 820px;
  margin: 0 auto;
}

main .rte p {
  font-size: 17px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.84);
  margin-bottom: 22px;
}

main .rte h2 {
  font-size: 32px;
  line-height: 1.2;
  margin-top: 42px;
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

main .rte h3 {
  font-size: 22px;
  line-height: 1.3;
  margin-top: 28px;
  margin-bottom: 12px;
}

main .rte ul {
  margin: 18px 0 26px 0;
  padding-left: 24px;
}

main .rte li {
  margin-bottom: 12px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.84);
}

main .rte strong {
  color: #f4fbff;
}

main .main-page-title,
main h1.main-page-title {
  max-width: 900px;
  margin: 0 auto 28px;
  font-size: 56px;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

main .page-width--narrow {
  padding-top: 46px;
  padding-bottom: 80px;
}

/* subtle article panel feel */
main .page-width--narrow {
  position: relative;
}

main .page-width--narrow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(6, 23, 38, 0.18), rgba(2, 6, 23, 0.1));
  border: 1px solid rgba(110, 231, 217, 0.04);
  border-radius: 18px;
  pointer-events: none;
}

/* keep content above panel */
main .page-width--narrow > * {
  position: relative;
  z-index: 2;
}

/* mobile */
@media screen and (max-width: 749px) {
  main .main-page-title,
  main h1.main-page-title {
    font-size: 34px;
    margin-bottom: 18px;
  }

  main .rte p,
  main .rte li {
    font-size: 15px;
    line-height: 1.8;
  }

  main .rte h2 {
    font-size: 24px;
    margin-top: 32px;
  }

  main .rte h3 {
    font-size: 19px;
  }

  main .page-width--narrow {
    padding-top: 28px;
    padding-bottom: 56px;
  }
}

.research-back-btn-link {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 10px;
  border: 1px solid rgba(110, 231, 217, 0.3);
  color: #9be7d8;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}

.research-back-btn-link:hover {
  background: rgba(110, 231, 217, 0.08);
  border-color: rgba(110, 231, 217, 0.6);
  transform: translateY(-2px);
}

.research-back-btn a {
  display: inline-block;
  padding: 10px 18px;
  border: 1px solid #00e0ff;
  color: #00e0ff;
  text-decoration: none;
  border-radius: 8px;
  font-size: 13px;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

/* Glow effect */
.research-back-btn a:hover {
  background: rgba(0, 224, 255, 0.1);
  box-shadow: 0 0 10px rgba(0, 224, 255, 0.6),
              0 0 20px rgba(0, 224, 255, 0.3);
  color: #ffffff;
  border-color: #00e0ff;
}

.research-back-btn a {
  box-shadow: 0 0 6px rgba(0, 224, 255, 0.3);
}

.research-back-btn {
  margin-top: 40px;
}

.research-access-portal {
  max-width: 900px;
  margin: 80px auto;
  padding: 50px 30px;
  text-align: center;
  background: radial-gradient(circle at center, #0b1f3a, #000);
  border: 1px solid rgba(0,255,200,0.15);
}

.research-access-portal h2 {
  font-size: 32px;
  letter-spacing: 3px;
  color: #00ffc6;
  margin: 0 0 16px;
}

.research-access-portal p {
  font-size: 14px;
  opacity: 0.75;
  margin: 0 0 28px;
}

.portal-btn {
  display: inline-block;
  padding: 14px 30px;
  border: 1px solid #00ffc6;
  color: #00ffc6;
  text-decoration: none;
  letter-spacing: 2px;
}

.research-access-portal {
  max-width: 900px;
  margin: 40px auto 50px;
  padding: 28px 24px;
  text-align: center;
  background: radial-gradient(circle at center, #0b1f3a, #000);
  border: 1px solid rgba(0,255,200,0.15);
}

.research-access-portal h2 {
  font-size: 24px;
  letter-spacing: 3px;
  color: #53f2d0;
  margin: 0 0 12px;
}

.research-access-portal p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.82;
  margin: 0 0 20px;
}

.portal-btn {
  display: inline-block;
  padding: 12px 24px;
  border: 1px solid #53f2d0;
  color: #53f2d0;
  text-decoration: none;
  letter-spacing: 2px;
}

.oz-collection-subnote {
  margin-top: 8px;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #8fa3b8;
  text-transform: uppercase;
}

.oz-collection-subnote a {
  color: #00e0c6;
  text-decoration: none;
}

.oz-collection-subnote a:hover {
  opacity: 0.7;
}

.portal-hero-box {
  max-width: 900px;
  margin: 60px auto;
  padding: 40px 28px;
  text-align: center;
  background: radial-gradient(circle at center, #0a1f3d, #000);
  border: 1px solid rgba(0, 255, 200, 0.18);
}

.portal-hero-box h1 {
  margin: 0 0 14px;
  font-size: 30px;
  letter-spacing: 3px;
  color: #00e0c6;
}

.portal-hero-box p {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255,255,255,0.78);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.portal-btn {
  display: inline-block;
  padding: 12px 28px;
  border: 1px solid #00e0c6;
  color: #00e0c6;
  text-decoration: none;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ACCESS REQUEST PAGE - INFO CARD */
.access-request-info-card {
  max-width: 900px;
  margin: 40px auto 28px;
  padding: 42px 56px 46px;
  background: radial-gradient(circle at center, rgba(13, 42, 79, 0.92), rgba(2, 8, 18, 0.98));
  border: 1px solid rgba(0, 224, 198, 0.10);
  border-radius: 22px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.02) inset;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.access-request-info-card:hover {
  border-color: rgba(0, 224, 198, 0.28);
  box-shadow:
    0 0 0 1px rgba(0, 224, 198, 0.10) inset,
    0 0 28px rgba(0, 224, 198, 0.08);
  transform: translateY(-2px);
}

.access-request-info-card h1 {
  margin: 0 0 30px;
  color: #ffffff;
  font-size: 2.2rem;
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.access-request-info-card p {
  margin: 0 0 24px;
  color: rgba(255,255,255,0.88);
  line-height: 1.65;
}

.access-request-info-card p:first-of-type,
.access-request-info-card p:nth-of-type(2),
.access-request-info-card p:nth-of-type(3) {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 700;
}

.access-request-info-card p:nth-of-type(4),
.access-request-info-card p:nth-of-type(5) {
  text-transform: none;
  font-weight: 500;
}

/* CONTACT FORM CARD */
.shopify-section .contact,
.shopify-section .contact__form-box,
.shopify-section .contact .page-width {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.shopify-section .contact__form-box,
.shopify-section .contact form {
  background: radial-gradient(circle at center, rgba(13, 42, 79, 0.92), rgba(2, 8, 18, 0.98));
  border: 1px solid rgba(0, 224, 198, 0.10);
  border-radius: 22px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.02) inset;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.shopify-section .contact__form-box:hover,
.shopify-section .contact form:hover {
  border-color: rgba(0, 224, 198, 0.28);
  box-shadow:
    0 0 0 1px rgba(0, 224, 198, 0.10) inset,
    0 0 28px rgba(0, 224, 198, 0.08);
  transform: translateY(-2px);
}

/* FORM HEADING */
.shopify-section .contact h2,
.shopify-section .contact .title,
.shopify-section .contact .rich-text__heading {
  margin-bottom: 26px;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* INPUTS */
.shopify-section .field__input,
.shopify-section .text-area {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.18);
  color: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.shopify-section .field__input:focus,
.shopify-section .text-area:focus {
  border-color: rgba(0, 224, 198, 0.55);
  box-shadow: 0 0 0 2px rgba(0, 224, 198, 0.10);
  background: rgba(255,255,255,0.05);
}

/* SUBMIT BUTTON */
.shopify-section .contact button,
.shopify-section .contact .button {
  background: transparent;
  color: #00e0c6;
  border: 1px solid rgba(0, 224, 198, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.25s ease;
}

.shopify-section .contact button:hover,
.shopify-section .contact .button:hover {
  background: rgba(0, 224, 198, 0.10);
  box-shadow: 0 0 18px rgba(0, 224, 198, 0.16);
  transform: translateY(-1px);
}

/* MOBILE */
@media screen and (max-width: 749px) {
  .access-request-info-card {
    padding: 28px 22px 32px;
    margin: 24px 14px 20px;
    border-radius: 18px;
  }

  .access-request-info-card h1 {
    font-size: 1.7rem;
    margin-bottom: 22px;
  }
}

/* ACCESS REQUEST FORM POLISH */
.access-request-form-card,
.shopify-section .contact__form-box,
.shopify-section .contact form {
  max-width: 900px;
  margin: 26px auto 42px;
  padding: 42px 48px 40px;
  background: radial-gradient(circle at center, rgba(13, 42, 79, 0.92), rgba(2, 8, 18, 0.98));
  border: 1px solid rgba(0, 224, 198, 0.14);
  border-radius: 24px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.02) inset,
    0 0 24px rgba(0, 224, 198, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.access-request-form-card:hover,
.shopify-section .contact__form-box:hover,
.shopify-section .contact form:hover {
  border-color: rgba(0, 224, 198, 0.28);
  box-shadow:
    0 0 0 1px rgba(0, 224, 198, 0.10) inset,
    0 0 34px rgba(0, 224, 198, 0.10);
  transform: translateY(-2px);
}

/* FORM TITLE */
.shopify-section .contact h2,
.shopify-section .contact .title,
.shopify-section .contact .rich-text__heading {
  margin: 0 0 26px;
  color: #ffffff;
  font-size: 2rem;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* FIELDS LAYOUT */
.shopify-section .field {
  margin-bottom: 18px;
}

.shopify-section .contact .field__input,
.shopify-section .contact .text-area {
  min-height: 58px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.16);
  color: #ffffff;
  border-radius: 12px;
  padding: 16px 18px;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.shopify-section .contact .text-area {
  min-height: 140px;
  resize: vertical;
}

.shopify-section .contact .field__input::placeholder,
.shopify-section .contact .text-area::placeholder {
  color: rgba(255,255,255,0.56);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.shopify-section .contact .field__input:focus,
.shopify-section .contact .text-area:focus {
  outline: none;
  border-color: rgba(0, 224, 198, 0.55);
  background: rgba(255,255,255,0.05);
  box-shadow: 0 0 0 3px rgba(0, 224, 198, 0.10);
}

/* BUTTON */
.shopify-section .contact button,
.shopify-section .contact .button {
  min-width: 150px;
  padding: 14px 28px;
  background: transparent;
  color: #00e0c6;
  border: 1px solid rgba(0, 224, 198, 0.8);
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  transition: all 0.24s ease;
}

.shopify-section .contact button:hover,
.shopify-section .contact .button:hover {
  background: rgba(0, 224, 198, 0.10);
  box-shadow: 0 0 22px rgba(0, 224, 198, 0.18);
  transform: translateY(-1px);
}

.shopify-section .contact button:active,
.shopify-section .contact .button:active {
  transform: translateY(0);
}

/* SMALL GAP BETWEEN INFO CARD + FORM CARD */
.access-request-info-card + .shopify-section,
.access-request-info-card + * {
  margin-top: 12px;
}

/* MOBILE */
@media screen and (max-width: 749px) {
  .access-request-form-card,
  .shopify-section .contact__form-box,
  .shopify-section .contact form {
    margin: 18px 14px 28px;
    padding: 28px 22px 26px;
    border-radius: 18px;
  }

  .shopify-section .contact h2,
  .shopify-section .contact .title,
  .shopify-section .contact .rich-text__heading {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }

  .shopify-section .contact .field__input,
  .shopify-section .contact .text-area {
    min-height: 54px;
    padding: 14px 16px;
  }

  .shopify-section .contact .text-area {
    min-height: 120px;
  }
}

/* SUCCESS STATE: keep it clean and readable */
.contact .form-status-list,
.contact .form__message,
.contact .form-status {
  opacity: 1 !important;
  visibility: visible !important;
  color: #ffffff !important;
  position: relative;
  z-index: 2;
  margin-bottom: 24px;
}

/* PAGE CONTENT SPACING UNDER HEADER */
.main-page-title,
.page-width.page-width--narrow.section-template--padding,
.rte.page-width.page-width--narrow.section-template--padding {
  padding-top: 40px;
}

/* CUSTOM PAGE CARD SPACING */
.page-width.section-template--padding,
.shopify-section .page-width {
  padding-top: 32px;
}

.contact-form-helper {
  margin: 12px 0 28px;
  font-size: 0.95rem;
  font-weight: 400;
  color: rgba(255,255,255,0.72);
  letter-spacing: 0.02em;
  max-width: 640px;
}

  /* Safari / autofill cleanup */
  input:-webkit-autofill,
  textarea:-webkit-autofill,
  select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #0b1624 inset !important;
    -webkit-text-fill-color: #ffffff !important;
  }

/* ===== Remove annoying line / gap under header ===== */
.header-wrapper,
.shopify-section-header,
.section-header,
#MainContent,
main,
.shopify-section {
  border-top: none !important;
  box-shadow: none !important;
}

main#MainContent,
#MainContent {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media screen and (max-width: 749px) {
  .shopify-section:first-child,
  main .shopify-section:first-child,
  #MainContent > .shopify-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
}

/* ===== General mobile spacing cleanup ===== */
@media screen and (max-width: 749px) {
  .page-width {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  h1, .h1 {
    font-size: clamp(30px, 8vw, 40px);
    line-height: 1.05;
  }

  h2, .h2 {
    font-size: clamp(22px, 6vw, 30px);
    line-height: 1.1;
  }

  p, li {
    line-height: 1.55;
  }

  .button,
  .shopify-payment-button__button,
  .btn {
    min-height: 46px;
  }
}

@media screen and (max-width: 749px) {
  .field,
  .contact .field,
  .customer .field,
  .field:before,
  .field:after {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .field__input,
  .contact .field input,
  .contact .field textarea,
  .customer .field input,
  .customer .field textarea {
    border: 1px solid rgba(185, 205, 230, 0.55) !important;
    box-shadow: none !important;
    border-radius: 22px !important;
    background: rgba(15, 41, 79, 0.72) !important;
    color: #fff !important;
    padding: 24px 16px 10px !important;
    min-height: 56px;
  }

  .contact .field textarea,
  .customer .field textarea,
  textarea.field__input {
    min-height: 170px;
    padding-top: 30px !important;
    border-radius: 22px !important;
  }

  .field__label,
  .contact .field label,
  .customer .field label {
    top: 9px !important;
    left: 14px !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    z-index: 2;
  }
}

/* Remove stray section lines */
.header-wrapper,
.shopify-section-header,
#shopify-section-header,
.oz-hero,
.shopify-section,
main#MainContent,
#MainContent {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.oz-hero::before,
.oz-hero::after,
.shopify-section::before,
.shopify-section::after,
.header-wrapper::after,
.header-wrapper::before {
  display: none !important;
  content: none !important;
}

/* Homepage header-to-hero cleanup */
.template-index .header-wrapper,
.template-index #shopify-section-header,
.template-index .oz-hero,
.template-index main#MainContent,
.template-index #MainContent {
  border-bottom: none !important;
  border-top: none !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove accidental section separators */
.shopify-section::before,
.shopify-section::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ===== Landing page only: remove stray horizontal background bands on mobile ===== */
@media screen and (max-width: 749px) {
  .template-index .oz-hero::before,
  .template-index .oz-hero::after,
  .template-index .shopify-section::before,
  .template-index .shopify-section::after,
  .template-index .oz-protocol-page::before,
  .template-index .oz-protocol-page::after,
  .template-index .protocol-library::before,
  .template-index .protocol-library::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .template-index .oz-hero,
  .template-index .oz-protocol-page,
  .template-index .protocol-library,
  .template-index .shopify-section {
    box-shadow: none !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
  }
}

/* ===== Landing page header-to-hero cleanup on mobile ===== */
@media screen and (max-width: 749px) {
  .template-index .header-wrapper,
  .template-index #shopify-section-header,
  .template-index .shopify-section-header,
  .template-index main#MainContent,
  .template-index #MainContent,
  .template-index .oz-hero {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  .template-index .oz-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* ===== Landing page mobile: kill section background strip above series headings ===== */
@media screen and (max-width: 749px) {
  .template-index .oz-foundation-grid::before,
  .template-index .oz-foundation-grid::after,
  .template-index .oz-protocol-grid::before,
  .template-index .oz-protocol-grid::after,
  .template-index .oz-foundation-grid,
  .template-index .oz-protocol-grid {
    border-top: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
  }
}

@media screen and (max-width: 749px) {
  .template-index .oz-hero {
    min-height: auto !important;
    padding-top: 12px !important;
    padding-bottom: 16px !important;
  }

  .template-index .oz-hero__content.page-width {
    margin-bottom: 0 !important;
  }
}

/* ===== Mobile form field tidy ===== */
@media screen and (max-width: 749px) {
  .field,
  .customer .field,
  .contact .field,
  .addresses .field {
    position: relative;
    margin-bottom: 18px;
  }

  .field__input,
  .customer .field input,
  .customer .field textarea,
  .contact .field input,
  .contact .field textarea,
  .addresses .field input,
  .addresses .field textarea,
  .select__select {
    min-height: 52px;
    padding: 20px 14px 8px !important;
    line-height: 1.35;
    box-sizing: border-box;
  }

  .field__label,
  .customer .field label,
  .contact .field label,
  .addresses .field label {
    position: absolute;
    left: 14px;
    top: 15px;
    font-size: 12px;
    line-height: 1;
    pointer-events: none;
    transition: all 0.2s ease;
    z-index: 2;
    background: var(--oz-bg, #07111d);
    padding: 0 4px;
  }

  .field__input:focus ~ .field__label,
  .field__input:not(:placeholder-shown) ~ .field__label,
  .customer .field input:focus ~ label,
  .customer .field input:not(:placeholder-shown) ~ label,
  .customer .field textarea:focus ~ label,
  .customer .field textarea:not(:placeholder-shown) ~ label,
  .contact .field input:focus ~ label,
  .contact .field input:not(:placeholder-shown) ~ label,
  .contact .field textarea:focus ~ label,
  .contact .field textarea:not(:placeholder-shown) ~ label,
  .addresses .field input:focus ~ label,
  .addresses .field input:not(:placeholder-shown) ~ label,
  .addresses .field textarea:focus ~ label,
  .addresses .field textarea:not(:placeholder-shown) ~ label {
    top: 5px;
    font-size: 10px;
    opacity: 0.9;
  }

  /* Safari / autofill cleanup */
  input:-webkit-autofill,
  textarea:-webkit-autofill,
  select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #0b1624 inset !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

/* ===== Remove annoying line / gap under header ===== */
.header-wrapper,
.shopify-section-header,
.section-header,
#MainContent,
main,
.shopify-section {
  border-top: none !important;
  box-shadow: none !important;
}

main#MainContent,
#MainContent {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media screen and (max-width: 749px) {
  .shopify-section:first-child,
  main .shopify-section:first-child,
  #MainContent > .shopify-section:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
}

@media screen and (max-width: 749px) {

  /* Remove vertical gaps between homepage sections */
  .template-index .shopify-section {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Kill page-width spacing causing gaps */
  .template-index .page-width {
    margin-bottom: 0 !important;
  }

}

/* === FORCE FLAT BACKGROUND ON PROTOCOL LIBRARY === */

body.page-protocol-library,
body.page-protocol,
body[class*="protocol"] {
  background: #050f1f !important;
}

body.page-protocol-library .shopify-section,
body.page-protocol .shopify-section,
body[class*="protocol"] .shopify-section,
.oz-protocol {
  background: transparent !important;
}

/* FINAL FLAT NAVY OVERRIDE — protocol library only */
body[class*="protocol"] #MainContent,
body[class*="protocol"] main,
body[class*="protocol"] .content-for-layout,
body[class*="protocol"] .shopify-section,
body[class*="protocol"] .shopify-section-group-main,
body[class*="protocol"] .section,
body[class*="protocol"] .page-width,
body[class*="protocol"] .oz-protocol,
body[class*="protocol"] .oz-foundation-section {
  background: #050f1f !important;
  background-image: none !important;
}

/* kill any glow/gradient overlay still sitting on top */
body[class*="protocol"] .oz-protocol::before,
body[class*="protocol"] .oz-protocol::after,
body[class*="protocol"] .oz-foundation-section::before,
body[class*="protocol"] .oz-foundation-section::after,
body[class*="protocol"] .shopify-section::before,
body[class*="protocol"] .shopify-section::after {
  display: none !important;
  content: none !important;
}

/* Protocol Library Header FIX */
.oz-library-header {
  position: relative;
  padding: 80px 0 60px;

  background:
    radial-gradient(circle at 50% 0%, rgba(0, 140, 255, 0.14), transparent 60%),
    linear-gradient(180deg, #061226 0%, #020914 100%);
}

/* glow overlay */
.oz-library-header::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    radial-gradient(circle at 50% 0%, rgba(0, 180, 255, 0.08), transparent 65%);
}

/* text glow consistency */
.oz-library-header h1,
.oz-library-header h2 {
  text-shadow:
    0 0 14px rgba(0, 140, 255, 0.25),
    0 0 30px rgba(0, 140, 255, 0.12);
}

/* Fix input + label overlap */
.field {
  position: relative;
}

.field__label {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  transition: all 0.2s ease;
  pointer-events: none;
}

/* When user types OR autofill */
.field input:focus + .field__label,
.field input:not(:placeholder-shown) + .field__label,
.field textarea:focus + .field__label,
.field textarea:not(:placeholder-shown) + .field__label {
  top: -8px;
  font-size: 11px;
  color: #00ffd0;
  background: #0b1f2a;
  padding: 0 6px;
  border-radius: 4px;
}

/* Input padding so text never overlaps */
.field input,
.field textarea {
  padding: 18px 16px 10px;
}

/* iOS autofill fix */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 100px #0b1f2a inset !important;
  -webkit-text-fill-color: #fff !important;
}

main .oz-protocol-page .rte.scroll-trigger.animate--slide-in {
  position: relative;
  background: linear-gradient(180deg, rgba(7, 20, 28, 0.98) 0%, rgba(11, 31, 42, 0.98) 100%);
  border: 1px solid rgba(0, 255, 170, 0.3);
  border-radius: 18px;
  padding: 28px 24px;
  box-shadow:
    0 0 24px rgba(0, 255, 170, 0.16),
    0 0 60px rgba(0, 255, 170, 0.1),
    inset 0 0 18px rgba(0, 255, 170, 0.05);
}

main .oz-protocol-page .rte.scroll-trigger.animate--slide-in::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  pointer-events: none;

  background: linear-gradient(
    120deg,
    rgba(0,255,170,0.12),
    transparent 40%,
    transparent 60%,
    rgba(0,255,170,0.08)
  );

  opacity: 0.4;
}

@media screen and (max-width: 749px) {

  .card-wrapper {
    display: flex !important;
    justify-content: center !important;
  }

  .card__inner {
    margin: 0 auto !important;
  }

  .card__media {
    display: flex !important;
    justify-content: center !important;
  }

  .card__media img {
    margin: 0 auto !important;
  }

  .card__content {
    text-align: center !important;
  }

}

@media screen and (max-width: 749px) {

  /* Make each product card behave like a consistent vertical card */
  .card-wrapper,
  .card--standard,
  .card-information,
  .card__inner,
  .card__content {
    height: 100%;
  }

  .card.card--standard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
  }

  /* Keep image area consistent */
  .card__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 230px;
    max-height: 230px;
    overflow: hidden;
  }

  .card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
  }

  .card__media img {
    width: 100%;
    max-width: 100%;
    max-height: 210px;
    object-fit: contain;
    margin: 0 auto;
    display: block;
  }

  /* Keep text area aligned consistently */
  .card__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 12px;
  }

  .card__information {
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .card-information__text,
  .card__heading,
  .price {
    text-align: left;
  }
}

@media screen and (max-width: 749px) {

  .card-wrapper .card,
  .card--standard {
    border: 1px solid rgba(0, 255, 170, 0.16);
    border-radius: 18px;
    box-shadow:
      0 0 14px rgba(0, 255, 170, 0.08),
      0 0 34px rgba(0, 255, 170, 0.05),
      inset 0 0 10px rgba(0, 255, 170, 0.03);
    overflow: hidden;
  }

  .card-wrapper .card:hover,
  .card--standard:hover {
    border-color: rgba(0, 255, 170, 0.28);
    box-shadow:
      0 0 20px rgba(0, 255, 170, 0.12),
      0 0 44px rgba(0, 255, 170, 0.07),
      inset 0 0 12px rgba(0, 255, 170, 0.04);
  }
}

@media screen and (max-width: 749px) {

  .product-grid .card,
  .collection .card {
    width: 100% !important;
    height: 100% !important;
    min-height: 420px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .product-grid .grid__item,
  .collection .grid__item {
    display: flex !important;
    height: 100% !important;
  }

  .product-grid .card-wrapper,
  .collection .card-wrapper {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
  }

  .product-grid .card__inner,
  .collection .card__inner {
    height: 220px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .product-grid .card__media img,
  .collection .card__media img {
    max-height: 180px !important;
    object-fit: contain !important;
  }

   .product-grid .card__heading,
  .collection .card__heading {
    min-height: 78px !important;
    max-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 12px !important;
  }

  .product-grid .card__heading a,
  .collection .card__heading a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    width: 90% !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.12 !important;
    font-size: 0.9rem !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }

  .product-grid .price,
  .collection .price {
    margin-top: auto !important;
  }
}

@media screen and (max-width: 749px) {

  /* Protocol collection page only */
  .oz-protocol-grid .grid,
  .oz-protocol-grid .collection .grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
    gap: 14px !important;
    padding: 0 10px !important;
  }

  .oz-protocol-grid .grid__item {
    width: 100% !important;
    max-width: 100% !important;
  }

  .oz-protocol-grid .card,
  .oz-protocol-grid .card-wrapper {
    width: 100% !important;
  }
}

@media screen and (max-width: 749px) {
  a.oz-back-link {
    display: inline-block !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    opacity: 0.65 !important;
    margin-top: 10px !important;
    margin-bottom: 15px !important;
  }
}

@media screen and (max-width: 749px) {
  .oz-library-home-link {
    display: block;
    margin-top: 4px;
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    color: #9fded8;
    opacity: 0.65;
  }
}

.product__media-wrapper {
  max-width: 100% !important;
  padding: 0 !important;
   margin: 0 !important;
}

.product__media {
  max-width: 100% !important;
}

.product__media img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 749px) {
  .product:not(.product--no-media) {
    display: block !important;
  }

  .product__media-wrapper,
  .product__info-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .product__media-wrapper {
    margin-bottom: 16px !important;
  }

  .product__media-list,
  .product__media-item,
  .product__media,
  .product__media-container,
  .product__modal-opener,
  .product__modal-opener .media {
    width: 100% !important;
    max-width: 100% !important;
  }

  .product__media img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
  }

  .product__info-container,
  .product__info-wrapper .product__info-container {
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media screen and (max-width: 749px) {

  /* 1) Product page image: slightly reduce size */
  .template-product .product__media-wrapper,
  .template-product .product__media-list,
  .template-product .product__media-item,
  .template-product .product__media,
  .template-product .product__media img {
    max-width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 2) Protocol Systems page image-with-text: make image much larger */
  .template-page .image-with-text__media-item,
  .template-page .image-with-text__media,
  .template-page .image-with-text__media img,
  .template-page .image-with-text__media--small,
  .template-page .image-with-text__media--medium {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* remove extra boxing feel on the systems card image */
  .template-page .image-with-text__media {
    padding: 0 !important;
    margin: 0 auto 16px !important;
  }

  /* stack image/text cleanly on mobile */
  .template-page .image-with-text__grid {
    grid-template-columns: 1fr !important;
  }

  /* tighten the systems section spacing */
  .template-page .image-with-text__content {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}

/* MOBILE OVERRIDES — OZ FUSION */
@media screen and (max-width: 749px) {

  /* PRODUCT PAGE: force media + info to stack full width */
  .product,
  .product.grid,
  .product--stacked,
  .product:not(.product--no-media) {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  .product__media-wrapper,
  .product__info-wrapper,
  .product__column-sticky,
  .product__info-container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* PRODUCT PAGE: make image large but not oversized */
  .product__media-list,
  .product__media-item,
  .product__media,
  .product__modal-opener,
  .product__modal-opener .media,
  .product__media img,
  .product__media video,
  .product__media iframe {
    width: 94% !important;
    max-width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto !important;
    display: block !important;
  }

  /* kill boxed aspect-ratio wrappers on product image */
  .product__media,
  .product__modal-opener,
  .product__modal-opener .media {
    padding: 0 !important;
    min-height: 0 !important;
  }

  /* PROTOCOL SYSTEMS PAGE: stack image-with-text and enlarge image */
  .image-with-text__grid,
  .image-with-text__content-item,
  .image-with-text__media-item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .image-with-text__media,
  .image-with-text__media img,
  .image-with-text .media,
  .image-with-text .media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    margin: 0 auto !important;
  }

  /* remove extra inner spacing around the Superman card image */
  .image-with-text__media {
    padding: 0 !important;
    min-height: 0 !important;
  }

  /* tighten the text block under the image on systems page */
  .image-with-text__content {
    padding: 20px 20px 24px !important;
  }
}

@media screen and (max-width: 749px) {

  /* FIX PRODUCT PAGE WIDTH (kills right-side gap) */
  .template-product .page-width,
  .template-product .product,
  .template-product .product__info-wrapper,
  .template-product .product__media-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }

  /* FORCE STACK CLEANLY */
  .template-product .product {
    display: block !important;
  }

  /* LET IMAGE FILL PROPERLY */
  .template-product .product__media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

}

@media screen and (max-width: 749px) {

  html, body,
  .template-product,
  .template-product main,
  .template-product .shopify-section,
  .template-product .page-width,
  .template-product .product,
  .template-product .product__media-wrapper,
  .template-product .product__info-wrapper,
  .template-product .product__info-container,
  .template-product .grid,
  .template-product [class*="page-width"],
  .template-product [class*="wrapper"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .template-product .product {
    display: block !important;
  }

  .template-product .product__media,
  .template-product .product__media-list,
  .template-product .product__media-item,
  .template-product .product__modal-opener,
  .template-product .product__modal-opener .media,
  .template-product .product__media img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
    height: auto !important;
  }
}

@media screen and (max-width: 989px) {
  body:has(.oz-protocol) .shopify-section-header,
  body:has(.oz-protocol-page) .shopify-section-header,
  body:has(.oz-protocol-grid) .shopify-section-header,
  body:has(.oz-protocol) .header-wrapper,
  body:has(.oz-protocol-page) .header-wrapper,
  body:has(.oz-protocol-grid) .header-wrapper,
  body:has(.oz-protocol) .header,
  body:has(.oz-protocol-page) .header,
  body:has(.oz-protocol-grid) .header,
  body:has(.oz-protocol) header,
  body:has(.oz-protocol-page) header,
  body:has(.oz-protocol-grid) header {
    z-index: 100 !important;
  }

  body:has(.oz-protocol) .menu-drawer-container,
  body:has(.oz-protocol-page) .menu-drawer-container,
  body:has(.oz-protocol-grid) .menu-drawer-container {
    position: static !important;
  }

  body:has(.oz-protocol) .menu-drawer,
  body:has(.oz-protocol-page) .menu-drawer,
  body:has(.oz-protocol-grid) .menu-drawer {
    z-index: 9999 !important;
  }

  body:has(.oz-protocol) .menu-drawer__inner-container,
  body:has(.oz-protocol-page) .menu-drawer__inner-container,
  body:has(.oz-protocol-grid) .menu-drawer__inner-container {
    position: relative !important;
    z-index: 10000 !important;
  }

  body:has(.oz-protocol) .js details[open] > .menu-drawer,
  body:has(.oz-protocol-page) .js details[open] > .menu-drawer,
  body:has(.oz-protocol-grid) .js details[open] > .menu-drawer,
  body:has(.oz-protocol) .js details[open] > .menu-drawer__submenu,
  body:has(.oz-protocol-page) .js details[open] > .menu-drawer__submenu,
  body:has(.oz-protocol-grid) .js details[open] > .menu-drawer__submenu {
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  body:has(.oz-protocol) #MainContent,
  body:has(.oz-protocol-page) #MainContent,
  body:has(.oz-protocol-grid) #MainContent,
  body:has(.oz-protocol) .oz-hero,
  body:has(.oz-protocol-page) .oz-hero,
  body:has(.oz-protocol-grid) .oz-hero,
  body:has(.oz-protocol) .oz-protocol,
  body:has(.oz-protocol-page) .oz-protocol,
  body:has(.oz-protocol-grid) .oz-protocol,
  body:has(.oz-protocol) .oz-protocol-page,
  body:has(.oz-protocol-page) .oz-protocol-page,
  body:has(.oz-protocol-grid) .oz-protocol-page,
  body:has(.oz-protocol) .oz-protocol-grid,
  body:has(.oz-protocol-page) .oz-protocol-grid,
  body:has(.oz-protocol-grid) .oz-protocol-grid,
  body:has(.oz-protocol) .shopify-section:not(.shopify-section-header),
  body:has(.oz-protocol-page) .shopify-section:not(.shopify-section-header),
  body:has(.oz-protocol-grid) .shopify-section:not(.shopify-section-header) {
    z-index: 1 !important;
  }
}