/* RMTech parallax inner pages
   Fixed full-page featured-image background, reverse parallax with hold,
   hero title + tldr, Rain Cloud content panels, bottom reveal above footer. */

.rmt-parallax-bg{position:fixed;top:0;left:0;width:100%;height:100vh;overflow:hidden;z-index:-1;background-color:#3D4F63;}
.rmt-parallax-bg img{position:absolute;top:0;left:0;display:block;width:100%;height:auto;min-height:100vh;object-fit:cover;will-change:transform;transition:opacity 1.2s ease;}
.rmt-parallax-bg::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(26,34,46,0.28);}

.rmt-hero{padding:90px 20px 70px;text-align:center;}
.rmt-hero h1{font:700 52px/1.15 'Cabin',sans-serif;color:#ffffff;margin:0 0 18px;text-shadow:0 2px 20px rgba(0,0,0,0.6);}
.rmt-tldr{max-width:760px;margin:0 auto;font:400 17px/1.65 'Cabin',sans-serif;color:#ffffff;text-shadow:0 1px 12px rgba(0,0,0,0.7);}

.rmt-bottom-gap{display:none;}
body.rmt-parallax .rmt-bottom-gap{display:block;height:0;}
body.rmt-parallax .content-area{padding:0;}
body.rmt-parallax .site-main{float:none;width:100%;}
body.rmt-parallax #sidebar{display:none;}
body.rmt-parallax.page .entry-header{display:none;}

.rmt-panel{box-sizing:border-box;width:min(92%,860px);margin:var(--rmt-gap) auto;background-color:#EDEEF3;padding:36px 44px;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.22);}
.rmt-panel > :last-child{margin-bottom:0;}
.rmt-panel h2,.rmt-panel h3{margin-top:0;}

@media (max-width:600px){
  .rmt-hero{padding:60px 16px 50px;}
  .rmt-hero h1{font-size:34px;}
  .rmt-panel{padding:26px 22px;}
  body.rmt-parallax .rmt-bottom-gap{height:0;}
}
@media (prefers-reduced-motion: reduce){
  .rmt-parallax-bg img{transform:none !important;}
}


/* ===== Homepage: hero content sits in a pillbox panel over the parallax
   background (photo shows on the sides), matching the other panel sections. ===== */
body.home .container.content-area{width:100%;background:transparent;padding:var(--rmt-gap) 0;}
body.home .content-area .middle-align{width:min(92%,1100px);max-width:100%;margin:0 auto;
  background-color:#EDEEF3;padding:40px 44px;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.22);box-sizing:border-box;}
body.home .rmt-bottom-gap{display:block;height:0;}
@media (max-width:600px){
  body.home .content-area .middle-align{padding:26px 22px;}
  body.home .rmt-bottom-gap{height:0;}
}


/* ===== Contact section merged into About: looks like its own page ===== */
.rmt-contact-spacer{height:37vh;}
.rmt-section-hero{padding:30px 20px 55px;text-align:center;scroll-margin-top:80px;}
.rmt-section-hero h2{font:700 46px/1.15 'Cabin',sans-serif;color:#ffffff;margin:0 0 16px;text-shadow:0 2px 20px rgba(0,0,0,0.6);}
@media (max-width:600px){
  .rmt-contact-spacer{height:30vh;}
  .rmt-section-hero h2{font-size:32px;}
}


/* ===== About/Contact page: full-width sheet like the homepage =====
   Panels become seamless full-width grey slabs; text stays centered at
   printed-page width via padding. Background still shows at the hero,
   the contact spacer, and the bottom reveal. */
body.page-id-7 .container.content-area{width:100%;padding:0 0 60px;}
body.page-id-7 .rmt-panel{width:100%;max-width:none;margin:0;border-radius:0;box-shadow:none;padding:28px max(20px,calc(50% - 430px));}
body.page-id-7 .rmt-panel:first-child{padding-top:42px;}
body.page-id-7 .rmt-hero{padding-bottom:55px;}


/* ===== Tech Tips (posts page): each post in its own grey panel ===== */
body.rmt-parallax.blog .blog-post-repeat{box-sizing:border-box;width:min(92%,860px);margin:var(--rmt-gap) auto;background-color:#EDEEF3;padding:36px 44px;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.22);}
body.rmt-parallax.blog .blog-post-repeat .post-title{margin-top:0;}
body.rmt-parallax.blog .pagination{text-align:center;}
@media (max-width:600px){
  body.rmt-parallax.blog .blog-post-repeat{padding:26px 22px;}
}


/* ===== Review form + carousel panels ===== */
.rmt-review-form .rmt-field{margin-bottom:18px;}
.rmt-review-form label{display:block;font:600 14px/1.4 'Cabin',sans-serif;color:#3D4F63;margin-bottom:6px;}
.rmt-review-form input[type=text],.rmt-review-form textarea{width:100%;padding:12px 14px;border:1px solid #c5cad6;border-radius:4px;background-color:#ffffff;font:400 15px/1.5 'Cabin',sans-serif;color:#333333;box-sizing:border-box;}
.rmt-review-form input[type=text]:focus,.rmt-review-form textarea:focus{outline:none;border-color:#5BA8D4;}
.rmt-review-form .rmt-hp{position:absolute;left:-9999px;height:0;overflow:hidden;}
.rmt-review-form button.button{border:none;cursor:pointer;}
.rmt-form-success{background-color:#dff2e0;border:1px solid #9ed3a2;padding:14px 18px;border-radius:4px;}
.rmt-form-error{background-color:#fdecea;border:1px solid #f5b7b1;padding:14px 18px;border-radius:4px;}
.rmt-panel #clienttestiminials .item, body.home #clienttestiminials .item{background-color:#ffffff;border:1px solid #dfe2ea;}


/* ===== Service image bubbles (placeholder colour + label; swap inner for <img> later) ===== */
.rmt-bubble{width:72px;height:72px;border-radius:50%;background:var(--bubble,#5BA8D4);display:flex;align-items:center;justify-content:center;flex:0 0 72px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.18);}
.rmt-bubble span{color:#fff;font:700 12px/1.15 'Cabin',sans-serif;text-align:center;padding:4px;text-transform:uppercase;letter-spacing:.02em;}
.rmt-bubble img{width:100%;height:100%;object-fit:cover;display:block;}

/* Service-page bubble lists (titles NOT linked) */
.rmt-bubble-list{display:flex;flex-direction:column;gap:24px;}
.rmt-bubble-item{display:flex;gap:20px;align-items:flex-start;}
.rmt-bubble-text{flex:1;}
.rmt-bubble-text h4{margin:0 0 6px;font:600 19px/1.3 'Cabin',sans-serif;color:#3D4F63;}
.rmt-bubble-text p{margin:0;line-height:1.6;}

/* Services-page service list (whole row links to the service page) */
.rmt-service-list{display:flex;flex-direction:column;gap:16px;margin-top:24px;}
.rmt-service-row{display:flex;gap:20px;align-items:center;padding:16px;border-radius:8px;background:#fff;text-decoration:none;border:1px solid #e1e4ec;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.rmt-service-row:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,0.12);border-color:#5BA8D4;}
.rmt-service-text{display:flex;flex-direction:column;gap:4px;}
.rmt-service-text strong{font:700 19px/1.3 'Cabin',sans-serif;color:#3D4F63;}
.rmt-service-text span{color:#555;font-size:15px;line-height:1.55;}

.rmt-cta-panel{text-align:center;}

/* Section spacer (reveals parallax background between sections, e.g. before Pricing) */
.rmt-section-spacer{height:30vh;}

/* Pricing menu (no images) */
.rmt-price-menu{display:flex;flex-direction:column;}
.rmt-price-item{padding:20px 0;border-bottom:1px solid #d7dae3;}
.rmt-price-item:first-child{padding-top:0;}
.rmt-price-item:last-child{border-bottom:none;}
.rmt-price-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.rmt-price-head h4{margin:0;font:600 20px/1.3 'Cabin',sans-serif;color:#3D4F63;}
.rmt-price{font:700 20px/1.2 'Cabin',sans-serif;color:#5BA8D4;white-space:nowrap;}
.rmt-price-item p{margin:8px 0 0;color:#555;line-height:1.6;}
.rmt-price-item em{color:#777;font-style:italic;}
.rmt-price-note{margin-top:26px;font-style:italic;color:#666;}

@media (max-width:600px){
  .rmt-bubble{width:56px;height:56px;flex-basis:56px;}
  .rmt-bubble span{font-size:10px;}
  .rmt-bubble-item{gap:14px;}
  .rmt-service-row{gap:14px;padding:13px;}
  .rmt-section-spacer{height:20vh;}
  .rmt-price-head h4{font-size:18px;}
  .rmt-price{font-size:18px;}
}

/* fix: keep About full-width panels and their form inside the viewport, centered */
body.page-id-7 .rmt-panel{box-sizing:border-box;}

/* RMTech: colour the homepage services accordion headers like the service bubbles */
#skills .accordion-box{margin-bottom:12px;}
#skills .accordion-box h2{color:#fff !important;border:1px solid transparent !important;border-radius:8px;padding:14px 18px !important;font-size:14px !important;transition:filter .15s ease;}
#skills .accordion-box h2:hover{filter:brightness(1.06);}
#skills .accordion-box:nth-of-type(1) h2{background-color:#5BA8D4 !important;}
#skills .accordion-box:nth-of-type(2) h2{background-color:#F2A03D !important;}
#skills .accordion-box:nth-of-type(3) h2{background-color:#5FB37A !important;}
#skills .accordion-box:nth-of-type(4) h2{background-color:#C0577B !important;}
#skills .accordion-box:nth-of-type(5) h2{background-color:#8E6FC4 !important;}


/* =========================================================
   RMTech header cleanup: remove welcome top-bar, tighten the
   brand row, vertically centre hours / phone / quote with logo
   ========================================================= */
.header-top{display:none !important;}
.header .header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;}
.header .logo{float:none;padding:0;margin:0;display:flex;align-items:center;}
.header .logo img{max-height:60px;width:auto;display:block;}
.header .header_right{float:none;width:auto;padding:0;display:flex;align-items:center;gap:30px;}
.header .right-box{float:none;width:auto;margin:0;display:flex;align-items:center;gap:10px;}
.header .right-box .bx-icon{font-size:22px;color:#5BA8D4;line-height:1;}
.header .right-box .bx-text h5{margin:0;line-height:1.2;}
.header .right-box .bx-text span{line-height:1.2;}
.header .get-quote{float:none;width:auto;margin:0;}
.header .get-quote a.button{margin:0;}
@media (max-width:1024px){ .header .header_right{gap:16px;} }
@media (max-width:768px){
  .header .header-inner{flex-wrap:wrap;justify-content:center;gap:12px;padding:12px 0;}
  .header .header_right{width:100%;justify-content:center;flex-wrap:wrap;gap:18px;}
}

/* =========================================================
   RMTech footer (sits on existing Thunderhead #454B5A bg)
   ========================================================= */
.rmt-foot-cols{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;}
.rmt-foot-col{flex:1;min-width:200px;}
.rmt-foot-brand{flex:1.5;}
.rmt-foot-logo{max-width:220px;height:auto;display:block;margin-bottom:16px;}
.rmt-foot-wordmark{color:#fff;margin:0 0 14px;}
.rmt-foot-blurb{color:#c3c9d4;line-height:1.65;margin:0 0 16px;font-size:13px;}
.rmt-footer .rmt-foot-col h5{color:#fff;font:700 15px/1.3 'Cabin',sans-serif;margin:0 0 18px;padding-bottom:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #696F80;}
.rmt-foot-menu{list-style:none;margin:0;padding:0;}
.rmt-foot-menu li{margin:0 0 11px;list-style:none;}
.rmt-foot-menu a{color:#EDEEF3;text-decoration:none;transition:color .2s ease;}
.rmt-foot-menu a:hover{color:#5BA8D4;}
.rmt-foot-contactlist{list-style:none;margin:0 0 18px;padding:0;}
.rmt-foot-contactlist li{margin:0 0 13px;line-height:1.45;list-style:none;}
.rmt-foot-contactlist i{color:#5BA8D4;width:20px;margin-right:9px;text-align:center;}
.rmt-foot-contactlist a{color:#EDEEF3;text-decoration:none;}
.rmt-foot-contactlist a:hover{color:#5BA8D4;}
.rmt-foot-cta .button{margin:0;}
@media (max-width:768px){
  .rmt-foot-cols{gap:26px;}
  .rmt-foot-col,.rmt-foot-brand{flex:1 1 100%;min-width:0;}
}

/* =========================================================
   RMTech service-page accordions (keep the colour bubbles)
   ========================================================= */
.rmt-accordion{display:flex;flex-direction:column;gap:14px;}
.rmt-acc-item{border:1px solid #e1e4ec;border-radius:10px;background:#fff;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;}
.rmt-acc-item.is-open{border-color:#5BA8D4;box-shadow:0 10px 24px rgba(0,0,0,.10);}
.rmt-acc-header{display:flex;align-items:center;gap:18px;width:100%;border:none;background:transparent;cursor:pointer;padding:14px 18px;text-align:left;font-family:'Cabin',sans-serif;}
.rmt-acc-title{flex:1;font:700 18px/1.3 'Cabin',sans-serif;color:#3D4F63;}
.rmt-acc-chevron{flex:0 0 auto;width:11px;height:11px;border-right:2px solid #5BA8D4;border-bottom:2px solid #5BA8D4;transform:rotate(45deg);transition:transform .2s ease;margin-right:4px;}
.rmt-acc-item.is-open .rmt-acc-chevron{transform:rotate(-135deg);}
.rmt-acc-body{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.rmt-acc-body-inner{padding:2px 22px 20px 110px;color:#555;line-height:1.65;}
.rmt-acc-body-inner p{margin:0 0 12px;}
.rmt-acc-body-inner > :last-child{margin-bottom:0;}
.rmt-acc-quote{display:inline-block;font:600 14px/1 'Cabin',sans-serif;color:#5BA8D4;text-decoration:none;}
.rmt-acc-quote:hover{text-decoration:underline;}
@media (max-width:600px){
  .rmt-acc-header{gap:12px;padding:12px 14px;}
  .rmt-acc-title{font-size:16px;}
  .rmt-acc-body-inner{padding:2px 16px 16px 16px;}
}


/* Long price labels (e.g. retainer) wrap neatly instead of overflowing */
.rmt-price.rmt-price-sm{font-size:15px;white-space:normal;text-align:right;max-width:230px;line-height:1.35;}
@media (max-width:600px){ .rmt-price.rmt-price-sm{font-size:13px;max-width:160px;} }


/* =========================================================
   RMTech contact details panel + one-line accordion variant
   ========================================================= */
.rmt-contact-details h3{margin-top:0;}
.rmt-contact-phone{font-size:18px;margin:0 0 8px;}
.rmt-contact-phone a,.rmt-contact-email a{color:#5BA8D4;text-decoration:none;}
.rmt-contact-phone a:hover,.rmt-contact-email a:hover{text-decoration:underline;}
.rmt-contact-afterhours-note{color:#666;font-style:italic;margin:0 0 14px;line-height:1.6;}
.rmt-contact-email{font-size:16px;margin:16px 0 0;}

/* One-line accordion (reuses the accordion JS) */
.rmt-acc-line{max-width:360px;margin:4px 0 16px;}
.rmt-acc-line .rmt-acc-header{padding:9px 14px;gap:10px;}
.rmt-acc-line .rmt-acc-title{font:400 15px/1.4 'Cabin',sans-serif;color:#3D4F63;}
.rmt-acc-line .rmt-acc-body-inner{padding:0 14px 12px 14px;font-size:16px;}
.rmt-acc-line .rmt-acc-body-inner a{font-weight:600;color:#5BA8D4;text-decoration:none;}
.rmt-acc-line .rmt-acc-body-inner a:hover{text-decoration:underline;}


/* =========================================================
   RMTech pricing accordions (bubble + title + price in header)
   ========================================================= */
.rmt-price-acc .rmt-acc-header{gap:16px;}
.rmt-price-acc .rmt-price{flex:0 0 auto;margin-left:8px;}
.rmt-price-acc .rmt-acc-body-inner{padding:2px 22px 18px 110px;}
.rmt-price-acc .rmt-acc-body-inner p{margin:0;color:#555;line-height:1.65;}
.rmt-price-acc .rmt-acc-body-inner em{color:#777;font-style:italic;}
@media (max-width:600px){
  .rmt-price-acc .rmt-acc-header{flex-wrap:wrap;gap:10px 12px;}
  .rmt-price-acc .rmt-acc-title{flex:1 1 auto;}
  .rmt-price-acc .rmt-price{flex:0 0 100%;margin-left:68px;}
  .rmt-price-acc .rmt-price.rmt-price-sm{max-width:none;text-align:left;}
  .rmt-price-acc .rmt-acc-body-inner{padding:2px 16px 16px 16px;}
}


/* =========================================================
   RMTech header icons: centre the glyph, light-grey on grey
   (overrides the earlier blue + the theme's off line-height)
   ========================================================= */
.header .right-box .bx-icon{
	display:flex;align-items:center;justify-content:center;
	width:40px;height:40px;line-height:1;float:none;margin:0;
	background:#696F80;color:#EDEEF3;border-radius:6px;
}
.header .right-box .bx-icon .fa{font-size:18px;line-height:1;color:#EDEEF3;}
.header .right-box .bx-text h5{color:#3D4F63;}
.header .right-box .bx-text span{color:#3D4F63;}


/* =========================================================
   RMTech footer: two-column lists to cut vertical height
   ========================================================= */
.rmt-foot-brand{flex:1.3;}
.rmt-foot-links{flex:1.2;}
.rmt-foot-contact{flex:1.6;}
.rmt-foot-menu{column-count:2;column-gap:26px;}
.rmt-foot-menu li{break-inside:avoid;}
.rmt-foot-contactlist{column-count:2;column-gap:26px;}
.rmt-foot-contactlist li{break-inside:avoid;}
.rmt-foot-contactlist li.rmt-foot-email{column-span:all;}
@media (max-width:480px){
  .rmt-foot-menu,.rmt-foot-contactlist{column-count:1;}
}


/* =========================================================
   RMTech accent integration — Huckleberry rose + Plum bridge
   Action / active states use the rose ramp; Clear Ice stays
   for secondary/info (prices, focus-free links).
   ========================================================= */
:root{
	--rmt-rose-mist:#ECC6D2;   /* subtle tint / hover wash */
	--rmt-rose-light:#D98BA5;  /* rose on dark surfaces */
	--rmt-rose:#C0577B;        /* base rose (bubbles) */
	--rmt-accent:#9E3F62;      /* Huckleberry — primary accent */
	--rmt-accent-dark:#76263F; /* Wine — hover / pressed */
	--rmt-plum:#5E3A52;        /* Plum Shadow — bridge tone */
	--rmt-navy:#3D4F63;        /* Mountain Shadow */
	--rmt-ice:#5BA8D4;         /* Clear Ice — secondary/info */
	--rmt-gap:50px;            /* uniform vertical rhythm between stacked sections + before footer */
}
@media (max-width:600px){ :root{ --rmt-gap:34px; } }

/* Primary buttons */
.button{background-color:var(--rmt-accent) !important;}
.button:hover,.button:focus{background-color:var(--rmt-accent-dark) !important;color:#fff !important;}

/* Primary nav + dropdown active/hover */
.sitenav ul li a:hover,
.sitenav ul li.current_page_item a,
.sitenav ul li.current-menu-item a,
.sitenav ul li.current-menu-parent a,
.sitenav ul li ul.sub-menu li a:hover,
.sitenav ul li.current_page_item ul.sub-menu li a:hover,
.sitenav ul li ul.sub-menu li.current_page_item a{background-color:var(--rmt-accent) !important;color:#fff !important;}

/* Accordions: rose accents */
.rmt-acc-item.is-open{border-color:var(--rmt-accent) !important;}
.rmt-acc-chevron{border-right-color:var(--rmt-accent) !important;border-bottom-color:var(--rmt-accent) !important;}
.rmt-acc-quote{color:var(--rmt-accent) !important;}

/* Floating "Get a Quote" button + quote-form focus */
.rmt-fab{background:var(--rmt-accent) !important;box-shadow:0 8px 20px rgba(158,63,98,0.45) !important;}
.rmt-fab:hover{background:var(--rmt-accent-dark) !important;}
.rmt-quote-form input:focus,.rmt-quote-form select:focus,.rmt-quote-form textarea:focus{border-color:var(--rmt-accent) !important;box-shadow:0 0 0 3px rgba(158,63,98,0.16) !important;}

/* Footer: rose on the dark surface, plum dividers */
.rmt-footer .rmt-foot-col h5{border-bottom-color:var(--rmt-accent) !important;}
.rmt-footer .copyright-wrapper{border-top:1px solid var(--rmt-accent);}
.rmt-foot-contactlist i{color:var(--rmt-rose-light) !important;}
.rmt-foot-menu a:hover,.rmt-foot-contactlist a:hover{color:var(--rmt-rose-light) !important;}


/* =========================================================
   RMTech: Huckleberry tint over full-page parallax backgrounds.
   Layered on the existing ::after (which already paints above the
   transformed bg image): a ~15% rose film over a light dark scrim
   that keeps white hero text legible. Tweak the 0.15 to taste.
   ========================================================= */
.rmt-parallax-bg::after{
	background:linear-gradient(rgba(158,63,98,0.15),rgba(158,63,98,0.15)),rgba(26,34,46,0.18);
}


/* Scroll-spy active nav item (Services/Pricing, About/Contact overlap).
   Eased over 0.6s to match the background crossfade so the menu highlight and
   the backdrop change together as you scroll past #pricing / #contact. */
.sitenav ul li.rmt-nav-managed > a{transition:background-color 1.2s ease,color 1.2s ease;}
.sitenav ul li.rmt-active > a{background-color:var(--rmt-accent) !important;color:#fff !important;}


/* =========================================================
   RMTech: Huckleberry tint over the homepage slider.
   z-index 7 sits above the slide images (5-6) and below the
   captions and arrows (8-9), so text stays crisp. Tweak 0.15.
   ========================================================= */
.slider-main::after{
	content:"";position:absolute;top:0;left:0;right:0;bottom:0;
	z-index:7;pointer-events:none;
	background:linear-gradient(rgba(158,63,98,0.20),rgba(158,63,98,0.20)),rgba(26,34,46,0.18);
}

/* Slide 1 hero: brand logo floated in the top third of the slider, centered,
   above the caption text. z-index 8 sits over the tint (7), under arrows (9).
   Hidden by default; rmt-parallax.js adds .is-on while slide 1 is showing. */
.slider-main .rmt-slide-logo{
	position:absolute;top:11%;left:50%;transform:translateX(-50%);
	width:min(80%,720px);height:auto;z-index:8;pointer-events:none;
	opacity:0;transition:opacity 0.5s ease;
	filter:drop-shadow(0 2px 14px rgba(0,0,0,0.55));
}
.slider-main .rmt-slide-logo.is-on{opacity:1;}
@media (max-width:600px){
	.slider-main .rmt-slide-logo{top:8%;width:min(56%,230px);}
}

/* Slider caption description: bumped up from the parent's 14px for legibility. */
.slider-main .nivo-caption p{font-size:var(--rmt-text);line-height:27px;}
@media (max-width:600px){
	.slider-main .nivo-caption p{font-size:15px;line-height:23px;}
}


/* =========================================================
   RMTech MOBILE PASS (breakpoint 900px) + icon fix + footer grid
   ========================================================= */

/* --- Hours/Call icons: always square (was stretching to cell) --- */
.header .right-box .bx-icon{
	flex:0 0 40px !important;width:40px !important;height:40px !important;
	aspect-ratio:1/1;line-height:1 !important;align-self:center;
}

/* --- Mobile menu bar + drawer: hidden on desktop --- */
#rmt-mnav{display:none;}
.rmt-drawer{display:none;}

/* --- Footer as reflowing grid (desktop = 3 columns like before) --- */
.rmt-foot-grid{
	display:grid;gap:30px 40px;align-items:start;
	grid-template-columns:1.4fr 1.1fr 1.4fr;
	grid-template-areas:
		"logo  links phone"
		"desc  links hours"
		"social links email";
}
.rmt-fb-logo{grid-area:logo;}
.rmt-fb-desc{grid-area:desc;}
.rmt-fb-social{grid-area:social;}
.rmt-fb-links{grid-area:links;}
.rmt-fb-phone{grid-area:phone;}
.rmt-fb-hours{grid-area:hours;}
.rmt-fb-email{grid-area:email;}
.rmt-foot-grid .rmt-foot-logo{margin-bottom:0;}
.rmt-foot-grid h2{color:#fff;font:700 15px/1.3 'Cabin',sans-serif;margin:0 0 14px;padding-bottom:10px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--rmt-accent);}
.rmt-foot-line{display:flex;align-items:flex-start;gap:9px;line-height:1.5;margin:0 0 12px;color:#EDEEF3;}
.rmt-foot-line:last-child{margin-bottom:0;}
.rmt-foot-line i{color:var(--rmt-rose-light);width:18px;text-align:center;flex:0 0 18px;margin-top:2px;}
.rmt-foot-line a{color:#EDEEF3;text-decoration:none;word-break:break-word;}
.rmt-foot-line a:hover{color:var(--rmt-rose-light);}

@media (max-width:900px){

  /* ----- Top header: logo left (larger), hours+call stacked right ----- */
  .header{padding:0 !important;text-align:left;border-bottom:1px solid rgba(61,79,99,0.18);}
  .header .header-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;
	flex-wrap:nowrap;gap:14px;width:92%;padding:8px 0;text-align:left;}
  .header .logo{flex:0 0 auto;float:none;margin:0;padding:0;text-align:left;width:auto;}
  .header .logo img{max-height:84px;width:auto;}
  .header .header_right{flex:0 0 auto;width:auto;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
  .header .right-box{width:auto;margin:0;display:flex;align-items:center;gap:9px;}
  .header .right-box .bx-text h5{margin:0;}
  .header .get-quote{display:none !important;}

  /* ----- Desktop nav off, mobile bar on, sitting flush under header ----- */
  #navigation{display:none !important;}
  #rmt-mnav{display:flex;align-items:center;justify-content:space-between;
	background:#3D4F63;width:100%;box-sizing:border-box;padding:7px 14px;margin:0;}
  .rmt-mnav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
	width:46px;height:40px;padding:8px 10px;background:transparent;border:none;cursor:pointer;}
  .rmt-mnav-burger span{display:block;height:3px;width:26px;background:#EDEEF3;border-radius:2px;}
  .rmt-mnav-prices.button{margin:0 !important;padding:9px 20px !important;}

  /* ----- Hero slider: ~2x taller on mobile, image covers the frame -----
     Banners are 3:1, so natural mobile height is ~33vw; 66vw doubles it.
     Capped so it stays sane near the 900px edge of this breakpoint. ----- */
  .slider-main{min-height:0 !important; height:66vw !important; max-height:520px;}
  .slider-main #slider.nivoSlider{height:100% !important;}
  .slider-main #slider.nivoSlider img,
  .slider-main #slider.nivoSlider .nivo-main-image{
    width:100% !important; height:100% !important;
    object-fit:cover !important; object-position:center;
  }

  /* ----- Footer: two columns, specific order ----- */
  .rmt-foot-grid{
	grid-template-columns:1fr 1fr;gap:22px 22px;
	grid-template-areas:
		"logo  phone"
		"desc  hours"
		"links email"
		"social social";
  }
  .rmt-foot-grid .rmt-foot-logo{max-width:170px;}
}

@media (max-width:480px){
  .rmt-foot-grid{grid-template-columns:1fr;grid-template-areas:"logo" "phone" "desc" "hours" "links" "email" "social";}
  .header .logo img{max-height:72px;}
}

/* --- Left off-canvas drawer (floats over content) --- */
@media (max-width:900px){ .rmt-drawer{display:block;} }
.rmt-drawer{position:fixed;inset:0;z-index:11000;visibility:hidden;}
.rmt-drawer.is-open{visibility:visible;}
.rmt-drawer-backdrop{position:absolute;inset:0;background:rgba(26,34,46,0.55);opacity:0;transition:opacity .25s ease;}
.rmt-drawer.is-open .rmt-drawer-backdrop{opacity:1;}
.rmt-drawer-panel{position:absolute;top:0;left:0;height:100%;width:80%;max-width:330px;background:#3D4F63;
	transform:translateX(-100%);transition:transform .28s ease;overflow-y:auto;
	-webkit-overflow-scrolling:touch;box-shadow:2px 0 22px rgba(0,0,0,0.4);}
.rmt-drawer.is-open .rmt-drawer-panel{transform:translateX(0);}
.rmt-drawer-close{position:absolute;top:6px;right:12px;background:none;border:none;color:#EDEEF3;
	font-size:32px;line-height:1;cursor:pointer;padding:4px 8px;}
.rmt-drawer-panel ul{list-style:none;margin:46px 0 0;padding:0;}
.rmt-drawer-panel li{list-style:none;border-bottom:1px solid #4d5d70;}
.rmt-drawer-panel li a{display:block;color:#EDEEF3;text-decoration:none;padding:13px 24px;
	font:600 16px/1.25 'Cabin',sans-serif;text-transform:uppercase;}
.rmt-drawer-panel li a:hover,
.rmt-drawer-panel li.current-menu-item > a,
.rmt-drawer-panel li.current_page_item > a,
.rmt-drawer-panel li.rmt-active > a{background:var(--rmt-accent);color:#fff;}
.rmt-drawer-panel li ul{margin:0;}
.rmt-drawer-panel li ul li a{padding-left:40px;text-transform:none;font-weight:400;font-size:15px;}

/* --- Sticky nav: responsive (desktop bar vs mobile two-bar) --- */
@media (max-width:900px){ #rmt-stickynav{display:block !important;} }
.rmt-sticky-m{display:none;}
@media (max-width:900px){
  #rmt-stickynav .rmt-sticky-inner{display:none;}
  #rmt-stickynav .rmt-sticky-m{display:block;}
}
.rmt-sticky-m-top{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;}
.rmt-sticky-m-top .rmt-sm-logo img{height:34px;width:auto;display:block;}
.rmt-sm-phone{color:#EDEEF3;text-decoration:none;font:700 15px/1 'Cabin',sans-serif;white-space:nowrap;}
.rmt-sm-phone i{color:var(--rmt-rose-light);margin-right:5px;}
.rmt-sticky-m-bar{display:flex;align-items:center;justify-content:space-between;
	padding:5px 14px;border-top:1px solid #4d5d70;}
.rmt-sticky-m-bar .rmt-mnav-burger span{background:#EDEEF3;}
.rmt-sticky-m-bar .rmt-mnav-prices.button{margin:0 !important;padding:7px 18px !important;font-size:13px !important;}

/* --- Skip-to-content link (screen reader / keyboard) --- */
.rmt-skip{position:absolute;left:-9999px;top:0;z-index:12000;background:var(--rmt-accent);color:#fff;
	padding:10px 16px;border-radius:0 0 6px 0;font:600 14px 'Cabin',sans-serif;text-decoration:none;}
.rmt-skip:focus{left:0;}


/* =========================================================
   RMTech MOBILE v2 — single always-floating header that
   collapses full(logo+hours+phone) -> simple(logo+phone) on
   scroll. Removes the separate static + sticky duplicates.
   ========================================================= */
@media (max-width:900px){

  #rmt-stickynav{display:none !important;}

  #rmt-mhead{position:fixed;top:0;left:0;right:0;z-index:9000;}

  .header{padding:0 !important;border-bottom:none !important;background:#D9E5F0;}
  .header .header-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;
	flex-wrap:nowrap;gap:14px;width:92%;padding:7px 0;text-align:left;transition:padding .2s ease;}
  .header .logo{flex:0 0 auto;float:none;margin:0;padding:0;text-align:left;width:auto;}
  .header .logo img{max-height:72px;width:auto;transition:max-height .2s ease;}
  .header .header_right{flex:0 0 auto;width:auto;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
  .header .right-box{width:auto;margin:0;display:flex;align-items:center;gap:9px;}
  .header .get-quote{display:none !important;}

  #rmt-mhead.is-compact .header .header-inner{padding:3px 0;}
  #rmt-mhead.is-compact .header .logo img{max-height:40px;}
  #rmt-mhead.is-compact .header .right-box:first-child{display:none;}
  #rmt-mhead.is-compact .header .header_right{flex-direction:row;align-items:center;}

  #navigation{display:none !important;}
  #rmt-mnav{display:flex;align-items:center;justify-content:space-between;
	background:#3D4F63;width:100%;box-sizing:border-box;padding:7px 14px;margin:0;}
}

/* =========================================================
   Footer: tight, half-height. Three self-contained columns
   (brand / links / contact) that pack without cross-column
   gaps. Reduced padding top and copyright bar.
   ========================================================= */
#footer-wrapper{padding:26px 0 0 !important;}
.rmt-foot-grid{display:grid;gap:18px 40px;align-items:start;grid-template-columns:1.5fr 1fr 1.4fr;grid-template-areas:none;}
.rmt-fb-brand{display:flex;flex-direction:column;gap:12px;}
.rmt-fb-brand .rmt-foot-logo{max-width:210px;height:auto;display:block;margin:0;}
.rmt-foot-blurb{margin:0;color:#c3c9d4;line-height:1.55;font-size:13px;}
.rmt-foot-grid h2{color:#fff;font:700 15px/1.3 'Cabin',sans-serif;margin:0 0 12px;padding-bottom:9px;
	text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--rmt-accent);}
.rmt-foot-menu{column-count:2;column-gap:24px;margin:0;padding:0;}
.rmt-foot-menu li{list-style:none;margin:0 0 7px;break-inside:avoid;}
.rmt-foot-menu a{color:#EDEEF3;text-decoration:none;}
.rmt-foot-menu a:hover{color:var(--rmt-rose-light);}
.rmt-foot-line{display:flex;align-items:flex-start;gap:9px;line-height:1.4;margin:0 0 9px;color:#EDEEF3;}
.rmt-foot-line:last-child{margin-bottom:0;}
.rmt-foot-line i{color:var(--rmt-rose-light);width:18px;text-align:center;flex:0 0 18px;margin-top:2px;}
.rmt-foot-line a{color:#EDEEF3;text-decoration:none;word-break:break-word;}
.rmt-foot-line a:hover{color:var(--rmt-rose-light);}
.rmt-footer .copyright-wrapper{margin-top:18px;}
.rmt-footer .copyright-inner{padding:13px 0 !important;}

@media (max-width:900px){
  .rmt-foot-grid{grid-template-columns:1fr 1fr;gap:16px 22px;
	grid-template-areas:"brand contact" "links contact";}
  .rmt-fb-brand{grid-area:brand;}
  .rmt-fb-links{grid-area:links;}
  .rmt-fb-contact{grid-area:contact;}
  .rmt-fb-brand .rmt-foot-logo{max-width:165px;}
}
@media (max-width:480px){
  .rmt-foot-grid{grid-template-columns:1fr;grid-template-areas:"brand" "links" "contact";gap:16px;}
}


/* =========================================================
   RMTech polish v3: centre header icons + footer layout
   (brand 2/3 + contact 1/3 on top, Explore bar full-width bottom)
   ========================================================= */

/* --- Header icons: undo theme top:14px nudge, centre on text --- */
@media (max-width:900px){
  .header .right-box{align-items:center !important;}
  .header .right-box .bx-icon{position:static !important;top:0 !important;right:0 !important;margin:0 !important;align-self:center !important;}
  .header .right-box .bx-text{display:block !important;float:none !important;}
  .header .header-inner{padding:9px 0 !important;}
  #rmt-mhead.is-compact .header .header-inner{padding:6px 0 !important;}
  #rmt-mhead.is-compact .header .header_right{align-items:center;}
}

/* --- Footer: two columns on top, Explore bar across the bottom --- */
.rmt-foot-grid{
	grid-template-columns:2fr 1fr;
	grid-template-areas:
		"brand contact"
		"links links";
	gap:16px 40px;
}
.rmt-fb-brand{grid-area:brand;}
.rmt-fb-contact{grid-area:contact;}
.rmt-fb-links{grid-area:links;}

.rmt-fb-links{
	display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 20px;
	border-top:1px solid var(--rmt-accent);padding-top:14px;margin-top:8px;
}
.rmt-fb-links h2{margin:0 !important;border:none !important;padding:0 !important;flex:0 0 auto;}
.rmt-fb-links .rmt-foot-menu{column-count:auto !important;column-gap:normal;
	display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;}
.rmt-fb-links .rmt-foot-menu li{margin:0 !important;}

@media (max-width:900px){
  .rmt-foot-grid{grid-template-columns:1.4fr 1fr;gap:14px 22px;}
  .rmt-fb-links .rmt-foot-menu{gap:8px 18px;}
}
@media (max-width:480px){
  .rmt-foot-grid{grid-template-columns:1fr;grid-template-areas:"brand" "contact" "links";gap:16px;}
}

/* Footer dividers unified to Huckleberry (icons + link hovers stay rose). */
.rmt-footer .copyright-inner{border-top-color:var(--rmt-accent);}

/* Mobile top-bar fit: scale the logo + hours/phone so they stay on narrow screens. */
@media (max-width:600px){
  .header .header-inner{gap:10px;width:94%;}
  .header .logo img{max-height:54px;}
  .header .header_right{gap:8px;}
  .header .right-box{gap:7px;}
  .header .bx-icon{width:28px;height:28px;line-height:28px;margin-top:0;}
  .header .bx-icon .fa{font-size:1.15em;}
  .header .bx-text h5{font-size:10px;line-height:1.25;}
  .header .bx-text span{font-size:12px;line-height:1.3;white-space:nowrap;}
}
@media (max-width:380px){
  .header .logo img{max-height:46px;}
  .header .bx-text h5{font-size:9px;}
  .header .bx-text span{font-size:11px;}
  .header .bx-icon{width:24px;height:24px;line-height:24px;}
}

/* ============================================================
   Homepage social-proof: how-it-works + testimonials + trust band.
   All sit over the fixed parallax photo band above the footer, so
   each is wrapped in a light panel for contrast (matches .rmt-panel).
   ============================================================ */
.rmt-howto,
.rmt-testimonials,
.rmt-trust{width:min(92%,1100px);margin:var(--rmt-gap) auto;}

/* Full-width grey band variant (alternates with the pillbox panels): the
   section background spans edge to edge and the inner panel drops its box
   styling, just centering the content. Add .rmt-social-full to a section. */
body.home .rmt-social-full{width:100%;max-width:none;margin:0;padding:var(--rmt-gap) 20px;background:#EDEEF3;}
body.home .rmt-social-full .rmt-social-panel{background:transparent;box-shadow:none;border-radius:0;padding:0;width:min(92%,1100px);max-width:100%;margin:0 auto;}

/* How it works (3 numbered steps) */
.rmt-howto-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.rmt-howto-card{background:#fff;border:1px solid #e1e4ec;border-radius:10px;padding:30px 22px 26px;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,0.08);}
.rmt-step-num{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:50%;background:var(--rmt-accent);color:#fff;font:700 20px/1 'Cabin',sans-serif;margin-bottom:16px;box-shadow:0 4px 12px rgba(158,63,98,0.35);}
.rmt-howto-card h3{margin:0 0 8px;font:700 18px/1.3 'Cabin',sans-serif;color:var(--rmt-navy);}
.rmt-howto-card p{margin:0;font:400 14px/1.5 'Cabin',sans-serif;color:#5a6172;}
.rmt-social-panel{background-color:#EDEEF3;padding:40px 44px;border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.22);}
.rmt-sec-title{text-align:center;font:700 30px/1.2 'Cabin',sans-serif;color:var(--rmt-navy);margin:0 0 30px;}

/* Testimonials */
.rmt-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;}
.rmt-testi-card{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #e1e4ec;border-radius:10px;padding:26px 24px;box-shadow:0 6px 18px rgba(0,0,0,0.08);animation:rmt-fade-up .5s ease both;}
.rmt-stars{color:#F4B400;font-size:18px;letter-spacing:3px;line-height:1;}
.rmt-testi-text{margin:0;font:400 16px/1.55 'Cabin',sans-serif;color:var(--rmt-navy);}
.rmt-testi-by{display:flex;flex-direction:column;gap:2px;margin-top:auto;}
.rmt-testi-name{font:700 15px/1.3 'Cabin',sans-serif;color:var(--rmt-accent);}
.rmt-testi-loc{font:400 13px/1.3 'Cabin',sans-serif;color:#757B8F;}
.rmt-testi-src{font:600 12px/1.3 'Cabin',sans-serif;color:#757B8F;}
@keyframes rmt-fade-up{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* Trust band */
.rmt-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.rmt-trust-card{background:#fff;border:1px solid #e1e4ec;border-radius:10px;padding:30px 22px;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,0.08);}
.rmt-trust-ico{display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:50%;background:var(--rmt-rose-mist);color:var(--rmt-accent);margin-bottom:16px;}
.rmt-trust-ico svg{width:28px;height:28px;}
.rmt-trust-card h3{margin:0 0 8px;font:700 18px/1.3 'Cabin',sans-serif;color:var(--rmt-navy);}
.rmt-trust-card p{margin:0;font:400 14px/1.5 'Cabin',sans-serif;color:#5a6172;}

@media (max-width:560px){
  .rmt-social-panel{padding:30px 22px;}
  .rmt-sec-title{font-size:25px;margin-bottom:24px;}
}

/* ============================================================
   TYPOGRAPHY — one typeface site-wide: Cabin (the brand/slider
   font from the logo). The parent theme's CSS still names Poppins
   on the body, menus, headings, etc.; its Poppins web font is
   dequeued, so we force Cabin over every text element here.
   FontAwesome / dashicon glyph elements are excluded so the icons
   keep their own icon font and don't turn into letters.

   Body copy is enlarged for an older, lower-acuity audience (often on 720p
   screens). Sizes are driven by two tokens so the whole site rescales from
   one place: bump --rmt-text to make everything bigger again.
   ============================================================ */
:root{
	--rmt-text:22px;     /* base body copy (14 -> 16 -> 18 -> 22; bumped ~22% for senior / low-ppi 720p readers) */
	--rmt-text-sm:20px;  /* small labels / meta minimum (16 -> 20); floor so nothing reads too small */
}
body,
body :not(.fa):not(.fas):not(.far):not(.fab):not([class^="fa-"]):not([class*=" fa-"]):not(.dashicons):not(.dashicons-before){
	font-family:'Cabin', sans-serif !important;
}

/* Readable base size. Most paragraph text inherits this. Generous line-height
   helps lower-acuity readers. */
body{font-size:var(--rmt-text);line-height:1.65;}

/* Body copy that carries explicit sizes -> follow the base token */
.rmt-tldr,
.rmt-testi-text,
.rmt-howto-card p,
.rmt-trust-card p,
.rmt-bubble-text p,
.rmt-bubble-text,
.rmt-price-item p,
.rmt-service-text span,
.rmt-review-form input[type=text],
.rmt-review-form textarea{font-size:var(--rmt-text);}
.rmt-foot-blurb,
.rmt-testi-loc,
.rmt-testi-src{font-size:var(--rmt-text-sm);}

/* Top nav slightly larger so menu labels are legible too (kept modest so the
   row doesn't wrap). */
.sitenav ul{font-size:15px;}

/* Heading contrast against the larger body. Lift the smallest headings so the
   hierarchy still reads; h1/h2 (30/25px) already clear the body comfortably. */
.rmt-howto-card h3,
.rmt-trust-card h3,
.rmt-panel h3,
.site-main h3,
.entry-content h3{font-size:22px;}
#footer-wrapper h5{font-size:19px;}


/* =========================================================
   RMTech task batch (2026-07-19): home title, sticky-logo glow,
   accordion first-line preview
   ========================================================= */

/* Home page: drop the redundant "Home" page title and its underline
   (the hero H2 + intro copy already open the page). */
body.home .entry-header{display:none !important;}

/* Home page: close the gap between the header/menu and the slider so they
   touch (the .rmt-home-feature section carried a 40px top pad that showed
   the background through). Bottom spacing kept. */
body.home .rmt-home-feature{padding-top:0 !important;}

/* Readability: soft dark vignette behind hero + section-hero text so the
   title and description pop off busy background photos. Sits above the fixed
   parallax image (z-index -1), below the text. Tune the 0.58 to taste. */
.rmt-hero,.rmt-section-hero{
	background:radial-gradient(ellipse 82% 78% at 50% 44%,
		rgba(18,24,34,0.58) 0%,
		rgba(18,24,34,0.34) 55%,
		rgba(18,24,34,0) 100%);
}

/* Hero / section descriptions: noticeably larger than body for the low-acuity
   audience (the titles above them are already well sized). */
.rmt-hero .rmt-tldr,
.rmt-section-hero .rmt-tldr,
.rmt-section-hero p{font-size:24px;line-height:1.6;}
@media (max-width:600px){
	.rmt-hero .rmt-tldr,.rmt-section-hero .rmt-tldr,.rmt-section-hero p{font-size:20px;}
}

/* Floating/sticky header: soft light halo behind the light logo so it
   pops against the dark bar. Uses ::before so nothing shifts in layout. */
.rmt-sticky-logo,.rmt-sm-logo{position:relative;z-index:0;display:inline-flex;}
.rmt-sticky-logo::before,.rmt-sm-logo::before{
	content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:148%;height:210%;z-index:-1;pointer-events:none;
	background:radial-gradient(ellipse at center,
		rgba(192,87,123,0.25) 0%,
		rgba(192,87,123,0.11) 46%,
		rgba(192,87,123,0) 72%);
}

/* Service-page info accordions: reveal the first line of the description
   while collapsed. Preview text is injected by rmt-accordion.js; pricing
   accordions (.rmt-price-acc) are intentionally excluded. */
.rmt-acc-heading{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.rmt-acc-heading .rmt-acc-title{flex:0 0 auto;}
.rmt-acc-preview{
	font:400 var(--rmt-text-sm)/1.4 'Cabin',sans-serif;color:#7a7f8c;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.rmt-acc-item.is-open .rmt-acc-preview{display:none;}

/* About page: owner portrait floated beside the intro (temp photo; final
   drops in at the same 3:4 ratio). Centers above the text on mobile. */
.rmt-about-photo{
	float:right;width:min(38%,300px);height:auto;aspect-ratio:3/4;object-fit:cover;
	border-radius:10px;margin:4px 0 18px 30px;box-shadow:0 10px 26px rgba(0,0,0,0.20);
}
@media (max-width:600px){
	.rmt-about-photo{float:none;display:block;width:min(72%,240px);margin:0 auto 20px;}
}


/* =========================================================
   RMTech: home service cards + subscription plans (2026-07-19)
   ========================================================= */

/* Home: three service-category cards (between hero copy and the button) */
.rmt-home-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0;}
.rmt-home-svc br{display:none;} /* wpautop can inject <br> between the cards; keep it out of the grid */
.rmt-home-svc-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;
	background:#fff;border:1px solid #e1e4ec;border-radius:12px;padding:24px 22px;
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.rmt-home-svc-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,0.12);border-color:var(--rmt-accent);}
.rmt-home-svc-card strong{font:700 19px/1.3 'Cabin',sans-serif;color:var(--rmt-navy);}
.rmt-home-svc-card > span:last-child{color:#555;line-height:1.55;font-size:var(--rmt-text-sm);}
@media (max-width:800px){
	.rmt-home-svc{grid-template-columns:1fr;gap:14px;}
	.rmt-home-svc-card{flex-direction:row;flex-wrap:wrap;align-items:center;}
	.rmt-home-svc-card strong{flex:1;}
	.rmt-home-svc-card > span:last-child{flex:1 1 100%;}
}

/* Subscription plan cards (Essentials / Family / Business) */
.rmt-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:min(94%,1100px);margin:var(--rmt-gap) auto;align-items:start;}
.rmt-plan-card{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;
	border:1px solid #e1e4ec;border-radius:14px;padding:30px 26px;box-shadow:0 8px 22px rgba(0,0,0,0.10);}
.rmt-plan-featured{border-color:var(--rmt-accent);box-shadow:0 14px 34px rgba(158,63,98,0.20);}
.rmt-plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
	background:var(--rmt-accent);color:#fff;font:700 12px/1 'Cabin',sans-serif;
	padding:6px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.rmt-plan-name{margin:0;font:700 24px/1.2 'Cabin',sans-serif;color:var(--rmt-navy);}
.rmt-plan-price{margin:0;}
.rmt-plan-amt{font:700 34px/1 'Cabin',sans-serif;color:var(--rmt-accent);}
.rmt-plan-per{color:#777;font-size:16px;}
.rmt-plan-sub{margin:0 0 6px;color:#777;font-size:14px;}
.rmt-plan-feats{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.rmt-plan-feats li{position:relative;padding-left:26px;line-height:1.45;color:#3D4F63;}
.rmt-plan-feats li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--rmt-rose-mist);}
.rmt-plan-feats li::after{content:"";position:absolute;left:5px;top:6px;width:5px;height:9px;border-right:2px solid var(--rmt-accent);border-bottom:2px solid var(--rmt-accent);transform:rotate(40deg);}
.rmt-plan-setup{margin:8px 0 0;color:#777;font-size:14px;font-style:italic;}
.rmt-plan-card .button{margin-top:auto;align-self:stretch;text-align:center;}
@media (max-width:820px){ .rmt-plan-cards{grid-template-columns:1fr;gap:26px;width:min(92%,460px);} }

/* Subscription comparison table */
.rmt-plan-table-wrap{overflow-x:auto;margin-top:10px;}
.rmt-plan-table{width:100%;border-collapse:collapse;font-size:var(--rmt-text-sm);}
.rmt-plan-table th,.rmt-plan-table td{padding:12px 14px;text-align:center;border-bottom:1px solid #e1e4ec;}
.rmt-plan-table thead th{background:var(--rmt-navy);color:#fff;font:700 15px/1.2 'Cabin',sans-serif;}
.rmt-plan-table thead th:first-child{background:var(--rmt-plum);}
.rmt-plan-table tbody th{text-align:left;color:var(--rmt-navy);font-weight:600;background:#f7f8fb;}
.rmt-plan-table tbody tr:hover td,.rmt-plan-table tbody tr:hover th{background:#eef0f6;}
.rmt-plan-table td{color:#3D4F63;}
@media (max-width:600px){ .rmt-plan-table th,.rmt-plan-table td{padding:9px 10px;font-size:13px;} }

/* Slide 1 tap-to-call line under the Call Brock button */
.nivo-html-caption .rmt-slide-phone{ margin:38px 0 0; }
.nivo-html-caption .rmt-slide-phone a{ color:#fff !important; font:600 18px/1.3 'Cabin',sans-serif; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.nivo-html-caption .rmt-slide-phone a:hover{ color:#EDEEF3 !important; text-decoration:underline; }
.nivo-html-caption .rmt-slide-phone .fa{ font-size:.9em; color:#fff !important; }

/* RMTech mobile hero fill v1: header + carousel + service strip = one screen (strip pinned to bottom).
   Slider grows to fill 100svh minus fixed header (185) and strip (137); image crops tall. */
@media (max-width:600px){
  .slider-main{ height:calc(100svh - 322px) !important; max-height:none !important; min-height:0 !important; }
  .slider-main #slider.nivoSlider{ height:100% !important; }
  .slider-main #slider.nivoSlider img,
  .slider-main #slider.nivoSlider .nivo-main-image{ height:100% !important; width:100% !important; object-fit:cover !important; object-position:center; }
}

/* RMTech compact header align v1: share the 14px right margin with #rmt-mnav so the call block
   right-aligns above the Prices button when the header is compact (scrolled). */
@media (max-width:900px){
  #rmt-mhead.is-compact .header .header-inner{ width:100% !important; box-sizing:border-box; padding:6px 14px !important; }
  #rmt-mhead.is-compact .header .header_right{ margin-left:auto; }
  #rmt-mhead.is-compact .header .right-box{ justify-content:flex-end; }
}

/* RMTech overflow fix v1: .rmt-trust was content-box, so width:100% + 40px side padding overflowed
   the viewport (~437 on a 412 screen) => horizontal scroll / felt like 110% zoom. */
.rmt-trust{ box-sizing:border-box !important; }
/* Safety: keep sections from ever exceeding the viewport width. */
@media (max-width:900px){ .rmt-trust, .rmt-home-feature, .slider-main{ max-width:100%; } }

/* RMTech prices align under icons v1: pull the mobile Prices button inward so its left edge sits under the
   header icon column (~56% of width). calc keeps it proportional across phone widths. */
@media (max-width:900px){
  #rmt-mnav .rmt-mnav-prices{ margin-right:calc(44% - 103px) !important; }
}

/* RMTech mobile caption fix v1: parent responsive.css hides slide description + button and pins the
   caption at top:66% (clips in the taller hero). Show the whole block, centered. */
@media (max-width:900px){
  .slider-main #slider .nivo-caption{ top:50% !important; bottom:auto !important; transform:translateY(-50%) !important; -webkit-transform:translateY(-50%) !important; left:6% !important; width:88% !important; overflow:visible !important; text-align:center; }
  .slider-main #slider .nivo-caption p{ display:block !important; }
  .slider-main #slider .nivo-caption a.button{ display:inline-block !important; }
  .slider-main #slider .nivo-caption .rmt-slide-phone{ display:block !important; }
  .slider-main #slider .nivo-caption .rmt-slide-phone a{ justify-content:center; }
}

/* RMTech hide slide logo on phones v1: the slide-1 brand-logo overlay covers the caption on small screens;
   the header shows the logo persistently on mobile anyway, so hide it here. */
@media (max-width:900px){ .slider-main .rmt-slide-logo{ display:none !important; } }

/* Slide-1 caption title duplicates the (now doubled) brand-logo overlay text;
   hide it while the logo is showing so they do not stack. Desktop only: on
   mobile the logo overlay is display:none but .is-on still gets toggled, which
   was blanking slide-1 titles on phones. */
@media (min-width:901px){
	.slider-main:has(.rmt-slide-logo.is-on) .nivo-caption h2{visibility:hidden;}
}

/* Tablet check: on touch devices above the 900px phone cutoff (iPads etc.)
   the doubled slide-1 logo overlay dominates the banner; drop it to 1/3 size.
   pointer:coarse = touch-primary, so mouse/trackpad laptops are unaffected. */
@media (min-width:901px) and (pointer:coarse){
	.slider-main .rmt-slide-logo{width:min(26.7%,240px);}
}

/* About page portrait */
.rmt-about-photo{float:right;width:min(38%,300px);height:auto;margin:4px 0 14px 24px;border-radius:6px;box-shadow:0 8px 22px rgba(0,0,0,0.18);}
@media (max-width:600px){.rmt-about-photo{float:none;display:block;width:100%;margin:0 0 16px;}}
