/*
Theme Name: BG Handyman Service Pro
Theme URI: https://prismsols.com/
Author: Prismsols LLC
Author URI: https://prismsols.com/
Description: Premium single-page WordPress theme for BG Handyman Service in Olivia, Minnesota. Built from the RIP Waste Solutions Pro visual system and rebuilt around native homepage custom fields with unlimited services, projects, testimonials, FAQs and service areas. No custom post types or page builder required.
Version: 1.9.2
Text Domain: bg-handyman-service
Requires at least: 6.2
Requires PHP: 7.4

Theme Owner / Property Of: Prismsols LLC
Exclusively Designed For: BG Handyman Service
Base Design System: RIP Waste Solutions Pro v3.6.7
Designed & Developed By: Prismsols LLC
Prismsols LLC Website: https://prismsols.com/
Prismsols LLC Support Email: info@prismsols.com
Prismsols LLC Support Phone: (512) 270-0057
Prismsols LLC Support WhatsApp: (737) 283-1735
Prismsols LLC Address: 5900 Balcones Drive #19858, Austin, TX 78731
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root{
  --rip-primary:#e51b23;
  --rip-primary-hover:#ff3138;
  --rip-background:#050506;
  --rip-surface:#0d0e10;
  --rip-surface-alt:#131416;
  --rip-text:#f7f7f8;
  --rip-muted:#a0a0a7;
  --rip-border:#27282c;
  --rip-container:1280px;
  --rip-radius:16px;
  --rip-radius-sm:10px;
  --rip-shadow:0 24px 80px rgba(0,0,0,.34);
  --rip-transition:220ms cubic-bezier(.2,.75,.25,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rip-background)}
body{
  margin:0;
  background:var(--rip-background);
  color:var(--rip-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.rip-menu-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:var(--rip-primary);transition:color var(--rip-transition),border-color var(--rip-transition),background var(--rip-transition),transform var(--rip-transition),box-shadow var(--rip-transition)}
a:hover{color:var(--rip-primary-hover)}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--rip-primary);color:#fff}

/* Keyboard focus mirrors the red hover language without changing layout. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--rip-primary-hover);outline-offset:3px}

.rip-container{width:min(calc(100% - 48px),var(--rip-container));margin-inline:auto}
.rip-narrow{max-width:920px;margin-inline:auto}
.rip-narrow-wide{max-width:1080px;margin-inline:auto}
.rip-skip-link{position:absolute;left:-9999px;top:0;z-index:99999;background:#fff;color:#111;padding:12px 16px}.rip-skip-link:focus{left:12px;top:12px}
.rip-icon{width:1.2em;height:1.2em;flex:0 0 auto;display:inline-block;vertical-align:-.16em}

/* =========================================================
   TYPOGRAPHY / SHARED
   ========================================================= */
.rip-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 12px;
  margin:0 0 18px;
  border:1px solid color-mix(in srgb,var(--rip-primary) 28%,var(--rip-border));
  border-radius:7px;
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-surface));
  color:var(--rip-primary);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.35px;
  text-transform:uppercase;
}
.rip-eyebrow--light{border-color:rgba(255,255,255,.25);background:rgba(0,0,0,.18);color:#fff}
.rip-title{
  margin:0;
  color:var(--rip-text);
  font-size:clamp(36px,4.6vw,64px);
  line-height:1.03;
  letter-spacing:-2.2px;
  font-weight:850;
}
.rip-title span,.rip-page-hero h1 span,.rip-hero h1 span,.rip-service-hero h1 span{color:var(--rip-primary)}
.rip-lead,.rip-hero__lead{
  margin:20px 0 0;
  max-width:760px;
  color:var(--rip-muted);
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.8;
}
.rip-section-heading{max-width:760px;margin-bottom:42px}
.rip-section-heading--center{text-align:center;margin-left:auto;margin-right:auto;max-width:900px}
.rip-section-heading--center .rip-lead{margin-left:auto;margin-right:auto}
.rip-section{position:relative;padding:108px 0}
.rip-section--dark{background:var(--rip-background)}
.rip-section--surface{background:linear-gradient(180deg,var(--rip-surface) 0%,color-mix(in srgb,var(--rip-surface-alt) 70%,var(--rip-background)) 100%);border-top:1px solid rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.035)}
.rip-section--cta-wrap{background:var(--rip-background);padding:70px 0 90px}
.rip-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.rip-section-top .rip-section-heading{margin:0}
.rip-center-action{text-align:center;margin-top:48px}
.rip-empty{padding:30px;border:1px dashed var(--rip-border);border-radius:var(--rip-radius);background:var(--rip-surface);color:var(--rip-muted);text-align:center}

/* =========================================================
   BUTTONS / LINKS
   ========================================================= */
.rip-btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 22px;
  border-radius:8px;
  border:1px solid transparent;
  text-decoration:none!important;
  font-size:12px;
  font-weight:850;
  letter-spacing:.55px;
  text-transform:uppercase;
  cursor:pointer;
  transition:all var(--rip-transition);
}
.rip-btn .rip-icon{width:17px;height:17px}
.rip-btn:hover{transform:translateY(-2px)}
.rip-btn--primary{background:var(--rip-primary);border-color:var(--rip-primary);color:#fff!important;box-shadow:0 10px 30px color-mix(in srgb,var(--rip-primary) 25%,transparent)}
.rip-btn--primary:hover{background:var(--rip-primary-hover);border-color:var(--rip-primary-hover);color:#fff!important;box-shadow:0 16px 40px color-mix(in srgb,var(--rip-primary) 34%,transparent)}
.rip-btn--ghost{background:transparent;border-color:var(--rip-border);color:var(--rip-text)!important}
.rip-btn--ghost:hover{border-color:var(--rip-primary);color:var(--rip-primary-hover)!important;background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface))}
.rip-btn--small{min-height:44px;padding:0 18px;font-size:11px}
.rip-btn--light{background:#fff;color:#0a0a0b!important;border-color:#fff}.rip-btn--light:hover{background:#f1f1f2;color:#0a0a0b!important}
.rip-btn--dark{background:#070708;color:#fff!important;border-color:#070708}.rip-btn--dark:hover{background:#111114;border-color:#111114;color:#fff!important}
.rip-inline-link{display:inline-flex;align-items:center;gap:8px;color:var(--rip-primary)!important;text-decoration:none;font-size:12px;font-weight:850;letter-spacing:.45px;text-transform:uppercase}
.rip-inline-link .rip-icon{width:16px;height:16px;transition:transform var(--rip-transition)}
.rip-inline-link:hover .rip-icon{transform:translateX(4px)}

/* =========================================================
   TOP BAR / HEADER / MENU
   ========================================================= */
.rip-topbar{position:relative;z-index:60;background:#030304;border-bottom:1px solid rgba(255,255,255,.055)}
.rip-topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#818188;font-size:10px;font-weight:650;letter-spacing:.2px}
.rip-topbar__message,.rip-topbar__details,.rip-topbar__details a,.rip-topbar__details>span{display:flex;align-items:center;gap:7px}
.rip-topbar__message{color:#9b9ba2}
.rip-topbar__message .rip-icon,.rip-topbar__details .rip-icon{color:var(--rip-primary);width:14px;height:14px}
.rip-topbar__details{gap:20px}
.rip-topbar__details a{color:#898990;text-decoration:none}.rip-topbar__details a:hover{color:var(--rip-primary-hover)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,5,6,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.055);transition:box-shadow var(--rip-transition),background var(--rip-transition)}
body.admin-bar .site-header{top:32px}
.site-header.is-scrolled{background:rgba(5,5,6,.97);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.rip-header{min-height:82px;display:grid;grid-template-columns:158px 1fr auto;align-items:center;gap:26px}
.rip-logo{display:inline-flex;align-items:center;width:148px;max-width:100%}.rip-logo img{display:block;width:138px;max-height:68px;object-fit:contain;object-position:left center}
.rip-nav{justify-self:center;min-width:0}
.rip-menu,.rip-menu ul{list-style:none;margin:0;padding:0}
.rip-menu{display:flex;align-items:center;gap:2px}
.rip-menu>li{position:relative}
.rip-menu>li>a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:0 9px;
  color:#c7c7cb;
  text-decoration:none;
  font-size:11px;
  font-weight:750;
  letter-spacing:.18px;
  white-space:nowrap;
}
.rip-menu>li>a:hover,.rip-menu>li.current-menu-item>a,.rip-menu>li.current-menu-parent>a,.rip-menu>li.current_page_ancestor>a{color:var(--rip-primary-hover)}
.rip-menu .menu-item-has-children>a::after{content:"";width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.rip-menu .sub-menu{
  position:absolute;
  left:0;
  top:calc(100% + 12px);
  width:255px;
  padding:10px;
  background:#09090b;
  border:1px solid var(--rip-border);
  border-radius:12px;
  box-shadow:0 25px 70px rgba(0,0,0,.55);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:all var(--rip-transition);
}
.rip-menu li:hover>.sub-menu,.rip-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.rip-menu .sub-menu li{position:relative}
.rip-menu .sub-menu a{display:flex;padding:10px 12px;border-radius:7px;color:#aaaab0;text-decoration:none;font-size:11px;font-weight:650;line-height:1.35}
.rip-menu .sub-menu a:hover,.rip-menu .sub-menu .current-menu-item>a{background:color-mix(in srgb,var(--rip-primary) 10%,var(--rip-surface));color:var(--rip-primary-hover)}
.rip-submenu-toggle{display:none}
.rip-header__actions{display:flex;align-items:center;gap:10px}
.rip-header-phone{display:flex;align-items:center;gap:8px;color:#c3c3c7;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.rip-header-phone .rip-icon{color:var(--rip-primary);width:17px;height:17px}.rip-header-phone:hover{color:var(--rip-primary-hover)}
.rip-menu-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid var(--rip-border);border-radius:8px;background:var(--rip-surface);align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}.rip-menu-toggle span{width:18px;height:2px;background:#fff;transition:all var(--rip-transition)}
.rip-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.rip-menu-toggle.is-open span:nth-child(2){opacity:0}.rip-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* =========================================================
   HOMEPAGE HERO
   ========================================================= */
.rip-hero{position:relative;overflow:hidden;min-height:720px;display:flex;align-items:center;background:
  radial-gradient(circle at 77% 30%,color-mix(in srgb,var(--rip-primary) 15%,transparent),transparent 27%),
  linear-gradient(135deg,#040405 0%,#08090a 52%,#050506 100%);border-bottom:1px solid rgba(255,255,255,.05)}
.rip-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 88%);pointer-events:none}
.rip-hero::after{content:"";position:absolute;width:560px;height:560px;right:-200px;bottom:-320px;background:var(--rip-primary);filter:blur(150px);opacity:.08;pointer-events:none}
.rip-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:72px;align-items:center;padding:92px 0}
.rip-hero h1{margin:0;max-width:760px;font-size:clamp(54px,6vw,84px);line-height:.98;letter-spacing:-3.5px;font-weight:900}
.rip-hero__lead{max-width:700px;font-size:18px}
.rip-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.rip-hero__badges{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;color:#8d8d94;font-size:11px;font-weight:700}.rip-hero__badges span{display:flex;align-items:center;gap:7px}.rip-hero__badges .rip-icon{color:var(--rip-primary);width:15px;height:15px}
.rip-hero__visual{position:relative;min-height:530px;display:flex;align-items:center;justify-content:center}
.rip-hero__visual-frame{width:min(100%,560px);aspect-ratio:1/1;border:1px solid var(--rip-border);border-radius:26px;background:linear-gradient(145deg,#111215,#08090a);box-shadow:var(--rip-shadow);overflow:hidden;display:grid;place-items:center;position:relative}
.rip-hero__visual-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--rip-primary) 15%,transparent),transparent 48%);pointer-events:none}
.rip-hero__visual-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:drop-shadow(0 25px 28px rgba(0,0,0,.55))}
.rip-hero__rate-card,.rip-hero__pickup-card{position:absolute;z-index:3;width:220px;padding:17px 18px;border:1px solid var(--rip-border);border-radius:12px;background:rgba(10,10,12,.92);backdrop-filter:blur(12px);box-shadow:0 22px 48px rgba(0,0,0,.4)}
.rip-hero__rate-card{left:-24px;bottom:52px}.rip-hero__pickup-card{right:-18px;top:52px}
.rip-hero__rate-card strong,.rip-hero__pickup-card strong{display:block;font-size:22px;line-height:1.1;color:#fff}.rip-hero__rate-card span,.rip-hero__pickup-card span{display:block;margin-top:6px;color:#85858d;font-size:10px}
.rip-card-kicker{margin:0 0 10px;color:var(--rip-primary);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}

/* =========================================================
   SPLITS / MEDIA / STATS
   ========================================================= */
.rip-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.rip-split--faq{align-items:start}.rip-split--copy-left{grid-template-columns:.92fr 1.08fr}.rip-split--media-left{grid-template-columns:1.02fr .98fr}
.rip-media-panel{position:relative;min-height:500px;border:1px solid var(--rip-border);border-radius:20px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));overflow:hidden;box-shadow:var(--rip-shadow)}
.rip-media-panel>img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.rip-media-panel__badge{position:absolute;left:24px;bottom:24px;right:24px;padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(5,5,6,.9);backdrop-filter:blur(10px)}.rip-media-panel__badge strong,.rip-media-panel__badge span{display:block}.rip-media-panel__badge strong{font-size:14px}.rip-media-panel__badge span{margin-top:3px;color:#86868d;font-size:11px}
.rip-placeholder{width:100%;height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#222327,#111214);color:#65666e;font-size:12px;font-weight:850;letter-spacing:1.6px;text-transform:uppercase;position:relative;overflow:hidden}
.rip-placeholder::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.025) 50%,transparent 58%);transform:translateX(-100%);transition:transform .8s ease}.rip-placeholder:hover::after{transform:translateX(100%)}
.rip-placeholder--large{min-height:500px}.rip-placeholder--service-hero{min-height:520px}.rip-placeholder--project{min-height:250px}.rip-placeholder--blog{min-height:220px}.rip-placeholder--team{min-height:390px}
.rip-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.rip-stat-card{padding:20px;border:1px solid var(--rip-border);border-radius:10px;background:var(--rip-surface);transition:all var(--rip-transition)}.rip-stat-card:hover{border-color:var(--rip-primary);transform:translateY(-3px);box-shadow:0 12px 30px color-mix(in srgb,var(--rip-primary) 10%,transparent)}.rip-stat-card strong{display:block;color:#fff;font-size:24px;line-height:1.1}.rip-stat-card span{display:block;margin-top:7px;color:#77777f;font-size:10px;font-weight:700;line-height:1.4}
.rip-inline-note{display:flex;gap:12px;margin-top:28px;padding:18px;border:1px solid var(--rip-border);border-radius:10px;background:var(--rip-surface)}.rip-inline-note .rip-icon{color:var(--rip-primary);width:21px;height:21px}.rip-inline-note span{color:#9c9ca3;font-size:13px}
.rip-mission-card{padding:38px;border:1px solid var(--rip-border);border-radius:18px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--rip-shadow)}.rip-mission-card h3{margin:20px 0 10px;font-size:30px;letter-spacing:-.7px}.rip-mission-card p{margin:0;color:var(--rip-muted)}

/* =========================================================
   SERVICE CARDS — TWO PER ROW
   ========================================================= */
.rip-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rip-service-card{position:relative;min-height:390px;padding:34px;border:1px solid var(--rip-border);border-radius:16px;background:linear-gradient(145deg,#111216,#0b0c0e);overflow:hidden;transition:all var(--rip-transition)}
.rip-service-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--rip-primary) 75%,var(--rip-border));box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 32px color-mix(in srgb,var(--rip-primary) 10%,transparent)}
.rip-service-card__topline,.rip-process-card__topline{position:absolute;top:0;left:34px;width:72px;height:3px;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover));box-shadow:0 0 18px color-mix(in srgb,var(--rip-primary) 45%,transparent)}
.rip-service-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.rip-service-card__icon,.rip-process-card__icon,.rip-icon-card__icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--rip-border);border-radius:12px;background:#0c0d0f;color:var(--rip-primary);transition:all var(--rip-transition)}
.rip-service-card:hover .rip-service-card__icon,.rip-icon-card:hover .rip-icon-card__icon{border-color:var(--rip-primary);background:color-mix(in srgb,var(--rip-primary) 9%,#0c0d0f);color:var(--rip-primary-hover)}
.rip-service-card__icon .rip-icon,.rip-process-card__icon .rip-icon,.rip-icon-card__icon .rip-icon{width:27px;height:27px}
.rip-service-card__number{font-size:42px;font-weight:900;line-height:1;color:color-mix(in srgb,var(--rip-primary) 18%,transparent);letter-spacing:-2px}
.rip-service-card h3{margin:0 0 13px;font-size:28px;line-height:1.18;letter-spacing:-.75px}.rip-service-card h3 a{color:#fff;text-decoration:none}.rip-service-card h3 a:hover{color:var(--rip-primary-hover)}
.rip-service-card p{margin:0 0 22px;color:#97979e;font-size:14px;line-height:1.8}
.rip-service-card__price{display:flex;align-items:baseline;gap:10px;padding:14px 0 22px;margin-top:auto;border-top:1px solid rgba(255,255,255,.06)}.rip-service-card__price strong{color:#fff;font-size:18px}.rip-service-card__price span{color:#727279;font-size:10px}

/* =========================================================
   ICON CARDS / BENEFITS
   ========================================================= */
.rip-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rip-icon-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rip-icon-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rip-icon-card{padding:28px;border:1px solid var(--rip-border);border-radius:14px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));transition:all var(--rip-transition)}
.rip-icon-card:hover{transform:translateY(-6px);border-color:var(--rip-primary);box-shadow:0 20px 45px rgba(0,0,0,.28),0 0 26px color-mix(in srgb,var(--rip-primary) 9%,transparent)}
.rip-icon-card h3{margin:20px 0 9px;color:#fff;font-size:18px;line-height:1.3}.rip-icon-card p{margin:0;color:#8f8f96;font-size:13px;line-height:1.72}
.rip-area-cards .rip-icon-card{min-height:245px}

/* =========================================================
   PROJECTS — SCREENSHOT-INSPIRED TABS / GRID
   ========================================================= */
.rip-projects-ui{margin-top:44px}.rip-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:0 auto 46px}.rip-tab{min-height:40px;padding:0 18px;border:1px solid var(--rip-border);border-radius:7px;background:#0d0e10;color:#9999a0;font-size:11px;font-weight:750;cursor:pointer;transition:all var(--rip-transition)}.rip-tab:hover{border-color:var(--rip-primary);color:var(--rip-primary-hover)}.rip-tab.is-active{background:var(--rip-primary);border-color:var(--rip-primary);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--rip-primary) 25%,transparent)}
.rip-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rip-project-card{border:1px solid rgba(255,255,255,.045);border-radius:13px;overflow:hidden;background:#0c0d0f;transition:all var(--rip-transition)}.rip-project-card:hover{transform:translateY(-6px);border-color:var(--rip-primary);box-shadow:0 22px 55px rgba(0,0,0,.35),0 0 28px color-mix(in srgb,var(--rip-primary) 10%,transparent)}
.rip-project-card[hidden]{display:none!important}
.rip-project-card__media{aspect-ratio:1.48/1;overflow:hidden;background:#1c1d20;position:relative}.rip-project-card__media::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--rip-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--rip-transition)}.rip-project-card:hover .rip-project-card__media::after{transform:scaleX(1)}
.rip-project-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms ease,filter 500ms ease}.rip-project-card:hover .rip-project-card__media img{transform:scale(1.045);filter:saturate(1.05)}
.rip-project-card__body{padding:25px 26px 27px}.rip-project-card h3{margin:0;color:#fff;font-size:18px;line-height:1.35}.rip-project-card p{margin:10px 0 0;color:#888890;font-size:12px;line-height:1.65}.rip-project-card__meta{display:flex;align-items:center;gap:7px;margin-top:15px;color:#6f7077;font-size:10px}.rip-project-card__meta .rip-icon{color:var(--rip-primary);width:14px;height:14px}

/* =========================================================
   TESTIMONIAL SLIDER — 3 CARDS DESKTOP
   ========================================================= */
.rip-testimonial-slider{position:relative;margin-top:48px;padding:0 42px 38px}
.rip-slider-viewport{overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory}
.rip-slider-track{display:flex;gap:22px;width:100%}
.rip-testimonial-card{flex:0 0 calc((100% - 44px)/3);max-width:none;min-height:470px;padding:36px 30px 30px;border:1px solid var(--rip-border);border-radius:14px;background:linear-gradient(180deg,#17181a 0%,#0d0e10 100%);scroll-snap-align:start;text-align:center;transition:all var(--rip-transition)}
.rip-testimonial-card:hover{transform:translateY(-5px);border-color:var(--rip-primary);box-shadow:0 22px 55px rgba(0,0,0,.32),0 0 28px color-mix(in srgb,var(--rip-primary) 9%,transparent)}
.rip-testimonial-card__avatar-wrap{position:relative;width:126px;margin:0 auto 24px}.rip-testimonial-card__avatar{width:126px;height:126px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--rip-primary),#671016);box-shadow:0 12px 34px rgba(0,0,0,.3)}.rip-testimonial-card__avatar img,.rip-testimonial-card__avatar span{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#2a2b2f;color:#b4b4ba;font-size:36px;font-weight:900}.rip-testimonial-card__quote{position:absolute;right:-6px;top:5px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#09090b;color:var(--rip-primary);border:1px solid var(--rip-border)}.rip-testimonial-card__quote .rip-icon{width:20px;height:20px}
.rip-stars{margin:0 0 12px;color:var(--rip-primary);font-size:13px;letter-spacing:2px}
.rip-testimonial-card__text{color:#a2a2a9;font-size:14px;line-height:1.8;min-height:130px}.rip-testimonial-card__text p{margin:0}.rip-testimonial-card__name{margin-top:24px;color:#fff;font-size:16px;font-weight:800}.rip-testimonial-card__role{margin-top:4px;color:var(--rip-primary);font-size:10px;font-weight:750;letter-spacing:.65px;text-transform:uppercase}
.rip-slider-arrow{position:absolute;top:48%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border-radius:50%;border:1px solid var(--rip-border);background:#070708;color:var(--rip-primary);font-size:24px;line-height:1;cursor:pointer;transition:all var(--rip-transition)}.rip-slider-arrow:hover{border-color:var(--rip-primary);background:var(--rip-primary);color:#fff}.rip-slider-arrow--prev{left:0}.rip-slider-arrow--next{right:0}
.rip-slider-dots{display:flex;justify-content:center;gap:7px;margin-top:28px}.rip-slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#25262a;cursor:pointer;transition:all var(--rip-transition)}.rip-slider-dots button.is-active{width:28px;background:var(--rip-primary)}

/* =========================================================
   PROCESS / TIMELINE CARDS
   ========================================================= */
.rip-process-wrap .rip-section-heading{margin-bottom:52px}.rip-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rip-process-card{position:relative;min-height:390px;padding:38px 30px 30px;border:1px solid var(--rip-border);border-radius:14px;background:#0b0c0e;overflow:hidden;transition:all var(--rip-transition)}.rip-process-card:hover{transform:translateY(-6px);border-color:var(--rip-primary);box-shadow:0 20px 50px rgba(0,0,0,.32),0 0 25px color-mix(in srgb,var(--rip-primary) 9%,transparent)}
.rip-process-card__header{display:flex;align-items:center;justify-content:space-between}.rip-process-card__number{color:color-mix(in srgb,var(--rip-primary) 20%,transparent);font-size:56px;font-weight:900;letter-spacing:-3px;line-height:1}.rip-process-card__kicker{margin-top:34px;color:var(--rip-primary);font-size:10px;font-weight:850;letter-spacing:1.5px;text-transform:uppercase}.rip-process-card h3{margin:12px 0 14px;font-size:25px;letter-spacing:-.5px}.rip-process-card p{margin:0;color:#8f8f96;font-size:13px;line-height:1.8}

/* =========================================================
   BLOG CARDS
   ========================================================= */
.rip-blog-grid,.rip-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rip-blog-card{overflow:hidden;border:1px solid var(--rip-border);border-radius:14px;background:#0c0d0f;transition:all var(--rip-transition)}.rip-blog-card:hover{transform:translateY(-6px);border-color:var(--rip-primary);box-shadow:0 20px 50px rgba(0,0,0,.28)}
.rip-blog-card__media{display:block;aspect-ratio:1.5/1;overflow:hidden;background:#1d1e21}.rip-blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease}.rip-blog-card:hover .rip-blog-card__media img{transform:scale(1.045)}
.rip-blog-card__body{padding:25px}.rip-blog-card__meta{color:#6f7077;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.75px}.rip-blog-card h3{margin:11px 0;font-size:20px;line-height:1.35}.rip-blog-card h3 a{color:#fff;text-decoration:none}.rip-blog-card h3 a:hover{color:var(--rip-primary-hover)}.rip-blog-card p{margin:0 0 18px;color:#8f8f96;font-size:13px;line-height:1.7}

/* =========================================================
   FAQ
   ========================================================= */
.rip-faq-list{border-top:1px solid var(--rip-border)}
.rip-faq{border-bottom:1px solid var(--rip-border);background:transparent}.rip-faq[hidden]{display:none!important}
.rip-faq summary{position:relative;list-style:none;cursor:pointer;padding:23px 54px 23px 2px;color:#f1f1f3;font-size:15px;font-weight:780;transition:color var(--rip-transition)}.rip-faq summary::-webkit-details-marker{display:none}.rip-faq summary:hover{color:var(--rip-primary-hover)}.rip-faq summary::after{content:"+";position:absolute;right:0;top:17px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--rip-border);border-radius:50%;background:var(--rip-surface);color:var(--rip-primary);font-size:20px;transition:all var(--rip-transition)}.rip-faq[open] summary::after{content:"−";background:var(--rip-primary);border-color:var(--rip-primary);color:#fff}.rip-faq__answer{padding:0 56px 22px 2px;color:#929299;font-size:13px;line-height:1.8}.rip-faq__answer p{margin:0}
.rip-tabs--faq{margin-bottom:32px}

/* =========================================================
   CONTACT / FORMS / MAP
   ========================================================= */
.rip-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start;margin-top:46px}.rip-contact-panel,.rip-form{border:1px solid var(--rip-border);border-radius:16px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--rip-shadow)}.rip-contact-panel{padding:30px}
.rip-contact-list{display:grid}.rip-contact-item{display:flex;gap:15px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.065)}.rip-contact-item:last-child{border-bottom:0}.rip-contact-item__icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rip-primary) 26%,var(--rip-border));border-radius:9px;background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-surface));color:var(--rip-primary)}.rip-contact-item__icon .rip-icon{width:20px;height:20px}.rip-contact-item strong{display:block;color:#fff;font-size:12px}.rip-contact-item span,.rip-contact-item a{display:block;margin-top:4px;color:#94949b;text-decoration:none;font-size:12px;line-height:1.55}.rip-contact-item a:hover{color:var(--rip-primary-hover)}
.rip-form{position:relative;padding:30px}.rip-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.rip-field--full{grid-column:1/-1}.rip-field label{display:block;margin-bottom:7px;color:#c8c8cd;font-size:10px;font-weight:850;letter-spacing:.75px;text-transform:uppercase}.rip-field input,.rip-field select,.rip-field textarea{width:100%;min-height:50px;border:1px solid #2c2d31;border-radius:8px;background:#08090a;color:#fff;padding:11px 13px;outline:none;transition:all var(--rip-transition)}.rip-field textarea{min-height:145px;resize:vertical}.rip-field input:focus,.rip-field select:focus,.rip-field textarea:focus{border-color:var(--rip-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--rip-primary) 10%,transparent)}.rip-field input[type=file]{padding:10px}.rip-field-help{display:block;margin-top:6px;color:#6d6e75;font-size:10px}.rip-btn--submit{margin-top:20px}.rip-form__note{margin:12px 0 0;color:#676870;font-size:10px;line-height:1.55}.rip-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.rip-alert{margin:0 0 18px;padding:14px 16px;border-radius:8px;font-size:12px}.rip-alert--success{border:1px solid rgba(45,175,90,.32);background:rgba(45,175,90,.10);color:#bde8c9}.rip-alert--error{border:1px solid color-mix(in srgb,var(--rip-primary) 35%,transparent);background:color-mix(in srgb,var(--rip-primary) 9%,transparent);color:#ffc3c6}.rip-alert a{color:inherit}
.rip-map{min-height:470px;border:1px solid var(--rip-border);border-radius:18px;overflow:hidden;background:var(--rip-surface);box-shadow:var(--rip-shadow)}.rip-map iframe{width:100%;height:470px;border:0;display:block;filter:grayscale(.92) invert(.91) contrast(.9)}
.rip-quote-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:start}.rip-sticky-copy{position:sticky;top:130px}.rip-quote-rate-list{display:grid;gap:12px;margin-top:30px}.rip-quote-rate-list>div{padding:18px;border:1px solid var(--rip-border);border-radius:10px;background:var(--rip-surface)}.rip-quote-rate-list strong,.rip-quote-rate-list span{display:block}.rip-quote-rate-list strong{color:#fff;font-size:17px}.rip-quote-rate-list span{margin-top:4px;color:#76767d;font-size:10px}

/* =========================================================
   CTA
   ========================================================= */
.rip-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:50px;padding:58px 62px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--rip-primary) 78%,#710000),var(--rip-primary) 58%,color-mix(in srgb,var(--rip-primary) 72%,#4a0000));box-shadow:0 28px 75px color-mix(in srgb,var(--rip-primary) 22%,transparent)}
.rip-cta::before{content:"";position:absolute;right:-40px;top:-100px;width:360px;height:360px;border-radius:50%;border:60px solid rgba(0,0,0,.08)}.rip-cta::after{content:"RIP";position:absolute;right:32px;bottom:-44px;color:rgba(0,0,0,.12);font-size:150px;font-weight:950;line-height:1;letter-spacing:-8px}.rip-cta__content,.rip-cta__actions{position:relative;z-index:2}.rip-cta__content{max-width:760px}.rip-cta h2{margin:0;color:#fff;font-size:clamp(34px,4.5vw,58px);line-height:1.03;letter-spacing:-2px}.rip-cta p{margin:14px 0 0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.75}.rip-cta__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:260px}

/* =========================================================
   PAGE HERO / BREADCRUMBS
   ========================================================= */
.rip-page-hero,.rip-service-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--rip-primary) 13%,transparent),transparent 29%),linear-gradient(135deg,#050506,#0a0b0d);border-bottom:1px solid rgba(255,255,255,.05)}
.rip-page-hero::before,.rip-service-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 100%)}
.rip-page-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px;padding:96px 0 82px}.rip-page-hero__copy{max-width:900px}.rip-page-hero h1,.rip-service-hero h1{margin:14px 0 0;font-size:clamp(48px,6.4vw,78px);line-height:1;letter-spacing:-3px;font-weight:900}.rip-page-hero__media{width:300px;height:240px;border-radius:18px;border:1px solid var(--rip-border);overflow:hidden;background:var(--rip-surface)}.rip-page-hero__media img{width:100%;height:100%;object-fit:cover}
.rip-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:#66676f;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.rip-breadcrumbs a{color:#919198;text-decoration:none}.rip-breadcrumbs a:hover{color:var(--rip-primary-hover)}

/* =========================================================
   SERVICE DETAIL PAGE
   ========================================================= */
.rip-service-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;gap:66px;align-items:center;padding:92px 0}.rip-service-hero__copy{max-width:760px}.rip-service-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.rip-service-price{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:28px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--rip-primary) 30%,var(--rip-border));border-radius:9px;background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface))}.rip-service-price>span{color:#8d8d94;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:1px}.rip-service-price strong{font-size:22px;color:#fff}.rip-service-price small{color:#77777e;font-size:10px}
.rip-service-hero__media{position:relative;min-height:520px;border:1px solid var(--rip-border);border-radius:20px;overflow:hidden;background:var(--rip-surface);box-shadow:var(--rip-shadow)}.rip-service-hero__media>img{width:100%;height:520px;object-fit:cover}.rip-service-hero__badge{position:absolute;left:22px;right:22px;bottom:22px;display:flex;align-items:center;gap:13px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(5,5,6,.9);backdrop-filter:blur(10px)}.rip-service-hero__badge>.rip-icon{width:26px;height:26px;color:var(--rip-primary)}.rip-service-hero__badge strong,.rip-service-hero__badge span{display:block}.rip-service-hero__badge strong{font-size:13px}.rip-service-hero__badge span{margin-top:2px;color:#75767d;font-size:9px}
.rip-service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rip-detail-panel{padding:36px;border:1px solid var(--rip-border);border-radius:16px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));transition:all var(--rip-transition)}.rip-detail-panel:hover{border-color:var(--rip-primary);transform:translateY(-4px)}.rip-detail-panel__icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--rip-border);border-radius:11px;color:var(--rip-primary);background:#090a0b}.rip-detail-panel__icon .rip-icon{width:26px;height:26px}.rip-detail-panel h2{margin:22px 0 12px;font-size:28px;letter-spacing:-.6px}.rip-detail-panel p{margin:0;color:#93939a;font-size:14px}.rip-check-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px}.rip-check-list li{display:flex;gap:10px;align-items:flex-start;color:#9a9aa1;font-size:13px}.rip-check-list .rip-icon{margin-top:3px;color:var(--rip-primary);width:15px;height:15px}.rip-area-chip-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.rip-area-chip-list span{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid var(--rip-border);border-radius:999px;background:var(--rip-surface);color:#a0a0a7;font-size:10px;font-weight:750}.rip-area-chip-list .rip-icon{color:var(--rip-primary);width:14px;height:14px}

/* =========================================================
   TEAM
   ========================================================= */
.rip-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:46px}.rip-team-card{border:1px solid var(--rip-border);border-radius:14px;overflow:hidden;background:var(--rip-surface);transition:all var(--rip-transition)}.rip-team-card:hover{transform:translateY(-6px);border-color:var(--rip-primary);box-shadow:0 22px 55px rgba(0,0,0,.3)}.rip-team-card__media{aspect-ratio:1/1.05;overflow:hidden;background:#1d1e21}.rip-team-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease}.rip-team-card:hover .rip-team-card__media img{transform:scale(1.045)}.rip-team-card__body{padding:25px}.rip-team-card h3{margin:0 0 9px;font-size:20px}.rip-team-card p{margin:0;color:#8d8d94;font-size:12px;line-height:1.7}.rip-team-card__experience{margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.06);color:#6f7077;font-size:10px}

/* =========================================================
   ARCHIVE / BLOG / SINGLE / SEARCH
   ========================================================= */
.rip-resource-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:38px;padding:18px;border:1px solid var(--rip-border);border-radius:12px;background:var(--rip-surface)}
.rip-search-form{display:flex;gap:8px;flex:1;max-width:550px}.rip-search-form label{flex:1}.rip-search-form input{width:100%;height:44px;border:1px solid var(--rip-border);border-radius:7px;background:#08090a;color:#fff;padding:0 12px;outline:none}.rip-search-form input:focus{border-color:var(--rip-primary)}
.rip-resource-categories{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;list-style:none;margin:0;padding:0}.rip-resource-categories a{display:inline-flex;padding:8px 11px;border:1px solid var(--rip-border);border-radius:999px;color:#8c8c93;text-decoration:none;font-size:9px;font-weight:800;text-transform:uppercase}.rip-resource-categories a:hover{border-color:var(--rip-primary);color:var(--rip-primary-hover)}
.rip-pagination{display:flex;justify-content:center;margin-top:40px}.rip-pagination .page-numbers{min-width:40px;height:40px;display:inline-grid;place-items:center;margin:0 3px;border:1px solid var(--rip-border);border-radius:7px;background:var(--rip-surface);color:#aaaab0;text-decoration:none}.rip-pagination .current,.rip-pagination a:hover{background:var(--rip-primary);border-color:var(--rip-primary);color:#fff}
.rip-single{max-width:900px;margin-inline:auto}.rip-single__featured{margin-bottom:34px;border-radius:18px;overflow:hidden;border:1px solid var(--rip-border)}.rip-single__featured img{width:100%;display:block}.rip-single__meta{margin-bottom:24px;color:#77777e;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.8px}
.rip-rich-content{max-width:940px}.rip-rich-content h2{margin:46px 0 16px;color:#fff;font-size:34px;line-height:1.15;letter-spacing:-.9px}.rip-rich-content h3{margin:32px 0 12px;color:#fff;font-size:24px}.rip-rich-content p,.rip-rich-content li{color:#a0a0a7}.rip-rich-content a{color:var(--rip-primary)}.rip-rich-content a:hover{color:var(--rip-primary-hover)}.rip-rich-content ul,.rip-rich-content ol{padding-left:22px}.rip-legal-content{max-width:900px;margin-inline:auto}.rip-legal-note{padding:18px 20px;border-left:3px solid var(--rip-primary);background:var(--rip-surface);color:#a0a0a7;font-size:12px}

/* =========================================================
   FOOTER — SCREENSHOT-INSPIRED FOUR-COLUMN LAYOUT
   ========================================================= */
.site-footer{background:#020203;border-top:1px solid rgba(255,255,255,.055)}
.rip-footer-main{display:grid;grid-template-columns:1.35fr .72fr .8fr 1.05fr;gap:58px;padding:84px 0 70px}.rip-footer-logo{display:inline-flex;max-width:230px}.rip-footer-logo img{width:210px;max-height:145px;object-fit:contain;object-position:left center}.rip-footer-company p{max-width:420px;margin:20px 0 0;color:#8b8b92;font-size:13px;line-height:1.8}.rip-footer-title{margin:5px 0 20px;color:#fff;font-size:16px;letter-spacing:.25px}.rip-footer-links{list-style:none;margin:0;padding:0;display:grid;gap:12px}.rip-footer-links a{color:#8c8c93;text-decoration:none;font-size:12px}.rip-footer-links a:hover{color:var(--rip-primary-hover);padding-left:4px}
.rip-social-icons{display:flex;gap:9px;margin-top:24px}.rip-social-icons a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--rip-border);border-radius:50%;background:#101113;color:#b6b6bb;text-decoration:none;font-size:12px;font-weight:850}.rip-social-icons a:hover{border-color:var(--rip-primary);background:var(--rip-primary);color:#fff;transform:translateY(-3px)}
.rip-footer-contact{display:grid;gap:17px}.rip-footer-contact>div{display:flex;gap:11px;align-items:flex-start}.rip-footer-contact>div>.rip-icon{color:var(--rip-primary);width:17px;height:17px;margin-top:3px}.rip-footer-contact strong,.rip-footer-contact span,.rip-footer-contact a{display:block}.rip-footer-contact strong{color:#d6d6da;font-size:11px}.rip-footer-contact span,.rip-footer-contact a{margin-top:3px;color:#83838a;text-decoration:none;font-size:11px;line-height:1.55}.rip-footer-contact a:hover{color:var(--rip-primary-hover)}
.rip-footer-bottom-wrap{border-top:1px solid rgba(255,255,255,.065)}.rip-footer-bottom{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#62636a;font-size:10px}.rip-footer-bottom__links{display:flex;align-items:center;gap:15px}.rip-footer-bottom__links span{width:1px;height:14px;background:#2d2e32}.rip-footer-bottom__right{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:flex-end}.rip-footer-credit{color:#77777e}.rip-footer-credit strong{color:#a3a3aa;font-weight:750}.rip-footer-bottom a{color:#77777e;text-decoration:none}.rip-footer-bottom a:hover{color:var(--rip-primary-hover)}

/* =========================================================
   404 / WORDPRESS
   ========================================================= */
.rip-404{min-height:65vh;display:grid;place-items:center;text-align:center;padding:80px 0}.rip-404__code{color:var(--rip-primary);font-size:clamp(110px,18vw,220px);font-weight:950;line-height:.75;letter-spacing:-10px}.rip-404 h1{margin:22px 0 10px;font-size:42px}.rip-404 p{color:var(--rip-muted)}
.alignwide{width:min(100%,1200px);margin-left:auto;margin-right:auto}.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1260px){
  .rip-header{grid-template-columns:140px 1fr auto;gap:16px}.rip-logo{width:132px}.rip-logo img{width:125px}.rip-menu>li>a{padding:0 7px;font-size:10.5px}.rip-header-phone span{display:none}
  .rip-footer-main{grid-template-columns:1.2fr .8fr .8fr 1fr;gap:34px}
}

@media(max-width:1100px){
  body.admin-bar .site-header{top:46px}
  .rip-topbar__details>span:last-child{display:none}
  .rip-header{grid-template-columns:1fr auto;min-height:74px}.rip-logo img{max-height:60px}.rip-menu-toggle{display:inline-flex}.rip-header__actions .rip-btn{display:none}.rip-header-phone span{display:inline}
  .rip-nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100vh - 110px);overflow:auto;padding:12px 22px 24px;background:rgba(5,5,6,.98);border-bottom:1px solid var(--rip-border);box-shadow:0 28px 60px rgba(0,0,0,.45)}.rip-nav.is-open{display:block}.rip-menu{display:block}.rip-menu>li>a{min-height:46px;padding:0 5px;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px}.rip-menu .sub-menu{position:static;width:auto;padding:0 0 8px 14px;margin:0;border:0;border-radius:0;border-left:1px solid var(--rip-border);background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}.rip-menu .submenu-open>.sub-menu{display:block}.rip-menu .sub-menu a{padding:10px;font-size:11px}.rip-menu .menu-item-has-children>a::after{display:none}.rip-submenu-toggle{position:absolute;right:0;top:4px;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.rip-submenu-toggle span{width:7px;height:7px;border-right:1.5px solid #888;border-bottom:1.5px solid #888;transform:rotate(45deg);transition:transform var(--rip-transition)}.submenu-open>.rip-submenu-toggle span{transform:rotate(225deg)}
  .rip-hero__grid,.rip-service-hero__grid{grid-template-columns:1fr;gap:54px}.rip-hero{min-height:auto}.rip-hero__visual{max-width:650px;width:100%;margin-inline:auto}.rip-service-hero__media{max-width:700px;width:100%;margin-inline:auto}
  .rip-split,.rip-split--copy-left,.rip-split--media-left,.rip-contact-grid,.rip-quote-layout{grid-template-columns:1fr;gap:46px}.rip-sticky-copy{position:static}.rip-media-panel{min-height:430px}.rip-media-panel>img,.rip-placeholder--large{min-height:430px}
  .rip-icon-grid--4,.rip-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rip-project-grid,.rip-blog-grid,.rip-archive-grid,.rip-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rip-testimonial-card{flex-basis:calc((100% - 22px)/2);max-width:none}
  .rip-footer-main{grid-template-columns:1fr 1fr;gap:44px}
  .rip-cta{padding:48px;align-items:flex-start;flex-direction:column}.rip-cta__actions{justify-content:flex-start}
  .rip-service-detail-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .rip-container{width:min(calc(100% - 28px),var(--rip-container))}
  .rip-topbar__inner{min-height:34px;justify-content:center;text-align:center}.rip-topbar__details{display:none}.rip-topbar__message{font-size:9px}
  .rip-header{min-height:70px}.rip-logo{width:112px}.rip-logo img{width:108px;max-height:56px}.rip-header-phone span{display:none}
  .rip-section{padding:76px 0}.rip-section--cta-wrap{padding:50px 0 70px}.rip-title{font-size:40px;letter-spacing:-1.6px}.rip-lead{font-size:15px}.rip-section-heading{margin-bottom:32px}.rip-section-top{display:block}.rip-section-top>.rip-btn{margin-top:22px}
  .rip-hero__grid{padding:66px 0}.rip-hero h1{font-size:52px;letter-spacing:-2.4px}.rip-hero__lead{font-size:16px}.rip-hero__actions .rip-btn{width:100%}.rip-hero__badges{gap:10px 16px}.rip-hero__visual{min-height:auto}.rip-hero__visual-frame{border-radius:18px}.rip-hero__rate-card,.rip-hero__pickup-card{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:calc(50% - 6px);display:inline-block;margin-top:12px;vertical-align:top}.rip-hero__rate-card{margin-right:8px}
  .rip-service-grid,.rip-icon-grid,.rip-icon-grid--2,.rip-icon-grid--3,.rip-project-grid,.rip-blog-grid,.rip-archive-grid,.rip-team-grid,.rip-process-grid,.rip-footer-main,.rip-service-detail-grid{grid-template-columns:1fr}
  .rip-stats-grid{grid-template-columns:1fr}.rip-service-card{min-height:auto;padding:28px}.rip-service-card__number{font-size:34px}.rip-service-card h3{font-size:24px}
  .rip-process-card{min-height:auto}.rip-process-card__number{font-size:46px}
  .rip-project-grid{gap:18px}
  .rip-testimonial-slider{padding:0 35px 34px}.rip-testimonial-card{flex-basis:100%;max-width:none}.rip-slider-arrow{width:34px;height:34px}.rip-testimonial-card{min-height:440px;padding:30px 22px}
  .rip-form-grid{grid-template-columns:1fr}.rip-field--full{grid-column:auto}.rip-form{padding:22px 18px}.rip-contact-panel{padding:22px}.rip-map,.rip-map iframe{height:380px;min-height:380px}
  .rip-page-hero__grid{grid-template-columns:1fr;padding:72px 0 64px}.rip-page-hero h1,.rip-service-hero h1{font-size:48px;letter-spacing:-2px}.rip-page-hero__media{width:100%;height:220px}.rip-service-hero__grid{padding:70px 0}.rip-service-hero__media,.rip-service-hero__media>img,.rip-placeholder--service-hero{min-height:390px;height:390px}
  .rip-media-panel{min-height:340px}.rip-media-panel>img,.rip-placeholder--large{min-height:340px}
  .rip-cta{padding:36px 24px}.rip-cta h2{font-size:38px}.rip-cta__actions{width:100%}.rip-cta__actions .rip-btn{width:100%}.rip-cta::after{font-size:100px}
  .rip-footer-main{padding:62px 0 50px}.rip-footer-bottom{padding:22px 0;min-height:0;flex-direction:column;align-items:flex-start}.rip-footer-bottom__links{flex-wrap:wrap}.rip-footer-bottom__right{justify-content:flex-start}
  .rip-resource-tools{align-items:stretch;flex-direction:column}.rip-search-form{max-width:none}.rip-resource-categories{justify-content:flex-start}
}

@media(max-width:480px){
  .rip-title{font-size:36px}.rip-hero h1{font-size:46px}.rip-page-hero h1,.rip-service-hero h1{font-size:42px}.rip-eyebrow{font-size:9px;letter-spacing:1px}.rip-hero__rate-card,.rip-hero__pickup-card{width:100%;margin:10px 0 0}.rip-service-card{padding:24px}.rip-process-card{padding:30px 24px}.rip-project-card__body,.rip-blog-card__body{padding:21px}.rip-testimonial-slider{padding-inline:30px}.rip-testimonial-card{flex-basis:100%}.rip-slider-arrow--prev{left:-2px}.rip-slider-arrow--next{right:-2px}.rip-footer-logo img{width:180px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}


/* === v3.1 Editable content + blog sidebar enhancements === */
.rip-icon-grid--about-approach{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rip-icon-grid--about-approach .rip-icon-card:last-child:nth-child(odd){grid-column:1/-1}.rip-footer-credit a{color:var(--rip-muted);text-decoration:none;transition:color var(--rip-transition)}.rip-footer-credit a:hover{color:var(--rip-primary-hover)}
.rip-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:42px;align-items:start}.rip-blog-main{min-width:0}.rip-archive-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rip-archive-grid--2 .rip-blog-card h2{margin:11px 0;font-size:20px;line-height:1.35}.rip-archive-grid--2 .rip-blog-card h2 a{color:#fff;text-decoration:none}.rip-archive-grid--2 .rip-blog-card h2 a:hover{color:var(--rip-primary-hover)}
.rip-blog-sidebar{position:sticky;top:112px;display:grid;gap:22px}.rip-sidebar-widget,.rip-sidebar-cta{border:1px solid var(--rip-border);border-radius:16px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.2)}.rip-sidebar-widget{padding:22px}.rip-sidebar-heading{margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--rip-border);font-size:18px;line-height:1.25}.rip-sidebar-heading:after{content:"";display:block;width:42px;height:2px;margin-top:10px;background:var(--rip-primary)}
.rip-sidebar-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-2px 0 16px;border:1px solid var(--rip-border);border-radius:9px;overflow:hidden}.rip-sidebar-tabs button{border:0;padding:10px 8px;background:transparent;color:var(--rip-muted);font:inherit;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.7px;cursor:pointer}.rip-sidebar-tabs button.is-active,.rip-sidebar-tabs button:hover{background:var(--rip-primary);color:#fff}.rip-sidebar-tabpanel{display:none}.rip-sidebar-tabpanel.is-active{display:block}
.rip-sidebar-post{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rip-border)}.rip-sidebar-post:last-child{border-bottom:0;padding-bottom:0}.rip-sidebar-post__media{position:relative;display:block;height:60px;border-radius:7px;overflow:hidden;background:#1c1d20}.rip-sidebar-post__media img{width:100%;height:100%;object-fit:cover}.rip-sidebar-post__media>span{position:absolute;right:-3px;top:-7px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--rip-primary);color:#fff;font-size:9px;font-weight:850}.rip-sidebar-post h3{margin:0 0 5px;font-size:12px;line-height:1.35}.rip-sidebar-post h3 a{color:#f5f5f6;text-decoration:none}.rip-sidebar-post h3 a:hover{color:var(--rip-primary-hover)}.rip-sidebar-post time{color:#707178;font-size:9px}
.rip-sidebar-services{display:grid}.rip-sidebar-services>a{display:grid;grid-template-columns:40px 1fr 16px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rip-border);color:#f4f4f5;text-decoration:none}.rip-sidebar-services>a:last-child{border-bottom:0}.rip-sidebar-services>a:hover{color:var(--rip-primary-hover);transform:translateX(3px)}.rip-sidebar-service-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#09090a;border:1px solid var(--rip-border);color:var(--rip-primary)}.rip-sidebar-service-icon svg{width:18px;height:18px}.rip-sidebar-services strong{display:block;font-size:12px}.rip-sidebar-services small{display:block;margin-top:3px;color:#707178;font-size:9px}.rip-sidebar-services>a>svg{width:14px}
.rip-sidebar-categories{list-style:none;padding:0;margin:0}.rip-sidebar-categories li{display:flex;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid var(--rip-border);color:#777}.rip-sidebar-categories li:last-child{border-bottom:0}.rip-sidebar-categories a{color:#c7c7cb;text-decoration:none;font-size:12px}.rip-sidebar-categories a:hover{color:var(--rip-primary-hover)}
.rip-sidebar-cta__media{aspect-ratio:16/10;background:#1b1c1f;overflow:hidden}.rip-sidebar-cta__media img{width:100%;height:100%;object-fit:cover}.rip-sidebar-cta__body{padding:24px}.rip-sidebar-cta h2{margin:10px 0;font-size:23px;line-height:1.12}.rip-sidebar-cta p{margin:0 0 18px;color:var(--rip-muted);font-size:12px;line-height:1.65}.rip-sidebar-cta .rip-btn{width:100%}.rip-sidebar-widget--contact .rip-form{padding:0;border:0;background:transparent;box-shadow:none}.rip-sidebar-widget--contact .rip-form-grid{grid-template-columns:1fr}.rip-sidebar-widget--contact .rip-form label{font-size:8px}.rip-sidebar-widget--contact .rip-form input,.rip-sidebar-widget--contact .rip-form select,.rip-sidebar-widget--contact .rip-form textarea{min-height:40px;padding:10px 11px;font-size:11px}.rip-sidebar-widget--contact .rip-form textarea{min-height:90px}.rip-sidebar-widget--contact .rip-btn{width:100%}
@media(max-width:1100px){.rip-blog-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.rip-blog-sidebar{top:90px}.rip-archive-grid--2{grid-template-columns:1fr}}
@media(max-width:860px){.rip-blog-layout{grid-template-columns:1fr}.rip-blog-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.rip-sidebar-cta,.rip-sidebar-widget--contact{grid-column:1/-1}.rip-icon-grid--about-approach{grid-template-columns:1fr}.rip-icon-grid--about-approach .rip-icon-card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:620px){.rip-blog-sidebar{grid-template-columns:1fr}.rip-sidebar-cta,.rip-sidebar-widget--contact{grid-column:auto}}
/* v3.2 uploaded icon support */
.rip-icon--image{width:24px;height:24px;object-fit:contain;display:inline-block}.rip-service-card__icon .rip-icon--image,.rip-icon-card__icon .rip-icon--image,.rip-process-card__icon .rip-icon--image,.rip-detail-panel__icon .rip-icon--image{width:34px;height:34px}.rip-center-action,.rip-section-action{display:flex;justify-content:center;margin-top:34px}

/* v3.3 refinements ------------------------------------------------------- */
.rip-icon-grid--about-approach .rip-icon-card:last-child:nth-child(odd){grid-column:auto}
.rip-section-action,.rip-center-action{display:flex;justify-content:center;align-items:center;margin-top:42px}
.rip-section-action .rip-btn,.rip-center-action .rip-btn{margin-inline:auto}
.rip-contact-grid{margin-top:48px}
.rip-form-wrap .rip-form,.rip-contact-grid>.rip-form{height:100%}
.rip-projects-ui.is-loading [data-project-grid]{opacity:.45;pointer-events:none}
.rip-projects-ui [data-project-grid]{transition:opacity .2s ease}
.rip-project-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:38px}
.rip-project-page{width:42px;height:42px;border-radius:7px;border:1px solid var(--rip-border);background:var(--rip-surface);color:var(--rip-muted);font-weight:800;cursor:pointer;transition:all var(--rip-transition)}
.rip-project-page:hover,.rip-project-page.is-active{background:var(--rip-primary);border-color:var(--rip-primary);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--rip-primary) 24%,transparent);transform:translateY(-2px)}
/* Blog archive/post presentation intentionally follows the approved two-column content + sidebar composition. */
.rip-blog-layout{grid-template-columns:minmax(0,1fr) 330px;gap:36px}
.rip-blog-sidebar{align-self:start}
.rip-archive-grid--2{gap:22px}
.rip-archive-grid--2 .rip-blog-card{height:100%}
.rip-archive-grid--2 .rip-blog-card__media{aspect-ratio:1.52/1}
@media(max-width:1100px){.rip-blog-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:860px){.rip-blog-layout{grid-template-columns:1fr}.rip-project-pagination{margin-top:30px}}

/* v3.4 final FAQ pagination + archive cleanup ---------------------------- */
.rip-faq-ui--ajax.is-loading [data-faq-list]{opacity:.42;pointer-events:none}
.rip-faq-ui--ajax [data-faq-list]{transition:opacity .2s ease;scroll-margin-top:120px}
.rip-faq-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:38px}
.rip-faq-page{min-width:42px;height:42px;padding:0 12px;border-radius:7px;border:1px solid var(--rip-border);background:var(--rip-surface);color:var(--rip-muted);font-weight:800;cursor:pointer;transition:all var(--rip-transition)}
.rip-faq-page:hover:not(:disabled),.rip-faq-page.is-active{background:var(--rip-primary);border-color:var(--rip-primary);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--rip-primary) 24%,transparent);transform:translateY(-2px)}
.rip-faq-page:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:640px){.rip-faq-pagination{gap:7px;margin-top:30px}.rip-faq-page{min-width:38px;height:38px;padding:0 9px}}



/* =========================================================
   v3.5 DARK / LIGHT MODE SYSTEM
   Dark remains the default. Light mode remaps the complete
   design token palette and then corrects legacy hard-coded
   dark-theme presentation values so contrast stays strong.
   ========================================================= */
html[data-rip-theme="dark"]{color-scheme:dark}
html[data-rip-theme="light"]{color-scheme:light}

/* Header theme toggle */
.rip-theme-toggle{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid var(--rip-border);
  border-radius:50%;
  background:var(--rip-primary);
  color:#fff;
  border-color:var(--rip-primary);
  box-shadow:0 8px 24px color-mix(in srgb,var(--rip-primary) 22%,transparent);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform var(--rip-transition),background var(--rip-transition),border-color var(--rip-transition),color var(--rip-transition),box-shadow var(--rip-transition);
}
.rip-theme-toggle:hover{transform:translateY(-2px) rotate(7deg);background:var(--rip-primary-hover);border-color:var(--rip-primary-hover);color:#fff;box-shadow:0 12px 30px color-mix(in srgb,var(--rip-primary) 34%,transparent)}
.rip-theme-toggle .rip-icon{width:19px;height:19px;position:absolute;transition:opacity var(--rip-transition),transform var(--rip-transition)}
.rip-theme-toggle__sun{opacity:0;transform:scale(.55) rotate(-45deg)}
.rip-theme-toggle__moon{opacity:1;transform:scale(1) rotate(0)}
html[data-rip-theme="light"] .rip-theme-toggle__sun{opacity:1;transform:scale(1) rotate(0)}
html[data-rip-theme="light"] .rip-theme-toggle__moon{opacity:0;transform:scale(.55) rotate(45deg)}

/* Light-mode global surfaces and typography */
html[data-rip-theme="light"],html[data-rip-theme="light"] body{background:var(--rip-background);color:var(--rip-text)}
html[data-rip-theme="light"] :where(h1,h2,h3,h4,h5,h6,strong){color:var(--rip-text)}
html[data-rip-theme="light"] .rip-section--surface{border-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-eyebrow--light{border-color:color-mix(in srgb,var(--rip-primary) 26%,var(--rip-border));background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));color:var(--rip-primary)}
html[data-rip-theme="light"] .rip-btn--dark{background:var(--rip-text);border-color:var(--rip-text);color:var(--rip-background)!important}
html[data-rip-theme="light"] .rip-btn--dark:hover{background:color-mix(in srgb,var(--rip-text) 88%,#000);border-color:color-mix(in srgb,var(--rip-text) 88%,#000);color:#fff!important}
html[data-rip-theme="light"] .rip-btn--light{background:#fff;border-color:#fff;color:#121317!important;box-shadow:0 8px 24px rgba(22,25,30,.08)}
html[data-rip-theme="light"] .rip-cta h2{color:#fff}
html[data-rip-theme="light"] .rip-cta p{color:rgba(255,255,255,.84)}
html[data-rip-theme="light"] .rip-cta .rip-eyebrow--light{border-color:rgba(255,255,255,.34);background:rgba(0,0,0,.12);color:#fff}

/* Top bar / header / menus */
html[data-rip-theme="light"] .rip-topbar{background:color-mix(in srgb,var(--rip-surface-alt) 74%,#fff);border-bottom-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-topbar__inner,
html[data-rip-theme="light"] .rip-topbar__message,
html[data-rip-theme="light"] .rip-topbar__details a,
html[data-rip-theme="light"] .rip-topbar__details>span{color:var(--rip-muted)}
html[data-rip-theme="light"] .site-header{background:color-mix(in srgb,var(--rip-background) 92%,transparent);border-bottom-color:var(--rip-border)}
html[data-rip-theme="light"] .site-header.is-scrolled{background:color-mix(in srgb,var(--rip-background) 98%,transparent);box-shadow:0 16px 40px rgba(25,30,38,.10)}
html[data-rip-theme="light"] .rip-menu>li>a,
html[data-rip-theme="light"] .rip-header-phone{color:color-mix(in srgb,var(--rip-text) 82%,var(--rip-muted))}
html[data-rip-theme="light"] .rip-menu .sub-menu{background:var(--rip-background);box-shadow:0 24px 60px rgba(25,30,38,.14)}
html[data-rip-theme="light"] .rip-menu .sub-menu a{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-menu-toggle span{background:var(--rip-text)}

/* Hero and page hero */
html[data-rip-theme="light"] .rip-hero{background:radial-gradient(circle at 77% 30%,color-mix(in srgb,var(--rip-primary) 10%,transparent),transparent 28%),linear-gradient(135deg,var(--rip-background) 0%,color-mix(in srgb,var(--rip-surface-alt) 72%,var(--rip-background)) 52%,var(--rip-background) 100%);border-bottom-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-hero::before,
html[data-rip-theme="light"] .rip-page-hero::before,
html[data-rip-theme="light"] .rip-service-hero::before{background-image:linear-gradient(rgba(20,24,31,.042) 1px,transparent 1px),linear-gradient(90deg,rgba(20,24,31,.034) 1px,transparent 1px)}
html[data-rip-theme="light"] .rip-page-hero,
html[data-rip-theme="light"] .rip-service-hero{background:radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--rip-primary) 9%,transparent),transparent 30%),linear-gradient(135deg,var(--rip-background),var(--rip-surface-alt));border-bottom-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-hero__badges,
html[data-rip-theme="light"] .rip-breadcrumbs,
html[data-rip-theme="light"] .rip-breadcrumbs a{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-hero__visual-frame{background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:0 24px 70px rgba(25,30,38,.12)}
html[data-rip-theme="light"] .rip-hero__visual-frame img{filter:drop-shadow(0 22px 24px rgba(18,22,28,.18))}
html[data-rip-theme="light"] .rip-hero__rate-card,
html[data-rip-theme="light"] .rip-hero__pickup-card{background:color-mix(in srgb,var(--rip-background) 94%,transparent);box-shadow:0 18px 44px rgba(25,30,38,.13)}
html[data-rip-theme="light"] .rip-hero__rate-card strong,
html[data-rip-theme="light"] .rip-hero__pickup-card strong{color:var(--rip-text)}
html[data-rip-theme="light"] .rip-hero__rate-card span,
html[data-rip-theme="light"] .rip-hero__pickup-card span{color:var(--rip-muted)}

/* Media, placeholders and information cards */
html[data-rip-theme="light"] .rip-media-panel__badge,
html[data-rip-theme="light"] .rip-service-hero__badge{border-color:var(--rip-border);background:color-mix(in srgb,var(--rip-background) 94%,transparent);box-shadow:0 12px 34px rgba(25,30,38,.10)}
html[data-rip-theme="light"] .rip-media-panel__badge span,
html[data-rip-theme="light"] .rip-service-hero__badge span{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-placeholder{background:linear-gradient(145deg,var(--rip-surface-alt),color-mix(in srgb,var(--rip-surface) 82%,var(--rip-background)));color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-placeholder::after{background:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.36) 50%,transparent 58%)}
html[data-rip-theme="light"] .rip-stat-card strong,
html[data-rip-theme="light"] .rip-service-card h3 a,
html[data-rip-theme="light"] .rip-service-card__price strong,
html[data-rip-theme="light"] .rip-icon-card h3,
html[data-rip-theme="light"] .rip-project-card h3,
html[data-rip-theme="light"] .rip-testimonial-card__name,
html[data-rip-theme="light"] .rip-blog-card h3 a,
html[data-rip-theme="light"] .rip-contact-item strong,
html[data-rip-theme="light"] .rip-quote-rate-list strong,
html[data-rip-theme="light"] .rip-service-price strong,
html[data-rip-theme="light"] .rip-rich-content h2,
html[data-rip-theme="light"] .rip-rich-content h3{color:var(--rip-text)}
html[data-rip-theme="light"] .rip-stat-card span,
html[data-rip-theme="light"] .rip-inline-note span,
html[data-rip-theme="light"] .rip-service-card p,
html[data-rip-theme="light"] .rip-service-card__price span,
html[data-rip-theme="light"] .rip-icon-card p,
html[data-rip-theme="light"] .rip-project-card p,
html[data-rip-theme="light"] .rip-project-card__meta,
html[data-rip-theme="light"] .rip-testimonial-card__text,
html[data-rip-theme="light"] .rip-process-card p,
html[data-rip-theme="light"] .rip-blog-card__meta,
html[data-rip-theme="light"] .rip-blog-card p,
html[data-rip-theme="light"] .rip-faq__answer,
html[data-rip-theme="light"] .rip-contact-item span,
html[data-rip-theme="light"] .rip-contact-item a,
html[data-rip-theme="light"] .rip-field-help,
html[data-rip-theme="light"] .rip-form__note,
html[data-rip-theme="light"] .rip-quote-rate-list span,
html[data-rip-theme="light"] .rip-service-price>span,
html[data-rip-theme="light"] .rip-service-price small,
html[data-rip-theme="light"] .rip-detail-panel p,
html[data-rip-theme="light"] .rip-check-list li,
html[data-rip-theme="light"] .rip-area-chip-list span,
html[data-rip-theme="light"] .rip-team-card p,
html[data-rip-theme="light"] .rip-team-card__experience,
html[data-rip-theme="light"] .rip-single__meta,
html[data-rip-theme="light"] .rip-rich-content p,
html[data-rip-theme="light"] .rip-rich-content li,
html[data-rip-theme="light"] .rip-legal-note{color:var(--rip-muted)}

/* Cards, grids and sliders */
html[data-rip-theme="light"] .rip-service-card{background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface))}
html[data-rip-theme="light"] .rip-service-card__icon,
html[data-rip-theme="light"] .rip-process-card__icon,
html[data-rip-theme="light"] .rip-icon-card__icon,
html[data-rip-theme="light"] .rip-detail-panel__icon,
html[data-rip-theme="light"] .rip-sidebar-service-icon{background:var(--rip-background)}
html[data-rip-theme="light"] .rip-service-card:hover .rip-service-card__icon,
html[data-rip-theme="light"] .rip-icon-card:hover .rip-icon-card__icon{background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-background))}
html[data-rip-theme="light"] .rip-service-card__price,
html[data-rip-theme="light"] .rip-contact-item,
html[data-rip-theme="light"] .rip-team-card__experience{border-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-tab{background:var(--rip-surface);color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-project-card,
html[data-rip-theme="light"] .rip-process-card,
html[data-rip-theme="light"] .rip-blog-card{background:var(--rip-surface);border-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-project-card__media,
html[data-rip-theme="light"] .rip-blog-card__media,
html[data-rip-theme="light"] .rip-team-card__media,
html[data-rip-theme="light"] .rip-sidebar-post__media,
html[data-rip-theme="light"] .rip-sidebar-cta__media{background:var(--rip-surface-alt)}
html[data-rip-theme="light"] .rip-testimonial-card{background:linear-gradient(180deg,var(--rip-surface-alt) 0%,var(--rip-surface) 100%)}
html[data-rip-theme="light"] .rip-testimonial-card__avatar img,
html[data-rip-theme="light"] .rip-testimonial-card__avatar span{background:var(--rip-background);color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-testimonial-card__quote,
html[data-rip-theme="light"] .rip-slider-arrow{background:var(--rip-background)}
html[data-rip-theme="light"] .rip-slider-dots button{background:var(--rip-border)}
html[data-rip-theme="light"] .rip-faq summary{color:var(--rip-text)}

/* Forms and map */
html[data-rip-theme="light"] .rip-field label{color:color-mix(in srgb,var(--rip-text) 82%,var(--rip-muted))}
html[data-rip-theme="light"] .rip-field input,
html[data-rip-theme="light"] .rip-field select,
html[data-rip-theme="light"] .rip-field textarea,
html[data-rip-theme="light"] .rip-search-form input{border-color:var(--rip-border);background:var(--rip-background);color:var(--rip-text)}
html[data-rip-theme="light"] .rip-field input::placeholder,
html[data-rip-theme="light"] .rip-field textarea::placeholder,
html[data-rip-theme="light"] .rip-search-form input::placeholder{color:color-mix(in srgb,var(--rip-muted) 82%,transparent)}
html[data-rip-theme="light"] .rip-field select option{background:var(--rip-background);color:var(--rip-text)}
html[data-rip-theme="light"] .rip-map iframe{filter:none}
html[data-rip-theme="light"] .rip-alert--success{color:#176b35;background:rgba(45,175,90,.09)}
html[data-rip-theme="light"] .rip-alert--error{color:color-mix(in srgb,var(--rip-primary) 80%,#4a0000)}

/* Resource archive / sidebar */
html[data-rip-theme="light"] .rip-resource-categories a,
html[data-rip-theme="light"] .rip-pagination .page-numbers,
html[data-rip-theme="light"] .rip-project-page,
html[data-rip-theme="light"] .rip-faq-page{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-archive-grid--2 .rip-blog-card h2 a,
html[data-rip-theme="light"] .rip-sidebar-post h3 a,
html[data-rip-theme="light"] .rip-sidebar-services>a{color:var(--rip-text)}
html[data-rip-theme="light"] .rip-sidebar-post time,
html[data-rip-theme="light"] .rip-sidebar-services small,
html[data-rip-theme="light"] .rip-sidebar-categories li{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-sidebar-categories a{color:color-mix(in srgb,var(--rip-text) 78%,var(--rip-muted))}
html[data-rip-theme="light"] .rip-sidebar-widget,
html[data-rip-theme="light"] .rip-sidebar-cta{box-shadow:0 18px 44px rgba(25,30,38,.09)}

/* Footer: full red/white light treatment */
html[data-rip-theme="light"] .site-footer{background:color-mix(in srgb,var(--rip-surface-alt) 64%,var(--rip-background));border-top-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-footer-company p,
html[data-rip-theme="light"] .rip-footer-links a,
html[data-rip-theme="light"] .rip-footer-contact span,
html[data-rip-theme="light"] .rip-footer-contact a,
html[data-rip-theme="light"] .rip-footer-bottom,
html[data-rip-theme="light"] .rip-footer-credit,
html[data-rip-theme="light"] .rip-footer-credit a,
html[data-rip-theme="light"] .rip-footer-bottom a{color:var(--rip-muted)}
html[data-rip-theme="light"] .rip-footer-title,
html[data-rip-theme="light"] .rip-footer-contact strong,
html[data-rip-theme="light"] .rip-footer-credit strong{color:var(--rip-text)}
html[data-rip-theme="light"] .rip-social-icons a{background:var(--rip-background);color:var(--rip-text)}
html[data-rip-theme="light"] .rip-footer-bottom-wrap{border-top-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-footer-bottom__links span{background:var(--rip-border)}

/* Mobile menu gets the selected theme too. */
@media(max-width:1100px){
  html[data-rip-theme="light"] .rip-nav{background:color-mix(in srgb,var(--rip-background) 98%,transparent);box-shadow:0 28px 60px rgba(25,30,38,.13)}
  html[data-rip-theme="light"] .rip-menu>li>a{border-bottom-color:var(--rip-border)}
  .rip-theme-toggle{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:620px){
  .rip-theme-toggle{width:40px;height:40px;flex-basis:40px}
  .rip-theme-toggle .rip-icon{width:18px;height:18px}
}


/* =========================================================
   v3.5.1 FINAL UI POLISH
   - Exact theme-toggle icon centering
   - Light-mode testimonial navigation contrast
   - Light-mode text-link hover consistency
   ========================================================= */

/* Keep both theme glyphs mathematically centered inside the circular toggle.
   The wrapper owns the show/hide animation; the SVG itself stays static so its
   intrinsic viewBox can never drift toward an edge. */
.rip-theme-toggle__sun,
.rip-theme-toggle__moon{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  line-height:0;
  transform-origin:50% 50%;
  pointer-events:none;
}
.rip-theme-toggle .rip-icon{
  position:static;
  display:block;
  margin:0;
  vertical-align:middle;
  transform:none;
}

/* Testimonial arrows: in light mode the control remains light and the arrow
   itself turns red on hover, preserving maximum contrast and visibility. */
html[data-rip-theme="light"] .rip-slider-arrow{
  background:var(--rip-background);
  border-color:var(--rip-border);
  color:var(--rip-primary);
}
html[data-rip-theme="light"] .rip-slider-arrow:hover,
html[data-rip-theme="light"] .rip-slider-arrow:focus-visible{
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-background));
  border-color:var(--rip-primary-hover);
  color:var(--rip-primary-hover);
  box-shadow:0 9px 24px color-mix(in srgb,var(--rip-primary) 16%,transparent);
}

/* Every testimonial has one dot; make the currently selected testimonial
   unmistakably red in light mode. */
html[data-rip-theme="light"] .rip-slider-dots button{
  background:var(--rip-border);
}
html[data-rip-theme="light"] .rip-slider-dots button:hover{
  background:color-mix(in srgb,var(--rip-primary) 48%,var(--rip-border));
}
html[data-rip-theme="light"] .rip-slider-dots button.is-active{
  background:var(--rip-primary)!important;
}

/* Some light-mode component rules intentionally recolor links for their normal
   state. Re-assert the site's red hover language for text/navigation links. */
html[data-rip-theme="light"] a:not(.rip-btn):hover,
html[data-rip-theme="light"] a:not(.rip-btn):focus-visible{
  color:var(--rip-primary-hover)!important;
}
/* Icon-only social controls keep white glyphs on their red hover surface. */
html[data-rip-theme="light"] .rip-social-icons a:hover,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible{
  color:#fff!important;
}


/* =========================================================
   v3.5.2 FINAL FOOTER + ICON CUSTOMIZATION POLISH
   - Footer social hover remains visible in Light Mode
   - Circular footer contact icon containers in both modes
   - Permanent red Prismsols developer credit + subtle hover glow
   - Customizer-uploaded header/footer icon sizing and alignment
   ========================================================= */

/* Media-library icon overrides share predictable sizing with built-in SVGs. */
.rip-icon--custom{
  display:block;
  width:1em;
  height:1em;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}
.rip-topbar .rip-icon--custom{width:14px;height:14px}
.rip-header-phone .rip-icon--custom{width:17px;height:17px}
.rip-theme-toggle .rip-icon--custom{width:19px;height:19px}
.rip-social-icons .rip-icon--custom{width:17px;height:17px}

/* Footer social controls: on Light Mode use the same treatment as the
   testimonial arrows — a light/tinted surface with a clearly red glyph. */
html[data-rip-theme="light"] .rip-social-icons a:hover,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible{
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-background));
  border-color:var(--rip-primary-hover);
  color:var(--rip-primary-hover)!important;
  box-shadow:0 9px 24px color-mix(in srgb,var(--rip-primary) 16%,transparent);
}
html[data-rip-theme="light"] .rip-social-icons a:hover .rip-social-default,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible .rip-social-default{
  color:var(--rip-primary-hover)!important;
}
.rip-social-default{display:block;line-height:1;color:inherit}

/* Footer contact icons now sit inside consistent circular controls in both
   themes. The circle uses theme tokens, so custom color palettes still work. */
.rip-footer-contact>div{align-items:flex-start}
.rip-footer-contact__icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 48%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));
  color:var(--rip-primary);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
  transition:transform var(--rip-transition),border-color var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition);
}
.rip-footer-contact__icon .rip-icon{width:16px;height:16px;margin:0;color:var(--rip-primary)}
.rip-footer-contact__icon .rip-icon--custom{width:17px;height:17px}
.rip-footer-contact>div:hover .rip-footer-contact__icon{
  transform:translateY(-1px);
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 11%,var(--rip-surface));
  box-shadow:0 7px 18px color-mix(in srgb,var(--rip-primary) 12%,transparent);
}
html[data-rip-theme="light"] .rip-footer-contact__icon{
  background:color-mix(in srgb,var(--rip-primary) 5%,var(--rip-background));
}
html[data-rip-theme="light"] .rip-footer-contact>div:hover .rip-footer-contact__icon{
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-background));
}

/* Prismsols attribution is brand-red at all times. Hover adds only a glow;
   the text itself intentionally stays the same red. */
.rip-footer-credit,
.rip-footer-credit a,
.rip-footer-credit strong,
html[data-rip-theme="light"] .rip-footer-credit,
html[data-rip-theme="light"] .rip-footer-credit a,
html[data-rip-theme="light"] .rip-footer-credit strong{
  color:var(--rip-primary)!important;
}
.rip-footer-credit a{
  transition:text-shadow var(--rip-transition),filter var(--rip-transition);
}
.rip-footer-credit a:hover,
.rip-footer-credit a:focus-visible,
html[data-rip-theme="light"] .rip-footer-credit a:hover,
html[data-rip-theme="light"] .rip-footer-credit a:focus-visible{
  color:var(--rip-primary)!important;
  text-shadow:0 0 12px color-mix(in srgb,var(--rip-primary) 58%,transparent),0 0 24px color-mix(in srgb,var(--rip-primary) 20%,transparent);
}

@media(max-width:620px){
  .rip-theme-toggle .rip-icon--custom{width:18px;height:18px}
  .rip-footer-contact__icon{width:34px;height:34px;flex-basis:34px}
}


/* =========================================================
   v3.5.3 FINAL ICON ALIGNMENT POLISH
   - Pixel-centered footer contact glyphs inside their circles
   - Circular, pixel-centered top-bar utility icons
   - Works with both built-in SVGs and Customizer-uploaded icons
   ========================================================= */

/* The generic .rip-icon rule uses baseline alignment for inline text icons.
   Utility circles instead use absolute 50/50 positioning so the icon canvas
   is mathematically centered regardless of line-height or surrounding text. */
.rip-footer-contact__icon{
  position:relative;
  display:block;
  place-items:unset;
  margin-top:0!important;
  line-height:1!important;
  font-size:0!important;
  overflow:hidden;
}
.rip-footer-contact__icon > .rip-icon,
.rip-footer-contact__icon > .rip-icon--custom{
  position:absolute;
  top:50%;
  left:50%;
  margin:0!important;
  display:block;
  vertical-align:0;
  transform:translate(-50%,-50%);
  transform-origin:center;
}
.rip-footer-contact__icon > .rip-icon{
  width:16px;
  height:16px;
}
.rip-footer-contact__icon > .rip-icon--custom{
  width:17px;
  height:17px;
  object-fit:contain;
  object-position:center;
}

/* Top-bar service-area / phone / email / hours icons now use the same visual
   language as the footer: a compact red-accented circle with a centered glyph. */
.rip-topbar__icon{
  position:relative;
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:block;
  border:1px solid color-mix(in srgb,var(--rip-primary) 50%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));
  color:var(--rip-primary);
  line-height:1;
  font-size:0;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
  transition:background var(--rip-transition),border-color var(--rip-transition),box-shadow var(--rip-transition),transform var(--rip-transition);
}
.rip-topbar__icon > .rip-icon,
.rip-topbar__icon > .rip-icon--custom{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  margin:0!important;
  vertical-align:0;
  transform:translate(-50%,-50%);
  transform-origin:center;
  color:var(--rip-primary);
}
.rip-topbar__icon > .rip-icon{
  width:13px!important;
  height:13px!important;
}
.rip-topbar__icon > .rip-icon--custom{
  width:14px!important;
  height:14px!important;
  object-fit:contain;
  object-position:center;
}
.rip-topbar__details a:hover .rip-topbar__icon,
.rip-topbar__details a:focus-visible .rip-topbar__icon{
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 12%,var(--rip-surface));
  box-shadow:0 4px 14px color-mix(in srgb,var(--rip-primary) 14%,transparent);
  transform:translateY(-1px);
}

html[data-rip-theme="light"] .rip-topbar__icon{
  background:color-mix(in srgb,var(--rip-primary) 5%,var(--rip-background));
  border-color:color-mix(in srgb,var(--rip-primary) 45%,var(--rip-border));
}
html[data-rip-theme="light"] .rip-topbar__details a:hover .rip-topbar__icon,
html[data-rip-theme="light"] .rip-topbar__details a:focus-visible .rip-topbar__icon{
  background:color-mix(in srgb,var(--rip-primary) 9%,var(--rip-background));
  border-color:var(--rip-primary);
}

@media(max-width:620px){
  .rip-topbar__icon{width:22px;height:22px;flex-basis:22px}
  .rip-topbar__icon > .rip-icon{width:12px!important;height:12px!important}
  .rip-topbar__icon > .rip-icon--custom{width:13px!important;height:13px!important}
}


/* =========================================================
   v3.5.4 FINAL FOOTER SOCIAL + BACK-TO-TOP POLISH
   - Footer social controls now exactly match contact-icon circles
   - Accessible floating Back-to-Top control in the same visual language
   ========================================================= */

/* Social icons now use the exact visual treatment as footer contact icons. */
.rip-social-icons{
  gap:11px;
  align-items:center;
}
.rip-social-icons a,
html[data-rip-theme="light"] .rip-social-icons a{
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:block;
  border:1px solid color-mix(in srgb,var(--rip-primary) 48%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));
  color:var(--rip-primary)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
  font-size:0;
  line-height:1;
  overflow:hidden;
  text-decoration:none;
  transform:none;
  transition:transform var(--rip-transition),border-color var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition),color var(--rip-transition);
}
html[data-rip-theme="light"] .rip-social-icons a{
  background:color-mix(in srgb,var(--rip-primary) 5%,var(--rip-background));
}
.rip-social-icons a > .rip-social-default,
.rip-social-icons a > .rip-icon,
.rip-social-icons a > .rip-icon--custom{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  margin:0!important;
  transform:translate(-50%,-50%);
  transform-origin:center;
  color:var(--rip-primary)!important;
}
.rip-social-icons a > .rip-social-default{
  width:auto;
  height:auto;
  font-size:12px;
  font-weight:850;
  line-height:1;
}
.rip-social-icons a > .rip-icon{
  width:16px;
  height:16px;
}
.rip-social-icons a > .rip-icon--custom{
  width:17px;
  height:17px;
  object-fit:contain;
  object-position:center;
}
.rip-social-icons a:hover,
.rip-social-icons a:focus-visible,
html[data-rip-theme="light"] .rip-social-icons a:hover,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible{
  transform:translateY(-1px);
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 11%,var(--rip-surface));
  color:var(--rip-primary)!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--rip-primary) 12%,transparent);
}
html[data-rip-theme="light"] .rip-social-icons a:hover,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible{
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-background));
}
.rip-social-icons a:hover .rip-social-default,
.rip-social-icons a:focus-visible .rip-social-default,
html[data-rip-theme="light"] .rip-social-icons a:hover .rip-social-default,
html[data-rip-theme="light"] .rip-social-icons a:focus-visible .rip-social-default{
  color:var(--rip-primary)!important;
}

/* Floating Back-to-Top button. Hidden until the visitor scrolls down. */
.rip-back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1200;
  width:44px;
  height:44px;
  border:1px solid color-mix(in srgb,var(--rip-primary) 52%,var(--rip-border));
  border-radius:50%;
  padding:0;
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-surface));
  color:var(--rip-primary);
  box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity var(--rip-transition),visibility var(--rip-transition),transform var(--rip-transition),border-color var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition);
}
.rip-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.rip-back-to-top:hover,
.rip-back-to-top:focus-visible{
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 13%,var(--rip-surface));
  color:var(--rip-primary);
  box-shadow:0 10px 28px color-mix(in srgb,var(--rip-primary) 18%,transparent),0 0 0 3px color-mix(in srgb,var(--rip-primary) 8%,transparent);
  transform:translateY(-2px);
}
html[data-rip-theme="light"] .rip-back-to-top{
  background:color-mix(in srgb,var(--rip-primary) 5%,var(--rip-background));
  box-shadow:0 10px 30px rgba(17,24,39,.12),inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
}
html[data-rip-theme="light"] .rip-back-to-top:hover,
html[data-rip-theme="light"] .rip-back-to-top:focus-visible{
  background:color-mix(in srgb,var(--rip-primary) 9%,var(--rip-background));
  box-shadow:0 10px 28px color-mix(in srgb,var(--rip-primary) 16%,transparent),0 0 0 3px color-mix(in srgb,var(--rip-primary) 8%,transparent);
}
.rip-back-to-top > .rip-icon,
.rip-back-to-top > .rip-icon--custom{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  margin:0!important;
  transform:translate(-50%,-50%);
  transform-origin:center;
  color:var(--rip-primary);
}
.rip-back-to-top > .rip-icon{width:18px;height:18px}
.rip-back-to-top > .rip-icon--custom{width:19px;height:19px;object-fit:contain;object-position:center}

@media(max-width:620px){
  .rip-social-icons a,
  html[data-rip-theme="light"] .rip-social-icons a{width:34px;height:34px;flex-basis:34px}
  .rip-back-to-top{right:16px;bottom:16px;width:42px;height:42px}
}

@media(prefers-reduced-motion:reduce){
  .rip-back-to-top,.rip-social-icons a{transition:none}
}

/* =========================================================
   v3.6 Performance + Accessibility refinements
   ========================================================= */
:root{--rip-readable-accent:color-mix(in srgb,var(--rip-primary) 80%,#fff 20%)}
html[data-rip-theme="light"]{--rip-readable-accent:var(--rip-primary)}

/* Keep small branded text above WCAG AA contrast on the dark surfaces while
   retaining the exact configurable primary red for larger display accents. */
html:not([data-rip-theme="light"]) .rip-eyebrow,
html:not([data-rip-theme="light"]) .rip-card-kicker,
html:not([data-rip-theme="light"]) .rip-inline-link,
html:not([data-rip-theme="light"]) .rip-project-card__category,
html:not([data-rip-theme="light"]) .rip-testimonial-card__role,
html:not([data-rip-theme="light"]) .rip-blog-card__meta,
html:not([data-rip-theme="light"]) .rip-sidebar-cta__eyebrow{color:var(--rip-readable-accent)!important}

/* Lighthouse touch-target compliance without visually enlarging the dots. */
.rip-slider-dots{gap:1px;align-items:center}
.rip-slider-dots button{position:relative;width:28px!important;height:28px!important;min-width:28px;min-height:28px;background:transparent!important;border:0;padding:0;display:grid;place-items:center}
.rip-slider-dots button::before{content:"";display:block;width:8px;height:8px;border-radius:99px;background:#25262a;transition:width var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition)}
.rip-slider-dots button:hover::before{background:var(--rip-readable-accent)}
.rip-slider-dots button.is-active::before{width:22px;background:var(--rip-primary);box-shadow:0 0 12px color-mix(in srgb,var(--rip-primary) 20%,transparent)}
html[data-rip-theme="light"] .rip-slider-dots button::before{background:var(--rip-border)}
html[data-rip-theme="light"] .rip-slider-dots button:hover::before,
html[data-rip-theme="light"] .rip-slider-dots button.is-active::before{background:var(--rip-primary)}

/* Tabs/buttons used as navigation remain visually compact but have a useful
   pointer/touch target. */
.rip-sidebar-tabs button{min-height:44px}
@media(max-width:760px){
  .rip-tab{min-height:44px}
  .rip-topbar__details a,.rip-menu>li>a{min-height:44px;display:flex;align-items:center}
}

/* Prevent image layout shifts across user-supplied content. */
img{height:auto}
.rip-blog-card img,.rip-project-card img,.rip-team-card img,.rip-testimonial-card img{max-width:100%}


/* =========================================================
   v3.6.2 FINAL CONTENT & FOOTER POLISH
   - Footer social controls match footer contact icon circles exactly
   - Applies equally to linked profiles and # placeholder profiles
   ========================================================= */
.rip-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  align-items:center;
}
.rip-social-icons .rip-footer-social-icon,
html[data-rip-theme="light"] .rip-social-icons .rip-footer-social-icon{
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:block;
  margin:0;
  padding:0;
  border:1px solid color-mix(in srgb,var(--rip-primary) 48%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));
  color:var(--rip-primary)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent);
  font-size:0;
  line-height:1;
  overflow:hidden;
  text-decoration:none;
  transition:transform var(--rip-transition),border-color var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition),color var(--rip-transition);
}
html[data-rip-theme="light"] .rip-social-icons .rip-footer-social-icon{
  background:color-mix(in srgb,var(--rip-primary) 5%,var(--rip-background));
}
.rip-social-icons .rip-footer-social-icon > .rip-social-default,
.rip-social-icons .rip-footer-social-icon > .rip-icon,
.rip-social-icons .rip-footer-social-icon > .rip-icon--custom{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  margin:0!important;
  color:var(--rip-primary)!important;
  transform:translate(-50%,-50%);
  transform-origin:center;
}
.rip-social-icons .rip-footer-social-icon > .rip-social-default{
  width:auto;
  height:auto;
  font-size:12px;
  font-weight:850;
  line-height:1;
}
.rip-social-icons .rip-footer-social-icon > .rip-icon{width:16px;height:16px}
.rip-social-icons .rip-footer-social-icon > .rip-icon--custom{
  width:17px;
  height:17px;
  object-fit:contain;
  object-position:center;
}
.rip-social-icons a.rip-footer-social-icon:hover,
.rip-social-icons a.rip-footer-social-icon:focus-visible,
.rip-social-icons .rip-social-placeholder.rip-footer-social-icon:hover,
html[data-rip-theme="light"] .rip-social-icons a.rip-footer-social-icon:hover,
html[data-rip-theme="light"] .rip-social-icons a.rip-footer-social-icon:focus-visible,
html[data-rip-theme="light"] .rip-social-icons .rip-social-placeholder.rip-footer-social-icon:hover{
  transform:translateY(-1px);
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 11%,var(--rip-surface));
  color:var(--rip-primary)!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--rip-primary) 12%,transparent);
}
html[data-rip-theme="light"] .rip-social-icons a.rip-footer-social-icon:hover,
html[data-rip-theme="light"] .rip-social-icons a.rip-footer-social-icon:focus-visible,
html[data-rip-theme="light"] .rip-social-icons .rip-social-placeholder.rip-footer-social-icon:hover{
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-background));
}
@media(max-width:620px){
  .rip-social-icons .rip-footer-social-icon,
  html[data-rip-theme="light"] .rip-social-icons .rip-footer-social-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}

/* =========================================================
   v3.6.3 RESPONSIVE IMAGE RATIO SYSTEM — Prismsols LLC
   Every theme-controlled image viewport now keeps its documented aspect ratio
   on desktop, tablet, and mobile. Exact-ratio uploads therefore render without
   letterboxing, stretching, or device-specific height overrides.
   ========================================================= */
.rip-slider-viewport{padding-top:6px}

/* Homepage hero — 1:1. The image now fills the square frame completely. */
.rip-hero__visual-frame{aspect-ratio:1/1}
.rip-hero__visual-frame>img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

/* Standard theme media viewports. */
.rip-media-panel{aspect-ratio:6/5;min-height:0;height:auto}
.rip-page-hero__media{aspect-ratio:5/4;height:auto;min-height:0}
.rip-service-hero__media{aspect-ratio:11/10;height:auto;min-height:0}
.rip-project-card__media{aspect-ratio:3/2;height:auto;min-height:0}
.rip-blog-card__media,
.rip-archive-grid--2 .rip-blog-card__media{aspect-ratio:3/2;height:auto;min-height:0}
.rip-team-card__media{aspect-ratio:1/1;height:auto;min-height:0}
.rip-testimonial-card__avatar{aspect-ratio:1/1}
.rip-single__featured{aspect-ratio:3/2;height:auto;min-height:0;background:var(--rip-surface-alt)}
.rip-sidebar-post__media{aspect-ratio:3/2;height:auto;min-height:0}
.rip-sidebar-cta__media{aspect-ratio:4/5;height:auto;min-height:0}

/* All photographic media fills its assigned viewport. With the documented
   source ratios this produces a 1:1 mapping with no visible crop or blank rim. */
.rip-media-panel>img,
.rip-page-hero__media>img,
.rip-service-hero__media>img,
.rip-project-card__media>img,
.rip-blog-card__media>img,
.rip-team-card__media>img,
.rip-single__featured>img,
.rip-sidebar-post__media>img,
.rip-sidebar-cta__media>img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  max-width:none;
  object-fit:cover;
  object-position:center;
}
.rip-testimonial-card__avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Placeholder blocks obey the same ratios instead of imposing old fixed
   minimum heights that could stretch cards on narrow mobile screens. */
.rip-media-panel>.rip-placeholder,
.rip-page-hero__media>.rip-placeholder,
.rip-service-hero__media>.rip-placeholder,
.rip-project-card__media>.rip-placeholder,
.rip-blog-card__media>.rip-placeholder,
.rip-team-card__media>.rip-placeholder,
.rip-single__featured>.rip-placeholder,
.rip-sidebar-post__media>.rip-placeholder,
.rip-sidebar-cta__media>.rip-placeholder{
  width:100%;
  height:100%;
  min-height:0;
}
.rip-placeholder--large,
.rip-placeholder--service-hero,
.rip-placeholder--project,
.rip-placeholder--blog,
.rip-placeholder--team,
.rip-placeholder--sidebar-thumb,
.rip-placeholder--sidebar-cta{min-height:0;height:100%}

/* Logo and uploaded icon artwork is never stretched. */
.rip-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:138px;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}
.rip-footer-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:210px;
  max-height:145px;
  object-fit:contain;
  object-position:left center;
}
.rip-icon--image,.rip-icon--custom{object-fit:contain;object-position:center}

/* Gutenberg/editor images are intentionally not forced into a theme crop;
   their own intrinsic aspect ratio is preserved. */
.rip-rich-content img,
.wp-block-image img{
  height:auto;
  max-width:100%;
}

.rip-placeholder__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px;text-align:center}
.rip-placeholder__content strong{font:inherit;color:inherit}
.rip-placeholder__content small{display:block;font-size:9px;line-height:1.45;letter-spacing:.55px;text-transform:none;color:color-mix(in srgb,var(--rip-muted) 88%,transparent);font-weight:700}

/* Keep logo bounding dimensions responsive while preserving the source ratio. */
@media(max-width:1260px){.rip-logo img{max-width:125px}}
@media(max-width:1100px){.rip-logo img{max-height:60px}}
@media(max-width:760px){.rip-logo img{max-width:108px;max-height:56px}}
@media(max-width:480px){.rip-footer-logo img{max-width:180px}}


/* =========================================================
   BG HANDYMAN SERVICE — SINGLE-PAGE REBUILD
   Uses the RIP Waste Solutions Pro v3.6.7 visual language.
   ========================================================= */
html[data-rip-theme="light"]{
  --rip-primary:#d80d08;
  --rip-primary-hover:#b70905;
  --rip-background:#fff;
  --rip-surface:#f7f8fa;
  --rip-surface-alt:#eef1f4;
  --rip-text:#17181b;
  --rip-muted:#62656d;
  --rip-border:#d9dde3;
}
section[id]{scroll-margin-top:124px}
.bghs-logo-switch{display:grid;place-items:center;width:100%;height:100%}
.bghs-logo-switch>img{grid-area:1/1;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity var(--rip-transition),transform var(--rip-transition)}
.bghs-logo--dark{opacity:1}.bghs-logo--light{opacity:0;pointer-events:none}
html[data-rip-theme="light"] .bghs-logo--dark{opacity:0;pointer-events:none}
html[data-rip-theme="light"] .bghs-logo--light{opacity:1}
.bghs-header-logo{width:118px;height:74px}.bghs-header-logo .bghs-logo-switch{width:108px;height:72px}.bghs-header-logo img{width:100%!important;max-height:none!important}
.bghs-footer-logo{width:210px;height:170px;max-width:100%}.bghs-footer-logo .bghs-logo-switch{width:210px;height:170px}.bghs-footer-logo img{width:100%!important;max-height:none!important}
.rip-header{grid-template-columns:124px 1fr auto;gap:18px}
.rip-menu>li>a{padding-inline:7px;font-size:10.5px}
.rip-menu>li>a.is-active{color:var(--rip-primary-hover)}
.rip-section-heading>p{margin:18px 0 0;color:var(--rip-muted);font-size:15px;line-height:1.8}
.rip-section-heading--center>p{max-width:820px;margin-left:auto;margin-right:auto}
.bghs-hero-frame{overflow:visible}
.bghs-hero-logo-art{position:relative;z-index:2;width:82%;height:82%;display:grid;place-items:center;padding:18px}
.bghs-hero-logo-art .bghs-logo-switch{width:100%;height:100%}
.bghs-hero-logo-art .bghs-logo-switch>img{filter:drop-shadow(0 25px 28px rgba(0,0,0,.42));object-fit:contain}
.bghs-hero-art-caption{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);display:flex;gap:8px;width:max-content;max-width:100%;padding:9px 12px;border:1px solid var(--rip-border);border-radius:999px;background:color-mix(in srgb,var(--rip-background) 90%,transparent);box-shadow:0 16px 40px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.bghs-hero-art-caption span{display:inline-flex;align-items:center;gap:5px;color:var(--rip-muted);font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.bghs-hero-art-caption .rip-icon{color:var(--rip-primary);width:13px;height:13px}
html[data-rip-theme="light"] .bghs-hero-art-caption{box-shadow:0 16px 40px rgba(25,30,38,.12)}
.bghs-about-media>img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.bghs-branded-placeholder{min-height:500px;height:100%;display:grid;place-items:center;padding:54px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--rip-primary) 13%,transparent),transparent 34%),linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));text-align:center}
.bghs-branded-placeholder .bghs-logo-switch{width:min(78%,350px);height:340px}.bghs-branded-placeholder span{display:block;margin-top:-34px;color:var(--rip-muted);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.bghs-long-copy{color:var(--rip-muted);font-size:15px;line-height:1.85}.bghs-long-copy p{margin:0 0 18px}.bghs-long-copy p:last-child{margin-bottom:0}
.bghs-service-grid{margin-top:50px}.bghs-service-grid .rip-service-card{min-height:355px;display:flex;flex-direction:column}.bghs-service-grid .rip-inline-link{margin-top:auto}
.rip-icon--image{width:30px!important;height:30px!important;object-fit:contain;border-radius:4px}
.bghs-why-split{align-items:start}.bghs-why-image{margin:26px 0 30px;border:1px solid var(--rip-border);border-radius:16px;overflow:hidden;box-shadow:var(--rip-shadow)}.bghs-why-image img{display:block;width:100%;aspect-ratio:6/4;object-fit:cover}
.bghs-area-split{align-items:center}.bghs-area-chips{margin-top:24px}.bghs-area-note{margin:18px 0 0;color:var(--rip-muted);font-size:11px;line-height:1.6}
.rip-inline-note strong{color:var(--rip-text)}
.bghs-project-grid{margin-top:48px}.bghs-before-after{display:grid;grid-template-columns:1fr 1fr;gap:2px}.bghs-before-after figure{position:relative;margin:0;overflow:hidden}.bghs-before-after figure img{width:100%;height:100%;object-fit:cover}.bghs-before-after figure span{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:5px;background:rgba(5,5,6,.78);color:#fff;font-size:9px;font-weight:850;letter-spacing:.7px;text-transform:uppercase;backdrop-filter:blur(8px)}
.bghs-project-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:10px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));color:var(--rip-muted);text-transform:uppercase;font-size:10px;font-weight:850;letter-spacing:1px}.bghs-project-placeholder .rip-icon{width:42px;height:42px;color:var(--rip-primary)}
.bghs-empty-state{max-width:760px;margin:46px auto 0;padding:42px;border:1px dashed var(--rip-border);border-radius:16px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));text-align:center}.bghs-empty-state .rip-icon-card__icon{margin:0 auto}.bghs-empty-state h3{margin:20px 0 10px;font-size:25px}.bghs-empty-state p{max-width:620px;margin:0 auto;color:var(--rip-muted);font-size:13px;line-height:1.75}.bghs-empty-state .rip-btn{margin-top:24px}
.bghs-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}.bghs-testimonial-card{min-height:0;max-width:none;display:flex;flex-direction:column}.bghs-testimonial-card .rip-testimonial-card__text{min-height:0;flex:1}
.bghs-contact-panel{height:100%}.bghs-contact-radius{margin-top:22px;padding:20px;border:1px solid color-mix(in srgb,var(--rip-primary) 24%,var(--rip-border));border-radius:10px;background:color-mix(in srgb,var(--rip-primary) 6%,var(--rip-surface))}.bghs-contact-radius strong{display:block;color:var(--rip-text);font-size:13px;line-height:1.6}.bghs-form-wrap{height:100%;padding:30px;border:1px solid var(--rip-border);border-radius:16px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--rip-shadow)}.bghs-form-wrap>h3{margin:0 0 20px;font-size:28px}.bghs-form-wrap .rip-form{padding:0;border:0;background:none;box-shadow:none}
.rip-footer-company .bghs-logo-switch{justify-items:start}
.rip-footer-credit a{text-decoration:none}
.rip-back-to-top{font-size:18px;font-weight:900}
html[data-rip-theme="light"] .bghs-empty-state,html[data-rip-theme="light"] .bghs-form-wrap,html[data-rip-theme="light"] .bghs-branded-placeholder{background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:0 18px 44px rgba(25,30,38,.08)}
html[data-rip-theme="light"] .bghs-hero-logo-art .bghs-logo-switch>img{filter:drop-shadow(0 18px 22px rgba(25,30,38,.16))}
@media(max-width:1180px){.rip-header-phone{display:none}.bghs-header-cta{display:none}.rip-menu>li>a{padding-inline:6px;font-size:10px}}
@media(max-width:1020px){.bghs-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bghs-hero-logo-art{width:78%;height:78%}}
@media(max-width:760px){section[id]{scroll-margin-top:88px}.bghs-header-logo{width:92px;height:64px}.bghs-header-logo .bghs-logo-switch{width:90px;height:62px}.rip-header{grid-template-columns:96px 1fr auto}.bghs-hero-logo-art{width:86%;height:86%;padding:8px}.bghs-hero-art-caption{display:none}.bghs-branded-placeholder{min-height:400px;padding:28px}.bghs-branded-placeholder .bghs-logo-switch{width:88%;height:300px}.bghs-testimonial-grid{grid-template-columns:1fr}.bghs-before-after{grid-template-columns:1fr 1fr}.bghs-form-wrap{padding:22px 18px}.bghs-footer-logo,.bghs-footer-logo .bghs-logo-switch{width:180px;height:150px}}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.4.0
   Editorial hero + new About + refined cards + testimonial carousel
   ========================================================= */
:root{
  --bghs-soft-shadow:0 24px 70px rgba(0,0,0,.24);
  --bghs-card-shadow:0 16px 44px rgba(0,0,0,.11);
  --bghs-red-glow:color-mix(in srgb,var(--rip-primary) 22%,transparent);
}
html[data-rip-theme="light"]{
  --bghs-soft-shadow:0 20px 54px rgba(25,30,38,.10);
  --bghs-card-shadow:0 15px 36px rgba(25,30,38,.075);
}
html[data-rip-theme="dark"],html[data-rip-theme="light"],body{
  transition:background-color .24s ease,color .24s ease;
}
.rip-section--dark,.rip-section--surface,.site-header,.rip-topbar,.site-footer,
.bghs-service-card-v2,.bghs-why-reason,.bghs-form-wrap,.rip-contact-panel,.rip-faq,
.bghs-about-story,.bghs-about-promise,.bghs-hero-panel,.bghs-hero-form-shell{
  transition:background-color .24s ease,border-color .24s ease,color .24s ease,box-shadow .24s ease;
}
.rip-section{overflow:clip}
.rip-section-heading .rip-eyebrow{position:relative}
.rip-section-heading--center .rip-eyebrow::before,.rip-section-heading--center .rip-eyebrow::after{
  content:"";width:28px;height:1px;background:color-mix(in srgb,var(--rip-primary) 55%,transparent)
}

/* ---------------------------------------------------------
   HERO — image-free editorial / command-center layout
   --------------------------------------------------------- */
.bghs-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--rip-primary) 9%,transparent),transparent 26%),
    linear-gradient(180deg,var(--rip-background) 0%,color-mix(in srgb,var(--rip-surface) 52%,var(--rip-background)) 100%);
  border-bottom:1px solid var(--rip-border);
}
.bghs-hero::before{
  content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;opacity:.26;
  background-image:linear-gradient(color-mix(in srgb,var(--rip-border) 38%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 38%,transparent) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 82%);
}
.bghs-hero::after{
  content:"";position:absolute;z-index:-2;width:520px;height:520px;right:-230px;top:-180px;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--rip-primary) 20%,transparent);box-shadow:0 0 0 55px color-mix(in srgb,var(--rip-primary) 2.4%,transparent),0 0 0 112px color-mix(in srgb,var(--rip-primary) 1.4%,transparent)
}
.bghs-hero__ambient{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bghs-hero__ambient span{position:absolute;display:block;background:var(--rip-primary);opacity:.7}
.bghs-hero__ambient span:nth-child(1){left:0;top:112px;width:5px;height:132px}
.bghs-hero__ambient span:nth-child(2){left:5px;top:112px;width:140px;height:1px;background:linear-gradient(90deg,var(--rip-primary),transparent)}
.bghs-hero__ambient span:nth-child(3){right:8%;bottom:20%;width:92px;height:3px;transform:rotate(-42deg);background:linear-gradient(90deg,transparent,var(--rip-primary),transparent)}
.bghs-hero__inner{position:relative;z-index:2;padding:112px 0 58px}
.bghs-hero-stage{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(340px,.62fr);gap:72px;align-items:center}
.bghs-hero__content{max-width:850px;text-align:left}
.bghs-hero__eyebrow{margin-bottom:22px}
.bghs-hero h1{margin:0;max-width:920px;color:var(--rip-text);font-size:clamp(52px,5.4vw,82px);line-height:.98;font-weight:920;letter-spacing:-3.4px}
.bghs-hero h1 span{display:block;color:var(--rip-primary);text-shadow:0 0 34px color-mix(in srgb,var(--rip-primary) 12%,transparent)}
.bghs-hero__lead{max-width:790px;margin:26px 0 0;color:var(--rip-muted);font-size:clamp(16px,1.35vw,19px);line-height:1.78}
.bghs-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.bghs-hero-secondary{background:color-mix(in srgb,var(--rip-surface) 70%,transparent)}
.bghs-hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;margin-top:30px;padding-top:23px;border-top:1px solid var(--rip-border)}
.bghs-hero__meta span,.bghs-hero__meta a{display:inline-flex;align-items:center;gap:8px;color:var(--rip-muted);font-size:11px;text-decoration:none}
.bghs-hero__meta strong{color:var(--rip-text);font-weight:800}.bghs-hero__meta .rip-icon{width:16px;height:16px;color:var(--rip-primary)}
.bghs-hero-panel{position:relative;overflow:hidden;padding:24px;border:1px solid var(--rip-border);border-radius:24px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-soft-shadow)}
.bghs-hero-panel::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover),transparent 75%)}
.bghs-hero-panel::after{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:var(--rip-primary);filter:blur(75px);opacity:.08;pointer-events:none}
.bghs-hero-panel__brand{height:190px;padding:6px 22px 18px;display:grid;place-items:center;border-bottom:1px solid var(--rip-border)}
.bghs-hero-panel__brand .bghs-logo-switch{width:100%;height:100%}.bghs-hero-panel__brand img{filter:drop-shadow(0 18px 24px rgba(0,0,0,.22))}
.bghs-hero-panel__intro{padding:19px 0 16px}.bghs-hero-panel__intro>span{display:block;color:var(--rip-primary);font-size:9px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.bghs-hero-panel__intro strong{display:block;margin-top:7px;color:var(--rip-text);font-size:13px;line-height:1.55}
.bghs-hero-panel__features{display:grid;gap:8px;margin-top:3px}
.bghs-hero-panel__feature{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--rip-border);border-radius:12px;background:color-mix(in srgb,var(--rip-background) 38%,transparent);color:var(--rip-text);font-size:11px;font-weight:760}
.bghs-hero-panel__feature-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;background:color-mix(in srgb,var(--rip-primary) 10%,var(--rip-surface));color:var(--rip-primary)}
.bghs-hero-panel__feature-icon .rip-icon,.bghs-hero-panel__feature-icon .rip-icon--image{width:17px!important;height:17px!important}
.bghs-hero-panel__call{display:grid;grid-template-columns:42px 1fr;column-gap:11px;margin-top:14px;padding:13px;border-radius:13px;background:var(--rip-primary);color:#fff!important;text-decoration:none;box-shadow:0 14px 30px color-mix(in srgb,var(--rip-primary) 24%,transparent)}
.bghs-hero-panel__call>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.13)}.bghs-hero-panel__call .rip-icon{width:20px;height:20px}.bghs-hero-panel__call small{align-self:end;color:rgba(255,255,255,.72);font-size:8.5px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.bghs-hero-panel__call strong{font-size:15px;line-height:1.1}

/* Horizontal hero contact form — theme aware in both modes */
.bghs-hero-form-shell{width:100%;margin:50px auto 0;padding:18px 18px 13px;border:1px solid var(--rip-border);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--rip-surface-alt) 86%,var(--rip-background)),var(--rip-surface));box-shadow:var(--bghs-card-shadow)}
.bghs-hero-form-heading{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 13px;color:var(--rip-text);font-size:13px;letter-spacing:.2px}
.bghs-hero-form-heading>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--rip-primary) 11%,var(--rip-surface));color:var(--rip-primary)}
.bghs-hero-form-heading .rip-icon{width:16px;height:16px}
.bghs-hero-form-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.15fr 1.5fr auto;gap:9px;align-items:stretch}
.bghs-hero-field{min-width:0}.bghs-hero-field input,.bghs-hero-field select{width:100%;height:52px;padding:0 14px;border:1px solid var(--rip-border);border-radius:11px;outline:0;background:var(--rip-background);color:var(--rip-text);font-size:12px;transition:border-color var(--rip-transition),background var(--rip-transition),box-shadow var(--rip-transition)}
.bghs-hero-field select{padding-right:30px}.bghs-hero-field select option{background:var(--rip-background);color:var(--rip-text)}.bghs-hero-field input::placeholder{color:var(--rip-muted);opacity:.75}
.bghs-hero-field input:focus,.bghs-hero-field select:focus{border-color:var(--rip-primary);background:var(--rip-surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--rip-primary) 13%,transparent)}
.bghs-hero-form-submit{height:52px;min-width:174px;white-space:nowrap;padding-inline:20px}.bghs-hero-form-note{margin:10px 0 0;text-align:center;color:var(--rip-muted);font-size:9.5px;line-height:1.5}.bghs-hero-alert{margin:0 0 12px;text-align:center}

/* ---------------------------------------------------------
   ABOUT — editorial story board with right-side portrait
   --------------------------------------------------------- */
.bghs-about-section{position:relative}.bghs-about-section::before{content:"";position:absolute;left:-200px;bottom:0;width:420px;height:420px;border-radius:50%;background:var(--rip-primary);filter:blur(170px);opacity:.035;pointer-events:none}
.bghs-about-heading-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:56px;align-items:end;margin-bottom:45px}
.bghs-about-heading-row .rip-section-heading{margin:0;max-width:820px}
.bghs-about-promise{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:18px 20px;border:1px solid var(--rip-border);border-radius:15px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-card-shadow)}
.bghs-about-promise>span{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--rip-primary);color:#fff}.bghs-about-promise .rip-icon{width:24px;height:24px}.bghs-about-promise strong{display:block;color:var(--rip-text);font-size:15px}.bghs-about-promise p{margin:4px 0 0;color:var(--rip-muted);font-size:10.5px;line-height:1.55}
.bghs-about-editorial{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:24px;align-items:stretch}
.bghs-about-story{position:relative;min-height:530px;padding:52px 54px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--rip-border);border-radius:24px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-soft-shadow);overflow:hidden}
.bghs-about-story::before{content:"";position:absolute;left:0;top:44px;bottom:44px;width:4px;background:linear-gradient(180deg,var(--rip-primary),color-mix(in srgb,var(--rip-primary) 8%,transparent));border-radius:0 4px 4px 0}.bghs-about-story::after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:1px solid color-mix(in srgb,var(--rip-primary) 14%,transparent);box-shadow:0 0 0 38px color-mix(in srgb,var(--rip-primary) 2%,transparent)}
.bghs-about-story__mark{position:absolute;right:30px;top:18px;color:color-mix(in srgb,var(--rip-text) 5%,transparent);font-size:82px;font-weight:950;letter-spacing:-7px;line-height:1;pointer-events:none}.bghs-about-story .bghs-long-copy{position:relative;z-index:1;max-width:800px;font-size:15px}.bghs-about-story .rip-btn{position:relative;z-index:1;align-self:flex-start;margin-top:24px}
.bghs-about-portrait{position:relative;min-height:530px;overflow:hidden;border:1px solid var(--rip-border);border-radius:24px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-soft-shadow)}
.bghs-about-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bghs-about-portrait>.bghs-branded-placeholder{height:100%;min-height:530px;padding:28px}.bghs-about-portrait>.bghs-branded-placeholder .bghs-logo-switch{height:72%;width:88%}.bghs-about-portrait__line{position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover),transparent)}
.bghs-about-stat-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.bghs-about-stat{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:20px 22px;border:1px solid var(--rip-border);border-radius:14px;background:var(--rip-surface)}.bghs-about-stat strong{color:var(--rip-primary);font-size:23px;line-height:1;font-weight:900;white-space:nowrap}.bghs-about-stat span{color:var(--rip-muted);font-size:10.5px;font-weight:750;line-height:1.4;text-transform:uppercase;letter-spacing:.45px}

/* ---------------------------------------------------------
   SERVICES — 3 per row, contained service-number badges
   --------------------------------------------------------- */
.bghs-services-section{position:relative}.bghs-services-section::after{content:"";position:absolute;right:-160px;top:25%;width:360px;height:360px;border-radius:50%;background:var(--rip-primary);filter:blur(170px);opacity:.035;pointer-events:none}
.bghs-service-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:50px}
.bghs-service-card-v2{position:relative;min-height:352px;display:flex;flex-direction:column;padding:29px 28px 25px;border:1px solid var(--rip-border);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--rip-surface-alt) 88%,var(--rip-background)),var(--rip-surface));box-shadow:var(--bghs-card-shadow);isolation:isolate;transition:transform var(--rip-transition),border-color var(--rip-transition),box-shadow var(--rip-transition)}
.bghs-service-card-v2::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover),transparent 72%);transform-origin:left;transform:scaleX(.34);transition:transform .36s ease}
.bghs-service-card-v2::after{content:"";position:absolute;right:-48px;bottom:-68px;width:145px;height:145px;border-radius:28px;transform:rotate(34deg);border:1px solid color-mix(in srgb,var(--rip-primary) 10%,transparent);z-index:-1;transition:transform .45s ease,border-color .3s ease}
.bghs-service-card-v2__glow{position:absolute;width:150px;height:150px;right:-76px;bottom:-74px;border-radius:50%;background:var(--rip-primary);filter:blur(60px);opacity:.045;z-index:-1;transition:opacity .3s ease}
.bghs-service-card-v2:hover{transform:translateY(-8px);border-color:color-mix(in srgb,var(--rip-primary) 58%,var(--rip-border));box-shadow:0 26px 62px rgba(0,0,0,.16),0 0 34px color-mix(in srgb,var(--rip-primary) 6%,transparent)}.bghs-service-card-v2:hover::before{transform:scaleX(1)}.bghs-service-card-v2:hover::after{transform:rotate(28deg) scale(1.08);border-color:color-mix(in srgb,var(--rip-primary) 25%,transparent)}.bghs-service-card-v2:hover .bghs-service-card-v2__glow{opacity:.11}
.bghs-service-card-v2__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.bghs-service-card-v2__icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rip-primary) 24%,var(--rip-border));border-radius:17px;background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));color:var(--rip-primary);transition:transform var(--rip-transition),background var(--rip-transition),color var(--rip-transition)}.bghs-service-card-v2:hover .bghs-service-card-v2__icon{transform:translateY(-2px) rotate(-3deg);background:var(--rip-primary);color:#fff}.bghs-service-card-v2__icon .rip-icon,.bghs-service-card-v2__icon .rip-icon--image{width:30px!important;height:30px!important}
.bghs-service-card-v2__number{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:5px 9px 5px 11px;border:1px solid var(--rip-border);border-radius:999px;background:var(--rip-background);color:var(--rip-muted);line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 2%,transparent)}.bghs-service-card-v2__number small{font-size:7px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.bghs-service-card-v2__number strong{min-width:27px;height:23px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--rip-primary) 12%,var(--rip-surface));color:var(--rip-primary);font-size:11px;font-weight:950;letter-spacing:.1px}
.bghs-service-card-v2 .rip-card-kicker{margin-bottom:10px}.bghs-service-card-v2 h3{margin:0 0 12px;font-size:23px;line-height:1.18;letter-spacing:-.55px}.bghs-service-card-v2 h3 a{color:var(--rip-text);text-decoration:none}.bghs-service-card-v2 h3 a:hover{color:var(--rip-primary-hover)}.bghs-service-card-v2 p{margin:0;color:var(--rip-muted);font-size:13px;line-height:1.75}.bghs-service-card-v2__footer{margin-top:auto;padding-top:24px}.bghs-service-card-v2__footer a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--rip-border);color:var(--rip-text);font-size:11px;font-weight:850;letter-spacing:.2px;text-decoration:none}.bghs-service-card-v2__footer a>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--rip-primary) 10%,var(--rip-surface));color:var(--rip-primary);transition:transform var(--rip-transition),background var(--rip-transition),color var(--rip-transition)}.bghs-service-card-v2__footer a:hover>span{transform:translateX(3px);background:var(--rip-primary);color:#fff}.bghs-service-card-v2__footer .rip-icon{width:15px;height:15px}

/* ---------------------------------------------------------
   WHY CHOOSE US — retain composition, redesign card interiors
   --------------------------------------------------------- */
.bghs-why-section{position:relative}.bghs-why-section::before{content:"";position:absolute;left:-220px;top:15%;width:440px;height:440px;border-radius:50%;background:var(--rip-primary);filter:blur(170px);opacity:.05;pointer-events:none}
.bghs-why-showcase{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:28px;align-items:stretch;margin-top:52px}.bghs-why-feature{display:flex;flex-direction:column;gap:14px;min-width:0}.bghs-why-feature__media{position:relative;flex:1;min-height:560px;border:1px solid var(--rip-border);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-soft-shadow)}.bghs-why-feature__media>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}.bghs-why-feature__brand{position:absolute;inset:0;display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--rip-primary) 14%,transparent),transparent 38%),linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface))}.bghs-why-feature__brand .bghs-logo-switch{width:88%;height:80%}.bghs-why-feature__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.82) 100%);pointer-events:none}.bghs-why-feature__copy{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(5,5,6,.64);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.bghs-why-feature__copy>span{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--rip-primary);color:#fff}.bghs-why-feature__copy .rip-icon{width:25px;height:25px}.bghs-why-feature__copy strong{color:#fff!important;font-size:17px;line-height:1.2}.bghs-why-feature__copy small{color:rgba(255,255,255,.68);font-size:10px;line-height:1.55}.bghs-why-feature__cta{width:100%;justify-content:center}
.bghs-why-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bghs-why-reason{position:relative;min-height:180px;padding:23px 22px 22px;border:1px solid var(--rip-border);border-radius:18px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));overflow:hidden;transition:transform var(--rip-transition),border-color var(--rip-transition),box-shadow var(--rip-transition)}.bghs-why-reason::after{content:"";position:absolute;right:-30px;bottom:-44px;width:100px;height:100px;border-radius:24px;transform:rotate(28deg);border:1px solid color-mix(in srgb,var(--rip-primary) 10%,transparent)}.bghs-why-reason:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--rip-primary) 55%,var(--rip-border));box-shadow:0 20px 44px rgba(0,0,0,.14)}
.bghs-why-reason__top{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.bghs-why-reason__icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:14px;background:color-mix(in srgb,var(--rip-primary) 9%,var(--rip-surface));color:var(--rip-primary);border:1px solid color-mix(in srgb,var(--rip-primary) 22%,var(--rip-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rip-primary) 3%,transparent)}.bghs-why-reason:hover .bghs-why-reason__icon{background:var(--rip-primary);color:#fff}.bghs-why-reason__icon .rip-icon,.bghs-why-reason__icon .rip-icon--image{width:23px!important;height:23px!important}.bghs-why-reason h3{margin:0;color:var(--rip-text);font-size:16px;line-height:1.28}.bghs-why-reason__accent{position:relative;z-index:1;width:100%;height:1px;margin:17px 0 14px;background:var(--rip-border);overflow:hidden}.bghs-why-reason__accent span{display:block;width:42px;height:100%;background:var(--rip-primary);transition:width .35s ease}.bghs-why-reason:hover .bghs-why-reason__accent span{width:86px}.bghs-why-reason p{position:relative;z-index:1;margin:0;color:var(--rip-muted);font-size:11.5px;line-height:1.72}

/* ---------------------------------------------------------
   AREAS — map always matches the copy-column height
   --------------------------------------------------------- */
.bghs-area-split{align-items:stretch;gap:40px}.bghs-area-copy{display:flex;flex-direction:column;height:100%;padding:34px;border:1px solid var(--rip-border);border-radius:20px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));box-shadow:var(--bghs-card-shadow)}.bghs-area-copy .rip-section-heading{margin-bottom:0}.bghs-area-chips{margin-top:24px}.bghs-area-note{margin:18px 0 0;color:var(--rip-muted);font-size:11px;line-height:1.6}.bghs-area-map-col{display:flex;min-width:0;min-height:0}.bghs-area-map-col .rip-map{width:100%;height:100%;min-height:0;border-radius:20px}.bghs-area-map-col .rip-map iframe{width:100%;height:100%;min-height:100%;display:block}

/* ---------------------------------------------------------
   PROJECTS — subtle polish
   --------------------------------------------------------- */
.bghs-project-card-v2{border-radius:19px;border-color:var(--rip-border);background:var(--rip-surface);box-shadow:var(--bghs-card-shadow);overflow:hidden}.bghs-project-card-v2 .rip-project-card__media{aspect-ratio:4/3;background:var(--rip-surface-alt)}.bghs-project-card-v2 .rip-project-card__body{padding:23px 24px 25px}.bghs-project-card-v2 h3{color:var(--rip-text);font-size:19px}.bghs-project-card-v2 p{color:var(--rip-muted)}.bghs-project-placeholder{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--rip-surface-alt) 92%,var(--rip-background)),var(--rip-surface))}.bghs-project-placeholder::before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:var(--rip-primary);filter:blur(80px);opacity:.10;right:-76px;top:-74px}.bghs-project-placeholder::after{content:"";position:absolute;inset:14px;border:1px dashed color-mix(in srgb,var(--rip-primary) 26%,var(--rip-border));border-radius:13px}.bghs-project-placeholder .rip-icon,.bghs-project-placeholder .rip-icon--image{position:relative;z-index:1;width:48px!important;height:48px!important;color:var(--rip-primary)}.bghs-project-placeholder span{position:relative;z-index:1}

/* ---------------------------------------------------------
   TESTIMONIALS — 3 visible, one-card-at-a-time carousel
   --------------------------------------------------------- */
.bghs-testimonial-slider{margin-top:48px}.bghs-testimonial-slider__controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-bottom:20px}.bghs-testimonial-slider__progress{width:min(250px,34vw);height:3px;border-radius:999px;background:var(--rip-border);overflow:hidden}.bghs-testimonial-slider__progress span{display:block;width:10%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover));transition:width .4s ease}.bghs-testimonial-slider__buttons{display:flex;gap:8px}.bghs-testimonial-slider__buttons button{width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid var(--rip-border);border-radius:12px;background:var(--rip-surface);color:var(--rip-text);cursor:pointer;transition:background var(--rip-transition),border-color var(--rip-transition),color var(--rip-transition),transform var(--rip-transition)}.bghs-testimonial-slider__buttons button:hover{transform:translateY(-2px);background:var(--rip-primary);border-color:var(--rip-primary);color:#fff}.bghs-testimonial-slider__buttons button:first-child .rip-icon{transform:rotate(180deg)}.bghs-testimonial-slider__buttons .rip-icon{width:17px;height:17px}.bghs-testimonial-slider__viewport{overflow:hidden;padding:3px 2px 10px;margin:-3px -2px -10px;touch-action:pan-y}.bghs-testimonial-slider__track{display:flex;gap:22px;transition:transform .48s cubic-bezier(.22,.72,.18,1);will-change:transform}.bghs-testimonial-slide{flex:0 0 calc((100% - 44px)/3);min-width:0}
.bghs-testimonial-card-v2{position:relative;overflow:hidden;min-height:390px;padding:30px 27px 27px;text-align:left;border-radius:19px;background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-surface));border-color:var(--rip-border);box-shadow:var(--bghs-card-shadow);display:flex;flex-direction:column}.bghs-testimonial-card-v2::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--rip-primary),transparent 70%);transform:scaleX(.28);transform-origin:left;transition:transform .35s ease}.bghs-testimonial-card-v2:hover::after{transform:scaleX(1)}.bghs-testimonial-quote{position:absolute;right:21px;top:7px;color:color-mix(in srgb,var(--rip-primary) 18%,transparent);font-family:Georgia,serif;font-size:86px;line-height:1;font-weight:900;pointer-events:none}.bghs-testimonial-card-v2 .rip-testimonial-card__avatar-wrap{width:70px;margin:0 0 17px}.bghs-testimonial-card-v2 .rip-testimonial-card__avatar{width:70px;height:70px;padding:3px}.bghs-testimonial-card-v2 .rip-testimonial-card__avatar img,.bghs-testimonial-card-v2 .rip-testimonial-card__avatar span{font-size:23px;background:var(--rip-background);color:var(--rip-muted)}.bghs-testimonial-card-v2 .rip-stars{margin:0 0 15px}.bghs-testimonial-card-v2 .rip-testimonial-card__text{min-height:0;flex:1;color:var(--rip-muted);font-size:13px;line-height:1.8}.bghs-testimonial-card-v2 .rip-testimonial-card__name{display:flex;align-items:center;gap:8px;margin-top:22px;color:var(--rip-text);font-size:15px}

/* ---------------------------------------------------------
   LIGHT MODE — same structure, true light surfaces
   --------------------------------------------------------- */
html[data-rip-theme="light"] .rip-section--dark{background:linear-gradient(180deg,var(--rip-background),color-mix(in srgb,var(--rip-surface) 42%,var(--rip-background)));border-color:var(--rip-border)}
html[data-rip-theme="light"] .rip-section--surface{background:linear-gradient(180deg,var(--rip-surface),var(--rip-surface-alt));border-color:var(--rip-border)}
html[data-rip-theme="light"] .bghs-hero{background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--rip-primary) 6%,transparent),transparent 27%),linear-gradient(180deg,var(--rip-background),var(--rip-surface))}
html[data-rip-theme="light"] .bghs-hero-panel,
html[data-rip-theme="light"] .bghs-hero-form-shell,
html[data-rip-theme="light"] .bghs-about-story,
html[data-rip-theme="light"] .bghs-about-promise,
html[data-rip-theme="light"] .bghs-about-portrait,
html[data-rip-theme="light"] .bghs-service-card-v2,
html[data-rip-theme="light"] .bghs-why-reason,
html[data-rip-theme="light"] .bghs-project-card-v2,
html[data-rip-theme="light"] .bghs-testimonial-card-v2,
html[data-rip-theme="light"] .bghs-area-copy,
html[data-rip-theme="light"] .bghs-form-wrap,
html[data-rip-theme="light"] .rip-contact-panel{background:linear-gradient(145deg,var(--rip-background),var(--rip-surface));border-color:var(--rip-border);box-shadow:var(--bghs-card-shadow)}
html[data-rip-theme="light"] .bghs-hero-panel__feature{background:var(--rip-background)}
html[data-rip-theme="light"] .bghs-hero-panel__brand img{filter:drop-shadow(0 16px 20px rgba(25,30,38,.12))}
html[data-rip-theme="light"] .bghs-why-feature__media{background:linear-gradient(145deg,var(--rip-background),var(--rip-surface));box-shadow:var(--bghs-soft-shadow)}
html[data-rip-theme="light"] .bghs-project-placeholder{background:linear-gradient(145deg,var(--rip-surface-alt),var(--rip-background))}
html[data-rip-theme="light"] .rip-project-card__media{background:var(--rip-surface-alt)}
html[data-rip-theme="light"] .bghs-service-card-v2__icon,html[data-rip-theme="light"] .bghs-why-reason__icon,html[data-rip-theme="light"] .bghs-hero-panel__feature-icon{background:color-mix(in srgb,var(--rip-primary) 6%,var(--rip-background))}
html[data-rip-theme="light"] .bghs-service-card-v2__number{background:var(--rip-background)}
html[data-rip-theme="light"] .rip-faq{border-color:var(--rip-border);background:var(--rip-background)}html[data-rip-theme="light"] .rip-faq[open]{background:var(--rip-background);box-shadow:0 14px 36px rgba(25,30,38,.06)}html[data-rip-theme="light"] .rip-area-chip-list span{background:var(--rip-background);border-color:var(--rip-border);color:var(--rip-text)}html[data-rip-theme="light"] .rip-inline-note{background:var(--rip-background);border-color:var(--rip-border)}

/* ---------------------------------------------------------
   Responsive refinements
   --------------------------------------------------------- */
@media(max-width:1180px){
  .bghs-hero-stage{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:42px}
  .bghs-hero-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bghs-hero-field--message{grid-column:span 2}.bghs-hero-form-submit{width:100%}
  .bghs-service-grid-v2{gap:17px}.bghs-service-card-v2{padding:26px 23px 23px}
  .bghs-about-story{padding:44px 42px}
}
@media(max-width:1040px){
  .bghs-hero__inner{padding-top:92px}.bghs-hero-stage{grid-template-columns:1fr;gap:38px}.bghs-hero__content{max-width:920px}.bghs-hero-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.bghs-hero-panel__brand{height:170px;border:0;border-right:1px solid var(--rip-border);padding:5px 20px}.bghs-hero-panel__intro{padding:0}.bghs-hero-panel__features{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:0}.bghs-hero-panel__call{grid-column:1/-1;margin-top:0}
  .bghs-service-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bghs-about-heading-row{grid-template-columns:1fr;gap:24px}.bghs-about-promise{max-width:620px}.bghs-about-editorial{grid-template-columns:1.08fr .92fr}.bghs-about-story{padding:38px 34px}.bghs-about-stat-rail{grid-template-columns:repeat(3,1fr)}
  .bghs-why-showcase{grid-template-columns:1fr}.bghs-why-feature__media{min-height:480px;aspect-ratio:16/9}.bghs-why-feature__brand .bghs-logo-switch{width:62%;height:78%}
  .bghs-testimonial-slide{flex-basis:calc((100% - 22px)/2)}
}
@media(max-width:760px){
  .bghs-hero__inner{padding:72px 0 44px}.bghs-hero h1{font-size:clamp(42px,11vw,58px);letter-spacing:-2.2px}.bghs-hero__lead{font-size:15px;line-height:1.68}.bghs-hero-panel{grid-template-columns:1fr}.bghs-hero-panel__brand{height:190px;border:0;border-bottom:1px solid var(--rip-border)}.bghs-hero-panel__features{grid-template-columns:1fr}.bghs-hero-panel__intro{padding:2px 0}.bghs-hero-form-shell{margin-top:30px;padding:16px 14px 12px;border-radius:17px}.bghs-hero-form-grid{grid-template-columns:1fr 1fr}.bghs-hero-field--message{grid-column:1/-1}.bghs-hero-form-submit{grid-column:1/-1}.bghs-hero__meta{gap:10px 18px}
  .bghs-about-editorial{grid-template-columns:1fr}.bghs-about-story{min-height:0;padding:34px 28px}.bghs-about-portrait{min-height:0;aspect-ratio:4/5;width:min(100%,500px);justify-self:center}.bghs-about-portrait>.bghs-branded-placeholder{min-height:0}.bghs-about-stat-rail{grid-template-columns:1fr}.bghs-about-stat{grid-template-columns:100px 1fr}
  .bghs-service-grid-v2{grid-template-columns:1fr}.bghs-service-card-v2{min-height:0}
  .bghs-why-reasons{grid-template-columns:1fr}.bghs-why-feature__media{min-height:440px;aspect-ratio:4/5}
  .bghs-area-split{grid-template-columns:1fr;gap:22px}.bghs-area-copy{padding:26px 22px}.bghs-area-map-col{min-height:390px}.bghs-area-map-col .rip-map,.bghs-area-map-col .rip-map iframe{min-height:390px;height:390px}
  .bghs-testimonial-slide{flex-basis:100%}.bghs-testimonial-slider__controls{justify-content:space-between}.bghs-testimonial-slider__progress{width:min(250px,52vw)}
}
@media(max-width:520px){
  .bghs-hero__inner{padding-top:60px}.bghs-hero__actions{display:grid;grid-template-columns:1fr;width:100%}.bghs-hero__actions .rip-btn{width:100%;justify-content:center}.bghs-hero__meta{display:grid;grid-template-columns:1fr}.bghs-hero-panel{padding:18px}.bghs-hero-panel__brand{height:165px}.bghs-hero-form-grid{grid-template-columns:1fr}.bghs-hero-field--message,.bghs-hero-form-submit{grid-column:auto}.bghs-hero-form-heading{font-size:12px}
  .bghs-about-story{padding:30px 22px}.bghs-about-story__mark{font-size:64px;right:20px}.bghs-about-promise{grid-template-columns:46px 1fr;padding:15px}.bghs-about-promise>span{width:46px;height:46px}.bghs-about-stat{grid-template-columns:86px 1fr;padding:17px 18px}
  .bghs-service-card-v2__number small{display:none}.bghs-service-card-v2__number{padding-left:6px}.bghs-why-feature__copy{left:14px;right:14px;bottom:14px;padding:14px;grid-template-columns:44px 1fr}.bghs-why-feature__copy>span{width:44px;height:44px}.bghs-why-reason{padding:20px 18px}.bghs-why-reason__icon{width:44px;height:44px;flex-basis:44px}
}
@media(prefers-reduced-motion:reduce){
  .bghs-service-card-v2,.bghs-why-reason,.bghs-project-card-v2,.bghs-testimonial-card-v2{transform:none!important}.bghs-testimonial-slider__track{transition:none!important}
}

/* =========================================================
   v1.4.0 DESIGN FOUNDATION — REFERENCE LAYOUTS + GLASS UI
   ========================================================= */
:root{
  --bghs-glass-bg:rgba(13,14,17,.64);
  --bghs-glass-bg-strong:rgba(10,11,13,.78);
  --bghs-glass-border:rgba(255,255,255,.095);
  --bghs-glass-highlight:rgba(255,255,255,.055);
  --bghs-glass-shadow:0 28px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.045);
  --bghs-glass-blur:blur(24px) saturate(145%);
}
html[data-rip-theme="light"]{
  --bghs-glass-bg:rgba(255,255,255,.66);
  --bghs-glass-bg-strong:rgba(255,255,255,.82);
  --bghs-glass-border:rgba(28,31,38,.10);
  --bghs-glass-highlight:rgba(255,255,255,.74);
  --bghs-glass-shadow:0 24px 64px rgba(25,30,38,.10),inset 0 1px 0 rgba(255,255,255,.88);
}

/* Apple-like glass language across interactive surfaces. */
.site-header,
.rip-service-card.bghs-service-card-v2,
.bghs-why-reason,
.bghs-area-copy,
.bghs-project-card-v2,
.bghs-testimonial-card-v2,
.rip-faq,
.rip-contact-panel,
.bghs-form-wrap,
.bghs-about-reference__media,
.bghs-about-tabs__nav,
.bghs-contact-next{
  background:var(--bghs-glass-bg)!important;
  border-color:var(--bghs-glass-border)!important;
  box-shadow:var(--bghs-glass-shadow);
  -webkit-backdrop-filter:var(--bghs-glass-blur);
  backdrop-filter:var(--bghs-glass-blur);
}
.site-header{background:color-mix(in srgb,var(--rip-background) 76%,transparent)!important;border-bottom-color:var(--bghs-glass-border)!important}
.site-header.is-scrolled{background:color-mix(in srgb,var(--rip-background) 88%,transparent)!important;box-shadow:0 18px 52px rgba(0,0,0,.22)}
.rip-btn--ghost,.rip-theme-toggle,.rip-menu-toggle{
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 86%,transparent)!important;
  border-color:var(--bghs-glass-border)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
}
.rip-field input,.rip-field select,.rip-field textarea{
  background:color-mix(in srgb,var(--rip-background) 72%,transparent)!important;
  border-color:var(--bghs-glass-border)!important;
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
}
.rip-field input:focus,.rip-field select:focus,.rip-field textarea:focus{background:color-mix(in srgb,var(--rip-surface) 82%,transparent)!important}

/* Header stays compact with the additional Service Area link. */
.rip-menu>li>a{padding-inline:7px;font-size:10.5px}
@media(max-width:1320px){.rip-menu>li>a{padding-inline:5px;font-size:10px}.rip-header__actions{gap:7px}.rip-btn--small{padding-inline:14px}}

/* ---------------------------------------------------------
   HERO — centered reference composition, no image/form panel
   --------------------------------------------------------- */
.bghs-hero--centered{
  min-height:700px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 35% 46%,color-mix(in srgb,var(--rip-primary) 13%,transparent),transparent 27%),
    radial-gradient(circle at 70% 72%,color-mix(in srgb,var(--rip-primary) 4%,transparent),transparent 31%),
    linear-gradient(180deg,var(--rip-background),color-mix(in srgb,var(--rip-surface) 42%,var(--rip-background)))!important;
}
.bghs-hero--centered::before{
  opacity:.16;
  background-image:linear-gradient(color-mix(in srgb,var(--rip-border) 30%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 28%,transparent) 1px,transparent 1px);
  background-size:86px 86px;
  mask-image:radial-gradient(ellipse at center,#000 0%,transparent 75%);
}
.bghs-hero--centered::after{right:18%;top:34%;width:460px;height:260px;border:0;background:var(--rip-primary);filter:blur(150px);opacity:.065;box-shadow:none}
.bghs-hero--centered .bghs-hero__ambient span:nth-child(1){left:12%;top:24%;width:110px;height:1px;background:linear-gradient(90deg,transparent,var(--rip-primary))}
.bghs-hero--centered .bghs-hero__ambient span:nth-child(2){left:auto;right:11%;top:29%;width:100px;height:1px;background:linear-gradient(90deg,var(--rip-primary),transparent)}
.bghs-hero--centered .bghs-hero__ambient span:nth-child(3){right:8%;bottom:18%;width:78px;height:2px;opacity:.38}
.bghs-hero--centered .bghs-hero__inner{width:100%;padding:104px 0 92px}
.bghs-hero-centered{max-width:1440px;margin:0 auto;text-align:center}
.bghs-hero--centered .bghs-hero__eyebrow{
  width:max-content;max-width:100%;margin:0 auto 32px;padding:12px 20px;border:1px solid var(--bghs-glass-border);border-radius:10px;
  background:var(--bghs-glass-bg);box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
}
.bghs-hero--centered h1{max-width:1400px;margin:0 auto;color:var(--rip-text);font-size:clamp(64px,6.55vw,112px);line-height:.985;font-weight:930;letter-spacing:-5.6px;text-wrap:balance}
.bghs-hero--centered h1 span{display:inline;color:var(--rip-primary);text-shadow:0 0 42px color-mix(in srgb,var(--rip-primary) 16%,transparent)}
.bghs-hero--centered .bghs-hero__lead{max-width:1080px;margin:36px auto 0;color:var(--rip-muted);font-size:clamp(17px,1.35vw,21px);line-height:1.82;text-wrap:balance}
.bghs-hero--centered .bghs-hero__actions{justify-content:center;margin-top:38px}
.bghs-hero--centered .bghs-hero__actions .rip-btn{min-width:250px;min-height:58px;border-radius:11px}
.bghs-hero-trust{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px 34px;margin-top:35px}
.bghs-hero-trust__item{display:inline-flex;align-items:center;gap:9px;color:var(--rip-muted);font-size:11px;font-weight:760;letter-spacing:.12px}
.bghs-hero-trust__item>span{display:grid;place-items:center;color:var(--rip-primary)}
.bghs-hero-trust__item .rip-icon,.bghs-hero-trust__item .rip-icon--image{width:17px!important;height:17px!important}
.bghs-hero-trust__item strong{color:var(--rip-muted);font-weight:760}
html[data-rip-theme="light"] .bghs-hero--centered{background:radial-gradient(circle at 35% 46%,color-mix(in srgb,var(--rip-primary) 7%,transparent),transparent 29%),linear-gradient(180deg,var(--rip-background),var(--rip-surface))!important}

/* ---------------------------------------------------------
   ABOUT — reference layout: portrait left, tabs/content right
   --------------------------------------------------------- */
.bghs-about-reference{position:relative}
.bghs-about-reference::before{content:"";position:absolute;right:-180px;top:16%;width:420px;height:420px;border-radius:50%;background:var(--rip-primary);filter:blur(190px);opacity:.035;pointer-events:none}
.bghs-about-reference__grid{display:grid;grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr);gap:78px;align-items:center}
.bghs-about-reference__media{position:relative;overflow:hidden;min-height:680px;aspect-ratio:4/5.45;border:1px solid var(--bghs-glass-border);border-radius:30px}
.bghs-about-reference__media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.42))}
.bghs-about-reference__media::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:3;background:linear-gradient(90deg,var(--rip-primary),var(--rip-primary-hover),transparent 78%)}
.bghs-about-reference__media>img{width:100%;height:100%;object-fit:cover;display:block}
.bghs-about-reference__placeholder{height:100%;min-height:680px;border:0!important;border-radius:0!important;background:linear-gradient(145deg,color-mix(in srgb,var(--rip-surface) 76%,transparent),color-mix(in srgb,var(--rip-background) 78%,transparent))!important}
.bghs-about-reference__badge{position:absolute;z-index:4;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(8,8,10,.64);-webkit-backdrop-filter:blur(20px) saturate(155%);backdrop-filter:blur(20px) saturate(155%);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.bghs-about-reference__badge>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--rip-primary);color:#fff}.bghs-about-reference__badge .rip-icon{width:23px;height:23px}.bghs-about-reference__badge strong,.bghs-about-reference__badge small{display:block}.bghs-about-reference__badge strong{color:#fff;font-size:14px}.bghs-about-reference__badge small{margin-top:3px;color:rgba(255,255,255,.72);font-size:10px;line-height:1.5}
.bghs-about-reference__content{min-width:0}.bghs-about-reference__content>.rip-eyebrow{margin-bottom:21px}.bghs-about-reference__content>.rip-title{max-width:800px;margin:0;font-size:clamp(44px,4.4vw,68px);line-height:1.08;letter-spacing:-2.7px}.bghs-about-reference__content>.rip-title span{color:var(--rip-primary)}
.bghs-about-reference__intro{max-width:820px;margin-top:28px;color:var(--rip-muted);font-size:15px;line-height:1.85}.bghs-about-reference__intro p{margin:0 0 13px}.bghs-about-reference__intro p:last-child{margin-bottom:0}
.bghs-about-tabs{margin-top:32px}
.bghs-about-tabs__nav{width:max-content;max-width:100%;display:flex;gap:7px;padding:6px;border:1px solid var(--bghs-glass-border);border-radius:14px}
.bghs-about-tabs__nav button{min-height:43px;padding:0 18px;border:0;border-radius:10px;background:transparent;color:var(--rip-muted);font:inherit;font-size:11px;font-weight:850;cursor:pointer;transition:all var(--rip-transition)}
.bghs-about-tabs__nav button:hover{color:var(--rip-text);background:color-mix(in srgb,var(--rip-primary) 6%,transparent)}
.bghs-about-tabs__nav button[aria-selected="true"]{background:var(--rip-primary);color:#fff;box-shadow:0 10px 26px color-mix(in srgb,var(--rip-primary) 22%,transparent)}
.bghs-about-tabs__panels{margin-top:24px;border-top:1px solid var(--rip-border);border-bottom:1px solid var(--rip-border)}
.bghs-about-tab-panel{min-height:170px;display:grid;grid-template-columns:82px 1fr;gap:28px;align-items:center;padding:30px 0}
.bghs-about-tab-panel[hidden]{display:none}
.bghs-about-tab-panel__icon{width:76px;height:76px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rip-primary) 34%,var(--bghs-glass-border));border-radius:22px;background:color-mix(in srgb,var(--rip-primary) 7%,var(--bghs-glass-bg));color:var(--rip-primary);box-shadow:inset 0 1px 0 var(--bghs-glass-highlight)}
.bghs-about-tab-panel__icon .rip-icon,.bghs-about-tab-panel__icon .rip-icon--image{width:39px!important;height:39px!important}
.bghs-about-tab-panel p{margin:0;color:var(--rip-muted);font-size:14px;line-height:1.86}
.bghs-about-reference__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px}
.bghs-about-reference__phone{display:flex;align-items:center;gap:12px;color:var(--rip-text);text-decoration:none}.bghs-about-reference__phone>span:first-child{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--bghs-glass-border);border-radius:50%;background:var(--bghs-glass-bg);color:var(--rip-primary);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bghs-about-reference__phone .rip-icon{width:21px;height:21px}.bghs-about-reference__phone small,.bghs-about-reference__phone strong{display:block}.bghs-about-reference__phone small{color:var(--rip-muted);font-size:10px}.bghs-about-reference__phone strong{margin-top:2px;font-size:16px}.bghs-about-reference__phone:hover strong{color:var(--rip-primary-hover)}
html[data-rip-theme="light"] .bghs-about-reference__badge{background:rgba(20,20,22,.70)}

/* ---------------------------------------------------------
   TESTIMONIALS — requested viewport spacing
   --------------------------------------------------------- */
.bghs-testimonial-slider__viewport{overflow:hidden;padding:6px 2px 10px;margin:-3px -2px -10px;touch-action:pan-y}

/* ---------------------------------------------------------
   CONTACT — richer form side + glass hierarchy
   --------------------------------------------------------- */
.bghs-contact-grid{align-items:stretch;grid-template-columns:.88fr 1.12fr;gap:34px}
.bghs-contact-panel,.bghs-form-wrap{border-radius:24px!important}
.bghs-contact-panel{display:flex;flex-direction:column;padding:34px}
.bghs-contact-panel__list{display:grid}.bghs-contact-panel .rip-contact-item{padding:20px 0}.bghs-contact-panel .rip-contact-item:first-child{padding-top:4px}
.bghs-contact-radius{margin-top:24px;padding:22px;border:1px solid color-mix(in srgb,var(--rip-primary) 30%,var(--bghs-glass-border));border-radius:16px;background:color-mix(in srgb,var(--rip-primary) 7%,var(--bghs-glass-bg));box-shadow:inset 0 1px 0 var(--bghs-glass-highlight)}
.bghs-contact-radius strong{display:block}.bghs-contact-radius a{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--rip-primary);font-size:10px;font-weight:850;text-decoration:none;text-transform:uppercase;letter-spacing:.5px}.bghs-contact-radius a .rip-icon{width:14px;height:14px}.bghs-contact-radius a:hover{color:var(--rip-primary-hover)}
.bghs-contact-callout{display:grid;grid-template-columns:48px 1fr 22px;gap:13px;align-items:center;margin-top:auto;padding:18px 17px;border:1px solid var(--bghs-glass-border);border-radius:16px;background:color-mix(in srgb,var(--rip-background) 44%,transparent);color:var(--rip-text);text-decoration:none;box-shadow:inset 0 1px 0 var(--bghs-glass-highlight)}
.bghs-contact-callout>span:first-child{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--rip-primary);color:#fff}.bghs-contact-callout .rip-icon{width:20px;height:20px}.bghs-contact-callout>div small,.bghs-contact-callout>div strong{display:block}.bghs-contact-callout>div small{color:var(--rip-muted);font-size:9px}.bghs-contact-callout>div strong{margin-top:3px;font-size:15px}.bghs-contact-callout>svg:last-child{width:18px;height:18px;color:var(--rip-primary)}.bghs-contact-callout:hover{border-color:color-mix(in srgb,var(--rip-primary) 42%,var(--bghs-glass-border));transform:translateY(-2px)}
.bghs-form-wrap{padding:34px}.bghs-form-wrap__head{display:grid;grid-template-columns:1fr 58px;gap:24px;align-items:start;margin-bottom:25px}.bghs-form-wrap__head h3{margin:5px 0 0;color:var(--rip-text);font-size:32px;line-height:1.15;letter-spacing:-1px}.bghs-form-wrap__head p{max-width:650px;margin:10px 0 0;color:var(--rip-muted);font-size:11.5px;line-height:1.7}.bghs-form-wrap__head-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rip-primary) 30%,var(--bghs-glass-border));border-radius:17px;background:color-mix(in srgb,var(--rip-primary) 8%,var(--bghs-glass-bg));color:var(--rip-primary)}.bghs-form-wrap__head-icon .rip-icon{width:25px;height:25px}
.bghs-form-wrap .rip-form{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.bghs-contact-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}.bghs-contact-submit-row>span{display:inline-flex;align-items:center;gap:7px;max-width:420px;color:var(--rip-muted);font-size:9.5px;line-height:1.5}.bghs-contact-submit-row>span .rip-icon{width:15px;height:15px;flex:0 0 15px;color:var(--rip-primary)}
.bghs-contact-next{margin-top:26px;padding:20px;border:1px solid var(--bghs-glass-border);border-radius:18px}.bghs-contact-next__title{margin-bottom:14px;color:var(--rip-text);font-size:10px;font-weight:900;letter-spacing:1.05px;text-transform:uppercase}.bghs-contact-next__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bghs-contact-next__item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid var(--bghs-glass-border);border-radius:13px;background:color-mix(in srgb,var(--rip-background) 42%,transparent)}.bghs-contact-next__item>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--rip-primary) 10%,var(--bghs-glass-bg));color:var(--rip-primary)}.bghs-contact-next__item .rip-icon,.bghs-contact-next__item .rip-icon--image{width:18px!important;height:18px!important}.bghs-contact-next__item strong,.bghs-contact-next__item small{display:block}.bghs-contact-next__item strong{color:var(--rip-text);font-size:10px;line-height:1.35}.bghs-contact-next__item small{margin-top:4px;color:var(--rip-muted);font-size:8.5px;line-height:1.5}

/* ---------------------------------------------------------
   FOOTER — glass panel, all services, centered exact credit
   --------------------------------------------------------- */
.site-footer{padding-top:34px;background:linear-gradient(180deg,color-mix(in srgb,var(--rip-background) 96%,var(--rip-surface)),var(--rip-background))}
.rip-footer-main{grid-template-columns:1.15fr .72fr 1.38fr 1fr;gap:40px;padding:44px!important;border:1px solid var(--bghs-glass-border);border-radius:28px;background:var(--bghs-glass-bg);box-shadow:var(--bghs-glass-shadow);-webkit-backdrop-filter:var(--bghs-glass-blur);backdrop-filter:var(--bghs-glass-blur)}
.rip-footer-links--services{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px}.rip-footer-links--services a{line-height:1.45}
.rip-footer-bottom-wrap{margin-top:34px}.rip-footer-bottom--centered{min-height:74px;justify-content:center!important;text-align:center}.rip-footer-copyright{width:100%;color:var(--rip-muted);font-size:10px;line-height:1.65}.rip-footer-copyright span{display:inline-block;margin:0 7px;color:color-mix(in srgb,var(--rip-muted) 52%,transparent)}.rip-footer-copyright a{color:var(--rip-text)!important;text-decoration:none;font-weight:850}.rip-footer-copyright a:hover{color:var(--rip-primary-hover)!important}
html[data-rip-theme="light"] .site-footer{background:linear-gradient(180deg,var(--rip-surface),var(--rip-background))}

/* Minor premium refinements. */
.bghs-service-card-v2,.bghs-why-reason,.bghs-project-card-v2,.bghs-testimonial-card-v2{border-radius:22px!important}
.bghs-service-card-v2:hover,.bghs-why-reason:hover,.bghs-project-card-v2:hover,.bghs-testimonial-card-v2:hover{border-color:color-mix(in srgb,var(--rip-primary) 30%,var(--bghs-glass-border))!important;box-shadow:0 30px 82px rgba(0,0,0,.30),inset 0 1px 0 var(--bghs-glass-highlight)}
html[data-rip-theme="light"] .bghs-service-card-v2:hover,html[data-rip-theme="light"] .bghs-why-reason:hover,html[data-rip-theme="light"] .bghs-project-card-v2:hover,html[data-rip-theme="light"] .bghs-testimonial-card-v2:hover{box-shadow:0 26px 70px rgba(25,30,38,.13),inset 0 1px 0 rgba(255,255,255,.92)}
.rip-area-chip-list span,.rip-inline-note{background:color-mix(in srgb,var(--bghs-glass-bg) 88%,transparent)!important;border-color:var(--bghs-glass-border)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

@media(max-width:1100px){
  .bghs-hero--centered{min-height:auto}.bghs-hero--centered .bghs-hero__inner{padding:88px 0 78px}.bghs-hero--centered h1{font-size:clamp(58px,8vw,86px);letter-spacing:-4px}
  .bghs-about-reference__grid{grid-template-columns:minmax(330px,.86fr) minmax(0,1.14fr);gap:46px}.bghs-about-reference__media{min-height:600px}.bghs-about-reference__placeholder{min-height:600px}.bghs-about-reference__content>.rip-title{font-size:48px}
  .bghs-contact-next__grid{grid-template-columns:1fr}.bghs-contact-next__item{grid-template-columns:42px 1fr}
  .rip-footer-main{grid-template-columns:1fr 1fr;gap:38px}.rip-footer-main>div:nth-child(3){grid-column:1/-1}.rip-footer-links--services{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .bghs-about-reference__grid{grid-template-columns:1fr;gap:44px}.bghs-about-reference__media{width:min(100%,590px);min-height:0;aspect-ratio:4/5.3;margin-inline:auto}.bghs-about-reference__placeholder{min-height:0;height:100%}.bghs-about-reference__content{max-width:700px;margin-inline:auto;width:100%}
}
@media(max-width:760px){
  .bghs-hero--centered .bghs-hero__inner{padding:70px 0 64px}.bghs-hero--centered .bghs-hero__eyebrow{margin-bottom:24px;padding:10px 14px}.bghs-hero--centered h1{font-size:clamp(44px,12vw,64px);line-height:1.01;letter-spacing:-2.9px}.bghs-hero--centered .bghs-hero__lead{margin-top:25px;font-size:15px;line-height:1.72}.bghs-hero--centered .bghs-hero__actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:520px;margin:30px auto 0}.bghs-hero--centered .bghs-hero__actions .rip-btn{width:100%;min-width:0}.bghs-hero-trust{display:grid;grid-template-columns:1fr;justify-items:center;gap:13px;margin-top:29px}
  .bghs-about-reference__content>.rip-title{font-size:42px;letter-spacing:-1.8px}.bghs-about-reference__intro{font-size:14px}.bghs-about-tabs__nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.bghs-about-tabs__nav button{padding-inline:8px}.bghs-about-tab-panel{grid-template-columns:64px 1fr;gap:18px}.bghs-about-tab-panel__icon{width:60px;height:60px;border-radius:18px}.bghs-about-tab-panel__icon .rip-icon,.bghs-about-tab-panel__icon .rip-icon--image{width:30px!important;height:30px!important}.bghs-about-reference__actions{align-items:stretch;flex-direction:column}.bghs-about-reference__actions .rip-btn{width:100%}.bghs-about-reference__phone{justify-content:center}
  .bghs-contact-grid{grid-template-columns:1fr}.bghs-contact-panel,.bghs-form-wrap{padding:24px 20px}.bghs-contact-callout{margin-top:22px}.bghs-form-wrap__head{grid-template-columns:1fr 48px}.bghs-form-wrap__head-icon{width:48px;height:48px}.bghs-contact-submit-row{align-items:stretch;flex-direction:column}.bghs-contact-submit-row .rip-btn{width:100%}.bghs-contact-submit-row>span{max-width:none}
  .rip-footer-main{grid-template-columns:1fr;padding:30px 24px!important;border-radius:22px}.rip-footer-main>div:nth-child(3){grid-column:auto}.rip-footer-links--services{grid-template-columns:repeat(2,minmax(0,1fr))}.rip-footer-bottom--centered{align-items:center!important}.rip-footer-copyright span{margin-inline:4px}
}
@media(max-width:480px){
  .bghs-about-reference__badge{left:14px;right:14px;bottom:14px;padding:12px}.bghs-about-reference__badge>span{width:42px;height:42px}.bghs-about-tabs__nav{grid-template-columns:1fr}.bghs-about-tabs__nav button{width:100%}.bghs-about-tab-panel{grid-template-columns:1fr;gap:14px}.bghs-about-tab-panel p{font-size:13px}.bghs-about-tab-panel__icon{width:56px;height:56px}
  .rip-footer-links--services{grid-template-columns:1fr}.rip-footer-copyright{font-size:9px}.rip-footer-copyright span{display:none}.rip-footer-copyright a{display:inline-block;margin-top:3px}
}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.4.0
   Header/logo normalization + concise About + reference
   Contact/Footer layouts + light-mode toggle visibility.
   ========================================================= */

/* Header: both supplied logo variants now share the same normalized canvas.
   Keep the artwork completely inside the header at every breakpoint. */
.rip-header{
  min-height:94px;
  grid-template-columns:132px minmax(0,1fr) auto;
  gap:18px;
}
.bghs-header-logo{
  width:126px!important;
  height:80px!important;
  max-width:126px!important;
  display:grid!important;
  place-items:center;
  overflow:hidden;
  align-self:center;
  flex:0 0 auto;
}
.bghs-header-logo .bghs-logo-switch{
  width:100%!important;
  height:100%!important;
  overflow:hidden;
}
.bghs-header-logo .bghs-logo-switch>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* The previous glass override made the light-mode control visually disappear.
   Give it a deliberate, high-contrast Apple-style treatment in both modes. */
.rip-theme-toggle{
  isolation:isolate;
  color:#fff!important;
}
html[data-rip-theme="dark"] .rip-theme-toggle{
  background:rgba(20,20,23,.76)!important;
  border-color:var(--rip-primary)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px color-mix(in srgb,var(--rip-primary) 36%,transparent),0 12px 32px rgba(0,0,0,.22)!important;
}
html[data-rip-theme="light"] .rip-theme-toggle{
  background:var(--rip-primary)!important;
  border-color:var(--rip-primary)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 28px color-mix(in srgb,var(--rip-primary) 24%,transparent)!important;
}
html[data-rip-theme="light"] .rip-theme-toggle:hover{
  background:var(--rip-primary-hover)!important;
  border-color:var(--rip-primary-hover)!important;
}
html[data-rip-theme="light"] .rip-theme-toggle__sun,
html[data-rip-theme="dark"] .rip-theme-toggle__moon{color:#fff!important}

/* About: intentionally concise intro copy while preserving the approved tabs. */
.bghs-about-reference__intro{
  max-width:780px;
  margin-top:25px;
  font-size:15px;
  line-height:1.82;
}
.bghs-about-reference__intro p{margin:0!important}

/* ---------------------------------------------------------
   CONTACT — reference composition from supplied screenshot
   --------------------------------------------------------- */
.bghs-contact-reference{
  position:relative;
  overflow:hidden;
}
.bghs-contact-reference:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:-250px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--rip-primary) 9%,transparent),transparent 68%);
  pointer-events:none;
}
.bghs-contact-reference__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:stretch;
}
.bghs-contact-reference__details,
.bghs-contact-reference__form>.bghs-contact-form--reference{
  height:100%;
  border:1px solid var(--bghs-glass-border);
  border-radius:24px;
  background:var(--bghs-glass-bg);
  box-shadow:var(--bghs-glass-shadow),inset 0 1px 0 var(--bghs-glass-highlight);
  -webkit-backdrop-filter:blur(24px) saturate(155%);
  backdrop-filter:blur(24px) saturate(155%);
}
.bghs-contact-reference__details{
  padding:30px 34px;
}
.bghs-contact-reference__list{
  display:flex;
  flex-direction:column;
  height:100%;
}
.bghs-contact-reference__item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:22px;
  align-items:center;
  min-height:118px;
  padding:24px 0;
  border-bottom:1px solid color-mix(in srgb,var(--rip-border) 78%,transparent);
}
.bghs-contact-reference__item:last-child{border-bottom:0}
.bghs-contact-reference__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 38%,var(--rip-border));
  border-radius:14px;
  background:color-mix(in srgb,var(--rip-primary) 8%,var(--bghs-glass-bg-strong));
  color:var(--rip-primary);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
}
.bghs-contact-reference__icon .rip-icon{width:23px;height:23px}
.bghs-contact-reference__item strong,
.bghs-contact-reference__item span,
.bghs-contact-reference__item a{display:block}
.bghs-contact-reference__item strong{
  margin:0 0 7px;
  color:var(--rip-text);
  font-size:14px;
  line-height:1.25;
}
.bghs-contact-reference__item a,
.bghs-contact-reference__item>div>span{
  color:var(--rip-muted);
  text-decoration:none;
  font-size:13px;
  line-height:1.65;
}
.bghs-contact-reference__item a:hover{color:var(--rip-primary-hover)}
.bghs-contact-reference__item--areas{align-items:start}
.bghs-contact-reference__item--areas .bghs-contact-reference__icon{margin-top:2px}

.bghs-contact-reference__form{min-width:0}
.bghs-contact-reference__form>.bghs-contact-form--reference{
  position:relative;
  padding:38px 40px 36px!important;
  background:var(--bghs-glass-bg)!important;
}
.bghs-contact-reference__form .rip-alert{margin-bottom:16px}
.bghs-contact-form--reference .bghs-contact-form__grid{
  gap:20px 22px;
}
.bghs-contact-form--reference .rip-field label{
  margin-bottom:10px;
  color:color-mix(in srgb,var(--rip-text) 84%,var(--rip-muted));
  font-size:10px;
  font-weight:900;
  letter-spacing:1.15px;
}
.bghs-contact-form--reference .rip-field input,
.bghs-contact-form--reference .rip-field select{
  min-height:58px;
  border-radius:11px;
  padding:13px 16px;
  font-size:14px;
}
.bghs-contact-form--reference .rip-field textarea{
  min-height:176px;
  border-radius:11px;
  padding:15px 16px;
  font-size:14px;
  line-height:1.6;
}
.bghs-contact-form--reference .rip-btn--submit{
  min-width:190px;
  min-height:56px;
  margin-top:24px;
}
.bghs-contact-form--reference .rip-form__note{
  max-width:740px;
  margin-top:14px;
  color:var(--rip-muted);
  font-size:10px;
  line-height:1.6;
}
html[data-rip-theme="light"] .bghs-contact-reference__details,
html[data-rip-theme="light"] .bghs-contact-reference__form>.bghs-contact-form--reference{
  box-shadow:0 22px 70px rgba(31,38,48,.09),inset 0 1px 0 rgba(255,255,255,.92);
}

/* ---------------------------------------------------------
   FOOTER — four-column reference layout, no boxed outer card
   --------------------------------------------------------- */
.bghs-footer-reference{
  padding-top:0;
  border-top:1px solid color-mix(in srgb,var(--rip-border) 76%,transparent);
  background:var(--rip-background)!important;
}
.bghs-footer-reference__grid{
  display:grid;
  grid-template-columns:1.25fr .68fr 1.22fr 1fr;
  gap:60px;
  padding-top:76px;
  padding-bottom:66px;
}
.bghs-footer-reference__company{min-width:0}
.bghs-footer-reference .bghs-footer-logo{
  width:190px!important;
  height:150px!important;
  max-width:190px!important;
  display:grid!important;
  place-items:center;
  overflow:hidden;
}
.bghs-footer-reference .bghs-footer-logo .bghs-logo-switch{
  width:100%!important;
  height:100%!important;
}
.bghs-footer-reference .bghs-footer-logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.bghs-footer-reference__company>p{
  max-width:410px;
  margin:25px 0 0;
  color:var(--rip-muted);
  font-size:13px;
  line-height:1.9;
}
.bghs-footer-reference__social{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:28px;
}
.bghs-footer-reference__social .rip-footer-social-icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 58%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 82%,transparent);
  color:var(--rip-primary);
  text-decoration:none;
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
  transition:transform var(--rip-transition),background var(--rip-transition),color var(--rip-transition),border-color var(--rip-transition);
}
.bghs-footer-reference__social .rip-footer-social-icon:hover{
  transform:translateY(-3px);
  background:var(--rip-primary);
  border-color:var(--rip-primary);
  color:#fff;
}
.bghs-footer-reference__social .rip-icon{width:18px;height:18px}
.bghs-footer-reference .rip-footer-title{
  margin:8px 0 28px;
  color:var(--rip-text);
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.25px;
}
.bghs-footer-reference .rip-footer-links{gap:17px}
.bghs-footer-reference .rip-footer-links a{
  color:var(--rip-muted);
  font-size:12.5px;
  line-height:1.5;
}
.bghs-footer-reference .rip-footer-links a:hover{
  color:var(--rip-primary-hover);
  padding-left:5px;
}
.bghs-footer-reference .rip-footer-links--services{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 20px;
}
.bghs-footer-reference .rip-footer-contact{
  gap:18px;
}
.bghs-footer-reference .rip-footer-contact>div{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.bghs-footer-reference .rip-footer-contact__icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 58%,var(--rip-border));
  border-radius:50%;
  background:color-mix(in srgb,var(--rip-primary) 6%,var(--bghs-glass-bg-strong));
  color:var(--rip-primary);
}
.bghs-footer-reference .rip-footer-contact__icon .rip-icon{width:18px;height:18px}
.bghs-footer-reference .rip-footer-contact strong{
  margin-top:2px;
  color:var(--rip-text);
  font-size:12px;
}
.bghs-footer-reference .rip-footer-contact span,
.bghs-footer-reference .rip-footer-contact a{
  margin-top:5px;
  color:var(--rip-muted);
  font-size:11.5px;
  line-height:1.55;
}
.bghs-footer-reference .rip-footer-bottom-wrap{
  margin-top:0;
  border-top:1px solid color-mix(in srgb,var(--rip-border) 72%,transparent);
}
.bghs-footer-reference .rip-footer-bottom--centered{
  min-height:72px;
  padding:20px 0;
}
.bghs-footer-reference .rip-footer-copyright{
  font-size:10.5px;
}
html[data-rip-theme="light"] .bghs-footer-reference{
  background:var(--rip-background)!important;
}
html[data-rip-theme="light"] .bghs-footer-reference__social .rip-footer-social-icon,
html[data-rip-theme="light"] .bghs-footer-reference .rip-footer-contact__icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 28px rgba(25,30,38,.06);
}

/* Keep glass language coherent without sacrificing the requested reference layouts. */
.bghs-contact-reference__details,
.bghs-contact-reference__form>.bghs-contact-form--reference,
.bghs-about-reference__media,
.bghs-about-tabs__nav,
.bghs-service-card-v2,
.bghs-why-reason,
.bghs-project-card-v2,
.bghs-testimonial-card-v2,
.rip-faq{
  -webkit-backdrop-filter:blur(22px) saturate(155%);
  backdrop-filter:blur(22px) saturate(155%);
}

@media(max-width:1180px){
  .rip-header{grid-template-columns:122px minmax(0,1fr) auto}
  .bghs-header-logo{width:116px!important;height:76px!important;max-width:116px!important}
  .bghs-footer-reference__grid{grid-template-columns:1fr 1fr;gap:48px 58px}
  .bghs-footer-reference__services{grid-column:1/-1}
  .bghs-footer-reference .rip-footer-links--services{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .bghs-contact-reference__grid{grid-template-columns:1fr}
  .bghs-contact-reference__details{padding:24px 28px}
  .bghs-contact-reference__item{min-height:98px}
}
@media(max-width:760px){
  .rip-header{min-height:78px;grid-template-columns:98px 1fr auto}
  .bghs-header-logo{width:94px!important;height:62px!important;max-width:94px!important}
  .bghs-contact-reference__details{padding:18px 22px}
  .bghs-contact-reference__item{grid-template-columns:48px minmax(0,1fr);gap:16px;min-height:88px;padding:18px 0}
  .bghs-contact-reference__icon{width:44px;height:44px;border-radius:12px}
  .bghs-contact-reference__icon .rip-icon{width:20px;height:20px}
  .bghs-contact-reference__form>.bghs-contact-form--reference{padding:24px 20px!important}
  .bghs-contact-form--reference .bghs-contact-form__grid{grid-template-columns:1fr;gap:15px}
  .bghs-contact-form--reference .rip-field--full{grid-column:auto}
  .bghs-contact-form--reference .rip-btn--submit{width:100%}
  .bghs-footer-reference__grid{grid-template-columns:1fr;gap:40px;padding-top:56px;padding-bottom:48px}
  .bghs-footer-reference__services{grid-column:auto}
  .bghs-footer-reference .rip-footer-links--services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bghs-footer-reference .bghs-footer-logo{width:170px!important;height:136px!important;max-width:170px!important}
}
@media(max-width:480px){
  .bghs-footer-reference .rip-footer-links--services{grid-template-columns:1fr}
  .bghs-footer-reference .rip-footer-copyright span{display:none}
  .bghs-footer-reference .rip-footer-copyright a{display:inline-block;margin-top:3px}
}
/* Let the reference contact-detail rows share the full panel height evenly. */
@media(min-width:901px){
  .bghs-contact-reference__item{flex:1 1 0;min-height:104px}
}


/* =========================================================
   BG HANDYMAN SERVICE PRO v1.4.1
   Business hours + floating Hero highlight cards + FAQ polish
   ========================================================= */

/* Hero floating glass highlight cards. These stay fully editable through the
   existing Hero Highlight repeater, but now read as deliberate floating cards
   rather than inline metadata. */
.bghs-hero--centered .bghs-hero__inner{
  padding-bottom:104px;
}
.bghs-hero-centered{
  position:relative;
}
.bghs-hero-trust{
  width:min(100%,1180px);
  margin:52px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.bghs-hero-trust__item{
  position:relative;
  isolation:isolate;
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  padding:17px 18px;
  overflow:hidden;
  border:1px solid var(--bghs-glass-border);
  border-radius:18px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--bghs-glass-bg-strong) 92%,transparent),color-mix(in srgb,var(--bghs-glass-bg) 86%,transparent));
  box-shadow:
    0 20px 52px rgba(0,0,0,.20),
    inset 0 1px 0 var(--bghs-glass-highlight);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  backdrop-filter:blur(22px) saturate(160%);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.bghs-hero-trust__item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--rip-primary),color-mix(in srgb,var(--rip-primary) 18%,transparent));
}
.bghs-hero-trust__item::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-30px;
  top:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:var(--rip-primary);
  filter:blur(42px);
  opacity:.08;
}
.bghs-hero-trust__item:nth-child(1),
.bghs-hero-trust__item:nth-child(3){
  transform:translateY(9px);
}
.bghs-hero-trust__item:nth-child(2),
.bghs-hero-trust__item:nth-child(4){
  transform:translateY(-7px);
}
.bghs-hero-trust__item:hover{
  border-color:color-mix(in srgb,var(--rip-primary) 42%,var(--bghs-glass-border));
  box-shadow:
    0 28px 68px rgba(0,0,0,.27),
    0 0 0 1px color-mix(in srgb,var(--rip-primary) 8%,transparent),
    inset 0 1px 0 var(--bghs-glass-highlight);
}
.bghs-hero-trust__item>span{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 42%,var(--bghs-glass-border));
  border-radius:13px;
  background:color-mix(in srgb,var(--rip-primary) 10%,var(--bghs-glass-bg-strong));
  color:var(--rip-primary);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
}
.bghs-hero-trust__item .rip-icon,
.bghs-hero-trust__item .rip-icon--image{
  width:20px!important;
  height:20px!important;
}
.bghs-hero-trust__item strong{
  color:var(--rip-text);
  font-size:11.5px;
  line-height:1.45;
  font-weight:820;
  text-align:left;
}
html[data-rip-theme="light"] .bghs-hero-trust__item{
  box-shadow:
    0 18px 44px rgba(25,30,38,.09),
    inset 0 1px 0 rgba(255,255,255,.96);
}
html[data-rip-theme="light"] .bghs-hero-trust__item:hover{
  box-shadow:
    0 25px 60px rgba(25,30,38,.14),
    inset 0 1px 0 rgba(255,255,255,.96);
}

/* FAQ cards: provide real interior breathing room instead of placing text
   against the section edge. */
.rip-faq-list{
  border-top:0!important;
  display:grid;
  gap:12px;
}
.rip-faq{
  overflow:hidden;
  border:1px solid var(--bghs-glass-border)!important;
  border-radius:17px;
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 90%,transparent)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.11),inset 0 1px 0 var(--bghs-glass-highlight);
}
.rip-faq summary{
  min-height:76px;
  display:flex;
  align-items:center;
  padding:21px 72px 21px 24px!important;
  color:var(--rip-text)!important;
  line-height:1.5;
}
.rip-faq summary::after{
  right:20px!important;
  top:50%!important;
  width:38px!important;
  height:38px!important;
  transform:translateY(-50%);
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 92%,transparent);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight);
}
.rip-faq[open]{
  border-color:color-mix(in srgb,var(--rip-primary) 32%,var(--bghs-glass-border))!important;
  box-shadow:0 20px 52px rgba(0,0,0,.16),inset 0 1px 0 var(--bghs-glass-highlight);
}
.rip-faq[open] summary{
  padding-bottom:16px!important;
}
.rip-faq__answer{
  padding:0 72px 24px 24px!important;
  color:var(--rip-muted)!important;
  font-size:13.5px;
  line-height:1.85;
}
html[data-rip-theme="light"] .rip-faq{
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 94%,#fff 6%)!important;
  box-shadow:0 13px 34px rgba(25,30,38,.055),inset 0 1px 0 rgba(255,255,255,.98);
}
html[data-rip-theme="light"] .rip-faq[open]{
  box-shadow:0 18px 44px rgba(25,30,38,.09),inset 0 1px 0 rgba(255,255,255,.98);
}

@media(max-width:1100px){
  .bghs-hero-trust{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
    gap:14px;
  }
  .bghs-hero-trust__item:nth-child(n){
    transform:none;
  }
}
@media(max-width:760px){
  .bghs-hero--centered .bghs-hero__inner{
    padding-bottom:70px;
  }
  .bghs-hero-trust{
    grid-template-columns:1fr;
    width:min(100%,520px);
    margin-top:34px;
    gap:10px;
  }
  .bghs-hero-trust__item{
    min-height:70px;
    padding:13px 15px;
    border-radius:15px;
  }
  .bghs-hero-trust__item>span{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:11px;
  }
  .rip-faq-list{
    gap:10px;
  }
  .rip-faq{
    border-radius:14px;
  }
  .rip-faq summary{
    min-height:68px;
    padding:18px 62px 18px 18px!important;
    font-size:14px;
  }
  .rip-faq summary::after{
    right:15px!important;
    width:36px!important;
    height:36px!important;
  }
  .rip-faq__answer{
    padding:0 58px 20px 18px!important;
    font-size:13px;
  }
}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.5.0
   Simplified Hero/About + centered Contact icons + social footer
   ========================================================= */

/* Hero: no floating cards. Keep the centered editorial composition tighter
   and let the ambient red accents do the visual work. */
.bghs-hero--centered{min-height:640px}
.bghs-hero--centered .bghs-hero__inner{padding-bottom:92px!important}

/* About: the tabbed vision/story interface was intentionally removed. A
   concise paragraph and strong CTA area keep the section cleaner. */
.bghs-about-reference__actions{
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid color-mix(in srgb,var(--rip-border) 78%,transparent);
}

/* Contact details: center each icon vertically in its information row,
   including the longer Service Areas row. */
.bghs-contact-reference__item,
.bghs-contact-reference__item--areas{
  align-items:center!important;
}
.bghs-contact-reference__item--areas .bghs-contact-reference__icon{
  margin-top:0!important;
  align-self:center!important;
}
.bghs-contact-reference__icon{align-self:center}

/* Footer: complete one-page nav, one-column service list, real social profile
   slots, and stronger Prismsols credit treatment. */
.bghs-footer-reference__grid{
  grid-template-columns:1.18fr .72fr .92fr 1fr;
  gap:54px;
}
.bghs-footer-reference .rip-footer-links--services{
  grid-template-columns:1fr!important;
  gap:13px!important;
}
.bghs-footer-reference__social .rip-footer-social-icon{
  position:relative;
  flex:0 0 45px;
}
.bghs-footer-reference__social .rip-footer-social-icon.is-disabled{
  cursor:default;
  opacity:.66;
}
.bghs-footer-reference__social .rip-footer-social-icon.is-disabled:hover{
  transform:none;
  background:color-mix(in srgb,var(--bghs-glass-bg-strong) 82%,transparent);
  border-color:color-mix(in srgb,var(--rip-primary) 58%,var(--rip-border));
  color:var(--rip-primary);
}
.bghs-social-brand-icon{
  width:19px;
  height:19px;
  display:block;
}
.bghs-footer-reference .bghs-footer-designer,
.bghs-footer-reference .bghs-footer-designer strong{
  color:var(--rip-primary)!important;
  text-decoration:none;
}
.bghs-footer-reference .bghs-footer-designer:hover,
.bghs-footer-reference .bghs-footer-designer:hover strong{
  color:var(--rip-primary-hover)!important;
}

@media(max-width:1180px){
  .bghs-footer-reference__grid{grid-template-columns:1fr 1fr;gap:46px 58px}
  .bghs-footer-reference__services{grid-column:auto}
  .bghs-footer-reference .rip-footer-links--services{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .bghs-hero--centered{min-height:auto}
  .bghs-hero--centered .bghs-hero__inner{padding-bottom:64px!important}
  .bghs-about-reference__actions{padding-top:24px}
  .bghs-footer-reference__grid{grid-template-columns:1fr;gap:40px}
  .bghs-footer-reference .rip-footer-links--services{grid-template-columns:1fr!important}
}

/* Absolute centering for the line icons inside Contact detail tiles. */
.bghs-contact-reference__icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.bghs-contact-reference__icon .rip-icon{
  display:block!important;
  margin:auto!important;
}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.7.0
   Final motion, decorative surfaces, floating Hero highlights,
   full-logo header treatment and local-service visual polish.
   ========================================================= */

/* Header / logo: use the full normalized logo canvas and keep every part of
   the mark safely inside the header on both color modes. */
.rip-header{
  min-height:112px;
  grid-template-columns:154px minmax(0,1fr) auto;
  gap:20px;
}
.bghs-header-logo{
  width:146px!important;
  height:102px!important;
  max-width:146px!important;
  padding:4px 0;
  overflow:visible!important;
  display:grid!important;
  place-items:center;
}
.bghs-header-logo .bghs-logo-switch,
.bghs-header-logo .bghs-logo-switch>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
}
.bghs-header-logo .bghs-logo-switch>img{
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* Dark mode toggle: red ring AND red moon glyph. */
html[data-rip-theme="dark"] .rip-theme-toggle{
  color:var(--rip-primary)!important;
  border-color:var(--rip-primary)!important;
  background:color-mix(in srgb,var(--rip-surface) 78%,transparent)!important;
}
html[data-rip-theme="dark"] .rip-theme-toggle__moon,
html[data-rip-theme="dark"] .rip-theme-toggle__moon .rip-icon{
  color:var(--rip-primary)!important;
}
html[data-rip-theme="dark"] .rip-theme-toggle:hover .rip-theme-toggle__moon,
html[data-rip-theme="dark"] .rip-theme-toggle:hover .rip-theme-toggle__moon .rip-icon{
  color:#fff!important;
}

/* ---------------------------------------------------------
   Hero: reference-style floating business highlights
   --------------------------------------------------------- */
.bghs-hero--centered{
  min-height:780px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--rip-primary) 13%,transparent),transparent 34%),
    radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--rip-primary) 6%,transparent),transparent 27%),
    radial-gradient(circle at 88% 76%,color-mix(in srgb,var(--rip-primary) 5%,transparent),transparent 28%),
    linear-gradient(180deg,var(--rip-background),color-mix(in srgb,var(--rip-surface) 42%,var(--rip-background)))!important;
}
.bghs-hero--centered::before{
  opacity:.22;
  background-image:
    linear-gradient(color-mix(in srgb,var(--rip-border) 34%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 32%,transparent) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse at center,#000 0%,rgba(0,0,0,.72) 42%,transparent 78%);
}
.bghs-hero--centered .bghs-hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  padding:128px 0 132px!important;
}
.bghs-hero-centered{
  position:relative;
  z-index:3;
  max-width:1240px;
}
.bghs-hero--centered h1{
  max-width:1180px;
  font-size:clamp(60px,6.2vw,106px);
  line-height:.99;
  letter-spacing:-5px;
}
.bghs-hero--centered .bghs-hero__lead{max-width:980px}
.bghs-hero-float-layer{
  position:absolute;
  z-index:2;
  inset:34px -6px 30px;
  pointer-events:none;
}
.bghs-hero-float-card{
  --bghs-float-x:0px;
  --bghs-float-y:10px;
  position:absolute;
  width:238px;
  min-height:96px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--rip-primary) 42%,var(--bghs-glass-border));
  border-radius:17px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--bghs-glass-bg-strong) 94%,transparent),color-mix(in srgb,var(--bghs-glass-bg) 84%,transparent));
  box-shadow:0 22px 58px rgba(0,0,0,.22),inset 0 1px 0 var(--bghs-glass-highlight);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
  backdrop-filter:blur(22px) saturate(165%);
  animation:bghs-hero-bubble 6.8s ease-in-out infinite alternate;
  will-change:transform;
}
.bghs-hero-float-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg,transparent 12%,rgba(255,255,255,.08) 46%,transparent 70%);
  opacity:.5;
  pointer-events:none;
}
.bghs-hero-float-card__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--rip-primary) 56%,var(--rip-border));
  border-radius:13px;
  background:color-mix(in srgb,var(--rip-primary) 9%,var(--bghs-glass-bg-strong));
  color:var(--rip-primary);
  box-shadow:inset 0 1px 0 var(--bghs-glass-highlight),0 10px 24px color-mix(in srgb,var(--rip-primary) 10%,transparent);
}
.bghs-hero-float-card__icon .rip-icon,
.bghs-hero-float-card__icon .rip-icon--image{width:22px!important;height:22px!important}
.bghs-hero-float-card__copy{min-width:0;display:block;text-align:left}
.bghs-hero-float-card__copy small,
.bghs-hero-float-card__copy strong,
.bghs-hero-float-card__copy em{display:block;font-style:normal}
.bghs-hero-float-card__copy small{margin-bottom:2px;color:var(--rip-primary);font-size:8px;font-weight:900;letter-spacing:1.05px;text-transform:uppercase}
.bghs-hero-float-card__copy strong{color:var(--rip-text);font-size:13px;line-height:1.2;font-weight:850}
.bghs-hero-float-card__copy em{margin-top:4px;color:var(--rip-muted);font-size:9px;line-height:1.45}
.bghs-hero-float-card--1{left:0;top:8px;--bghs-float-y:12px;animation-duration:7.4s}
.bghs-hero-float-card--2{right:0;top:16px;--bghs-float-y:-11px;animation-duration:6.4s;animation-delay:-1.9s}
.bghs-hero-float-card--3{left:20px;bottom:0;--bghs-float-y:-13px;animation-duration:7.9s;animation-delay:-3.2s}
.bghs-hero-float-card--4{right:20px;bottom:4px;--bghs-float-y:11px;animation-duration:6.9s;animation-delay:-4.1s}
@keyframes bghs-hero-bubble{
  0%{transform:translate3d(var(--bghs-float-x),calc(var(--bghs-float-y) * -.35),0) rotate(-.25deg)}
  50%{transform:translate3d(3px,var(--bghs-float-y),0) rotate(.35deg)}
  100%{transform:translate3d(-2px,calc(var(--bghs-float-y) * -.7),0) rotate(-.15deg)}
}
html[data-rip-theme="light"] .bghs-hero-float-card{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,248,250,.68));
  box-shadow:0 20px 54px rgba(25,30,38,.10),inset 0 1px 0 rgba(255,255,255,.98);
}

/* ---------------------------------------------------------
   Section atmosphere: grids, gradients and abstract brush shapes
   --------------------------------------------------------- */
.bghs-about-reference,
.bghs-services-section,
.bghs-why-section,
.bghs-area-section,
.bghs-projects-section,
.bghs-testimonial-section,
.bghs-faq-section,
.bghs-contact-reference{overflow:hidden;isolation:isolate}
.bghs-about-reference>.rip-container,
.bghs-services-section>.rip-container,
.bghs-why-section>.rip-container,
.bghs-area-section>.rip-container,
.bghs-projects-section>.rip-container,
.bghs-testimonial-section>.rip-container,
.bghs-faq-section>.rip-container,
.bghs-contact-reference>.rip-container{position:relative;z-index:2}

.bghs-about-reference{
  background:
    radial-gradient(circle at 86% 28%,color-mix(in srgb,var(--rip-primary) 7%,transparent),transparent 25%),
    repeating-linear-gradient(135deg,color-mix(in srgb,var(--rip-border) 18%,transparent) 0 1px,transparent 1px 34px),
    var(--rip-background)!important;
}
.bghs-services-section{
  background:
    radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--rip-primary) 7%,transparent),transparent 26%),
    linear-gradient(color-mix(in srgb,var(--rip-border) 24%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 22%,transparent) 1px,transparent 1px),
    linear-gradient(180deg,var(--rip-surface),color-mix(in srgb,var(--rip-surface-alt) 70%,var(--rip-background)))!important;
  background-size:auto,54px 54px,54px 54px,auto;
}
.bghs-why-section{
  background:
    radial-gradient(circle at 82% 22%,color-mix(in srgb,var(--rip-primary) 9%,transparent),transparent 27%),
    radial-gradient(circle at 18% 82%,color-mix(in srgb,var(--rip-primary) 4%,transparent),transparent 31%),
    var(--rip-background)!important;
}
.bghs-area-section{
  background:
    repeating-radial-gradient(circle at 78% 48%,transparent 0 38px,color-mix(in srgb,var(--rip-border) 20%,transparent) 39px 40px,transparent 41px 76px),
    linear-gradient(180deg,var(--rip-surface),color-mix(in srgb,var(--rip-surface-alt) 72%,var(--rip-background)))!important;
}
.bghs-projects-section{
  background:
    linear-gradient(120deg,transparent 0 42%,color-mix(in srgb,var(--rip-primary) 3%,transparent) 42% 52%,transparent 52%),
    linear-gradient(color-mix(in srgb,var(--rip-border) 16%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 16%,transparent) 1px,transparent 1px),
    var(--rip-background)!important;
  background-size:auto,74px 74px,74px 74px,auto;
}
.bghs-testimonial-section{
  background:
    radial-gradient(ellipse at 18% 32%,color-mix(in srgb,var(--rip-primary) 8%,transparent),transparent 30%),
    radial-gradient(ellipse at 88% 72%,color-mix(in srgb,var(--rip-primary) 5%,transparent),transparent 26%),
    linear-gradient(180deg,var(--rip-surface),color-mix(in srgb,var(--rip-surface-alt) 72%,var(--rip-background)))!important;
}
.bghs-faq-section{
  background:
    repeating-linear-gradient(45deg,transparent 0 36px,color-mix(in srgb,var(--rip-border) 13%,transparent) 37px 38px,transparent 39px 76px),
    radial-gradient(circle at 12% 22%,color-mix(in srgb,var(--rip-primary) 6%,transparent),transparent 24%),
    var(--rip-background)!important;
}
.bghs-contact-reference{
  background:
    radial-gradient(circle at 84% 20%,color-mix(in srgb,var(--rip-primary) 8%,transparent),transparent 24%),
    radial-gradient(circle at 8% 88%,color-mix(in srgb,var(--rip-primary) 4%,transparent),transparent 28%),
    linear-gradient(color-mix(in srgb,var(--rip-border) 18%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--rip-border) 18%,transparent) 1px,transparent 1px),
    linear-gradient(180deg,var(--rip-surface),color-mix(in srgb,var(--rip-surface-alt) 70%,var(--rip-background)))!important;
  background-size:auto,auto,64px 64px,64px 64px,auto;
}
.bghs-services-section::after,
.bghs-projects-section::after,
.bghs-testimonial-section::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  width:440px;
  height:90px;
  border-radius:55% 45% 48% 52%;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rip-primary) 16%,transparent),transparent);
  filter:blur(26px);
  opacity:.55;
  transform:rotate(-11deg);
}
.bghs-services-section::after{right:-110px;top:18%}
.bghs-projects-section::after{left:-120px;bottom:16%;transform:rotate(8deg)}
.bghs-testimonial-section::after{right:-120px;bottom:14%;transform:rotate(-5deg)}

/* Micro-interactions and scroll reveal. */
.rip-btn--primary{position:relative;overflow:hidden;isolation:isolate}
.rip-btn--primary::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-50%;
  left:-36%;
  width:28%;
  height:200%;
  transform:skewX(-22deg) translateX(-260%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transition:transform .65s ease;
}
.rip-btn--primary:hover::after{transform:skewX(-22deg) translateX(620%)}
.bghs-service-card-v2,
.bghs-why-reason,
.bghs-project-card-v2,
.bghs-testimonial-card-v2,
.rip-faq,
.bghs-contact-reference__details,
.bghs-contact-reference__form>.bghs-contact-form--reference{
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,background-color .32s ease;
}
.bghs-service-card-v2:hover,
.bghs-why-reason:hover,
.bghs-project-card-v2:hover,
.bghs-testimonial-card-v2:hover{transform:translateY(-6px)}
.bghs-motion-ready .bghs-reveal{
  opacity:0;
  transform:translate3d(0,26px,0) scale(.988);
  filter:blur(2px);
  transition:opacity .72s cubic-bezier(.2,.7,.2,1) var(--bghs-reveal-delay,0ms),transform .72s cubic-bezier(.2,.7,.2,1) var(--bghs-reveal-delay,0ms),filter .72s ease var(--bghs-reveal-delay,0ms);
}
.bghs-motion-ready .bghs-reveal.is-visible{opacity:1;transform:none;filter:none}

html[data-rip-theme="light"] .bghs-about-reference{
  background:radial-gradient(circle at 86% 28%,color-mix(in srgb,var(--rip-primary) 5%,transparent),transparent 25%),repeating-linear-gradient(135deg,color-mix(in srgb,var(--rip-border) 24%,transparent) 0 1px,transparent 1px 34px),var(--rip-background)!important;
}

@media(max-width:1200px){
  .rip-header{min-height:104px;grid-template-columns:140px minmax(0,1fr) auto}
  .bghs-header-logo{width:132px!important;height:94px!important;max-width:132px!important}
  .bghs-hero--centered{min-height:auto}
  .bghs-hero--centered .bghs-hero__inner{padding:96px 0 82px!important}
  .bghs-hero-float-layer{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,760px);margin:46px auto 0;pointer-events:auto}
  .bghs-hero-float-card{position:relative!important;inset:auto!important;width:auto;min-height:90px}
}
@media(max-width:760px){
  .rip-header{min-height:88px;grid-template-columns:108px 1fr auto}
  .bghs-header-logo{width:104px!important;height:78px!important;max-width:104px!important;padding:3px 0}
  .bghs-hero--centered .bghs-hero__inner{padding:72px 0 64px!important}
  .bghs-hero--centered h1{font-size:clamp(43px,12vw,62px);letter-spacing:-2.7px}
  .bghs-hero-float-layer{grid-template-columns:1fr;margin-top:34px;gap:10px}
  .bghs-hero-float-card{min-height:78px;padding:12px 14px;grid-template-columns:42px 1fr;border-radius:15px;animation-duration:7.8s}
  .bghs-hero-float-card__icon{width:42px;height:42px;border-radius:11px}
  .bghs-hero-float-card__copy em{font-size:8.5px}
  .bghs-services-section,.bghs-projects-section,.bghs-contact-reference{background-size:auto,42px 42px,42px 42px,auto}
}
@media(max-width:420px){
  .rip-header{grid-template-columns:98px 1fr auto}
  .bghs-header-logo{width:94px!important;height:72px!important;max-width:94px!important}
}
@media(prefers-reduced-motion:reduce){
  .bghs-hero-float-card{animation:none!important;transform:none!important}
  .bghs-motion-ready .bghs-reveal,.bghs-motion-ready .bghs-reveal.is-visible{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .rip-btn--primary::after{display:none!important}
  .bghs-service-card-v2:hover,.bghs-why-reason:hover,.bghs-project-card-v2:hover,.bghs-testimonial-card-v2:hover{transform:none!important}
}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.8.0
   Final hero-container alignment + uncropped header logo.
   ========================================================= */

/* Keep the hero's positioning context on the exact same site-wide container
   used by the rest of the page. This prevents the floating cards from
   extending to the viewport edges on wide screens. */
.bghs-hero--centered .bghs-hero__inner{
  width:min(calc(100% - 48px),var(--rip-container))!important;
  margin-inline:auto!important;
}
.bghs-hero-float-layer{
  inset:34px 0 30px!important;
}
.bghs-hero-float-card{
  width:218px;
}
.bghs-hero-float-card--1{left:0!important;top:10px!important}
.bghs-hero-float-card--2{right:0!important;top:18px!important}
.bghs-hero-float-card--3{left:0!important;bottom:2px!important}
.bghs-hero-float-card--4{right:0!important;bottom:6px!important}

/* Give the central message a little more breathing room from the corner
   cards while keeping the overall composition symmetrical. */
.bghs-hero-centered{
  width:min(100%,980px);
  margin-inline:auto;
}
.bghs-hero--centered h1{max-width:980px}
.bghs-hero--centered .bghs-hero__lead{max-width:850px}

/* Header logo: scale the complete original-aspect-ratio artwork instead of
   filling/cropping a fixed box. The image is always fully contained. */
.rip-header{
  min-height:104px;
  grid-template-columns:124px minmax(0,1fr) auto;
}
.bghs-header-logo{
  width:116px!important;
  height:88px!important;
  max-width:116px!important;
  max-height:88px!important;
  padding:4px 0!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.bghs-header-logo .bghs-logo-switch{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.bghs-header-logo .bghs-logo-switch>img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  display:block!important;
}

@media(max-width:1200px){
  .bghs-hero--centered .bghs-hero__inner{
    width:min(calc(100% - 48px),var(--rip-container))!important;
  }
  .bghs-hero-float-layer{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:min(100%,760px)!important;
    margin:46px auto 0!important;
  }
  .bghs-hero-float-card{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
  }
  .bghs-hero-centered{width:min(100%,1040px)}
  .rip-header{
    min-height:98px;
    grid-template-columns:116px minmax(0,1fr) auto;
  }
  .bghs-header-logo{
    width:108px!important;
    height:82px!important;
    max-width:108px!important;
    max-height:82px!important;
  }
}

@media(max-width:760px){
  .bghs-hero--centered .bghs-hero__inner{
    width:min(calc(100% - 28px),var(--rip-container))!important;
  }
  .rip-header{
    min-height:82px;
    grid-template-columns:94px 1fr auto;
  }
  .bghs-header-logo{
    width:88px!important;
    height:68px!important;
    max-width:88px!important;
    max-height:68px!important;
    padding:2px 0!important;
  }
}

@media(max-width:420px){
  .rip-header{grid-template-columns:86px 1fr auto}
  .bghs-header-logo{
    width:80px!important;
    height:62px!important;
    max-width:80px!important;
    max-height:62px!important;
  }
}

/* =========================================================
   BG HANDYMAN SERVICE PRO v1.8.0
   IMAGE SPEC PLACEHOLDERS + MODE-SPECIFIC CUSTOM ICONS
   ========================================================= */

/* Dark/light custom icon asset switching. The built-in SVG icon remains the
   fallback whenever no uploaded assets are selected. */
.bghs-mode-icon{
  width:100%;height:100%;display:inline-grid;place-items:center;line-height:0
}
.bghs-mode-icon__variant{
  grid-area:1/1;display:grid;place-items:center;width:100%;height:100%
}
.bghs-mode-icon__light{display:none}
html[data-rip-theme="light"] .bghs-mode-icon__dark{display:none}
html[data-rip-theme="light"] .bghs-mode-icon__light{display:grid}
.bghs-mode-icon__asset{
  display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:center;
  transition:transform .28s ease,opacity .28s ease,filter .28s ease
}
.bghs-service-card-v2:hover .bghs-mode-icon__asset,
.bghs-why-reason:hover .bghs-mode-icon__asset{transform:scale(1.08)}

/* Purpose-built image placeholders. They intentionally stay dark grey in both
   color modes so editors/clients can immediately recognize unfinished imagery. */
.bghs-image-placeholder{
  width:100%;height:100%;min-height:260px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;padding:34px;text-align:center;
  color:#f2f3f5;background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 42%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 1px,transparent 1px 18px),
    #24262a!important;
  border:1px dashed #555961!important;border-radius:inherit;box-shadow:none!important;
  position:relative;overflow:hidden
}
.bghs-image-placeholder::before{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;
  background:rgba(225,6,0,.12);filter:blur(70px);right:-60px;top:-70px;pointer-events:none
}
.bghs-image-placeholder__icon{
  position:relative;z-index:1;width:52px;height:52px;display:grid;place-items:center;
  border-radius:15px;border:1px solid rgba(255,255,255,.14);background:#1b1d20;color:var(--rip-primary)
}
.bghs-image-placeholder__icon .rip-icon{width:25px;height:25px}
.bghs-image-placeholder strong,
.bghs-image-placeholder__subject,
.bghs-image-placeholder small{position:relative;z-index:1;display:block}
.bghs-image-placeholder strong{
  margin-top:4px;color:#fff;font-size:12px;line-height:1.25;font-weight:900;
  letter-spacing:1.35px;text-transform:uppercase
}
.bghs-image-placeholder__subject{
  max-width:340px;color:#c2c5ca;font-size:12px;line-height:1.55;font-weight:650
}
.bghs-image-placeholder small{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;
  margin-top:4px;color:#969aa1;font-size:10px;line-height:1.4;font-style:normal
}
.bghs-image-placeholder small b{color:#e4e6e9;font-weight:800}
.bghs-image-placeholder small i{color:var(--rip-primary);font-style:normal}

/* About placeholder leaves breathing room for the owner-operated overlay card. */
.bghs-about-reference__placeholder{
  min-height:680px!important;height:100%!important;padding:48px 34px 155px!important;
  border-radius:0!important
}

/* Why Choose Us media is an actual image slot rather than falling back to the logo. */
.bghs-why-feature__placeholder{
  position:absolute;inset:0;min-height:100%;padding:46px 28px 155px;border-radius:0!important
}

/* Project image specification placeholder. */
.bghs-project-placeholder{
  min-height:100%;padding:26px!important;border:0!important;border-radius:0!important
}
.bghs-project-placeholder::after{display:none!important}
.bghs-project-placeholder .bghs-image-placeholder__icon .rip-icon{width:25px!important;height:25px!important}
.bghs-project-placeholder .bghs-image-placeholder__subject{font-size:11px}

/* Compact photo-spec placeholder for optional customer avatars. */
.bghs-testimonial-card-v2 .rip-testimonial-card__avatar .bghs-avatar-placeholder{
  width:100%;height:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;padding:5px;border-radius:50%;background:#24262a!important;color:#f3f4f5!important;
  text-align:center;line-height:1.05;text-transform:uppercase;box-sizing:border-box
}
.bghs-avatar-placeholder b{font-size:7px;letter-spacing:.6px;color:#fff}
.bghs-avatar-placeholder small{font-size:7px;color:var(--rip-primary);font-weight:900}
.bghs-avatar-placeholder em{font-size:5.5px;color:#aeb1b6;font-style:normal;font-weight:750}

@media(max-width:1040px){
  .bghs-about-reference__placeholder{min-height:0!important}
  .bghs-why-feature__placeholder{padding-bottom:145px}
}
@media(max-width:700px){
  .bghs-image-placeholder{min-height:220px;padding:26px 20px}
  .bghs-image-placeholder__subject{font-size:11px}
  .bghs-about-reference__placeholder{padding:32px 22px 135px!important}
  .bghs-why-feature__placeholder{padding:32px 20px 140px}
}


/* =========================================================
   BG HANDYMAN SERVICE PRO v1.9.1
   FIELD/OVERLAY CONTROLS + MOBILE HEADER ALIGNMENT
   ========================================================= */

/* Uploaded media-library icons used in the About / Why image overlays. */
.bghs-about-reference__badge>span .bghs-single-media-icon,
.bghs-why-feature__copy>span .bghs-single-media-icon{
  width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;
  object-fit:contain!important;display:block!important
}

/* Make the About phone treatment feel interactive, not just the phone number. */
.bghs-about-reference__phone>span:first-child{
  transition:transform .28s ease,border-color .28s ease,background-color .28s ease,box-shadow .28s ease,color .28s ease;
}
.bghs-about-reference__phone .rip-icon{transition:transform .28s ease,color .28s ease}
.bghs-about-reference__phone:hover>span:first-child,
.bghs-about-reference__phone:focus-visible>span:first-child{
  transform:translateY(-3px) scale(1.04);
  border-color:var(--rip-primary);
  background:color-mix(in srgb,var(--rip-primary) 14%,var(--bghs-glass-bg));
  color:var(--rip-primary-hover);
  box-shadow:0 12px 34px color-mix(in srgb,var(--rip-primary) 18%,transparent),inset 0 1px 0 var(--bghs-glass-highlight);
}
.bghs-about-reference__phone:hover .rip-icon,
.bghs-about-reference__phone:focus-visible .rip-icon{transform:rotate(-8deg) scale(1.08)}

/* Ensure mobile/tablet controls occupy the far-right grid column even though
   the navigation itself becomes absolutely positioned. */
.rip-header__actions{justify-self:end;margin-left:auto}
@media(max-width:1100px){
  .rip-header__actions{grid-column:3!important;justify-self:end!important;margin-left:auto!important}
}
@media(max-width:760px){
  .rip-header__actions{grid-column:3!important;justify-self:end!important;margin-left:auto!important;gap:8px}
}
@media(max-width:420px){
  .rip-header__actions{grid-column:3!important;justify-self:end!important;margin-left:auto!important;gap:6px}
}


/* =========================================================
   BG HANDYMAN SERVICE PRO v1.9.1
   RIGHT-ALIGNED TABLET / MOBILE NAVIGATION PANEL
   ========================================================= */
@media(max-width:1100px){
  /* Keep the logo on the left and both controls on the far right. The menu
     panel is positioned relative to this same centered header container. */
  .rip-header{
    position:relative;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:14px!important;
  }
  .rip-logo{grid-column:1!important;justify-self:start}
  .rip-header__actions{
    grid-column:2!important;
    justify-self:end!important;
    margin-left:auto!important;
    position:relative;
    z-index:4;
  }

  /* Compact glass dropdown anchored directly under the hamburger area. */
  .rip-nav{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    right:0!important;
    left:auto!important;
    width:min(370px,calc(100vw - 32px))!important;
    max-width:100%!important;
    max-height:calc(100dvh - 126px)!important;
    overflow:auto!important;
    display:block!important;
    padding:10px!important;
    border:1px solid color-mix(in srgb,var(--rip-primary) 28%,var(--rip-border))!important;
    border-radius:20px!important;
    background:
      linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%),
      color-mix(in srgb,var(--rip-background) 92%,transparent)!important;
    -webkit-backdrop-filter:blur(28px) saturate(150%);
    backdrop-filter:blur(28px) saturate(150%);
    box-shadow:
      0 24px 75px rgba(0,0,0,.46),
      0 0 0 1px rgba(255,255,255,.025) inset,
      0 1px 0 rgba(255,255,255,.08) inset!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px) scale(.975);
    transform-origin:top right;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
    z-index:80;
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--rip-primary) 62%,transparent) transparent;
  }
  .rip-nav::before{
    content:"";
    position:absolute;
    top:0;
    right:18px;
    width:72px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,var(--rip-primary),transparent);
    box-shadow:0 0 18px color-mix(in srgb,var(--rip-primary) 38%,transparent);
  }
  .rip-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .rip-menu{
    display:grid!important;
    gap:6px!important;
  }
  .rip-menu>li{
    position:relative;
    border:1px solid transparent;
    border-radius:13px;
    transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
  }
  .rip-menu>li>a{
    position:relative;
    min-height:50px!important;
    padding:0 46px 0 17px!important;
    border:0!important;
    border-radius:12px;
    color:var(--rip-text)!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.35px!important;
    background:transparent;
    transition:color .2s ease,background-color .2s ease,transform .2s ease!important;
  }
  .rip-menu>li>a::before{
    content:"";
    position:absolute;
    left:5px;
    top:50%;
    width:3px;
    height:0;
    border-radius:999px;
    background:var(--rip-primary);
    transform:translateY(-50%);
    box-shadow:0 0 12px color-mix(in srgb,var(--rip-primary) 52%,transparent);
    transition:height .2s ease;
  }
  .rip-menu>li:hover,
  .rip-menu>li:focus-within,
  .rip-menu>li.current-menu-item{
    border-color:color-mix(in srgb,var(--rip-primary) 18%,var(--rip-border));
    background:color-mix(in srgb,var(--rip-primary) 7%,var(--rip-surface));
  }
  .rip-menu>li:hover>a,
  .rip-menu>li:focus-within>a,
  .rip-menu>li.current-menu-item>a,
  .rip-menu>li>a.is-active{
    color:var(--rip-primary-hover)!important;
    transform:translateX(3px);
  }
  .rip-menu>li:hover>a::before,
  .rip-menu>li:focus-within>a::before,
  .rip-menu>li.current-menu-item>a::before,
  .rip-menu>li>a.is-active::before{height:22px}

  .rip-menu .sub-menu{
    position:static!important;
    width:auto!important;
    margin:0 8px 8px!important;
    padding:6px!important;
    border:1px solid color-mix(in srgb,var(--rip-primary) 12%,var(--rip-border))!important;
    border-radius:10px!important;
    border-left:1px solid color-mix(in srgb,var(--rip-primary) 12%,var(--rip-border))!important;
    background:color-mix(in srgb,var(--rip-surface) 68%,transparent)!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    display:none!important;
  }
  .rip-menu .submenu-open>.sub-menu{display:block!important}
  .rip-menu .sub-menu a{
    min-height:40px;
    align-items:center;
    padding:9px 12px!important;
    border-radius:8px;
    color:var(--rip-muted)!important;
    font-size:11px!important;
  }
  .rip-menu .sub-menu a:hover{color:var(--rip-primary-hover)!important}

  .rip-submenu-toggle{
    right:6px!important;
    top:5px!important;
    width:40px!important;
    height:40px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    color:var(--rip-muted);
    transition:background-color .2s ease,border-color .2s ease!important;
  }
  .rip-submenu-toggle:hover,
  .rip-submenu-toggle:focus-visible{
    background:color-mix(in srgb,var(--rip-primary) 8%,transparent)!important;
    border-color:color-mix(in srgb,var(--rip-primary) 18%,transparent)!important;
  }
  .rip-submenu-toggle span{
    border-color:currentColor!important;
  }

  /* The hamburger itself reads as the trigger for the panel beneath it. */
  .rip-menu-toggle{
    border-color:color-mix(in srgb,var(--rip-primary) 22%,var(--rip-border));
    background:color-mix(in srgb,var(--rip-surface) 82%,transparent);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease;
  }
  .rip-menu-toggle:hover,
  .rip-menu-toggle:focus-visible,
  .rip-menu-toggle.is-open{
    border-color:var(--rip-primary);
    background:color-mix(in srgb,var(--rip-primary) 8%,var(--rip-surface));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--rip-primary) 10%,transparent),inset 0 1px 0 rgba(255,255,255,.06);
  }
}

@media(max-width:760px){
  .rip-nav{
    top:calc(100% + 8px)!important;
    width:min(340px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 108px)!important;
    padding:8px!important;
    border-radius:17px!important;
  }
  .rip-menu{gap:5px!important}
  .rip-menu>li>a{min-height:48px!important;padding-left:15px!important;font-size:11.5px!important}
}

@media(max-width:480px){
  .rip-nav{
    width:min(320px,calc(100vw - 20px))!important;
    border-radius:15px!important;
  }
}

@media(max-width:1100px){
  html[data-rip-theme="light"] .rip-nav{
    background:
      linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.38) 44%,transparent),
      color-mix(in srgb,var(--rip-background) 92%,transparent)!important;
    border-color:color-mix(in srgb,var(--rip-primary) 22%,var(--rip-border))!important;
    box-shadow:
      0 24px 65px rgba(25,30,38,.16),
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 1px 0 rgba(255,255,255,.96) inset!important;
  }
  html[data-rip-theme="light"] .rip-menu>li:hover,
  html[data-rip-theme="light"] .rip-menu>li:focus-within,
  html[data-rip-theme="light"] .rip-menu>li.current-menu-item{
    background:color-mix(in srgb,var(--rip-primary) 6%,#fff);
  }
}

@media(prefers-reduced-motion:reduce){
  .rip-nav{transition:none!important;transform:none!important}
  .rip-menu>li>a{transition:none!important}
}


/* =========================================================
   BG HANDYMAN SERVICE PRO v1.9.2
   SQUARE LOGO BOXES + CONDITIONAL/CUSTOM FOOTER SOCIAL ICONS
   ========================================================= */

/* Header logo: equal width/height, full artwork contained, never cropped. */
.rip-header{
  min-height:132px!important;
  grid-template-columns:124px minmax(0,1fr) auto!important;
}
.bghs-header-logo{
  width:116px!important;
  height:116px!important;
  max-width:116px!important;
  max-height:116px!important;
  min-width:116px!important;
  min-height:116px!important;
  padding:0!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.bghs-header-logo .bghs-logo-switch{
  width:116px!important;
  height:116px!important;
  max-width:116px!important;
  max-height:116px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.bghs-header-logo .bghs-logo-switch>img{
  grid-area:1/1;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  display:block!important;
}

/* Footer logo: equal width/height with the complete logo contained. */
.bghs-footer-reference .bghs-footer-logo{
  width:190px!important;
  height:190px!important;
  max-width:190px!important;
  max-height:190px!important;
  min-width:190px!important;
  min-height:190px!important;
  padding:0!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.bghs-footer-reference .bghs-footer-logo .bghs-logo-switch{
  width:190px!important;
  height:190px!important;
  max-width:190px!important;
  max-height:190px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.bghs-footer-reference .bghs-footer-logo .bghs-logo-switch>img{
  grid-area:1/1;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  display:block!important;
}

/* User-selected social artwork from the Media Library. */
.bghs-footer-reference__social .bghs-social-custom-icon{
  width:19px!important;
  height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  transition:transform .22s ease,filter .22s ease,opacity .22s ease;
}
.bghs-footer-reference__social a:hover .bghs-social-custom-icon,
.bghs-footer-reference__social a:focus-visible .bghs-social-custom-icon{
  transform:scale(1.08);
}

/* Keep square proportions at every responsive breakpoint as well. */
@media(max-width:1200px){
  .rip-header{min-height:118px!important;grid-template-columns:108px minmax(0,1fr) auto!important}
  .bghs-header-logo,
  .bghs-header-logo .bghs-logo-switch{
    width:104px!important;height:104px!important;max-width:104px!important;max-height:104px!important;min-width:104px!important;min-height:104px!important;
  }
  .bghs-footer-reference .bghs-footer-logo,
  .bghs-footer-reference .bghs-footer-logo .bghs-logo-switch{
    width:176px!important;height:176px!important;max-width:176px!important;max-height:176px!important;min-width:176px!important;min-height:176px!important;
  }
}
@media(max-width:760px){
  .rip-header{min-height:100px!important;grid-template-columns:88px 1fr auto!important}
  .bghs-header-logo,
  .bghs-header-logo .bghs-logo-switch{
    width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important;min-width:84px!important;min-height:84px!important;
  }
  .bghs-footer-reference .bghs-footer-logo,
  .bghs-footer-reference .bghs-footer-logo .bghs-logo-switch{
    width:160px!important;height:160px!important;max-width:160px!important;max-height:160px!important;min-width:160px!important;min-height:160px!important;
  }
}
@media(max-width:420px){
  .rip-header{grid-template-columns:80px 1fr auto!important}
  .bghs-header-logo,
  .bghs-header-logo .bghs-logo-switch{
    width:76px!important;height:76px!important;max-width:76px!important;max-height:76px!important;min-width:76px!important;min-height:76px!important;
  }
}
