/* RenoBTP — Design system 2027 (dev) */
:root{
  --v-navy:#133546;--v-navy-900:#0b222e;--v-navy-700:#1c4a61;
  --v-amber:#e4a42e;--v-amber-600:#c98a17;--v-amber-100:#fbf1dc;
  --v-ink:#0f1f28;--v-text:#33434d;--v-muted:#647480;
  --v-line:#e4e8eb;--v-bg:#f6f4ef;--v-card:#fff;
  --v-r:24px;--v-r-sm:14px;--v-r-lg:32px;
  --v-sh:0 1px 2px rgba(15,31,40,.04),0 8px 24px rgba(15,31,40,.06);
  --v-sh-lg:0 2px 4px rgba(15,31,40,.04),0 24px 60px rgba(15,31,40,.12);
  --v-ease:cubic-bezier(.2,.7,.2,1);
  --v-wrap:1240px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{color:var(--v-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--v-amber);color:var(--v-navy-900)}
:focus-visible{outline:2px solid var(--v-amber);outline-offset:3px;border-radius:6px}

/* ---------- Typography (global) ---------- */
body h1,body h2,body h3,body h4,
body .elementor-heading-title{letter-spacing:-.02em;text-wrap:balance}
body h2.elementor-heading-title,body .elementor-widget-animated-headline h2,body .elementor-headline{
  font-size:clamp(28px,3.4vw,44px)!important;line-height:1.1!important;font-weight:700!important;color:var(--v-ink)}
body h3.elementor-heading-title{line-height:1.2!important}
body .elementor-widget-text-editor{font-size:17px;line-height:1.65}
body .elementor-widget-text-editor p{text-wrap:pretty}
.elementor-headline-dynamic-wrapper path{stroke:var(--v-amber)!important}

/* ---------- Buttons (global) ---------- */
body .elementor-button,body .v27-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:inherit;font-size:16px!important;font-weight:600!important;line-height:1!important;letter-spacing:-.005em;
  padding:16px 26px!important;border-radius:999px!important;border:0;cursor:pointer;text-decoration:none!important;
  background:var(--v-amber);color:var(--v-navy-900)!important;fill:var(--v-navy-900);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 18px rgba(228,164,46,.32);
  transition:transform .25s var(--v-ease),box-shadow .25s var(--v-ease),background .2s}
body .elementor-button:hover,body .v27-btn:hover{transform:translateY(-2px);background:#edb341;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 12px 28px rgba(228,164,46,.42)}
body .elementor-button:active,body .v27-btn:active{transform:translateY(0)}
body .elementor-button .elementor-button-text{color:inherit}
.v27-btn--dark{background:var(--v-navy)!important;color:#fff!important;box-shadow:0 6px 18px rgba(19,53,70,.25)!important}
.v27-btn--dark:hover{background:var(--v-navy-700)!important}
.v27-btn--ghost{background:transparent!important;color:var(--v-ink)!important;box-shadow:inset 0 0 0 1.5px rgba(15,31,40,.18)!important}
.v27-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--v-ink)!important}
.v27-btn--glass{background:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;backdrop-filter:blur(8px)}
.v27-btn--glass:hover{background:rgba(255,255,255,.18)!important}
.v27-btn svg{width:18px;height:18px;transition:transform .25s var(--v-ease)}
.v27-btn:hover svg.v27-arrow{transform:translateX(4px)}

/* ---------- Header: floating glass pill ---------- */
.elementor-location-header{position:sticky;top:0;z-index:990;padding:10px 12px 0;pointer-events:none;background:transparent!important}
.elementor-location-header>.e-con,.elementor-location-header>.elementor-element{
  pointer-events:auto;max-width:var(--v-wrap);margin:0 auto!important;
  background:rgba(255,255,255,.82)!important;backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);
  border:1px solid rgba(15,31,40,.07);border-radius:999px!important;
  box-shadow:0 1px 2px rgba(15,31,40,.04),0 10px 30px rgba(15,31,40,.07);
  padding:6px 10px 6px 22px!important;min-height:0!important;transition:box-shadow .3s,background .3s}
body.v27-scrolled .elementor-location-header>.e-con{background:rgba(255,255,255,.94)!important;box-shadow:0 1px 2px rgba(15,31,40,.05),0 14px 40px rgba(15,31,40,.13)}
.elementor-location-header .e-con{min-height:0!important}
.elementor-location-header img{max-height:44px;width:auto}
.elementor-location-header .elementor-button{padding:13px 22px!important;font-size:15px!important;background:var(--v-navy)!important;color:#fff!important;box-shadow:none!important}
.elementor-location-header .elementor-button:hover{background:var(--v-amber)!important;color:var(--v-navy-900)!important}
.elementor-location-header .ekit-menu-nav-link{font-size:15px!important;font-weight:500!important;color:var(--v-ink)!important;padding:10px 14px!important;border-radius:999px;transition:background .2s,color .2s}
.elementor-location-header .elementskit-navbar-nav>li>a:hover{background:rgba(19,53,70,.06)}
.elementor-location-header .elementskit-navbar-nav>li.current-menu-item>a,
.elementor-location-header .elementskit-navbar-nav>li.current-menu-ancestor>a{background:var(--v-amber-100);color:var(--v-navy)!important}
.elementor-location-header .elementskit-submenu-panel{border-radius:18px!important;border:1px solid var(--v-line)!important;box-shadow:var(--v-sh-lg)!important;padding:8px!important;margin-top:10px}
.elementor-location-header .elementskit-submenu-panel a{border-radius:10px!important}

/* ---------- Generic Elementor polish ---------- */
.elementor-widget-image img{border-radius:var(--v-r)}
.elementor-location-header .elementor-widget-image img,.elementor-widget-image-carousel img,.v27-raw img{border-radius:0}
.v27-card-navy,.v27-card-amber{border-radius:var(--v-r)!important;transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease)}
.v27-card-navy{background:linear-gradient(160deg,#17425a 0%,var(--v-navy) 55%,#0e2a38 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),var(--v-sh)}
.v27-card-amber{background:linear-gradient(160deg,#efb548 0%,var(--v-amber) 60%,#d6941c 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),var(--v-sh)}
.v27-card-navy:hover,.v27-card-amber:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),var(--v-sh-lg)}
.v27-soft{background:var(--v-bg)!important}
/* Service-page hero */
.v27-pagehero{margin:12px 12px 0!important;width:auto!important;border-radius:var(--v-r-lg)!important;overflow:hidden;min-height:clamp(320px,44vh,460px)!important;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center}
.v27-pagehero::before{content:""!important;position:absolute!important;inset:0!important;z-index:0;opacity:1!important;
  background:linear-gradient(115deg,rgba(11,34,46,.92) 0%,rgba(19,53,70,.78) 45%,rgba(19,53,70,.35) 100%)!important;-webkit-mask:none!important;mask:none!important}
.v27-pagehero>*{position:relative;z-index:1}
.v27-pagehero h1,.v27-pagehero h2,.v27-pagehero .elementor-headline{color:#fff!important;font-size:clamp(30px,4.2vw,56px)!important;line-height:1.05!important;max-width:980px;margin-inline:auto}
.v27-pagehero .elementor-widget-text-editor{display:inline-block;margin:18px auto 0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.8);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 16px;border-radius:999px;backdrop-filter:blur(8px)}
.v27-pagehero .elementor-widget-text-editor p{margin:0}
.v27-pagehero .elementor-widget-text-editor a{color:var(--v-amber)!important}
/* Carousels */
.elementor-widget-image-carousel .swiper-slide-image{border-radius:var(--v-r-sm)}
.elementor-swiper-button{background:#fff;border-radius:50%;width:42px;height:42px;display:flex!important;align-items:center;justify-content:center;box-shadow:var(--v-sh);color:var(--v-navy)!important}
.elementor-swiper-button svg{fill:var(--v-navy)!important;width:16px;height:16px}
.swiper-pagination-bullet-active{background:var(--v-amber)!important}
/* Accordion (FAQ) */
.elementskit-accordion .elementskit-card{border:1px solid var(--v-line)!important;border-radius:16px!important;margin-bottom:10px!important;overflow:hidden;background:#fff;transition:box-shadow .25s,border-color .25s}
.elementskit-accordion .elementskit-card:hover{border-color:#cfd6da!important;box-shadow:var(--v-sh)}
.elementskit-accordion .elementskit-card-header>.elementskit-btn-link{padding:18px 20px!important;font-weight:600!important;font-size:16px!important;color:var(--v-ink)!important;background:transparent!important}
.elementskit-accordion .elementskit-card-body{padding:0 20px 20px!important;font-size:15.5px;line-height:1.65;color:var(--v-text)}

/* ---------- Reveal ---------- */
.v27-rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--v-ease),transform .7s var(--v-ease);transition-delay:var(--rv-d,0s)}
.v27-rv.v27-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.v27-rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* =====================================================
   Custom sections (home)
   ===================================================== */
.v27{font-family:inherit;color:var(--v-text)}
.v27 *{box-sizing:border-box}
.v27-wrap{max-width:var(--v-wrap);margin:0 auto;padding:0 20px}
.v27-sec{padding:clamp(64px,8vw,112px) 0}
.v27-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v-amber-600);margin:0 0 16px}
.v27-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--v-amber)}
.v27-h2{margin:0;font-size:clamp(30px,3.8vw,50px);line-height:1.05;font-weight:700;letter-spacing:-.03em;color:var(--v-ink);text-wrap:balance}
.v27-h2 em{font-style:normal;color:var(--v-amber-600)}
.v27-lead{margin:18px 0 0;font-size:clamp(16px,1.3vw,18.5px);line-height:1.65;color:var(--v-muted);max-width:640px;text-wrap:pretty}
.v27-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(32px,4vw,56px);flex-wrap:wrap}
.v27-head>div{max-width:760px}

/* Hero */
.v27-hero{background:radial-gradient(1200px 600px at 85% -10%,rgba(228,164,46,.16),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(19,53,70,.08),transparent 60%),var(--v-bg);margin-top:-78px;padding:clamp(120px,13vw,170px) 0 clamp(56px,6vw,88px);overflow:hidden}
.v27-hero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.v27-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:#fff;border:1px solid var(--v-line);font-size:13.5px;font-weight:600;color:var(--v-navy);box-shadow:var(--v-sh)}
.v27-chip i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.v27-hero h1{margin:22px 0 0;font-size:clamp(38px,5.6vw,76px);line-height:.98;font-weight:700;letter-spacing:-.04em;color:var(--v-ink);text-wrap:balance}
.v27-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--v-amber-600),var(--v-amber) 60%,#f0c15e);-webkit-background-clip:text;background-clip:text;color:transparent}
.v27-hero__sub{margin:24px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--v-muted);max-width:540px}
.v27-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.v27-stats{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(20px,3vw,44px);justify-content:start;margin:44px 0 0;padding:28px 0 0;border-top:1px solid rgba(15,31,40,.1);list-style:none}
.v27-stats b{display:block;font-size:clamp(24px,2.4vw,34px);font-weight:700;letter-spacing:-.03em;color:var(--v-ink);line-height:1}
.v27-stats span{display:block;margin-top:8px;font-size:13.5px;color:var(--v-muted);line-height:1.35}
.v27-hero__visual{position:relative}
.v27-hero__img{position:relative;aspect-ratio:4/4.6;border-radius:var(--v-r-lg);overflow:hidden;box-shadow:var(--v-sh-lg);background:var(--v-navy)}
.v27-hero__img img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04)}
.v27-hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,34,46,0) 55%,rgba(11,34,46,.55))}
.v27-float{position:absolute;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--v-sh-lg);font-size:13.5px;color:var(--v-muted);line-height:1.3;animation:v27float 6s ease-in-out infinite}
.v27-float b{display:block;font-size:16px;color:var(--v-ink);letter-spacing:-.01em}
.v27-float__ic{flex:0 0 40px;height:40px;border-radius:12px;background:var(--v-amber-100);color:var(--v-amber-600);display:flex;align-items:center;justify-content:center}
.v27-float__ic svg{width:20px;height:20px}
.v27-float--a{top:28px;left:-28px}
.v27-float--b{bottom:32px;right:-20px;animation-delay:-3s}
@keyframes v27float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.v27-float{animation:none}}

/* Logos strip */
.v27-proof{padding:28px 0;border-top:1px solid var(--v-line);border-bottom:1px solid var(--v-line);background:#fff}
.v27-proof__in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.v27-proof p{margin:0;font-size:14px;font-weight:600;color:var(--v-muted);max-width:220px;line-height:1.4}
.v27-proof ul{display:flex;gap:10px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.v27-proof li{padding:10px 16px;border-radius:999px;background:var(--v-bg);font-size:14px;font-weight:600;color:var(--v-navy);display:inline-flex;gap:8px;align-items:center}
.v27-proof li svg{width:16px;height:16px;color:var(--v-amber-600)}

/* Bento trust */
.v27-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v27-tile{position:relative;padding:32px;border-radius:var(--v-r);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-sh);transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease);overflow:hidden}
.v27-tile:hover{transform:translateY(-4px);box-shadow:var(--v-sh-lg)}
.v27-tile__ic{width:52px;height:52px;border-radius:16px;background:var(--v-amber-100);color:var(--v-amber-600);display:flex;align-items:center;justify-content:center;margin-bottom:26px}
.v27-tile__ic svg{width:26px;height:26px}
.v27-tile h3{margin:0 0 10px;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--v-ink)}
.v27-tile p{margin:0;font-size:15.5px;line-height:1.6;color:var(--v-muted)}
.v27-tile--dark{background:linear-gradient(160deg,#17425a,var(--v-navy) 55%,#0e2a38);border-color:transparent;color:#fff}
.v27-tile--dark h3{color:#fff}.v27-tile--dark p{color:rgba(255,255,255,.72)}
.v27-tile--dark .v27-tile__ic{background:rgba(228,164,46,.16);color:var(--v-amber)}
.v27-tile--dark::after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(228,164,46,.28),transparent 70%)}

/* Services */
.v27-services{background:var(--v-bg)}
.v27-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v27-svc{display:flex;flex-direction:column;border-radius:var(--v-r);background:#fff;border:1px solid var(--v-line);overflow:hidden;text-decoration:none!important;color:inherit;transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease),border-color .35s}
.v27-svc:hover{transform:translateY(-6px);box-shadow:var(--v-sh-lg);border-color:transparent}
.v27-svc__img{aspect-ratio:4/3;overflow:hidden;background:#dfe5e8;margin:8px 8px 0;border-radius:18px}
.v27-svc__img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important;transition:transform .7s var(--v-ease)}
.v27-svc:hover .v27-svc__img img{transform:scale(1.06)}
.v27-svc__body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.v27-svc__tag{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--v-amber-600);margin-bottom:8px}
.v27-svc h3{margin:0 0 8px;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--v-ink)}
.v27-svc p{margin:0 0 18px;font-size:14.5px;line-height:1.55;color:var(--v-muted)}
.v27-svc__more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--v-navy)}
.v27-svc__more svg{width:16px;height:16px;transition:transform .25s var(--v-ease)}
.v27-svc:hover .v27-svc__more svg{transform:translateX(4px)}
.v27-svc:hover .v27-svc__more{color:var(--v-amber-600)}

/* Copro panel */
.v27-copro{padding:0 12px}
.v27-panel{position:relative;border-radius:var(--v-r-lg);background:linear-gradient(150deg,#17425a 0%,var(--v-navy) 45%,#0b222e 100%);color:#fff;padding:clamp(40px,6vw,88px) 0;overflow:hidden;isolation:isolate}
.v27-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 380px at 90% 0%,rgba(228,164,46,.22),transparent 65%),radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 1.5px);background-size:auto,22px 22px}
.v27-panel .v27-h2{color:#fff}.v27-panel .v27-lead{color:rgba(255,255,255,.72)}
.v27-panel .v27-eyebrow{color:var(--v-amber)}
.v27-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v27-glass{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;align-items:center;padding:28px;border-radius:var(--v-r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);transition:background .3s,transform .35s var(--v-ease)}
.v27-glass:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.v27-glass h3{margin:0 0 10px;font-size:23px;font-weight:700;letter-spacing:-.02em;color:#fff}
.v27-glass p{margin:0 0 12px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.75)}
.v27-glass__img{aspect-ratio:1;border-radius:18px;overflow:hidden;background:#fff}
.v27-glass__img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important}
.v27-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--v-amber)!important;text-decoration:none!important;margin-top:6px}
.v27-link svg{width:16px;height:16px;transition:transform .25s var(--v-ease)}
.v27-link:hover svg{transform:translateX(4px)}

/* ---------- Home: existing sections harmonised ---------- */
body.home .elementor-element-d07751d{padding:clamp(48px,6vw,80px) 0!important}
body.home .elementor-element-37a7b148{background:transparent!important;border-radius:0!important;padding:0 20px!important}
body.home .elementor-element-65a343b2 .elementor-heading-title{font-size:15px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--v-muted)!important;text-align:center}
body.home .elementor-element-66bea2c9 img{filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;max-height:74px;width:auto;object-fit:contain}
body.home .elementor-element-66bea2c9 img:hover{filter:none;opacity:1}
.rbm{background:#fff!important}

/* ---------- Responsive ---------- */
@media (max-width:1100px){.v27-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v27-float--a{left:12px}.v27-float--b{right:12px}}
@media (max-width:900px){
  .elementor-location-header{padding:8px 8px 0}
  .elementor-location-header>.e-con{padding:6px 12px 6px 16px!important}
  .v27-hero{margin-top:-70px}
  .v27-hero__in{grid-template-columns:minmax(0,1fr)}
  .v27-hero__img{aspect-ratio:4/3.2}
  .v27-bento,.v27-duo{grid-template-columns:minmax(0,1fr)}
  .v27-pagehero{margin:8px 8px 0!important;border-radius:22px!important}
}
@media (max-width:600px){
  .v27-wrap{padding:0 16px}
  .v27-grid{grid-template-columns:minmax(0,1fr)}
  .v27-svc{flex-direction:row}
  .v27-svc__img{flex:0 0 116px;aspect-ratio:auto;margin:8px 0 8px 8px}
  .v27-svc__body{padding:14px 16px}
  .v27-svc p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
  .v27-svc h3{font-size:17.5px}
  .v27-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .v27-stats span{font-size:12px}
  .v27-cta .v27-btn{flex:1 1 100%}
  .v27-float{padding:10px 14px;font-size:12px}.v27-float b{font-size:14px}
  .v27-float--a{top:14px}.v27-float--b{bottom:14px}
  .v27-glass{grid-template-columns:minmax(0,1fr)}.v27-glass__img{aspect-ratio:16/9;order:-1}
  .v27-tile{padding:24px}
  .v27-copro{padding:0 8px}
  .v27-proof__in{justify-content:flex-start}
}

/* ---------- Fixes r2 ---------- */
.v27 a.v27-btn,.v27 a.v27-btn:visited{color:var(--v-navy-900)!important}
.v27 a.v27-btn--dark,.v27 a.v27-btn--dark:visited,.v27 a.v27-btn--glass{color:#fff!important}
.v27 a.v27-btn--ghost{color:var(--v-ink)!important}
.v27 .v27-h2,.v27 h3{color:var(--v-ink)}
.v27-panel .v27-h2,.v27-glass h3,.v27-tile--dark h3{color:#fff!important}
.v27-hero{margin-top:-120px;padding-top:clamp(150px,14vw,190px)}
.v27-hero h1{font-size:clamp(36px,4.7vw,64px);line-height:1.02}
.elementor-location-header .ekit-menu-nav-link{height:auto!important;line-height:1.2!important}
.elementor-location-header .elementskit-navbar-nav{align-items:center;gap:2px}
.elementor-location-header .elementskit-navbar-nav>li{display:flex;align-items:center}
@media (max-width:900px){.v27-hero{margin-top:-100px;padding-top:130px}}
body.home .elementor-element-d07751d,body.home .elementor-element-d07751d>.e-con{background:#fff!important}
.v27-glass__img img[src*="Ma-Prime-Renov"]{object-fit:contain;padding:14px}

/* ---------- r3: inner-page heroes unified ---------- */
.v27-pagehero{width:calc(100% - 24px)!important;max-width:none!important;--width:auto!important;align-self:stretch!important;padding:clamp(48px,7vw,96px) 24px!important}
.renobtp-page-hero,header.renobtp-hero,section.rb-blog-hero{margin:12px 12px 0!important;border-radius:var(--v-r-lg)!important;overflow:hidden;width:auto!important}
.renobtp-page-hero{margin-bottom:40px!important}
header.renobtp-hero h1,section.rb-blog-hero h1,.renobtp-page-hero h1,.renobtp-page-hero h2{letter-spacing:-.03em!important;line-height:1.05!important}
/* mini hero (pages without title band) */
.v27-minihero{margin:12px 12px 8px;border-radius:var(--v-r-lg);padding:clamp(56px,7vw,96px) 24px;text-align:center;color:#fff;position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(150deg,#17425a 0%,var(--v-navy) 45%,#0b222e 100%)}
.v27-minihero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 380px at 90% 0%,rgba(228,164,46,.24),transparent 65%),radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 1.5px);background-size:auto,22px 22px}
.v27-minihero h1{margin:0;font-size:clamp(34px,4.6vw,60px);line-height:1.03;letter-spacing:-.035em;font-weight:700;color:#fff}
.v27-minihero p{margin:14px 0 0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v-amber)}
/* Réalisations gallery */
body.page-id-1421 .page-content>div{max-width:var(--v-wrap);margin:0 auto;padding:0 20px}
body.page-id-1421 section h2{border-bottom:0!important;font-size:clamp(24px,2.6vw,34px)!important;letter-spacing:-.025em!important;color:var(--v-ink)!important;position:relative;padding:0 0 0 18px!important}
body.page-id-1421 section h2::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:5px;border-radius:4px;background:var(--v-amber)}
body.page-id-1421 figure{border-radius:20px!important;border:1px solid var(--v-line)!important;box-shadow:var(--v-sh)!important;transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease)}
body.page-id-1421 figure:hover{transform:translateY(-5px);box-shadow:var(--v-sh-lg)!important}
body.page-id-1421 figure img{height:240px!important;transition:transform .7s var(--v-ease)}
body.page-id-1421 figure a{display:block;overflow:hidden}
body.page-id-1421 figure:hover img{transform:scale(1.06)}
body.page-id-1421 figcaption{font-size:14px!important;font-style:normal!important;color:var(--v-text)!important;font-weight:500}
/* Grey bands -> warm */
.v27-soft{background:var(--v-bg)!important}
/* Blog cards */
.rb-cat-card,.rb-card,.rb-post-card{border-radius:20px!important;transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease)!important}
.rb-cat-card:hover,.rb-card:hover,.rb-post-card:hover{transform:translateY(-5px);box-shadow:var(--v-sh-lg)!important}
@media (max-width:900px){.renobtp-page-hero,header.renobtp-hero,section.rb-blog-hero,.v27-minihero{margin:8px 8px 0!important;border-radius:22px!important}.v27-pagehero{width:calc(100% - 16px)!important}}
html body .renobtp-page-hero.renobtp-page-hero{margin:12px 12px 40px!important;border-radius:var(--v-r-lg)!important;width:auto!important}
@media (max-width:900px){html body .renobtp-page-hero.renobtp-page-hero{margin:8px 8px 28px!important;border-radius:22px!important}}

/* =====================================================
   r4 — "version optimale" components
   ===================================================== */
.v27-head--c{justify-content:center;text-align:center}.v27-head--c .v27-lead{margin-inline:auto}.v27-head--c .v27-eyebrow{justify-content:center}
.v27-micro{margin:14px 0 0;font-size:13.5px;color:var(--v-muted);display:flex;gap:16px;flex-wrap:wrap;list-style:none;padding:0}
.v27-micro li{display:inline-flex;align-items:center;gap:6px}
.v27-micro svg{width:15px;height:15px;color:#16a34a}
/* marquee */
.v27-marq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.v27-marq__t{display:flex;gap:64px;align-items:center;width:max-content;animation:v27marq 38s linear infinite}
.v27-marq:hover .v27-marq__t{animation-play-state:paused}
.v27-marq img{height:54px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .3s,opacity .3s;border-radius:0!important}
.v27-marq img:hover{filter:none;opacity:1}
@keyframes v27marq{to{transform:translateX(-50%)}}
.v27-proof2{padding:34px 0;background:#fff;border-bottom:1px solid var(--v-line)}
.v27-proof2 p{margin:0 0 22px;text-align:center;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
/* intents */
.v27-intents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v27-intent{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;padding:26px;border-radius:var(--v-r);overflow:hidden;color:#fff!important;text-decoration:none!important;isolation:isolate;transition:transform .4s var(--v-ease),box-shadow .4s var(--v-ease)}
.v27-intent img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;border-radius:0!important;transition:transform .9s var(--v-ease)}
.v27-intent::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,34,46,.05) 20%,rgba(11,34,46,.55) 55%,rgba(11,34,46,.94))}
.v27-intent:hover{transform:translateY(-6px);box-shadow:var(--v-sh-lg)}
.v27-intent:hover img{transform:scale(1.07)}
.v27-intent small{font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--v-amber)}
.v27 .v27-intent h3{margin:8px 0 8px;font-size:25px;line-height:1.1;font-weight:700;letter-spacing:-.025em;color:#fff!important}
.v27-intent p{margin:0 0 16px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.8)}
.v27-intent__go{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:#fff}
.v27-intent__go i{width:34px;height:34px;border-radius:50%;background:var(--v-amber);color:var(--v-navy-900);display:inline-flex;align-items:center;justify-content:center;transition:transform .3s var(--v-ease)}
.v27-intent__go svg{width:16px;height:16px}
.v27-intent:hover .v27-intent__go i{transform:translateX(4px)}
.v27-also{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:26px}
.v27-also b{font-size:14px;color:var(--v-muted);font-weight:600;margin-right:6px}
.v27-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:#fff;border:1px solid var(--v-line);font-size:14.5px;font-weight:600;color:var(--v-navy)!important;text-decoration:none!important;transition:border-color .2s,background .2s,transform .2s}
.v27-pill:hover{border-color:var(--v-amber);background:var(--v-amber-100);transform:translateY(-2px)}
/* aids */
.v27-aid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.v27-big{font-size:clamp(56px,8.5vw,128px);line-height:.9;font-weight:700;letter-spacing:-.05em;color:#fff;margin:6px 0 4px}
.v27-big em{font-style:normal;background:linear-gradient(100deg,#f3c869,var(--v-amber));-webkit-background-clip:text;background-clip:text;color:transparent}
.v27-aidcards{display:grid;gap:14px}
.v27-aidcard{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.v27-aidcard b{display:block;font-size:17px;color:#fff;margin-bottom:4px;letter-spacing:-.01em}
.v27-aidcard span{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.74)}
.v27-aidcard i{flex:0 0 42px;height:42px;border-radius:12px;background:rgba(228,164,46,.16);color:var(--v-amber);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700}
.v27-aidcard i svg{width:20px;height:20px}
.v27-note{margin:16px 0 0;font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.5}
.v27-note--l{color:var(--v-muted)}
/* steps */
.v27-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:st}
.v27-step{position:relative;padding:28px 24px 26px;border-radius:var(--v-r);background:#fff;border:1px solid var(--v-line);counter-increment:st}
.v27-step::before{content:"0" counter(st);display:block;font-size:44px;font-weight:700;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--v-amber);margin-bottom:22px}
.v27-step h3{margin:0 0 8px;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--v-ink)}
.v27-step p{margin:0;font-size:14.5px;line-height:1.6;color:var(--v-muted)}
.v27-step time{display:inline-block;margin-bottom:12px;padding:5px 11px;border-radius:999px;background:var(--v-amber-100);color:var(--v-amber-600);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
/* carousel */
.v27-car__t{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(20px,calc((100vw - var(--v-wrap))/2 + 20px)) 18px;scroll-padding-left:max(20px,calc((100vw - var(--v-wrap))/2 + 20px))}
.v27-car__t::-webkit-scrollbar{display:none}
.v27-shot{flex:0 0 clamp(250px,26vw,340px);scroll-snap-align:start;border-radius:var(--v-r);overflow:hidden;position:relative;aspect-ratio:4/5;background:#dfe5e8;margin:0}
.v27-shot img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0!important;transition:transform .8s var(--v-ease)}
.v27-shot:hover img{transform:scale(1.05)}
.v27-shot figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);font-size:13px;font-weight:600;color:var(--v-ink);line-height:1.3}
.v27-car__nav{display:flex;gap:10px}
.v27-car__nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--v-line);background:#fff;color:var(--v-navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .2s;padding:0}
.v27-car__nav button:hover{background:var(--v-navy);border-color:var(--v-navy);color:#fff;transform:scale(1.06)}
.v27-car__nav svg{width:18px;height:18px}
/* guarantees */
.v27-guar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
/* faq */
.v27-faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.v27-faq details{border:1px solid var(--v-line);border-radius:18px;background:#fff;margin-bottom:10px;transition:box-shadow .25s,border-color .25s}
.v27-faq details[open]{box-shadow:var(--v-sh);border-color:#d5dce0}
.v27-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 22px;font-size:16.5px;font-weight:600;color:var(--v-ink);letter-spacing:-.01em}
.v27-faq summary::-webkit-details-marker{display:none}
.v27-faq summary::after{content:"+";flex:0 0 30px;height:30px;border-radius:50%;background:var(--v-bg);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;color:var(--v-navy);transition:transform .3s var(--v-ease),background .2s}
.v27-faq details[open] summary::after{transform:rotate(45deg);background:var(--v-amber)}
.v27-faq details>div{padding:0 22px 22px;font-size:15.5px;line-height:1.65;color:var(--v-text)}
.v27-faq details p{margin:0 0 10px}
.v27-callcard{padding:28px;border-radius:var(--v-r);background:var(--v-bg);margin-top:28px}
.v27-callcard b{display:block;font-size:18px;color:var(--v-ink);margin-bottom:6px}
.v27-callcard p{margin:0 0 16px;font-size:14.5px;color:var(--v-muted);line-height:1.5}
.v27-callcard a.v27-tel{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--v-navy)!important;text-decoration:none!important}
/* table */
.v27-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:20px;overflow:hidden;border:1px solid var(--v-line);background:#fff;font-size:15.5px;margin:0}
.v27-table th,.v27-table td{padding:16px 20px;text-align:left;border:0;border-bottom:1px solid var(--v-line);background:#fff}
.v27-table tr:last-child td{border-bottom:0}
.v27-table th{background:var(--v-navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.v27-table td b{font-size:19px;color:var(--v-ink);letter-spacing:-.02em}
.v27-table td:first-child{font-weight:600;color:var(--v-ink)}
.v27-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px}
/* service page */
.v27-phero .v27-hero__img{aspect-ratio:1/1}
.v27-crumb{font-size:13px;color:var(--v-muted);margin:0 0 18px}.v27-crumb a{color:var(--v-muted)!important;text-decoration:none}.v27-crumb a:hover{color:var(--v-navy)!important}
.v27-prose{max-width:820px;margin:0 auto}
.v27-prose h3{margin:34px 0 10px;font-size:22px;letter-spacing:-.02em;color:var(--v-ink)}
.v27-prose p{font-size:16.5px;line-height:1.7;margin:0 0 14px;color:var(--v-text)}
.v27-formhead{padding:clamp(48px,6vw,80px) 0 8px;background:#fff}
.v27-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
/* agency finder */
.v27-finder{margin:0 0 26px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-sh);max-width:520px}
.v27-finder label{display:block;font-size:13px;font-weight:600;color:var(--v-ink);margin-bottom:8px}
.v27-finder form{display:flex;gap:8px;margin:0}
.v27-finder input{flex:1;min-width:0;height:48px;border-radius:12px;border:1px solid var(--v-line);padding:0 14px;font-size:16px;font-family:inherit;background:var(--v-bg);color:var(--v-ink)}
.v27-finder input:focus{outline:2px solid var(--v-amber);border-color:transparent}
.v27-finder button{height:48px;padding:0 20px;border-radius:12px;border:0;background:var(--v-navy);color:#fff;font-weight:600;font-size:15px;font-family:inherit;cursor:pointer}
.v27-finder button:hover{background:var(--v-navy-700);color:#fff}
.v27-finder__res{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:var(--v-text)}
.v27-finder__res:empty{display:none}
.v27-finder__res a{color:var(--v-navy)!important;font-weight:600}
/* mobile sticky action bar */
.v27-sticky{position:fixed;left:10px;right:10px;bottom:10px;z-index:980;display:none;gap:8px;padding:8px;border-radius:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(15,31,40,.08);box-shadow:0 10px 40px rgba(15,31,40,.22);transform:translateY(140%);transition:transform .4s var(--v-ease)}
.v27-sticky.v27-on{transform:none}
.v27-sticky a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:15px;font-size:15px;font-weight:600;text-decoration:none!important}
.v27-sticky a svg{width:18px;height:18px}
.v27-sticky a.v27-sticky__call{flex:0 0 108px;background:var(--v-bg);color:var(--v-navy)!important}
.v27-sticky a.v27-sticky__go{background:var(--v-amber);color:var(--v-navy-900)!important}
@media (max-width:1100px){.v27-intents{grid-template-columns:repeat(2,minmax(0,1fr))}.v27-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.v27-aid,.v27-faqgrid,.v27-guar,.v27-two{grid-template-columns:minmax(0,1fr)}.v27-sticky{display:flex}.grecaptcha-badge{bottom:84px!important}}
@media (max-width:600px){.v27-intents,.v27-steps{grid-template-columns:minmax(0,1fr)}.v27-intent{min-height:300px}.v27-car__nav{display:none}.v27-table th,.v27-table td{padding:13px 14px;font-size:14.5px}.v27-marq__t{gap:40px}.v27-marq img{height:42px}.v27-finder form{flex-wrap:wrap}.v27-finder button{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){.v27-marq__t{animation:none}}

@media (max-width:700px){.v27 .v27-bento{grid-template-columns:minmax(0,1fr)!important}}

/* =====================================================
   r5 — texture, light, motion + footer 2027
   ===================================================== */
:root{
  --v-grain-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --v-grain-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --v-grid:linear-gradient(rgba(19,53,70,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(19,53,70,.055) 1px,transparent 1px);
}
/* scroll progress */
.v27-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:1000;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--v-amber-600),var(--v-amber),#f6d48a);pointer-events:none}

/* ---- Hero: aurora + blueprint grid + grain ---- */
.v27-hero{position:relative;isolation:isolate;background:var(--v-bg)}
.v27-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--v-grain-d),var(--v-grid);background-size:180px 180px,56px 56px,56px 56px;
  -webkit-mask:radial-gradient(120% 90% at 70% 30%,#000 35%,transparent 85%);mask:radial-gradient(120% 90% at 70% 30%,#000 35%,transparent 85%)}
.v27-aurora{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.v27-aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform}
.v27-aurora i:nth-child(1){width:46vw;height:46vw;max-width:680px;max-height:680px;right:-8%;top:-18%;background:radial-gradient(circle,rgba(228,164,46,.55),rgba(228,164,46,0) 68%);animation:v27drift1 18s ease-in-out infinite alternate}
.v27-aurora i:nth-child(2){width:38vw;height:38vw;max-width:560px;max-height:560px;left:-10%;top:28%;background:radial-gradient(circle,rgba(42,95,122,.38),rgba(42,95,122,0) 68%);animation:v27drift2 22s ease-in-out infinite alternate}
.v27-aurora i:nth-child(3){width:28vw;height:28vw;max-width:420px;max-height:420px;right:22%;bottom:-22%;background:radial-gradient(circle,rgba(240,193,94,.42),rgba(240,193,94,0) 68%);animation:v27drift1 26s ease-in-out infinite alternate-reverse}
@keyframes v27drift1{to{transform:translate3d(-6%,8%,0) scale(1.12)}}
@keyframes v27drift2{to{transform:translate3d(8%,-6%,0) scale(1.08)}}
/* hero visual: dotted plate + tilt + ring */
.v27-hero__visual{perspective:1200px}
.v27-hero__visual::before{content:"";position:absolute;left:-34px;bottom:-34px;width:180px;height:180px;z-index:-1;background:radial-gradient(circle at 2px 2px,rgba(19,53,70,.35) 1.6px,transparent 2px);background-size:16px 16px;border-radius:24px}
.v27-hero__visual::after{content:"";position:absolute;right:-26px;top:-26px;width:120px;height:120px;z-index:-1;border-radius:50%;border:2px dashed rgba(228,164,46,.7);animation:v27spin 40s linear infinite}
@keyframes v27spin{to{transform:rotate(360deg)}}
.v27-hero__img{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .5s var(--v-ease);transform-style:preserve-3d}
.v27-hero__img img{animation:v27ken 24s ease-in-out infinite alternate}
@keyframes v27ken{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1.5%,-1.5%)}}
.v27-hero__img::before{content:"";position:absolute;inset:0;z-index:1;background-image:var(--v-grain-l);opacity:.6;mix-blend-mode:overlay;pointer-events:none}

/* ---- Warm slabs: floating rounded sections with grain + grid ---- */
.v27-services{position:relative;isolation:isolate;margin:0 12px;border-radius:var(--v-r-lg);overflow:hidden}
.v27-services::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--v-grain-d),var(--v-grid);background-size:180px 180px,56px 56px,56px 56px;
  -webkit-mask:linear-gradient(180deg,#000,rgba(0,0,0,.25));mask:linear-gradient(180deg,#000,rgba(0,0,0,.25))}
.v27-services.v27-car .v27-car__t{padding-inline:max(20px,calc((100vw - 24px - var(--v-wrap))/2 + 20px));scroll-padding-left:max(20px,calc((100vw - 24px - var(--v-wrap))/2 + 20px))}

/* ---- Dark panels: grain + spotlight ---- */
.v27-panel{--mx:80%;--my:0%}
.v27-panel::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--v-grain-l);background-size:180px 180px;mix-blend-mode:soft-light;opacity:.9}
.v27-panel::before{background:radial-gradient(520px 520px at var(--mx) var(--my),rgba(228,164,46,.26),transparent 62%),radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 1.5px);background-size:auto,22px 22px;transition:background .2s}

/* ---- Cards: cursor-follow glow border ---- */
.v27-tile,.v27-step,.v27-faq details,.v27-glass,.v27-aidcard{--mx:50%;--my:50%;position:relative}
.v27-tile::before,.v27-step::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px 260px at var(--mx) var(--my),var(--v-amber),rgba(228,164,46,0) 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.v27-tile:hover::before,.v27-step:hover::after{opacity:1}
.v27-step{transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease)}
.v27-step:hover{transform:translateY(-4px);box-shadow:var(--v-sh-lg)}
.v27-tile:not(.v27-tile--dark){background:linear-gradient(180deg,#fff,#fdfcfa)}
.v27-tile--dark{background-image:var(--v-grain-l),linear-gradient(160deg,#17425a,var(--v-navy) 55%,#0e2a38);background-size:180px 180px,auto}
.v27-glass:hover,.v27-aidcard:hover{background:radial-gradient(300px 300px at var(--mx) var(--my),rgba(228,164,46,.16),rgba(255,255,255,.06) 70%)}
.v27-aidcard{transition:transform .3s var(--v-ease)}.v27-aidcard:hover{transform:translateX(6px)}
/* intent cards: grain + sheen */
.v27-intent::after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--v-grain-l);mix-blend-mode:overlay;opacity:.7;pointer-events:none}
.v27-intent{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
/* big number shimmer */
.v27-big em{background-size:220% 100%;animation:v27shine 6s linear infinite;background-image:linear-gradient(100deg,#f3c869 0%,var(--v-amber) 35%,#fff3cf 50%,var(--v-amber) 65%,#f3c869 100%)}
@keyframes v27shine{to{background-position:-220% 0}}
/* buttons: sheen sweep */
body .v27-btn,body .elementor-button{position:relative;overflow:hidden}
body .v27-btn::after,body .elementor-button::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .6s var(--v-ease);pointer-events:none}
body .v27-btn:hover::after,body .elementor-button:hover::after{left:120%}
/* section headings: marker underline on em */
.v27-h2 em{position:relative;white-space:nowrap}
/* page heroes: grain */
.v27-minihero::after,.v27-pagehero::after,header.renobtp-hero::after,section.rb-blog-hero::after{content:"";position:absolute;inset:0;background-image:var(--v-grain-l);mix-blend-mode:soft-light;pointer-events:none;z-index:0}
header.renobtp-hero,section.rb-blog-hero{position:relative}

/* ---- Outline text band ---- */
.v27-band{overflow:hidden;padding:clamp(28px,4vw,56px) 0 0;background:#fff}
.v27-band__t{display:flex;gap:.6em;width:max-content;white-space:nowrap;font-size:clamp(56px,9vw,150px);font-weight:700;letter-spacing:-.04em;line-height:1;animation:v27marq 60s linear infinite;color:transparent;-webkit-text-stroke:1.5px rgba(19,53,70,.22)}
.v27-band__t b{font-weight:700;color:var(--v-amber);-webkit-text-stroke:0}

/* =====================================================
   Footer 2027
   ===================================================== */
.elementor-location-footer,.renobtp-footer{display:none!important}
.v27f{position:relative;isolation:isolate;margin:0 12px 12px;border-radius:var(--v-r-lg);overflow:hidden;color:rgba(255,255,255,.72);font-family:inherit;
  background:linear-gradient(165deg,#17425a 0%,var(--v-navy) 38%,#081a23 100%)}
.v27f *{box-sizing:border-box}
.v27f::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--v-grain-l),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:180px 180px,64px 64px,64px 64px;
  -webkit-mask:radial-gradient(110% 80% at 80% 0%,#000 30%,transparent 85%);mask:radial-gradient(110% 80% at 80% 0%,#000 30%,transparent 85%)}
.v27f::after{content:"";position:absolute;z-index:-1;right:-12%;top:-30%;width:60vw;height:60vw;max-width:820px;max-height:820px;border-radius:50%;background:radial-gradient(circle,rgba(228,164,46,.28),transparent 65%);filter:blur(30px);pointer-events:none;animation:v27drift2 20s ease-in-out infinite alternate}
.v27f a{color:inherit;text-decoration:none}
.v27f__in{max-width:var(--v-wrap);margin:0 auto;padding:clamp(48px,7vw,96px) 24px 0}
.v27f__cta{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:32px;align-items:end;padding-bottom:clamp(40px,6vw,72px);border-bottom:1px solid rgba(255,255,255,.12)}
.v27f__cta h2{margin:0;font-size:clamp(36px,6vw,88px);line-height:.95;font-weight:700;letter-spacing:-.045em;color:#fff}
.v27f__cta h2 em{font-style:normal;color:var(--v-amber)}
.v27f__cta p{margin:18px 0 0;font-size:17px;max-width:520px;line-height:1.6}
.v27f__btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.v27f a.v27-btn{color:var(--v-navy-900)!important}.v27f a.v27-btn--glass{color:#fff!important}
.v27f__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:clamp(24px,4vw,56px);padding:clamp(40px,5vw,64px) 0}
.v27f__logo img{height:54px;width:auto;display:block;border-radius:0!important;filter:brightness(0) invert(1)}
.v27f__about{margin:20px 0 22px;font-size:14.5px;line-height:1.65;max-width:340px}
.v27f__badges{display:flex;flex-wrap:wrap;gap:8px}
.v27f__badges span{padding:7px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.03em;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.v27f__badges span:first-child{color:var(--v-navy-900);background:var(--v-amber);border-color:transparent}
.v27f h3{margin:0 0 18px;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--v-amber)}
.v27f ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.v27f li a{font-size:15px;color:rgba(255,255,255,.78);transition:color .2s,padding .25s var(--v-ease);display:inline-block}
.v27f li a:hover{color:#fff;padding-left:6px}
.v27f__tel{display:block;font-size:clamp(24px,2.4vw,32px);font-weight:700;letter-spacing:-.03em;color:#fff!important;line-height:1.1}
.v27f__meta{margin:6px 0 16px;font-size:13px;color:rgba(255,255,255,.55)}
.v27f__soc{display:flex;gap:8px;margin-top:20px}
.v27f__soc a{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .2s,transform .25s var(--v-ease),color .2s}
.v27f__soc a:hover{background:var(--v-amber);color:var(--v-navy-900);transform:translateY(-3px)}
.v27f__soc svg{width:18px;height:18px}
.v27f__cities{padding:22px 0;border-top:1px solid rgba(255,255,255,.12);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.v27f__cities div{display:flex;gap:34px;width:max-content;white-space:nowrap;font-size:14px;font-weight:500;color:rgba(255,255,255,.6);animation:v27marq 70s linear infinite}
.v27f__cities span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--v-amber);margin-right:12px;vertical-align:middle}
.v27f__word{display:block;margin:0 -1vw -1.2vw;text-align:center;font-size:clamp(72px,19.5vw,330px);font-weight:700;letter-spacing:-.06em;line-height:.8;white-space:nowrap;user-select:none;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0) 82%);-webkit-background-clip:text;background-clip:text;color:transparent}
.v27f__legal{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0 22px;font-size:13px;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.12)}
.v27f__legal nav{display:flex;gap:20px;flex-wrap:wrap}
.v27f__legal a:hover{color:#fff}
@media (max-width:1000px){.v27f__grid{grid-template-columns:1fr 1fr}.v27f__cta{grid-template-columns:minmax(0,1fr)}.v27f__btns{justify-content:flex-start}}
@media (max-width:900px){.v27f{margin:0 8px 86px;border-radius:22px}.v27-services{margin:0 8px;border-radius:22px}.v27-hero__visual::before{left:-10px;bottom:-18px;width:120px;height:120px}.v27-hero__visual::after{right:-8px;top:-18px;width:80px;height:80px}}
@media (max-width:560px){.v27f__grid{grid-template-columns:1fr}.v27f__btns .v27-btn{flex:1 1 100%}}
@media (hover:none){.v27-hero__img{transform:none!important}}
@media (prefers-reduced-motion:reduce){.v27-aurora i,.v27-hero__img img,.v27-hero__visual::after,.v27-big em,.v27-band__t,.v27f__cities div,.v27f::after{animation:none!important}}

@media (max-width:1000px){.v27f__grid{row-gap:36px}}

/* ===== r6 : corrections ===== */
.elementor-location-header .elementskit-submenu-panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.elementor-location-header .elementskit-navbar-nav>li.elementskit-dropdown-has{position:relative}
.v27-band{display:none!important}
.v27f__word{margin:6px 0 0;padding:0 0 14px;font-size:clamp(44px,8.5vw,128px);line-height:.95;letter-spacing:-.05em}
.v27-phero h1 em{white-space:nowrap}
.v27-intent small{align-self:flex-start;padding:5px 11px;border-radius:999px;background:rgba(11,34,46,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
