:root{--paper:#fff5e6;--ink:#073b4c;--accent:#a8e6cf;--night:#042b35;--warm:#ef8354}
body[data-business="sol-caribe-beach"]{--paper:#fff5e6;--ink:#073b4c;--accent:#a8e6cf;--night:#042b35;--warm:#ef8354;--line:color-mix(in srgb,var(--ink),transparent 80%);background:var(--paper)}
body[data-business="sol-caribe-beach"] .hero:before{background:radial-gradient(ellipse at 78% 42%,color-mix(in srgb,var(--accent),transparent 44%),transparent 58%),radial-gradient(ellipse at 12% 18%,color-mix(in srgb,var(--warm),transparent 82%),transparent 42%)}
body[data-business="sol-caribe-beach"] .hero-art .sun{background:radial-gradient(circle at 43% 38%,#fff9df 2%,#f4c95d 34%,var(--warm) 64%,transparent 72%);filter:blur(1px);box-shadow:0 0 100px color-mix(in srgb,#f4c95d,transparent 55%)}
body[data-business="sol-caribe-beach"] .hero-art .orbit{border-color:color-mix(in srgb,var(--warm),transparent 42%);box-shadow:0 0 0 12px color-mix(in srgb,var(--accent),transparent 82%)}
body[data-business="sol-caribe-beach"] .hero-tag{background:var(--warm);color:var(--night);box-shadow:0 14px 40px color-mix(in srgb,var(--warm),transparent 58%)}
body[data-business="sol-caribe-beach"] .ribbon{background:var(--accent);border-color:color-mix(in srgb,var(--ink),transparent 74%)}
body[data-business="sol-caribe-beach"] .experience{background:var(--night)}
body[data-business="sol-caribe-beach"] .visit{background:var(--accent)}
body[data-business="sol-caribe-beach"] .footer{background:var(--night)}
body[data-business="sol-caribe-beach"] .floating{background:var(--warm);color:var(--night)}
body[data-business="sol-caribe-beach"] .hero-art:before{background:radial-gradient(ellipse at 22% 28%,color-mix(in srgb,var(--accent),transparent 36%),transparent 46%),radial-gradient(ellipse at 84% 78%,color-mix(in srgb,var(--warm),transparent 56%),transparent 50%)}
body[data-business="sol-caribe-beach"] .hero-art:after{background:linear-gradient(100deg,transparent,color-mix(in srgb,#fff,transparent 70%),transparent)}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap{box-shadow:0 38px 80px -44px color-mix(in srgb,var(--ink),transparent 28%)}
body[data-business="sol-caribe-beach"] .choice[aria-pressed=true]{border-top-color:var(--warm);color:var(--accent)}
body[data-business="sol-caribe-beach"] .experience .btn{background:var(--warm);color:var(--night)}
body[data-business="sol-caribe-beach"] .scene-halo{background:radial-gradient(ellipse at 50% 32%,color-mix(in srgb,var(--warm),transparent 10%),transparent 62%)}
body[data-business="sol-caribe-beach"] .gallery-piece figure{box-shadow:0 22px 50px -38px color-mix(in srgb,var(--ink),transparent 10%)}
@media(prefers-reduced-motion:reduce){body[data-business="sol-caribe-beach"] .hero-art .orbit{box-shadow:none}}

/* Sol Caribe / visual pass 02: depth, contrast and motion with a clear editorial rhythm. */
body[data-business="sol-caribe-beach"]{
  background:
    radial-gradient(ellipse at 78% 8%,color-mix(in srgb,var(--accent),transparent 62%),transparent 32%),
    radial-gradient(ellipse at 8% 48%,color-mix(in srgb,var(--warm),transparent 91%),transparent 36%),
    var(--paper);
}
html:has(body[data-business="sol-caribe-beach"]),
body[data-business="sol-caribe-beach"]{overflow-x:hidden}
body[data-business="sol-caribe-beach"] .hero{
  overflow:clip;
  background:linear-gradient(120deg,color-mix(in srgb,var(--paper),white 22%),transparent 48%);
}
body[data-business="sol-caribe-beach"] .hero:after{
  content:"";
  position:absolute;
  inset:8% 48% 10% -12%;
  z-index:-1;
  border:1px solid color-mix(in srgb,var(--warm),transparent 80%);
  border-radius:52% 48% 58% 42%;
  transform:rotate(-12deg);
  pointer-events:none;
  opacity:.7;
}
body[data-business="sol-caribe-beach"] .hero-art{
  transform-style:preserve-3d;
  isolation:isolate;
  filter:drop-shadow(0 34px 36px color-mix(in srgb,var(--ink),transparent 78%));
}
body[data-business="sol-caribe-beach"] .hero-art:before{
  inset:8% -8% 2% -12%;
  border-radius:46% 54% 30% 70% / 42% 38% 62% 58%;
  filter:blur(2px);
  opacity:.9;
}
body[data-business="sol-caribe-beach"] .hero-art:after{
  inset:10% -10% 8% -10%;
  background:linear-gradient(112deg,transparent 34%,rgba(255,255,255,.4) 49%,transparent 65%);
  background-size:220% 100%;
  mix-blend-mode:screen;
  opacity:.5;
  animation:sol-caribe-sheen 11s ease-in-out infinite;
}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap{
  inset:10px 0 30px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:51% 49% 16px 16px;
  transform:translate3d(var(--mx,0px),var(--my,0px),0) rotateY(-1.8deg) rotateX(1.2deg);
  transform-style:preserve-3d;
  box-shadow:0 42px 88px -42px color-mix(in srgb,var(--ink),transparent 18%),0 0 0 10px color-mix(in srgb,var(--accent),transparent 84%);
  transition:transform .8s var(--ease),box-shadow .8s var(--ease);
}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap:before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:1;
  border:1px solid rgba(255,255,255,.25);
  border-radius:inherit;
  pointer-events:none;
  opacity:.8;
}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap:after{
  background:linear-gradient(180deg,rgba(4,43,53,.03) 32%,rgba(4,43,53,.7) 100%),linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);
  background-size:100% 100%,220% 100%;
  animation:sol-caribe-sheen 13s ease-in-out infinite;
}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap img{
  filter:saturate(1.08) contrast(1.04) brightness(.98);
  animation:sol-caribe-image-drift 18s ease-in-out infinite alternate;
}
body[data-business="sol-caribe-beach"] .hero-art .sun{
  z-index:0;
  right:-2%;
  top:-2%;
  opacity:.9;
  animation:sol-caribe-sun 10s ease-in-out infinite alternate;
}
body[data-business="sol-caribe-beach"] .hero-art .orbit{
  inset:-22px -14px 8px;
  border-style:dashed;
  opacity:.8;
  transform:rotate(8deg) translateZ(-8px);
  animation:sol-caribe-orbit 18s linear infinite;
}
body[data-business="sol-caribe-beach"] .hero-art .inset-photo{
  border-width:5px;
  border-color:color-mix(in srgb,var(--paper),white 30%);
  box-shadow:0 22px 42px -20px color-mix(in srgb,var(--ink),transparent 14%),0 0 0 8px color-mix(in srgb,var(--warm),transparent 84%);
  animation:sol-caribe-float 8s ease-in-out infinite;
}
body[data-business="sol-caribe-beach"] .hero-tag{
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 18px 44px color-mix(in srgb,var(--warm),transparent 54%),inset 0 1px 0 rgba(255,255,255,.5);
  animation:sol-caribe-float 7s ease-in-out -2s infinite;
}
body[data-business="sol-caribe-beach"] .hero-bottom{
  position:relative;
  border-color:color-mix(in srgb,var(--ink),transparent 68%);
  padding-top:22px;
}
body[data-business="sol-caribe-beach"] .hero-bottom:before{
  content:"●  CARTAGENA · COLOMBIA";
  color:var(--warm);
  font-size:10px;
  letter-spacing:.14em;
  font-weight:600;
}
body[data-business="sol-caribe-beach"] .ribbon{
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent),white 12%),var(--accent),color-mix(in srgb,var(--accent),white 12%));
  box-shadow:inset 0 1px rgba(255,255,255,.5);
}
body[data-business="sol-caribe-beach"] .ribbon-track{animation-duration:46s}
body[data-business="sol-caribe-beach"] .sol-proof{
  position:relative;
  overflow:hidden;
  padding-top:96px;
  padding-bottom:96px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--paper),white 26%),color-mix(in srgb,var(--accent),transparent 76%));
  border-top:1px solid color-mix(in srgb,var(--ink),transparent 86%);
  border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 86%);
}
body[data-business="sol-caribe-beach"] .sol-proof:before{
  content:"";
  position:absolute;
  width:46vw;
  height:46vw;
  max-width:620px;
  max-height:620px;
  right:-12vw;
  top:-28vw;
  border:1px solid color-mix(in srgb,var(--warm),transparent 72%);
  border-radius:50%;
  box-shadow:0 0 0 32px color-mix(in srgb,var(--accent),transparent 86%),0 0 0 64px color-mix(in srgb,var(--warm),transparent 93%);
  pointer-events:none;
}
body[data-business="sol-caribe-beach"] .sol-proof-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:end;
  margin-bottom:52px;
}
body[data-business="sol-caribe-beach"] .sol-proof-head h2{max-width:680px}
body[data-business="sol-caribe-beach"] .sol-proof-head p{max-width:390px;justify-self:end;font-size:16px;line-height:1.7}
body[data-business="sol-caribe-beach"] .sol-proof-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
body[data-business="sol-caribe-beach"] .sol-proof-card{
  position:relative;
  min-height:224px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:14px;
  padding:24px;
  color:var(--ink);
  background:rgba(255,255,255,.38);
  border:1px solid color-mix(in srgb,var(--ink),transparent 78%);
  border-radius:22px 22px 22px 4px;
  box-shadow:0 18px 42px -34px color-mix(in srgb,var(--ink),transparent 8%);
  transform:translateY(0) rotate(0deg);
  transform-style:preserve-3d;
  transition:transform .55s var(--ease),background .35s,color .35s,border-color .35s,box-shadow .55s var(--ease);
}
body[data-business="sol-caribe-beach"] .sol-proof-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.56),transparent 40%,rgba(239,131,84,.12));
  opacity:.7;
  pointer-events:none;
}
body[data-business="sol-caribe-beach"] .sol-proof-card:after{
  content:"";
  position:absolute;
  width:160px;
  height:2px;
  left:-160px;
  bottom:0;
  background:linear-gradient(90deg,transparent,var(--warm),transparent);
  opacity:0;
  transition:opacity .3s;
}
body[data-business="sol-caribe-beach"] .sol-proof-card:hover,
body[data-business="sol-caribe-beach"] .sol-proof-card:focus-visible{
  transform:translateY(-8px) rotate(-.8deg);
  border-color:color-mix(in srgb,var(--warm),transparent 24%);
  box-shadow:0 28px 54px -30px color-mix(in srgb,var(--warm),transparent 52%);
}
body[data-business="sol-caribe-beach"] .sol-proof-card[aria-pressed="true"]{
  color:#f7f1e7;
  background:linear-gradient(145deg,var(--night),color-mix(in srgb,var(--night),var(--ink) 38%));
  border-color:color-mix(in srgb,var(--accent),transparent 44%);
  transform:translateY(-8px) rotate(-.8deg);
  box-shadow:0 28px 60px -30px rgba(4,43,53,.62),0 0 0 6px color-mix(in srgb,var(--warm),transparent 88%);
}
body[data-business="sol-caribe-beach"] .sol-proof-card[aria-pressed="true"]:after{
  opacity:1;
  animation:sol-proof-scan 3.8s ease-in-out infinite;
}
body[data-business="sol-caribe-beach"] .sol-proof-index{
  position:relative;
  z-index:1;
  color:var(--warm);
  font-size:11px;
  letter-spacing:.12em;
}
body[data-business="sol-caribe-beach"] .sol-proof-title{
  position:relative;
  z-index:1;
  font:400 clamp(25px,2.3vw,34px)/1.05 Editorial,Georgia,serif;
  letter-spacing:-.035em;
}
body[data-business="sol-caribe-beach"] .sol-proof-copy{
  position:relative;
  z-index:1;
  max-width:260px;
  font-size:14px;
  line-height:1.55;
  opacity:.8;
}
body[data-business="sol-caribe-beach"] .sol-proof-arrow{
  position:relative;
  z-index:1;
  margin-top:auto;
  align-self:flex-end;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  transition:transform .35s var(--ease),background .35s;
}
body[data-business="sol-caribe-beach"] .sol-proof-card:hover .sol-proof-arrow,
body[data-business="sol-caribe-beach"] .sol-proof-card:focus-visible .sol-proof-arrow{transform:translate(4px,-4px);background:var(--warm);color:var(--night)}
body[data-business="sol-caribe-beach"] .sol-proof-note{
  position:relative;
  z-index:1;
  margin-top:24px;
  padding-left:16px;
  border-left:2px solid var(--warm);
  font-size:12px;
  max-width:620px;
}
@keyframes sol-proof-scan{0%,100%{translate:-160px 0}50%{translate:620px 0}}
body[data-business="sol-caribe-beach"] .fh-story,
body[data-business="sol-caribe-beach"] .gallery,
body[data-business="sol-caribe-beach"] .contact{
  position:relative;
}
body[data-business="sol-caribe-beach"] .fh-story:before,
body[data-business="sol-caribe-beach"] .gallery:before,
body[data-business="sol-caribe-beach"] .contact:before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:5%;
  top:8%;
  border:1px solid color-mix(in srgb,var(--warm),transparent 82%);
  border-radius:50%;
  pointer-events:none;
  opacity:.7;
}
body[data-business="sol-caribe-beach"] .experience{
  background:radial-gradient(ellipse at 72% 12%,rgba(168,230,207,.18),transparent 35%),radial-gradient(ellipse at 18% 86%,rgba(239,131,84,.18),transparent 32%),var(--night);
  box-shadow:inset 0 1px rgba(255,255,255,.1);
}
body[data-business="sol-caribe-beach"] .scene{
  transform-style:preserve-3d;
}
body[data-business="sol-caribe-beach"] .scene:after{
  content:"COSTA CARIBE  /  UNA IDEA EN MOVIMIENTO";
  position:absolute;
  left:18px;
  top:18px;
  z-index:2;
  padding:8px 10px;
  border-left:2px solid var(--warm);
  color:rgba(247,241,231,.82);
  background:rgba(4,43,53,.54);
  backdrop-filter:blur(10px);
  font-size:9px;
  letter-spacing:.12em;
}
body[data-business="sol-caribe-beach"] .scene-photo{
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 30px 70px -42px rgba(0,0,0,.7);
}
body[data-business="sol-caribe-beach"] .scene-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(168,230,207,.16),transparent 42%,rgba(239,131,84,.2));
  mix-blend-mode:screen;
  pointer-events:none;
}
body[data-business="sol-caribe-beach"] .scene-number{
  text-shadow:0 12px 34px rgba(0,0,0,.35);
}
body[data-business="sol-caribe-beach"] .choice{
  position:relative;
}
body[data-business="sol-caribe-beach"] .choice:hover,
body[data-business="sol-caribe-beach"] .choice:focus-visible{
  padding-left:18px;
  background:linear-gradient(90deg,rgba(168,230,207,.08),transparent 75%);
}
body[data-business="sol-caribe-beach"] .gallery-piece figure{
  border:1px solid color-mix(in srgb,var(--ink),transparent 78%);
  box-shadow:0 24px 54px -34px color-mix(in srgb,var(--ink),transparent 8%);
  transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .7s var(--ease);
}
body[data-business="sol-caribe-beach"] .gallery-piece figure:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(168,230,207,.14),transparent 50%,rgba(239,131,84,.18));
  mix-blend-mode:screen;
  pointer-events:none;
}
body[data-business="sol-caribe-beach"] .gallery-piece:hover figure,
body[data-business="sol-caribe-beach"] .gallery-piece:focus-visible figure{
  transform:translateY(-8px) rotate(-.6deg);
  border-color:color-mix(in srgb,var(--warm),transparent 26%);
  box-shadow:0 34px 70px -32px color-mix(in srgb,var(--warm),transparent 54%);
}
body[data-business="sol-caribe-beach"] .visit{
  background:radial-gradient(ellipse at 22% 12%,rgba(255,255,255,.42),transparent 32%),linear-gradient(125deg,var(--accent),color-mix(in srgb,var(--accent),var(--warm) 12%));
}
body[data-business="sol-caribe-beach"] .floating{
  box-shadow:0 12px 28px color-mix(in srgb,var(--ink),transparent 52%),0 0 0 7px color-mix(in srgb,var(--warm),transparent 84%);
  animation:sol-caribe-float 7s ease-in-out -3s infinite;
}
body[data-business="sol-caribe-beach"] [data-reveal]{transition-duration:.95s}
@keyframes sol-caribe-sheen{0%,35%{background-position:-120% 0}72%,100%{background-position:120% 0}}
@keyframes sol-caribe-image-drift{0%{transform:scale(1.04) translate3d(-.6%,0,0)}100%{transform:scale(1.09) translate3d(.8%,-.8%,0)}}
@keyframes sol-caribe-sun{0%{transform:translate3d(0,4px,0) scale(.98)}100%{transform:translate3d(-10px,-10px,0) scale(1.04)}}
@keyframes sol-caribe-orbit{to{transform:rotate(368deg) translateZ(-8px)}}
@keyframes sol-caribe-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:760px){
  body[data-business="sol-caribe-beach"] .hero-art .photo-wrap{inset:8px 0 26px;transform:translate3d(var(--mx,0px),var(--my,0px),0) rotateY(-.8deg)}
  body[data-business="sol-caribe-beach"] .hero-art .orbit{inset:-12px -6px 8px}
  body[data-business="sol-caribe-beach"] .scene{overflow:hidden}
  body[data-business="sol-caribe-beach"] .scene-halo{inset:-6% -4% -6%}
  body[data-business="sol-caribe-beach"] .hero-bottom{padding-top:18px;display:grid;grid-template-columns:1fr;gap:8px}
  body[data-business="sol-caribe-beach"] .hero-bottom:before{order:3}
  body[data-business="sol-caribe-beach"] .sol-proof{padding-top:72px;padding-bottom:72px}
  body[data-business="sol-caribe-beach"] .sol-proof-head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  body[data-business="sol-caribe-beach"] .sol-proof-head p{justify-self:start}
  body[data-business="sol-caribe-beach"] .sol-proof-grid{grid-template-columns:1fr;gap:12px}
  body[data-business="sol-caribe-beach"] .sol-proof-card{min-height:178px;padding:20px}
  body[data-business="sol-caribe-beach"] .sol-proof-card[aria-pressed="true"]{transform:translateY(-4px)}
  body[data-business="sol-caribe-beach"] .scene:after{font-size:8px;left:12px;top:12px}
  body[data-business="sol-caribe-beach"] .fh-story:before,
  body[data-business="sol-caribe-beach"] .gallery:before,
  body[data-business="sol-caribe-beach"] .contact:before{width:110px;height:110px;right:-16px;top:4%}
}
@media(prefers-reduced-motion:reduce){
  body[data-business="sol-caribe-beach"] .hero-art:after,
  body[data-business="sol-caribe-beach"] .hero-art .photo-wrap:after,
  body[data-business="sol-caribe-beach"] .hero-art .photo-wrap img,
  body[data-business="sol-caribe-beach"] .hero-art .sun,
  body[data-business="sol-caribe-beach"] .hero-art .orbit,
  body[data-business="sol-caribe-beach"] .hero-art .inset-photo,
  body[data-business="sol-caribe-beach"] .hero-tag,
  body[data-business="sol-caribe-beach"] .floating{animation:none!important}
  body[data-business="sol-caribe-beach"] .hero-art .photo-wrap{transform:none}
  body[data-business="sol-caribe-beach"] .sol-proof-card[aria-pressed="true"]{transform:none;box-shadow:0 18px 40px -28px rgba(4,43,53,.55)}
}

/* Atmosphere pass 03: a darker, more cinematic first impression instead of a white canvas. */
body[data-business="sol-caribe-beach"]{
  --paper:#f6e6d0;
  --ink:#073b4c;
  --accent:#9ee4d2;
  --night:#032f3b;
  --warm:#f07b52;
  background:radial-gradient(ellipse at 20% 8%,rgba(240,123,82,.08),transparent 30%),var(--paper);
}
body[data-business="sol-caribe-beach"] .nav{
  background:rgba(3,47,59,.95);
  color:#fff7e8;
  border-bottom-color:rgba(255,247,232,.18);
  box-shadow:0 8px 24px rgba(3,47,59,.16);
}
body[data-business="sol-caribe-beach"] .nav .brand small,
body[data-business="sol-caribe-beach"] .nav-links{color:rgba(255,247,232,.75)}
body[data-business="sol-caribe-beach"] .nav-action{border-color:rgba(255,247,232,.7);color:#fff7e8}
body[data-business="sol-caribe-beach"] .nav-action:hover{background:var(--warm);color:var(--night);border-color:var(--warm)}
body[data-business="sol-caribe-beach"] .hero{
  min-height:min(980px,calc(100svh - 70px));
  color:#fff7e8;
  background:
    radial-gradient(ellipse at 78% 8%,rgba(158,228,210,.3),transparent 34%),
    radial-gradient(ellipse at 14% 84%,rgba(240,123,82,.36),transparent 32%),
    linear-gradient(135deg,#063f4a 0%,#032f3b 54%,#062831 100%);
  background-size:130% 130%,130% 130%,100% 100%;
  animation:sol-caribe-atmosphere 18s ease-in-out infinite alternate;
}
body[data-business="sol-caribe-beach"] .hero:before{
  background:radial-gradient(ellipse at 80% 42%,rgba(158,228,210,.2),transparent 54%),radial-gradient(ellipse at 12% 12%,rgba(240,123,82,.32),transparent 42%);
  opacity:.95;
}
body[data-business="sol-caribe-beach"] .hero:after{
  border-color:rgba(158,228,210,.2);
}
body[data-business="sol-caribe-beach"] .hero .eyebrow{color:var(--accent)}
body[data-business="sol-caribe-beach"] .hero h1 em{color:var(--warm);text-shadow:0 8px 40px rgba(240,123,82,.24)}
body[data-business="sol-caribe-beach"] .hero .lead{color:rgba(255,247,232,.82)}
body[data-business="sol-caribe-beach"] .hero .btn{background:var(--warm);color:var(--night);box-shadow:0 16px 34px rgba(240,123,82,.24)}
body[data-business="sol-caribe-beach"] .hero .btn:hover{background:#ff986d;box-shadow:0 18px 42px rgba(240,123,82,.36)}
body[data-business="sol-caribe-beach"] .hero .link{color:#fff7e8}
body[data-business="sol-caribe-beach"] .hero-bottom{border-color:rgba(255,247,232,.24)}
body[data-business="sol-caribe-beach"] .hero-bottom span{color:rgba(255,247,232,.74)}
body[data-business="sol-caribe-beach"] .hero-bottom:before{color:var(--accent)}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap{
  border-color:rgba(255,247,232,.64);
  box-shadow:0 48px 100px -44px rgba(0,0,0,.82),0 0 0 10px rgba(158,228,210,.12);
}
body[data-business="sol-caribe-beach"] .hero-art .photo-wrap:after{
  background:linear-gradient(180deg,rgba(3,47,59,.04) 26%,rgba(3,47,59,.78) 100%),linear-gradient(115deg,transparent 35%,rgba(158,228,210,.34) 50%,transparent 65%);
  background-size:100% 100%,220% 100%;
}
body[data-business="sol-caribe-beach"] .hero-art .orbit{border-color:rgba(158,228,210,.5)}
body[data-business="sol-caribe-beach"] .ribbon{
  color:var(--night);
  background:linear-gradient(90deg,var(--warm),#ff9d70,var(--warm));
  border-color:rgba(3,47,59,.22);
}
body[data-business="sol-caribe-beach"] .ribbon-track{animation-duration:38s}
body[data-business="sol-caribe-beach"] .fh-story,
body[data-business="sol-caribe-beach"] .gallery,
body[data-business="sol-caribe-beach"] .contact{background:var(--paper)}
body[data-business="sol-caribe-beach"] .sol-proof{background:linear-gradient(135deg,#f8e7d0 0%,#d5f2e8 100%)}
body[data-business="sol-caribe-beach"] .sol-proof-card[aria-pressed="true"]{background:linear-gradient(145deg,#073b4c,#075566)}
body[data-business="sol-caribe-beach"] .visit{color:var(--night)}
body[data-business="sol-caribe-beach"] .contact-links a{color:var(--ink)}
body[data-business="sol-caribe-beach"] .hero-copy{animation:sol-caribe-copy-in 1.1s var(--ease) both}
body[data-business="sol-caribe-beach"] .hero-art{animation:sol-caribe-art-in 1.25s var(--ease) .12s both}
@keyframes sol-caribe-atmosphere{0%{background-position:0% 0%,100% 90%,0 0}100%{background-position:100% 30%,0% 10%,0 0}}
@keyframes sol-caribe-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes sol-caribe-art-in{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:760px){
  body[data-business="sol-caribe-beach"] .hero{min-height:760px;background-size:190% 160%,190% 160%,100% 100%}
  body[data-business="sol-caribe-beach"] .nav{background:rgba(3,47,59,.97)}
}
@media(prefers-reduced-motion:reduce){
  body[data-business="sol-caribe-beach"] .hero,
  body[data-business="sol-caribe-beach"] .hero-copy,
  body[data-business="sol-caribe-beach"] .hero-art{animation:none!important}
}

/* Scroll choreography: words, imagery and the closing brand lockup enter with the user. */
body[data-business="sol-caribe-beach"] .sol-word{
  display:inline-block;
  opacity:0;
  transform:translateY(.78em) rotate(2deg);
  filter:blur(3px);
  transition:opacity .7s var(--ease),transform .8s var(--ease),filter .8s var(--ease);
  transition-delay:calc(var(--word-index) * 52ms);
  will-change:transform,opacity,filter;
}
body[data-business="sol-caribe-beach"] [data-sol-type="shown"] .sol-word{
  opacity:1;
  transform:none;
  filter:none;
}
body[data-business="sol-caribe-beach"] .scene-photo img,
body[data-business="sol-caribe-beach"] .gallery-piece img,
body[data-business="sol-caribe-beach"] .fh-photo img{
  transform:translate3d(0,var(--image-shift,0px),0) scale(1.075);
  transition:transform .3s linear,filter .7s var(--ease);
  will-change:transform;
}
body[data-business="sol-caribe-beach"] .scene-photo img{transform:translate3d(0,calc(var(--depth,0px) + var(--image-shift,0px)),0) scale(1.1)}
body[data-business="sol-caribe-beach"] .gallery-piece:hover img,
body[data-business="sol-caribe-beach"] .gallery-piece:focus-visible img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.12)}
body[data-business="sol-caribe-beach"] .sol-proof-card{
  opacity:0;
  transform:translateY(28px) rotate(1.4deg) scale(.985);
  transition:opacity .7s var(--ease),transform .8s var(--ease),background .35s,color .35s,border-color .35s,box-shadow .55s var(--ease);
}
body[data-business="sol-caribe-beach"] .sol-proof-card:nth-child(2){transition-delay:90ms}
body[data-business="sol-caribe-beach"] .sol-proof-card:nth-child(3){transition-delay:180ms}
body[data-business="sol-caribe-beach"] .sol-proof-card[data-sol-in="true"]{opacity:1;transform:translateY(0) rotate(0) scale(1)}
body[data-business="sol-caribe-beach"] .sol-proof-card[data-sol-in="true"][aria-pressed="true"]{transform:translateY(-8px) rotate(-.8deg)}
body[data-business="sol-caribe-beach"] .footer-word[data-sol-finale="ready"]{perspective:900px}
body[data-business="sol-caribe-beach"] .footer-word .sol-letter{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,-.7em,0) rotateX(74deg) rotateZ(3deg);
  transform-origin:50% 100%;
  filter:blur(4px);
}
body[data-business="sol-caribe-beach"] .footer-word[data-sol-finale="shown"] .sol-letter{
  animation:sol-caribe-letter-drop .72s var(--ease) forwards;
  animation-delay:calc(var(--letter-index) * 34ms);
}
@keyframes sol-caribe-letter-drop{0%{opacity:0;transform:translate3d(0,-.7em,0) rotateX(74deg) rotateZ(3deg);filter:blur(4px)}65%{opacity:1;transform:translate3d(0,.08em,0) rotateX(-8deg) rotateZ(-1deg);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@media(max-width:760px){
  body[data-business="sol-caribe-beach"] .sol-word{transition-delay:calc(var(--word-index) * 32ms)}
  body[data-business="sol-caribe-beach"] .sol-proof-card[data-sol-in="true"][aria-pressed="true"]{transform:translateY(-4px) rotate(0)}
  body[data-business="sol-caribe-beach"] .footer-word .sol-letter{transform:translate3d(0,-.45em,0) rotateX(60deg) rotateZ(2deg)}
}
@media(prefers-reduced-motion:reduce){
  body[data-business="sol-caribe-beach"] .sol-word{opacity:1;transform:none;filter:none;transition:none}
  body[data-business="sol-caribe-beach"] .scene-photo img,
  body[data-business="sol-caribe-beach"] .gallery-piece img,
  body[data-business="sol-caribe-beach"] .fh-photo img{transform:none!important;transition:none}
  body[data-business="sol-caribe-beach"] .sol-proof-card{opacity:1;transform:none!important;transition:none}
  body[data-business="sol-caribe-beach"] .footer-word .sol-letter{opacity:1;transform:none;filter:none;animation:none!important}
}
