/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background-color:#fff;font-family:Arial,sans-serif;font-size:14px;line-height:20px;color:#333}img{max-width:100%;vertical-align:middle;display:inline-block}h1,h2,h3,h4,h5,h6{font-weight:700;margin-bottom:10px}h1{font-size:38px;line-height:44px;margin-top:20px}h2{font-size:32px;line-height:36px;margin-top:20px}h3{font-size:24px;line-height:30px;margin-top:20px}h4{font-size:18px;line-height:24px;margin-top:10px}h5{font-size:14px;line-height:20px;margin-top:10px}h6{font-size:12px;line-height:18px;margin-top:10px}p{margin-top:0;margin-bottom:10px}blockquote{margin:0 0 10px 0;padding:10px 20px;border-left:5px solid #e2e2e2;font-size:18px;line-height:22px}figure{margin:0 0 10px 0}figcaption{margin-top:5px;text-align:center}ol,ul{margin-top:0;margin-bottom:10px;padding-left:40px}.w-list-unstyled{padding-left:0;list-style:none}fieldset{padding:0;margin:0;border:0}.w-block{display:block}.w-inline-block{max-width:100%;display:inline-block}.w-clearfix::after,.w-clearfix::before{content:" ";display:table}.w-clearfix::after{clear:both}.w-hidden{display:none}.w-embed::after,.w-embed::before{content:" ";display:table}.w-embed::after{clear:both}.w-button{display:inline-block;padding:9px 15px;background-color:#3898ec;color:#fff;border:0;line-height:inherit;text-decoration:none;cursor:pointer;border-radius:0}input.w-button{-webkit-appearance:button}[type=button],[type=reset],button{border:0;cursor:pointer;-webkit-appearance:button}.w-form{margin:0 0 15px}.w-form-done{display:none;padding:20px;text-align:center;background-color:#ddd}.w-form-fail{display:none;margin-top:10px;padding:10px;background-color:#ffdede}label{display:block;margin-bottom:5px;font-weight:700}.w-input,.w-select{display:block;width:100%;height:38px;padding:8px 12px;margin-bottom:10px;font-size:14px;line-height:1.42857143;color:#333;vertical-align:middle;background-color:#fff;border:1px solid #ccc}.w-input::placeholder,.w-select::placeholder{color:#999}.w-input:focus,.w-select:focus{border-color:#3898ec;outline:0}.w-input[disabled],.w-input[readonly],.w-select[disabled],.w-select[readonly]{cursor:not-allowed}.w-input[disabled]:not(.w-input-disabled),.w-input[readonly],.w-select[disabled]:not(.w-input-disabled),.w-select[readonly]{background-color:#eee}textarea.w-input,textarea.w-select{height:auto}.w-select{background-color:#f3f3f3}.w-select[multiple]{height:auto}.w-form-label{display:inline-block;cursor:pointer;font-weight:400;margin-bottom:0}.w-radio{display:block;margin-bottom:5px;padding-left:20px}.w-radio::after,.w-radio::before{content:" ";display:table}.w-radio::after{clear:both}.w-radio-input{margin:4px 0 0;margin-top:3px;line-height:normal;float:left;margin-left:-20px}.w-checkbox{display:block;margin-bottom:5px;padding-left:20px}.w-checkbox::after,.w-checkbox::before{content:" ";display:table}.w-checkbox::after{clear:both}.w-checkbox-input{float:left;margin-bottom:0;margin-left:-20px;margin-right:0;margin-top:4px;line-height:normal}.w-form-formrecaptcha{margin:8px 0}.w-video{width:100%;position:relative;padding:0}.w-video embed,.w-video iframe,.w-video object{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.w-background-video{position:relative;overflow:hidden;height:500px;color:#fff}.w-background-video>video{background-size:cover;background-position:50% 50%;position:absolute;margin:auto;width:100%;height:100%;right:-100%;bottom:-100%;top:-100%;left:-100%;object-fit:cover;z-index:-100}.w-background-video>video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}.w-background-video--control{position:absolute;bottom:1em;right:1em;background-color:transparent;padding:0}.w-background-video--control>[hidden]{display:none!important}.w-container{margin-left:auto;margin-right:auto;max-width:940px}.w-container::after,.w-container::before{content:" ";display:table}.w-container::after{clear:both}.w-container .w-row{margin-left:-10px;margin-right:-10px}.w-row::after,.w-row::before{content:" ";display:table}.w-row::after{clear:both}.w-row .w-row{margin-left:0;margin-right:0}.w-col{position:relative;float:left;width:100%;min-height:1px;padding-left:10px;padding-right:10px}.w-col .w-col{padding-left:0;padding-right:0}.w-col-1{width:8.33333333%}.w-col-2{width:16.66666667%}.w-col-3{width:25%}.w-col-4{width:33.33333333%}.w-col-5{width:41.66666667%}.w-col-6{width:50%}.w-col-7{width:58.33333333%}.w-col-8{width:66.66666667%}.w-col-9{width:75%}.w-col-10{width:83.33333333%}.w-col-11{width:91.66666667%}.w-col-12{width:100%}.w-layout-vflex{display:flex;flex-direction:column}.w-layout-hflex{display:flex;flex-direction:row}.w-layout-grid{display:grid}.w-layout-blockcontainer{display:block;margin-left:auto;margin-right:auto;max-width:940px}.wf-layout-layout{display:grid}.w-nav{position:relative;background:#ddd;z-index:1000}.w-nav::after,.w-nav::before{content:" ";display:table}.w-nav::after{clear:both}.w-nav-brand{position:relative;float:left;text-decoration:none;color:#333}.w-nav-link{position:relative;display:inline-block;vertical-align:top;text-decoration:none;color:#222;padding:20px;text-align:left;margin-left:auto;margin-right:auto}.w-nav-link.w--current{color:#0082f3}.w-nav-menu{position:relative;float:right}.w-nav-overlay{position:absolute;overflow:hidden;display:none;top:100%;left:0;right:0;width:100%}.w-nav-button{position:relative;float:right;padding:18px;font-size:24px;display:none;cursor:pointer;user-select:none}.w-nav-button:focus{outline:0}.w-nav-button.w--open{background-color:#c8c8c8;color:#fff}.w-slider{position:relative;height:300px;text-align:center;background:#ddd;clear:both;overflow:hidden}.w-slider-mask{position:relative;display:block;overflow:hidden;z-index:1;left:0;right:0;height:100%;white-space:nowrap}.w-slide{position:relative;display:inline-block;vertical-align:top;width:100%;height:100%;white-space:normal;text-align:left}.w-slider-nav{position:absolute;z-index:2;top:auto;right:0;bottom:0;left:0;margin:auto;padding-top:10px;height:40px;text-align:center}.w-slider-nav.w-round>div{border-radius:100%}.w-slider-nav-invert{color:#fff}.w-slider-nav-invert>div{background-color:rgba(34,34,34,.4)}.w-slider-nav-invert>div.w-active{background-color:#222}.w-slider-dot{position:relative;display:inline-block;width:1em;height:1em;background-color:rgba(255,255,255,.4);cursor:pointer;margin:0 3px .5em;transition:background-color .1s,color .1s}.w-slider-dot.w-active{background-color:#fff}.w-slider-dot:focus{outline:0;box-shadow:0 0 0 2px #fff}.w-slider-dot:focus.w-active{box-shadow:none}.w-slider-arrow-left,.w-slider-arrow-right{position:absolute;width:80px;top:0;right:0;bottom:0;left:0;margin:auto;cursor:pointer;overflow:hidden;color:#fff;font-size:40px;user-select:none;display:flex;align-items:center;justify-content:center}.w-slider-arrow-left:focus,.w-slider-arrow-right:focus{outline:0}.w-slider-arrow-left{z-index:3;right:auto}.w-slider-arrow-right{z-index:4;left:auto}.w-icon-slider-left,.w-icon-slider-right{display:block;width:1em;height:1em}.w-icon-slider-left::before{content:"\2039";font-size:1.5em;line-height:1}.w-icon-slider-right::before{content:"\203A";font-size:1.5em;line-height:1}.w-slider-aria-label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.w-dropdown{display:inline-block;position:relative;text-align:left;margin-left:auto;margin-right:auto;z-index:900}.w-dropdown-btn,.w-dropdown-link,.w-dropdown-toggle{position:relative;vertical-align:top;text-decoration:none;color:#222;padding:20px;text-align:left;margin-left:auto;margin-right:auto;white-space:nowrap}.w-dropdown-toggle{user-select:none;display:inline-block;cursor:pointer;padding-right:40px}.w-dropdown-toggle:focus{outline:0}.w-icon-dropdown-toggle{position:absolute;top:0;right:0;bottom:0;margin:auto;margin-right:20px;width:1em;height:1em}.w-icon-dropdown-toggle::before{content:"\25BE"}.w-icon-arrow-down::before{content:"\25BE"}.w-dropdown-list{position:absolute;background:#ddd;display:none;min-width:100%}.w-dropdown-list.w--open{display:block}.w-dropdown-link{padding:10px 20px;display:block;color:#222}.w-dropdown-link.w--current{color:#0082f3}.w-dropdown-link:focus{outline:0}.w-tabs{position:relative}.w-tabs::after,.w-tabs::before{content:" ";display:table}.w-tabs::after{clear:both}.w-tab-menu{position:relative}.w-tab-link{position:relative;display:inline-block;vertical-align:top;text-decoration:none;padding:9px 30px;text-align:left;cursor:pointer;color:#222;background-color:#ddd}.w-tab-link.w--current{background-color:#c8c8c8}.w-tab-link:focus{outline:0}.w-tab-content{position:relative;display:block;overflow:hidden}.w-tab-pane{position:relative;display:none}.w--tab-active{display:block}.w-dyn-empty{display:none}.w-dyn-hide{display:none!important}.w-dyn-bind-empty{display:none!important}.w-condition-invisible{display:none!important}.w-richtext::after,.w-richtext::before{content:" ";display:table}.w-richtext::after{clear:both}.w-richtext ol,.w-richtext ul{overflow:hidden}.w-richtext figure{position:relative;max-width:60%}.w-richtext figure img{width:100%}.w-hidden-main{display:none!important}@media screen and (max-width:991px){.w-container{max-width:728px}.w-hidden-main{display:inherit!important}.w-hidden-medium{display:none!important}.w-col-medium-1{width:8.33333333%}.w-col-medium-2{width:16.66666667%}.w-col-medium-3{width:25%}.w-col-medium-4{width:33.33333333%}.w-col-medium-5{width:41.66666667%}.w-col-medium-6{width:50%}.w-col-medium-7{width:58.33333333%}.w-col-medium-8{width:66.66666667%}.w-col-medium-9{width:75%}.w-col-medium-10{width:83.33333333%}.w-col-medium-11{width:91.66666667%}.w-col-medium-12{width:100%}.w-col-stack{width:100%;left:auto;right:auto}}@media screen and (max-width:767px){.w-hidden-main{display:inherit!important}.w-hidden-medium{display:inherit!important}.w-hidden-small{display:none!important}.w-container .w-row,.w-row{margin-left:0;margin-right:0}.w-col{width:100%;left:auto;right:auto}.w-col-small-1{width:8.33333333%}.w-col-small-2{width:16.66666667%}.w-col-small-3{width:25%}.w-col-small-4{width:33.33333333%}.w-col-small-5{width:41.66666667%}.w-col-small-6{width:50%}.w-col-small-7{width:58.33333333%}.w-col-small-8{width:66.66666667%}.w-col-small-9{width:75%}.w-col-small-10{width:83.33333333%}.w-col-small-11{width:91.66666667%}.w-col-small-12{width:100%}.w-nav-brand{padding-left:10px}.w-tab-link{display:block}}@media screen and (max-width:479px){.w-container{max-width:none}.w-hidden-main{display:inherit!important}.w-hidden-medium{display:inherit!important}.w-hidden-small{display:inherit!important}.w-hidden-tiny{display:none!important}.w-col{width:100%}.w-col-tiny-1{width:8.33333333%}.w-col-tiny-2{width:16.66666667%}.w-col-tiny-3{width:25%}.w-col-tiny-4{width:33.33333333%}.w-col-tiny-5{width:41.66666667%}.w-col-tiny-6{width:50%}.w-col-tiny-7{width:58.33333333%}.w-col-tiny-8{width:66.66666667%}.w-col-tiny-9{width:75%}.w-col-tiny-10{width:83.33333333%}.w-col-tiny-11{width:91.66666667%}.w-col-tiny-12{width:100%}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

/* ============================================================
   Responsive contract
   ------------------------------------------------------------
   Mobile-first for new code. Default rules target the smallest
   screens; use @media (min-width: …) to override for larger.
   Breakpoints: 768px (tablet), 1024px (desktop), 1280px (wide).

   Legacy rules use desktop-first @media (max-width: …) at the
   479 / 767 / 991 / 1230 boundaries — kept as-is to avoid
   blast-radius rewrites. Single DOM per page; horizontal overflow
   is clamped at the html root with `overflow-x: clip`.
   ============================================================ */

@font-face {
  font-family: Oceanic Grotesk;
  src: url('../fonts/OceanicGrotesk-Regular.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Oceanic Grotesk;
  src: url('../fonts/OceanicGrotesk-Light.woff2') format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Romie;
  src: url('../fonts/Romie-Regular.otf') format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Romie;
  src: url('../fonts/Romie-Italic.otf') format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Enable ligatures globally — Romie supports dlig & ss05 and Oceanic Grotesk ignores them */
* {
  font-feature-settings: "liga" 1, "dlig" 1, "ss05" 1;
}

picture {
  display: block;
  width: 100%;
}

picture > img {
  display: block;
  width: 100%;
  height: 100%;
}

.w-slide > picture,
.div-img-window > picture,
.services-anim-img-con > picture {
  display: contents;
}

:root {
  --dark-blue: #0c2026;
  --_dimensions---side-margins: 120px;
  --beige-100: #fff6ec;
  --clear: #fff0;
  --soft-white: #fffcf9;
  --neon-green: #d8ffa2;
  --purple: #c2d4ff;
  --beige-140: #decab4;
  --green-180: #5b5120;
  --pill-width\<deleted\|variable-2a38c841-47ad-d9a6-a228-7d946ee145b0\>: 320px;
  --pill-height\<deleted\|variable-9b11915e-20df-65a8-d07b-6ef8df263a1c\>: 178px;
  --teal: #b9fdf3;
  --coral: #ff6a60;
  --beige-140-40: #decab466;
}

.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formrecaptcha {
  margin-bottom: 8px;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}



body {
  color: #333;
  /* Use the brand font directly so there's no visible swap from a
     fallback. Combined with font-display: block on @font-face, text
     is invisible until the brand font has loaded — no FOUT. */
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

h1 {
  color: var(--dark-blue);
  max-width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 5rem;
  font-weight: 400;
  line-height: 5rem;
}

h2 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 3rem;
}

h3 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
}

h4 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2.25rem;
}

h5 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
}

h6 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

p {
  color: var(--dark-blue);
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4rem;
}

a {
  color: var(--dark-blue);
  cursor: pointer;
  text-decoration: none;
}

img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.sec-100vh {
  padding-right: var(--_dimensions---side-margins);
  padding-left: var(--_dimensions---side-margins);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.about-us-hero {
  margin-bottom: -200px;
  position: relative;
  z-index: 0;
}

.about-us-hero img {
  display: block;
  width: 100%;
  height: auto;
}

.about-us-hero + section {
  position: relative;
  z-index: 1;
}

.about-us-intro-cta {
  text-align: center;
}

/* About Us — generic 2-col content/image pillar (replaces .grid-x12 on this page) */
.about-section__lead {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0 auto;
  max-width: 720px;
  text-align: center;
}

.about-pillar {
  align-items: start;
  display: grid;
  gap: clamp(40px, 6vw, 100px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.about-pillar--single {
  grid-template-columns: minmax(0, 720px);
}

.about-pillar__copy {
  display: flex;
  flex-direction: column;
  gap: 42px;
}

.about-pillar__heading {
  align-items: baseline;
  column-gap: 30px;
  display: flex;
  flex-wrap: wrap;
}

.about-pillar__heading h1 {
  margin: 0;
}

.about-pillar__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.about-pillar__body > * {
  margin: 0;
}

.about-pillar__media {
  display: block;
  width: 100%;
}

.about-pillar__media img {
  display: block;
  height: auto;
  width: 100%;
}

.about-us-perception {
  align-items: center;
  flex-direction: column;
  gap: clamp(120px, 22vw, 450px);
  justify-content: flex-start;
  padding: 120px var(--_dimensions---side-margins);
  text-align: center;
}

.about-us-perception__title {
  margin: 0;
  max-width: 900px;
  position: relative;
  z-index: 1;
}

.about-us-perception__body {
  margin: 0 auto;
  max-width: 720px;
  position: relative;
  z-index: 1;
}

.about-us-perception__body p {
  margin: 0;
}

.about-us-contact-hero__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  max-width: 720px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.about-us-contact-hero__content h2,
.about-us-contact-hero__content p {
  margin: 0;
}

@media screen and (max-width: 991px) {
  .about-pillar {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .about-pillar--single {
    grid-template-columns: 1fr;
  }

  .about-pillar__copy {
    gap: 28px;
  }

  /* Founders image first on mobile (matches the previous Webflow override) */
  .about-us-intro-section .about-pillar__copy { order: 2; margin-top: 16px; }
  .about-us-intro-section .about-pillar__media { order: 1; }

  .about-us-perception {
    gap: clamp(80px, 18vw, 200px);
    padding: 80px var(--_dimensions---side-margins);
  }
}

.about-us-model-cta {
  text-align: center;
}

.about-us-contact-hero {
  justify-content: center;
  padding-top: 72px;
  padding-bottom: 72px;
}

.about-us-contact-hero .grid-x12 {
  align-items: center;
}

@media screen and (max-width: 991px) {
  .about-us-hero {
    margin-bottom: -80px;
  }
}

@media screen and (max-width: 767px) {
  .about-us-hero {
    margin-top: 120px;
    margin-bottom: 0;
  }

  .about-us-intro-section {
    padding-top: 8px;
  }

  .about-us-founders-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }

  .about-us-founders-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* CTA pair (purple "Arrange a Memorial" + teal "Plan ahead") stacks on phones */
.cta-pair {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.cta-pair > .sp-20px {
  display: none;
}

@media screen and (max-width: 767px) {
  .cta-pair {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
}

/* About Us: team profiles — 4-col grid on desktop, horizontal-scroll carousel on mobile */
.team-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

@media screen and (max-width: 991px) {
  .team-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 12px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    /* Pull the scroll container to the section edges so cards can peek past the section padding */
    margin-left: calc(-1 * var(--_dimensions---side-margins));
    margin-right: calc(-1 * var(--_dimensions---side-margins));
    padding-left: var(--_dimensions---side-margins);
    padding-right: var(--_dimensions---side-margins);
    /* Snap origin sits inside the padding so card 1 keeps its left margin when snapped */
    scroll-padding-left: var(--_dimensions---side-margins);
    -webkit-overflow-scrolling: touch;
  }
  .team-grid::-webkit-scrollbar {
    display: none;
  }
  .team-grid > * {
    flex: 0 0 70%;
    scroll-snap-align: start;
  }

  /* Stack the team section header (h2 title + p description) on mobile —
     the Webflow IDs place them side by side at every width otherwise */
  #w-node-_3e06e691-a348-4a5a-96a3-9295139aa15a-ee1f0249,
  #w-node-_3e06e691-a348-4a5a-96a3-9295139aa15c-ee1f0249 {
    grid-area: auto !important;
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  /* About-us mission row: show Founders.jpg ABOVE the mission text on mobile */
  #w-node-_9a5a8ad7-b59a-29b2-c752-f894fcc870c1-ee1f0249 {
    order: 2;
    margin-top: 16px;
  }
  #w-node-_8c668c39-26ca-9cfb-8cc5-3ef613ccd7be-ee1f0249 {
    order: 1;
  }
  #w-node-_93c791dc-f1e3-8dfd-577e-c84acf3b8c6a-ee1f0249 {
    display: block;
    width: 100%;
    height: 16px;
  }
  #w-node-_0ce25f87-7ec4-0df2-2de5-0a2518414f96-ee1f0249 {
    display: none;
  }
  #w-node-d83854f8-3c4d-fd74-bb14-61542f06f3a1-ee1f0249 {
    height: 20px;
  }
  #w-node-d83854f8-3c4d-fd74-bb14-61542f06f398-ee1f0249 {
    margin-top: 16px;
  }
  .about-us-ocean-endorsement {
    margin-bottom: 24px;
  }
  .about-us-contact-hero {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .about-us-contact-hero .grid-x12 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
  }
  .about-us-contact-hero #w-node-_03bdc294-ff32-5e06-086c-a2b77c630175-ee1f0249,
  .about-us-contact-hero #w-node-_03bdc294-ff32-5e06-086c-a2b77c63017f-ee1f0249 {
    display: none;
  }
  .about-us-contact-hero #w-node-_03bdc294-ff32-5e06-086c-a2b77c630179-ee1f0249 {
    width: 100%;
    max-width: 560px;
  }
  #SDGs {
    margin-top: 24px;
  }
}

@media screen and (max-width: 479px) {
  .team-grid > * {
    flex: 0 0 78%;
  }
}

.sec-margins-60pxgap {
  padding: 100px var(--_dimensions---side-margins);
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  flex-flow: column;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.sec-margins-60pxgap.beige100 {
  background-color: var(--beige-100);
}

.body-m {
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4rem;
}

.body-m::placeholder {
  font-family: Oceanic Grotesk, sans-serif;
}

.body-m.bold {
  font-weight: 400;
}

.navbar {
  padding: 20px var(--_dimensions---side-margins) 12px;
  background-color: var(--clear);
  justify-content: space-between;
  align-items: center;
  height: 100px;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
}

.div-hero {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  max-width: 760px;
}

.hero-title {
  font-size: 48px;
  line-height: 1;
}

.hero-actions {
  /* Override .div-gap24px's width:100%/max-width:446px which, combined
     with flex column stretch, can make the row appear centered.
     Force the row to size to content and anchor left. */
  width: auto !important;
  max-width: none !important;
  margin: 0 auto 0 0 !important;
  align-self: flex-start !important;
  justify-content: flex-start;
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .sec-100vh.home-hero {
    justify-content: flex-start;
    align-items: stretch;
  }

  /* Title stays high; CTAs sit on the lower third (full-width pills like
     the locations section buttons, but keeping neon green). */
  .sec-100vh.home-hero .div-hero {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    justify-content: space-between;
    margin-top: 0;
    padding-top: 88px;
    padding-bottom: 0;
    transform: none;
  }

  .sec-100vh.home-hero .hero-title {
    flex-shrink: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  .hero-title {
    font-size: 1.5rem;
  }

  .sec-100vh.home-hero .hero-actions {
    flex-direction: column;
    align-items: stretch;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 16px;
    padding-bottom: 36px;
  }

  .sec-100vh.home-hero .hero-actions .button-neon {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
    /* Match default .button-neon / .button-purple vertical metrics */
    padding: 10px 28px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .hero-actions {
    flex-direction: column;
    /* Stretch both buttons to the same width so they line up cleanly
       instead of having different widths in the column. */
    align-items: stretch;
    width: min(100%, 320px) !important;
    margin: 0 auto 0 0 !important;
    gap: 14px;
  }

  /* Compact section paddings on phones — desktop uses 148–296px which
     is far too generous for a small viewport. */
  .home-memorial-options {
    padding-top: 64px;
    padding-bottom: 8px;
  }
  .home-how-it-works {
    padding-top: 80px;
    padding-bottom: 40px;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  /* Tablet: a bit more generous than phones but still under the desktop values. */
  .home-memorial-options {
    padding-top: 80px;
    padding-bottom: 28px;
  }
  .home-how-it-works {
    padding-top: 96px;
    padding-bottom: 64px;
  }
}

/* Home page YouTube award video — force 16:9 so the player matches the
   embedded video's aspect ratio (avoids letterbox bars). The Webflow
   .w-video iframe rule absolutely-positions the iframe to fill this box. */
.home-award-video {
  aspect-ratio: 16 / 9;
  width: 100%;
  position: relative;
}

.home-award-video iframe.embedly-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* YouTube — poster placeholder until hero loads, then iframe replaces this block */
.home-award-video--facade {
  position: relative;
}

.home-award-video__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}

.home-award-video__poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.award-section {
  background-color: var(--beige-100);
  padding: 152px 60px 100px;
}

.award-wrap {
  align-items: center;
  display: grid;
  gap: 60px;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto;
  max-width: 1360px;
}

.award-media {
  aspect-ratio: 631 / 428;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.award-media-play {
  background-color: #00000080;
  border: 1px solid #fffcf9;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
  position: absolute;
  bottom: 16px;
  right: 16px;
}

.award-media-play-icon {
  border-top: 7px solid #0000;
  border-bottom: 7px solid #0000;
  border-left: 12px solid var(--soft-white);
  width: 0;
  height: 0;
  margin-left: 3px;
}

.award-copy {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.home-memorial-options {
  background-color: var(--beige-100);
  padding: 80px 40px 120px;
}

.home-memorial-wrap {
  margin: 0 auto;
  max-width: 1360px;
}

.home-options-columns {
  grid-column-gap: 72px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.home-option-group {
  grid-row-gap: 48px;
  display: flex;
  flex-direction: column;
}

.home-option-title {
  font-size: 36px;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.home-option-cards {
  grid-column-gap: 12px;
  grid-row-gap: 56px;
  align-items: start;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.home-option-card {
  grid-row-gap: 16px;
  display: grid;
  grid-template-rows: auto minmax(78px, auto) auto;
}

.home-option-card img {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-option-card p {
  letter-spacing: .16px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
}

.home-option-card .button-neon,
.home-option-card .button-purple {
  align-self: flex-start;
  justify-self: start;
  margin-left: 0;
}

.home-how-it-works {
  background-color: var(--dark-blue);
  padding: 148px 40px 140px;
}

.home-how-wrap {
  margin: 0 auto;
  max-width: 1360px;
}

.home-how-wrap h2 {
  color: var(--neon-green);
  font-size: 72px;
  line-height: 1;
  margin-bottom: 64px;
  text-align: center;
  text-transform: uppercase;
}

.home-how-grid {
  grid-column-gap: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.home-how-card {
  color: var(--soft-white);
  position: relative;
}

.home-how-media {
  margin-bottom: 28px;
  position: relative;
}

.home-how-card img {
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.home-how-number {
  color: var(--neon-green);
  font-family: Romie, sans-serif;
  font-size: 128px;
  left: 50%;
  line-height: 58px;
  position: absolute;
  text-align: center;
  top: 80%;
  transform: translate(-50%, -50%);
}

.home-how-card h3 {
  color: var(--soft-white);
  text-align: center;
}

/* Mobile: cards stack vertically, so the number can't be absolutely
   positioned at 76% of the card (which would land on the image and
   hide the heading below). Lay each card out as a clean column:
   image → number → heading, with breathing room between cards. */
@media screen and (max-width: 991px) {
  .home-how-grid {
    row-gap: 64px;
  }
  .home-how-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .home-how-media {
    display: contents;
  }
  .home-how-card img {
    margin-bottom: 16px;
  }
  .home-how-number {
    position: static;
    transform: none;
    margin: 0 0 8px;
    line-height: 1;
  }
  .home-how-card h3 {
    margin: 0;
  }

  /* Memorial option cards: drop the 78px paragraph-row floor — that floor
     equalises card heights when 2 cards sit side-by-side on desktop, but on
     a single column it just leaves dead space below short paragraphs. */
  .home-option-card {
    grid-template-rows: auto auto auto;
  }
}

.home-locations {
  background-color: var(--beige-100);
  padding: 100px 0 80px;
  /* Clip the 2x wave-bg horizontally so it doesn't expose horizontal
     scroll. Vertical bleed is fine. */
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.home-locations-wave-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1400px;
  height: auto;
  pointer-events: none;
  z-index: 2;
}

/* On mobile, blow the wave up to 2× so it still reads as an ambient
   background rather than a tiny strip. .home-locations has
   overflow-x: clip so the bleed stays clipped at the viewport edges. */
@media screen and (max-width: 991px) {
  .home-locations-wave-bg {
    width: 200%;
    max-width: 2800px;
  }
}

.home-locations-wrap {
  align-items: center;
  display: grid;
  gap: 0;
  grid-template-columns: 460px 1fr;
  margin: 0;
  padding-left: 64px;
  overflow: visible;
  position: relative;
}

.home-locations-copy {
  display: flex;
  flex-direction: column;
  gap: 48px;
  position: relative;
  z-index: 3;
}

.home-locations-copy h2 {
  font-size: 64px;
  line-height: 1;
  text-transform: uppercase;
}

.home-locations-copy p {
  font-size: 16px;
  letter-spacing: .16px;
  line-height: 1.4;
}

.home-locations-copy .button-purple {
  min-width: 180px;
  white-space: nowrap;
}

/* Extra space after the intro paragraph (above the CTA row only — avoids
   increasing the gap between the heading and the paragraph). */
.home-locations-copy > .div-gap24px {
  margin-top: 24px;
}

.home-locations-map {
  overflow: visible;
  position: relative;
  contain: none;
  z-index: 5;
}


.home-locations-map img {
  width: 100%;
  filter: saturate(.9);
}

.home-locations-map-bg {
  aspect-ratio: 2.4 / 1;
  object-fit: cover;
  object-position: center bottom;
  opacity: .1;
  position: relative;
  z-index: 0;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 40%);
}

.home-location-pin {
  position: absolute;
  z-index: 3;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px;
}

.home-location-pin .pin-marker {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--purple);
  /* The "+" cross is built from ::before / ::after with position: absolute,
     so the marker itself needs to be a positioned ancestor. */
  position: relative;
}

.home-location-pin .pin-marker::before,
.home-location-pin .pin-marker::after {
  content: "";
  position: absolute;
  background-color: var(--soft-white);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.home-location-pin .pin-marker::before {
  width: 20px;
  height: 2px;
}

.home-location-pin .pin-marker::after {
  width: 2px;
  height: 20px;
}

.home-location-pin .pin-label {
  position: absolute;
  white-space: nowrap;
  left: 48px;
  top: 6px;
}

.home-location-pin span {
  color: var(--dark-blue);
  display: block;
  font-family: Romie, sans-serif;
  font-size: 24px;
  line-height: 1;
  text-transform: uppercase;
}

.home-location-pin p {
  color: var(--dark-blue);
  font-size: 12px;
  line-height: 1.4;
}

.pin-faded .pin-marker {
  opacity: 0.4;
}

.pin-clickable {
  cursor: pointer;
}


.loc-plymouth {
  left: 47%;
  top: 15%;
}

.loc-barbados {
  left: 32%;
  top: 44%;
}

.loc-mexico {
  left: 25%;
  top: 39%;
}

.loc-mexico .pin-label {
  left: 0;
  top: auto;
  bottom: 48px;
}

.loc-barbados .pin-label {
  left: 0;
  top: 48px;
}

.loc-mozambique {
  left: 58%;
  top: 69%;
}

.loc-bali {
  left: 80%;
  top: 59%;
}


.home-seen-in {
  background-color: var(--beige-100);
  --press-pad-x: 60px;
  padding: 24px var(--press-pad-x) 100px;
}

.home-seen-in p {
  font-size: 14px;
  letter-spacing: .2em;
  margin-bottom: 40px;
  text-align: center;
  text-transform: uppercase;
}

.home-seen-in-logos {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 40px;
  margin: 0 auto;
}

.home-seen-in-logos img {
  max-height: 34px;
  max-width: 108px;
  object-fit: contain;
}

/* Press logos marquee — seamless infinite scroll. Two identical strips
   sit side-by-side; translating the track by exactly one strip width
   loops back to the visual start. The trailing padding-right on each
   strip matches the inner gap so the seam is invisible. */
.home-seen-in-marquee {
  --press-gap: 56px;
  /* Break out of the section's horizontal padding so the marquee spans
     edge-to-edge. .home-seen-in declares --press-pad-x in line with its
     responsive padding values. */
  margin-left: calc(-1 * var(--press-pad-x, 60px));
  margin-right: calc(-1 * var(--press-pad-x, 60px));
  overflow: hidden;
  position: relative;
  min-height: 40px;
}

.home-seen-in-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  animation: home-seen-in-scroll 30s linear infinite;
  will-change: transform;
}

.home-seen-in-track:hover {
  animation-play-state: paused;
}

.home-seen-in-strip {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: var(--press-gap);
  padding-right: var(--press-gap);
}

.home-seen-in-strip img {
  height: 34px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  flex-shrink: 0;
  display: block;
}

@keyframes home-seen-in-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

@media screen and (max-width: 767px) {
  .home-seen-in-marquee {
    --press-gap: 36px;
  }
  .home-seen-in-strip img {
    max-height: 28px;
    max-width: 88px;
  }
}

/* Desktop: when all 6 logos comfortably fit in the viewport, drop the
   marquee and show them statically (matching the pre-marquee design).
   The duplicate strip (aria-hidden) hides; the visible strip is
   content-sized and centered with a tighter gap. */
@media screen and (min-width: 1280px) {
  .home-seen-in-track {
    width: 100%;
    animation: none;
    justify-content: center;
  }
  .home-seen-in-strip[aria-hidden="true"] {
    display: none;
  }
  .home-seen-in-strip {
    gap: 60px;
    padding-right: 0;
  }
}

.home-impact {
  background-color: var(--soft-white);
  padding: 72px 60px 300px;
}

.home-impact-wrap {
  margin: 0 auto;
  max-width: 1360px;
}

.home-impact-copy {
  display: grid;
  gap: 170px;
  grid-template-columns: 560px 1fr;
  margin-bottom: 80px;
}

.home-impact-copy h2 {
  font-size: 48px;
  line-height: 1.2;
  margin-top: 0;
}

.home-impact-copy-right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.home-impact-copy-right p {
  font-size: 16px;
  letter-spacing: .16px;
  line-height: 1.4;
}

.home-impact-copy-right .button-teal {
  align-self: flex-start;
}

.home-impact .bas-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.home-interested {
  background-color: var(--soft-white);
}

.home-interested--overlaps-footer {
  --pill-overlap: 139px;
  margin-bottom: calc(-1 * var(--pill-overlap));
  position: relative;
  z-index: 3;
}

.home-interested--overlaps-footer.sec-margins-60pxgap {
  padding-bottom: 0;
}

.home-interested--overlaps-footer .home-interested-card {
  box-shadow: 0 28px 72px rgba(12, 32, 38, 0.28);
}

.home-interested-card {
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1360px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.home-interested-media {
  inset: 0;
  position: absolute;
}

.home-interested-media img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  width: 100%;
}

.home-interested-multiply {
  background-color: #0c202659;
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.home-interested-gradient {
  background-image: linear-gradient(107.29deg, #0c202600 37.94%, #0c202680 65.29%);
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.home-interested-content {
  align-items: center;
  display: grid;
  gap: 48px 72px;
  grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.15fr);
  padding: 50px 40px 44px;
  position: relative;
  z-index: 3;
}

.home-interested-title {
  color: var(--soft-white);
  font-family: Romie, sans-serif;
  font-size: 72px;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.home-interested-lede {
  color: var(--soft-white);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 18px;
  letter-spacing: .18px;
  line-height: 1.35;
  margin: 0 0 28px;
}

.home-interested-ctas {
  display: flex;
  flex-flow: row wrap;
  gap: 16px 24px;
}

.home-interested-ctas .button-teal {
  white-space: nowrap;
}

.body-m-navbar {
  color: var(--soft-white);
  padding-left: 10px;
  padding-right: 10px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 22px;
}

.body-m-navbar:hover {
  text-decoration: underline;
}

.body-m-navbar.w--current {
  color: var(--soft-white);
}

.text-oceanic300 {
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 300;
}

.div-gap60px {
  grid-column-gap: 60px;
  grid-row-gap: 60px;
  flex-flow: column;
  display: flex;
}

.div-gap20px {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  width: 100%;
}

.reef-locations-hero-primary-cta {
  text-align: center;
}

.hero-cta-row.reef-locations-hero-cta-row.div-gap20px {
  column-gap: 20px;
  row-gap: 20px;
}

.reef-locations-marine-sites-title {
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 4.8rem;
  line-height: .95;
  text-transform: uppercase;
}

.reef-locations-hero-wrap {
  display: flex;
  flex-direction: column;
  gap: 72px;
  padding: 250px var(--_dimensions---side-margins) 100px;
}

.reef-locations-video__title {
  align-self: center;
  margin: 0;
  max-width: 83.33%;
}

.reef-locations-hero__intro {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 auto;
  max-width: 900px;
  text-align: center;
  width: 100%;
}

.reef-locations-hero__intro p {
  margin: 0;
  max-width: 720px;
}

.reef-locations-hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-top: 12px;
}

/* Reef locations hero sits on dark background; use neon hover for contrast. */
.reef-locations-hero__cta-row .button-teal:hover,
.reef-locations-hero__cta-row .button-teal:focus-visible {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.reef-locations-hero__sites-intro {
  align-items: start;
  display: grid;
  gap: 60px;
  grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
}

.reef-locations-hero__sites-intro p {
  margin: 0;
}

.reef-locations-hero-picture {
  display: block;
  width: 100%;
}

.reef-locations-hero-image {
  display: block;
  height: auto;
  width: 100%;
}

.reef-location {
  display: flex;
  flex-direction: column;
  gap: 72px;
  padding: 100px var(--_dimensions---side-margins);
}

.reef-location__row {
  align-items: start;
  display: grid;
  gap: 60px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.reef-location__copy {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.reef-location__copy .button-teal,
.reef-location__copy .w-button {
  margin-top: 22px;
}

.reef-location__map {
  display: block;
  width: 100%;
}

.reef-location__map img {
  display: block;
  height: auto;
  width: 100%;
}

.button-neon {
  background-color: var(--neon-green);
  color: var(--dark-blue);
  letter-spacing: .16px;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  padding: 10px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  display: flex;
}

.button-neon:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.button-neon.w--current {
  opacity: .4;
  cursor: default;
  display: none;
}

.button-neon.w--current:hover {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.button-neon.teal {
  background-color: var(--purple);
}

.button-neon.teal:hover {
  background-color: var(--dark-blue);
}

.button-neon.dark-blue {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.button-neon.dark-blue:hover {
  background-color: var(--beige-140);
  color: var(--dark-blue);
}

.button-neon.cart {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  padding-left: 18px;
  padding-right: 18px;
}

.button-neon.beige140 {
  background-color: var(--beige-140);
  margin-top: 0;
}

.button-neon.beige140:hover {
  background-color: var(--dark-blue);
}

.button-neon.beige140.inactive:hover {
  background-color: var(--beige-140);
  color: var(--dark-blue);
}

.button-neon.beige-outline {
  border: 2px solid var(--beige-140);
  background-color: var(--clear);
}

.button-neon.beige-outline:hover {
  background-color: var(--beige-140);
  color: var(--dark-blue);
}

.button-neon.quantity {
  padding-left: 12px;
  padding-right: 12px;
}

.button-neon.quantity.beige-outline {
  height: auto;
  margin-bottom: 0;
}

.button-neon.quantity.beige-outline:hover {
  background-color: var(--clear);
  color: var(--dark-blue);
}

.button-neon.quantity.blue-outline {
  border-width: 2px;
  border-color: var(--dark-blue);
  background-color: var(--clear);
}

.button-neon.quantity.blue-outline:hover {
  background-color: var(--clear);
  color: var(--dark-blue);
}

.button-neon.black {
  background-color: #000;
}

.button-neon.black:hover {
  background-color: var(--dark-blue);
}

.button-neon.inactive {
  opacity: .5;
  cursor: default;
}

.img-100 {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.img-100.bottom-fit {
  object-position: 50% 85%;
}

.img-100.right-just {
  object-position: 100% 50%;
}

.grid-120px {
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  grid-template: ". Area"
  / 1fr 1fr;
  align-content: start;
}

.grid-120px.mobile-v {
  grid-template-columns: 1fr 1fr;
}

.h2-logo {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 57.6px;
}

.t125px {
  color: var(--green-180);
  justify-content: center;
  align-items: center;
  width: 150px;
  padding-left: 20px;
  padding-right: 20px;
  font-family: Romie, sans-serif;
  font-size: 125px;
  font-weight: 400;
  line-height: 125px;
  display: flex;
}

.t125px.beige140 {
  color: var(--beige-140);
  width: auto;
  padding-left: 0;
  padding-right: 0;
}

.div-gap30px {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}

.div-gap30px.inactive {
  display: none;
}

.paragraph-large {
  color: var(--dark-blue);
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.paragraph-large.bold {
  font-weight: 400;
}

.div-gap36px {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}

.div-gap36px.slider-arrows {
  flex: 1;
  justify-content: flex-start;
  align-items: flex-end;
}

.arrow {
  width: 28px;
  height: 28px;
}

.div-gap32px {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.div-gap32px.l {
  justify-content: flex-start;
  align-items: flex-start;
}

.div-gap32px.centred {
  justify-content: flex-start;
  align-items: center;
}

.div-gap16px {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  display: flex;
}

.link-30px {
  width: 30px;
  height: 30px;
  padding: 3px;
}

.link-30px:hover {
  opacity: .5;
}

.grid-20px {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-content: start;
}

.img-team {
  height: auto;
}

.team-swipe-hint {
  display: none;
}

.sdg-logo {
  object-fit: contain;
  height: 110px;
}

.img-sdg-static {
  object-fit: contain;
  width: 25vw;
  height: 110px;
  margin-left: 0;
  margin-right: 150px;
}

.div-quote-pills {
  width: var(--pill-width\<deleted\|variable-2a38c841-47ad-d9a6-a228-7d946ee145b0\>);
  height: var(--pill-height\<deleted\|variable-9b11915e-20df-65a8-d07b-6ef8df263a1c\>);
  background-color: var(--beige-140);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 62px;
  display: flex;
}

.div-120px {
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  justify-content: center;
  align-items: center;
  height: 530px;
  overflow: hidden;
}

.div-gap50px {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
}

.div-gap50px.v {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  flex-flow: column;
  display: flex;
}

.div-gap10px {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  flex: 1;
  display: flex;
}

.form-block {
  justify-content: space-between;
  align-self: stretch;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.form-field {
  border: 1px solid var(--beige-140);
  color: var(--dark-blue);
  background-color: #fff0;
  border-radius: 4px;
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 300;
  line-height: 18.2px;
}

.form-field::placeholder {
  color: var(--beige-140);
}

.div-w550px {
  max-width: 550px;
}

.checkbox {
  border: 1px solid var(--beige-140);
  border-radius: 7.5px;
  width: 11px;
  height: 11px;
  margin: 2px 0 0;
}

.checkbox.w--redirected-checked {
  background-image: linear-gradient(to bottom, var(--dark-blue), var(--dark-blue));
}

.checkbox.no-margins {
  margin-top: -4px;
}

.div-expanded {
  flex: 1;
  min-width: 0;
}

.div-expanded.margin-left-72px {
  margin-left: 71px;
  min-width: 340px;
  align-items: flex-end;
}

.sec-footer .journey-square-media {
  inset: 0;
  position: absolute;
  z-index: -1;
}

.sec-footer .journey-square-media > picture {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.sec-footer .journey-square-tint {
  background: #0c202659;
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.sec-footer .journey-square-gradient {
  background-image: linear-gradient(107.29deg, #0c202600 37.94%, #0c202680 65.29%);
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.sec-footer .journey-square-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: 100%;
  position: relative;
  z-index: 3;
}

/* Join footer pill: desktop/primary image plus compact strip on ≤991px; mobile card layout ≤767. */
.sec-footer .banner-cta .join-footer__bg--narrow {
  display: none;
}

@media screen and (max-width: 991px) {
  .sec-footer .banner-cta .journey-square-media > picture {
    display: none !important;
  }

  .sec-footer .banner-cta .join-footer__bg--narrow {
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}

/* Injected footer newsletter — row layout; chip spacing from 0db9a69 (.journey-square-form .form gap: 8px). */
.sec-footer .banner-cta #form-join-the-journey .form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.sec-footer .banner-cta #form-join-the-journey .form-field-invisible {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 44px;
}

.sec-footer .banner-cta #form-join-the-journey input[type="submit"] {
  flex: 0 0 auto !important;
}

/* Single child .form inside border — avoid legacy space-between on wrapper */
.sec-footer #form-join-the-journey .form-white-border {
  justify-content: flex-start;
  border-color: var(--soft-white);
}

.sec-footer .banner-cta #form-join-the-journey label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.banner-cta__form {
  display: flex;
  flex-direction: column;
  align-items: left;
  width: 500px;
  max-width: 50%;
  gap: 20px;
}

.banner-cta__form .form-block-2 {
  width: 100%;
  max-width: 680px;
}

.banner-cta__form .form-block-2 form {
  width: 100%;
}

.text-footnote {
  color: var(--dark-blue);
  font-size: .8rem;
  line-height: 1rem;
}

.div-h-gap12px {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: row;
  justify-content: center;
  align-self: stretch;
  align-items: stretch;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.div-h-gap12px.v {
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
}

.div-h-gap12px.left-justified {
  justify-content: flex-start;
  align-items: stretch;
}

.banner-cta {
  z-index: 20;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 60px 40px;
  position: relative;
  top: -100px;
  overflow: hidden;
}

/* Footer pills: Interested uses .home-interested-card (no extra offset). Join reuses .banner-cta,
   which historically had top:-100px for non-footer layouts — that stacked with .home-footer pull-up
   and sat the Join pill higher than Interested. Align Join with Interested inside home-footer only. */
.sec-footer.home-footer > .banner-cta {
  top: 0;
}

.t80-teal {
  color: var(--teal);
  font-family: Romie, sans-serif;
  font-size: clamp(50px, 5.2vw, 80px);
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
  white-space: nowrap;
}

.form-white-border {
  border: 1px solid var(--soft-white);
  border-radius: 25.5px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.form {
  justify-content: center;
  align-items: center;
  padding: 4px;
  display: flex;
}

.form-field-invisible {
  border: 1px solid var(--clear);
  background-color: var(--clear);
  color: var(--soft-white);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 300;
  min-width: 150px;
  line-height: 18.2px;
}

.form-field-invisible::placeholder {
  color: var(--soft-white);
}

.form-block-2 {
  flex: 1;
  margin-bottom: 0;
}

.sec-footer {
  padding: 0px var(--_dimensions---side-margins) 40px;
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  background-color: var(--dark-blue);
  background-image: url('../images/footer-bg-p-2560.jpg');
  background-image: image-set(
    url('../images/footer-bg-p-2560.webp') type('image/webp'),
    url('../images/footer-bg-p-2560.jpg') type('image/jpeg')
  );
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: space-between;
  display: flex;
}

.home-footer {
  --footer-pullup: 200px;
  grid-row-gap: 112px;
  margin-top: calc(-1 * var(--footer-pullup));
  overflow: visible;
  padding-bottom: 80px;
  padding-top: 80px;
  position: relative;
  z-index: 1;
}

.sec-footer.home-footer {
  background-color: transparent;
  background-image: none;
}

.sec-footer.home-footer::before {
  background-color: var(--dark-blue);
  background-image: url('../images/footer-bg-p-2560.jpg');
  background-image: image-set(
    url('../images/footer-bg-p-2560.webp') type('image/webp'),
    url('../images/footer-bg-p-2560.jpg') type('image/jpeg')
  );
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: 200px 0 0 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.home-footer .w-layout-grid.grid-x2 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1360px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.grid-x2-narrow {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  max-width: 66%;
  margin: 0 auto;
}

.grid-x3-narrow {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-x2 {
  grid-template-rows: auto;
}

.div-gap24px {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 446px;
}

.div-footer-copyright {
  grid-column-gap: 200px;
  grid-row-gap: 200px;
  flex: 1;
  justify-content: flex-end;
  align-items: center;
}

.div-centred {
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-self: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.img-anamorphic {
  aspect-ratio: 2.39;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.img-anamorphic iframe {
  border: 0;
  outline: 0;
  display: block;
}

.img-65px {
  width: 65px;
  height: 65px;
}

.div-max700px {
  max-width: 700px;
}

.div-pills-container {
  justify-content: center;
  align-items: center;
  height: 530px;
  display: flex;
}

.div-pills-fade {
  width: var(--pill-width\<deleted\|variable-2a38c841-47ad-d9a6-a228-7d946ee145b0\>);
  background-image: linear-gradient(180deg, var(--beige-100) 5%, var(--clear) 30%, var(--clear) 70%, var(--beige-100) 95%);
  height: 530px;
  position: absolute;
  top: -265px;
  bottom: 265px;
  left: 0;
}

.div-relative-ghost {
  z-index: 10;
  width: 0;
  height: 0;
  position: relative;
}

.sdg-fade {
  z-index: 15;
  background-image: linear-gradient(90deg, var(--beige-100), var(--clear) 15%, var(--clear) 85%, var(--beige-100));
  width: 100%;
  height: 110px;
  margin-bottom: -110px;
  position: relative;
}

.sdg-animation-wrapper {
  width: 100%;
  max-width: 900px;
  overflow: hidden;
  position: relative;
  /* expose the gap value so the keyframes can reference it indirectly via .sdg-div padding */
  --sdg-gap: 56px;
}

/* The marquee track — direct child flex container that animates */
.sdg-animation-wrapper > .w-layout-hflex {
  display: flex;
  width: max-content;
  animation: sdg-scroll 35s linear infinite;
  will-change: transform;
}

/* Pause on hover so users can read the icons */
.sdg-animation-wrapper > .w-layout-hflex:hover {
  animation-play-state: paused;
}

.div-gap80px {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: flex-start;
  align-self: stretch;
  align-items: center;
  display: flex;
}

.body {
  background-color: var(--beige-100);
}

/* Clamp horizontal overflow at the document root rather than on body —
   `overflow-x: clip` on html is the most reliable way to stop stray
   100vw / decorative elements from creating a horizontal scrollbar
   while still letting position: fixed descendants (popups) anchor to
   the viewport correctly. */
html {
  overflow-x: clip;
}

.sp-200px {
  width: 200px;
  height: 200px;
}

.div-faqs-question {
  cursor: pointer;
  justify-content: space-between;
  align-self: stretch;
}

.div-faq-container {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  align-self: stretch;
  align-items: stretch;
}

.sp-100px {
  width: 100px;
  height: 100px;
}

.faqs-top-spacer {
  width: 100%;
  height: 40px;
}

.faqs-category-spacer {
  width: 100%;
  height: 96px;
}

.img-1to1 {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.icon-24px {
  width: 24px;
  height: 24px;
}

.sdg-div {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--sdg-gap, 56px);
  /* trailing gap so the seam between the two duplicated strips matches the inner spacing */
  padding-right: var(--sdg-gap, 56px);
  min-width: 0;
  justify-content: flex-start;
}

.div-number-window {
  width: 150px;
  height: 125px;
  overflow: hidden;
}

.img-hiw {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  min-width: 100%;
}


.div-img-window {
  justify-content: flex-start;
  align-items: stretch;
  overflow: hidden;
}

.hiw-arrow {
  background-color: var(--dark-blue);
  cursor: pointer;
  border-radius: 22px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  padding: 8px;
  display: flex;
}

.hidden {
  display: none;
}


.paragraph-small {
  color: var(--dark-blue);
  font-size: .9rem;
  line-height: 1.1rem;
}

.paragraph-small.error {
  background-color: var(--clear);
  color: var(--coral);
  padding: 0;
}

.icon-24px-close {
  width: 24px;
  height: 24px;
}

.h2 {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Romie, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 57.6px;
}

.icon-cart {
  margin-right: 0;
}

.div-padding-40px {
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: 40px;
  display: flex;
}

.sp-42px {
  width: 42px;
  height: 42px;
}

.press-logo-wrapper {
  border: 2px solid var(--beige-140);
  background-color: var(--beige-140);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 320px;
  height: 178px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.press-logo-wrapper picture {
  display: flex;
  justify-content: center;
  align-items: center;
}

.press-logo-wrapper.inactive {
  border: 2px solid var(--beige-140);
  background-color: var(--clear);
}

.press-grid {
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  grid-template-columns: .5fr 1fr;
  justify-content: flex-start;
  align-items: center;
  margin-left: 80px;
  margin-right: 80px;
}

.press-wrapper {
  z-index: 15;
  background-image: linear-gradient(180deg, var(--beige-100) 10%, var(--clear) 25%, var(--clear) 75%, var(--beige-100) 90%);
  height: 624px;
  position: relative;
  overflow: hidden;
}

.press-quotes {
  height: 60px;
}

.div-404 {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  padding: 40px;
  display: flex;
}

.img-200px {
  width: 200px;
}

.div-cart {
  background-color: var(--soft-white);
}

.img-2to1 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.link {
  color: var(--dark-blue);
  text-decoration: underline;
}

.sec-pop-up {
  z-index: 100;
  background-color: #0006;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  padding-left: 200px;
  padding-right: 200px;
  display: none;
  position: fixed;
  inset: 0%;
}

.pop-up {
  background-color: var(--beige-140);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  min-width: 500px;
  max-width: 50vw;
  min-height: 300px;
  padding: 40px;
  display: flex;
}

.icon-cross {
  cursor: pointer;
  width: 24px;
  height: 24px;
  margin-top: -24px;
  margin-right: -20px;
  position: static;
}

.grid-x12 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100%;
}

.div-left-just {
  justify-content: flex-start;
  align-self: flex-start;
  align-items: flex-start;
  display: flex;
}

.button-purple {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .16px;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  padding: 10px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  display: flex;
}

.button-purple:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.button-purple.w--current {
  opacity: .4;
  cursor: default;
  display: none;
}

.button-purple.w--current:hover {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.text-white {
  color: var(--soft-white);
  -webkit-text-decoration-color: var(--soft-white);
  text-decoration-color: var(--soft-white);
}

.sp-150px {
  width: 150px;
  height: 150px;
}

.sp-grid {
  width: 100%;
  height: 100%;
}

.div-flex-centred {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-centred {
  text-align: center;
}

.services-anim-grid {
  padding: 32px var(--_dimensions---side-margins);
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--purple);
  cursor: pointer;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  margin: 16px -120px;
  display: grid;
  position: relative;
  left: 0;
  right: 0;
  transition: background-color 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.services-anim-img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  justify-content: center;
  align-items: center;
  width: 240px;
  max-width: none;
  height: 300px;
  margin-top: -125px;
  margin-left: -95px;
  display: inline-flex;
  position: absolute;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.services-anim-text {
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.services-anim-img-con {
  width: 50px;
  height: 50px;
  position: relative;
  overflow: visible;
}

.img-100vh-abs {
  z-index: -1;
  width: 100vw;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.text-neongreen {
  color: var(--neon-green);
}

.sec-4-3 {
  padding: 72px var(--_dimensions---side-margins);
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
  height: 75vw;
  display: flex;
  position: relative;
}

.sec-x2 {
  min-height: 80vh;
  display: flex;
}

.div-50 {
  width: 50%;
}

.img-4-3 {
  z-index: -1;
  object-fit: cover;
  width: 100vw;
  height: 75vw;
}

.circle-40px {
  background-color: var(--purple);
  opacity: .7;
  cursor: pointer;
  border-radius: 32px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.map-mx-coordinates {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  display: flex;
  position: absolute;
  top: 35.2vw;
  left: 26.6vw;
}

.map-uk-coordinates {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  display: flex;
  position: absolute;
  top: 26.7vw;
  left: 46.3vw;
}

.map-in-coordinates {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  display: flex;
  position: absolute;
  top: 42.4vw;
  left: 74.5vw;
}

.banner-pill {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  border-radius: 12px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: start stretch;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 40px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.button-teal {
  background-color: var(--teal);
  color: var(--dark-blue);
  letter-spacing: .16px;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  padding: 10px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  display: flex;
}

.button-teal:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.button-teal.w--current {
  opacity: .4;
  cursor: default;
  display: none;
}

.button-teal.w--current:hover {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.text-coral {
  color: var(--coral);
  word-break: normal;
  position: relative;
}

.div-v-extend {
  flex-flow: column;
  flex: 1;
  justify-content: space-between;
  display: flex;
}

.press-logo {
  object-fit: contain;
  max-width: 180px;
  height: 72px;
}

.grid-x5 {
  grid-column-gap: 80px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  height: 100%;
  display: grid;
}

.img-50px {
  width: auto;
  height: 50px;
}

.img-endorsement {
  opacity: .4;
  object-fit: contain;
  width: 175px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.max-1280px {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.faded-40 {
  opacity: .4;
}

.text-teal {
  color: var(--teal);
}

.text-teal.link-underline {
  text-decoration: none;
}

.text-teal.link-underline:hover {
  text-decoration: underline;
}

.sp-12px {
  width: 12px;
  height: 12px;
}

.sec-rel-img {
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  padding: 72px;
  display: flex;
  position: relative;
}

.pop-up-fullscreen {
  z-index: 1100;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  /* Use inset: 0 only — explicit width: 100vw / height: 100vh do not
     account for iOS Safari URL-bar collapse and can leave the popup
     mis-positioned during scroll. */
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.popup-div {
  z-index: 1101;
  background-color: var(--soft-white);
  justify-content: space-between;
  align-items: stretch;
  max-width: 800px;
  width: 800px;
  height: 500px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.popup-div > .div-50:last-of-type {
  overflow: hidden;
}

.popup-div > .div-50:last-of-type picture {
  display: block;
  width: 100%;
  height: 100%;
}

.popup-div > .div-50:last-of-type img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.popup-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  height: 100%;
  box-sizing: border-box;
}

.div-stretch {
  flex: 1;
  align-self: stretch;
}

.bg-fade-60 {
  z-index: 1100;
  cursor: pointer;
  background-color: #0009;
  position: absolute;
  inset: 0%;
}

.img-abs-bg {
  z-index: -1;
  position: absolute;
  inset: 0%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sp-72px {
  width: 72px;
  height: 72px;
}

.div-w780px {
  max-width: 780px;
}

.cremation-wrapper {
  border: 1px solid var(--clear);
  background-color: var(--beige-140-40);
  color: var(--dark-blue);
  letter-spacing: .16px;
  -webkit-text-stroke-color: var(--dark-blue);
  cursor: pointer;
  border-radius: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  width: 400px;
  padding: 16px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  display: flex;
}

.cremation-wrapper:hover {
  color: var(--soft-white);
}

.cremation-wrapper.w--current {
  opacity: .4;
  cursor: default;
  display: none;
}

.cremation-wrapper.w--current:hover {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.scroll-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  vertical-align: sub;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: -20px;
  padding-bottom: 20px;
  padding-left: 120px;
  padding-right: 120px;
  overflow: scroll;
}

.scroll-card {
  cursor: pointer;
  flex: none;
  width: 400px;
  position: relative;
}

.bg-blue {
  background-color: var(--dark-blue);
}

.img-1-1 {
  aspect-ratio: 1;
  object-fit: cover;
}

.div-padding-120px {
  flex-flow: column;
  justify-content: space-between;
  padding: 120px;
  display: flex;
  overflow: visible;
}

.sec-100vw {
  width: 100vw;
  overflow: hidden;
}

.scroll-div {
  margin-bottom: -20px;
  margin-left: -120px;
  margin-right: -120px;
  padding-bottom: 20px;
}

.partnership-section .scroll-div {
  margin: 0;
  padding: 0;
}

.partnership-section {
  background-color: #decab4;
}

.partnership-section .partnership-logos {
  width: 100%;
  max-width: 1080px;
  grid-column-gap: 40px;
  grid-row-gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  justify-items: center;
  align-items: start;
}

.partnership-section .scroll-logo {
  width: 100%;
  max-width: 220px;
}

.partnership-section .img-endorsement {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(10%) sepia(17%) saturate(1188%) hue-rotate(156deg) brightness(95%) contrast(92%);
}

.partnership-section h3,
.partnership-section .faded-40,
.partnership-section .faded-40 p {
  color: #0c2026;
  opacity: 1;
}

.partnership-section #w-node-_5e7719cd-fd07-44d5-e0e7-787f7eb1277b-7ed525e5 {
  align-self: auto;
}

.partners-collab-section .scroll-card {
  width: 340px;
}

.partners-collab-section .scroll-card .img-team {
  width: 100%;
}

.partners-collab-section .scroll-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.partners-collab-section .scroll-wrapper::-webkit-scrollbar {
  display: none;
}

/* Partnership logos — 4-col grid on desktop, horizontal-scroll carousel <992px */
@media screen and (max-width: 991px) {
  .partnership-section .partnership-logos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 0;
    margin: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .partnership-section .scroll-logo {
    flex: none;
    width: 100%;
    max-width: 140px;
    margin: 0 auto;
    scroll-snap-align: none;
  }
  .partners-collab-section .scroll-card {
    width: 300px;
  }
}

@media screen and (max-width: 479px) {
  .partnership-section .scroll-logo {
    max-width: 128px;
  }
}

.div-spacebetween {
  flex-flow: column;
  justify-content: space-between;
  display: flex;
}

.link-underline {
  text-decoration: underline;
}

.div-spacebetween-h {
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.sp-20px {
  flex: none;
  width: 20px;
  height: 20px;
}

.div-vflex-leftjust {
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.img-contain {
  object-fit: contain;
}

.div-h-stretched {
  flex-flow: row;
  flex: 0 auto;
  justify-content: space-between;
  align-self: stretch;
  align-items: center;
  display: flex;
}

/* Footer legal row uses paragraph-small; override base dark-blue text so it's readable on dark bg. */
.sec-footer .div-h-stretched .paragraph-small.text-white {
  color: var(--soft-white);
  opacity: .92;
}

.text-beige140 {
  color: var(--beige-140);
}

.bg-white {
  background-color: var(--soft-white);
}

.bg-green180 {
  background-color: var(--green-180);
}

.list-bulletpoints {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  list-style-type: disc;
  display: flex;
}

.text-inactive {
  color: var(--purple);
  cursor: pointer;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 300;
}

.text-active {
  cursor: pointer;
  font-family: Oceanic Grotesk, sans-serif;
  text-decoration: underline;
}

.form-field-area {
  border: 1px solid var(--beige-140);
  color: var(--dark-blue);
  background-color: #fff0;
  border-radius: 4px;
  min-height: 150px;
  margin-bottom: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 300;
  line-height: 18.2px;
}

.form-field-area::placeholder {
  color: var(--beige-140);
}

.right-padding {
  padding-right: 72px;
}

.div-maxw-300 {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.bas-wrapper {
  width: 100%;
  position: relative;
}

.img-after {
  z-index: 1;
  width: 50%;
  margin-left: auto;
  position: absolute;
}

.bas-handle {
  z-index: 2;
  background-color: var(--coral);
  border-radius: 24px;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.bas-line {
  z-index: 2;
  background-color: var(--coral);
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translate(-50%)translate(0);
}

.sdg-wrapper {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.img-20px {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
}

.included-bg-fade {
  background-color: var(--dark-blue);
  opacity: .48;
  width: 110%;
  height: 110%;
  margin-top: 5%;
  margin-left: -5%;
  position: absolute;
  transform: translate(0, -100%);
}

.img-blur {
  filter: blur(8px);
  position: absolute;
  inset: 0%;
  transform: scale(1.1);
}

.div-nooverflow {
  overflow: hidden;
}

.div-abs {
  position: absolute;
  inset: 0%;
}

.sec-tablet {
  display: none;
}

.div-abs-bottom-right {
  position: absolute;
  inset: auto 24px 24px auto;
}

.div-h-centred {
  flex-flow: column;
  flex: 0 auto;
  justify-content: flex-start;
  align-self: center;
  align-items: center;
  display: flex;
  z-index: 1;
}

.sec-4-3 > .div-h-centred:last-child {
  margin-top: auto;
}

.div-warning {
  padding: 100px var(--_dimensions---side-margins);
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  flex-flow: column;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.img-warning {
  object-fit: contain;
}

.button-beige140 {
  border: 2px solid var(--beige-140);
  background-color: var(--clear);
  color: var(--dark-blue);
  letter-spacing: .16px;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  height: auto;
  padding: 10px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  display: flex;
}

.button-beige140:hover {
  background-color: var(--beige-140);
  color: var(--soft-white);
}

.button-beige140.w--current {
  opacity: .4;
  cursor: default;
  display: none;
}

.button-beige140.w--current:hover {
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.sec-margins-overflow {
  padding: 100px var(--_dimensions---side-margins);
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  flex-flow: column;
  width: 100%;
  display: flex;
  overflow: visible;
}

.scroll-logo {
  cursor: pointer;
  flex: none;
  width: 400px;
  margin-right: 40px;
  position: relative;
}

.sec-margins {
  flex-flow: column;
  width: 100%;
  padding: 100px 120px;
  display: flex;
  overflow: hidden;
}

.sec-margins.beige100 {
  background-color: var(--beige-100);
}

.sec-rel-img-1-1 {
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  padding: 72px;
  display: flex;
  position: relative;
}

.img-32px {
  width: auto;
  height: 50px;
}

.sp-400px {
  width: 200px;
  height: 200px;
}

.sec-margins-20px {
  padding: 100px var(--_dimensions---side-margins);
  flex-flow: column;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.sec-margins-20px.beige100 {
  background-color: var(--beige-100);
}

.div-centred-100 {
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-self: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.icon-cross-popup-locations {
  filter: invert();
  cursor: pointer;
  width: 48px;
  height: 48px;
  padding: 12px;
  position: absolute;
  inset: 0% 0% auto auto;
  z-index: 10;
  overflow: visible;
}

.popup-div > picture:has(.icon-cross-popup-locations) {
  position: absolute;
  inset: 0% 0% auto auto;
  z-index: 10;
}

.sec-margins-popup {
  flex-flow: column;
  width: 100%;
  padding: 100px 120px;
  display: flex;
  overflow: hidden;
}

.sec-margins-popup.beige100 {
  background-color: var(--beige-100);
}

.recaptcha {
  border-radius: 7px;
  margin: 10px 10px 26px;
}

.background-video {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.sec-100vh-no-padding {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.div-padding-sides-120px {
  justify-content: space-between;
  padding: 120px;
  display: flex;
  overflow: visible;
}

.sec-margins-60pxgap-hero {
  padding: 100px var(--_dimensions---side-margins);
  grid-column-gap: 120px;
  grid-row-gap: 120px;
  flex-flow: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  overflow: hidden;
}

.sec-margins-60pxgap-hero.beige100 {
  background-color: var(--beige-100);
}

/* === Interaction Animations === */

/* SDG Marquee */
@keyframes sdg-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Press logo transition */
.press-logo-wrapper {
  transition: background-color 0.4s ease;
}

/* How It Works transitions */
.hiw-number-track,
.hiw-img-track {
  transition: transform 0.5s ease;
}

/* Services options hover (desktop only) */
@media screen and (min-width: 992px) {
  .pill-services .services-wrapper-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), max-height 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .pill-services:hover .services-wrapper-content {
    opacity: 1;
    max-height: 600px;
  }
}

/* Included items hover (desktop only) */
@media screen and (min-width: 992px) {
  .scroll-card .div-nooverflow {
    opacity: 0;
    transition: opacity 0.35s ease;
  }
  .scroll-card:hover .div-nooverflow {
    opacity: 1;
  }
  .included-bg-fade {
    transition: transform 0.4s ease;
  }
  .scroll-card:hover .included-bg-fade {
    transform: translate(0, 0);
  }
}

@media screen and (max-width: 991px) {
  body {
    --_dimensions---side-margins: 72px;
  }

  h1 {
    font-size: 4.5rem;
    line-height: 4rem;
  }

  h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }

  h3 {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }

  h4 {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  h5 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sec-margins-60pxgap {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: visible;
  }

  .sp-150px.reef-locations-hero-top-spacer {
    height: 36px;
  }

  .reef-locations-hero-picture {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }

  .sp-72px.reef-locations-hero-image-top-gap {
    height: 24px;
  }

  .sp-72px.reef-locations-marine-sites-top-gap {
    height: 24px;
  }

  .sp-72px.reef-locations-bali-gallery-top-gap {
    height: 24px;
  }

  .sp-150px.reef-locations-bali-map-top-gap {
    height: 24px;
  }

  .sp-72px.reef-locations-bali-heaven-top-gap {
    height: 24px;
  }

  .sp-72px.reef-locations-mexico-gallery-top-gap {
    height: 24px;
  }

  .sp-150px.reef-locations-mexico-map-top-gap {
    height: 24px;
  }

  .sp-72px.reef-locations-mexico-title-top-gap {
    height: 24px;
  }

  .reef-locations-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .award-section {
    padding: 100px 40px 80px;
  }

  .award-wrap {
    gap: 40px;
    grid-template-columns: 1fr;
  }

  .award-copy {
    gap: 40px;
  }

  .home-options-columns,
  .home-option-cards,
  .home-how-grid {
    grid-template-columns: 1fr;
  }

  .home-option-cards {
    grid-row-gap: 80px;
  }

  .home-option-group {
    margin-bottom: 96px;
  }

  /* Space between People and Pets stacks; last group should not add a
     second “footer” gap before the section ends (that was the large
     band below the final button). */
  .home-options-columns > .home-option-group:last-child {
    margin-bottom: 0;
  }

  .home-how-wrap h2 {
    font-size: 52px;
    margin-bottom: 40px;
  }

  .home-locations {
    padding-left: 40px;
    padding-right: 40px;
  }

  .home-locations-wrap {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .home-seen-in {
    --press-pad-x: 40px;
  }

  .home-seen-in-logos {
    gap: 28px;
  }

  .home-impact {
    padding-left: 40px;
    padding-right: 40px;
  }

  .home-impact-copy {
    gap: 40px;
    grid-template-columns: 1fr;
  }

  .home-interested-content {
    align-items: flex-start;
    gap: 28px 40px;
    grid-template-columns: 1fr;
    padding: 40px 32px 40px;
  }

  .home-interested-title {
    font-size: 56px;
  }

  .navbar {
    display: none;
  }

  .body-m-navbar {
    color: var(--dark-blue);
    text-align: center;
    padding: 14px;
    font-size: 24px;
    font-weight: 400;
    line-height: 24px;
  }

  .text-oceanic300 {
    font-size: 24px;
    line-height: 32px;
  }

  .div-gap60px {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
  }

  .div-gap20px {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
  }

  .div-gap20px.centred {
    grid-column-gap: 120px;
    grid-row-gap: 120px;
    justify-content: center;
    align-items: center;
  }

  .button-neon.nav-menu-mobile {
    background-color: var(--purple);
    height: auto;
    padding: 20px 40px;
    font-size: 24px;
    line-height: 24px;
  }

  .button-neon.nav-menu-mobile:hover {
    background-color: var(--dark-blue);
  }

  .button-neon.cart {
    background-color: var(--purple);
    height: auto;
    padding: 20px 40px;
  }

  .grid-120px {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .h2-logo {
    color: var(--soft-white);
  }

  .h2-logo.blue {
    color: var(--dark-blue);
  }

  .t125px {
    width: 75px;
    font-size: 70px;
    line-height: 70px;
  }

  .div-gap30px {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
  }

  .paragraph-large {
    font-size: 18px;
  }

  .img-sdg-static {
    margin-left: 0;
    margin-right: 20px;
  }

  .div-expanded.margin-left-72px {
    margin-left: 0;
    min-width: 0;
    align-items: flex-start;
  }

  .text-footnote {
    font-size: .7rem;
    line-height: .9rem;
  }

  .banner-cta {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .t80-teal {
    font-size: 50px;
    line-height: 50px;
    white-space: normal;
  }

  .grid-x2 {
    padding-top: 32px;
    padding-bottom: 82px;
  }

  .body {
    /* Was overflow: hidden — broke vertical scroll on tablet because the
       legacy desktop-only/mobile-only DOM had two side-by-side hero blocks
       that needed clipping. With a single DOM that's no longer needed. */
    overflow: visible;
  }

  .div-number-window {
    width: 75px;
    height: 70px;
  }

  .img-hiw {
    height: 400px;
  }


  .paragraph-small {
    color: var(--dark-blue);
  }

  .div-h-abs-spaced {
    flex: 1;
    justify-content: space-between;
    align-items: center;
    margin: 40px;
    display: flex;
    position: absolute;
    inset: 0% 0% auto;
  }

  .h2 {
    font-size: 32px;
    line-height: 40px;
  }

  .press-logo-wrapper {
    width: 240px;
    height: 178px;
  }

  .press-grid {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    margin-left: 0;
    margin-right: 0;
  }

  .sec-pop-up {
    display: flex;
  }

  .sp-150px {
    width: 100px;
    height: 100px;
  }

  .sp-grid.tablet-hidden {
    display: none;
  }

  .services-anim-grid {
    display: block;
  }

  .services-anim-img-con, .services-anim-text, .sec-4-3 {
    display: none;
  }

  .img-4-3 {
    z-index: 1;
    position: absolute;
  }

  .text-coral {
    position: relative;
  }

  .grid-x5 {
    grid-column-gap: 30px;
  }

  .sec-rel-img {
    padding: 60px;
  }

  .cremation-wrapper {
    background-color: var(--beige-140-40);
    cursor: pointer;
    border-radius: 10px;
  }

  .img-20px {
    width: 20px;
    height: 20px;
  }

  .sec-tablet {
    display: block;
  }

  .div-warning, .sec-margins-overflow {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: visible;
  }

  .div-h-spaced {
    flex: 1;
    justify-content: space-between;
    align-items: center;
    margin: 40px;
    display: flex;
    position: absolute;
    inset: 0% 0% auto;
  }

  .sec-margins {
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: visible;
  }

  .sec-rel-img-1-1 {
    padding: 60px;
  }

  .sec-margins-20px, .sec-margins-popup {
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: visible;
  }

  .sec-margins-60pxgap-hero {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    padding-top: 80px;
    padding-bottom: 80px;
    overflow: visible;
  }
}

@media screen and (max-width: 767px) {
  body {
    --_dimensions---side-margins: 40px;
  }

  h1 {
    font-size: 3rem;
    line-height: 3.5rem;
  }

  h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }

  h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  h4 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  h5 {
    font-size: 1.1rem;
    line-height: 1.5rem;
  }

  p {
    font-size: 1rem;
    line-height: 1.2rem;
  }

  .sec-100vh {
    justify-content: flex-end;
    align-items: center;
    padding: 62px 20px;
  }

  .sec-100vh.home-hero {
    justify-content: flex-start;
    align-items: stretch;
  }

  .sec-margins-60pxgap {
    padding: 40px var(--_dimensions---side-margins);
    overflow: hidden;
  }

  .award-section {
    padding: 74px 20px 40px;
  }

  .home-memorial-options,
  .home-how-it-works {
    padding-left: 20px;
    padding-right: 20px;
  }

  .home-option-title {
    font-size: 30px;
  }

  .home-how-number {
    font-size: 72px;
  }

  .home-locations {
    padding-left: 20px;
    padding-right: 20px;
  }
  .home-seen-in {
    --press-pad-x: 20px;
  }

  .home-locations-copy h2 {
    font-size: 40px;
  }

  .home-locations-copy {
    gap: 28px;
  }

  .home-locations-copy .div-gap24px {
    flex-direction: column;
    width: 100%;
  }

  .home-locations-copy .button-purple {
  min-width: 180px;
  white-space: nowrap;
    width: 100%;
  }

  /* Locations list (mobile): map is hidden and pins lay out as a clean
     vertical list — Bali → Mexico → Plymouth → Barbados → Mozambique. */
  .home-locations-wrap {
    grid-template-columns: 1fr;
    padding-left: 0;
    gap: 56px;
  }

  .home-locations-map-bg {
    display: none;
  }

  .home-locations-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .home-location-pin {
    position: static;
    margin: 0;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .home-location-pin .pin-marker {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
  }

  .home-location-pin .pin-marker::before {
    width: 12px;
    height: 2px;
  }

  .home-location-pin .pin-marker::after {
    width: 2px;
    height: 12px;
  }

  .home-location-pin .pin-label,
  .loc-mexico .pin-label,
  .loc-barbados .pin-label {
    position: static;
    left: auto;
    top: auto;
    bottom: auto;
    white-space: normal;
  }

  .home-location-pin span {
    font-size: 30px;
    line-height: 1;
  }

  .home-location-pin p {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 4px;
  }

  /* Override the desktop absolute positions and reorder for mobile */
  .loc-plymouth,
  .loc-barbados,
  .loc-mexico,
  .loc-mozambique,
  .loc-bali {
    left: auto;
    top: auto;
  }

  .loc-bali       { order: 1; }
  .loc-mexico     { order: 2; }
  .loc-plymouth   { order: 3; }
  .loc-barbados   { order: 4; }
  .loc-mozambique { order: 5; }

  .home-seen-in-logos {
    gap: 16px;
  }

  .home-impact {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 120px;
  }

  .home-impact-copy h2 {
    font-size: 40px;
  }

  .home-impact .bas-wrapper {
    aspect-ratio: 1;
    min-height: 0;
  }
  /* The mobile <source> elements load square versions of Before / After
     so the wrapper's 1:1 ratio matches the image content perfectly */
  .home-impact .bas-wrapper picture {
    display: contents;
  }

  .home-interested-card {
  }

  .home-interested--overlaps-footer,
  .sec-footer.home-footer {
    --pill-overlap: 160px;
  }

  .home-interested-content {
    padding: 32px 20px 36px;
  }

  .home-interested-title {
    font-size: 40px;
    line-height: 1;
  }

  .home-interested-ctas {
    flex-direction: column;
    width: 100%;
  }

  .home-interested-ctas .button-teal {
    justify-content: center;
    text-align: center;
    white-space: normal;
    width: 100%;
  }

  .navbar {
    padding-left: 20px;
    padding-right: 20px;
  }

  .div-hero {
    justify-content: flex-end;
    align-items: flex-start;
  }

  .body-m-navbar {
    font-size: 20px;
    line-height: 20px;
  }

  .text-oceanic300 {
    font-size: 20px;
    line-height: 26px;
  }

  .div-gap60px.mobile-process {
    margin-top: -130px;
  }

  .div-gap20px.centred {
    justify-content: center;
    align-self: center;
    align-items: center;
  }

  .div-gap20px.phone-v {
    flex-flow: column;
  }

  .button-neon.nav-menu-mobile {
    padding: 12px 20px;
    font-size: 20px;
    line-height: 20px;
  }

  .button-neon.nav-menu-mobile.w--current {
    opacity: 100;
    display: flex;
  }

  .grid-120px {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    grid-template-columns: 1fr;
    grid-template-areas: ". Area";
  }

  .grid-120px.mobile-v {
    grid-column-gap: 72px;
    grid-row-gap: 72px;
    flex-flow: column;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    display: flex;
  }

  .t125px.beige140 {
    color: var(--beige-140);
  }

  .t125px.green {
    color: var(--soft-white);
  }

  .div-gap30px.mobile-margin {
    z-index: 10;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    margin-left: 12px;
    position: relative;
    top: -300px;
  }

  .div-gap30px.div-100 {
    width: 100%;
  }

  .paragraph-large {
    font-size: 18px;
  }

  .div-gap36px.slider-arrows {
    align-self: center;
  }

  .div-expanded.margin-left-72px {
    width: 100%;
  }

  .text-footnote {
    font-size: .8rem;
    line-height: .9rem;
  }

  .banner-cta {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    border-radius: 0;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    padding: 40px 20px;
    position: relative;
    top: auto;
  }

  .t80-teal {
    align-self: flex-start;
    font-size: 40px;
    line-height: 40px;
  }

  .t80-teal.text-centred {
    align-self: center;
  }

  .grid-x3-narrow {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    grid-template-columns: 1fr;
  }

  .div-footer-copyright {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .img-anamorphic {
    aspect-ratio: 1;
  }

  .sdg-fade {
    width: 100%;
    margin-bottom: -110px;
    position: relative;
  }

  .sdg-animation-wrapper {
    width: 100%;
  }

  .div-gap80px {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .body {
    overflow: visible;
  }

  .sp-200px {
    width: 200px;
    height: 200px;
  }

  .div-faq-container {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .grid-8 {
    grid-template-rows: auto;
  }

  .sdg-animation-wrapper {
    --sdg-gap: 32px;
  }
  .sdg-div {
    gap: 32px;
    padding-right: 32px;
    /* drop the legacy min-width / horizontal padding overrides — handled by the marquee gap now */
  }
  .sdg-logo {
    height: 80px;
  }


  .div-h-abs-spaced {
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .div-h-abs-spaced.z-20 {
    z-index: 20;
  }

  .h2 {
    font-size: 32px;
    line-height: 42px;
  }

  .div-padding-40px {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }

  .sp-42px {
    width: 42px;
    height: 42px;
  }

  .press-logo-wrapper {
    width: 180px;
    height: 100px;
    margin: 0 8px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .press-grid {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 585px;
    height: 360px;
  }

  .press-wrapper {
    width: 585px;
    height: 100%;
  }

  .press-quotes {
    object-fit: contain;
    width: 100%;
    height: 40px;
  }

  .img-2to1 {
    aspect-ratio: 1;
    padding-left: 0;
  }

  .sec-pop-up {
    display: none;
  }

  .pop-up {
    width: 80vw;
    min-width: 80vw;
    max-width: none;
  }

  .services-anim-img {
    width: 140px;
    height: auto;
    margin-top: 0;
    margin-left: 0;
    position: static;
  }

  .services-anim-img-con {
    display: block;
  }

  .circle-40px.bg-teal {
    background-color: var(--teal);
  }

  .map-uk-coordinates {
    top: 23vw;
    left: 45vw;
  }

  .map-in-coordinates {
    top: 40vw;
    left: 71vw;
  }

  .banner-pill {
    flex-flow: column;
    padding: 40px 20px;
  }

  .grid-x5 {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .img-endorsement {
    width: 100px;
  }

  .sec-rel-img {
    padding: 62px var(--_dimensions---side-margins);
  }

  /* Location popup mobile layout — JS sets .pop-up-fullscreen
     display: flex on open, so we don't redeclare display: none here.
     The popup needs to actually be readable when open on mobile:
     stack image above text, full popup width, scrollable if tall. */
  .popup-div {
    flex-direction: column;
    align-items: stretch;
    width: 90vw;
    max-width: 480px;
    height: auto;
    max-height: 90vh;
    overflow-y: auto;
  }
  .popup-div > .div-50 {
    width: 100%;
  }
  /* Image first, text second */
  .popup-div > .div-50:last-of-type {
    order: -1;
  }
  .popup-div > .div-50:last-of-type img {
    aspect-ratio: 16 / 10;
    height: auto;
  }
  .popup-content {
    padding: 24px;
    height: auto;
    gap: 16px;
  }
  .icon-cross-popup-locations {
    width: 36px;
    height: 36px;
    padding: 8px;
  }

  .cremation-wrapper {
    width: 360px;
    max-width: 90vw;
  }

  .scroll-wrapper {
    padding-left: 40px;
    padding-right: 40px;
  }

  .scroll-card {
    width: 320px;
  }

  .img-1-1.custom {
    object-position: 50% 25%;
  }

  .scroll-div {
    margin-left: -40px;
    margin-right: -40px;
  }

  .bas-wrapper {
    aspect-ratio: 1;
  }

  .sdg-wrapper {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .sec-tablet {
    display: none;
  }


  .div-warning {
    padding: 80px var(--_dimensions---side-margins);
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    background-color: var(--purple);
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    display: flex;
  }

  .img-warning {
    max-width: 300px;
    height: auto;
  }

  .section-2, .section-4, .section-5 {
    display: none;
  }

  .sec-margins-overflow {
    padding: 80px 20px;
    display: none;
  }

  .div-h-spaced {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    width: 100%;
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
    position: static;
  }

  .div-block {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .div-v-left-just {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    justify-content: center;
    align-self: center;
    align-items: flex-start;
    display: flex;
  }

  .div-h-gap20px {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    display: flex;
  }

  .scroll-logo {
    width: 120px;
    margin-right: 60px;
  }

  .sec-margins {
    padding: 62px 40px;
    overflow: hidden;
  }

  .sp-8px {
    width: 8px;
    height: 8px;
  }

  .sec-rel-img-1-1 {
    padding: 40px var(--_dimensions---side-margins);
    aspect-ratio: 1;
  }

  .img-3-2 {
    aspect-ratio: 3 / 2;
  }

  .img-32px {
    height: 32px;
  }

  .div-300px {
    width: 300px;
    height: 300px;
  }

  .sp-400px {
    width: 200px;
    height: 400px;
  }

  .sp-24px {
    width: 24px;
    height: 24px;
  }

  .div-relative {
    position: relative;
  }

  .sec-margins-20px {
    padding: 42px;
    overflow: hidden;
  }

  .div-centred-100 {
    width: 100%;
  }

  .sec-margins-popup {
    padding: 62px 40px;
    overflow: hidden;
  }

  .sec-100vh-no-padding {
    justify-content: flex-end;
    align-items: center;
  }

  .div-padding-sides-120px {
    flex-flow: column;
    padding: 100px 40px;
  }

  .sec-margins-60pxgap-hero {
    padding: 40px var(--_dimensions---side-margins);
    overflow: hidden;
  }
}

@media screen and (max-width: 479px) {
  body {
    --_dimensions---side-margins: 20px;
  }

  h1 {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  .button-neon {
    justify-content: center;
    align-items: center;
  }

  .button-neon.div-expanded {
    width: 100%;
  }

  .h2-logo {
    font-size: 32px;
    line-height: 32px;
  }

  .div-expanded.margin-left-72px {
    width: 100%;
  }

  .div-gap24px {
    max-width: none;
  }

  .div-404 {
    padding: 20px;
  }

  .sec-pop-up {
    padding-left: 0;
    padding-right: 0;
    display: none;
  }

  .pop-up {
    width: 80vw;
  }

  .img-50px {
    height: 32px;
  }

  .sec-rel-img {
    padding-left: 20px;
    padding-right: 10px;
  }

  .pop-up-fullscreen {
    display: none;
  }

  .div-v-gap12px {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
  }

  .sec-rel-img-1-1 {
    padding-left: 20px;
    padding-right: 10px;
  }

  .img-32px {
    height: 32px;
  }

  .sec-margins-popup {
    padding: 32px;
  }

  .div-padding-sides-120px {
    justify-content: space-between;
    align-items: center;
  }

  .button-expand {
    text-align: center;
    width: 100%;
  }

  .form-mobile {
    width: 100%;
    overflow: visible;
  }
}

#w-node-e325a483-343c-bf60-942e-9aa745ad3538-a33ee319 {
  place-self: start;
}

#w-node-_26580f45-f550-5157-0252-74a341f24c56-a33ee319 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_57a098d3-15ba-041d-de18-4df14f0cbdfb-beff146b {
  grid-area: Area;
}

#w-node-_418a2732-4147-e54f-2bf4-a41581a1dbcc-beff146b, #w-node-_7d58a0e4-eed2-e86a-742a-b98b96d94794-beff146b {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_0dd279d1-0844-a3f6-4728-a9f054c689f1-82da0aa2, #w-node-_7459ce78-7c6e-c145-4f7b-67b414f63217-82da0aa2 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_9f087ac1-bd4c-d699-d964-48e1652eb707-82da0aa2, #w-node-_4354b269-0db3-70cf-14be-8d7fcd467fc3-82da0aa2 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-e555d77b-c904-d783-d69e-413ca7661e1c-82da0aa2 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_4de49479-a6b2-e0fb-fd43-690583acd3f6-82da0aa2, #w-node-_7459ce78-7c6e-c145-4f7b-67b414f6321a-82da0aa2 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_7459ce78-7c6e-c145-4f7b-67b414f63222-82da0aa2 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_53c26d07-412f-b4e2-fd06-a9ed9e4e526f-82da0aa2, #w-node-ad0d7524-61dc-5daa-9339-7ecc7770ce6f-82da0aa2 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_827cd7fb-83ae-bfdc-1aa6-9961d934aa5a-82da0aa2 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_2c4a3f5b-d563-5fcc-890a-e8f0152311f0-82da0aa2, #w-node-ceb9667c-6903-8b75-6905-9fa79f704abb-82da0aa2 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_99280b00-ff07-4ff3-7d67-68613ce1e7b7-82da0aa2 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-ee2cf752-aba2-0758-5575-57fd8a213f55-82da0aa2, #w-node-ee2cf752-aba2-0758-5575-57fd8a213f57-82da0aa2, #w-node-ee2cf752-aba2-0758-5575-57fd8a213f6b-82da0aa2, #w-node-ee2cf752-aba2-0758-5575-57fd8a213f6d-82da0aa2 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-dfaccf51-fd9f-b229-df6e-aba9c89e82c0-8bd75600, #w-node-c197bb7a-f86d-0386-6a8b-0e451d4f73a0-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-d761dad7-83cc-0def-bc5d-d8ba97de020e-8bd75600, #w-node-adf14287-52eb-ca3e-5786-95d7b411e3de-8bd75600, #w-node-_7617ca18-47b1-aa05-b22f-5499aaa88507-8bd75600 {
  place-self: end start;
}

#w-node-_4bba41ff-af7c-5d79-4f53-5dd72268b84e-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_23ee42ca-1318-19d5-75a7-82469dab7163-8bd75600 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-f78ce9ac-7979-3172-778c-01c63bb9aa4e-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_23ee42ca-1318-19d5-75a7-82469dab7166-8bd75600, #w-node-_606cf8ca-9a9d-ac14-4914-2212054c05b3-8bd75600, #w-node-af803a54-16ed-8569-0974-8bb653b38d9e-8bd75600 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-c1563a4d-5432-7c7a-5c3e-0faeed6e8ed6-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_8a1a2053-92dd-8161-c2af-6d37926177e8-8bd75600, #w-node-_23ee42ca-1318-19d5-75a7-82469dab7177-8bd75600 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_39b90c93-dff5-1411-1ebe-da175d360871-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_4926f54e-d4cb-c605-3855-48cde6d7b744-8bd75600 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-daa90fc7-7bd6-6faa-359a-8b5d32b931ea-8bd75600 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_27b1ba08-7b71-9855-223c-429555c2ae74-8bd75600, #w-node-_31557a1b-ff89-1840-392d-73d9df8deed7-8bd75600 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_9debaa38-f8de-18a8-d780-35fedbaa6a83-8bd75600 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_9debaa38-f8de-18a8-d780-35fedbaa6a86-8bd75600, #w-node-_9debaa38-f8de-18a8-d780-35fedbaa6a93-8bd75600, #w-node-_9debaa38-f8de-18a8-d780-35fedbaa6aa0-8bd75600 {
  place-self: end start;
}

#w-node-d7d2e8f4-5f39-2237-67bd-fa86b103c8ac-8bd75600, #w-node-_9debaa38-f8de-18a8-d780-35fedbaa6b39-8bd75600 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_9debaa38-f8de-18a8-d780-35fedbaa6b41-8bd75600 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_9debaa38-f8de-18a8-d780-35fedbaa6b44-8bd75600 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_5e7719cd-fd07-44d5-e0e7-787f7eb1277b-7ed525e5 {
  align-self: end;
}

#w-node-_18a22143-fdb3-e7cd-74b2-1b5549d95283-35b06462, #w-node-daa90fc7-7bd6-6faa-359a-8b5d32b931ea-35b06462 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-df8a0b2b-e4e5-1e06-4f39-036ebed101d3-35b06462 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-fcbe7012-0e31-cb1f-095d-7f1b6d8a0fa1-35b06462 {
  place-self: end start;
}

#w-node-_463fcb99-fa4f-126d-6727-2c6a645c5bb1-35b06462 {
  grid-area: Area;
}

#w-node-_78c63eaf-dcd6-da38-bc59-80fa51c37248-35b06462, #w-node-_78c63eaf-dcd6-da38-bc59-80fa51c3724b-35b06462, #w-node-e40a7b41-2d5e-2dc6-bbd2-133aedcaef18-35b06462 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_486feaf4-7423-065a-9a83-1736cac68394-35b06462, #w-node-_486feaf4-7423-065a-9a83-1736cac68397-35b06462 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_486feaf4-7423-065a-9a83-1736cac683a1-35b06462 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_486feaf4-7423-065a-9a83-1736cac683a2-35b06462 {
  place-self: end start;
}

#w-node-_486feaf4-7423-065a-9a83-1736cac68429-35b06462, #w-node-_486feaf4-7423-065a-9a83-1736cac6842e-35b06462, #w-node-_486feaf4-7423-065a-9a83-1736cac68440-35b06462, #w-node-_980d944a-eb37-52de-b0e8-37a5119bdee9-39149282, #w-node-_980d944a-eb37-52de-b0e8-37a5119bdeee-39149282, #w-node-_99280b00-ff07-4ff3-7d67-68613ce1e7b7-39149282, #w-node-df91aebb-7490-3cb0-0bd2-0e2d54778733-39149282 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_0e9d99c8-df6f-9948-7f34-8a319e337e39-3dd88db1, #w-node-_1872264d-6c4a-df3d-5dfc-bd3ac2c37a8a-3dd88db1, #w-node-_6184b94f-e1fc-3c78-a165-611769cad7af-3dd88db1, #w-node-_8e013b4f-f420-ccb1-c0ce-f29f3f7cf1dc-3dd88db1, #w-node-_96d22604-20ac-3b22-2ded-900206a67fd2-3dd88db1, #w-node-f922d529-6f47-1ab9-663b-7a6e66b36d29-3dd88db1, #w-node-_4eb588db-492f-f864-d652-f374357140f4-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_4eb588db-492f-f864-d652-f374357140ec-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_4eb588db-492f-f864-d652-f374357140ee-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_4eb588db-492f-f864-d652-f374357140ef-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_13e02176-8064-f78f-68aa-8cda4d3298fa-3dd88db1, #w-node-_17c1d49c-36e9-322f-a515-382936eeffae-3dd88db1, #w-node-c26a3b90-52fc-52d4-12ff-35ebc7fe0c95-3dd88db1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d75b-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d75d-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d75e-3dd88db1, #w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d762-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d767-3dd88db1, #w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d768-3dd88db1, #w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d77b-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d77c-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d77e-3dd88db1, #w-node-_099d2ce5-9a9c-8aed-01a1-65fca245d782-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-abe52d94-b698-8d26-f50c-0a3017940d3f-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-abe52d94-b698-8d26-f50c-0a3017940d41-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_64ccbbed-ebe0-de6d-6e42-a7d8b281bb0a-3dd88db1, #w-node-_4a3403ab-8974-409d-d731-3ac9ab5e6286-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_9cc155c9-e8d3-b579-0315-2b7eba2d394e-3dd88db1, #w-node-_59acdc7e-f9e5-03e3-ab1c-f68f2cb0f6ca-3dd88db1, #w-node-_55cd1b6b-0391-d40e-cc6e-715ae0e5a005-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_4ebb96d1-54a2-6744-e827-20bc7830baf9-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_836890f7-15c8-72ca-7ae7-798e5a3c7234-3dd88db1, #w-node-_836890f7-15c8-72ca-7ae7-798e5a3c7238-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-f6db7c66-fefc-58a2-93af-556b7cba3beb-3dd88db1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-f6db7c66-fefc-58a2-93af-556b7cba3bec-3dd88db1 {
  grid-area: span 1 / span 10 / span 1 / span 10;
}

#w-node-f6db7c66-fefc-58a2-93af-556b7cba3bfa-3dd88db1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd09848-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd0984a-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd0984b-3dd88db1, #w-node-_2092b54b-4328-7979-f6f0-86719dd0984f-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd09851-3dd88db1, #w-node-_2092b54b-4328-7979-f6f0-86719dd09852-3dd88db1, #w-node-_2092b54b-4328-7979-f6f0-86719dd09865-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd09866-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_2092b54b-4328-7979-f6f0-86719dd09868-3dd88db1, #w-node-_2092b54b-4328-7979-f6f0-86719dd0986c-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44459-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb4445d-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb44461-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb44464-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb44465-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44469-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb4446a-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44485-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44487-3dd88db1 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44488-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb4448c-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44491-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb44492-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444a3-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444a4-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444a6-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444aa-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444b8-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444bb-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444bf-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444c2-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444cd-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444ce-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444d0-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444d4-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444e8-3dd88db1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444eb-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb444ef-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb444f2-3dd88db1 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44500-3dd88db1 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_995c9977-6ed4-f92e-b283-f55effb44502-3dd88db1, #w-node-_995c9977-6ed4-f92e-b283-f55effb44506-3dd88db1 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-c8eda097-a54c-5125-ac91-fcf2cd0a324b-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_3c22cc97-824d-56a7-58c3-ae38e942d533-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_57f3d39b-2fb3-8523-6105-2e553d249c3c-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_93c791dc-f1e3-8dfd-577e-c84acf3b8c6a-ee1f0249 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_9a5a8ad7-b59a-29b2-c752-f894fcc870c1-ee1f0249 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_0ce25f87-7ec4-0df2-2de5-0a2518414f96-ee1f0249 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_8c668c39-26ca-9cfb-8cc5-3ef613ccd7be-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f397-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f398-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f3a0-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f3a1-ee1f0249 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_11360a79-10e3-3cce-4aaf-cc2f958ae725-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f3a5-ee1f0249 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-d83854f8-3c4d-fd74-bb14-61542f06f3a6-ee1f0249, #w-node-c030df07-a7ce-219e-979a-fbb95e56cc03-ee1f0249 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-c030df07-a7ce-219e-979a-fbb95e56cbd1-ee1f0249 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-c030df07-a7ce-219e-979a-fbb95e56cbda-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-c030df07-a7ce-219e-979a-fbb95e56cbdc-ee1f0249 {
  grid-area: 1 / 7 / 2 / 13;
}

#w-node-c030df07-a7ce-219e-979a-fbb95e56cc02-ee1f0249 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_2289f21b-0734-7df8-2d48-e75c15dc3c9b-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_2289f21b-0734-7df8-2d48-e75c15dc3c9a-ee1f0249 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf517159-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf51715b-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf51715d-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf51715e-ee1f0249, #w-node-_10db9988-0dec-af48-82d2-22f4bf51715f-ee1f0249, #w-node-_10db9988-0dec-af48-82d2-22f4bf517160-ee1f0249 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf517161-ee1f0249 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf517162-ee1f0249, #w-node-_10db9988-0dec-af48-82d2-22f4bf517163-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_10db9988-0dec-af48-82d2-22f4bf517168-ee1f0249 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_3e06e691-a348-4a5a-96a3-9295139aa15a-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_3e06e691-a348-4a5a-96a3-9295139aa15c-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
  justify-self: end;
}

#w-node-_914afc6f-3cd4-90fe-7d7c-36fe8519d026-ee1f0249 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_03bdc294-ff32-5e06-086c-a2b77c630175-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_03bdc294-ff32-5e06-086c-a2b77c630179-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_03bdc294-ff32-5e06-086c-a2b77c63017a-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_03bdc294-ff32-5e06-086c-a2b77c63017f-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e340-ee1f0249, #w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e37a-ee1f0249 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e353-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e37e-ee1f0249 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e381-ee1f0249 {
  grid-area: 1 / 7 / 2 / 13;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3aa-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3b2-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3bd-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
  justify-self: end;
}

#w-node-a50d7c67-e664-be6b-e81f-4258c8927858-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3ed-ee1f0249 {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3f0-ee1f0249 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3f5-ee1f0249 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_5ebd7628-46c3-a0ee-c8b4-c7a2eded2d28-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_3c22cc97-824d-56a7-58c3-ae38e942d532-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_3c22cc97-824d-56a7-58c3-ae38e942d533-9372d9a5 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_3c58267a-198a-e71a-d55c-db9e833697d9-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a6e-9372d9a5 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a70-9372d9a5 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a71-9372d9a5 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a76-9372d9a5, #w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a77-9372d9a5, #w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a79-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe41a-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe41b-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe421-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe422-9372d9a5, #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe423-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe425-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
  place-self: center;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe427-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe429-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe42c-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe42e-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
  place-self: center;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe430-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe432-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe435-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe437-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
  place-self: center;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe439-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe43b-9372d9a5 {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-b9ea0d4c-1421-51bf-cdf8-f049b55e60d8-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe43e-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
  justify-self: center;
}

#w-node-_2f3b2489-a4f9-c0be-4261-d828f0838e69-9372d9a5, #w-node-fc950dfd-7c3d-e006-a4b1-15da5992532e-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_90ee9f4e-fa7b-e613-1278-dec30d493deb-9372d9a5, #w-node-_86909ef0-17e5-c9a8-2f09-71bc7273068f-9372d9a5, #w-node-d3038e84-8fed-ce92-a1ad-ff6fc3cef3f5-9372d9a5, #w-node-_9a5c4dbc-5074-fa73-fca3-309d595fff9d-9372d9a5, #w-node-_83ab43a6-3074-af5a-40ba-771e7c1ba2b3-9372d9a5, #w-node-df35d9d2-f277-27fb-0694-c79d5e285dcb-9372d9a5, #w-node-_697b4a24-cd74-8f29-c372-60b12fd3c0c6-9372d9a5, #w-node-b69902d8-a069-7e56-081b-623a23afeab2-9372d9a5, #w-node-_1c7040ae-4941-8d9d-ebc2-07d20f50c4cd-9372d9a5 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-f82cbb2c-9644-5fa8-d4a1-397472f45738-9372d9a5 {
  align-self: end;
}

#w-node-_4c39cbc7-6cc7-2c72-a6c7-62ff2cdbdf3d-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_4d7fc3c6-b35f-c1a7-35d3-ed52f106baf9-9372d9a5 {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_4d7fc3c6-b35f-c1a7-35d3-ed52f106baff-9372d9a5, #w-node-_4d7fc3c6-b35f-c1a7-35d3-ed52f106bb01-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6b8-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6bf-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6c4-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6c9-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6cd-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6d2-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6d6-9372d9a5 {
  grid-area: span 1 / span 6 / span 1 / span 6;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6db-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_77af5e74-c400-718e-0620-7dae8144e6dc-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
  justify-self: center;
}

#w-node-f5f6cf6d-9157-49de-257c-805fe708bb7a-9372d9a5, #w-node-f5f6cf6d-9157-49de-257c-805fe708bb7c-9372d9a5 {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_31a79a7d-4c82-9f89-45a4-2cf1bff6d6df-9372d9a5, #w-node-f5f6cf6d-9157-49de-257c-805fe708bb83-9372d9a5, #w-node-f71f9aaf-db67-bafd-5c66-a6743a3d1e7c-9372d9a5, #w-node-ca0b6b27-cc38-8825-5b4d-11d09d918112-9372d9a5 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

@media screen and (max-width: 991px) {
  #w-node-_3c22cc97-824d-56a7-58c3-ae38e942d532-9372d9a5, #w-node-_3c22cc97-824d-56a7-58c3-ae38e942d533-9372d9a5 {
    grid-column: span 12 / span 12;
  }

  #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe41a-9372d9a5 {
    grid-column: span 1 / span 1;
  }

  #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe41b-9372d9a5 {
    grid-column: span 10 / span 10;
  }

  #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe421-9372d9a5 {
    grid-column: span 1 / span 1;
  }

  #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe427-9372d9a5 {
    grid-column: span 12 / span 12;
  }

  #w-node-e86eebec-0b4b-0e36-4b79-4a65255019e7-9372d9a5, #w-node-e86eebec-0b4b-0e36-4b79-4a65255019e9-9372d9a5 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_4c39cbc7-6cc7-2c72-a6c7-62ff2cdbdf3d-9372d9a5 {
    grid-column: span 12 / span 12;
  }

  #w-node-_77af5e74-c400-718e-0620-7dae8144e6b8-9372d9a5 {
    grid-column: span 10 / span 10;
  }

  #w-node-_77af5e74-c400-718e-0620-7dae8144e6c4-9372d9a5 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_9f087ac1-bd4c-d699-d964-48e1652eb707-82da0aa2, #w-node-_7459ce78-7c6e-c145-4f7b-67b414f6321a-82da0aa2, #w-node-_53c26d07-412f-b4e2-fd06-a9ed9e4e526f-82da0aa2, #w-node-ceb9667c-6903-8b75-6905-9fa79f704abb-82da0aa2 {
    justify-self: center;
  }

  #w-node-_255611c4-4d33-b091-94a6-a0cc08ec2acf-8bd75600, #w-node-_9debaa38-f8de-18a8-d780-35fedbaa6b15-8bd75600 {
    order: -9999;
  }

  #w-node-_3c22cc97-824d-56a7-58c3-ae38e942d533-ee1f0249, #w-node-d83854f8-3c4d-fd74-bb14-61542f06f398-ee1f0249 {
    justify-self: center;
  }

  #w-node-_3e06e691-a348-4a5a-96a3-9295139aa15c-ee1f0249, #w-node-_90a93bf6-93b4-c743-b0d2-188c13b0e3bd-ee1f0249 {
    justify-self: start;
  }

  #w-node-_3c22cc97-824d-56a7-58c3-ae38e942d533-9372d9a5 {
    justify-self: center;
  }

  #w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a6e-9372d9a5 {
    grid-column: span 12 / span 12;
  }

  #w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a70-9372d9a5 {
    grid-column: span 1 / span 1;
  }

  #w-node-_95c95d58-64f9-f540-f71d-78f31f0c6a71-9372d9a5, #w-node-_72225fbc-8a67-4954-a2f2-3fd4e3bbe41b-9372d9a5, #w-node-_4d7fc3c6-b35f-c1a7-35d3-ed52f106baf9-9372d9a5, #w-node-_77af5e74-c400-718e-0620-7dae8144e6b8-9372d9a5 {
    grid-column: span 12 / span 12;
  }
}

.site-navbar {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  padding: 24px var(--_dimensions---side-margins) 18px;
  background-color: transparent;
  justify-content: space-between;
  align-items: center;
  display: flex;
  transition: background-color 0.4s ease, padding 0.4s ease, border-color 0.4s ease;
  border-bottom: 1px solid transparent;
}

.site-navbar--overlay {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}


.site-navbar-spacer {
  height: 80px;
}

@media screen and (max-width: 767px) {
  .site-navbar-spacer {
    height: 60px;
  }
}

.site-navbar__brand {
  flex: none;
  display: flex;
  position: relative;
}

.site-navbar__logo {
  width: 164px;
  transition: opacity 0.4s ease;
}

.site-navbar__logo--dark {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.site-navbar__right {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  display: flex;
}

.site-navbar__links {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.site-navbar__links a {
  color: var(--navbar-text);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  font-weight: 300;
  transition: color 0.4s ease;
  line-height: 22px;
  text-decoration: none;
}

.site-navbar__links a:hover {
  text-decoration: underline;
}


@media screen and (max-width: 991px) {
  .site-navbar {
    padding-top: 20px;
  }

  .site-navbar__links {
    display: none;
  }

  .site-navbar__right {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .site-navbar {
    padding-top: 16px;
    padding-bottom: 8px;
  }

  .site-navbar__logo {
    width: 138px;
  }
}

@media screen and (max-width: 479px) {
  .site-navbar {
    justify-content: space-between;
    align-items: center;
  }
}

/* ── Navbar cart icon (toggled by rr-cart-update event) ── */

.site-navbar__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--navbar-text);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.4s ease;
}

.site-navbar__cart[hidden] {
  display: none;
}

.site-navbar__cart:hover {
  background-color: rgba(12, 32, 38, 0.08);
}

.site-navbar__cart svg {
  width: 22px;
  height: 22px;
  display: block;
}

.site-navbar__cart-count {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background-color: var(--neon-green);
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 18px;
  text-align: center;
  box-shadow: 0 0 0 2px var(--navbar-bg, transparent);
}

/* ── Mobile burger + slide-in menu (visible under 992px) ── */

.site-navbar__burger {
  display: none;
  width: 30px;
  height: 22px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
}

.site-navbar__burger > span {
  display: block;
  height: 1.5px;
  background-color: var(--navbar-text);
  border-radius: 1px;
  transition: background-color 0.4s ease;
}

.site-navbar__mobile {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1100;
  background-color: #fff6ec;
  padding: 24px 20px 32px;
  overflow-y: auto;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.site-navbar__mobile.is-rendered {
  display: flex;
}

.site-navbar__mobile.is-open {
  opacity: 1;
}

.site-navbar__mobile-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-navbar__mobile-brand {
  display: inline-flex;
}

.site-navbar__mobile-brand img {
  width: 138px;
  height: auto;
}

.site-navbar__mobile-close {
  width: 36px;
  height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-navbar__mobile-close img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.site-navbar__mobile-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
  margin: 0;
  padding: 24px 0;
}

.site-navbar__mobile-group-label {
  margin: 24px 0 0;
  font-family: Romie, sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
  color: var(--dark-blue);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.site-navbar__mobile-group-label:first-child {
  margin-top: 0;
}

.site-navbar__mobile-link {
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.5rem;
  line-height: 1.3;
  color: var(--dark-blue);
  text-decoration: none;
  padding: 4px 0;
}

.site-navbar__mobile-link--section {
  margin: 24px 0 0;
  font-family: Romie, sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.site-navbar__mobile-cta {
  align-self: center;
}

.site-navbar__mobile-socials {
  display: flex;
  gap: 24px;
  justify-content: center;
}

.site-navbar__mobile-socials img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.site-navbar__mobile-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  padding-top: 16px;
}

.site-navbar__mobile-footer a {
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.95rem;
  color: var(--dark-blue);
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .site-navbar__burger {
    display: flex;
  }
  .site-navbar__cta {
    display: none;
  }
}

/* --- Navbar Dropdown (Memorials for People) --- */
.site-navbar__dropdown {
  position: static;
}

.site-navbar__dropdown-trigger {
  color: var(--navbar-text);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 22px;
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  transition: color 0.4s ease;
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.site-navbar__dropdown-trigger:hover {
  text-decoration: underline;
}

.site-navbar__dropdown-chevron {
  width: 8px;
  height: 8px;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(-45deg);
  transition: transform 0.25s;
  flex-shrink: 0;
}

.site-navbar__dropdown-trigger[aria-expanded="true"] .site-navbar__dropdown-chevron {
  transform: translateY(2px) rotate(135deg);
}


.site-navbar__dropdown-panel {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: var(--beige-100);

  padding: 48px var(--_dimensions---side-margins) 56px;
  display: none;
  align-items: start;
  gap: 48px;
}

.site-navbar__dropdown-panel.is-open {
  display: flex;
}

.site-navbar__dropdown-title {
  font-family: Romie, serif;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--dark-blue);
  margin: 0;
  flex: 0 0 auto;
  max-width: 220px;
}

.site-navbar__dropdown-options {
  display: flex;
  gap: 32px;
  margin-left: auto;
}

.site-navbar__dropdown-option {
  text-decoration: none;
  color: var(--dark-blue);
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 360px;
}

.site-navbar__dropdown-option:hover {
  text-decoration: none;
}

.site-navbar__dropdown-option:hover .site-navbar__dropdown-img {
  opacity: 0.85;
}

.site-navbar__dropdown-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 4px;
  transition: opacity 0.2s;
}

.site-navbar__dropdown-option p {
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--dark-blue);
  margin: 0;
}

.site-navbar__dropdown-pill {
  display: inline-block;
  background-color: var(--neon-green);
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  font-weight: 400;
  padding: 8px 20px;
  border-radius: 999px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s;
}

.site-navbar__dropdown-img-wrap:hover .site-navbar__dropdown-pill {
  opacity: 1;
}

.site-navbar__dropdown-pill--purple {
  background-color: var(--purple);
}

.site-navbar__dropdown-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.site-navbar__dropdown-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.25);
  display: none;
}

.site-navbar__dropdown-backdrop.is-open {
  display: block;
}

@media screen and (max-width: 991px) {
  .site-navbar__dropdown-panel,
  .site-navbar__dropdown-backdrop {
    display: none !important;
  }
}

.plan-ahead-club-hero {
  grid-column-gap: 42px;
  grid-row-gap: 84px;
  background-color: #fff6ec;
  padding: 56px var(--_dimensions---side-margins) 72px;
  display: grid;
}

.plan-ahead-club-hero__title {
  margin: 0;
  font-size: 4.25rem;
  line-height: 1;
}

.plan-ahead-club-hero__copy {
  grid-column-gap: 60px;
  grid-row-gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.plan-ahead-club-hero__lead {
  max-width: 600px;
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 3rem;
  line-height: 3.2rem;
}

.plan-ahead-club-hero__text {
  max-width: 640px;
  margin: 0;
}

.plan-ahead-club-hero__images {
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.plan-ahead-club-hero__image {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  display: block;
}

.plan-ahead-why {
  grid-column-gap: 54px;
  grid-row-gap: 162px;
  background-color: #031e2b;
  background-image: url('../images/Blue-Topology-bg-p-2560.jpg');
  background-image: image-set(
    url('../images/Blue-Topology-bg-p-2560.webp') type('image/webp'),
    url('../images/Blue-Topology-bg-p-2560.jpg') type('image/jpeg')
  );
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #c8ceff;
  padding: 72px var(--_dimensions---side-margins) 172px;
  display: grid;
}

.plan-ahead-why__title {
  margin: 0;
  text-align: center;
  color: #c8ceff;
  font-size: 4rem;
  line-height: 1;
}

.plan-ahead-why__grid {
  grid-column-gap: 56px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.plan-ahead-why__card {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  text-align: center;
  display: grid;
  align-content: start;
  justify-items: center;
}

.plan-ahead-why__number {
  margin: 0;
  color: #c8ceff;
  font-family: Romie, sans-serif;
  font-size: 4.15rem;
  line-height: 1;
}

.plan-ahead-why__heading {
  margin: 0;
  color: #fffcf9;
  font-size: 2.1rem;
  line-height: 1.15;
}

.plan-ahead-why__text {
  margin: 0;
  color: #fffcf9;
}

.plan-ahead-membership {
  grid-row-gap: 96px;
  background-color: #fff6ec;
  padding: 172px var(--_dimensions---side-margins) 144px;
  display: grid;
}

.plan-ahead-membership__row {
  grid-column-gap: 192px;
  grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.plan-ahead-membership__media {
  width: 100%;
}

.plan-ahead-membership__image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  display: block;
}

.plan-ahead-membership__content {
  grid-row-gap: 24px;
  display: grid;
  justify-items: start;
}

.plan-ahead-membership__title,
.plan-ahead-membership__headline {
  margin: 0;
  line-height: 1.05;
}

.plan-ahead-membership__title {
  font-size: 4rem;
}

.plan-ahead-membership__text {
  max-width: 720px;
  margin: 0;
}

.plan-ahead-membership__cta {
  background-color: var(--neon-green);
  color: var(--dark-blue);
  border-radius: 999px;
  padding: 10px 30px;
  font-size: 16px;
  line-height: 22px;
}

.plan-ahead-membership__headline {
  margin-top: 80px;
  text-align: left;
  font-size: 4.2rem;
}

.plan-ahead-membership__list-intro {
  margin: 0;
}

.plan-ahead-membership__list {
  grid-row-gap: 6px;
  margin: 0;
  padding-left: 20px;
  display: grid;
}

.plan-ahead-membership__outline-cta {
  border: 1px solid var(--beige-140);
  color: var(--dark-blue);
  background-color: transparent;
  border-radius: 999px;
  align-items: center;
  gap: 16px;
  padding: 10px 14px 10px 22px;
  display: inline-flex;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
}

.plan-ahead-membership__outline-arrow {
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex-shrink: 0;
}

.plan-ahead-membership__footer {
  justify-content: center;
  display: flex;
}

.plan-ahead-aligned {
  min-height: 760px;
  display: block;
  position: relative;
  overflow: hidden;
}

.plan-ahead-aligned__bg {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.plan-ahead-aligned__overlay {
  z-index: 1;
  grid-template-rows: auto 1fr auto auto;
  color: var(--soft-white);
  text-align: left;
  width: 100%;
  height: 100%;
  padding: 42px var(--_dimensions---side-margins) 42px;
  display: grid;
  position: relative;
}

.plan-ahead-aligned__title {
  margin: 0;
  color: #dbe0ff;
  max-width: 2000px;
  font-size: 4.7rem;
  line-height: .96;
  text-align: center;
  justify-self: center;
  margin-bottom: 180px;
}

.plan-ahead-aligned__text {
  max-width: 560px;
  margin: 0;
  color: var(--soft-white);
  text-align: center;
  align-self: end;
  justify-self: center;
  margin-bottom: 72px;
}

.plan-ahead-aligned__cta {
  color: var(--dark-blue);
  background-color: #dbe6ff;
  border-radius: 999px;
  padding: 10px 30px;
  justify-self: center;
  align-self: end;
}

.plan-ahead-join {
  grid-column-gap: 92px;
  background-color: #fffcf9;
  grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
  align-items: stretch;
  padding: 180px var(--_dimensions---side-margins) 176px;
  display: grid;
}

.plan-ahead-join__copy {
  grid-row-gap: 20px;
  display: grid;
  justify-items: start;
}

.plan-ahead-join__title {
  margin: 0 0 60px;
  font-size: 4.1rem;
  line-height: .98;
}

.plan-ahead-join__intro,
.plan-ahead-join__price-label,
.plan-ahead-join__price {
  margin: 0;
}

.plan-ahead-join__list {
  grid-row-gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.plan-ahead-join__price {
  font-family: Romie, sans-serif;
  font-size: 4.35rem;
  line-height: 1;
}

.plan-ahead-join__actions {
  grid-column-gap: 18px;
  row-gap: 14px;
  display: flex;
  flex-wrap: wrap;
}

.plan-ahead-join__button {
  color: var(--dark-blue);
  background-color: var(--neon-green);
  border-radius: 999px;
  padding: 10px 26px;
}

.plan-ahead-join__media {
  position: relative;
  width: 100%;
}

.plan-ahead-join__image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.plan-ahead-group-cta {
  min-height: 360px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
  margin-bottom: 160px;
}

.plan-ahead-group-cta--compact-gap {
  margin-bottom: 72px;
}

/* Journey footer pill uses .banner-cta { top: -100px }; extra space on desktop so
   “Get in touch” isn’t covered when the join strip overlaps upward. */
@media screen and (min-width: 1024px) {
  .plan-ahead-group-cta--compact-gap {
    margin-bottom: 200px;
  }
}

.plan-ahead-group-cta__bg {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.plan-ahead-group-cta__overlay {
  z-index: 1;
  grid-row-gap: 14px;
  color: var(--soft-white);
  text-align: center;
  width: min(100%, 560px);
  padding: 20px 24px;
  display: grid;
  justify-items: center;
  position: relative;
}

.plan-ahead-group-cta__eyebrow {
  margin: 0;
  color: #e9eeff;
  font-size: 15px;
  line-height: 1.35;
}

.plan-ahead-group-cta__title {
  margin: 0;
  color: var(--soft-white);
  font-size: 3rem;
  line-height: 1;
}

.plan-ahead-group-cta__button {
  color: var(--dark-blue);
  background-color: var(--teal);
  border-radius: 999px;
  padding: 10px 30px;
}

/* Benefits slide-in panel */
.benefits-panel-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  z-index: 9998;
}

.benefits-panel-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.benefits-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--beige-100);
  transform: translateX(100%);
  transition: transform 0.8s ease;
  z-index: 9999;
  overflow-y: auto;
}

.benefits-panel.is-open {
  transform: translateX(0);
}

.benefits-panel__close {
  position: fixed;
  top: 50%;
  left: 40px;
  transform: translateY(-50%) translateX(100vw);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10000;
  transition: transform 0.8s ease;
}

.benefits-panel__close.is-open {
  transform: translateY(-50%) translateX(0);
}

.benefits-panel__close-icon {
  width: 40px;
  height: 40px;
}

.benefits-panel__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 2000px;
  margin: auto;
  padding: 120px;
}

.benefits-panel__section {
  display: grid;
  grid-template-columns: 260px 1fr 1fr;
  gap: 0 60px;
  align-items: start;
  padding: 40px 0;
  border-bottom: 1px solid var(--purple);
}

.benefits-panel__section:first-child {
  padding-top: 0;
}

.benefits-panel__section--last {
  border-bottom: none;
}

.benefits-panel__heading {
  font-family: Romie, sans-serif;
  font-size: 2.2rem;
  font-weight: 400;
  color: var(--dark-blue);
  margin: 0;
  line-height: 1.2;
  font-feature-settings: "dlig", "ss05";
}

.benefits-panel__columns {
  display: contents;
}

.benefits-panel__list {
  margin: 0;
  padding-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--dark-blue);
}

@media screen and (max-width: 991px) {
  .benefits-panel__content {
    padding: 60px 40px 60px 80px;
  }

  .benefits-panel__close {
    left: 20px;
  }

  .benefits-panel__section {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .benefits-panel__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 40px;
  }

  .benefits-panel__heading {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 479px) {
  .benefits-panel__content {
    padding: 50px 24px 50px 60px;
  }

  .benefits-panel__close {
    left: 10px;
  }

  .benefits-panel__close-icon {
    width: 32px;
    height: 32px;
  }

  .benefits-panel__heading {
    font-size: 1.5rem;
  }

  .benefits-panel__columns {
    grid-template-columns: 1fr;
  }

  .benefits-panel__section {
    padding: 28px 0;
  }
}

@media screen and (max-width: 991px) {
  .plan-ahead-club-hero {
    grid-row-gap: 34px;
    padding-top: 44px;
    padding-bottom: 56px;
  }
  .plan-ahead-club-hero__title {
    font-size: 3.45rem;
  }
  .plan-ahead-club-hero__copy {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
  }
  .plan-ahead-club-hero__lead {
    max-width: 100%;
    font-size: 2.4rem;
    line-height: 2.65rem;
  }
  .plan-ahead-why {
    grid-row-gap: 44px;
    padding-top: 60px;
    padding-bottom: 70px;
  }
  .plan-ahead-why__title {
    font-size: 3.35rem;
  }
  .plan-ahead-why__grid {
    grid-template-columns: 1fr;
    grid-row-gap: 40px;
  }
  .plan-ahead-membership {
    grid-row-gap: 68px;
  }
  .plan-ahead-membership__row {
    grid-template-columns: 1fr;
    grid-row-gap: 36px;
  }
  .plan-ahead-membership__media {
    max-width: 420px;
  }
  .plan-ahead-membership__title,
  .plan-ahead-membership__headline {
    font-size: 3.25rem;
  }
  .plan-ahead-aligned {
    min-height: 640px;
  }
  .plan-ahead-aligned__overlay {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .plan-ahead-aligned__title {
    font-size: 3.8rem;
  }
  .plan-ahead-join {
    grid-row-gap: 36px;
    grid-template-columns: 1fr;
  }
  .plan-ahead-join__title {
    font-size: 3.25rem;
  }
  .plan-ahead-join__media {
    max-width: 560px;
    position: static;
  }
  .plan-ahead-join__image {
    height: auto;
    inset: auto;
    position: static;
  }
  .plan-ahead-group-cta__title {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 767px) {
  .plan-ahead-club-hero {
    grid-row-gap: 28px;
    padding-top: 32px;
    padding-bottom: 72px;
  }
  .plan-ahead-club-hero__title {
    font-size: 4.8rem;
  }
  .plan-ahead-club-hero__lead {
    font-size: 1.95rem;
    line-height: 2.2rem;
  }
  .plan-ahead-club-hero__images {
    grid-template-columns: 1fr;
  }
  .plan-ahead-club-hero__image {
    aspect-ratio: 16 / 10;
  }
  .plan-ahead-why {
    grid-row-gap: 34px;
    padding-top: 46px;
    padding-bottom: 56px;
  }
  .plan-ahead-why__title {
    font-size: 2.5rem;
  }
  .plan-ahead-why__number {
    font-size: 3.35rem;
  }
  .plan-ahead-why__heading {
    font-size: 1.8rem;
  }
  .plan-ahead-membership {
    grid-row-gap: 28px;
    padding-top: 86px;
    padding-bottom: 56px;
  }
  .plan-ahead-membership__title,
  .plan-ahead-membership__headline {
    font-size: 2.5rem;
  }
  .plan-ahead-aligned {
    min-height: 560px;
  }
  .plan-ahead-aligned__overlay {
    padding: 30px 24px;
  }
  .plan-ahead-aligned__title {
    max-width: 420px;
    font-size: 2.7rem;
    line-height: 1;
  }
  .plan-ahead-aligned__text {
    max-width: 420px;
  }
  .plan-ahead-join {
    grid-row-gap: 30px;
    padding-top: 58px;
    padding-bottom: 56px;
  }
  .plan-ahead-join__title {
    font-size: 2.55rem;
  }
  .plan-ahead-join__price {
    font-size: 3.45rem;
  }
  .plan-ahead-group-cta {
    min-height: 300px;
  }
  .plan-ahead-group-cta__overlay {
    width: calc(100% - 32px);
  }
  .plan-ahead-group-cta__title {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 479px) {
  .plan-ahead-club-hero__title {
    font-size: 4.8rem;
  }
  .plan-ahead-club-hero__lead {
    font-size: 1.7rem;
    line-height: 1.95rem;
  }
  .plan-ahead-why__title {
    font-size: 2.05rem;
  }
  .plan-ahead-membership__title,
  .plan-ahead-membership__headline {
    font-size: 2rem;
  }
  .plan-ahead-aligned {
    min-height: 500px;
  }
  .plan-ahead-aligned__title {
    font-size: 2.1rem;
  }
  .plan-ahead-join__title {
    font-size: 2.1rem;
  }
  .plan-ahead-group-cta__title {
    font-size: 1.9rem;
  }
}

/* Human Ashes Page */
.human-ashes-hero {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  padding: 108px var(--_dimensions---side-margins) 100px;
  background-color: var(--beige-100);
  grid-template-columns: minmax(0, 720px) minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.human-ashes-hero__copy {
  grid-column-gap: 38px;
  grid-row-gap: 38px;
  max-width: 720px;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}

.human-ashes-hero__title {
  letter-spacing: 0;
  font-size: 3.25rem;
  line-height: 3.6rem;
}

.human-ashes-hero__cta {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .16px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 10px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 22.4px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.human-ashes-hero__cta:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.human-ashes-hero__media {
  justify-self: end;
  width: min(100%, 500px);
}

.human-ashes-hero__image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  display: block;
}

.pet-ashes-hero {
  background-color: #c2d4ff;
}

.pet-ashes-hero .human-ashes-hero__media {
  width: min(100%, 560px);
}

.pet-ashes-hero__description {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  max-width: 500px;
  display: flex;
  flex-flow: column;
}

.pet-ashes-hero__description p {
  margin: 0;
}

.pet-ashes-hero__cta {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.pet-ashes-hero__cta:hover {
  background-color: var(--soft-white);
  color: var(--dark-blue);
}

.human-ashes-quick-nav.pet-ashes-quick-nav {
  background-color: #fff6ec;
}

.pet-ashes-quick-nav .human-ashes-quick-nav__arrow {
  background-color: #decab4;
  border-color: #decab4;
}

.pet-ashes-process-intro {
  padding-top: 56px;
  padding-bottom: 44px;
  background-color: #f3f3f1;
}

.pet-ashes-process-step {
  background-color: #f3f3f1;
  padding-top: 24px;
}

.human-ashes-benefits.pet-ashes-benefits {
  background-color: #decab4;
  padding-top: 72px;
}

.pet-ashes-benefits .human-ashes-benefits__title {
  color: var(--soft-white);
  font-size: 4.25rem;
}

.pet-ashes-benefits .human-ashes-benefits__label {
  color: var(--dark-blue);
}

.pet-ashes-benefits .human-ashes-benefits__hint {
  color: var(--dark-blue);
  opacity: .75;
}

.human-ashes-benefits.pet-ashes-benefits .pet-ashes-benefits__cta {
  background-color: #fff6ec;
  color: var(--dark-blue);
}

.pet-ashes-benefits__cta:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.pet-ashes-handling {
  background-color: #f3f3f1;
}

.pet-ashes-handling__list {
  margin: 0;
  padding-left: 18px;
}

.pet-ashes-handling__list li {
  margin-bottom: 4px;
}

.human-ashes-placements.pet-ashes-placements {
  background-color: #c2d4ff;
  color: var(--dark-blue);
  padding-top: 132px;
}

.pet-ashes-placements .human-ashes-placements__intro {
  color: var(--dark-blue);
  margin-bottom: 36px;
  max-width: 1120px;
}

.pet-ashes-placements .human-ashes-placements__table {
  border-top: 2px solid #fffcf9;
  border-bottom: 2px solid #fffcf9;
}

.pet-ashes-placements .human-ashes-placements__cell:first-child {
  border-right: 2px solid #fffcf9;
}

.pet-ashes-placements .human-ashes-placements__season,
.pet-ashes-placements .human-ashes-placements__months,
.pet-ashes-placements .human-ashes-placements__upcoming {
  border-bottom: 2px solid #fffcf9;
}

.pet-ashes-placements .pet-ashes-placements__button {
  background-color: #fffcf9;
  color: var(--dark-blue);
}

.pet-community-reef {
  grid-column-gap: 72px;
  grid-row-gap: 52px;
  padding: 118px var(--_dimensions---side-margins) 92px;
  background-color: #fff6ec;
  grid-template-columns: minmax(0, 1fr) minmax(0, 560px);
  align-items: stretch;
  display: grid;
}

.pet-community-reef__copy {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  max-width: 620px;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.pet-community-reef__title {
  letter-spacing: 0;
  font-size: 4rem;
  line-height: .95;
}

.pet-community-reef__text {
  margin: 0;
  max-width: 540px;
}

.pet-community-reef__list-wrap {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  display: flex;
  flex-flow: column;
}

.pet-community-reef__list {
  margin: 0;
  padding-left: 18px;
}

.pet-community-reef__pricing {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  display: flex;
  flex-flow: column;
}

.pet-community-reef__availability {
  margin: 0;
}

.pet-community-reef__price {
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 4rem;
  line-height: .9;
}

.pet-community-reef__actions {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  display: flex;
  align-items: center;
}

.pet-community-reef__button {
  background-color: var(--neon-green);
  color: var(--dark-blue);
  letter-spacing: .12px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 26px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.pet-community-reef__button:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.pet-community-reef__media {
  justify-self: end;
  position: relative;
  width: min(100%, 560px);
}

.pet-community-reef__image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.pet-individual-reef {
  grid-column-gap: 112px;
  grid-row-gap: 52px;
  padding: 96px var(--_dimensions---side-margins) 264px;
  background-color: #fffcf9;
  grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
  align-items: stretch;
  display: grid;
}


.pet-individual-reef__media {
  position: relative;
  width: min(100%, 560px);
}

.pet-individual-reef__image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.pet-individual-reef__copy {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  max-width: 620px;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.pet-individual-reef__title {
  letter-spacing: 0;
  font-size: 4rem;
  line-height: .95;
}

.pet-individual-reef__text {
  margin: 0;
}

.pet-individual-reef__list-wrap {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  display: flex;
  flex-flow: column;
}

.pet-individual-reef__list {
  margin: 0;
  padding-left: 18px;
}

.pet-individual-reef__pricing {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  display: flex;
  flex-flow: column;
}

.pet-individual-reef__availability {
  margin: 0;
}

.pet-individual-reef__price {
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 4rem;
  line-height: .9;
}

.pet-individual-reef__actions {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  align-items: center;
  display: flex;
}

.pet-individual-reef__button {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .12px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 26px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.pet-individual-reef__button:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

@media screen and (max-width: 991px) {
  .pet-community-reef,
  .pet-individual-reef {
    grid-template-columns: 1fr;
    grid-column-gap: 0;
    grid-row-gap: 30px;
    padding-left: 32px;
    padding-right: 32px;
  }

  .pet-community-reef {
    padding-top: 72px;
    padding-bottom: 64px;
  }

  .pet-individual-reef {
    padding-top: 72px;
    padding-bottom: 96px;
  }

  .pet-community-reef__copy,
  .pet-individual-reef__copy {
    max-width: none;
    width: 100%;
    gap: 18px;
  }

  .pet-community-reef__media,
  .pet-individual-reef__media {
    justify-self: stretch;
    width: 100%;
    max-width: 560px;
  }

  .pet-community-reef__title,
  .pet-individual-reef__title {
    font-size: 3rem;
    line-height: 1;
  }

  .pet-community-reef__actions,
  .pet-individual-reef__actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .pet-community-reef,
  .pet-individual-reef {
    grid-row-gap: 22px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .pet-community-reef {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .pet-individual-reef {
    padding-top: 56px;
    padding-bottom: 72px;
  }

  .pet-community-reef__title,
  .pet-individual-reef__title {
    font-size: 2.35rem;
    line-height: 1;
  }

  .pet-community-reef__text,
  .pet-individual-reef__text {
    line-height: 1.45;
  }

  .pet-community-reef__list-wrap,
  .pet-individual-reef__list-wrap {
    gap: 6px;
  }

  .pet-community-reef__list,
  .pet-individual-reef__list {
    padding-left: 20px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .pet-community-reef__price,
  .pet-individual-reef__price {
    font-size: 3rem;
  }

  .pet-community-reef__actions,
  .pet-individual-reef__actions {
    gap: 10px;
    flex-direction: column;
    align-items: stretch;
  }

  .pet-community-reef__button,
  .pet-individual-reef__button {
    width: 100%;
    text-align: center;
  }
}

.human-ashes-quick-nav {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  padding: 22px var(--_dimensions---side-margins) 28px;
  background-color: var(--beige-140);
  display: flex;
  flex-flow: column;
  align-items: center;
}

.human-ashes-quick-nav__caption {
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1.2;
}

.human-ashes-quick-nav__links {
  grid-column-gap: 28px;
  grid-row-gap: 18px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

.human-ashes-quick-nav__item {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  color: var(--dark-blue);
  letter-spacing: 0;
  align-items: center;
  font-family: Romie, sans-serif;
  font-size: 3.15rem;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.human-ashes-quick-nav__arrow {
  border: 1px solid #e4e6eb;
  background-color: var(--soft-white);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 30px;
  line-height: 1;
  display: inline-flex;
}

/* Offset anchor scroll targets so fixed navbar doesn't cover them */
#process,
#perks,
#benefits,
#location,
#pricing,
#community-reef,
#BALI,
#MEXICO {
  scroll-margin-top: 80px;
}
@media screen and (max-width: 767px) {
  #process,
  #perks,
  #benefits,
  #location,
  #pricing,
  #community-reef,
  #BALI,
  #MEXICO {
    scroll-margin-top: 60px;
  }
}

.human-ashes-process-intro {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  padding: 116px var(--_dimensions---side-margins) 54px;
  background-color: #fffcf9;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.human-ashes-process-intro__title {
  text-align: center;
  font-size: 4.2rem;
  line-height: 1;
}

.human-ashes-process-intro__text {
  text-align: center;
  max-width: 620px;
}

.human-ashes-process-step {
  grid-column-gap: 76px;
  grid-row-gap: 48px;
  padding: 62px var(--_dimensions---side-margins) 80px;
  background-color: #fffcf9;
  grid-template-columns: minmax(0, 1fr) minmax(0, 720px);
  align-items: center;
  display: grid;
}

.human-ashes-process-step__copy {
  flex-flow: column;
  align-items: flex-start;
  display: flex;
  gap: 48px;
  min-height: 420px;
}

.human-ashes-process-step__count {
  grid-column-gap: 19px;
  grid-row-gap: 19px;
  align-items: center;
  display: flex;
}

.human-ashes-process-step__count-current {
  color: var(--green-180);
  font-family: Romie, sans-serif;
  font-size: 6rem;
  line-height: 1;
}

.human-ashes-process-step__count-divider {
  color: var(--beige-140);
  font-family: Romie, sans-serif;
  font-size: 5.5rem;
  line-height: .9;
}

.human-ashes-process-step__count-total {
  color: var(--beige-140);
  font-family: Romie, sans-serif;
  font-size: 5.6rem;
  line-height: 1;
}

.human-ashes-process-step__content {
  max-width: 600px;
  flex: 1;
}

.human-ashes-process-step__title {
  margin-bottom: 8px;
  font-size: 2.2rem;
  line-height: 1.05;
}

.human-ashes-process-step__text {
  font-size: 1rem;
  line-height: 1.45rem;
}

.human-ashes-process-step__controls {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  display: flex;
}

.human-ashes-process-step__control {
  border: 0;
  background-color: #879ea0;
  color: var(--soft-white);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  cursor: pointer;
  transition: background-color 0.2s;
}

.human-ashes-process-step__control.is-disabled {
  background-color: #e8e9e9;
  color: #f7f8f8;
  cursor: default;
}

.human-ashes-process-step__media {
  justify-self: end;
  width: min(100%, 720px);
}

.human-ashes-process-step__image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.human-ashes-benefits {
  grid-column-gap: 56px;
  grid-row-gap: 56px;
  padding: 84px var(--_dimensions---side-margins) 72px;
  background-color: var(--dark-blue);
  flex-flow: column;
  align-items: center;
  display: flex;
}

.human-ashes-benefits__title {
  color: var(--soft-white);
  text-align: center;
  text-transform: uppercase;
  font-size: 4.8rem;
  line-height: .95;
}

.human-ashes-benefits__hint {
  color: var(--soft-white);
  text-align: center;
  opacity: .8;
  margin-top: -28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
}

.human-ashes-benefits__grid {
  grid-column-gap: 48px;
  width: 100%;
  max-width: none;
  margin-right: calc(-1 * var(--_dimensions---side-margins));
  padding-right: var(--_dimensions---side-margins);
  overflow-x: auto;
  overflow-y: hidden;
  align-items: flex-start;
  display: flex;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.human-ashes-benefits__card {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex: none;
  width: min(320px, 100%);
  flex-flow: column;
  align-items: center;
  display: flex;
}

.human-ashes-benefits__grid::-webkit-scrollbar {
  display: none;
}

.human-ashes-benefits__image {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  max-width: 320px;
  display: block;
}

.human-ashes-benefits__label {
  color: var(--soft-white);
  text-align: center;
  max-width: 320px;
  font-size: 3rem;
  line-height: 1.05;
}

.human-ashes-benefits__cta {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .12px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 26px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.human-ashes-benefits__cta:hover {
  background-color: var(--soft-white);
  color: var(--dark-blue);
}

.human-ashes-locations {
  grid-column-gap: 52px;
  grid-row-gap: 52px;
  padding: 156px var(--_dimensions---side-margins) 64px;
  background-color: #fffcf9;
  flex-flow: column;
  align-items: stretch;
  display: flex;
}

.human-ashes-locations__top {
  grid-column-gap: 80px;
  grid-row-gap: 40px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.human-ashes-locations__heading {
  text-transform: uppercase;
  font-size: 5rem;
  line-height: .92;
}

.human-ashes-locations__copy {
  grid-column-gap: 34px;
  grid-row-gap: 34px;
  max-width: 720px;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.human-ashes-locations__places {
  font-size: 3.2rem;
  line-height: 1.06;
}

.human-ashes-locations__text {
  max-width: 490px;
}

.human-ashes-locations__image-wrap {
  width: 100%;
  position: relative;
}

.human-ashes-locations__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.2s;
  opacity: 0.9;
}

.human-ashes-locations__arrow img {
  width: 32px;
  height: 32px;
  display: block;
}

.human-ashes-locations__arrow:hover {
  opacity: 1;
}

.human-ashes-locations__arrow--prev {
  left: 20px;
}

.human-ashes-locations__arrow--next {
  right: 20px;
}

.human-ashes-locations__arrow.is-disabled {
  opacity: 0.3;
  cursor: default;
}

.human-ashes-locations__image {
  object-fit: cover;
  width: 100%;
  max-height: 440px;
  display: block;
}

/* Generic slideshow component */
.slideshow {
  position: relative;
  overflow: hidden;
}

.slideshow__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.slideshow__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.2s;
  opacity: 0.9;
}

.slideshow__arrow img {
  width: 32px;
  height: 32px;
  display: block;
}

.slideshow__arrow:hover {
  opacity: 1;
}

.slideshow__arrow--prev {
  left: 20px;
}

.slideshow__arrow--next {
  right: 20px;
}

.slideshow__arrow.is-disabled {
  opacity: 0.3;
  cursor: default;
}

.human-ashes-locations__dots {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  justify-content: center;
  align-items: center;
  align-self: center;
  width: 100%;
  display: flex;
}

.human-ashes-locations__dot {
  background-color: #d7d8d9;
  border: 0;
  border-radius: 999px;
  width: 10px;
  height: 10px;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.2s;
}

.human-ashes-locations__dot.is-active {
  background-color: var(--dark-blue);
}

.human-ashes-handling {
  grid-column-gap: 84px;
  grid-row-gap: 44px;
  padding: 66px var(--_dimensions---side-margins) 78px;
  background-color: var(--beige-100);
  grid-template-columns: minmax(0, 750px) minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.human-ashes-handling__media {
  width: 100%;
}

.human-ashes-handling__image {
  object-fit: cover;
  width: 100%;
  display: block;
}

.human-ashes-handling__content {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  max-width: 620px;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.human-ashes-handling__title {
  text-transform: uppercase;
  font-size: 5rem;
  line-height: .92;
}

.human-ashes-handling__text {
  max-width: 590px;
}

.human-ashes-placements {
  grid-column-gap: 72px;
  grid-row-gap: 72px;
  padding: 140px var(--_dimensions---side-margins) 74px;
  background-color: var(--beige-140);
  flex-flow: column;
  align-items: stretch;
  display: flex;
}

.human-ashes-placements__intro {
  max-width: none;
  color: #fffcf9;
  margin-bottom: 72px;
  font-family: Romie, sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.05;
}

.human-ashes-placements__table {
  border-top: 1px solid #ef9b8f;
  border-bottom: 1px solid #ef9b8f;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.human-ashes-placements__cell {
  display: grid;
  grid-template-rows: auto auto auto auto;
}

.human-ashes-placements__cell:first-child {
  border-right: 1px solid #ef9b8f;
}

.human-ashes-placements__season {
  padding: 10px 12px 8px;
  text-transform: uppercase;
  border-bottom: 1px solid #ef9b8f;
  font-size: 3.2rem;
  line-height: .95;
}

.human-ashes-placements__months, .human-ashes-placements__upcoming {
  text-transform: uppercase;
  border-bottom: 1px solid #ef9b8f;
  padding: 8px 12px 7px;
  font-size: .95rem;
  line-height: 1;
}

.human-ashes-placements__locations {
  grid-column-gap: 52px;
  grid-row-gap: 24px;
  padding: 12px;
  display: flex;
}

.human-ashes-placements__locations h4 {
  margin-bottom: 7px;
  font-size: 3rem;
  line-height: .95;
}

.human-ashes-placements__locations p {
  text-transform: uppercase;
  font-size: .95rem;
  line-height: 1;
}

.human-ashes-placements__cta {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  align-items: center;
  display: flex;
}

.human-ashes-placements__cta-title {
  text-align: center;
  font-size: 3.9rem;
  line-height: 1;
}

.human-ashes-placements__note {
  text-align: center;
  max-width: 760px;
  font-size: 1rem;
}

.human-ashes-placements__button {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .12px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 26px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.human-ashes-placements__button:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.human-ashes-designs {
  grid-column-gap: 62px;
  grid-row-gap: 62px;
  padding: 168px var(--_dimensions---side-margins) 86px;
  background-color: #fffcf9;
  flex-flow: column;
  align-items: center;
  display: flex;
}

.human-ashes-designs__heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 62px;
  max-width: 920px;
  font-size: 4.4rem;
  line-height: 1.05;
}

.human-ashes-designs__phrase {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  white-space: nowrap;
}

.human-ashes-designs__grid {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  display: grid;
}

.human-ashes-designs__media {
  background-color: #eceae6;
}

.human-ashes-designs__image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.human-ashes-designs__content {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
  display: flex;
}

.human-ashes-designs__line {
  background-color: #d8dbe6;
  width: 100%;
  height: 1px;
}

.human-ashes-designs__name {
  text-transform: uppercase;
  font-size: 3.8rem;
  line-height: .95;
}

.human-ashes-designs__body {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  margin-top: auto;
  margin-bottom: auto;
  transform: translateY(14px);
  flex-flow: column;
  display: flex;
}

.human-ashes-designs__name--bottom {
  margin-top: auto;
  text-align: right;
}

.human-ashes-designs__text {
  text-align: center;
  font-size: 1rem;
  line-height: 1.45rem;
}

.human-ashes-dedicate {
  grid-column-gap: 88px;
  grid-row-gap: 48px;
  padding: 74px var(--_dimensions---side-margins) 72px;
  background-color: var(--beige-100);
  grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.human-ashes-dedicate__image {
  object-fit: cover;
  width: 100%;
  display: block;
}

.human-ashes-dedicate__content {
  grid-column-gap: 26px;
  grid-row-gap: 26px;
  max-width: 620px;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.human-ashes-dedicate__title {
  font-size: 4.5rem;
  line-height: .98;
}

.human-ashes-dedicate__price {
  font-family: Romie, sans-serif;
  font-size: 4rem;
  line-height: 1;
}

.human-ashes-dedicate__actions {
  grid-column-gap: 20px;
  grid-row-gap: 16px;
  display: flex;
  flex-wrap: wrap;
}

.human-ashes-dedicate__button {
  background-color: var(--purple);
  color: var(--dark-blue);
  letter-spacing: .12px;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 26px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}

.human-ashes-dedicate__button:hover {
  background-color: var(--dark-blue);
  color: var(--soft-white);
}

.human-ashes-experiential {
  position: relative;
  margin-bottom: 160px;
}

.human-ashes-experiential__bg {
  object-fit: cover;
  width: 100%;
  min-height: 249px;
  display: block;
}

.human-ashes-experiential__overlay {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  background-image: linear-gradient(#0a1b2a66, #0a1b2a66);
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 44px 24px;
  display: flex;
  position: absolute;
  inset: 0;
}

.human-ashes-experiential__eyebrow {
  color: var(--soft-white);
  opacity: .95;
  font-size: .95rem;
}

.human-ashes-experiential__title {
  color: var(--soft-white);
  text-align: center;
  font-size: 3.4rem;
  line-height: 1;
}

.human-ashes-experiential__button {
  background-color: #c6ffff;
  color: var(--dark-blue);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 11px 32px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

@media screen and (max-width: 991px) {
  .human-ashes-hero,
  .human-ashes-process-step,
  .human-ashes-locations__top,
  .human-ashes-handling,
  .human-ashes-dedicate {
    grid-template-columns: 1fr;
    grid-column-gap: 36px;
    grid-row-gap: 36px;
  }

  .human-ashes-hero,
  .human-ashes-process-intro,
  .human-ashes-process-step,
  .human-ashes-benefits,
  .human-ashes-locations,
  .human-ashes-handling,
  .human-ashes-placements,
  .human-ashes-designs,
  .human-ashes-dedicate {
    padding-left: 32px;
    padding-right: 32px;
  }

  .human-ashes-hero__copy,
  .human-ashes-locations__copy,
  .human-ashes-handling__content,
  .human-ashes-dedicate__content {
    max-width: none;
    width: 100%;
  }

  .human-ashes-hero__media,
  .human-ashes-process-step__media {
    justify-self: stretch;
    width: 100%;
  }

  .human-ashes-quick-nav__links {
    flex-wrap: wrap;
    justify-content: center;
  }

  .human-ashes-quick-nav__item {
    font-size: 2.4rem;
  }

  /* Pets placements mobile: keep divider white and remove right vertical split */
  .pet-ashes-placements .human-ashes-placements__cell:first-child {
    border-right: 0;
    border-bottom: 2px solid #fffcf9;
  }

  .human-ashes-benefits__title,
  .human-ashes-locations__heading,
  .human-ashes-handling__title,
  .human-ashes-placements__intro,
  .human-ashes-designs__heading,
  .human-ashes-dedicate__title {
    font-size: 3.2rem;
    line-height: 1;
  }

  .human-ashes-benefits__hint {
    margin-top: -18px;
  }

  .human-ashes-designs__grid {
    grid-template-columns: 1fr;
  }

  .human-ashes-benefits__image {
    max-width: 420px;
  }

  .human-ashes-benefits__card {
    width: min(420px, 100%);
  }

  .human-ashes-benefits__grid {
    margin-right: -32px;
    padding-right: 32px;
  }

  .human-ashes-placements__table {
    grid-template-columns: 1fr;
  }

  .human-ashes-placements__cell:first-child {
    border-right: 0;
    border-bottom: 1px solid #ef9b8f;
  }

  .human-ashes-placements__locations {
    flex-wrap: wrap;
    grid-column-gap: 28px;
    grid-row-gap: 16px;
  }

  .human-ashes-designs__body {
    transform: none;
  }
}

@media screen and (max-width: 767px) {
  .team-swipe-hint {
    display: inline;
  }

  .human-ashes-hero,
  .human-ashes-process-intro,
  .human-ashes-process-step,
  .human-ashes-benefits,
  .human-ashes-locations,
  .human-ashes-handling,
  .human-ashes-placements,
  .human-ashes-designs,
  .human-ashes-dedicate {
    padding-left: 20px;
    padding-right: 20px;
  }

  .human-ashes-hero {
    padding-top: 56px;
    padding-bottom: 56px;
    grid-row-gap: 24px;
  }

  .pet-ashes-hero {
    padding-top: 152px;
  }

  .human-ashes-hero__title {
    font-size: 2.5rem;
    line-height: 1;
  }

  .human-ashes-quick-nav {
    padding-left: 20px;
    padding-right: 20px;
  }

  .human-ashes-quick-nav__links {
    flex-direction: column;
    align-items: stretch;
  }

  .human-ashes-quick-nav__item {
    justify-content: space-between;
    width: 100%;
    font-size: 2rem;
  }

  .human-ashes-process-intro {
    padding-top: 68px;
    padding-bottom: 34px;
  }

  .human-ashes-process-intro__title,
  .human-ashes-benefits__title,
  .human-ashes-locations__heading,
  .human-ashes-handling__title,
  .human-ashes-placements__intro,
  .human-ashes-designs__heading,
  .human-ashes-dedicate__title,
  .human-ashes-experiential__title {
    font-size: 2.35rem;
    line-height: 1;
  }

  .human-ashes-process-step {
    padding-top: 36px;
    padding-bottom: 48px;
    grid-row-gap: 24px;
  }

  .human-ashes-process-step__copy {
    gap: 26px;
    min-height: 0;
  }

  .human-ashes-process-step__count-current {
    font-size: 4.8rem;
  }

  .human-ashes-process-step__count-divider,
  .human-ashes-process-step__count-total {
    font-size: 4.1rem;
  }

  .human-ashes-benefits {
    grid-row-gap: 36px;
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .human-ashes-benefits__label {
    font-size: 2.2rem;
  }

  .human-ashes-benefits__grid {
    margin-right: -20px;
    padding-right: 20px;
  }

  .human-ashes-benefits__hint {
    margin-top: -10px;
    font-size: 1.2rem;
  }

  .human-ashes-locations {
    padding-top: 72px;
    padding-bottom: 56px;
    grid-row-gap: 28px;
  }

  .human-ashes-locations__places {
    font-size: 2.3rem;
    line-height: 1.1;
  }

  .human-ashes-locations__text,
  .human-ashes-handling__text,
  .human-ashes-dedicate__text {
    max-width: none;
  }

  .human-ashes-locations__image-wrap {
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .human-ashes-locations__image {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
  }

  .human-ashes-locations__arrow img,
  .slideshow__arrow img {
    width: 24px;
    height: 24px;
  }

  .human-ashes-locations__arrow--prev,
  .slideshow__arrow--prev {
    left: 10px;
  }

  .human-ashes-locations__arrow--next,
  .slideshow__arrow--next {
    right: 10px;
  }

  .human-ashes-handling {
    padding-top: 56px;
    padding-bottom: 56px;
    grid-row-gap: 24px;
  }

  .human-ashes-placements {
    grid-row-gap: 40px;
    padding-top: 64px;
    padding-bottom: 56px;
  }

  .human-ashes-placements__intro {
    margin-bottom: 24px;
  }

  .human-ashes-placements__season {
    font-size: 2.2rem;
  }

  .human-ashes-placements__locations h4 {
    font-size: 2rem;
  }

  .human-ashes-placements__cta-title {
    font-size: 2.4rem;
  }

  .human-ashes-placements__cta {
    margin-top: 16px;
  }

  .human-ashes-designs {
    grid-row-gap: 40px;
    padding-top: 72px;
    padding-bottom: 56px;
  }

  .human-ashes-designs__heading {
    margin-bottom: 0;
  }

  .human-ashes-designs__phrase {
    width: auto;
    white-space: normal;
  }

  .human-ashes-designs__name {
    font-size: 2.6rem;
  }

  .human-ashes-dedicate {
    padding-top: 56px;
    padding-bottom: 56px;
    grid-row-gap: 24px;
  }

  .human-ashes-dedicate__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .human-ashes-dedicate__button,
  .human-ashes-placements__button,
  .human-ashes-benefits__cta,
  .human-ashes-hero__cta {
    width: 100%;
    text-align: center;
  }

  .human-ashes-experiential {
    margin-bottom: 96px;
  }
}

.pet-plan-ahead-hero {
  grid-row-gap: 56px;
  background-color: var(--beige-100);
  padding: 56px var(--_dimensions---side-margins) 72px;
  display: grid;
}

.pet-plan-ahead-hero__copy {
  grid-column-gap: 56px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.pet-plan-ahead-hero__title-group {
  grid-row-gap: 12px;
  display: grid;
}

.pet-plan-ahead-hero__coming-soon {
  color: var(--coral);
  text-transform: uppercase;
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 4.8rem;
  line-height: .95;
}

.pet-plan-ahead-hero__title {
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 2.25rem;
  line-height: 2.75rem;
}

.pet-plan-ahead-hero__text {
  max-width: 650px;
  margin: 0;
}

.pet-plan-ahead-hero__images {
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.pet-plan-ahead-hero__image {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  display: block;
}

.pet-plan-ahead-interest {
  background-color: var(--beige-100);
  padding: 0 var(--_dimensions---side-margins) 48px;
}

.pet-plan-ahead-interest__card {
  top: 0;
  width: 100%;
  padding: 30px 38px;
}

.pet-plan-ahead-interest__card::before {
  content: "";
  background: #0c202659;
  inset: 0;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.pet-plan-ahead-interest__card > * {
  position: relative;
  z-index: 2;
}

.pet-plan-ahead-interest__title {
  color: var(--soft-white);
  text-transform: uppercase;
  margin: 0;
}

.pet-plan-ahead-interest__form-wrap {
  width: 100%;
  max-width: 100%;
}

.pet-plan-ahead-interest .text-white {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
}

.pet-plan-ahead-interest .form-white-border,
.pet-plan-ahead-interest .form {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .pet-plan-ahead-interest {
    background-image: none;
  }

  .pet-plan-ahead-interest__card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 32px;
    background-image: url('../images/pet-plan-ahead-interest-bg.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .pet-plan-ahead-interest__title {
    flex: 0 0 auto;
  }

  .pet-plan-ahead-interest__form-wrap {
    flex: 1 1 auto;
    max-width: 560px;
  }

  .pet-plan-ahead-interest .text-white {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }

  .pet-plan-ahead-interest__card > .img-100vh-abs {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .pet-plan-ahead-hero {
    grid-row-gap: 36px;
    padding-top: 44px;
    padding-bottom: 56px;
  }

  .pet-plan-ahead-hero__copy {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
  }

  .pet-plan-ahead-interest__card {
    padding: 26px;
  }

  .pet-plan-ahead-interest__title {
    font-size: clamp(3rem, 9vw, 4.5rem);
  }

}

@media screen and (max-width: 767px) {
  .pet-plan-ahead-hero {
    grid-row-gap: 24px;
    padding-top: 32px;
    padding-bottom: 42px;
  }

  .pet-plan-ahead-hero__images {
    grid-template-columns: 1fr;
  }

  .pet-plan-ahead-interest {
    padding-bottom: 34px;
  }

  .pet-plan-ahead-interest__card {
    grid-row-gap: 18px;
    flex-direction: column;
    align-items: stretch;
    padding: 24px 16px;
    border-radius: 20px;
    background-image: url('../images/pet-plan-ahead-interest-bg.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .pet-plan-ahead-interest__card > .img-100vh-abs {
    display: none;
  }

  .pet-plan-ahead-interest__form-wrap {
    width: 100%;
  }

  .pet-plan-ahead-interest .text-white {
    text-align: center;
  }

  .pet-plan-ahead-interest .form {
    grid-column-gap: 8px;
    flex-direction: row;
    align-items: center;
  }

  .pet-plan-ahead-interest .form-field-invisible {
    flex: 1;
    min-width: 0;
  }

  .pet-plan-ahead-interest .button-neon.teal.w-button {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* Join newsletter chip — teal button (injected footer pill only) */
.sec-footer #form-join-the-journey .button-neon.teal.w-button {
  background-color: var(--teal);
  color: var(--dark-blue);
}

.sec-footer #form-join-the-journey .button-neon.teal.w-button:hover {
  background-color: var(--soft-white);
}

@media screen and (max-width: 767px) {
  .sec-footer #form-join-the-journey .form {
    flex-direction: row;
  }

  .sec-footer #form-join-the-journey .button-neon.teal.w-button {
    min-width: 150px;
  }
}

.pet-plan-ahead-meantime {
  grid-column-gap: 84px;
  grid-row-gap: 36px;
  background-color: var(--beige-100);
  grid-template-columns: minmax(0, 500px) minmax(0, 1fr);
  align-items: center;
  padding: 26px var(--_dimensions---side-margins) 254px;
  display: grid;
}

.pet-plan-ahead-meantime__image {
  aspect-ratio: 4 / 4.8;
  object-fit: cover;
  width: 100%;
  display: block;
}

.pet-plan-ahead-meantime__content {
  grid-row-gap: 20px;
  max-width: 690px;
  display: grid;
}

.pet-plan-ahead-meantime__title {
  margin: 0;
  font-size: 4rem;
  line-height: .95;
}

.pet-plan-ahead-meantime__intro {
  max-width: 620px;
  margin: 0;
}

.pet-plan-ahead-meantime__benefits {
  grid-row-gap: 12px;
  margin: 0;
  padding-left: 22px;
  display: grid;
}

.pet-plan-ahead-meantime__benefit {
  max-width: 620px;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

.pet-plan-ahead-meantime__button {
  background-color: #c2d8ff;
  color: var(--dark-blue);
  text-align: center;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  min-width: 300px;
  padding: 12px 26px;
  font-size: 1.05rem;
  line-height: 1.2;
  text-decoration: none;
  display: inline-flex;
}

.pet-plan-ahead-meantime__button:hover {
  background-color: #aecbff;
}

@media screen and (max-width: 991px) {
  .pet-plan-ahead-meantime {
    grid-template-columns: 1fr;
    grid-row-gap: 28px;
    padding-top: 8px;
    padding-bottom: 64px;
  }

  .pet-plan-ahead-meantime__image {
    max-width: 520px;
  }

  .pet-plan-ahead-meantime__title {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 767px) {
  .pet-plan-ahead-meantime {
    padding-top: 2px;
    padding-bottom: 48px;
  }

  .pet-plan-ahead-meantime__title {
    font-size: 2.6rem;
  }

  .pet-plan-ahead-meantime__button {
    width: 100%;
    min-width: 0;
  }
}

/* arrange-memorial-with-ashes.html — shared enquiry (people + pets) */
.memorial-arrange-page,
.memorial-arrange-page main,
.memorial-arrange-page .site-navbar {
  background-color: #fffcf9;
}

.memorial-arrange {
  padding: clamp(56px, 8vw, 96px) var(--_dimensions---side-margins) 232px;
  max-width: 1400px;
  margin: 0 auto;
}

.memorial-arrange__layout {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(520px, 1.35fr);
  gap: clamp(36px, 5vw, 92px);
  align-items: stretch;
}

.memorial-arrange__left {
  padding-top: 8px;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.memorial-arrange__title {
  margin: 0 0 20px;
  font-family: Romie, sans-serif;
  color: var(--dark-blue);
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  line-height: .98;
  font-weight: 400;
}

.memorial-arrange__lead {
  max-width: 470px;
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1rem;
  line-height: 20px;
  margin: 0 0 26px;
}

.memorial-arrange__audience {
  margin: 0 0 30px;
  font-weight: 400;
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
}

.memorial-arrange__future {
  margin: auto 0 20px;
  color: var(--dark-blue);
  font-family: Romie, sans-serif;
  font-size: clamp(1.35rem, 1.6vw, 1.7rem);
  line-height: 1.12;
}

.memorial-arrange__plan-cta {
  border: 0;
  border-radius: 999px;
  background-color: var(--teal);
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.1rem;
  line-height: 1.2;
  padding: 14px 26px;
  width: fit-content;
  max-width: none;
  justify-content: flex-start;
  text-align: left;
  white-space: nowrap;
}

.memorial-arrange__plan-cta:hover {
  background-color: #96f2e6;
}

.memorial-arrange__back {
  margin: 36px 0 0;
}

.memorial-arrange__form-block {
  display: block;
  max-width: 100%;
}

.memorial-arrange__form-block .w-form-done,
.memorial-arrange__form-block .w-form-fail {
  display: none;
}

.memorial-arrange-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.memorial-arrange-form__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.memorial-arrange-form__row--two {
  grid-template-columns: 1fr 1fr;
}

.memorial-arrange-form__field {
  border-color: #decab4;
  border-radius: 10px;
  min-height: 54px;
  padding: 12px 14px;
  color: var(--dark-blue);
  font-size: 1rem;
}

.memorial-arrange-form__field::placeholder {
  color: #5a6470;
}

.memorial-arrange-form select.memorial-arrange-form__field {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 1.5L7 8.5L13 1.5' stroke='%230c2026' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 10px;
}

.memorial-arrange-form__textarea {
  min-height: 130px;
  resize: vertical;
}

.memorial-arrange-form__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
}

.memorial-arrange-form__terms {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--dark-blue);
  font-size: .95rem;
  line-height: 1.2;
  font-family: Oceanic Grotesk, sans-serif;
}

.memorial-arrange-form__terms input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.memorial-arrange-form__submit {
  border: 0;
  border-radius: 999px;
  background-color: #c7d8ff;
  color: var(--dark-blue);
  min-width: 190px;
  padding: 12px 24px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  cursor: pointer;
}

.memorial-arrange-form__submit:hover {
  background-color: #b5cbff;
}

@media screen and (max-width: 1230px) {
  .memorial-arrange {
    padding-left: clamp(24px, 5vw, 64px);
    padding-right: clamp(24px, 5vw, 64px);
  }

  .memorial-arrange__layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .memorial-arrange__future {
    margin-top: 32px;
  }
}

@media screen and (max-width: 767px) {
  .memorial-arrange {
    padding-top: 36px;
    padding-bottom: 48px;
  }

  .memorial-arrange__title {
    font-size: clamp(2.2rem, 9vw, 3.2rem);
  }

  .memorial-arrange__lead {
    font-size: 1rem;
    line-height: 20px;
  }

  .memorial-arrange__future {
    margin-top: 32px;
    font-size: 1.25rem;
  }

  .memorial-arrange__plan-cta {
    width: 100%;
    min-width: 0;
  }

  .memorial-arrange-form__row--two {
    grid-template-columns: 1fr;
  }

  .memorial-arrange-form__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .memorial-arrange-form__submit {
    width: 100%;
  }
}

/* Experiential Reef — hero (reference landing art + homepage-style overlay nav) */
.experiential-reef-hero {
  /* Override the .sec-100vh default — full viewport feels too long for this page */
  height: 75vh;
  min-height: 480px;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: clamp(100px, 14vh, 160px);
}

.experiential-reef-hero__inner {
  position: relative;
  z-index: 1;
  max-width: none;
  grid-column-gap: 0;
  grid-row-gap: 0;
}

.experiential-reef-hero__title {
  margin: 0;
  max-width: 14ch;
  font-family: Romie, serif;
  font-size: clamp(2.75rem, 5.5vw, 5.25rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
}

.experiential-reef-hero__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.experiential-reef-hero-mobile {
  position: relative;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 78vh;
  padding: 96px var(--_dimensions---side-margins) 32px;
  overflow: hidden;
}

.experiential-reef-hero-mobile__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.experiential-reef-hero-mobile__title {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 14ch;
  font-family: Romie, serif;
  font-size: clamp(2.25rem, 9vw, 3.5rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .experiential-reef-hero-mobile {
    padding-top: 88px;
    min-height: 72vh;
  }
}

/* Experiential Reef — testimonial strip */
.experiential-reef-testimonial {
  background-color: var(--soft-white);
}

/* Stack the 2-column testimonial layout on mobile so columns aren't too narrow */
@media screen and (max-width: 991px) {
  .experiential-reef-testimonial.sec-x2 {
    flex-direction: column;
    min-height: 0;
  }
  .experiential-reef-testimonial .sec-margins-60pxgap {
    padding-bottom: 64px;
  }
  .experiential-reef-testimonial.sec-x2 > .div-50 {
    width: 100%;
  }
  .experiential-reef-testimonial.sec-x2 > .div-50 picture {
    display: block;
  }
  .experiential-reef-testimonial.sec-x2 > .div-50 img {
    display: block;
    width: 100%;
    height: auto;
  }
}

/* OUR SERVICE INCLUDES — image-then-text for every pair on mobile.
   Two of the four pairs (Memorial Reef, Memorial Ceremony) have the
   text BEFORE the image in DOM order, which is correct for the
   desktop alternating grid but flips to text-image on the collapsed
   mobile column. Re-order with explicit `order` values on every
   relevant child so the swapped pairs land in the right slot. */
@media screen and (max-width: 991px) {
  /* Heading + intro spacer */
  #w-node-_0dd279d1-0844-a3f6-4728-a9f054c689f1-82da0aa2 { order: 1; }
  #w-node-_7459ce78-7c6e-c145-4f7b-67b414f63217-82da0aa2 {
    order: 2;
    height: 56px;
  }
  /* Pair 1 — image (Gallery-2) above Memorial Reef text */
  #w-node-_4354b269-0db3-70cf-14be-8d7fcd467fc3-82da0aa2 { order: 3; }
  #w-node-_9f087ac1-bd4c-d699-d964-48e1652eb707-82da0aa2 { order: 4; }
  /* Spacer + Pair 2 — Scuba already image-then-text in source */
  #w-node-e555d77b-c904-d783-d69e-413ca7661e1c-82da0aa2 {
    order: 5;
    height: 48px;
  }
  #w-node-_4de49479-a6b2-e0fb-fd43-690583acd3f6-82da0aa2 { order: 6; }
  #w-node-_7459ce78-7c6e-c145-4f7b-67b414f6321a-82da0aa2 { order: 7; }
  /* Spacer + Pair 3 — image (Memorial-Ceremony) above Memorial Ceremony text */
  #w-node-_7459ce78-7c6e-c145-4f7b-67b414f63222-82da0aa2 {
    order: 8;
    height: 48px;
  }
  #w-node-ad0d7524-61dc-5daa-9339-7ecc7770ce6f-82da0aa2 { order: 9; }
  #w-node-_53c26d07-412f-b4e2-fd06-a9ed9e4e526f-82da0aa2 { order: 10; }
  /* Spacer + Pair 4 — Wellness already image-then-text in source */
  #w-node-_827cd7fb-83ae-bfdc-1aa6-9961d934aa5a-82da0aa2 {
    order: 11;
    height: 48px;
  }
  #w-node-_2c4a3f5b-d563-5fcc-890a-e8f0152311f0-82da0aa2 { order: 12; }
  #w-node-ceb9667c-6903-8b75-6905-9fa79f704abb-82da0aa2 {
    order: 13;
    margin-bottom: 24px;
  }
}

/* Experiential Reef — OUR SERVICE INCLUDES (alternating 2-col pairs) */
.experiential-services__wrap {
  display: flex;
  flex-direction: column;
  gap: 72px;
  padding: 100px var(--_dimensions---side-margins);
}

.experiential-services__title {
  margin: 0;
  text-align: center;
}

.experiential-services__pair {
  align-items: center;
  display: grid;
  gap: 60px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.experiential-services__copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.experiential-services__copy h2,
.experiential-services__copy p {
  margin: 0;
}

.experiential-services__media {
  display: block;
  width: 100%;
}

.experiential-services__media img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

@media screen and (max-width: 991px) {
  .experiential-services__wrap {
    gap: 56px;
    padding: 80px var(--_dimensions---side-margins);
  }
  .experiential-services__pair,
  .experiential-services__pair--reverse {
    gap: 24px;
    grid-template-columns: 1fr;
  }
  .experiential-services__pair .experiential-services__media { order: 1; }
  .experiential-services__pair .experiential-services__copy { order: 2; }
}

@media screen and (max-width: 767px) {
  .experiential-services__wrap {
    padding: 56px var(--_dimensions---side-margins);
  }
}

/* Experiential Reef — intro block (two-column reference) */
.experiential-reef-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-column-gap: clamp(48px, 7vw, 120px);
  grid-row-gap: 48px;
  align-items: center;
  width: 100%;
}

.experiential-reef-intro__copy {
  justify-content: center;
}

.experiential-reef-intro__headline {
  margin: 0;
  font-family: Romie, serif;
  font-size: clamp(2rem, 3.25vw, 3.25rem);
  font-weight: 400;
  line-height: 1.12;
  color: var(--dark-blue);
}

.experiential-reef-intro__lede {
  margin: 0;
  max-width: 42rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.55;
  color: var(--dark-blue);
}

.experiential-reef-intro__lede--second {
  margin-top: 1.35rem;
}

.experiential-reef-intro__media {
  aspect-ratio: 1;
  width: 100%;
  max-width: min(100%, 540px);
  justify-self: end;
  overflow: hidden;
  background-color: var(--beige-140);
}

.experiential-reef-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media screen and (max-width: 991px) {
  .experiential-reef-intro__grid {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .experiential-reef-intro__headline {
    margin-top: 1rem;
  }

  .experiential-reef-intro__media {
    max-width: 100%;
    justify-self: stretch;
    order: 2;
  }

  .experiential-reef-intro__copy {
    order: 1;
  }
}

/* Shopify Storefront cart drawer (Plan Ahead membership) */
.plan-ahead-join__actions button.plan-ahead-join__button {
  font: inherit;
  cursor: pointer;
  border: 0;
  text-align: center;
}

.rr-sf-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 10040;
  background-color: rgba(12, 32, 38, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.rr-sf-cart-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.rr-sf-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10041;
  display: flex;
  flex-direction: column;
  width: min(100%, 440px);
  height: 100%;
  max-height: 100dvh;
  background-color: var(--soft-white);
  color: var(--dark-blue);
  box-shadow: -6px 0 32px rgba(12, 32, 38, 0.15);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  line-height: 1.4;
}

.rr-sf-cart-drawer.is-open {
  transform: translateX(0);
}

.rr-sf-cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 24px 24px 16px;
  border-bottom: 1px solid rgba(12, 32, 38, 0.12);
}

.rr-sf-cart-drawer__title {
  margin: 0;
  font-family: Romie, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
}

.rr-sf-cart-drawer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  min-width: 1.6em;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1;
  background-color: var(--neon-green);
  color: var(--dark-blue);
}

.rr-sf-cart-drawer__close {
  border: 0;
  background: transparent;
  color: var(--dark-blue);
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 999px;
  transition: background-color 0.2s ease;
}

.rr-sf-cart-drawer__close:hover {
  background-color: rgba(12, 32, 38, 0.06);
}

.rr-sf-cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

.rr-sf-cart-drawer__footer {
  flex-shrink: 0;
  padding: 20px 24px 28px;
  border-top: 1px solid rgba(12, 32, 38, 0.12);
  display: grid;
  gap: 16px;
}

.rr-sf-cart-drawer__total {
  margin: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.01em;
}

/* Match site's pill button shape (.button-neon.dark-blue) */
.rr-sf-cart-drawer__checkout {
  width: 100%;
  justify-self: stretch;
  color: var(--soft-white) !important;
  background-color: var(--dark-blue) !important;
  border: 0;
  border-radius: 999px;
  padding: 14px 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 22.4px;
  letter-spacing: 0.16px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.rr-sf-cart-drawer__checkout:hover {
  background-color: var(--beige-140) !important;
  color: var(--dark-blue) !important;
}

.rr-sf-cart-drawer__checkout:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rr-sf-cart-drawer__status {
  margin: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.95rem;
  color: var(--dark-blue);
}

.rr-sf-cart-drawer__status--error {
  color: var(--coral);
}

.rr-sf-cart-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 24px;
}

.rr-sf-cart-line {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.rr-sf-cart-line__img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
  background-color: var(--beige-100);
}

.rr-sf-cart-line__img--placeholder {
  border: 1px dashed rgba(12, 32, 38, 0.2);
}

.rr-sf-cart-line__main {
  flex: 1;
  min-width: 0;
}

.rr-sf-cart-line__title {
  margin: 0 0 8px;
  font-family: Oceanic Grotesk, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--dark-blue);
}

.rr-sf-cart-line__meta {
  margin: 0 0 10px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.9rem;
  line-height: 1.4;
  color: rgba(12, 32, 38, 0.7);
}

.rr-sf-cart-line__qty {
  /* `flex` (block-level) with width: fit-content keeps the pill shape
     content-sized while sitting on its own line, so the Remove button
     below it doesn't run inline beside it. */
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(12, 32, 38, 0.2);
  border-radius: 999px;
  padding: 2px;
  margin: 0;
  background-color: var(--soft-white);
}

.rr-sf-cart-line__qty-btn {
  border: 0;
  background: transparent;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 1.05rem;
  line-height: 1;
  color: var(--dark-blue);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}

.rr-sf-cart-line__qty-btn:hover {
  background-color: var(--neon-green);
}

.rr-sf-cart-line__qty-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.95rem;
  line-height: 1;
  color: var(--dark-blue);
}

.rr-sf-cart-line__remove {
  display: block;
  margin-top: 16px;
  border: 0;
  background: none;
  padding: 0;
  font-family: Oceanic Grotesk, sans-serif;
  font-size: 0.85rem;
  text-decoration: underline;
  cursor: pointer;
  color: rgba(12, 32, 38, 0.7);
}

.rr-sf-cart-line__remove:hover {
  color: var(--dark-blue);
}

/* ============================================================
   Responsive collapse for legacy 12-column Webflow grid
   ------------------------------------------------------------
   .grid-x12 places children via `#w-node-…` IDs with hardcoded
   spans (span 4, span 6, etc.). Those don't collapse on mobile,
   so headings end up at 33% width and paragraphs at 50% on a
   small screen. Below 992px, force every child to span the full
   row, hide grid spacers, and let .grid-x2-narrow use the full
   content width.
   ============================================================ */

@media screen and (max-width: 991px) {
  .grid-x12 {
    grid-template-columns: 1fr;
    grid-row-gap: 28px;
  }

  .grid-x12 > * {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* Hide empty layout-only spacer cells when the 12-col grid collapses
     to a single column — the parent's row-gap already separates content. */
  .grid-x12 > .sp-grid,
  .grid-x12 > .sp-72px {
    display: none;
  }

  .grid-x2-narrow {
    max-width: 100%;
  }

  /* Reef Locations page — h1-style title used as a section header */
  .reef-locations-marine-sites-title {
    font-size: 2.6rem;
  }

  .reef-locations-hero-wrap {
    gap: 36px;
    padding-top: 116px;
    padding-bottom: 80px;
  }

  .reef-locations-hero__sites-intro {
    gap: 20px;
    grid-template-columns: 1fr;
  }

  .reef-location {
    gap: 28px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .reef-location__row {
    gap: 28px;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  .reef-locations-marine-sites-title {
    font-size: 2.1rem;
    line-height: 1.05;
  }

  .reef-location {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .reef-locations-hero-wrap {
    padding-top: 80px;
    padding-bottom: 40px;
  }

  /* Form footer rows (checkboxes + submit) wrap instead of overflowing */
  .div-spacebetween-h {
    flex-wrap: wrap;
    gap: 16px;
  }
}

/* ============================================================
   Site footer — responsive collapse for mobile
   ------------------------------------------------------------
   Desktop layout (.sec-footer + nested .grid-x2 / .grid-x3-narrow
   etc.) is preserved as-is. Below 992px we collapse the columns
   so the same DOM works on mobile.
   ============================================================ */

@media screen and (max-width: 991px) {
  .sec-footer {
    padding-top: 64px;
    grid-row-gap: 56px;
  }

  /* Outer 2-col footer grid (links cluster + logo/supported-by/legal column) collapses */
  .sec-footer > .grid-x2 {
    grid-template-columns: 1fr !important;
    grid-row-gap: 48px;
  }

  /* Reset Webflow grid-area placements within the footer at narrow widths */
  .sec-footer .grid-x2 > * {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    place-self: stretch !important;
  }

  /* Hide the desktop-only spacer (sp-150px) inside the footer */
  .sec-footer .grid-x2 > .sp-150px {
    display: none;
  }

  /* Brand logo: stretch full width, cap visual size */
  .sec-footer .grid-x2 > img.img-contain {
    width: 100%;
    max-width: 220px;
    height: auto;
  }

  /* Sub-grid of 3 link columns stays as 3 cols on tablet, collapses on phone */
  .sec-footer .grid-x3-narrow {
    grid-column-gap: 32px;
  }

  /* Copyright row stacks vertically when the page is narrow */
  .sec-footer .div-h-stretched {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

@media screen and (max-width: 767px) {
  .sec-footer {
    padding-top: 40px;
    padding-bottom: 24px;
    grid-row-gap: 32px;
  }

  /* Stack the link cluster: 2 cols of links + socials row underneath */
  .sec-footer .grid-x3-narrow {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 24px;
    grid-row-gap: 28px;
  }

  /* Socials row spans both columns of the link cluster */
  .sec-footer .grid-x3-narrow > .div-gap20px:last-child {
    grid-column: 1 / -1;
  }

  /* Smaller partner logos on phone so they fit on one line / wrap cleanly */
  .sec-footer .img-50px {
    height: 36px;
  }

  /* Home footer: no pull-up on phone; wavy art starts below the CTA card + gap (like desktop ::before inset) */
  .sec-footer.home-footer {
    margin-top: -48px;
    grid-row-gap: 32px;
    padding-top: 68px;
    padding-bottom: 24px;
  }

  /*
   * Leave the top band transparent so body/beige shows behind the pill + the flex gap before links.
   * Tune top edge if the wave creeps into the gap between card and link grid.
   */
  .sec-footer.home-footer::before {
    inset: clamp(220px, 72vw, 420px) 0 0 0;
  }

  /*
   * Footer CTAs — match .pet-plan-ahead-interest mobile (stacked card, centred type, full-width pill row).
   * Overrides global .banner-cta { border-radius: 0 } for footer only; desktop untouched (min-width: 768px).
   */
  .sec-footer.home-footer > .banner-cta,
  .sec-footer.home-footer > .home-interested-card {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 20px;
    margin-top: -48px;
    position: relative;
    z-index: 3;
    overflow: hidden;
  }

  .sec-footer.home-footer > .banner-cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 24px 16px;
    grid-row-gap: 18px;
    row-gap: 18px;
    top: 0;
    background-image: url('../images/join-the-journey-banner-p-800.jpg');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .sec-footer.home-footer > .banner-cta .journey-square-media {
    display: none;
  }

  .sec-footer.home-footer > .banner-cta .t80-teal {
    align-self: flex-start;
    text-align: left;
    white-space: normal;
    font-size: clamp(3rem, 9vw, 4.5rem);
    line-height: 1;
    color: var(--soft-white);
  }

  .sec-footer.home-footer > .banner-cta .banner-cta__form {
    width: 100%;
    max-width: 100%;
    align-items: center;
    gap: 12px;
  }

  .sec-footer.home-footer > .banner-cta .journey-square-content {
    flex-direction: column;
    align-items: stretch;
    row-gap: 18px;
  }

  .sec-footer.home-footer > .banner-cta .banner-cta__form > .text-white {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    align-self: flex-start;
  }

  /* Make Interested follow the same mobile shell as Join (left-aligned content flow). */
  .sec-footer .home-interested-content {
    grid-template-columns: 1fr;
    justify-items: stretch;
    padding: 24px 16px;
    gap: 18px;
    text-align: left;
  }

  .sec-footer .home-interested-title {
    align-self: flex-start;
    font-size: clamp(3rem, 9vw, 4.5rem);
    line-height: 1;
    margin: 0;
    text-align: left;
  }

  .sec-footer .home-interested-main {
    width: 100%;
    max-width: 100%;
  }

  .sec-footer .home-interested-lede {
    text-align: left;
    margin-bottom: 20px;
  }

  .sec-footer .home-interested-ctas {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .sec-footer .home-interested-ctas .button-teal {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
}