/* ICON · Innovative Construction - site layer on top of Elementor Kit 72.
   Tokens follow DESIGN.md (brand book hex values). Classes are prefixed icx-. */
:root{
  --icx-midnight:#0d1739;--icx-nile:#1c4467;--icx-faded:#5791a9;--icx-cloudy:#a4bed7;--icx-white:#fff;
  --icx-surface:#fff;--icx-surface-2:#f1f4f8;--icx-surface-3:#e4eaf2;--icx-line:#d6dee8;--icx-line-2:#b9c6d6;
  --icx-text:#0d1739;--icx-muted:#4e5f79;--icx-error:#b42318;--icx-success:#1e7a4c;
  --icx-night:#070d1a;--icx-night-2:#0d1626;--icx-night-line:#1e2c43;--icx-night-text:#e2eaf4;--icx-night-muted:#93a5bc;
  --icx-e1:0 1px 2px rgba(13,23,57,.05),0 6px 16px rgba(13,23,57,.07);
  --icx-e2:0 2px 6px rgba(13,23,57,.07),0 18px 44px rgba(13,23,57,.14);
  --icx-r-chip:7px;--icx-r-btn:10px;--icx-r-card:16px;--icx-r-panel:22px;--icx-gap:8px;
  --icx-he:"Assistant",Arial,sans-serif;--icx-lat:"Montserrat",Arial,sans-serif;
  --icx-hdr:76px;
}
@media (max-width:1024px){:root{--icx-hdr:64px}}
html,body.icx{overflow-x:clip}
body.icx{background:var(--icx-surface);color:var(--icx-text)}
body.icx :focus-visible{outline:3px solid var(--icx-nile);outline-offset:2px;border-radius:4px}
.icx-dark :focus-visible,.icx-footer :focus-visible{outline-color:var(--icx-cloudy)!important}
body.icx bdi,.icx-num{font-family:var(--icx-lat);font-variant-numeric:tabular-nums}
.icx-spec bdi,.icx-cladding bdi{font-weight:600}
body.icx .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.icx-skip{position:absolute;top:8px;right:8px;z-index:1000;padding:10px 16px;background:var(--icx-midnight);color:#fff;border-radius:var(--icx-r-btn);transform:translateY(-300%)}
.icx-skip:focus{transform:none}

/* ---------- K-09 header ---------- */
.elementor-location-header{position:sticky;top:0;z-index:100}
.admin-bar .elementor-location-header{top:32px}
.icx-header{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--icx-line);min-height:var(--icx-hdr)}
.icx-header .elementor-nav-menu{flex-wrap:nowrap}
.icx-header .elementor-nav-menu--main .elementor-item{font:500 16px/1 var(--icx-he);color:var(--icx-text);padding:12px 10px!important;border-radius:var(--icx-r-btn)}
.icx-header .elementor-nav-menu--main .elementor-item:hover,.icx-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--icx-nile);background:var(--icx-surface-2)}
.icx-header .elementor-nav-menu--main .elementor-item-active{box-shadow:inset 0 -3px 0 var(--icx-faded)}
.icx-header .elementor-nav-menu--dropdown{border:1px solid var(--icx-line);border-radius:var(--icx-r-card);box-shadow:var(--icx-e2);padding:8px;background:#fff}
.icx-header .elementor-nav-menu--dropdown a{font:500 15px var(--icx-he)!important;color:var(--icx-text)!important;border-radius:var(--icx-r-btn);padding:12px 14px!important}
.icx-header .elementor-nav-menu--dropdown a:hover,.icx-header .elementor-nav-menu--dropdown a.elementor-item-active{background:var(--icx-surface-2)!important;color:var(--icx-nile)!important}
.icx-menu-btn .elementor-button{min-width:44px;min-height:44px;padding:0 14px!important}
/* drawer (Elementor off-canvas) */
.icx-drawer .e-off-canvas__content{background:#fff}
.icx-drawer .elementor-nav-menu--layout-vertical .elementor-item{font:600 19px/1.2 var(--icx-he)!important;color:var(--icx-text)!important;padding:14px 4px!important;border-bottom:1px solid var(--icx-line)}
.icx-drawer .elementor-nav-menu--layout-vertical .sub-menu .elementor-sub-item{font:500 16px var(--icx-he)!important;color:var(--icx-muted)!important;padding:12px 18px!important}
.icx-drawer .elementor-nav-menu--layout-vertical .sub-arrow{padding:8px 12px}

/* ---------- buttons K-01..K-03 ---------- */
.icx-btn .elementor-button,.icx-btn-2 .elementor-button,.icx-btn-dark .elementor-button,.icx-btn-ghost .elementor-button{font:600 15px/1 var(--icx-he);min-height:52px;padding:0 26px;border-radius:var(--icx-r-btn);display:inline-flex;align-items:center;gap:10px;transition:background-color .2s,color .2s,border-color .2s}
.icx-btn .elementor-button{background:var(--icx-midnight);color:#fff}
.icx-btn .elementor-button:hover{background:var(--icx-nile);color:#fff}
.icx-btn-2 .elementor-button{background:transparent;color:var(--icx-text);border:1px solid var(--icx-line-2)}
.icx-btn-2 .elementor-button:hover{border-color:var(--icx-midnight);background:var(--icx-surface-2)}
.icx-btn-dark .elementor-button{background:#fff;color:var(--icx-midnight)}
.icx-btn-dark .elementor-button:hover{background:var(--icx-cloudy)}
.icx-btn-ghost .elementor-button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.icx-btn-ghost .elementor-button:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ---------- sections ---------- */
.icx-sec{padding-block:96px!important}
.icx-sec--tight{padding-block:64px!important}
.icx-panel{background:var(--icx-surface-2)}
.icx-dark{background:var(--icx-midnight);color:var(--icx-night-text)}
.icx-dark a:not(.elementor-button){color:var(--icx-cloudy)}
.icx-grid-paper{background-image:linear-gradient(var(--icx-line) 1px,transparent 1px),linear-gradient(90deg,var(--icx-line) 1px,transparent 1px);background-size:32px 32px;background-color:var(--icx-surface-2)}
.icx-dark.icx-grid-paper{background-image:linear-gradient(rgba(164,190,215,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(164,190,215,.06) 1px,transparent 1px);background-color:var(--icx-midnight)}
@media (max-width:767px){.icx-sec{padding-block:64px!important}.icx-sec--tight{padding-block:48px!important}}

/* headings: a short rule above section titles (no tag text) */
.icx-rule .elementor-heading-title::before{content:"";display:block;width:58px;height:3px;background:var(--icx-midnight);margin-bottom:22px}
.icx-dark .icx-rule .elementor-heading-title::before,.icx-rule.icx-on-dark .elementor-heading-title::before{background:#fff}
.icx-lead,.icx-lead p{font:400 20px/1.6 var(--icx-he);color:var(--icx-muted);max-width:62ch}
.icx-dark .icx-lead,.icx-dark .icx-lead p{color:var(--icx-night-text)}
@media (max-width:767px){.icx-lead,.icx-lead p{font-size:18px}}
.icx-prose{max-width:70ch}
.icx-prose p{margin-bottom:1em}
.icx-prose ul{padding-inline-start:1.2em;margin-bottom:1em}
.icx-prose li{margin-bottom:.4em}
.icx-prose h2,.icx-prose h3{margin:1.4em 0 .5em}
.icx-prose a{color:var(--icx-nile);text-decoration:underline;text-underline-offset:3px}

/* page hero */
.icx-hero{background:var(--icx-surface-2);border-bottom:1px solid var(--icx-line)}
.icx-hero .elementor-widget-breadcrumbs,.icx-hero #breadcrumbs{font:500 14px var(--icx-he);color:var(--icx-muted)}
.icx-hero #breadcrumbs a,.icx-crumbs a{color:var(--icx-nile);text-decoration:none}
.icx-hero #breadcrumbs a:hover{text-decoration:underline}

/* ---------- joints: panels separated by an 8px gap on a midnight frame, like a ventilated facade ---------- */
.icx-joints{background:var(--icx-midnight);padding:var(--icx-gap)!important;gap:var(--icx-gap)!important;border-radius:var(--icx-r-panel)}
.icx-joints>.e-con,.icx-joints>.e-con-inner>.e-con,.icx-joints>.elementor-widget{border-radius:var(--icx-r-card);overflow:hidden}
.icx-joints--light{background:var(--icx-line)}

/* plain cards */
.icx-card{background:#fff;border-radius:var(--icx-r-card);box-shadow:var(--icx-e1);padding:28px!important}
.icx-card--line{box-shadow:none;border:1px solid var(--icx-line)}
.icx-card .elementor-heading-title{margin-bottom:8px}
.icx-card p:last-child{margin-bottom:0}

/* numbered steps */
.icx-step .icx-step__n .elementor-heading-title{font:600 13px var(--icx-lat);letter-spacing:.06em;color:var(--icx-nile)}
.icx-dark .icx-step .icx-step__n .elementor-heading-title,.icx-joints .icx-step__n .elementor-heading-title{color:var(--icx-cloudy)}
.icx-out{font:600 14px var(--icx-he);color:var(--icx-nile);border-top:1px solid var(--icx-line);padding-top:12px;margin-top:4px}
.icx-out p{margin:0}
.icx-joints .icx-step{background:#fff}

/* numbers */
.icx-stat .elementor-counter-number-wrapper{font:600 56px/1 var(--icx-lat)!important;color:var(--icx-midnight)}
.icx-dark .icx-stat .elementor-counter-number-wrapper{color:#fff}
.icx-stat .elementor-counter-title{font:500 15px var(--icx-he)!important;color:var(--icx-muted)}
.icx-dark .icx-stat .elementor-counter-title{color:var(--icx-night-muted)}
@media (max-width:767px){.icx-stat .elementor-counter-number-wrapper{font-size:40px!important}}

/* image tiles inside joints */
.icx-tile{position:relative;min-height:340px;justify-content:flex-end!important;color:#fff}
.icx-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,13,26,.88),rgba(7,13,26,.15) 70%);z-index:0}
.icx-tile>*{position:relative;z-index:1}
.icx-tile .elementor-heading-title{color:#fff}
.icx-tile p{color:rgba(255,255,255,.9)}
.icx-tile .icx-tile__link a::after{content:"";position:absolute;inset:0}
.icx-tile .icx-tile__link a{color:#fff}

/* ---------- K-07 project card (loop item) ---------- */
.icx-pcard{background:#fff;border-radius:var(--icx-r-card);overflow:hidden;box-shadow:var(--icx-e1);height:100%;transition:box-shadow .25s,transform .25s;position:relative}
.icx-pcard:hover{box-shadow:var(--icx-e2);transform:translateY(-2px)}
.icx-pcard .elementor-widget-theme-post-featured-image img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.icx-pcard .icx-pcard__title .elementor-heading-title{font:700 20px/1.3 var(--icx-he)}
.icx-pcard .icx-pcard__title a{color:var(--icx-text)}
.icx-pcard .icx-pcard__title a::after{content:"";position:absolute;inset:0}
.icx-pcard .icx-pcard__meta{font:500 14px var(--icx-he);color:var(--icx-muted)}
.icx-pcard .icx-pcard__meta p{margin:0}
.icx-pcard .icx-pcard__spec{font:600 13px var(--icx-lat);letter-spacing:.02em;color:var(--icx-nile)}

/* article card */
.icx-acard{background:#fff;border:1px solid var(--icx-line);border-radius:var(--icx-r-card);overflow:hidden;height:100%;position:relative;transition:box-shadow .25s}
.icx-acard:hover{box-shadow:var(--icx-e2)}
.icx-acard img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}
.icx-acard .icx-acard__title a{color:var(--icx-text)}
.icx-acard .icx-acard__title a::after{content:"";position:absolute;inset:0}
.icx-acard .icx-acard__topic{font:600 13px var(--icx-he);color:var(--icx-nile)}

/* ---------- K-06 chips (taxonomy filter) ---------- */
.icx-chips .e-filter{gap:8px!important;flex-wrap:wrap;justify-content:flex-start!important}
.icx-chips .e-filter-item{font:500 15px var(--icx-he)!important;min-height:44px;padding:0 18px!important;border-radius:var(--icx-r-chip)!important;border:1px solid var(--icx-line-2)!important;background:#fff!important;color:var(--icx-text)!important}
.icx-chips .e-filter-item:hover{border-color:var(--icx-midnight)!important}
.icx-chips .e-filter-item[aria-pressed=true]{background:var(--icx-midnight)!important;border-color:var(--icx-midnight)!important;color:#fff!important}

/* ---------- K-08 spec table ---------- */
.icx-spec{margin:0;border-top:2px solid var(--icx-midnight)}
.icx-spec__row{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--icx-line)}
.icx-spec dt{font:500 15px var(--icx-he);color:var(--icx-muted)}
.icx-spec dd{margin:0;font:600 16px var(--icx-he);color:var(--icx-text)}
.icx-spec dd a{color:var(--icx-nile)}
.icx-cladding{list-style:none;margin:0;padding:0}
.icx-cladding li{padding:14px 16px;background:var(--icx-surface-2);border-radius:var(--icx-r-btn);margin-bottom:8px;font:500 16px var(--icx-he)}

/* ---------- K-10 continue from here ---------- */
.icx-next .icx-card{position:relative;transition:box-shadow .25s,border-color .25s}
.icx-next .icx-card:hover{box-shadow:var(--icx-e2)}
.icx-next .icx-next__link a{color:var(--icx-text)}
.icx-next .icx-next__link a::after{content:"";position:absolute;inset:0;border-radius:var(--icx-r-card)}
.icx-next .icx-card .icx-next__go{font:600 14px var(--icx-he);color:var(--icx-nile)}

/* ---------- FAQ (nested accordion) ---------- */
.icx-faq .e-n-accordion-item{border-bottom:1px solid var(--icx-line)}
.icx-faq .e-n-accordion-item-title{padding:20px 0!important;background:transparent!important;border:0!important}
.icx-faq .e-n-accordion-item-title-text{font:700 19px/1.4 var(--icx-he)!important;color:var(--icx-text)!important}
.icx-faq .e-n-accordion-item-title-icon{color:var(--icx-nile)}
.icx-faq .e-n-accordion-item>.e-con{padding:0 0 22px!important;border:0!important}
.icx-faq .e-n-accordion-item>.e-con p{color:var(--icx-muted);max-width:70ch;margin:0}

/* ---------- K-04 / K-05 form ---------- */
.icx-form .elementor-field-group{margin-bottom:18px}
.icx-form .elementor-field-label{font:600 15px var(--icx-he)!important;color:var(--icx-text)!important;margin-bottom:6px!important}
.icx-form .elementor-mark-required .elementor-field-label::after{color:var(--icx-error)!important}
.icx-form .elementor-field-textual,.icx-form .elementor-select-wrapper select{min-height:48px;border:1px solid var(--icx-line-2)!important;border-radius:var(--icx-r-btn)!important;background:#fff!important;color:var(--icx-text)!important;font:400 16px var(--icx-he)!important;padding:10px 14px!important}
.icx-form textarea.elementor-field-textual{min-height:120px}
.icx-form .elementor-field-textual:hover,.icx-form select:hover{border-color:var(--icx-muted)!important}
.icx-form .elementor-field-textual:focus,.icx-form select:focus{outline:3px solid var(--icx-nile)!important;outline-offset:2px;border-color:var(--icx-nile)!important}
.icx-form .elementor-field-textual::placeholder{color:#7a889c}
.icx-form .elementor-error .elementor-field-textual,.icx-form .elementor-error select,.icx-form .elementor-field-textual[aria-invalid=true]{border-color:var(--icx-error)!important;box-shadow:0 0 0 1px var(--icx-error)}
.icx-form .elementor-error .elementor-message,.icx-form .elementor-field-group .elementor-message{font:600 14px var(--icx-he);color:var(--icx-error)!important;margin-top:6px}
.icx-form .elementor-message-danger{color:var(--icx-error)!important;font:600 15px var(--icx-he)}
.icx-form .elementor-message-success{color:var(--icx-success)!important;font:700 16px var(--icx-he);background:#e8f4ee;border-radius:var(--icx-r-btn);padding:14px 16px}
.icx-form .elementor-message::before{display:none}
.icx-form .elementor-field-type-acceptance label,.icx-form .elementor-field-option label{font:400 15px var(--icx-he);color:var(--icx-muted)}
.icx-form .elementor-field-type-acceptance input{width:20px;height:20px;accent-color:var(--icx-midnight)}
.icx-form .elementor-button{min-height:52px;border-radius:var(--icx-r-btn)!important;background:var(--icx-midnight)!important;color:#fff!important;font:600 16px var(--icx-he)!important;padding:0 30px!important}
.icx-form .elementor-button:hover{background:var(--icx-nile)!important}
.icx-form .elementor-button[disabled],.icx-form .elementor-form-waiting .elementor-button{background:var(--icx-surface-3)!important;color:var(--icx-muted)!important;cursor:progress}
.icx-form .icx-form__note{font:400 14px var(--icx-he);color:var(--icx-muted)}
.icx-contact-list{list-style:none;margin:0;padding:0}
.icx-contact-list li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--icx-line)}
.icx-dark .icx-contact-list li{border-color:var(--icx-night-line)}
.icx-contact-list span{color:var(--icx-muted);font-weight:500}
.icx-dark .icx-contact-list span{color:var(--icx-night-muted)}
.icx-contact-list a{color:inherit;font-weight:600}

/* ---------- footer ---------- */
.icx-footer{background:var(--icx-midnight);color:var(--icx-night-text)}
.icx-footer .elementor-heading-title{color:#fff}
.icx-footer a{color:var(--icx-night-text)}
.icx-footer a:hover{color:#fff;text-decoration:underline}
.icx-footer .elementor-nav-menu--layout-vertical .elementor-item{color:var(--icx-night-text)!important;font:400 16px var(--icx-he)!important;padding:7px 0!important}
.icx-footer .elementor-nav-menu--layout-vertical .elementor-item:hover{color:#fff!important}
.icx-footer .icx-footer__base{border-top:1px solid var(--icx-night-line);font-size:14px;color:var(--icx-night-muted)}
.icx-footer .icx-footer__base a{color:var(--icx-night-muted)}

/* ---------- instruments ---------- */
/* scale comparison */
.icx-scale{background:var(--icx-surface-2);border-radius:var(--icx-r-panel);padding:28px;direction:rtl}
.icx-scale__stage{position:relative;border-top:2px solid var(--icx-midnight);padding-top:20px;display:grid;gap:28px}
.icx-scale__row{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center}
.icx-scale__name strong{display:block;font:600 14px var(--icx-lat);letter-spacing:.12em;color:var(--icx-midnight)}
.icx-scale__name span{display:block;font:500 15px var(--icx-he);color:var(--icx-muted)}
.icx-scale__name bdi{display:block;margin-top:6px;font:600 15px var(--icx-lat);color:var(--icx-nile)}
.icx-scale__track{position:relative}
.icx-scale__panel{height:auto;aspect-ratio:var(--r);width:var(--w);background:var(--c);border:1px solid var(--icx-nile);border-radius:3px;background-image:linear-gradient(90deg,rgba(13,23,57,.08) 1px,transparent 1px);background-size:calc(100% / var(--cols,1)) 100%}
.icx-scale__note{margin-top:18px;font:400 14px var(--icx-he);color:var(--icx-muted)}
@media (max-width:767px){.icx-scale{padding:20px}.icx-scale__row{grid-template-columns:1fr;gap:10px}}

/* dimensioned board + colour fan */
.icx-board{display:grid;grid-template-columns:1fr 300px;gap:var(--icx-gap);background:var(--icx-midnight);padding:var(--icx-gap);border-radius:var(--icx-r-panel)}
.icx-board__sheet{background:var(--icx-surface-2);border-radius:var(--icx-r-card);padding:28px 28px 20px;min-width:0}
.icx-board__title{display:flex;flex-direction:column;align-items:flex-end;direction:ltr;text-align:left;margin-bottom:18px}
.icx-board__title strong{font:600 14px var(--icx-lat);letter-spacing:.14em;color:var(--icx-midnight)}
.icx-board__title span{font:500 13px var(--icx-lat);color:var(--icx-muted)}
.icx-board__draw{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto 40px;direction:ltr}
.icx-board__panel{aspect-ratio:var(--ratio);background:var(--sw);border-radius:2px;box-shadow:inset 0 0 0 1px rgba(13,23,57,.18),inset 0 1px 0 rgba(255,255,255,.5);transition:background-color .35s}
.icx-board__dim{font:600 14px var(--icx-lat);color:var(--icx-midnight);display:flex;align-items:center;justify-content:center;position:relative}
.icx-board__dim--h{border-right:1px solid var(--icx-nile);margin-right:10px;writing-mode:vertical-rl;transform:rotate(180deg)}
.icx-board__dim--w{grid-column:2;border-top:1px solid var(--icx-nile);margin-top:10px}
.icx-board__cap{font:400 13px var(--icx-he);color:var(--icx-muted);margin:4px 0 12px}
.icx-board__now{display:flex;align-items:center;gap:10px;margin:0;font:500 15px var(--icx-he);flex-wrap:wrap}
.icx-board__chip{width:22px;height:22px;border-radius:5px;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(13,23,57,.2)}
.icx-board__code{font:600 15px var(--icx-lat)}
.icx-board__ncs{color:var(--icx-muted);font:500 13px var(--icx-lat)}
.icx-board__spec{background:#fff;border-radius:var(--icx-r-card);padding:20px 22px;border-top:0}
.icx-board__spec .icx-spec__row{grid-template-columns:1fr auto}
.icx-fan{grid-column:1/-1;background:#fff;border-radius:var(--icx-r-card);padding:20px 22px}
.icx-fan__label{font:400 14px var(--icx-he);color:var(--icx-muted);margin:0 0 12px}
.icx-fan__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:4px}
.icx-fan__sw{all:unset;cursor:pointer;aspect-ratio:1;min-height:28px;border-radius:4px;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(13,23,57,.16);transition:transform .15s}
.icx-fan__sw:hover{transform:scale(1.12)}
.icx-fan__sw[aria-pressed=true]{outline:3px solid var(--icx-midnight);outline-offset:1px}
.icx-fan__sw:focus-visible{outline:3px solid var(--icx-nile);outline-offset:2px}
@media (max-width:1024px){.icx-board{grid-template-columns:1fr}}
@media (max-width:767px){.icx-board__sheet{padding:18px}.icx-board__draw{grid-template-columns:32px 1fr}.icx-fan__grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}}

/* colour strip (home) */
.icx-strip{display:flex;gap:4px;border-radius:var(--icx-r-card);overflow:hidden;padding:8px;background:var(--icx-midnight)}
.icx-strip span{flex:1;min-width:0;height:72px;background:var(--sw);border-radius:3px}
@media (max-width:767px){.icx-strip span{height:48px}}

/* post content inside templates */
.icx-post .elementor-widget-theme-post-content{font-size:17px;line-height:1.75}
.icx-post .elementor-widget-theme-post-content img{border-radius:var(--icx-r-card);height:auto}
.icx-post .elementor-widget-theme-post-content h2{font:700 30px/1.25 var(--icx-he);margin:1.6em 0 .5em}
.icx-post .elementor-widget-theme-post-content h3{font:700 22px/1.3 var(--icx-he);margin:1.4em 0 .4em}
.icx-post .elementor-widget-theme-post-content a{color:var(--icx-nile);text-decoration:underline;text-underline-offset:3px}
.icx-post .elementor-widget-theme-post-content ul,.icx-post .elementor-widget-theme-post-content ol{padding-inline-start:1.3em;margin-bottom:1.1em}
.icx-post .elementor-widget-theme-post-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.icx-post .elementor-widget-theme-post-content td,.icx-post .elementor-widget-theme-post-content th{border:1px solid var(--icx-line);padding:10px}
.icx-post .stb-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:1em 0}
.icx-post .stb-gallery img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:8px}
.icx-post .gallery{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.icx-post .gallery-item{width:auto!important;margin:0!important}
.icx-post .gallery img{border:0!important;border-radius:8px;aspect-ratio:1;object-fit:cover;width:100%}
@media (max-width:767px){.icx-post .elementor-widget-theme-post-content h2{font-size:24px}}

/* loop grid pagination / load more */
.icx-loop .e-load-more-anchor+.elementor-button-wrapper .elementor-button,.icx-loop .elementor-pagination a{font:600 15px var(--icx-he)}
.icx-loop .elementor-button-wrapper .elementor-button{background:transparent;color:var(--icx-text);border:1px solid var(--icx-line-2);border-radius:var(--icx-r-btn);min-height:48px}
.icx-empty{font:500 17px var(--icx-he);color:var(--icx-muted)}
@media (prefers-reduced-motion:reduce){.icx-pcard,.icx-acard,.icx-fan__sw,.icx-board__panel{transition:none}}

.icx-flinks{list-style:none;margin:0;padding:0}
.icx-flinks li{margin:0}
.icx-flinks a{display:inline-block;padding:7px 0;min-height:24px}
.icx-cardmeta p{margin:0}
.icx-cardmeta .icx-pcard__meta{font:500 14px var(--icx-he);color:var(--icx-muted)}
.icx-cardmeta .icx-pcard__spec{font:600 13px var(--icx-he);color:var(--icx-nile);margin-top:4px}
.icx-cardmeta--big .icx-pcard__meta{font-size:18px}
.icx-cardmeta--big .icx-pcard__spec{font-size:16px}

/* header row: nested containers default to 100% width in Elementor; keep logo / nav / actions on one line */
.icx-header>.e-con-inner{flex-wrap:nowrap!important}
.icx-header>.e-con-inner>.e-con{--width:auto;width:auto;flex:0 0 auto}
.icx-header>.e-con-inner>.elementor-widget-nav-menu{flex:1 1 auto;min-width:0}
.icx-header .elementor-widget-image img{width:150px;height:auto}
@media (max-width:1024px){.icx-header .elementor-widget-image img{width:118px}.icx-header>.e-con-inner{min-height:64px}}
/* numbers: three across on phones too */
@media (max-width:767px){.icx-stats{flex-wrap:nowrap!important}.icx-stats>.elementor-widget{flex:1 1 0;min-width:0}.icx-stat .elementor-counter-number-wrapper{font-size:34px!important}.icx-stat .elementor-counter-title{font-size:13px!important;line-height:1.3}}

/* home hero */
.icx-home-hero .icx-accent{color:var(--icx-cloudy)}
.icx-home-hero .elementor-heading-title{text-wrap:balance}
.icx-hero__stats{border-top:1px solid var(--icx-night-line)}
.icx-hero-car{background:var(--icx-midnight);padding:8px;border-radius:var(--icx-r-panel);box-shadow:0 0 0 1px rgba(164,190,215,.18)}
.icx-hero-car .swiper-slide-image,.icx-hero-car img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--icx-r-card)}
.icx-hero-car figcaption,.icx-hero-car .elementor-image-carousel-caption{position:absolute;inset-inline-start:16px;bottom:16px;background:rgba(13,23,57,.82);color:#fff;font:600 14px var(--icx-he);padding:8px 12px;border-radius:var(--icx-r-chip);text-align:start}
.icx-hero-car .swiper-pagination{position:static;margin-top:10px}
.icx-hero-car .swiper-pagination-bullet{width:10px;height:10px;opacity:.5}
.icx-hero-car .swiper-pagination-bullet-active{opacity:1}
.icx-drawer a:not(.elementor-button){color:var(--icx-nile)}
@media (max-width:767px){.icx-home-hero .elementor-heading-title{font-size:40px!important}}
/* footer contact list is on midnight but has no icx-dark class: light labels (AA 6.9:1) */
.icx-footer .icx-contact-list span{color:var(--icx-night-muted)}
.icx-footer .icx-contact-list li{border-color:var(--icx-night-line)}

/* ---------- 26.10: WhatsApp (N8) + manufacturers without a board ---------- */
.icx-noboard .icx-board-sec{display:none}
.icx-wa{position:fixed;left:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px 0 14px;border-radius:999px;background:var(--icx-midnight);color:#fff!important;font:600 15px/1 var(--icx-he);text-decoration:none;box-shadow:var(--icx-e2);transition:background-color .2s,transform .2s}
.icx-wa svg{flex:none}
.icx-wa:hover{background:var(--icx-nile)}
.icx-wa:focus-visible{outline:3px solid var(--icx-faded)!important;outline-offset:3px}
@media (max-width:767px){.icx-wa{left:14px;bottom:14px;width:52px;min-height:52px;padding:0;justify-content:center}.icx-wa__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}}
@media (prefers-reduced-motion:reduce){.icx-wa{transition:none}}
body.icx [id]{scroll-margin-top:calc(var(--icx-hdr) + 24px)}

/* ---------- project gallery and manufacturer downloads (client materials 28.10) ---------- */
.icx-nogallery .icx-gallery-sec,.icx-nofiles .icx-files-sec,.icx-nocladding .icx-cladding-h{display:none}
.icx-gal,.icx-files{list-style:none;margin:0;padding:0;display:grid}
.icx-gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.icx-gal li:first-child{grid-column:span 2;grid-row:span 2}
.icx-gal a{display:block;height:100%;overflow:hidden;border-radius:var(--icx-r-card);background:var(--icx-surface-3)}
.icx-gal img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.icx-gal a:hover img{transform:scale(1.03)}
.icx-files{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.icx-file{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:64px;height:100%;padding:12px 18px;box-sizing:border-box;background:var(--icx-surface);border:1px solid var(--icx-line);border-radius:var(--icx-r-btn);color:var(--icx-text);transition:border-color .2s,box-shadow .2s}
.icx-file svg{color:var(--icx-nile)}
.icx-file:hover{border-color:var(--icx-nile);box-shadow:var(--icx-e1);color:var(--icx-text)}
.icx-file__name{font:600 16px/1.35 var(--icx-he)}
.icx-file__meta{font-size:13px;color:var(--icx-muted);white-space:nowrap}
.icx-file__meta bdi{font-weight:500}
@media (max-width:600px){
  .icx-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .icx-gal li:first-child{grid-row:auto}
}
@media (prefers-reduced-motion:reduce){.icx-gal img,.icx-file{transition:none}.icx-gal a:hover img{transform:none}}
