
*{box-sizing:border-box}
.csn-site{--navy:#071626;--navy2:#0c3042;--teal:#18cdb8;--gold:#f2b53a;--ink:#071b36;--muted:#62758b;--line:#d9e5ec;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;overflow:hidden}
.csn-site a{text-decoration:none}
.csn-container{width:min(1440px,calc(100% - 42px));margin:0 auto}
.csn-nav{position:fixed;z-index:950;top:0;left:0;right:0;background:rgba(4,17,31,.92);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(18px)}
.csn-nav-inner{min-height:82px;display:flex;align-items:center;gap:30px}
.csn-brand{display:flex;align-items:center;gap:12px;color:#fff}
.csn-brand>span{width:50px;height:50px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#fff,#d7f7f2 58%,#f2b53a);color:#082a3d;font-weight:1000;box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(0,0,0,.24)}
.csn-brand strong,.csn-brand small{display:block}.csn-brand strong{font-size:17px}.csn-brand small{font-size:9px;color:#c9d7e6;margin-top:3px}
.csn-menu{display:flex;gap:27px;margin-left:auto}.csn-menu a{color:#d9e6f1;font-weight:800;font-size:14px}.csn-menu a:hover{color:#fff}
.csn-menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);color:#fff}
.csn-nav-cta{min-height:50px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(180deg,#ffd76c,#f2b53a 58%,#d88d09);color:#271800;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 4px 0 #a86e00,0 14px 28px rgba(242,181,58,.18)}

.csn-hero{position:relative;min-height:920px;display:flex;align-items:center;padding:140px 0 125px;background:var(--navy)}
.csn-hero-image,.csn-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.csn-hero-image{object-fit:cover;filter:brightness(.78) saturate(.95)}
.csn-hero-overlay{background:linear-gradient(90deg,rgba(3,14,27,.98) 0%,rgba(3,14,27,.86) 45%,rgba(3,14,27,.25) 100%),linear-gradient(0deg,rgba(3,14,27,.82),transparent 60%)}
.csn-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:58px;align-items:end}
.csn-hero-copy{max-width:850px;color:#fff}
.csn-kicker,.csn-section-head span,.csn-estimator>div>div:first-child>span,.csn-booking-grid>div:first-child>span,.csn-faq-grid>div:first-child>span,.csn-masterclass span{display:inline-flex;padding:10px 14px;border-radius:999px;color:#aefcf3;background:rgba(24,205,184,.13);border:1px solid rgba(24,205,184,.24);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.csn-hero h1{font-size:clamp(58px,7.4vw,104px);line-height:.92;letter-spacing:-.075em;margin:22px 0;text-shadow:0 24px 70px rgba(0,0,0,.35)}
.csn-hero h1 em{font-style:normal;color:#65e8d8}
.csn-hero-copy>p{max-width:700px;color:#d7e5f0;font-size:clamp(18px,1.7vw,23px);line-height:1.75}
.csn-hero-actions,.csn-hero-trust{display:flex;flex-wrap:wrap;gap:13px}.csn-hero-actions{margin-top:30px}
.csn-btn{min-height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;font-weight:900;transition:.2s}
.csn-btn-gold{background:linear-gradient(180deg,#ffd76c,#f2b53a 58%,#d88d09);color:#281900;box-shadow:inset 0 1px 0 #fff,0 5px 0 #a86e00,0 18px 38px rgba(242,181,58,.23)}
.csn-btn-glass{color:#fff;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);backdrop-filter:blur(12px)}
.csn-hero-trust{margin-top:28px}.csn-hero-trust span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);font-size:12px}
.csn-hero-card{padding:28px;border-radius:31px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,249,253,.93));border:1px solid rgba(255,255,255,.74);box-shadow:0 32px 90px rgba(0,0,0,.29);backdrop-filter:blur(16px)}
.csn-hero-card>span{color:#0a8e7e;font-size:10px;font-weight:900;letter-spacing:.14em}.csn-hero-card>strong{display:block;font-size:32px;line-height:1.08;margin:14px 0;color:var(--ink)}
.csn-hero-card p{color:var(--muted);line-height:1.68}.csn-hero-price{padding:17px;border-radius:19px;background:#edf8f6;margin:18px 0}.csn-hero-price small,.csn-hero-price b,.csn-hero-price em{display:block}
.csn-hero-price b{font-size:30px;color:#0b5f56}.csn-hero-price em{font-size:12px;color:#6d7f8e;font-style:normal;margin-top:5px}
.csn-hero-card button{width:100%;min-height:54px;border:0;border-radius:17px;background:linear-gradient(180deg,#20d2bd,#0f9b8a);color:#fff;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 0 #087064,0 16px 30px rgba(15,155,138,.23)}

.csn-finder-wrap{position:relative;z-index:6;margin-top:-72px}
.csn-finder-panel{display:grid;grid-template-columns:1.3fr repeat(4,1fr) auto;gap:14px;align-items:end;padding:25px;border-radius:30px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.82);box-shadow:0 30px 80px rgba(6,20,38,.18);backdrop-filter:blur(16px)}
.csn-finder-heading span,.csn-finder-heading strong,.csn-finder-heading p{display:block}.csn-finder-heading span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#0a8e7e}
.csn-finder-heading strong{font-size:24px;margin-top:7px}.csn-finder-heading p{color:#708197;font-size:12px;line-height:1.5;margin:6px 0 0}
.csn-finder-panel label{display:grid;gap:7px}.csn-finder-panel small{font-weight:800;color:#65768a}
.csn-finder-panel select{min-height:54px;border:1px solid #d5e0ea;border-radius:16px;padding:0 14px;background:#f8fafc;color:var(--ink)}
.csn-finder-submit{min-height:54px;padding:0 21px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(180deg,#164f6d,#082d45);color:#fff;font-weight:900;box-shadow:0 4px 0 #041c2c,0 14px 27px rgba(6,43,89,.18)}
.csn-finder-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:16px;border-top:1px solid #e4ecf2}
.csn-quick-filters{display:flex;flex-wrap:wrap;gap:8px}.csn-quick-filters button{min-height:34px;padding:0 12px;border:1px solid #d5e2e9;border-radius:999px;background:#f7fafc;color:#546b80;font-size:11px;font-weight:800;cursor:pointer}
.csn-quick-filters button.is-active{background:linear-gradient(180deg,#6fe6d9,#18cdb8);color:#083b36;border-color:#18cdb8;box-shadow:0 3px 0 #0b8478}
.csn-result-count{font-size:12px;color:#62758b}.csn-result-count b{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#e7f9f6;color:#087064;margin-right:5px}

.csn-section{padding:clamp(78px,8vw,118px) 0}
.csn-section-head{display:flex;justify-content:space-between;gap:38px;align-items:end;margin-bottom:35px}
.csn-section-head h2,.csn-estimator h2,.csn-booking h2,.csn-faq h2,.csn-masterclass h2{font-size:clamp(40px,5vw,70px);line-height:.98;letter-spacing:-.06em;margin:16px 0 0}
.csn-section-head>p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.75}.csn-section-head.centered{display:block;text-align:center}.csn-section-head.centered>div,.csn-section-head.centered>p{margin-left:auto;margin-right:auto}

.csn-listings{background:linear-gradient(180deg,#fff,#f3f7fa)}
.csn-listing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch}
.csn-listing-card{display:flex;flex-direction:column;border-radius:27px;overflow:hidden;background:#fff;border:1px solid #dfe8ee;box-shadow:0 24px 68px rgba(6,20,38,.10);transition:.25s}
.csn-listing-card:hover{transform:translateY(-8px);box-shadow:0 36px 86px rgba(6,20,38,.16)}
.csn-listing-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#071626}.csn-listing-image img{width:100%;height:100%;object-fit:cover;transition:.45s}.csn-listing-card:hover img{transform:scale(1.055)}
.csn-listing-image>span{position:absolute;left:14px;top:14px;padding:8px 11px;border-radius:999px;background:#fff;color:#082d45;font-size:11px;font-weight:900;box-shadow:0 10px 22px rgba(0,0,0,.15)}
.csn-favourite{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#31506a;font-size:23px;cursor:pointer;box-shadow:0 10px 22px rgba(0,0,0,.14)}
.csn-favourite.is-saved{color:#e14864}
.csn-listing-body{display:flex;flex-direction:column;flex:1;padding:20px}
.csn-listing-meta{display:flex;justify-content:space-between;gap:10px}.csn-listing-meta span{color:#0a8e7e;font-weight:900;font-size:13px}.csn-listing-meta small{color:#0e8a5e;font-weight:900;font-size:12px}.csn-listing-meta small i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#13a66f;box-shadow:0 0 0 3px rgba(19,166,111,.12)}
.csn-listing-card h3{font-size:21px;line-height:1.2;letter-spacing:-.035em;margin:12px 0 8px;min-height:50px}.csn-listing-card p{color:var(--muted);line-height:1.62;margin:0;font-size:14px;min-height:46px}
.csn-amenity-chips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.csn-amenity-chips em{padding:7px 9px;border-radius:999px;background:#f1f7f8;border:1px solid #dce9ea;color:#567078;font-size:10.5px;font-style:normal;font-weight:800}
.csn-listing-bottom{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-top:auto;padding-top:12px}
.csn-price small,.csn-price strong,.csn-price span{display:block}.csn-price small{color:#728298;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.csn-price strong{font-size:22px;color:#0b5f56;margin:4px 0}.csn-price span{font-size:11px;color:#718196}
.csn-rating{padding:8px 10px;border-radius:999px;background:#fff5d9;color:#9b6900;font-size:12px;font-weight:900}
.csn-compare-check{display:flex;align-items:center;gap:8px;margin-top:13px;color:#5e7186;font-size:12px;font-weight:800}.csn-compare-check input{accent-color:#18cdb8}
.csn-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.csn-card-actions button{min-height:47px;border-radius:15px;font-weight:900;cursor:pointer}
.csn-view-btn{border:1px solid #cedae3;background:#fff;color:var(--ink)}.csn-reserve-btn{border:0;background:linear-gradient(180deg,#ffd76c,#f2b53a);color:#251700;box-shadow:0 3px 0 #aa7000}
.csn-no-results{padding:30px;text-align:center;color:#62758b}

.csn-room-types{padding:clamp(78px,8vw,110px) 0;background:#071626;color:#fff}
.csn-room-types h2{color:#fff}.csn-room-types .csn-section-head p{color:#b9cad6}
.csn-room-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.csn-room-grid article{padding:22px;border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 48px rgba(0,0,0,.18)}
.csn-room-grid i{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#b8fff6,#f8e2a0);color:#082d45;font-style:normal;font-weight:1000}
.csn-room-grid strong,.csn-room-grid span,.csn-room-grid small{display:block}.csn-room-grid strong{font-size:18px;margin-top:17px}.csn-room-grid span{color:#bdced9;margin-top:7px;font-size:13px}.csn-room-grid small{color:#6fe6d9;margin-top:12px;font-weight:900}

.csn-estimator{padding:clamp(80px,8vw,116px) 0;background:radial-gradient(circle at 85% 15%,rgba(24,205,184,.12),transparent 26%),linear-gradient(180deg,#f7fbff,#edf5f6)}
.csn-estimator-grid{display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center}.csn-estimator p{color:var(--muted);font-size:17px;line-height:1.75}
.csn-estimator label{display:grid;gap:8px;margin-top:14px}.csn-estimator label small{font-weight:800;color:#5c7085}.csn-estimator select,.csn-estimator input{min-height:54px;border:1px solid #d5e2e8;border-radius:16px;padding:0 14px;background:#fff}
.csn-estimator-card{padding:28px;border-radius:28px;background:#fff;border:1px solid #dce8ed;box-shadow:0 28px 76px rgba(6,20,38,.13)}.csn-estimator-card>div{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e4edf1}.csn-estimator-card span{color:#66798d}.csn-estimator-card strong{color:#0b5f56}
.csn-estimator-total{margin-top:16px;padding:18px!important;border:0!important;border-radius:18px;background:linear-gradient(135deg,#082d45,#0b5f56);color:#fff}.csn-estimator-total span,.csn-estimator-total strong{color:#fff!important}.csn-estimator-total strong{font-size:26px}

.csn-locations{background:#fff}.csn-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.csn-location-grid button{min-height:155px;padding:22px;text-align:left;border-radius:24px;border:1px solid #dfe8ee;background:linear-gradient(180deg,#fff,#f4f8fa);cursor:pointer;box-shadow:0 18px 48px rgba(6,20,38,.07);transition:.2s}
.csn-location-grid button:hover{transform:translateY(-6px);border-color:rgba(24,205,184,.45)}.csn-location-grid strong,.csn-location-grid span,.csn-location-grid small{display:block}.csn-location-grid strong{font-size:24px}.csn-location-grid span{color:#62758b;margin-top:8px}.csn-location-grid small{color:#0a8e7e;margin-top:18px;font-weight:900}

.csn-booking{background:linear-gradient(135deg,#071626,#0b4a55);color:#fff}.csn-booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.csn-booking h2{color:#fff}.csn-booking p{color:#c9d9e1;font-size:17px;line-height:1.75}.csn-booking-points{display:grid;gap:10px;margin-top:24px}.csn-booking-points span{color:#cde4e7}
.csn-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:28px;border-radius:29px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 34px 90px rgba(0,0,0,.25)}
.csn-booking-form label{display:grid;gap:7px}.csn-booking-form small{font-weight:800;color:#5e7186}.csn-booking-form input,.csn-booking-form select{min-height:52px;border:1px solid #d6e1e9;border-radius:15px;padding:0 13px;background:#f9fbfc}
.csn-booking-form button{grid-column:1/-1;min-height:56px;border:0;border-radius:17px;background:linear-gradient(180deg,#20d2bd,#0f9b8a);color:#fff;font-weight:900;box-shadow:0 4px 0 #087064,0 16px 30px rgba(15,155,138,.2)}

.csn-testimonials{background:#f3f7fa}.csn-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.csn-testimonial-grid blockquote{margin:0;padding:26px;border-radius:24px;background:#fff;border:1px solid #dde7ed;box-shadow:0 18px 50px rgba(6,20,38,.07)}
.csn-testimonial-grid blockquote>div{color:#f2b53a;font-weight:900}.csn-testimonial-grid blockquote>div span{color:#9b6900}.csn-testimonial-grid p{color:#4f6378;line-height:1.75}
.csn-testimonial-grid footer{display:flex;align-items:center;gap:12px;margin-top:18px}.csn-testimonial-grid footer>b{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e6fffb,#f8e0a0);color:#082d45}
.csn-testimonial-grid footer strong,.csn-testimonial-grid footer small{display:block}.csn-testimonial-grid footer small{color:#6c7e91;margin-top:4px}

.csn-faq{background:#fff}.csn-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px}.csn-faq-grid>div:first-child p{color:var(--muted);line-height:1.75}.csn-faq-grid>div:first-child>a{min-height:52px;padding:0 18px;display:inline-flex;align-items:center;border-radius:16px;background:#0f9b8a;color:#fff;font-weight:900}
.csn-accordion details{padding:18px 20px;border-radius:18px;background:#f8fbfc;border:1px solid #dde7ed;margin-bottom:11px}.csn-accordion summary{font-weight:900;cursor:pointer}.csn-accordion p{color:var(--muted);line-height:1.65}

.csn-masterclass{padding:76px 0;background:linear-gradient(135deg,#fff4df,#eaf8f6)}.csn-masterclass-panel{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.csn-masterclass p{color:var(--muted);font-size:17px;line-height:1.75}
.csn-masterclass-chips{display:flex;flex-wrap:wrap;gap:9px}.csn-masterclass-chips em{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #dce8e8;color:#587078;font-style:normal;font-size:12px;font-weight:800}
.csn-masterclass-actions{display:grid;gap:12px}.csn-masterclass-actions a{min-height:58px;padding:0 22px;display:flex;align-items:center;justify-content:center;border-radius:18px;font-weight:900}.csn-masterclass-actions a:first-child{background:linear-gradient(180deg,#20d2bd,#0f9b8a);color:#fff;box-shadow:0 4px 0 #087064}.csn-masterclass-actions a:last-child{background:#fff;color:#082d45;border:1px solid #d5e1e7}

.csn-footer{padding:70px 0;background:#04111f;color:#fff}.csn-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:38px}.csn-footer h4{margin-top:0}.csn-footer p,.csn-footer a,.csn-footer span{color:#afc0cf;line-height:1.65}.csn-footer-grid>div{display:grid;align-content:start;gap:7px}

.csn-compare-fab{position:fixed;right:22px;bottom:22px;z-index:850;min-width:110px;height:52px;border:0;border-radius:17px;background:linear-gradient(180deg,#ffd76c,#f2b53a);color:#281900;font-weight:900;box-shadow:0 4px 0 #a86e00,0 18px 35px rgba(0,0,0,.25)}
.csn-compare-fab b{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:7px;border-radius:50%;background:#071626;color:#fff}.csn-mobile-booking{display:none}

.csn-modal,.csn-compare-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:18px;background:rgba(3,12,25,.82);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.25s}
.csn-modal.is-open,.csn-compare-modal.is-open{opacity:1;visibility:visible}
.csn-modal-panel{position:relative;width:min(930px,100%);display:grid;grid-template-columns:1fr 1fr;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 40px 120px rgba(0,0,0,.42)}
.csn-modal-close,.csn-compare-close{position:absolute;right:16px;top:14px;z-index:3;width:43px;height:43px;border:0;border-radius:50%;background:#fff;color:#183653;font-size:25px;box-shadow:0 12px 24px rgba(0,0,0,.15);cursor:pointer}
.csn-modal-image{min-height:520px;background:#071626}.csn-modal-image img{width:100%;height:100%;object-fit:cover}.csn-modal-copy{padding:38px}.csn-modal-copy>span,.csn-compare-panel>span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#0a8e7e}
.csn-modal-copy h2{font-size:40px;line-height:1;letter-spacing:-.05em}.csn-modal-copy p{color:var(--muted);line-height:1.7}
.csn-modal-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.csn-modal-specs>div{padding:14px;border-radius:15px;background:#f2f7f7}.csn-modal-specs small,.csn-modal-specs strong{display:block}
.csn-modal-amenities{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.csn-modal-amenities span{padding:8px 10px;border-radius:999px;background:#ecf8f6;color:#0b6f64;font-size:11px;font-weight:800}
.csn-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.csn-modal-actions button,.csn-modal-actions a{min-height:53px;display:grid;place-items:center;border-radius:16px;font-weight:900}.csn-modal-estimate{border:1px solid #cedae3;background:#fff}.csn-modal-wa{background:#0f9b8a;color:#fff}
.csn-compare-panel{position:relative;width:min(1080px,100%);max-height:90vh;overflow:auto;padding:34px;border-radius:30px;background:#fff;box-shadow:0 40px 120px rgba(0,0,0,.42)}.csn-compare-panel h3{font-size:36px}
.csn-compare-content{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.csn-compare-card{padding:18px;border-radius:20px;background:#f5f9fa;border:1px solid #dce7eb}.csn-compare-card h4{font-size:19px}.csn-compare-card div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #dce7eb}.csn-compare-card span{color:#6a7c8f}.csn-compare-card strong{color:#0b5f56}

@media(max-width:1200px){
 .csn-listing-grid{grid-template-columns:repeat(2,1fr)}
 .csn-room-grid{grid-template-columns:repeat(3,1fr)}
 .csn-finder-panel{grid-template-columns:1fr 1fr 1fr}
 .csn-finder-heading{grid-column:1/-1}.csn-finder-submit{grid-column:1/-1}
}
@media(max-width:920px){
 .csn-menu-toggle{display:block}.csn-menu{position:absolute;left:20px;right:20px;top:76px;display:none;flex-direction:column;padding:17px;border-radius:18px;background:#071626;border:1px solid rgba(255,255,255,.12)}.csn-menu.is-open{display:flex}.csn-nav-cta{display:none}
 .csn-hero{min-height:1040px}.csn-hero-grid{grid-template-columns:1fr}.csn-hero-card{max-width:520px}
 .csn-estimator-grid,.csn-booking-grid,.csn-faq-grid,.csn-masterclass-panel{grid-template-columns:1fr}
 .csn-location-grid,.csn-testimonial-grid{grid-template-columns:1fr}
 .csn-modal-panel{grid-template-columns:1fr;max-height:94vh;overflow:auto}.csn-modal-image{min-height:300px}
 .csn-compare-content{grid-template-columns:1fr}
 .csn-section-head{display:block}.csn-section-head>p{margin-top:16px}
 .csn-mobile-booking{display:grid;position:fixed;z-index:840;left:14px;right:140px;bottom:15px;min-height:52px;place-items:center;border-radius:16px;background:#0f9b8a;color:#fff;font-weight:900;box-shadow:0 16px 35px rgba(0,0,0,.25)}
 .csn-footer{padding-bottom:95px}
}
@media(max-width:650px){
 .csn-container{width:min(100% - 24px,1440px)}.csn-nav-inner{min-height:72px}.csn-brand>span{width:43px;height:43px}.csn-brand strong{font-size:14px}
 .csn-hero{min-height:930px;padding:115px 0 105px}.csn-hero h1{font-size:49px}
 .csn-finder-wrap{margin-top:-42px}.csn-finder-panel{grid-template-columns:1fr;padding:18px}.csn-finder-footer{align-items:flex-start;flex-direction:column}
 .csn-listing-grid,.csn-room-grid,.csn-booking-form{grid-template-columns:1fr}
 .csn-section-head h2,.csn-estimator h2,.csn-booking h2,.csn-faq h2,.csn-masterclass h2{font-size:38px}
 .csn-modal-copy{padding:24px 18px}.csn-modal-copy h2{font-size:34px}.csn-modal-actions,.csn-modal-specs{grid-template-columns:1fr}
 .csn-footer-grid{grid-template-columns:1fr}
 .csn-compare-fab{right:14px;bottom:15px}.csn-mobile-booking{right:132px}
}


/* v1.1 premium popular-hostel hero card */
.csn-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(350px,390px);
    gap:54px;
}
.csn-hero-card-premium{
    position:relative;
    overflow:hidden;
    width:100%;
    max-width:390px;
    justify-self:end;
    padding:24px;
    border-radius:27px;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.12),transparent 27%),
      radial-gradient(circle at bottom left,rgba(242,181,58,.10),transparent 24%),
      linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,248,249,.92));
    border:1px solid rgba(255,255,255,.78);
    box-shadow:
      0 34px 92px rgba(0,0,0,.30),
      0 12px 30px rgba(3,14,27,.12),
      inset 0 1px 0 rgba(255,255,255,.96);
    backdrop-filter:blur(18px) saturate(1.06);
}
.csn-hero-card-premium::before{
    content:"";
    position:absolute;
    left:22px;
    right:22px;
    top:0;
    height:5px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#18cdb8,#54e6d5 52%,#f2b53a);
    box-shadow:0 7px 18px rgba(24,205,184,.20);
}
.csn-hero-card-premium>*{
    position:relative;
    z-index:1;
}
.csn-hero-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px;
}
.csn-hero-card-top>span{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:8px 11px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d4f8f2);
    border:1px solid rgba(24,205,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 22px rgba(24,205,184,.09);
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.csn-hero-rating{
    display:inline-flex;
    align-items:center;
    padding:8px 10px;
    border-radius:999px;
    color:#916100;
    background:linear-gradient(180deg,#fff8dc,#ffedb2);
    border:1px solid rgba(242,181,58,.29);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
    font-size:11px;
    font-weight:900;
}
.csn-hero-card-title-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 78px;
    gap:14px;
    align-items:start;
}
.csn-hero-card-title-row strong{
    display:block;
    margin:0;
    color:#071b36;
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.045em;
}
.csn-hero-card-title-row small{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:9px;
    color:#5d7387;
    font-size:12px;
    font-weight:800;
}
.csn-hero-card-title-row small i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-hero-card-title-row img{
    width:78px;
    height:78px;
    object-fit:cover;
    border-radius:19px;
    border:3px solid rgba(255,255,255,.94);
    box-shadow:
      0 14px 28px rgba(6,20,38,.16),
      0 0 0 1px rgba(24,205,184,.16);
}
.csn-hero-card-premium>p{
    margin:15px 0 0;
    color:#5e7387;
    font-size:14px;
    line-height:1.65;
}
.csn-hero-card-chips{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:15px 0;
}
.csn-hero-card-chips em{
    display:inline-flex;
    padding:7px 9px;
    border-radius:999px;
    color:#526d74;
    background:linear-gradient(180deg,#f7fbfc,#eaf4f5);
    border:1px solid #d8e8e9;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94);
    font-size:10.5px;
    line-height:1;
    font-style:normal;
    font-weight:800;
}
.csn-hero-price-premium{
    margin:0 0 15px;
    padding:14px 15px;
    border-radius:18px;
    background:linear-gradient(180deg,#effbf9,#e2f6f2);
    border:1px solid rgba(24,205,184,.13);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.94),
      0 13px 27px rgba(11,95,86,.07);
}
.csn-hero-price-premium>small{
    color:#607488;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.csn-hero-price-line{
    display:flex;
    align-items:baseline;
    gap:7px;
    margin-top:5px;
}
.csn-hero-price-line>b{
    color:#0b695f;
    font-size:27px;
    line-height:1.08;
    letter-spacing:-.035em;
}
.csn-hero-price-line>span{
    color:#64798b;
    font-size:12px;
    font-weight:800;
}
.csn-hero-price-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid rgba(11,105,95,.10);
}
.csn-hero-price-meta>span{
    color:#5f7486;
    font-size:11px;
    font-weight:800;
}
.csn-hero-price-meta>em{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#0d845a;
    font-size:11px;
    font-style:normal;
    font-weight:900;
}
.csn-hero-price-meta>em i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#13a66f;
    box-shadow:0 0 0 3px rgba(19,166,111,.12);
}
.csn-hero-view-button{
    position:relative;
    overflow:hidden;
    min-height:51px!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,#2ddbc7 0%,#18cdb8 55%,#0c9c8b 100%)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      inset 0 -2px 0 rgba(8,112,100,.18),
      0 4px 0 #087064,
      0 17px 30px rgba(15,155,138,.22)!important;
}
.csn-hero-view-button::before{
    content:"";
    position:absolute;
    inset:1px 1px auto 1px;
    height:46%;
    border-radius:15px 15px 8px 8px;
    background:linear-gradient(180deg,rgba(255,255,255,.20),transparent);
    pointer-events:none;
}
.csn-hero-view-button>i{
    position:relative;
    margin-left:7px;
    font-style:normal;
    font-size:18px;
    transition:transform .18s ease;
}
.csn-hero-view-button:hover{
    transform:translateY(-2px);
}
.csn-hero-view-button:hover>i{
    transform:translateX(4px);
}
.csn-hero-view-button:active{
    transform:translateY(2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      0 1px 0 #087064,
      0 8px 16px rgba(15,155,138,.15)!important;
}
.csn-hero-whatsapp-link{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:13px;
    color:#087064;
    font-size:12px;
    font-weight:900;
}
.csn-hero-whatsapp-link::before{
    content:"●";
    margin-right:7px;
    color:#13a66f;
    font-size:11px;
}
.csn-hero-whatsapp-link:hover{
    text-decoration:underline;
}

/* Prevent floating Compare control from touching the hero card */
.csn-compare-fab{
    transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
}
.csn-compare-fab.is-hero-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(16px);
}

@media(max-width:920px){
  .csn-hero-grid{
      grid-template-columns:1fr;
      gap:30px;
  }
  .csn-hero-card-premium{
      justify-self:start;
      max-width:390px;
  }
}
@media(max-width:650px){
  .csn-hero-card-premium{
      max-width:100%;
      padding:20px;
      border-radius:24px;
  }
  .csn-hero-card-title-row{
      grid-template-columns:minmax(0,1fr) 66px;
  }
  .csn-hero-card-title-row strong{
      font-size:25px;
  }
  .csn-hero-card-title-row img{
      width:66px;
      height:66px;
      border-radius:17px;
  }
  .csn-hero-price-meta{
      align-items:flex-start;
      flex-direction:column;
  }
}


/* v1.2 premium two-row Smart Hostel Finder */
.csn-finder-wrap{
    margin-top:-78px;
}
.csn-finder-panel-premium{
    position:relative;
    overflow:hidden;
    display:block;
    padding:27px 28px 22px;
    border-radius:31px;
    background:
      radial-gradient(circle at 12% 0%,rgba(24,205,184,.11),transparent 25%),
      radial-gradient(circle at 91% 11%,rgba(242,181,58,.09),transparent 22%),
      linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,248,249,.96));
    border:1px solid rgba(255,255,255,.86);
    box-shadow:
      0 34px 88px rgba(6,20,38,.18),
      0 12px 30px rgba(6,20,38,.07),
      inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
}
.csn-finder-panel-premium::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.38),transparent 24%),
      radial-gradient(circle,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,24px 24px;
    opacity:.58;
}
.csn-finder-panel-premium>*{
    position:relative;
    z-index:1;
}
.csn-finder-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:28px;
    padding-bottom:20px;
}
.csn-finder-heading{
    max-width:780px;
}
.csn-finder-heading>span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:8px 11px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.93),0 10px 22px rgba(24,205,184,.09);
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}
.csn-finder-heading>span i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-finder-heading>strong{
    display:block;
    margin-top:12px;
    color:#071b36;
    font-size:31px;
    line-height:1.08;
    letter-spacing:-.045em;
}
.csn-finder-heading>p{
    max-width:680px;
    margin:7px 0 0;
    color:#607488;
    font-size:13px;
    line-height:1.6;
}
.csn-result-count-top{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border-radius:999px;
    color:#456276;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(196,215,225,.85);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 24px rgba(6,20,38,.06);
    font-size:12px;
    font-weight:800;
}
.csn-result-count-top>i{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#13a66f;
    box-shadow:0 0 0 4px rgba(19,166,111,.12);
}
.csn-result-count-top>b{
    min-width:auto;
    height:auto;
    margin:0;
    padding:0;
    color:#087064;
    background:none;
    font-size:14px;
}
.csn-result-count-top>span{
    color:#5e7488;
}
.csn-finder-controls{
    display:grid;
    grid-template-columns:minmax(190px,1.08fr) minmax(190px,1.08fr) minmax(175px,.92fr) minmax(175px,.92fr) minmax(220px,auto);
    gap:14px;
    align-items:end;
    padding:18px 0;
    border-top:1px solid rgba(208,222,232,.82);
    border-bottom:1px solid rgba(208,222,232,.82);
}
.csn-finder-controls label{
    display:grid;
    gap:8px;
}
.csn-finder-controls label>small{
    color:#5d7085;
    font-size:11px;
    font-weight:900;
}
.csn-control-wrap{
    position:relative;
    display:block;
}
.csn-control-wrap>i{
    position:absolute;
    z-index:2;
    left:14px;
    top:50%;
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    color:#0b8f80;
    transform:translateY(-50%);
    pointer-events:none;
}
.csn-control-wrap svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-finder-controls select{
    width:100%;
    min-height:55px;
    padding:0 40px 0 43px;
    border:1px solid #cfdee6;
    border-radius:16px;
    background:linear-gradient(180deg,#fbfdfe,#f2f7f9);
    color:#071b36;
    outline:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 11px 22px rgba(6,20,38,.045);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.csn-finder-controls select:focus{
    transform:translateY(-1px);
    border-color:rgba(24,205,184,.68);
    box-shadow:
      0 0 0 4px rgba(24,205,184,.10),
      inset 0 1px 0 rgba(255,255,255,.96),
      0 14px 26px rgba(6,20,38,.07);
}
.csn-finder-submit-premium{
    position:relative;
    overflow:hidden;
    min-height:55px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(180deg,#24d6c1 0%,#12b9a6 58%,#087c70 100%);
    border:1px solid rgba(8,112,100,.17);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.30),
      inset 0 -2px 0 rgba(8,112,100,.18),
      0 4px 0 #087064,
      0 17px 30px rgba(15,155,138,.20);
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}
.csn-finder-submit-premium::before{
    content:"";
    position:absolute;
    inset:1px 1px auto 1px;
    height:45%;
    border-radius:15px 15px 8px 8px;
    background:linear-gradient(180deg,rgba(255,255,255,.20),transparent);
    pointer-events:none;
}
.csn-finder-submit-premium>i{
    position:relative;
    margin-left:7px;
    font-style:normal;
    font-size:18px;
    transition:transform .18s ease;
}
.csn-finder-submit-premium:hover{
    transform:translateY(-2px);
}
.csn-finder-submit-premium:hover>i{
    transform:translateX(4px);
}
.csn-finder-submit-premium:active{
    transform:translateY(2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      0 1px 0 #087064,
      0 8px 16px rgba(15,155,138,.15);
}
.csn-finder-panel-premium .csn-finder-footer{
    display:block;
    padding-top:15px;
    border:0;
}
.csn-finder-panel-premium .csn-quick-filters{
    gap:8px;
}
.csn-finder-panel-premium .csn-quick-filters button{
    min-height:33px;
    padding:0 12px;
    border-radius:999px;
    color:#526b80;
    background:linear-gradient(180deg,#ffffff,#f3f7f9);
    border:1px solid #d4e1e8;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:10.5px;
    font-weight:800;
    transition:.18s ease;
}
.csn-finder-panel-premium .csn-quick-filters button:hover{
    transform:translateY(-1px);
    border-color:rgba(24,205,184,.42);
}
.csn-finder-panel-premium .csn-quick-filters button.is-active{
    color:#083b36;
    background:linear-gradient(180deg,#72eadc,#18cdb8);
    border-color:#18cdb8;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.42),
      0 3px 0 #0b8478,
      0 10px 20px rgba(24,205,184,.13);
}

/* Responsive finder layout */
@media(max-width:1180px){
  .csn-finder-controls{
      grid-template-columns:1fr 1fr;
  }
  .csn-finder-submit-premium{
      grid-column:1/-1;
  }
}
@media(max-width:720px){
  .csn-finder-wrap{
      margin-top:-48px;
  }
  .csn-finder-panel-premium{
      padding:20px 17px 17px;
      border-radius:24px;
  }
  .csn-finder-top{
      align-items:flex-start;
      flex-direction:column;
      gap:14px;
      padding-bottom:16px;
  }
  .csn-finder-heading>strong{
      font-size:26px;
  }
  .csn-result-count-top{
      align-self:flex-start;
  }
  .csn-finder-controls{
      grid-template-columns:1fr;
      gap:13px;
      padding:16px 0;
  }
  .csn-finder-submit-premium{
      grid-column:auto;
      width:100%;
  }
  .csn-quick-filters{
      flex-wrap:nowrap;
      overflow-x:auto;
      padding-bottom:5px;
      scrollbar-width:thin;
  }
  .csn-quick-filters button{
      flex:0 0 auto;
  }
}


/* v1.3 premium featured-hostels header and listing cards */
.csn-listings{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 12% 8%,rgba(24,205,184,.10),transparent 24%),
      radial-gradient(circle at 88% 8%,rgba(242,181,58,.08),transparent 22%),
      linear-gradient(180deg,#f9fcfd 0%,#eef4f7 100%);
}
.csn-listings::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle,rgba(7,27,54,.032) 1px,transparent 1px);
    background-size:24px 24px;
    opacity:.5;
}
.csn-listings>.csn-container{
    position:relative;
    z-index:1;
}
.csn-listings-head{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    gap:46px;
    align-items:end;
    margin-bottom:34px;
}
.csn-listings-head-copy>span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(24,205,184,.09);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-listings-head-copy>span i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-listings-head h2{
    max-width:750px;
    margin:16px 0 0;
    color:#071b36;
    font-size:clamp(44px,4.7vw,56px);
    line-height:1.01;
    letter-spacing:-.06em;
    text-wrap:balance;
}
.csn-listings-head-copy>b{
    display:block;
    width:105px;
    height:5px;
    margin-top:18px;
    border-radius:999px;
    background:linear-gradient(90deg,#18cdb8,#3dbfde 55%,#f2b53a);
    box-shadow:0 8px 18px rgba(24,205,184,.14);
}
.csn-listings-head-side{
    display:grid;
    gap:15px;
    align-content:end;
    padding-bottom:3px;
}
.csn-listings-head-side>p{
    max-width:510px;
    margin:0;
    color:#586f84;
    font-size:16px;
    line-height:1.7;
}
.csn-listings-head-side>small{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    padding:8px 11px;
    border-radius:999px;
    color:#536b80;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(202,219,228,.86);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:11px;
    font-weight:800;
}
.csn-listings-head-side>small i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#13a66f;
    box-shadow:0 0 0 4px rgba(19,166,111,.11);
}
.csn-listings-head-side>small strong{
    color:#087064;
    font-size:13px;
}

/* Wider and more balanced card grid */
.csn-listing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:23px;
}
.csn-listing-card{
    min-width:0;
    border-radius:25px;
    border:1px solid #d5e2e9;
    box-shadow:
      0 23px 62px rgba(6,20,38,.10),
      0 8px 20px rgba(6,20,38,.04),
      inset 0 1px 0 rgba(255,255,255,.98);
}
.csn-listing-card:hover{
    transform:translateY(-7px);
    border-color:rgba(24,205,184,.35);
    box-shadow:
      0 34px 82px rgba(6,20,38,.15),
      0 13px 28px rgba(6,20,38,.06),
      inset 0 1px 0 rgba(255,255,255,.98);
}
.csn-listing-image{
    aspect-ratio:16/10;
}
.csn-listing-image::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:38%;
    background:linear-gradient(0deg,rgba(3,14,27,.48),transparent);
    pointer-events:none;
}
.csn-listing-image>span{
    z-index:2;
    top:13px;
    left:13px;
    padding:7px 10px;
    font-size:10.5px;
}
.csn-listing-image>b{
    position:absolute;
    z-index:2;
    left:13px;
    bottom:13px;
    max-width:calc(100% - 74px);
    padding:7px 10px;
    border-radius:999px;
    color:#fff;
    background:rgba(3,20,32,.72);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    font-size:10px;
    line-height:1;
    font-weight:900;
}
.csn-favourite{
    z-index:2;
    top:13px;
    right:13px;
    width:39px;
    height:39px;
}
.csn-listing-body{
    padding:18px;
}
.csn-listing-meta{
    align-items:center;
}
.csn-listing-meta>span{
    font-size:12px;
}
.csn-listing-meta>small{
    display:inline-flex;
    align-items:center;
    padding:6px 8px;
    border-radius:999px;
    color:#0d845a;
    background:#e9faf2;
    border:1px solid rgba(19,166,111,.13);
    font-size:10.5px;
}
.csn-listing-card h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:46px;
    margin:11px 0 7px;
    font-size:19px;
    line-height:1.22;
}
.csn-listing-card p{
    min-height:43px;
    font-size:13px;
    line-height:1.62;
}
.csn-amenity-chips{
    min-height:58px;
    gap:6px;
    margin:12px 0;
    align-content:flex-start;
}
.csn-amenity-chips em{
    padding:6px 8px;
    font-size:10px;
}
.csn-amenity-chips .csn-more-chip{
    color:#087064;
    background:#e7f8f5;
    border-color:rgba(24,205,184,.18);
}
.csn-price-panel{
    align-items:center;
    margin-top:auto;
    padding:13px 14px;
    border-radius:17px;
    background:linear-gradient(180deg,#f7fbfc,#ebf5f5);
    border:1px solid #d8e7e9;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 12px 24px rgba(6,20,38,.045);
}
.csn-price>small{
    font-size:9.5px;
}
.csn-price>div{
    display:flex;
    align-items:baseline;
    gap:6px;
    margin-top:4px;
}
.csn-price strong{
    margin:0;
    font-size:21px;
}
.csn-price>div em{
    color:#62758b;
    font-size:10.5px;
    font-style:normal;
    font-weight:800;
}
.csn-price>span{
    margin-top:5px;
    font-size:10.5px;
}
.csn-rating{
    padding:8px 10px;
    font-size:11px;
}
.csn-compare-check{
    margin-top:11px;
    cursor:pointer;
}
.csn-compare-check input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.csn-compare-check>span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    min-height:38px;
    padding:0 11px;
    border-radius:13px;
    color:#536b80;
    background:linear-gradient(180deg,#fff,#f5f8fa);
    border:1px solid #d4e0e7;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
    font-size:11.5px;
    font-weight:900;
    transition:.18s ease;
}
.csn-compare-check>span i{
    width:21px;
    height:21px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:#087064;
    background:#e8f8f5;
    font-style:normal;
    font-size:14px;
}
.csn-compare-check input:checked+span{
    color:#083b36;
    background:linear-gradient(180deg,#dffff9,#c7f4ec);
    border-color:rgba(24,205,184,.52);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.85),
      0 0 0 3px rgba(24,205,184,.08);
}
.csn-compare-check input:checked+span i{
    color:#fff;
    background:#0f9b8a;
}
.csn-card-actions{
    gap:9px;
    margin-top:10px;
}
.csn-card-actions button{
    min-height:45px;
    padding:0 10px;
    border-radius:14px;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
}
.csn-view-btn{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 3px 0 #d2dde5;
}
.csn-reserve-btn{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.5),
      0 3px 0 #aa7000,
      0 12px 22px rgba(242,181,58,.16);
}

/* Compare control appears only when at least one listing is selected */
.csn-compare-fab{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    right:24px;
    bottom:24px;
    min-width:162px;
    padding:0 16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px);
    transition:opacity .24s ease,visibility .24s ease,transform .24s ease;
}
.csn-compare-fab.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
}
.csn-compare-fab>span{
    font-weight:900;
}
.csn-compare-fab b{
    margin-left:3px;
}
.csn-compare-fab.is-hero-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px);
}

@media(min-width:1540px){
  .csn-listing-grid{
      grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:1050px){
  .csn-listings-head{
      grid-template-columns:1fr;
      gap:22px;
      align-items:start;
  }
  .csn-listings-head-side{
      max-width:680px;
  }
  .csn-listing-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .csn-listings-head{
      margin-bottom:27px;
  }
  .csn-listings-head h2{
      font-size:36px;
  }
  .csn-listings-head-side>p{
      font-size:15px;
  }
  .csn-listing-grid{
      grid-template-columns:1fr;
      gap:17px;
  }
  .csn-listing-card h3{
      min-height:auto;
  }
  .csn-listing-card p,
  .csn-amenity-chips{
      min-height:auto;
  }
  .csn-compare-fab{
      right:14px;
      bottom:76px;
      min-width:150px;
      height:48px;
  }
}


/* v1.4 premium hostel details popup */
.csn-modal{
    padding:22px;
    background:
      radial-gradient(circle at 18% 14%,rgba(24,205,184,.13),transparent 24%),
      radial-gradient(circle at 85% 82%,rgba(242,181,58,.10),transparent 22%),
      rgba(2,11,23,.88);
}
.csn-modal-panel-premium{
    position:relative;
    width:min(1080px,100%);
    max-height:min(92vh,780px);
    display:grid;
    grid-template-columns:minmax(350px,42%) minmax(0,58%);
    overflow:hidden;
    border-radius:32px;
    background:#fff;
    border:1px solid rgba(255,255,255,.72);
    box-shadow:
      0 46px 130px rgba(0,0,0,.50),
      0 16px 38px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.95);
}
.csn-modal-panel-premium .csn-modal-close{
    position:absolute;
    z-index:10;
    top:16px;
    right:16px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(213,226,235,.92);
    border-radius:50%;
    color:#183653;
    background:linear-gradient(180deg,#fff,#edf4f8);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.97),
      0 4px 0 #c4d5e1,
      0 13px 28px rgba(6,20,38,.14);
    font-size:25px;
    line-height:1;
    transition:transform .2s ease,box-shadow .2s ease;
}
.csn-modal-panel-premium .csn-modal-close:hover{
    transform:translateY(-2px) rotate(7deg);
}
.csn-modal-panel-premium .csn-modal-close:active{
    transform:translateY(2px);
    box-shadow:0 1px 0 #c4d5e1,0 7px 14px rgba(6,20,38,.10);
}
.csn-modal-panel-premium .csn-modal-image{
    position:relative;
    min-height:0;
    height:100%;
    overflow:hidden;
    background:#071626;
}
.csn-modal-panel-premium .csn-modal-image img{
    width:100%;
    height:100%;
    min-height:620px;
    object-fit:cover;
    object-position:center;
    transition:transform .5s ease;
}
.csn-modal-panel-premium:hover .csn-modal-image img{
    transform:scale(1.025);
}
.csn-modal-image-shade{
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,rgba(3,14,27,.16) 0%,transparent 35%,rgba(3,14,27,.84) 100%),
      linear-gradient(90deg,rgba(3,14,27,.15),transparent 40%);
    pointer-events:none;
}
.csn-modal-image-availability{
    position:absolute;
    z-index:2;
    left:20px;
    top:20px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border-radius:999px;
    color:#e7fff3;
    background:rgba(8,70,54,.76);
    border:1px solid rgba(113,236,178,.28);
    box-shadow:0 14px 28px rgba(0,0,0,.22);
    backdrop-filter:blur(12px);
    font-size:10.5px;
    font-weight:900;
    letter-spacing:.03em;
}
.csn-modal-image-availability>i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#4ade80;
    box-shadow:0 0 0 4px rgba(74,222,128,.15);
}
.csn-modal-image-caption{
    position:absolute;
    z-index:2;
    left:24px;
    right:24px;
    bottom:24px;
    display:grid;
    gap:7px;
}
.csn-modal-image-caption small{
    color:#91f7eb;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.csn-modal-image-caption strong{
    max-width:330px;
    color:#fff;
    font-size:25px;
    line-height:1.12;
    letter-spacing:-.035em;
    text-shadow:0 8px 25px rgba(0,0,0,.35);
}
.csn-modal-panel-premium .csn-modal-copy{
    min-width:0;
    overflow-y:auto;
    padding:38px 36px 30px;
    background:
      radial-gradient(circle at 94% 4%,rgba(24,205,184,.08),transparent 23%),
      linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
}
.csn-modal-title-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-right:53px;
}
.csn-modal-title-top>span{
    color:#0a8e7e;
    font-size:10px;
    font-weight:900;
    letter-spacing:.15em;
}
.csn-modal-rating{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border-radius:999px;
    color:#936300;
    background:linear-gradient(180deg,#fff8db,#ffedb2);
    border:1px solid rgba(242,181,58,.29);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
    font-size:11px;
    font-weight:900;
}
.csn-modal-panel-premium .csn-modal-copy h2{
    margin:14px 0 9px;
    color:#071b36;
    font-size:clamp(32px,3.4vw,43px);
    line-height:1.02;
    letter-spacing:-.055em;
}
.csn-modal-panel-premium .csn-modal-nearby{
    margin:0;
    color:#60758a;
    font-size:14.5px;
    line-height:1.65;
}
.csn-modal-status-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:15px 0 18px;
}
.csn-modal-status-row>span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border-radius:999px;
    color:#536b80;
    background:#f3f7f9;
    border:1px solid #dce7ed;
    font-size:10.5px;
    font-weight:800;
}
.csn-modal-status-row>span:first-child{
    color:#0b7a52;
    background:#eafaf2;
    border-color:rgba(19,166,111,.14);
}
.csn-modal-status-row>span:nth-child(2){
    color:#916100;
    background:#fff7da;
    border-color:rgba(242,181,58,.22);
}
.csn-modal-status-row i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#13a66f;
    box-shadow:0 0 0 3px rgba(19,166,111,.12);
}
.csn-modal-panel-premium .csn-modal-specs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0 0 18px;
}
.csn-modal-panel-premium .csn-modal-specs>div{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:11px;
    align-items:center;
    min-height:82px;
    padding:13px;
    border-radius:17px;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.06),transparent 28%),
      linear-gradient(180deg,#f8fbfc,#edf5f5);
    border:1px solid #d9e7e8;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 11px 23px rgba(6,20,38,.045);
}
.csn-modal-specs>div>i{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#087a70;
    background:linear-gradient(180deg,#dcfaf5,#c7f1e9);
    border:1px solid rgba(24,205,184,.13);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 16px rgba(24,205,184,.08);
}
.csn-modal-specs svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-modal-specs>div>span{
    display:grid;
    gap:4px;
    min-width:0;
}
.csn-modal-specs small{
    color:#667b8e;
    font-size:10px;
    font-weight:800;
}
.csn-modal-specs strong{
    color:#0b2944;
    font-size:14px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.csn-modal-section-label{
    margin-bottom:9px;
    color:#60758a;
    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.csn-modal-panel-premium .csn-modal-amenities{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 17px;
}
.csn-modal-panel-premium .csn-modal-amenities span{
    position:relative;
    padding:7px 9px 7px 25px;
    border-radius:999px;
    color:#0b6f64;
    background:#eaf9f6;
    border:1px solid rgba(24,205,184,.14);
    font-size:10.5px;
    font-weight:800;
}
.csn-modal-panel-premium .csn-modal-amenities span::before{
    content:"✓";
    position:absolute;
    left:8px;
    top:50%;
    width:13px;
    height:13px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#0f9b8a;
    transform:translateY(-50%);
    font-size:8px;
}
.csn-modal-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:16px;
    padding:13px;
    border-radius:18px;
    background:linear-gradient(180deg,#f7fbfc,#eef6f6);
    border:1px solid #d9e7e8;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
}
.csn-modal-summary>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 9px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
}
.csn-modal-summary>div span{
    color:#61768a;
    font-size:10.5px;
    font-weight:800;
}
.csn-modal-summary>div strong{
    color:#0b5f56;
    font-size:13px;
}
.csn-modal-summary-total{
    grid-column:1/-1;
    min-height:50px;
    color:#fff!important;
    background:linear-gradient(135deg,#082d45,#0b695f)!important;
}
.csn-modal-summary-total span,
.csn-modal-summary-total strong{
    color:#fff!important;
}
.csn-modal-summary-total strong{
    font-size:19px!important;
}
.csn-modal-panel-premium .csn-modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.csn-modal-panel-premium .csn-modal-actions button,
.csn-modal-panel-premium .csn-modal-actions a{
    min-height:52px;
    padding:0 14px;
    border-radius:15px;
    font-size:12.5px;
    font-weight:900;
    white-space:nowrap;
}
.csn-modal-panel-premium .csn-modal-estimate{
    color:#082d45;
    background:linear-gradient(180deg,#fff,#f2f7fa);
    border:1px solid #ccdbe5;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.97),0 3px 0 #c3d3df,0 12px 22px rgba(6,20,38,.06);
}
.csn-modal-panel-premium .csn-modal-wa{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#fff;
    background:linear-gradient(180deg,#25ca77,#0fa85f 58%,#087f47);
    border:1px solid rgba(8,117,64,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -2px 0 rgba(8,117,64,.18),
      0 4px 0 #087540,
      0 15px 27px rgba(15,168,95,.18);
}
.csn-modal-panel-premium .csn-modal-wa svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-modal-panel-premium .csn-modal-actions button:hover,
.csn-modal-panel-premium .csn-modal-actions a:hover{
    transform:translateY(-2px);
}
.csn-modal-panel-premium .csn-modal-actions button:active,
.csn-modal-panel-premium .csn-modal-actions a:active{
    transform:translateY(2px);
}
.csn-modal-disclaimer{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
    margin-top:14px;
    padding:10px 11px;
    border-radius:13px;
    color:#745f2b;
    background:#fff8e6;
    border:1px solid rgba(242,181,58,.23);
}
.csn-modal-disclaimer>i{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#d89a18;
    font-size:11px;
    font-style:normal;
    font-weight:900;
}
.csn-modal-disclaimer p{
    margin:0!important;
    color:#745f2b!important;
    font-size:10.5px!important;
    line-height:1.5!important;
}

@media(max-width:900px){
  .csn-modal-panel-premium{
      grid-template-columns:1fr;
      max-height:94vh;
      overflow-y:auto;
  }
  .csn-modal-panel-premium .csn-modal-image{
      min-height:310px;
      height:310px;
  }
  .csn-modal-panel-premium .csn-modal-image img{
      min-height:310px;
  }
  .csn-modal-panel-premium .csn-modal-copy{
      overflow:visible;
  }
}
@media(max-width:620px){
  .csn-modal{
      padding:10px;
  }
  .csn-modal-panel-premium{
      border-radius:23px;
  }
  .csn-modal-panel-premium .csn-modal-close{
      top:11px;
      right:11px;
      width:42px;
      height:42px;
  }
  .csn-modal-panel-premium .csn-modal-image{
      height:255px;
      min-height:255px;
  }
  .csn-modal-panel-premium .csn-modal-image img{
      min-height:255px;
  }
  .csn-modal-image-caption{
      left:18px;
      right:18px;
      bottom:17px;
  }
  .csn-modal-image-caption strong{
      font-size:21px;
  }
  .csn-modal-panel-premium .csn-modal-copy{
      padding:25px 17px 20px;
  }
  .csn-modal-title-top{
      padding-right:0;
  }
  .csn-modal-panel-premium .csn-modal-copy h2{
      font-size:32px;
  }
  .csn-modal-panel-premium .csn-modal-specs,
  .csn-modal-summary,
  .csn-modal-panel-premium .csn-modal-actions{
      grid-template-columns:1fr;
  }
  .csn-modal-summary-total{
      grid-column:auto;
  }
  .csn-modal-panel-premium .csn-modal-actions button,
  .csn-modal-panel-premium .csn-modal-actions a{
      width:100%;
  }
}

html.csn-modal-open{overflow:hidden!important}


/* v1.5 premium Room Options section */
.csn-room-types{
    position:relative;
    overflow:hidden;
    padding:clamp(82px,8vw,118px) 0;
    color:#fff;
    background:
      radial-gradient(circle at 12% 18%,rgba(24,205,184,.16),transparent 24%),
      radial-gradient(circle at 88% 16%,rgba(242,181,58,.13),transparent 23%),
      linear-gradient(145deg,#03111f 0%,#072337 53%,#0a3946 100%);
}
.csn-room-types::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.05),transparent 23%),
      linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:auto,32px 32px,32px 32px;
    opacity:.54;
}
.csn-room-types>.csn-container{
    position:relative;
    z-index:1;
}
.csn-room-head{
    max-width:920px;
    margin:0 auto 36px;
    display:grid;
    justify-items:center;
    text-align:center;
}
.csn-room-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px;
    border-radius:999px;
    color:#aefcf3;
    background:rgba(24,205,184,.11);
    border:1px solid rgba(24,205,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 25px rgba(0,0,0,.12);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-room-badge i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12),0 0 18px rgba(24,205,184,.42);
}
.csn-room-head h2{
    max-width:850px;
    margin:17px 0 11px;
    color:#fff;
    font-size:clamp(44px,5vw,58px);
    line-height:1.01;
    letter-spacing:-.06em;
    text-wrap:balance;
}
.csn-room-head>p{
    max-width:690px;
    margin:0;
    color:#b9cad6;
    font-size:16px;
    line-height:1.72;
}
.csn-room-head-bottom{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:18px;
}
.csn-room-head-bottom>b{
    width:105px;
    height:5px;
    border-radius:999px;
    background:linear-gradient(90deg,#18cdb8,#4acde6 55%,#f2b53a);
    box-shadow:0 8px 18px rgba(24,205,184,.18);
}
.csn-room-head-bottom>small{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border-radius:999px;
    color:#bfd0dc;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.11);
    font-size:11px;
    font-weight:800;
}
.csn-room-head-bottom>small strong{
    color:#6fe6d9;
    font-size:13px;
}

.csn-room-grid-premium{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}
.csn-room-card{
    --room-accent:#18cdb8;
    --room-accent-soft:rgba(24,205,184,.18);
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    border-radius:25px;
    background:
      radial-gradient(circle at 90% 10%,var(--room-accent-soft),transparent 24%),
      linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.052));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:
      0 27px 66px rgba(0,0,0,.24),
      0 9px 22px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.09);
    backdrop-filter:blur(14px);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.csn-room-card::before{
    content:"";
    position:absolute;
    z-index:3;
    left:0;
    right:0;
    top:0;
    height:5px;
    background:linear-gradient(90deg,var(--room-accent),rgba(255,255,255,.55));
}
.csn-room-card:hover{
    transform:translateY(-8px);
    border-color:color-mix(in srgb,var(--room-accent) 48%,transparent);
    box-shadow:
      0 39px 92px rgba(0,0,0,.31),
      0 14px 30px rgba(0,0,0,.15),
      inset 0 1px 0 rgba(255,255,255,.12);
}
.csn-room-card-cyan{--room-accent:#38d7ff;--room-accent-soft:rgba(56,215,255,.17)}
.csn-room-card-teal{--room-accent:#18cdb8;--room-accent-soft:rgba(24,205,184,.17)}
.csn-room-card-gold{--room-accent:#f2b53a;--room-accent-soft:rgba(242,181,58,.18)}
.csn-room-card-blue{--room-accent:#4f9cff;--room-accent-soft:rgba(79,156,255,.17)}
.csn-room-card-purple{--room-accent:#b58cff;--room-accent-soft:rgba(181,140,255,.17)}
.csn-room-card-green{--room-accent:#42d98d;--room-accent-soft:rgba(66,217,141,.17)}

.csn-room-image{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#061426;
}
.csn-room-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(3,14,27,.72));
    pointer-events:none;
}
.csn-room-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.csn-room-card:hover .csn-room-image img{
    transform:scale(1.06);
}
.csn-room-image>span{
    position:absolute;
    z-index:2;
    left:14px;
    bottom:13px;
    padding:7px 10px;
    border-radius:999px;
    color:#fff;
    background:rgba(3,20,32,.70);
    border:1px solid rgba(255,255,255,.17);
    backdrop-filter:blur(10px);
    font-size:9px;
    font-weight:900;
    letter-spacing:.09em;
}
.csn-room-content{
    position:relative;
    display:flex;
    flex-direction:column;
    flex:1;
    padding:22px 20px 20px;
}
.csn-room-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin-top:-49px;
    margin-bottom:17px;
    border-radius:18px;
    color:#071b36;
    background:linear-gradient(145deg,#efffff,var(--room-accent));
    border:3px solid rgba(5,23,37,.78);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.68),
      0 4px 0 rgba(0,0,0,.28),
      0 15px 30px rgba(0,0,0,.24);
}
.csn-room-icon svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-room-label{
    color:var(--room-accent);
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.13em;
}
.csn-room-card h3{
    min-height:48px;
    margin:8px 0 8px;
    color:#fff;
    font-size:20px;
    line-height:1.2;
    letter-spacing:-.035em;
}
.csn-room-card p{
    min-height:69px;
    margin:0;
    color:#b8c8d4;
    font-size:13px;
    line-height:1.68;
}
.csn-room-features{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    min-height:33px;
    margin:14px 0;
}
.csn-room-features em{
    padding:7px 9px;
    border-radius:999px;
    color:#d8e5ed;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.11);
    font-size:10px;
    line-height:1;
    font-style:normal;
    font-weight:800;
}
.csn-room-price{
    margin-top:auto;
    padding:13px 14px;
    border-radius:17px;
    background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.csn-room-price>small{
    display:block;
    color:#a9bcc9;
    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
}
.csn-room-price>div{
    display:flex;
    align-items:baseline;
    gap:6px;
    margin-top:5px;
}
.csn-room-price strong{
    color:var(--room-accent);
    font-size:20px;
    line-height:1;
}
.csn-room-price span{
    color:#afc0cc;
    font-size:10.5px;
    font-weight:800;
}
.csn-room-option-btn{
    position:relative;
    overflow:hidden;
    width:100%;
    min-height:47px;
    margin-top:11px;
    padding:0 13px;
    border:1px solid color-mix(in srgb,var(--room-accent) 40%,transparent);
    border-radius:14px;
    color:#061928;
    background:linear-gradient(180deg,#fff 0%,var(--room-accent) 135%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.78),
      0 3px 0 rgba(0,0,0,.30),
      0 13px 23px rgba(0,0,0,.17);
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}
.csn-room-option-btn::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:44%;
    border-radius:13px 13px 7px 7px;
    background:linear-gradient(180deg,rgba(255,255,255,.27),transparent);
    pointer-events:none;
}
.csn-room-option-btn i{
    position:relative;
    margin-left:6px;
    font-style:normal;
    font-size:17px;
    transition:transform .18s ease;
}
.csn-room-option-btn:hover{
    transform:translateY(-2px);
}
.csn-room-option-btn:hover i{
    transform:translateX(4px);
}
.csn-room-option-btn:active{
    transform:translateY(2px);
    box-shadow:0 1px 0 rgba(0,0,0,.30),0 7px 14px rgba(0,0,0,.13);
}

@media(max-width:1200px){
  .csn-room-grid-premium{
      grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .csn-room-card p{
      min-height:auto;
  }
}
@media(max-width:680px){
  .csn-room-types{
      padding:68px 0;
  }
  .csn-room-head{
      margin-bottom:28px;
  }
  .csn-room-head h2{
      font-size:36px;
  }
  .csn-room-head>p{
      font-size:15px;
  }
  .csn-room-head-bottom{
      flex-direction:column;
      gap:11px;
  }
  .csn-room-grid-premium{
      grid-template-columns:1fr;
      gap:17px;
  }
  .csn-room-card h3{
      min-height:auto;
  }
}


/* v1.6 refined room-option buttons */
.csn-room-option-btn{
    position:relative;
    overflow:hidden;
    width:100%;
    min-height:52px;
    margin-top:12px;
    padding:0 8px 0 17px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid color-mix(in srgb,var(--room-accent) 42%,transparent);
    border-radius:16px;
    color:#061928;
    background:
      linear-gradient(180deg,rgba(255,255,255,.96) 0%,color-mix(in srgb,var(--room-accent) 72%,#ffffff) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.84),
      inset 0 -2px 0 rgba(0,0,0,.08),
      0 4px 0 rgba(0,0,0,.30),
      0 15px 27px rgba(0,0,0,.18);
    font-size:13px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.csn-room-option-btn::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:45%;
    border-radius:15px 15px 8px 8px;
    background:linear-gradient(180deg,rgba(255,255,255,.34),transparent);
    pointer-events:none;
}
.csn-room-option-btn::after{
    content:"";
    position:absolute;
    inset:auto 12px 8px;
    height:1px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
    pointer-events:none;
}
.csn-room-option-btn i{
    position:relative;
    z-index:1;
    flex:0 0 37px;
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    margin:0;
    border-radius:12px;
    color:#061928;
    background:rgba(255,255,255,.56);
    border:1px solid rgba(255,255,255,.64);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.88),
      0 3px 0 rgba(0,0,0,.16),
      0 9px 18px rgba(0,0,0,.10);
    font-size:17px;
    line-height:1;
    font-style:normal;
    transition:transform .18s ease,background .18s ease;
}
.csn-room-option-btn:hover{
    transform:translateY(-2px);
    filter:saturate(1.06);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.90),
      inset 0 -2px 0 rgba(0,0,0,.08),
      0 5px 0 rgba(0,0,0,.28),
      0 19px 34px rgba(0,0,0,.22);
}
.csn-room-option-btn:hover i{
    transform:translateX(3px);
    background:rgba(255,255,255,.72);
}
.csn-room-option-btn:active{
    transform:translateY(2px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 1px 0 rgba(0,0,0,.28),
      0 8px 16px rgba(0,0,0,.14);
}
.csn-room-option-btn:focus-visible{
    outline:3px solid color-mix(in srgb,var(--room-accent) 35%,transparent);
    outline-offset:3px;
}

@media(max-width:680px){
  .csn-room-option-btn{
      min-height:50px;
      padding-left:15px;
      font-size:12.5px;
  }
  .csn-room-option-btn i{
      flex-basis:35px;
      width:35px;
      height:35px;
      border-radius:11px;
  }
}


/* v1.7 premium Nairobi location section */
.csn-locations{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 11% 12%,rgba(24,205,184,.12),transparent 24%),
      radial-gradient(circle at 88% 16%,rgba(242,181,58,.10),transparent 23%),
      linear-gradient(180deg,#f9fcfd 0%,#eef5f7 100%);
}
.csn-locations::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.44),transparent 24%),
      linear-gradient(rgba(7,27,54,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,34px 34px,34px 34px;
    opacity:.56;
}
.csn-locations::after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    right:-160px;
    bottom:-170px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(24,205,184,.10),transparent 68%);
    pointer-events:none;
}
.csn-locations>.csn-container{position:relative;z-index:1;}
.csn-locations-head{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:44px;align-items:end;margin-bottom:34px;}
.csn-locations-head-copy>span{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:9px 13px;border-radius:999px;color:#087064;background:linear-gradient(180deg,#e9fffb,#d5f8f2);border:1px solid rgba(24,205,184,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(24,205,184,.09);font-size:10px;font-weight:900;letter-spacing:.14em;}
.csn-locations-head-copy>span i{width:8px;height:8px;border-radius:50%;background:#18cdb8;box-shadow:0 0 0 4px rgba(24,205,184,.12);}
.csn-locations-head h2{max-width:760px;margin:16px 0 0;color:#071b36;font-size:clamp(44px,4.8vw,58px);line-height:1.01;letter-spacing:-.06em;text-wrap:balance;}
.csn-locations-head-copy>b{display:block;width:108px;height:5px;margin-top:18px;border-radius:999px;background:linear-gradient(90deg,#18cdb8,#3dbfde 55%,#f2b53a);box-shadow:0 8px 18px rgba(24,205,184,.14);}
.csn-locations-head-side{display:grid;gap:15px;align-content:end;padding-bottom:3px;}
.csn-locations-head-side>p{max-width:510px;margin:0;color:#586f84;font-size:16px;line-height:1.72;}
.csn-locations-head-side>small{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:8px 11px;border-radius:999px;color:#536b80;background:rgba(255,255,255,.84);border:1px solid rgba(202,219,228,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.95);font-size:11px;font-weight:800;}
.csn-locations-head-side>small i{width:8px;height:8px;border-radius:50%;background:#13a66f;box-shadow:0 0 0 4px rgba(19,166,111,.11);}
.csn-locations-head-side>small strong{color:#087064;font-size:13px;}
.csn-location-grid-premium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.csn-location-grid-premium button{position:relative;overflow:hidden;min-height:178px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon desc" "price action";gap:5px 15px;align-items:start;padding:24px;border-radius:24px;text-align:left;cursor:pointer;background:radial-gradient(circle at 92% 12%,rgba(24,205,184,.08),transparent 27%),linear-gradient(145deg,#ffffff 0%,#eef8f7 100%);border:1px solid rgba(24,205,184,.20);box-shadow:0 22px 58px rgba(6,20,38,.09),0 8px 20px rgba(6,20,38,.04),inset 0 1px 0 rgba(255,255,255,.97);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.csn-location-grid-premium button::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#18cdb8,#4acde6 55%,#f2b53a);opacity:.92;}
.csn-location-grid-premium button::after{content:"";position:absolute;width:160px;height:160px;right:-60px;bottom:-65px;border-radius:50%;background:radial-gradient(circle,rgba(242,181,58,.11),transparent 68%);pointer-events:none;}
.csn-location-grid-premium button:hover{transform:translateY(-7px);border-color:rgba(24,205,184,.48);box-shadow:0 34px 82px rgba(6,20,38,.14),0 13px 28px rgba(6,20,38,.06),inset 0 1px 0 rgba(255,255,255,.97);}
.csn-location-grid-premium button>i{grid-area:icon;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#087064;background:linear-gradient(145deg,#efffff,#c9f5ed 62%,#f6e2a2);border:1px solid rgba(24,205,184,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 4px 0 rgba(7,91,81,.14),0 15px 28px rgba(24,205,184,.10);}
.csn-location-grid-premium button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.csn-location-grid-premium button strong{grid-area:title;margin:0;color:#071b36!important;font-size:26px;line-height:1.08;letter-spacing:-.045em;font-weight:950;}
.csn-location-grid-premium button span{grid-area:desc;margin:3px 0 0;color:#596f84!important;font-size:14px;line-height:1.45;font-weight:750;}
.csn-location-grid-premium button small{grid-area:price;align-self:end;margin-top:21px;color:#087064!important;font-size:12px;font-weight:950;}
.csn-location-grid-premium button em{grid-area:action;justify-self:end;align-self:end;display:inline-flex;align-items:center;gap:5px;color:#071b36;font-size:12px;font-style:normal;font-weight:900;transition:transform .18s ease,color .18s ease;}
.csn-location-grid-premium button:hover em{color:#087064;transform:translateX(4px);}
@media(max-width:1050px){.csn-locations-head{grid-template-columns:1fr;gap:22px;align-items:start}.csn-location-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.csn-locations-head{margin-bottom:26px}.csn-locations-head h2{font-size:36px}.csn-locations-head-side>p{font-size:15px}.csn-location-grid-premium{grid-template-columns:1fr;gap:15px}.csn-location-grid-premium button{min-height:158px;padding:21px;border-radius:22px}.csn-location-grid-premium button strong{font-size:24px}}


/* v1.8 premium Move-In Estimator */
.csn-estimator{
    position:relative;
    overflow:hidden;
    padding:clamp(82px,8vw,118px) 0;
    background:
      radial-gradient(circle at 12% 13%,rgba(24,205,184,.13),transparent 24%),
      radial-gradient(circle at 86% 18%,rgba(242,181,58,.11),transparent 23%),
      linear-gradient(180deg,#f8fcfd 0%,#eaf4f6 100%);
}
.csn-estimator::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.42),transparent 24%),
      radial-gradient(circle,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,24px 24px;
    opacity:.55;
}
.csn-estimator>.csn-container{
    position:relative;
    z-index:1;
}
.csn-estimator-grid-premium{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
    gap:58px;
    align-items:center;
}
.csn-estimator-copy{
    min-width:0;
}
.csn-estimator-badge{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px!important;
    border-radius:999px;
    color:#087064!important;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2)!important;
    border:1px solid rgba(24,205,184,.26)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(24,205,184,.09);
    font-size:10px!important;
    font-weight:900;
    letter-spacing:.14em!important;
}
.csn-estimator-badge i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-estimator-copy h2{
    max-width:680px;
    margin:17px 0 11px;
    color:#071b36;
    font-size:clamp(44px,4.8vw,56px);
    line-height:1.01;
    letter-spacing:-.06em;
    text-wrap:balance;
}
.csn-estimator-copy>p{
    max-width:650px;
    margin:0 0 23px;
    color:#5d7287;
    font-size:16px;
    line-height:1.75;
}
.csn-estimator-form-card{
    max-width:660px;
    padding:24px;
    border-radius:26px;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.08),transparent 27%),
      linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,250,250,.95));
    border:1px solid rgba(210,225,234,.94);
    box-shadow:
      0 24px 68px rgba(6,20,38,.11),
      0 9px 22px rgba(6,20,38,.05),
      inset 0 1px 0 rgba(255,255,255,.97);
}
.csn-estimator-form-card label{
    display:grid;
    gap:8px;
    margin:0 0 14px;
}
.csn-estimator-form-card label small{
    color:#5d7085;
    font-size:11px;
    font-weight:900;
}
.csn-estimator-control{
    position:relative;
    display:block;
}
.csn-estimator-control>i{
    position:absolute;
    z-index:2;
    left:15px;
    top:50%;
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    color:#0b8f80;
    transform:translateY(-50%);
    pointer-events:none;
}
.csn-estimator-control svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-estimator-control select,
.csn-estimator-control input{
    width:100%;
    min-height:56px;
    padding:0 16px 0 46px;
    border:1px solid #cfdee6;
    border-radius:16px;
    color:#071b36;
    background:linear-gradient(180deg,#fff,#f4f8fa);
    outline:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 11px 22px rgba(6,20,38,.045);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.csn-estimator-control select:focus,
.csn-estimator-control input:focus{
    transform:translateY(-1px);
    border-color:rgba(24,205,184,.68);
    box-shadow:
      0 0 0 4px rgba(24,205,184,.10),
      inset 0 1px 0 rgba(255,255,255,.96),
      0 14px 26px rgba(6,20,38,.07);
}
.csn-month-buttons{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:16px;
}
.csn-month-buttons button{
    min-height:38px;
    padding:0 10px;
    border-radius:13px;
    color:#526b80;
    background:linear-gradient(180deg,#fff,#f3f7f9);
    border:1px solid #d4e1e8;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:11px;
    font-weight:900;
    cursor:pointer;
    transition:.18s ease;
}
.csn-month-buttons button:hover{
    transform:translateY(-1px);
    border-color:rgba(24,205,184,.42);
}
.csn-month-buttons button.is-active{
    color:#083b36;
    background:linear-gradient(180deg,#72eadc,#18cdb8);
    border-color:#18cdb8;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.42),
      0 3px 0 #0b8478,
      0 10px 20px rgba(24,205,184,.13);
}

.csn-estimator-card-premium{
    position:relative;
    overflow:hidden;
    padding:28px;
    border-radius:30px;
    background:
      radial-gradient(circle at 92% 8%,rgba(24,205,184,.09),transparent 25%),
      linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,252,.96));
    border:1px solid rgba(210,225,234,.94);
    box-shadow:
      0 30px 82px rgba(6,20,38,.14),
      0 11px 28px rgba(6,20,38,.06),
      inset 0 1px 0 rgba(255,255,255,.97);
}
.csn-estimator-card-premium::before{
    content:"";
    position:absolute;
    left:26px;
    right:26px;
    top:0;
    height:5px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#18cdb8,#4acde6 55%,#f2b53a);
    box-shadow:0 7px 18px rgba(24,205,184,.18);
}
.csn-estimator-card-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    align-items:center;
    margin-bottom:18px;
}
.csn-estimator-card-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:#087064;
    background:linear-gradient(145deg,#efffff,#c9f5ed 62%,#f6e2a2);
    border:1px solid rgba(24,205,184,.20);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 4px 0 rgba(7,91,81,.14),0 15px 28px rgba(24,205,184,.10);
}
.csn-estimator-card-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-estimator-card-head span{
    display:block;
    color:#0a8e7e;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-estimator-card-head strong{
    display:block;
    margin-top:5px;
    color:#071b36;
    font-size:18px;
    line-height:1.25;
}
.csn-estimator-rows{
    display:grid;
    gap:8px;
}
.csn-estimator-rows>div{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:11px;
    align-items:center;
    min-height:54px;
    padding:10px 12px;
    border-radius:15px;
    background:#f5f9fa;
    border:1px solid #dce8ec;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
}
.csn-estimator-rows i{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#087064;
    background:#e9faf6;
    font-style:normal;
    font-size:11px;
    font-weight:950;
}
.csn-estimator-rows span{
    color:#62758b;
    font-size:13px;
}
.csn-estimator-rows strong{
    color:#0b5f56;
    font-size:14px;
    white-space:nowrap;
}
.csn-estimator-card-premium .csn-estimator-total{
    display:grid!important;
    grid-template-columns:1fr;
    gap:5px;
    margin-top:15px!important;
    padding:20px!important;
    border-radius:20px!important;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.22),transparent 28%),
      linear-gradient(135deg,#082d45 0%,#0b695f 100%)!important;
    border:1px solid rgba(24,205,184,.22)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      0 18px 34px rgba(8,45,69,.18)!important;
}
.csn-estimator-card-premium .csn-estimator-total span{
    color:#bff7ee!important;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
}
.csn-estimator-card-premium .csn-estimator-total strong{
    color:#fff!important;
    font-size:34px;
    line-height:1;
    letter-spacing:-.04em;
}
.csn-estimator-card-premium .csn-estimator-total small{
    color:#c9e2df;
    font-size:12px;
    font-weight:800;
}
.csn-est-breakdown{
    margin-top:11px;
    padding:10px 12px;
    border-radius:14px;
    color:#5e7488;
    background:#f7fafb;
    border:1px solid #dce8ec;
    font-size:11.5px;
    line-height:1.5;
    font-weight:750;
}
.csn-est-whatsapp{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:54px;
    margin-top:14px;
    padding:0 18px;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(180deg,#25ca77,#0fa85f 58%,#087f47);
    border:1px solid rgba(8,117,64,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -2px 0 rgba(8,117,64,.18),
      0 4px 0 #087540,
      0 15px 27px rgba(15,168,95,.18);
    font-size:13px;
    font-weight:900;
    transition:transform .18s ease,box-shadow .18s ease;
}
.csn-est-whatsapp svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-est-whatsapp:hover{
    transform:translateY(-2px);
}
.csn-est-whatsapp:active{
    transform:translateY(2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 #087540,0 8px 16px rgba(15,168,95,.16);
}
.csn-est-notice{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
    margin-top:13px;
    padding:10px 11px;
    border-radius:13px;
    color:#745f2b;
    background:#fff8e6;
    border:1px solid rgba(242,181,58,.23);
}
.csn-est-notice i{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#d89a18;
    font-size:11px;
    font-style:normal;
    font-weight:900;
}
.csn-est-notice p{
    margin:0;
    color:#745f2b;
    font-size:10.5px;
    line-height:1.5;
}

@media(max-width:980px){
  .csn-estimator-grid-premium{
      grid-template-columns:1fr;
      gap:32px;
  }
  .csn-estimator-form-card,
  .csn-estimator-card-premium{
      max-width:720px;
  }
}
@media(max-width:620px){
  .csn-estimator{
      padding:68px 0;
  }
  .csn-estimator-copy h2{
      font-size:36px;
  }
  .csn-estimator-form-card,
  .csn-estimator-card-premium{
      padding:20px 17px;
      border-radius:23px;
  }
  .csn-month-buttons{
      grid-template-columns:1fr 1fr;
  }
  .csn-estimator-rows>div{
      grid-template-columns:auto 1fr;
  }
  .csn-estimator-rows strong{
      grid-column:2;
  }
  .csn-estimator-card-premium .csn-estimator-total strong{
      font-size:29px;
  }
}


/* v1.9 premium testimonials section */
.csn-testimonials{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 14% 12%,rgba(24,205,184,.12),transparent 24%),
      radial-gradient(circle at 84% 18%,rgba(242,181,58,.12),transparent 23%),
      linear-gradient(180deg,#f8fcfd 0%,#eef5f7 100%);
}
.csn-testimonials::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.42),transparent 24%),
      radial-gradient(circle,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,24px 24px;
    opacity:.56;
}
.csn-testimonials>.csn-container{
    position:relative;
    z-index:1;
}
.csn-testimonials-head{
    max-width:940px;
    margin:0 auto 35px;
    display:grid;
    justify-items:center;
    text-align:center;
}
.csn-testimonials-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(24,205,184,.09);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-testimonials-badge i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-testimonials-head h2{
    max-width:900px;
    margin:17px 0 11px;
    color:#071b36;
    font-size:clamp(44px,4.8vw,56px);
    line-height:1.01;
    letter-spacing:-.06em;
    text-wrap:balance;
}
.csn-testimonials-head p{
    max-width:760px;
    margin:0;
    color:#5d7287;
    font-size:16px;
    line-height:1.72;
}
.csn-testimonials-rating{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:17px;
    padding:9px 14px;
    border-radius:999px;
    color:#9a6900;
    background:linear-gradient(180deg,#fff8da,#ffefba);
    border:1px solid rgba(242,181,58,.34);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 22px rgba(242,181,58,.11);
    font-size:12px;
    font-weight:900;
}
.csn-testimonials-rating strong{
    color:#7e5500;
    font-weight:900;
}

.csn-testimonial-grid-premium{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.csn-testimonial-card{
    --testi-accent:#18cdb8;
    position:relative;
    overflow:hidden;
    margin:0;
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:24px;
    border-radius:25px;
    background:
      radial-gradient(circle at top right,color-mix(in srgb,var(--testi-accent) 12%,transparent),transparent 27%),
      linear-gradient(180deg,#ffffff 0%,#f7fbfc 100%);
    border:1px solid #d7e4ea;
    box-shadow:
      0 23px 62px rgba(6,20,38,.10),
      0 8px 20px rgba(6,20,38,.04),
      inset 0 1px 0 rgba(255,255,255,.98);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.csn-testimonial-card::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:5px;
    background:linear-gradient(90deg,var(--testi-accent),#f2b53a);
}
.csn-testimonial-card::after{
    content:"”";
    position:absolute;
    right:18px;
    top:10px;
    color:rgba(7,27,54,.06);
    font-size:92px;
    line-height:1;
    font-weight:900;
    pointer-events:none;
}
.csn-testimonial-card:hover{
    transform:translateY(-7px);
    border-color:color-mix(in srgb,var(--testi-accent) 38%,#d7e4ea);
    box-shadow:
      0 36px 86px rgba(6,20,38,.15),
      0 14px 30px rgba(6,20,38,.06),
      inset 0 1px 0 rgba(255,255,255,.98);
}
.csn-testi-student{--testi-accent:#18cdb8}
.csn-testi-parent{--testi-accent:#f2b53a}
.csn-testi-intern{--testi-accent:#4f9cff}
.csn-testi-top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
.csn-testi-top>span{
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.20);
    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
}
.csn-testi-parent .csn-testi-top>span{
    color:#8a5a00;
    background:linear-gradient(180deg,#fff7d9,#ffedb2);
    border-color:rgba(242,181,58,.24);
}
.csn-testi-intern .csn-testi-top>span{
    color:#175da8;
    background:linear-gradient(180deg,#eef7ff,#dceeff);
    border-color:rgba(79,156,255,.22);
}
.csn-testi-top>div{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    color:#9a6900;
    background:linear-gradient(180deg,#fff8da,#ffefba);
    border:1px solid rgba(242,181,58,.30);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
    font-size:11px;
    font-weight:900;
}
.csn-testi-top>div b{
    color:#7e5500;
}
.csn-testimonial-card>em{
    position:relative;
    z-index:1;
    width:max-content;
    margin-top:15px;
    padding:7px 10px;
    border-radius:999px;
    color:#536b80;
    background:#f3f8fa;
    border:1px solid #dce8ec;
    font-size:10.5px;
    font-style:normal;
    font-weight:850;
}
.csn-testimonial-card>p{
    position:relative;
    z-index:1;
    margin:17px 0 22px;
    color:#465c72;
    font-size:15.5px;
    line-height:1.72;
}
.csn-testimonial-card footer{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:auto;
    padding-top:17px;
    border-top:1px solid #dfe9ee;
}
.csn-testimonial-card footer>b{
    width:50px;
    height:50px;
    flex:0 0 50px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#071b36;
    background:linear-gradient(145deg,#ffffff,#d7f7f2 58%,#f2b53a);
    border:2px solid #fff;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 12px 24px rgba(6,20,38,.11);
    font-size:15px;
    font-weight:1000;
}
.csn-testimonial-card footer strong,
.csn-testimonial-card footer small{
    display:block;
}
.csn-testimonial-card footer strong{
    color:#071b36;
    font-size:17px;
    line-height:1.2;
}
.csn-testimonial-card footer small{
    color:#64788b;
    margin-top:4px;
    font-size:12px;
}

.csn-testimonials-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:26px;
    padding:14px 16px;
    border-radius:19px;
    background:rgba(255,255,255,.80);
    border:1px solid rgba(205,220,230,.90);
    box-shadow:
      0 16px 42px rgba(6,20,38,.07),
      inset 0 1px 0 rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
}
.csn-testimonials-strip span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#405a73;
    font-size:11.5px;
    font-weight:850;
}
.csn-testimonials-strip i{
    width:21px;
    height:21px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#087064;
    background:#e6faf5;
    font-style:normal;
    font-size:11px;
}

@media(max-width:980px){
  .csn-testimonial-grid-premium{
      grid-template-columns:1fr;
  }
  .csn-testimonials-strip{
      grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .csn-testimonials-head h2{
      font-size:36px;
  }
  .csn-testimonials-head p{
      font-size:15px;
  }
  .csn-testimonial-card{
      padding:21px 18px;
      border-radius:22px;
  }
  .csn-testimonials-strip{
      grid-template-columns:1fr;
  }
  .csn-testimonials-strip span{
      justify-content:flex-start;
  }
}


/* v1.10 premium FAQ section */
.csn-faq-premium{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 12% 15%,rgba(24,205,184,.12),transparent 24%),
      radial-gradient(circle at 86% 12%,rgba(242,181,58,.11),transparent 23%),
      linear-gradient(180deg,#f9fcfd 0%,#eef5f7 100%);
}
.csn-faq-premium::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.43),transparent 24%),
      radial-gradient(circle,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,24px 24px;
    opacity:.56;
}
.csn-faq-premium>.csn-container{
    position:relative;
    z-index:1;
}
.csn-faq-grid-premium{
    display:grid;
    grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
    gap:42px;
    align-items:start;
}
.csn-faq-support-panel{
    position:sticky;
    top:110px;
    padding:30px 28px 28px;
    border-radius:29px;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.10),transparent 28%),
      linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,250,250,.95));
    border:1px solid rgba(210,225,234,.94);
    box-shadow:
      0 28px 76px rgba(6,20,38,.12),
      0 10px 24px rgba(6,20,38,.05),
      inset 0 1px 0 rgba(255,255,255,.97);
}
.csn-faq-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(24,205,184,.09);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-faq-badge i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12);
}
.csn-faq-help-icon{
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    margin:22px 0 16px;
    border-radius:21px;
    color:#087064;
    background:linear-gradient(145deg,#efffff,#c9f5ed 62%,#f6e2a2);
    border:1px solid rgba(24,205,184,.20);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 4px 0 rgba(7,91,81,.14),0 15px 28px rgba(24,205,184,.10);
}
.csn-faq-help-icon svg{
    width:32px;
    height:32px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-faq-support-panel h2{
    max-width:470px;
    margin:0;
    color:#071b36;
    font-size:clamp(42px,4.5vw,52px);
    line-height:1.02;
    letter-spacing:-.06em;
}
.csn-faq-support-panel>b{
    display:block;
    width:102px;
    height:5px;
    margin:18px 0;
    border-radius:999px;
    background:linear-gradient(90deg,#18cdb8,#3dbfde 55%,#f2b53a);
    box-shadow:0 8px 18px rgba(24,205,184,.14);
}
.csn-faq-support-panel>p{
    max-width:450px;
    margin:0 0 20px;
    color:#5d7287;
    font-size:15px;
    line-height:1.72;
}
.csn-faq-whatsapp{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:54px;
    padding:0 17px;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(180deg,#25ca77,#0fa85f 58%,#087f47);
    border:1px solid rgba(8,117,64,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.25),
      inset 0 -2px 0 rgba(8,117,64,.18),
      0 4px 0 #087540,
      0 15px 27px rgba(15,168,95,.18);
    font-size:12.5px;
    font-weight:900;
    transition:transform .18s ease,box-shadow .18s ease;
}
.csn-faq-whatsapp svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.csn-faq-whatsapp:hover{
    transform:translateY(-2px);
}
.csn-faq-whatsapp:active{
    transform:translateY(2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 #087540,0 8px 16px rgba(15,168,95,.16);
}
.csn-faq-support-panel>small{
    display:block;
    margin-top:11px;
    color:#657a8e;
    font-size:11px;
    line-height:1.55;
    text-align:center;
}

.csn-accordion-premium{
    display:grid;
    gap:13px;
}
.csn-accordion-premium details{
    position:relative;
    overflow:hidden;
    margin:0;
    padding:0;
    border-radius:21px;
    background:
      radial-gradient(circle at top right,rgba(24,205,184,.055),transparent 25%),
      linear-gradient(180deg,#ffffff,#f7fbfc);
    border:1px solid #d7e4ea;
    box-shadow:
      0 18px 46px rgba(6,20,38,.075),
      inset 0 1px 0 rgba(255,255,255,.97);
    transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.csn-accordion-premium details:hover{
    transform:translateY(-2px);
    border-color:rgba(24,205,184,.35);
}
.csn-accordion-premium details[open]{
    border-color:rgba(24,205,184,.56);
    box-shadow:
      0 25px 62px rgba(6,20,38,.12),
      0 0 0 4px rgba(24,205,184,.07),
      inset 0 1px 0 rgba(255,255,255,.98);
}
.csn-accordion-premium summary{
    list-style:none;
    display:grid;
    grid-template-columns:112px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    min-height:76px;
    padding:16px 18px;
    cursor:pointer;
}
.csn-accordion-premium summary::-webkit-details-marker{
    display:none;
}
.csn-accordion-premium summary>span{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:32px;
    padding:0 10px;
    border-radius:999px;
    color:#087064;
    background:linear-gradient(180deg,#e9fffb,#d5f8f2);
    border:1px solid rgba(24,205,184,.19);
    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
}
.csn-accordion-premium summary strong{
    color:#071b36;
    font-size:16px;
    line-height:1.35;
}
.csn-accordion-premium summary>i{
    position:relative;
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#087064;
    background:linear-gradient(180deg,#ffffff,#edf7f7);
    border:1px solid #d2e3e7;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 3px 0 #c2d5da,0 10px 20px rgba(6,20,38,.07);
    transition:transform .22s ease,background .22s ease,color .22s ease;
}
.csn-accordion-premium summary>i::before,
.csn-accordion-premium summary>i::after{
    content:"";
    position:absolute;
    width:14px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}
.csn-accordion-premium summary>i::after{
    transform:rotate(90deg);
    transition:opacity .22s ease,transform .22s ease;
}
.csn-accordion-premium details[open] summary>i{
    color:#fff;
    background:linear-gradient(180deg,#22d6c2,#0f9b8a);
    border-color:rgba(24,205,184,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 0 #087064,0 12px 22px rgba(15,155,138,.18);
}
.csn-accordion-premium details[open] summary>i::after{
    opacity:0;
    transform:rotate(0);
}
.csn-faq-answer{
    padding:0 18px 18px 144px;
}
.csn-faq-answer::before{
    content:"";
    display:block;
    height:1px;
    margin-bottom:13px;
    background:linear-gradient(90deg,rgba(24,205,184,.22),rgba(24,205,184,0));
}
.csn-faq-answer p{
    margin:0;
    padding:13px 14px;
    border-radius:15px;
    color:#536b80;
    background:#f1faf8;
    border:1px solid rgba(24,205,184,.12);
    font-size:14px;
    line-height:1.72;
}

.csn-faq-trust-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:26px;
    padding:14px 16px;
    border-radius:19px;
    background:rgba(255,255,255,.80);
    border:1px solid rgba(205,220,230,.90);
    box-shadow:0 16px 42px rgba(6,20,38,.07),inset 0 1px 0 rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
}
.csn-faq-trust-strip span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#405a73;
    font-size:11.5px;
    font-weight:850;
}
.csn-faq-trust-strip i{
    width:21px;
    height:21px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#087064;
    background:#e6faf5;
    font-style:normal;
    font-size:11px;
}

@media(max-width:980px){
  .csn-faq-grid-premium{
      grid-template-columns:1fr;
      gap:30px;
  }
  .csn-faq-support-panel{
      position:relative;
      top:auto;
  }
  .csn-faq-trust-strip{
      grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .csn-faq-support-panel{
      padding:24px 20px 22px;
      border-radius:24px;
  }
  .csn-faq-support-panel h2{
      font-size:36px;
  }
  .csn-accordion-premium summary{
      grid-template-columns:1fr auto;
      gap:10px;
      padding:15px;
  }
  .csn-accordion-premium summary>span{
      grid-column:1/-1;
      justify-self:start;
      min-width:0;
  }
  .csn-accordion-premium summary strong{
      font-size:15px;
  }
  .csn-faq-answer{
      padding:0 15px 16px;
  }
  .csn-faq-trust-strip{
      grid-template-columns:1fr;
  }
  .csn-faq-trust-strip span{
      justify-content:flex-start;
  }
}


/* v1.11 premium AIWebSkills Master Class CTA */
.csn-masterclass-premium{
    position:relative;
    overflow:hidden;
    padding:86px 0;
    background:
      radial-gradient(circle at 12% 18%,rgba(24,205,184,.14),transparent 25%),
      radial-gradient(circle at 88% 76%,rgba(242,181,58,.12),transparent 24%),
      linear-gradient(180deg,#eef5f7 0%,#e7f0f3 100%);
}
.csn-masterclass-premium::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.35),transparent 24%),
      radial-gradient(circle,rgba(7,27,54,.035) 1px,transparent 1px);
    background-size:auto,24px 24px;
    opacity:.56;
}
.csn-masterclass-premium>.csn-container{
    position:relative;
    z-index:1;
}
.csn-masterclass-panel-premium{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
    gap:54px;
    align-items:center;
    padding:52px;
    border-radius:38px;
    color:#fff;
    background:
      radial-gradient(circle at 88% 12%,rgba(24,205,184,.18),transparent 24%),
      radial-gradient(circle at 14% 88%,rgba(242,181,58,.14),transparent 25%),
      linear-gradient(135deg,#03111f 0%,#072337 50%,#0a4a55 100%);
    border:1px solid rgba(126,236,228,.18);
    box-shadow:
      0 40px 110px rgba(3,14,27,.30),
      0 16px 40px rgba(3,14,27,.14),
      inset 0 1px 0 rgba(255,255,255,.10);
}
.csn-masterclass-panel-premium::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.07),transparent 23%),
      linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:auto,34px 34px,34px 34px;
    opacity:.58;
}
.csn-masterclass-panel-premium>*{
    position:relative;
    z-index:1;
}
.csn-masterclass-copy{
    max-width:760px;
}
.csn-masterclass-badge{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:9px 13px!important;
    border-radius:999px;
    color:#aefcf3!important;
    background:rgba(24,205,184,.11)!important;
    border:1px solid rgba(24,205,184,.25)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 25px rgba(0,0,0,.12);
    font-size:10px!important;
    font-weight:900;
    letter-spacing:.14em!important;
}
.csn-masterclass-badge i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#18cdb8;
    box-shadow:0 0 0 4px rgba(24,205,184,.12),0 0 18px rgba(24,205,184,.42);
}
.csn-masterclass-panel-premium h2{
    max-width:760px;
    margin:18px 0 14px;
    color:#fff;
    font-size:clamp(46px,5vw,60px);
    line-height:1.01;
    letter-spacing:-.065em;
    text-wrap:balance;
}
.csn-masterclass-copy>p{
    max-width:720px;
    margin:0;
    color:#c5d8df;
    font-size:16px;
    line-height:1.75;
}
.csn-masterclass-chips-premium{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:23px 0 26px;
}
.csn-masterclass-chips-premium em{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:999px;
    color:#dceaf0;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.13);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    font-size:11.5px;
    font-style:normal;
    font-weight:850;
}
.csn-masterclass-chips-premium em i{
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#061928;
    background:linear-gradient(180deg,#8ff0ff,#18cdb8);
    font-size:10px;
    font-style:normal;
    font-weight:1000;
}
.csn-masterclass-actions-premium{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.csn-masterclass-actions-premium a{
    min-height:56px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    font-size:14px;
    font-weight:900;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.csn-masterclass-primary{
    position:relative;
    overflow:hidden;
    color:#271800!important;
    background:linear-gradient(180deg,#ffd86c 0%,#f2b53a 58%,#d99112 100%)!important;
    border:1px solid rgba(185,121,0,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.58),
      inset 0 -2px 0 rgba(174,116,0,.18),
      0 4px 0 #a86e00,
      0 18px 34px rgba(242,181,58,.24)!important;
}
.csn-masterclass-primary::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:46%;
    border-radius:16px 16px 9px 9px;
    background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);
    pointer-events:none;
}
.csn-masterclass-primary i{
    position:relative;
    margin-left:8px;
    font-style:normal;
    font-size:18px;
    transition:transform .18s ease;
}
.csn-masterclass-primary:hover{
    transform:translateY(-2px);
}
.csn-masterclass-primary:hover i{
    transform:translateX(4px);
}
.csn-masterclass-primary:active{
    transform:translateY(2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.43),0 1px 0 #a86e00,0 8px 16px rgba(242,181,58,.15)!important;
}
.csn-masterclass-secondary{
    color:#fff!important;
    background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.07))!important;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.13),
      0 3px 0 rgba(0,0,0,.22),
      0 14px 26px rgba(0,0,0,.12)!important;
    backdrop-filter:blur(12px);
}
.csn-masterclass-secondary:hover{
    transform:translateY(-2px);
    border-color:rgba(24,205,184,.46);
}
.csn-masterclass-copy>small{
    display:block;
    margin-top:16px;
    color:#9fb6c0;
    font-size:11.5px;
    line-height:1.55;
}

/* Browser mockup visual */
.csn-masterclass-visual{
    position:relative;
    min-height:396px;
    display:grid;
    place-items:center;
}
.csn-mock-browser{
    position:relative;
    width:min(100%,475px);
    overflow:hidden;
    border-radius:26px;
    background:#fff;
    border:1px solid rgba(255,255,255,.58);
    box-shadow:
      0 34px 84px rgba(0,0,0,.32),
      0 13px 32px rgba(0,0,0,.15),
      inset 0 1px 0 rgba(255,255,255,.95);
    transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);
}
.csn-mock-top{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 14px;
    background:linear-gradient(180deg,#f8fbff,#e8f0f4);
    border-bottom:1px solid #dce7ed;
}
.csn-mock-top>span{
    width:10px;
    height:10px;
    border-radius:50%;
}
.csn-mock-top>span:nth-child(1){background:#ff6b6b}
.csn-mock-top>span:nth-child(2){background:#f2b53a}
.csn-mock-top>span:nth-child(3){background:#27c77b}
.csn-mock-top>b{
    min-height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:10px;
    padding:0 16px;
    border-radius:999px;
    color:#60768d;
    background:#fff;
    border:1px solid #dce7ed;
    font-size:9px;
    font-weight:850;
}
.csn-mock-body{
    padding:20px;
    min-height:306px;
    background:linear-gradient(180deg,#f6fafb,#eaf2f4);
}
.csn-mock-search{
    min-height:118px;
    padding:19px;
    border-radius:20px;
    color:#fff;
    background:
      radial-gradient(circle at 86% 22%,rgba(242,181,58,.28),transparent 24%),
      linear-gradient(135deg,#071b36,#0b5f56);
    box-shadow:0 17px 36px rgba(7,27,54,.18);
}
.csn-mock-search strong{
    display:block;
    max-width:250px;
    font-size:25px;
    line-height:1.05;
    letter-spacing:-.045em;
}
.csn-mock-search div{
    display:grid;
    grid-template-columns:1fr 1fr .7fr;
    gap:8px;
    margin-top:19px;
}
.csn-mock-search i{
    height:28px;
    border-radius:9px;
    background:rgba(255,255,255,.88);
}
.csn-mock-listings{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:12px;
}
.csn-mock-listings article{
    min-height:124px;
    padding:9px;
    border-radius:15px;
    background:#fff;
    border:1px solid #dce7ed;
    box-shadow:0 9px 20px rgba(7,27,54,.07);
}
.csn-mock-listings b,
.csn-mock-listings span,
.csn-mock-listings em{
    display:block;
    border-radius:8px;
}
.csn-mock-listings b{
    height:48px;
    background:linear-gradient(135deg,#b8f6ef,#f2d27d);
}
.csn-mock-listings span{
    height:9px;
    margin-top:12px;
    background:#c8d7e1;
}
.csn-mock-listings em{
    width:70%;
    height:9px;
    margin-top:7px;
    background:#18cdb8;
}
.csn-workflow{
    position:absolute;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:178px;
    padding:11px 13px;
    border-radius:16px;
    color:#071b36;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
}
.csn-workflow>span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#061928;
    background:linear-gradient(180deg,#8ff0ff,#18cdb8);
    font-size:13px;
    font-weight:1000;
}
.csn-workflow small,
.csn-workflow strong{
    display:block;
}
.csn-workflow small{
    color:#0a8e7e;
    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
}
.csn-workflow strong{
    margin-top:3px;
    color:#071b36;
    font-size:11px;
}
.csn-workflow-one{left:-18px;top:28px}
.csn-workflow-two{right:-18px;top:145px}
.csn-workflow-three{left:18px;bottom:10px}
.csn-workflow-three>span{
    background:linear-gradient(180deg,#ffd86c,#f2b53a);
}

@media(max-width:1080px){
  .csn-masterclass-panel-premium{
      grid-template-columns:1fr;
      gap:42px;
      padding:42px;
  }
  .csn-masterclass-visual{
      max-width:640px;
      width:100%;
      margin:0 auto;
  }
}
@media(max-width:680px){
  .csn-masterclass-premium{
      padding:64px 0;
  }
  .csn-masterclass-panel-premium{
      padding:27px 20px 30px;
      border-radius:28px;
  }
  .csn-masterclass-panel-premium h2{
      font-size:37px;
  }
  .csn-masterclass-copy>p{
      font-size:15px;
  }
  .csn-masterclass-actions-premium{
      display:grid;
      grid-template-columns:1fr;
  }
  .csn-masterclass-actions-premium a{
      width:100%;
  }
  .csn-masterclass-visual{
      min-height:330px;
  }
  .csn-mock-browser{
      transform:none;
  }
  .csn-workflow{
      min-width:150px;
      padding:9px 10px;
  }
  .csn-workflow-one{left:-4px;top:18px}
  .csn-workflow-two{right:-4px;top:135px}
  .csn-workflow-three{left:4px;bottom:0}
}


/* v1.12 premium footer */
.csn-footer-premium{
    position:relative;
    overflow:hidden;
    padding:74px 0 0;
    color:#fff;
    background:
      radial-gradient(circle at 12% 12%,rgba(24,205,184,.13),transparent 24%),
      radial-gradient(circle at 88% 10%,rgba(242,181,58,.10),transparent 22%),
      linear-gradient(145deg,#03111f 0%,#061d30 54%,#082b36 100%);
}
.csn-footer-premium::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(125deg,rgba(255,255,255,.045),transparent 24%),
      linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:auto,32px 32px,32px 32px;
    opacity:.55;
}
.csn-footer-premium>.csn-container{
    position:relative;
    z-index:1;
}
.csn-footer-accent{
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    top:0;
    height:5px;
    background:linear-gradient(90deg,#18cdb8,#4acde6 48%,#f2b53a);
    box-shadow:0 9px 28px rgba(24,205,184,.20);
}
.csn-footer-grid-premium{
    display:grid;
    grid-template-columns:minmax(270px,1.25fr) minmax(160px,.75fr) minmax(210px,.85fr) minmax(290px,1.05fr);
    gap:34px;
    align-items:start;
}
.csn-footer-logo{
    display:flex;
    align-items:center;
    gap:13px;
    width:max-content;
    color:#fff!important;
}
.csn-footer-logo>span{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:19px;
    color:#071b36;
    background:linear-gradient(145deg,#ffffff,#d7f7f2 58%,#f2b53a);
    border:1px solid rgba(255,255,255,.50);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.96),
      0 4px 0 rgba(0,0,0,.24),
      0 17px 32px rgba(0,0,0,.23);
    font-size:18px;
    font-weight:1000;
}
.csn-footer-logo strong,
.csn-footer-logo small{
    display:block;
}
.csn-footer-logo strong{
    color:#fff;
    font-size:18px;
    line-height:1.15;
}
.csn-footer-logo small{
    margin-top:4px;
    color:#9fb6c0;
    font-size:11px;
    font-weight:750;
}
.csn-footer-brand p{
    max-width:330px;
    margin:19px 0 0;
    color:#c4d7df;
    font-size:15px;
    line-height:1.72;
}
.csn-footer-brand-chips,
.csn-footer-support-chips{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:16px;
}
.csn-footer-brand-chips em,
.csn-footer-support-chips em{
    padding:7px 9px;
    border-radius:999px;
    color:#dceaf0;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.12);
    font-size:10px;
    line-height:1;
    font-style:normal;
    font-weight:800;
}
.csn-footer-links h4,
.csn-footer-support h4,
.csn-footer-notice h4{
    margin:0 0 17px;
    color:#fff;
    font-size:20px;
    line-height:1;
    letter-spacing:-.035em;
}
.csn-footer-links,
.csn-footer-support{
    display:grid;
    align-content:start;
    gap:10px;
}
.csn-footer-links a,
.csn-footer-support a,
.csn-footer-support>span{
    color:#bfd2dc!important;
    font-size:14px;
    line-height:1.45;
    transition:color .18s ease,transform .18s ease;
}
.csn-footer-links a,
.csn-footer-support a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
}
.csn-footer-links a i,
.csn-footer-support a i{
    font-style:normal;
    font-size:14px;
    opacity:.55;
    transition:transform .18s ease,opacity .18s ease;
}
.csn-footer-links a:hover,
.csn-footer-support a:hover{
    color:#7ff2e7!important;
    transform:translateX(3px);
}
.csn-footer-links a:hover i,
.csn-footer-support a:hover i{
    opacity:1;
    transform:translateX(3px);
}
.csn-footer-support>span{
    display:inline-flex;
    width:max-content;
    padding:8px 10px;
    margin-top:2px;
    border-radius:999px;
    color:#071b36!important;
    background:linear-gradient(180deg,#dffff9,#c7f4ec);
    font-weight:900;
}
.csn-footer-notice{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    padding:20px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.10),
      0 20px 50px rgba(0,0,0,.17);
    backdrop-filter:blur(12px);
}
.csn-footer-notice-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#271800;
    background:linear-gradient(180deg,#ffd86c,#f2b53a);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      0 4px 0 rgba(143,94,0,.72),
      0 12px 22px rgba(242,181,58,.14);
    font-weight:1000;
}
.csn-footer-notice h4{
    margin-bottom:10px;
}
.csn-footer-notice p{
    margin:0;
    color:#c5d8df;
    font-size:13px;
    line-height:1.65;
}

.csn-footer-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
    margin-top:42px;
    padding:24px;
    border-radius:27px;
    background:
      radial-gradient(circle at 92% 10%,rgba(242,181,58,.13),transparent 27%),
      linear-gradient(135deg,rgba(24,205,184,.13),rgba(255,255,255,.055));
    border:1px solid rgba(126,236,228,.17);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.09),
      0 24px 60px rgba(0,0,0,.18);
}
.csn-footer-cta span{
    display:inline-flex;
    color:#7ff2e7;
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}
.csn-footer-cta strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:26px;
    line-height:1.12;
    letter-spacing:-.045em;
}
.csn-footer-cta p{
    max-width:720px;
    margin:8px 0 0;
    color:#bed1dc;
    font-size:14px;
    line-height:1.65;
}
.csn-footer-cta a{
    position:relative;
    overflow:hidden;
    min-height:55px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    color:#271800!important;
    background:linear-gradient(180deg,#ffd86c,#f2b53a 58%,#d99112);
    border:1px solid rgba(185,121,0,.20);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.58),
      inset 0 -2px 0 rgba(174,116,0,.18),
      0 4px 0 #a86e00,
      0 18px 34px rgba(242,181,58,.20);
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
    transition:transform .18s ease,box-shadow .18s ease;
}
.csn-footer-cta a::before{
    content:"";
    position:absolute;
    inset:1px 1px auto;
    height:45%;
    border-radius:16px 16px 8px 8px;
    background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);
    pointer-events:none;
}
.csn-footer-cta a i{
    position:relative;
    margin-left:7px;
    font-style:normal;
    transition:transform .18s ease;
}
.csn-footer-cta a:hover{
    transform:translateY(-2px);
}
.csn-footer-cta a:hover i{
    transform:translateX(4px);
}
.csn-footer-cta a:active{
    transform:translateY(2px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.43),0 1px 0 #a86e00,0 8px 16px rgba(242,181,58,.14);
}
.csn-footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:34px;
    padding:20px 0;
    border-top:1px solid rgba(255,255,255,.10);
}
.csn-footer-bottom p,
.csn-footer-bottom span{
    margin:0;
    color:#8fa7b4;
    font-size:12px;
    line-height:1.55;
}
.csn-footer-bottom span{
    color:#b7cad3;
}

@media(max-width:1080px){
  .csn-footer-grid-premium{
      grid-template-columns:1fr 1fr;
  }
  .csn-footer-cta{
      grid-template-columns:1fr;
      align-items:start;
  }
  .csn-footer-cta a{
      width:max-content;
  }
}
@media(max-width:650px){
  .csn-footer-premium{
      padding-top:56px;
  }
  .csn-footer-grid-premium{
      grid-template-columns:1fr;
      gap:28px;
  }
  .csn-footer-brand p{
      max-width:none;
  }
  .csn-footer-notice{
      grid-template-columns:1fr;
  }
  .csn-footer-cta{
      margin-top:32px;
      padding:20px;
      border-radius:23px;
  }
  .csn-footer-cta strong{
      font-size:23px;
  }
  .csn-footer-cta a{
      width:100%;
  }
  .csn-footer-bottom{
      align-items:flex-start;
      flex-direction:column;
  }
}
