/** Shopify CDN: Minification failed

Line 154:10 Expected identifier but found whitespace
Line 154:11 Unexpected "35px"
Line 363:1 Unexpected ","

**/
/* SWIMWILD / THE LOCH IS CALLING — bold Horizon design layer */
:root{--sw-deep:#0b3a42;--sw-teal:#0e7b7b;--sw-bright:#11b1b1;--sw-glass:#8fe3dc;--sw-foam:#e9f9fa;--sw-lime:#ccf27a;--sw-ice:#d5f8f1;--sw-ease:cubic-bezier(.22,1,.36,1)}
::selection{background:var(--sw-lime);color:var(--sw-deep)}
html{scroll-behavior:smooth}
main :is(h1,h2,h3){text-wrap:balance}
/* Animated current / sitewide top rail */
@supports(animation-timeline:scroll()) {body::before{content:'';height:5px;position:fixed;top:0;left:0;right:0;z-index:99999;background:var(--sw-bright);transform-origin:left;animation:sw-progress linear both;animation-timeline:scroll(root)}@keyframes sw-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
/* Transparent homepage header */
body:has(.split-hero) .header-section .header__row {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Dark navigation/icons against the cream hero */
body:has(.split-hero) .header-section {
  color: #23465a;
  --color-foreground: #23465a;
}
body:has(.split-hero) .header-section :is(a, button, svg) {
  color: #23465a;
}

/* Subtle separation without a solid header bar */
body:has(.split-hero) .header-section::after {
  opacity: 0.25;
}
.header-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--sw-teal),var(--sw-glass),var(--sw-bright))}
/* ============================================================
   SWIMWILD — HIGHLAND EDITORIAL HERO
   Inspired by the reference: book left, copy right, misty loch.
   Cream-and-blue edition, preserving the original animated water effect.
   ============================================================ */
.shopify-section:has(.split-hero) {
  --sw-hero-width: 1180px;
  --sw-book-scale: 1.07;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #f6f2e9;
}

/* Cream paper and glacial blue, with colour behind the book for contrast. */
.shopify-section:has(.split-hero) > .section-background {
  background:
    radial-gradient(ellipse 65% 105% at 28% 34%, rgba(255,255,255,.72), transparent 75%),
    radial-gradient(ellipse 68% 90% at 84% 20%, rgba(164,211,228,.28), transparent 80%),
    linear-gradient(112deg, #f8f3e9 0%, #f1efe9 43%, #dbe9ec 76%, #cfdee5 100%) !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* Keep the familiar swaying ripple geometry, softened and behind content. */
.shopify-section:has(.split-hero) > .section-background::before {
  content: '';
  position: absolute;
  inset: -65%;
  pointer-events: none;
  opacity: .29;
  background: repeating-radial-gradient(
    ellipse 52% 31% at 80% 60%,
    transparent 0 24px,
    rgba(62,113,150,.48) 25px 27px,
    transparent 28px 57px
  );
  transform: rotate(-20deg);
  animation: sw-contours 20s ease-in-out infinite alternate;
}
.shopify-section:has(.split-hero) > .section-background::after {
  content: none !important;
}

/* Two editorial columns; reverse the visual order without Liquid edits. */
.shopify-section:has(.split-hero) .split-hero {
  position: relative;
  z-index: 2;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
  align-items: center !important;
  column-gap: clamp(20px, 3.4vw, 64px) !important;
  width: min(100%, var(--sw-hero-width));
  margin-inline: auto;
  min-height: 0 !important;
  height: auto !important;
  padding-block: clamp(44px, 5.4vw, 88px) !important;
}

/* Vertical, stationary light shafts alternately fading in and out. */
.shopify-section:has(.split-hero) .split-hero::before,
.shopify-section:has(.split-hero) .split-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-mask-image: linear-gradient(to bottom, black, black 16%, transparent 94%);
  mask-image: linear-gradient(to bottom, black, black 16%, transparent 94%);
  filter: blur(18px);
}
.shopify-section:has(.split-hero) .split-hero::before {
  background-image:
    linear-gradient(90deg, transparent 8%, rgba(255,255,255,.33) 19%, transparent 29%),
    linear-gradient(90deg, transparent 51%, rgba(255,255,255,.24) 61%, transparent 71%);
  animation: sw-light-a 24s ease-in-out infinite;
}
.shopify-section:has(.split-hero) .split-hero::after {
  background-image:
    linear-gradient(90deg, transparent 29%, rgba(255,255,255,.24) 40%, transparent 51%),
    linear-gradient(90deg, transparent 72%, rgba(255,255,255,.27) 83%, transparent 94%);
  animation: sw-light-b 24s ease-in-out infinite;
}

.split-hero__content {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 2;
  max-width: 620px;
  min-width: 0;
  justify-self: start;
  align-self: center !important;
  padding: 35px;
  isolation: isolate;
}

.split-hero__content::before {
  content: "";
  position: absolute;
  inset: -28px -34px -28px -34px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse at 45% 50%,
      rgba(255, 250, 239, 0.92) 0%,
      rgba(255, 250, 239, 0.82) 38%,
      rgba(255, 250, 239, 0.48) 62%,
      rgba(255, 250, 239, 0.16) 78%,
      rgba(255, 250, 239, 0) 100%
    );
  filter: blur(16px);
}

  padding: 35px;
  border-radius: 20px;
}
.split-hero__content > * + * {
  margin-block-start: clamp(15px, 1.7vw, 25px) !important;
  
}
.split-hero__eyebrow {
  width: fit-content;
  padding: 0;
  margin: 0 0 12px !important;
  background: none;
  color: #456a83 !important;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  font-family: var(--font-paragraph--family), sans-serif;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .24em;
  text-transform: uppercase;
  transform: none;
}
.shopify-section:has(.split-hero) .split-hero__heading {
  font-family: var(--font-h1--family), Georgia, serif !important;
  font-size: clamp(48px, 4.8vw, 78px) !important;
  font-weight: 800 !important;
  line-height: .99 !important;
  letter-spacing: -.052em !important;
  color: #203d53 !important;
  max-width: 13ch;
  margin: 0 !important;
  text-shadow: none;
}
/* Remove the previously injected arrow; keep the title itself clean. */
.split-hero__heading::after { content: none !important; }
.split-hero__text,
.split-hero__text :is(p,a) {
  color: #36546b !important;
  font-size: clamp(16px, 1.14vw, 19px) !important;
  line-height: 1.65 !important;
  max-width: ch;
}
.split-hero__buttons {
  margin-top: clamp(18px,2vw,30px) !important;
  gap: 12px;
}
.split-hero__buttons .button {
  background: #36A0AC !important;
color: #ffffff !important;
  border: 1px solid rgba(30,70,91,.18) !important;
  box-shadow: 0 7px 18px rgba(30,65,90,.13);
  min-height: 48px !important;
  padding: 12px 26px !important;
  font-weight: 800;
  white-space: nowrap;
}
.split-hero__buttons .button::after { content: none !important; }
.split-hero__buttons .button-secondary {
  background: transparent !important;
  color: #24485f !important;
  border: 1px solid rgba(36,72,95,.55) !important;
  box-shadow: none;
}

/* The existing transparent book PNG remains the *actual* product image. */
.split-hero__media {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 540px;
  min-width: 0;
  margin: 0 !important;
  justify-self: end;
  align-self: center !important;
  overflow: visible;
  background: transparent !important;
  transform: none !important;
}
.split-hero__media::before,
.split-hero__media::after { content: none !important; }
.split-hero__media img {
  display: block;
  width: 100%;
  height: clamp(390px, 35vw, 570px) !important;
  max-height: 570px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 24px 24px rgba(26,58,86,.24));
  transform: scale(var(--sw-book-scale)) !important;
  transition: transform .55s var(--sw-ease);
}
.split-hero__media:hover img {
  transform: scale(calc(var(--sw-book-scale) + .025)) !important;
}
.split-hero__stats { border-top: 1px solid rgba(42,78,103,.22); padding-top: 12px; }
.split-hero__stats dt { color: #55778c; }
.split-hero__stats dd { color: var(--sw-lime); font-size: 1.4rem; font-weight: 900; }
.split-hero__note { color: #36546b; }

/* A soft water-coloured transition, not a jagged border. */
/* Soft wave transition below hero */
.shopify-section:has(.split-hero)::after {
  content: '';
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 45px;
  margin-top: -1px;
  margin-bottom: -1px;
  background:
  linear-gradient(
    rgba(23, 58, 107, var(--ocean-deep-layer, 0)),
    rgba(23, 58, 107, var(--ocean-deep-layer, 0))
  ),
  linear-gradient(
    rgba(76, 130, 189, var(--ocean-mid, 0)),
    rgba(76, 130, 189, var(--ocean-mid, 0))
  ),
  #d4edf8;

  clip-path: polygon(
    0 55%,
    5% 48%,
    10% 56%,
    15% 44%,
    20% 52%,
    25% 38%,
    30% 49%,
    35% 34%,
    40% 47%,
    45% 37%,
    50% 51%,
    55% 39%,
    60% 52%,
    65% 42%,
    70% 55%,
    75% 44%,
    80% 57%,
    85% 46%,
    90% 55%,
    95% 48%,
    100% 54%,
    100% 100%,
    0 100%
  );
}
@keyframes sw-light-a { 0%,100% { opacity: .2; } 50% { opacity: .52; } }
@keyframes sw-light-b { 0%,100% { opacity: .52; } 50% { opacity: .2; } }
@keyframes sw-contours { to { transform: rotate(-13deg) scale(1.13) translate(2%,1%); } }

@media (max-width: 749px) {
  .shopify-section:has(.split-hero) .split-hero {
    grid-template-columns: minmax(0,1fr);
    gap: 10px !important;
    padding-block: 38px 28px !important;
  }
  .split-hero__content {
    grid-column: 1;
    grid-row: 1;
    max-width: none;
  }
  .shopify-section:has(.split-hero) .split-hero__heading {
    font-size: clamp(39px, 10vw, 58px) !important;
  }
  .split-hero__media {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    max-width: 420px;
    margin: 0 auto !important;
  }
  .split-hero__media img {
    height: clamp(290px, 85vw, 415px) !important;
    max-height: 415px !important;
  }
}
/* Supersized editorial headings */
.link-cards__heading,.testimonials__heading{font-weight:900!important;;color:var(--sw-deep)!important;max-width:13ch;margin-bottom:2.25rem!important}
.link-cards__heading::after{content:'~';color:var(--sw-bright);margin-left:.15em}
/* Category tiles - graphic and colourful, not beige stationery */
.shopify-section:has(.link-cards)>.section-background{background:var(--sw-foam)!important}
.link-cards{padding-block:clamp(4rem,6vw,7rem)!important}.link-cards__grid{gap:clamp(1rem,2vw,2rem)!important}
.link-cards__card{position:relative;overflow:hidden;isolation:isolate;border:2px solid var(--sw-deep);border-radius:clamp(20px,3vw,38px);padding:clamp(1.3rem,2.5vw,2.4rem)!important;background:var(--sw-glass);box-shadow:8px 9px 0 var(--sw-deep);transition:transform .38s var(--sw-ease),box-shadow .38s var(--sw-ease)}
.link-cards__card:nth-child(3n+2){background:#bff1e9}.link-cards__card:nth-child(3n+3){background:var(--sw-lime)}
.link-cards__card::before{content:'';position:absolute;z-index:-1;right:-55px;top:-55px;width:220px;height:220px;border:3px solid rgb(11 58 66 /.18);border-radius:50%;box-shadow:0 0 0 20px rgb(11 58 66 /.055),0 0 0 45px rgb(11 58 66 /.055);transition:transform .7s var(--sw-ease)}
.link-cards__card:hover{transform:translate(-3px,-8px) rotate(-1deg);box-shadow:12px 16px 0 var(--sw-deep)}
.link-cards__card:hover::before{transform:scale(1.35)}
.link-cards__card img{aspect-ratio:5/4;object-fit:cover;border-radius:60% 40% 52% 48% / 42% 54% 46% 58%;border:4px solid var(--sw-deep);transition:transform .45s var(--sw-ease)}
.link-cards__card:hover img{transform:rotate(3deg) scale(1.025)}
.link-cards__eyebrow{font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.75rem;color:var(--sw-deep)}
.link-cards__title{font-size:clamp(1.8rem,3vw,3.25rem)!important;letter-spacing:-.05em!important;line-height:1.02!important;font-weight:900;color:var(--sw-deep)!important}
.link-cards__title a{color:inherit;text-decoration:none}.link-cards__title a::after{content:'';position:absolute;inset:0}
.link-cards__text{color:var(--sw-deep);line-height:1.4}.link-cards__link{font-weight:850;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;color:var(--sw-deep);border-bottom:2px solid currentColor}.link-cards__link::after{content:' ↗'}
/* Shop cards, visually lively but readable */
.product-card{transition:transform .4s var(--sw-ease)}.product-card .card-gallery,.product-card__image{overflow:hidden;border-radius:22px;border:2px solid rgba(11,58,66,.12);background:var(--sw-foam);transition:box-shadow .3s ease,border-color .3s ease}
.product-card:hover{transform:translateY(-7px)}.product-card:hover .card-gallery{box-shadow:7px 9px 0 var(--sw-glass);border-color:var(--sw-teal)}
.product-grid{row-gap:clamp(2rem,4vw,4rem)}
/* Shop-wide primary actions */
.button,.button-secondary,button.shopify-payment-button__button--unbranded{border-radius:999px!important;font-weight:800!important;transition:transform .3s var(--sw-ease),box-shadow .3s var(--sw-ease),background .2s ease!important}
.split-hero__buttons .button:hover {
  background: #D8357E !important;
},.button-secondary:hover:not([disabled]){transform:translateY(-4px)}.button:active,.button-secondary:active{transform:translateY(0) scale(.97)}
/* Testimonial area */
.shopify-section:has(.testimonials)>.section-background{background:#16396B!important}
.shopify-section:has(.testimonials){overflow:hidden}.testimonials{padding-block:clamp(4rem,6vw,7rem)!important}
.testimonials__heading{color:#fff!important}.testimonials__eyebrow,.testimonials__intro{color:var(--sw-glass)!important}
.testimonials__item{background:#effffc;border:2px solid #07363d;border-radius:35px 35px 35px 8px;padding:clamp(1.25rem,2.5vw,2.5rem);box-shadow:7px 9px 0 var(--sw-bright);transition:transform .3s var(--sw-ease)}.testimonials__item:hover{transform:rotate(-1.2deg) translateY(-5px)}.testimonials__rating{color:var(--sw-teal)}.testimonials__quote{color:var(--sw-deep);line-height:1.5}
/* Keyboard / responsive / reduced motion */
:focus-visible{outline:3px solid var(--sw-bright);outline-offset:4px}

@media(max-width:749px){.link-cards{padding-block:3.25rem!important}.link-cards__card{box-shadow:5px 6px 0 var(--sw-deep)}.link-cards__card:hover,.product-card:hover{transform:none}.testimonials__heading,.link-cards__heading{font-size:clamp(2.8rem,11vw,4.5rem)!important}}


/* Reduced-motion preference: preserve the visual appearance, stop movement. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* =====================================
   SWIMWILD — UNDERWATER DESCENT
   ===================================== */



/* Main page background */
body:has(.split-hero) .content-for-layout {
  background:
    linear-gradient(
      rgba(23, 58, 107, var(--ocean-deep-layer, 0)),
      rgba(23, 58, 107, var(--ocean-deep-layer, 0))
    ),
    linear-gradient(
      rgba(76, 130, 189, var(--ocean-mid, 0)),
      rgba(76, 130, 189, var(--ocean-mid, 0))
    ),
    #d4edf8 !important;
}

/* Let the background show through */
body:has(.split-hero)
.content-for-layout
.shopify-section:not(:has(.split-hero)) {
  background: transparent !important;
}

/* Remove solid backgrounds from sections */
body:has(.split-hero)
.content-for-layout
.shopify-section:not(:has(.split-hero))
.section-background {
  background: transparent !important;
}

/* Keep actual section content transparent */
body:has(.split-hero)
.content-for-layout
.shopify-section:not(:has(.split-hero))
.section {
  background: transparent !important;
}

/* =========================================
   SWIMWILD — UNDERWATER ATMOSPHERE
   ========================================= */

.ocean-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  overflow: hidden;

  /* Appear gradually as the page descends */
  opacity: clamp(0, calc((var(--ocean-depth, 0) - .25) * 1.4), 1);
}

/* Gentle shafts of underwater light */
.ocean-rays {
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    /* Bright underwater glow near the surface */
    radial-gradient(
      ellipse 48% 28% at 25% -5%,
      rgba(140, 225, 255, 0.30) 0%,
      rgba(100, 195, 240, 0.12) 45%,
      transparent 100%
    ),

    /* Soft beams descending into the water */
    conic-gradient(
      from 145deg at 25% -28%,
      transparent 0deg,
      rgba(155, 225, 255, 0.15) 9deg,
      transparent 19deg,
      rgba(130, 210, 255, 0.10) 26deg,
      transparent 35deg,
      rgba(180, 235, 255, 0.19) 44deg,
      transparent 55deg,
      rgba(120, 200, 250, 0.10) 65deg,
      transparent 77deg
    );

  background-repeat: no-repeat;

  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    rgba(0,0,0,.85) 30%,
    transparent 90%
  );

  mask-image: linear-gradient(
    to bottom,
    black 0%,
    rgba(0,0,0,.85) 30%,
    transparent 90%
  );

  filter: blur(7px);

  animation: ocean-shimmer 20s ease-in-out infinite;
}

/* Floating bubbles */
.ocean-bubbles {
  position: absolute;
  inset: 0;
}

.ocean-bubbles span {
  position: absolute;
  bottom: -25px;

  width: 8px;
  height: 8px;

  border: 1px solid rgba(230, 250, 255, .45);
  border-radius: 50%;

  background: rgba(220, 245, 255, .08);
  box-shadow: inset -2px -2px 4px rgba(255,255,255,.12);

  animation: ocean-bubble-rise 18s linear infinite;
}

/* Different positions, sizes and speeds */
.ocean-bubbles span:nth-child(1) {
  left: 8%;
  width: 5px;
  height: 5px;
  animation-duration: 19s;
  animation-delay: -4s;
}

.ocean-bubbles span:nth-child(2) {
  left: 19%;
  animation-duration: 24s;
  animation-delay: -12s;
}

.ocean-bubbles span:nth-child(3) {
  left: 34%;
  width: 4px;
  height: 4px;
  animation-duration: 17s;
  animation-delay: -7s;
}

.ocean-bubbles span:nth-child(4) {
  left: 49%;
  width: 11px;
  height: 11px;
  animation-duration: 28s;
  animation-delay: -19s;
}

.ocean-bubbles span:nth-child(5) {
  left: 63%;
  width: 6px;
  height: 6px;
  animation-duration: 21s;
  animation-delay: -8s;
}

.ocean-bubbles span:nth-child(6) {
  left: 76%;
  animation-duration: 26s;
  animation-delay: -15s;
}

.ocean-bubbles span:nth-child(7) {
  left: 87%;
  width: 4px;
  height: 4px;
  animation-duration: 20s;
  animation-delay: -11s;
}

.ocean-bubbles span:nth-child(8) {
  left: 95%;
  width: 7px;
  height: 7px;
  animation-duration: 23s;
  animation-delay: -3s;
}

@keyframes ocean-bubble-rise {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 0;
  }

  12% {
    opacity: .55;
  }

  65% {
    opacity: .4;
  }

  100% {
    transform: translate3d(12px, -110vh, 0);
    opacity: 0;
  }
}

/* Homepage only */
body:not(:has(.split-hero)) .ocean-atmosphere {
  display: none;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .ocean-atmosphere {
    display: none;
  }
}

/* SwimWild policy pages */

.shopify-policy__container {
  max-width: 900px !important;
  padding: 50px 24px 90px !important;
}

.shopify-policy__title {
  margin-bottom: 40px;
}

.shopify-policy__title h1 {
  color: #16396B;
  font-size: clamp(32px, 4vw, 48px);
}

.shopify-policy__body {
  color: #294F69;
  line-height: 1.8;
  font-size: 16px;
}

.shopify-policy__body h2,
.shopify-policy__body h3 {
  color: #16396B;
  margin-top: 36px;
  margin-bottom: 16px;
}

.shopify-policy__body p {
  margin-bottom: 20px;
}

.shopify-policy__body a {
  color: #E84E93;
}
.shopify-policy__body h2 {
  font-size: 24px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin-top: 32px;
  margin-bottom: 12px;
}

.shopify-policy__body h3 {
  font-size: 19px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  margin-top: 24px;
  margin-bottom: 10px;
}