:root{
  --co-gold:#D9A83B;
  --co-black:#000000;
  --co-white:#F4F1EA;
  --co-muted:#D8D3CB;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:var(--co-black);
}
body{
  color:var(--co-white);
  font-family:Georgia,"Times New Roman",serif;
}

/* HEADER — compact, proportional, like the balanced reference */
.site-header{
  width:100%;
  min-height:112px;
  display:grid;
  grid-template-columns:315px minmax(0,1fr);
  align-items:center;
  gap:34px;
  padding:10px 3vw 8px .7vw;
  border-bottom:1px solid var(--co-gold);
  background:#000;
}
.brand{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:max-content;
  color:var(--co-gold);
  text-decoration:none;
  line-height:.88;
}
.brand-main{
  font-family:"Great Vibes",cursive;
  font-size:70px;
  font-weight:400;
  white-space:nowrap;
  text-align:center;
}
.brand-main .amp{
  display:inline-block;
  font-size:35px;
  margin:0 .16em;
  vertical-align:.20em;
}
.brand-sub{
  font-family:"Great Vibes",cursive;
  font-size:26px;
  font-weight:400;
  white-space:nowrap;
  margin-top:2px;
  text-align:left;
}
.nav{
  min-width:0;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.nav a{
  position:relative;
  color:var(--co-gold);
  text-decoration:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:400;
  font-style:italic;
  white-space:nowrap;
  padding:8px 0;
}
.nav a:hover,
.nav a:focus-visible,
.nav a.active{
  color:var(--co-white);
  outline:none;
}
.menu-toggle{
  display:none;
  border:1px solid var(--co-gold);
  background:#000;
  color:var(--co-gold);
  font-size:22px;
  line-height:1;
  padding:8px 10px;
}

/* HERO — one balanced visual field, no empty black box */
.hero{
  width:100%;
  display:grid;
  grid-template-columns:47% 53%;
  align-items:stretch;
  min-height:610px;
  background:#000;
}
.hero-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:12px 2.6vw 20px .7vw;
}
.hero-copy h1{
  margin:0;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  color:var(--co-white);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,1.7vw,31px);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.2px;
  text-align:center;
}
.hero-copy h1 em{
  color:var(--co-gold);
  font-style:italic;
  font-weight:400;
}
.gold-rule{
  position:relative;
  width:min(520px,94%);
  height:1px;
  margin:28px auto 30px;
  background:linear-gradient(90deg,rgba(217,168,59,.35),var(--co-gold),rgba(217,168,59,.35));
}
.gold-rule::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--co-gold);
  box-shadow:0 0 5px 2px rgba(217,168,59,.72),0 0 11px 4px rgba(217,168,59,.26);
}
.hero-copy p{
  max-width:610px;
  margin:0;
  color:var(--co-muted);
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.52;
  font-weight:400;
}
.actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:18px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border:1px solid var(--co-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:700;
  text-decoration:none;
}
.btn-outline{color:var(--co-gold);background:transparent}
.btn-fill{color:#000;background:var(--co-gold)}

.hero-art{
  min-width:0;
  overflow:hidden;
  background:#000;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.hero-art img{
  display:block;
  width:100%;
  height:100%;
  min-height:610px;
  object-fit:cover;
  object-position:center center;
}

/* TABLET */
@media(max-width:1100px){
  .site-header{
    min-height:104px;
    grid-template-columns:245px minmax(0,1fr);
    gap:18px;
    padding:9px 22px 8px;
  }
  .brand-main{font-size:52px}
  .brand-sub{font-size:20px}
  .nav{gap:16px}
  .nav a{font-size:14px}

  .hero{
    grid-template-columns:44% 56%;
    min-height:540px;
  }
  .hero-copy{padding:28px 24px 32px}
  .hero-copy h1{font-size:33px}
  .hero-copy p{font-size:15px}
  .hero-art img{min-height:540px}
}

/* PHONE — compact header; copy first; full-width artwork below */
@media(max-width:767px){
  .site-header{
    min-height:auto;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:10px 14px 9px;
  }
  .brand{max-width:calc(100vw - 72px)}
  .brand-main{font-size:45px}
  .brand-sub{
    font-size:18px;
    line-height:1;
    margin-top:4px;
  }
  .menu-toggle{
    display:block;
    justify-self:end;
  }
  .nav{
    display:none;
    grid-column:1/-1;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin-top:8px;
    border-top:1px solid rgba(217,168,59,.45);
  }
  .menu-open .nav{display:flex}
  .nav a{
    width:100%;
    font-size:17px;
    padding:13px 2px;
    border-bottom:1px solid rgba(217,168,59,.22);
  }
  .nav a::after{display:none}

  .hero{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .hero-copy{
    order:1;
    width:100%;
    padding:30px 20px 26px;
  }
  .hero-copy h1{
    max-width:none;
    font-size:clamp(28px,7.7vw,34px);
    line-height:1.11;
  }
  .gold-rule{
    width:100%;
    margin:21px 0 19px;
  }
  .hero-copy p{
    max-width:none;
    font-size:16px;
    line-height:1.48;
  }
  .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:23px;
  }
  .btn{
    width:100%;
    min-height:48px;
    font-size:16px;
  }

  .hero-art{
    order:2;
    width:100%;
    min-height:0;
  }
  .hero-art img{
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
  }
}


@media(min-width:768px){.hero-copy{padding-top:26px;}}



/* v514: headline wraps naturally and stays centered as viewport changes */
.hero-copy h1{
  width:100%;
}
@media(min-width:768px){
  .headline-line{white-space:normal !important;}
}

/* v516: divider follows the centered headline cell and gives the next block breathing room */
.hero-copy .gold-rule{
  margin-left:auto;
  margin-right:auto;
  margin-bottom:30px;
}

/* v517: approved three-paragraph hero copy; typography sizing intentionally unchanged for review */
.hero-body-copy{
  max-width:610px;
}
.hero-body-copy p{
  margin:0 0 18px;
}
.hero-body-copy p:last-child{
  margin-bottom:0;
}

/* v518: body typography review only */
.hero-body-copy{
  max-width:610px;
}

.hero-body-copy p{
  margin:0 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  line-height:1.52;
  font-weight:400;
  text-align:justify;
  text-justify:inter-word;
  color:var(--co-muted);
}

.hero-body-copy p:last-child{
  margin-bottom:0;
}

.body-highlight{
  color:var(--co-gold);
  font-style:italic;
  font-weight:400;
}

/* v519: visual-weight test; geometry and approved gold highlights unchanged */
.hero-body-copy p{
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* v520 typography lock candidate: Poppins */
body{
  font-family:"Poppins",Arial,sans-serif;
}

.nav a{
  font-family:"Poppins",Arial,sans-serif;
  font-size:19px;
  font-weight:400;
  font-style:italic;
  white-space:nowrap;
}

.hero-copy h1{
  font-family:"Poppins",Arial,sans-serif;
  font-weight:400;
}

.hero-copy h1 em{
  font-family:"Poppins",Arial,sans-serif;
  font-weight:400;
  font-style:italic;
}

.hero-body-copy p{
  font-family:"Poppins",Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
}

.body-highlight{
  font-family:"Poppins",Arial,sans-serif;
  font-style:italic;
  font-weight:400;
  color:var(--co-gold);
}

.btn{
  font-family:"Poppins",Arial,sans-serif;
  font-size:17px;
  font-weight:500;
}

.actions{
  margin-top:36px;
}

/* Protect desktop menu from wrapping; mobile still uses toggle */
@media(min-width:768px){
  .nav{
    flex-wrap:nowrap;
  }
}


/* v3229 — Phone only: one full body-line gap above Odie's service photo. */
@media(max-width:767px){
  .section-two-new-grid-3202 .section-two-new-personal-3202{
    margin-top:25.84px;
  }
}

/* v521 tweak only: body inset + centered buttons */
.hero-body-copy{
  padding-left:2ch;
}

.actions{
  justify-content:center;
}

/* v522 final Section 1 visual tweaks only */

/* Reconnect logo to the page alignment system; menu remains untouched. */
.brand{
  transform:translateX(2ch);
}

/* Soften only the hard seam between copy and photograph.
   The photograph itself remains sharp and unchanged. */
.hero-art{
  position:relative;
}
.hero-art::before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:40px;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.72) 24%,
    rgba(0,0,0,.34) 56%,
    rgba(0,0,0,0) 100%
  );
}

/* Keep the phone artwork clean; there is no side-by-side seam there. */
@media(max-width:767px){
  .brand{
    transform:none;
  }
  .hero-art::before{
    display:none;
  }
}


/* v524 — Section 2 structural build only */

/* Feather only the bottom edge of the existing Section 1 artwork.
   No crop, size, position, or content change to the image. */
.hero-art img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 91%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 91%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
}

/* Independent line container between Sections 1 and 2. */
.section-divider{
  width:100%;
  height:28px;
  display:flex;
  align-items:center;
  background:#000;
}
.section-divider-line{
  width:100%;
  height:1px;
  background:var(--co-gold);
}

/* Section 2 containers: photo left, text right. Styling intentionally minimal
   until the design review determines the final transition and treatment. */
.section-two{
  width:100%;
  background:#000;
}
.section-two-inner{
  width:100%;
  display:grid;
  grid-template-columns:50% 50%;
  align-items:stretch;
}
.section-two-photo,
.section-two-copy{
  min-width:0;
}
.section-two-photo{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:hidden;
}
.section-two-photo-primary,
.section-two-photo-service{
  width:100%;
  height:50%;
  flex:0 0 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.section-two-photo img{
  display:block;
  width:100%;
  height:auto;
  flex:0 0 auto;
}
.section-two-copy{
  min-height:520px;
  padding:42px 4vw 42px 3vw;
  font-family:"Poppins",Arial,sans-serif;
}
.section-two-copy h2{
  margin:0 0 30px;
  color:var(--co-gold);
  font-family:"Poppins",Arial,sans-serif;
  font-size:31px;
  line-height:1.14;
  font-weight:400;
  font-style:italic;
  text-align:center;
}
.section-two-copy p{
  margin:0 0 20px;
  color:var(--co-muted);
  font-family:"Poppins",Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
  text-justify:inter-word;
}
.section-two-copy p strong{
  color:var(--co-white);
  font-weight:500;
}
.section-two-copy p:last-child{
  margin-bottom:0;
}
.section-two-topic{
  margin:0 0 60px;
}
.section-two-topic:last-child{
  margin-bottom:0;
}
.section-two-topic p:last-child{
  margin-bottom:0;
}
.section-two-copy .gold-highlight{
  color:var(--co-gold);
  font-style:italic;
}
.section-two-copy strong .gold-highlight{
  font-weight:inherit;
}

@media(max-width:767px){
  .hero-art img{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 90%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 90%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
  }
  .section-divider{
    height:22px;
  }
  .section-two-inner{
    grid-template-columns:1fr;
  }
  .section-two-copy{
    min-height:360px;
  }
}

/* v1009 — Corrected Section 2 photo edge treatment only.
   Preserve v1007 geometry exactly. No rounded corners, resizing, cropping,
   repositioning, or text changes. A narrow black inset veil softens only
   the hard perimeter of each existing rectangular photograph. */
.section-two-photo-primary,
.section-two-photo-service{
  position:relative;
}
.section-two-photo-primary::after,
.section-two-photo-service::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 12px 5px #000;
}

/* v1012 — Odie service photo: soft rectangular feather only.
   Replace the ellipse with an edge-only rectangular mask so Odie's long
   horizontal silhouette and raised tail remain inside the fully visible area.
   The fade is confined to the outside edge of the grass; no size, position,
   container, text, or portrait changes. */
.section-two-photo-service::after{
  display:none;
}
.section-two-photo-service img{
  -webkit-mask-image:
    linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.35) 1.5%,
      rgba(0,0,0,.78) 3%,
      #000 5%,
      #000 98.5%,
      rgba(0,0,0,.82) 99.2%,
      transparent 100%
    ),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.42) 1.5%,
      rgba(0,0,0,.82) 3%,
      #000 5%,
      #000 96%,
      rgba(0,0,0,.78) 98%,
      transparent 100%
    );
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.35) 1.5%,
      rgba(0,0,0,.78) 3%,
      #000 5%,
      #000 98.5%,
      rgba(0,0,0,.82) 99.2%,
      transparent 100%
    ),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.42) 1.5%,
      rgba(0,0,0,.82) 3%,
      #000 5%,
      #000 96%,
      rgba(0,0,0,.78) 98%,
      transparent 100%
    );
  mask-composite:intersect;
}

/* v1013 — Cinnamon + Odie portrait treatment only.
   One-percent feather on left, right, and bottom; top remains fully untouched.
   Odie service photo and all geometry/text remain locked. */
.section-two-photo-primary::after{
  display:none;
}
.section-two-photo-primary img{
  -webkit-mask-image:
    linear-gradient(to right,
      transparent 0%,
      #000 1%,
      #000 99%,
      transparent 100%
    ),
    linear-gradient(to bottom,
      #000 0%,
      #000 99%,
      transparent 100%
    );
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,
      transparent 0%,
      #000 1%,
      #000 99%,
      transparent 100%
    ),
    linear-gradient(to bottom,
      #000 0%,
      #000 99%,
      transparent 100%
    );
  mask-composite:intersect;
}


/* v1014 — transition divider only.
   Section 1 and Section 2 remain locked. The former straight divider is
   replaced inside its own container with one thin asymmetric gold weave
   using the established site gold and a small center twinkle. */
.section-divider.section-divider-weave{
  width:100%;
  height:64px;
  display:block;
  position:relative;
  overflow:hidden;
  background:#000;
}
.section-divider-weave .section-divider-line{
  display:none;
}
.weave-divider{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.weave-path{
  fill:none;
  stroke:url(#weaveGold);
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
}
.weave-twinkle{
  vector-effect:non-scaling-stroke;
}
.weave-twinkle-glow{
  fill:rgba(217,168,59,.26);
  stroke:none;
}
.weave-twinkle-core{
  fill:var(--co-gold);
  stroke:none;
  filter:drop-shadow(0 0 2px rgba(217,168,59,.72)) drop-shadow(0 0 5px rgba(217,168,59,.26));
}
.weave-twinkle-rays{
  display:none;
}
@media(max-width:767px){
  .section-divider.section-divider-weave{height:48px;}
  .weave-path{stroke-width:1.15;}
 .weave-twinkle{transform:translate(800px,44.75px) scale(.82);}
}


/* v1015 — twinkle refinement only. Weave geometry and all section content remain locked. */
/* v1016 — twinkle correction only: center landed on the actual weave path at x=800; treatment matches the established hero gold-rule glint. */

/* v2000 — Section 3 product containers only. Earlier sections unchanged. */
.products-transition{
  width:100%;
  height:64px;
  background:#000;
  overflow:hidden;
}
.products-transition svg{display:block;width:100%;height:100%;}
.products-weave-path{
  fill:none;
  stroke:url(#productsWeaveGold);
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
}
@media(max-width:767px){
  .products-transition{height:48px;}
  .products-weave-path{stroke-width:1.15;}
}
.products-section{
  background:#050606;
  color:#f3f0e8;
  padding:0 4vw 42px;
}
.products-heading-container{
  width:100%;
  text-align:center;
  padding:10px 0 34px;
}
.products-heading-container h2{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.2rem,4.2vw,4.4rem);
  font-weight:400;
  color:#f3f0e8;
}
.products-grid{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.product-column{
  min-width:0;
  padding:0 28px 28px;
  text-align:center;
}
.product-column + .product-column{border-left:1px solid rgba(217,168,59,.34);}
.product-art{
  width:100%;
  height:270px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.product-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.product-copy{padding:18px 10px 0;}
.product-copy-top{padding:0 10px 18px;}
.product-copy h3{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.55rem,2.1vw,2.35rem);
  line-height:1.12;
  font-weight:400;
  color:#f3f0e8;
}
.product-copy h3 span{
  display:block;
  margin-bottom:3px;
  color:#d9a83b;
  font-size:.78em;
}
.product-copy h3::after{
  content:'';
  display:block;
  width:62%;
  height:1px;
  margin:14px auto 12px;
  background:linear-gradient(90deg,transparent,#d9a83b 20%,#d9a83b 80%,transparent);
  opacity:.8;
}
.product-copy p{
  margin:0 auto;
  max-width:390px;
  font-family:'Poppins',sans-serif;
  font-size:clamp(.92rem,1.05vw,1.08rem);
  line-height:1.55;
  font-weight:300;
  color:#d2d0cb;
}
.product-strips .product-art{height:300px;}
.products-footer-row{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:18px 20px 0;
  border-top:1px solid rgba(217,168,59,.26);
}
.products-disclaimer{
  margin:0 auto;
  max-width:1200px;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:.78rem;
  line-height:1.5;
  font-weight:300;
  color:#9f9d98;
}
@media(max-width:900px){
  .products-grid{grid-template-columns:1fr;}
  .product-column{padding:26px 0 34px;}
  .product-column + .product-column{border-left:0;border-top:1px solid rgba(217,168,59,.28);}
  .product-art,.product-strips .product-art{height:auto;max-height:390px;}
  .product-art img{height:auto;max-height:390px;}
  .product-strips{display:flex;flex-direction:column;}
  .product-strips .product-copy{order:1;}
  .product-strips .product-art{order:2;}
}

/* v2002 — Section 3 lines-only correction.
   Remove unapproved product grid/divider lines. Keep footer separator.
   No image, typography, spacing, wording, order, or earlier-section changes. */
.product-column + .product-column{
  border-left:0;
}
.product-copy h3::after{
  display:none;
}
@media (max-width: 820px){
  .product-column + .product-column{
    border-left:0;
    border-top:0;
  }
}

/* v2003 — Section 3 footer-line removal only.
   Remove the footer separator line. Section 2/3 transition curve intentionally unchanged for later pass. */
.products-footer-row{
  border-top:0;
}

/* v2004 — artwork layer only: approved compact product presentations and scale. */
.product-art,
.product-strips .product-art{
  height:150px;
  overflow:visible;
}
.product-art img{
  width:100%;
  height:100%;
  object-fit:contain;
}
@media (max-width: 760px){
  .product-art,
  .product-strips .product-art{
    height:auto;
    max-height:150px;
  }
  .product-art img{
    height:auto;
    max-height:150px;
  }
}

/* v2005 — artwork sizing only. Preserve approved assets, order, typography, copy, and section structure. */
.product-art,
.product-strips .product-art{
  height:225px;
  overflow:visible;
}
.product-art img{
  width:100%;
  height:100%;
  object-fit:contain;
}
@media (max-width: 760px){
  .product-art,
  .product-strips .product-art{
    height:auto;
    max-height:225px;
  }
  .product-art img{
    height:auto;
    max-height:225px;
  }
}

/* v2006 — VIALS ONLY.
   Correct left-product artwork scale and tighten the vial image/copy grouping.
   Strips, sprays, typography, wording, disclaimer, and transition remain untouched. */
.product-vials .product-art{
  height:240px;
  margin-bottom:-22px;
}
.product-vials .product-art img{
  width:107%;
  max-width:none;
  height:100%;
  object-fit:contain;
}
.product-vials .product-copy{
  padding-top:0;
}
@media (max-width:760px){
  .product-vials .product-art{
    height:auto;
    max-height:240px;
    margin-bottom:0;
  }
  .product-vials .product-art img{
    width:100%;
    height:auto;
    max-height:240px;
  }
}

/* v2008 — VIAL IMAGE ONLY.
   User-directed test: enlarge only the vial artwork to 2.5x its v2006 displayed size
   and move only that image upward. Vial copy and all other elements remain fixed. */
.product-vials .product-art{
  overflow:visible;
}
.product-vials .product-art img{
  position:relative;
  top:-70px;
  transform:scale(2.5);
  transform-origin:center center;
}
@media (max-width:760px){
  .product-vials .product-art img{
    top:0;
    transform:none;
  }
}

/* v2009 — VIAL ASSET CROP ONLY.
   Remove excess right-side black canvas from the approved vial artwork and
   return the image to its pre-scale position. No other product is changed. */
.product-vials .product-art img{
  top:0;
  transform:none;
}

/* v2011 — VIAL PHOTO POSITION ONLY.
   Move only the approved primary vial photo substantially upward.
   Size, vial copy, strips, sprays, typography, disclaimer, and transition remain unchanged. */
.product-vials .product-art img{
  position:relative;
  top:-150px;
}
@media (max-width:760px){
  .product-vials .product-art img{top:0;}
}


/* v2012 — STRIPS PRIMARY IMAGE ONLY.
   Replace only the center strip artwork with the approved upright 30-strip box.
   Display it large without moving the strip copy or changing layout geometry. */
.product-strips .product-art{
  overflow:visible;
}
.product-strips .product-art img{
  position:relative;
  transform:scale(2.3);
  transform-origin:center center;
}
@media (max-width:760px){
  .product-strips .product-art img{
    transform:none;
  }
}


/* v2013 — WHITE STRIPS IMAGE ONLY.
   Add the existing white-strip source image as a secondary center visual.
   The approved 30-strip box scale and position remain unchanged. */
.product-strips .product-art{
  position:relative;
}
.product-strips .product-art img.strips-box-primary{
  position:relative;
  transform:scale(2.3);
  transform-origin:center center;
}
.product-strips .product-art img.strips-white-secondary{
  position:absolute;
  width:58%;
  height:auto;
  right:-2%;
  bottom:-118px;
  object-fit:contain;
  z-index:3;
}
@media (max-width:760px){
  .product-strips .product-art img.strips-white-secondary{
    position:relative;
    width:70%;
    right:auto;
    bottom:auto;
    margin:12px auto 0;
  }
}

/* v2014 — STRIP ARTWORK REPLACEMENT ONLY.
   Replace the previous 30-strip box art with the approved box image whose
   three loose foreground strips are white. Remove the separate Defy Age
   white-strip reference image. All site geometry remains unchanged. */

/* v2015 — SPRAY ARTWORK REPLACEMENT ONLY.
   Replace the Defy Age spray image with the user-selected C&O three-bottle
   amber spray photograph. Display large. Vials, strips, copy, typography,
   disclaimer, transition, and all other geometry remain unchanged. */
.product-sprays .product-art{
  overflow:visible;
}
.product-sprays .product-art img{
  position:relative;
  transform:scale(2.0);
  transform-origin:center center;
}
@media (max-width:760px){
  .product-sprays .product-art img{
    transform:none;
  }
}

/* v2017 — PRODUCTS CONTAINER HEIGHT ONLY.
   Increase only the three-product container's vertical capacity so the approved
   large artwork can remain at its current scale/position without colliding with
   the disclaimer. No artwork, copy, typography, or transition changes. */
@media (min-width:761px){
  .products-grid{
    min-height:720px;
  }
}

/* v2018 — PRODUCT POSITION SWAP ONLY.
   Swap the complete Strips and Vials product columns so the portrait strips
   sit left and the landscape vials sit center. Preserve every product's
   existing artwork scale, position, copy, typography, and container geometry. */

/* v2019 — PRODUCT CONTAINER STRUCTURE ONLY.
   Left Strips: art -> copy. Center Vials inverted: copy -> art.
   Right Sprays: art -> copy. No scale, typography, transition, or footer changes. */


/* v2020 — PRODUCTS HEADER ROW ONLY.
   Establish a true full-width Products header row above the 3×2 invisible product matrix.
   Product artwork, scale, typography, copy, footer, and Section 2/3 transition remain unchanged. */
.products-header-row{
  width:100%;
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:5;
  background:#050606;
  padding:0;
}
@media (min-width:761px){
  .products-grid{
    margin-top:180px;
  }
}

/* v2021 — OUTER PRODUCT ART TOP-ALIGN ONLY.
   Move only the Strips and Sprays artwork upward and align their visible top edges.
   Products header, center Vials, all copy, image scale, footer, and transition remain unchanged. */
@media (min-width:761px){
  .product-strips .product-art{
    position:relative;
    top:-120px;
  }
  .product-sprays .product-art{
    position:relative;
    top:-156px;
  }
}

/* v2022 — PRODUCTS HEADER ROW HEIGHT ONLY.
   Collapse the dedicated Products header row to the heading's own line box.
   Remove the artificial matrix offset created with the header row.
   No artwork, product-copy, typography, footer, or transition changes. */
.products-header-row{
  min-height:0;
  height:auto;
  padding:0;
}
.products-header-row h2{
  line-height:1;
}
@media (min-width:761px){
  .products-grid{
    margin-top:0;
  }
}


/* v2023 — PRODUCTS HEADER ROW STRUCTURAL CORRECTION ONLY.
   Products is a true full-width row above the 3×2 product matrix.
   Use established C&O Poppins section-heading treatment.
   Remove prior outer-art negative offsets that were visually intruding into the header row.
   No product artwork scaling, copy, footer, or transition changes. */
.products-header-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  height:auto;
  padding:0;
  margin:0;
  position:relative;
  z-index:5;
  background:#050606;
}
.products-header-row h2{
  margin:0;
  padding:0;
  font-family:'Poppins',sans-serif;
  font-size:33px;
  line-height:1.1;
  font-weight:400;
  font-style:normal;
  color:#f3f0e8;
}
@media (min-width:761px){
  .products-grid{margin-top:0;}
  .product-strips .product-art,
  .product-sprays .product-art{
    top:0;
  }
}

/* v2023 — PRODUCTS HEADER STRUCTURE + TYPOGRAPHY ONLY.
   Products lives in its own full-width row above the 3x2 product matrix.
   Poppins, white, 400. Remove the prior visual intrusion that made the heading
   appear to occupy the center product cell. No product image scaling changes. */
.products-heading-container.products-header-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  height:auto;
  margin:0;
  padding:0;
  position:relative;
  z-index:10;
  background:#050606;
}
.products-heading-container.products-header-row h2{
  margin:0;
  padding:0;
  font-family:'Poppins',sans-serif;
  font-size:33px;
  line-height:1.2;
  font-weight:400;
  color:#f3f0e8;
}
@media (min-width:761px){
  .products-grid{margin-top:0;}
  .product-strips .product-art,
  .product-sprays .product-art{top:0;}
}


/* v2024 — CLEAN SIX-CELL PRODUCTS MATRIX STRUCTURE ONLY.
   True full-width header row, true 3-column × 2-row product matrix, full-width disclaimer row.
   Uses new matrix/cell classes so legacy product-column offsets/transforms cannot escape the grid.
   Section 2 and transition line remain untouched. Fine padding, typography and final sizing follow in later passes. */
.products-header-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  min-height:0;
  height:auto;
  position:relative;
  z-index:1;
  background:#050606;
}
.products-header-row h2{
  margin:0;
  padding:0;
  font-family:'Poppins',sans-serif;
  font-size:33px;
  line-height:1.1;
  font-weight:400;
  font-style:normal;
  color:#f3f0e8;
}
.products-matrix{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,30%) minmax(0,40%) minmax(0,30%);
  grid-template-areas:
    "strips-art vials-art sprays-art"
    "strips-copy vials-copy sprays-copy";
  column-gap:0;
  row-gap:0;
  align-items:start;
}
.product-cell{
  min-width:0;
  position:static;
  top:auto;
  transform:none;
  margin:0;
  box-sizing:border-box;
  text-align:center;
}
.product-cell-art{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:visible;
}
.product-cell-art img{
  display:block;
  position:static;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  transform:none;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:0 auto;
}
.strips-art-cell{grid-area:strips-art;}
.vials-copy-cell{grid-area:vials-copy;}
.sprays-art-cell{grid-area:sprays-art;}
.strips-copy-cell{grid-area:strips-copy;}
.vials-art-cell{grid-area:vials-art;}
.sprays-copy-cell{grid-area:sprays-copy;}

/* Carry forward current approved artwork choices at intentionally large scale;
   exact sizing/alignment will be tuned only after the matrix structure is verified. */

.product-cell-copy{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.product-cell-copy .product-copy{
  width:100%;
}
.products-footer-row{
  width:100%;
  max-width:1600px;
  margin:0 auto;
}
@media(max-width:900px){
  .products-matrix{
    grid-template-columns:1fr;
    grid-template-areas:
      "strips-art"
      "strips-copy"
      "vials-art"
      "vials-copy"
      "sprays-art"
      "sprays-copy";
  }
  .strips-art-cell img,
  .vials-art-cell img,
  .sprays-art-cell img{
    width:auto;
    max-width:92%;
    max-height:none;
  }
}

/* v2025 — vials image cell top alignment only */
.vials-art-cell{
  align-self:start;
  justify-self:stretch;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.vials-art-cell img{
  align-self:flex-start;
  margin-top:0;
  margin-bottom:0;
}


/* v2027 — product heading hierarchy only.
   Keep each product heading on one line: gold qualifier + white product name.
   No image, grid, spacing, transition, footer, or copy changes. */
.product-cell-copy .product-copy h3{
  font-family:'Poppins',sans-serif;
  font-weight:400;
  white-space:normal;
}
.product-cell-copy .product-copy h3 span{
  display:inline;
  margin:0 .28em 0 0;
  color:#d9a83b;
  font-size:1em;
  font-weight:400;
}


/* v2028 — approved product typography refinement only. */
.product-cell-copy .product-copy h3{
  font-family:'Poppins',sans-serif;
  font-weight:400;
  font-style:italic;
  white-space:nowrap;
}
.product-cell-copy .product-copy h3 span{
  display:inline;
  margin:0;
  color:#d9a83b;
  font-size:1em;
  font-weight:400;
}
.product-cell-copy .product-copy h3 b{
  display:inline;
  margin:0;
  padding:0;
  color:#f3f0e8;
  font:inherit;
}
.product-cell-copy .product-copy p{
  font-size:clamp(1rem,1.15vw,1.16rem);
}


/* v2030 — product typography scale only.
   Keep Products dominant; keep desktop descriptions on one line. */
.product-cell-copy .product-copy{
  padding-left:0;
  padding-right:0;
}
.product-cell-copy .product-copy h3{
  font-size:clamp(1.28rem,1.55vw,1.62rem);
}
.product-cell-copy .product-copy p{
  font-size:clamp(1.02rem,1.18vw,1.18rem);
  white-space:nowrap;
}
@media(max-width:900px){
  .product-cell-copy .product-copy p{white-space:normal;}
}


/* v2031 — product copy width and centering only.
   Headers remain at v2030 scale; descriptions keep v2030 font size. */
.product-cell-copy .product-copy{
  width:100%;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.product-cell-copy .product-copy h3,
.product-cell-copy .product-copy p{
  text-align:center;
}
.product-cell-copy .product-copy p{
  white-space:normal;
}
@media(max-width:900px){
  .product-cell-copy .product-copy{max-width:92%;}
}


/* v2035 — top-row image cell geometry only.
   Cells 1–3: zero padding; image centered horizontally and vertically.
   No image resizing, copy, footer, header, or transition changes. */
.strips-art-cell,
.vials-art-cell,
.sprays-art-cell{
  padding:0;
  align-self:stretch;
  justify-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
}
.strips-art-cell img,
.vials-art-cell img,
.sprays-art-cell img{
  margin:0;
  align-self:center;
}


/* v2036 — Cell 3 spray artwork scale only.
   Displayed spray height is 95% of the Cell 1 strips artwork height,
   preserving the spray asset aspect ratio and v2035 centering. */

/* v2039 — grid proportion change only: 30% / 40% / 30%. No product-specific image sizing. */


/* v2040 — blank six-cell grid diagnostic.
   Keep only 30/40/30 column proportions. No product images, padding, margins, borders, lines, or image sizing. */
.products-matrix{
  grid-template-columns:minmax(0,30%) minmax(0,40%) minmax(0,30%);
  column-gap:0;
  row-gap:0;
}
.product-cell,
.product-cell-art,
.product-cell-copy,
.product-cell-copy .product-copy{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.product-cell-art{
  display:block;
  min-height:0;
  height:auto;
  overflow:visible;
}
.product-cell-art img{
  display:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:initial !important;
  transform:none !important;
}
.product-cell-copy{
  display:block;
}
.product-cell-copy .product-copy{
  width:100% !important;
  max-width:none !important;
  text-align:center;
}
.product-copy-spacer{
  display:block;
  margin:0;
  padding:0;
  border:0;
}


/* v2041 — add blank third grid row (Cells 7–9) only.
   Preserve 30/40/30 columns. No padding, margins, borders, lines, or content. */
.product-cell-blank{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  min-width:0;
  min-height:0;
}


/* v2043 — diagnostic blank full-width row immediately below Products.
   Intentionally no padding, margin, height, min-height, border, or content. */
.products-blank-row{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  height:auto;
  min-height:0;
  border:0;
}


/* v2045 — restore Products text only.
   Container contributes only top alignment and center justification; no padding, margins, height, background, borders, or gap. */
.products-header-row{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  position:static;
}
.products-header-row h2{
  margin:0 !important;
  padding:0 !important;
  font-family:'Poppins',sans-serif;
  font-size:33px;
  line-height:1.1;
  font-weight:400;
  font-style:normal;
  color:#f3f0e8;
  text-align:center;
}


/* v2048 — rebuilt from v2046 only.
   Place the existing product copy cells in row 1 and the existing blank cells in row 2.
   Insert only the approved strips image into row 2 / column 1.
   No padding, margins, gaps, framing, fill, stretching, or image-specific scaling. */
.products-matrix{
  grid-template-areas:none;
  grid-auto-flow:row;
  grid-template-rows:auto auto;
  column-gap:0;
  row-gap:0;
}
.strips-copy-cell{grid-column:1;grid-row:1;}
.vials-copy-cell{grid-column:2;grid-row:1;}
.sprays-copy-cell{grid-column:3;grid-row:1;}
.cell-7{grid-column:1;grid-row:2;}
.cell-8{grid-column:2;grid-row:2;}
.cell-9{grid-column:3;grid-row:2;}
.cell-7,
.cell-8,
.cell-9{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  min-width:0;
  min-height:0;
}
.cell-7{
  display:flex;
  align-items:center;
  justify-content:center;
}
.cell-7 img{
  display:block;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  box-shadow:none;
  object-fit:initial;
  transform:none;
}


/* v2050 — Strips image containment only.
   Cell 4 remains the 30% boundary. The image keeps its intrinsic aspect ratio
   and may shrink only as needed to stay within that cell. */
.cell-7 img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  box-shadow:none;
  transform:none;
}


/* v2051 — Cell 4 Strips justification test only.
   Keep v2050 containment and all sizing untouched; change horizontal placement only. */
.cell-7{
  justify-content:flex-start;
}


/* v2052 — Add Vials image to existing Cell 5 only.
   Build from v2051. Strips remains left-justified and unchanged.
   Cell 5 centers the vials image horizontally and vertically.
   The 40% grid column is the only width boundary; preserve intrinsic aspect ratio. */
.cell-8{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.cell-8 img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  box-shadow:none;
  transform:none;
}

/* v2053 — Cell 5 Vials vertical centering correction only.
   Keep all v2052 sizing and containment unchanged; explicitly center the image itself
   within the shared second grid row. */
.cell-8 img{
  align-self:center;
}


/* v2054 — Cell 5 stretches to the natural height of row 2 only.
   Row height remains determined naturally by the tallest image (Strips).
   Vials keeps intrinsic aspect ratio and centers inside the stretched cell. */
.cell-8{
  align-self:stretch;
}
\n\n


/* v2057 — shared image-row height is set from the rendered Strips image.
   Row 2 owns the garage height. Strips remains the baseline; Vials and Sprays
   fit inside that fixed shared row without changing its height. */
.products-matrix{
  grid-template-rows:auto var(--product-image-row-height, auto);
}
.cell-7,
.cell-8,
.cell-9{
  height:100%;
  min-height:0;
  align-self:stretch;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.cell-7{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
.cell-8{
  display:flex;
  justify-content:center;
  align-items:center;
}
.cell-9{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.cell-7 img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  box-shadow:none;
  position:static;
  transform:none;
}
.cell-8 img,
.cell-9 img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  box-shadow:none;
  position:static;
  transform:none;
  object-fit:contain;
}


/* v2060 — fixed desktop product image row height test.
   The product image garage is fixed at 300px for this test.
   Cells 4–6 share that fixed row height. Vials and Sprays must fit inside it
   without changing row height; image aspect ratios remain intrinsic. */
@media (min-width: 701px){
  .products-matrix{
    grid-template-rows:auto 300px;
  }
  .cell-7,
  .cell-8,
  .cell-9{
    height:100%;
    min-height:0;
    align-self:stretch;
  }
  .cell-8 img,
  .cell-9 img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
  }
}


/* v2061 — all three product images obey the same fixed 300px garage.
   Row height remains 300px. Each image preserves intrinsic aspect ratio and
   must fit within both its cell width and the shared row height. */
@media (min-width: 701px){
  .cell-7 img,
  .cell-8 img,
  .cell-9 img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:initial;
  }
}

/* v2062 — center Strips and Sprays horizontally only.
   Preserve the fixed 300px image row, intrinsic aspect-ratio fitting,
   vertical centering, and all other v2061 behavior unchanged. */
@media (min-width: 701px){
  .cell-7{ justify-content:center; }
  .cell-9{ justify-content:center; }
}


/* v2063 — replace Vials artwork with cropped source and limit Vials only to 80% of Cell 5 width.
   Preserve the fixed 300px image row, vertical centering, intrinsic aspect ratio, and all other v2062 behavior. */
@media (min-width: 701px){
  .cell-8 img{
    max-width:80%;
  }
}


/* v2064 — Sprays only: limit Cell 6 artwork to 95% of the fixed 300px image-row height.
   Preserve intrinsic aspect ratio, horizontal/vertical centering, and all v2063 behavior. */
@media (min-width: 701px){
  .cell-9 img{
    max-height:95%;
  }
}


/* v2065 — Vials only: limit Cell 5 artwork to 70% of the fixed 300px image-row height.
   Preserve the existing 80% max-width, intrinsic aspect ratio, centering, Sprays 95% height, and all v2064 behavior. */
@media (min-width: 701px){
  .cell-8 img{
    max-height:70%;
  }
}


/* v2066 — Strips only: limit Cell 4 artwork to 99% of the fixed 300px image-row height and bottom-align it.
   Preserve horizontal centering, intrinsic aspect ratio, Vials 70%, Sprays 95%, and all other v2065 behavior. */
@media (min-width: 701px){
  .cell-7{
    align-items:flex-end;
  }
  .cell-7 img{
    max-height:99%;
  }
}


/* v2067 — percentage image sizing correction for all viewport sizes.
   The shared product image row remains 300px for this test.
   Image limits are percentages of the row/cell only — no pixel-translated image limits. */
.products-matrix{
  grid-template-rows:auto 300px;
}
.cell-7,
.cell-8,
.cell-9{
  height:100%;
  min-height:0;
  align-self:stretch;
}
.cell-7{
  justify-content:center;
  align-items:flex-end;
}
.cell-8,
.cell-9{
  justify-content:center;
  align-items:center;
}
.cell-7 img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
}
.cell-8 img{
  width:auto;
  height:auto;
  max-width:80%;
  max-height:70%;
}
.cell-9 img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:95%;
}


/* v2068 — mobile-safe product heading wrapping + Strips vertical centering only.
   Preserve all v2067 percentage image limits, 300px shared row, grid proportions,
   image aspect-ratio behavior, and all other formatting. */
.product-cell-copy .product-copy h3{
  white-space:normal !important;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}
.cell-7{
  align-items:center;
}


/* v2069 — Vials edge feather only.
   Fade the rectangular Vials photograph into the black section without changing
   its 70% height / 80% width limits, aspect ratio, centering, grid, or spacing. */
.cell-8 img{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 5%, #000 95%, transparent 100%);
  mask-composite: intersect;
}


/* v2074 — Sprays shallow bottom-edge feather only.
   Fade only the final 4% of the image so the bottle bottoms remain visible. */
.cell-9 img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 96%,rgba(0,0,0,.88) 97.5%,rgba(0,0,0,.55) 99%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 96%,rgba(0,0,0,.88) 97.5%,rgba(0,0,0,.55) 99%,transparent 100%);
}

/* =========================================================
   v2102 CLEAN SECTION 3 REBUILD TEST
   Structural cells are intentionally neutral: no padding,
   margin, gap, blank spacer, border, or inherited min-height.
   Existing Section 3 above is untouched.
   ========================================================= */
.products-rebuild-2102{
  margin:0;
  padding:0;
  background:#000;
  color:#f5f2ec;
}
.products-rebuild-header-2102{
  margin:0;
  padding:0;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:1.2;
  color:#f5f2ec;
}
.products-grid-2102{
  display:grid;
  grid-template-columns:33% 34% 33%;
  grid-template-rows:auto auto 370px;
  margin:0;
  padding:0;
  gap:0;
  width:100%;
}
.p2102-cell{
  margin:0;
  padding:0;
  min-width:0;
  min-height:0;
  border:0;
  box-sizing:border-box;
}
.p2102-header{
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:24px;
  font-style:italic;
  font-weight:400;
  line-height:1.25;
  color:#fff;
}
.p2102-header span{color:#d6a62e;}
.p2102-header b{font-weight:400;color:#fff;}
.p2102-body{
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1.45;
  color:#ddd8d2;
}
.p2102-image{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.p2102-image img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.p2102-strips-image img{max-height:100%;}
.p2102-vials-image img{max-height:100%;max-width:100%;}
.p2102-sprays-image img{max-height:95%;}
.products-rebuild-footer-2102{
  margin:0;
  padding:0;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.4;
  color:#96918b;
}

/* =========================================================
   v2102 MOBILE PRODUCT FLOW ONLY
   Desktop 30/40/30 remains unchanged.
   On narrow viewports, the clean Section 3 grid becomes
   one centered product-by-product column.
   ========================================================= */
@media (max-width:700px){
  .products-grid-2102{
    grid-template-columns:1fr;
    grid-template-rows:auto auto 370px auto auto 370px auto auto 370px;
    width:100%;
    margin:0;
    padding:0;
    gap:0;
  }

  .p2102-strips-header{grid-column:1;grid-row:1;}
  .p2102-strips-body{grid-column:1;grid-row:2;}
  .p2102-strips-image{grid-column:1;grid-row:3;}

  .p2102-vials-header{grid-column:1;grid-row:4;}
  .p2102-vials-body{grid-column:1;grid-row:5;}
  .p2102-vials-image{grid-column:1;grid-row:6;}

  .p2102-sprays-header{grid-column:1;grid-row:7;}
  .p2102-sprays-body{grid-column:1;grid-row:8;}
  .p2102-sprays-image{grid-column:1;grid-row:9;}

  .products-rebuild-header-2102,
  .p2102-header,
  .p2102-body,
  .products-rebuild-footer-2102{
    text-align:center;
  }

  .p2102-image{
    justify-content:center;
    align-items:center;
  }
}


/* v2102 — new clean Products header treatment only.
   Menu anchor is attached directly to this heading.
   One intentional rendered line break follows the complete heading. */
.products-rebuild-title-2102{
  color:#f5f2ec;
  font-style:normal;
}
.products-rebuild-qualifier-2102{
  color:#d6a62e;
  font-style:italic;
}


/* v2105 — clean Products intro and structural pacing only.
   No connector, dash, spacer, padding, or margin hacks.
   The wrapper's row-gap controls only the distance between
   the full-width Products intro and the 3x3 product grid. */
.products-rebuild-main-2105{
  display:grid;
  grid-template-rows:auto auto;
  row-gap:30px;
  margin:0;
  padding:0;
}
.products-rebuild-header-2102{
  display:block;
  margin:0;
  padding:0;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:32px;
  font-weight:400;
  line-height:1.2;
  color:#f5f2ec;
  white-space:normal;
}
.products-rebuild-title-2102,
.products-rebuild-qualifier-2102{
  font-size:inherit;
  font-weight:inherit;
}


/* v2106 — new Section 3 product headings/copy only. */
.products-rebuild-2102 .p2102-header{
  color:#d6a62e;
  font-style:italic;
  font-weight:400;
}


/* v2107 — Products intro typography + Vials body wrap only. */
.products-rebuild-header-2102,
.products-rebuild-header-2102 .products-rebuild-title-2102,
.products-rebuild-header-2102 .products-rebuild-qualifier-2102{
  color:#f5f2ec;
  font-style:italic;
  font-size:32px;
  font-weight:400;
}

/* v2112 — shared product image row is 370px.
   Strips keeps 6px reserved above and 16px reserved below the image.
   The Strips artwork therefore has a maximum usable height of 348px
   inside the 370px row. Vials and Sprays remain unchanged. */
.products-rebuild-2102 .p2102-strips-image{
  align-items:flex-start;
}
.products-rebuild-2102 .p2102-strips-image img{
  margin-top:6px;
  margin-bottom:16px;
  max-height:calc(100% - 22px);
}

/* v2113 — new Vials artwork only. Former 70% height / 80% width limits removed.
   New Vials image is neutral inside the existing 370px cell and preserves aspect ratio. */

/* v2114 — desktop product grid rebalanced to 33/34/33. Mobile remains single-column. */


/* v2116 — Vials image pacing and feather correction.
   Reserve 6px above and 19px below the Vials image inside the 370px row.
   Keep the shallow top feather and softly dissolve only the bright bottom-left corner. */
.products-rebuild-2102 .p2102-vials-image{
  align-items:flex-start;
}
.products-rebuild-2102 .p2102-vials-image img{
  margin-top:6px;
  margin-bottom:19px;
  max-height:calc(100% - 25px);
  max-width:100%;
  width:auto;
  height:auto;
  -webkit-mask-image:
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.72) 2%, #000 4%, #000 100%),
    radial-gradient(circle at 0% 100%, transparent 0%, rgba(0,0,0,.42) 5%, #000 13%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.72) 2%, #000 4%, #000 100%),
    radial-gradient(circle at 0% 100%, transparent 0%, rgba(0,0,0,.42) 5%, #000 13%);
  mask-composite:intersect;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}


/* v2118 — New Section 3 Sprays image bottom feather only.
   Starting from v2116. No Vials, Strips, sizing, spacing, grid, text, or footer changes. */
.products-rebuild-2102 .p2102-sprays-image img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 96%,rgba(0,0,0,.88) 97.5%,rgba(0,0,0,.55) 99%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 96%,rgba(0,0,0,.88) 97.5%,rgba(0,0,0,.55) 99%,transparent 100%);
}


/* v2119 — desktop Strips body text width only.
   Narrow the Strips body copy to 88% of its 33% cell and center it.
   Font size/weight/line-height are unchanged. Mobile remains 100% width. */
@media (min-width:701px){
  .products-rebuild-2102 .p2102-strips-body{
    width:88%;
    justify-self:center;
  }
}


/* v3100 — NEW Section 1 structure only.
   Built above the existing Section 1/2 gold divider.
   No locked Section 1 content is moved in this phase.
   No padding is applied anywhere in the new structure. */
.section-one-new{
  display:block;
  margin:0;
  padding:0;
}
.section-one-new-intro{
  display:block;
  margin:0;
  padding:0;
}
.section-one-new-intro-text,
.section-one-new-intro-rule{
  margin:0;
  padding:0;
}
.section-one-new-main{
  display:grid;
  grid-template-columns:47% 53%;
  margin:0;
  padding:0;
}
.section-one-new-left{
  display:grid;
  grid-template-rows:auto auto auto;
  margin:0;
  padding:0;
}
.section-one-new-paragraph,
.section-one-new-image,
.section-one-new-buttons{
  margin:0;
  padding:0;
}
.section-one-new-image{
  grid-column:2;
  grid-row:1;
}
.section-one-new-buttons{
  display:block;
}


/* v3101 — populate only the new Section 1 intro row and right artwork column.
   New structure remains padding-free. Old Section 1 remains intact for comparison. */
.section-one-new-intro,
.section-one-new-intro-text,
.section-one-new-intro-rule,
.section-one-new-main,
.section-one-new-left,
.section-one-new-paragraph,
.section-one-new-image,
.section-one-new-buttons{
  padding:0;
}

.section-one-new-intro-text h1{
  margin:0;
  width:100%;
  max-width:none;
  color:var(--co-white);
  font-family:"Poppins",Arial,sans-serif;
  font-size:clamp(24px,1.7vw,31px);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.2px;
  text-align:center;
}
.section-one-new-intro-text h1 em{
  color:var(--co-gold);
  font-family:"Poppins",Arial,sans-serif;
  font-style:italic;
  font-weight:400;
}
.section-one-new-intro-rule{
  position:relative;
  width:min(520px,94%);
  height:1px;
  margin:28px auto 30px;
  background:linear-gradient(90deg,rgba(217,168,59,.35),var(--co-gold),rgba(217,168,59,.35));
}
.section-one-new-intro-rule::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--co-gold);
  box-shadow:0 0 5px 2px rgba(217,168,59,.72),0 0 11px 4px rgba(217,168,59,.26);
}

.section-one-new-image{
  position:relative;
  overflow:hidden;
  background:#000;
  min-width:0;
}
.section-one-new-image::before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:40px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.72) 24%,rgba(0,0,0,.34) 56%,rgba(0,0,0,0) 100%);
}
.section-one-new-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.38) 3%,rgba(0,0,0,.82) 6%,#000 9%,#000 91%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.38) 3%,rgba(0,0,0,.82) 6%,#000 9%,#000 91%,rgba(0,0,0,.82) 94%,rgba(0,0,0,.38) 97%,transparent 100%);
}

@media(min-width:768px){
  .section-one-new-intro{margin-top:44px;}
  .section-one-new-intro-text h1{white-space:nowrap;}
}
@media(max-width:767px){
  .section-one-new-intro-text h1{
    white-space:normal;
    font-size:clamp(28px,7.7vw,34px);
    line-height:1.11;
  }
  .section-one-new-intro-rule{
    width:100%;
    margin:21px 0 19px;
  }
  .section-one-new-image::before{display:none;}
  .section-one-new-image img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
}


/* v3215 — Populate only Row 2, left column with the approved
   A Personal Connection block using the original Section 2 inset. */
.section-two-new-photo-two-3202.section-two-copy{
  padding:0 0 0 4vw;
  min-height:0;
  margin-top:51.68px;
}


/* v3216 — Populate only Row 2, right column with the supplied
   Odie service-dog photograph at the cell width. */
.section-two-new-personal-3202{
  width:100%;
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.section-two-new-personal-3202 img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
}


/* Row 2 Odie photograph: preserve its current size and aspect ratio
   with a light 1.5% feather on all four edges. */
.section-two-new-personal-3202 img{
  width:71.25%;
  height:auto;
  margin:0;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%),
    linear-gradient(to bottom,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%),
    linear-gradient(to bottom,transparent 0%,#000 1.5%,#000 98.5%,transparent 100%);
  mask-composite:intersect;
}


/* v3102 — populate the three new Section 1 left-column paragraph rows only.
   Typography/highlights/justification match locked v2120 Section 1 copy.
   No padding added. Old Section 1 remains intact for direct comparison. */
.section-one-new-paragraph p{
  margin:0;
  padding:0;
  font-family:"Poppins",Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
  text-justify:inter-word;
  color:var(--co-muted);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.section-one-new-paragraph .body-highlight{
  font-family:"Poppins",Arial,sans-serif;
  color:var(--co-gold);
  font-style:italic;
  font-weight:400;
}


/* v3105 — restore locked v2120 Section 1 horizontal geometry.
   Original v2120 grid: 47% copy / 53% image.
   Original effective copy inset: left .7vw + 2ch; right 2.6vw.
   Apply as margins only; new structural containers remain padding-free. */
.section-one-new-paragraph{
  margin-left:calc(.7vw + 2ch);
  margin-right:2.6vw;
}


/* v3107 — make left paragraph stack the desktop height authority.
   Right image is removed from intrinsic sizing and fills the resulting grid row.
   No padding/gaps added; aspect ratio preserved by object-fit:cover; existing feather retained. */
@media (min-width:768px){
  .section-one-new-image{
    position:relative;
    min-height:0;
  }
  .section-one-new-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}


/* v3109 — Section 1 vertical rhythm: add one line-height at the bottom only.
   19 line-height units total: 1 blank + 5 P1 + 1 blank + 5 P2 + 1 blank + 4 P3 + 2 blank.
   Blank lines are explicit grid tracks, not padding/margins. Left remains height authority; image follows. */
@media (min-width:768px){
  .section-one-new-left{
    display:grid;
    grid-template-rows:25.84px auto 25.84px auto 25.84px auto 51.68px;
    align-content:start;
    row-gap:0;
    margin:0;
    padding:0;
  }
  .section-one-new-paragraph-1{grid-row:2;}
  .section-one-new-paragraph-2{grid-row:4;}
  .section-one-new-paragraph-3{grid-row:6;}
}


/* v3111 — button alignment only.
   Keep locked buttons unchanged; center them beneath the 47% text column only. */
.section-one-new-buttons{
  display:flex;
  width:47%;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  margin:0;
  padding:0;
}


/* v3113 — mobile sequence only.
   Approved order: intro/rule -> P1 -> P2 -> image -> P3 -> buttons -> divider.
   Desktop remains unchanged. No old Section 1 removal. */
@media (max-width:767px){
  .section-one-new-main{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    margin:0;
    padding:0;
  }
  .section-one-new-left{
    display:contents;
  }
  .section-one-new-paragraph-1{
    grid-column:1;
    grid-row:1;
  }
  .section-one-new-paragraph-2{
    grid-column:1;
    grid-row:2;
  }
  .section-one-new-image{
    grid-column:1;
    grid-row:3;
  }
  .section-one-new-paragraph-3{
    grid-column:1;
    grid-row:4;
  }
  .section-one-new-buttons{
    width:100%;
    justify-content:center;
  }
}


/* v3114 — MOBILE ONLY: restore readable paragraph scale/rhythm and compact buttons.
   Approved sequence remains P1 -> P2 -> image -> P3 -> buttons.
   New structural containers remain padding-free. Desktop untouched. */
@media (max-width:767px){
  .section-one-new-paragraph{
    margin-left:20px;
    margin-right:20px;
  }

  .section-one-new-paragraph p{
    font-size:16px;
    line-height:1.48;
    font-weight:300;
    text-align:justify;
    text-justify:inter-word;
  }

  /* One full mobile line of breathing room before P1, between P1/P2,
     around the interleaved image, and after P3. */
  .section-one-new-paragraph-1{
    margin-top:23.68px;
    margin-bottom:23.68px;
  }
  .section-one-new-paragraph-2{
    margin-bottom:23.68px;
  }
  .section-one-new-image{
    margin:0;
  }
  .section-one-new-paragraph-3{
    margin-top:23.68px;
    margin-bottom:23.68px;
  }

  .section-one-new-buttons{
    width:100%;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:18px;
    margin:0;
    padding:0;
  }
  .section-one-new-buttons .btn{
    width:auto;
    min-height:48px;
    padding:0 24px;
    font-size:16px;
  }
}


/* v3118 — MOBILE ONLY: one full mobile line-height ABOVE the intro headline,
   directly below the header gold divider. Built from clean v3116 baseline.
   Existing spacing below the intro/rule remains unchanged. */
@media (max-width:767px){
  .section-one-new-intro{
    margin-top:23.68px;
  }
}


/* v3202 — New Section 2 structure below the locked original.
   All new containers begin with zero padding, margin, and gap.
   Only the full-width heading is populated in this layer. */
.section-two-new-3202,
.section-two-new-heading-3202,
.section-two-new-story-3202,
.section-two-new-grid-3202,
.section-two-new-photo-one-3202,
.section-two-new-experience-3202,
.section-two-new-photo-two-3202,
.section-two-new-personal-3202{
  margin:0;
  padding:0;
  gap:0;
  box-sizing:border-box;
}

.section-two-new-3202{
  width:100%;
  background:#000;
}

.section-two-new-heading-3202{
  width:100%;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:32px;
  line-height:1.2;
  font-weight:400;
  font-style:italic;
}

.section-two-new-heading-white-3202{
  color:#f5f2ec;
}

.section-two-new-heading-gold-3202{
  color:#d6a62e;
}

.section-two-new-grid-3202{
  width:100%;
  display:grid;
  grid-template-columns:50% 50%;
  grid-template-rows:auto auto;
  column-gap:0;
  row-gap:0;
}

@media(max-width:767px){
  .section-two-new-grid-3202{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
  }
}


/* v3203 — Populate only the full-width story row.
   Typography and highlights match the original first paragraph.
   The row retains zero padding, margin, and gap. */
.section-two-new-story-3202 p{
  margin:0;
  padding:0;
  color:var(--co-muted);
  font-family:'Poppins',Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
  text-justify:inter-word;
}

.section-two-new-story-3202 p strong{
  color:var(--co-white);
  font-weight:500;
}

.section-two-new-story-3202 .gold-highlight{
  color:var(--co-gold);
  font-style:italic;
}

.section-two-new-story-3202 strong .gold-highlight{
  font-weight:inherit;
}


/* v3204 — Story-row spacing only.
   Match the established paragraph inset and add one full rendered
   body-text line above the paragraph. No other spacing changes. */
.section-two-new-story-3202{
  margin-top:30px;
  margin-bottom:25.84px;
  margin-left:3vw;
  margin-right:4vw;
}


/* v3210 — Populate only Column 1, Row 1 with the approved
   Cinnamon-and-Odie photograph and its existing feather treatment. */
.section-two-new-photo-one-3202{
  width:100%;
  min-width:0;
  overflow:hidden;
}

.section-two-new-photo-one-3202 img{
  display:block;
  width:96%;
  height:auto;
  margin:0 auto;
  padding:0;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,#000 1.5%,#000 99%,transparent 100%),
    linear-gradient(to bottom,#000 0%,#000 99%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,#000 1.5%,#000 99%,transparent 100%),
    linear-gradient(to bottom,#000 0%,#000 99%,transparent 100%);
  mask-composite:intersect;
}


/* v3211 — Populate only Row 1, right column with the approved
   Built on Experience block. Restore the original Section 2 copy inset;
   typography and highlights are inherited directly from the original. */
.section-two-new-experience-3202{
  padding:0 4vw 0 0;
  min-height:0;
  margin-top:51.68px;
}

.section-two-new-experience-3202 p{
  margin-right:0;
}

.section-two-new-photo-two-3202 p{
  margin-left:0;
  margin-right:0;
}


/* v3214 — Desktop Row 1 photo sizing only.
   The text determines the row height; the original photograph is centered
   horizontally and vertically at 80% of its cell without cropping. */
@media(min-width:768px){
  .section-two-new-photo-one-3202{
    position:static;
    margin-top:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .section-two-new-photo-one-3202 img{
    position:static;
    left:auto;
    top:auto;
    width:86%;
    max-width:100%;
    height:auto;
    transform:none;
    object-fit:contain;
  }
}

/* v3261 — restrainedly scattered molecular separator, inset from both sides. */
.section-divider.section-divider-weave,
.products-transition{
  height:64px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#000;
}

.molecular-divider{
  width:86%;
  height:15px;
  margin:0 auto;
  background-image:url("assets/molecular-divider.svg");
  background-repeat:repeat-x;
  background-position:center;
  background-size:280px 18px;
  opacity:.92;
  filter:brightness(1.4) drop-shadow(0 0 1px rgba(217,168,59,.42));
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
}

@media(max-width:767px){
  .section-divider.section-divider-weave,
  .products-transition{
    height:58px;
  }

  .molecular-divider{
    width:84%;
    height:14px;
    background-size:240px 16px;
  }
}

/* =========================================================
   v4000 SECTION 4 — CONTACT
   C&O typography and palette; field spacing follows the
   proven Defy Age form mechanics (two-column grid, 16px gap,
   10px field padding), restyled only for the C&O site.
   ========================================================= */
.contact-section-4000{
  width:100%;
  margin:0;
  padding:0 4vw 0;
  background:#000;
  color:var(--co-white);
  font-family:'Poppins',Arial,sans-serif;
}
.contact-header-4000{
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
  font-family:'Poppins',Arial,sans-serif;
  font-size:32px;
  line-height:1.2;
  font-weight:400;
}
.contact-title-4000{color:#f5f2ec;font-style:italic;}
.contact-qualifier-4000{color:var(--co-gold);font-style:italic;}
.contact-intro-4000{
  width:min(940px,100%);
  margin:30px auto 10px;
  padding:0;
  text-align:center;
}
.contact-intro-4000 p{
  margin:0;
  color:var(--co-muted);
  font-family:'Poppins',Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
}
.contact-email-link-4000{
  color:var(--co-gold);
  font-style:italic;
  font-weight:700;
  text-decoration:underline;
}
.contact-email-link-4000:hover,
.contact-email-link-4000:focus-visible{color:var(--co-white);outline:none;}

.contact-form-4000{
  width:min(1120px,100%);
  margin:0 auto;
  padding:16px 24px;
  border:1px solid rgba(217,168,59,.58);
  background:#050505;
}
.contact-grid-4000{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-grid-4000 label{
  display:grid;
  gap:7px;
  min-width:0;
  color:var(--co-white);
  font-family:'Poppins',Arial,sans-serif;
  font-size:15px;
  font-weight:400;
}
.contact-grid-4000 label span em{
  color:var(--co-gold);
  font-style:normal;
}
.contact-full-4000{grid-column:1/-1;}
.contact-grid-4000 input,
.contact-grid-4000 select,
.contact-grid-4000 textarea{
  width:100%;
  min-width:0;
  border:1px solid #6e6552;
  border-radius:7px;
  padding:10px;
  font:inherit;
  color:var(--co-white);
  background:#111;
  outline:none;
}
.contact-grid-4000 input,
.contact-grid-4000 select{min-height:44px;}
.contact-grid-4000 textarea{resize:vertical;min-height:64px;line-height:1.45;}
.contact-grid-4000 input:focus,
.contact-grid-4000 select:focus,
.contact-grid-4000 textarea:focus{
  border-color:var(--co-gold);
  box-shadow:0 0 0 1px rgba(217,168,59,.18);
}
.contact-grid-4000 select{color-scheme:dark;}
.contact-submit-row-4000{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:18px;
}
.contact-submit-4000{
  min-height:48px;
  padding:0 24px;
  border:1px solid var(--co-gold);
  border-radius:0;
  background:var(--co-gold);
  color:#000;
  font-family:'Poppins',Arial,sans-serif;
  font-size:16px;
  font-weight:500;
  cursor:pointer;
}
.contact-submit-4000:hover,
.contact-submit-4000:focus-visible{
  background:var(--co-gold);
  color:#000;
  outline:1px solid var(--co-white);
  outline-offset:2px;
}
.contact-submit-copy-4000{
  flex:1 1 0;
  min-width:0;
}
.contact-response-note-4000,
.contact-status-4000{
  margin:0;
  padding:0;
  font-family:'Poppins',Arial,sans-serif;
  font-size:14px;
  line-height:1.4;
  font-weight:300;
  font-style:normal;
}
.contact-response-note-4000{
  color:var(--co-white);
}
.contact-status-4000{
  margin-top:4px;
  color:var(--co-gold);
}

@media(max-width:700px){
  .contact-section-4000{padding:0 20px 0;}
  .contact-header-4000{font-size:28px;}
  .contact-intro-4000{margin-top:23.68px;margin-bottom:10px;}
  .contact-intro-4000 p{font-size:16px;line-height:1.48;}
  .contact-form-4000{padding:18px;}
  .contact-grid-4000{grid-template-columns:1fr;gap:14px;}
  .contact-full-4000{grid-column:auto;}
  .contact-submit-row-4000{display:block;margin-top:16px;}
  .contact-submit-4000{width:100%;}
  .contact-submit-copy-4000{margin-top:12px;text-align:center;}
  .contact-status-4000{margin-top:4px;}
}


/* =========================================================
   v4005 — SIMPLE SITE FOOTER / COLOR + WEIGHT CORRECTION
   ========================================================= */
.site-footer-4005{
  width:100%;
  margin:0;
  padding:18px 4vw 22px;
  border-top:1px solid var(--co-gold);
  background:#000;
  font-family:'Poppins',Arial,sans-serif;
}
.site-footer-row-4005{
  margin:0;
  text-align:center;
  white-space:nowrap;
  font-size:14px;
  line-height:1.45;
}
.site-footer-company-4005{
  color:var(--co-gold);
  font-weight:600;
}
.site-footer-partner-4005{
  color:var(--co-white);
  font-weight:600;
}
.site-footer-partner-4005 em{
  font-style:italic;
}
@media(max-width:767px){
  .site-footer-4005{padding:16px 20px 20px;}
  .site-footer-row-4005{
    white-space:normal;
    font-size:12px;
    line-height:1.55;
  }
}



/* =========================================================
   v5000 SECTION 5 — BECOME A PARTNER / OPENING ONLY
   ========================================================= */
.partner-section-5000{
  width:100%;
  margin:0;
  padding:0 4vw 38px;
  background:#000;
  color:var(--co-white);
  font-family:'Poppins',Arial,sans-serif;
}
.partner-header-5000{
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
  color:#f5f2ec;
  font-family:'Poppins',Arial,sans-serif;
  font-size:32px;
  line-height:1.2;
  font-weight:400;
  font-style:italic;
}
.partner-opening-5000{
  width:min(940px,100%);
  margin:30px auto 0;
  padding:0;
  text-align:center;
  color:var(--co-white);
  font-family:'Poppins',Arial,sans-serif;
  font-size:28px;
  line-height:1.4;
  font-weight:400;
}
.partner-opening-5000 span:last-child{
  color:var(--co-gold);
  font-style:italic;
}
.site-footer-row-4005 > em{
  font-style:italic;
}
@media(max-width:700px){
  .partner-section-5000{padding:0 20px 32px;}
  .partner-header-5000{font-size:28px;}
  .partner-opening-5000{margin-top:23.68px;font-size:23px;line-height:1.45;}
}


/* =========================================================
   v5001 SECTION 5 — BECOME A PARTNER BUTTON ONLY
   ========================================================= */
.partner-actions-5001{
  display:flex;
  justify-content:center;
  width:100%;
  margin:28px auto 0;
}
.partner-cta-5001{
  cursor:pointer;
}
@media(max-width:700px){
  .partner-actions-5001{margin-top:24px;}
}


/* =========================================================
   v5002 SECTION 5 — HEADER WEIGHT MATCH
   Match Become a Partner to Contact header weight only.
   ========================================================= */
.partner-header-5000{
  font-weight:500;
}


/* =========================================================
   v5003 SECTION 5 — FIRST PARTNER PARAGRAPH
   Typography/margins mirror the full-width About C&O story paragraph.
   ========================================================= */
.partner-copy-5003{
  margin-top:30px;
  margin-bottom:25.84px;
  margin-left:3vw;
  margin-right:4vw;
}
.partner-copy-5003 p{
  margin:0;
  padding:0;
  color:var(--co-muted);
  font-family:'Poppins',Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
  text-justify:inter-word;
}
.partner-copy-5003 .gold-highlight{
  color:var(--co-gold);
  font-style:italic;
}


/* =========================================================
   v5004 SECTION 5 — TWO-CELL BOTTOM ROW
   Left cell reserved for approved partner photo.
   Right cell contains Become a Partner button.
   ========================================================= */
.partner-bottom-row-5004{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:100%;
  margin:28px auto 0;
  align-items:center;
}
.partner-photo-cell-5004{
  min-width:0;
  min-height:1px;
}
.partner-button-cell-5004{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:700px){
  .partner-bottom-row-5004{
    grid-template-columns:1fr;
    row-gap:24px;
    margin-top:24px;
  }
  .partner-photo-cell-5004{
    order:1;
  }
  .partner-button-cell-5004{
    order:2;
  }
}


/* =========================================================
   v5005 SECTION 5 — CORRECT TWO-COLUMN / TWO-ROW STRUCTURE
   Column 1: photo spanning the content row.
   Column 2 row 1: paragraph.
   Column 2 row 2: button.
   ========================================================= */
.partner-content-grid-5005{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:100%;
  margin:30px auto 0;
  align-items:stretch;
}
.partner-photo-cell-5005{
  min-width:0;
  min-height:1px;
}
.partner-right-cell-5005{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto;
  align-content:center;
}
.partner-content-grid-5005 .partner-copy-5003{
  margin-top:0;
}
.partner-button-cell-5005{
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:700px){
  .partner-content-grid-5005{
    grid-template-columns:1fr;
    row-gap:24px;
    margin-top:24px;
  }
  .partner-photo-cell-5005{
    order:1;
  }
  .partner-right-cell-5005{
    order:2;
  }
}


/* =========================================================
   v5006 SECTION 5 — RESTORED TOP PARAGRAPH + PARTNER ROW
   Top paragraph remains full width.
   Bottom: left photo; right top reserved text; right bottom button.
   ========================================================= */
.partner-content-grid-5006{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:44px;
  width:100%;
  margin:28px auto 0;
  align-items:stretch;
}
.partner-photo-cell-5006{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.partner-photo-cell-5006 img{
  display:block;
  width:min(100%,500px);
  height:auto;
  object-fit:contain;
}
.partner-right-cell-5006{
  min-width:0;
  display:grid;
  grid-template-rows:minmax(72px,auto) auto;
  align-content:center;
}
.partner-future-copy-5006{
  min-width:0;
}
.partner-button-cell-5006{
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:700px){
  .partner-content-grid-5006{
    grid-template-columns:1fr;
    row-gap:24px;
    margin-top:24px;
  }
  .partner-photo-cell-5006{order:1;}
  .partner-right-cell-5006{order:2;}
}


/* =========================================================
   v5007 SECTION 5 — HOW TO APPLY COPY
   Match Section 2, Column 2, Paragraph 1 typography/margins.
   ========================================================= */
.partner-future-copy-5006{
  margin:0;
  padding:0 4vw 0 3vw;
  color:var(--co-muted);
  font-family:'Poppins',Arial,sans-serif;
  font-size:17px;
  line-height:1.52;
  font-weight:300;
  text-align:justify;
  text-justify:inter-word;
}
.partner-future-copy-5006 h3{
  margin:0 0 18px;
  padding:0;
  color:var(--co-gold);
  font:italic 400 28px/1.2 'Poppins',Arial,sans-serif;
  text-align:center;
}
.partner-future-copy-5006 p{
  margin:0 0 18px;
  padding:0;
}
.partner-future-copy-5006 p:last-child{
  margin-bottom:0;
}
.partner-future-copy-5006 .gold-highlight{
  color:var(--co-gold);
  font-style:italic;
}


/* =========================================================
   v5008 SECTION 5 — LOWER GRID 40/60
   Handshake/photo column 40%; How to Apply column 60%.
   Paragraph margins intentionally unchanged.
   ========================================================= */
.partner-content-grid-5006{
  grid-template-columns:minmax(0,40%) minmax(0,60%);
}


/* =========================================================
   v5009 SECTION 5 — RIGHT COLUMN THREE-ROW CTA STRUCTURE
   Row 1: How to Apply copy
   Row 2: centered highlighted application line
   Row 3: centered button, bottom aligned
   ========================================================= */
.partner-right-cell-5006{
  grid-template-rows:auto auto 1fr;
  align-content:stretch;
}
.partner-application-line-5009{
  margin:16px 0 0;
  padding:0 4vw 0 3vw;
  color:var(--co-gold);
  font-family:'Poppins',Arial,sans-serif;
  font-size:20px;
  line-height:1.4;
  font-weight:400;
  font-style:italic;
  text-align:center;
}
.partner-button-cell-5006{
  align-self:end;
  justify-content:center;
  padding:20px 0 0;
}


/* =========================================================
   v5011 — COMPLETE THE APPLICATION LINE
   Only "Complete the Application" is highlighted.
   Remaining words are white/normal. Size and centering retained.
   ========================================================= */
.partner-application-line-5009{
  color:var(--co-muted);
  font-style:normal;
}
.partner-application-line-5009 em{
  color:var(--co-gold);
  font-style:italic;
}


/* =========================================================
   v5012 SECTION 5 — PARTNER PHOTO FEATHER
   Existing photo cell verified:
   justify-content:center = horizontal center
   align-items:center = vertical center
   Feather all four edges only; size/position unchanged.
   ========================================================= */
.partner-photo-cell-5006 img{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
  mask-composite: intersect;
}


/* =========================================================
   v5013 SECTION 5 — PHOTO FEATHER + TOP COPY REFINEMENT
   ========================================================= */

/* Convex feather: soft elliptical falloff instead of inward/concave side cuts. */
.partner-photo-cell-5006 img{
  -webkit-mask-image: radial-gradient(ellipse at center,
    #000 0%,
    #000 68%,
    rgba(0,0,0,.92) 76%,
    rgba(0,0,0,.62) 86%,
    transparent 100%);
  -webkit-mask-composite: initial;
  mask-image: radial-gradient(ellipse at center,
    #000 0%,
    #000 68%,
    rgba(0,0,0,.92) 76%,
    rgba(0,0,0,.62) 86%,
    transparent 100%);
  mask-composite: initial;
}

/* Make Science / Strategy / Stronger together slightly quieter. */
.partner-opening-5000{
  font-size:25px;
}

/* Center the full-width first paragraph without changing its margin box. */
.partner-copy-5003 p{
  text-align:center;
  text-justify:auto;
}

/* Keep CTA line centered and visually tied to the button. */
.partner-application-line-5009{
  margin-top:18px;
}
.partner-button-cell-5006{
  padding-top:14px;
}


/* =========================================================
   v5014 SECTION 5 — CENTER TOP PARAGRAPH ROW CORRECTLY
   Keep the same total horizontal breathing room (7vw),
   but center the row itself instead of using 3vw/4vw asymmetry.
   Lower 40/60 photo + How to Apply grid remains untouched.
   ========================================================= */
.partner-copy-5003{
  width:calc(100% - 7vw);
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   v5016 SECTION 5 — MOBILE ORDER / WIDTH CORRECTION ONLY

   Mobile order:
   1. Header
   2. Intro line
   3. Full-width intro paragraph
   4. Photo
   5. How to Apply copy
   6. CTA line above button
   7. Button

   Desktop layout is untouched.
   ========================================================= */
@media(max-width:700px){
  .partner-content-grid-5006{
    display:block;
    width:100%;
    margin:24px auto 0;
  }

  .partner-photo-cell-5006{
    width:100%;
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .partner-photo-cell-5006 img{
    width:min(92%,500px);
    height:auto;
    margin:0 auto;
  }

  .partner-right-cell-5006{
    display:block;
    width:100%;
    min-width:0;
  }

  .partner-future-copy-5006{
    width:100%;
    padding:0 20px;
    margin:0;
    font-size:17px;
    line-height:1.52;
    text-align:justify;
    text-justify:inter-word;
  }

  .partner-future-copy-5006 h3{
    margin:0 0 18px;
    text-align:center;
  }

  .partner-application-line-5009{
    width:100%;
    margin:20px auto 0;
    padding:0 20px;
    text-align:center;
  }

  .partner-button-cell-5006{
    width:100%;
    padding:16px 0 0;
    display:flex;
    justify-content:center;
    align-items:center;
  }
}


/* =========================================================
   v5017 SECTION 5 — HANDSHAKE EDGE BLEND + INTRO WRAP
   Arms remain crisp where they enter from left/right.
   Top/bottom and corners blend softly into black.
   ========================================================= */

/* Remove prior convex/radial mask completely. */
.partner-photo-cell-5006 img{
  -webkit-mask-image:none;
  mask-image:none;
  -webkit-mask-composite:initial;
  mask-composite:initial;
}

/* Use a wrapper-style overlay without reshaping the photograph. */
.partner-photo-cell-5006{
  position:relative;
  overflow:hidden;
}
.partner-photo-cell-5006::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      #000 0%,
      rgba(0,0,0,.78) 3%,
      rgba(0,0,0,.28) 8%,
      transparent 15%,
      transparent 85%,
      rgba(0,0,0,.28) 92%,
      rgba(0,0,0,.78) 97%,
      #000 100%),
    radial-gradient(ellipse at top left,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.20) 14%,
      transparent 28%),
    radial-gradient(ellipse at top right,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.20) 14%,
      transparent 28%),
    radial-gradient(ellipse at bottom left,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.20) 14%,
      transparent 28%),
    radial-gradient(ellipse at bottom right,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.20) 14%,
      transparent 28%);
}

/* Intentional balanced desktop line break only. */
.partner-intro-break-5017{
  display:inline;
}
@media(max-width:700px){
  .partner-intro-break-5017{
    display:none;
  }
}


/* =========================================================
   v5018 — CONTROLLED CORRECTION FROM ACCEPTED v5017 ONLY
   ========================================================= */

/* One body-line gap above and below every molecular divider row. */
.section-divider.section-divider-weave,
.products-transition{
  margin-top:25.84px;
  margin-bottom:25.84px;
}

/* Narrow left/right fade directly on the handshake photograph.
   The existing v5017 top/bottom treatment remains untouched. */
.partner-photo-cell-5006 img{
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    #000 2.5%,
    #000 97.5%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    #000 2.5%,
    #000 97.5%,
    transparent 100%
  );
}

@media(max-width:700px){
  .section-divider.section-divider-weave,
  .products-transition{
    margin-top:23.68px;
    margin-bottom:23.68px;
  }
}


/* =========================================================
   v5019 — LOCKED HEADER + EXACT VISIBLE ANCHOR TARGETS
   Built from accepted v5018.
   No guessed header height. No section padding. No content changes.
   ========================================================= */

:root{
  --locked-header-height:112px;
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
}

/* Reserve only the actual rendered header height. */
body{
  margin-top:var(--locked-header-height);
}

/* Each nav target is the actual visible heading/text element.
   Land that first word immediately below the locked header. */
#home,
#about,
#products-2102,
#partner,
#contact{
  scroll-margin-top:calc(var(--locked-header-height) + 1px);
}


/* =========================================================
   v5020 — ANCHOR BREATHING CORRECTION ONLY
   Header remains locked exactly as v5019.
   No layout/content/photo/divider changes.
   ========================================================= */

/* HOME anchors to the very start of Section 1 rather than the first letter. */
#home{
  scroll-margin-top:var(--locked-header-height);
}

/* Section headings land with one body-line of visible breathing room
   between the fixed header and the heading itself. */
#about,
#products-2102,
#partner,
#contact{
  scroll-margin-top:calc(var(--locked-header-height) + 25.84px);
}

@media(max-width:700px){
  #about,
  #products-2102,
  #partner,
  #contact{
    scroll-margin-top:calc(var(--locked-header-height) + 23.68px);
  }
}


/* =========================================================
   v5021 — HOME ANCHOR ONLY
   Home now lands on the first actual content cell:
   top-left, row 1 / column 1.
   ========================================================= */
#home{
  scroll-margin-top:calc(var(--locked-header-height) + 25.84px);
}

@media(max-width:700px){
  #home{
    scroll-margin-top:calc(var(--locked-header-height) + 23.68px);
  }
}


/* =========================================================
   v5022 — HOME ONLY
   Home is the header/logo: row 1, cell 1.
   Other anchors and locked-header behavior remain unchanged.
   ========================================================= */
#home{
  scroll-margin-top:0;
}


/* =========================================================
   v5023 — PARTNER APPLICATION ACTIONS ONLY
   Existing nav typography/geometry retained.
   Partner Application and Partner Login are normal nav actions
   with matched box treatment; natural text widths preserved.
   ========================================================= */

@media(min-width:768px){
  .nav .nav-action{
    border:1px solid var(--co-gold);
    padding:8px 12px;
    line-height:1.2;
    text-align:center;
  }

  .nav .nav-application{
    background:var(--co-gold);
    color:var(--co-white);
    cursor:default;
  }

  .nav .nav-application:hover,
  .nav .nav-application:focus-visible{
    background:var(--co-white);
    color:var(--co-gold);
  }

  .nav .nav-login{
    background:#000;
    color:var(--co-gold);
  }

  .nav .nav-login:hover,
  .nav .nav-login:focus-visible{
    background:var(--co-gold);
    color:#000;
  }
}

/* Mobile keeps both actions in the existing menu flow. */
@media(max-width:767px){
  .nav .nav-action{
    text-align:center;
  }

  .nav .nav-application{
    background:var(--co-gold);
    color:var(--co-white);
    cursor:default;
  }

  .nav .nav-login{
    color:var(--co-gold);
  }
}

/* Section 5 button keeps its existing visual design while disabled. */
.partner-cta-5001:disabled{
  opacity:1;
  cursor:default;
}


/* v5024 — Partner Application header action text color ONLY */
@media(min-width:768px){
  .nav .nav-application{
    color:#000;
  }
  .nav .nav-application:hover,
  .nav .nav-application:focus-visible{
    background:var(--co-gold);
    color:var(--co-white);
  }
}

@media(max-width:767px){
  .nav .nav-application{
    color:#000;
  }
  .nav .nav-application:hover,
  .nav .nav-application:focus-visible{
    color:var(--co-white);
  }
}


/* =========================================================
   v5030 — MOBILE NARRATIVE PARAGRAPH ALIGNMENT ONLY
   Center-align only the approved narrative paragraph blocks to
   eliminate excessive inter-word spacing on narrow screens.
   Desktop and all non-narrative text remain unchanged.
   ========================================================= */
@media (max-width:767px){
  .section-one-new-paragraph p,
  .section-two-new-story-3202 p,
  .section-two-new-3202 .section-two-copy p,
  .partner-future-copy-5006 p{
    text-align:center;
    text-justify:auto;
  }
}


/* v5033 — header action buttons only */
.site-header .nav .nav-application,
.site-header .nav .nav-login{
  height:0.8cm!important;
  min-height:0.8cm!important;
  min-width:168px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.site-header .nav .nav-application:hover,
.site-header .nav .nav-application:focus-visible,
.site-header .nav .nav-login:hover,
.site-header .nav .nav-login:focus-visible{
  height:0.8cm!important;
  min-height:0.8cm!important;
}

/* v5034 — Partner Login hover text color only */
.site-header .nav .nav-login:hover,
.site-header .nav .nav-login:focus-visible{
  color:#fff!important;
}



/* v5037 — STATIC SITE INTERACTION STANDARD */

/* Header Partner Login: preserve black fill/gold border; text only turns white. */
.site-header .nav .nav-login:hover,
.site-header .nav .nav-login:focus-visible{
  background:#000!important;
  color:#fff!important;
  border-color:var(--co-gold)!important;
}

/* Home CTA pair: 10px radius. */
.section-one-new-buttons .btn{
  border-radius:10px!important;
}

/* Preserve each CTA's normal background/border; hover changes text only. */
.section-one-new-buttons .btn-outline:hover,
.section-one-new-buttons .btn-outline:focus-visible{
  background:#000!important;
  border-color:var(--co-gold)!important;
  color:#fff!important;
  transform:none!important;
  outline:none!important;
}
.section-one-new-buttons .btn-fill:hover,
.section-one-new-buttons .btn-fill:focus-visible{
  background:var(--co-gold)!important;
  border-color:var(--co-gold)!important;
  color:#fff!important;
  transform:none!important;
  outline:none!important;
}


/* v5038 — Send Message static-site standard */
.contact-submit-4000{
  border-radius:10px!important;
}
.contact-submit-4000:hover,
.contact-submit-4000:focus-visible{
  background:var(--co-gold)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:none!important;
  transform:none!important;
}


/* v5039 — final static-site CTA: How to Apply Partner Application */
.partner-cta-5001{
  border-radius:10px!important;
  background:var(--co-gold)!important;
  color:#000!important;
  border-color:var(--co-gold)!important;
  transform:none!important;
}
.partner-cta-5001:hover,
.partner-cta-5001:focus-visible{
  border-radius:10px!important;
  background:var(--co-gold)!important;
  color:#fff!important;
  border-color:var(--co-gold)!important;
  outline:none!important;
  box-shadow:none!important;
  transform:none!important;
}
