/* BLU resort subpage: viewport-fit luxury landing (shared .sp-* system) */
body.corp-gateway{overflow-x:hidden}
.sp{--sp-top:130px;--sp-gold:#c9a24b;--sp-cream:#f6efe0;--sp-navy:#0a1628;position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);box-sizing:border-box;min-height:calc(100vh - var(--sp-top));min-height:calc(100dvh - var(--sp-top));display:grid;grid-template-rows:1fr auto auto;gap:clamp(10px,2vh,22px);padding:clamp(10px,2.4vh,28px) clamp(16px,5vw,72px) clamp(12px,2.4vh,28px);color:var(--sp-cream);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:transparent}
.sp *,.sp *::before,.sp *::after{box-sizing:border-box}
.sp-bg{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background:linear-gradient(180deg,rgba(8,16,28,.78) 0%,rgba(8,16,28,.45) 24%,rgba(8,16,28,.45) 55%,rgba(8,16,28,.8) 100%),var(--sp-img) center/cover no-repeat,#0a1628;overflow:hidden}
.sp-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.sp-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,28,.78) 0%,rgba(8,16,28,.38) 24%,rgba(8,16,28,.4) 55%,rgba(8,16,28,.82) 100%),radial-gradient(60% 50% at 80% 25%,rgba(201,162,75,.16),transparent 70%)}
.sp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(16px,4vw,56px);align-items:center;min-height:0}
.sp-eye{margin:0 0 clamp(6px,1.2vh,14px);font-size:clamp(10px,1.5vh,13px);letter-spacing:.28em;text-transform:uppercase;color:var(--sp-gold);font-weight:600}
.sp-h1{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(26px,min(4.4vw,7vh),66px);line-height:1.08;color:#fff;border:0;padding:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.sp-h1 em{display:block;color:var(--sp-gold);font-style:italic;font-weight:500}
.sp-intro{margin:clamp(8px,1.8vh,18px) 0 0;max-width:34em;font-size:clamp(13px,2vh,17px);line-height:1.55;color:rgba(246,239,224,.88)}
.sp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(12px,2.6vh,28px)}
.sp-cta{display:inline-block;padding:clamp(10px,1.6vh,15px) clamp(20px,2.4vw,32px);border-radius:999px;background:linear-gradient(135deg,#e2c56f,#b8893a);color:#0a1628!important;font-weight:700;font-size:clamp(11px,1.6vh,14px);letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;box-shadow:0 8px 28px rgba(201,162,75,.28);transition:transform .2s,box-shadow .2s}
.sp-cta:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(201,162,75,.42)}
.sp-back{color:rgba(246,239,224,.8)!important;font-size:clamp(11px,1.6vh,13px);letter-spacing:.1em;text-decoration:none!important;border-bottom:1px solid rgba(201,162,75,.5)}
.sp-back:hover{color:#fff!important}
.sp-photos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.4vw,16px);height:clamp(170px,38vh,430px)}
.sp-photos figure{margin:0;border:1px solid rgba(201,162,75,.5);border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.sp-photos figure:first-child{margin-bottom:clamp(14px,4vh,40px)}
.sp-photos figure:last-child{margin-top:clamp(14px,4vh,40px)}
.sp-photos img{display:block;width:100%;height:100%;object-fit:cover}
.sp-exp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.2vw,16px)}
.sp-card{display:block;padding:clamp(10px,1.8vh,18px) clamp(12px,1.2vw,18px);border:1px solid rgba(201,162,75,.35);border-top:2px solid var(--sp-gold);border-radius:14px;background:rgba(10,22,40,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--sp-cream)!important;text-decoration:none!important;transition:transform .2s,border-color .2s,background .2s}
.sp-card:hover{transform:translateY(-3px);border-color:var(--sp-gold);background:rgba(10,22,40,.78)}
.sp-card h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(15px,2.3vh,21px);color:#fff;border:0!important;padding:0!important;line-height:1.15}
.sp-card .t{margin:4px 0 0;font-size:clamp(10px,1.4vh,12px);letter-spacing:.14em;text-transform:uppercase;color:var(--sp-gold)}
.sp-card p.d{margin:clamp(4px,.8vh,8px) 0 0;font-size:clamp(12px,1.7vh,14px);line-height:1.45;color:rgba(246,239,224,.82)}
.sp-card .go{display:inline-block;margin-top:clamp(4px,.9vh,10px);font-size:clamp(10px,1.4vh,12px);letter-spacing:.14em;text-transform:uppercase;color:var(--sp-gold)}
.sp-pk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:clamp(8px,1.4vh,14px) clamp(14px,1.6vw,24px);border:1px solid rgba(201,162,75,.3);border-radius:999px;background:rgba(10,22,40,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sp-pk b{font-size:clamp(10px,1.4vh,12px);letter-spacing:.24em;text-transform:uppercase;color:var(--sp-gold)}
.sp-pk span{font-size:clamp(11px,1.7vh,14px);color:rgba(246,239,224,.9)}
.sp-pk span strong{color:#fff;font-family:"Playfair Display",Georgia,serif;font-weight:600;margin-right:6px}
.sp-pk a{color:var(--sp-gold)!important;font-size:clamp(10px,1.5vh,13px);letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;border-bottom:1px solid rgba(201,162,75,.5)}
body.corp-gateway header,body.corp-gateway header>*:not(a):not(button){background:transparent!important;box-shadow:none!important}
body.corp-gateway header{border-bottom:1px solid rgba(201,162,75,.25)!important}
@media(min-width:900px) and (max-height:760px){.sp-card p.d{display:none}.sp-photos{height:clamp(150px,34vh,300px)}}
@media(min-width:900px) and (max-height:640px){.sp-intro{display:none}.sp-pk b{display:none}}
@media(max-width:899px){.sp{display:flex;flex-direction:column}.sp-hero{grid-template-columns:1fr}.sp-photos{height:clamp(140px,24vh,220px)}.sp-photos figure:first-child,.sp-photos figure:last-child{margin:0}.sp-exp{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-vid{display:none}.sp-pk{border-radius:18px;justify-content:flex-start}}
@media(max-width:480px){.sp-exp{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sp-vid{display:none}.sp-card,.sp-cta{transition:none}}
/* corporate / community variants */
.sp-exp.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-card .b{margin:clamp(4px,.8vh,8px) 0 0;font-size:clamp(11px,1.5vh,13px);line-height:1.4;color:rgba(246,239,224,.66);font-style:italic}
.sp-tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin:clamp(8px,1.6vh,16px) 0 0;padding:0;list-style:none}
.sp-tags li{padding:4px 12px;border:1px solid rgba(201,162,75,.45);border-radius:999px;font-size:clamp(10px,1.4vh,12px);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-cream);background:rgba(10,22,40,.45)}
@media(min-width:900px) and (max-height:760px){.sp-card .b{display:none}}
@media(max-width:899px){.sp-exp.c3{grid-template-columns:1fr}}
.sp-hero.sp-solo{grid-template-columns:minmax(0,1fr)}
.sp-hero.sp-solo .sp-h1{max-width:14em}
.sp-hero.sp-solo .sp-intro{max-width:30em}
/* video pages: solid video, no photo behind it (desktop) */
@media(min-width:900px){.sp-bg.has-vid{background:#0a1628}.sp-bg.has-vid .sp-vid{opacity:1}}
@media(min-width:900px) and (prefers-reduced-motion:reduce){.sp-bg.has-vid{background:var(--sp-img) center/cover no-repeat,#0a1628}}
