 /*
 Theme Name:   Hello Elementor Child
 Template:     hello-elementor
 Version:      1.0.0
*/


h1,h2,h3,h4,h5,p,strong{
	 font-family:'Quicksand',-apple-system,'Segoe UI',sans-serif!important;
}

#site-header,
#site-footer,
.entry-title{
	display: none !important;
}

.gsap-pin-section {
  position: relative;
  height: 300vh; /* adjust based on number of steps */
}

.gsap-pin-section .elementor-container {
  position: sticky;
  top: 0;
  height: 100vh;
}

.step {
  position: absolute;
  width: 100%;
  opacity: 0;
  transform: translateY(50px);
}

/* Sticky section */
.horizontal-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

/* Horizontal movement */
.horizontal-track {
  display: flex;
  flex-wrap: nowrap;
  width: 300vw !important; /* force width */
  height: 100vh;
}
/* Each slide */
.slide {
  width: 100vw !important;
  height: 100vh;
  /*flex: 0 0 100vw !important;*/
  flex: 0 0 95vw !important;
}


.sticky-headings {
  position: sticky !important;
  top: 0;
  height: 100vh;
  align-self: flex-start;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.heading-1,
.heading-2,
.heading-3,
.heading-4,
.heading-5 {
  position: absolute;
  transition: opacity 0.6s ease, transform 0.6s ease;
  width: 100%;
  padding: 20px;
}

.heading-1 {
  opacity: 1;
  transform: translateY(0);
}

.heading-2,
.heading-3,
.heading-4,
.heading-5 {
  opacity: 0;
  transform: translateY(40px);
}

.list-border ul li{
	padding: 10px 30px 10px 30px !important;
	border:2px solid #91cbcf !important;
	border-radius:20px;
}

.service-card-content,
.service-card-content a{
	padding: 10px !important;
}

/* Mobile responsiveness */
@media (max-width: 768px) {

}

/* ==========================================================================
   BUTTONS, sitewide. Matches the homepage pill system.
   Roles are set per button as a CSS class in Elementor (Advanced > CSS Classes):
     adx-btn--primary    filled, Coastal Depth, white label
     adx-btn--secondary  outlined, fills on hover
     adx-btn--link       text link with a drawn arrow
   !important is deliberate: it overrides the per-widget colours Elementor
   writes for each button, so every page reads as one system.
   ========================================================================== */
.adx-btn--primary .elementor-button,
.adx-btn--secondary .elementor-button,
.adx-btn--link .elementor-button{
  --ease:cubic-bezier(.22,1,.36,1);
  --adx-action:#1E6E6F; --adx-nav:#2F8583;
  position:relative; isolation:isolate; overflow:hidden;
  font-family:'Quicksand',-apple-system,'Segoe UI',sans-serif !important;
  font-size:.92rem !important; font-weight:600 !important;
  letter-spacing:.04em !important; text-transform:none !important; line-height:1 !important;
  border:0 !important; border-radius:999px !important;
  padding:.98rem 1.8rem !important;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .5s var(--ease), color .3s ease,
             box-shadow .5s var(--ease), transform .5s var(--ease) !important;
}
.adx-btn--primary .elementor-button-content-wrapper,
.adx-btn--secondary .elementor-button-content-wrapper,
.adx-btn--link .elementor-button-content-wrapper{
  display:inline-flex; align-items:center; gap:0;
  transition:gap .5s cubic-bezier(.22,1,.36,1);
}
/* drawn arrow, opens on hover and the label makes room for it */
.adx-btn--primary .elementor-button-content-wrapper::after,
.adx-btn--secondary .elementor-button-content-wrapper::after,
.adx-btn--link .elementor-button-content-wrapper::after{
  content:""; flex:none; width:0; height:.72em; opacity:0; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M1 6h11M7.5 1.5 12 6l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M1 6h11M7.5 1.5 12 6l-4.5 4.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:translateX(-6px);
  transition:width .5s cubic-bezier(.22,1,.36,1), opacity .35s ease .05s, transform .5s cubic-bezier(.22,1,.36,1);
}
/* one soft band of light, crossing once per hover */
.adx-btn--primary .elementor-button::before,
.adx-btn--secondary .elementor-button::before{
  content:""; position:absolute; inset:-1px; z-index:-1; pointer-events:none;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.26) 48%, rgba(255,255,255,.08) 56%, transparent 70%);
  transform:translateX(-120%);
}

/* primary */
.adx-btn--primary .elementor-button,
.adx-btn--primary .elementor-button:visited,
.adx-btn--primary .elementor-button:focus{
  background:var(--adx-action) linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 55%) !important;
  color:#fff !important;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset, 0 6px 16px rgba(30,110,111,.20) !important;
}
.adx-btn--primary .elementor-button:hover{
  background-color:var(--adx-nav) !important; color:#fff !important; transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 12px 28px rgba(30,110,111,.30) !important;
}

/* secondary */
.adx-btn--secondary .elementor-button,
.adx-btn--secondary .elementor-button:visited,
.adx-btn--secondary .elementor-button:focus{
  background:rgba(30,110,111,0) !important; color:var(--adx-action) !important;
  box-shadow:inset 0 0 0 1.5px var(--adx-action) !important;
}
.adx-btn--secondary .elementor-button:hover{
  background-color:var(--adx-action) !important; color:#fff !important; transform:translateY(-2px);
  box-shadow:inset 0 0 0 1.5px var(--adx-action), 0 12px 28px rgba(30,110,111,.26) !important;
}

/* shared hover and press */
.adx-btn--primary .elementor-button:hover .elementor-button-content-wrapper,
.adx-btn--secondary .elementor-button:hover .elementor-button-content-wrapper{gap:.55rem}
.adx-btn--primary .elementor-button:hover .elementor-button-content-wrapper::after,
.adx-btn--secondary .elementor-button:hover .elementor-button-content-wrapper::after{width:.86em; opacity:1; transform:translateX(0)}
.adx-btn--primary .elementor-button:hover::before,
.adx-btn--secondary .elementor-button:hover::before{transform:translateX(120%); transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.adx-btn--primary .elementor-button:active,
.adx-btn--secondary .elementor-button:active{transform:translateY(0) scale(.975); transition-duration:.12s !important}

/* link: no surface, a hairline that draws in, arrow always present */
.adx-btn--link .elementor-button,
.adx-btn--link .elementor-button:visited,
.adx-btn--link .elementor-button:focus{
  background:transparent linear-gradient(currentColor,currentColor) left calc(100% - .2rem)/0 1px no-repeat !important;
  color:var(--adx-action) !important; box-shadow:none !important;
  padding:.45rem 0 !important; border-radius:0 !important;
  transition:background-size .5s cubic-bezier(.22,1,.36,1), color .3s ease !important;
}
.adx-btn--link .elementor-button-content-wrapper{gap:.45rem}
.adx-btn--link .elementor-button-content-wrapper::after{width:.86em; opacity:1; transform:translateX(0)}
.adx-btn--link .elementor-button:hover{background-size:100% 1px !important; color:var(--adx-nav) !important}
.adx-btn--link .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(4px)}

/* phone buttons keep their label still: an arrow means go, not call */
.elementor-widget-button .elementor-button[href^="tel:"] .elementor-button-content-wrapper::after{display:none}
.elementor-widget-button .elementor-button[href^="tel:"]:hover .elementor-button-content-wrapper{gap:0}

/* focus */
.adx-btn--primary .elementor-button:focus-visible,
.adx-btn--secondary .elementor-button:focus-visible,
.adx-btn--link .elementor-button:focus-visible{outline:2px solid #76CCD1 !important; outline-offset:4px}

/* no underline from the theme's link styles */
.adx-btn--primary .elementor-button, .adx-btn--secondary .elementor-button, .adx-btn--link .elementor-button,
.adx-btn--primary .elementor-button *, .adx-btn--secondary .elementor-button *, .adx-btn--link .elementor-button *{text-decoration:none !important}

/* on a dark band (Coastal Depth CTA panels) the roles invert:
   primary becomes a cream pill with a teal label, secondary a cream outline */
.adx-btn--on-dark.adx-btn--primary .elementor-button,
.adx-btn--on-dark.adx-btn--primary .elementor-button:visited,
.adx-btn--on-dark.adx-btn--primary .elementor-button:focus{
  background:#FEF8DE linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 60%) !important;
  color:#1E6E6F !important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 8px 22px rgba(8,30,30,.28) !important;
}
.adx-btn--on-dark.adx-btn--primary .elementor-button:hover{
  background-color:#ffffff !important; color:#1E6E6F !important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 14px 32px rgba(8,30,30,.36) !important;
}
.adx-btn--on-dark.adx-btn--primary .elementor-button::before{
  background:linear-gradient(105deg, transparent 30%, rgba(118,204,209,.35) 48%, rgba(118,204,209,.10) 56%, transparent 70%);
}
.adx-btn--on-dark.adx-btn--secondary .elementor-button,
.adx-btn--on-dark.adx-btn--secondary .elementor-button:visited,
.adx-btn--on-dark.adx-btn--secondary .elementor-button:focus{
  background:rgba(254,248,222,0) !important; color:#FEF8DE !important;
  box-shadow:inset 0 0 0 1.5px rgba(254,248,222,.8) !important;
}
.adx-btn--on-dark.adx-btn--secondary .elementor-button:hover{
  background-color:#FEF8DE !important; color:#1E6E6F !important;
  box-shadow:inset 0 0 0 1.5px #FEF8DE, 0 14px 32px rgba(8,30,30,.32) !important;
}
.adx-btn--on-dark.adx-btn--link .elementor-button{color:#FEF8DE !important}

@media (prefers-reduced-motion:reduce){
  .adx-btn--primary .elementor-button, .adx-btn--secondary .elementor-button{transform:none !important}
  .adx-btn--primary .elementor-button::before, .adx-btn--secondary .elementor-button::before{display:none}
}


/* ==========================================================================
   SERVICES CARDS (page 662). Whole card is the link, faint teal surface,
   the hovered card lifts and deepens while its neighbours step back.
   ========================================================================== */
/* the drawn arrow replaces Elementor's own icon on text links, sitewide */
.adx-btn--link .elementor-button-icon{display:none !important}

.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link){
  position:relative; cursor:pointer; gap:16px !important;
  padding:12px 12px 22px !important; border-radius:22px;
  background:rgba(118,204,209,.07); border:1px solid rgba(118,204,209,.42);
  transition:transform .5s cubic-bezier(.22,1,.36,1), background-color .4s ease,
             border-color .4s ease, box-shadow .5s cubic-bezier(.22,1,.36,1), opacity .4s ease;
}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) img{border-radius:14px; transition:transform .9s cubic-bezier(.22,1,.36,1)}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-image, .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-image .elementor-widget-container{overflow:hidden; border-radius:14px}
/* text block: no dead space, link sits at the foot so every card aligns */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) > .e-con:has(.adx-btn--link){gap:10px !important; padding:0 8px !important; min-height:0 !important; flex:1 1 auto}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .e-con:has(> .elementor-widget-text-editor){min-height:0 !important; padding:0 !important}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-text-editor p{margin:0}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link{margin-top:auto !important; padding-top:4px}
/* stretch the link over the whole card */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link, .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-widget-container,
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-button-wrapper, .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-button{position:static !important; overflow:visible !important}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-button::before{content:""; position:absolute; inset:0; z-index:2; border-radius:22px; background:none; transform:none}

/* hover and keyboard focus */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover, .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):focus-within{
  transform:translateY(-4px);
  background:rgba(118,204,209,.17); border-color:#2F8583;
  box-shadow:0 18px 40px rgba(30,110,111,.16), 0 2px 6px rgba(30,110,111,.06);
}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover img{transform:scale(1.045)}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover .adx-btn--link .elementor-button{background-size:100% 1px !important; color:#2F8583 !important}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover .adx-btn--link .elementor-button-content-wrapper::after{transform:translateX(4px)}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):focus-within{outline:2px solid #76CCD1; outline-offset:3px}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-button:focus-visible{outline:none !important}
/* the others step back so the active card reads clearly */
.elementor-662 .e-con-inner:has(> .e-con:has(.adx-btn--link):hover) > .e-con:has(.adx-btn--link):not(:hover){opacity:.7}

/* tighter rhythm between the card rows */
.elementor-662 .e-flexbox-base:has(.adx-btn--link){padding-top:28px !important; padding-bottom:12px !important}

@media (prefers-reduced-motion:reduce){
  .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link), .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) img{transition:background-color .2s ease, border-color .2s ease}
  .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover, .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):focus-within{transform:none}
  .elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover img{transform:none}
}


/* ==========================================================================
   HEART BULLETS. Every list that used a tick now uses the Adentica heart,
   in corporate teal (#76CCD1). Footer and contact lists are untouched
   because they don't use the tick icon.
   ========================================================================== */
.elementor-icon-list-icon:has(> svg.e-fas-check){
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:1em !important; min-width:1em; height:1em; margin-top:.3em;
}
.elementor-icon-list-icon > svg.e-fas-check{display:none !important}
.elementor-icon-list-icon:has(> svg.e-fas-check)::before{
  content:""; display:block; width:.92em; height:.92em; background:#76CCD1;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 23C58 12 70 5 80 5C92 5 98 14 97 26C96 41 84 58 72 72C64 81 57 88 53.5 91.5C51.5 93.5 48.5 93.5 46.5 91.5C43 88 36 81 28 72C16 58 4 41 3 26C2 14 8 5 20 5C30 5 42 12 50 23Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 23C58 12 70 5 80 5C92 5 98 14 97 26C96 41 84 58 72 72C64 81 57 88 53.5 91.5C51.5 93.5 48.5 93.5 46.5 91.5C43 88 36 81 28 72C16 58 4 41 3 26C2 14 8 5 20 5C30 5 42 12 50 23Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}
.elementor-icon-list-item:has(svg.e-fas-check){align-items:flex-start !important}
.elementor-icon-list-item:has(svg.e-fas-check) .elementor-icon-list-text{padding-left:.7em}


/* SERVICES CARDS: lock image ratio so every card matches */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-image img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;object-position:50% 35%}


/* TEAM CARDS: consistent left edge and comfortable padding */
.service-card-content a{padding:0 !important}
.service-card-image-wrap > .service-card-content{padding:22px 26px 26px !important}
/* wider team photo: give the group breathing room like the portraits */
.elementor-509 .elementor-element-0d66a8c .elementor-widget-image img{aspect-ratio:3/2;width:100%;height:auto;object-fit:contain;padding:22px 26px 0;box-sizing:border-box;background:#fff}

.service-card-image-wrap .elementor-widget-image img{display:block !important}

/* TEAM CARDS: scale Andrew and Joshua portraits to match the others */
.elementor-509 .elementor-element-41b93f8 > .elementor-widget-image,
.elementor-509 .elementor-element-2516a7b > .elementor-widget-image{overflow:hidden}
.elementor-509 .elementor-element-41b93f8 > .elementor-widget-image img,
.elementor-509 .elementor-element-2516a7b > .elementor-widget-image img{transform:scale(.86) !important;transform-origin:50% 100% !important}

.elementor-509 .elementor-element-2516a7b > .elementor-widget-image img{filter:brightness(1.045)}


/* =====================================================================
   WAYFINDING: breadcrumbs + "more" strip (output by functions.php)
   ===================================================================== */
.adx-crumbs{margin-top:var(--adx-header-h,88px);font-family:'Quicksand',sans-serif;background:#fff;border-bottom:1px solid rgba(64,60,56,.08);position:relative;z-index:2}
.adx-crumbs__in{max-width:1240px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.adx-crumbs__back{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#1E6E6F !important;text-decoration:none !important;padding:.45rem .95rem .45rem .8rem;border:1px solid rgba(47,133,131,.3);border-radius:999px;background:#fff;transition:background .35s cubic-bezier(.22,1,.36,1),border-color .35s,gap .35s cubic-bezier(.22,1,.36,1)}
.adx-crumbs__back:hover,.adx-crumbs__back:focus-visible{background:#F4FAFA;border-color:#2F8583;gap:.7rem}
.adx-crumbs__back:focus-visible,.adx-crumbs__trail a:focus-visible,.adx-more__item a:focus-visible,.adx-more__all:focus-visible{outline:2px solid #76CCD1;outline-offset:3px}
.adx-crumbs__trail{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(64,60,56,.55)}
.adx-crumbs__trail li{display:flex;align-items:center}
.adx-crumbs__trail li+li::before{content:"";width:4px;height:4px;border-radius:50%;background:#76CCD1;margin:0 .85rem}
.adx-crumbs__trail a{color:rgba(64,60,56,.6) !important;text-decoration:none !important;transition:color .25s}
.adx-crumbs__trail a:hover{color:#1E6E6F !important}
.adx-crumbs__trail [aria-current]{color:#1E6E6F;font-weight:600}
@media (max-width:640px){.adx-crumbs__trail{display:none}.adx-crumbs__in{padding:12px 16px}}

.adx-more{font-family:'Quicksand',sans-serif;background:#F4FAFA;color:#403C38}
.adx-more__in{max-width:1240px;margin:0 auto;padding:clamp(56px,7vw,104px) 20px}
.adx-more__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(26px,3vw,44px);padding-bottom:18px;border-bottom:1px solid rgba(64,60,56,.12)}
.adx-more__title{font-family:'Quicksand',sans-serif !important;font-size:clamp(1.5rem,2.6vw,2.2rem) !important;font-weight:500 !important;letter-spacing:-.01em;line-height:1.2;margin:0 !important;color:#403C38 !important}
.adx-more__all{font-size:.88rem;font-weight:600;color:#1E6E6F !important;text-decoration:none !important;white-space:nowrap;display:inline-flex;gap:.4rem;transition:gap .35s cubic-bezier(.22,1,.36,1)}
.adx-more__all:hover{gap:.7rem}
.adx-more__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.adx-more--services .adx-more__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.adx-more__item a{display:flex;flex-direction:column;height:100%;text-decoration:none !important;color:inherit}
.adx-more__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#fff;margin-bottom:16px;box-shadow:0 1px 0 rgba(64,60,56,.04)}
.adx-more--services .adx-more__media{aspect-ratio:16/10}
.adx-more__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.adx-more__item--team-andrew .adx-more__img,.adx-more__item--team-joshua .adx-more__img{transform:scale(.86);transform-origin:50% 100%}
.adx-more__name{font-size:1.06rem;font-weight:600;line-height:1.3;color:#1E6E6F;display:flex;align-items:baseline;gap:.4rem}
.adx-more__arrow{opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1)}
.adx-more__sub{font-size:.88rem;line-height:1.5;margin-top:4px;color:rgba(64,60,56,.7)}
.adx-more__item a:hover .adx-more__img{transform:scale(1.045)}
.adx-more__item--team-andrew a:hover .adx-more__img,.adx-more__item--team-joshua a:hover .adx-more__img{transform:scale(.9)}
.adx-more__item a:hover .adx-more__arrow{opacity:1;transform:none}
@media (max-width:1024px){.adx-more__grid,.adx-more--services .adx-more__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.adx-more__head{flex-direction:column;align-items:flex-start}.adx-more--services .adx-more__grid{grid-template-columns:1fr}}

/* =====================================================================
   TEAM BIO: editorial / magazine layout
   ===================================================================== */
.elementor:has(.adx-bio-row){counter-reset:adxch}
.adx-bio-hero,.adx-bio-body{max-width:1240px !important;margin-left:auto !important;margin-right:auto !important}
.adx-bio-hero{display:grid !important;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,104px) !important;align-items:end;padding:clamp(40px,6vw,96px) 20px clamp(64px,8vw,128px) !important}
.adx-bio-hero__text,.adx-bio-hero__media{padding:0 !important;gap:0 !important}
.adx-bio-hero__text{padding-bottom:clamp(0px,2vw,24px) !important}
.adx-bio-eyebrow .elementor-heading-title{font-family:'Quicksand',sans-serif !important;font-size:.76rem !important;font-weight:600 !important;letter-spacing:.22em !important;text-transform:uppercase;color:#2F8583 !important;line-height:1.4 !important;margin:0 0 clamp(18px,2vw,26px) !important}
.adx-bio-name .elementor-heading-title{font-family:'Quicksand',sans-serif !important;font-size:clamp(2.7rem,5.6vw,5.1rem) !important;font-weight:500 !important;line-height:1.02 !important;letter-spacing:-.028em !important;color:#403C38 !important;text-wrap:balance}
.adx-bio-name .elementor-heading-title::after{content:"";display:block;width:56px;height:2px;background:#76CCD1;margin:clamp(22px,2.6vw,34px) 0 clamp(20px,2.4vw,30px)}
.adx-bio-lead,.adx-bio-lead p{font-family:'Quicksand',sans-serif !important;font-size:clamp(1.1rem,1.45vw,1.3rem) !important;line-height:1.65 !important;color:#403C38 !important;font-weight:400 !important;max-width:32em;margin:0 !important}
.adx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:clamp(30px,3.4vw,46px) 0 0;padding:20px 0 0;border-top:1px solid rgba(64,60,56,.14);font-family:'Quicksand',sans-serif}
.adx-facts div{margin:0}
.adx-facts dt{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#2F8583;margin:0 0 6px}
.adx-facts dd{font-size:.95rem;line-height:1.45;font-weight:500;color:#403C38;margin:0}
.adx-bio-hero__media{isolation:isolate}
.adx-bio-photo{position:relative}
.adx-bio-photo::before{content:"";position:absolute;left:-26px;bottom:-26px;width:58%;height:54%;background:rgba(242,217,183,.55);border-radius:28px;z-index:-1}
.adx-bio-photo img{display:block;width:100% !important;height:auto !important;max-width:none !important;aspect-ratio:4/5;object-fit:cover;object-position:var(--adx-focus,50% 40%);border-radius:28px !important;box-shadow:0 30px 70px rgba(18,48,48,.14)}
.page-id-676 .adx-bio-photo img{--adx-focus:60% 40%}
.page-id-1408 .adx-bio-photo img{--adx-focus:40% 40%}
.page-id-1419 .adx-bio-photo img{--adx-focus:22% 40%}
.page-id-1428 .adx-bio-photo img{--adx-focus:26% 40%}
.page-id-1449 .adx-bio-photo img{--adx-focus:50% 30%}

.adx-bio-body{padding:0 20px clamp(48px,6vw,88px) !important;gap:0 !important}
.adx-bio-row{display:grid !important;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(18px,5vw,88px) !important;padding:clamp(34px,4.4vw,60px) 0 !important;border-top:1px solid rgba(64,60,56,.12);counter-increment:adxch}
.adx-bio-row__title{position:sticky;top:120px;align-self:start}
.adx-bio-row__title .elementor-heading-title{font-family:'Quicksand',sans-serif !important;font-size:clamp(1.3rem,1.9vw,1.65rem) !important;font-weight:500 !important;line-height:1.25 !important;letter-spacing:-.01em !important;color:#403C38 !important}
.adx-bio-row__title .elementor-heading-title::before{content:counter(adxch,decimal-leading-zero);display:block;font-size:.76rem;font-weight:600;letter-spacing:.22em;color:#2F8583;margin-bottom:.9rem}
.adx-bio-row__text,.adx-bio-row__text p{font-family:'Quicksand',sans-serif !important;font-size:1.125rem !important;line-height:1.8 !important;color:rgba(64,60,56,.92) !important;max-width:38em}
.adx-bio-row__text p{margin:0 0 1.1em !important}
.adx-bio-row__text p:last-child{margin-bottom:0 !important}
.adx-bio-row--lead .adx-bio-row__text p:first-child::first-letter{float:left;font-size:4.3em;line-height:.8;font-weight:500;color:#2F8583;padding:.1em .12em 0 0}
.adx-bio-row__text a{color:#1E6E6F !important;text-decoration:underline;text-decoration-color:rgba(47,133,131,.4);text-underline-offset:3px}

.adx-bio-quote{background:#FEF8DE !important;padding:clamp(64px,9vw,136px) 20px !important;margin:clamp(8px,2vw,24px) 0 !important}
.adx-quote{max-width:920px;margin:0 auto;text-align:center;font-family:'Quicksand',sans-serif}
.adx-quote__mark{display:block;width:30px;height:29px;margin:0 auto 26px;background:#76CCD1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 96'%3E%3Cpath d='M50 23C58 12 70 5 80 5C92 5 98 14 97 26C96 41 84 58 72 72C64 81 57 88 53.5 91.5C51.5 93.5 48.5 93.5 46.5 91.5C43 88 36 81 28 72C16 58 4 41 3 26C2 14 8 5 20 5C30 5 42 12 50 23Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 96'%3E%3Cpath d='M50 23C58 12 70 5 80 5C92 5 98 14 97 26C96 41 84 58 72 72C64 81 57 88 53.5 91.5C51.5 93.5 48.5 93.5 46.5 91.5C43 88 36 81 28 72C16 58 4 41 3 26C2 14 8 5 20 5C30 5 42 12 50 23Z'/%3E%3C/svg%3E") center/contain no-repeat}
.adx-quote p{font-size:clamp(1.55rem,3.3vw,2.55rem) !important;line-height:1.32 !important;font-weight:400 !important;letter-spacing:-.016em;color:#403C38 !important;margin:0 !important;text-wrap:balance}

@media (prefers-reduced-motion:no-preference){
  .adx-bio-hero__text>*{animation:adxRise .9s cubic-bezier(.22,1,.36,1) both}
  .adx-bio-hero__text>*:nth-child(2){animation-delay:.08s}
  .adx-bio-hero__text>*:nth-child(3){animation-delay:.16s}
  .adx-bio-hero__text>*:nth-child(4){animation-delay:.24s}
  .adx-bio-photo img{animation:adxSettle 1.4s cubic-bezier(.22,1,.36,1) both}
}
@keyframes adxRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes adxSettle{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}

@media (max-width:900px){
  .adx-bio-hero{grid-template-columns:1fr;gap:40px !important;padding-top:28px !important}
  .adx-bio-hero__media{order:-1;padding-left:18px !important}
  .adx-bio-photo img{aspect-ratio:5/4}
  .adx-bio-row{grid-template-columns:1fr;gap:16px !important}
  .adx-bio-row__title{position:static}
}
@media (max-width:520px){.adx-facts{grid-template-columns:1fr 1fr}.adx-facts div:last-child{grid-column:1/-1}}

.adx-bio-quote+.adx-bio-body .adx-bio-row:first-child{border-top:0}
.adx-bio-body:has(+.adx-bio-quote){padding-bottom:clamp(32px,4vw,56px) !important}
.adx-more__item--team-joshua .adx-more__img{filter:brightness(1.045)}

/* crumbs: blend into the first section, reversed white pill */
.adx-crumbs{border-bottom:0 !important}
.adx-crumbs__in{padding-top:22px;padding-bottom:6px}
.adx-crumbs__back{border:0 !important;background:#F4FAFA;box-shadow:none}
.adx-crumbs__back:hover,.adx-crumbs__back:focus-visible{background:#E6F4F4}
.adx-crumbs.is-tinted .adx-crumbs__back{background:#fff;box-shadow:0 2px 10px rgba(18,48,48,.06)}
.adx-crumbs.is-tinted .adx-crumbs__back:hover{background:#fff;box-shadow:0 6px 18px rgba(18,48,48,.1)}
.adx-crumbs{margin-top:0 !important;padding-top:var(--adx-header-h,88px)}

/* crumbs: staggered fade-in once the preloader clears */
@media (prefers-reduced-motion:no-preference){
  .adx-crumbs.js-anim .adx-crumbs__back,.adx-crumbs.js-anim .adx-crumbs__trail li{opacity:0}
  .adx-crumbs.js-anim .adx-crumbs__back{transform:translateX(-10px)}
  .adx-crumbs.js-anim .adx-crumbs__trail li{transform:translateY(5px)}
  .adx-crumbs.is-in .adx-crumbs__back{animation:adxCrumbIn .9s cubic-bezier(.22,1,.36,1) forwards}
  .adx-crumbs.is-in .adx-crumbs__trail li{animation:adxCrumbIn .8s cubic-bezier(.22,1,.36,1) forwards}
  .adx-crumbs.is-in .adx-crumbs__trail li:nth-child(1){animation-delay:.18s}
  .adx-crumbs.is-in .adx-crumbs__trail li:nth-child(2){animation-delay:.26s}
  .adx-crumbs.is-in .adx-crumbs__trail li:nth-child(3){animation-delay:.34s}
  .adx-crumbs.is-in .adx-crumbs__trail li:nth-child(4){animation-delay:.42s}
  .adx-crumbs.is-in .adx-crumbs__trail li:nth-child(5){animation-delay:.5s}
  .adx-crumbs{transition:background-color .6s ease}
}
@keyframes adxCrumbIn{to{opacity:1;transform:none}}

/* pull quotes: curly quotation marks */
.adx-quote p::before{content:"\201C"}
.adx-quote p::after{content:"\201D"}

/* =====================================================================
   DARK CTA BANDS: one centre axis, consistent rhythm, buttons as a pair
   ===================================================================== */
.elementor > .e-flexbox-base:has(.adx-btn--on-dark){display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;text-align:center !important;gap:0 !important;height:auto !important;min-height:400px;padding:clamp(64px,8vw,112px) 20px !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-heading{width:100%;max-width:900px;margin:0 0 clamp(14px,1.6vw,20px) !important;padding:0 !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-heading .elementor-heading-title{text-align:center !important;margin:0 !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-text-editor{width:100%;max-width:36em;margin:0 0 clamp(26px,3vw,36px) !important;padding:0 !important;text-align:center !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-text-editor p{margin:0 !important;text-align:center !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) .e-con,.elementor > .e-flexbox-base:has(.adx-btn--on-dark) .e-con > .e-con-inner{display:flex !important;flex-direction:row !important;flex-wrap:wrap;justify-content:center !important;align-items:center !important;gap:16px !important;width:auto !important;max-width:none !important;flex:0 0 auto !important;min-height:0 !important;margin:0 !important;padding:0 !important;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) .elementor-widget-button{width:auto !important;max-width:none !important;margin:0 !important;flex:0 0 auto !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) .elementor-widget-button .elementor-button-wrapper{text-align:center !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark):not(:has(> .elementor-widget-text-editor:not(.elementor-hidden-desktop))) > .elementor-widget-heading{margin-bottom:clamp(26px,3vw,36px) !important}
.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-text-editor p,.elementor > .e-flexbox-base:has(.adx-btn--on-dark) > .elementor-widget-heading .elementor-heading-title{text-wrap:balance}

/* =====================================================================
   IMAGE DRIFT: rounded photos zoom imperceptibly (max 4%) while in view
   (script in functions.php adds .adx-drift and, where needed, a clipping frame)
   ===================================================================== */
.adx-drift-frame{display:block;overflow:hidden;position:relative;isolation:isolate;line-height:0;max-width:100%}
.adx-drift{scale:1;animation:adxDrift 10s cubic-bezier(.4,0,.6,1) infinite alternate;animation-play-state:paused;will-change:scale}
.adx-drift.is-drifting{animation-play-state:running}
@keyframes adxDrift{from{scale:1}to{scale:1.05}}
@media (prefers-reduced-motion:reduce){.adx-drift{animation:none}}
@media (prefers-reduced-motion:no-preference){
  .adx-bio-photo img.adx-drift{animation:adxSettle 1.4s cubic-bezier(.22,1,.36,1) both,adxDrift 10s cubic-bezier(.4,0,.6,1) 1.4s infinite alternate;animation-play-state:running,paused}
  .adx-bio-photo img.adx-drift.is-drifting{animation-play-state:running,running}
}

/* =====================================================================
   BODY COPY: 18px, comfortable measure (~14-17 words per full line)
   Per-widget sizes set in Elementor still win (higher specificity).
   ===================================================================== */
.elementor .elementor-widget-text-editor{font-size:1.125rem;line-height:1.75}
.elementor .elementor-widget-text-editor p{max-width:45em}
.elementor .elementor-widget-text-editor p.adx-centre{margin-left:auto;margin-right:auto}
/* keep card blurbs compact */
.service-card-image-wrap .elementor-widget-text-editor,
.elementor-662 .e-con:has(.adx-btn--link) .elementor-widget-text-editor{font-size:1rem;line-height:1.6}

/* =====================================================================
   FEATURE PANEL: text + photo (service pages, e.g. "Dr Kim's expertise")
   ===================================================================== */
.adx-feature > .e-con-inner{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,5vw,88px) !important;row-gap:36px !important;align-items:center}
.adx-feature__text,.adx-feature__media{width:auto !important;max-width:none !important;padding:0 !important;margin:0 !important}
.adx-feature__text{gap:0 !important}
.adx-feature__eyebrow .elementor-heading-title{font-family:'Quicksand',sans-serif !important;font-size:.76rem !important;font-weight:600 !important;letter-spacing:.22em !important;text-transform:uppercase;color:#2F8583 !important;line-height:1.4 !important;margin:0 0 14px !important}
.adx-feature__title .elementor-heading-title::after{content:"";display:block;width:56px;height:2px;background:#76CCD1;margin:clamp(18px,2vw,26px) 0 clamp(18px,2vw,24px)}
.adx-feature__text > .elementor-widget-text-editor{margin:0 !important}
.adx-feature__link{margin-top:clamp(18px,2vw,26px) !important}
.adx-feature__media{isolation:isolate}
.adx-feature-photo{position:relative}
.adx-feature-photo::before{content:"";position:absolute;right:-24px;bottom:-24px;width:58%;height:56%;background:rgba(242,217,183,.55);border-radius:28px;z-index:-1}
.adx-feature-photo img{display:block;width:100% !important;height:auto !important;max-width:none !important;aspect-ratio:5/4;object-fit:cover;object-position:var(--adx-focus,50% 40%);border-radius:24px !important;box-shadow:0 30px 70px rgba(18,48,48,.14)}
.page-id-1068 .adx-feature-photo img{--adx-focus:38% 40%}
.page-id-1157 .adx-feature-photo img{--adx-focus:32% 40%}
@media (max-width:900px){
  .adx-feature > .e-con-inner{grid-template-columns:1fr;gap:36px !important}
  .adx-feature-photo::before{right:-12px;bottom:-12px}
  .adx-feature__media{padding-right:12px !important}
}
/* back pill chevron */
.adx-crumbs__chev{width:7px;height:12px;display:block;flex:0 0 auto}
.e-flexbox-base:has(> .adx-feature){height:auto !important;min-height:0 !important;padding-top:clamp(80px,9vw,136px) !important;padding-bottom:clamp(80px,9vw,136px) !important}
.adx-feature__title{padding:0 !important;margin:0 !important}
.adx-feature__text,.adx-feature__media{align-self:center !important;height:auto !important;justify-content:center !important}

/* =====================================================================
   SERVICES CARDS: destination pill (top right of each photo)
   ===================================================================== */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-image{position:relative}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-image::after{position:absolute;top:12px;right:12px;z-index:2;pointer-events:none;padding:.42rem .85rem;border-radius:999px;font-family:'Quicksand',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1;color:#1E6E6F;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(255,255,255,.55);box-shadow:0 4px 14px rgba(18,48,48,.08);opacity:.88;transition:opacity .35s ease,background .35s ease}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link):hover .elementor-widget-image::after{opacity:1;background:rgba(255,255,255,.82)}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/preventative/"]) .elementor-widget-image::after{content:"Preventative"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/childrens/"]) .elementor-widget-image::after{content:"Children\2019s"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/restorative/"]) .elementor-widget-image::after{content:"Restorative"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/cosmetic/"]) .elementor-widget-image::after{content:"Cosmetic"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/technology/"]) .elementor-widget-image::after{content:"Technology"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/anxiety/"]) .elementor-widget-image::after{content:"Dental anxiety support"}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link a[href*="/emergency/"]) .elementor-widget-image::after{content:"Emergency care"}
.page-id-706 .adx-feature > .e-con-inner,.page-id-1144 .adx-feature > .e-con-inner{padding:0 40px !important}
.adx-feature__text .elementor-widget-text-editor,.adx-feature__text .elementor-widget-text-editor p{text-align:left !important}

/* =====================================================================
   BODY LINKS: corporate teal instead of the theme's default pink
   ===================================================================== */
.elementor .elementor-widget-text-editor a,.elementor .elementor-widget-icon-list a:not(.elementor-button),.elementor .elementor-widget-heading a:not(.elementor-button){color:#1E6E6F;text-decoration-color:rgba(30,110,111,.35);text-underline-offset:3px;transition:color .25s ease,text-decoration-color .25s ease}
.elementor .elementor-widget-text-editor a:hover,.elementor .elementor-widget-text-editor a:focus-visible{color:#2F8583;text-decoration-color:#2F8583}
.elementor .elementor-widget-text-editor a[href^="tel:"],.elementor .elementor-widget-text-editor a[href^="mailto:"]{text-decoration:none;font-weight:600}

/* services cards: whole card is the link (stretch the link layer to the card, not the text block) */
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link){position:relative !important;cursor:pointer}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .e-con,.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-widget-button,.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .elementor-button-wrapper{position:static !important}
.elementor-662 .e-con-inner > .e-con:has(.adx-btn--link) .adx-btn--link .elementor-button::before{content:"";position:absolute !important;inset:0 !important;z-index:3 !important;border-radius:inherit}

/* =====================================================================
   FAQ: accordion on key pages (HTML widget inside .adx-faq-section)
   ===================================================================== */
.e-con.adx-faq-section{padding-top:clamp(80px,9vw,128px) !important;padding-bottom:clamp(80px,9vw,128px) !important}
.adx-faq{font-family:'Quicksand',sans-serif;color:#403C38;interpolate-size:allow-keywords}
.adx-faq__eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#2F8583;margin:0 0 14px}
.adx-faq__title{font-family:'Quicksand',sans-serif !important;font-size:clamp(1.9rem,3.1vw,2.6rem) !important;font-weight:500 !important;line-height:1.15 !important;letter-spacing:-.015em;color:#403C38 !important;margin:0 !important;text-wrap:balance}
.adx-faq__title::after{content:"";display:block;width:56px;height:2px;background:#76CCD1;margin:clamp(18px,2vw,26px) 0 clamp(22px,2.6vw,34px)}
.adx-faq__list{border-bottom:1px solid rgba(64,60,56,.14)}
.adx-faq__item{border-top:1px solid rgba(64,60,56,.14)}
.adx-faq__item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;font-size:clamp(1.05rem,1.25vw,1.18rem);font-weight:500;line-height:1.4;color:#403C38;transition:color .25s ease}
.adx-faq__item summary::-webkit-details-marker{display:none}
.adx-faq__item summary:hover,.adx-faq__item[open] summary{color:#1E6E6F}
.adx-faq__item summary:focus-visible{outline:2px solid #76CCD1;outline-offset:4px;border-radius:6px}
.adx-faq__icon{position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(47,133,131,.35);transition:background .3s ease,border-color .3s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.adx-faq__icon::before,.adx-faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;margin:-.8px 0 0 -5.5px;background:#1E6E6F;border-radius:2px;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.adx-faq__icon::after{transform:rotate(90deg)}
.adx-faq__item summary:hover .adx-faq__icon{background:#F4FAFA;border-color:#2F8583}
.adx-faq__item[open] .adx-faq__icon{transform:rotate(180deg);background:#1E6E6F;border-color:#1E6E6F}
.adx-faq__item[open] .adx-faq__icon::before{background:#fff}
.adx-faq__item[open] .adx-faq__icon::after{transform:rotate(0deg);opacity:0}
.adx-faq__a{padding:0 56px 26px 0;font-size:1.125rem;line-height:1.75;color:rgba(64,60,56,.9)}
.adx-faq__a p{margin:0;max-width:44em}
.adx-faq__a a{color:#1E6E6F;font-weight:600;text-decoration:none}
.adx-faq__a a:hover{text-decoration:underline;text-underline-offset:3px}
.adx-faq__item::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .45s cubic-bezier(.22,1,.36,1),opacity .35s ease,content-visibility .45s allow-discrete}
.adx-faq__item[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:reduce){.adx-faq__item::details-content,.adx-faq__icon,.adx-faq__icon::before,.adx-faq__icon::after{transition:none}}
@media (max-width:767px){.adx-faq__a{padding-right:0}}

/* FAQ column: match the text panels (80% inner x 50% column) */
@media (min-width:1025px){.e-con.adx-faq-section>.e-con-inner{max-width:calc((100% - 20px) * .4)!important}
.page-id-1068 .e-con.adx-faq-section>.e-con-inner{max-width:calc((100% - 20px) * .5)!important}
.page-id-1078 .e-con.adx-faq-section>.e-con-inner,.page-id-1144 .e-con.adx-faq-section>.e-con-inner{max-width:calc((100% - 20px) * .56)!important}}

/* THEME DEFAULT PINK (#c36) REPLACED: orange accent #D99161, teal links */
a{color:#1E6E6F}
[type="button"],[type="submit"],button{border-color:#D99161;color:#D99161}
[type="button"]:focus,[type="button"]:hover,[type="submit"]:focus,[type="submit"]:hover,button:focus,button:hover{background-color:#D99161;border-color:#D99161;color:#fff}
/* Mobile menu button: clear by default, orange square when open */
.adx-mnav .adx-mnav__btn,.adx-mnav .adx-mnav__btn:hover,.adx-mnav .adx-mnav__btn:focus{background:transparent;border:0;border-radius:10px;outline:none;transition:background-color .25s ease}
.adx-mnav .adx-mnav__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.adx-mopen .adx-mnav .adx-mnav__btn{background:#D99161}

/* FOOTER: brand font, remove duplicate Hours heading, tablet/mobile gutters */
.elementor-53 .elementor-icon-list-text,.elementor-53 .elementor-icon-list-item{font-family:Quicksand,sans-serif}
.elementor-53 .elementor-element-e5607a2{display:none}
@media (max-width:1024px){.elementor-53 .elementor-element-53e3428{padding:56px 40px 32px!important}}
@media (max-width:767px){
 .elementor-53 .elementor-element-53e3428{padding:48px 24px 24px!important}
 .elementor-53 .elementor-element-53e3428 .e-con-inner,.elementor-53 .elementor-element-53e3428{row-gap:40px!important}
}
.elementor-53 .elementor-element-53e3428 .elementor-icon-list-text,.elementor-53 .elementor-element-53e3428 .elementor-icon-list-text b{font-family:Quicksand,sans-serif!important}
@media (max-width:1024px){.elementor-53 .elementor-element-53e3428>.e-con-inner{padding-top:0!important}
 .elementor-53 .elementor-element-d357931,.elementor-53 .elementor-element-8373fff{margin-top:20px}}

/* ==========================================================
   MOBILE GUTTER: 24px on every page section (matches footer)
   ========================================================== */
@media (max-width:767px){
 .elementor[data-elementor-type="wp-page"]>.e-con,
 .elementor[data-elementor-type="wp-page"]>.e-flexbox-base,
 .elementor[data-elementor-type="wp-page"]>.elementor-section,
 .elementor[data-elementor-type="wp-post"]>.e-con,
 .elementor[data-elementor-type="wp-post"]>.e-flexbox-base{padding-left:24px!important;padding-right:24px!important}
 .elementor[data-elementor-type="wp-page"]>.e-con>.e-con-inner,
 .elementor[data-elementor-type="wp-page"]>.e-flexbox-base>.e-con-inner{padding-left:0!important;padding-right:0!important;max-width:100%!important;width:100%!important}
}
@media (max-width:767px){
 /* nothing wider than the screen */
 .elementor[data-elementor-type="wp-page"] .e-con,.elementor[data-elementor-type="wp-page"] .e-flexbox-base{max-width:100%!important;min-width:0}
 /* button pairs stack full width */
 .elementor[data-elementor-type="wp-page"] .e-con:has(> .e-con .elementor-widget-button ~ *, > .e-con + .e-con .elementor-widget-button):has(> .e-con:first-child .elementor-widget-button),
 .elementor[data-elementor-type="wp-page"] .e-con:has(> .elementor-widget-button ~ .elementor-widget-button){flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:12px!important;width:100%!important}
 .elementor[data-elementor-type="wp-page"] .e-con:has(> .e-con:first-child .elementor-widget-button):has(> .e-con + .e-con .elementor-widget-button)>.e-con{width:100%!important;flex-shrink:1!important}
 .elementor[data-elementor-type="wp-page"] .e-con:has(> .e-con:first-child .elementor-widget-button):has(> .e-con + .e-con .elementor-widget-button) .elementor-button,
 .elementor[data-elementor-type="wp-page"] .e-con:has(> .elementor-widget-button ~ .elementor-widget-button) .elementor-button{display:flex;justify-content:center;width:100%}
 .elementor-widget-button .elementor-button{max-width:100%;white-space:normal}
}
@media (max-width:767px){
 /* hero headings: scale to the screen so long words never spill */
 .elementor[data-elementor-type="wp-page"]>:first-child h1.elementor-heading-title,
 .elementor[data-elementor-type="wp-page"]>:first-child h2.elementor-heading-title{font-size:clamp(34px,10.5vw,44px)!important;line-height:1.1!important;overflow-wrap:break-word;hyphens:manual}
}
@media (max-width:767px){
 /* homepage template: same 24px gutter */
 .beat{padding-left:24px!important;padding-right:24px!important}
 .beat.hero{padding-left:0!important;padding-right:0!important}
 .hero-say{padding-left:24px!important;padding-right:24px!important}
 .beat.caption .say{margin-left:24px!important;margin-right:24px!important}
}
@media (max-width:767px){
 /* homepage scroll arrow: bottom right, clear of the hero buttons */
 #nudge{left:auto!important;right:24px!important;margin-left:0!important}
}
@media (max-width:767px){
 /* footer health fund ticker stays full bleed */
 .elementor-53 .elementor-element.elementor-element-a3a2cd3{padding-left:0!important;padding-right:0!important}
}
@media (max-width:767px){
 /* cards: drop desktop grid offset so they centre in the 24px gutter */
 .elementor .e-con.service-card{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
}
@media (max-width:767px){
 /* feature panels: no extra inner inset, text aligns to the 24px gutter */
 .adx-feature>.e-con-inner{padding-left:0!important;padding-right:0!important}
 /* bio photo + sand block sit exactly within the gutter */
 .elementor-element:has(> .adx-bio-photo){padding-left:12px!important;padding-right:0!important}
 .adx-bio-photo::before{left:-12px!important;bottom:-12px!important}
 /* dark CTA bands: balanced line breaks */
 .adx-cta-band p,.e-con:has(.adx-btn--on-dark) .elementor-widget-text-editor p{text-wrap:balance}
}

/* HERO PANELS: In Practice + Team match the standard 700px centred hero */
.page-id-1107 .elementor-element.elementor-element-b371154{height:auto!important;min-height:700px!important;justify-content:center!important;padding-top:150px!important;padding-bottom:150px!important}
.page-id-509 .elementor-element.elementor-element-cbff9b3{height:auto!important;padding-top:0!important;padding-bottom:0!important}
.page-id-509 .elementor-element.elementor-element-52fd1e5,.page-id-509 .elementor-element.elementor-element-52fd1e5>.e-con-inner{min-height:700px!important;justify-content:center!important}
.page-id-509 .elementor-element.elementor-element-52fd1e5>.e-con-inner{padding-top:96px!important;padding-bottom:64px!important}
