/* Client-approved branch-directory palette. Colour-only final layer. */
:root,body{
  --ink:#312d5a;
  --green:#312d5a; /* Legacy action token: purple keeps white labels readable. */
  --teal:#312d5a;
  --blue:#5c5970;
  --mist:#f7f8f5;
  --soft:#efedf5;
  --brand-purple:#312d5a;
  --brand-lime:#95c11f;
  --brand-lime-light:#eef4df;
  --brand-accent-ink:#668819;
  --brand-border:#e2e3e8;
}
body{background:#f7f8f5}
.site-header{background:rgba(247,248,245,.97)}
.site-footer{background:#312d5a;color:#eeedf2}
.site-footer h3,.site-footer .brand{color:#fff}
.site-footer a:hover{color:#b0cd5d}
.site-footer hr{border-color:rgba(255,255,255,.2)!important}
.page-hero,.hp-hero,.ear-hero{background:linear-gradient(120deg,#efedf5,#f6f8ed)!important}
.service-grid .icon,.home-care-icon,.ht-cat-icon,.pf-condition-icon,
.branch-service-icon,.service-hero-icon,.hp-buy-card:not(.featured)>i,
.hp-marker i,.hp-step>span,.hp-clinic-card i{
  background:#eef4df;color:#668819;
}
.hp-marker:hover i,.hp-clinic-card:hover i,.pf-condition-card:hover .pf-condition-icon{
  background:#95c11f;color:#312d5a;
}
.hp-trust-strip i,.ear-kinetic-icon,.ear-team-card p{color:#668819}
.site-header .menu a:hover,.site-header .menu a:focus-visible{color:#668819}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline-color:#95c11f;
}
::selection{background:#e0edb8;color:#312d5a}

/* Retain the approved hero highlight; panels use their previous purple palette. */
.ear-care-copy h2,
.home-about-section .feature-copy h2{color:#95c11f}

.hero.assurix-hero h1 .hero-heading-highlight{
  background-color:transparent;
  background-image:
    linear-gradient(110deg,transparent 43%,rgba(255,255,255,.32) 50%,transparent 57%),
    linear-gradient(#e0edb8,#e0edb8);
  background-repeat:no-repeat;
  background-size:220% 100%,100% 100%;
  background-position:200% 0,0 0;
  color:#312d5a;
  padding:0 .035em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  animation:raylaneHighlightReveal 1.3s cubic-bezier(.22,1,.36,1) .15s both,
    raylaneHighlightSheen 12s ease-in-out 1.5s infinite;
}
@keyframes raylaneHighlightReveal{
  from{background-size:220% 100%,0% 100%}
  to{background-size:220% 100%,100% 100%}
}
@keyframes raylaneHighlightSheen{
  0%,65%{background-position:200% 0,0 0}
  90%,100%{background-position:-100% 0,0 0}
}
@media(prefers-reduced-motion:reduce){
  .hero.assurix-hero h1 .hero-heading-highlight{
    animation:none;
    background:#e0edb8;
  }
}

/* About panel only: depth and gentle movement without clipping the raised photo. */
.home-about-section .feature-band{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(ellipse 80% 85% at 100% 100%,rgba(149,193,31,.78) 0%,rgba(149,193,31,.42) 34%,rgba(149,193,31,.12) 58%,transparent 78%),
    linear-gradient(120deg,#242143 0%,#312d5a 48%,#45416f 100%);
}
.home-about-section .feature-band::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  background-image:
    radial-gradient(circle,transparent 58%,rgba(255,255,255,.065) 58.5%,rgba(255,255,255,.065) 59%,transparent 59.5%),
    radial-gradient(ellipse,rgba(176,205,93,.075) 0%,rgba(176,205,93,.035) 48%,transparent 70%),
    radial-gradient(circle,transparent 58%,rgba(255,255,255,.045) 58.5%,rgba(255,255,255,.045) 59%,transparent 59.5%);
  background-size:390px 390px,460px 360px,230px 230px;
  background-position:right -110px top -135px,right -100px bottom -100px,58% 120%;
  background-repeat:no-repeat;
  animation:raylaneAboutDrift 24s ease-in-out infinite alternate;
}
.home-about-section .feature-photo,
.home-about-section .feature-copy{position:relative;z-index:1}
@keyframes raylaneAboutDrift{
  to{background-position:right -75px top -110px,right -65px bottom -75px,61% 108%}
}
@media(prefers-reduced-motion:reduce){
  .home-about-section .feature-band::before{animation:none}
}

/* Homepage hero: quiet decorative movement, separate from the photograph/copy. */
.hero.assurix-hero{position:relative;isolation:isolate}
.hero.assurix-hero .hero-grid{position:relative;z-index:1}
.hero.assurix-hero::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background-image:
    radial-gradient(circle,transparent 58%,rgba(49,45,90,.15) 58.4%,rgba(49,45,90,.15) 59%,transparent 59.4%),
    radial-gradient(circle,transparent 58%,rgba(255,255,255,.55) 58.4%,rgba(255,255,255,.55) 59%,transparent 59.4%),
    radial-gradient(ellipse,rgba(149,193,31,.15),transparent 68%);
  background-size:470px 470px,320px 320px,540px 430px;
  background-position:right -145px top -170px,66% 108%,right -40px top -100px;
  background-repeat:no-repeat;
  animation:raylaneHeroAmbientDrift 22s ease-in-out infinite alternate;
}
@keyframes raylaneHeroAmbientDrift{
  to{background-position:right -90px top -125px,71% 98%,right 10px top -65px}
}
@media(max-width:640px){
  .hero.assurix-hero::before{opacity:.8}
}
.hero.assurix-hero.has-hero-parallax{overflow:hidden;background-image:none!important}
.hero-parallax-layer{
  position:absolute;inset:-36px 0;z-index:-1;pointer-events:none;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  transform:translate3d(0,var(--hero-parallax-y,0px),0);
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .hero.assurix-hero::before{animation:none}
  .hero-parallax-layer{transform:none;will-change:auto}
}

/* Homepage trust cards: colour-only normal/hover states from the supplied designs. */
.trust-strip .trust-item{background-color:#f7f8f5;border-color:#e2e3e8;color:#312d5a}
.trust-strip .trust-item strong{color:#312d5a}
.trust-strip .trust-icon{background-color:#95c11f;color:#312d5a}
.trust-strip .trust-item:hover{background-color:#fff}
.trust-strip .trust-item:hover .trust-icon{background-color:#312d5a;color:#95c11f}
