
/* CAPLOT PREMIUM · visual refinements & conversion UX */
:root{--caplot-ink:#142a3d;--caplot-night:#101f2c;--caplot-orange:#ee5a2a;--caplot-paper:#faf8f4;--caplot-soft:#f2eee8}
.caplot-home{background:#fff}
.caplot-home .site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 4px 22px rgba(16,31,44,.035)}
.caplot-home .hero{background:radial-gradient(circle at 18% 5%,#fff 0%,#faf7f2 47%,#eee9e0 100%)}
.caplot-home .hero h1{color:var(--caplot-ink);text-wrap:balance}
.caplot-home .hero-content .eyebrow{letter-spacing:.135em;color:#a34b2b;font-weight:800}
.caplot-home .hero-media:before{background:linear-gradient(90deg,#faf8f4 0%,rgba(250,248,244,.38) 17%,transparent 44%)}
.caplot-home .hero-media img{filter:saturate(.93) contrast(1.035);transition:transform .9s ease}
.caplot-home .btn,.caplot-home .service-card,.caplot-home .project-card,.caplot-home .reviews-card,.caplot-home .advantage,.caplot-home .faq details{transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,border-color .32s ease,background-color .32s ease}
.caplot-home .btn-primary,.caplot-home .conversion-devis,.caplot-home .quote-submit{background:linear-gradient(110deg,#fa7338,#eb5226);box-shadow:0 11px 25px rgba(235,82,38,.17)}
.caplot-home .btn-primary:hover,.caplot-home .conversion-devis:hover,.caplot-home .quote-submit:hover{background:linear-gradient(110deg,#ff854b,#dd421b);box-shadow:0 13px 32px rgba(235,82,38,.26);transform:translateY(-2px)}
.caplot-home .btn svg,.caplot-home .seo-anchor svg{transition:transform .22s ease}
.caplot-home .btn:hover svg,.caplot-home .seo-anchor:hover svg{transform:translateX(4px)}
.caplot-home .service-card{border-radius:16px;box-shadow:0 9px 30px rgba(20,42,61,.06);border-color:#ebe8e2}
.caplot-home .service-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(20,42,61,.13);border-color:#ebd5c7}
.caplot-home .service-card .service-visual img{transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .4s ease}
.caplot-home .service-card:hover .service-visual img{transform:scale(1.08)}
.caplot-home .project-card{overflow:hidden;border-radius:16px}
.caplot-home .project-card:hover{transform:translateY(-5px);box-shadow:0 17px 33px rgba(20,42,61,.13)}
.caplot-home .project-pic img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.caplot-home .project-card:hover .project-pic img{transform:scale(1.055)}
.caplot-home .about{background:linear-gradient(125deg,#f8f5ef,#fffaf5)}
.caplot-home .about-visual{border-radius:22px}
.caplot-home .reviews-card{box-shadow:0 18px 44px rgba(20,42,61,.055);border-radius:20px}
.caplot-home .reviews-card:hover{transform:translateY(-3px)}
.caplot-home .faq details:hover{border-color:#e6cabb;box-shadow:0 9px 22px rgba(20,42,61,.06)}
.caplot-home .faq details[open]{border-color:#eed2c3;background:#fffdfb}
.caplot-home .section-head h2,.caplot-home .about h2{text-wrap:balance}
.caplot-home .hero-content > .eyebrow,.caplot-home .hero-content > h1,.caplot-home .hero-content > .hero-lead,.caplot-home .hero-content > .hero-summary,.caplot-home .hero-content > .hero-buttons,.caplot-home .hero-content > .hero-benefits{animation:caplot-hero-enter .76s cubic-bezier(.16,1,.3,1) both}
.caplot-home .hero-content > h1{animation-delay:.09s}
.caplot-home .hero-content > .hero-lead{animation-delay:.17s}
.caplot-home .hero-content > .hero-summary{animation-delay:.23s}
.caplot-home .hero-content > .hero-buttons{animation-delay:.29s}
.caplot-home .hero-content > .hero-benefits{animation-delay:.34s}
@keyframes caplot-hero-enter{from{opacity:0;transform:translate3d(0,15px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.caplot-home.motion-ready .reveal:not(.is-visible){opacity:0;transform:translate3d(0,27px,0);filter:blur(3px)}
.caplot-home.motion-ready .reveal[data-reveal="left"]:not(.is-visible){transform:translate3d(-24px,16px,0)}
.caplot-home.motion-ready .reveal[data-reveal="right"]:not(.is-visible){transform:translate3d(24px,16px,0)}
.caplot-home .reveal{transition:opacity .76s cubic-bezier(.2,.75,.25,1),transform .76s cubic-bezier(.2,.75,.25,1),filter .76s ease}
.caplot-home .reveal.is-visible{opacity:1;transform:none;filter:none}
.caplot-home .services-grid .service-card:nth-child(2),.caplot-home .projects-grid .project-card:nth-child(2){transition-delay:.06s}
.caplot-home .services-grid .service-card:nth-child(3),.caplot-home .projects-grid .project-card:nth-child(3){transition-delay:.12s}
.caplot-home .services-grid .service-card:nth-child(4),.caplot-home .projects-grid .project-card:nth-child(4){transition-delay:.18s}
.caplot-home .services-grid .service-card:nth-child(5){transition-delay:.24s}
.caplot-home .services-grid .service-card:nth-child(6){transition-delay:.3s}


/* Caplot SEO v3 — Sidebar left, crafted long-form editorial text right. */
.caplot-home .seo-editorial{
  position:relative;overflow:visible;
  padding:105px 0 112px;
  background:linear-gradient(145deg,#faf8f4 0%,#f6f3ed 100%);
  border-top:1px solid #ede8df;
}
.caplot-home .seo-editorial:before{content:none}
.caplot-home .seo-shell{
  display:grid;grid-template-columns:minmax(245px,292px) minmax(0,1fr);
  align-items:start;gap:clamp(42px,5.2vw,86px);
}
.caplot-home .seo-rail{position:sticky;top:112px;align-self:start;min-width:0}
.caplot-home .seo-rail-inner{display:flex;flex-direction:column;gap:17px}
.caplot-home .seo-nav{
  background:#fff;border:1px solid #ede8e0;border-radius:19px;
  padding:26px 19px 20px;box-shadow:0 12px 40px rgba(20,42,61,.046);
}
.caplot-home .seo-rail-kicker{display:block;color:#b25937;letter-spacing:.15em;font-size:10px;font-weight:850;margin:0 8px 12px}
.caplot-home .seo-nav h3{color:#182f42;font-family:var(--serif);font-size:27px;letter-spacing:-.035em;line-height:1.15;margin:0 8px 29px}
.caplot-home .seo-nav h3 em{color:#d15b33;font-style:italic;font-weight:400}
.caplot-home .seo-nav-label{display:block;font-size:9px;font-weight:850;letter-spacing:.145em;color:#899098;margin:0 8px 12px}
.caplot-home .seo-nav-link{
  display:grid;grid-template-columns:20px minmax(0,1fr) 15px;gap:10px;align-items:center;
  min-height:47px;padding:11px 10px;border-radius:10px;color:#455462;font-size:12px;
  font-weight:750;transition:background .2s ease,color .2s ease;
}
.caplot-home .seo-nav-link>span:first-child{font-size:10px;color:#b0a398;font-weight:850}
.caplot-home .seo-nav-link .icon{width:13px;height:13px;opacity:.45;transition:transform .2s,opacity .2s}
.caplot-home .seo-nav-link:hover,.caplot-home .seo-nav-link.is-current{
  color:#162e40;background:#f9f1eb
}
.caplot-home .seo-nav-link.is-current>span:first-child,.caplot-home .seo-nav-link.is-current .icon{color:#e75b2a;opacity:1}
.caplot-home .seo-nav-link:hover .icon{opacity:1;transform:translateX(2px)}
.caplot-home .seo-rail-zones{border-top:1px solid #eeeae4;margin-top:15px;padding-top:20px}
.caplot-home .seo-rail-zones p{color:#64717d;font-size:12px;line-height:1.8;margin:0 8px}
.caplot-home .seo-rail-cta{
  display:flex;flex-direction:column;align-items:flex-start;
  background:radial-gradient(circle at 100% 0,rgba(244,104,52,.20),transparent 60%),#183043;
  color:#fff;border-radius:18px;padding:23px 22px 21px;
  box-shadow:0 17px 30px rgba(20,42,61,.12);
}
.caplot-home .seo-cta-icon{display:grid;place-items:center;background:rgba(255,255,255,.10);color:#ffad82;width:38px;height:38px;border-radius:10px;margin-bottom:18px}
.caplot-home .seo-cta-icon .icon{width:19px;height:19px}
.caplot-home .seo-rail-cta-kicker{font-size:9px;color:#ffb78e;font-weight:800;letter-spacing:.14em;margin-bottom:8px}
.caplot-home .seo-rail-cta>strong{font-size:19px;line-height:1.25;color:#fff;letter-spacing:-.025em}
.caplot-home .seo-rail-cta p{font-size:12px;color:#c8d2d8;line-height:1.75;margin:11px 0 19px}
.caplot-home .seo-cta-button{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 width:100%;border-radius:10px;padding:12px 13px;
 background:linear-gradient(115deg,#fb7539,#ec5326);color:#fff;
 font-size:12px;font-weight:850;transition:transform .23s ease,box-shadow .23s ease;
}
.caplot-home .seo-cta-button .icon{width:17px;height:17px}
.caplot-home .seo-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(229,83,36,.24)}
.caplot-home .seo-cta-phone{align-self:center;margin-top:14px;color:#fff;font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.caplot-home .seo-content{min-width:0}
.caplot-home .seo-intro{padding:2px 0 43px;border-bottom:1px solid #dcdcd8}
.caplot-home .seo-intro .eyebrow{font-size:10px;letter-spacing:.145em;margin-bottom:19px}
.caplot-home .seo-intro h2{
  max-width:820px;font-size:clamp(2.55rem,3.35vw,3.65rem);
  letter-spacing:-.046em;line-height:1.105;margin-bottom:22px;text-wrap:balance;
}
.caplot-home .seo-intro p{max-width:74ch;color:#51616d;font-size:15px;line-height:1.88;margin:0 0 14px}
.caplot-home .seo-intro .seo-intro-lead{color:#273d4d;font-size:17px;line-height:1.7;margin-bottom:16px}
.caplot-home .seo-intro strong,.caplot-home .seo-article strong{color:#1d3446;font-weight:750}
.caplot-home .seo-mobile-toc{display:none}
.caplot-home .seo-articles{display:block}
.caplot-home .seo-article{
  display:block;min-width:0;background:transparent;border:0;border-bottom:1px solid #deded9;
  border-radius:0;padding:39px 0 42px;box-shadow:none;
}
.caplot-home .seo-article:hover{transform:none;border-color:#deded9;box-shadow:none}
.caplot-home .seo-article-num{display:flex;align-items:center;gap:12px;color:#ba6748;font-size:10px;font-weight:850;letter-spacing:.13em;margin:0 0 17px}
.caplot-home .seo-index{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#faebe2;color:#d4542a;font-size:11px;letter-spacing:0}
.caplot-home .seo-article-line{flex:1;height:1px;max-width:66px;background:#ddc6b7}
.caplot-home .seo-article h3{
  font-family:var(--serif);color:#192e40;letter-spacing:-.036em;
  font-size:clamp(1.7rem,2.4vw,2.35rem);line-height:1.21;
  margin:0 0 23px;max-width:750px;text-wrap:balance;
}
.caplot-home .seo-article p{max-width:76ch;color:#52606a;font-size:15px;line-height:1.94;margin:0 0 18px}
.caplot-home .seo-editor-note{
  display:grid;grid-template-columns:minmax(128px,.33fr) 1fr;gap:15px;
  padding:17px 20px;margin:23px 0 8px;
  border-left:3px solid #eb7145;background:#fff;border-radius:0 11px 11px 0;
}
.caplot-home .seo-editor-note strong{font-size:12px;line-height:1.65;color:#263c4a}
.caplot-home .seo-editor-note span{font-size:12px;line-height:1.73;color:#6b747d}
.caplot-home .seo-anchor{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:10px;padding:5px 0 4px;border-bottom:1px solid rgba(217,83,37,.33);
  color:#d95325;font-size:12px;font-weight:850;
}
.caplot-home .seo-anchor .icon{width:16px;height:16px}
.caplot-home .seo-local-summary{margin-top:40px;padding:33px 34px;border-radius:16px;background:#fff;border:1px solid #eae5dd}
.caplot-home .seo-local-summary .eyebrow{font-size:10px;margin-bottom:11px}
.caplot-home .seo-local-summary h3{font-family:var(--serif);font-size:clamp(23px,2.2vw,29px);letter-spacing:-.032em;line-height:1.22;margin:0 0 15px}
.caplot-home .seo-local-summary p{color:#576673;font-size:14px;line-height:1.84;margin:0 0 9px}
.caplot-home .seo-process{
  margin-top:20px;background:transparent;border:1px solid #e3dfd7;
  border-radius:16px;display:block;padding:26px 28px 30px;box-shadow:none;
}
.caplot-home .seo-process-intro .eyebrow{font-size:10px;margin-bottom:11px}
.caplot-home .seo-process-intro h3{font-family:var(--serif);font-size:28px;letter-spacing:-.035em;margin:0 0 24px}
.caplot-home .seo-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.caplot-home .seo-process-steps>div{padding:0 12px 0 0;border-left:0;border-right:1px solid #e3dfd8}
.caplot-home .seo-process-steps>div:last-child{border-right:0}
.caplot-home .seo-process-steps span{display:block;font-size:15px;font-weight:850;color:#de5d32;margin-bottom:12px}
.caplot-home .seo-process-steps strong{display:block;font-size:12px;font-weight:800;line-height:1.45;margin-bottom:8px}
.caplot-home .seo-process-steps p{font-size:11px;line-height:1.7;color:#63707b;margin:0}
@media(max-width:1120px){
  .caplot-home .seo-shell{grid-template-columns:250px minmax(0,1fr);gap:36px}
  .caplot-home .seo-nav{padding-inline:15px}
}
@media(max-width:900px){
  .caplot-home .seo-shell{display:block}
  .caplot-home .seo-rail{display:none}
  .caplot-home .seo-mobile-toc{display:block;margin:25px 0 4px;border:1px solid #e8d5c5;border-radius:13px;background:#fff}
  .caplot-home .seo-mobile-toc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:13px;font-weight:800;color:#23384a;padding:16px 18px}
  .caplot-home .seo-mobile-toc summary::-webkit-details-marker{display:none}
  .caplot-home .seo-mobile-toc summary .icon{width:17px;height:17px;transform:rotate(90deg);color:#e26032}
  .caplot-home .seo-mobile-toc[open] summary .icon{transform:rotate(-90deg)}
  .caplot-home .seo-mobile-toc nav{padding:0 18px 15px;display:grid;gap:0}
  .caplot-home .seo-mobile-toc nav a{border-top:1px solid #eeeae4;padding:12px 0;color:#566574;font-size:12px;font-weight:750}
}
@media(max-width:600px){
  .caplot-home .seo-editorial{padding:69px 0 77px}
  .caplot-home .seo-intro{padding-bottom:24px}
  .caplot-home .seo-intro h2{font-size:clamp(2.1rem,9vw,3rem);margin-bottom:18px}
  .caplot-home .seo-intro p{font-size:14px;line-height:1.86}
  .caplot-home .seo-intro .seo-intro-lead{font-size:15px;line-height:1.75}
  .caplot-home .seo-article{padding:31px 0 33px}
  .caplot-home .seo-article h3{font-size:clamp(1.55rem,6.6vw,2.05rem);margin-bottom:18px}
  .caplot-home .seo-article p{font-size:14px;line-height:1.88}
  .caplot-home .seo-editor-note{grid-template-columns:1fr;gap:5px;padding:15px 15px;margin-top:17px}
  .caplot-home .seo-local-summary{padding:25px 20px;margin-top:29px}
  .caplot-home .seo-process{padding:24px 20px}
  .caplot-home .seo-process-steps{grid-template-columns:1fr;gap:16px}
  .caplot-home .seo-process-steps>div{border:0;border-bottom:1px solid #e3dfd8;padding:0 0 15px}
  .caplot-home .seo-process-steps>div:last-child{border-bottom:0;padding-bottom:0}
}

/* Premium contact form: dark editorial shell, clean white controls and prominent CTA. */
.caplot-home .end-section{background:#fff;padding:102px 0 115px}
.caplot-home .end-grid{grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(26px,4vw,65px)}
.caplot-home .contact-panel{background:radial-gradient(circle at 96% -5%,rgba(241,112,54,.22),transparent 45%),linear-gradient(155deg,#172e40,#0e1d2b);border:1px solid rgba(255,255,255,.12);border-radius:23px;padding:32px;box-shadow:0 27px 70px rgba(16,31,44,.17);overflow:hidden}
.caplot-home .contact-panel:after{width:260px;height:260px;right:-210px;top:-175px;border-color:rgba(255,255,255,.13)}
.caplot-home .quote-header{position:relative;z-index:1;padding:6px 6px 21px}
.caplot-home .quote-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.10em;color:#ffbc98;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.11);padding:7px 11px;border-radius:100px;margin-bottom:19px}
.caplot-home .quote-eyebrow .icon{width:14px;height:14px}
.caplot-home .quote-header h2{font-size:clamp(2.2rem,3.2vw,3.55rem);color:#fff;line-height:1.05;margin:0 0 14px}
.caplot-home .quote-header h2 em{font-weight:400;color:#ffb082;font-style:italic}
.caplot-home .quote-header>p{color:#cdd7da;font-size:13px;line-height:1.78;max-width:500px;margin-bottom:18px}
.caplot-home .quote-quick{display:flex;flex-wrap:wrap;gap:8px 18px;color:#e3eaf0;font-size:11px;font-weight:700}
.caplot-home .quote-quick span{display:inline-flex;align-items:center;gap:6px}
.caplot-home .quote-quick .icon{width:16px;height:16px;color:#ff9e68}
.caplot-home .quote-form-card{position:relative;z-index:1;background:#fff;padding:25px 24px 24px;border-radius:17px;box-shadow:0 12px 36px rgba(4,13,22,.12);color:var(--caplot-ink)}
.caplot-home .quote-form-heading{display:flex;align-items:center;gap:11px;margin-bottom:22px;padding-bottom:19px;border-bottom:1px solid #efeee9}
.caplot-home .quote-step{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:11px;background:#fff1e9;color:#e65b2c;font-weight:850;font-size:13px}
.caplot-home .quote-form-heading strong{display:block;font-size:15px;line-height:1.3}
.caplot-home .quote-form-heading small{display:block;color:#77838d;font-size:11px;margin-top:2px}
.caplot-home .form-grid{gap:15px 13px}
.caplot-home .form-field{gap:7px}
.caplot-home .form-field label{color:#293c4b;font-size:11px;font-weight:800}
.caplot-home .form-field label>span[aria-hidden]{color:#e56437}
.caplot-home .field-optional{font-weight:500;color:#8b949c}
.caplot-home .form-field input,.caplot-home .form-field select,.caplot-home .form-field textarea{color:var(--caplot-ink);border:1px solid #e2e4e5;background:#fafaf9;border-radius:9px;min-height:49px;padding:12px 13px;font-size:13px;transition:border-color .23s ease,box-shadow .23s ease,background-color .23s ease}
.caplot-home .form-field textarea{min-height:103px}
.caplot-home .form-field input::placeholder,.caplot-home .form-field textarea::placeholder{color:#879199;opacity:1}
.caplot-home .form-field input:hover,.caplot-home .form-field select:hover,.caplot-home .form-field textarea:hover{border-color:#d5cabf;background:#fff}
.caplot-home .form-field input:focus,.caplot-home .form-field select:focus,.caplot-home .form-field textarea:focus{border-color:#f48458;box-shadow:0 0 0 3px rgba(239,107,55,.13);background:#fff;outline:0}
.caplot-home .form-field :is(input,select,textarea):user-invalid{border-color:#d94932}
.caplot-home .consent{color:#68747c;line-height:1.58;margin:17px 0 19px;font-size:11px}
.caplot-home .consent input{accent-color:#ed5c2a;flex:none;margin-top:3px}
.caplot-home .quote-submit{width:100%;border:0;min-height:56px;padding:9px 11px 9px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fff;border-radius:11px;font-weight:850;font-size:13px}
.caplot-home .quote-submit:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}
.caplot-home .quote-submit-arrow{display:grid;place-items:center;background:rgba(255,255,255,.2);width:37px;height:37px;flex:0 0 37px;border-radius:8px}
.caplot-home .quote-submit-arrow .icon{width:18px;height:18px}
.caplot-home .form-hint{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#76828a;opacity:1;line-height:1.5;margin:16px 0 0}
.caplot-home .form-hint .icon{flex:none;width:15px;height:15px;color:#8b959b}
.caplot-home .form-status{padding:12px;background:#f0f8f3;color:#1c5c3b;border:1px solid #cce8d3;font-weight:650}
.caplot-home .quote-alternative{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:#c7d0d5;font-size:11px;margin-top:20px;text-align:center}
.caplot-home .quote-alternative a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.caplot-home .quote-alternative .icon{width:16px;height:16px;color:#ffae85}

/* Floating conversion footer: desktop pill, compact mobile two-action bar. */
.caplot-home .conversion-bar{position:fixed;bottom:16px;left:50%;width:min(870px,calc(100% - 38px));z-index:96;opacity:0;pointer-events:none;transform:translate(-50%,calc(100% + 32px));transition:transform .44s cubic-bezier(.2,.8,.25,1),opacity .28s ease}
.caplot-home .conversion-bar.is-active:not(.is-suppressed){opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.caplot-home .conversion-bar-inner{display:flex;align-items:center;gap:13px;min-height:76px;padding:11px 12px 11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(18,36,50,.97);box-shadow:0 16px 47px rgba(14,26,38,.29);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.caplot-home .conversion-mark{display:grid;place-items:center;flex:0 0 40px;height:40px;color:#ff9e6b;border-radius:11px;background:rgba(255,255,255,.085)}
.caplot-home .conversion-mark .icon{width:23px;height:23px}
.caplot-home .conversion-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;color:#fff}
.caplot-home .conversion-copy strong{font-size:13px;line-height:1.32;font-weight:750}
.caplot-home .conversion-copy span{font-size:10px;color:#bfc9cf;line-height:1.3}
.caplot-home .conversion-phone{display:flex;align-items:center;gap:9px;color:#fff;white-space:nowrap;border:1px solid rgba(255,255,255,.20);border-radius:10px;padding:9px 13px;min-height:49px;transition:background .2s ease,border-color .2s ease}
.caplot-home .conversion-phone:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.4)}
.caplot-home .conversion-phone>.icon{color:#ffae85;width:19px;height:19px}
.caplot-home .conversion-phone-text{display:flex;flex-direction:column;line-height:1.2;gap:3px}
.caplot-home .conversion-phone-text strong{font-size:11px}
.caplot-home .conversion-phone-text small{font-size:11px;font-weight:750}
.caplot-home .conversion-devis{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:49px;padding:10px 17px;background:#ec5a2a;border-radius:10px;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.caplot-home .conversion-devis .icon{width:17px;height:17px}
.caplot-home .site-footer{padding-bottom:58px}
@media(max-width:1150px){


}
@media(max-width:900px){



 .caplot-home .end-grid{grid-template-columns:1fr}
 .caplot-home .contact-panel{max-width:720px;width:100%;margin:0 auto}

}
@media(max-width:760px){
 .caplot-home .conversion-bar{bottom:0;left:0;width:100%;opacity:1;pointer-events:auto;transform:none}
 .caplot-home .conversion-bar.is-suppressed{opacity:0;pointer-events:none;transform:translateY(calc(100% + 15px))}
 .caplot-home .conversion-bar-inner{gap:9px;min-height:70px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));border-radius:15px 15px 0 0;background:rgba(18,36,50,.98);border-inline:0;border-bottom:0;box-shadow:0 -8px 28px rgba(13,27,40,.20)}
 .caplot-home .conversion-mark,.caplot-home .conversion-copy{display:none}
 .caplot-home .conversion-phone,.caplot-home .conversion-devis{min-width:0;flex:1;min-height:48px;justify-content:center;border-radius:10px}
 .caplot-home .conversion-phone-text{flex-direction:row;gap:0}
 .caplot-home .conversion-phone-text small{display:none}
 .caplot-home .conversion-phone-text strong{font-size:13px}
 .caplot-home .conversion-devis{font-size:12px;padding-inline:10px}
 .caplot-home .site-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}






 .caplot-home .end-section{padding-block:72px 85px}
}
@media(max-width:600px){
 .caplot-home .contact-panel{padding:19px 12px 18px;border-radius:19px}
 .caplot-home .quote-header{padding:13px 9px 18px}
 .caplot-home .quote-header h2{font-size:clamp(2rem,9vw,2.8rem)}
 .caplot-home .quote-form-card{padding:22px 16px 19px;border-radius:14px}
 .caplot-home .form-grid{grid-template-columns:1fr;gap:13px}




 .caplot-home .conversion-bar .conversion-devis .icon{width:16px;height:16px}
}
@media(prefers-reduced-motion:reduce){
 .caplot-home .hero-content>*{animation:none!important}
 .caplot-home .reveal,.caplot-home.motion-ready .reveal:not(.is-visible){opacity:1!important;transform:none!important;filter:none!important}
 .caplot-home .conversion-bar{transition:none}
}

/* On narrow screens, horizontal reveal offsets must not widen the viewport. */
@media(max-width:760px){
  .caplot-home.motion-ready .reveal[data-reveal="right"]:not(.is-visible),
  .caplot-home.motion-ready .reveal[data-reveal="left"]:not(.is-visible){
    transform:translate3d(0,18px,0);
  }
}

/* Keep text and form controls crisp while the reveal transitions run. */
.caplot-home.motion-ready .reveal:not(.is-visible){filter:none}
.caplot-home .contact-panel.reveal{transition-duration:.58s}

/* Override the centered desktop transform when the mobile bar is activated. */
@media(max-width:760px){
  .caplot-home .conversion-bar.is-active:not(.is-suppressed){
    transform:translate3d(0,0,0);
  }
}


/* CAPLOT MEGA MENU — premium services navigation */
.caplot-home .header-inner{position:relative}
.caplot-home .nav-dropdown{position:static}
.caplot-home .nav-parent{position:relative;gap:7px}
.caplot-home .nav-parent>.icon{transition:transform .22s ease}
.caplot-home .nav-dropdown.open .nav-parent>.icon,
.caplot-home .nav-dropdown:hover .nav-parent>.icon,
.caplot-home .nav-dropdown:focus-within .nav-parent>.icon{transform:rotate(180deg)}
.caplot-home .mega-menu{
  position:absolute;
  top:calc(100% - 3px);
  left:50%;
  width:min(920px,calc(100vw - 68px));
  padding:0;
  border:1px solid #e8e7e3;
  border-radius:21px;
  background:#fff;
  box-shadow:0 28px 75px rgba(20,42,61,.18),0 5px 16px rgba(20,42,61,.05);
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,13px) scale(.985);
  transform-origin:50% 0;
  transition:opacity .2s ease,transform .25s cubic-bezier(.2,.75,.25,1),visibility .2s;
}
.caplot-home .nav-dropdown:hover .mega-menu,
.caplot-home .nav-dropdown:focus-within .mega-menu,
.caplot-home .nav-dropdown.open .mega-menu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}
.caplot-home .mega-menu-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:25px;
  padding:25px 27px 20px;border-bottom:1px solid #eeece8;
  background:linear-gradient(110deg,#fff 0%,#fdfaf7 100%);
}
.caplot-home .mega-menu-head>div{display:flex;flex-direction:column;gap:4px}
.caplot-home .mega-eyebrow{font-size:9px;font-weight:850;letter-spacing:.16em;color:#ce5b34}
.caplot-home .mega-menu-head strong{font-family:var(--serif);font-size:24px;line-height:1.2;letter-spacing:-.03em;color:#173045}
.caplot-home .mega-all{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 0 4px;color:#d4562c;font-size:11px;font-weight:850;
  border-bottom:1px solid rgba(212,86,44,.3)
}
.caplot-home .mega-all .icon{width:15px;height:15px;transition:transform .2s ease}
.caplot-home .mega-all:hover .icon{transform:translateX(3px)}
.caplot-home .mega-menu-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:18px;
  padding:21px 21px 19px;background:#fff;
}
.caplot-home .mega-services{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  align-content:start
}
.caplot-home .mega-service{
  display:grid!important;
  grid-template-columns:43px minmax(0,1fr) 16px;
  align-items:center;gap:11px;
  min-height:75px;padding:10px 11px!important;
  border:1px solid transparent;border-radius:13px;
  background:#fff;color:#173045!important;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease
}
.caplot-home .mega-service:hover{
  background:#fbf7f2!important;border-color:#efe2d8;
  transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,42,61,.055)
}
.caplot-home .mega-icon{
  display:grid;place-items:center;width:43px;height:43px;border-radius:12px;
  background:#fff0e9;color:#ec6232;border:1px solid #fae0d3
}
.caplot-home .mega-icon .icon{width:21px;height:21px}
.caplot-home .mega-service-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.caplot-home .mega-service-copy strong{
  display:block;color:#1d3547;font-size:12px;line-height:1.35;font-weight:800
}
.caplot-home .mega-service-copy small{
  display:block;color:#78838b;font-size:10px;line-height:1.4;font-weight:500
}
.caplot-home .mega-arrow{width:14px;height:14px;color:#c7b9af;transition:color .2s ease,transform .2s ease}
.caplot-home .mega-service:hover .mega-arrow{color:#e15b2d;transform:translateX(3px)}
.caplot-home .mega-local{
  min-width:0;border-radius:15px;padding:25px 22px 21px;
  background:radial-gradient(circle at 100% 0,rgba(241,101,48,.23),transparent 55%),linear-gradient(150deg,#183145,#102331);
  color:#fff;box-shadow:0 14px 30px rgba(20,42,61,.10)
}
.caplot-home .mega-local-kicker{display:block;font-size:9px;font-weight:850;letter-spacing:.16em;color:#ffb188;margin-bottom:13px}
.caplot-home .mega-local h3{font-family:var(--serif);font-size:25px;line-height:1.13;letter-spacing:-.035em;color:#fff;margin:0 0 14px}
.caplot-home .mega-local h3 em{font-style:italic;font-weight:400;color:#ffb28d}
.caplot-home .mega-local>p{font-size:11px;line-height:1.7;color:#c8d2d8;margin:0 0 15px}
.caplot-home .mega-local-zone{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750;color:#e4ecef;margin-bottom:18px}
.caplot-home .mega-local-zone .icon{width:15px;height:15px;color:#ff9e6d}
.caplot-home .mega-local-cta{
  display:flex!important;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 12px!important;border-radius:9px!important;
  background:linear-gradient(110deg,#f8763c,#eb5428)!important;color:#fff!important;
  font-size:11px!important;font-weight:850!important
}
.caplot-home .mega-local-cta .icon{width:15px;height:15px}
.caplot-home .mega-local-cta:hover{background:linear-gradient(110deg,#ff824b,#dc431d)!important}
.caplot-home .mega-local-phone{
  display:flex!important;justify-content:center;align-items:center;gap:7px;
  padding:12px 5px 3px!important;color:#fff!important;font-size:11px!important;font-weight:800!important
}
.caplot-home .mega-local-phone .icon{width:15px;height:15px;color:#ffab82}
.caplot-home .mega-menu-footer{
  display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;gap:0;
  min-height:54px;padding:0 23px;border-top:1px solid #eceae6;
  background:#faf9f7
}
.caplot-home .mega-menu-footer>span{
  padding-right:18px;color:#92989c;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase
}
.caplot-home .mega-menu-footer>a{
  display:flex!important;align-items:center;justify-content:center;gap:7px;
  min-height:32px;padding:4px 13px!important;border-left:1px solid #e9e6e0;
  color:#52626e!important;font-size:10px!important;font-weight:750!important
}
.caplot-home .mega-menu-footer>a:hover{color:#dd5a2c!important}
.caplot-home .mega-menu-footer .icon{width:12px;height:12px}
@media(max-width:900px){
  .caplot-home .nav-dropdown{position:relative}
  .caplot-home .nav-parent{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;padding:13px 10px!important
  }
  .caplot-home .nav-dropdown .mega-menu{
    position:static;
    display:none!important;
    width:100%;max-width:none;
    margin:7px 0 10px;padding:0;
    border:1px solid #ece8e1;border-radius:14px;
    box-shadow:none;overflow:hidden;
    opacity:1;visibility:visible;pointer-events:auto;
    transform:none!important;
    transition:none
  }
  .caplot-home .nav-dropdown.open .mega-menu{display:block!important}
  .caplot-home .mega-menu-head{padding:17px 16px 14px}
  .caplot-home .mega-menu-head strong{font-size:19px}
  .caplot-home .mega-all{display:none}
  .caplot-home .mega-menu-grid{grid-template-columns:1fr;padding:10px;gap:10px}
  .caplot-home .mega-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .caplot-home .mega-service{
    min-height:68px;padding:8px!important;grid-template-columns:37px minmax(0,1fr) 13px
  }
  .caplot-home .mega-icon{width:37px;height:37px;border-radius:10px}
  .caplot-home .mega-icon .icon{width:18px;height:18px}
  .caplot-home .mega-service-copy strong{font-size:11px}
  .caplot-home .mega-service-copy small{font-size:9px}
  .caplot-home .mega-local{padding:19px 17px}
  .caplot-home .mega-local h3{font-size:22px}
  .caplot-home .mega-menu-footer{grid-template-columns:repeat(3,1fr);padding:6px 5px}
  .caplot-home .mega-menu-footer>span{display:none}
  .caplot-home .mega-menu-footer>a{padding:5px!important;font-size:9px!important}
}
@media(max-width:560px){
  .caplot-home .mega-services{grid-template-columns:1fr}
  .caplot-home .mega-menu-head{display:block}
  .caplot-home .mega-menu-grid{padding:8px}
  .caplot-home .mega-local{border-radius:12px}
  .caplot-home .mega-menu-footer{grid-template-columns:1fr;gap:0}
  .caplot-home .mega-menu-footer>a{justify-content:space-between;border-left:0;border-top:1px solid #e9e6e0;padding:8px 10px!important}
  .caplot-home .mega-menu-footer>a:first-of-type{border-top:0}
}

/* Mega menu mobile polish */
.caplot-home.nav-open .conversion-bar{opacity:0!important;pointer-events:none!important;transform:translateY(calc(100% + 16px))!important}
@media(max-width:900px){
  .caplot-home .mega-menu-footer{display:none}
}
@media(max-width:560px){
  .caplot-home .mega-menu-head{padding:14px 15px 12px}
  .caplot-home .mega-menu-head strong{font-size:18px}
  .caplot-home .mega-service{min-height:55px;padding:7px 8px!important}
  .caplot-home .mega-service-copy small{display:none}
  .caplot-home .mega-local{padding:17px 16px 16px}
  .caplot-home .mega-local h3{font-size:20px;margin-bottom:11px}
  .caplot-home .mega-local>p{display:none}
  .caplot-home .mega-local-zone{margin-bottom:14px}
}

/* Header fix — prevent Elementor/global button styles from affecting Services */
.caplot-home .site-header .main-nav #services-toggle.nav-parent{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:10px 0!important;
  border:0!important;
  border-radius:0!important;
  outline:0;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--navy)!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.35!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.caplot-home .site-header .main-nav #services-toggle.nav-parent:hover,
.caplot-home .site-header .main-nav #services-toggle.nav-parent[aria-expanded="true"]{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--orange)!important;
}
.caplot-home .site-header .main-nav #services-toggle.nav-parent:focus{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.caplot-home .site-header .main-nav #services-toggle.nav-parent:focus-visible{
  outline:2px solid rgba(241,91,41,.5)!important;
  outline-offset:5px!important;
  border-radius:4px!important;
}
@media(max-width:1160px) and (min-width:901px){
  .caplot-home .site-header .main-nav #services-toggle.nav-parent{font-size:12px!important}
}
@media(max-width:900px){
  .caplot-home .site-header .main-nav #services-toggle.nav-parent{
    display:flex!important;
    width:100%!important;
    padding:13px 10px!important;
    border:0!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0!important;
    justify-content:space-between!important;
    font-size:15px!important;
    text-align:left!important;
  }
  .caplot-home .site-header .main-nav #services-toggle.nav-parent:hover,
  .caplot-home .site-header .main-nav #services-toggle.nav-parent[aria-expanded="true"]{
    border-bottom:1px solid var(--line)!important;
  }
}


/* Mega menu v2 — full viewport width, centered premium content */
@media(min-width:901px){
  .caplot-home .mega-menu{
    top:calc(100% - 1px);
    left:50%;
    width:100vw;
    max-width:none;
    border-left:0;
    border-right:0;
    border-radius:0 0 22px 22px;
    transform:translate(-50%,12px) scale(.995);
    box-shadow:0 28px 65px rgba(20,42,61,.16),0 5px 15px rgba(20,42,61,.05);
  }
  .caplot-home .nav-dropdown:hover .mega-menu,
  .caplot-home .nav-dropdown:focus-within .mega-menu,
  .caplot-home .nav-dropdown.open .mega-menu{
    transform:translate(-50%,0) scale(1);
  }
  .caplot-home .mega-menu-head,
  .caplot-home .mega-menu-grid,
  .caplot-home .mega-menu-footer{
    width:min(1200px,calc(100% - 64px));
    margin-inline:auto;
  }
  .caplot-home .mega-menu-head{
    padding-left:4px;
    padding-right:4px;
  }
  .caplot-home .mega-menu-grid{
    padding-left:0;
    padding-right:0;
  }
  .caplot-home .mega-menu-footer{
    padding-left:0;
    padding-right:0;
  }
}

/* Google Business Profile map */
.caplot-home .gmb-map-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #e6e2db;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(20,42,61,.08);
}
.caplot-home .gmb-map-frame{
  position:relative;
  min-height:355px;
  background:#ece9e4;
}
.caplot-home .gmb-map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.88) contrast(.98);
}
.caplot-home .gmb-map-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 21px;
  border-top:1px solid #ece8e2;
  background:linear-gradient(115deg,#fff 0%,#fbf8f4 100%);
}
.caplot-home .gmb-map-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.caplot-home .gmb-map-kicker{
  display:flex;
  align-items:center;
  gap:6px;
  color:#cb5b34;
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
}
.caplot-home .gmb-map-kicker .icon{
  width:13px;
  height:13px;
}
.caplot-home .gmb-map-copy strong{
  color:#173045;
  font-size:14px;
  line-height:1.35;
}
.caplot-home .gmb-map-copy>span:last-child{
  color:#71808a;
  font-size:11px;
  line-height:1.55;
}
.caplot-home .gmb-map-link{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:43px;
  padding:10px 14px;
  border-radius:10px;
  background:#173045;
  color:#fff!important;
  font-size:11px;
  font-weight:850;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.caplot-home .gmb-map-link .icon{
  width:15px;
  height:15px;
}
.caplot-home .gmb-map-link:hover{
  transform:translateY(-2px);
  background:#213e53;
  box-shadow:0 8px 18px rgba(20,42,61,.15);
}
@media(max-width:900px){
  .caplot-home .gmb-map-frame{min-height:330px}
}
@media(max-width:600px){
  .caplot-home .gmb-map-card{border-radius:16px}
  .caplot-home .gmb-map-frame{min-height:300px}
  .caplot-home .gmb-map-meta{
    align-items:stretch;
    flex-direction:column;
    gap:15px;
    padding:17px;
  }
  .caplot-home .gmb-map-link{width:100%}
}


/* CAPLOT FOOTER V2 — premium, local and conversion-led */
.caplot-home .site-footer-v2{
  position:relative;
  overflow:hidden;
  padding:0 0 27px;
  background:
    radial-gradient(circle at 82% -10%,rgba(238,90,42,.13),transparent 30%),
    radial-gradient(circle at 4% 100%,rgba(72,112,139,.10),transparent 31%),
    #102535;
  color:#dbe4e9;
}
.caplot-home .site-footer-v2:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
}
.caplot-home .footer-cta{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
  align-items:center;
  gap:45px;
  margin-bottom:62px;
  padding:36px 40px;
  border:1px solid rgba(255,255,255,.14);
  border-top:0;
  border-radius:0 0 22px 22px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,137,78,.16),transparent 48%),
    linear-gradient(120deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 18px 44px rgba(2,12,22,.14);
}
.caplot-home .footer-cta-kicker{
  display:block;
  color:#ffad82;
  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
  margin-bottom:11px;
}
.caplot-home .footer-cta h2{
  color:#fff;
  font-size:clamp(2rem,3.1vw,3.15rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 0 12px;
}
.caplot-home .footer-cta h2 em{
  color:#ffad82;
  font-weight:400;
  font-style:italic;
}
.caplot-home .footer-cta p{
  max-width:650px;
  color:#bdcad1;
  font-size:13px;
  line-height:1.75;
  margin:0;
}
.caplot-home .footer-cta-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
.caplot-home .footer-cta-primary,
.caplot-home .footer-cta-phone{
  min-height:61px;
  border-radius:12px;
  transition:transform .23s ease,background .23s ease,border-color .23s ease,box-shadow .23s ease;
}
.caplot-home .footer-cta-primary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 16px;
  background:linear-gradient(110deg,#fb7338,#ed5428);
  color:#fff!important;
  font-size:12px;
  font-weight:850;
  box-shadow:0 11px 25px rgba(222,74,27,.18);
}
.caplot-home .footer-cta-primary:hover{
  transform:translateY(-2px);
  background:linear-gradient(110deg,#ff8248,#df451d);
  box-shadow:0 14px 30px rgba(222,74,27,.27);
}
.caplot-home .footer-cta-primary .icon{width:17px;height:17px}
.caplot-home .footer-cta-phone{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 14px;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.19);
  background:rgba(255,255,255,.045);
}
.caplot-home .footer-cta-phone:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.08);
}
.caplot-home .footer-cta-phone>.icon{
  width:20px;height:20px;color:#ffad82;flex:none;
}
.caplot-home .footer-cta-phone>span{display:flex;flex-direction:column;gap:2px}
.caplot-home .footer-cta-phone small{
  color:#aebdc5;font-size:9px;font-weight:650;line-height:1.2;
}
.caplot-home .footer-cta-phone strong{
  color:#fff;font-size:13px;line-height:1.2;
}
.caplot-home .footer-main{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(180px,.92fr) minmax(160px,.76fr) minmax(240px,1fr);
  gap:clamp(30px,4.4vw,70px);
  align-items:start;
}
.caplot-home .footer-brand-v2 .footer-logo{
  color:#fff;
  margin-bottom:24px;
}
.caplot-home .footer-brand-v2 .brand-symbol{width:49px;height:49px}
.caplot-home .footer-brand-v2 .brand-name{font-size:31px}
.caplot-home .footer-brand-v2 .brand-tag{color:#bbc9d1}
.caplot-home .footer-brand-text{
  max-width:310px;
  color:#acbdc6;
  font-size:12px;
  line-height:1.85;
  margin:0 0 23px;
}
.caplot-home .footer-local-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:11px;
  background:rgba(255,255,255,.035);
}
.caplot-home .footer-local-badge>.icon{
  width:18px;height:18px;color:#ff9f70;
}
.caplot-home .footer-local-badge>span{display:flex;flex-direction:column;gap:2px}
.caplot-home .footer-local-badge strong{
  color:#edf4f6;font-size:10px;line-height:1.25;
}
.caplot-home .footer-local-badge small{
  color:#98abb5;font-size:9px;line-height:1.25;
}
.caplot-home .footer-heading{
  display:block;
  margin-bottom:18px;
  color:#8399a5;
  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
}
.caplot-home .footer-links{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:1px;
}
.caplot-home .footer-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
  color:#d1dbe0;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.caplot-home .footer-links a:last-child{border-bottom:0}
.caplot-home .footer-links .icon{
  width:12px;height:12px;color:#617987;opacity:.75;
  transition:color .2s ease,transform .2s ease;
}
.caplot-home .footer-links a:hover{color:#fff}
.caplot-home .footer-links a:hover .icon{color:#ff9d6b;transform:translateX(3px)}
.caplot-home .footer-zone-list{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.caplot-home .footer-zone-list a{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:7px 0;
  color:#d1dbe0;
  font-size:11px;
  font-weight:650;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.caplot-home .footer-zone-list a span{
  color:#748b98;
  font-size:9px;
  font-weight:650;
}
.caplot-home .footer-zone-list a:hover{color:#fff}
.caplot-home .footer-secondary-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:15px;
  padding-bottom:4px;
  color:#ffad82!important;
  font-size:10px;
  font-weight:800;
  border-bottom:1px solid rgba(255,173,130,.23);
}
.caplot-home .footer-secondary-link .icon{width:13px;height:13px}
.caplot-home .footer-contact-card{
  padding:21px;
  border:1px solid rgba(255,255,255,.105);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}
.caplot-home .footer-contact-card .footer-heading{margin-bottom:15px}
.caplot-home .footer-contact-main{
  display:flex;
  align-items:center;
  gap:11px;
  padding-bottom:14px;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.caplot-home .footer-contact-icon{
  display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;
  border-radius:10px;background:rgba(255,157,107,.12);color:#ff9d6b;
}
.caplot-home .footer-contact-icon .icon{width:18px;height:18px}
.caplot-home .footer-contact-main>span:last-child{display:flex;flex-direction:column;gap:2px}
.caplot-home .footer-contact-main small{color:#8fa3ae;font-size:9px}
.caplot-home .footer-contact-main strong{font-size:13px;line-height:1.25}
.caplot-home .footer-contact-secondary{
  display:block;
  color:#b6c5cd!important;
  font-size:10px;
  font-weight:700;
  padding:10px 0 12px 49px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.caplot-home .footer-contact-place{
  display:flex;align-items:flex-start;gap:10px;
  padding:13px 0;color:#dce4e8;
}
.caplot-home .footer-contact-place>.icon{
  flex:none;width:16px;height:16px;color:#ff9d6b;margin-top:2px;
}
.caplot-home .footer-contact-place>span{
  display:flex;flex-direction:column;gap:2px;font-size:10px;font-weight:700;
}
.caplot-home .footer-contact-place small{color:#879ca7;font-size:9px;font-weight:500}
.caplot-home .footer-google{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 14px;
  align-items:center;
  gap:9px;
  margin-top:2px;
  padding:10px;
  border-radius:10px;
  background:#fff;
  color:#1c3344!important;
  transition:transform .22s ease,box-shadow .22s ease;
}
.caplot-home .footer-google:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.caplot-home .footer-google-mark{
  display:grid;place-items:center;
  width:30px;height:30px;border-radius:8px;
  background:#f6f5f2;
  color:#4285f4;
  font-size:17px;
  font-weight:900;
}
.caplot-home .footer-google>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
.caplot-home .footer-google strong{font-size:10px}
.caplot-home .footer-google small{color:#76838b;font-size:8px}
.caplot-home .footer-google>.icon{width:13px;height:13px;color:#cc5a34}
.caplot-home .footer-bottom-v2{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:25px;
  margin-top:55px;
  padding:21px 0 0;
  border-top:1px solid rgba(255,255,255,.12);
  color:#8499a4;
  font-size:9px;
}
.caplot-home .footer-bottom-brand{
  display:flex;align-items:center;gap:8px;
}
.caplot-home .footer-dot{
  width:5px;height:5px;border-radius:50%;background:#ed6535;
}
.caplot-home .footer-legal{
  display:flex;align-items:center;gap:8px;
}
.caplot-home .footer-legal a{color:#98aab3}
.caplot-home .footer-legal a:hover{color:#fff}
.caplot-home .footer-backtop{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#c4d0d6!important;
  font-weight:700;
}
.caplot-home .footer-backtop .icon{
  width:12px;height:12px;transform:rotate(-90deg);color:#ff9e6d;
}
@media(max-width:1050px){
  .caplot-home .footer-main{grid-template-columns:1.25fr 1fr 1fr;gap:35px}
  .caplot-home .footer-contact-card{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .7fr 1fr 1.2fr;align-items:center;gap:18px}
  .caplot-home .footer-contact-card .footer-heading{display:none}
  .caplot-home .footer-contact-main{border-bottom:0;padding:0}
  .caplot-home .footer-contact-secondary{padding:0;border-bottom:0}
  .caplot-home .footer-contact-place{padding:0}
  .caplot-home .footer-google{margin:0}
}
@media(max-width:760px){
  .caplot-home .site-footer-v2{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .caplot-home .footer-cta{
    grid-template-columns:1fr;
    gap:24px;
    padding:28px 24px;
    margin-bottom:48px;
  }
  .caplot-home .footer-cta-actions{grid-template-columns:1fr 1fr}
  .caplot-home .footer-main{grid-template-columns:1fr 1fr;gap:35px 25px}
  .caplot-home .footer-brand-v2{grid-column:1/-1}
  .caplot-home .footer-brand-text{max-width:540px}
  .caplot-home .footer-contact-card{
    grid-column:1/-1;
    display:block;
  }
  .caplot-home .footer-contact-card .footer-heading{display:block}
  .caplot-home .footer-contact-main{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09)}
  .caplot-home .footer-contact-secondary{padding:10px 0 12px 49px;border-bottom:1px solid rgba(255,255,255,.09)}
  .caplot-home .footer-contact-place{padding:13px 0}
  .caplot-home .footer-google{margin-top:2px}
  .caplot-home .footer-bottom-v2{
    grid-template-columns:1fr auto;
    gap:12px 20px;
    margin-top:42px;
  }
  .caplot-home .footer-legal{grid-column:1/-1;grid-row:2}
  .caplot-home .footer-backtop{grid-column:2;grid-row:1}
}
@media(max-width:560px){
  .caplot-home .footer-cta{
    margin-inline:-2px;
    padding:25px 18px;
    border-radius:0 0 17px 17px;
  }
  .caplot-home .footer-cta h2{font-size:2.2rem}
  .caplot-home .footer-cta-actions{grid-template-columns:1fr}
  .caplot-home .footer-cta-primary,.caplot-home .footer-cta-phone{min-height:55px}
  .caplot-home .footer-main{grid-template-columns:1fr;gap:33px}
  .caplot-home .footer-brand-v2{grid-column:auto}
  .caplot-home .footer-nav-group{padding-top:2px}
  .caplot-home .footer-links a,.caplot-home .footer-zone-list a{min-height:36px}
  .caplot-home .footer-bottom-v2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .caplot-home .footer-legal{order:3;width:100%}
  .caplot-home .footer-backtop{margin-left:auto}
}


/* CAPLOT REVIEWS V2 — Google rating first, no copied testimonials */
.caplot-home .reviews-v2{
  position:relative;
  overflow:hidden;
  padding:96px 0 101px;
  background:
    radial-gradient(circle at 8% 0,rgba(239,101,48,.075),transparent 30%),
    linear-gradient(135deg,#fff 0%,#fbf8f3 100%);
  border-top:1px solid #eee9e2;
  border-bottom:1px solid #eee9e2;
}
.caplot-home .reviews-v2:after{
  content:"5.0";
  position:absolute;
  right:-30px;
  bottom:-95px;
  font-family:var(--serif);
  font-size:300px;
  font-weight:700;
  line-height:1;
  color:rgba(20,42,61,.025);
  pointer-events:none;
}
.caplot-home .reviews-v2-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr);
  gap:clamp(42px,7vw,105px);
  align-items:center;
}
.caplot-home .reviews-score{min-width:0}
.caplot-home .reviews-score .eyebrow{
  margin-bottom:14px;
  color:#bc5833;
  font-size:10px;
  letter-spacing:.145em;
}
.caplot-home .reviews-score h2{
  max-width:680px;
  margin:0 0 17px;
  font-size:clamp(2.65rem,4.5vw,4.8rem);
  letter-spacing:-.05em;
  line-height:1.02;
}
.caplot-home .reviews-v2-intro{
  max-width:650px;
  color:#5c6973;
  font-size:14px;
  line-height:1.84;
  margin:0 0 32px;
}
.caplot-home .google-rating{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:13px;
}
.caplot-home .google-rating-brand{
  display:grid;
  place-items:center;
  flex:0 0 57px;
  width:57px;
  height:57px;
  border-radius:16px;
  border:1px solid #e7e5e1;
  background:#fff;
  box-shadow:0 9px 24px rgba(20,42,61,.07);
  color:#4285f4;
  font-family:Arial,sans-serif;
  font-size:30px;
  font-weight:800;
}
.caplot-home .google-rating-main{
  display:flex;
  align-items:center;
  gap:19px;
  min-width:0;
}
.caplot-home .google-rating-number{
  color:#172f42;
  font-size:clamp(3.6rem,6vw,6.4rem);
  font-weight:900;
  letter-spacing:-.075em;
  line-height:.9;
}
.caplot-home .google-rating-number span{
  margin-left:5px;
  color:#879098;
  font-size:.25em;
  font-weight:700;
  letter-spacing:-.02em;
}
.caplot-home .google-stars{
  display:flex;
  gap:4px;
  color:#f4b400;
  font-size:22px;
  letter-spacing:0;
}
.caplot-home .google-rating-meta{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-left:75px;
  margin-bottom:26px;
}
.caplot-home .google-rating-meta strong{
  color:#203748;
  font-size:13px;
}
.caplot-home .google-rating-meta span{
  color:#8a9299;
  font-size:10px;
  line-height:1.45;
}
.caplot-home .google-reviews-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:53px;
  padding:12px 18px;
  border-radius:11px;
  background:linear-gradient(110deg,#f9753c,#ec5528);
  color:#fff!important;
  font-size:12px;
  font-weight:850;
  box-shadow:0 11px 25px rgba(232,84,39,.17);
  transition:transform .23s ease,box-shadow .23s ease,background .23s ease;
}
.caplot-home .google-reviews-cta .icon{width:17px;height:17px}
.caplot-home .google-reviews-cta:hover{
  transform:translateY(-2px);
  background:linear-gradient(110deg,#ff834b,#de461e);
  box-shadow:0 14px 31px rgba(232,84,39,.25);
}
.caplot-home .google-rating-note{
  max-width:650px;
  margin:15px 0 0;
  color:#92999f;
  font-size:9px;
  line-height:1.55;
}
.caplot-home .reviews-proof{
  padding:34px 31px 29px;
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,rgba(241,101,48,.20),transparent 48%),
    linear-gradient(155deg,#183145,#102432);
  color:#dce5e9;
  box-shadow:0 21px 49px rgba(20,42,61,.14);
}
.caplot-home .reviews-proof-kicker{
  display:block;
  margin-bottom:13px;
  color:#ffad82;
  font-size:9px;
  font-weight:850;
  letter-spacing:.145em;
}
.caplot-home .reviews-proof h3{
  max-width:420px;
  margin:0 0 16px;
  color:#fff;
  font-family:var(--serif);
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.caplot-home .reviews-proof h3 em{
  color:#ffad82;
  font-weight:400;
  font-style:italic;
}
.caplot-home .reviews-proof>p{
  margin:0 0 22px;
  color:#c4d0d6;
  font-size:12px;
  line-height:1.8;
}
.caplot-home .reviews-proof-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.caplot-home .reviews-proof-list>div{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.caplot-home .reviews-proof-list>div:last-child{border-bottom:0}
.caplot-home .reviews-proof-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:rgba(255,174,132,.10);
  color:#ffad82;
}
.caplot-home .reviews-proof-icon .icon{width:17px;height:17px}
.caplot-home .reviews-proof-list>div>span:last-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.caplot-home .reviews-proof-list strong{
  color:#fff;
  font-size:11px;
  line-height:1.35;
}
.caplot-home .reviews-proof-list small{
  color:#97aab4;
  font-size:9px;
  line-height:1.5;
}
.caplot-home .reviews-proof-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:21px;
  padding-bottom:4px;
  color:#ffad82!important;
  border-bottom:1px solid rgba(255,173,130,.3);
  font-size:11px;
  font-weight:850;
}
.caplot-home .reviews-proof-link .icon{width:14px;height:14px}
@media(max-width:900px){
  .caplot-home .reviews-v2-grid{grid-template-columns:1fr;gap:35px}
  .caplot-home .reviews-proof{max-width:760px}
}
@media(max-width:600px){
  .caplot-home .reviews-v2{padding:70px 0 75px}
  .caplot-home .reviews-score h2{font-size:clamp(2.35rem,11vw,3.5rem)}
  .caplot-home .reviews-v2-intro{font-size:13px}
  .caplot-home .google-rating{gap:12px;align-items:flex-start}
  .caplot-home .google-rating-brand{
    flex-basis:47px;width:47px;height:47px;border-radius:13px;font-size:24px;
  }
  .caplot-home .google-rating-main{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .caplot-home .google-rating-number{font-size:4.25rem}
  .caplot-home .google-stars{font-size:19px}
  .caplot-home .google-rating-meta{margin-left:0;margin-top:15px}
  .caplot-home .google-reviews-cta{width:100%}
  .caplot-home .reviews-proof{padding:27px 21px 24px;border-radius:17px}
}

/* FOOTER FULL BLEED — full viewport shell, aligned inner content */
.caplot-home .site-footer-v2 > .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.caplot-home .site-footer-v2 .footer-cta{
  width:100%;
  margin-inline:0;
  padding-left:max(34px,calc((100vw - 1200px)/2));
  padding-right:max(34px,calc((100vw - 1200px)/2));
  border-left:0;
  border-right:0;
  border-radius:0;
}
.caplot-home .site-footer-v2 .footer-main,
.caplot-home .site-footer-v2 .footer-bottom-v2{
  width:min(1200px,calc(100% - 68px));
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:900px){
  .caplot-home .site-footer-v2 .footer-cta{
    padding-left:21px;
    padding-right:21px;
  }
  .caplot-home .site-footer-v2 .footer-main,
  .caplot-home .site-footer-v2 .footer-bottom-v2{
    width:calc(100% - 42px);
  }
}
@media(max-width:600px){
  .caplot-home .site-footer-v2 .footer-cta{
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:16px;
    padding-right:16px;
    border-radius:0;
  }
  .caplot-home .site-footer-v2 .footer-main,
  .caplot-home .site-footer-v2 .footer-bottom-v2{
    width:calc(100% - 32px);
  }
}
