/* A photographic opening, in the original Renaey blue and turquoise. */
.hero{background:linear-gradient(120deg,#06182d,#0a2841)}
.hero-stage{grid-template-columns:1.05fr 1fr;gap:64px;padding-top:64px;padding-bottom:56px;align-items:center}
.hero h1{font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1.2;max-width:650px}
.hero .lead{font-size:1.2rem;max-width:510px;margin-bottom:24px}
.hero-visual{display:block;align-self:stretch;min-height:620px;margin:0;border-radius:140px 24px 24px 24px;overflow:hidden;background:#061e37;border:1px solid #446077;box-shadow:0 28px 70px #020d243d}
.hero-visual:before{display:none}
.hero-wellness{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.wellness-caption{position:absolute;inset:auto 0 0;padding:82px 36px 38px;background:linear-gradient(transparent,#061d35 55%)}
.wellness-caption>span{display:block;font-size:.875rem;letter-spacing:.14em;color:#b2e7ed;margin-bottom:16px}
.wellness-caption>strong{display:block;font:500 clamp(1.8rem,3vw,2.6rem)/1.25 Orbitron,Rajdhani,sans-serif;letter-spacing:-.035em;color:#fff}
.hero-open-badge{border-radius:30px;font-size:.875rem;padding:9px 14px}
.hero-offer{border-radius:14px;background:#15374a;padding:19px 20px}
.hero-offer:first-child{background:#104659}
.hero-offer-action{font-size:1rem;font-weight:600;padding-top:12px;border-top:1px solid #649ba257}
.hero-offer .hero-offer-name{font-size:1.35rem}
.hero-offer-price strong{font-size:clamp(1.55rem,2.7vw,2.1rem)}
.hero-open-includes{font-size:1rem}
.hero-extras,.hero-single-link{font-size:1rem}
.hero-path{border-color:#446277}

/* Give the two offers a clear editorial hierarchy. */
.open-experience{padding:92px 0;background:#f6fbfc}
.open-intro{max-width:900px;margin-bottom:38px}
.open-intro h2{max-width:850px}
.open-cards{gap:28px}
.open-card{border-radius:22px;padding:38px;box-shadow:0 14px 40px #102e4808}
.open-card-week{background:linear-gradient(135deg,#0e4155,#071e37)}
.open-card-weekend{background:#fff;border-color:#b3d8e0}
.open-card h3{font-size:clamp(1.7rem,2.7vw,2.3rem)}
.open-price{font-size:clamp(2.7rem,4.4vw,3.8rem);margin-bottom:26px}
.open-card .button{min-height:58px;border-radius:11px;font-size:1.2rem}
.open-card-weekend .button{background:var(--navy);color:white}
.open-card-weekend .button:hover{background:#14465e}
.open-includes li{font-size:1.25rem}
.open-extras{border-left-width:2px}
.open-booking-info{padding-top:28px}

/* Keep the brand character beside the existing choice guide. */
.guide-companion{display:flex;align-items:center;gap:26px;margin-top:20px}
.guide-companion>img{display:block;width:140px;height:auto;flex:0 0 140px;filter:drop-shadow(0 12px 20px #03122240)}
.guide-companion .guide-reassurance{border-top:0;border-left:1px solid #507486;padding:0 0 0 22px;margin:0;font-size:1.05rem!important;line-height:1.5;max-width:250px}

/* A real device image introduces the existing service descriptions. */
.areas-intro{display:grid;grid-template-columns:1.25fr .8fr;gap:80px;align-items:center;margin-bottom:48px}
.areas-intro>div{min-width:0}
.areas-intro .section-lead{color:#bfd1df;margin-bottom:0}
.technology-visual{margin:0;border:1px solid #497183;border-radius:20px;overflow:hidden;background:#103149;box-shadow:0 16px 40px #020b1b26}
.technology-visual>img{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;object-position:center 58%}
.technology-visual figcaption{padding:18px 22px}
.technology-visual figcaption>span{display:block;font-size:.875rem;letter-spacing:.12em;color:#69dce3;margin-bottom:5px}
.technology-visual figcaption>strong{display:block;font-size:1.1rem;line-height:1.4}
.areas .area-grid{margin-top:0}
.founder-portrait{border-radius:24px;box-shadow:0 20px 55px #102e4814}
.testimonial-card{border-radius:20px;box-shadow:0 8px 24px #102e4805}
.testimonial-card blockquote{font-size:1.45rem}

/* Photographs of the real centre, placed beside the relevant services. */
.hero-visual-real .hero-wellness{object-position:center 38%}
.hero-visual-real .wellness-caption{background:linear-gradient(transparent,#061d35ed 70%)}
.area-grid .area-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin:0 0 28px}
.area-grid .resp .area-photo{object-position:center 69%}
.area-grid .well .area-photo{object-position:center 64%}
.area-grid .area-photo+.area-marker{margin-bottom:22px}
.location-photo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:42px;margin:54px 0 0;padding:24px;border:1px solid var(--line);border-radius:22px;background:#f0f7fa;text-align:left;overflow:hidden}
.location-photo>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 54%;border-radius:14px}
.location-photo figcaption{padding:16px 18px 16px 0;min-width:0}
.location-photo .eyebrow{display:block;font-size:.875rem;margin-bottom:18px}
.location-photo figcaption>strong{display:block;font:500 clamp(1.5rem,2.5vw,2rem)/1.35 Orbitron,Rajdhani,sans-serif;letter-spacing:-.025em;margin-bottom:18px}
.location-photo figcaption>span:not(.eyebrow){display:block;font-size:1.2rem;line-height:1.5;color:var(--muted)}
.location-photo figcaption>small{display:block;font-size:1rem;color:var(--muted);margin-top:14px}

@media(min-width:761px) and (max-width:1050px){
  .hero-stage{gap:30px;grid-template-columns:1.1fr .9fr;padding-top:48px}
  .hero-visual{min-height:590px;border-top-left-radius:90px}
  .hero h1{font-size:2.4rem}
  .hero-offer{padding:16px 14px}
  .hero-offer .hero-offer-name{font-size:1.2rem}
  .hero-offer-action{font-size:.95rem}
  .wellness-caption{padding:70px 25px 32px}
  .wellness-caption>span{letter-spacing:.08em}
  .areas-intro{gap:36px;grid-template-columns:1fr .8fr}
  .open-card{padding:30px}
}
@media(max-width:760px){
  .hero-stage{display:grid;grid-template-columns:1fr;gap:30px;padding-top:34px;padding-bottom:30px}
  .hero h1{font-size:clamp(2rem,7.4vw,3rem);line-height:1.22;max-width:560px}
  .hero .lead{font-size:1.15rem;margin-bottom:22px}
  .hero-visual{width:100%;max-width:none;min-height:0;height:350px;margin:0;border-radius:70px 18px 18px 18px}
  .hero-wellness{object-position:center 19%}
  .wellness-caption{padding:90px 25px 26px;background:linear-gradient(transparent,#061d35f2)}
  .wellness-caption>span{font-size:.875rem;margin-bottom:10px}
  .wellness-caption>strong{font-size:1.8rem}
  .hero-open-badge{font-size:.875rem;letter-spacing:.035em}
  .hero-offer{padding:16px 13px}
  .hero-offer .hero-offer-name{font-size:1.15rem}
  .hero-offer-price strong{font-size:clamp(1.35rem,5.5vw,1.9rem)}
  .hero-offer-action{font-size:.95rem;gap:5px}
  .hero-open-includes{font-size:.95rem}
  .hero-extras{margin-bottom:12px}
  .hero-single-link{margin-top:12px}
  .hero-path{padding-top:20px;padding-bottom:24px}
  .open-experience{padding:56px 0}
  .open-intro{margin-bottom:28px}
  .open-cards{gap:22px}
  .open-card{padding:28px 24px;border-radius:18px}
  .open-card h3{font-size:1.7rem}
  .open-price{font-size:2.75rem}
  .open-includes li{font-size:1.2rem}
  .guide-companion{gap:22px;margin-top:16px}
  .guide-companion>img{width:106px;flex-basis:106px}
  .guide-companion .guide-reassurance{padding-left:18px;font-size:1rem!important}
  .areas-intro{grid-template-columns:1fr;gap:28px;margin-bottom:28px}
  .technology-visual{max-width:460px;width:100%;margin-inline:auto}
  .technology-visual>img{aspect-ratio:1.3;object-position:center 62%}
  .technology-visual figcaption{padding:16px 20px}
  .testimonial-card blockquote{font-size:1.25rem}
  .hero-visual-real{height:clamp(380px,110vw,540px)}
  .hero-visual-real .hero-wellness{object-position:center 34%}
  .area-grid .area-photo{margin-bottom:24px;aspect-ratio:1.15}
  .location-photo{grid-template-columns:1fr;gap:0;margin-top:34px;padding:16px;border-radius:18px}
  .location-photo>img{aspect-ratio:1.15;object-position:center 52%;border-radius:11px}
  .location-photo figcaption{padding:25px 8px 12px}
  .location-photo .eyebrow{margin-bottom:12px}
  .location-photo figcaption>strong{font-size:1.6rem;margin-bottom:13px}
}
@media(max-width:350px){
  .hero h1{font-size:1.8rem}
  .hero-offers{grid-template-columns:1fr}
  .hero-visual{height:320px}
  .hero-visual-real{height:380px}
  .wellness-caption>strong{font-size:1.55rem}
  .wellness-caption>span{letter-spacing:.06em}
  .open-card{padding:25px 20px}
  .open-card h3{font-size:1.45rem}
}
