:root{--ink:#17384b;--deep:#07131b;--gold:#deb174;--muted:#d9e4ea;--line:rgba(255,255,255,.14);--card:rgba(255,255,255,.08);--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:linear-gradient(135deg,var(--deep),var(--ink) 58%,#091923);color:#fff;line-height:1.75}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 38px));margin:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(7,19,27,.86);border-bottom:1px solid rgba(255,255,255,.08)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:70px}.brand small{display:block;color:var(--muted);direction:ltr}.menu{display:flex;gap:16px;color:rgba(255,255,255,.78);font-size:14px}.header-action{border:1px solid rgba(222,177,116,.42);background:rgba(222,177,116,.12);border-radius:999px;padding:9px 15px}
.hero,.page-hero{padding:92px 0 56px;background:rgba(255,255,255,.03)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.eyebrow{display:inline-flex;color:var(--gold);border:1px solid rgba(222,177,116,.24);background:rgba(222,177,116,.10);border-radius:999px;padding:7px 12px;font-size:13px;margin-bottom:18px}h1{margin:0;font-size:clamp(38px,6vw,76px);line-height:1.08;font-weight:500;letter-spacing:-.03em}h1 span{color:var(--gold)}h2,h3{font-weight:500}.lead{margin:22px 0 0;max-width:760px;color:rgba(255,255,255,.78);font-size:clamp(16px,2vw,21px)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{min-height:45px;display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff}.btn.primary{background:linear-gradient(135deg,var(--gold),#f0d5aa);color:#122b38;border-color:transparent}.panel,.card,.empty-state,.form-shell{border:1px solid var(--line);background:var(--card);box-shadow:0 24px 70px rgba(0,0,0,.18)}.panel{border-radius:28px;padding:24px}.panel p,.section p,.empty-state p{color:rgba(255,255,255,.70)}.status-list{display:grid;gap:10px;margin-top:18px}.status-list div{padding:12px;border-radius:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:14px}
.section{padding:54px 0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:22px}.section-title h2{font-size:clamp(26px,3.5vw,40px);margin:0}.section-title p{max-width:620px;margin:0}.cards{display:grid;gap:14px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{border-radius:22px;padding:20px;min-height:170px}.card small{color:var(--gold)}.card h3{margin:10px 0 8px;font-size:20px}.card p{font-size:14px;margin:0}.empty-state,.form-shell{border-radius:24px;padding:28px}.empty-state h2{margin:0 0 8px}
.notice{padding:14px 16px;border-radius:16px;background:rgba(222,177,116,.16);border:1px solid rgba(222,177,116,.35);margin-bottom:16px}.notice.error{background:rgba(180,60,60,.16);border-color:rgba(255,120,120,.35)}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.contact-form label{display:grid;gap:7px;color:rgba(255,255,255,.78);font-size:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;padding:12px}.contact-form select option{color:#111}.contact-form .full,.form-actions{grid-column:1/-1}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.site-footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.62);font-size:14px}.footer-grid{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:960px){.menu{display:none}
.hero-grid{grid-template-columns:1fr}.cards.four,.cards.three{grid-template-columns:repeat(2,1fr)}.section-title{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.container{width:min(100% - 28px,var(--max))}.brand img{width:58px}.cards.four,.cards.three,.contact-form{grid-template-columns:1fr}.btn{width:100%}.panel,.empty-state,.form-shell{border-radius:22px;padding:18px}}

/* WISP_CONTENT_STRUCTURE_START */
.text-link{display:inline-flex;margin-top:14px;color:var(--gold);font-size:14px}
.content-panel{border:1px solid var(--line);background:var(--card);box-shadow:0 24px 70px rgba(0,0,0,.18);border-radius:24px;padding:28px}
.content-panel h2{margin-top:0}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.tag{display:inline-flex;border:1px solid rgba(222,177,116,.28);background:rgba(222,177,116,.12);border-radius:999px;padding:8px 12px;color:#fff;font-size:14px}
.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.meta-grid div{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:16px;padding:14px}
.meta-grid small{display:block;color:var(--gold);margin-bottom:6px}
.meta-grid strong{font-weight:500}
@media(max-width:760px){.meta-grid{grid-template-columns:1fr 1fr}.content-panel{padding:18px;border-radius:22px}}
@media(max-width:480px){.meta-grid{grid-template-columns:1fr}}
/* WISP_CONTENT_STRUCTURE_END */

/* WISP_MEDIA_FOUNDATION_START */
.media-foundation{margin-top:24px;border-top:1px solid rgba(255,255,255,.10);padding-top:22px}
.media-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.media-head h2{margin:0}
.media-head span{display:inline-flex;border:1px solid rgba(222,177,116,.28);background:rgba(222,177,116,.12);border-radius:999px;padding:6px 10px;color:var(--gold);font-size:13px}
.media-empty{border:1px dashed rgba(255,255,255,.20);background:rgba(255,255,255,.05);border-radius:18px;padding:18px}
.media-empty p{margin:6px 0;color:rgba(255,255,255,.70)}
.media-empty small{color:rgba(255,255,255,.50)}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.media-item{margin:0;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05)}
.media-item img{display:block;width:100%;height:220px;object-fit:cover}
.media-item figcaption{padding:10px;color:rgba(255,255,255,.72);font-size:14px}
@media(max-width:760px){.media-grid{grid-template-columns:1fr 1fr}.media-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.media-grid{grid-template-columns:1fr}}
/* WISP_MEDIA_FOUNDATION_END */

/* WISP_HOME_MIN_START */
.home-band{padding:48px 0}
.home-stats-grid,.home-news-grid,.home-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-stat-card,.home-news-card,.home-sector-card,.home-business-card,.home-contact-card{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:24px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.home-stat-card{padding:22px}
.home-stat-card span{display:block;color:#64748b;margin-bottom:10px}
.home-stat-card strong{display:block;font-size:34px}
.home-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.home-intro-grid h2,.section-heading h2,.home-business-card h2,.home-contact-card h2{font-size:clamp(28px,3vw,42px);margin:8px 0 12px}
.home-intro-grid p,.home-sector-card p,.home-news-body p,.home-business-card p,.home-contact-card p{color:#475569;line-height:1.8}
.home-intro-image{min-height:300px;border:1px dashed rgba(15,23,42,.2);border-radius:28px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#64748b}
.section-heading{margin-bottom:22px}
.home-news-card{overflow:hidden}
.home-news-image{min-height:145px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#64748b}
.home-news-body,.home-sector-card{padding:18px}
.home-news-body time{font-size:12px;color:#64748b}
.home-news-body h3,.home-sector-card h3{font-size:18px;margin:8px 0}
.home-news-body a,.home-sector-card a{text-decoration:none;font-weight:600}
.home-client-marquee{overflow:hidden;border:1px solid rgba(15,23,42,.10);border-radius:24px;background:#fff;padding:18px 0}
.home-client-track{display:flex;gap:16px;width:max-content;animation:wispClientMove 28s linear infinite}
.home-client-logo{min-width:180px;min-height:74px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-weight:600;padding:0 18px}
@keyframes wispClientMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[dir="rtl"] .home-client-track{animation-direction:reverse}
.home-business-card,.home-contact-card{padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
@media(max-width:1024px){.home-stats-grid,.home-news-grid,.home-sector-grid{grid-template-columns:repeat(2,1fr)}.home-intro-grid{grid-template-columns:1fr}}
@media(max-width:640px){.home-band{padding:34px 0}.home-stats-grid,.home-news-grid,.home-sector-grid{grid-template-columns:1fr}.home-business-card,.home-contact-card{flex-direction:column;align-items:flex-start}}
/* WISP_HOME_MIN_END */

/* WISP_HOME_DEFAULT_FIX_START */
.wisp-home{background:linear-gradient(180deg,#102933 0%,#123846 100%);color:#fff}
.wisp-home-container,.wisp-footer-container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.wisp-home-hero{padding:92px 0 54px}
.wisp-hero-grid,.wisp-intro-grid,.wisp-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.wisp-hero-copy h1{font-size:clamp(42px,7vw,92px);line-height:1.05;margin:18px 0}
.wisp-hero-copy p,.wisp-section-copy p,.wisp-business-strip p{color:rgba(255,255,255,.78);line-height:1.9}
.wisp-pill{display:inline-flex;border:1px solid rgba(218,178,103,.32);background:rgba(218,178,103,.10);color:#d7b16b;border-radius:999px;padding:7px 13px;font-size:13px}
.wisp-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.wisp-btn{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.wisp-btn.gold{background:#d7b16b;color:#102933;border-color:#d7b16b;font-weight:700}
.wisp-btn.ghost{color:#fff;background:rgba(255,255,255,.05)}
.wisp-hero-panel,.wisp-stat-card,.wisp-news-card,.wisp-sector-card,.wisp-business-strip,.wisp-contact-grid,.wisp-main-footer{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);border-radius:28px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.wisp-hero-panel{padding:28px}
.wisp-hero-panel strong{display:block;font-size:24px;margin:10px 0;color:#fff}
.wisp-home-section{padding:44px 0}
.wisp-stats-grid,.wisp-news-grid,.wisp-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.wisp-stat-card{padding:22px}
.wisp-stat-card span{display:block;color:rgba(255,255,255,.72);margin-bottom:12px}
.wisp-stat-card strong{font-size:38px;color:#d7b16b}
.wisp-section-head{margin-bottom:22px}
.wisp-section-head h2,.wisp-section-copy h2,.wisp-business-strip h2,.wisp-contact-grid h2{font-size:clamp(28px,3vw,44px);margin:12px 0}
.wisp-intro-image{min-height:330px;border-radius:30px;border:1px dashed rgba(218,178,103,.35);background:rgba(255,255,255,.045);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65)}
.wisp-news-card{overflow:hidden}
.wisp-news-image{min-height:155px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65)}
.wisp-news-body,.wisp-sector-card{padding:20px}
.wisp-news-body time{font-size:12px;color:#d7b16b}
.wisp-news-body h3,.wisp-sector-card h3{font-size:19px;margin:10px 0;color:#fff}
.wisp-news-body p,.wisp-sector-card p{color:rgba(255,255,255,.72);line-height:1.75}
.wisp-news-body a,.wisp-news-body span,.wisp-sector-card a{color:#d7b16b;text-decoration:none;font-weight:700}
.wisp-client-marquee{overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);padding:20px 0}
.wisp-client-track{display:flex;gap:16px;width:max-content;animation:wispLogoMove 26s linear infinite}
.wisp-client-logo{min-width:180px;min-height:78px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;padding:0 18px}
@keyframes wispLogoMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[dir="rtl"] .wisp-client-track{animation-direction:reverse}
.wisp-business-strip{padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wisp-contact-grid{padding:30px;align-items:start}
.wisp-home-form{display:grid;gap:12px}
.wisp-home-form input,.wisp-home-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;color:#fff;outline:none}
.wisp-home-form input::placeholder,.wisp-home-form textarea::placeholder{color:rgba(255,255,255,.55)}
.wisp-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.wisp-main-footer{margin-top:0;border-radius:0;padding:54px 0 18px;background:#071923;color:#fff}
.wisp-footer-container{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
.wisp-footer-brand strong{font-size:30px}
.wisp-footer-brand p{color:rgba(255,255,255,.7);line-height:1.9;max-width:470px}
.wisp-footer-links{display:grid;gap:9px}
.wisp-footer-links h3{color:#d7b16b;margin:0 0 8px}
.wisp-footer-links a{color:rgba(255,255,255,.75);text-decoration:none}
.wisp-footer-bottom{width:min(1180px,calc(100% - 36px));margin:34px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:rgba(255,255,255,.55);font-size:13px}
@media(max-width:1024px){.wisp-hero-grid,.wisp-intro-grid,.wisp-contact-grid,.wisp-footer-container{grid-template-columns:1fr}.wisp-stats-grid,.wisp-news-grid,.wisp-sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.wisp-home-hero{padding:60px 0 34px}.wisp-stats-grid,.wisp-news-grid,.wisp-sector-grid{grid-template-columns:1fr}.wisp-business-strip,.wisp-footer-bottom{flex-direction:column;align-items:flex-start}.wisp-hero-copy h1{font-size:42px}}
/* WISP_HOME_DEFAULT_FIX_END */

/* WISP_HOME_ANCHOR_NAV_FIX_START */
html{scroll-behavior:smooth}
#home-top,#home-stats,#home-about,#home-news,#home-sectors,#home-clients,#home-business,#home-contact-form{scroll-margin-top:96px}
.wisp-section-head-action{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.wisp-section-entry{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(218,178,103,.35);
    background:rgba(218,178,103,.10);
    color:#d7b16b;
    border-radius:999px;
    padding:10px 15px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}
.wisp-section-entry:hover{background:rgba(218,178,103,.18)}
@media(max-width:700px){
    .wisp-section-head-action{align-items:flex-start;flex-direction:column}
}
/* WISP_HOME_ANCHOR_NAV_FIX_END */

/* WISP_HEADER_QUOTE_FOOTER_LOGO_START */
.wisp-header-quote-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 15px;
    border-radius:999px;
    background:#d7b16b;
    color:#102933!important;
    text-decoration:none!important;
    font-weight:800;
    font-size:13px;
    border:1px solid #d7b16b;
    margin-inline:8px;
    white-space:nowrap;
}
.wisp-header-quote-btn:hover{filter:brightness(1.04)}
.wisp-footer-logo{
    width:180px;
    height:auto;
    display:block;
    margin-bottom:16px;
}
@media(max-width:760px){
    .wisp-header-quote-btn{
        min-height:34px;
        padding:8px 12px;
        font-size:12px;
        margin-inline:4px;
    }
    .wisp-footer-logo{width:150px}
}
/* WISP_HEADER_QUOTE_FOOTER_LOGO_END */

/* WISP_QUOTE_FOUNDATION_START */
html,body,input,button,textarea,select{
    font-family:'Tajawal',Arial,sans-serif!important;
}
.site-header .brand span{
    display:none!important;
}
.site-header .brand img{
    height:54px;
    width:auto;
    display:block;
}
.header-action[data-wisp-language-link="1"]{
    order:998;
}
.header-quote-action{
    order:999;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#f0cf8a,#d7b16b);
    color:#0b1c24!important;
    text-decoration:none!important;
    font-weight:800;
    font-size:14px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 10px 24px rgba(215,177,107,.22);
    margin-inline-start:10px;
    white-space:nowrap;
}
.header-quote-action:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(215,177,107,.28);
}
.wisp-footer-logo{
    width:180px;
    max-width:100%;
    height:auto;
    display:block;
    margin-bottom:16px;
}
.wisp-quote-page{
    background:linear-gradient(180deg,#102933 0%,#123846 100%);
    color:#fff;
    padding:86px 0;
}
.wisp-quote-head{
    max-width:780px;
    margin-bottom:28px;
}
.wisp-quote-head h1,
.wisp-quote-success h1{
    font-size:clamp(34px,5vw,62px);
    margin:14px 0;
}
.wisp-quote-head p,
.wisp-quote-success p{
    color:rgba(255,255,255,.72);
    line-height:1.9;
}
.wisp-quote-form,
.wisp-quote-success{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:30px;
    padding:30px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.wisp-quote-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.wisp-quote-form label{
    display:grid;
    gap:8px;
}
.wisp-quote-form label span{
    color:rgba(255,255,255,.76);
    font-size:14px;
}
.wisp-quote-form input,
.wisp-quote-form select,
.wisp-quote-form textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    border-radius:16px;
    padding:14px 16px;
    color:#fff;
    outline:none;
}
.wisp-quote-form select option{
    color:#102933;
}
.quote-sector-fields{
    margin:24px 0;
    border-top:1px solid rgba(255,255,255,.10);
    padding-top:22px;
}
.quote-sector-fields h2{
    margin:0 0 16px;
    font-size:22px;
}
.wisp-quote-message{
    margin-top:8px;
}
.wisp-quote-form .wisp-btn{
    margin-top:18px;
    min-width:190px;
}
@media(max-width:760px){
    .site-header .brand img{height:44px}
    .header-quote-action{
        min-height:36px;
        padding:8px 12px;
        font-size:12px;
        margin-inline-start:6px;
    }
    .wisp-quote-grid{
        grid-template-columns:1fr;
    }
}
/* WISP_QUOTE_FOUNDATION_END */

/* WISP_HEADER_FOOTER_LAYOUT_FIX_START */
*,*::before,*::after{box-sizing:border-box}
html,body{
    max-width:100%;
    overflow-x:hidden;
}
body{
    font-family:'Tajawal',Arial,sans-serif!important;
}
.site-header{
    overflow:visible;
}
.site-header .nav{
    gap:22px;
}
.site-header .brand{
    flex:0 0 auto;
}
.site-header .brand span{
    display:none!important;
}
.site-header .brand img{
    height:58px;
    width:auto;
    max-width:130px;
    object-fit:contain;
    display:block;
}
.site-header nav{
    min-width:0;
}
.header-actions-group{
    display:flex;
    align-items:center;
    gap:10px;
    direction:ltr;
    flex:0 0 auto;
    white-space:nowrap;
}
.header-actions-group .header-quote-action{
    order:1;
}
.header-actions-group .header-action{
    order:2;
}
.header-quote-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#f0cf8a,#d7b16b);
    color:#0b1c24!important;
    text-decoration:none!important;
    font-weight:800;
    font-size:14px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 10px 24px rgba(215,177,107,.22);
    white-space:nowrap;
}
.header-quote-action:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(215,177,107,.28);
}
.wisp-main-footer{
    overflow:hidden;
}
.wisp-footer-brand{
    min-width:0;
}
.wisp-footer-logo{
    width:220px!important;
    max-width:100%!important;
    height:auto!important;
    display:block!important;
    object-fit:contain;
    margin:0 0 18px!important;
}
.wisp-footer-container{
    align-items:start;
}
.wisp-footer-bottom{
    max-width:calc(100% - 36px);
}
@media(max-width:1100px){
    .site-header .nav{
        gap:14px;
    }
    .site-header nav{
        overflow-x:auto;
        scrollbar-width:none;
    }
    .site-header nav::-webkit-scrollbar{
        display:none;
    }
    .header-quote-action{
        min-height:38px;
        padding:9px 14px;
        font-size:13px;
    }
    .site-header .brand img{
        height:50px;
    }
}
@media(max-width:760px){
    .header-actions-group{
        gap:6px;
    }
    .header-quote-action{
        min-height:35px;
        padding:8px 11px;
        font-size:12px;
    }
    .site-header .brand img{
        height:44px;
        max-width:105px;
    }
    .wisp-footer-logo{
        width:170px!important;
    }
}
/* WISP_HEADER_FOOTER_LAYOUT_FIX_END */

/* WISP_FOOTER_LOGO_50_FIX_START */
footer.wisp-main-footer .wisp-footer-brand img.wisp-footer-logo{
    width:110px!important;
    max-width:110px!important;
    height:auto!important;
    object-fit:contain!important;
    display:block!important;
    margin:0 0 14px!important;
}
@media(max-width:760px){
    footer.wisp-main-footer .wisp-footer-brand img.wisp-footer-logo{
        width:85px!important;
        max-width:85px!important;
    }
}
/* WISP_FOOTER_LOGO_50_FIX_END */

/* WISP_BUSINESS_FRANCHISE_PUBLIC_START */
.wisp-public-page{
    background:linear-gradient(180deg,#102933 0%,#123846 100%);
    color:#fff;
    padding:86px 0;
}
.wisp-page-hero{
    max-width:900px;
    margin-bottom:44px;
}
.wisp-page-hero h1{
    font-size:clamp(38px,6vw,72px);
    line-height:1.08;
    margin:16px 0;
}
.wisp-page-hero p,
.wisp-public-card p,
.wisp-public-cta p{
    color:rgba(255,255,255,.74);
    line-height:1.9;
}
.wisp-page-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:24px;
}
.wisp-section-title{
    margin:44px 0 20px;
    max-width:780px;
}
.wisp-section-title h2{
    font-size:clamp(28px,4vw,46px);
    margin:12px 0;
}
.wisp-public-grid{
    display:grid;
    gap:16px;
}
.wisp-public-grid.four{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.wisp-public-grid.three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.wisp-public-card,
.wisp-public-cta{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.wisp-public-card{
    padding:24px;
}
.wisp-public-card h3{
    color:#fff;
    font-size:20px;
    margin:0 0 10px;
}
.wisp-public-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:28px;
}
.wisp-step-list,
.wisp-check-list{
    display:grid;
    gap:12px;
    margin:18px 0 0;
    padding-inline-start:22px;
    color:rgba(255,255,255,.82);
    line-height:1.8;
}
.wisp-check-list{
    list-style:none;
    padding-inline-start:0;
}
.wisp-check-list li{
    position:relative;
    padding-inline-start:28px;
}
.wisp-check-list li::before{
    content:'✓';
    position:absolute;
    inset-inline-start:0;
    color:#d7b16b;
    font-weight:800;
}
.wisp-public-cta{
    margin-top:34px;
    padding:30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.wisp-public-cta h2{
    font-size:clamp(26px,4vw,42px);
    margin:12px 0;
}
@media(max-width:1024px){
    .wisp-public-grid.four,
    .wisp-public-grid.three{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .wisp-public-split{
        grid-template-columns:1fr;
    }
}
@media(max-width:640px){
    .wisp-public-page{
        padding:58px 0;
    }
    .wisp-public-grid.four,
    .wisp-public-grid.three{
        grid-template-columns:1fr;
    }
    .wisp-public-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}
/* WISP_BUSINESS_FRANCHISE_PUBLIC_END */

/* WISP_BUSINESS_SOLUTIONS_CORRECT_START */
.wisp-business-gateway .wisp-page-hero{
    max-width:980px;
}
.wisp-business-solution-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.wisp-business-solution-card,
.wisp-business-form,
.supplier-category-card{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.wisp-business-solution-card{
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.wisp-business-solution-card h2{
    font-size:22px;
    margin:0;
    color:#fff;
}
.wisp-business-solution-card p{
    color:rgba(255,255,255,.74);
    line-height:1.85;
    flex:1;
}
.wisp-business-form{
    padding:30px;
}
.wisp-business-form .wisp-form-note{
    margin-top:16px;
    color:#d7b16b;
    background:rgba(215,177,107,.10);
    border:1px solid rgba(215,177,107,.22);
    padding:13px 15px;
    border-radius:16px;
}
.supplier-category-card span{
    display:inline-flex;
    margin-top:10px;
    color:#d7b16b;
    font-weight:700;
}
@media(max-width:1100px){
    .wisp-business-solution-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .wisp-business-solution-grid{
        grid-template-columns:1fr;
    }
}
/* WISP_BUSINESS_SOLUTIONS_CORRECT_END */

/* WISP_SUPPLIERS_STAGE1_START */
.wisp-supplier-logo-section{
    margin-top:34px;
}
.wisp-supplier-logo-marquee{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    padding:18px 0;
}
.wisp-supplier-logo-track{
    display:flex;
    gap:14px;
    width:max-content;
    animation:wispSupplierMove 28s linear infinite;
}
[dir="rtl"] .wisp-supplier-logo-track{animation-direction:reverse}
@keyframes wispSupplierMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.wisp-supplier-logo-chip{
    min-width:170px;
    min-height:86px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.065);
    color:#fff;
    border-radius:20px;
    display:grid;
    place-items:center;
    gap:4px;
    text-decoration:none;
    padding:12px;
}
.wisp-supplier-logo-chip span{
    color:#d7b16b;
    font-weight:800;
    font-size:22px;
}
.wisp-supplier-logo-chip small{
    color:rgba(255,255,255,.72);
}
.wisp-suppliers-controls{
    display:grid;
    grid-template-columns:1fr 220px 120px;
    gap:12px;
    margin-bottom:20px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:22px;
    padding:14px;
}
.wisp-suppliers-controls input,
.wisp-suppliers-controls select{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:16px;
    padding:13px 15px;
    outline:none;
    font-family:inherit;
}
.wisp-suppliers-controls option{color:#102933}
.wisp-supplier-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.wisp-supplier-card{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    color:#fff;
    border-radius:28px;
    padding:24px;
    min-height:220px;
    display:grid;
    place-items:center;
    gap:10px;
    cursor:pointer;
    font-family:inherit;
    text-align:center;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.wisp-supplier-card:hover{
    transform:translateY(-2px);
    border-color:rgba(215,177,107,.42);
}
.supplier-logo-box{
    width:92px;
    height:92px;
    border-radius:24px;
    background:linear-gradient(135deg,#f0cf8a,#d7b16b);
    color:#102933;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:22px;
    margin-bottom:6px;
}
.supplier-logo-box.large{
    width:110px;
    height:110px;
    font-size:26px;
}
.wisp-supplier-card small,
.wisp-supplier-modal-card small{
    color:#d7b16b;
    font-size:13px;
}
.wisp-supplier-card strong{
    font-size:22px;
}
.wisp-supplier-list-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:18px;
    color:rgba(255,255,255,.74);
}
.wisp-supplier-pager{
    display:flex;
    gap:8px;
}
.wisp-supplier-pager button{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:12px;
    min-width:38px;
    height:38px;
    cursor:pointer;
}
.wisp-supplier-pager button.active{
    background:#d7b16b;
    color:#102933;
}
.wisp-supplier-modal[hidden]{display:none!important}
.wisp-supplier-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:24px;
}
.wisp-supplier-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(4px);
}
.wisp-supplier-modal-card{
    position:relative;
    width:min(560px,100%);
    border:1px solid rgba(255,255,255,.13);
    background:#102933;
    color:#fff;
    border-radius:30px;
    padding:30px;
    box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.wisp-supplier-modal-close{
    position:absolute;
    inset-inline-end:18px;
    top:16px;
    border:0;
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:999px;
    width:38px;
    height:38px;
    font-size:24px;
    cursor:pointer;
}
.wisp-supplier-modal-card h2{
    margin:12px 0 8px;
    font-size:30px;
}
.wisp-supplier-modal-card p{
    color:rgba(255,255,255,.78);
    line-height:1.8;
}
.wisp-supplier-info-list{
    margin-top:16px;
    border-top:1px solid rgba(255,255,255,.10);
    padding-top:14px;
}
.wisp-supplier-info-list p{
    margin:8px 0;
}
body.supplier-modal-open{
    overflow:hidden;
}
@media(max-width:980px){
    .wisp-supplier-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .wisp-suppliers-controls{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .wisp-supplier-card-grid,
    .wisp-suppliers-controls{grid-template-columns:1fr}
    .wisp-supplier-list-footer{align-items:flex-start;flex-direction:column}
}
/* WISP_SUPPLIERS_STAGE1_END */

/* WISP_BUSINESS_TEXT_MARQUEE_FIX_START */
.wisp-business-gateway .wisp-page-hero{
    max-width:980px;
}
.wisp-business-gateway .wisp-page-hero h1{
    max-width:920px;
}
.wisp-business-gateway .wisp-page-hero p{
    max-width:760px;
}
.wisp-business-solution-card h2{
    line-height:1.35;
}
.wisp-business-solution-card p{
    min-height:78px;
    font-size:15px;
    line-height:1.8;
}
.wisp-section-head-action{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}
.wisp-section-entry{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:999px;
    border:1px solid rgba(215,177,107,.26);
    color:#d7b16b;
    text-decoration:none;
    background:rgba(215,177,107,.08);
    white-space:nowrap;
}
.wisp-supplier-logo-marquee,
.home-client-marquee,
.wisp-client-marquee{
    overflow:hidden!important;
    position:relative;
}
.wisp-supplier-logo-track,
.home-client-track,
.wisp-client-track,
.wisp-client-marquee-track,
.home-client-marquee-track{
    display:flex!important;
    gap:14px;
    width:max-content;
    will-change:transform;
    animation:wispContinuousMarquee var(--wisp-marquee-duration,32s) linear infinite!important;
}
.wisp-supplier-logo-track:hover,
.home-client-track:hover,
.wisp-client-track:hover,
.wisp-client-marquee-track:hover,
.home-client-marquee-track:hover{
    animation-play-state:running!important;
}
.wisp-supplier-logo-chip,
.home-client-track > *,
.wisp-client-track > *,
.wisp-client-marquee-track > *,
.home-client-marquee-track > *{
    flex:0 0 auto;
}
@keyframes wispContinuousMarquee{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(var(--wisp-marquee-distance, 520px) * -1),0,0)}
}
@media(max-width:640px){
    .wisp-section-head-action{
        align-items:flex-start;
        flex-direction:column;
    }
    .wisp-business-solution-card p{
        min-height:auto;
    }
}
/* WISP_BUSINESS_TEXT_MARQUEE_FIX_END */

/* WISP_SUPPLIERS_FORMS_UI_FIX_START */
.wisp-supplier-logo-marquee,
.home-client-marquee,
.wisp-client-marquee{
    overflow:hidden!important;
    position:relative;
}
.wisp-supplier-logo-track,
.home-client-track,
.wisp-client-track,
.wisp-client-marquee-track,
.home-client-marquee-track,
.client-logo-track,
.clients-marquee-track,
.home-client-logo-track{
    display:flex!important;
    gap:0!important;
    width:max-content;
    will-change:transform;
    animation:wispMarqueeRight 34s linear infinite!important;
}
.wisp-marquee-group{
    display:flex;
    gap:14px;
    flex:0 0 auto;
    padding-inline-end:14px;
}
@keyframes wispMarqueeRight{
    from{transform:translate3d(-50%,0,0)}
    to{transform:translate3d(0,0,0)}
}
.wisp-supplier-logo-chip{
    flex:0 0 auto;
}
.wisp-suppliers-hero{
    text-align:center;
    margin-inline:auto;
}
.wisp-suppliers-hero h1,
.wisp-suppliers-hero p{
    margin-inline:auto;
}
.wisp-suppliers-controls{
    display:grid;
    grid-template-columns:1fr 220px 120px;
    gap:12px;
    align-items:center;
    margin:0 auto 24px;
    max-width:1040px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:24px;
    padding:14px;
}
.wisp-suppliers-controls input,
.wisp-suppliers-controls select,
.wisp-field input,
.wisp-field textarea,
.wisp-field select{
    width:100%;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:16px;
    padding:14px 16px;
    outline:none;
    font-family:inherit;
}
.wisp-suppliers-controls input{
    text-align:right;
}
.wisp-select-wrap{
    position:relative;
    display:block;
}
.wisp-select-wrap select{
    appearance:none;
    -webkit-appearance:none;
    padding-inline-end:46px!important;
    padding-inline-start:16px!important;
}
.wisp-select-wrap::after{
    content:'⌄';
    position:absolute;
    inset-inline-end:16px;
    top:50%;
    transform:translateY(-55%);
    pointer-events:none;
    color:#d7b16b;
    font-size:18px;
    line-height:1;
}
.wisp-select-wrap.compact select{
    text-align:center;
}
.wisp-supplier-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.wisp-supplier-card{
    text-align:center!important;
    justify-items:center!important;
    align-items:center!important;
    place-items:center!important;
}
.wisp-supplier-card[hidden]{
    display:none!important;
}
.wisp-supplier-list-footer{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin-top:24px;
}
.wisp-supplier-pager{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
}
.wisp-supplier-pager button{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:12px;
    min-width:38px;
    height:38px;
    cursor:pointer;
}
.wisp-supplier-pager button.active{
    background:#d7b16b;
    color:#102933;
}
.wisp-supplier-pager button:disabled{
    opacity:.38;
    cursor:not-allowed;
}
.wisp-request-shell{
    max-width:1120px;
    margin-inline:auto;
}
.wisp-request-intro{
    text-align:center;
    max-width:780px;
    margin:0 auto 30px;
}
.wisp-request-intro h1{
    font-size:clamp(36px,5vw,64px);
    line-height:1.12;
    margin:14px 0;
}
.wisp-request-intro p{
    color:rgba(255,255,255,.76);
    line-height:1.9;
}
.wisp-request-layout{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:18px;
    align-items:start;
}
.wisp-request-summary,
.wisp-request-form-panel{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:30px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.wisp-request-summary{
    padding:26px;
    position:sticky;
    top:96px;
}
.wisp-request-summary h2{
    margin:0 0 12px;
    font-size:24px;
}
.wisp-request-summary p,
.wisp-request-summary li{
    color:rgba(255,255,255,.75);
    line-height:1.85;
}
.wisp-request-summary ul{
    margin:18px 0 0;
    padding-inline-start:22px;
}
.wisp-request-form-panel{
    padding:28px;
}
.wisp-form-errors{
    border:1px solid rgba(239,68,68,.28);
    background:rgba(239,68,68,.12);
    color:#fecaca;
    border-radius:18px;
    padding:14px 16px;
    margin-bottom:18px;
}
.wisp-form-errors ul{
    margin:8px 0 0;
}
.wisp-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.wisp-field{
    display:grid;
    gap:8px;
}
.wisp-field span:first-child{
    color:rgba(255,255,255,.86);
    font-size:14px;
}
.wisp-field textarea{
    resize:vertical;
    min-height:130px;
}
.wisp-field-full{
    margin-top:14px;
}
.wisp-field select option{
    color:#102933;
}
.wisp-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}
.wisp-file-drop{
    display:grid;
    gap:7px;
    justify-items:center;
    text-align:center;
    border:1px dashed rgba(215,177,107,.42);
    background:rgba(215,177,107,.08);
    border-radius:22px;
    padding:22px;
    cursor:pointer;
}
.wisp-file-drop input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.wisp-file-drop strong{
    color:#d7b16b;
    font-size:18px;
}
.wisp-file-drop span{
    color:rgba(255,255,255,.72);
}
.wisp-file-drop em{
    color:rgba(255,255,255,.60);
    font-style:normal;
    font-size:13px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wisp-request-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:20px;
}
@media(max-width:980px){
    .wisp-suppliers-controls{
        grid-template-columns:1fr 1fr;
    }
    .wisp-supplier-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .wisp-request-layout{
        grid-template-columns:1fr;
    }
    .wisp-request-summary{
        position:static;
    }
}
@media(max-width:640px){
    .wisp-suppliers-controls,
    .wisp-supplier-card-grid,
    .wisp-form-grid,
    .wisp-upload-grid{
        grid-template-columns:1fr;
    }
}
/* WISP_SUPPLIERS_FORMS_UI_FIX_END */

/* WISP_MARQUEE_FORMS_SELECT_FINAL_FIX_START */
html,
body{
    max-width:100%!important;
    overflow-x:hidden!important;
}
.wisp-public-page,
.wisp-home-container{
    max-width:100%!important;
}
.wisp-supplier-logo-marquee,
.home-client-marquee,
.wisp-client-marquee{
    overflow:hidden!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
}
.wisp-supplier-logo-track,
.home-client-track,
.wisp-client-track,
.wisp-client-marquee-track,
.home-client-marquee-track,
.client-logo-track,
.clients-marquee-track,
.home-client-logo-track{
    display:flex!important;
    width:max-content!important;
    max-width:none!important;
    gap:0!important;
    will-change:transform;
    animation:wispSeamlessRight var(--wisp-marquee-duration,34s) linear infinite!important;
}
.wisp-marquee-group{
    display:flex!important;
    align-items:center;
    gap:14px;
    flex:0 0 auto!important;
    padding-inline-end:14px;
}
@keyframes wispSeamlessRight{
    from{transform:translate3d(calc(var(--wisp-marquee-width, 800px) * -1),0,0)}
    to{transform:translate3d(0,0,0)}
}
.wisp-supplier-logo-chip{
    flex:0 0 auto!important;
}
.wisp-supplier-logo-section .wisp-section-head h2{
    font-size:clamp(34px,4vw,52px);
}
.wisp-suppliers-hero{
    text-align:center!important;
    margin-inline:auto!important;
}
.wisp-suppliers-hero h1,
.wisp-suppliers-hero p{
    margin-inline:auto!important;
}
.wisp-suppliers-controls{
    display:grid!important;
    grid-template-columns:1fr 220px 120px;
    gap:12px;
    align-items:center;
    margin:0 auto 24px!important;
    max-width:1040px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:24px;
    padding:14px;
}
.wisp-suppliers-controls input,
.wisp-suppliers-controls select,
.wisp-field input,
.wisp-field textarea,
.wisp-field select{
    width:100%;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:16px;
    padding:14px 16px;
    outline:none;
    font-family:inherit;
}
.wisp-suppliers-controls input{
    text-align:right;
}
.wisp-select-wrap{
    position:relative!important;
    display:block!important;
}
.wisp-select-wrap::after{
    display:none!important;
    content:none!important;
}
.wisp-select-wrap select{
    appearance:none!important;
    -webkit-appearance:none!important;
    padding-inline-end:48px!important;
    padding-inline-start:16px!important;
}
.wisp-select-wrap > i{
    position:absolute;
    inset-inline-end:17px;
    top:50%;
    transform:translateY(-50%);
    pointer-events:none;
    color:#d7b16b;
    font-size:13px;
    line-height:1;
}
.wisp-select-wrap.compact select{
    text-align:center;
}
.wisp-supplier-card-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.wisp-supplier-card{
    text-align:center!important;
    justify-items:center!important;
    align-items:center!important;
    place-items:center!important;
}
.wisp-supplier-card[hidden]{
    display:none!important;
}
.wisp-supplier-list-footer{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin-top:24px!important;
}
.wisp-supplier-pager{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px;
}
.wisp-supplier-pager button{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:12px;
    min-width:38px;
    height:38px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.wisp-supplier-pager button.active{
    background:#d7b16b;
    color:#102933;
}
.wisp-supplier-pager button:disabled{
    opacity:.38;
    cursor:not-allowed;
}
.wisp-request-shell{
    width:min(1180px,calc(100% - 32px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
}
.wisp-request-intro{
    text-align:start!important;
    max-width:980px!important;
    margin:0 0 24px!important;
}
[dir="rtl"] .wisp-request-intro{
    text-align:right!important;
}
[dir="ltr"] .wisp-request-intro{
    text-align:left!important;
}
.wisp-request-intro h1{
    font-size:clamp(36px,5vw,64px);
    line-height:1.12;
    margin:14px 0;
}
.wisp-request-intro p{
    color:rgba(255,255,255,.76);
    line-height:1.9;
    max-width:760px;
}
.wisp-request-layout,
.wisp-request-summary{
    display:none!important;
}
.wisp-request-form-panel{
    width:100%!important;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:30px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
    padding:30px;
}
.wisp-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.wisp-field{
    display:grid;
    gap:8px;
}
.wisp-field span:first-child{
    color:rgba(255,255,255,.86);
    font-size:14px;
}
.wisp-field textarea{
    resize:vertical;
    min-height:130px;
}
.wisp-field-full{
    margin-top:14px;
}
.wisp-field select option,
.wisp-suppliers-controls select option{
    color:#102933;
}
.wisp-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}
.wisp-file-drop{
    display:grid;
    gap:7px;
    justify-items:center;
    text-align:center;
    border:1px dashed rgba(215,177,107,.42);
    background:rgba(215,177,107,.08);
    border-radius:22px;
    padding:22px;
    cursor:pointer;
    position:relative;
}
.wisp-file-drop input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.wisp-file-drop strong{
    color:#d7b16b;
    font-size:18px;
}
.wisp-file-drop span{
    color:rgba(255,255,255,.72);
}
.wisp-file-drop em{
    color:rgba(255,255,255,.60);
    font-style:normal;
    font-size:13px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wisp-request-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:20px;
}
.wisp-form-errors{
    border:1px solid rgba(239,68,68,.28);
    background:rgba(239,68,68,.12);
    color:#fecaca;
    border-radius:18px;
    padding:14px 16px;
    margin-bottom:18px;
}
@media(max-width:980px){
    .wisp-suppliers-controls{
        grid-template-columns:1fr 1fr;
    }
    .wisp-supplier-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .wisp-suppliers-controls,
    .wisp-supplier-card-grid,
    .wisp-form-grid,
    .wisp-upload-grid{
        grid-template-columns:1fr;
    }
    .wisp-request-form-panel{
        padding:22px;
        border-radius:24px;
    }
}
/* WISP_MARQUEE_FORMS_SELECT_FINAL_FIX_END */

/* WISP_NO_GAP_MARQUEE_HERO_PAGER_FIX_START */

/* prevent visual side overflow */
html,
body{
    max-width:100%!important;
    overflow-x:hidden!important;
}

/* supplier + client logo marquee: no visible start/end, right direction */
.wisp-supplier-logo-marquee,
.home-client-marquee,
.wisp-client-marquee{
    overflow:hidden!important;
    width:100%!important;
    max-width:100%!important;
    position:relative!important;
}

.wisp-supplier-logo-track,
.home-client-track,
.wisp-client-track,
.wisp-client-marquee-track,
.home-client-marquee-track,
.client-logo-track,
.clients-marquee-track,
.home-client-logo-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    transform:translate3d(calc(var(--wisp-marquee-width, 2200px) * -1),0,0);
    animation:wispNoGapMoveRight var(--wisp-marquee-duration,48s) linear infinite!important;
    animation-direction:normal!important;
    will-change:transform;
}

html[dir="rtl"] .wisp-supplier-logo-track,
html[dir="rtl"] .home-client-track,
html[dir="rtl"] .wisp-client-track,
html[dir="rtl"] .wisp-client-marquee-track,
html[dir="rtl"] .home-client-marquee-track,
html[dir="rtl"] .client-logo-track,
html[dir="rtl"] .clients-marquee-track,
html[dir="rtl"] .home-client-logo-track{
    animation-direction:normal!important;
}

.wisp-marquee-group{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    padding-inline-end:14px!important;
    min-width:max-content!important;
}

.wisp-marquee-group > *{
    flex:0 0 auto!important;
}

@keyframes wispNoGapMoveRight{
    from{transform:translate3d(calc(var(--wisp-marquee-width, 2200px) * -1),0,0)}
    to{transform:translate3d(0,0,0)}
}

/* suppliers directory hero must start from right in Arabic, not centered */
html[dir="rtl"] .wisp-suppliers-page .wisp-suppliers-hero{
    text-align:right!important;
    margin-inline-start:0!important;
    margin-inline-end:auto!important;
}

html[dir="rtl"] .wisp-suppliers-page .wisp-suppliers-hero h1,
html[dir="rtl"] .wisp-suppliers-page .wisp-suppliers-hero p{
    text-align:right!important;
    margin-inline-start:0!important;
    margin-inline-end:auto!important;
}

html[dir="ltr"] .wisp-suppliers-page .wisp-suppliers-hero{
    text-align:left!important;
    margin-inline-start:0!important;
    margin-inline-end:auto!important;
}

html[dir="ltr"] .wisp-suppliers-page .wisp-suppliers-hero h1,
html[dir="ltr"] .wisp-suppliers-page .wisp-suppliers-hero p{
    text-align:left!important;
    margin-inline-start:0!important;
    margin-inline-end:auto!important;
}

/* centered footer pager, arrows only rendered by JS when pages > 5 */
.wisp-supplier-list-footer{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin-top:24px!important;
}

.wisp-supplier-pager{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
}

.wisp-supplier-pager button{
    border:1px solid rgba(255,255,255,.14)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    border-radius:12px!important;
    min-width:38px!important;
    height:38px!important;
    cursor:pointer!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.wisp-supplier-pager button.active{
    background:#d7b16b!important;
    color:#102933!important;
}

.wisp-supplier-pager button:disabled{
    opacity:.38!important;
    cursor:not-allowed!important;
}

/* WISP_NO_GAP_MARQUEE_HERO_PAGER_FIX_END */

/* WISP_CSS_ONLY_MARQUEE_FINAL_START */

html,
body{
    max-width:100%!important;
    overflow-x:hidden!important;
}

.wisp-supplier-logo-marquee,
.home-client-marquee,
.wisp-client-marquee{
    overflow:hidden!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
}

.wisp-css-marquee-track,
.wisp-supplier-logo-track.wisp-css-marquee-track,
.home-client-track.wisp-css-marquee-track,
.wisp-client-track.wisp-css-marquee-track,
.wisp-client-marquee-track.wisp-css-marquee-track,
.home-client-marquee-track.wisp-css-marquee-track,
.client-logo-track.wisp-css-marquee-track,
.clients-marquee-track.wisp-css-marquee-track,
.home-client-logo-track.wisp-css-marquee-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    visibility:visible!important;
    opacity:1!important;
    will-change:transform;
    animation:wispCssOnlyRight 58s linear infinite!important;
}

.wisp-css-marquee-track:hover{
    animation-play-state:running!important;
}

.wisp-css-marquee-group{
    display:flex!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:14px!important;
    padding-inline-end:14px!important;
    min-width:max-content!important;
}

.wisp-css-marquee-group > *{
    flex:0 0 auto!important;
}

/*
    Two identical groups are rendered in Blade.
    Moving from -50% to 0 creates rightward continuous movement.
    Since group 1 and group 2 are identical, the loop has no visible start/end.
*/
@keyframes wispCssOnlyRight{
    from{transform:translate3d(-50%,0,0)}
    to{transform:translate3d(0,0,0)}
}

/* neutralize older JS marquee animations */
.wisp-supplier-logo-track,
.home-client-track,
.wisp-client-track,
.wisp-client-marquee-track,
.home-client-marquee-track,
.client-logo-track,
.clients-marquee-track,
.home-client-logo-track{
    animation-name:wispCssOnlyRight!important;
}

/* WISP_CSS_ONLY_MARQUEE_FINAL_END */

/* WISP_HARD_MARQUEE_REPLACE_START */

html,
body{
    max-width:100%!important;
    overflow-x:hidden!important;
}

/* Dedicated supplier marquee, no JS, no delayed render */
.wisp-hard-marquee-viewport{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    position:relative!important;
    direction:ltr!important;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    padding:18px 0;
}

.wisp-hard-marquee-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    gap:0!important;
    direction:ltr!important;
    transform:translate3d(-33.333333%,0,0);
    animation:wispHardMoveRight 80s linear infinite!important;
    will-change:transform;
}

.wisp-hard-marquee-group{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    flex:0 0 auto!important;
    min-width:max-content!important;
    gap:14px!important;
    padding-inline-end:14px!important;
    direction:ltr!important;
}

.wisp-hard-marquee-group > *{
    flex:0 0 auto!important;
}

.wisp-hard-logo-chip{
    min-width:170px;
    min-height:86px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.065);
    color:#fff;
    border-radius:20px;
    display:grid;
    place-items:center;
    gap:4px;
    text-decoration:none;
    padding:12px;
}

.wisp-hard-logo-chip span{
    color:#d7b16b;
    font-weight:800;
    font-size:22px;
}

.wisp-hard-logo-chip small{
    color:rgba(255,255,255,.72);
}

/*
    Three identical groups:
    Start at group 2, move right to group 1.
    Reset is visually identical, so no beginning/end appears.
*/
@keyframes wispHardMoveRight{
    from{transform:translate3d(-33.333333%,0,0)}
    to{transform:translate3d(0,0,0)}
}

/* Apply the same no-gap movement to existing home clients track */
.home-client-track.wisp-hard-marquee-track,
.wisp-client-track.wisp-hard-marquee-track,
.wisp-client-marquee-track.wisp-hard-marquee-track,
.home-client-marquee-track.wisp-hard-marquee-track,
.client-logo-track.wisp-hard-marquee-track,
.clients-marquee-track.wisp-hard-marquee-track,
.home-client-logo-track.wisp-hard-marquee-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    gap:0!important;
    direction:ltr!important;
    transform:translate3d(-33.333333%,0,0);
    animation:wispHardMoveRight 80s linear infinite!important;
    will-change:transform;
}

.home-client-track .wisp-hard-marquee-group,
.wisp-client-track .wisp-hard-marquee-group,
.wisp-client-marquee-track .wisp-hard-marquee-group,
.home-client-marquee-track .wisp-hard-marquee-group,
.client-logo-track .wisp-hard-marquee-group,
.clients-marquee-track .wisp-hard-marquee-group,
.home-client-logo-track .wisp-hard-marquee-group{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    flex:0 0 auto!important;
    min-width:max-content!important;
    gap:14px!important;
    padding-inline-end:14px!important;
}

/* Disable old marquee systems completely where hard marquee exists */
.wisp-hard-marquee-track .wisp-css-marquee-group,
.wisp-hard-marquee-track .wisp-marquee-group{
    all:unset;
}

/* WISP_HARD_MARQUEE_REPLACE_END */

/* WISP_SUPPLIER_HARD_MARQUEE_SPEED_FIX_START */
.wisp-hard-marquee-viewport .wisp-hard-marquee-track,
.wisp-hard-marquee-track{
    animation-duration:180s!important;
}
/* WISP_SUPPLIER_HARD_MARQUEE_SPEED_FIX_END */

/* WISP_LOOP_MARQUEE_ENGINE_FIX_START */

.wisp-loop-marquee{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    position:relative!important;
    visibility:visible!important;
    opacity:1!important;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    padding:18px 0;
    direction:ltr!important;
}

.wisp-loop-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    gap:0!important;
    visibility:visible!important;
    opacity:1!important;
    transform:translate3d(0,0,0);
    will-change:transform;
    direction:ltr!important;
}

.wisp-loop-group{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    flex:0 0 auto!important;
    min-width:max-content!important;
    gap:14px!important;
    padding-inline-end:14px!important;
    visibility:visible!important;
    opacity:1!important;
}

.wisp-loop-group > *{
    flex:0 0 auto!important;
}

.wisp-loop-chip{
    min-width:170px;
    min-height:86px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.065);
    color:#fff;
    border-radius:20px;
    display:grid!important;
    place-items:center!important;
    gap:4px;
    text-decoration:none;
    padding:12px;
    visibility:visible!important;
    opacity:1!important;
}

.wisp-loop-supplier-chip span{
    color:#d7b16b;
    font-weight:800;
    font-size:22px;
}

.wisp-loop-supplier-chip small{
    color:rgba(255,255,255,.72);
}

.wisp-loop-client-chip span{
    color:#fff;
    font-size:17px;
    font-weight:600;
}

/* remove visual effect of old systems inside new loop only */
.wisp-loop-marquee .wisp-css-marquee-track,
.wisp-loop-marquee .wisp-css-marquee-group,
.wisp-loop-marquee .wisp-marquee-group,
.wisp-loop-marquee .wisp-hard-marquee-group{
    animation:none!important;
}

/* WISP_LOOP_MARQUEE_ENGINE_FIX_END */

/* WISP_BUSINESS_HOME_SUPPLIER_MODAL_FIX_START */

.wisp-loop-supplier-chip{
    border:1px solid rgba(255,255,255,.13);
    cursor:pointer;
    font-family:inherit;
}

.wisp-business-supplier-modal[hidden]{
    display:none!important;
}

.wisp-business-supplier-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:24px;
}

.wisp-business-supplier-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(4px);
}

.wisp-business-supplier-modal-card{
    position:relative;
    width:min(560px,100%);
    border:1px solid rgba(255,255,255,.13);
    background:#102933;
    color:#fff;
    border-radius:30px;
    padding:30px;
    box-shadow:0 24px 70px rgba(0,0,0,.32);
}

.wisp-business-supplier-modal-close{
    position:absolute;
    inset-inline-end:18px;
    top:16px;
    border:0;
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:999px;
    width:38px;
    height:38px;
    font-size:24px;
    cursor:pointer;
}

.business-supplier-logo-box{
    width:110px;
    height:110px;
    border-radius:26px;
    background:linear-gradient(135deg,#f0cf8a,#d7b16b);
    color:#102933;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:26px;
    margin-bottom:12px;
}

.wisp-business-supplier-modal-card small{
    color:#d7b16b;
}

.wisp-business-supplier-modal-card h2{
    margin:12px 0 8px;
    font-size:30px;
}

.wisp-business-supplier-modal-card p{
    color:rgba(255,255,255,.78);
    line-height:1.8;
}

.business-supplier-info-list{
    margin-top:16px;
    border-top:1px solid rgba(255,255,255,.10);
    padding-top:14px;
}

.business-supplier-info-list p{
    margin:8px 0;
}

body.business-supplier-modal-open{
    overflow:hidden;
}

.wisp-home-business-options-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.wisp-home-business-option-card{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:28px;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.wisp-home-business-option-card h3{
    color:#fff;
    font-size:21px;
    margin:0;
}

.wisp-home-business-option-card p{
    color:rgba(255,255,255,.74);
    line-height:1.8;
    flex:1;
}

@media(max-width:1100px){
    .wisp-home-business-options-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .wisp-home-business-options-grid{
        grid-template-columns:1fr;
    }
}

/* WISP_BUSINESS_HOME_SUPPLIER_MODAL_FIX_END */

/* WISP_GLOBAL_OVERFLOW_HOME_BUSINESS_FIX_START */

/*
    Global horizontal overflow guard:
    This fixes the repeated/extended horizontal canvas appearing across pages.
*/
html,
body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
}

body{
    position:relative;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

@supports not (overflow-x: clip){
}

/*
    Restore containers to a real centered max-width.
    Previous max-width:100% made some pages stretch visually across the whole canvas.
*/
.container,
.wisp-home-container,
.wisp-admin-container{
    width:min(1180px, calc(100% - 40px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
}

@media(max-width:640px){
    .container,
    .wisp-home-container,
    .wisp-admin-container{
        width:min(100% - 28px, 1180px)!important;
    }
}

/*
    Marquee elements are allowed to be wider internally,
    but never allowed to expand the page/canvas.
*/
.wisp-loop-marquee,
.wisp-hard-marquee-viewport,
.wisp-supplier-logo-marquee,
.wisp-client-marquee,
.home-client-marquee{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    contain:layout paint!important;
}

.wisp-loop-track,
.wisp-hard-marquee-track,
.wisp-supplier-logo-track,
.wisp-client-track,
.home-client-track{
    max-width:none!important;
}

/*
    Homepage business section:
    Title stays "حلول الأعمال"; no entry button when options <= 5.
*/
#home-business .wisp-section-head-action{
    align-items:flex-end;
}

#home-business .wisp-section-entry{
    display:inline-flex;
}

.wisp-home-business-options-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.wisp-home-business-option-card{
    min-width:0;
}

@media(max-width:1100px){
    .wisp-home-business-options-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .wisp-home-business-options-grid{
        grid-template-columns:1fr;
    }
}

/* WISP_GLOBAL_OVERFLOW_HOME_BUSINESS_FIX_END */

/* WISP_HOME_FLAT_SECTION_BANDS_FIX_START */

/*
    Homepage section separation:
    - full-width flat background bands
    - no rounded corners
    - no left/right inner band margins
    - no card look
    - no gaps between section bands
*/

.wisp-home .wisp-home-section{
    position:relative;
    margin:0!important;
    padding:42px 0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    isolation:isolate;
}

.wisp-home .wisp-home-section::before{
    content:none!important;
    display:none!important;
}

.wisp-home #home-about,
.wisp-home #home-news,
.wisp-home #home-sectors,
.wisp-home #home-clients,
.wisp-home #home-business,
.wisp-home #home-contact{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    border:0!important;
}

.wisp-home #home-about{
    background:rgba(255,255,255,.015)!important;
}

.wisp-home #home-news{
    background:rgba(255,255,255,.028)!important;
}

.wisp-home #home-sectors{
    background:rgba(255,255,255,.017)!important;
}

.wisp-home #home-clients{
    background:rgba(255,255,255,.031)!important;
}

.wisp-home #home-business{
    background:rgba(255,255,255,.019)!important;
}

.wisp-home #home-contact{
    background:rgba(255,255,255,.033)!important;
}

/* keep content normal and above the flat section background */
.wisp-home .wisp-home-section > .wisp-home-container{
    position:relative;
    z-index:1;
}

/* remove artificial top/bottom spacing that makes sections look detached */
.wisp-home #home-about,
.wisp-home #home-news,
.wisp-home #home-sectors,
.wisp-home #home-clients,
.wisp-home #home-business,
.wisp-home #home-contact{
    margin-top:0!important;
    margin-bottom:0!important;
}

/* section cards remain as they are; only the main section background changes */
@media(max-width:768px){
    .wisp-home .wisp-home-section{
        padding:30px 0!important;
    }
}

/* WISP_HOME_FLAT_SECTION_BANDS_FIX_END */

/* WISP_HOME_CONTACT_FOOTER_ACTUAL_FIX_START */

/* Contact section actual id */
#home-contact-form .wisp-home-contact-final{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(320px,.95fr)!important;
    gap:28px!important;
    align-items:start!important;
    border:1px solid rgba(255,255,255,.11)!important;
    background:rgba(255,255,255,.045)!important;
    border-radius:28px!important;
    padding:30px!important;
    box-shadow:0 18px 50px rgba(0,0,0,.18)!important;
}

#home-contact-form .wisp-home-contact-info h2{
    margin:0 0 12px!important;
    color:#fff!important;
    font-size:clamp(30px,4vw,44px)!important;
    line-height:1.2!important;
}

#home-contact-form .wisp-home-contact-info p{
    margin:0 0 20px!important;
    color:rgba(255,255,255,.76)!important;
    line-height:1.9!important;
}

#home-contact-form .wisp-contact-details-list{
    display:grid!important;
    gap:11px!important;
}

#home-contact-form .wisp-contact-details-list div{
    display:grid!important;
    gap:5px!important;
    padding:12px 14px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.045)!important;
    border-radius:16px!important;
}

#home-contact-form .wisp-contact-details-list strong{
    color:#d7b16b!important;
    font-size:13px!important;
}

#home-contact-form .wisp-contact-details-list span{
    color:rgba(255,255,255,.86)!important;
    line-height:1.7!important;
}

#home-contact-form .wisp-home-contact-form{
    display:grid!important;
    gap:11px!important;
}

#home-contact-form .wisp-home-contact-form input,
#home-contact-form .wisp-home-contact-form textarea{
    width:100%!important;
    border:1px solid rgba(255,255,255,.14)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    border-radius:14px!important;
    padding:13px 15px!important;
    outline:none!important;
    font-family:inherit!important;
}

#home-contact-form .wisp-home-contact-form textarea{
    resize:vertical!important;
    min-height:130px!important;
}

/* Footer brand centered */
footer.wisp-main-footer .wisp-footer-brand{
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
}

footer.wisp-main-footer .wisp-footer-brand .wisp-footer-logo,
footer.wisp-main-footer .wisp-footer-brand img{
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-brand p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* CR / TRN centered */
footer.wisp-main-footer .wisp-footer-registration{
    width:100%!important;
    margin:10px auto 0!important;
    padding:0!important;
    border:0!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    color:rgba(255,255,255,.62)!important;
    font-size:13px!important;
    direction:ltr!important;
    text-align:center!important;
}

/* Copyright centered */
footer.wisp-main-footer .wisp-footer-bottom{
    width:min(1180px,calc(100% - 36px))!important;
    margin:28px auto 0!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    color:rgba(255,255,255,.55)!important;
    font-size:13px!important;
}

footer.wisp-main-footer .wisp-footer-bottom span{
    margin:0 auto!important;
    text-align:center!important;
}

@media(max-width:820px){
    #home-contact-form .wisp-home-contact-final{
        grid-template-columns:1fr!important;
        padding:22px!important;
    }
}

/* WISP_HOME_CONTACT_FOOTER_ACTUAL_FIX_END */

/* WISP_CONTACT_FOOTER_VISUAL_FINAL_FIX_START */

/*
    1) Contact card: remove boxed contact-info rows.
    The form can stay as form fields, but address/phone/email must look like clean info lines.
*/
#home-contact-form .wisp-home-contact-final{
    grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;
    gap:34px!important;
}

#home-contact-form .wisp-home-contact-info{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:100%!important;
}

#home-contact-form .wisp-home-contact-info h2{
    margin-bottom:10px!important;
}

#home-contact-form .wisp-home-contact-info > p{
    max-width:620px!important;
    margin-bottom:22px!important;
    line-height:1.9!important;
}

#home-contact-form .wisp-contact-details-list{
    display:grid!important;
    gap:9px!important;
    margin-top:4px!important;
}

#home-contact-form .wisp-contact-details-list div{
    display:block!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
}

#home-contact-form .wisp-contact-details-list strong{
    display:inline!important;
    color:#d7b16b!important;
    font-size:14px!important;
    font-weight:700!important;
    margin-inline-end:8px!important;
}

#home-contact-form .wisp-contact-details-list strong::after{
    content:" :";
}

#home-contact-form .wisp-contact-details-list span{
    display:inline!important;
    color:rgba(255,255,255,.84)!important;
    line-height:1.9!important;
}

#home-contact-form .wisp-home-contact-form input,
#home-contact-form .wisp-home-contact-form textarea{
    background:rgba(255,255,255,.065)!important;
}

/*
    2) Footer columns: move links/business block left with safe margin,
    not stuck to the edge.
*/
footer.wisp-main-footer .wisp-footer-grid{
    align-items:flex-start!important;
}

footer.wisp-main-footer .wisp-footer-links,
footer.wisp-main-footer .wisp-footer-col,
footer.wisp-main-footer .wisp-footer-nav{
    text-align:right;
}

footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
    transform:translateX(-28px);
}

/* if layout has only generic div columns */
html[dir="rtl"] footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
    padding-left:22px!important;
}

/*
    3) Footer brand/logo/text/registration centered.
*/
footer.wisp-main-footer .wisp-footer-brand{
    text-align:center!important;
    align-items:center!important;
    justify-content:flex-start!important;
}

footer.wisp-main-footer .wisp-footer-brand img,
footer.wisp-main-footer .wisp-footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-brand p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-registration{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/*
    4) Copyright centered and exact final text.
*/
footer.wisp-main-footer .wisp-footer-bottom{
    width:min(1180px,calc(100% - 36px))!important;
    margin:28px auto 0!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
}

footer.wisp-main-footer .wisp-footer-bottom span{
    width:100%!important;
    display:block!important;
    text-align:center!important;
    margin:0 auto!important;
}

@media(max-width:820px){
    #home-contact-form .wisp-home-contact-final{
        grid-template-columns:1fr!important;
    }

    footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
        transform:none!important;
        padding-left:0!important;
    }
}

/* WISP_CONTACT_FOOTER_VISUAL_FINAL_FIX_END */

/* WISP_CONTACT_FOOTER_LEFT_FIX_START */

/* Remove contact address label visual gap */
#home-contact-form .wisp-contact-address-line span{
    display:block!important;
    color:rgba(255,255,255,.86)!important;
    line-height:1.9!important;
}

/* Move footer links/business columns to the left with a safe margin */
@media(min-width:821px){
    footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
        transform:translateX(-95px)!important;
        padding-left:28px!important;
    }
}

/* keep mobile normal */
@media(max-width:820px){
    footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
        transform:none!important;
        padding-left:0!important;
    }
}

/* WISP_CONTACT_FOOTER_LEFT_FIX_END */

/* WISP_FOOTER_ACTUAL_CONTAINER_LEFT_FIX_START */

/* Actual footer layout: target .wisp-footer-container */
footer.wisp-main-footer .wisp-footer-container{
    width:min(1180px, calc(100% - 40px))!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:minmax(360px, 1.25fr) 190px 190px!important;
    column-gap:46px!important;
    align-items:start!important;
}

/* Move only the links/business columns to the left, using the actual class */
@media(min-width:821px){
    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links{
        transform:translateX(-115px)!important;
        padding-left:30px!important;
    }
}

/* Brand stays centered */
footer.wisp-main-footer .wisp-footer-brand{
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
}

footer.wisp-main-footer .wisp-footer-brand img,
footer.wisp-main-footer .wisp-footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-brand p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-registration{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    text-align:center!important;
    direction:ltr!important;
}

/* Footer copyright */
footer.wisp-main-footer .wisp-footer-bottom{
    width:min(1180px, calc(100% - 40px))!important;
    margin:28px auto 0!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
}

footer.wisp-main-footer .wisp-footer-bottom span{
    display:block!important;
    width:100%!important;
    text-align:center!important;
}

/* Contact address label should not appear */
#home-contact-form .wisp-contact-details-list strong:empty{
    display:none!important;
}

@media(max-width:820px){
    footer.wisp-main-footer .wisp-footer-container{
        grid-template-columns:1fr!important;
        row-gap:28px!important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links{
        transform:none!important;
        padding-left:0!important;
        text-align:center!important;
    }
}

/* WISP_FOOTER_ACTUAL_CONTAINER_LEFT_FIX_END */

/* WISP_FOOTER_BALANCED_PADDING_FIX_START */

/*
    Final footer balance:
    - target the actual container: .wisp-footer-container
    - remove previous translateX shifts
    - equal right/left inner padding
    - links/business no longer stuck to left
*/
footer.wisp-main-footer .wisp-footer-container{
    width:min(1180px, calc(100% - 64px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:42px!important;
    padding-right:42px!important;
    display:grid!important;
    grid-template-columns:minmax(340px, 1.15fr) minmax(150px, .55fr) minmax(150px, .55fr)!important;
    column-gap:42px!important;
    align-items:start!important;
    box-sizing:border-box!important;
}

/* cancel all previous left/right movement */
footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links,
footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand),
html[dir="rtl"] footer.wisp-main-footer .wisp-footer-grid > div:not(.wisp-footer-brand){
    transform:none!important;
    padding-left:0!important;
    padding-right:0!important;
}

/* give footer links a safe internal breathing space */
footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links{
    min-width:0!important;
    text-align:right!important;
    padding-inline:8px!important;
}

footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links h3{
    margin-top:0!important;
}

/* brand stays centered */
footer.wisp-main-footer .wisp-footer-brand{
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
}

footer.wisp-main-footer .wisp-footer-brand img,
footer.wisp-main-footer .wisp-footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-brand p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

footer.wisp-main-footer .wisp-footer-registration{
    justify-content:center!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* final copyright */
footer.wisp-main-footer .wisp-footer-bottom{
    width:min(1180px, calc(100% - 64px))!important;
    max-width:1180px!important;
    margin:28px auto 0!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
}

footer.wisp-main-footer .wisp-footer-bottom span{
    width:100%!important;
    display:block!important;
    text-align:center!important;
}

@media(max-width:820px){
    footer.wisp-main-footer .wisp-footer-container{
        width:min(100% - 32px, 1180px)!important;
        grid-template-columns:1fr!important;
        row-gap:28px!important;
        padding-left:18px!important;
        padding-right:18px!important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links{
        text-align:center!important;
        padding-inline:0!important;
    }
}

/* WISP_FOOTER_BALANCED_PADDING_FIX_END */

/* WISP_FOOTER_EXACT_BALANCE_FIX_START */

/* Canonical footer layout for Arabic and English. */

footer.wisp-main-footer .wisp-footer-container {
    width: min(1180px, calc(100% - 96px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns:
        minmax(210px, 230px)
        minmax(210px, 230px)
        minmax(430px, 1fr) !important;
    column-gap: 76px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

footer.wisp-main-footer .wisp-footer-container > .wisp-footer-brand,
footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links {
    min-width: 0 !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html[lang="ar"] footer.wisp-main-footer .wisp-footer-container {
    direction: ltr !important;
}

html[lang="ar"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

html[lang="ar"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

html[lang="ar"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-brand {
    grid-column: 3 !important;
    grid-row: 1 !important;
    direction: rtl !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

html[lang="ar"] footer.wisp-main-footer .wisp-footer-links {
    direction: rtl !important;
    text-align: right !important;
}

html[lang="en"] footer.wisp-main-footer .wisp-footer-container {
    direction: ltr !important;
    grid-template-columns:
        minmax(430px, 1fr)
        minmax(210px, 230px)
        minmax(210px, 230px) !important;
}

/* WISP_FOOTER_EN_BRAND_CONTENT_CENTER_V179E */
html[lang="en"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    direction: ltr !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

html[lang="en"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

html[lang="en"] footer.wisp-main-footer
.wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

html[lang="en"] footer.wisp-main-footer .wisp-footer-links,
html[lang="en"] footer.wisp-main-footer .wisp-footer-links h3,
html[lang="en"] footer.wisp-main-footer .wisp-footer-links a {
    direction: ltr !important;
    text-align: left !important;
    justify-self: start !important;
}

html[lang="en"] footer.wisp-main-footer .wisp-footer-brand img,
html[lang="en"] footer.wisp-main-footer .wisp-footer-logo {
    margin-left: auto !important;
    margin-right: auto !important;
}

html[lang="en"] footer.wisp-main-footer .wisp-footer-brand p {
    width: 100% !important;
    max-width: 460px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

html[lang="en"] footer.wisp-main-footer .wisp-footer-registration {
    width: 100% !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    direction: ltr !important;
}

footer.wisp-main-footer .wisp-footer-bottom {
    width: min(1180px, calc(100% - 96px)) !important;
    max-width: 1180px !important;
    margin: 28px auto 0 !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

footer.wisp-main-footer .wisp-footer-bottom span {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
}

@media (max-width: 900px) {
    footer.wisp-main-footer .wisp-footer-container {
        width: min(100% - 32px, 1180px) !important;
        grid-template-columns: 1fr !important;
        row-gap: 28px !important;
        column-gap: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-brand,
    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    html[lang="ar"] footer.wisp-main-footer .wisp-footer-container {
        direction: rtl !important;
    }

    html[lang="ar"] footer.wisp-main-footer .wisp-footer-container > * {
        text-align: center !important;
        align-items: center !important;
    }

    html[lang="en"] footer.wisp-main-footer .wisp-footer-container {
        direction: ltr !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-brand {
        order: 1 !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
        order: 2 !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
        order: 3 !important;
    }

    footer.wisp-main-footer .wisp-footer-bottom {
        width: min(100% - 32px, 1180px) !important;
    }
}

/* WISP_FOOTER_EXACT_BALANCE_FIX_END */
/* WISP_FRANCHISE_OPERATIONAL_DESIGN_START */

.wisp-franchise-operational{
    padding:56px 0 74px;
}

.wisp-franchise-wrap{
    width:min(1180px, calc(100% - 40px));
    margin-inline:auto;
}

.wisp-franchise-op-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;
    gap:18px;
    align-items:stretch;
    margin-bottom:18px;
}

.wisp-franchise-op-title,
.wisp-franchise-op-panel,
.wisp-franchise-flow-strip,
.wisp-franchise-aside-card,
.wisp-franchise-form-card{
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    border-radius:26px;
    box-shadow:0 18px 50px rgba(0,0,0,.16);
}

.wisp-franchise-op-title{
    padding:34px;
}

.wisp-franchise-op-title h1{
    margin:12px 0;
    color:#fff;
    font-size:clamp(44px,6vw,76px);
    line-height:1.08;
    letter-spacing:-.02em;
}

.wisp-franchise-op-title p{
    max-width:760px;
    color:rgba(255,255,255,.76);
    line-height:1.9;
    margin:0 0 20px;
}

.wisp-franchise-op-panel{
    padding:24px;
}

.wisp-franchise-op-panel h2,
.wisp-franchise-flow-strip h2,
.wisp-franchise-aside-card h2,
.wisp-franchise-form-header h2{
    margin:0 0 14px;
    color:#fff;
    font-size:clamp(24px,3vw,34px);
}

.wisp-franchise-modules{
    display:grid;
    gap:10px;
}

.wisp-franchise-modules div{
    display:grid;
    gap:4px;
    padding:12px 13px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.04);
}

.wisp-franchise-modules strong{
    color:#d7b16b;
}

.wisp-franchise-modules span{
    color:rgba(255,255,255,.72);
    line-height:1.6;
    font-size:14px;
}

.wisp-franchise-flow-strip{
    padding:22px;
    margin-bottom:18px;
}

.wisp-franchise-flow-items{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.wisp-franchise-flow-items article{
    padding:13px;
    border-radius:16px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
}

.wisp-franchise-flow-items strong{
    display:block;
    color:#d7b16b;
    margin-bottom:5px;
}

.wisp-franchise-flow-items span{
    color:rgba(255,255,255,.72);
    line-height:1.65;
    font-size:14px;
}

.wisp-franchise-main{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.wisp-franchise-aside{
    display:grid;
    gap:14px;
}

.wisp-franchise-aside-card{
    padding:22px;
}

.wisp-franchise-aside-card ul{
    margin:0;
    padding-inline-start:20px;
    color:rgba(255,255,255,.78);
    line-height:2;
}

html[dir="rtl"] .wisp-franchise-aside-card ul{
    padding-inline-start:0;
    padding-inline-end:20px;
}

.wisp-franchise-aside-card p{
    margin:0;
    color:rgba(255,255,255,.73);
    line-height:1.85;
}

.wisp-franchise-aside-card.accent{
    border-color:rgba(215,177,107,.24);
    background:rgba(215,177,107,.075);
}

.wisp-franchise-form-card{
    padding:26px;
}

.wisp-franchise-form-header{
    margin-bottom:18px;
}

.wisp-franchise-form-header p{
    margin:0;
    color:rgba(255,255,255,.72);
    line-height:1.8;
}

.wisp-franchise-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}

.wisp-franchise-form label{
    display:grid;
    gap:7px;
    color:rgba(255,255,255,.78);
    min-width:0;
}

.wisp-franchise-form .full{
    grid-column:1/-1;
}

.wisp-franchise-form input,
.wisp-franchise-form select,
.wisp-franchise-form textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.075);
    color:#fff;
    border-radius:15px;
    padding:13px 15px;
    outline:none;
    font-family:inherit;
}

.wisp-franchise-form select option{
    color:#111;
}

.wisp-franchise-form textarea{
    resize:vertical;
}

.wisp-franchise-file-upload{
    padding:16px;
    border:1px dashed rgba(215,177,107,.35);
    border-radius:18px;
    background:rgba(215,177,107,.06);
}

.wisp-franchise-file-upload small{
    color:rgba(255,255,255,.62);
    line-height:1.7;
}

.wisp-franchise-form .form-action{
    display:flex;
    justify-content:flex-start;
}

html[dir="rtl"] .wisp-franchise-form .form-action{
    justify-content:flex-start;
}

.wisp-hidden-field{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}

@media(max-width:1080px){
    .wisp-franchise-op-hero,
    .wisp-franchise-main{
        grid-template-columns:1fr;
    }

    .wisp-franchise-flow-items{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .wisp-franchise-operational{
        padding:38px 0 56px;
    }

    .wisp-franchise-wrap{
        width:min(100% - 28px,1180px);
    }

    .wisp-franchise-op-title,
    .wisp-franchise-op-panel,
    .wisp-franchise-flow-strip,
    .wisp-franchise-form-card,
    .wisp-franchise-aside-card{
        padding:20px;
        border-radius:22px;
    }

    .wisp-franchise-flow-items,
    .wisp-franchise-form{
        grid-template-columns:1fr;
    }
}

/* WISP_FRANCHISE_OPERATIONAL_DESIGN_END */

/* WISP_FRANCHISE_REMOVE_MARKED_ONLY_START */

/* Hero: no card, no side panel, title + description only */
.wisp-franchise-operational .wisp-franchise-clean-hero{
    display:block!important;
    margin-bottom:22px!important;
}

.wisp-franchise-operational .wisp-franchise-clean-hero .wisp-franchise-op-title{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
    max-width:860px!important;
}

.wisp-franchise-operational .wisp-franchise-clean-hero h1{
    margin-top:0!important;
}

.wisp-franchise-operational .wisp-franchise-clean-hero p{
    max-width:760px!important;
}

/* Remove side-card layout and make the form clean/full width */
.wisp-franchise-operational .wisp-franchise-main-form-only{
    display:block!important;
}

.wisp-franchise-operational .wisp-franchise-main-form-only .wisp-franchise-form-card{
    max-width:920px!important;
    margin-inline:auto!important;
}

/* Safety: if old marked cards remain from cache/CSS, hide only those side cards */
.wisp-franchise-operational .wisp-franchise-aside,
.wisp-franchise-operational .wisp-franchise-op-panel{
    display:none!important;
}

/* WISP_FRANCHISE_REMOVE_MARKED_ONLY_END */

/* WISP_FRANCHISE_FORM_WIDTH_ALIGN_FIX_START */

/*
    Align "نموذج طلب الفرنشايز" card with "مسار الطلب":
    same container width, same right/left edges.
*/
.wisp-franchise-operational .wisp-franchise-main-form-only{
    width:min(1180px,calc(100% - 32px))!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    display:block!important;
}

.wisp-franchise-operational .wisp-franchise-main-form-only .wisp-franchise-form-card{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-inline:0!important;
    box-sizing:border-box!important;
}

/* cancel previous centered 920px form override */
.wisp-franchise-operational .wisp-franchise-form-card{
    max-width:none!important;
}

/* keep the form itself readable inside the full-width card */
.wisp-franchise-operational .wisp-franchise-form{
    width:100%!important;
}

/* WISP_FRANCHISE_FORM_WIDTH_ALIGN_FIX_END */

/* WISP_FRANCHISE_FORM_FIELDS_UPGRADE_START */

.wisp-franchise-upgraded-form .wisp-form-group-title{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.08);
}

.wisp-franchise-upgraded-form .wisp-form-group-title:first-of-type{
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.wisp-franchise-upgraded-form .wisp-form-group-title h3{
    margin:0;
    color:#d7b16b;
    font-size:17px;
    font-weight:700;
}

.wisp-franchise-upgraded-form .wisp-franchise-ack{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:14px 16px;
    border:1px solid rgba(215,177,107,.25);
    background:rgba(215,177,107,.07);
    border-radius:16px;
}

.wisp-franchise-upgraded-form .wisp-franchise-ack input{
    width:auto!important;
    min-width:18px;
    margin-top:4px;
}

.wisp-franchise-upgraded-form .wisp-franchise-ack span{
    color:rgba(255,255,255,.78);
    line-height:1.8;
}

.wisp-franchise-upgraded-form input[type="file"]{
    padding:10px;
}

/* WISP_FRANCHISE_FORM_FIELDS_UPGRADE_END */

/* WISP_FRANCHISE_CONDITIONAL_FIELDS_START */

.wisp-franchise-upgraded-form .wisp-conditional-field.is-hidden{
    display:none!important;
}

.wisp-franchise-upgraded-form .wisp-conditional-field.is-visible{
    display:grid!important;
}

/* WISP_FRANCHISE_CONDITIONAL_FIELDS_END */

/* WISP_FRANCHISE_SELECT_ICON_SPACING_START */

/*
    Franchise form selects:
    - remove browser default arrow
    - use Font Awesome approved icon
    - add inner spacing so the arrow is not touching the edge
*/
.wisp-franchise-form label:has(> select){
    position:relative!important;
}

.wisp-franchise-form label:has(> select)::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    inset-inline-end:18px;
    bottom:14px;
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    color:#d7b16b;
    font-size:13px;
    line-height:1;
    pointer-events:none;
    opacity:.95;
}

.wisp-franchise-form select{
    appearance:none!important;
    -webkit-appearance:none!important;
    -moz-appearance:none!important;
    padding-inline-end:50px!important;
    background-image:none!important;
}

/* LTR/English keeps the icon on the right with same spacing */
html[dir="ltr"] .wisp-franchise-form label:has(> select)::after{
    right:18px;
    left:auto;
}

/* RTL/Arabic keeps the icon on the left with same spacing */
html[dir="rtl"] .wisp-franchise-form label:has(> select)::after,
html:not([dir="ltr"]) .wisp-franchise-form label:has(> select)::after{
    left:18px;
    right:auto;
}

/* RTL needs inner spacing on the left side where the icon appears */
html[dir="rtl"] .wisp-franchise-form select,
html:not([dir="ltr"]) .wisp-franchise-form select{
    padding-left:50px!important;
    padding-right:15px!important;
}

/* LTR needs inner spacing on the right side where the icon appears */
html[dir="ltr"] .wisp-franchise-form select{
    padding-right:50px!important;
    padding-left:15px!important;
}

/* WISP_FRANCHISE_SELECT_ICON_SPACING_END */

/* WISP_HOME_STATS_NUMBERS_CENTER_START */

.wisp-stats-grid-final,
.wisp-stats-grid,
.home-stats-grid{
    align-items:stretch;
}

.wisp-stats-grid-final .wisp-stat-card,
.wisp-stats-grid .wisp-stat-card,
.home-stats-grid .wisp-stat-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:12px!important;
    min-height:120px;
}

.wisp-stats-grid-final .wisp-stat-label,
.wisp-stats-grid .wisp-stat-label,
.home-stats-grid .wisp-stat-label{
    color:rgba(255,255,255,.82)!important;
    font-size:16px!important;
    line-height:1.5!important;
    font-weight:500!important;
}

.wisp-stats-grid-final .wisp-stat-value,
.wisp-stats-grid .wisp-stat-value,
.home-stats-grid .wisp-stat-value{
    color:#d7b16b!important;
    font-size:clamp(24px,3vw,34px)!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.02em;
}

/* WISP_HOME_STATS_NUMBERS_CENTER_END */


/* WISP_PUBLIC_NEWS_HOME_STYLE_SYNC_START */
.wisp-news-directory-page .wisp-page-hero {
    margin-bottom: 24px;
}

.wisp-news-directory-page .wisp-page-hero p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.wisp-news-controls {
    margin-bottom: 26px;
}

.wisp-news-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.wisp-news-page-card {
    min-height: 100%;
}

.wisp-news-page-card .wisp-news-image,
#home-news .wisp-news-image {
    overflow: hidden;
}

.wisp-news-page-card .wisp-news-image img,
#home-news .wisp-news-image img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    display: block;
}

.wisp-news-meta-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.wisp-news-meta-line small {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 10px;
    background: rgba(184, 139, 74, .12);
    color: rgba(230, 196, 142, .92);
    font-size: 12px;
    line-height: 1.5;
}

.wisp-news-empty {
    grid-column: 1 / -1;
    padding: 28px;
    border: 1px dashed rgba(255, 255, 255, .18);
    border-radius: 20px;
    text-align: center;
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .04);
}

.wisp-news-list-footer {
    margin-top: 24px;
}

@media (max-width: 920px) {
    .wisp-news-page-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .wisp-news-meta-line {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* WISP_PUBLIC_NEWS_HOME_STYLE_SYNC_END */


/* WISP_HOME_ABOUT_SAFE_PUBLIC_CSS_START */
.wisp-intro-image {
    overflow: hidden;
}

.wisp-intro-image img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    display: block;
    border-radius: inherit;
}

body:has(.wisp-home) main {
    padding-top: 0;
}

/* Hero visual stage */
.wisp-home #home-top {
    position: relative;
    min-height: 660px;
    padding-top: 170px;
    padding-bottom: 150px;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.76) 32%, rgba(255,255,255,.16) 62%, rgba(255,255,255,.88) 100%),
        linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.20) 48%, rgba(255,255,255,.92) 100%),
        radial-gradient(circle at 18% 22%, rgba(217, 170, 105, .22), transparent 30%),
        linear-gradient(135deg, #f7f2eb 0%, #ffffff 54%, #eef5f7 100%);
}

.wisp-home #home-top::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 78% 32%, rgba(122, 159, 176, .24), transparent 30%),
        radial-gradient(circle at 28% 74%, rgba(217, 170, 105, .16), transparent 34%);
}

.wisp-home #home-top::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 210px;
    z-index: -1;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.96));
}

.wisp-home #home-top .wisp-home-container {
    position: relative;
    z-index: 2;
}

.wisp-home #home-top .wisp-hero-copy {
    width: min(640px, 100%);
    margin-inline-start: auto;
    text-align: right;
    display: grid;
    justify-items: end;
}

.wisp-home #home-top .wisp-hero-copy h1,
.wisp-home #home-top h1 {
    color: #26475b;
    font-size: clamp(34px, 5.2vw, 58px);
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: -.02em;
}

.wisp-home #home-top .wisp-hero-copy p,
.wisp-home #home-top p {
    color: rgba(38, 71, 91, .80);
    font-size: clamp(17px, 2.1vw, 23px);
    line-height: 1.85;
    font-weight: 400;
}

/* Pull statistics visually into hero bottom */
.wisp-home #home-stats {
    position: relative;
    z-index: 6;
    margin-top: -118px;
    padding-top: 0;
    padding-bottom: 54px;
    background: transparent;
}

.wisp-home #home-stats .wisp-stats-grid-final,
.wisp-home #home-stats .wisp-stats-grid {
    gap: 28px;
}

.wisp-home #home-stats .wisp-stat-card {
    min-height: 158px;
    display: grid;
    align-content: center;
    justify-items: center;
    border: 1px solid rgba(255, 255, 255, .70);
    border-radius: 34px;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 20px 40px rgba(25, 38, 50, .14);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.wisp-home #home-stats .wisp-stat-label {
    color: #24475d;
    font-size: 18px;
    font-weight: 600;
}

.wisp-home #home-stats .wisp-stat-value {
    margin-top: 16px;
    color: #d9aa69;
    font-size: 34px;
    font-weight: 600;
}

@media (max-width: 980px) {

    .wisp-home #home-top {
        min-height: 620px;
        padding-top: 132px;
        padding-bottom: 130px;
    }

    .wisp-home #home-top .wisp-hero-copy {
        width: 100%;
    }

    .wisp-home #home-stats {
        margin-top: -92px;
    }

    .wisp-home #home-stats .wisp-stats-grid-final,
    .wisp-home #home-stats .wisp-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .wisp-home #home-stats .wisp-stat-card {
        min-height: 130px;
        border-radius: 24px;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top {
        min-height: 660px;
        padding-top: 122px;
        padding-bottom: 120px;
    }

    .wisp-home #home-top .wisp-hero-copy {
        margin-inline: 0;
        text-align: right;
        justify-items: start;
    }

    .wisp-home #home-top .wisp-hero-copy h1,
    .wisp-home #home-top h1 {
        font-size: 31px;
    }

    .wisp-home #home-top .wisp-hero-copy p,
    .wisp-home #home-top p {
        font-size: 16px;
    }

    .wisp-home #home-stats {
        margin-top: -82px;
    }

    .wisp-home #home-stats .wisp-stats-grid-final,
    .wisp-home #home-stats .wisp-stats-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* WISP_HOME_HERO_CSS_ONLY_DESIGN_END */


/* WISP_HOME_HERO_UPLOAD_FIELD_ONLY_PUBLIC_START */
.wisp-home #home-top[style*="background-image"] {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* WISP_HOME_HERO_UPLOAD_FIELD_ONLY_PUBLIC_END */


/* WISP_HOME_HEADER_STATS_GLASS_REFINE_START */

/*
  Final visual refine for homepage top area.
  CSS only: no Blade / Controller changes.
  Goals:
  - No empty gap above header.
  - Header glass / frosted.
  - Statistics visually sit inside hero background.
  - Statistics cards glass, labels navy, values gold.
*/

html:has(.wisp-home),
body:has(.wisp-home) {
    margin-top: 0 !important;
}

body:has(.wisp-home) main {
    padding-top: 0 !important;
}

.wisp-home #home-top {
    min-height: 760px !important;
    padding-top: 132px !important;
    padding-bottom: 260px !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}

.wisp-home #home-top::after {
    height: 260px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.78) 62%, rgba(255,255,255,.92)) !important;
}

.wisp-home #home-stats {
    position: relative !important;
    z-index: 20 !important;
    margin-top: -230px !important;
    padding-top: 0 !important;
    padding-bottom: 46px !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.wisp-home #home-stats::before,
.wisp-home #home-stats::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-stats.wisp-home-section {
    background: transparent !important;
    background-color: transparent !important;
}

.wisp-home #home-stats .wisp-home-container {
    position: relative !important;
    z-index: 22 !important;
}

.wisp-home #home-stats .wisp-stats-grid,
.wisp-home #home-stats .wisp-stats-grid-final {
    gap: 26px !important;
}

.wisp-home #home-stats .wisp-stat-card {
    min-height: 146px !important;
    border: 1px solid rgba(255, 255, 255, .70) !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, .46) !important;
    box-shadow:
        0 22px 46px rgba(20, 36, 49, .13),
        inset 0 1px 0 rgba(255,255,255,.62) !important;
    backdrop-filter: blur(22px) saturate(1.16) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.16) !important;
}

.wisp-home #home-stats .wisp-stat-label {
    color: #173246 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

.wisp-home #home-stats .wisp-stat-value {
    color: #d9aa69 !important;
    font-size: 32px !important;
    font-weight: 600 !important;
}

@media (max-width: 980px) {

    .wisp-home #home-top {
        min-height: 700px !important;
        padding-top: 112px !important;
        padding-bottom: 225px !important;
    }

    .wisp-home #home-stats {
        margin-top: -202px !important;
        padding-bottom: 38px !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        min-height: 126px !important;
        border-radius: 24px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top {
        min-height: 720px !important;
        padding-top: 104px !important;
        padding-bottom: 220px !important;
    }

    .wisp-home #home-stats {
        margin-top: -196px !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        min-height: 118px !important;
        border-radius: 22px !important;
        padding: 14px 10px !important;
    }

    .wisp-home #home-stats .wisp-stat-label {
        font-size: 14px !important;
    }

    .wisp-home #home-stats .wisp-stat-value {
        font-size: 26px !important;
    }
}

/* WISP_HOME_HEADER_STATS_GLASS_REFINE_END */


/* WISP_HOME_TOP_AREA_REFINE_START */

/*
  Homepage top area refine:
  1) Header transparent initially, glass on scroll.
  2) Header full-width rectangle, no clipped rounded shape.
  3) Hero CTA sits directly below copy.
  4) Stats remain visually inside hero.
  5) Homepage cards get consistent top/bottom inner spacing.
  6) Hero image fits more completely and is less zoomed.
*/

body.wisp-home-active {
    margin-top: 0 !important;
}

body.wisp-home-active main {
    padding-top: 0 !important;
}

.wisp-home #home-top {
    position: relative !important;
    min-height: 760px !important;
    padding-top: 126px !important;
    padding-bottom: 245px !important;
    overflow: hidden !important;
    background-position: left top !important;
    background-repeat: no-repeat !important;
    background-color: #f5f2eb !important;
}

.wisp-home #home-top[style*="background-image"] {
    background-size: contain !important;
    background-position: left top !important;
    background-repeat: no-repeat !important;
}

.wisp-home #home-top .wisp-hero-grid {
    align-items: start !important;
}

.wisp-home #home-top .wisp-hero-copy {
    width: min(650px, 100%) !important;
    margin-inline-start: auto !important;
    text-align: right !important;
    justify-items: end !important;
}

.wisp-home #home-top .wisp-hero-copy h1 {
    margin-bottom: 18px !important;
}

.wisp-home #home-top .wisp-hero-copy p {
    margin: 0 0 18px 0 !important;
    max-width: 620px !important;
}

.wisp-home #home-top .wisp-home-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 10px !important;
}

.wisp-home #home-stats {
    position: relative !important;
    z-index: 20 !important;
    margin-top: -206px !important;
    padding-top: 0 !important;
    padding-bottom: 34px !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.wisp-home #home-stats::before,
.wisp-home #home-stats::after {
    display: none !important;
    content: none !important;
}

.wisp-home #home-stats.wisp-home-section {
    background: transparent !important;
    background-color: transparent !important;
}

.wisp-home #home-stats .wisp-home-container {
    position: relative !important;
    z-index: 21 !important;
}

.wisp-home #home-stats .wisp-stat-card {
    min-height: 144px !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.62) !important;
    background: rgba(255,255,255,.44) !important;
    box-shadow:
        0 18px 40px rgba(22, 36, 48, .12),
        inset 0 1px 0 rgba(255,255,255,.62) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
}

.wisp-home #home-stats .wisp-stat-label {
    color: #173246 !important;
    font-weight: 600 !important;
}

.wisp-home #home-stats .wisp-stat-value {
    color: #d9aa69 !important;
    font-weight: 600 !important;
}

.wisp-home :is(
    .wisp-stat-card,
    .wisp-sector-card,
    .wisp-project-card,
    .wisp-news-card,
    .wisp-business-card,
    .wisp-cafe-card,
    .wisp-supplier-card,
    .wisp-client-card,
    .wisp-logo-card,
    .wisp-card,
    article[class*="card"],
    div[class*="card"]
) {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

@media (max-width: 1100px) {
    .wisp-home #home-top {
        min-height: 720px !important;
        padding-top: 118px !important;
        padding-bottom: 220px !important;
    }

    .wisp-home #home-top[style*="background-image"] {
        background-size: cover !important;
        background-position: center top !important;
    }

    .wisp-home #home-stats {
        margin-top: -184px !important;
    }
}

@media (max-width: 980px) {
    body.wisp-home-active .site-header .container.nav {
        min-height: 70px !important;
        padding-inline: 16px !important;
    }

    .wisp-home #home-top {
        min-height: 690px !important;
        padding-top: 108px !important;
        padding-bottom: 205px !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        margin-top: 8px !important;
    }

    .wisp-home #home-stats {
        margin-top: -174px !important;
        padding-bottom: 28px !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        min-height: 126px !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
        border-radius: 22px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top {
        min-height: 680px !important;
        padding-top: 102px !important;
        padding-bottom: 190px !important;
    }

    .wisp-home #home-top .wisp-hero-copy {
        width: 100% !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        justify-content: flex-start !important;
    }

    .wisp-home #home-stats {
        margin-top: -158px !important;
    }

    .wisp-home :is(
        .wisp-stat-card,
        .wisp-sector-card,
        .wisp-project-card,
        .wisp-news-card,
        .wisp-business-card,
        .wisp-cafe-card,
        .wisp-supplier-card,
        .wisp-client-card,
        .wisp-logo-card,
        .wisp-card,
        article[class*="card"],
        div[class*="card"]
    ) {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
}

/* WISP_HOME_TOP_AREA_REFINE_END */


/* WISP_HOME_BUTTONS_AND_ABOUT_SPACING_CLEANUP_START */

/*
  Cleanup after visual review:
  1) Show all CMS-enabled hero buttons.
  2) Place hero buttons directly under text, right-aligned in Arabic.
  3) Clean About section top/bottom spacing and prevent color/section overlap.
  4) Use precise card padding instead of broad unstable rules.
*/

/* Hero copy and buttons */
.wisp-home #home-top .wisp-hero-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.wisp-home #home-top .wisp-hero-copy h1 {
    margin-bottom: 16px !important;
}

.wisp-home #home-top .wisp-hero-copy p {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

.wisp-home #home-top .wisp-home-actions {
    display: inline-flex !important;
    width: auto !important;
    align-self: flex-end !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* Restore second button when CMS enables it */
.wisp-home #home-top .wisp-home-actions > * {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn,
.wisp-home #home-top .wisp-home-actions a,
.wisp-home #home-top .wisp-home-actions button {
    margin: 0 !important;
}

/* English direction */
html[dir="ltr"] .wisp-home #home-top .wisp-hero-copy,
body[dir="ltr"] .wisp-home #home-top .wisp-hero-copy {
    align-items: flex-start !important;
    text-align: left !important;
}

html[dir="ltr"] .wisp-home #home-top .wisp-home-actions,
body[dir="ltr"] .wisp-home #home-top .wisp-home-actions {
    align-self: flex-start !important;
    justify-self: start !important;
    justify-content: flex-start !important;
}

/* Keep stats in hero visually but stop it from eating About section */
.wisp-home #home-stats {
    margin-bottom: 0 !important;
    padding-bottom: 38px !important;
}

/* About section spacing cleanup */
.wisp-home #home-about {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 0 !important;
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    overflow: hidden !important;
    background-clip: padding-box !important;
}

.wisp-home #home-about::before,
.wisp-home #home-about::after {
    pointer-events: none !important;
}

.wisp-home #home-about .wisp-home-container,
.wisp-home #home-about .wisp-intro-grid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wisp-home #home-about .wisp-section-copy,
.wisp-home #home-about .wisp-intro-visual,
.wisp-home #home-about .wisp-about-media,
.wisp-home #home-about .wisp-about-image {
    margin-top: 0 !important;
}

/* Precise vertical padding for visible homepage cards */
.wisp-home .wisp-stat-card,
.wisp-home .wisp-sector-card,
.wisp-home .wisp-project-card,
.wisp-home .wisp-news-card,
.wisp-home .wisp-business-card,
.wisp-home .wisp-cafe-card,
.wisp-home .wisp-supplier-card,
.wisp-home .wisp-client-card,
.wisp-home .wisp-logo-card {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

.wisp-home #home-stats .wisp-stat-card {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

@media (max-width: 980px) {
    .wisp-home #home-top .wisp-hero-copy {
        align-items: flex-end !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        align-self: flex-end !important;
        justify-content: flex-end !important;
    }

    .wisp-home #home-about {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    .wisp-home .wisp-stat-card,
    .wisp-home .wisp-sector-card,
    .wisp-home .wisp-project-card,
    .wisp-home .wisp-news-card,
    .wisp-home .wisp-business-card,
    .wisp-home .wisp-cafe-card,
    .wisp-home .wisp-supplier-card,
    .wisp-home .wisp-client-card,
    .wisp-home .wisp-logo-card {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top .wisp-hero-copy {
        align-items: flex-start !important;
        text-align: right !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        align-self: flex-start !important;
        justify-content: flex-start !important;
    }

    .wisp-home #home-about {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .wisp-home .wisp-stat-card,
    .wisp-home .wisp-sector-card,
    .wisp-home .wisp-project-card,
    .wisp-home .wisp-news-card,
    .wisp-home .wisp-business-card,
    .wisp-home .wisp-cafe-card,
    .wisp-home .wisp-supplier-card,
    .wisp-home .wisp-client-card,
    .wisp-home .wisp-logo-card {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
}

/* WISP_HOME_BUTTONS_AND_ABOUT_SPACING_CLEANUP_END */


/* WISP_HOME_HERO_SECONDARY_BUTTON_VISIBLE_START */

/*
  Hero buttons visibility:
  - Primary button remains gold.
  - Secondary/ghost button becomes visible with glass background.
  - Both buttons stay directly below hero text.
*/

.wisp-home #home-top .wisp-home-actions {
    display: inline-flex !important;
    align-self: flex-end !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 8px !important;
    padding: 0 !important;
}

.wisp-home #home-top .wisp-home-actions > * {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn {
    min-height: 46px !important;
    padding: 0 22px !important;
    border-radius: 14px !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn.gold {
    background: #d9aa69 !important;
    color: #132535 !important;
    border: 1px solid rgba(217, 170, 105, .58) !important;
    box-shadow: 0 12px 24px rgba(217, 170, 105, .22) !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn.ghost,
.wisp-home #home-top .wisp-home-actions .wisp-btn:not(.gold) {
    background: rgba(255, 255, 255, .56) !important;
    color: #173246 !important;
    border: 1px solid rgba(23, 50, 70, .20) !important;
    box-shadow:
        0 12px 26px rgba(23, 50, 70, .08),
        inset 0 1px 0 rgba(255,255,255,.70) !important;
    backdrop-filter: blur(14px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn.ghost:hover,
.wisp-home #home-top .wisp-home-actions .wisp-btn:not(.gold):hover {
    background: rgba(255, 255, 255, .74) !important;
    border-color: rgba(23, 50, 70, .30) !important;
}

html[dir="ltr"] .wisp-home #home-top .wisp-home-actions,
body[dir="ltr"] .wisp-home #home-top .wisp-home-actions {
    align-self: flex-start !important;
    justify-content: flex-start !important;
}

@media (max-width: 620px) {
    .wisp-home #home-top .wisp-home-actions {
        flex-wrap: wrap !important;
        align-self: flex-start !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    .wisp-home #home-top .wisp-home-actions .wisp-btn {
        min-height: 42px !important;
        padding: 0 16px !important;
        border-radius: 12px !important;
    }
}

/* WISP_HOME_HERO_SECONDARY_BUTTON_VISIBLE_END */


/* WISP_FIX_HERO_BACKGROUND_FILL_START */

/*
  Fix hero image blank space:
  Previous layout used background-size: contain, which preserves full 16:9 image
  but leaves empty side space in the wider panoramic hero area.
  This override fills the hero area and keeps the visual focus on the left.
*/

.wisp-home #home-top[style*="background-image"] {
    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-color: #f7f2eb !important;
}

.wisp-home #home-top {
    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
}

/* Preserve clearer text zone on the right without creating hard empty blocks */
.wisp-home #home-top::before {
    background:
        linear-gradient(90deg,
            rgba(255,255,255,.04) 0%,
            rgba(255,255,255,.18) 34%,
            rgba(255,255,255,.64) 58%,
            rgba(255,255,255,.90) 100%
        ) !important;
}

.wisp-home #home-top::after {
    background:
        linear-gradient(180deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.70) 64%,
            rgba(255,255,255,.94) 100%
        ) !important;
}

/* Recommended source ratio for this hero: around 21:9 / 12:5 */
@media (min-width: 1280px) {
    .wisp-home #home-top {
        min-height: 760px !important;
    }
}

@media (max-width: 1100px) {
    .wisp-home #home-top[style*="background-image"],
    .wisp-home #home-top {
        background-size: cover !important;
        background-position: center top !important;
    }
}

/* WISP_FIX_HERO_BACKGROUND_FILL_END */


/* WISP_HOME_HERO_MULTI_SLIDES_PUBLIC_START */

.wisp-home #home-top.wisp-home-hero-slider {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: #f7f2eb !important;
    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg-layer,
.wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg {
    position: absolute !important;
    inset: 0 !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg-layer {
    z-index: 0 !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg {
    opacity: 0 !important;
    background-size: cover !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    transition: opacity .75s ease !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg.is-active {
    opacity: 1 !important;
}

.wisp-home #home-top.wisp-home-hero-slider::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(90deg,
            rgba(255,255,255,.05) 0%,
            rgba(255,255,255,.22) 34%,
            rgba(255,255,255,.66) 58%,
            rgba(255,255,255,.92) 100%
        ) !important;
    pointer-events: none !important;
}

.wisp-home #home-top.wisp-home-hero-slider::after {
    content: "" !important;
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 260px !important;
    z-index: 1 !important;
    background:
        linear-gradient(180deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.70) 64%,
            rgba(255,255,255,.94) 100%
        ) !important;
    pointer-events: none !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-container,
.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-grid {
    position: relative !important;
    z-index: 3 !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-stack {
    position: relative !important;
    min-height: 330px !important;
    width: 100% !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel {
    display: none !important;
    flex-direction: column !important;
    width: min(650px, 100%) !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.is-active {
    display: flex !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right {
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left {
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center {
    margin-inline: auto !important;
    align-items: center !important;
    text-align: center !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-actions {
    width: auto !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 8px !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions {
    justify-content: flex-end !important;
    align-self: flex-end !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions {
    justify-content: flex-start !important;
    align-self: flex-start !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center .wisp-home-actions {
    justify-content: center !important;
    align-self: center !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-home-actions > * {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 1100px) {
    .wisp-home #home-top.wisp-home-hero-slider .wisp-home-hero-bg {
        background-position: center top !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center {
        margin-inline: 0 !important;
        align-items: flex-start !important;
        text-align: right !important;
    }

    .wisp-home #home-top.wisp-home-hero-slider .wisp-home-actions {
        justify-content: flex-start !important;
        align-self: flex-start !important;
    }
}

/* WISP_HOME_HERO_MULTI_SLIDES_PUBLIC_END */


/* WISP_HOME_HERO_ALIGNMENT_DOTS_PUBLIC_START */

/* Real hero alignment: right / center / left means actual position + text alignment */
.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-grid {
    display: block !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-stack {
    position: relative !important;
    width: 100% !important;
    min-height: 330px !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel {
    width: min(660px, 100%) !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right {
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center {
    margin-inline-start: auto !important;
    margin-inline-end: auto !important;
    align-items: center !important;
    text-align: center !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left {
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions {
    align-self: flex-end !important;
    justify-content: flex-end !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center .wisp-home-actions {
    align-self: center !important;
    justify-content: center !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions {
    align-self: flex-start !important;
    justify-content: flex-start !important;
}

/* Hero dots under statistics */
.wisp-home .wisp-hero-slide-dots-wrap {
    position: relative !important;
    z-index: 30 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 16px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wisp-home .wisp-hero-slide-dot {
    width: 42px !important;
    height: 7px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(217, 170, 105, .82) !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background-color .25s ease, width .25s ease, opacity .25s ease !important;
}

.wisp-home .wisp-hero-slide-dot.is-active {
    width: 54px !important;
    background: #d9aa69 !important;
    border-color: #d9aa69 !important;
}

@media (max-width: 620px) {
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left {
        margin-inline: 0 !important;
        align-items: flex-start !important;
        text-align: right !important;
    }

    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center .wisp-home-actions,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions {
        align-self: flex-start !important;
        justify-content: flex-start !important;
    }

    .wisp-home .wisp-hero-slide-dot {
        width: 30px !important;
    }

    .wisp-home .wisp-hero-slide-dot.is-active {
        width: 42px !important;
    }
}

/* WISP_HOME_HERO_ALIGNMENT_DOTS_PUBLIC_END */


/* WISP_FIX_HERO_RIGHT_LEFT_ALIGNMENT_START */

/*
  Fix semantic hero alignment:
  - "يمين" means physical right side of the screen.
  - "يسار" means physical left side of the screen.
  - "وسط" means exact center.
  Works for RTL and LTR without reversing the meaning.
*/

/* Physical position of the copy block */
.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right {
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: right !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* RTL flex cross-axis correction */
html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right,
body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right {
    align-items: flex-start !important;
}

html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left,
body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left {
    align-items: flex-end !important;
}

html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center,
body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center {
    align-items: center !important;
}

/* LTR flex cross-axis correction */
html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right,
body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right {
    align-items: flex-end !important;
}

html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left,
body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left {
    align-items: flex-start !important;
}

html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center,
body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center {
    align-items: center !important;
}

/* Button row follows the selected physical alignment */
html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions,
body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions {
    align-self: flex-start !important;
    justify-content: flex-end !important;
}

html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions,
body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions {
    align-self: flex-end !important;
    justify-content: flex-start !important;
}

html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions,
body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-right .wisp-home-actions {
    align-self: flex-end !important;
    justify-content: flex-end !important;
}

html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions,
body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-left .wisp-home-actions {
    align-self: flex-start !important;
    justify-content: flex-start !important;
}

.wisp-home #home-top.wisp-home-hero-slider .wisp-hero-align-center .wisp-home-actions {
    align-self: center !important;
    justify-content: center !important;
}

/* Mobile keeps content readable from the natural start */
@media (max-width: 620px) {
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-right,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-left,
    .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel.wisp-hero-align-center {
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: right !important;
    }

    html[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel,
    body[dir="rtl"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel {
        align-items: flex-start !important;
    }

    html[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel,
    body[dir="ltr"] .wisp-home #home-top.wisp-home-hero-slider .wisp-hero-copy-panel {
        align-items: flex-start !important;
        text-align: left !important;
    }
}

/* WISP_FIX_HERO_RIGHT_LEFT_ALIGNMENT_END */


/* WISP_HOME_HERO_DOTS_SPACING_START */

/*
  Final hero dots spacing:
  Adds breathing space between statistics cards and the slider dots.
  The dots remain under the stats, but no longer touch the cards visually.
*/

.wisp-home #home-stats .wisp-stats-grid,
.wisp-home #home-stats .wisp-stats-grid-final {
    margin-bottom: 26px !important;
}

.wisp-home .wisp-hero-slide-dots-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 14px !important;
}

.wisp-home .wisp-hero-slide-dot {
    margin-top: 0 !important;
}

@media (max-width: 980px) {
    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-bottom: 22px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-bottom: 18px !important;
    }
}

/* WISP_HOME_HERO_DOTS_SPACING_END */


/* WISP_HOME_ABOUT_CLEAN_FLAT_START */

/*
  Final About cleanup:
  - Keep CMS binding untouched.
  - Remove the separator/dark strip between stats and About.
  - About section remains white.
  - Remove inner card look: no border, no radius, no shadow on intro grid.
  - Remove image wrapper card: no border, no radius, no shadow.
*/

.wisp-home #home-stats {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.wisp-home #home-stats::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-stats .wisp-stats-grid,
.wisp-home #home-stats .wisp-stats-grid-final {
    margin-bottom: 26px !important;
}

.wisp-home .wisp-hero-slide-dots-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wisp-home #home-about {
    position: relative !important;
    z-index: 6 !important;
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 70px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2C5067 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.wisp-home #home-about::before,
.wisp-home #home-about::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-about .wisp-home-container,
.wisp-home #home-about .wisp-intro-grid {
    background: transparent !important;
    background-color: transparent !important;
    color: #2C5067 !important;
}

.wisp-home #home-about .wisp-intro-grid {
    display: grid !important;
    align-items: center !important;
    gap: 54px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.wisp-home #home-about .wisp-section-copy {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #2C5067 !important;
}

.wisp-home #home-about .wisp-section-copy,
.wisp-home #home-about .wisp-section-copy *,
.wisp-home #home-about h1,
.wisp-home #home-about h2,
.wisp-home #home-about h3,
.wisp-home #home-about p,
.wisp-home #home-about span,
.wisp-home #home-about strong {
    color: #2C5067 !important;
}

.wisp-home #home-about .wisp-section-copy h2 {
    color: #2C5067 !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.wisp-home #home-about .wisp-section-copy p {
    color: rgba(44, 80, 103, .84) !important;
    line-height: 1.9 !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.wisp-home #home-about .wisp-intro-image {
    display: block !important;
    min-height: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #2C5067 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.wisp-home #home-about .wisp-intro-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.wisp-home #home-about .wisp-btn.ghost {
    background: #ffffff !important;
    color: #2C5067 !important;
    border: 1px solid rgba(44, 80, 103, .22) !important;
    box-shadow: none !important;
}

.wisp-home #home-about .wisp-btn.ghost:hover {
    background: rgba(44, 80, 103, .06) !important;
    border-color: rgba(44, 80, 103, .34) !important;
}

@media (max-width: 980px) {
    .wisp-home #home-about {
        padding-top: 52px !important;
        padding-bottom: 58px !important;
    }

    .wisp-home #home-about .wisp-intro-grid {
        gap: 30px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-about {
        padding-top: 42px !important;
        padding-bottom: 46px !important;
    }

    .wisp-home #home-about .wisp-intro-grid {
        gap: 22px !important;
    }
}

/* WISP_HOME_ABOUT_CLEAN_FLAT_END */


/* WISP_HOME_STATS_HERO_OVERLAY_FINAL_START */

/*
  Final transition treatment:
  - Stats + hero dots remain visually over the hero image/fade.
  - No navy separator and no standalone white band under stats.
  - About starts cleanly as the next white section.
  - About image keeps soft 24px radius only.
*/

.wisp-home #home-top {
    padding-bottom: 285px !important;
}

.wisp-home #home-stats,
.wisp-home #home-stats.wisp-home-section {
    position: relative !important;
    z-index: 20 !important;
    margin-top: -235px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.wisp-home #home-stats::before,
.wisp-home #home-stats::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-stats .wisp-home-container {
    background: transparent !important;
}

.wisp-home #home-stats .wisp-stats-grid,
.wisp-home #home-stats .wisp-stats-grid-final {
    margin-bottom: 24px !important;
}

.wisp-home .wisp-hero-slide-dots-wrap {
    position: relative !important;
    z-index: 31 !important;
    background: transparent !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wisp-home #home-about {
    position: relative !important;
    z-index: 6 !important;
    margin-top: 0 !important;
    padding-top: 60px !important;
    padding-bottom: 70px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2C5067 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.wisp-home #home-about .wisp-intro-grid {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.wisp-home #home-about .wisp-intro-image {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
}

.wisp-home #home-about .wisp-intro-image img {
    display: block !important;
    border-radius: 24px !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 980px) {
    .wisp-home #home-top {
        padding-bottom: 245px !important;
    }

    .wisp-home #home-stats,
    .wisp-home #home-stats.wisp-home-section {
        margin-top: -205px !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-bottom: 20px !important;
    }

    .wisp-home .wisp-hero-slide-dots-wrap {
        margin-bottom: 20px !important;
    }

    .wisp-home #home-about {
        padding-top: 50px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-top {
        padding-bottom: 220px !important;
    }

    .wisp-home #home-stats,
    .wisp-home #home-stats.wisp-home-section {
        margin-top: -182px !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-bottom: 18px !important;
    }

    .wisp-home .wisp-hero-slide-dots-wrap {
        margin-bottom: 18px !important;
    }

    .wisp-home #home-about {
        padding-top: 42px !important;
    }

    .wisp-home #home-about .wisp-intro-image img {
        border-radius: 20px !important;
    }
}

/* WISP_HOME_STATS_HERO_OVERLAY_FINAL_END */


/* WISP_NEWS_CARD_BACKGROUND_SURFACE_START */

/*
  Final news card treatment:
  The image is no longer a visible nested card/box.
  It is positioned as a background surface inside the article card.
*/

.wisp-home #home-news,
.wisp-home #home-news.wisp-home-section {
    background: #EFE9DF !important;
    background-color: #EFE9DF !important;
    color: #2C5067 !important;
}

.wisp-home #home-news::before,
.wisp-home #home-news::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-news h2,
.wisp-home #home-news .wisp-section-head h2 {
    color: #2C5067 !important;
}

.wisp-home #home-news .wisp-section-entry {
    background: #2C5067 !important;
    background-color: #2C5067 !important;
    color: #ffffff !important;
    border: 1px solid rgba(44, 80, 103, .16) !important;
    box-shadow: none !important;
}

.wisp-home #home-news .wisp-section-entry:hover {
    background: #244456 !important;
    color: #ffffff !important;
}

.wisp-home #home-news .wisp-news-grid {
    align-items: stretch !important;
    gap: 20px !important;
}

/* The article is the only visible card surface */
.wisp-home #home-news .wisp-news-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 430px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #F6F0E6 !important;
    background-color: #F6F0E6 !important;
    color: #2C5067 !important;
    border: 1px solid rgba(44, 80, 103, .08) !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 44px rgba(44, 80, 103, .10) !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Image div becomes a background layer, not a box/card */
.wisp-home #home-news .wisp-news-image.has-image {
    position: absolute !important;
    inset-inline: 0 !important;
    top: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 215px !important;
    min-height: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.wisp-home #home-news .wisp-news-image.is-empty {
    display: none !important;
}

.wisp-home #home-news .wisp-news-image.has-image::before {
    content: none !important;
    display: none !important;
}

.wisp-home #home-news .wisp-news-image.has-image::after {
    content: "" !important;
    position: absolute !important;
    inset-inline: 0 !important;
    bottom: 0 !important;
    height: 76% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(
        to bottom,
        rgba(246, 240, 230, 0) 0%,
        rgba(246, 240, 230, .18) 26%,
        rgba(246, 240, 230, .58) 58%,
        rgba(246, 240, 230, .88) 82%,
        #F6F0E6 100%
    ) !important;
}

.wisp-home #home-news .wisp-news-image.has-image img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wisp-home #home-news .wisp-news-image-placeholder {
    display: none !important;
}

/* Body sits on the same card, with enough top room for the background image */
.wisp-home #home-news .wisp-news-body {
    position: relative !important;
    z-index: 3 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 430px !important;
    margin: 0 !important;
    padding: 150px 20px 22px !important;
    background: transparent !important;
    color: #2C5067 !important;
}

.wisp-home #home-news .wisp-news-image.is-empty + .wisp-news-body {
    padding-top: 26px !important;
    min-height: 330px !important;
}

.wisp-home #home-news .wisp-news-body time {
    display: block !important;
    margin-bottom: 8px !important;
    color: rgba(44, 80, 103, .66) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.wisp-home #home-news .wisp-news-body h3 {
    color: #B88B4A !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    margin: 0 0 10px !important;
}

.wisp-home #home-news .wisp-news-body p {
    color: #2C5067 !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    margin: 0 0 14px !important;
}

.wisp-home #home-news .wisp-news-footer {
    margin-top: auto !important;
    padding-top: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.wisp-home #home-news .wisp-news-category {
    color: rgba(44, 80, 103, .76) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.wisp-home #home-news .wisp-news-read-more {
    color: #B88B4A !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Public news page cards */
body .wisp-news-page-card.wisp-news-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 455px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #F6F0E6 !important;
    background-color: #F6F0E6 !important;
    color: #2C5067 !important;
    border: 1px solid rgba(44, 80, 103, .08) !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 44px rgba(44, 80, 103, .10) !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

body .wisp-news-page-card .wisp-news-image {
    position: absolute !important;
    inset-inline: 0 !important;
    top: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

body .wisp-news-page-card .wisp-news-image::before {
    content: none !important;
    display: none !important;
}

body .wisp-news-page-card .wisp-news-image::after {
    content: "" !important;
    position: absolute !important;
    inset-inline: 0 !important;
    bottom: 0 !important;
    height: 76% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(
        to bottom,
        rgba(246, 240, 230, 0) 0%,
        rgba(246, 240, 230, .18) 26%,
        rgba(246, 240, 230, .58) 58%,
        rgba(246, 240, 230, .88) 82%,
        #F6F0E6 100%
    ) !important;
}

body .wisp-news-page-card .wisp-news-image img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .wisp-news-page-card .wisp-news-body {
    position: relative !important;
    z-index: 3 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 455px !important;
    margin: 0 !important;
    padding: 164px 22px 24px !important;
    background: transparent !important;
    color: #2C5067 !important;
}

body .wisp-news-page-card .wisp-news-body h3 {
    color: #B88B4A !important;
    font-weight: 600 !important;
}

body .wisp-news-page-card .wisp-news-body p {
    color: #2C5067 !important;
}

body .wisp-news-page-card .wisp-news-body a {
    margin-top: auto !important;
    color: #B88B4A !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

@media (max-width: 980px) {
    .wisp-home #home-news .wisp-news-body {
        padding-top: 140px !important;
    }

    body .wisp-news-page-card .wisp-news-body {
        padding-top: 150px !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-news .wisp-news-card,
    body .wisp-news-page-card.wisp-news-card {
        border-radius: 24px !important;
    }

    .wisp-home #home-news .wisp-news-image.has-image {
        height: 195px !important;
    }

    body .wisp-news-page-card .wisp-news-image {
        height: 205px !important;
    }

    .wisp-home #home-news .wisp-news-body {
        padding: 132px 18px 20px !important;
    }

    body .wisp-news-page-card .wisp-news-body {
        padding: 140px 18px 20px !important;
    }
}

/* WISP_NEWS_CARD_BACKGROUND_SURFACE_END */


/* WISP_HOME_CLIENTS_GRADIENT_FREE_LOGOS_START */

/*
  Home clients:
  - Background gradient from the news section tone to white.
  - Free logos only: no card, no background, no border.
  - Logo size follows business sectors logo lane.
  - Default state is dark; hover shows natural logo colors.
*/

.wisp-home #home-clients.wisp-home-clients-logo-section,
.wisp-home #home-clients {
    background: linear-gradient(180deg, #EFE9DF 0%, #F7F2EA 42%, #ffffff 100%) !important;
    background-color: #ffffff !important;
    color: #2C5067 !important;
    overflow: hidden !important;
}

.wisp-home #home-clients::before,
.wisp-home #home-clients::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-clients .wisp-section-head {
    margin-bottom: 28px !important;
    color: #2C5067 !important;
}

.wisp-home #home-clients .wisp-section-head h2 {
    color: #2C5067 !important;
    font-weight: 500 !important;
}

.wisp-home #home-clients .wisp-loop-marquee,
.wisp-home #home-clients .wisp-client-logo-marquee {
    width: 100% !important;
    overflow: hidden !important;
    padding: 8px 0 6px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.wisp-home #home-clients .wisp-loop-track,
.wisp-home #home-clients .wisp-client-logo-track {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
}

.wisp-home #home-clients .wisp-loop-group,
.wisp-home #home-clients .wisp-client-logo-group {
    display: flex !important;
    align-items: center !important;
    gap: 40px !important;
    padding-inline-end: 40px !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
}

.wisp-home #home-clients .wisp-loop-chip,
.wisp-home #home-clients .wisp-loop-client-chip,
.wisp-home #home-clients .wisp-client-logo-free {
    width: 220px !important;
    height: 126px !important;
    min-width: 220px !important;
    min-height: 126px !important;
    max-width: 220px !important;
    max-height: 126px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
    color: #2C5067 !important;
}

.wisp-home #home-clients .wisp-client-logo-img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 178px !important;
    max-height: 104px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: .88 !important;
    filter: grayscale(1) brightness(0) saturate(0) opacity(.82) !important;
    transition: filter .25s ease, opacity .25s ease, transform .25s ease !important;
}

.wisp-home #home-clients .wisp-client-logo-free:hover .wisp-client-logo-img {
    opacity: 1 !important;
    filter: none !important;
    transform: translateY(-2px) !important;
}

.wisp-home #home-clients .wisp-client-logo-text {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    color: #2C5067 !important;
    font-size: 54px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    direction: ltr !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: color .25s ease, transform .25s ease !important;
}

.wisp-home #home-clients .wisp-client-logo-free:hover .wisp-client-logo-text {
    color: #B88B4A !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 620px) {
    .wisp-home #home-clients .wisp-loop-group,
    .wisp-home #home-clients .wisp-client-logo-group {
        gap: 28px !important;
        padding-inline-end: 28px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free {
        width: 180px !important;
        height: 112px !important;
        min-width: 180px !important;
        min-height: 112px !important;
        max-width: 180px !important;
        max-height: 112px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img {
        max-width: 152px !important;
        max-height: 92px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-text {
        font-size: 48px !important;
    }
}

/* WISP_HOME_CLIENTS_GRADIENT_FREE_LOGOS_END */


/* WISP_HOME_CLIENTS_FAST_TOP_GRADIENT_START */

/*
  Final clients section:
  - Color gradient from top to white below.
  - Gradient color area limited to top 35%.
  - Faster marquee than before.
*/

.wisp-home #home-clients.wisp-home-clients-logo-section,
.wisp-home #home-clients {
    min-height: 360px !important;
    padding-top: 76px !important;
    padding-bottom: 86px !important;
    background: linear-gradient(180deg, #EFE9DF 0%, #F7F2EA 22%, #ffffff 35%, #ffffff 100%) !important;
    background-color: #ffffff !important;
}

.wisp-home #home-clients .wisp-section-head {
    margin-bottom: 42px !important;
}

.wisp-home #home-clients .wisp-loop-marquee,
.wisp-home #home-clients .wisp-client-logo-marquee {
    min-height: 164px !important;
    padding: 14px 0 18px !important;
}

.wisp-home #home-clients .wisp-loop-track,
.wisp-home #home-clients .wisp-client-logo-track {
    animation-duration: 6s !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    will-change: transform !important;
}

.wisp-home #home-clients .wisp-loop-group,
.wisp-home #home-clients .wisp-client-logo-group {
    gap: 46px !important;
    padding-inline-end: 46px !important;
}

.wisp-home #home-clients .wisp-client-logo-free,
.wisp-home #home-clients .wisp-loop-chip,
.wisp-home #home-clients .wisp-loop-client-chip {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 154px !important;
    min-height: 154px !important;
    max-height: 154px !important;
}

.wisp-home #home-clients .wisp-client-logo-img {
    max-width: 188px !important;
    max-height: 112px !important;
}

@media (max-width: 620px) {
    .wisp-home #home-clients.wisp-home-clients-logo-section,
    .wisp-home #home-clients {
        min-height: 310px !important;
        padding-top: 58px !important;
        padding-bottom: 68px !important;
        background: linear-gradient(180deg, #EFE9DF 0%, #F7F2EA 22%, #ffffff 35%, #ffffff 100%) !important;
    }

    .wisp-home #home-clients .wisp-section-head {
        margin-bottom: 30px !important;
    }

    .wisp-home #home-clients .wisp-loop-track,
    .wisp-home #home-clients .wisp-client-logo-track {
        animation-duration: 6s !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free,
    .wisp-home #home-clients .wisp-loop-chip,
    .wisp-home #home-clients .wisp-loop-client-chip {
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
        height: 126px !important;
        min-height: 126px !important;
        max-height: 126px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img {
        max-width: 154px !important;
        max-height: 94px !important;
    }
}

/* WISP_HOME_CLIENTS_FAST_TOP_GRADIENT_END */


/* WISP_HOME_BUSINESS_NEWS_BG_START */

/*
  Home business solutions:
  - Section background uses the same warm news background tone.
  - Business solution cards use the same tone with light separation.
  - Text remains readable with medium/regular weights only.
*/

.wisp-home #home-business {
    background: #EFE9DF !important;
    background-color: #EFE9DF !important;
    color: #2C5067 !important;
}

.wisp-home #home-business::before,
.wisp-home #home-business::after {
    content: none !important;
    display: none !important;
}

.wisp-home #home-business .wisp-section-head h2,
.wisp-home #home-business .wisp-section-head p {
    color: #2C5067 !important;
    font-weight: 500 !important;
}

.wisp-home #home-business .wisp-home-business-options-grid {
    background: transparent !important;
}

.wisp-home #home-business .wisp-home-business-option-card {
    background: #EFE9DF !important;
    background-color: #EFE9DF !important;
    color: #2C5067 !important;
    border: 1px solid rgba(44, 80, 103, .14) !important;
    box-shadow: 0 18px 38px rgba(44, 80, 103, .10) !important;
}

.wisp-home #home-business .wisp-home-business-option-card h3 {
    color: #2C5067 !important;
    font-weight: 500 !important;
}

.wisp-home #home-business .wisp-home-business-option-card p {
    color: rgba(44, 80, 103, .78) !important;
    font-weight: 400 !important;
}

.wisp-home #home-business .wisp-home-business-option-card .wisp-btn.gold {
    color: #173946 !important;
}

/* WISP_HOME_BUSINESS_NEWS_BG_END */


/* WISP_HOME_BUSINESS_GOLD_TITLE_ONLY_START */

/*
  Business solutions cards:
  - Card title only is gold.
  - Description remains normal dark text.
  - Content comes from admin/CMS business_solutions.
*/

.wisp-home #home-business .wisp-home-business-option-card h3 {
    color: #B88B4A !important;
    font-weight: 500 !important;
}

.wisp-home #home-business .wisp-home-business-option-card p {
    color: rgba(44, 80, 103, .78) !important;
    font-weight: 400 !important;
}

.wisp-home #home-business .wisp-home-business-option-card {
    text-align: center !important;
}

/* WISP_HOME_BUSINESS_GOLD_TITLE_ONLY_END */


/* WISP_HOME_CONTACT_REQUIRED_WHITE_SECURITY_START */

/*
  Home contact form:
  - White typed text and clearer white placeholders.
  - Required fields and limits are enforced in Blade + backend.
  - Honeypot field is visually hidden.
*/

.wisp-home #home-contact-form .wisp-home-contact-form input,
.wisp-home #home-contact-form .wisp-home-contact-form textarea {
    color: #ffffff !important;
    caret-color: #ffffff !important;
    font-weight: 400 !important;
}

.wisp-home #home-contact-form .wisp-home-contact-form input::placeholder,
.wisp-home #home-contact-form .wisp-home-contact-form textarea::placeholder {
    color: rgba(255, 255, 255, .78) !important;
    opacity: 1 !important;
}

.wisp-home #home-contact-form .wisp-home-contact-form input:focus,
.wisp-home #home-contact-form .wisp-home-contact-form textarea:focus {
    color: #ffffff !important;
    border-color: rgba(217, 170, 105, .65) !important;
    box-shadow: 0 0 0 3px rgba(217, 170, 105, .12) !important;
}

.wisp-home #home-contact-form .wisp-honeypot-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* WISP_HOME_CONTACT_REQUIRED_WHITE_SECURITY_END */


/* WISP_CONTACT_SUCCESS_MODAL_START */

.wisp-contact-modal-open {
    overflow: hidden !important;
}

.wisp-contact-success-modal[hidden] {
    display: none !important;
}

.wisp-contact-success-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
}

.wisp-contact-success-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(3, 28, 36, .58) !important;
    backdrop-filter: blur(8px) !important;
}

.wisp-contact-success-dialog {
    position: relative !important;
    width: min(420px, 100%) !important;
    background: #ffffff !important;
    color: #2C5067 !important;
    border-radius: 24px !important;
    padding: 34px 30px 28px !important;
    text-align: center !important;
    box-shadow: 0 26px 70px rgba(3, 28, 36, .24) !important;
    border: 1px solid rgba(184, 139, 74, .20) !important;
}

.wisp-contact-success-close {
    position: absolute !important;
    top: 14px !important;
    inset-inline-end: 16px !important;
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(44, 80, 103, .08) !important;
    color: #2C5067 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.wisp-contact-success-icon {
    width: 58px !important;
    height: 58px !important;
    margin: 0 auto 16px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(184, 139, 74, .14) !important;
    color: #B88B4A !important;
    font-size: 30px !important;
    font-weight: 500 !important;
}

.wisp-contact-success-dialog h3 {
    margin: 0 0 10px !important;
    color: #2C5067 !important;
    font-size: clamp(22px, 2.2vw, 28px) !important;
    font-weight: 500 !important;
}

.wisp-contact-success-dialog p {
    margin: 0 0 22px !important;
    color: rgba(44, 80, 103, .76) !important;
    line-height: 1.9 !important;
}

/* WISP_CONTACT_SUCCESS_MODAL_END */


/* WISP_CONTACT_PHONE_ALIGNMENT_STRICT_START */

/*
  Contact phone field:
  - Arabic: right aligned.
  - English: left aligned.
  - Applied by rendered dir attribute and page locale.
*/

.wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"].wisp-contact-phone-input[dir="rtl"] {
    text-align: right !important;
    direction: rtl !important;
}

.wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"].wisp-contact-phone-input[dir="rtl"]::placeholder {
    text-align: right !important;
    direction: rtl !important;
}

.wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"].wisp-contact-phone-input[dir="ltr"] {
    text-align: left !important;
    direction: ltr !important;
}

.wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"].wisp-contact-phone-input[dir="ltr"]::placeholder {
    text-align: left !important;
    direction: ltr !important;
}

html[lang^="ar"] .wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"],
html[dir="rtl"] .wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"] {
    text-align: right !important;
}

html[lang^="en"] .wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"],
html[dir="ltr"] .wisp-home #home-contact-form .wisp-home-contact-form input[name="phone"] {
    text-align: left !important;
}

/* WISP_CONTACT_PHONE_ALIGNMENT_STRICT_END */


/* WISP_HOME_SECTORS_FINAL_INTERACTION_START */

.wisp-home #home-sectors.wisp-home-business-sectors-section,
.wisp-home #home-sectors {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2C5067 !important;
    overflow: hidden !important;
}

.wisp-home #home-sectors .wisp-section-head {
    margin-bottom: 36px !important;
}

.wisp-home #home-sectors .wisp-section-head h2 {
    color: #2C5067 !important;
    font-weight: 500 !important;
}

.wisp-home #home-sectors .wisp-section-lead {
    display: none !important;
}

.wisp-home #home-sectors .wisp-business-sector-grid,
.wisp-home #home-sectors .wisp-sector-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.wisp-home #home-sectors .wisp-sector-card,
.wisp-home #home-sectors .wisp-business-sector-card,
.wisp-home #home-sectors .wisp-sector-click-card {
    position: relative !important;
    min-height: 338px !important;
    padding: 30px 22px 26px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(44, 80, 103, .14) !important;
    background: #F8F5EF !important;
    color: #2C5067 !important;
    text-decoration: none !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    cursor: pointer !important;
    overflow: hidden !important;
    box-shadow: 0 18px 42px rgba(44, 80, 103, .08) !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease !important;
}

.wisp-home #home-sectors .wisp-sector-card::before,
.wisp-home #home-sectors .wisp-business-sector-card::before,
.wisp-home #home-sectors .wisp-sector-click-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    background: radial-gradient(circle at 50% 0%, rgba(184, 139, 74, .22), transparent 54%) !important;
    transition: opacity .24s ease !important;
    pointer-events: none !important;
}

.wisp-home #home-sectors .wisp-sector-card:hover,
.wisp-home #home-sectors .wisp-business-sector-card:hover,
.wisp-home #home-sectors .wisp-sector-click-card:hover,
.wisp-home #home-sectors .wisp-sector-card:focus-visible,
.wisp-home #home-sectors .wisp-business-sector-card:focus-visible,
.wisp-home #home-sectors .wisp-sector-click-card:focus-visible {
    transform: translateY(-8px) !important;
    border-color: rgba(184, 139, 74, .62) !important;
    background: linear-gradient(180deg, #fffdf9 0%, #f6efe3 100%) !important;
    box-shadow: 0 28px 58px rgba(44, 80, 103, .18) !important;
    outline: none !important;
}

.wisp-home #home-sectors .wisp-sector-card:hover::before,
.wisp-home #home-sectors .wisp-business-sector-card:hover::before,
.wisp-home #home-sectors .wisp-sector-click-card:hover::before,
.wisp-home #home-sectors .wisp-sector-card:focus-visible::before,
.wisp-home #home-sectors .wisp-business-sector-card:focus-visible::before,
.wisp-home #home-sectors .wisp-sector-click-card:focus-visible::before {
    opacity: 1 !important;
}

.wisp-home #home-sectors .wisp-sector-card > *,
.wisp-home #home-sectors .wisp-business-sector-card > *,
.wisp-home #home-sectors .wisp-sector-click-card > * {
    position: relative !important;
    z-index: 2 !important;
}

.wisp-home #home-sectors .wisp-sector-logo {
    width: 100% !important;
    height: 126px !important;
    min-height: 126px !important;
    max-height: 126px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.wisp-home #home-sectors .wisp-sector-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 178px !important;
    max-height: 104px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: transform .24s ease, filter .24s ease !important;
}

.wisp-home #home-sectors .wisp-sector-card:hover .wisp-sector-logo img,
.wisp-home #home-sectors .wisp-business-sector-card:hover .wisp-sector-logo img,
.wisp-home #home-sectors .wisp-sector-click-card:hover .wisp-sector-logo img {
    transform: scale(1.055) !important;
}

.wisp-home #home-sectors .wisp-sector-card-body {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}

.wisp-home #home-sectors .wisp-sector-card h3,
.wisp-home #home-sectors .wisp-business-sector-card h3,
.wisp-home #home-sectors .wisp-sector-click-card h3 {
    width: 100% !important;
    margin: 0 0 14px !important;
    color: #B88B4A !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

.wisp-home #home-sectors .wisp-sector-card p,
.wisp-home #home-sectors .wisp-business-sector-card p,
.wisp-home #home-sectors .wisp-sector-click-card p {
    width: 100% !important;
    margin: 0 auto !important;
    color: rgba(44, 80, 103, .78) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    text-align: center !important;
}

.wisp-home #home-sectors .wisp-sector-link {
    display: none !important;
}

@media (max-width: 1024px) {
    .wisp-home #home-sectors .wisp-business-sector-grid,
    .wisp-home #home-sectors .wisp-sector-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .wisp-home #home-sectors .wisp-business-sector-grid,
    .wisp-home #home-sectors .wisp-sector-grid {
        grid-template-columns: 1fr !important;
    }

    .wisp-home #home-sectors .wisp-sector-card,
    .wisp-home #home-sectors .wisp-business-sector-card,
    .wisp-home #home-sectors .wisp-sector-click-card {
        min-height: 300px !important;
        padding: 26px 20px 24px !important;
    }

    .wisp-home #home-sectors .wisp-sector-logo {
        height: 112px !important;
        min-height: 112px !important;
        max-height: 112px !important;
        margin-bottom: 22px !important;
    }

    .wisp-home #home-sectors .wisp-sector-logo img {
        max-width: 152px !important;
        max-height: 92px !important;
    }
}

/* WISP_HOME_SECTORS_FINAL_INTERACTION_END */


/* WISP_DESKTOP_NEWS_CARD_FIXED_SLOTS_START
   Desktop only - news card children only.
   Purpose: make title/date/paragraph/footer positions fixed across all desktop news cards.
   Not targeted: news section, news grid, section title, "مشاهدة الكل" button, mobile CSS.
*/
@media (min-width: 901px) {
    .wisp-home #home-news .wisp-news-card {
        background: #FDFCFB !important;
        background-color: #FDFCFB !important;
        background-image: none !important;
        border-radius: 24px !important;
        min-height: auto !important;
        overflow: hidden !important;
    }

    .wisp-home #home-news .wisp-news-image,
    .wisp-home #home-news .wisp-news-image.has-image {
        height: 178px !important;
        min-height: 178px !important;
    }

    .wisp-home #home-news .wisp-news-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .wisp-home #home-news .wisp-news-image::after,
    .wisp-home #home-news .wisp-news-image.has-image::after {
        background: linear-gradient(
            to bottom,
            rgba(246, 240, 230, 0) 0%,
            rgba(246, 240, 230, .18) 26%,
            rgba(246, 240, 230, .58) 58%,
            rgba(246, 240, 230, .88) 82%,
            #FDFCFB 100%
        ) !important;
    }

    .wisp-home #home-news .wisp-news-body {
        display: grid !important;
        grid-template-rows: 54px 22px 78px 26px !important;
        row-gap: 8px !important;
        padding: 170px 18px 20px !important;
        min-height: auto !important;
        color: #2C5067 !important;
        line-height: 1.85 !important;
    }

    .wisp-home #home-news .wisp-news-body h3 {
        margin: 0 !important;
        min-height: 54px !important;
        max-height: 54px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        color: #B88B4A !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
    }

    .wisp-home #home-news .wisp-news-body time,
    .wisp-home #home-news .wisp-news-body .wisp-news-date {
        margin: 0 !important;
        min-height: 22px !important;
        max-height: 22px !important;
        overflow: hidden !important;
        display: block !important;
        color: rgba(44, 80, 103, .66) !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    .wisp-home #home-news .wisp-news-body p {
        margin: 0 !important;
        min-height: 78px !important;
        max-height: 78px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        color: #2C5067 !important;
        font-size: 14px !important;
        line-height: 1.85 !important;
    }

    .wisp-home #home-news .wisp-news-footer {
        margin-top: 0 !important;
        min-height: 26px !important;
        max-height: 26px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
    }

    .wisp-home #home-news .wisp-news-read-more {
        color: #B88B4A !important;
        font-size: 14px !important;
    }
}
/* WISP_DESKTOP_NEWS_CARD_FIXED_SLOTS_END */


/* WISP_DESKTOP_CLIENTS_LOGOS_VISUAL_FIX_START
   Desktop only - clients logos visual fix:
   1) Clear gray logos without destroying logo details.
   2) Fade logos at entry/exit edges.
   3) Keep the "عملاؤنا" title above fade/marquee effects.
   4) No mobile changes.
*/
@media (min-width: 901px) {
    .wisp-home #home-clients.wisp-home-clients-logo-section,
    .wisp-home #home-clients {
        position: relative !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: linear-gradient(180deg, #EFE9DF 0%, #F7F2EA 22%, #ffffff 35%, #ffffff 100%) !important;
        background-color: #ffffff !important;
    }

    .wisp-home #home-clients .wisp-home-container {
        position: relative !important;
        z-index: 2 !important;
    }

    .wisp-home #home-clients .wisp-section-head {
        position: relative !important;
        z-index: 20 !important;
        isolation: isolate !important;
    }

    .wisp-home #home-clients .wisp-section-head h2 {
        position: relative !important;
        z-index: 21 !important;
    }

    .wisp-home #home-clients .wisp-loop-marquee,
    .wisp-home #home-clients .wisp-client-logo-marquee {
        position: relative !important;
        z-index: 1 !important;
        overflow: hidden !important;
        width: 100% !important;
        background: transparent !important;
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
        mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
        -webkit-mask-size: 100% 100% !important;
        mask-size: 100% 100% !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
    }

    .wisp-home #home-clients .wisp-loop-group,
    .wisp-home #home-clients .wisp-client-logo-group {
        align-items: center !important;
        gap: 46px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free,
    .wisp-home #home-clients .wisp-loop-chip,
    .wisp-home #home-clients .wisp-loop-client-chip {
        width: 240px !important;
        height: 136px !important;
        min-height: 136px !important;
        padding: 0 18px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 178px !important;
        max-height: 88px !important;
        padding: 0 !important;
        margin: auto !important;
        object-fit: contain !important;
        background: transparent !important;
        filter: grayscale(1) saturate(0) contrast(.92) brightness(.78) !important;
        opacity: .92 !important;
        mix-blend-mode: normal !important;
        transform: none !important;
        transition: filter .25s ease, opacity .25s ease, transform .25s ease !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free:hover .wisp-client-logo-img {
        filter: none !important;
        opacity: 1 !important;
        transform: translateY(-2px) !important;
    }
}
/* WISP_DESKTOP_CLIENTS_LOGOS_VISUAL_FIX_END */


/* WISP_INNER_PAGES_SHARED_BASE_START
   Shared internal pages design system.
   Used by About now and intended for other internal public pages later.
   Do not create isolated page-level CSS for each internal page.
*/
.wisp-inner-page {
    background: #FDFCFB;
    color: #2C5067;
    overflow: hidden;
}

.wisp-inner-container {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
}

.wisp-inner-hero {
    position: relative;
    padding: 74px 0 58px;
    background:
        linear-gradient(180deg, rgba(239,233,223,.96) 0%, rgba(253,252,251,1) 92%);
}

.wisp-inner-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 12%, rgba(218,178,103,.20), transparent 32%),
        radial-gradient(circle at 82% 20%, rgba(44,80,103,.10), transparent 34%);
}

.wisp-inner-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
    gap: 42px;
    align-items: center;
}

.wisp-inner-hero-copy {
    max-width: 760px;
}

.wisp-inner-eyebrow,
.wisp-inner-section-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(218,178,103,.14);
    color: #B88B4A;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
}

.wisp-inner-hero h1 {
    margin: 16px 0 0;
    max-width: 780px;
    color: #2C5067;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.02em;
}

.wisp-inner-hero p {
    margin: 18px 0 0;
    max-width: 720px;
    color: rgba(44,80,103,.76);
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.9;
}

.wisp-inner-hero-media {
    margin: 0;
    min-height: 330px;
    border-radius: 30px;
    overflow: hidden;
    background: #EFE9DF;
    box-shadow: 0 26px 70px rgba(44,80,103,.14);
}

.wisp-inner-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
}

.wisp-inner-hero-mark {
    min-height: 330px;
    border-radius: 30px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    background: linear-gradient(145deg, #F6F0E6, #FDFCFB);
    border: 1px solid rgba(44,80,103,.08);
    box-shadow: 0 26px 70px rgba(44,80,103,.12);
    color: #DAB267;
    text-align: center;
}

.wisp-inner-hero-mark span {
    font-size: 44px;
    letter-spacing: .10em;
    font-weight: 500;
}

.wisp-inner-hero-mark small {
    color: rgba(44,80,103,.56);
    letter-spacing: .32em;
}

.wisp-inner-section {
    padding: 58px 0;
    background: #FDFCFB;
}

.wisp-inner-section-soft {
    background: linear-gradient(180deg, #FDFCFB 0%, #EFE9DF 100%);
}

.wisp-inner-panel {
    border-radius: 30px;
    padding: 34px;
    background: #FFFFFF;
    border: 1px solid rgba(44,80,103,.08);
    box-shadow: 0 24px 64px rgba(44,80,103,.08);
}

.wisp-inner-panel h2,
.wisp-inner-section-head h2 {
    margin: 14px 0 0;
    color: #2C5067;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.25;
    font-weight: 500;
}

.wisp-inner-rich-text {
    margin-top: 18px;
    max-width: 920px;
    color: rgba(44,80,103,.78);
    font-size: 16px;
    line-height: 2;
}

.wisp-inner-section-head {
    max-width: 760px;
    margin-bottom: 24px;
}

.wisp-inner-section-head p {
    margin: 14px 0 0;
    color: rgba(44,80,103,.70);
    line-height: 1.9;
}

.wisp-inner-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.wisp-inner-card {
    min-height: 210px;
    border-radius: 26px;
    padding: 24px;
    background: #FDFCFB;
    border: 1px solid rgba(44,80,103,.08);
    box-shadow: 0 22px 54px rgba(44,80,103,.08);
}

.wisp-inner-card-index {
    display: inline-flex;
    color: #B88B4A;
    font-size: 13px;
    line-height: 1;
    margin-bottom: 14px;
    font-weight: 500;
}

.wisp-inner-card h3 {
    margin: 0;
    color: #2C5067;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 500;
}

.wisp-inner-card p {
    margin: 12px 0 0;
    color: rgba(44,80,103,.72);
    line-height: 1.9;
    font-size: 14px;
}
/* WISP_INNER_PAGES_SHARED_BASE_END */


/* WISP_PUBLIC_HEADER_FOOTER_BASE_FROM_HOME_START
   Unified public header/footer base.
   Source of truth: working homepage header/footer.
   Applies to all public pages: homepage + internal pages.
   Do not add About-specific header/footer overrides.
*/

/* Header: same visual base across homepage and internal pages */
.site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    z-index: 120 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.42) !important;
    border-bottom: 1px solid rgba(255,255,255,.48) !important;
    box-shadow: 0 14px 34px rgba(24, 38, 50, .10) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
    transition: background-color .25s ease, backdrop-filter .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.site-header::before,
.site-header::after {
    display: none !important;
    content: none !important;
}

.site-header .container.nav {
    width: 100% !important;
    max-width: 1240px !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding-inline: 24px !important;
}

.site-header .menu a {
    color: #173246 !important;
    font-weight: 500 !important;
}

.site-header .header-action {
    color: #173246 !important;
    background: rgba(255,255,255,.20) !important;
    border-color: rgba(255,255,255,.18) !important;
}

.site-header .header-quote-action {
    color: #142f43 !important;
    background: rgba(217, 170, 105, .92) !important;
    border-color: rgba(217, 170, 105, .24) !important;
    box-shadow: 0 10px 24px rgba(217, 170, 105, .20) !important;
}

/* Fixed header safe offset for all public pages */
main {
    padding-top: 78px;
}

.wisp-home #home-top,
.wisp-home #home-top.wisp-home-hero,
.wisp-home #home-top.wisp-home-hero-slider {
    margin-top: -78px;
    padding-top: calc(var(--wisp-home-hero-padding-top, 122px) + 78px) !important;
}

/* Footer remains one shared layout component */
.wisp-main-footer {
    background: #071d26;
    color: rgba(255,255,255,.82);
}

.wisp-footer-container {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
}

.wisp-footer-bottom {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
}
/* WISP_PUBLIC_HEADER_FOOTER_BASE_FROM_HOME_END */


/* WISP_HEADER_DESKTOP_BUTTON_AND_GLASS_FIX_START
   Final shared desktop header correction:
   - Mobile menu button is hidden on desktop.
   - Header glass background is shared for homepage and all internal pages.
   - No About-specific header CSS.
*/
@media (min-width: 901px) {
    .wisp-mobile-menu-button {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    .site-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 120 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(255,255,255,.42) !important;
        border-bottom: 1px solid rgba(255,255,255,.48) !important;
        box-shadow: 0 14px 34px rgba(24,38,50,.10) !important;
        backdrop-filter: blur(18px) saturate(1.18) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
    }

    .site-header::before,
    .site-header::after {
        display: none !important;
        content: none !important;
    }

    .site-header .container.nav {
        width: 100% !important;
        max-width: 1240px !important;
        min-height: 78px !important;
        margin: 0 auto !important;
        padding-inline: 24px !important;
    }

    .site-header .menu a {
        color: #173246 !important;
        font-weight: 500 !important;
    }

    .site-header .header-action {
        color: #173246 !important;
        background: rgba(255,255,255,.20) !important;
        border-color: rgba(255,255,255,.18) !important;
    }

    .site-header .header-quote-action {
        color: #142f43 !important;
        background: rgba(217,170,105,.92) !important;
        border-color: rgba(217,170,105,.24) !important;
        box-shadow: 0 10px 24px rgba(217,170,105,.20) !important;
    }

    main {
        padding-top: 0 !important;
    }

    

}
/* WISP_HEADER_DESKTOP_BUTTON_AND_GLASS_FIX_END */


/* WISP_PUBLIC_SMALL_LABELS_ONLY_CLEANUP_START
   Global only:
   hide repeated small descriptive labels,
   without changing page layout, grids, hero structure, or project cards.
*/
body:not(.wisp-home-active) main .page-hero .eyebrow,
body:not(.wisp-home-active) main .wisp-page-hero .wisp-pill,
body:not(.wisp-home-active) main .wisp-inner-hero .wisp-inner-eyebrow,
body:not(.wisp-home-active) main .wisp-inner-section-head .wisp-inner-section-kicker,
body:not(.wisp-home-active) main .wisp-section-head .wisp-pill,
body:not(.wisp-home-active) main .wisp-franchise-op-title .wisp-pill,
body:not(.wisp-home-active) main .wisp-franchise-aside-card .wisp-pill,
body:not(.wisp-home-active) main .wisp-business-gateway .wisp-pill,
body:not(.wisp-home-active) main .wisp-supplier-logo-section .wisp-pill {
    display: none !important;
}

/* Do not remove the header spacing; global shell V3 remains responsible for it. */
body:not(.wisp-home-active) main {
    padding-bottom: max(var(--wisp-public-shell-bottom, 78px), 84px) !important;
}
/* WISP_PUBLIC_SMALL_LABELS_ONLY_CLEANUP_END */


/* WISP_PROJECTS_REBUILD_LIKE_NEWS_START
   Generic support for the rebuilt projects page using the same legacy page structure as news:
   page-hero / section / container / card / content-panel.
   No project page shell, no wisp-inner dependencies.
*/
body:not(.wisp-home-active) main .section-head {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

body:not(.wisp-home-active) main .section-head h2 {
    margin: 0;
    color: var(--wisp-public-ink, #2C5067);
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.25;
    font-weight: 500;
}

body:not(.wisp-home-active) main .section-head p {
    margin: 12px 0 0;
    color: var(--wisp-public-muted, rgba(44,80,103,.66));
    line-height: 1.9;
}

body:not(.wisp-home-active) main .cards-grid {
    width: min(980px, 100%);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

body:not(.wisp-home-active) main .card {
    border-radius: 26px;
    padding: 26px;
    background: var(--wisp-public-card, rgba(255,255,255,.82));
    border: 1px solid var(--wisp-public-border, rgba(44,80,103,.10));
    box-shadow: var(--wisp-public-shadow, 0 22px 55px rgba(24,38,50,.10));
    color: var(--wisp-public-ink, #2C5067);
}

body:not(.wisp-home-active) main .card-index {
    display: inline-flex;
    color: var(--wisp-public-gold, #B88B4A);
    font-size: 13px;
    line-height: 1;
    margin-bottom: 14px;
    font-weight: 500;
}

body:not(.wisp-home-active) main .card h3 {
    margin: 0;
    color: var(--wisp-public-ink, #2C5067);
    font-size: 22px;
    line-height: 1.35;
    font-weight: 500;
}

body:not(.wisp-home-active) main .card p {
    margin: 12px 0 0;
    color: var(--wisp-public-muted, rgba(44,80,103,.66));
    line-height: 1.9;
    font-size: 14px;
}

body:not(.wisp-home-active) main .project-card-media,
body:not(.wisp-home-active) main .project-detail-media {
    margin: 0 0 18px;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(239,233,223,.72);
    border: 1px solid rgba(44,80,103,.08);
}

body:not(.wisp-home-active) main .project-card-media img,
body:not(.wisp-home-active) main .project-detail-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 360px;
    object-fit: cover;
}

body:not(.wisp-home-active) main .project-detail-panel {
    width: min(920px, 100%);
    margin-inline: auto;
}

body:not(.wisp-home-active) main .project-detail-panel h2 {
    margin: 0 0 20px;
    color: var(--wisp-public-ink, #2C5067);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.25;
    font-weight: 500;
}

body:not(.wisp-home-active) main .rich-text {
    margin-top: 24px;
    color: var(--wisp-public-muted, rgba(44,80,103,.66));
    line-height: 2;
}

body:not(.wisp-home-active) main .actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 26px;
}

body:not(.wisp-home-active) main .text-link {
    display: inline-flex;
    margin-top: 18px;
    color: var(--wisp-public-gold, #B88B4A);
    text-decoration: none;
    font-weight: 500;
}

@media (max-width: 900px) {
    body:not(.wisp-home-active) main .cards-grid {
        grid-template-columns: 1fr;
    }

    body:not(.wisp-home-active) main .section-head {
        text-align: center;
    }

    body:not(.wisp-home-active) main .actions {
        justify-content: center;
    }
}
/* WISP_PROJECTS_REBUILD_LIKE_NEWS_END */


/* WISP_PUBLIC_GLOBAL_PAGE_SHELL_V4_HERO_GAP_START
   Global public page shell v4.
   One authority for:
   - inner page background
   - fixed header spacing
   - hero top gap
   - footer gap
   - readable forms on light shell
   Home is excluded by body.wisp-home-active.
*/
:root {
    --wisp-public-shell-top: 92px;
    --wisp-public-shell-bottom: 84px;
    --wisp-public-hero-top: 22px;
    --wisp-public-hero-bottom: 38px;
    --wisp-public-hero-after: 42px;
    --wisp-public-shell-bg:
        radial-gradient(circle at 18% 10%, rgba(218,178,103,.16), transparent 30%),
        radial-gradient(circle at 82% 8%, rgba(44,80,103,.08), transparent 32%),
        linear-gradient(180deg, #F5F1E9 0%, #FAF8F4 28%, #ffffff 58%, #F7F3EC 100%);
    --wisp-public-ink: #2C5067;
    --wisp-public-muted: rgba(44,80,103,.66);
    --wisp-public-card: rgba(255,255,255,.82);
    --wisp-public-border: rgba(44,80,103,.10);
    --wisp-public-shadow: 0 22px 55px rgba(24,38,50,.10);
    --wisp-public-gold: #B88B4A;
}

body:not(.wisp-home-active) main {
    padding-top: var(--wisp-public-shell-top) !important;
    padding-bottom: var(--wisp-public-shell-bottom) !important;
    background: var(--wisp-public-shell-bg) !important;
    background-color: #FAF8F4 !important;
    color: var(--wisp-public-ink) !important;
    overflow-x: clip !important;
}

body:not(.wisp-home-active) main > *:not(.wisp-home) {
    margin-top: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--wisp-public-ink) !important;
}

body:not(.wisp-home-active) main > .wisp-public-page,
body:not(.wisp-home-active) main > .wisp-inner-page {
    min-height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* One unified hero spacing rule for old and new public pages */
body:not(.wisp-home-active) main > .page-hero,
body:not(.wisp-home-active) main > .wisp-public-page .wisp-page-hero,
body:not(.wisp-home-active) main > .wisp-inner-page .wisp-inner-hero {
    padding-top: var(--wisp-public-hero-top) !important;
    padding-bottom: var(--wisp-public-hero-bottom) !important;
    margin-top: 0 !important;
    margin-bottom: var(--wisp-public-hero-after) !important;
    background: transparent !important;
    color: var(--wisp-public-ink) !important;
}

body:not(.wisp-home-active) main > .page-hero h1,
body:not(.wisp-home-active) main > .wisp-public-page .wisp-page-hero h1,
body:not(.wisp-home-active) main > .wisp-inner-page .wisp-inner-hero h1 {
    margin-top: 0 !important;
    color: var(--wisp-public-ink) !important;
    text-shadow: none !important;
}

body:not(.wisp-home-active) main > .page-hero p,
body:not(.wisp-home-active) main > .wisp-public-page .wisp-page-hero p,
body:not(.wisp-home-active) main > .wisp-inner-page .wisp-inner-hero p,
body:not(.wisp-home-active) main .lead,
body:not(.wisp-home-active) main .muted {
    color: var(--wisp-public-muted) !important;
    text-shadow: none !important;
}

/* Legacy sections should not add a second top gap */
body:not(.wisp-home-active) main > .section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
}

body:not(.wisp-home-active) main > .section + .section {
    margin-top: 54px !important;
}

body:not(.wisp-home-active) main > *:last-child,
body:not(.wisp-home-active) main > *:last-child > :last-child {
    margin-bottom: 0 !important;
}

/* Shared containers */
body:not(.wisp-home-active) main > *:not(.wisp-home) .container,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-home-container,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-inner-container,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-wrap {
    position: relative !important;
    z-index: 1 !important;
}

/* Typography */
body:not(.wisp-home-active) main > *:not(.wisp-home) h1,
body:not(.wisp-home-active) main > *:not(.wisp-home) h2,
body:not(.wisp-home-active) main > *:not(.wisp-home) h3,
body:not(.wisp-home-active) main > *:not(.wisp-home) h4,
body:not(.wisp-home-active) main > *:not(.wisp-home) strong {
    color: var(--wisp-public-ink) !important;
    text-shadow: none !important;
}

body:not(.wisp-home-active) main > *:not(.wisp-home) p,
body:not(.wisp-home-active) main > *:not(.wisp-home) small,
body:not(.wisp-home-active) main > *:not(.wisp-home) li {
    color: var(--wisp-public-muted) !important;
    text-shadow: none !important;
}

/* Repeated small labels stay hidden */
body:not(.wisp-home-active) main .page-hero .eyebrow,
body:not(.wisp-home-active) main .wisp-page-hero .wisp-pill,
body:not(.wisp-home-active) main .wisp-inner-hero .wisp-inner-eyebrow,
body:not(.wisp-home-active) main .wisp-inner-section-head .wisp-inner-section-kicker,
body:not(.wisp-home-active) main .wisp-section-head .wisp-pill,
body:not(.wisp-home-active) main .wisp-franchise-op-title .wisp-pill,
body:not(.wisp-home-active) main .wisp-franchise-aside-card .wisp-pill,
body:not(.wisp-home-active) main .wisp-business-gateway .wisp-pill,
body:not(.wisp-home-active) main .wisp-supplier-logo-section .wisp-pill {
    display: none !important;
}

/* Shared cards and panels */
body:not(.wisp-home-active) main > *:not(.wisp-home) .card,
body:not(.wisp-home-active) main > *:not(.wisp-home) .content-panel,
body:not(.wisp-home-active) main > *:not(.wisp-home) .form-shell,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-inner-card,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-inner-panel,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-business-solution-card,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-flow-strip,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-flow-strip article,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-form-card,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-op-panel,
body:not(.wisp-home-active) main > *:not(.wisp-home) .wisp-franchise-aside-card {
    background: var(--wisp-public-card) !important;
    background-color: var(--wisp-public-card) !important;
    border: 1px solid var(--wisp-public-border) !important;
    box-shadow: var(--wisp-public-shadow) !important;
    color: var(--wisp-public-ink) !important;
}

/* Keep clean franchise hero from becoming a card */
body:not(.wisp-home-active) main .wisp-franchise-clean-hero .wisp-franchise-op-title {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Forms: contact, franchise, quote, business requests */
body:not(.wisp-home-active) main .contact-form label,
body:not(.wisp-home-active) main .wisp-franchise-form label,
body:not(.wisp-home-active) main .wisp-field span:first-child,
body:not(.wisp-home-active) main .wisp-form-group-title h3,
body:not(.wisp-home-active) main .wisp-quote-grid label span,
body:not(.wisp-home-active) main .wisp-quote-message span {
    color: rgba(44,80,103,.78) !important;
}

body:not(.wisp-home-active) main .contact-form input,
body:not(.wisp-home-active) main .contact-form select,
body:not(.wisp-home-active) main .contact-form textarea,
body:not(.wisp-home-active) main .wisp-franchise-form input,
body:not(.wisp-home-active) main .wisp-franchise-form select,
body:not(.wisp-home-active) main .wisp-franchise-form textarea,
body:not(.wisp-home-active) main .wisp-field input,
body:not(.wisp-home-active) main .wisp-field select,
body:not(.wisp-home-active) main .wisp-field textarea,
body:not(.wisp-home-active) main .wisp-quote-page input,
body:not(.wisp-home-active) main .wisp-quote-page select,
body:not(.wisp-home-active) main .wisp-quote-page textarea,
body:not(.wisp-home-active) main .wisp-suppliers-controls input,
body:not(.wisp-home-active) main .wisp-suppliers-controls select {
    width: 100% !important;
    background: rgba(255,255,255,.94) !important;
    background-color: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(44,80,103,.14) !important;
    color: var(--wisp-public-ink) !important;
    caret-color: var(--wisp-public-ink) !important;
    border-radius: 15px !important;
    box-shadow: none !important;
    outline: none !important;
}

body:not(.wisp-home-active) main input::placeholder,
body:not(.wisp-home-active) main textarea::placeholder {
    color: rgba(44,80,103,.42) !important;
    opacity: 1 !important;
}

body:not(.wisp-home-active) main input:focus,
body:not(.wisp-home-active) main select:focus,
body:not(.wisp-home-active) main textarea:focus {
    border-color: rgba(184,139,74,.46) !important;
    box-shadow: 0 0 0 3px rgba(184,139,74,.10) !important;
}

body:not(.wisp-home-active) main select option {
    color: #173246 !important;
    background: #ffffff !important;
}

/* File upload areas */
body:not(.wisp-home-active) main .wisp-franchise-file-upload,
body:not(.wisp-home-active) main .wisp-file-upload,
body:not(.wisp-home-active) main .file-upload,
body:not(.wisp-home-active) main .wisp-file-drop {
    background: rgba(255,255,255,.66) !important;
    border: 1px dashed rgba(184,139,74,.30) !important;
    border-radius: 20px !important;
    color: var(--wisp-public-ink) !important;
}

/* Supplier/logo strip remains on same shell background */
body:not(.wisp-home-active) main .wisp-supplier-logo-section,
body:not(.wisp-home-active) main .wisp-loop-suppliers {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    :root {
        --wisp-public-shell-top: 82px;
        --wisp-public-shell-bottom: 64px;
        --wisp-public-hero-top: 18px;
        --wisp-public-hero-bottom: 30px;
        --wisp-public-hero-after: 34px;
    }
}
/* WISP_PUBLIC_GLOBAL_PAGE_SHELL_V4_HERO_GAP_END */


/* WISP_THREE_PAGES_FINAL_TARGETED_START */

/* Business hero image starts behind the header; title area gets its own readable fade */
body:not(.wisp-home-active):has(main > section[style*="--wisp-business-hero-image"]) .site-header{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:3000!important;
    background:rgba(253,252,251,.58)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    border-bottom:1px solid rgba(44,80,103,.08)!important;
    box-shadow:0 16px 44px rgba(16,41,51,.06)!important;
}

body:not(.wisp-home-active):has(main > section[style*="--wisp-business-hero-image"]) main{
    padding-top:0!important;
    margin-top:0!important;
}

body:not(.wisp-home-active) main > section[style*="--wisp-business-hero-image"]{
    margin-top:0!important;
    padding-top:0!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
    padding-bottom:0!important;
    background-color:#FDFCFB!important;
    background-image:
        linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.08) 24%,rgba(255,255,255,.62) 70%,#fff 100%),
        linear-gradient(90deg,rgba(247,242,234,.42) 0%,rgba(247,242,234,.06) 18%,rgba(247,242,234,0) 50%,rgba(247,242,234,.06) 82%,rgba(247,242,234,.42) 100%),
        var(--wisp-business-hero-image, none)!important;
    background-size:100% 560px,100% 560px,100% 560px!important;
    background-position:center top,center top,center top!important;
    background-repeat:no-repeat!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway::before,
body:not(.wisp-home-active) main > .wisp-business-gateway::after,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero-image-fade{
    display:none!important;
    content:none!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero{
    position:relative!important;
    z-index:3!important;
    width:min(1180px,calc(100% - 48px))!important;
    min-height:360px!important;
    padding-top:132px!important;
    padding-bottom:78px!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    text-align:right!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
}
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero h1,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero p{
    width:100%!important;
    max-width:640px!important;
    margin-right:0!important;
    margin-left:auto!important;
    text-align:right!important;
    position:relative!important;
    z-index:2!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero h1{
    color:#2C5067!important;
    font-weight:500!important;
    text-shadow:0 14px 36px rgba(255,255,255,.94)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero p{
    color:rgba(44,80,103,.84)!important;
    text-shadow:0 10px 28px rgba(255,255,255,.95)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-grid{
    position:relative!important;
    z-index:4!important;
    margin-top:-44px!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card{
    min-height:236px!important;
    padding:34px 30px 28px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(44,80,103,.09)!important;
    border-radius:28px!important;
    box-shadow:0 24px 70px rgba(16,41,51,.10)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    animation:wispBusinessCardStableIn .62s cubic-bezier(.2,.82,.2,1) both!important;
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card:nth-child(1){animation-delay:.04s!important;}
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card:nth-child(2){animation-delay:.11s!important;}
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card:nth-child(3){animation-delay:.18s!important;}
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card:nth-child(4){animation-delay:.25s!important;}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card:hover{
    transform:translateY(-6px)!important;
    background:rgba(255,255,255,.98)!important;
    border-color:rgba(218,178,103,.24)!important;
    box-shadow:0 30px 82px rgba(16,41,51,.14)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card h2{
    color:#2C5067!important;
    font-weight:600!important;
    opacity:1!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-card p{
    color:rgba(44,80,103,.68)!important;
    opacity:1!important;
    line-height:1.9!important;
}

@keyframes wispBusinessCardStableIn{
    from{opacity:0;transform:translateY(18px) scale(.988);}
    to{opacity:1;transform:translateY(0) scale(1);}
}

/* Business suppliers: no bottom empty block before footer */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section{
    margin:46px 0 0!important;
    padding:8px 0 12px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section .wisp-section-head{
    width:min(1180px,calc(100% - 48px))!important;
    margin:0 auto 18px!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:18px!important;
}

/* Suppliers directory redesign + real logo support */
body:not(.wisp-home-active) main > .wisp-suppliers-page .wisp-supplier-card-grid{
    gap:24px!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .wisp-supplier-card{
    min-height:224px!important;
    padding:30px 26px!important;
    border-radius:30px!important;
    background:rgba(255,255,255,.90)!important;
    border:1px solid rgba(44,80,103,.09)!important;
    box-shadow:0 24px 70px rgba(16,41,51,.10)!important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
    color:#2C5067!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .wisp-supplier-card:hover{
    transform:translateY(-6px)!important;
    border-color:rgba(218,178,103,.25)!important;
    box-shadow:0 30px 82px rgba(16,41,51,.14)!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .supplier-logo-box{
    width:102px!important;
    height:102px!important;
    margin:0 auto 16px!important;
    border-radius:24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(135deg,#f3d28f,#d8ae61)!important;
    color:#102933!important;
    font-size:22px!important;
    font-weight:700!important;
    overflow:hidden!important;
    border:0!important;
    box-shadow:none!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .supplier-logo-box.has-logo{
    background:#fff!important;
    border:1px solid rgba(44,80,103,.10)!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .supplier-logo-box img{
    display:block!important;
    max-width:82px!important;
    max-height:72px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .wisp-supplier-card small{
    color:rgba(44,80,103,.54)!important;
    font-size:13px!important;
}

body:not(.wisp-home-active) main > .wisp-suppliers-page .wisp-supplier-card strong{
    color:#2C5067!important;
    font-size:22px!important;
    font-weight:700!important;
}

/* Hide old supplier modal permanently if old markup appears from cache */
.wisp-supplier-modal{
    display:none!important;
}

/* Shared supplier modal */
.wisp-business-supplier-modal[hidden]{display:none!important;}
.wisp-business-supplier-modal{position:fixed!important;inset:0!important;z-index:9999!important;display:grid!important;place-items:center!important;padding:24px!important;}
.wisp-business-supplier-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(16,41,51,.36)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;}
.wisp-business-supplier-modal-card{position:relative!important;z-index:1!important;width:min(540px,calc(100vw - 32px))!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;padding:34px 32px 30px!important;border-radius:28px!important;background:#FDFCFB!important;color:#2C5067!important;border:1px solid rgba(44,80,103,.10)!important;box-shadow:0 28px 80px rgba(16,41,51,.24)!important;text-align:right!important;}
.wisp-business-supplier-modal-close{position:absolute!important;top:14px!important;inset-inline-start:14px!important;width:34px!important;height:34px!important;border-radius:999px!important;border:1px solid rgba(44,80,103,.12)!important;background:#fff!important;color:#2C5067!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;}
.business-supplier-logo-box{width:108px!important;height:108px!important;margin:0 auto 20px!important;border-radius:24px!important;background:#fff!important;color:#2C5067!important;border:1px solid rgba(44,80,103,.10)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;font-size:28px!important;font-weight:600!important;}
.business-supplier-logo-box img{max-width:84px!important;max-height:72px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.wisp-business-supplier-modal-card #businessModalCategory,
.wisp-business-supplier-modal-card #businessModalName,
.wisp-business-supplier-modal-card #businessModalSummary{text-align:center!important;}
.wisp-business-supplier-modal-card #businessModalName{color:#2C5067!important;font-weight:500!important;}
.wisp-business-supplier-modal-card #businessModalSummary{color:rgba(44,80,103,.74)!important;line-height:1.9!important;}
.business-supplier-info-list-final{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:16px!important;padding-top:16px!important;border-top:1px solid rgba(44,80,103,.10)!important;}
.business-info-row{display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0!important;color:rgba(44,80,103,.76)!important;line-height:1.8!important;}
.business-info-row strong,.business-info-contact-pair strong{color:#2C5067!important;font-weight:700!important;white-space:nowrap!important;}
.business-info-contact-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.business-info-contact-pair p{display:flex!important;gap:8px!important;align-items:center!important;min-width:0!important;margin:0!important;padding:10px 12px!important;border-radius:16px!important;background:rgba(44,80,103,.035)!important;border:1px solid rgba(44,80,103,.07)!important;}

/* Franchise: fix hidden text, path cards, and acknowledgement */
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-flow-strip,
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-form-card{
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(44,80,103,.10)!important;
    box-shadow:0 24px 70px rgba(16,41,51,.08)!important;
    color:#2C5067!important;
}

body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-flow-strip h2,
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-form-header h2,
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-form-group-title h3{
    color:#2C5067!important;
}

body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-flow-items article{
    background:#fff!important;
    border:1px solid rgba(44,80,103,.10)!important;
    box-shadow:none!important;
    color:#2C5067!important;
}

body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-flow-items strong{
    color:#B88B4A!important;
}

body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-flow-items span,
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-form-header p,
body:not(.wisp-home-active) main .wisp-franchise-page .wisp-franchise-file-upload small{
    color:rgba(44,80,103,.70)!important;
}

body:not(.wisp-home-active) main .wisp-franchise-page input,
body:not(.wisp-home-active) main .wisp-franchise-page select,
body:not(.wisp-home-active) main .wisp-franchise-page textarea{
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(44,80,103,.18)!important;
    color:#2C5067!important;
    box-shadow:0 8px 24px rgba(16,41,51,.035)!important;
}

body:not(.wisp-home-active) main .wisp-franchise-upgraded-form .wisp-franchise-ack{
    display:flex!important;
    align-items:flex-start!important;
    gap:12px!important;
    padding:15px 16px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid rgba(184,139,74,.28)!important;
    color:#2C5067!important;
}

body:not(.wisp-home-active) main .wisp-franchise-upgraded-form .wisp-franchise-ack input[type="checkbox"]{
    appearance:auto!important;
    -webkit-appearance:auto!important;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    display:inline-block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin-top:6px!important;
    accent-color:#DAB267!important;
    box-shadow:none!important;
}

body:not(.wisp-home-active) main .wisp-franchise-upgraded-form .wisp-franchise-ack span{
    color:#2C5067!important;
    line-height:1.8!important;
}

@media (max-width:768px){
    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero{
        width:calc(100% - 32px)!important;
        min-height:320px!important;
        padding-top:112px!important;
        padding-bottom:64px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-solution-grid{
        margin-top:-28px!important;
    }

    .business-info-contact-pair{
        grid-template-columns:1fr!important;
    }

    .wisp-business-supplier-modal-card{
        padding:30px 22px 24px!important;
        border-radius:24px!important;
    }
}

/* WISP_THREE_PAGES_FINAL_TARGETED_END */


/* WISP_BUSINESS_ONLY_CLEAN_FINAL_START */

/*
  Business Solutions final correction:
  - no hero mask
  - suppliers as clean logo row, no marquee background
  - no bottom gap before footer
  - scoped to /business-solutions structure only
*/

body:not(.wisp-home-active):has(main > .wisp-business-gateway) main{
    padding-bottom:0!important;
    margin-bottom:0!important;
}

body:not(.wisp-home-active):has(main > .wisp-business-gateway) .wisp-main-footer{
    margin-top:0!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway{
    padding-bottom:0!important;
}

/* Remove the incorrect hero mask/fade */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero::before,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero::after{
    display:none!important;
    content:none!important;
    background:none!important;
    box-shadow:none!important;
    filter:none!important;
}

/* Keep title readable without adding a visible mask */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero h1{
    text-shadow:0 10px 34px rgba(255,255,255,.92)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-page-hero p{
    color:rgba(44,80,103,.86)!important;
    text-shadow:0 8px 26px rgba(255,255,255,.96)!important;
}

/* Suppliers section: no background, no big container, no footer gap */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section{
    margin:34px 0 0!important;
    padding:0!important;
    min-height:0!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section .wisp-section-head{
    width:min(1180px,calc(100% - 48px))!important;
    margin:0 auto 18px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

/* New clean row replaces marquee */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-row{
    width:min(1180px,calc(100% - 48px))!important;
    margin:0 auto!important;
    padding:0 0 4px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:34px 72px!important;
    min-height:0!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
}

/* Neutralize any old marquee remnants if cached */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section .wisp-loop-marquee,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section .wisp-client-logo-marquee{
    display:none!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
    min-height:92px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:0!important;
    overflow:visible!important;
    cursor:pointer!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean *,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean::before,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean::after{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:150px!important;
    max-height:74px!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:.82!important;
    filter:grayscale(1) saturate(0) contrast(1.02) brightness(.88)!important;
    mix-blend-mode:multiply!important;
    transition:opacity .22s ease,filter .22s ease,transform .22s ease!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean:hover .wisp-business-supplier-logo-img{
    opacity:1!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    transform:translateY(-2px)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-text{
    display:block!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    color:#2C5067!important;
    font-size:clamp(28px,2.5vw,42px)!important;
    font-weight:500!important;
    line-height:1!important;
    opacity:.74!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transition:opacity .22s ease,color .22s ease,transform .22s ease!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean:hover .wisp-business-supplier-logo-text{
    opacity:1!important;
    color:#B88B4A!important;
    transform:translateY(-2px)!important;
}

@media (max-width:768px){
    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-row{
        width:calc(100% - 32px)!important;
        gap:24px 38px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean{
        width:140px!important;
        min-width:140px!important;
        max-width:140px!important;
        min-height:76px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-img{
        max-width:118px!important;
        max-height:58px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-text{
        font-size:28px!important;
    }
}

/* WISP_BUSINESS_ONLY_CLEAN_FINAL_END */


/* WISP_BUSINESS_SUPPLIERS_CLEAN_MARQUEE_START */

/* Restore supplier logo motion like homepage clients, without background/container/gap */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section{
    margin:34px 0 0!important;
    padding:0 0 4px!important;
    min-height:0!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-row{
    display:none!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-marquee{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 2px!important;
    min-height:112px!important;
    overflow:hidden!important;
    direction:ltr!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%)!important;
    mask-image:linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-track{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    gap:0!important;
    will-change:transform!important;
    animation:wispBusinessSuppliersCleanMove 34s linear infinite!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-marquee:hover .wisp-business-suppliers-clean-track{
    animation-play-state:paused!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-group{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    flex:0 0 auto!important;
    min-width:max-content!important;
    gap:72px!important;
    padding-inline-end:72px!important;
    direction:ltr!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
    min-height:96px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:0!important;
    overflow:visible!important;
    cursor:pointer!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean *,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean::before,
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean::after{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:150px!important;
    max-height:74px!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:.82!important;
    filter:grayscale(1) saturate(0) contrast(1.02) brightness(.88)!important;
    mix-blend-mode:multiply!important;
    transition:opacity .22s ease,filter .22s ease,transform .22s ease!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean:hover .wisp-business-supplier-logo-img{
    opacity:1!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    transform:translateY(-2px)!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-text{
    display:block!important;
    color:#2C5067!important;
    font-size:clamp(28px,2.5vw,42px)!important;
    font-weight:500!important;
    line-height:1!important;
    opacity:.74!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transition:opacity .22s ease,color .22s ease,transform .22s ease!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean:hover .wisp-business-supplier-logo-text{
    opacity:1!important;
    color:#B88B4A!important;
    transform:translateY(-2px)!important;
}

@keyframes wispBusinessSuppliersCleanMove{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

@media (prefers-reduced-motion:reduce){
    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-track{
        animation:none!important;
        transform:none!important;
    }
}

@media (max-width:768px){
    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-marquee{
        min-height:92px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-group{
        gap:42px!important;
        padding-inline-end:42px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-clean{
        width:140px!important;
        min-width:140px!important;
        max-width:140px!important;
        min-height:74px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-img{
        max-width:118px!important;
        max-height:58px!important;
    }

    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-supplier-logo-text{
        font-size:28px!important;
    }
}

/* WISP_BUSINESS_SUPPLIERS_CLEAN_MARQUEE_END */


/* WISP_BUSINESS_SUPPLIERS_DIRECTION_GAP_START */

/* Business suppliers: move from left to right + keep clean bottom breathing space */
body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-logo-section{
    margin:34px 0 0!important;
    padding:0 0 44px!important;
    margin-bottom:0!important;
    min-height:0!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-marquee{
    padding:0 0 18px!important;
    min-height:116px!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-track{
    animation:wispBusinessSuppliersCleanMoveLTR 34s linear infinite!important;
}

body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-marquee:hover .wisp-business-suppliers-clean-track{
    animation-play-state:paused!important;
}

@keyframes wispBusinessSuppliersCleanMoveLTR{
    from{
        transform:translateX(-50%);
    }
    to{
        transform:translateX(0);
    }
}

@media (prefers-reduced-motion:reduce){
    body:not(.wisp-home-active) main > .wisp-business-gateway .wisp-business-suppliers-clean-track{
        animation:none!important;
        transform:none!important;
    }
}

/* WISP_BUSINESS_SUPPLIERS_DIRECTION_GAP_END */


/* WISP_PROJECTS_MEDIA_V70C_START */
.project-card-media,
.project-detail-media {
    overflow: hidden;
    border-radius: 24px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(44,80,103,.10);
}

.project-card-media img,
.project-detail-media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.project-card-media img {
    aspect-ratio: 16 / 9;
}

.project-detail-media img {
    max-height: 420px;
}

.project-images-gallery-v70c {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(44,80,103,.10);
}

.project-images-gallery-v70c h2 {
    margin: 0 0 16px;
    font-weight: 500;
    color: #2c5067;
}

.project-images-grid-v70c {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.project-image-item-v70c {
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(44,80,103,.10);
    background: rgba(255,255,255,.70);
}

.project-image-item-v70c img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

@media (max-width: 760px) {
    .project-images-grid-v70c {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* WISP_PROJECTS_MEDIA_V70C_END */


/* WISP_PROJECTS_IMAGE_LIGHTBOX_V70E_START */
.project-image-lightbox-trigger-v70e {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    cursor: zoom-in;
    background: transparent;
}

.project-image-lightbox-trigger-v70e img {
    display: block;
    width: 100%;
}

html.project-image-lightbox-open-v70e {
    overflow: hidden;
}

.project-image-lightbox-v70e[hidden] {
    display: none !important;
}

.project-image-lightbox-v70e {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
}

.project-image-lightbox-backdrop-v70e {
    position: absolute;
    inset: 0;
    background: rgba(5, 28, 36, .72);
    backdrop-filter: blur(8px);
}

.project-image-lightbox-card-v70e {
    position: relative;
    z-index: 1;
    width: min(1080px, 94vw);
    max-height: 88vh;
    padding: 16px;
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 28px 90px rgba(0,0,0,.28);
}

.project-image-lightbox-card-v70e img {
    display: block;
    width: 100%;
    max-height: calc(88vh - 44px);
    object-fit: contain;
    border-radius: 20px;
    background: rgba(250,248,242,.8);
}

.project-image-lightbox-close-v70e {
    position: absolute;
    top: -16px;
    inset-inline-start: -16px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 16px;
    cursor: pointer;
    background: #fff;
    color: #2c5067;
    font-size: 26px;
    line-height: 1;
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
/* WISP_PROJECTS_IMAGE_LIGHTBOX_V70E_END */


/* WISP_NEWS_DETAIL_IMAGE_V71C_START */
.wisp-news-detail-image-v71c {
    margin: 0 auto 28px;
    width: min(980px, 100%);
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(44,80,103,.10);
    background: rgba(255,255,255,.72);
    box-shadow: 0 22px 60px rgba(44,80,103,.10);
}

.wisp-news-detail-image-v71c img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

@media (max-width: 760px) {
    .wisp-news-detail-image-v71c {
        margin-bottom: 22px;
        border-radius: 22px;
    }

    .wisp-news-detail-image-v71c img {
        aspect-ratio: 16 / 10;
    }
}
/* WISP_NEWS_DETAIL_IMAGE_V71C_END */


/* WISP_NEWS_DETAIL_LAYOUT_V71F_START */
.wisp-news-detail-image-v71f {
    margin: 0 auto 30px;
    width: min(980px, 100%);
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(44,80,103,.10);
    background: rgba(255,255,255,.72);
    box-shadow: 0 22px 60px rgba(44,80,103,.10);
}

.wisp-news-detail-image-v71f img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.page-hero .wisp-news-detail-title-v71f {
    width: min(980px, 100%);
    margin: 0 auto;
    color: #2c5067;
    font-size: clamp(34px, 4.2vw, 62px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.02em;
}

.wisp-news-detail-meta-v71f {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    color: rgba(44,80,103,.62);
    font-size: 15px;
    line-height: 1.8;
}

.wisp-news-detail-meta-v71f span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(44,80,103,.08);
}

@media (max-width: 760px) {
    .wisp-news-detail-image-v71f {
        margin-bottom: 22px;
        border-radius: 22px;
    }

    .wisp-news-detail-image-v71f img {
        aspect-ratio: 16 / 10;
    }

    .page-hero .wisp-news-detail-title-v71f {
        font-size: clamp(30px, 8vw, 44px);
    }

    .wisp-news-detail-meta-v71f {
        margin-top: 14px;
        font-size: 13px;
    }
}
/* WISP_NEWS_DETAIL_LAYOUT_V71F_END */


/* WISP_NEWS_DETAIL_LAYOUT_ALIGN_V71G_START */
.page-hero:has(.wisp-news-detail-title-v71f) {
    padding-top: 68px;
    padding-bottom: 56px;
}

.page-hero:has(.wisp-news-detail-title-v71f) .container {
    width: min(980px, calc(100% - 40px));
    margin-inline: auto;
    text-align: right;
}

.wisp-news-detail-image-v71f {
    width: 100%;
    margin: 0 0 30px;
    border-radius: 24px;
}

.wisp-news-detail-image-v71f img {
    width: 100%;
    aspect-ratio: 16 / 7.4;
    object-fit: cover;
}

.page-hero .wisp-news-detail-title-v71f {
    width: 100%;
    margin: 0;
    text-align: right;
    font-size: clamp(34px, 3.65vw, 54px);
    line-height: 1.16;
    font-weight: 500;
    letter-spacing: -.015em;
}

.wisp-news-detail-meta-v71f {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    direction: rtl;
    margin-top: 16px;
    text-align: right;
}

.wisp-news-detail-meta-v71f span {
    min-height: 32px;
    padding: 5px 13px;
    font-size: 13px;
}

.section .content-panel {
    width: min(980px, calc(100% - 40px));
    margin-inline: auto;
    text-align: right;
}

@media (max-width: 760px) {
    .page-hero:has(.wisp-news-detail-title-v71f) {
        padding-top: 42px;
        padding-bottom: 38px;
    }

    .page-hero:has(.wisp-news-detail-title-v71f) .container,
    .section .content-panel {
        width: min(100% - 28px, 980px);
    }

    .wisp-news-detail-image-v71f {
        margin-bottom: 22px;
        border-radius: 20px;
    }

    .wisp-news-detail-image-v71f img {
        aspect-ratio: 16 / 10;
    }

    .page-hero .wisp-news-detail-title-v71f {
        font-size: clamp(28px, 7vw, 40px);
    }
}
/* WISP_NEWS_DETAIL_LAYOUT_ALIGN_V71G_END */


/* WISP_NEWS_DETAIL_SPACING_V71I_START */
.page-hero:has(.wisp-news-detail-title-v71f) {
    padding-bottom: 22px;
}

.page-hero:has(.wisp-news-detail-title-v71f) + .section {
    padding-top: 22px;
}

.wisp-news-detail-meta-v71f {
    margin-top: 12px;
}

@media (max-width: 760px) {
    .page-hero:has(.wisp-news-detail-title-v71f) {
        padding-bottom: 18px;
    }

    .page-hero:has(.wisp-news-detail-title-v71f) + .section {
        padding-top: 18px;
    }

    .wisp-news-detail-meta-v71f {
        margin-top: 10px;
    }
}
/* WISP_NEWS_DETAIL_SPACING_V71I_END */


/* WISP_NEWS_DETAIL_SPACING_STRONG_V71J_START */
body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) {
    padding-bottom: 4px !important;
}

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section {
    padding-top: 6px !important;
}

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel {
    margin-top: 0 !important;
}

body:not(.wisp-home-active) main .wisp-news-detail-meta-v71f {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 760px) {
    body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) {
        padding-bottom: 2px !important;
    }

    body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section {
        padding-top: 5px !important;
    }
}
/* WISP_NEWS_DETAIL_SPACING_STRONG_V71J_END */


/* WISP_NEWS_DETAIL_SPACING_EXACT_V71M_START */
/*
  Measured V71L:
  - hero margin-bottom was 42px
  - section top padding was 6px
  - content panel text gap was 45px
  This block reduces the gap under date/category by removing the hero margin
  and tightening the first content panel only on news detail pages.
*/

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section {
    padding-top: 4px !important;
}

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel {
    margin-top: 0 !important;
    padding-top: 14px !important;
}

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel > p:first-child {
    margin-top: 0 !important;
}

body:not(.wisp-home-active) main .wisp-news-detail-meta-v71f {
    margin-bottom: 0 !important;
}

@media (max-width: 760px) {
    body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section {
        padding-top: 4px !important;
    }

    body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel {
        padding-top: 12px !important;
    }
}
/* WISP_NEWS_DETAIL_SPACING_EXACT_V71M_END */


/* WISP_NEWS_DETAIL_LOCAL_MARGINS_V71N_START */
/*
  فقط صفحة تفاصيل الخبر:
  - هامش أسفل العنوان
  - هامش أسفل التاريخ/التصنيف
  - الهوامش الداخلية لكرت نص الخبر
*/

body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* العنوان: تقليل المسافة أسفله */
body:not(.wisp-home-active) main .wisp-news-detail-title-v71f {
    margin-bottom: 6px !important;
}

/* التاريخ والتصنيف: مسافة بسيطة أسفلها فقط */
body:not(.wisp-home-active) main .wisp-news-detail-meta-v71f {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* القسم الذي يحتوي كرت نص الخبر */
body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* كرت نص الخبر: الهوامش الداخلية من كل الجهات */
body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel {
    margin-top: 16px !important;
    padding-top: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 16px!important;
    padding-left: 16px !important;
}

/* نص الخبر داخل الكرت: حذف هامش الفقرة الافتراضي الذي كان يزيد الفراغ */
body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel > p:first-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 760px) {
    body:not(.wisp-home-active) main .wisp-news-detail-title-v71f {
        margin-bottom: 5px !important;
    }

    body:not(.wisp-home-active) main .wisp-news-detail-meta-v71f {
        margin-bottom: 5px !important;
    }

    body:not(.wisp-home-active) main > .page-hero:has(.wisp-news-detail-title-v71f) + .section .content-panel {
        padding-top: 14px !important;
        padding-right: 18px !important;
        padding-bottom: 16px !important;
        padding-left: 18px !important;
    }
}

/* WISP_NEWS_DETAIL_ENGLISH_LTR_V179B */

html[lang="en"] body:not(.wisp-home-active)
main > .page-hero:has(.wisp-news-detail-title-v71f) > .container {
    direction: ltr !important;
    text-align: left !important;
}

html[lang="en"] body:not(.wisp-home-active)
main .wisp-news-detail-title-v71f {
    direction: ltr !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

html[lang="en"] body:not(.wisp-home-active)
main .wisp-news-detail-meta-v71f {
    direction: ltr !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

html[lang="en"] body:not(.wisp-home-active)
main > .page-hero:has(.wisp-news-detail-title-v71f)
+ .section .content-panel,
html[lang="en"] body:not(.wisp-home-active)
main > .page-hero:has(.wisp-news-detail-title-v71f)
+ .section .content-panel > p {
    direction: ltr !important;
    text-align: left !important;
}

/* WISP_NEWS_DETAIL_LOCAL_MARGINS_V71N_END */

/* WISP_TICKET_PUBLIC_V101_START */

.ticket-portal-v101 {
    padding: 72px 22px 88px;
    color: #19364a;
    background:
        radial-gradient(
            circle at 15% 12%,
            rgba(219, 176, 104, .16),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            rgba(250, 247, 241, .98),
            rgba(255, 255, 255, 1)
        );
}

.ticket-shell-v101 {
    width: min(1180px, 100%);
    margin-inline: auto;
}

.ticket-hero-v101 {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    padding: 34px;
    margin-bottom: 22px;
    border: 1px solid rgba(31, 70, 94, .11);
    border-radius: 28px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .96),
            rgba(248, 239, 223, .92)
        );
    box-shadow: 0 22px 55px rgba(26, 51, 68, .08);
}

.ticket-hero-copy-v101 {
    max-width: 680px;
}

.ticket-eyebrow-v101,
.ticket-section-kicker-v101 {
    display: block;
    margin-bottom: 8px;
    color: #b17e33;
    font-size: 13px;
    font-weight: 500;
}

.ticket-hero-v101 h1,
.ticket-card-v101 h2 {
    margin: 0;
    color: #1c455e;
    font-weight: 600;
}

.ticket-hero-v101 h1 {
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.25;
}

.ticket-hero-v101 p {
    max-width: 640px;
    margin: 12px 0 0;
    color: #71828d;
    font-size: 16px;
    line-height: 1.9;
}

.ticket-hero-reference-v101 {
    display: grid;
    justify-items: start;
    gap: 8px;
    min-width: 270px;
    padding: 19px 22px;
    border: 1px solid rgba(31, 70, 94, .11);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
}

.ticket-hero-reference-v101 > span:first-child {
    color: #788792;
    font-size: 12px;
}

.ticket-hero-reference-v101 strong {
    color: #173b51;
    font-size: 17px;
    letter-spacing: .03em;
}

.ticket-status-v101,
.ticket-admin-badge-v101 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

.ticket-status-v101.is-neutral {
    color: #72531e;
    background: #fff3d8;
}

.ticket-status-v101.is-success {
    color: #17623e;
    background: #e5f7ed;
}

.ticket-status-v101.is-danger {
    color: #8a2e2e;
    background: #fdeaea;
}

.ticket-status-v101.is-warning {
    color: #806016;
    background: #fff4c9;
}

.ticket-status-v101.is-info {
    color: #195877;
    background: #e6f4fb;
}

.ticket-status-v101.is-muted {
    color: #68737a;
    background: #edf0f2;
}

.ticket-alert-v101 {
    padding: 16px 18px;
    margin-bottom: 20px;
    border: 1px solid rgba(31, 70, 94, .12);
    border-radius: 17px;
    background: #fff;
    line-height: 1.8;
}

.ticket-alert-v101.is-success {
    color: #17623e;
    background: #edf9f2;
}

.ticket-alert-v101.is-danger {
    color: #862f2f;
    background: #fff0f0;
}

.ticket-alert-v101.is-muted {
    color: #61717b;
    background: #f4f6f7;
}

.ticket-alert-v101 ul {
    margin: 8px 18px 0 0;
}

.ticket-layout-v101 {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(290px, 350px);
    gap: 22px;
    align-items: start;
}

.ticket-main-v101,
.ticket-side-v101 {
    display: grid;
    gap: 22px;
}

.ticket-card-v101 {
    padding: 26px;
    border: 1px solid rgba(31, 70, 94, .11);
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 40px rgba(28, 61, 82, .055);
}

.ticket-card-head-v101 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.ticket-card-v101 h2 {
    font-size: 22px;
}

.ticket-message-count-v101 {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    height: 34px;
    padding-inline: 8px;
    border-radius: 12px;
    color: #1c455e;
    background: #f4ead9;
    font-size: 13px;
}

.ticket-timeline-v101 {
    display: grid;
    gap: 13px;
}

.ticket-message-v101 {
    padding: 17px 18px;
    border: 1px solid rgba(31, 70, 94, .09);
    border-radius: 18px;
    background: #fafbfb;
}

.ticket-message-v101.is-customer {
    background: #fff8ec;
    border-color: rgba(199, 147, 64, .2);
}

.ticket-message-v101.is-admin {
    background: #f0f7fa;
    border-color: rgba(39, 100, 132, .16);
}

.ticket-message-v101.is-system {
    background: #f6f7f8;
}

.ticket-message-meta-v101 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.ticket-message-meta-v101 strong {
    color: #1b455e;
    font-size: 14px;
    font-weight: 600;
}

.ticket-message-meta-v101 time {
    color: #8a969e;
    font-size: 11px;
}

.ticket-message-body-v101,
.ticket-request-summary-v101 {
    color: #536773;
    font-size: 14px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.ticket-files-v101 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.ticket-file-v101 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid rgba(31, 70, 94, .12);
    border-radius: 11px;
    color: #1d536d;
    background: #fff;
    text-decoration: none;
    font-size: 12px;
}

.ticket-details-v101 {
    display: grid;
    gap: 0;
    margin: 0;
}

.ticket-details-v101 > div {
    display: grid;
    gap: 5px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(31, 70, 94, .08);
}

.ticket-details-v101 > div:last-child {
    border-bottom: 0;
}

.ticket-details-v101 dt {
    color: #89949b;
    font-size: 12px;
}

.ticket-details-v101 dd {
    margin: 0;
    color: #263f4d;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.ticket-card-description-v101 {
    margin: -8px 0 18px;
    color: #74838c;
    line-height: 1.8;
}

.ticket-reply-form-v101 {
    display: grid;
    gap: 16px;
}

.ticket-field-v101 {
    display: grid;
    gap: 8px;
}

.ticket-field-v101 > span {
    color: #314c5b;
    font-size: 13px;
    font-weight: 500;
}

.ticket-field-v101 textarea {
    width: 100%;
    min-height: 165px;
    padding: 15px 16px;
    border: 1px solid rgba(31, 70, 94, .16);
    border-radius: 16px;
    color: #243f4e;
    background: #fff;
    resize: vertical;
    outline: none;
}

.ticket-field-v101 textarea:focus {
    border-color: rgba(185, 132, 47, .62);
    box-shadow: 0 0 0 4px rgba(207, 160, 82, .12);
}

.ticket-upload-v101 {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 88px;
    padding: 16px;
    border: 1px dashed rgba(31, 70, 94, .25);
    border-radius: 17px;
    color: #435d6b;
    background: #fafbfb;
    cursor: pointer;
}

.ticket-upload-v101 input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.ticket-upload-icon-v101 {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    color: #fff;
    background: #1a455d;
    font-size: 23px;
}

.ticket-upload-v101 strong,
.ticket-upload-v101 small {
    display: block;
}

.ticket-upload-v101 strong {
    margin-bottom: 4px;
    color: #254858;
    font-size: 14px;
    font-weight: 600;
}

.ticket-upload-v101 small {
    color: #87939a;
    font-size: 11px;
}

.ticket-form-actions-v101 {
    display: flex;
    justify-content: flex-start;
}

.ticket-primary-button-v101,
.ticket-secondary-button-v101 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border: 0;
    border-radius: 14px;
    text-decoration: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
}

.ticket-primary-button-v101 {
    color: #fff;
    background: #19455d;
}

.ticket-secondary-button-v101 {
    color: #24495b;
    border: 1px solid rgba(31, 70, 94, .12);
    background: #fff;
}

.ticket-privacy-v101 {
    padding: 18px;
    border: 1px solid rgba(184, 129, 42, .16);
    border-radius: 18px;
    color: #745d36;
    background: #fff8ec;
}

.ticket-privacy-v101 strong {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.ticket-privacy-v101 p {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
}

.ticket-empty-v101 {
    padding: 25px;
    border-radius: 16px;
    color: #7b8991;
    background: #f6f8f8;
    text-align: center;
}

@media (max-width: 920px) {
    .ticket-portal-v101 {
        padding: 50px 16px 65px;
    }

    .ticket-hero-v101 {
        align-items: stretch;
        flex-direction: column;
    }

    .ticket-hero-reference-v101 {
        min-width: 0;
    }

    .ticket-layout-v101 {
        grid-template-columns: 1fr;
    }

    .ticket-side-v101 {
        grid-row: 1;
    }
}

@media (max-width: 620px) {
    .ticket-portal-v101 {
        padding-inline: 12px;
    }

    .ticket-hero-v101,
    .ticket-card-v101 {
        padding: 20px;
        border-radius: 20px;
    }

    .ticket-hero-v101 h1 {
        font-size: 34px;
    }

    .ticket-message-meta-v101 {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .ticket-form-actions-v101,
    .ticket-primary-button-v101,
    .ticket-secondary-button-v101 {
        width: 100%;
    }
}

/* WISP_TICKET_PUBLIC_V101_END */


/* WISP_TICKET_ACCESS_V103_START */

.wisp-track-access-v103 {
width: min(1180px, calc(100% - 32px));
    margin: 18px auto 24px;
    padding: 17px 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid rgba(27, 68, 91, .12);
    border-radius: 17px;
    background: linear-gradient(135deg, #fffdf8, #f5eee2);
    box-shadow: 0 11px 28px rgba(24, 58, 77, .055);
    flex-direction: row-reverse;
}

.wisp-track-access-v103 p {
margin: 0;
    color: #6d7d86;
    font-size: 13px;
    line-height: 1.75;
    flex: 1 1 auto;
}

.wisp-track-access-button-v103 {
    flex: 0 0 auto;
    min-height: 43px;
    padding: 10px 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #1d4b63;
    border-radius: 11px;
    color: #fff;
    background: #173d54;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.wisp-track-access-button-v103:hover {
    background: #0f3144;
}

.wisp-track-access-modal-v103[hidden] {
    display: none !important;
}

.wisp-track-access-modal-v103 {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 20px;
}

.wisp-track-access-backdrop-v103 {
    position: absolute;
    inset: 0;
    background: rgba(8, 25, 36, .68);
    backdrop-filter: blur(3px);
}

.wisp-track-access-dialog-v103 {
    position: relative;
    z-index: 1;
    width: min(480px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 29px;
    border: 1px solid rgba(31, 69, 91, .13);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(8, 28, 40, .24);
}

.wisp-track-access-close-v103 {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #6d7e87;
    background: #f0f3f4;
    font-family: inherit;
    font-size: 22px;
    cursor: pointer;
}

html[dir="ltr"] .wisp-track-access-close-v103 {
    right: 14px;
    left: auto;
}

.wisp-track-access-kicker-v103 {
    display: block;
    margin-bottom: 7px;
    color: #a6742f;
    font-size: 12px;
}

.wisp-track-access-dialog-v103 h2 {
    margin: 0;
    color: #173d54;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.45;
}

.wisp-track-access-description-v103 {
    margin: 10px 0 22px;
    color: #71818a;
    font-size: 13px;
    line-height: 1.85;
}

.wisp-track-access-form-v103 {
    display: grid;
    gap: 15px;
}

.wisp-track-access-form-v103 label {
    display: grid;
    gap: 7px;
}

.wisp-track-access-form-v103 label > span {
    color: #304d5c;
    font-size: 13px;
    font-weight: 500;
}

.wisp-track-access-form-v103 input {
    width: 100%;
    min-height: 47px;
    padding: 10px 13px;
    border: 1px solid #d5dfe4;
    border-radius: 11px;
    color: #183e54;
    background: #fff;
    font: inherit;
    box-sizing: border-box;
}

.wisp-track-access-form-v103 input:focus {
    outline: 0;
    border-color: #c99749;
    box-shadow: 0 0 0 4px rgba(201, 151, 73, .13);
}

.wisp-track-access-phone-note-v103 {
    margin: -3px 0 0;
    color: #849098;
    font-size: 11px;
    line-height: 1.75;
}

.wisp-track-access-errors-v103 {
    margin: 0 0 17px;
    padding: 12px 14px;
    border: 1px solid #efd0d0;
    border-radius: 11px;
    color: #9a3535;
    background: #fff5f5;
}

.wisp-track-access-errors-v103 p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
}

.wisp-track-access-actions-v103 {
    display: flex;
    justify-content: flex-start;
    gap: 9px;
    margin-top: 5px;
}

.wisp-track-access-submit-v103,
.wisp-track-access-cancel-v103 {
    min-height: 43px;
    padding: 10px 18px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

.wisp-track-access-submit-v103 {
    border: 1px solid #173d54;
    color: #fff;
    background: #173d54;
}

.wisp-track-access-cancel-v103 {
    border: 1px solid #d5dde1;
    color: #526b78;
    background: #fff;
}

html.wisp-track-access-open-v103 {
    overflow: hidden;
}


@media (max-width: 720px) {
    .wisp-track-access-v103 {
        width: calc(100% - 24px);
        align-items: stretch;
        flex-direction: column;
    }

    .wisp-track-access-button-v103 {
        width: 100%;
    }

    .wisp-track-access-dialog-v103 {
        padding: 25px 19px 20px;
    }

    .wisp-track-access-actions-v103,
    .wisp-track-access-submit-v103,
    .wisp-track-access-cancel-v103 {
        width: 100%;
    }

    .wisp-track-access-actions-v103 {
        flex-direction: column-reverse;
    }


}


.wisp-quote-form-wrap-v104,
.wisp-public-form-width-v106 {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ticket-short-code-detail-v104 {
    padding: 14px !important;
    border: 1px solid #ead9ba !important;
    border-radius: 13px;
    background: #fffaf1;
}

.ticket-short-code-number-v104 {
    min-width: 112px;
    min-height: 40px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e3cfa9;
    border-radius: 10px;
    color: #173d54;
    background: #f6e8cd;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 3px;
}

.ticket-created-modal-v104[hidden] {
    display: none !important;
}

.ticket-created-modal-v104 {
    position: fixed;
    inset: 0;
    z-index: 100000;
    padding: 20px;
    display: grid;
    place-items: center;
}

.ticket-created-backdrop-v104 {
    position: absolute;
    inset: 0;
    background: rgba(10, 29, 40, .67);
    backdrop-filter: blur(4px);
}

.ticket-created-dialog-v104 {
    position: relative;
    z-index: 1;
    width: min(470px, 100%);
    padding: 31px;
    border: 1px solid rgba(33, 71, 92, .12);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 85px rgba(7, 27, 39, .25);
    text-align: center;
}

.ticket-created-icon-v104 {
    width: 54px;
    height: 54px;
    margin: 0 auto 15px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #173d54;
    font-size: 25px;
}

.ticket-created-kicker-v104 {
    display: block;
    margin-bottom: 6px;
    color: #a77835;
    font-size: 12px;
}

.ticket-created-dialog-v104 h2 {
    margin: 0;
    color: #173d54;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
}

.ticket-created-description-v104 {
    margin: 10px 0 19px;
    color: #6f8089;
    font-size: 13px;
    line-height: 1.85;
}

.ticket-created-number-card-v104 {
    padding: 17px;
    display: grid;
    gap: 6px;
    border: 1px solid #e2cda7;
    border-radius: 15px;
    background: #f7ead2;
}

.ticket-created-number-card-v104 span {
    color: #7c6b50;
    font-size: 12px;
}

.ticket-created-number-card-v104 strong {
    color: #173d54;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 5px;
}

.ticket-created-note-v104 {
    margin: 13px 0 19px;
    color: #829099;
    font-size: 11px;
    line-height: 1.75;
}

.ticket-created-action-v104 {
    width: 100%;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid #173d54;
    border-radius: 11px;
    color: #fff;
    background: #173d54;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.ticket-created-action-v104:hover {
    background: #0f3144;
}

html.ticket-created-modal-open-v104 {
    overflow: hidden;
}

@media (max-width: 720px) {
    .wisp-quote-form-wrap-v104,
    .wisp-public-form-width-v106 {
        width: calc(100% - 24px);
    }

    .ticket-created-dialog-v104 {
        padding: 26px 19px 20px;
    }

    .ticket-created-number-card-v104 strong {
        font-size: 27px;
    }
}
/* WISP_TICKET_ACCESS_V103_END */

/* WISP_PUBLIC_REQUEST_STATUS_V131_START */

.ticket-portal-v101 .ticket-main-v101 {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    align-self: start;
    min-height: 0;
    margin: 0;
    padding: 0;
    padding-block: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.ticket-portal-v101 .ticket-main-v101::before,
.ticket-portal-v101 .ticket-main-v101::after {
    display: none;
    content: none;
}

.ticket-portal-v101 .ticket-main-v101 > * {
    margin-block: 0;
}

.ticket-portal-v101 .ticket-layout-v101 {
    align-items: start;
}

.ticket-reference-center-v129 {
    justify-items: center;
    text-align: center;
}

.ticket-reference-center-v129 > span,
.ticket-reference-center-v129 > strong {
    text-align: center;
}

.ticket-short-code-center-v129 {
    text-align: center;
}

.ticket-short-code-center-v129 dt {
    text-align: center;
}

.ticket-short-code-center-v129 dd {
    display: flex;
    justify-content: center;
    text-align: center;
}

.ticket-portal-v101[dir="rtl"]
.ticket-ltr-right-v129 {
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: right;
}

.ticket-portal-v101[dir="ltr"]
.ticket-ltr-right-v129 {
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: left;
}

.ticket-summary-card-v129
.ticket-request-summary-v101 {
    margin-bottom: 0;
}

.ticket-summary-card-v129
.ticket-request-summary-v101
+ .ticket-original-attachments-v129 {
    margin-top: 17px;
}

.ticket-attachment-grid-v129 {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fill,
            minmax(155px, 1fr)
        );
    gap: 10px;
}

.ticket-message-attachments-v129 {
    margin-top: 14px;
}

.ticket-stored-image-v129,
.ticket-stored-file-v129 {
    min-width: 0;
    border: 1px solid rgba(23, 61, 84, .13);
    border-radius: 14px;
    color: #294a5c;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 20px rgba(24, 58, 77, .055);
    text-align: right;
    text-decoration: none;
}

.ticket-stored-image-v129 {
    display: grid;
    padding: 8px;
    cursor: pointer;
    font-family: inherit;
}

.ticket-stored-image-media-v129 {
    display: block;
    width: 100%;
    height: 102px;
    overflow: hidden;
    border-radius: 10px;
    background: #edf2f4;
}

.ticket-stored-image-media-v129 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease;
}

.ticket-stored-image-v129:hover
.ticket-stored-image-media-v129 img {
    transform: scale(1.035);
}

.ticket-stored-file-v129 {
    display: grid;
    grid-template-columns:
        50px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 10px;
}

.ticket-stored-file-type-v129 {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 10px;
    color: #6d5325;
    background: #f8ecd4;
    font-size: 10px;
    font-weight: 500;
}

.ticket-stored-file-meta-v129 {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-top: 7px;
}

.ticket-stored-file-meta-v129 strong {
    overflow: hidden;
    color: #294a5c;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 500;
}

.ticket-stored-file-meta-v129 small {
    color: #87949b;
    font-size: 9px;
}

.ticket-stored-file-action-v129 {
    grid-column: 1 / -1;
    color: #9a6e2a;
    text-align: left;
    font-size: 10px;
}

.ticket-reply-heading-v129 {
    margin-bottom: 15px;
}

.ticket-public-upload-grid-v129 {
    grid-template-columns: 1fr;
    margin-top: 0;
}

.ticket-public-upload-grid-v129
.wisp-upload-control-v105 {
    width: 100%;
}

.ticket-public-upload-grid-v129
.wisp-file-drop-v107 {
    min-height: 165px;
    border-radius: 17px;
}

.ticket-public-upload-grid-v129
.wisp-upload-preview-list-v105 {
    margin-top: 1px;
}

.ticket-public-upload-grid-v129
.wisp-upload-preview-media-v105:has(img) {
    cursor: zoom-in;
}

html.ticket-public-image-modal-open-v129 {
    overflow: hidden;
}

.ticket-public-image-modal-v129[hidden] {
    display: none;
}

.ticket-public-image-modal-v129 {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.ticket-public-image-modal-backdrop-v129 {
    position: absolute;
    inset: 0;
    background: rgba(8, 27, 37, .78);
    backdrop-filter: blur(5px);
}

.ticket-public-image-modal-card-v129 {
    position: relative;
    display: grid;
    grid-template-rows:
        auto minmax(0, 1fr) auto;
    width: min(960px, 100%);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(0, 0, 0, .3);
}

.ticket-public-image-modal-head-v129,
.ticket-public-image-modal-footer-v129 {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 17px;
}

.ticket-public-image-modal-head-v129 {
    justify-content: space-between;
    border-bottom: 1px solid rgba(23, 61, 84, .1);
}

.ticket-public-image-modal-head-v129 strong {
    overflow: hidden;
    color: #254b5e;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 500;
}

.ticket-public-image-modal-close-v129 {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid rgba(23, 61, 84, .13);
    border-radius: 10px;
    color: #7c3939;
    background: #fff1f1;
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 21px;
}

.ticket-public-image-modal-body-v129 {
    display: grid;
    place-items: center;
    min-height: 280px;
    padding: 20px;
    overflow: auto;
    background: #edf1f3;
}

.ticket-public-image-modal-body-v129 img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 190px);
    border-radius: 10px;
    object-fit: contain;
}

.ticket-public-image-modal-footer-v129 {
    justify-content: flex-end;
    border-top: 1px solid rgba(23, 61, 84, .1);
}

.ticket-public-image-modal-footer-v129
.ticket-primary-button-v101,
.ticket-public-image-modal-footer-v129
.ticket-secondary-button-v101 {
    width: auto;
    min-width: 110px;
}

@media (max-width: 720px) {
    .ticket-attachment-grid-v129 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .ticket-public-image-modal-v129 {
        padding: 12px;
    }

    .ticket-public-image-modal-card-v129 {
        max-height: calc(100vh - 24px);
        border-radius: 16px;
    }

    .ticket-public-image-modal-footer-v129 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .ticket-public-image-modal-footer-v129
    .ticket-primary-button-v101,
    .ticket-public-image-modal-footer-v129
    .ticket-secondary-button-v101 {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 440px) {
    .ticket-attachment-grid-v129 {
        grid-template-columns: 1fr;
    }
}

/* WISP_PUBLIC_REQUEST_STATUS_V131_END */

/* WISP_PUBLIC_UPLOAD_DRAG_DROP_V107_START */

html[dir="rtl"] .wisp-track-access-v103 p {
    text-align: right;
}

html[dir="ltr"] .wisp-track-access-v103 p {
    text-align: left;
}

.wisp-upload-grid {
    width: 100%;
    align-items: stretch;
}

.wisp-upload-grid > .wisp-upload-control-v105 {
    width: 100%;
    min-width: 0;
}

.wisp-upload-grid
> .wisp-upload-control-v105:only-child {
    grid-column: 1 / -1;
}

.wisp-upload-control-v105 {
    display: grid;
    align-content: start;
    gap: 11px;
}

.wisp-upload-control-v105 .wisp-file-drop {
    width: 100%;
    height: 100%;
    min-height: 150px;
    box-sizing: border-box;
}

.wisp-upload-preview-list-v105[hidden] {
    display: none !important;
}

.wisp-upload-preview-list-v105 {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fill,
            minmax(130px, 1fr)
        );
    gap: 10px;
}

.wisp-upload-preview-item-v105 {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 61, 84, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 8px 20px rgba(24, 58, 77, .055);
}

.wisp-upload-preview-media-v105 {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #173d54;
    background: #f5efe5;
}

.wisp-upload-preview-media-v105 img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.wisp-upload-document-type-v105 {
    min-width: 72px;
    min-height: 48px;
    padding: 8px 11px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #dcc69f;
    border-radius: 10px;
    color: #173d54;
    background: #fff9ed;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .5px;
    text-align: center;
}

.wisp-upload-remove-v105 {
    position: absolute;
    top: 7px;
    inset-inline-end: 7px;
    z-index: 2;
    width: 27px;
    height: 27px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: #c63e3e;
    box-shadow: 0 4px 12px rgba(111, 24, 24, .24);
    font-family: inherit;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.wisp-upload-remove-v105:hover {
    background: #a92d2d;
}

.wisp-upload-preview-meta-v105 {
    padding: 9px 10px 10px;
    display: grid;
    gap: 3px;
}

.wisp-upload-preview-name-v105 {
    overflow: hidden;
    color: #294a5c;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wisp-upload-preview-meta-v105 small {
    color: #85929a;
    font-size: 10px;
}


@media (max-width: 720px) {
    .wisp-request-shell,
    .wisp-franchise-operational .wisp-franchise-main-form-only {
        width: calc(100% - 24px) !important;
        max-width: none !important;
    }

    .wisp-upload-preview-list-v105 {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 420px) {
    .wisp-upload-preview-list-v105 {
        grid-template-columns: 1fr;
    }
}


.wisp-upload-control-v105 .wisp-file-drop-v107 {
    position: relative;
    width: 100%;
    min-height: 190px;
    padding: 27px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    border: 2px dashed rgba(188, 142, 70, .64);
    border-radius: 17px;
    color: #173d54;
    background:
        linear-gradient(
            145deg,
            rgba(255, 253, 248, .98),
            rgba(248, 239, 222, .94)
        );
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .7),
        0 9px 25px rgba(24, 58, 77, .045);
    box-sizing: border-box;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.wisp-upload-control-v105
.wisp-file-drop-v107:hover {
    border-color: #bd8738;
    background:
        linear-gradient(
            145deg,
            #fffefb,
            #f7ead2
        );
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .85),
        0 13px 29px rgba(24, 58, 77, .075);
}

.wisp-upload-control-v105
.wisp-file-drop-v107:focus-visible {
    outline: 0;
    border-color: #173d54;
    box-shadow:
        0 0 0 4px rgba(23, 61, 84, .13),
        0 13px 29px rgba(24, 58, 77, .075);
}

.wisp-upload-control-v105
.wisp-file-drop-v107.is-drag-active-v107 {
    border-style: solid;
    border-color: #173d54;
    background: #edf4f7;
    box-shadow:
        0 0 0 5px rgba(23, 61, 84, .12),
        0 17px 37px rgba(24, 58, 77, .11);
    transform: translateY(-2px);
}

.wisp-upload-icon-v107 {
    width: 48px;
    height: 48px;
    margin-bottom: 3px;
    display: grid;
    place-items: center;
    border: 1px solid #dec59b;
    border-radius: 50%;
    color: #173d54 !important;
    background: #fff;
    box-shadow: 0 7px 18px rgba(24, 58, 77, .08);
    line-height: 1;
}

.wisp-upload-icon-v107
.wisp-upload-feather-icon-v108 {
    width: 24px;
    height: 24px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wisp-file-drop-v107 strong {
    color: #173d54 !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
}

.wisp-upload-instruction-v107 {
    color: #365868 !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

.wisp-upload-types-v107 {
    max-width: 560px;
    color: #75858d !important;
    font-size: 11px;
    line-height: 1.75;
    text-align: center;
}

.wisp-upload-status-v107 {
    max-width: min(560px, 100%);
    margin-top: 3px;
    padding: 5px 10px;
    overflow: hidden;
    border: 1px solid rgba(23, 61, 84, .1);
    border-radius: 8px;
    color: #657982 !important;
    background: rgba(255, 255, 255, .72);
    font-size: 10px !important;
    font-style: normal;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wisp-upload-preview-list-v105 {
    margin-top: 3px;
}

.wisp-franchise-upgraded-form
.wisp-upload-control-v105 {
    width: 100%;
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .wisp-upload-control-v105
    .wisp-file-drop-v107 {
        min-height: 175px;
        padding: 23px 15px;
    }

    .wisp-upload-instruction-v107 {
        font-size: 12px;
    }

    .wisp-upload-types-v107 {
        font-size: 10px;
    }
}
/* WISP_PUBLIC_UPLOAD_DRAG_DROP_V107_END */

/* WISP_SUBMIT_LOADING_V110_START */
form.wisp-form-submitting-v110{
    cursor:progress;
}

form.wisp-form-submitting-v110
button[type="submit"],
form.wisp-form-submitting-v110
input[type="submit"]{
    cursor:wait!important;
    pointer-events:none!important;
}

button.wisp-submit-loading-v110{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    white-space:nowrap!important;
    opacity:.86!important;
}

button.wisp-submit-loading-v110::before{
    content:"";
    display:inline-block;
    width:16px;
    height:16px;
    flex:0 0 16px;
    border:2px solid currentColor;
    border-inline-start-color:transparent;
    border-radius:50%;
    animation:
        wispSubmitSpinnerV110
        .72s
        linear
        infinite;
}

@keyframes wispSubmitSpinnerV110{
    to{
        transform:rotate(360deg);
    }
}

@media (prefers-reduced-motion:reduce){
    button.wisp-submit-loading-v110::before{
        animation:none;
    }
}
/* WISP_SUBMIT_LOADING_V110_END */



/* WISP_PUBLIC_ABOUT_RESPONSIVE_V176C_START */

/*
  Public About page only.
  Scope is identified by the unique About structure:
  hero + intro panel + values panel containing cards with card-index.
  No Blade, content, admin, or database changes.
*/

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index) {
    --wisp-about-max-width-v176c: 1080px;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero {
    margin: 0 !important;
    padding: 52px 0 30px !important;
    min-height: 0 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero
> .container {
    width: min(
        var(--wisp-about-max-width-v176c),
        calc(100% - 40px)
    ) !important;
    max-width: var(--wisp-about-max-width-v176c) !important;
    margin-inline: auto !important;
    text-align: start !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero .eyebrow {
    margin: 0 0 10px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero h1 {
    margin: 0 !important;
    max-width: 820px !important;
    font-size: clamp(40px, 4.8vw, 62px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero .lead {
    margin: 14px 0 0 !important;
    max-width: 760px !important;
    color: var(
        --wisp-public-muted,
        rgba(44, 80, 103, .66)
    ) !important;
    font-size: clamp(16px, 1.45vw, 19px) !important;
    line-height: 1.9 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .section
> .container {
    width: min(
        var(--wisp-about-max-width-v176c),
        calc(100% - 40px)
    ) !important;
    max-width: var(--wisp-about-max-width-v176c) !important;
    margin-inline: auto !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section {
    margin: 0 !important;
    padding: 18px 0 14px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section {
    margin: 0 !important;
    padding: 18px 0 72px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel,
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .content-panel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 28px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel {
    padding: 32px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel:has(.wisp-about-cms-image) {
    padding: 0 0 30px !important;
    overflow: hidden !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
.wisp-about-cms-image {
    width: 100% !important;
    height: clamp(300px, 39vw, 500px) !important;
    max-height: 500px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #eee9e1 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
.wisp-about-cms-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel > h2 {
    margin: 0 !important;
    color: var(--wisp-public-ink, #2C5067) !important;
    font-size: clamp(25px, 2.35vw, 34px) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel > .rich-text {
    max-width: 900px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 2 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel:has(.wisp-about-cms-image)
> h2 {
    margin: 26px 30px 0 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section .content-panel:has(.wisp-about-cms-image)
> .rich-text {
    margin: 12px 30px 0 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .content-panel {
    padding: 32px !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .section-head {
    max-width: 760px !important;
    margin: 0 auto 28px !important;
    text-align: center !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .section-head h2 {
    margin: 0 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.3 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .section-head p {
    margin: 10px auto 0 !important;
    max-width: 680px !important;
    font-size: 15.5px !important;
    line-height: 1.9 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .cards-grid {
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .card {
    min-width: 0 !important;
    min-height: 188px !important;
    margin: 0 !important;
    padding: 24px !important;
    border-radius: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: start !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .card-index {
    margin: 0 0 14px !important;
    align-self: flex-start !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .card h3 {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
}

body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section .card p {
    margin: 10px 0 0 !important;
    font-size: 14.5px !important;
    line-height: 1.85 !important;
}

@media (max-width: 980px) {
    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero {
        padding: 42px 0 26px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    .wisp-about-cms-image {
        height: clamp(290px, 56vw, 430px) !important;
        max-height: 430px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .card:last-child {
        grid-column: 1 / -1 !important;
        min-height: 160px !important;
    }
}

@media (max-width: 680px) {
    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index) {
        --wisp-about-max-width-v176c:
            calc(100% - 28px);
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero {
        padding: 32px 0 20px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero
    > .container,
    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .section
    > .container {
        width: calc(100% - 28px) !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero h1 {
        font-size: clamp(32px, 10vw, 40px) !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero .lead {
        margin-top: 10px !important;
        font-size: 15.5px !important;
        line-height: 1.8 !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section {
        padding: 12px 0 10px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section {
        padding: 12px 0 48px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel,
    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .content-panel {
        border-radius: 22px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel {
        padding: 22px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel:has(.wisp-about-cms-image) {
        padding: 0 0 22px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    .wisp-about-cms-image {
        height: clamp(240px, 74vw, 350px) !important;
        max-height: 350px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel:has(.wisp-about-cms-image)
    > h2 {
        margin: 22px 20px 0 !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel:has(.wisp-about-cms-image)
    > .rich-text {
        margin: 10px 20px 0 !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel > h2 {
        font-size: 25px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section .content-panel > .rich-text {
        font-size: 15px !important;
        line-height: 1.9 !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .content-panel {
        padding: 22px 18px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .section-head {
        margin-bottom: 20px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .section-head h2 {
        font-size: 28px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .section-head p {
        margin-top: 8px !important;
        font-size: 15px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .cards-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .card,
    body:not(.wisp-home-active)
    main:has(> .page-hero + .section + .section .cards-grid .card-index)
    > .page-hero + .section + .section .card:last-child {
        grid-column: auto !important;
        min-height: 0 !important;
        padding: 20px !important;
        border-radius: 18px !important;
    }
}

/* WISP_PUBLIC_ABOUT_RESPONSIVE_V176C_END */

/* WISP_PUBLIC_ABOUT_ENGLISH_LTR_V178D_START */

/*
  English public About page only.
  Keeps the approved page structure and changes text flow only.
*/

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero {
    direction: ltr !important;
}

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero
> .container {
    direction: ltr !important;
    text-align: left !important;
}

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel {
    direction: ltr !important;
    text-align: left !important;
}

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > h2,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > .rich-text,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > .rich-text p,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > .rich-text ul,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > .rich-text ol,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section
.content-panel > .rich-text li {
    direction: ltr !important;
    text-align: left !important;
}

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section
.card {
    direction: ltr !important;
    text-align: left !important;
    align-items: flex-start !important;
}

html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section
.card h3,
html[lang="en"]
body:not(.wisp-home-active)
main:has(> .page-hero + .section + .section .cards-grid .card-index)
> .page-hero + .section + .section
.card p {
    direction: ltr !important;
    text-align: left !important;
}

/* WISP_PUBLIC_ABOUT_ENGLISH_LTR_V178D_END */

/* WISP_SECTORS_PUBLIC_V182B_START */

/*
    Scope:
    - Public sectors list and sector details only.
    - The fixed glass header sits over the page background.
    - Global inner-page top/bottom shell gaps are cancelled only here.
    - CMS content, routes, header, footer, and database remain unchanged.
*/

body:has(main > .wisp-sectors-directory-v182b) {
    background: #fff !important;
}

body:has(main > .wisp-sector-detail-v182b) {
    background: #f7f4ee !important;
}

body:not(.wisp-home-active):has(
    main > .wisp-sectors-directory-v182b
) main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #fff !important;
    background-color: #fff !important;
}

body:not(.wisp-home-active):has(
    main > .wisp-sector-detail-v182b
) main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #f7f4ee !important;
    background-color: #f7f4ee !important;
}

.wisp-sectors-directory-v182b {
    min-height: 100%;
    margin: 0;
    background: #fff;
    color: #2c5067;
}

.wisp-sectors-hero-v182b {
    padding: 132px 0 32px;
    margin: 0;
    background: #fff;
    text-align: center;
}

.wisp-sectors-hero-v182b .wisp-home-container {
    display: grid;
    justify-items: center;
}

.wisp-sectors-hero-v182b h1 {
    max-width: 840px;
    margin: 0;
    color: #2c5067;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.18;
    font-weight: 500;
    letter-spacing: -.02em;
}

.wisp-sectors-hero-v182b p {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(44, 80, 103, .75);
    font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.9;
}

.wisp-sectors-home-card-scope-v182b,
.wisp-sectors-home-card-scope-v182b
#home-sectors.wisp-sectors-card-stage-v182b {
    margin: 0 !important;
    background: #fff !important;
    background-color: #fff !important;
    color: #2c5067 !important;
}

.wisp-sectors-home-card-scope-v182b
#home-sectors.wisp-sectors-card-stage-v182b {
    padding: 24px 0 72px !important;
    overflow: visible !important;
}

.wisp-sectors-home-card-scope-v182b
#home-sectors
.wisp-sector-grid {
    margin: 0 !important;
}

/* Sector detail page */

.wisp-sector-detail-v182b {
    min-height: 100%;
    margin: 0;
    background: #f7f4ee;
    color: #2c5067;
}

.wisp-sector-detail-hero-v182b {
    padding: 130px 0 54px;
    margin: 0;
    border-bottom: 1px solid rgba(44, 80, 103, .08);
    background: #f7f4ee;
}

.wisp-sector-detail-hero-v182b::before,
.wisp-sector-detail-hero-v182b::after {
    content: none !important;
    display: none !important;
}

.wisp-sector-detail-hero-inner-v182b {
    display: grid;
    justify-items: center;
    gap: 22px;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.wisp-sector-detail-logo-v182b {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 340px);
    height: 180px;
    padding: 18px 24px;
}

.wisp-sector-detail-logo-v182b img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 144px;
    object-fit: contain;
    object-position: center;
}

.wisp-sector-detail-copy-v182b {
    display: grid;
    justify-items: center;
}

.wisp-sector-detail-copy-v182b h1 {
    max-width: 820px;
    margin: 0;
    color: #2c5067;
    font-size: clamp(38px, 5.5vw, 68px);
    line-height: 1.14;
    font-weight: 500;
    letter-spacing: -.025em;
}

.wisp-sector-detail-copy-v182b p {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(44, 80, 103, .72);
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.9;
}

.wisp-sector-detail-content-v182b {
    padding: 54px 0 72px;
    margin: 0;
    background: #f7f4ee;
}

.wisp-sector-detail-content-v182b .wisp-home-container {
    display: grid;
    gap: 26px;
}

.wisp-sector-definition-v182b,
.wisp-sector-services-v182b {
    border: 1px solid rgba(44, 80, 103, .1);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(44, 80, 103, .07);
}

.wisp-sector-definition-v182b {
    display: grid;
    grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
    gap: 34px;
    align-items: stretch;
    padding: 34px;
}

.wisp-sector-definition-v182b h2 {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    margin: 0;
    color: #2c5067;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.35;
    font-weight: 500;
    text-align: center;
}

.wisp-sector-rich-text-v182b {
    display: flex;
    align-items: center;
    color: rgba(44, 80, 103, .78);
    font-size: 16px;
    line-height: 2;
}

.wisp-sector-services-v182b {
    padding: 32px;
}

.wisp-sector-services-head-v182b {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.wisp-sector-services-head-v182b h2 {
    margin: 0;
    color: #2c5067;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.35;
    font-weight: 500;
    text-align: center;
}

/*
    Reuse the same semantic component classes used by the About page:
    cards-grid / card / card-index.
*/
.wisp-sector-services-grid-v182b.cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.wisp-sector-service-card-v182b.card {
    position: relative;
    display: block;
    min-height: 170px;
    margin: 0;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(44, 80, 103, .09);
    border-radius: 18px;
    background: #fff;
    color: #2c5067;
    box-shadow: 0 14px 32px rgba(24, 38, 50, .07);
}

.wisp-sector-service-card-v182b.card::before,
.wisp-sector-service-card-v182b.card::after {
    content: none !important;
    display: none !important;
}

.wisp-sector-service-card-v182b .card-index {
    display: block;
    margin: 0 0 20px;
    color: #b88b4a;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .08em;
}

.wisp-sector-service-card-v182b h3 {
    margin: 0 0 10px;
    color: #2c5067;
    font-size: 19px;
    line-height: 1.55;
    font-weight: 500;
}

.wisp-sector-service-card-v182b p {
    margin: 0;
    color: rgba(44, 80, 103, .7);
    font-size: 14px;
    line-height: 1.85;
}

.wisp-sector-actions-v182b {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 2px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.wisp-sector-button-v182b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 165px;
    min-height: 48px;
    padding: 11px 20px;
    border: 1px solid transparent;
    border-radius: 14px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.wisp-sector-button-v182b:hover {
    transform: translateY(-2px);
}

.wisp-sector-button-v182b.is-primary {
    border-color: #b88b4a;
    background: #b88b4a;
    color: #fff;
    box-shadow: 0 12px 26px rgba(184, 139, 74, .2);
}

.wisp-sector-button-v182b.is-primary:hover {
    border-color: #a97e41;
    background: #a97e41;
}

.wisp-sector-button-v182b.is-secondary {
    border-color: rgba(44, 80, 103, .18);
    background: #fff;
    color: #2c5067;
}

.wisp-sector-button-v182b.is-secondary:hover {
    border-color: rgba(184, 139, 74, .5);
    background: #f8f5ef;
}

html[dir="ltr"] .wisp-sectors-directory-v182b,
html[dir="ltr"] .wisp-sector-detail-v182b {
    direction: ltr;
}

html[dir="ltr"] .wisp-sector-rich-text-v182b,
html[dir="ltr"] .wisp-sector-service-card-v182b {
    text-align: left;
}

@media (max-width: 960px) {
    .wisp-sector-definition-v182b {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .wisp-sector-definition-v182b h2 {
        min-height: 72px;
    }

    .wisp-sector-services-grid-v182b.cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wisp-sector-service-card-v182b.card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .wisp-sectors-hero-v182b {
        padding: 108px 0 20px;
    }

    .wisp-sectors-home-card-scope-v182b
    #home-sectors.wisp-sectors-card-stage-v182b {
        padding: 18px 0 52px !important;
    }

    .wisp-sector-detail-hero-v182b {
        padding: 104px 0 40px;
    }

    .wisp-sector-detail-logo-v182b {
        height: 138px;
        padding: 10px 18px;
    }

    .wisp-sector-detail-logo-v182b img {
        max-height: 112px;
    }

    .wisp-sector-detail-content-v182b {
        padding: 38px 0 52px;
    }

    .wisp-sector-definition-v182b,
    .wisp-sector-services-v182b {
        padding: 22px;
        border-radius: 22px;
    }

    .wisp-sector-definition-v182b h2 {
        min-height: 54px;
    }

    .wisp-sector-services-grid-v182b.cards-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .wisp-sector-service-card-v182b.card,
    .wisp-sector-service-card-v182b.card:last-child {
        grid-column: auto;
        min-height: 0;
    }

    .wisp-sector-actions-v182b {
        align-items: stretch;
        flex-direction: column;
        width: min(100%, 360px);
        padding: 0;
    }

    .wisp-sector-button-v182b {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wisp-sector-button-v182b {
        transition: none;
    }

    .wisp-sector-button-v182b:hover {
        transform: none;
    }
}

/* WISP_SECTORS_PUBLIC_V182B_END */

/* WISP_CONTACT_REQUEST_FORM_V183C_START */

/*
    Standalone contact page:
    - Reuses the same request-form structure used by
      supplier and other operational request pages.
    - Keeps the homepage AJAX contact form untouched.
    - Shows the sector selector only for sector contact.
*/

.wisp-contact-request-page-v183c {
    width: 100%;
}

.wisp-contact-page-hero-v183c {
    max-width: 900px;
    margin-inline: auto;
    text-align: center;
}

.wisp-contact-page-hero-v183c h1,
.wisp-contact-page-hero-v183c p {
    margin-inline: auto;
    text-align: center;
}

.wisp-contact-request-page-v183c
.wisp-request-shell {
    margin-top: 0;
}

.wisp-contact-request-form-v183c {
    position: relative;
}

.wisp-contact-request-form-v183c
.wisp-hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.wisp-contact-request-form-v183c
.wisp-contact-notice-v183c {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(184, 139, 74, .28);
    border-radius: 16px;
    color: #2c5067;
    background: #fffaf1;
}

.wisp-contact-request-form-v183c
.wisp-form-errors {
    color: #9a3535 !important;
    border-color: #efd0d0 !important;
    background: #fff5f5 !important;
}

.wisp-contact-request-form-v183c
.wisp-field {
    min-width: 0;
}

.wisp-contact-request-form-v183c
.wisp-select-wrap {
    position: relative;
    display: block;
}

.wisp-contact-request-form-v183c
.wisp-select-wrap select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    padding-inline-end: 48px !important;
    padding-inline-start: 16px !important;
    background-image: none !important;
}

.wisp-contact-request-form-v183c
.wisp-select-wrap > i {
    position: absolute;
    inset-inline-end: 17px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #b88b4a;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
}

.wisp-contact-sector-field-v183c[hidden] {
    display: none !important;
}

.wisp-contact-request-form-v183c
.wisp-field-full {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.wisp-contact-request-form-v183c
.wisp-field-full textarea {
    min-height: 150px;
}

.wisp-contact-request-form-v183c
.wisp-request-actions {
    align-items: center;
}

html[dir="ltr"]
.wisp-contact-request-form-v183c
input[name="phone"] {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"]
.wisp-contact-request-form-v183c
input[name="phone"] {
    direction: rtl;
    text-align: right;
}

@media (max-width: 640px) {
    .wisp-contact-page-hero-v183c {
        width: 100%;
    }

    .wisp-contact-request-form-v183c
    .wisp-request-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .wisp-contact-request-form-v183c
    .wisp-request-actions
    .wisp-btn {
        width: 100%;
    }
}

/* WISP_CONTACT_REQUEST_FORM_V183C_END */

/* WISP_HOME_LANDSCAPE_HERO_GAP_V186H_START */

/*
    Phone landscape only.

    This rule is stored in the always-loaded stylesheet
    because modern phone landscape viewports may be wider
    than the separate mobile stylesheet loading limit.
*/

@media
    (orientation: landscape)
    and (min-width: 621px)
    and (max-width: 1100px)
    and (max-height: 520px) {

    html[lang="ar"]
    body.wisp-home
    #home-top.wisp-home-hero,

    html[lang="ar"]
    body.wisp-home
    #home-top.wisp-home-hero-slider,

    html[lang="ar"]
    .wisp-home
    #home-top.wisp-home-hero,

    html[lang="ar"]
    .wisp-home
    #home-top.wisp-home-hero-slider,

    html[lang="en"]
    body.wisp-home
    #home-top.wisp-home-hero,

    html[lang="en"]
    body.wisp-home
    #home-top.wisp-home-hero-slider,

    html[lang="en"]
    .wisp-home
    #home-top.wisp-home-hero,

    html[lang="en"]
    .wisp-home
    #home-top.wisp-home-hero-slider {
        padding-top: 156px !important;
    }
}

/* WISP_HOME_LANDSCAPE_HERO_GAP_V186H_END */

/* WISP_PUBLIC_DIRECTORY_CANONICAL_V193C_START
   One shared controls, filtering, page-size and pagination design
   for news, projects and suppliers in Arabic and English.
*/
.wisp-directory-page {
    width: 100%;
}

.wisp-directory-controls {
    width: 100%;
    max-width: none;
    margin: 0 0 24px;
    padding: 14px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(220px, 280px)
        minmax(88px, 110px);
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(44, 80, 103, .12);
    border-radius: 20px;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 12px 34px rgba(28, 60, 78, .06);
}

.wisp-directory-controls > * {
    min-width: 0;
    box-sizing: border-box;
}

.wisp-directory-controls input,
.wisp-directory-controls select,
.wisp-directory-select {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.wisp-directory-controls input,
.wisp-directory-controls select {
    min-height: 48px;
    border: 1px solid rgba(44, 80, 103, .14);
    border-radius: 15px;
    background: rgba(255, 255, 255, .96);
    color: #173846;
    box-shadow: none;
    outline: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
}

.wisp-directory-controls input {
    padding: 12px 16px;
}

.wisp-directory-controls input::placeholder {
    color: rgba(44, 80, 103, .48);
    opacity: 1;
}

.wisp-directory-controls input:focus,
.wisp-directory-controls select:focus {
    border-color: rgba(184, 139, 74, .48);
    box-shadow: 0 0 0 3px rgba(184, 139, 74, .10);
}

.wisp-directory-select {
    position: relative;
    display: block;
}

.wisp-directory-select select {
    appearance: none;
    -webkit-appearance: none;
    padding-inline-start: 16px;
    padding-inline-end: 46px;
}

.wisp-directory-select > i {
    position: absolute;
    inset-inline-end: 17px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #b88b4a;
    font-size: 13px;
    line-height: 1;
}

.wisp-directory-select-compact select {
    text-align: center;
}

html[dir="rtl"] .wisp-directory-controls,
html[dir="rtl"] .wisp-directory-controls input,
html[dir="rtl"] .wisp-directory-controls select {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] .wisp-directory-controls input::placeholder {
    text-align: right;
}

html[dir="ltr"] .wisp-directory-controls,
html[dir="ltr"] .wisp-directory-controls input,
html[dir="ltr"] .wisp-directory-controls select {
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .wisp-directory-controls input::placeholder {
    text-align: left;
}

html[dir="rtl"] .wisp-directory-select-compact select,
html[dir="ltr"] .wisp-directory-select-compact select {
    text-align: center;
}

[data-directory-item][hidden],
.wisp-directory-empty[hidden],
.wisp-directory-footer[hidden],
.wisp-directory-pager[hidden] {
    display: none !important;
}

.wisp-directory-empty {
    width: 100%;
    margin-top: 18px;
    padding: 26px;
    box-sizing: border-box;
    border: 1px dashed rgba(44, 80, 103, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .58);
    color: rgba(23, 56, 70, .72);
    text-align: center;
    font-weight: 400;
}

.wisp-directory-footer {
    width: 100%;
    min-height: 42px;
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wisp-directory-pager {
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.wisp-directory-page-button {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(22, 56, 70, .18);
    border-radius: 12px;
    background: #ffffff;
    color: #173846;
    box-shadow: 0 8px 20px rgba(22, 56, 70, .08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    opacity: 1;
}

.wisp-directory-page-button:hover,
.wisp-directory-page-button:focus-visible {
    border-color: rgba(184, 139, 74, .55);
    outline: none;
}

.wisp-directory-page-button.is-active {
    background: #d7b16b;
    border-color: #d7b16b;
    color: #102933;
}

.wisp-directory-page-button:disabled {
    cursor: not-allowed;
    opacity: .38;
}

.wisp-news-directory-page .wisp-news-directory-hero {
    width: 100%;
    max-width: none;
    margin: 0 0 24px;
    text-align: start;
}

.wisp-news-directory-page .wisp-news-directory-hero h1 {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    text-align: inherit;
}

.wisp-news-directory-page .wisp-news-directory-hero p {
    width: min(720px, 100%);
    max-width: 720px;
    text-align: inherit;
}

html[dir="rtl"] .wisp-news-directory-page .wisp-news-directory-hero,
html[dir="rtl"] .wisp-news-directory-page .wisp-news-directory-hero h1,
html[dir="rtl"] .wisp-news-directory-page .wisp-news-directory-hero p {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] .wisp-news-directory-page .wisp-news-directory-hero p {
    margin-inline-start: auto;
    margin-inline-end: 0;
}

html[dir="ltr"] .wisp-news-directory-page .wisp-news-directory-hero,
html[dir="ltr"] .wisp-news-directory-page .wisp-news-directory-hero h1,
html[dir="ltr"] .wisp-news-directory-page .wisp-news-directory-hero p {
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .wisp-news-directory-page .wisp-news-directory-hero p {
    margin-inline-start: 0;
    margin-inline-end: auto;
}

.wisp-news-directory-page .wisp-news-page-card .wisp-news-body > h3 {
    margin-bottom: 0;
}

.wisp-news-directory-page .wisp-news-page-card .wisp-news-meta-line {
    margin-top: 8px;
    margin-bottom: 12px;
}

@media (max-width: 900px) {
    .wisp-directory-controls {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(110px, 140px);
    }

    .wisp-directory-controls > input {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .wisp-directory-controls {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .wisp-directory-controls > input {
        grid-column: auto;
    }

    .wisp-directory-page-button {
        min-width: 36px;
        height: 36px;
        padding-inline: 10px;
    }
}
/*
   V193C hard visual-state safeguard:
   legacy news rules later in the historical stylesheet used
   display:flex!important and overrode the HTML hidden attribute.
*/
html body .wisp-directory-page
[data-directory-item][hidden],
html body .wisp-directory-page
[data-directory-item].is-wisp-directory-hidden,
html body .wisp-news-directory-page
.wisp-news-page-grid
.wisp-news-page-card[data-directory-item][hidden],
html body .wisp-news-directory-page
.wisp-news-page-grid
.wisp-news-page-card.is-wisp-directory-hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.wisp-suppliers-page .wisp-directory-empty {
    margin-top: 24px;
    margin-bottom: 34px;
}

.wisp-business-footer-spacer {
    display: block !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    flex: 0 0 72px !important;
    visibility: visible !important;
    pointer-events: none !important;
}

@media (max-width: 640px) {
    .wisp-business-footer-spacer {
        height: 48px !important;
        min-height: 48px !important;
        flex-basis: 48px !important;
    }
}
/* WISP_CARD_ROWS_V194F_START */

/*
   News:
   - fixed two-line title row
   - fixed single metadata row
   - fixed two-line summary row
   - action anchored at card bottom
*/
html body .wisp-news-directory-page
.wisp-news-page-card {
    display: flex !important;
    flex-direction: column !important;
    height: 457px !important;
    min-height: 457px !important;
    max-height: 457px !important;
    overflow: hidden !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-body > h3 {
    display: -webkit-box !important;
    flex: 0 0 66.5px !important;
    height: 66.5px !important;
    min-height: 66.5px !important;
    max-height: 66.5px !important;
    margin: 10px 0 0 !important;
    overflow: hidden !important;
    line-height: 33.25px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-meta-line {
    display: flex !important;
    flex: 0 0 26px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    margin: 8px 0 12px !important;
    gap: 12px !important;
    overflow: hidden !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-meta-line > * {
    min-width: 0 !important;
    max-width: 62% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-summary {
    display: -webkit-box !important;
    flex: 0 0 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 16px 0 !important;
    overflow: hidden !important;
    line-height: 28px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis !important;
}

html body .wisp-news-directory-page
.wisp-news-page-card .wisp-news-body > a {
    display: block !important;
    flex: 0 0 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin-top: auto !important;
    overflow: hidden !important;
    line-height: 28px !important;
}

/*
   Projects:
   - fixed number row
   - fixed two-line title row
   - fixed metadata row
   - fixed four-line description row
   - action anchored at card bottom
*/
html body .project-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html body .project-card .card-index {
    display: block !important;
    flex: 0 0 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    overflow: hidden !important;
    line-height: 13px !important;
}

html body .project-card > h3 {
    display: -webkit-box !important;
    flex: 0 0 59.4px !important;
    height: 59.4px !important;
    min-height: 59.4px !important;
    max-height: 59.4px !important;
    margin: 14px 0 0 !important;
    overflow: hidden !important;
    line-height: 29.7px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis !important;
}

html body .project-card .project-card-meta {
    display: -webkit-box !important;
    flex: 0 0 26.6px !important;
    height: 26.6px !important;
    min-height: 26.6px !important;
    max-height: 26.6px !important;
    margin: 12px 0 0 !important;
    overflow: hidden !important;
    line-height: 26.6px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
}

html body .project-card .project-card-summary {
    display: -webkit-box !important;
    flex: 0 0 106.4px !important;
    height: 106.4px !important;
    min-height: 106.4px !important;
    max-height: 106.4px !important;
    margin: 16px 0 0 !important;
    overflow: hidden !important;
    line-height: 26.6px !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    text-overflow: ellipsis !important;
}

html body .project-card > .text-link {
    display: inline-flex !important;
    flex: 0 0 24.5px !important;
    align-self: flex-start !important;
    height: 24.5px !important;
    min-height: 24.5px !important;
    max-height: 24.5px !important;
    margin-top: auto !important;
    overflow: hidden !important;
    line-height: 24.5px !important;
}

/*
   Business solutions:
   - direction-aware hero
   - centered card text
   - fixed two-line title
   - fixed four-line description
   - fixed bottom action
*/
html[dir="rtl"] body main
.wisp-business-gateway .wisp-page-hero {
    direction: rtl !important;
    margin-right: 0 !important;
    margin-left: auto !important;
    text-align: right !important;
}

html[dir="rtl"] body main
.wisp-business-gateway .wisp-page-hero > h1,
html[dir="rtl"] body main
.wisp-business-gateway .wisp-page-hero > p {
    direction: rtl !important;
    text-align: right !important;
}

html[dir="ltr"] body main
.wisp-business-gateway .wisp-page-hero {
    direction: ltr !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

html[dir="ltr"] body main
.wisp-business-gateway .wisp-page-hero > h1,
html[dir="ltr"] body main
.wisp-business-gateway .wisp-page-hero > p {
    direction: ltr !important;
    text-align: left !important;
}

html body .wisp-business-gateway
.wisp-business-solution-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    text-align: center !important;
    overflow: hidden !important;
}

html body .wisp-business-gateway
.wisp-business-solution-card > h2 {
    display: -webkit-box !important;
    flex: 0 0 59.4px !important;
    height: 59.4px !important;
    min-height: 59.4px !important;
    max-height: 59.4px !important;
    margin: 0 !important;
    overflow: hidden !important;
    line-height: 29.7px !important;
    text-align: center !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis !important;
}

html body .wisp-business-gateway
.wisp-business-solution-card > p {
    display: -webkit-box !important;
    flex: 0 0 114px !important;
    height: 114px !important;
    min-height: 114px !important;
    max-height: 114px !important;
    margin: 15px 0 !important;
    overflow: hidden !important;
    line-height: 28.5px !important;
    text-align: center !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    text-overflow: ellipsis !important;
}

html body .wisp-business-gateway
.wisp-business-solution-card > .wisp-btn {
    flex: 0 0 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin-top: auto !important;
    text-align: center !important;
}

/*
   Grid rows stay equal across desktop and stacked mobile layouts.
*/
html body .wisp-business-solution-grid,
html body .cards-grid:has(> .project-card) {
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
}

@media (max-width: 680px) {
    html body .wisp-news-directory-page
    .wisp-news-page-card {
        height: 457px !important;
        min-height: 457px !important;
        max-height: 457px !important;
    }

    html body .wisp-news-directory-page
    .wisp-news-page-card .wisp-news-meta-line {
        flex-direction: row !important;
        align-items: center !important;
    }

    html body .wisp-business-gateway
    .wisp-business-solution-card > p {
        min-height: 114px !important;
        max-height: 114px !important;
    }
}

/* WISP_CARD_ROWS_V194F_END */

/* WISP_BUSINESS_PROJECT_DETAIL_LAYOUT_V195B_START */

/*
   Business Solutions hero:
   text direction was correct in V194F, but old flex alignment and
   auto margins still placed the English copy on the right side.
*/
html[dir="rtl"] body:not(.wisp-home-active)
main > .wisp-business-gateway .wisp-page-hero {
    align-items: flex-end !important;
}

html[dir="rtl"] body:not(.wisp-home-active)
main > .wisp-business-gateway
.wisp-page-hero > h1,
html[dir="rtl"] body:not(.wisp-home-active)
main > .wisp-business-gateway
.wisp-page-hero > p {
    margin-right: 0 !important;
    margin-left: auto !important;
    text-align: right !important;
}

html[dir="ltr"] body:not(.wisp-home-active)
main > .wisp-business-gateway .wisp-page-hero {
    align-items: flex-start !important;
}

html[dir="ltr"] body:not(.wisp-home-active)
main > .wisp-business-gateway
.wisp-page-hero > h1,
html[dir="ltr"] body:not(.wisp-home-active)
main > .wisp-business-gateway
.wisp-page-hero > p {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

/*
   Project detail:
   use the entire standard page container instead of the old 920px cap.
*/
body:not(.wisp-home-active)
main > .section > .container
> .project-detail-panel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
}

/*
   Project detail language alignment:
   headings, metadata, body, gallery and actions follow the document language.
*/
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel {
    direction: rtl !important;
    text-align: right !important;
}

html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel h2,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid > div,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid small,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid strong,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .rich-text,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel
.project-images-gallery-v70c,
html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel
.project-images-gallery-v70c h2 {
    direction: rtl !important;
    text-align: right !important;
}

html[dir="rtl"] body:not(.wisp-home-active)
main .project-detail-panel .actions {
    direction: rtl !important;
    justify-content: flex-start !important;
}

html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel {
    direction: ltr !important;
    text-align: left !important;
}

html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel h2,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid > div,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid small,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .meta-grid strong,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .rich-text,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel
.project-images-gallery-v70c,
html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel
.project-images-gallery-v70c h2 {
    direction: ltr !important;
    text-align: left !important;
}

html[dir="ltr"] body:not(.wisp-home-active)
main .project-detail-panel .actions {
    direction: ltr !important;
    justify-content: flex-start !important;
}

@media (max-width: 900px) {
    body:not(.wisp-home-active)
    main > .section > .container
    > .project-detail-panel {
        width: 100% !important;
        max-width: none !important;
    }

    html[dir="rtl"] body:not(.wisp-home-active)
    main .project-detail-panel .actions,
    html[dir="ltr"] body:not(.wisp-home-active)
    main .project-detail-panel .actions {
        justify-content: flex-start !important;
    }
}

/* WISP_BUSINESS_PROJECT_DETAIL_LAYOUT_V195B_END */

/* WISP_PROJECTS_BUSINESS_REFERENCE_V200F_START */

/*
   Projects listing page only.

   V200D corrects three measured V199B visual errors:
   1) Activate the same overlay-header/main shell used by Business Solutions.
   2) Use the same direct h1/p hero structure and spacing as Business Solutions.
   3) Remove the page-shell and section bottom padding before the footer.

   Filters, project cards, pagination logic, project detail, CMS data,
   Business Solutions, and every other public page stay unchanged.
*/

body:not(.wisp-home-active):has(
    main
    > .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
)
.site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 3000 !important;
    background:
        rgba(253, 252, 251, 0.58) !important;
    backdrop-filter:
        blur(18px) !important;
    -webkit-backdrop-filter:
        blur(18px) !important;
    border-bottom:
        1px solid rgba(44, 80, 103, 0.08) !important;
    box-shadow:
        0 16px 44px rgba(16, 41, 51, 0.06) !important;
}

body:not(.wisp-home-active):has(
    main
    > .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
)
main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.wisp-home-active):has(
    main
    > .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
)
.wisp-main-footer {
    margin-top: 0 !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
] {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: #fdfcfb !important;
    background-image:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.02) 0%,
            rgba(255, 255, 255, 0.08) 24%,
            rgba(255, 255, 255, 0.62) 70%,
            #ffffff 100%
        ),
        linear-gradient(
            90deg,
            rgba(247, 242, 234, 0.42) 0%,
            rgba(247, 242, 234, 0.06) 18%,
            rgba(247, 242, 234, 0) 50%,
            rgba(247, 242, 234, 0.06) 82%,
            rgba(247, 242, 234, 0.42) 100%
        ),
        var(
            --wisp-projects-reference-image,
            none
        ) !important;
    background-size:
        100% 560px,
        100% 560px,
        100% 560px !important;
    background-position:
        center top,
        center top,
        center top !important;
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero {
    position: relative !important;
    z-index: 3 !important;
    width: min(
        980px,
        calc(100% - 102px)
    ) !important;
    max-width: 980px !important;
    min-height: 360px !important;
    padding-top: 132px !important;
    padding-bottom: 78px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

html[dir="rtl"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero {
    margin-right:
        max(
            35px,
            calc((100% - 1180px) / 2)
        ) !important;
    margin-left: auto !important;
    align-items: flex-end !important;
    direction: rtl !important;
    text-align: right !important;
}

html[dir="ltr"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero {
    margin-left:
        max(
            35px,
            calc((100% - 1180px) / 2)
        ) !important;
    margin-right: auto !important;
    align-items: flex-start !important;
    direction: ltr !important;
    text-align: left !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> h1,
html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> p {
    width: 100% !important;
    max-width: 640px !important;
    position: relative !important;
    z-index: 2 !important;
    direction: inherit !important;
    text-align: inherit !important;
}

html[dir="rtl"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> h1,
html[dir="rtl"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> p {
    margin-right: 0 !important;
    margin-left: auto !important;
}

html[dir="ltr"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> h1,
html[dir="ltr"] body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> p {
    margin-left: 0 !important;
    margin-right: auto !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> h1 {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    color: #2c5067 !important;
    font-weight: 500 !important;
    text-shadow:
        0 14px 36px
        rgba(255, 255, 255, 0.94) !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-page-hero
> p {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    color:
        rgba(44, 80, 103, 0.84) !important;
    font-weight: 400 !important;
    text-shadow:
        0 10px 28px
        rgba(255, 255, 255, 0.95) !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-directory-content-v200d {
    position: relative !important;
    z-index: 4 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 40px !important;
}

html body
.wisp-projects-directory-page[
    data-projects-reference-hero-v200d
]
> .wisp-projects-directory-content-v200d
.wisp-directory-controls {
    position: relative !important;
    z-index: 4 !important;
    margin-top: -44px !important;
}

/*
   Keep the accepted project-detail layout unchanged.
*/
html body
.wisp-project-detail-title-hero
> .container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

html body
.wisp-project-detail-title-hero
> .container
> h1 {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    html body
    .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
    > .wisp-projects-page-hero {
        width:
            calc(100% - 102px) !important;
        max-width: 980px !important;
        min-height: 320px !important;
        padding-top: 112px !important;
        padding-bottom: 64px !important;
    }

    html body
    .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
    > .wisp-projects-directory-content-v200d {
        padding-bottom: 28px !important;
    }

    html body
    .wisp-projects-directory-page[
        data-projects-reference-hero-v200d
    ]
    > .wisp-projects-directory-content-v200d
    .wisp-directory-controls {
        margin-top: -28px !important;
    }
}

/* WISP_PROJECTS_BUSINESS_REFERENCE_V200F_END */

/* WISP_PUBLIC_DIRECTORY_CANONICAL_V193C_END */
