.elementor-94132 .elementor-element.elementor-element-58faf28{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-173px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:180px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94132 .elementor-element.elementor-element-58faf28:not(.elementor-motion-effects-element-type-background), .elementor-94132 .elementor-element.elementor-element-58faf28 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://caribepremiumtravel.com/wp-content/uploads/2026/08/cap-cana-destination-caribe-premium-travel.avif");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-94132 .elementor-element.elementor-element-36b0812{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94132 .elementor-element.elementor-element-3968e8e9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-94132 .elementor-element.elementor-element-58faf28{--content-width:1280px;}}@media(min-width:1025px){.elementor-94132 .elementor-element.elementor-element-58faf28:not(.elementor-motion-effects-element-type-background), .elementor-94132 .elementor-element.elementor-element-58faf28 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:1024px){.elementor-94132 .elementor-element.elementor-element-58faf28{--padding-top:80px;--padding-bottom:85px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-94132 .elementor-element.elementor-element-58faf28{--padding-top:60px;--padding-bottom:65px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-76d2bd7c *//* =========================================================
   CPT — CAP CANA DESTINATION HERO
========================================================= */

.cpt-capcana-header{

  --cpt-navy:#082A61;
  --cpt-blue:#0878C9;
  --cpt-cyan:#39C5E5;
  --cpt-aqua:#6FE1DF;
  --cpt-orange:#FF845C;
  --cpt-text:#53677C;

  position:relative;
  isolation:isolate;

  width:min(100%,1320px);

  display:grid;

  grid-template-columns:
    minmax(0,1.45fr)
    minmax(280px,.55fr);

  align-items:center;

  gap:44px;

  margin:0 auto;
  padding:42px 46px;

  overflow:hidden;

  border:1px solid rgba(255,255,255,.68);
  border-radius:30px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255,132,92,.15),
      transparent 38%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(57,197,229,.16),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.89),
      rgba(239,249,255,.72)
    );

  box-shadow:
    0 30px 70px rgba(8,42,97,.12),
    0 8px 24px rgba(8,120,201,.06),
    inset 0 1px 0 rgba(255,255,255,.92);

  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}


/* =========================================================
   TOP ACCENT
========================================================= */

.cpt-capcana-header::before{

  content:"";

  position:absolute;

  top:0;
  left:34px;
  right:34px;

  height:3px;

  border-radius:0 0 12px 12px;

  background:
    linear-gradient(
      90deg,
      var(--cpt-cyan),
      var(--cpt-blue) 50%,
      var(--cpt-orange)
    );
}


/* =========================================================
   COPY
========================================================= */

.cpt-capcana-copy{
  min-width:0;
}


.cpt-capcana-badge{

  width:max-content;
  max-width:100%;

  display:inline-flex;
  align-items:center;

  gap:8px;

  min-height:30px;

  margin-bottom:16px;
  padding:0 13px;

  color:var(--cpt-blue);

  border:1px solid rgba(8,120,201,.14);
  border-radius:999px;

  background:rgba(255,255,255,.70);

  box-shadow:
    0 7px 16px rgba(8,42,97,.055),
    inset 0 1px 0 rgba(255,255,255,.90);

  font-family:Inter,Arial,sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}


.cpt-capcana-badge-dot{

  width:7px;
  height:7px;

  flex:0 0 7px;

  border-radius:50%;

  background:var(--cpt-cyan);

  box-shadow:
    0 0 0 4px rgba(57,197,229,.15);
}


/* =========================================================
   H1
========================================================= */

.cpt-capcana-copy h1{

  max-width:800px;

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(40px,4vw,68px);

  line-height:.94;
  font-weight:700;
  letter-spacing:-.045em;

  text-wrap:balance;
}


.cpt-capcana-copy h1 span{

  display:block;

  margin-top:6px;

  color:var(--cpt-orange);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.cpt-capcana-copy p{

  max-width:750px;

  margin:20px 0 0;

  color:var(--cpt-text);

  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  line-height:1.68;
  font-weight:500;
}


/* =========================================================
   FEATURES PANEL
========================================================= */

.cpt-capcana-features{

  position:relative;

  display:flex;
  flex-direction:column;

  gap:0;

  padding:10px 18px;

  border:1px solid rgba(255,255,255,.72);
  border-radius:23px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255,132,92,.08),
      transparent 42%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.84),
      rgba(240,249,255,.61)
    );

  box-shadow:
    0 22px 46px rgba(8,42,97,.11),
    inset 0 1px 0 rgba(255,255,255,.95);

  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}


/* =========================================================
   FEATURE ITEM
========================================================= */

.cpt-capcana-item{

  position:relative;

  display:grid;

  grid-template-columns:
    42px minmax(0,1fr);

  align-items:center;

  gap:12px;

  min-height:72px;

  padding:12px 2px;
}


.cpt-capcana-item +
.cpt-capcana-item{

  border-top:
    1px solid rgba(8,42,97,.08);
}


/* =========================================================
   ICON
========================================================= */

.cpt-capcana-icon{

  width:42px;
  height:42px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:
    1px solid rgba(255,255,255,.78);

  border-radius:50%;

  background:
    linear-gradient(
      145deg,
      var(--cpt-orange),
      var(--cpt-blue)
    );

  box-shadow:
    0 10px 22px rgba(8,120,201,.19),
    inset 0 1px 0 rgba(255,255,255,.38);
}


.cpt-capcana-icon svg{

  width:21px;
  height:21px;

  fill:none;

  stroke:#ffffff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* =========================================================
   FEATURE TEXT
========================================================= */

.cpt-capcana-item strong{

  display:block;

  color:var(--cpt-navy);

  font-family:Inter,Arial,sans-serif;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
}


.cpt-capcana-item small{

  display:block;

  margin-top:4px;

  color:#6b7f92;

  font-family:Inter,Arial,sans-serif;
  font-size:10.5px;
  line-height:1.35;
  font-weight:500;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1024px){

  .cpt-capcana-header{

    grid-template-columns:
      minmax(0,1.25fr)
      minmax(245px,.75fr);

    gap:30px;

    padding:36px 34px;
  }


  .cpt-capcana-copy h1{

    font-size:
      clamp(38px,5vw,54px);
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .cpt-capcana-header{

    grid-template-columns:1fr;

    gap:26px;

    padding:30px 22px;

    border-radius:24px;
  }


  .cpt-capcana-header::before{

    left:24px;
    right:24px;
  }


  .cpt-capcana-copy h1{

    font-size:
      clamp(36px,11vw,48px);

    line-height:.98;
  }


  .cpt-capcana-copy p{

    margin-top:16px;

    font-size:14px;
  }


  .cpt-capcana-features{

    padding:8px 16px;
  }


  .cpt-capcana-item{

    min-height:66px;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-58faf28 */.elementor-94132 .elementor-element.elementor-element-58faf28{
  position:relative;
  overflow:hidden;

  min-height:520px;
  padding:210px 0 135px;

  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

.elementor-94132 .elementor-element.elementor-element-58faf28::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.20), transparent 34%),
    linear-gradient(
      180deg,
      rgba(0,20,70,.04) 0%,
      rgba(0,120,180,.05) 38%,
      rgba(245,252,255,.62) 72%,
      #F5FCFF 100%
    );
}

.elementor-94132 .elementor-element.elementor-element-58faf28::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:190px;
  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(245,252,255,0) 0%,
      rgba(245,252,255,.78) 52%,
      #F5FCFF 100%
    );
}

.elementor-94132 .elementor-element.elementor-element-58faf28 > *{
  position:relative;
  z-index:5;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-36b0812 *//* =========================================================
   CPT — CAP CANA TRAVEL GUIDE
========================================================= */

.cpt-cc-guide{

  --cpt-navy:#082A61;
  --cpt-blue:#0878C9;
  --cpt-cyan:#39C5E5;
  --cpt-aqua:#6FE1DF;
  --cpt-orange:#FF845C;

  --cpt-text:#53677C;
  --cpt-muted:#718398;

  position:relative;
  overflow:hidden;

  padding:92px 24px 105px;

  background:
    radial-gradient(
      circle at 5% 10%,
      rgba(57,197,229,.075),
      transparent 25%
    ),
    radial-gradient(
      circle at 96% 88%,
      rgba(255,132,92,.05),
      transparent 27%
    ),
    linear-gradient(
      180deg,
      #F5FCFF 0%,
      #FFFFFF 100%
    );
}


/* Decorative top line */

.cpt-cc-guide::before{

  content:"";

  position:absolute;

  top:0;
  left:50%;

  width:min(1240px,86%);
  height:1px;

  transform:translateX(-50%);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(57,197,229,.38),
      rgba(8,120,201,.18),
      rgba(255,132,92,.30),
      transparent
    );
}


.cpt-cc-guide__inner{

  position:relative;

  width:min(1320px,100%);

  margin:0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.cpt-cc-guide__header{

  max-width:900px;

  margin:0 auto 58px;

  text-align:center;
}


.cpt-cc-guide__eyebrow{

  display:inline-flex;
  align-items:center;

  gap:9px;

  margin-bottom:16px;

  color:var(--cpt-blue);

  font-family:Inter,Arial,sans-serif;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}


.cpt-cc-guide__eyebrow span{

  width:8px;
  height:8px;

  border-radius:50%;

  background:var(--cpt-cyan);

  box-shadow:
    0 0 0 5px rgba(57,197,229,.14);
}


.cpt-cc-guide__header h2{

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(39px,4vw,58px);

  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;

  text-wrap:balance;
}


.cpt-cc-guide__header h2 span{

  display:block;

  margin-top:6px;

  color:var(--cpt-orange);
}


.cpt-cc-guide__header > p{

  max-width:800px;

  margin:20px auto 0;

  color:var(--cpt-text);

  font-family:Inter,Arial,sans-serif;
  font-size:15.5px;
  line-height:1.72;
  font-weight:500;
}


/* =========================================================
   LAYOUT
========================================================= */

.cpt-cc-guide__layout{

  display:grid;

  grid-template-columns:
    minmax(0,1.48fr)
    minmax(315px,.52fr);

  align-items:stretch;

  gap:28px;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.cpt-cc-guide__content{

  position:relative;
  overflow:hidden;

  padding:42px 44px;

  border:
    1px solid rgba(8,42,97,.075);

  border-radius:28px;

  background:
    radial-gradient(
      circle at 0% 100%,
      rgba(57,197,229,.08),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.96),
      rgba(246,252,255,.86)
    );

  box-shadow:
    0 22px 52px rgba(8,42,97,.06),
    inset 0 1px 0 rgba(255,255,255,.96);
}


.cpt-cc-guide__content::before{

  content:"";

  position:absolute;

  top:0;
  left:34px;

  width:120px;
  height:3px;

  border-radius:
    0 0 999px 999px;

  background:
    linear-gradient(
      90deg,
      var(--cpt-cyan),
      var(--cpt-blue),
      var(--cpt-orange)
    );
}


.cpt-cc-guide__section-label{

  margin-bottom:12px;

  color:var(--cpt-cyan);

  font-family:Inter,Arial,sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}


.cpt-cc-guide__content > h3{

  max-width:760px;

  margin:0 0 24px;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(29px,2.7vw,41px);

  line-height:1.06;
  font-weight:700;
  letter-spacing:-.03em;

  text-wrap:balance;
}


.cpt-cc-guide__content > p{

  margin:0;

  color:var(--cpt-text);

  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  line-height:1.8;
  font-weight:500;
}


.cpt-cc-guide__content > p + p{

  margin-top:18px;
}


.cpt-cc-guide__content > p strong{

  color:#344f69;

  font-weight:750;
}


/* =========================================================
   FEATURE STRIP
========================================================= */

.cpt-cc-guide__features{

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:10px;

  margin-top:34px;
  padding-top:28px;

  border-top:
    1px solid rgba(8,42,97,.08);
}


.cpt-cc-guide__feature{

  display:grid;

  grid-template-columns:
    40px minmax(0,1fr);

  align-items:center;

  gap:10px;

  min-width:0;

  padding:10px;

  border:
    1px solid rgba(8,120,201,.075);

  border-radius:16px;

  background:
    rgba(255,255,255,.58);
}


.cpt-cc-guide__feature-icon{

  display:flex;
  align-items:center;
  justify-content:center;

  width:40px;
  height:40px;

  color:#ffffff;

  border-radius:13px;

  background:
    linear-gradient(
      145deg,
      var(--cpt-orange),
      var(--cpt-blue)
    );

  box-shadow:
    0 8px 18px rgba(8,120,201,.16);
}


.cpt-cc-guide__feature-icon svg{

  width:19px;
  height:19px;

  fill:none;

  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


.cpt-cc-guide__feature strong{

  display:block;

  color:var(--cpt-navy);

  font-family:Inter,Arial,sans-serif;
  font-size:11.5px;
  line-height:1.25;
  font-weight:800;
}


.cpt-cc-guide__feature small{

  display:block;

  margin-top:3px;

  color:var(--cpt-muted);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1.35;
  font-weight:500;
}


/* =========================================================
   QUICK FACTS
========================================================= */

.cpt-cc-guide__facts{

  position:relative;
  overflow:hidden;

  height:100%;

  padding:29px 27px;

  border:
    1px solid rgba(8,120,201,.11);

  border-radius:28px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(57,197,229,.14),
      transparent 36%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(255,132,92,.07),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #f8fdff,
      #ffffff
    );

  box-shadow:
    0 22px 52px rgba(8,42,97,.07),
    inset 0 1px 0 rgba(255,255,255,.96);
}


/* =========================================================
   FACTS HEADER
========================================================= */

.cpt-cc-guide__facts-head{

  padding-bottom:20px;

  border-bottom:
    1px solid rgba(8,42,97,.08);
}


.cpt-cc-guide__facts-head > span{

  display:block;

  margin-bottom:6px;

  color:var(--cpt-cyan);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}


.cpt-cc-guide__facts-head h3{

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:29px;
  line-height:1.05;
  font-weight:700;
}


.cpt-cc-guide__facts-head h3 strong{

  display:block;

  color:var(--cpt-orange);

  font-weight:700;
}


/* =========================================================
   FACT ROW
========================================================= */

.cpt-cc-guide__fact{

  display:grid;

  grid-template-columns:
    40px minmax(0,1fr);

  align-items:center;

  gap:12px;

  padding:17px 0;

  border-bottom:
    1px solid rgba(8,42,97,.07);
}


.cpt-cc-guide__fact-icon{

  display:flex;
  align-items:center;
  justify-content:center;

  width:40px;
  height:40px;

  color:var(--cpt-blue);

  border:
    1px solid rgba(8,120,201,.12);

  border-radius:13px;

  background:
    rgba(57,197,229,.065);
}


.cpt-cc-guide__fact-icon svg{

  width:19px;
  height:19px;

  fill:none;

  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}


.cpt-cc-guide__fact small{

  display:block;

  margin-bottom:3px;

  color:var(--cpt-muted);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}


.cpt-cc-guide__fact strong{

  display:block;

  color:var(--cpt-navy);

  font-family:Inter,Arial,sans-serif;
  font-size:12.5px;
  line-height:1.35;
  font-weight:800;
}


/* =========================================================
   FACTS FOOT
========================================================= */

.cpt-cc-guide__facts-foot{

  display:grid;

  grid-template-columns:
    27px minmax(0,1fr);

  gap:10px;

  align-items:start;

  margin-top:21px;

  padding:15px;

  border:
    1px solid rgba(57,197,229,.12);

  border-radius:15px;

  background:
    rgba(57,197,229,.055);
}


.cpt-cc-guide__facts-foot > span{

  display:flex;
  align-items:center;
  justify-content:center;

  width:27px;
  height:27px;

  color:#ffffff;

  border-radius:50%;

  background:
    linear-gradient(
      145deg,
      var(--cpt-cyan),
      var(--cpt-blue)
    );

  font-family:Inter,Arial,sans-serif;
  font-size:12px;
  font-weight:800;
}


.cpt-cc-guide__facts-foot p{

  margin:0;

  color:#60758b;

  font-family:Inter,Arial,sans-serif;
  font-size:10.5px;
  line-height:1.5;
  font-weight:600;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1024px){

  .cpt-cc-guide{

    padding:
      76px 20px 88px;
  }


  .cpt-cc-guide__header{

    margin-bottom:48px;
  }


  .cpt-cc-guide__layout{

    grid-template-columns:
      minmax(0,1.25fr)
      minmax(285px,.75fr);

    gap:20px;
  }


  .cpt-cc-guide__content{

    padding:36px 32px;
  }


  .cpt-cc-guide__features{

    grid-template-columns:1fr;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .cpt-cc-guide{

    padding:
      56px 16px 70px;
  }


  .cpt-cc-guide__header{

    margin-bottom:35px;

    text-align:left;
  }


  .cpt-cc-guide__header h2{

    font-size:
      clamp(35px,10vw,46px);
  }


  .cpt-cc-guide__header > p{

    margin-top:16px;

    font-size:14px;
  }


  .cpt-cc-guide__layout{

    grid-template-columns:1fr;

    gap:18px;
  }


  .cpt-cc-guide__content{

    padding:29px 22px;

    border-radius:22px;
  }


  .cpt-cc-guide__content::before{

    left:22px;
  }


  .cpt-cc-guide__content > h3{

    font-size:29px;
  }


  .cpt-cc-guide__content > p{

    font-size:14px;
  }


  .cpt-cc-guide__features{

    grid-template-columns:1fr;

    margin-top:27px;
    padding-top:23px;
  }


  .cpt-cc-guide__facts{

    padding:25px 22px;

    border-radius:22px;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3968e8e9 *//* =========================================================
   CPT — THINGS TO DO IN CAP CANA
========================================================= */

.cpt-cc-things{

  --cpt-navy:#082A61;
  --cpt-blue:#0878C9;
  --cpt-cyan:#39C5E5;
  --cpt-aqua:#6FE1DF;
  --cpt-orange:#FF845C;

  --cpt-text:#53677C;
  --cpt-muted:#718398;

  position:relative;
  overflow:hidden;

  padding:100px 24px 110px;

  background:
    radial-gradient(
      circle at 96% 8%,
      rgba(57,197,229,.075),
      transparent 25%
    ),
    radial-gradient(
      circle at 4% 92%,
      rgba(255,132,92,.055),
      transparent 28%
    ),
    #ffffff;
}


/* =========================================================
   INNER
========================================================= */

.cpt-cc-things__inner{

  position:relative;

  width:min(1320px,100%);

  margin:0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.cpt-cc-things__header{

  max-width:900px;

  margin:0 auto 52px;

  text-align:center;
}


.cpt-cc-things__eyebrow{

  display:inline-flex;
  align-items:center;

  gap:9px;

  margin-bottom:16px;

  color:var(--cpt-blue);

  font-family:Inter,Arial,sans-serif;
  font-size:10.5px;
  line-height:1;
  font-weight:800;

  letter-spacing:.11em;
  text-transform:uppercase;
}


.cpt-cc-things__eyebrow span{

  width:8px;
  height:8px;

  flex:0 0 8px;

  border-radius:50%;

  background:var(--cpt-cyan);

  box-shadow:
    0 0 0 5px rgba(57,197,229,.14);
}


.cpt-cc-things__header h2{

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(40px,4vw,60px);

  line-height:.98;
  font-weight:700;
  letter-spacing:-.042em;

  text-wrap:balance;
}


.cpt-cc-things__header h2 span{

  display:block;

  margin-top:7px;

  color:var(--cpt-orange);
}


.cpt-cc-things__header > p{

  max-width:790px;

  margin:20px auto 0;

  color:var(--cpt-text);

  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  line-height:1.72;
  font-weight:500;
}


/* =========================================================
   GRID
========================================================= */

.cpt-cc-things__grid{

  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:18px;
}


/* =========================================================
   CARD
========================================================= */

.cpt-cc-things__card{

  --card-accent:#0878C9;
  --card-soft:rgba(8,120,201,.08);

  position:relative;
  isolation:isolate;

  display:flex;
  flex-direction:column;

  min-height:390px;

  overflow:hidden;

  padding:30px;

  color:inherit;
  text-decoration:none;

  border:
    1px solid rgba(8,42,97,.08);

  border-radius:26px;

  background:
    radial-gradient(
      circle at 100% 0%,
      var(--card-soft),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(246,251,254,.94)
    );

  box-shadow:
    0 18px 44px rgba(8,42,97,.055),
    inset 0 1px 0 rgba(255,255,255,.96);

  transition:
    transform .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}


/* Top accent */

.cpt-cc-things__card::before{

  content:"";

  position:absolute;

  top:0;
  left:27px;

  width:76px;
  height:3px;

  border-radius:
    0 0 999px 999px;

  background:
    linear-gradient(
      90deg,
      var(--card-accent),
      rgba(255,255,255,0)
    );
}


/* Decorative glow */

.cpt-cc-things__card::after{

  content:"";

  position:absolute;

  z-index:-1;

  width:180px;
  height:180px;

  top:-90px;
  right:-70px;

  border-radius:50%;

  background:var(--card-soft);
}


.cpt-cc-things__card:hover{

  transform:translateY(-5px);

  border-color:
    rgba(57,197,229,.25);

  box-shadow:
    0 27px 58px rgba(8,42,97,.10),
    inset 0 1px 0 rgba(255,255,255,.98);
}


.cpt-cc-things__card:focus-visible{

  outline:
    3px solid rgba(57,197,229,.50);

  outline-offset:4px;
}


/* =========================================================
   CARD VARIANTS
========================================================= */

.cpt-cc-things__card--beach{

  --card-accent:#FF845C;
  --card-soft:rgba(255,132,92,.085);
}


.cpt-cc-things__card--water{

  --card-accent:#0878C9;
  --card-soft:rgba(8,120,201,.085);
}


.cpt-cc-things__card--adventure{

  --card-accent:#43A987;
  --card-soft:rgba(67,169,135,.09);
}


.cpt-cc-things__card--daytrips{

  --card-accent:#39C5E5;
  --card-soft:rgba(57,197,229,.10);
}


/* =========================================================
   CARD TOP
========================================================= */

.cpt-cc-things__card-top{

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin-bottom:31px;
}


.cpt-cc-things__number{

  color:rgba(8,42,97,.28);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:31px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.03em;
}


/* =========================================================
   ICON
========================================================= */

.cpt-cc-things__icon{

  display:flex;
  align-items:center;
  justify-content:center;

  width:52px;
  height:52px;

  flex:0 0 52px;

  color:#ffffff;

  border:
    1px solid rgba(255,255,255,.50);

  border-radius:17px;

  background:
    linear-gradient(
      145deg,
      var(--card-accent),
      var(--cpt-blue)
    );

  box-shadow:
    0 11px 25px rgba(8,120,201,.16),
    inset 0 1px 0 rgba(255,255,255,.30);

  transition:
    transform .3s ease;
}


.cpt-cc-things__card:hover
.cpt-cc-things__icon{

  transform:
    translateY(-2px)
    rotate(-3deg);
}


.cpt-cc-things__icon svg{

  width:24px;
  height:24px;

  fill:none;

  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* =========================================================
   CARD COPY
========================================================= */

.cpt-cc-things__category{

  display:block;

  margin-bottom:8px;

  color:var(--card-accent);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1;
  font-weight:800;

  letter-spacing:.10em;
  text-transform:uppercase;
}


.cpt-cc-things__card h3{

  max-width:510px;

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(28px,2.6vw,39px);

  line-height:1.04;
  font-weight:700;
  letter-spacing:-.03em;

  text-wrap:balance;
}


.cpt-cc-things__card-copy p{

  max-width:550px;

  margin:16px 0 0;

  color:var(--cpt-text);

  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  line-height:1.7;
  font-weight:500;
}


/* =========================================================
   TAGS
========================================================= */

.cpt-cc-things__tags{

  display:flex;
  flex-wrap:wrap;

  gap:7px;

  margin-top:24px;
}


.cpt-cc-things__tags span{

  display:inline-flex;
  align-items:center;

  min-height:27px;

  padding:0 10px;

  color:#667a8e;

  border:
    1px solid rgba(8,42,97,.075);

  border-radius:999px;

  background:
    rgba(255,255,255,.66);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1;
  font-weight:700;
}


/* =========================================================
   CARD FOOTER
========================================================= */

.cpt-cc-things__card-footer{

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;

  margin-top:auto;
  padding-top:26px;

  border-top:
    1px solid rgba(8,42,97,.07);

  color:var(--cpt-navy);

  font-family:Inter,Arial,sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:800;

  letter-spacing:.035em;
  text-transform:uppercase;
}


/* =========================================================
   ARROW
========================================================= */

.cpt-cc-things__arrow{

  display:flex;
  align-items:center;
  justify-content:center;

  width:34px;
  height:34px;

  flex:0 0 34px;

  color:var(--card-accent);

  border:
    1px solid rgba(8,120,201,.14);

  border-radius:50%;

  background:
    rgba(255,255,255,.68);

  font-size:14px;

  transition:
    color .28s ease,
    background .28s ease,
    transform .28s ease,
    border-color .28s ease;
}


.cpt-cc-things__card:hover
.cpt-cc-things__arrow{

  color:#ffffff;

  background:var(--card-accent);

  border-color:var(--card-accent);

  transform:
    translate(2px,-2px);
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.cpt-cc-things__cta{

  position:relative;
  overflow:hidden;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  align-items:center;

  gap:36px;

  margin-top:28px;

  padding:32px 36px;

  border:
    1px solid rgba(8,120,201,.10);

  border-radius:25px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255,132,92,.11),
      transparent 35%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(57,197,229,.13),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #f6fcff,
      #ffffff
    );

  box-shadow:
    0 18px 42px rgba(8,42,97,.055);
}


.cpt-cc-things__cta-copy > span{

  display:block;

  margin-bottom:7px;

  color:var(--cpt-blue);

  font-family:Inter,Arial,sans-serif;
  font-size:9.5px;
  line-height:1;
  font-weight:800;

  letter-spacing:.10em;
  text-transform:uppercase;
}


.cpt-cc-things__cta-copy h3{

  max-width:700px;

  margin:0;

  color:var(--cpt-navy);

  font-family:
    "Playfair Display",
    Georgia,
    serif;

  font-size:
    clamp(25px,2.4vw,34px);

  line-height:1.08;
  font-weight:700;
  letter-spacing:-.025em;
}


/* =========================================================
   CTA BUTTONS
========================================================= */

.cpt-cc-things__cta-actions{

  display:flex;
  align-items:center;

  gap:10px;
}


.cpt-cc-things__button{

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:10px;

  min-height:46px;

  padding:0 19px;

  border-radius:999px;

  font-family:Inter,Arial,sans-serif;
  font-size:10.5px;
  line-height:1;
  font-weight:800;

  text-decoration:none;
  white-space:nowrap;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}


.cpt-cc-things__button--primary{

  color:#ffffff;

  background:
    linear-gradient(
      135deg,
      var(--cpt-blue),
      #17a3d1
    );

  box-shadow:
    0 10px 22px rgba(8,120,201,.17);
}


.cpt-cc-things__button--secondary{

  color:var(--cpt-navy);

  border:
    1px solid rgba(8,42,97,.10);

  background:
    rgba(255,255,255,.88);
}


.cpt-cc-things__button:hover{

  transform:translateY(-2px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1024px){

  .cpt-cc-things{

    padding:
      80px 20px 90px;
  }


  .cpt-cc-things__grid{

    gap:16px;
  }


  .cpt-cc-things__card{

    min-height:400px;

    padding:26px;
  }


  .cpt-cc-things__cta{

    grid-template-columns:1fr;

    gap:23px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .cpt-cc-things{

    padding:
      58px 16px 72px;
  }


  .cpt-cc-things__header{

    margin-bottom:36px;

    text-align:left;
  }


  .cpt-cc-things__header h2{

    font-size:
      clamp(35px,10vw,46px);
  }


  .cpt-cc-things__header > p{

    margin-top:16px;

    font-size:14px;
  }


  .cpt-cc-things__grid{

    grid-template-columns:1fr;

    gap:14px;
  }


  .cpt-cc-things__card{

    min-height:auto;

    padding:24px 21px;

    border-radius:22px;
  }


  .cpt-cc-things__card-top{

    margin-bottom:25px;
  }


  .cpt-cc-things__card h3{

    font-size:30px;
  }


  .cpt-cc-things__card-copy p{

    font-size:13.5px;
  }


  .cpt-cc-things__card:hover{

    transform:none;
  }


  .cpt-cc-things__card:hover
  .cpt-cc-things__icon{

    transform:none;
  }


  .cpt-cc-things__cta{

    margin-top:20px;

    padding:26px 21px;

    border-radius:22px;
  }


  .cpt-cc-things__cta-actions{

    flex-direction:column;
    align-items:stretch;

    width:100%;
  }


  .cpt-cc-things__button{

    width:100%;
  }

}/* End custom CSS */