.elementor-kit-402{--e-global-color-primary:#77C720;--e-global-color-secondary:#8B8784;--e-global-color-text:#3F3F3F;--e-global-color-accent:#808080;--e-global-typography-primary-font-family:"Metropolis";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Metropolis";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Metropolis";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Metropolis";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-402 e-page-transition{background-color:#FFBC7D;}.elementor-kit-402 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-402 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-402 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-402 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-402 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-402 h5{color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-402 h6{color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Header fix for native Elementor conflicts with site-header wrapper */
@media (max-width: 575px) {
  .site-header,
  .site-header .e-con-inner,
  .site-header .elementor-container {
    inline-size: 100% !important;      /* width:100% without overflow */
    max-inline-size: none !important;
    padding-inline: 0 !important;
    margin-inline: 0 !important;
  }
}

/* remove Elementor’s default container side padding in the footer only */
.footer-wrap{
  --container-default-padding-inline: 0px;
  --container-default-padding-block: 0px; /* optional: vertical too */
  padding: 0; /* belt-and-suspenders */
}

/* Global focus styling */
:root {
  --ipt-focus-ring: #77C720;
}

/* Interactive elements: use our green focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--ipt-focus-ring);
  outline-offset: 3px;
}


/* BEGIN Retractable Logo */

/* (ID-based, image moved by `top`) */
/* Neutralize Elementor on the wrapper */

#siteLogoImg {
  transform: none !important;
  transition: none !important;
}

/* Move ONLY the child image via `top` (not transform) */
#siteLogoImg img {
  display: block;                 /* remove inline-image baseline gap */
  position: relative;             /* enables top offset */
  top: 0;                         /* JS toggles this to a negative px value */
  transition: top 220ms ease;     /* smooth snap */
  will-change: top;
}

@media (prefers-reduced-motion: reduce) {
  #siteLogoImg img { transition: none; }
}

/*END Retractable Logo */

/*BEGIN Hero Image Contrast Tint*/

/* Prevent hero background videos from capturing pointer/mouse events */
.page-hero video {
    pointer-events: none !important;
}

/* Slight dark tint over hero background image */
.page-hero {
    position: relative;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.22); /* try 0.18–0.28 as needed */
    pointer-events: none;
    z-index: 0;
}

/* Ensure hero content sits above the tint */
.page-hero > * {
    position: relative;
    z-index: 1;
}
/*END Hero image Contrast Tint*/

/* BEGIN Brokerage Name Styling (Homepage Hero Title) */
.brokerage-name,
.brokerage-name h1,
.brokerage-name h2,
.brokerage-name h3,
.brokerage-name h4,
.brokerage-name h5,
.brokerage-name h6 {
    font-family: 'Metropolis Black', 'Metropolis', Arial, sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(1.45rem, 4vw, 3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: 0.01em !important;
    color: #ffffff !important;
    text-transform: capitalize !important;
    margin: 0 0 0.25rem 0 !important; /* Resets default margins & pulls Line 2 up tightly */
    padding: 0 !important;
    text-shadow: 
        0 2px 12px rgba(0,0,0,0.35), 
        0 1px 2px rgba(0,0,0,0.18) !important;
    white-space: normal;
}
/* END Brokerage Name Styling */

/* BEGIN Page Heading Styling (Service Area Heading) */
.page-servicearea,
.page-servicearea h1,
.page-servicearea h2,
.page-servicearea h3,
.page-servicearea h4,
.page-servicearea h5,
.page-servicearea h6 {
    font-family: 'Metropolis Black', 'Metropolis', Arial, sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(1.2rem, 3vw, 1.9rem) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em !important;
    color: #ffffff !important;
    text-transform: none !important;
    margin: 0 0 0.2rem 0 !important; /* Resets default margins & pulls Line 3 up tightly */
    padding: 0 !important;
    text-shadow: 
        0 2px 10px rgba(0,0,0,0.40), 
        0 1px 2px rgba(0,0,0,0.25) !important;
}
/* END Heading Styling */

/* BEGIN Page Subtext Styling (City List Subtext) */
.page-servicetxt,
.page-servicetxt h1,
.page-servicetxt h2,
.page-servicetxt h3,
.page-servicetxt h4,
.page-servicetxt h5,
.page-servicetxt h6,
.page-servicetxt p {
    font-family: 'Metropolis', Arial, sans-serif !important;
    font-weight: 500 !important;
    font-size: clamp(0.85rem, 2vw, 1.25rem) !important;
    line-height: 1.15 !important;
    color: #ffffff !important;
    text-transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 
        0 2px 10px rgba(0,0,0,0.40), 
        0 1px 2px rgba(0,0,0,0.25) !important;
}
/* END Page Subtext Styling */

/* BEGIN Hero Banner Styling */
.banner-title h1,
.banner-title h2,
.banner-title h3,
.banner-title h4,
.banner-title h5,
.banner-title h6 {
    font-family: 'Metropolis Black', 'Metropolis', Arial, sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(1.75rem, 4vw, 3rem) !important;
    letter-spacing: 0.01em;
    color: #fff !important;
    line-height: 1.1;
    text-transform: capitalize;
    text-shadow: 
        0 2px 12px rgba(0,0,0,0.35), 
        0 1px 2px rgba(0,0,0,0.18);
}
/*END Banner Styling */


/* BEGIN Page Heading Styling */
.page-heading h1,
.page-heading h2,
.page-heading h3,
.page-heading h4,
.page-heading h5,
.page-heading h6 {
    font-family: 'Metropolis Black', 'Metropolis', Arial, sans-serif;
    font-weight: 900;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: none;
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
}
/*END Heading Styling*/


/* BEGIN Page Text Styling */
.page-text {
  font-family: 'Metropolis', Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(0.85rem, 1.1vw, 1.05rem);
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin-block: clamp(-0.5rem, -1vw, -0.5rem) !important;
}
/*END Text Styling*/

/* BEGIN Accordion Styling — Unified heading, proportional lists, uniform icons
   Baseline: compact chrome on every accordion
   Typography modifiers: .is-italic (style & weight), .is-bold (weight only)
   Indentation: panel paragraphs and bullet lists align under the heading label
   Wrapper roles: use .accordion-heading by default; use .accordion-block where the margin helper is needed for the following text widget
*/

/* ------------------------------------------------------------------
   Wrapper-scoped variables (used by buttons and panels)
-------------------------------------------------------------------*/
.accordion-heading,
.accordion-block {
  /* icon and label gap shared by all accordions */
  --icon-size: clamp(21px, 2.6vw, 23px);
  --label-gap: .55rem;

  /* shared type slope and heading size, larger than .page-text across widths */
  --type-vw: 1.1vw;                                        /* matches .page-text slope */

  /* Original heading size (larger than what is currently used. Kept it commented in case I want to change back */
  /*--btn-fs: clamp(1.06rem, calc(var(--type-vw) * 1.15), 1.22rem);*/

  /*Current Heading Size*/
  --btn-fs: clamp(1rem, var(--type-vw), 1.15rem);

  /* optional tiny list offset for optical tuning; default 0 */
  --panel-offset: 0rem;
}

/* ------------------------------------------------------------------
   Accordion — Base button layout, spacing, colors, arrow
   Compact heading is the default everywhere
-------------------------------------------------------------------*/
button[class^="page-accordion"] {
  font-family: 'Metropolis', Arial, sans-serif;
  color: #3f3f3f;
  width: 100%;
  text-align: left;
  background-color: rgba(128, 128, 128, 0.3);
  border: none;
  padding: .20rem .65rem;            /* compact chrome */
  cursor: pointer;
  box-sizing: border-box;
  transition: color 0.2s ease-in-out;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: var(--label-gap);             /* used by panel indent */

  /* expose left–right padding so panels can derive indent */
  --btn-padL: .65rem;
  padding-left: var(--btn-padL);
  padding-right: var(--btn-padL);

  /* unified heading typography */
  font-weight: 500;
  font-style: normal;
  font-size: var(--btn-fs);
  line-height: 1.08;

  /* slim separators for the compact look */
  border-top: 1px solid rgba(139,135,132,.35);
  border-bottom: 1px solid rgba(139,135,132,.35);
}

/* hover and focus */
button[class^="page-accordion"]:hover,
button[class^="page-accordion"]:focus {
  color: #ffffff;
}

/* active state reverts to inherited color */
button[class^="page-accordion"].active {
  color: inherit;
}

/* icon inside accordion — uniform size everywhere */
button[class^="page-accordion"] img {
  height: var(--icon-size);
  width: var(--icon-size);
  display: inline-block;
  vertical-align: middle;
  margin-top: 0;
}

/* arrow on the right */
button[class^="page-accordion"]::after {
  content: "▼";
  margin-left: auto;
  font-size: 0.9em;
  color: inherit;
  transition: transform 0.2s ease-in-out;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

/* flip arrow when active */
button[class^="page-accordion"].active::after {
  transform: rotate(180deg);
}

/* ------------------------------------------------------------------
   Font modifiers — orthogonal and stackable
   .is-italic changes style only; .is-bold changes weight only
-------------------------------------------------------------------*/
button[class^="page-accordion"].is-italic { font-style: italic; font-weight: 500; }
button[class^="page-accordion"].is-bold   { font-weight: 700; }
button[class^="page-accordion"].is-bold.is-italic { font-style: italic; font-weight: 700; } 

/* ------------------------------------------------------------------
   Panels — spacing, alignment, and first-paragraph rhythm
-------------------------------------------------------------------*/
.page-accordion-panel {
  display: none;
  margin-bottom: clamp(0.75rem, 1.2vw, 1.25rem);
  --list-hang: clamp(1rem, 1.6vw, 1.2rem);
}

/* Derived indent for paragraph panels: start directly under the heading label */
.accordion-heading .page-accordion-panel:not(.panel-list),
.accordion-block  .page-accordion-panel:not(.panel-list){
  margin-left: calc(
    var(--btn-padL, .65rem) +
    var(--icon-size, 22px) +
    var(--label-gap, .55rem)
  );
}

/* Derived indent for checklist panels: same alignment, with optional tiny offset */
.accordion-heading .page-accordion-panel.panel-list,
.accordion-block  .page-accordion-panel.panel-list{
  margin-left: calc(
    var(--btn-padL, .65rem) +
    var(--icon-size, 22px) +
    var(--label-gap, .55rem) +
    var(--panel-offset, 0rem)
  );
}

/* adjust top margin for single paragraph accordions — opener pulled up */
.page-accordion-panel > p.page-text:first-child {
  margin-top: -0.25em !important;
}

/* restore breathing room for subsequent paragraphs */
.page-accordion-panel > p.page-text + p.page-text {
  margin-top: 1em !important;
}
/* when something sits between paragraphs, keep sibling spacing */
.page-accordion-panel > * + p.page-text {
  margin-top: 1em !important;
}

/* ---------- Default list behavior (non-list panels keep old rules) ---------- */
.page-accordion-panel:not(.panel-list) ul {
  list-style: disc outside;
  margin: 0;
  padding-left: 0;
}

.page-accordion-panel:not(.panel-list) li {
  padding-left: var(--list-hang);
  text-indent: calc(-1 * var(--list-hang));
  margin: 0 0 0.5em 0;
}

.page-accordion-panel:not(.panel-list) li p {
  margin: 0.25em 0 0 0;
  text-indent: 0;
  padding-left: 0;
}

/* ---------- List variant for panels that contain bullet lists ---------- */
.page-accordion-panel.panel-list {
  /* tuning knobs */
  --bullet-gutter: clamp(1rem, 1.4vw, 1.2rem);
  --dot-size:      clamp(0.36rem, 0.5vw, 0.46rem);
  --dot-nudge:    -0.04em;

  /* checklist label and body sizes proportional to the heading size */
  --head-size: calc(var(--btn-fs, 1rem) * 0.86);  /* label below heading */
  --body-size: calc(var(--btn-fs, 1rem) * 0.82);  /* body below label   */

  --head-leading:  1.12;
  --body-leading:  1.30;

  --item-gap:      0.26em;
  --para-gap:      0.06em;
}

.page-accordion-panel.panel-list ul {
  list-style: none;
  margin: 0.12em 0 0.38em;
  padding: 0;
}

.page-accordion-panel.panel-list li {
  position: relative;
  margin: var(--item-gap) 0;
  padding-left: var(--bullet-gutter);
  font-size: var(--head-size);
  line-height: var(--head-leading);
  text-indent: 0;
}

.page-accordion-panel.panel-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((var(--head-leading) * 1em - var(--dot-size)) / 2 + var(--dot-nudge));
  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 50%;
  background: #3f3f3f;
}

/* scalable type and rhythm */
.page-accordion-panel.panel-list li > strong {
  display: block;
  margin: 0;
  font-weight: 700;
  font-size: 1em;                         /* inherits from LI */
  line-height: inherit;
}

.page-accordion-panel.panel-list p {
  margin: 0;                                /* hard reset */
  padding: 0;
  color: #3f3f3f;
  font-weight: 400;
}

/* panel-list — softer labels without <strong> */
.page-accordion-panel.panel-list li {
  font-weight: 500;
}

/* first paragraph under each item: spacing and body sizing */
.page-accordion-panel.panel-list li > p:first-of-type,
.page-accordion-panel.panel-list li > strong + p {
  margin-top: var(--para-gap);
  font-size: var(--body-size);
  line-height: var(--body-leading);
}

/* safety: if <strong> remains in the HTML, avoid over-bold */
.page-accordion-panel.panel-list strong {
  font-weight: inherit;
}

/* FAQ-style subpoints inside a list panel */
.page-accordion-panel.panel-list.panel-faq li {
  font-size: var(--body-size);
  line-height: var(--body-leading);
  font-weight: 400;
}

/* 10% smaller dot and re-centered for the new line box */
.page-accordion-panel.panel-list.panel-faq li::before {
  width:  calc(var(--dot-size) * 0.9);
  height: calc(var(--dot-size) * 0.9);
  top:    calc((var(--body-leading) * 1em - (var(--dot-size) * 0.9)) / 2 + var(--dot-nudge));
}

/* optional: slightly tighter stack for subpoints */
.page-accordion-panel.panel-list.panel-faq {
  --item-gap: 0.22em;
  --para-gap: 0.05em;
}

/* FAQ subpoints: extra indent and slight label size bump */
.page-accordion-panel.panel-list.panel-faq {
  --faq-indent: 0.35rem;
}

.page-accordion-panel.panel-list.panel-faq li {
  padding-left: calc(var(--bullet-gutter) + var(--faq-indent));
  font-size: calc(var(--body-size) * 1.02);  /* ~2% larger than paragraph */
}

.page-accordion-panel.panel-list.panel-faq li::before {
  left: var(--faq-indent);
}

/* ------------------------------------------------------------------
   HTML Block — Top margin adjustment for checklist accordions
-------------------------------------------------------------------*/
.accordion-block {
  --accordion-offset: clamp(-0.95rem, -0.8vw, -0.35rem);
  margin-top: var(--accordion-offset);
}

/* laptops and down */
@media (max-width: 1210px) {
  .accordion-block { --accordion-offset: -0.70rem; }
}

/* small phones */
@media (max-width: 540px) {
  .accordion-block { --accordion-offset: -0.80rem; }
}

/* ----------------------------------------------------
   Ultra narrow accordions 300px and below for accessibility
   Keeps text readable and kills horizontal scroll
-----------------------------------------------------*/
@media (max-width: 300px){

  /* Wrapper tier so panels inherit the same geometry */
  .accordion-heading,
  .accordion-block{
    /* slightly smaller heading than the normal floor */
    --btn-fs: 0.80rem;

    /* tighten chrome horizontally without changing the look */
    --icon-size: 15px;
    --label-gap: 0.40rem;
    --btn-padL: 0.50rem;
  }

  /* ensure buttons use the same left and right padding override */
  button[class^="page-accordion"]{
    --btn-padL: 0.60rem;
  }
}

/* ----------------------------------------------------
   Rescue tier for the tiniest devices below 240px
   Only kicks in at extreme widths
-----------------------------------------------------*/
@media (max-width: 240px){

  .accordion-heading,
  .accordion-block{
    /* slightly smaller but still comfortable */
    --btn-fs: 0.75rem;

    /* one more small trim to the chrome */
    --icon-size: 13px;
    --label-gap: 0.30rem;
    --btn-padL: 0.40rem;
  }

  button[class^="page-accordion"]{
    --btn-padL: 0.55rem;
  }
}

@media (max-width: 220px){

  .accordion-heading,
  .accordion-block{
    --btn-fs: 0.65rem;

  }

  button[class^="page-accordion"]{
    --btn-padL: 0.45rem;
  }
}


/* END Accordion Styling */

/*BEGIN Text Widget Styling Following an Accordion*/
/*Note: Use CSS Class "accordion-followup" in the text widget following an accordion for these rules to apply and add the CSS Class "no-followup" to the html accordion widget as a spacing killswitch to circumvent this block, if needed */
/* closed */
.accordion-block:not(.no-followup) + .accordion-followup { margin-top: -0.60rem; }

/* open */
.accordion-block:not(.no-followup):has(+ .accordion-followup):has(button[class^="page-accordion"].active)
  + .accordion-followup { margin-top: -0.85rem; }

.accordion-block:not(.no-followup):has(+ .accordion-followup):has(button[class^="page-accordion"].active)
  .page-accordion-panel.panel-list:last-of-type { margin-bottom: 0.35rem; }

.accordion-block:not(.no-followup):has(+ .accordion-followup):has(button[class^="page-accordion"].active)
  .page-accordion-panel.panel-list:last-of-type > ul:last-child { margin-bottom: 0; }

.accordion-block:not(.no-followup):has(+ .accordion-followup):has(button[class^="page-accordion"].active)
  .page-accordion-panel.panel-list li:last-child { margin-bottom: 0; }

/*END Text Widget Following an Accordion  Styling*/



/*BEGIN Mortgage Calculator iFrame Styling*/

/* Container + brand row */
.mortgage-widget { max-width: 100%; }
.mortgage-brand { padding-top: 30px; text-align: center; margin: 0 0 0.5rem; }
.mortgage-logo { max-width: 100%; filter: grayscale(100%) brightness(0.9); height: auto; }

/* Iframe: full width, responsive height, no border */

.mortgage-iframe { 
  width: 100%;
  height: 950px;   /* desktop baseline that didn’t scroll in your original */
  border: 0;
  display: block;
}

/* Tablets */
@media (max-width: 1024px) {
  .mortgage-iframe { height: 950px; }
}

/* Tablets */
@media (max-width: 810px) {
  .mortgage-iframe { height: 1000px; }
}

/* Large phones / small tablets */
@media (max-width: 768px) {
  .mortgage-iframe { height: 1100px; }
}

/* Narrow phones */
@media (max-width: 595px)  { 
  .mortgage-iframe { height: 2075px; }
}

/* Very Narrow phones */
@media (max-width: 395px)  { 
  .mortgage-iframe { height: 2150px; }
}

/*END Mortgage Calculator iFrame Styling*/

/* BEGIN Home Value Estimator Styling*/

:root{
  --hve-panel-bg: rgba(0,0,0,.60);
  --hve-tab-bg: #77C720;         /* green tab + notch */
  --hve-text: #e8e8e8;
  --hve-muted: #cfcfcf;
  --hve-cta: #77C720;              /* brand green */
  --hve-cta-contrast: #fff;
  --hve-shadow-1: 0 12px 36px rgba(0,0,0,.30), 0 4px 12px rgba(0,0,0,.18);
  --hve-shadow-2: 0 2px 6px rgba(0,0,0,.30);
  --hve-focus: #77C720;        /* green focus */
}

/* Wrapper + spacing */
.estimator-container{
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding-top: 16px;
  font-family: 'Metropolis', Arial, sans-serif;
  margin-top: clamp(12px, 2.2vw, 26px);
  margin-bottom: clamp(18px, 4.5vw, 36px);
}
@supports(.elementor-kit-402(:has(*))){
  .estimator-container:has(#rprAvmWidget_1:not(:empty)){
    margin-bottom: clamp(14px, 3.5vw, 28px);
  }
}

/* Tab */
.estimator-tab{
  position: absolute; left: 50%; top: 0;
  transform: translate(-50%, -60%);
  background: var(--hve-tab-bg); color: #fff;
  font-weight: 600;
  font-size: clamp(.95rem, 2.1vw, 1.15rem);
  max-width: 86%;
  line-height: 1.2; 
  padding: 0.62em 3.32em 0.52em;
  border-radius: 6px 6px 0 0;
  box-shadow: var(--hve-shadow-1);
  z-index: 12; white-space: nowrap;
  display: flex; align-items: center; justify-content: center;
}
.estimator-tab::after{
  content: ""; position: absolute; bottom: -0.60em; left: 50%
  transform: translateX(-50%);
  border-left: 1em solid transparent;
  border-right: 1em solid transparent;
  border-top: 0.75em solid var(--hve-tab-bg);
  z-index: 13;
}
/* HVE tab — very small widths */
@media (max-width: 250px){
  .estimator-container .estimator-tab{
    font-weight: 400;
    font-size: 0.86rem;
  }
}

/* Panel */
.estimator-box{
  width: 100%;
  background: #3f3f3f; /* solid dark */
  padding: clamp(16px, 3vw, 24px) clamp(12px, 3vw, 20px);
  padding-bottom: clamp(8px, 1.8vw, 12px);  /* trimmed; matches your “good” screenshot */
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
  color: var(--hve-text);
}

/* Form */
.hve-form{ text-align: center; margin: 0 auto; }
.hve-intro{
  color: var(--hve-muted);
  font-size: clamp(.95rem, 2.2vw, 1.1rem);
  margin: 0 0 .5rem;
}
.hve-input{
  width: min(100%, 700px);
  padding: 12px 16px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  font-size: 1rem; line-height: 1.2;
  display: block; margin-left: auto; margin-right: auto;
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.hve-input:focus{
  border-color: var(--hve-focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--hve-focus) 35%, transparent);
}
.hve-input::placeholder{ color: #777; }

/* Actions */
.hve-actions{
  margin-top: 12px;
  display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;
}
.hve-btn{
  width: 100px; height: 38px; border: 0; border-radius: 6px;
  font-size: 1rem; font-weight: 600; cursor: pointer;
  box-shadow: var(--hve-shadow-2);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.hve-btn.primary{ background: var(--hve-cta); color: var(--hve-cta-contrast); }
.hve-btn.ghost{ background: #fff; color: #000; border: 1px solid rgba(0,0,0,.08); }
.hve-btn:hover{ transform: scale(1.03); box-shadow: 0 0 10px rgba(0,0,0,.25); }
.hve-btn.primary:hover{ filter: drop-shadow(0 0 8px color-mix(in srgb, var(--hve-cta) 60%, transparent)); }

/* Disclaimer */
.hve-disclaimer{
  color: var(--hve-muted);
  font-size: clamp(.72rem, 1.6vw, .85rem);
  line-height: 1.35;
  padding-top: 20px;
  padding-bottom: 15px;
  max-width: 720px; margin: 0 auto; text-align: center;
}
@media (min-width: 1024px){
  .hve-disclaimer{ line-height: 1.32; }
}

/* HVE disclaimer link style */
.hve-disclaimer a,
#disclaimer a {
  color: var(--hve-cta) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Results holder + print button */
.hve-widget{ margin: clamp(12px, 1.6vw, 18px) 0; display:flex; justify-content:center; }
.hve-widget:empty{ margin: 0 !important; display: none; }  /* tight empty state */

#rprAvmWidget_1, .rpr-avm-widget{ width: 100%; }
.rpr-avm-widget .hve-print-btn{
  display: flex; align-items: center; justify-content: center;
  margin: 14px auto 0;
  background: #77C720; color: #fff;
}

/* Borderless like Sierra */
.rpr-avm-widget table{ border-collapse: collapse !important; }
.rpr-avm-widget th, .rpr-avm-widget td{ border: 0 !important; }
.rpr-avm-widget .rprw-section, .rpr-avm-widget .rprw-table{ border: 0 !important; }

/* Interpretation heading */
#valueExplanation h3{
  font-family: 'Metropolis Black','Metropolis',Arial,sans-serif;
  font-weight: 900; font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  line-height: 1.25; margin: 0 0 .5rem;
}

/* ===== RPR mobile behavior ===== */
/* 1) ≤520px: stack columns, make chart fluid */
@media (max-width: 520px){
  #rprAvmWidget_1 .rprw-content-1,
  #rprAvmWidget_1 .rprw-content-2{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #rprAvmWidget_1 .rprw-section table{
    width: 100% !important;
    table-layout: auto !important;
  }
  #rprAvmWidget_1 .rprw-chart-cont{ overflow: visible !important; text-align: center; }
  #rprAvmWidget_1 .rprw-chart-cont img{
    width: clamp(240px, 92%, 360px) !important;  /* default stacked size */
    height: auto !important;
    display: block;
    margin: 0 auto;
  }
}

/* 2) Only between 400–520px: make the chart a bit smaller */
@media (min-width: 400px) and (max-width: 520px){
  #rprAvmWidget_1 .rprw-chart-cont img{
    width: clamp(220px, 84%, 320px) !important;  /* tweak these three values later if desired */
  }
}
/*END Home Value Estimator Styling*/

/*BEGIN Testimonial Carousel Styling*/
/* Testimonial Carousel compact height with smart fade that hides when scrolling or at bottom */
.ipt-reviews { --cap: clamp(8.5rem, 14vh, 10.5rem); }

/* Tighten vertical padding so short reviews do not create tall cards */
.ipt-reviews .elementor-testimonial { padding-top:.25rem; padding-bottom:.25rem; }

/* Only the text area scrolls, widget stays compact */
.ipt-reviews .elementor-testimonial__content{
  position:relative;
  max-height:var(--cap);
  overflow:auto;
  padding-right:.25rem;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:thin;                 /* Firefox */
  scrollbar-color:#c0bab5 transparent;  /* Firefox */
}

/* Tighter paragraph spacing inside the content */
.ipt-reviews .elementor-testimonial__text,
.ipt-reviews .elementor-testimonial__content p { margin:0 0 .6em; }

/* Bottom fade is visible by default, hides only when appropriate */
.ipt-reviews .elementor-testimonial__content::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:1.6em; /* reduce to 1.2em if desired */
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.92)); /* match card bg if not white */
  opacity:.95;
  transition:opacity .15s ease;
}
/* Hide the fade while scrolling, at bottom, or when not scrollable */
.ipt-reviews .elementor-testimonial__content.is-scrolling::after,
.ipt-reviews .elementor-testimonial__content.at-bottom::after,
.ipt-reviews .elementor-testimonial__content:not(.is-scrollable)::after{
  opacity:0;
}

/* Subtle WebKit scrollbar styling */
.ipt-reviews .elementor-testimonial__content::-webkit-scrollbar{ width:6px; }
.ipt-reviews .elementor-testimonial__content::-webkit-scrollbar-thumb{ background:#c0bab5; border-radius:6px; }
.ipt-reviews .elementor-testimonial__content::-webkit-scrollbar-track{ background:transparent; }

/*END Testimonial Carousel Styling*/

/* BEGIN Agent Card Styling  */

:root { --taupe:#8b8784; --rule:#e9e6e3; }

/* Desktop/tablet default — photo never exceeds this */
.agent-card{
  --photo-w: 170px;                    /* adjust this if you want slightly larger/smaller */
  display:grid;
  grid-template-columns: var(--photo-w) 1fr;
  column-gap:1.25rem;
  align-items:start;
  padding:1.1rem 0;
  border-top:1px solid var(--rule);
}
.agent-card + .agent-card{ border-top:1px solid var(--rule); }

/* Portrait: fixed size, always 2:3, corners always rounded */
.agent-photo{
  width:var(--photo-w);
  height:calc(var(--photo-w) * 1.5);   /* 2:3 ratio */
  border-radius:.5rem;
  overflow:hidden;
}
.agent-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;          /* keep hair in frame */
  border-radius:inherit;
}

/* Text column aligns to the photo’s fixed height */
.agent-body{ min-width:0; }

/* Name → Title tight */
.agent-name{
  margin:0 0 .15rem 0;
  font-weight:800;
  font-size:clamp(1.1rem, 1.2vw + .7rem, 1.45rem);
}
.agent-title{
  margin:0 0 .4rem 0;
  color:var(--taupe);
  font-weight:500;
  font-size:clamp(.95rem, .3vw + .8rem, 1.05rem);
}

/* Phone / license tight */
.agent-meta{ margin:0 0 .4rem 0; }
.agent-meta p{ margin:.1rem 0; }

/* Teaser spacing + clamp to two lines for consistent bottoms */
.agent-excerpt p{ margin:.28rem 0; line-height:1.32; }
.agent-excerpt p:first-child{ margin-top:0; margin-bottom:.15rem; }
.agent-excerpt p:nth-of-type(2){
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;                /* set to 3 if preferred */
  overflow:hidden;
}

/* Read More (left by request) */
.agent-readmore{ margin-top:.2rem; }
.agent-readmore a{
  text-decoration:none;
  border-bottom:1px solid rgba(42,109,179,.35);
}

/* Wide desktops: keep the same photo size (no growth) */
@media (min-width:1400px){
  .agent-card{ --photo-w: 170px; }     /* explicit so it never scales up */
}

/* Medium tablets: optional small downstep if desired */
@media (max-width:900px){
  .agent-card{ --photo-w: 160px; }
}

/* Phone: stack, keep portrait modest and proportional (still below desktop size) */
@media (max-width:640px){
  .agent-card{
    grid-template-columns: 1fr;
    row-gap:.9rem;
  }
  .agent-photo{
    --photo-w: 150px;                  /* phone width; smaller than desktop */
    width:var(--photo-w);
    height:calc(var(--photo-w) * 1.5);
  }
}

/* ===== Agent header block ===== */
:root { --taupe:#8b8784; --rule:#e9e6e3; --icon:#1B75BB; --accent:#77c720; }

.agent-hero{
  --photo-w: 170px;                    /* desktop portrait width (2:3 height is auto) */
  display:grid;
  grid-template-columns: var(--photo-w) 1fr;
  gap:1.25rem;
  align-items:start;
  padding:.5rem 0 1rem;
  border-top:1px solid var(--rule);
}

.agent-hero__photo{
  width:var(--photo-w);
  aspect-ratio:2/3;
  border-radius:.5rem;
  overflow:hidden;
}
.agent-hero__photo img{
  width:100%; height:100%; object-fit:cover; object-position:center top; display:block;
  border-radius:inherit;
}

.agent-hero__name{ margin:0; font-weight:800; font-size:clamp(1.4rem,1.1vw + 1.2rem,2rem); }
.agent-hero__role{ margin-left:.5rem; color:var(--taupe); font-weight:500; font-size:clamp(.95rem,.3vw + .85rem,1.05rem); }

.agent-hero__facts{ margin:.6rem 0 0 0; }
.agent-hero__fact{
  display:grid; grid-template-columns: 140px 1fr; align-items:center;
  padding:.55rem 0; border-bottom:1px solid var(--rule);
}
.agent-hero__fact dt{ margin:0; font-weight:700; color:#3f3f3f; }
.agent-hero__fact dd{ margin:0; }
.agent-hero__fact a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(42,109,179,.35); }

/* Social row + icons */
.agent-hero__social{ margin-top:.6rem; display:flex; align-items:center; gap:.5rem; }
.agent-hero__social .ico{
  width:30px; height:30px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--icon); color:#fff; text-decoration:none;
}
.agent-hero__social .ico svg{ width:18px; height:18px; }   /* SVG icons */
.agent-hero__social .ico-img{ width:18px; height:18px; display:block; }  /* PNG icons */

/* Inline “Back to About” link at right end of social row */
.agent-back-inl{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:.35rem;
  color:var(--taupe)!important; text-decoration:none; border-bottom:1px solid transparent;
  padding:.15rem .25rem; transition: color .15s ease, border-color .15s ease, transform .15s ease;
}
.agent-back-inl:hover{
  color:var(--accent)!important; border-bottom-color: rgba(119,199,32,.35);
  transform: translateX(-2px);
}
.agent-back-inl .icon{ width:18px; height:18px; }

/* Responsive tweaks */
@media (max-width:860px){
  .agent-hero{ --photo-w: 160px; grid-template-columns: var(--photo-w) 1fr; }
  .agent-hero__fact{ grid-template-columns: 130px 1fr; }
}
@media (max-width:640px){
  .agent-hero{ grid-template-columns:1fr; row-gap:.9rem; }
  .agent-hero{ --photo-w: 150px; }
  .agent-hero__role{ display:block; margin:.15rem 0 0 0; } /* title on its own line */
  .agent-back-inl span{ display:none; }                    /* arrow only on phones */
  .agent-back-inl .icon{ width:20px; height:20px; }
}
/* END Agent Card Styling */

/*BEGIN Calendly Spacer for .page-calendly class */

.page-calendly{
  --cal-headroom: 1em; 
  padding-top: var(--cal-headroom); 
  clear: both; 
}
/*END Calendly Spacer */

/*BEGIN Chevron Widget Spacer for .chevron-widget class */

.chevron-widget{
  --cal-headroom: 1em;
  --cal-footroom: 1em;
  padding-top: var(--cal-headroom);
  padding-bottom: var(--cal-footroom);
  clear: both;
}
/*END chevron-widget Spacer */


/* BEGIN Tab Container */
#listselect-tabs .e-n-tabs-heading{
  background:#3f3f3f;
  padding-block:0.55em;              
  margin:0;                          
  border:0;
  display:flex;                     
  gap:clamp(12px,2vw,24px);        
  box-shadow:none;
  padding-block:0.35em;
  padding-block-start: 0.35em;  
  padding-block-end: 0;                       
}
/* END Tab Container */

/* BEGIN Tab Labels */
#listselect-tabs [role="tab"]{
  background:transparent;
  border:0;
  color:#fff;
  font-family:"Metropolis",system-ui,sans-serif;
  font-weight:500;                                  
  font-size:clamp(1.06rem, 2.05vw, 1.18rem);            
  line-height:1.2;
  margin:0;
  box-shadow:none;                                  
}

#listselect-tabs [role="tab"][aria-selected="true"]{
  font-weight:600;                                  
}
/* END Tab Labels */

/* BEGIN Container & Tab Adjustments  */
#listselect-tabs .e-n-tab-content,
#listselect-tabs [role="tabpanel"]{
  padding:0;              
}

#listselect-tabs [role="tabpanel"] > *:first-child{
  margin-top:0;           
}

#listselect-tabs .e-n-tabs-content{
  padding-top:0;          
}

#listselect-tabs [role="tabpanel"] > *:first-child{
  margin-top:0 !important;  
  padding-top:0 !important;
}

#listselect-tabs [role="tabpanel"] .responsive-table{
  margin-top:0 !important;   
}

#listselect-tabs .e-n-tabs{
  row-gap:0 !important;
  gap:0 !important;           
  grid-row-gap:0 !important;  
}
/* END Container & Tab Adjustment */

/* BEGIN Tab Underline States */
#listselect-tabs [role="tab"] .e-n-tab-title-text{
  position: relative;
  display: inline-block;    
}

#listselect-tabs [role="tab"] .e-n-tab-title-text::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.2em;           
  height: 2px;
  background: #808080;      
  transition: height 180ms ease-out, background-color 180ms ease-out;
}

#listselect-tabs [role="tab"]:hover .e-n-tab-title-text::after,
#listselect-tabs [role="tab"]:focus-visible .e-n-tab-title-text::after{
  height: 3px;             
  background: #77c720;      
}

#listselect-tabs [role="tab"][aria-selected="true"] .e-n-tab-title-text::after{
  height: 3px;             
  background: #77c720;
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  #listselect-tabs [role="tab"] .e-n-tab-title-text::after{
    transition: none;
  }
}

/* END Tab Underline States */

/* BEGIN Symmetrical Label Spacing */
#listselect-tabs .e-n-tabs-heading{
  justify-content: space-evenly;      
  column-gap: clamp(12px, 2.2vw, 28px);
  padding-inline: 0;                 
}
/* END Symmetrical Label Spacing */

/* BEGIN Label & Underline Vertical Centering */
#listselect-tabs [role="tab"]{
  transform: translateY(-5px); 
}
/* END Label & Underline Vertical Centering */

/* BEGIN Underline Offset */
#listselect-tabs [role="tab"] .e-n-tab-title-text::after{
  bottom: -0.28em;              
}
/* END Underline Offset */

/* BEGIN Hover Spacing Adjustment */
#listselect-tabs [role="tab"]:hover .e-n-tab-title-text::after,
#listselect-tabs [role="tab"]:focus-visible .e-n-tab-title-text::after,
#listselect-tabs [role="tab"][aria-selected="true"] .e-n-tab-title-text::after{
  bottom: -0.34em;              
}
/*END Hover Spacing Adjustment */

/* BEGIN Tabs: Hover Blue, Active Green */
#listselect-tabs [role="tab"]:hover .e-n-tab-title-text::after,
#listselect-tabs [role="tab"]:focus-visible .e-n-tab-title-text::after{
  background:#30acc5; 
}

#listselect-tabs [role="tab"][aria-selected="true"] .e-n-tab-title-text::after{
  background:#77c720; 
}

/* END Tabs: Hover Blue, Active Green */

/* BEGIN Heading Spacing for .tab-heading Class */
#listselect-tabs .e-n-tabs-content .e-active:has(.tab-heading){
  padding-top: clamp(6px, 0.694vw, 10px) !important;
}
/* END Heading Spacing for .tab-heading Class */

/* BEGIN .tab-heading H4 responsive size */
#listselect-tabs .tab-heading h4{
  font-size: clamp(1.05rem, calc(0.6rem + 1vw), 1.5rem);
  line-height: 1.25;
}
/* END .tab-heading H4 responsive size */

/* BEGIN ListSelect Tabs: 744–561 (single row, strong clamps + even gaps) */
@media (max-width: 744px) and (min-width: 561px){
  /* bar distribution + one-line labels with even edge/inner gaps */
  #listselect-tabs .e-n-tabs-heading{
    flex-wrap: nowrap;
    justify-content: flex-start;                      /* no auto-redistribution */
    gap: clamp(10px, 1.6vw, 16px);                    /* consistent spacing */
    column-gap: clamp(10px, 1.6vw, 16px);
    padding-inline: clamp(10px, 1.6vw, 16px);         /* edges = gap */
  }
  /* proportional shrink + equalized flex */
  #listselect-tabs [role="tab"]{
    flex: 1 1 0; min-width: 0; text-align: center;
    font-size: clamp(0.90rem, 1.50vw, 1.06rem);
    letter-spacing: -0.01em;
  }
  /* prevent internal wraps */
  #listselect-tabs [role="tab"] .e-n-tab-title-text{
    white-space: nowrap; word-break: normal; hyphens: none;
  }
  /* thinner underline in this band */
  #listselect-tabs [role="tab"] .e-n-tab-title-text::after{
    height: 1px; bottom: -0.24em;
  }
  #listselect-tabs [role="tab"]:hover .e-n-tab-title-text::after,
  #listselect-tabs [role="tab"]:focus-visible .e-n-tab-title-text::after,
  #listselect-tabs [role="tab"][aria-selected="true"] .e-n-tab-title-text::after{
    height: 2px; bottom: -0.28em;
  }
}
/* END ListSelect Tabs: 744–561 (single row, strong clamps + even gaps) */

/* BEGIN ListSelect Tabs: 560–526 (single row, hard clamps + longest-label relief + even gaps) */
@media (max-width: 560px) and (min-width: 526px){
  /* even gaps and tight gutters in this band */
  #listselect-tabs .e-n-tabs-heading{
    display: flex; flex-wrap: nowrap; justify-content: flex-start;
    gap: 4px; column-gap: 4px; padding-inline: 4px;   /* edges = gap */
  }
  /* strong shrink; equal, shrinkable widths */
  #listselect-tabs [role="tab"]{
    flex: 1 1 0%; min-width: 0; text-align: center;
    font-size: clamp(0.68rem, 0.90vw, 0.92rem);
    letter-spacing: -0.03em; word-spacing: -0.02em;
  }
  /* extra relief for the longest label (“Our ListSelect™ Plans”) */
  #listselect-tabs #TabbedLSP{
    font-size: clamp(0.62rem, 0.82vw, 0.88rem);
  }
  /* keep one line per label */
  #listselect-tabs [role="tab"] .e-n-tab-title-text{ white-space: nowrap; }
  /* thinner underline while type is small */
  #listselect-tabs [role="tab"] .e-n-tab-title-text::after{
    height: 1px; bottom: -0.20em;
  }
  #listselect-tabs [role="tab"]:hover .e-n-tab-title-text::after,
  #listselect-tabs [role="tab"]:focus-visible .e-n-tab-title-text::after,
  #listselect-tabs [role="tab"][aria-selected="true"] .e-n-tab-title-text::after{
    height: 2px; bottom: -0.24em;
  }
}
/* END ListSelect Tabs: 560–526 (single row, hard clamps + longest-label relief + even gaps) */

/* BEGIN ListSelect Tabs: ≤525 (stacked) */
@media (max-width: 525px){
  #listselect-tabs .e-n-tabs-heading{
    flex-direction: column;
    gap: 8px;
    padding-inline: 0;
  }
  #listselect-tabs [role="tab"]{
    flex: 0 0 auto; width: 100%; text-align: left;
    font-size: clamp(0.98rem, 2.5vw, 1.08rem);
    letter-spacing: normal; word-spacing: normal;
  }
}
/* END ListSelect Tabs: ≤525 (stacked) */

/* Calendly CSS Begins Here*/
.calendly-container {
  position: relative;
  width: 100%;
  max-width: clamp(240px, 28vw, 280px);
  font-size: clamp(13.5px, 1.4vw, 16px);
  margin: 0 auto;
  padding-top: 8px;
}

.calendly-tab {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -60%);
  background: #77C720;
  color: #fff;

  font-size: 0.90em;        
  font-weight: 700;
  padding: 0.55em 1.10em 0.45em 1.10em;

  border: none;
  border-radius: 0.375em 0.375em 0 0;
  box-shadow: 0 0.63em 1.75em rgba(0,0,0,0.25), 0 0.19em 0.63em rgba(0,0,0,0.15);
  z-index: 12;

  max-width: 86%;           
  white-space: nowrap;      
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  overflow: hidden;
  text-overflow: ellipsis;
}

.calendly-tab:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -0.50em;
  left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;

  border-left: 0.75em solid transparent;
  border-right: 0.75em solid transparent;
  border-top: 0.56em solid #77C720;

  z-index: 13;              
  pointer-events: none;
}

/* tiny phones: soften weight without changing the look */
@media (max-width: 360px){
  .calendly-tab{ font-weight: 400; }
}

.calendly-tab{
  overflow: visible;                
  background-color:#77C720;         
  background-image: linear-gradient(
    120deg,
    rgba(255,255,255,0)    0%,
    rgba(255,255,255,0.32) 12%,
    rgba(255,255,255,0)    24%
  );
  background-repeat: no-repeat;
  background-size: 300% 100%;
  background-position: 150% 0%;
}

/* shimmer pass = animate background-position only */
.calendly-tab.shimmer{
  animation: tabShimmer 1.25s ease-in-out both;
}

/* diagonal sweep across the tab face; clipped by the tab’s border box */
@keyframes tabShimmer{
  0%   { background-position: 150% 0%; }
  100% { background-position: -50% 0%; }
}

/* Reduced motion: static, faint highlight; no animation */
@media (prefers-reduced-motion: reduce){
  .calendly-tab{
    background-image: linear-gradient(0deg, rgba(255,255,255,0.18), rgba(255,255,255,0.18));
    background-size: 100% 100%;
    background-position: 0% 0%;
  }
  .calendly-tab.shimmer{ animation:none; }
}

.calendly-box {
  background: #3f3f3f;
  /* top | right | bottom | left — scaled, slightly leaner sides at desktop */
  padding: 1.25em 0.70em 0.75em 0.70em;
  border-radius: 0.75em;
  box-shadow: 0 0.19em 0.50em rgba(0, 0, 0, 0.40);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;

  /* limit transitions for perf + clarity */
  transition: background-color 0.18s ease-in-out,
              box-shadow 0.18s ease-in-out,
              transform 0.18s ease-in-out;
}

.calendly-box:hover,
.calendly-box:focus-visible {
  background-color: #4a4a4a;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
  transform: scale(1.01);
  /*outline: none;*/
}

.calendly-icon {
  width: 4.25em;
  height: 4.25em;
  margin-bottom: 0.375em;
}

.calendly-heading {
  font-size: clamp(0.76rem, 1.35vw, 0.98rem);
  line-height: 1.24;
  font-weight: 500;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

/* Circle button in ultra-narrow portrait */
@media (orientation: portrait) and (max-width: 240px){

  /* hide the chevron tab entirely */
  .calendly-tab{ display: none !important; }

  /* center the button */
  .calendly-container{
    max-width: none;
    padding-top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* circular button */
  .calendly-box{
    --btn-d: clamp(44px, 12vh, 64px); 

    width: var(--btn-d);
    height: var(--btn-d);
    border-radius: 50%;
    box-shadow: none;
    transform: none;
    display: grid;             
    place-items: center;
    padding: 0;
    margin: 0 auto;
    cursor: pointer;
  }

  /* show only the icon; scale within the circle */
  .calendly-icon{
    display: block !important;
    width: 56%;
    height: auto;
    margin: 0;
    filter: none;
  }

  /* hide heading and any leftover label */
  .calendly-heading{ display: none !important; }

  /* remove the text-insert from earlier mode */
  .calendly-box::before{ content: none !important; }
}
/* Calendly CSS Ends Here*//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Metropolis';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Light.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Light.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-LightItalic.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-LightItalic.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-LightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Regular.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Regular.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-RegularItalic.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-RegularItalic.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-RegularItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Medium.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Medium.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-MediumItalic.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-MediumItalic.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-MediumItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Bold.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Bold.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: italic;
	font-weight: 700;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BoldItalic.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BoldItalic.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BoldItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Black.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Black.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-Black.ttf') format('truetype');
}
@font-face {
	font-family: 'Metropolis';
	font-style: italic;
	font-weight: 900;
	font-display: auto;
	src: url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BlackItalic.woff2') format('woff2'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BlackItalic.woff') format('woff'),
		url('http://vz5w3whzrfd.c.updraftclone.com/wp-content/uploads/2025/08/Metropolis-BlackItalic.ttf') format('truetype');
}
/* End Custom Fonts CSS */