@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Cormorant+Garamond:wght@400;500;600&family=Libre+Caslon+Text:wght@400;700&display=swap');
.csvip{--navy:#071a33;--gold:#b7924a;--ivory:#f6f0e5;--ink:#181713;background:var(--ivory);color:var(--ink);font:18px/1.8 'Libre Caslon Text',serif}.csvip *{box-sizing:border-box}.csvip h1,.csvip h2,.csvip h3,.csvip-home h2{font-family:Cinzel,serif;letter-spacing:.06em}.csvip-langs{padding:10px 5%;text-align:right;background:var(--navy)}.csvip-langs a{color:#e6c77d;margin-left:18px;text-decoration:none;font:13px Cinzel,serif}.csvip-hero{min-height:78vh;background-image:linear-gradient(90deg,rgba(7,26,51,.94),rgba(7,26,51,.42)),var(--hero);background-size:cover;background-position:center;display:flex;align-items:center}.csvip-shade{max-width:820px;padding:8vw 7%;color:white}.csvip-eyebrow,.csvip-num{color:#d9b766;font-family:Cinzel,serif;letter-spacing:.18em}.csvip h1{font-size:clamp(43px,6vw,88px);line-height:1.05;margin:.2em 0}.csvip-sub{font:600 clamp(24px,3vw,40px)/1.25 'Cormorant Garamond',serif;color:#edd99c}.csvip-intro{max-width:720px}.csvip-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.csvip-btn{display:inline-block;padding:14px 23px;border:1px solid #d4b15b;text-decoration:none;font:600 13px Cinzel,serif;letter-spacing:.1em}.csvip-btn.gold{background:#b7924a;color:#071a33}.csvip-btn.plain{color:white}.csvip-specs{display:grid;grid-template-columns:repeat(6,1fr);background:white;border-block:1px solid #d9c8a0}.csvip-specs div{padding:24px;text-align:center;border-right:1px solid #e4dac3}.csvip-specs strong,.csvip-specs span{display:block}.csvip-specs strong{font:600 24px Cormorant Garamond,serif;color:#825f19}.csvip-specs span{font-size:12px;text-transform:uppercase;letter-spacing:.09em}.csvip-editorial{max-width:950px;margin:auto;padding:100px 6%;text-align:center}.csvip h2{font-size:clamp(27px,3vw,43px);line-height:1.3;color:#102a4c}.csvip-split{display:grid;grid-template-columns:1.15fr 1fr;background:#eadfcf}.csvip-image img{width:100%;height:100%;min-height:560px;object-fit:cover}.csvip-copy{padding:9%}.csvip-dark{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:90px 7%;background:#071a33;color:#f6f0e5}.csvip-dark h2{color:#e7c776}.csvip-details{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:100px 7%}.csvip-details dl{display:grid;grid-template-columns:1fr 1.2fr;border-top:1px solid #ccb98f}.csvip-details dt,.csvip-details dd{padding:10px;border-bottom:1px solid #dccfaf;margin:0}.csvip-details dt{font-weight:bold}.csvip-cta{text-align:center;padding:100px 6%;background:#efe4d2;border:16px solid #f7f1e8;outline:1px solid #b7924a;outline-offset:-28px}.csvip-cta p{color:#805e22;letter-spacing:.12em}.csvip-home{min-height:600px;background-image:linear-gradient(90deg,rgba(7,26,51,.93),rgba(7,26,51,.18)),var(--hero);background-size:cover;background-position:center;display:flex;align-items:center;padding:7%;color:white}.csvip-home>div{max-width:720px}.csvip-home h2{font-size:clamp(42px,6vw,78px);margin:.2em 0}.csvip-home h3{font:500 30px Cormorant Garamond,serif;color:#e8c872}@media(max-width:850px){.csvip-specs{grid-template-columns:repeat(2,1fr)}.csvip-split,.csvip-dark,.csvip-details{grid-template-columns:1fr}.csvip-hero{min-height:680px}.csvip-image img{min-height:350px}.csvip-dark,.csvip-details{gap:20px;padding:60px 7%}}

/* v1.0.1 overflow, full-width and responsive corrections */
html,body{overflow-x:hidden}
.csvip,.csvip-home{position:relative;width:100%;max-width:100%;overflow:hidden;clear:both}
.csvip img,.csvip-home img{display:block;max-width:100%;height:auto}
.csvip section,.csvip header,.csvip nav,.csvip div,.csvip-home div{min-width:0;box-sizing:border-box}
.csvip-hero,.csvip-home{width:100%;max-width:100%;background-repeat:no-repeat}
.csvip-shade,.csvip-copy,.csvip-details>div,.csvip-dark>div{max-width:100%;overflow-wrap:anywhere}
.csvip-specs{width:100%;max-width:100%}
.csvip-specs div{min-width:0;padding:20px 12px}
.csvip-specs strong{font-size:clamp(19px,2vw,24px)}
.csvip-specs span,.csvip-details dt,.csvip-details dd{overflow-wrap:anywhere}
.csvip-btn{max-width:100%;white-space:normal;text-align:center}
.csvip-fullbleed{position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;overflow:hidden}
@media(max-width:1100px){.csvip-specs{grid-template-columns:repeat(3,minmax(0,1fr))}.csvip-details{gap:40px;padding:75px 5%}}
@media(max-width:700px){.csvip-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.csvip-shade{padding:70px 22px}.csvip h1{font-size:clamp(36px,12vw,58px);overflow-wrap:anywhere}.csvip-sub{font-size:clamp(22px,7vw,31px)}.csvip-editorial,.csvip-copy,.csvip-dark,.csvip-details,.csvip-cta{padding-left:22px;padding-right:22px}.csvip-details dl{grid-template-columns:1fr}.csvip-home{min-height:520px;padding:55px 22px}.csvip-home h2{font-size:clamp(34px,11vw,54px);overflow-wrap:anywhere}}

/* Serendib feature positioned after the Elementor #gems section */
#ceylon-serendib-home-feature {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clear: both;
    isolation: isolate;
}

#ceylon-serendib-home-feature .csvip-home {
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#ceylon-serendib-home-feature .csvip-fullbleed {
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#ceylon-serendib-home-feature .csvip-home > div {
    width: min(100%, 760px);
}

@media (max-width: 767px) {
    #ceylon-serendib-home-feature .csvip-home {
        min-height: 520px;
        padding: 55px 22px;
        background-position: center;
    }

    #ceylon-serendib-home-feature .csvip-home h2 {
        font-size: clamp(34px, 10vw, 52px);
        line-height: 1.08;
    }

    #ceylon-serendib-home-feature .csvip-home h3 {
        font-size: clamp(22px, 6vw, 29px);
        line-height: 1.25;
    }
}

/* Elementor homepage shortcode containment */
.elementor-widget-shortcode:has(.csvip-home) {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.elementor-widget-shortcode .csvip-home {
    position: relative;
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
}

.elementor-widget-shortcode .csvip-home.csvip-fullbleed {
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 767px) {
    .elementor-widget-shortcode .csvip-home {
        min-height: 500px;
        padding: 50px 22px;
    }
}
