/* =========================================================
   LEAKING ROOF — sub-page styles
   ========================================================= */

/* ---------- Page banner (breadcrumb hero) ---------- */
.pagebanner{
  position:relative;color:#fff;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(8,17,36,.96) 0%,rgba(8,17,36,.86) 45%,rgba(8,17,36,.55) 100%),
    url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1800&q=80') center/cover;
}
.pagebanner--services{
  background-image:
    linear-gradient(90deg,rgba(8,17,36,.96) 0%,rgba(8,17,36,.86) 45%,rgba(8,17,36,.55) 100%),
    url('https://images.unsplash.com/photo-1632759145351-1d592919f522?auto=format&fit=crop&w=1800&q=80');
  background-size:cover;background-position:center;
}
.pagebanner__inner{padding:64px 0 56px;max-width:760px}
.pagebanner h1{
  color:#fff;font-size:clamp(28px,4vw,44px);font-weight:900;text-transform:uppercase;margin-bottom:10px;
}
.pagebanner h1 span{color:var(--blue-light)}
.pagebanner p{color:#c7d3e8;font-size:16px;max-width:560px;margin:0}
.crumbs{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-family:var(--font-h);font-size:13px;font-weight:600;color:#9fb3d8;margin-bottom:14px;
}
.crumbs a{color:#d7e4fb;transition:.2s}
.crumbs a:hover{color:var(--blue-light)}
.crumbs svg{width:13px;height:13px;fill:none;stroke:#9fb3d8;stroke-width:2}
.crumbs em{font-style:normal;color:var(--blue-light)}

/* ---------- Intro / page body ---------- */
.page-intro p{font-size:15.4px}
.page-intro p:last-child{margin-bottom:0}
.page-intro h2{font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;margin-top:6px}
.page-intro .lead{font-size:17px;color:#3d4a61;font-weight:500}

/* ---------- Feature checklist band ---------- */
.feats{background:var(--navy);color:#c9d5ea;padding:64px 0}
.feats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.feat{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px 22px;transition:.3s}
.feat:hover{transform:translateY(-5px);background:rgba(255,255,255,.09)}
.feat__ic{width:48px;height:48px;border-radius:12px;background:var(--blue);display:grid;place-items:center;flex:none}
.feat__ic svg{width:24px;height:24px;fill:#fff}
.feat strong{display:block;font-family:var(--font-h);color:#fff;font-size:15.5px;margin-bottom:4px}
.feat p{margin:0;font-size:13.8px;color:#a9b8d6}

/* ---------- Fun facts ---------- */
.funfact .section__title{color:#fff}
.funfact .funfact .kpi{border-color:rgba(255,255,255,.3)}
.funfacts{
  background:
    linear-gradient(90deg,rgba(8,17,36,.95),rgba(8,17,36,.8)),
    url('https://images.unsplash.com/photo-1526495124232-a04e1849168c?auto=format&fit=crop&w=1800&q=80') center/cover fixed;
  padding:70px 0;
}
.funfacts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.kpi{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;
  padding:34px 20px;text-align:center;transition:.3s;
}
.kpi:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.kpi .num{
  font-family:var(--font-h);font-size:clamp(38px,4vw,52px);font-weight:900;color:#fff;line-height:1;
  display:block;margin-bottom:8px;
}
.kpi .num span{color:var(--blue-light)}
.kpi label{
  font-family:var(--font-h);font-weight:700;font-size:13.5px;letter-spacing:.12em;
  text-transform:uppercase;color:#a9bcdc;
}

/* ---------- Info cards (contact) ---------- */
.cinfo{background:var(--bg-soft)}
.cinfo__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cinfo__card{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 26px;text-align:center;
  transition:.3s;box-shadow:var(--shadow);
}
.cinfo__card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.cinfo__card .ic{
  width:62px;height:62px;margin:0 auto 18px;border-radius:14px;background:var(--blue);
  display:grid;place-items:center;box-shadow:0 10px 22px rgba(21,101,216,.3);
}
.cinfo__card .ic svg{width:28px;height:28px;fill:#fff}
.cinfo__card h4{font-size:16px;margin-bottom:6px}
.cinfo__card p{font-size:14px;margin:0;color:var(--text)}
.cinfo__card a{display:block;font-weight:700;color:var(--blue);font-size:15px;word-break:break-word}
.cinfo__card a:hover{text-decoration:underline}

/* ---------- Downloads (support) ---------- */
.dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dl-card{
  display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:26px 24px;transition:.3s;box-shadow:var(--shadow);
}
.dl-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#cfe0f8}
.dl-card__ic{
  width:58px;height:58px;border-radius:12px;background:linear-gradient(135deg,#eef4fe,#dbe9fc);
  display:grid;place-items:center;flex:none;color:var(--blue);
}
.dl-card__ic svg{width:28px;height:28px;fill:none;stroke:var(--blue);stroke-width:1.8}
.dl-card h3{font-size:15.5px;margin-bottom:3px}
.dl-card span{font-size:12.5px;color:#8b95a7;text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.dl-card .arr{margin-left:auto;color:var(--blue);transition:.25s}
.dl-card .arr svg{width:18px;height:18px;stroke:var(--blue);fill:none;stroke-width:2}
.dl-card:hover .arr{transform:translateX(5px)}

/* ---------- Key staff ---------- */
.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.staff{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);transition:.3s;display:flex;flex-direction:column;
}
.staff:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.staff__media{position:relative;aspect-ratio:16/8;overflow:hidden}
.staff__media img{width:100%;height:100%;object-fit:cover;transition:.5s}
.staff:hover .staff__media img{transform:scale(1.06)}
.staff__role{
  position:absolute;left:18px;bottom:-19px;z-index:2;background:var(--blue);color:#fff;
  font-family:var(--font-h);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:10px 16px;border-radius:8px;box-shadow:0 10px 24px rgba(21,101,216,.35);
}
.staff__body{padding:34px 24px 26px;display:flex;flex-direction:column;flex:1}
.staff__body h3{font-size:18px}
.staff__body p{font-size:14.3px;margin:0}
.staff__initial{
  position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;
  font-family:var(--font-h);font-weight:900;font-size:52px;letter-spacing:.05em;
}

/* ---------- Article (blog detail) ---------- */
.article{max-width:820px}
.article__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.article__meta span,.article__meta a{
  font-family:var(--font-h);font-size:12.5px;font-weight:700;color:var(--blue);
  background:#e9f2ff;padding:5px 12px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;
}
.article h2{font-size:clamp(21px,2.4vw,27px);text-transform:none;margin-top:22px}
.article p{font-size:15.4px}
.article ul{list-style:none;display:grid;gap:10px;margin:0 0 22px}
.article ul li{position:relative;padding-left:26px;font-size:15px;color:var(--text)}
.article ul li::before{
  content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--blue);
}
.article figure{margin:26px 0}
.article figure img{border-radius:12px;width:100%;aspect-ratio:16/8;object-fit:cover}
.tags-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}

/* ---------- Project detail ---------- */
.pj-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.pj-hero__img{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg)}
.pj-hero__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pj-hero__content h1{font-size:clamp(26px,3vw,38px)}
.pj-hero .loc-tag{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--font-h);font-weight:700;
  font-size:13px;color:var(--blue);background:#e9f2ff;border-radius:6px;padding:7px 13px;margin-bottom:16px;
}
.pj-hero .loc-tag svg{width:14px;height:14px;fill:var(--blue)}
.pj-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
.pj-kpi{
  display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#f4f8fe,#e8f0fb);
  border:1px solid #dbE7f7;border-radius:12px;padding:18px;
}
.pj-kpi b{font-family:var(--font-h);font-size:21px;font-weight:900;color:var(--blue-2)}
.pj-kpi span{font-size:12.5px;color:#7c8799;text-transform:uppercase;font-weight:600}
.pj-scope h2{margin-top:0}
.pj-scope ul{margin:6px 0 0;display:grid;gap:12px}
.pj-scope ul li{
  position:relative;padding-left:46px;font-size:15px;color:var(--text);
}
.pj-scope ul li::before{
  content:"";position:absolute;left:8px;top:7px;width:20px;height:20px;border-radius:50%;
  background:#e3f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7' fill='none' stroke='%231565d8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* ---------- Service page solution blocks ---------- */
.sol{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
  padding:26px 0;border-top:1px solid var(--line);
}
.sol:first-of-type{border-top:0;padding-top:0}
.sol__img{border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.sol__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sol__img--rev{order:2}
.sol h3{font-size:20px}
.sol p{font-size:14.8px}

/* ---------- Sidebar (service pages) ---------- */
.withside{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}
.side{position:sticky;top:100px;display:grid;gap:24px}
.side__box{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 24px;box-shadow:var(--shadow);
}
.side__box h4{
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;
  padding-bottom:12px;border-bottom:2px solid var(--bg-soft);
}
.side__box ul{display:grid;gap:9px}
.side__box a{
  color:#3a4a63;font-family:var(--font-h);font-weight:600;font-size:14px;transition:.2s;
  display:flex;align-items:center;gap:8px;
}
.side__box a::before{content:"›";color:var(--blue);font-weight:900}
.side__box a.is-active,.side__box a:hover{color:var(--blue);transform:translateX(3px)}
.side__contact{
  background:linear-gradient(150deg,#1f6ae0,#0f4bb0 60%,#0c3d94);color:#e7f0ff;border-radius:12px;
  padding:28px 24px;box-shadow:0 18px 40px rgba(15,75,176,.3);
}
.side__contact h4{color:#fff;font-size:17px;margin-bottom:8px}
.side__contact p{font-size:14px;color:#d3e2fc;margin-bottom:18px}

/* ---------- CTA band ---------- */
.ctaband{
  background:
    linear-gradient(90deg,rgba(8,17,36,.95),rgba(8,17,36,.78)),
    url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=1800&q=80') center/cover;
  padding:64px 0;
}
.ctaband__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ctaband h2{color:#fff;font-size:clamp(22px,2.8vw,32px);margin-bottom:6px}
.ctaband p{color:#b9c7e2;margin:0;font-size:15px}
.ctaband .btns{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Map + form ---------- */
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.mapbox{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.mapbox iframe{width:100%;height:420px;border:0;display:block}
.contactform{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:var(--shadow);
}
.contactform h3{font-size:20px;margin-bottom:18px}
.contactform .quoteform{margin-top:0;padding-top:0;border-top:0;color:var(--text)}
.contactform .quoteform input,.contactform .quoteform textarea{
  border:1px solid var(--line);background:#f8fafd;color:var(--ink);
}
.contactform .quoteform input:focus,.contactform .quoteform textarea:focus{
  border-color:var(--blue);background:#fff;
}
.contactform .quoteform input::placeholder,.contactform .quoteform textarea::placeholder{color:#93a0b4}
.contactform .quoteform input.is-error,.contactform .quoteform textarea.is-error{border-color:#e5372c;background:#fdf0ef}
.contactform .quoteform__msg{color:#178a4f;min-height:18px}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .funfacts{background-attachment:scroll}
  .feats__grid,.funfacts__grid{grid-template-columns:1fr 1fr}
  .cinfo__grid{grid-template-columns:1fr 1fr}
  .staff-grid{grid-template-columns:1fr}
  .withside{grid-template-columns:1fr}
  .side{position:static}
  .pj-hero,.sol,.contact-split{grid-template-columns:1fr;gap:28px}
  .sol__img--rev{order:0}
  .dl-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .pagebanner__inner{padding:48px 0 44px}
  .feats__grid,.funfacts__grid,.cinfo__grid,.dl-grid,.pj-kpis{grid-template-columns:1fr}
  .ctaband__inner{justify-content:center;text-align:center}
  .article{max-width:none}
}

/* ---------- Blog (DB-driven listing + article) ---------- */
.blogtools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0 26px}
.blogsearch{display:flex;gap:8px;flex:1;min-width:260px;max-width:430px}
.blogsearch input{flex:1;padding:11px 14px;border:1px solid #d5deec;border-radius:99px;font:inherit;font-size:14px;background:#fff}
.blogsearch .btn{border-radius:99px;padding:10px 20px}
.blogcats{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;padding:7px 15px;border:1px solid #d5deec;border-radius:99px;background:#fff;color:#1c2434;font-size:13px;font-weight:600;text-decoration:none;transition:.2s}
.chip:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 3px 10px rgba(21,82,184,.1)}
.chip.is-on{background:var(--blue,#1552b8);border-color:var(--blue,#1552b8);color:#fff}
.cardmeta{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#7c8aa5;margin-bottom:6px}
.blogpager{display:flex;gap:7px;justify-content:center;margin-top:34px}
.blogpager a,.blogpager .pager-cur{min-width:40px;padding:9px 0;text-align:center;border:1px solid #d5deec;border-radius:9px;color:#1c2434;font-weight:600;font-size:14px;text-decoration:none;background:#fff}
.blogpager .pager-cur{background:var(--blue,#1552b8);border-color:var(--blue,#1552b8);color:#fff}
.blogpager a:hover{background:#eef2f8}

/* =========================================================
   HUB banner depth (so floating stat cards overlap nicely)
   ========================================================= */
[data-css="hub"] .pagebanner__inner{padding-bottom:118px}
@media (max-width:900px){[data-css="hub"] .pagebanner__inner{padding-bottom:96px}}

/* =========================================================
   PROJECT CASE-STUDY PAGES  (data-css="case" scope)
   ========================================================= */
[data-css="case"] .pagebanner__inner{padding-bottom:86px}

/* fact pills row under banner — overlaps banner bottom */
.case-pills{display:flex;flex-wrap:wrap;gap:10px;margin:-58px 0 0;position:relative;z-index:6}
.case-pills li{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e9f5;
  border-radius:999px;padding:10px 20px;font:700 13.5px var(--font-h);color:#24344f;
  box-shadow:0 12px 30px rgba(10,23,48,.12)}
.case-pills li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none}
.case-pills li svg{width:16px;height:16px;stroke:var(--blue);fill:none;stroke-width:2;flex:none}

/* pills bar (was .tabs) */
[data-css="case"] .tabs{display:flex;flex-wrap:wrap;gap:9px;margin:34px 0 30px;padding:0;background:none;border:none}
[data-css="case"] .tabs li{list-style:none;margin:0}
[data-css="case"] .tabs a{display:inline-block;background:var(--bg-soft,#f4f7fc);border:1.5px solid #e2e9f5;
  color:#31405c;font:700 13px var(--font-h);padding:9px 20px;border-radius:999px;transition:.25s}
[data-css="case"] .tabs li.is-active a,.tabs li.is-active>a{background:var(--blue);border-color:var(--blue);color:#fff;
  box-shadow:0 8px 18px rgba(21,101,216,.3)}
[data-css="case"] .tabs a:hover{border-color:var(--blue);color:var(--blue)}
[data-css="case"] .tabs li.is-active a:hover{color:#fff}

/* spec table to card */
[data-css="case"] .vtable{border-radius:16px;overflow:hidden;border:1px solid #e3eaf6;box-shadow:0 14px 36px rgba(10,23,48,.08);margin:0 0 10px}
[data-css="case"] .vtable table{width:100%;border-collapse:collapse}
[data-css="case"] .vtable tr{border-bottom:1px solid #edf1f9}
[data-css="case"] .vtable tr:last-child{border-bottom:0}
[data-css="case"] .vtable tr:nth-child(odd){background:#fff}
[data-css="case"] .vtable tr:nth-child(even){background:#f8fafd}
[data-css="case"] .vtable th{text-align:left;font:800 12px var(--font-h);letter-spacing:.08em;text-transform:uppercase;
  color:#7486a5;width:170px;padding:15px 18px 15px 24px;vertical-align:middle}
[data-css="case"] .vtable td{padding:15px 24px 15px 12px;font-size:15px;color:#222d42}
[data-css="case"] .vtable a{color:var(--blue);text-decoration:underline}
[data-css="case"] .vtable a:hover{color:var(--blue-2)}

/* photo collage */
[data-css="case"] .duo{display:grid;grid-template-columns:7fr 5fr;gap:22px;align-items:stretch}
[data-css="case"] .duo img{width:100%;height:100%;object-fit:cover;border-radius:18px;
  box-shadow:0 16px 40px rgba(10,23,48,.14);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
[data-css="case"] .duo>div{overflow:hidden;border-radius:18px;position:relative;height:100%}
[data-css="case"] .duo>div:first-child{aspect-ratio:16/10}
[data-css="case"] .duo>div:last-child{aspect-ratio:5/6;height:auto}
[data-css="case"] .duo>div:hover img{transform:scale(1.05)}
[data-css="case"] .duo>div::after{content:"";position:absolute;inset:0;border-radius:18px;border:2px solid rgba(21,101,216,0);transition:.3s}
[data-css="case"] .duo>div:hover::after{border-color:rgba(21,101,216,.5)}
[data-css="case"] .duo>div::before{content:"Al Ain University — site photo";display:none}
@media (max-width:720px){[data-css="case"] .duo{grid-template-columns:1fr}.duo>div:last-child{aspect-ratio:16/10}}

/* article headings get a kicker bar */
[data-css="case"] .article h2,.post-body h2{font-size:clamp(21px,2.4vw,28px)}
[data-css="case"] .article h2::before,.post-body h2::before{content:"";display:block;width:46px;height:4px;
  border-radius:3px;background:var(--blue);margin-bottom:12px}

/* note to callout */
[data-css="case"] .article__note,.post-callout{background:#eef4fe;border:1px solid #cfe0fb;border-left:4px solid var(--blue);
  border-radius:12px;padding:18px 22px;color:#27354e;font-size:14.5px;margin-top:26px}

/* “quick facts hero card” for case pages */
.case-card{background:#fff;border-radius:18px;box-shadow:0 18px 44px rgba(10,23,48,.12);padding:30px 32px;margin-top:-64px;
  position:relative;z-index:6}
.case-card__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.case-card div b{display:block;font:800 clamp(1.25rem,2.2vw,1.7rem)/1.15 var(--font-h);color:var(--navy)}
.case-card div span{font-size:12.5px;color:#5b6b85;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
@media (max-width:900px){.case-card{margin-top:-48px}.case-card__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.case-card__grid{grid-template-columns:1fr}}

/* =========================================================
   BLOG v2 — listing cards
   ========================================================= */
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.bl-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e7edf7;
  box-shadow:0 8px 24px rgba(10,23,48,.06);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.bl-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(10,23,48,.16)}
.bl-card__img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}
.bl-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.bl-card:hover .bl-card__img img{transform:scale(1.08)}
.bl-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,48,0) 55%,rgba(10,23,48,.5));pointer-events:none}
.bl-card__cat{position:absolute;top:14px;left:14px;z-index:2;background:var(--blue);color:#fff;
  font:700 11.5px var(--font-h);letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.bl-card__date{position:absolute;bottom:12px;left:14px;z-index:2;color:#fff;font:600 12.5px var(--font-h);
  display:inline-flex;align-items:center;gap:6px}
.bl-card__date svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.bl-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.bl-card__body h3{margin:0;font-size:clamp(1.05rem,1.9vw,1.28rem);line-height:1.3}
.bl-card__body h3 a{color:var(--ink)}
.bl-card__body h3 a:hover{color:var(--blue)}
.bl-card__body p{margin:0;font-size:14.2px;color:#5b6b85;flex:1}
.bl-card__more{display:inline-flex;align-items:center;gap:7px;font:700 13.5px var(--font-h);color:var(--blue);margin-top:2px}
.bl-card__more svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .25s}
.bl-card:hover .bl-card__more svg{transform:translateX(4px)}

/* blog search + chips polish */
.blogsearch{position:relative;flex:1;min-width:260px;max-width:420px}
.blogsearch input{width:100%;border:1.5px solid #dbe4f1;border-radius:999px;padding:11px 118px 11px 40px;
  font-size:14.5px;background:#fff;box-shadow:0 6px 18px rgba(10,23,48,.05)}
.blogsearch input:focus{outline:none;border-color:var(--blue)}
.blogsearch::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237486a5' stroke-width='2.4'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.8-3.8'/></svg>") no-repeat center/contain}
.blogsearch .btn{position:absolute;right:5px;top:5px;bottom:5px;border-radius:999px;font-size:13.5px;padding:0 20px}
.blogcats{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.blogcats .chip{border:1.5px solid #dbe4f1;background:#fff;color:#31405c;font:700 13px var(--font-h);
  padding:8px 18px;border-radius:999px;text-decoration:none;transition:.2s}
.blogcats .chip:hover{border-color:var(--blue);color:var(--blue)}
.blogcats .chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff}

/* =========================================================
   BLOG DETAIL — hero figure + meta + body polish
   ========================================================= */
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-52px 0 26px;position:relative;z-index:6}
.post-meta span,.post-meta a{background:#fff;border:1px solid #e2e9f5;border-radius:999px;padding:8px 18px;
  font:600 13px var(--font-h);color:#31405c;box-shadow:0 10px 26px rgba(10,23,48,.12);text-decoration:none}
.post-meta a:hover{color:var(--blue)}
.post-meta .post-meta__cat{background:var(--blue);border-color:var(--blue);color:#fff}
.post-hero{margin:0 0 30px}
.post-hero img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:20px;box-shadow:0 20px 50px rgba(10,23,48,.18)}
.post-body .article figure{margin:30px 0}
.post-body .article figure img{border-radius:16px;box-shadow:0 14px 36px rgba(10,23,48,.12)}
.post-body .article img{border-radius:14px}
.post-body .article h3{font-size:19px;margin-top:20px}
.post-body .article blockquote{border-left:4px solid var(--blue);background:#f4f8ff;padding:16px 22px;
  border-radius:0 12px 12px 0;color:#27354e;margin:0 0 22px;font-size:15.5px}
.post-back{display:inline-flex;align-items:center;gap:8px;font:700 13.5px var(--font-h);color:var(--blue);
  text-decoration:none;margin-bottom:22px}
.post-back:hover{color:var(--blue-2)}
[data-css="post"] .pagebanner__inner{padding-bottom:96px}

/* =========================================================
   CASE v3 — fact card + gallery band (overrides earlier block)
   ========================================================= */
.case-gallery{background:var(--bg-soft)}

.case-card{background:#fff;border-radius:18px;box-shadow:0 18px 44px rgba(10,23,48,.13);
  padding:26px 30px 24px;margin:-56px 0 0;position:relative;z-index:6}
.case-card__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.case-card__grid div{padding-left:14px;border-left:3px solid rgba(21,101,216,.35)}
.case-card__grid span{display:block;font:700 11px var(--font-h);letter-spacing:.09em;
  text-transform:uppercase;color:#7486a5;margin-bottom:5px}
.case-card__grid b{font:700 14.5px/1.45 var(--font-h);color:var(--ink);font-weight:600}
.case-card__grid b a{color:var(--blue);text-decoration:underline}
.case-card__grid b a:hover{color:var(--blue-2)}
@media (max-width:900px){.case-card{margin-top:-46px;padding:20px 22px}.case-card__grid{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:560px){.case-card__grid{grid-template-columns:1fr}}

[data-css="case"] .duo{padding:0}
.case-gallery .duo{padding-top:6px}
.case-gallery+.section{background:#fff}

/* pills sit slightly above the card: tighten pills row bottom gap */
.case-pills{margin-bottom:0}
.case-pills li{transition:.2s}
.case-pills li:hover{transform:translateY(-3px);border-color:var(--blue)}

/* article kicker bars kept; tighter top spacing after gallery */
[data-css="case"] .article h2:first-of-type::before{margin-top:2px}

/* =========================================================
   PROJECT GALLERY BAND v4 — navy showcase, framed photos
   ========================================================= */
.case-gallery{position:relative;overflow:hidden;
  background:linear-gradient(180deg,#0a1730 0%,var(--navy) 55%,#0a1730 100%);
  padding:70px 0 86px}
.case-gallery::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:
    linear-gradient(rgba(77,157,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(77,157,255,.07) 1px,transparent 1px);
  background-size:44px 44px}
.case-gallery::after{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;
  border-radius:50%;background:radial-gradient(closest-side,rgba(21,101,216,.35),transparent 70%);pointer-events:none}

/* small kicker on the band */
[data-css="case"] .case-gallery .duo::before{content:"FROM THIS PROJECT";
  display:block;font:800 13px var(--font-h);letter-spacing:.22em;color:#6fa6ff;margin-bottom:26px}

/* framed photos */
[data-css="case"] .duo{display:grid;grid-template-columns:7fr 5fr;gap:38px;align-items:start}
[data-css="case"] .duo>div{position:relative;width:100%;border-radius:20px;
  box-shadow:0 30px 70px rgba(3,10,24,.55);margin:0;aspect-ratio:unset}
[data-css="case"] .duo>div:first-child{aspect-ratio:16/10;transform:rotate(-.7deg)}
[data-css="case"] .duo>div:last-child{aspect-ratio:6.5/8;margin-top:52px;transform:rotate(.9deg)}
[data-css="case"] .duo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;
  border:7px solid #fff;box-shadow:0 10px 26px rgba(3,10,24,.4);
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
[data-css="case"] .duo>div:hover{transform:rotate(0deg)}
[data-css="case"] .duo>div:hover img{transform:scale(1.04)}
[data-css="case"] .duo>div::after{content:"";position:absolute;inset:-2px;border-radius:20px;
  box-shadow:0 0 0 2px rgba(255,255,255,.14) inset;pointer-events:none}

/* tags on the frames */
[data-css="case"] .duo>div::before{position:absolute;left:22px;bottom:22px;z-index:3;
  display:inline-flex;align-items:center;gap:8px;background:rgba(8,17,36,.82);color:#fff;
  font:700 11.5px var(--font-h);letter-spacing:.12em;text-transform:uppercase;
  padding:8px 15px;border-radius:999px;backdrop-filter:blur(6px);
  box-shadow:0 8px 20px rgba(3,10,24,.5)}
[data-css="case"] .duo>div::before{content:"ON-SITE WORKS"}
[data-css="case"] .duo>div:nth-child(2)::before{content:"DETAIL WORK"}

@media (max-width:820px){
  [data-css="case"] .duo{grid-template-columns:1fr;gap:26px}
  [data-css="case"] .duo>div:first-child,.duo>div:last-child{transform:none;margin-top:0;aspect-ratio:16/10}
  .case-gallery{padding:52px 0 60px}
}

/* =========================================================
   CASE v5 FINAL — icon fact card, numbered steps, clean duo
   ========================================================= */
[data-css="case"] .pagebanner__inner{padding-bottom:104px}

/* fact card: icon tiles */
.case-card{background:#fff;border-radius:20px;box-shadow:0 24px 56px rgba(10,23,48,.16);
  padding:30px 34px 28px;margin:-62px 0 0;position:relative;z-index:6;overflow:hidden}
.case-card::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--blue),var(--blue-light) 55%,transparent)}
.case-card__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.cs-cell{display:flex;gap:13px;align-items:flex-start}
.cc-ic{width:42px;height:42px;flex:none;border-radius:12px;background:#eef4fe;color:var(--blue);
  display:grid;place-items:center}
.cc-ic svg{width:21px;height:21px}
.cs-cell span{display:block;font:700 10.5px var(--font-h);letter-spacing:.1em;text-transform:uppercase;color:#7486a5;margin:1px 0 4px}
.cs-cell b{font:600 14px/1.5 var(--font-h);color:var(--ink)}
.cs-cell b a{color:var(--blue)}
.case-card:hover{transform:translateY(-4px);box-shadow:0 30px 64px rgba(10,23,48,.2)}
@media (max-width:980px){.case-card__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.case-card{padding:22px 20px;margin-top:-52px}.case-card__grid{grid-template-columns:1fr}}

/* numbered step headings in the article */
.cs-step{display:flex;align-items:center;gap:14px}
.cs-step i{width:44px;height:44px;flex:none;border-radius:50%;background:var(--blue);color:#fff;
  font:800 15px var(--font-h);font-style:normal;display:grid;place-items:center;
  box-shadow:0 10px 22px rgba(21,101,216,.35)}
.cs-step::before{display:none}

/* article reading rhythm */
[data-css="case"] .article{max-width:800px}
[data-css="case"] .article p{font-size:15.6px;line-height:1.78;color:#33415c}
[data-css="case"] .article h2{margin-top:38px}

/* gallery: clean frames, no tilt */
[data-css="case"] .duo{grid-template-columns:7fr 5fr;gap:34px;align-items:start}
[data-css="case"] .duo>div{transform:none !important}
[data-css="case"] .duo>div:first-child{aspect-ratio:16/10}
[data-css="case"] .duo>div:last-child{aspect-ratio:16/10;margin-top:46px;transform:translateY(0) !important}
[data-css="case"] .duo>div:hover{transform:translateY(-6px) !important}
[data-css="case"] .duo>div{transition:transform .35s}

/* banner lead reads like a brief under the title */
.pagebanner p{opacity:.92}

/* =========================================================
   CASE v6 — parallel fact cards + photos in card shells
   ========================================================= */
/* the wrapper becomes invisible; the 4 cells ARE the cards */
.case-card{background:transparent !important;box-shadow:none !important;padding:0 !important;
  margin:-64px 0 0 !important;transform:none !important;overflow:visible !important}
.case-card::before{content:none !important}
.case-card__grid{gap:20px}
.cs-cell{background:#fff;border-radius:18px;padding:22px 20px 18px;
  box-shadow:0 18px 44px rgba(10,23,48,.16);
  border-bottom:3px solid var(--blue);
  flex-direction:column;align-items:flex-start;gap:0;
  transition:transform .3s,box-shadow .3s}
.cs-cell:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(10,23,48,.24)}
.cc-ic{margin-bottom:14px;transition:.3s}
.cs-cell:hover .cc-ic{background:var(--blue);color:#fff}
.cs-cell span{margin-bottom:7px}
@media (max-width:600px){.cs-cell{padding:18px 16px 16px}}

/* gallery: photo in a white card shell */
[data-css="case"] .duo>div{background:#fff;border-radius:22px;padding:13px;
  box-shadow:0 30px 64px rgba(3,10,24,.55)}
[data-css="case"] .duo img{border:0;border-radius:13px;box-shadow:none}
[data-css="case"] .duo>div::after{content:"";position:absolute;inset:13px;border-radius:13px;pointer-events:none}
[data-css="case"] .duo>div::before{top:auto;left:25px;bottom:25px}
@media (max-width:820px){.duo>div{padding:11px}.duo>div::before{left:22px;bottom:22px}}

/* =========================================================
   CASE v7 FINAL — two-column structure: sticky sheet + timeline
   ========================================================= */
.cs-layout{display:grid;grid-template-columns:290px 1fr;gap:52px;align-items:start}

/* sticky project sheet */
.cs-sheet{position:sticky;top:92px;background:#fff;border:1px solid #e3eaf6;border-radius:18px;
  padding:24px 24px 22px;box-shadow:0 20px 44px rgba(10,23,48,.09)}
.cs-sheet__top{display:inline-flex;align-items:center;gap:8px;font:800 11px var(--font-h);
  letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.cs-sheet__dot{width:7px;height:7px;border-radius:50%;background:var(--blue);
  box-shadow:0 0 0 4px rgba(21,101,216,.15)}
.cs-sheet h3{font-size:19px;line-height:1.3;margin:0 0 16px}
.cs-sheet__list{list-style:none;margin:0;padding:0}
.cs-sheet__list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:10px 0;border-bottom:1px dashed #dde6f3}
.cs-sheet__list li:last-child{border-bottom:0}
.cs-sheet__list span{font:600 12px var(--font-h);letter-spacing:.06em;text-transform:uppercase;color:#7486a5;flex:none}
.cs-sheet__list b{font:600 13.5px/1.45 var(--font-h);color:var(--ink);text-align:right}
.cs-sheet__link{display:inline-block;margin-top:12px;font:700 13px var(--font-h);color:var(--blue);text-decoration:none}
.cs-sheet__link:hover{color:var(--blue-2);text-decoration:underline}
.cs-sheet__cta{display:grid;gap:10px;margin-top:18px}
.cs-sheet__cta .btn{width:100%;text-align:center;font-size:13.5px}
.cs-sheet__tel{display:block;text-align:center;font:800 15px var(--font-h);color:var(--navy);
  border:1.5px solid #dbe4f1;border-radius:10px;padding:10px;text-decoration:none;transition:.2s}
.cs-sheet__tel:hover{border-color:var(--blue);color:var(--blue)}

/* timeline: numbered blocks with connector line */
.cs-narr .cs-block{display:grid;grid-template-columns:46px 1fr;gap:22px;position:relative;padding-bottom:38px}
.cs-narr .cs-block:last-child,.cs-narr .cs-block--last{padding-bottom:0}
.cs-narr .cs-block::before{content:"";position:absolute;left:22px;top:50px;bottom:6px;width:2px;
  background:linear-gradient(#cfe0fb 0%,rgba(207,224,251,.15));border-radius:2px}
.cs-narr .cs-block--last::before,.cs-narr .cs-block:last-child::before{content:none}
.cs-block__num{width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;
  font:800 16px var(--font-h);display:grid;place-items:center;
  box-shadow:0 10px 24px rgba(21,101,216,.35);position:relative;z-index:2}
.cs-block__txt h2{margin:6px 0 12px;font-size:clamp(20px,2.2vw,26px);display:flex;align-items:center;gap:12px}
.cs-block__txt h2 i{display:none}
.cs-block__txt p{font-size:15.6px;line-height:1.78;color:#33415c;margin:0 0 14px}
.cs-block__txt p:last-child{margin-bottom:0}

@media (max-width:960px){
  .cs-layout{grid-template-columns:1fr;gap:38px}
  .cs-sheet{position:static;order:2}
  .cs-narr{order:1}
}

/* =========================================================
   NEXT ROOFS v2 — image-first case cards
   ========================================================= */
.next-roofs{background:var(--bg-soft)}
.nr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nr-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid #e7edf7;box-shadow:0 10px 26px rgba(10,23,48,.07);
  text-decoration:none;transition:transform .3s,box-shadow .3s;color:inherit}
.nr-card:hover{transform:translateY(-7px);box-shadow:0 26px 54px rgba(10,23,48,.17)}
.nr-card__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.nr-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.nr-card:hover .nr-card__img img{transform:scale(1.08)}
.nr-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,48,0) 60%,rgba(10,23,48,.45));pointer-events:none}
.nr-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--blue);color:#fff;
  font:700 11.5px var(--font-h);letter-spacing:.07em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.nr-card__body{display:flex;flex-direction:column;gap:7px;padding:20px 22px 20px;flex:1}
.nr-type{font:700 12px var(--font-h);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.nr-card__body h3{margin:0;font-size:19px;line-height:1.3}
.nr-card:hover .nr-card__body h3{color:var(--blue)}
.nr-loc{display:flex;align-items:center;gap:7px;font-size:13.5px;color:#5b6b85}
.nr-loc svg{width:14px;height:14px;flex:none;stroke:var(--blue)}
.nr-more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:12px;
  font:700 13.5px var(--font-h);color:var(--blue)}
.nr-more svg{width:15px;height:15px;transition:transform .25s}
.nr-card:hover .nr-more svg{transform:translateX(4px)}
.nr-all{text-align:center;margin-top:44px}
.nr-all .btn{font-weight:800}
@media (max-width:900px){.nr-grid{grid-template-columns:1fr;gap:20px}}

/* =========================================================
   CONTACT PAGE — centered big form
   ========================================================= */
[data-css="contact"] .pagebanner__inner{padding-bottom:132px}

/* form card: centered, overlapping banner */
.cform-wrap{background:#fff;padding:0 0 74px}
.cform-card{max-width:680px;margin:-152px auto 0;position:relative;z-index:6;
  background:#fff;border-radius:24px;padding:44px 48px 48px;
  box-shadow:0 40px 90px rgba(10,23,48,.22);border-top:4px solid var(--blue)}
.cform-card__tag{display:inline-block;background:#eef4fe;color:var(--blue);
  font:700 12px var(--font-h);letter-spacing:.1em;text-transform:uppercase;
  padding:7px 16px;border-radius:999px;margin-bottom:14px}
.cform-card h2{font-size:clamp(24px,3vw,32px);margin:0 0 10px}
.cform-card h2 span{color:var(--blue)}
.cform-card__sub{color:#4a5a76;font-size:15.5px;margin:0 0 26px;max-width:52ch}

/* light form restyle (overrides dark .quoteform defaults from style.css) */
.cform-card .quoteform{border-top:0;padding-top:0;margin-top:0;gap:14px}
.cform-card .quoteform input[type="text"],.cform-card .quoteform input[type="tel"],
.cform-card .quoteform input[type="email"],.cform-card .quoteform textarea{
  background:#f4f7fc;border:1.5px solid #dfe7f3;border-radius:12px;
  color:#1c2434;font-size:15.5px;padding:14px 16px;
  box-shadow:inset 0 1px 2px rgba(10,23,48,.03);transition:border .2s,box-shadow .2s}
.cform-card .quoteform input::placeholder,.cform-card .quoteform textarea::placeholder{color:#8a99b3}
.cform-card .quoteform input:focus,.cform-card .quoteform textarea:focus{
  outline:none;border-color:var(--blue);background:#fff;
  box-shadow:0 0 0 4px rgba(21,101,216,.12)}
.cform-card .quoteform input.is-error,.cform-card .quoteform textarea.is-error{
  border-color:var(--red);background:#fff4f3}
.cform-card .quoteform{grid-template-columns:1fr 1fr}
.cform-card .quoteform input[type="text"][name="subject"],.cform-card .quoteform textarea,
.cform-card .quoteform .consent,.cform-card .quoteform .btn,.cform-card .quoteform .hp,
.cform-card .quoteform [type="hidden"],.cform-card .quoteform .quoteform__msg{grid-column:1 / -1}
.cform-card .quoteform .btn{padding:16px;font-size:15.5px;font-weight:800}
.cform-card .quoteform .consent{font-size:13.5px;color:#4a5a76}
.cform-card .quoteform .consent a{color:var(--blue)}
@media (max-width:640px){.cform-card{padding:30px 22px 34px;margin-top:-120px}.cform-card .quoteform{grid-template-columns:1fr}}

/* channel cards row */
.cch{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.cch__card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid #e3eaf6;
  border-radius:16px;padding:20px 22px;text-decoration:none;transition:.25s;
  box-shadow:0 12px 30px rgba(10,23,48,.07)}
.cch__card:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 22px 46px rgba(10,23,48,.14)}
.cch__ic{width:52px;height:52px;flex:none;border-radius:14px;background:#eef4fe;color:var(--blue);
  display:grid;place-items:center}
.cch__ic svg{width:25px;height:25px}
.cch__card b{display:block;font:700 15px var(--font-h);color:var(--ink)}
.cch__card span span{display:block;font-size:13px;color:#5b6b85}
@media (max-width:820px){.cch{grid-template-columns:1fr}}

/* location / hours cards */
.cinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cinfo__card{background:var(--bg-soft);border-radius:16px;padding:24px;border:1px solid #e3eaf6}
.cinfo__card h3{font-size:15px;margin:0 0 8px;color:var(--blue)}
.cinfo__card p{margin:0;font-size:14.5px;color:#33415c;line-height:1.6}
@media (max-width:820px){.cinfo{grid-template-columns:1fr}}

/* =========================================================
   QUOTE PAGE — same design language as contact
   ========================================================= */
[data-css="quote"] .pagebanner__inner{padding-bottom:132px}

/* steps row under the form card */
.csteps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.cstep{background:#fff;border:1.5px solid #e3eaf6;border-radius:16px;padding:24px 22px;
  box-shadow:0 12px 30px rgba(10,23,48,.07);transition:.25s;
  display:flex;flex-direction:column;gap:8px}
.cstep:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 22px 46px rgba(10,23,48,.14)}
.cstep__num{align-self:flex-start;width:40px;height:40px;border-radius:12px;background:#eef4fe;
  color:var(--blue);font:800 15px var(--font-h);display:grid;place-items:center;margin-bottom:4px}
.cstep b{font:800 15.5px var(--font-h);color:var(--ink)}
.cstep p{margin:0;font-size:13.5px;line-height:1.6;color:#5b6b85}
.cstep a{color:var(--blue)}
@media (max-width:900px){.csteps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.csteps{grid-template-columns:1fr}}

/* ===== vX: CERTIFICATIONS pdf cards (certifications page) ===== */
[data-css="cert1"] .ct-sec{padding:64px 0 20px}
[data-css="cert1"] .ct-head{max-width:780px;margin:0 auto 44px;text-align:center}
[data-css="cert1"] .ct-lede{color:#5a6a86;font-size:15.5px;line-height:1.7;margin:14px auto 0}
[data-css="cert1"] .ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
[data-css="cert1"] .ct{display:flex;flex-direction:column;background:#fff;border:1px solid #e6edf7;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(12,28,58,.25);transition:.25s}
[data-css="cert1"] .ct:hover{transform:translateY(-6px);box-shadow:0 24px 48px -20px rgba(12,28,58,.35)}
[data-css="cert1"] .ct__vis{display:grid;place-items:center;background:linear-gradient(160deg,#eef4fc 0%,#fff 100%);border-bottom:1px solid #e6edf7;padding:26px 18px;min-height:190px}
[data-css="cert1"] .ct__vis img{width:126px;height:126px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 12px 28px -12px rgba(12,28,58,.35);padding:6px}
[data-css="cert1"] .ct__seal{width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font:600 11px/1.2 var(--font-b);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 12px 28px -12px rgba(12,28,58,.35)}
[data-css="cert1"] .ct__seal i{font:800 26px/1 var(--font-h);font-style:normal;letter-spacing:.04em}
[data-css="cert1"] .ct__seal--vat{background:linear-gradient(140deg,#1d7a45,#2fa461)}
[data-css="cert1"] .ct__seal--tl{background:linear-gradient(140deg,#8a5a1d,#c8862a)}
[data-css="cert1"] .ct__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
[data-css="cert1"] .ct__body b{font:700 17px/1.3 var(--font-h);color:var(--navy)}
[data-css="cert1"] .ct__sub{display:block;color:var(--blue);font:600 12.5px var(--font-b);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 10px}
[data-css="cert1"] .ct__body p{margin:0 0 16px;font-size:13.5px;line-height:1.65;color:#5a6a86;flex:1}
[data-css="cert1"] .ct__dl{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;border-radius:999px;padding:11px 22px;font:600 13.5px var(--font-b);text-decoration:none;align-self:flex-start;transition:.25s;box-shadow:0 10px 22px -10px rgba(21,101,216,.55)}
[data-css="cert1"] .ct__dl svg{width:17px;height:17px}
[data-css="cert1"] .ct__dl:hover{background:#0f54bd;transform:translateY(-2px);color:#fff}
[data-css="cert1"] .ct__dl--mail{background:#eef4fc;color:var(--blue);box-shadow:none}
[data-css="cert1"] .ct__dl--mail:hover{background:var(--blue);color:#fff}
[data-css="cert1"] .vtable{border-radius:16px;overflow:hidden;border:1px solid #e3eaf6;box-shadow:0 14px 36px rgba(10,23,48,.08);margin:0 0 10px}
[data-css="cert1"] .vtable table{width:100%;border-collapse:collapse}
[data-css="cert1"] .vtable tr{border-bottom:1px solid #edf1f9}
[data-css="cert1"] .vtable tr:last-child{border-bottom:0}
[data-css="cert1"] .vtable th,.vtable td{text-align:left;padding:14px 20px;font-size:14px;vertical-align:top}
[data-css="cert1"] .vtable th{background:#f2f7fd;color:var(--navy);font:600 13px var(--font-b);width:180px}
[data-css="cert1"] .vtable td{color:#45536e}
[data-css="cert1"] .article{max-width:960px;margin-inline:auto}
[data-css="cert1"] .article h2{font:800 clamp(22px,2.6vw,30px)/1.25 var(--font-h);color:var(--navy);margin:42px 0 18px}
[data-css="cert1"] .article h2 span{color:var(--blue)}
[data-css="cert1"] .article p{color:#45536e;font-size:15px;line-height:1.75}
[data-css="cert1"] .article a{color:var(--blue);text-decoration:none;font-weight:600}
[data-css="cert1"] .article a:hover{text-decoration:underline}
[data-css="cert1"] .checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 12px}
[data-css="cert1"] .check{position:relative;padding:14px 16px 14px 42px;background:#fff;border:1px solid #e6edf7;border-radius:12px;font-size:14px;color:#45536e;box-shadow:0 6px 18px -12px rgba(10,23,48,.15)}
[data-css="cert1"] .check::before{content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
[data-css="cert1"] .article__note{background:#eef4fc;border-left:4px solid var(--blue);border-radius:12px;padding:16px 20px;color:#38507a;font-size:14.5px}
[data-css="cert1"] .accordion{margin-top:8px}
[data-css="cert1"] .accordion__item{background:#fff;border:1px solid #e6edf7;border-radius:12px;margin-bottom:10px}
@media (max-width:1000px){[data-css="cert1"] .ct-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  [data-css="cert1"] .ct-grid{grid-template-columns:1fr}
  [data-css="cert1"] .checkgrid{grid-template-columns:1fr}
  [data-css="cert1"] .vtable th{width:auto;display:block}
  [data-css="cert1"] .vtable th,.vtable td{display:block;width:100%}
}

/* ===== vX: SERVICE PAGES redesign (svc) — hero card, UAE strip, carded sols ===== */
[data-css="svc"] .sv-top{padding:56px 0 26px;background:linear-gradient(180deg,#fff 0%,#f4f8fd 70%,#fff 100%)}
[data-css="svc"] .sv-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
[data-css="svc"] .svc-label{display:inline-block;color:var(--blue);font:700 13px var(--font-b);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
[data-css="svc"] .sv-hero__h{font:800 clamp(26px,3.4vw,40px)/1.18 var(--font-h);color:var(--navy);margin:0 0 14px}
[data-css="svc"] .sv-hero__h span{color:var(--blue)}
[data-css="svc"] .sv-hero__p{color:#54627e;font-size:15.5px;line-height:1.7;margin:0 0 22px}
[data-css="svc"] .sv-feats{display:flex;flex-direction:column;gap:10px;margin:0 0 26px}
[data-css="svc"] .sv-feat{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e6edf7;border-radius:12px;padding:10px 14px;font:600 13.5px/1.4 var(--font-b);color:#33425e;box-shadow:0 6px 16px -10px rgba(12,28,58,.12);width:fit-content;max-width:100%}
[data-css="svc"] .sv-feat svg{width:19px;height:19px;color:var(--blue);background:#e8f1ff;border-radius:7px;padding:4px;flex:none}
[data-css="svc"] .sv-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
[data-css="svc"] .svc-tel{color:var(--blue)}
[data-css="svc"] .svc-tel:hover{color:var(--navy)}
[data-css="svc"] .sv-hero__img{position:relative;padding:0 26px 26px 0}
[data-css="svc"] .sv-hero__img img{width:calc(100% - 26px);aspect-ratio:10/7.4;object-fit:cover;border-radius:20px;display:block;box-shadow:0 28px 60px -28px rgba(12,28,58,.5)}
[data-css="svc"] .sv-hero__img::before{content:"";position:absolute;left:-14px;top:26px;width:110px;height:110px;border-radius:22px;background:linear-gradient(140deg,rgba(21,101,216,.16),rgba(21,101,216,.05));z-index:-1}
[data-css="svc"] .sv-hero__img::after{content:"";position:absolute;right:6px;bottom:6px;width:96px;height:96px;border-radius:22px;background:linear-gradient(140deg,rgba(21,101,216,.2),transparent 70%)}
[data-css="svc"] .sv-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
[data-css="svc"] .sv-strip__item{margin:0;background:#fff;border:1px solid #e6edf7;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px -18px rgba(12,28,58,.28);transition:.25s}
[data-css="svc"] .sv-strip__item:hover{transform:translateY(-6px);box-shadow:0 22px 44px -20px rgba(12,28,58,.35)}
[data-css="svc"] .sv-strip__item img{display:block;width:100%;aspect-ratio:16/10.5;object-fit:cover;transition:.5s}
[data-css="svc"] .sv-strip__item:hover img{transform:scale(1.05)}
[data-css="svc"] .sv-strip__item figcaption{padding:13px 16px;font:600 13px/1.45 var(--font-b);color:#445271;border-top:1px solid #eef2f9}
/* content carding */
[data-css="svc"] .page-intro h2,.svc-h2fx{position:relative;font:800 clamp(22px,2.7vw,30px)/1.25 var(--font-h);color:var(--navy);padding-left:18px}
[data-css="svc"] .page-intro h2::before{content:"";position:absolute;left:0;top:9px;height:22px;width:5px;border-radius:4px;background:linear-gradient(180deg,var(--blue),#4d9bff)}
[data-css="svc"] .page-intro .lead{font-size:17px;line-height:1.7;color:#3d4c68}
[data-css="svc"] .page-intro p{color:#4e5c78;font-size:15px;line-height:1.75}
[data-css="svc"] .sol{counter-increment:svc-sol;display:flex;gap:28px;align-items:stretch;background:#fff;border:1px solid #e8eef8;border-radius:18px;padding:22px;margin:0 0 20px;box-shadow:0 12px 32px -20px rgba(12,28,58,.25)}
[data-css="svc"] .page-intro{counter-reset:svc-sol}
[data-css="svc"] .sol__img{position:relative;border-radius:14px;overflow:hidden;flex:none;width:44%}
[data-css="svc"] .sol__img img{width:100%;height:100%;object-fit:cover;transition:.5s;aspect-ratio:16/11}
[data-css="svc"] .sol:hover .sol__img img{transform:scale(1.05)}
[data-css="svc"] .sol__img::after{content:"0" counter(svc-sol);position:absolute;top:14px;left:14px;background:var(--navy);color:#fff;font:700 12px var(--font-b);letter-spacing:.08em;padding:7px 13px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(12,28,58,.5)}
[data-css="svc"] .sol h3{font:700 18px/1.3 var(--font-h);color:var(--navy);margin:6px 0 10px}
[data-css="svc"] .sol p{color:#54627e!important;font-size:14px!important;line-height:1.75}
[data-css="svc"] .side__box{background:linear-gradient(180deg,#0e2148,#123159);color:#e7edf8;border-radius:18px;padding:24px;box-shadow:0 22px 44px -20px rgba(12,28,58,.55)}
[data-css="svc"] .side__box h4{font:700 15px var(--font-h);color:#fff}
[data-css="svc"] .side__box ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
[data-css="svc"] .side__box li a{display:block;color:#b9cbe8;text-decoration:none;font:600 13.5px var(--font-b);padding:9px 12px;border-radius:10px;transition:.2s}
[data-css="svc"] .side__box li a:hover{background:rgba(255,255,255,.08);color:#fff}
[data-css="svc"] .side__box li a.is-active{background:var(--blue);color:#fff}
[data-css="svc"] .side__contact{background:linear-gradient(150deg,var(--blue) 0%,#0d47a1 100%);color:#fff;border-radius:18px;padding:24px;box-shadow:0 22px 44px -20px rgba(21,101,216,.6)}
[data-css="svc"] .side__contact h4{font:700 15px var(--font-h);color:#fff}
[data-css="svc"] .side__contact p{font-size:13.5px;line-height:1.6;color:#dbe8ff}
[data-css="svc"] .accordion__item{background:#fff;border:1px solid #e6edf7;border-radius:14px;margin-bottom:12px;box-shadow:0 8px 22px -16px rgba(12,28,58,.2)}
[data-css="svc"] .article h2{position:relative;font:800 clamp(22px,2.6vw,30px)/1.25 var(--font-h);color:var(--navy);padding-left:18px}
[data-css="svc"] .article h2::before{content:"";position:absolute;left:0;top:9px;height:22px;width:5px;border-radius:4px;background:linear-gradient(180deg,var(--blue),#4d9bff)}
[data-css="svc"] .article p{color:#4e5c78;font-size:15px;line-height:1.75}
@media (max-width:1000px){
  [data-css="svc"] .sv-hero{grid-template-columns:1fr;gap:26px}
  [data-css="svc"] .sv-hero__img{order:-1}
  [data-css="svc"] .sv-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  [data-css="svc"] .sv-strip{grid-template-columns:1fr}
  [data-css="svc"] .sol{flex-direction:column}
  [data-css="svc"] .sol__img{width:100%}
}

/* ===== QUOTE PAGE redesign (qz) — split form + proof panel + steps ===== */
.qz-chips-label{font:700 12.5px var(--font-b);letter-spacing:.06em;text-transform:uppercase;color:#5b6b85}
.qz-chips{display:flex;flex-wrap:wrap;gap:9px}
.qz-chip{cursor:pointer;border:1.5px solid #dbe6f5;background:#fff;color:#43506b;font:700 13px var(--font-b);padding:9px 15px;border-radius:999px;transition:.18s}
.qz-chip:hover{border-color:var(--blue);color:var(--blue)}
.qz-chip.is-on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 18px -8px rgba(21,101,216,.55)}
.qz-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.qz-row{grid-template-columns:1fr}}
.qz-submit{margin-top:4px}

.qz-wrap{background:#fff;padding:0 0 78px}
.qz-split{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;margin-top:-152px;position:relative;z-index:6;align-items:start}
.qz-card{background:#fff;border-radius:22px;padding:42px 44px 46px;box-shadow:0 34px 80px -34px rgba(10,23,48,.42);border-top:5px solid var(--blue)}
.qz-card__tag{display:inline-block;background:#eef4fe;color:var(--blue);font:800 12px var(--font-b);letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.qz-card__h{font:800 clamp(26px,3.2vw,34px)/1.2 var(--font-h);color:var(--ink);margin:16px 0 10px}
.qz-card__h span{color:var(--blue)}
.qz-card__sub{color:#4a5a76;font-size:15px;line-height:1.65;margin:0 0 26px}
.qz-card .quoteform{display:grid;gap:14px;border-top:0;padding-top:0;margin:0}
.qz-card .quoteform input,.qz-card .quoteform textarea{width:100%;background:#f4f8fe;border:1.5px solid #e3eaf6;border-radius:12px;padding:14px 16px;font:600 14.5px var(--font-b);color:var(--ink);transition:.18s}
.qz-card .quoteform input:focus,.qz-card .quoteform textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(21,101,216,.1)}
.qz-card .quoteform .consent{font-size:13px;color:#4a5a76;display:flex;gap:9px;align-items:flex-start}
.qz-card .quoteform .consent a{color:var(--blue)}
.qz-card .quoteform .btn{width:100%;padding:16px;font:800 15.5px var(--font-b);border-radius:12px}
.qz-proof{display:grid;gap:20px}
.qz-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qz-stat{background:linear-gradient(150deg,var(--navy),#123a6b);color:#fff;border-radius:16px;padding:18px 18px 16px;box-shadow:0 16px 34px -18px rgba(10,23,48,.55)}
.qz-stat b{display:block;font:800 24px var(--font-h)}
.qz-stat span{display:block;font:600 12.5px var(--font-b);color:#a9c3ec;margin-top:2px}
.qz-checklist{background:#fff;border:1.5px solid #e3eaf6;border-radius:16px;padding:22px}
.qz-checklist h3{font:800 15px var(--font-h);color:var(--ink);margin:0 0 12px}
.qz-checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.qz-checklist li{display:flex;align-items:flex-start;gap:10px;font:600 13.5px/1.45 var(--font-b);color:#43506b}
.qz-tick{flex:none;width:20px;height:20px;border-radius:50%;background:#e7f6ec;color:#1f9d55;font:800 11px/20px var(--font-b);text-align:center;margin-top:1px}
.qz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.qz-grid img{width:100%;aspect-ratio:3/2.1;object-fit:cover;border-radius:12px;display:block;transition:.3s}
.qz-grid img:hover{transform:scale(1.04)}
.qz-proof__link{display:block;background:#eef4fe;border-radius:12px;padding:14px 16px;color:var(--blue);font:700 13.5px var(--font-b);text-decoration:none}
.qz-proof__link:hover{color:var(--navy)}
.qz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.qz-step{position:relative;background:#fbfcfe;border:1.5px solid #e3eaf6;border-radius:18px;padding:26px 22px 22px;display:flex;flex-direction:column;gap:8px;transition:.22s}
.qz-step:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 24px 48px -22px rgba(10,23,48,.2)}
.qz-step__num{position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:11px;background:var(--blue);color:#fff;font:800 13px/34px var(--font-b);text-align:center;box-shadow:0 10px 22px -10px rgba(21,101,216,.6)}
.qz-step b{font:800 15.5px var(--font-h);color:var(--ink);margin-top:6px}
.qz-step p{margin:0;font-size:13.5px;line-height:1.6;color:#5b6b85}
.qz-step a{color:var(--blue)}
.qz-note{background:linear-gradient(140deg,#eef4fe,#fff);border:1.5px solid #d9e6fb;border-left:6px solid var(--blue);border-radius:16px;padding:22px 26px;color:#3d4c68;font-size:14.5px;line-height:1.7}
.qz-note b{color:var(--navy)}
@media (max-width:1020px){
  .qz-split{grid-template-columns:1fr;margin-top:-120px}
}
@media (max-width:900px){.qz-steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .qz-card{padding:30px 22px 34px}
  .qz-steps{grid-template-columns:1fr}
  .qz-stats{grid-template-columns:1fr 1fr}
}

[data-css="svc"] .sv-cta .svc-ar{display:inline-block;vertical-align:middle}
[data-css="svc"] .sv-cta .svc-ar::after{content:"";display:inline-block;width:8px;height:8px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;transform:rotate(45deg);margin:-2px 0 0 6px}

/* ===== CONTACT PAGE redesign v2 — reuses qz-* system ===== */
[data-css="contact"] .pagebanner__inner{padding-bottom:152px}
.qz-wa{background:#25d366;color:#fff}
.qz-contacts{display:grid;gap:12px}
.qz-contact{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e3eaf6;border-radius:16px;padding:16px 18px;text-decoration:none;transition:.2s;color:inherit}
.qz-contact:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 18px 40px -18px rgba(10,23,48,.28)}
.qz-contact svg{width:22px;height:22px;color:var(--blue);background:#eef4fe;border-radius:11px;padding:11px;flex:none}
.qz-contact b{display:block;font:700 15px var(--font-h);color:var(--ink)}
.qz-contact span span{display:block;font-size:12.5px;color:#5b6b85;margin-top:2px}
.qz-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.qz-loc{background:#fbfcfe;border:1.5px solid #e3eaf6;border-radius:16px;padding:22px;transition:.2s}
.qz-loc:hover{border-color:var(--blue)}
.qz-loc h3{font:800 13px var(--font-b);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 10px}
.qz-loc p{margin:0;font-size:13.5px;line-height:1.7;color:#4a5a76}
@media (max-width:820px){.qz-locs{grid-template-columns:1fr}}

/* ===== BLOG DETAIL redesign (post) — floating meta, framed hero, article polish ===== */
[data-css="post"] .pagebanner__inner{padding-bottom:118px}
[data-css="post"] .post-body{max-width:900px;margin:0 auto;position:relative}
[data-css="post"] .post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border:1.5px solid #e3eaf6;border-radius:999px;box-shadow:0 18px 44px -22px rgba(10,23,48,.32);padding:12px 22px;width:fit-content;max-width:100%;margin:-58px auto 30px}
[data-css="post"] .post-meta__cat{display:inline-block;background:var(--blue);color:#fff;border-radius:999px;padding:6px 14px;font:700 12px var(--font-b);text-decoration:none}
[data-css="post"] .post-meta span{font:600 13px var(--font-b);color:#5b6b85;position:relative;padding-left:14px}
[data-css="post"] .post-meta span::before{content:"";position:absolute;left:0;top:4px;width:5px;height:5px;border-radius:50%;background:#c4d2ea}
[data-css="post"] .post-meta a{font:700 13px var(--font-b);color:var(--blue);text-decoration:none}
[data-css="post"] .post-hero{margin:0 0 34px;position:relative}
[data-css="post"] .post-hero::after{content:"";position:absolute;left:-16px;bottom:-16px;width:120px;height:120px;border-radius:20px;background:linear-gradient(140deg,rgba(21,101,216,.16),transparent 65%);z-index:-1}
[data-css="post"] .post-hero img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:20px;box-shadow:0 30px 64px -30px rgba(10,23,48,.5)}
[data-css="post"] .article{max-width:100%}
[data-css="post"] .article h2{font:800 clamp(22px,2.6vw,30px)/1.25 var(--font-h);color:var(--navy);margin-top:38px;padding-left:20px;position:relative}
[data-css="post"] .article h2::before{content:"";position:absolute;left:0;top:10px;height:22px;width:5px;border-radius:4px;background:linear-gradient(180deg,var(--blue),#4d9bff)}
[data-css="post"] .article h3{font:700 19px var(--font-h);color:var(--navy)}
[data-css="post"] .article p{color:#3d4c68;font-size:15.5px;line-height:1.8}
[data-css="post"] .article a{color:var(--blue);text-decoration:underline;text-decoration-color:rgba(21,101,216,.35);text-underline-offset:3px}
[data-css="post"] .article figure img{width:100%;border-radius:16px;box-shadow:0 18px 44px -22px rgba(10,23,48,.3)}
[data-css="post"] .article blockquote{background:linear-gradient(140deg,#eef4fe,#fff);border-left:5px solid var(--blue);border-radius:14px;padding:20px 24px;color:#27354e;font-style:italic}
[data-css="post"] .accordion__item{background:#fff;border:1.5px solid #e3eaf6;border-radius:14px;margin-bottom:12px;box-shadow:0 10px 26px -18px rgba(10,23,48,.22)}

/* ===== CASE v8 polish — cell text, duo tag pill ===== */
.cs-cell span{font:700 11.5px var(--font-b);letter-spacing:.1em;text-transform:uppercase;color:#7486a5}
.cs-cell b,.cs-cell div{font:700 15px/1.4 var(--font-h);color:var(--navy)}
[data-css="case"] .duo>div::before{background:linear-gradient(140deg,var(--blue),#0d47a1);color:#fff;
  font:800 11px var(--font-b);letter-spacing:.16em;padding:8px 14px;border-radius:999px;
  box-shadow:0 12px 26px -10px rgba(21,101,216,.6)}
.cs-block__num{background:linear-gradient(140deg,var(--blue),#0d47a1)}

/* ===== AI LIVE CHAT WIDGET — Maya (bottom left) ===== */
#chatbot{--cbw:350px;position:fixed;left:20px;bottom:20px;z-index:9000;font-family:var(--font-b)}
#chatbot[aria-hidden="true"] .cb-panel{display:none}
.cb-toggle{position:relative;width:62px;height:62px;border-radius:50%;padding:3px;border:3px solid #fff;
  background:linear-gradient(140deg,var(--blue),#0d47a1);cursor:pointer;
  box-shadow:0 18px 44px -12px rgba(10,23,48,.5);transition:.25s}
.cb-toggle:hover{transform:scale(1.07)}
.cb-toggle img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.cb-toggle__dot{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;
  background:#20c05b;border:3px solid #fff;animation:cbPulse 2.2s infinite}
@keyframes cbPulse{0%,100%{box-shadow:0 0 0 0 rgba(32,192,91,.5)}50%{box-shadow:0 0 0 8px rgba(32,192,91,0)}}
.cb-panel{position:absolute;left:0;bottom:74px;width:var(--cbw);max-width:calc(100vw - 32px);height:min(540px,calc(100vh - 110px));
  display:flex;flex-direction:column;background:#f4f8fd;border-radius:22px;overflow:hidden;
  box-shadow:0 34px 80px -24px rgba(10,23,48,.55);animation:cbIn .28s ease}
@keyframes cbIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cb-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(140deg,var(--blue-2,#1666d8),#0a2a5e);color:#fff}
.cb-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.65)}
.cb-head b{display:block;font:800 15px var(--font-h)}
.cb-head span{display:flex;align-items:center;gap:6px;font:600 11.5px var(--font-b);color:#cfe2ff}
.cb-head i{width:8px;height:8px;border-radius:50%;background:#20c05b}
.cb-close{margin-left:auto;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.14);
  color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.cb-close:hover{background:rgba(255,255,255,.28)}
.cb-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.cb-msg{max-width:82%;padding:11px 14px;border-radius:16px;font:500 13.8px/1.5 var(--font-b);white-space:pre-line}
.cb-msg--bot{align-self:flex-start;background:#fff;color:#2c3a55;border:1px solid #e5ecf7;border-bottom-left-radius:6px} 
.cb-msg--user{align-self:flex-end;background:linear-gradient(140deg,var(--blue),#0d47a1);color:#fff;border-bottom-right-radius:6px}
.cb-msg--err{align-self:center;background:#fdf1f1;color:#a33;font-size:12px;border-radius:999px;padding:7px 14px}
.cb-msgs-greet .cb-msg--bot{box-shadow:0 10px 24px -14px rgba(10,23,48,.28)}
.cb-typing{align-self:flex-start;display:flex;gap:5px;background:#fff;border:1px solid #e5ecf7;border-radius:16px;border-bottom-left-radius:6px;padding:13px 16px}
.cb-typing i{width:7px;height:7px;border-radius:50%;background:#9db4d6;animation:cbTb 1.1s infinite}
.cb-typing i:nth-child(2){animation-delay:.18s}.cb-typing i:nth-child(3){animation-delay:.36s}
@keyframes cbTb{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}}
.cb-chips{display:flex;gap:8px;padding:4px 14px 8px;overflow-x:auto;scrollbar-width:none}
.cb-chips button{flex:none;font:700 12px var(--font-b);color:var(--blue);background:#fff;border:1.5px solid #cfe0fb;
  border-radius:999px;padding:8px 14px;cursor:pointer;transition:.2s}
.cb-chips button:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.cb-input{display:flex;gap:8px;padding:10px 12px 12px;background:#fff;border-top:1px solid #e7edf7}
.cb-input input{flex:1;border:1.5px solid #dbe4f1;border-radius:999px;padding:10px 16px;font:500 13.5px var(--font-b);color:var(--ink);outline:none;background:#f8fafd;transition:.2s}
.cb-input input:focus{border-color:var(--blue);background:#fff}
.cb-send{width:42px;height:42px;flex:none;border-radius:50%;border:0;background:linear-gradient(140deg,var(--blue),#0d47a1);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:.2s}
.cb-send:hover{transform:translateX(2px)}
.cb-send svg{width:18px;height:18px}
.cb-send[disabled]{opacity:.55;cursor:wait}
@media (max-width:480px){
  #chatbot{--cbw:calc(100vw - 24px);left:12px;bottom:12px}
  .cb-panel{height:min(70vh,540px)}
}

/* ===== ABOUT US redesign — story grid, achievements strip, system cards, logos ===== */
.section--grid{display:grid;grid-template-columns:1fr 1.4fr;gap:44px;align-items:start}
.ab-strip{background:linear-gradient(140deg,#0b1f3f,#123a74 55%,#0b1f3f);color:#fff;padding:40px 0}
.ab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ab-stat{display:flex;flex-direction:column;gap:6px;padding:6px 10px;border-left:3px solid rgba(77,157,255,.7)}
.ab-stat b{font:800 clamp(1.8rem,3vw,2.6rem)/1 var(--font-h);color:#fff}
.ab-stat span{font:600 12.5px/1.5 var(--font-b);color:#c9d6ee}
.ab-sys{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:26px}
.ab-sys__card{position:relative;background:#fff;border:1.5px solid #e3eaf6;border-radius:18px;padding:26px 24px 22px;
  box-shadow:0 14px 34px -22px rgba(10,23,48,.3);transition:.25s}
.ab-sys__card:hover{transform:translateY(-5px);box-shadow:0 26px 54px -24px rgba(10,23,48,.36)}
.ab-sys__n{display:inline-block;font:800 13px var(--font-b);color:var(--blue);background:#eef4fe;border-radius:999px;padding:6px 13px;margin-bottom:14px}
.ab-sys__card h3{font:800 18px var(--font-h);color:var(--navy);margin:0 0 8px}
.ab-sys__card p{font-size:14px;line-height:1.65;color:#43536e;margin:0 0 12px}
.ab-sys__lk{font:700 13px var(--font-h);color:var(--blue);text-decoration:none}
.ab-sys__lk:hover{color:var(--blue-2);text-decoration:underline}
.ab-logos{display:flex;flex-wrap:wrap;gap:14px}
.ab-logos img{max-width:128px;max-height:48px;width:auto;height:auto;object-fit:contain;
  background:#fff;border:1px solid #e7edf7;border-radius:12px;padding:10px 16px;
  box-shadow:0 8px 22px -14px rgba(10,23,48,.25)}
@media (max-width:900px){.section--grid{grid-template-columns:1fr;gap:20px}.ab-grid{grid-template-columns:1fr 1fr}
  .ab-sys{grid-template-columns:1fr}}
/* ===== KEY STAFF — portrait cards ===== */
.ks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.ks-card{display:flex;background:#fff;border:1.5px solid #e3eaf6;border-radius:20px;overflow:hidden;
  box-shadow:0 16px 40px -24px rgba(10,23,48,.35);transition:.25s}
.ks-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -26px rgba(10,23,48,.4)}
.ks-card__photo{flex:none;width:210px;background:#fbfcfe;border-right:1.5px solid #eef2f9;display:grid;place-items:center}
.ks-card__photo img{width:100%;height:100%;object-fit:contain;object-position:bottom;padding:18px 12px 0}
.ks-card__body{padding:24px 26px 26px;display:flex;flex-direction:column}
.ks-card__role{font:800 11.5px var(--font-b);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.ks-card__body h3{font:800 20px var(--font-h);color:var(--navy);margin:0 0 10px}
.ks-card__body p{font-size:13.8px;line-height:1.7;color:#3d4c68;margin:0}
@media (max-width:840px){.ks-grid{grid-template-columns:1fr}.ks-card{flex-direction:column}
  .ks-card__photo{width:100%;height:230px;border-right:0;border-bottom:1.5px solid #eef2f9}
  .ks-card__photo img{height:100%;width:auto}}
/* ===== CERTIFICATIONS — technical references + procurement panel ===== */
.ct2-sec{background:var(--bg-soft);padding:6px 0 84px}
.ct2{display:grid;grid-template-columns:1fr 1.05fr;gap:26px;align-items:start}
.ct2__ref{background:#fff;border:1.5px solid #e3eaf6;border-radius:22px;padding:34px 32px 30px;
  box-shadow:0 18px 44px -28px rgba(10,23,48,.32)}
.ct2__ref h3,.ct2__proc h3{font:800 clamp(20px,2.2vw,25px)/1.25 var(--font-h);color:var(--navy);margin:12px 0 18px}
.ct2__ref h3 span{color:var(--blue)}
.ct2__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ct2__list li{display:flex;align-items:flex-start;gap:12px;font:600 14px/1.5 var(--font-b);color:#33415c}
.ct2__tick{flex:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(140deg,var(--blue),#0d47a1);
  position:relative;margin-top:1px}
.ct2__tick::after{content:"";position:absolute;left:7px;top:5px;width:5px;height:9px;
  border-right:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(43deg)}
.ct2__proc{position:relative;background:linear-gradient(145deg,#0b1f3f,#14406e 60%,#0b1f3f);color:#fff;
  border-radius:22px;padding:34px 32px 30px;box-shadow:0 30px 64px -28px rgba(10,23,48,.6);overflow:hidden}
.ct2__proc::before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(77,157,255,.28),transparent 70%);pointer-events:none}
.ct2__badge{display:inline-block;background:rgba(77,157,255,.2);border:1px solid rgba(77,157,255,.5);color:#bfdfff;
  font:800 11px var(--font-b);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:7px 14px}
.ct2__proc h3{color:#fff;margin:14px 0 12px}
.ct2__proc h3 span{color:#7db3ff}
.ct2__proc p{font-size:14px;line-height:1.7;color:#d4e2f7;margin:0 0 16px}
.ct2__pack{background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.35);border-radius:14px;
  padding:14px 16px;font:600 13px/1.6 var(--font-b);color:#e6effc;margin-bottom:18px}
.ct2__btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.ct2__links{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px}
.ct2__links span{font:700 12px var(--font-b);color:#8fa8cd}
.ct2__links a{font:700 13px var(--font-b);color:#bfdfff;text-decoration:none;border-bottom:1px dashed rgba(191,223,255,.5)}
.ct2__links a:hover{color:#fff}
@media (max-width:900px){.ct2{grid-template-columns:1fr}}

/* ===== WARRANTY page redesign ===== */
.wr-top{padding:0 0 8px}
.wr-hero{position:relative;display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:center;
  background:linear-gradient(145deg,#0b1f3f,#14406e 55%,#0b1f3f);color:#fff;border-radius:26px;
  padding:44px 48px;box-shadow:0 34px 80px -34px rgba(10,23,48,.62);overflow:hidden;
  margin-top:-152px;position:relative;z-index:6}
.wr-hero::before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(77,157,255,.3),transparent 70%);pointer-events:none}
/* rotating-text seal */
.wr-hero__seal{display:grid;place-items:center}
.wr-seal{position:relative;width:190px;height:190px;display:grid;place-items:center}
.wr-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:wrSpin 22s linear infinite}
.wr-seal svg text{font:700 9.5px var(--font-b);letter-spacing:.28em;text-transform:uppercase;fill:#9fc4ff}
@keyframes wrSpin{to{transform:rotate(360deg)}}
.wr-seal b{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--blue),#0d47a1);color:#fff;font:800 26px var(--font-h);
  border:6px solid rgba(255,255,255,.16);box-shadow:0 18px 44px -14px rgba(21,101,216,.65)}
.wr-hero__txt h2{font:800 clamp(25px,3vw,33px)/1.2 var(--font-h);color:#fff;margin:10px 0 12px}
.wr-hero__txt h2 span{color:#7db3ff}
.wr-hero__tag{display:inline-block;background:rgba(77,157,255,.2);border:1px solid rgba(77,157,255,.5);
  color:#bfdfff;font:800 10.5px var(--font-b);letter-spacing:.14em;text-transform:uppercase;
  border-radius:999px;padding:6px 13px}
.wr-hero__txt p{font-size:14.5px;line-height:1.7;color:#d4e2f7;margin:0 0 18px}
.wr-hero__facts{display:flex;flex-wrap:wrap;gap:10px}
.wr-hero__facts span{display:flex;align-items:baseline;gap:7px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 15px;font:600 12px var(--font-b);color:#d4e2f7}
.wr-hero__facts b{font:800 15px var(--font-h);color:#fff}
/* handover cards */
.wr-sec{padding-top:66px}
.wr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.wr-card{position:relative;background:#fff;border:1.5px solid #e3eaf6;border-radius:18px;padding:22px 20px 20px;
  box-shadow:0 14px 34px -22px rgba(10,23,48,.3);transition:.25s}
.wr-card:hover{transform:translateY(-6px);box-shadow:0 26px 54px -24px rgba(10,23,48,.38)}
.wr-card__n{display:inline-block;font:800 12px var(--font-b);color:var(--blue);background:#eef4fe;
  border-radius:999px;padding:6px 12px;margin-bottom:12px}
.wr-card h3{font:700 16px var(--font-h);color:var(--navy);margin:0 0 7px}
.wr-card p{font-size:13.2px;line-height:1.6;color:#43536e;margin:0}
/* covered / not covered */
.wr-scope{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wr-scope__yes,.wr-scope__no{background:#fff;border-radius:20px;padding:30px 30px 26px;border:1.5px solid #e3eaf6;
  box-shadow:0 18px 44px -26px rgba(10,23,48,.3)}
.wr-scope__yes{border-top:4px solid #2aa15c}
.wr-scope__no{border-top:4px solid #d05353}
.wr-scope__badge{display:inline-block;border-radius:999px;padding:8px 16px;font:800 12px var(--font-b);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.wr-scope__badge--ok{background:#e7f6ec;color:#1f7a45}
.wr-scope__badge--no{background:#fdeeee;color:#a33535}
.wr-scope__yes ul,.wr-scope__no ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.wr-scope__yes li,.wr-scope__no li{display:flex;gap:11px;font:600 13.6px/1.6 var(--font-b);color:#33415c}
.wr-scope__tick{flex:none;width:21px;height:21px;border-radius:50%;background:#1f9d55;position:relative;margin-top:2px}
.wr-scope__tick::after{content:"";position:absolute;left:7px;top:5px;width:4.5px;height:8.5px;
  border-right:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(43deg)}
.wr-scope__x{flex:none;width:21px;height:21px;border-radius:50%;background:#d05353;position:relative;margin-top:2px}
.wr-scope__x::before,.wr-scope__x::after{content:"";position:absolute;left:5.5px;top:9.5px;width:9px;height:2.2px;
  border-radius:2px;background:#fff}
.wr-scope__x::before{transform:rotate(45deg)}.wr-scope__x::after{transform:rotate(-45deg)}
.wr-scope__note{margin-top:16px;background:#f6f9fd;border-radius:12px;padding:12px 15px;
  font:600 12.4px/1.55 var(--font-b);color:#5b6b85;border:1px dashed #dde6f3}
/* claims timeline */
.wr-claims{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.wr-claim{position:relative;display:flex;gap:16px;background:#fff;border:1.5px solid #e3eaf6;border-radius:18px;
  padding:24px 22px 22px;box-shadow:0 14px 34px -22px rgba(10,23,48,.3);transition:.25s}
.wr-claim:hover{transform:translateY(-6px);box-shadow:0 26px 54px -24px rgba(10,23,48,.38)}
.wr-claim__n{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--blue),#0d47a1);color:#fff;font:800 17px var(--font-h);
  box-shadow:0 10px 24px -8px rgba(21,101,216,.55)}
.wr-claim h3{font:700 16.5px var(--font-h);color:var(--navy);margin:2px 0 7px}
.wr-claim p{font-size:13.2px;line-height:1.62;color:#43536e;margin:0}
.wr-footnote{margin-top:28px;text-align:center;font:600 13px var(--font-b);color:#5b6b85}
.wr-footnote a{color:var(--blue);font-weight:700;text-decoration:none}
.wr-footnote a:hover{text-decoration:underline}
@media (max-width:960px){
  .wr-hero{grid-template-columns:1fr;padding:34px 26px;margin-top:-120px}
  .wr-seal{width:150px;height:150px}.wr-seal b{width:100px;height:100px;font-size:20px}
  .wr-grid{grid-template-columns:1fr 1fr}
  .wr-scope{grid-template-columns:1fr}
  .wr-claims{grid-template-columns:1fr}
}
@media (max-width:560px){.wr-grid{grid-template-columns:1fr}}
[data-css="warranty"] .pagebanner__inner{padding-bottom:152px}
.cb-chips button.cb-chip--expert{background:linear-gradient(140deg,#1f9d55,#25d366);border-color:transparent;color:#fff;font-weight:800}
.cb-chips button.cb-chip--expert:hover{background:linear-gradient(140deg,#178a4a,#20b457);transform:translateY(-1px)}
