/* IT LABS PRO internal pages (Round 5). Load after tokens.css. Replaces 2023/itlabsprostyles/creationsitewebmaroc.css:
   same layout (banner #slide, breadcrumb #spider, reading column #contenttext), the home page's colours, Figtree,
   buttons and links, and the shared header (.sh-*) and footer (.sf-*). No JavaScript needed except the menu toggle. */

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;font-family:var(--itl-font);font-size:16px;line-height:1.65;color:var(--itl-text-2);background:var(--itl-bg);overflow-x:hidden}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}
img{max-width:100%}
img.wh{height:auto}
button,input,select,textarea{font:inherit}
a{color:var(--itl-primary);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--itl-t)}
a:hover{color:var(--itl-primary-hover)}
:focus-visible{outline:2px solid var(--itl-primary);outline-offset:2px}
code{overflow-wrap:anywhere}
.text-decoration-none{text-decoration:none}
html.sh-lock{overflow:hidden}
html.sh-lock .itl-bar,html.sh-lock .itl-wa{display:none!important}

/* ---------- buttons (home .header-btn1 / .header-btn2) ---------- */
.btn-itl,.btn-itl-outline{display:inline-flex;align-items:center;gap:10px;font-family:var(--itl-font);font-size:17px;line-height:1;font-weight:var(--itl-w-bold);padding:6px 6px 6px 18px;border-radius:var(--itl-radius-pill);text-decoration:none;border:1px solid var(--itl-primary);transition:transform var(--itl-t) var(--itl-ease),background var(--itl-t),color var(--itl-t),box-shadow var(--itl-t);cursor:pointer}
.btn-itl{background:var(--itl-primary);color:var(--itl-on-primary)}
.btn-itl-outline{background:var(--itl-bg);color:var(--itl-primary)}
.btn-itl span,.btn-itl-outline span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;transition:transform var(--itl-t) var(--itl-ease)}
.btn-itl span{background:var(--itl-on-primary);color:var(--itl-primary)}
.btn-itl-outline span{background:var(--itl-primary);color:var(--itl-on-primary)}
.btn-itl:hover,.btn-itl-outline:hover{background:var(--itl-primary-hover);border-color:var(--itl-primary-hover);color:var(--itl-on-primary);transform:translateY(-3px);box-shadow:var(--itl-shadow)}
.btn-itl:hover span,.btn-itl-outline:hover span{transform:rotate(45deg);background:var(--itl-on-primary);color:var(--itl-primary)}
.btn-itl:focus-visible,.btn-itl-outline:focus-visible{outline-offset:3px}

/* ---------- header (home menu) ---------- */
.sh{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);transition:box-shadow var(--itl-t)}
.sh.sh-stuck{box-shadow:0 6px 24px rgba(9,11,14,.08)}
.sh-in{max-width:1300px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px}
.sh-logo{flex:0 0 auto;display:block;line-height:0}
.sh-logo img{width:148px;height:auto}
.sh-nav{flex:1 1 auto;display:flex;justify-content:center}
.sh-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.sh-menu>li{position:relative}
.sh-menu>li>a{display:inline-flex;align-items:center;gap:4px;padding:10px 16px;font-size:18px;font-weight:var(--itl-w-medium);color:var(--itl-text);text-decoration:none}
.sh-menu>li>a:hover,.sh-menu>li>a[aria-current]{color:var(--itl-primary)}
.sh-caret{transition:transform var(--itl-t)}
.sh-sub{list-style:none;margin:0;padding:15px;position:absolute;left:0;top:100%;width:250px;background:var(--itl-bg);border-radius:5px;box-shadow:var(--itl-shadow-menu);visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity var(--itl-t),transform var(--itl-t),visibility var(--itl-t)}
.sh-has-sub:hover>.sh-sub,.sh-has-sub:focus-within>.sh-sub{visibility:visible;opacity:1;transform:none}
.sh-has-sub:hover .sh-caret,.sh-has-sub:focus-within .sh-caret{transform:rotate(180deg)}
.sh-sub a{position:relative;display:block;padding:8px 8px 8px 12px;border-radius:4px;font-size:16px;font-weight:var(--itl-w-medium);color:var(--itl-text);text-decoration:none;transition:color var(--itl-t),padding var(--itl-t),background var(--itl-t)}
.sh-sub a::before{content:"";position:absolute;left:0;top:25%;height:50%;width:3px;border-radius:4px;background:var(--itl-primary);opacity:0;transition:opacity var(--itl-t)}
.sh-sub a:hover,.sh-sub a[aria-current]{color:var(--itl-primary);padding-left:20px;background:var(--itl-primary-softer)}
.sh-sub a:hover::before,.sh-sub a[aria-current]::before{opacity:1}
.sh-actions{flex:0 0 auto;display:flex;align-items:center;gap:18px}
.sh-lang{display:inline-flex;align-items:center;gap:5px;color:var(--itl-text);font-weight:var(--itl-w-medium);text-decoration:none}
.sh-lang:hover{color:var(--itl-primary)}
.sh-burger{display:none;width:42px;height:42px;border:1.5px solid var(--itl-text);border-radius:6px;background:var(--itl-bg);color:var(--itl-text);align-items:center;justify-content:center;cursor:pointer;padding:0}
.sh-i-close{display:none}
.sh-drawer-extra{display:none}
@media (max-width:1199px){.sh-menu>li>a{padding:10px 10px;font-size:17px}.sh-cta{display:none}}
@media (max-width:991px){
  .sh{background:var(--itl-bg);-webkit-backdrop-filter:none;backdrop-filter:none}
  .sh-in{padding:12px 16px;justify-content:space-between}
  .sh-logo img{width:132px}
  .sh-burger{display:inline-flex}
  .sh-nav{position:fixed;inset:66px 0 0 0;display:block;background:var(--itl-bg);padding:12px 20px 40px;overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--itl-t),transform var(--itl-t),visibility var(--itl-t)}
  .sh-open .sh-nav{visibility:visible;opacity:1;transform:none}
  .sh-open .sh-i-open{display:none}.sh-open .sh-i-close{display:block}
  .sh-menu{display:block}
  .sh-menu>li{border-bottom:1px solid var(--itl-border)}
  .sh-menu>li>a{display:flex;padding:14px 4px;font-size:18px}
  .sh-caret{display:none}
  .sh-sub{position:static;visibility:visible;opacity:1;transform:none;box-shadow:none;width:auto;padding:0 0 10px 10px;background:none}
  .sh-sub a{padding:7px 8px;font-size:16px;color:var(--itl-text-2)}
  .sh-drawer-extra{display:block;margin-top:24px}
  .sh-drawer-extra .btn-itl{width:100%;justify-content:space-between}
  .sh-drawer-title{margin:24px 0 6px;font-weight:var(--itl-w-semibold);color:var(--itl-text);font-size:18px}
  .sh-drawer-extra a:not(.btn-itl){color:var(--itl-text-2);text-decoration:none}
  .sh-actions{gap:14px}
}

/* ---------- banner (#slide): home hero colours ---------- */
#slide{width:100%;background:var(--itl-hero-bg);padding:30px 0}
#slide-in{width:1100px;max-width:100%;margin:auto;display:flex;align-items:flex-start;gap:0}
#slide-in-left{flex:0 0 60%;padding:40px 30px 30px 0}
#slide-in-right{flex:0 0 40%;padding:40px 0 30px}
#slide-in-left h1,#slide-in-left div:where(.hx1){color:var(--itl-text);font-size:clamp(28px,3.2vw,42px);line-height:1.15;font-weight:var(--itl-w-bold);letter-spacing:-.01em;animation:itl-title-in .6s var(--itl-ease) both}
#slide-in-left p{color:var(--itl-text-2);font-size:18px;line-height:1.6;margin-top:16px}
#slide-in-left p strong{color:var(--itl-text);font-weight:var(--itl-w-semibold)}
#slide-in-left-main-img{display:block;height:auto;margin:40px auto;width:400px;max-width:100%}
#slide-in-left-img-containers{text-align:center;width:100%}
#slide-in-left-10years-img,#slide-in-left-google-img{border-radius:20px;height:100px;margin:20px 20px 0 0;width:auto;box-shadow:var(--itl-shadow);transition:transform var(--itl-t) var(--itl-ease)}
#slide-in-left-img-containers a:hover #slide-in-left-google-img{transform:translateY(-3px)}
#slide-in-left-img-containers .google-rating{display:block;color:var(--itl-text);font-size:15px;margin-top:12px;text-decoration:underline}
#slide-in-left-img-containers .google-rating span{color:var(--itl-star);text-decoration:none;letter-spacing:1px}
.slide-simple #slide-in-left{flex:0 1 860px;padding:56px 0 50px}
.banner-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
#slide-in-left-img-containers.banner-rating{text-align:left;margin-top:6px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.share-line{margin-top:28px!important;color:var(--itl-text-3)}
.eyebrow{display:inline-block;background:var(--itl-primary-soft);color:var(--itl-primary);border-radius:8px;padding:6px 12px;font-size:15px;font-weight:var(--itl-w-medium);margin-bottom:16px}

/* quote form card (home contact form look) */
#slide-in-right-form-container{background:var(--itl-bg);border-radius:var(--itl-radius);color:var(--itl-text-2);margin-left:10%;padding:30px 24px;text-align:left;width:90%;box-shadow:var(--itl-shadow)}
#getaquoteh{color:var(--itl-text);font-size:26px;font-weight:var(--itl-w-semibold);display:block;margin:0 0 20px}
.getaquoteinputtext,.getaquoteinputtextarea{display:block;width:100%;padding:12px 16px;margin:0 0 12px;border:1px solid var(--itl-border);border-radius:var(--itl-radius-sm);background:var(--itl-bg-alt);color:var(--itl-text);font-size:16px;transition:border-color var(--itl-t),background var(--itl-t)}
.getaquoteinputtext:focus,.getaquoteinputtextarea:focus{outline:none;border-color:var(--itl-primary);background:var(--itl-bg)}
.getaquoteinputtextarea{height:110px;resize:vertical}
#slide-in-right-form-container details{margin:0 0 12px;border:1px solid var(--itl-border);border-radius:var(--itl-radius-sm);padding:10px 14px;background:var(--itl-bg-alt)}
#slide-in-right-form-container summary{cursor:pointer;color:var(--itl-text);font-weight:var(--itl-w-medium)}
.thecheckbox{accent-color:var(--itl-primary);width:18px;height:18px;margin:8px 8px 8px 0;vertical-align:middle}
.getaquotebtn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:8px 0;padding:14px 20px;border:0;border-radius:var(--itl-radius-pill);background:var(--itl-primary);color:var(--itl-on-primary);font-size:17px;font-weight:var(--itl-w-bold);cursor:pointer;transition:background var(--itl-t),transform var(--itl-t) var(--itl-ease)}
.getaquotebtn:hover{background:var(--itl-primary-hover);transform:translateY(-2px)}
.messagecontainer{padding:10px 0;text-align:center}
.messagecontainer p{display:block;padding:10px 0}
.messagecontainer a{text-decoration:none}
#getaquotehsuccess{color:#0a7a3d;padding:10px 0 20px}
#getaquoteherror{color:#c62828;padding:10px 0 20px}
.form-trust{font-size:14px;color:var(--itl-text-3);margin-top:10px}

/* ---------- breadcrumb (#spider) ---------- */
#spider-container{width:100%;background:var(--itl-bg)}
#spider{width:1100px;max-width:100%;margin:auto;padding:18px 0 0}
#spider nav ol{list-style:none;margin:0;padding:0}
#spider nav ol li{display:inline-block;margin:4px 6px 4px 0;font-size:15px;color:var(--itl-text-3)}
#spider nav ol li a{color:var(--itl-text-2);text-decoration:none}
#spider nav ol li a:hover{color:var(--itl-primary)}
#spider nav ol li a svg{margin-bottom:-2px}
#spider nav ol li+li::before{content:"›";margin-right:8px;color:var(--itl-lilac);font-weight:var(--itl-w-bold)}
#spider nav ol li:last-child a,#spider nav ol li:last-child span{color:var(--itl-text);font-weight:var(--itl-w-medium)}

/* ---------- reading column (#contenttext) ---------- */
#contenttext-container{width:100%}
#contenttext{width:1100px;max-width:100%;margin:auto;padding:30px 0 50px;color:var(--itl-text-2);font-size:17px;line-height:1.75}
#contenttext p{margin:0 0 14px}
#contenttext a{color:var(--itl-primary);text-decoration:underline}
#contenttext a:hover{color:var(--itl-primary-hover)}
#contenttext strong,#contenttext b{color:var(--itl-text);font-weight:var(--itl-w-semibold)}
#contenttext h2:not(.as-h3),#contenttext div:where(.hx2):not(.as-h3){color:var(--itl-text);font-size:clamp(24px,2.4vw,32px);line-height:1.25;font-weight:var(--itl-w-semibold);margin:40px 0 14px}
#contenttext h3,#contenttext div:where(.hx3),#contenttext h2.as-h3,#contenttext div:where(.hx2).as-h3{color:var(--itl-primary);font-size:22px;line-height:1.3;font-weight:var(--itl-w-semibold);margin:26px 0 10px}
#contenttext h4,#contenttext div:where(.hx4){color:var(--itl-text);font-size:19px;font-weight:var(--itl-w-semibold);margin:18px 0 8px}
#contenttext h5,#contenttext div:where(.hx5){color:var(--itl-text);font-size:17px;font-weight:var(--itl-w-semibold);margin:12px 0 6px}
#contenttext ol,#contenttext ul{padding-left:24px;margin:10px 0 16px}
#contenttext li{margin:6px 0}
#contenttext ul li::marker{color:var(--itl-primary)}
#contenttext img{max-width:100%;height:auto;border-radius:var(--itl-radius)}
#contenttext-container-website-img{float:right;height:auto;margin:10px 0 10px 24px;width:40%}
#contenttext-container-chooseus-img{height:auto;margin:20px 0;width:100%}
#contenttext .post-updated{color:var(--itl-text-3);font-size:14px;margin:0 0 15px}
#contenttext .table-scroll{overflow-x:auto;margin:15px 0 20px}
#contenttext table.price-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
#contenttext .price-table th,#contenttext .price-table td{border:1px solid var(--itl-border);padding:10px 12px;text-align:left;vertical-align:top}
#contenttext .price-table th{background:var(--itl-primary);color:var(--itl-on-primary);font-weight:var(--itl-w-semibold)}
#contenttext .price-table tbody tr:nth-child(even) td{background:var(--itl-bg-alt)}
#contenttext details.faq-item,details.faq-item{background:var(--itl-bg);border:1px solid var(--itl-border);border-radius:12px;padding:14px 18px;margin:0 0 10px;transition:box-shadow var(--itl-t),border-color var(--itl-t)}
details.faq-item[open]{border-color:var(--itl-lilac);box-shadow:var(--itl-shadow)}
details.faq-item summary{cursor:pointer;font-weight:var(--itl-w-semibold);color:var(--itl-text);list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";color:var(--itl-primary);font-size:22px;line-height:1;transition:transform var(--itl-t)}
details.faq-item[open] summary::after{transform:rotate(45deg)}
details.faq-item p,.faq-answer{margin-top:8px;color:var(--itl-text-2)}
#contenttext .related-posts{margin:30px 0 10px;padding:20px 24px;background:var(--itl-primary-softer);border-left:4px solid var(--itl-primary);border-radius:0 var(--itl-radius) var(--itl-radius) 0}
#contenttext .related-posts h2,#contenttext .related-posts div:where(.hx2){margin-top:0}
#contenttext .sources{font-size:14px;color:var(--itl-text-3)}
#contenttext p.tool-callout{background:var(--itl-accent-soft);border-left:4px solid var(--itl-accent);padding:12px 16px;border-radius:0 var(--itl-radius-sm) var(--itl-radius-sm) 0}

/* CTA block (partials.cta): the home's purple band */
#contenttext .cta-block,.cta-block{margin:36px 0;padding:30px;background:var(--itl-primary);color:var(--itl-on-primary);border-radius:var(--itl-radius)}
.cta-block p{color:var(--itl-on-primary)!important;margin:6px 0}
.cta-block .cta-title{font-size:24px;font-weight:var(--itl-w-semibold);line-height:1.3}
#contenttext .cta-block .cta-btn,.cta-block .cta-btn{display:inline-flex;align-items:center;background:var(--itl-bg);color:var(--itl-primary);font-weight:var(--itl-w-bold);padding:13px 22px;border-radius:var(--itl-radius-pill);text-decoration:none;margin:10px 14px 6px 0;transition:transform var(--itl-t) var(--itl-ease),background var(--itl-t)}
#contenttext .cta-block .cta-btn:hover,.cta-block .cta-btn:hover{background:var(--itl-primary-soft);transform:translateY(-3px);color:var(--itl-primary)}
.cta-block .cta-trust{font-size:14px;opacity:.9}

/* cards (rebuilt pages: services grid) */
#contenttext .itl-cards,.itl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin:24px 0 10px;padding:0;list-style:none}
#contenttext .itl-cards>li{margin:0}
#contenttext .itl-cards>li::marker{content:none}
.itl-card{position:relative;display:flex;flex-direction:column;background:var(--itl-bg);border:1px solid var(--itl-border);border-radius:var(--itl-radius);padding:26px 24px;transition:transform var(--itl-t) var(--itl-ease),box-shadow var(--itl-t),border-color var(--itl-t)}
.itl-card:hover{transform:translateY(-4px);box-shadow:var(--itl-shadow-hover);border-color:var(--itl-lilac)}
.itl-card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--itl-primary-soft);color:var(--itl-primary);margin-bottom:16px;transition:background var(--itl-t),color var(--itl-t)}
.itl-card:hover .itl-card-icon{background:var(--itl-primary);color:var(--itl-on-primary)}
#contenttext .itl-card h3,#contenttext .itl-card h2{color:var(--itl-text);font-size:20px;margin:0 0 8px}
#contenttext .itl-card p{font-size:16px;margin:0 0 14px;flex:1}
#contenttext .itl-card a.itl-card-link{font-weight:var(--itl-w-semibold);text-decoration:none;color:var(--itl-primary)}
#contenttext .itl-card a.itl-card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
#contenttext .itl-card a.itl-card-link:hover{color:var(--itl-primary-hover)}
.itl-lead{font-size:19px;color:var(--itl-text-2)}

/* old fade classes: visible without JavaScript */
.fade-ani,.fade-ani-f{opacity:1;position:static}

/* ---------- footer (home footer) ---------- */
.sf{background:var(--itl-footer-bg);color:var(--itl-text-2);font-size:16px;line-height:1.6}
.sf-in{max-width:1300px;margin:0 auto;padding:70px 24px 50px;display:grid;grid-template-columns:3fr 2fr 3fr 3fr;gap:40px}
.sf-about>img{width:180px;height:auto;margin-bottom:14px}
.sf-title{font-size:22px;font-weight:var(--itl-w-semibold);color:var(--itl-text);line-height:1.2;margin-bottom:18px}
.sf ul{list-style:none;margin:0;padding:0}
.sf .sf-social{display:flex;gap:10px;margin:20px 0}
.sf-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--itl-chip);transition:background var(--itl-t),transform var(--itl-t) var(--itl-ease)}
.sf-social a:hover{background:var(--itl-primary);transform:translateY(-4px)}
.sf-social a:hover img{filter:brightness(0) invert(1)}
.sf-share a{color:var(--itl-primary)}
.sf-links li{margin:0 0 12px}
.sf-links a{color:var(--itl-text-2);text-decoration:none;display:inline-block;transition:color var(--itl-t),padding var(--itl-t)}
.sf-links a:hover{color:var(--itl-primary);padding-left:5px}
.sf-contact li{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px}
.sf-contact img{flex:0 0 auto;margin-top:2px}
.sf-noicon{flex:0 0 24px}
.sf-contact a{color:var(--itl-text-2);text-decoration:none}
.sf-contact a:hover{color:var(--itl-primary)}
.sf-cta p{margin:0 0 18px}
.sf-bottom{max-width:1300px;margin:0 auto;padding:0 24px}
.sf-bottom p{border-top:1px solid var(--itl-border);padding:26px 0 30px;margin:0;font-size:15px;color:var(--itl-text-2)}
.sf-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}.sf-bottom a:hover{color:var(--itl-primary)}
#contenttext mark.todo{background:#fff3b0;color:#5c4400;outline:2px dashed #c79a00;padding:0 4px;border-radius:3px}
#contenttext h2[id]{scroll-margin-top:110px}
@media (max-width:991px){.sf-in{grid-template-columns:1fr 1fr;gap:34px;padding:50px 20px 30px}.sf-bottom{padding:0 20px}}
@media (max-width:575px){.sf-in{grid-template-columns:1fr}}

/* ---------- responsive layout ---------- */
@media (max-width:1140px){#slide-in,#spider,#contenttext{padding-left:20px;padding-right:20px}}
@media (max-width:980px){
  #slide-in{display:block}
  #slide-in-left,#slide-in-right{padding:30px 0 10px}
  #slide-in-right-form-container{margin-left:0;width:100%}
  #contenttext-container-website-img{float:none;width:100%;margin:10px 0}
}
@media (max-width:767px){.getaquoteinputtext,.getaquoteinputtextarea{font-size:16px}#contenttext{font-size:16px}#slide-in-left p{font-size:17px}}

/* ---------- motion: short title fade-in only; nothing moves for people who ask for less motion ---------- */
@keyframes itl-title-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* contact pages (Round 6): details card + form card, map below */
.cp-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start;margin:10px 0 40px}
.cp-card{background:var(--itl-hero-bg);border-radius:var(--itl-radius);padding:30px 28px;color:var(--itl-text-2)}
.cp-card-title{font-size:20px;font-weight:var(--itl-w-semibold);color:var(--itl-text);margin:0 0 18px}
.cp-list{list-style:none;margin:0 0 22px;padding:0}
#contenttext .cp-list li{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;font-size:16px;line-height:1.5}
.cp-list img{flex:none;margin-top:2px}
.cp-noicon{flex:none;width:22px}
#contenttext .cp-list a{color:var(--itl-text);text-decoration:none}
#contenttext .cp-list a:hover{color:var(--itl-primary)}
.cp-social{display:flex;gap:10px;list-style:none;padding:0;margin:0}
.cp-form{background:var(--itl-bg);border-radius:var(--itl-radius);box-shadow:var(--itl-shadow);padding:30px 28px}
.cp-form .cp-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cp-form .getaquotebtn{width:auto;min-width:200px;padding:14px 34px}
.cp-form .g-recaptcha{margin:4px 0 12px}
.cp-form .cp-err{color:#c62828;font-size:16px;font-weight:var(--itl-w-semibold);margin:0 0 12px}
.cp-message{background:var(--itl-bg);border-radius:var(--itl-radius);box-shadow:var(--itl-shadow);padding:34px 30px}
#contenttext .cp-message p{font-size:17px}
.cp-map{border-radius:var(--itl-radius);overflow:hidden;margin:0 0 30px;line-height:0}
.cp-map iframe{width:100%;height:340px;border:0}
@media (max-width:991px){.cp-grid{grid-template-columns:1fr;gap:24px}}
@media (max-width:575px){.cp-form .cp-row{grid-template-columns:1fr}.cp-form,.cp-card,.cp-message{padding:24px 18px}.cp-form .getaquotebtn{width:100%}}
#contenttext .cp-privacy{font-size:14px;margin:12px 0 0}
#contenttext .cp-privacy a{color:var(--itl-text-2)}
#contenttext .cp-list,#contenttext .cp-social{padding:0;margin-left:0}
/* pages that still load 2023/itlabsprostyles/theblogstylenew.css (blog listings, promotions): home colours over the old navy/blue */
body :is(h1,h2,h3,h4,h5,h6){color:var(--itl-text)}
body h1.blog-page-title{font-size:clamp(28px,4vw,40px);font-weight:var(--itl-w-bold);line-height:1.2;letter-spacing:-.01em;margin:18px 0 28px}
body .home-services-item.box{border-radius:var(--itl-radius);overflow:hidden}
body .home-services-item:before,body .blog-post-thumb .img .date,body .map-wrapper .contact-info{background-image:linear-gradient(127deg,var(--itl-primary) 0,#7B5CF0 100%)}
body .btn-white-line:hover{color:var(--itl-primary)}
body .btn-white-line,body .btn-primary-line{border-radius:var(--itl-radius-pill)}
body .btn-primary-line{color:var(--itl-primary);border-color:var(--itl-primary)}
body .btn-primary-line:hover{background:var(--itl-primary);color:var(--itl-on-primary)}
body .blog-post-thumb h3 a:hover,body .blog-post-thumb h2.blog-card-title a:hover,body .blog-post-thumb .post-footer ul.share li a,body .pagination .page-item a{color:var(--itl-primary)}
body ::selection{background:var(--itl-primary);color:#fff}
/* rebuilt classic pages (Round 6) */
#contenttext .itl-callout{background:var(--itl-primary-softer);border-left:4px solid var(--itl-primary);border-radius:var(--itl-radius-sm);padding:16px 20px;margin:20px 0}
#contenttext .itl-figure img{border-radius:var(--itl-radius);height:auto;max-width:100%}
#contenttext .itl-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}
#contenttext .itl-gallery img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--itl-radius);margin:0}
#contenttext .itl-links li{margin:0 0 10px}
#contenttext .as-h2{font-size:clamp(22px,2.6vw,28px)}
@media (max-width:575px){#contenttext .itl-gallery{grid-template-columns:1fr}}
#contenttext a.btn-itl,#contenttext a.btn-itl:hover{color:var(--itl-on-primary);text-decoration:none}
#contenttext input,#contenttext select,#contenttext textarea{max-width:100%}
