:root{--siws-navy:#0E3A46;--siws-navy-deep:#0A2C36;--siws-navy2:#11505F;--siws-teal:#2A9BAF;--siws-teal-br:#5BC8D4;--siws-aqua:#89D8E8;--siws-gold:#D9A24B;--siws-gold-deep:#C2882F;--siws-seateal:#1B7E8C;--siws-plum:#7C5A6B;--siws-ink:#1C3640;--siws-softink:#4A6670;--siws-line:#E6E0D4;}

/* ---------- SECTION BACKGROUNDS ---------- */
.siws-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0E3A46 0%,#11505F 55%,#1A7A8C 100%);}
.siws-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1.4px,transparent 1.4px);background-size:24px 24px;pointer-events:none;}
.siws-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at 88% 8%,rgba(91,200,212,.28),transparent 60%),radial-gradient(420px circle at 6% 96%,rgba(217,162,75,.22),transparent 60%);pointer-events:none;}
.siws-hero>*{position:relative;z-index:2;}

.siws-content{position:relative;overflow:hidden;background:linear-gradient(160deg,#FBFCFB 0%,#F4F8F7 100%);}
.siws-content::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(14,58,70,.05) 1.3px,transparent 1.3px);background-size:24px 24px;pointer-events:none;}
.siws-content::after{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at 95% 4%,rgba(42,155,175,.10),transparent 60%),radial-gradient(360px circle at 3% 98%,rgba(217,162,75,.10),transparent 60%);pointer-events:none;}
.siws-content>*{position:relative;z-index:2;}

.siws-light{position:relative;overflow:hidden;background:linear-gradient(160deg,#EAF5F4 0%,#DEEFEE 100%);}
.siws-light::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(14,58,70,.035) 0,rgba(14,58,70,.035) 1px,transparent 1px,transparent 11px);pointer-events:none;}
.siws-light>*{position:relative;z-index:2;}

.siws-trust{position:relative;overflow:hidden;background:linear-gradient(120deg,#0E3A46,#11505F);}
.siws-trust::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1.2px,transparent 1.2px);background-size:22px 22px;}
.siws-trust>*{position:relative;z-index:2;}

.siws-darkcta{position:relative;overflow:hidden;background:linear-gradient(135deg,#0E3A46,#11505F 70%,#1A7A8C);}
.siws-darkcta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1.3px,transparent 1.3px);background-size:24px 24px;}
.siws-darkcta::after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at 90% 10%,rgba(91,200,212,.20),transparent 60%),radial-gradient(420px circle at 8% 92%,rgba(217,162,75,.20),transparent 60%);}
.siws-darkcta>*{position:relative;z-index:2;}

/* ---------- TEXT ROLES ---------- */
.siws-eyebrow .elementor-heading-title,.siws-eyebrow{color:var(--siws-gold)!important;letter-spacing:.16em;text-transform:uppercase;font-weight:600;}
.siws-grad .elementor-heading-title{background:linear-gradient(90deg,#0E3A46,#2A9BAF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.siws-gold-word em{color:var(--siws-gold);font-style:normal;}
.siws-meta .elementor-heading-title,.siws-meta{color:var(--siws-plum)!important;}
.siws-on-dark .elementor-heading-title,.siws-on-dark{color:#EAF6F8!important;}
.siws-on-dark-soft .elementor-heading-title,.siws-on-dark-soft{color:rgba(234,246,248,.82)!important;}
.siws-cardtitle .elementor-heading-title{color:var(--siws-seateal)!important;}
.siws-underline-gold .elementor-heading-title{display:inline-block;}
.siws-underline-gold .elementor-heading-title::after{content:"";display:block;width:64px;height:3px;border-radius:3px;margin-top:14px;background:linear-gradient(90deg,#D9A24B,#C2882F);}
.siws-underline-gold.siws-center .elementor-heading-title::after{margin-left:auto;margin-right:auto;}

/* ---------- BADGE / PILLS ---------- */
.siws-badge .elementor-heading-title{display:inline-block;padding:9px 18px;border-radius:30px;background:rgba(255,255,255,.10);border:1px solid rgba(217,162,75,.45);color:#EAF6F8!important;font-size:14px;font-weight:600;backdrop-filter:blur(4px);}
.siws-pill .elementor-button,.siws-pill{display:inline-block;padding:8px 16px;border-radius:24px;background:#fff;border:1px solid var(--siws-line);color:var(--siws-seateal);font-weight:600;font-size:14px;}

/* ---------- CARDS ---------- */
.siws-card{background:#fff;border:1px solid var(--siws-line);border-radius:14px;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;height:100%;}
.siws-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(14,58,70,.16);border-color:var(--siws-teal-br);}
.siws-card .elementor-widget-image img{transition:transform .5s ease;}
.siws-card:hover .elementor-widget-image img{transform:scale(1.05);}
.siws-card--service{border-top:3px solid var(--siws-gold);}
.siws-card--pop{border:2px solid var(--siws-gold);box-shadow:0 14px 34px rgba(217,162,75,.18);}

/* icon-box cards */
.siws-icard .elementor-icon-box-icon .elementor-icon{background:linear-gradient(135deg,#5BC8D4,#1B7E8C);color:#fff;width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;}
.siws-icard .elementor-icon-box-title{color:var(--siws-seateal)!important;}

/* ---------- BUTTONS ---------- */
.siws-btn-primary .elementor-button{background:linear-gradient(135deg,#2A9BAF,#0E3A46);color:#fff;border-radius:28px;font-weight:600;padding:14px 30px;border:none;box-shadow:0 8px 20px rgba(14,58,70,.18);transition:transform .2s ease,box-shadow .2s ease;}
.siws-btn-primary .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(42,155,175,.34);}
.siws-btn-cta .elementor-button{background:linear-gradient(135deg,#D9A24B,#C2882F);color:#fff;border-radius:28px;font-weight:700;padding:14px 30px;border:none;box-shadow:0 8px 20px rgba(194,136,47,.26);transition:transform .2s ease,box-shadow .2s ease;}
.siws-btn-cta .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,162,75,.42);}
.siws-btn-secondary .elementor-button{background:#fff;color:var(--siws-navy);border:2px solid var(--siws-teal);border-radius:28px;font-weight:600;padding:12px 28px;transition:all .2s ease;}
.siws-btn-secondary .elementor-button:hover{background:var(--siws-navy);color:#fff;border-color:var(--siws-navy);transform:translateY(-2px);}

/* ---------- ACCORDION ---------- */
.siws-acc .elementor-accordion-item{border:1px solid var(--siws-line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff;}
.siws-acc .elementor-tab-title{font-family:'Playfair Display',serif;color:var(--siws-navy)!important;font-weight:600;}
.siws-acc .elementor-tab-title.elementor-active{color:var(--siws-seateal)!important;}
.siws-acc .elementor-tab-title .elementor-accordion-icon{color:var(--siws-gold);}

/* ---------- STEPS ---------- */
.siws-step-num .elementor-heading-title{color:var(--siws-gold)!important;font-size:48px;font-weight:700;line-height:1;}

/* ---------- FLOATING WHATSAPP ---------- */
.siws-wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.28);z-index:99999;transition:transform .2s ease;}
.siws-wa-float:hover{transform:scale(1.08);}
.siws-wa-float svg{width:32px;height:32px;fill:#fff;}

/* ---------- TABLE ---------- */
.siws-pricetable table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(14,58,70,.08);}
.siws-pricetable th{background:linear-gradient(120deg,#0E3A46,#11505F);color:#fff;padding:16px;text-align:left;font-family:'Playfair Display',serif;}
.siws-pricetable td{padding:14px 16px;border-bottom:1px solid var(--siws-line);color:var(--siws-ink);}
.siws-pricetable tr:last-child td{border-bottom:none;}
.siws-pricetable a{color:var(--siws-gold-deep);font-weight:700;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){.siws-hero h1,.siws-h2 .elementor-heading-title{font-size:clamp(26px,6vw,40px)!important;}}
@media(max-width:767px){.siws-fullbtn-m .elementor-button{width:100%;justify-content:center;}.siws-hero{text-align:center;}}

/* links inside text editors */
.siws-content a,.siws-light a{color:var(--siws-teal);font-weight:600;text-decoration:none;}
.siws-content a:hover,.siws-light a:hover{color:var(--siws-gold-deep);}
