/* ===================================
    Crafto - Modern Business
====================================== */
/* font */
@import url('../../css2-3');
@import url('../../css2-4');
/* variable */
:root {  
    --alt-font: "DM Sans", sans-serif;
    --primary-font: "Inter", sans-serif;
    --base-color: #602482;
    --ictaz-brand-rgb: 96, 36, 130;
    --dark-gray: #2D2247;
    --medium-gray: #716d7a;
    --light-medium-gray: #E8E2F5;
    --green: #4DAA57;
    --very-light-gray: #f3e7ff;
} 
/* reset */
body {
    font-size: 16px;
    line-height: 28px; 
}
a {
    color: #602482;
} 
/* box layout */
.box-layout {
    padding-left: 80px;
    padding-right: 80px;
}
/* bg color */
.bg-base-transparent-light {
    background-color: rgba(96, 36, 130, 0.1);
}
.bg-green-transparent-light {
    background-color: rgba(77, 170, 87, 0.20);
}
.bg-gradient-very-light-gray-transparent {
    background: -webkit-linear-gradient(right, rgba(96, 36, 130, 0.10), rgba(96, 36, 130, 0));
    background: linear-gradient(to right, rgba(96, 36, 130, 0.10), rgba(96, 36, 130, 0));
}
.bg-gradient-flamingo-red-transparent {
    background: -webkit-linear-gradient(right, rgba(225, 52, 14, 1.0), rgba(255, 255, 255, 0.0));
    background: linear-gradient(to right, rgba(225, 52, 14, 1.0) 10%, rgba(255, 255, 255, 0.0) 95%);
}
.bg-gradient-base-color-transparent {
    background: -webkit-linear-gradient(right, rgba(96, 36, 130, 1.0), rgba(255, 255, 255, 0.0));
    background: linear-gradient(to right, rgba(96, 36, 130, 1.0) 10%, rgba(255, 255, 255, 0.0) 95%);
}
.bg-gradient-top-very-light-gray { 
    background-image:linear-gradient(to top, #F9F6FF, #F9F6FF, #fcfafa, #ffffff, #ffffff);
}
/* text color */
.text-flamingo {
    color: #F3453B;
}
/* border color */
.border-color-base-transparent {
    border-color: rgba(96, 36, 130, 0.3) !important;
}
.text-outline-color-extra-medium-gray { 
    -webkit-text-stroke-color: rgba(45, 34, 71, 0.15); 
}
/* header */
header .container-fluid {
    padding-left: 65px;
    padding-right: 65px;
}
header .navbar-brand img {
    max-height: 31px;
}
header .btn {
    font-size: 13px;
}

/* Landing topbar + main nav: stable alignment when lede wraps */
.header-top-bar .ictaz-topbar .row {
    min-height: 0;
}

.header-top-bar .ictaz-topbar-lede {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 992px) {
    .header-top-bar .ictaz-topbar-lede {
        margin-left: 0;
        margin-right: 0;
    }
}

.navbar.header-light .container-fluid > .row {
    flex-wrap: wrap;
}

@media (min-width: 992px) {
    .navbar.header-light .container-fluid > .row {
        flex-wrap: nowrap;
    }
}

.navbar .navbar-nav .nav-link .label {
    font-size: 10px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 360px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
    line-height: 24px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a i {
    font-size: 32px;
    width: 35px;
}
.navbar .navbar-nav .nav-link {
    font-weight: 600;
}
/* margin */
.mb-minus-30px {
    margin-bottom: -30px;
}
/* btn */
.btn {
    font-weight: 500;
    font-family: var(--primary-font);
    border: 0;
}
.btn.btn-base-color:active, .btn.btn-base-color:hover {
    background: var(--base-color);
    color: var(--white);
}
.btn.btn-transparent-light-gray, .btn.btn-transparent-light-gray:active, .btn.btn-transparent-light-gray:hover  {
    background-color: rgba(96, 36, 130, 0.1);
    color: var(--base-color);
}
.btn.btn-switch-text.btn-large>span {
    padding: 16px 32px;
    font-size: 15px;
}
/* font size */
.h1, h1 {
    font-size: 4.3rem;
    line-height: 4rem;
}
.fs-280 {
    font-size: 17.5rem;
    line-height: 17.5rem;
}
/* contact form style */
.contact-form-style-07 .form-control {
    font-size: 14px;
}
/* newsletter style */
.newsletter-style-02 input {
    border-radius: 4px;
    padding: 9px 50px 9px 20px !important;
}
.newsletter-style-02 .btn { 
    padding: 8px 20px 8px; 
}
/* progress bar style */
.progress-bar-style-01 .progress .progress-bar-percent:after {
    border-top-color: rgba(96, 36, 130, 0.1);
}
/* down section */
.down-section {
    bottom: 30px;
}
/* review star icon */
.review-star-icon i {
    color: var(--base-color);
}
/* footer */
.footer-navbar li a:hover {
    color: var(--white);
}
footer .footer-logo img {
    max-height: 38px;
}
.mb-minus-70px {
    margin-bottom: -70px;
}
/* page title */
.page-title-extra-large h1 {
    font-size: 4.5rem;
    line-height: 3.4rem;
}
/* media query responsive */
@media (max-width: 1600px) {
    .box-layout {
        padding: 0 60px;
    }
    header .container-fluid {
        padding-left: 45px;
        padding-right: 45px;
    }
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}
@media (max-width: 1199px) {
    .box-layout {
        padding: 0 0;
    }
    header .container-fluid {
        padding-left: 35px;
        padding-right: 35px;
    }
}
@media (max-width: 991px) { 
    header .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    } 
    .md-mb-minus-50px {
        margin-bottom: -50px;
    }
}
@media (max-width: 767px) {
    .md-mb-minus-20px {
        margin-bottom: -20px;
    }
}

/* ICTAZ — WhatsApp FAB (theme #602482 via --base-color) */
.ictaz-whatsapp-fab {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 1050;
    text-decoration: none;
    background: var(--base-color);
    border-radius: 999px;
    padding: 12px 18px 12px 14px;
    max-width: min(calc(100vw - 44px), 340px);
    box-shadow: 0 8px 24px rgba(var(--ictaz-brand-rgb), 0.35);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.ictaz-whatsapp-fab:hover,
.ictaz-whatsapp-fab:focus-visible {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(var(--ictaz-brand-rgb), 0.5);
    filter: brightness(1.06);
}

.ictaz-whatsapp-fab:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(var(--ictaz-brand-rgb), 0.35), 0 12px 28px rgba(var(--ictaz-brand-rgb), 0.45);
}

/* B-02 — public contact workspace (landing /contact) */
/* Skip links: available to keyboard/screen-reader users, not visible as pills by default */
.ictaz-b02-skiplinks {
    position: relative;
    z-index: 1080;
    margin: 0;
    padding: 0;
    height: 0;
    overflow: visible;
}

.ictaz-b02-skiplinks ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ictaz-b02-skiplinks a {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    /* reset pill look when hidden */
    display: block;
    text-decoration: none;
}

.ictaz-b02-skiplinks a:focus,
.ictaz-b02-skiplinks a:focus-visible {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0.5rem 1rem;
    overflow: visible;
    clip: auto;
    white-space: normal;
    z-index: 11000;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid rgba(var(--ictaz-brand-rgb), 0.45);
    color: var(--dark-gray);
    background: #fff;
    box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.15);
    outline: 0;
}

.ictaz-b02-skiplinks a:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(var(--ictaz-brand-rgb), 0.35), 0 0.35rem 1rem rgba(15, 23, 42, 0.15);
}

/* Icon + underline inputs: confine absolute icon to input row (not whole column with hints) */
.ictaz-b02-form.contact-form-style-07 .ictaz-b02-input-wrap .form-icon {
    top: 50%;
    right: 5px;
    bottom: auto;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.ictaz-b02-form.contact-form-style-07 .ictaz-b02-input-wrap .form-icon .icon-small {
    line-height: 1;
    vertical-align: 0;
}

.ictaz-b02-form.contact-form-style-07 .ictaz-b02-input-wrap--textarea .form-icon {
    top: 1rem;
    transform: none;
    align-items: flex-start;
}

.ictaz-b02-hq-card {
    position: relative;
}

.ictaz-b02-hq-address {
    margin-bottom: 1.25rem;
}

.ictaz-b02-hq-spec__row {
    display: grid;
    grid-template-columns: minmax(5.5rem, 7.5rem) minmax(0, 1fr);
    gap: 0.35rem 1rem;
    align-items: baseline;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(45, 34, 71, 0.1);
}

.ictaz-b02-hq-spec__row--last {
    border-bottom: 0;
    padding-bottom: 0;
}

.ictaz-b02-hq-spec dt {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--medium-gray);
}

.ictaz-b02-workspace-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
}

.ictaz-b02-chiprow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.ictaz-b02-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0.35rem;
    border: 1px solid rgba(var(--ictaz-brand-rgb), 0.28);
    color: var(--base-color);
    background: rgba(var(--ictaz-brand-rgb), 0.07);
}

.ictaz-b02-chip--mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.72rem;
    font-weight: 600;
}

.ictaz-b02-chip--quiet {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.72rem;
}

.ictaz-b02-manifest {
    border-radius: 0.65rem;
    border: 1px solid rgba(45, 34, 71, 0.12);
    background: linear-gradient(135deg, rgba(var(--ictaz-brand-rgb), 0.06), #fff 52%);
    padding: 1.1rem 1.2rem;
}

.ictaz-b02-manifest__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.85rem;
}

.ictaz-b02-manifest__title {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--dark-gray);
}

.ictaz-b02-manifest__grid {
    display: grid;
    gap: 0.65rem;
}

.ictaz-b02-manifest__grid > div {
    display: grid;
    grid-template-columns: minmax(5.5rem, 8.5rem) minmax(0, 1fr);
    gap: 0.35rem 1rem;
    align-items: start;
}

.ictaz-b02-manifest__grid dt {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--medium-gray);
}

.ictaz-b02-manifest__grid dd {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--dark-gray);
}

@media (max-width: 575.98px) {
    .ictaz-b02-manifest__grid > div {
        grid-template-columns: 1fr;
    }

    .ictaz-b02-hq-spec__row {
        grid-template-columns: 1fr;
    }
}

.ictaz-b02-panel {
    overflow: hidden;
}

.ictaz-b02-panel__lead {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.ictaz-b02-panel__glyph {
    flex-shrink: 0;
    line-height: 1;
}

.ictaz-b02-panel__title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    opacity: 0.88;
}

.ictaz-b02-panel__meta {
    opacity: 0.9;
}

.ictaz-b02-panel--ack {
    border-left: 4px solid var(--green) !important;
    background: linear-gradient(90deg, rgba(77, 170, 87, 0.14), #fff 58%);
}

.ictaz-b02-panel--errors {
    border-left: 4px solid #c0392b !important;
    background: linear-gradient(90deg, rgba(192, 57, 43, 0.09), #fff 58%);
}

.ictaz-b02-errorlist {
    list-style: disc;
    margin: 0;
    padding-left: 1.15rem;
}

.ictaz-b02-errorlist__link {
    color: inherit;
    text-decoration: none;
    display: inline;
}

.ictaz-b02-errorlist__link:hover,
.ictaz-b02-errorlist__link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.ictaz-b02-errorlist__field {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--base-color);
}

.ictaz-b02-errorlist__sep {
    opacity: 0.45;
    font-weight: 500;
}

.ictaz-b02-labelrow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: min(100%, 12rem);
}

.ictaz-b02-pill {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
}

.ictaz-b02-pill--req {
    border: 1px solid rgba(192, 57, 43, 0.35);
    color: #a93226;
    background: rgba(192, 57, 43, 0.06);
}

.ictaz-b02-pill--opt {
    border: 1px solid rgba(var(--ictaz-brand-rgb), 0.28);
    color: var(--base-color);
    background: rgba(var(--ictaz-brand-rgb), 0.07);
}

.ictaz-b02-field {
    border-bottom: 1px solid rgba(45, 34, 71, 0.06);
    padding-bottom: 0.15rem;
    margin-bottom: 1.75rem !important;
}

.ictaz-b02-field:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0 !important;
}

.ictaz-b02-form-foot {
    background: linear-gradient(180deg, rgba(var(--ictaz-brand-rgb), 0.03), transparent 65%);
}

.ictaz-b02-workspace .contact-form-style-07 fieldset {
    min-width: 0;
    border: 0;
    margin: 0;
    padding: 0;
}

.ictaz-b02-manifest__schema {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(45, 34, 71, 0.1);
}

.ictaz-b02-manifest__schema-title {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--medium-gray);
}

.ictaz-b02-manifest__schema-grid {
    display: grid;
    gap: 0.45rem;
}

.ictaz-b02-manifest__schema-grid > div {
    display: grid;
    grid-template-columns: 5.75rem minmax(0, 1fr);
    gap: 0.35rem 0.85rem;
    align-items: baseline;
}

.ictaz-b02-manifest__schema-grid dt {
    margin: 0;
}

.ictaz-b02-manifest__schema-grid dd {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--dark-gray);
}

.ictaz-b02-kcode {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.74rem;
    font-weight: 600;
    padding: 0.06rem 0.34rem;
    border-radius: 0.3rem;
    background: rgba(var(--ictaz-brand-rgb), 0.08);
    border: 1px solid rgba(var(--ictaz-brand-rgb), 0.16);
    color: var(--base-color);
}

@media (max-width: 575.98px) {
    .ictaz-b02-manifest__schema-grid > div {
        grid-template-columns: 1fr;
    }
}

.ictaz-b02-form button[type="submit"][aria-busy="true"] {
    opacity: 0.72;
    cursor: wait;
}

/* B-03 — footer newsletter workspace (POST /newsletter) */
.ictaz-b03-workspace--card {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.65rem;
    padding: 1.1rem 1.15rem;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 55%);
}

.ictaz-b03-workspace--card.ictaz-b03-workspace--compact {
    padding: 0.65rem 0.75rem;
}

.ictaz-b03-workspace-head--tight {
    margin-bottom: 0.5rem;
}

.ictaz-b03-workspace-lede--tight {
    max-width: none;
}

.ictaz-b03-workspace--compact .newsletter-style-02 input.ictaz-b03-email-input {
    padding: 6px 42px 6px 12px !important;
    font-size: 0.875rem !important;
    line-height: 1.35;
}

.ictaz-b03-workspace--compact .newsletter-style-02 .btn.submit {
    padding: 5px 12px !important;
}

.ictaz-b03-labelrow--tight {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center !important;
    align-content: center;
    justify-content: flex-start;
    gap: 0.35rem 0.5rem;
}

.ictaz-b03-labelrow--tight label {
    display: inline-flex;
    align-items: center;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0;
    min-height: 1.25rem;
}

.ictaz-b03-labelrow--tight .ictaz-b03-pill--sm {
    display: inline-flex;
    align-items: center;
    align-self: center;
    line-height: 1.1;
    margin: 0;
}

.ictaz-b03-capture.mb-8px {
    margin-top: 0.35rem;
}

.ictaz-b03-workspace.ictaz-b03-workspace--compact {
    min-height: 0;
    height: auto;
    align-self: flex-start;
}

.ictaz-b03-pill--sm {
    padding: 0.06rem 0.32rem;
    font-size: 0.52rem;
}

.ictaz-b03-footlinks--tight {
    padding-top: 0.4rem !important;
    margin-top: 0.1rem;
}

.ictaz-b03-workspace-title {
    letter-spacing: 0.05em;
}

.ictaz-b03-workspace-lede {
    max-width: 26rem;
}

.ictaz-b03-hint {
    max-width: 28rem;
}

.ictaz-b03-eyebrow {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    padding-bottom: 0.15rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.ictaz-b03-manifest {
    padding: 0.75rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.18);
}

.ictaz-b03-schema {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ictaz-b03-schema-title {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.ictaz-b03-schema-grid {
    display: grid;
    gap: 0.35rem;
}

.ictaz-b03-schema-grid > div {
    display: grid;
    grid-template-columns: minmax(7.5rem, 9.5rem) minmax(0, 1fr);
    gap: 0.35rem 0.75rem;
    align-items: baseline;
}

.ictaz-b03-schema-grid dt {
    margin: 0;
}

.ictaz-b03-schema-grid dd {
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
}

.ictaz-b03-kcode {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.08rem 0.38rem;
    border-radius: 0.3rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.95);
}

@media (max-width: 575.98px) {
    .ictaz-b03-schema-grid > div {
        grid-template-columns: 1fr;
    }
}

.ictaz-b03-skiplinks .ictaz-b03-skiplink {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.55);
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.04);
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.ictaz-b03-skiplinks .ictaz-b03-skiplink:hover,
.ictaz-b03-skiplinks .ictaz-b03-skiplink:focus-visible {
    color: rgba(255, 255, 255, 0.95);
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
}

.ictaz-b03-skiplinks .ictaz-b03-skiplink:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.2);
}

.ictaz-b03-manifest__grid {
    display: grid;
    gap: 0.45rem;
}

.ictaz-b03-manifest__grid > div {
    display: grid;
    grid-template-columns: minmax(5.25rem, 7rem) minmax(0, 1fr);
    gap: 0.25rem 0.65rem;
    align-items: start;
}

.ictaz-b03-manifest__grid dt {
    margin: 0;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.ictaz-b03-manifest__grid dd {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 575.98px) {
    .ictaz-b03-manifest__grid > div {
        grid-template-columns: 1fr;
    }
}

.ictaz-b03-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.5rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 0.3rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
    background: rgba(255, 255, 255, 0.06);
}

.ictaz-b03-chip--mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.68rem;
    font-weight: 600;
}

.ictaz-b03-chip--quiet {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.68rem;
}

.ictaz-b03-panel {
    border-radius: 0.45rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.ictaz-b03-panel__lead {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.ictaz-b03-panel__glyph {
    flex-shrink: 0;
    line-height: 1;
}

.ictaz-b03-panel__title {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    opacity: 0.92;
}

.ictaz-b03-panel__body {
    font-weight: 500;
}

.ictaz-b03-panel--ok {
    border-left: 3px solid var(--green);
    background: rgba(77, 170, 87, 0.14);
}

.ictaz-b03-panel--danger {
    border-left: 3px solid #e74c3c;
    background: rgba(231, 76, 60, 0.12);
}

.ictaz-b03-errorlist__link {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.ictaz-b03-errorlist__link:hover,
.ictaz-b03-errorlist__link:focus-visible {
    color: #fff !important;
}

.ictaz-b03-pill {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 0.12rem 0.42rem;
    border-radius: 999px;
}

.ictaz-b03-pill--req {
    border: 1px solid rgba(255, 160, 140, 0.45);
    color: #ffc9c0;
    background: rgba(231, 76, 60, 0.12);
}

.ictaz-b03-form-wrap .form-control.is-invalid {
    border-color: rgba(255, 120, 120, 0.55) !important;
}

.ictaz-b03-form .btn.submit[aria-busy="true"] {
    opacity: 0.55;
    pointer-events: none;
}

.ictaz-b03-capture {
    padding-top: 0.15rem;
}

.ictaz-b03-form-wrap .form-control:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.28);
    border-color: rgba(255, 255, 255, 0.45) !important;
}

/* Home hero: balance copy rail vs rotator; rotator height follows slide aspect (reduces letterboxing). */
.icta-fade-rotator--hero,
.icta-fade-rotator--events {
    box-sizing: border-box;
}

.icta-hero-copy .icta-hero-title {
    hyphens: none;
    overflow-wrap: break-word;
}

/* Hero CTAs: normal weight — .btn-medium + compact padding (header uses .btn-small). */
.icta-hero-copy .icta-hero-cta .btn-medium.btn-switch-text {
    min-height: unset !important;
}

.icta-hero-copy .icta-hero-cta .btn-medium {
    min-height: 0;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
    line-height: 1.25;
}

.icta-hero-copy .icta-hero-cta .btn-medium .btn-double-text {
    line-height: 1.25;
}

@media (min-width: 992px) {
    .icta-hero-row {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    .icta-hero-copy .icta-hero-badge {
        margin-bottom: 0.85rem !important;
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
        padding-left: 0.85rem !important;
        padding-right: 1rem !important;
        font-size: 0.72rem !important;
        line-height: 1.35 !important;
    }

    .icta-hero-copy .icta-hero-title {
        margin-bottom: 0.65rem !important;
        font-size: clamp(1.85rem, 1.1rem + 1.6vw, 2.55rem) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.02em !important;
    }

    .icta-hero-copy .icta-hero-lede {
        margin-bottom: 1rem !important;
        font-size: 0.95rem !important;
        line-height: 1.45 !important;
    }

    .icta-hero-copy .icta-hero-cta {
        margin-bottom: 0.55rem !important;
        gap: 0.5rem !important;
    }

    .icta-hero-copy .icta-hero-cta .btn-medium {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
        padding-left: 1.1rem !important;
        padding-right: 1.1rem !important;
        font-size: 0.875rem !important;
    }

    .icta-hero-copy .icta-hero-foot {
        font-size: 0.8125rem !important;
        line-height: 1.4 !important;
    }
}

@media (min-width: 1200px) {
    .icta-hero-copy .icta-hero-title {
        font-size: clamp(2rem, 0.5rem + 2vw, 2.85rem) !important;
    }
}
