/* ---- Section title (SoTech .sec-title): small caps label with a trailing rule ---- */
.ism-eyebrow .elementor-heading-title{font-family:var(--ism-font-body);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ism-teal);display:inline-flex;align-items:center;gap:12px;line-height:1.2}
.ism-eyebrow .elementor-heading-title::after{content:"";width:40px;height:2px;background:var(--ism-orange)}
.ism-dark .ism-eyebrow .elementor-heading-title{color:#5FC3E0}
.ism-eyebrow,.ism-eyebrow>.e-con-inner{align-items:flex-start!important}
.ism-eyebrow .elementor-widget-heading{width:auto}
.ism-shead{gap:12px!important}
.ism-shead .elementor-widget-heading:not(:first-child) h2.elementor-heading-title{font-size:var(--ism-h2)}
.ism-shead--center{text-align:center;align-items:center!important}
.ism-shead--center .ism-eyebrow,.ism-shead--center .ism-eyebrow>.e-con-inner{align-items:center!important}

/* ---- Buttons (SoTech .btn-style-one): square, uppercase, fill slides in on hover ---- */
.elementor-button,.ism-btn{font-family:var(--ism-font-body)!important;font-weight:700!important;font-size:14px!important;letter-spacing:.08em;text-transform:uppercase;border-radius:0!important;padding:17px 34px!important;background:var(--ism-teal)!important;color:var(--ism-white)!important;border:0!important;position:relative;overflow:hidden;z-index:1;transition:color .3s ease}
.elementor-button::before{content:"";position:absolute;inset:0;background:var(--ism-ink);transform:scaleX(0);transform-origin:right;transition:transform .35s ease;z-index:-1}
.elementor-button:hover::before{transform:scaleX(1);transform-origin:left}
.ism-btns{gap:16px!important;flex-wrap:wrap!important}
.ism-btns>.elementor-widget-button:nth-child(2) .elementor-button{background:transparent!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.ism-btns>.elementor-widget-button:nth-child(2) .elementor-button::before{background:var(--ism-white)}
.ism-btns>.elementor-widget-button:nth-child(2) .elementor-button:hover{color:var(--ism-ink)!important}
.ism-btns--light>.elementor-widget-button:nth-child(2) .elementor-button{color:var(--ism-ink)!important;box-shadow:inset 0 0 0 2px var(--ism-ink)}
.ism-btns--light>.elementor-widget-button:nth-child(2) .elementor-button::before{background:var(--ism-ink)}
.ism-btns--light>.elementor-widget-button:nth-child(2) .elementor-button:hover{color:var(--ism-white)!important}
.ism-btn--white .elementor-button{background:var(--ism-white)!important;color:var(--ism-teal)!important}
.ism-btn--white .elementor-button:hover{color:var(--ism-white)!important}

/* ---- Checklist ---- */
.ism-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ism-check li{position:relative;padding-left:32px;font-weight:500;color:var(--ism-ink);line-height:1.5}
.ism-check li::before{content:"";position:absolute;left:0;top:.1em;width:20px;height:20px;border-radius:50%;background:var(--ism-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%23fff'/%3E%3C/svg%3E") center/14px no-repeat}
.ism-dark .ism-check li,.ism-onteal .ism-check li{color:var(--ism-white)}
.ism-onteal .ism-check li::before{background-color:var(--ism-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%23157694'/%3E%3C/svg%3E")}

/* ---- Photo ---- */
.ism-photo img{width:100%;object-fit:cover;display:block}

/* ---- Town chips ---- */
.ism-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ism-chips li a,.ism-chips li span{display:inline-block;padding:8px 16px;background:var(--ism-white);border:1px solid var(--ism-line);color:var(--ism-ink);font-weight:500;text-decoration:none;font-size:15px;line-height:1.4}
.ism-chips li a:hover{border-color:var(--ism-teal);color:var(--ism-teal)}

/* ---- Hello Elementor ships pink (#c36) buttons and links; brand them ---- */
button,[type=submit],[type=button],.button{font-family:var(--ism-font-body);font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--ism-teal);color:var(--ism-white);border:0;border-radius:0;padding:15px 30px;cursor:pointer}
button:hover,[type=submit]:hover,[type=button]:hover,button:focus,[type=submit]:focus{background:var(--ism-ink);color:var(--ism-white)}
.hfe-nav-menu__toggle,.hfe-nav-menu__toggle:hover,.hfe-nav-menu__toggle:focus{background:transparent!important;border:0!important;padding:0!important;color:var(--ism-ink)!important}
.ism-formfallback{background:var(--ism-paper);border-left:4px solid var(--ism-teal);padding:24px 28px}
