/* Logo and navigation are kept in normal document flow so they can never overlap. */
.masthead {
  height: auto !important;
  min-height: 0 !important;
  line-height: 0;
}

.site-logo {
  display: block;
  width: min(680px, 100%);
  height: auto;
  margin: 0 auto;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
}

header nav {
  position: relative;
  z-index: 2;
  margin-top: 0;
}

/* Readable text sizing across the content-heavy pages. */
body { font-size: 16px; }
nav a { font-size: 14px; }
.mission-card p,
.services p,
.about-copy p,
.retail p,
.contact-card p,
.accordion details { font-size: 15px; line-height: 1.7; }
.section-intro { font-size: 17px; line-height: 1.65; }
.service-image {
  display: block;
  width: 100%;
  height: 285px;
  object-fit: cover;
  object-position: center 38%;
  border: 0;
  border-radius: 8px;
}
.services,
.services h2,
.services h3,
.services p,
.services li { font-family: 'Outfit', sans-serif; }
.services > h2 { font-size: 32px; font-weight: 400; }
.service-grid h3 {
  min-height: 72px;
  margin: 26px 0 16px;
  color: #667e81;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.28;
}
.service-grid p,
.service-grid li {
  color: #6a7d80;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}
.service-grid p { margin: 0 0 20px; }
.service-grid ul { margin: 0; padding-left: 21px; }
.service-grid li { margin: 4px 0; }

/* Shared quotation and testimonial controls. */
.slider-shell {
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.slider-stage { position: relative; }
.slide { display: none; }
.slide.active { display: block; animation: slider-fade .28s ease; }

.slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.slider-arrow {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(50, 107, 113, .35);
  border-radius: 50%;
  background: rgba(255, 255, 255, .84);
  color: #326b71;
  font: 400 28px/38px Arial, sans-serif;
  cursor: pointer;
}

.slider-arrow:hover,
.slider-arrow:focus-visible { background: #326b71; color: #fff; }
.slider-count { min-width: 54px; color: #56777b; font-size: 14px; }

.quote {
  height: auto !important;
  min-height: 0;
  padding: 0 20px;
  box-sizing: border-box;
  overflow: hidden;
  display: grid;
  grid-template-rows: 112px auto 112px;
  place-items: center;
  background: #f1f1f1;
}

.mission .mission-image {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background-image: linear-gradient(rgba(199, 226, 227, .08), rgba(199, 226, 227, .08)), url('homeopathy-floral-background.webp?v=4');
  background-position: center, center 57%;
  background-repeat: no-repeat;
  background-size: 100% 100%, cover;
  background-color: var(--blue);
}
.quote-floral {
  display: block;
  width: min(1160px, 96vw);
  height: 112px;
  object-fit: cover;
  object-position: center 52%;
  pointer-events: none;
}
.quote-floral-bottom { object-position: center 54%; }
.quote .slider-shell {
  width: min(980px, calc(100% - 24px));
  display: grid;
  place-items: center;
}
.quote .slider-stage { width: 100%; min-height: 150px; }
.quote .auto-fade .slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.6s ease-in-out;
}
.quote .auto-fade .slide.active {
  display: flex;
  opacity: 1;
  animation: none;
}
.quote h2 {
  max-width: 880px;
  margin: 0 auto;
  font-size: clamp(24px, 2.35vw, 38px);
  line-height: 1.32;
  text-align: center;
}
.quote .slide-author {
  margin: 22px 0 0;
  font-size: 17px;
  line-height: 1.5;
  text-align: center;
}

.testimonials {
  height: auto !important;
  min-height: 420px;
  padding: 54px max(24px, calc((100% - 940px) / 2)) 48px;
  box-sizing: border-box;
}
.testimonials > h2 { font-size: clamp(29px, 3.5vw, 43px); }
.testimonials .slider-stage { margin-top: 28px; }
.testimonials blockquote {
  max-width: 900px;
  margin: 0 auto;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.75;
}
.testimonials .slide-author {
  margin: 22px 0 0;
  font-size: 17px;
  font-weight: 600;
}

@keyframes slider-fade {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .site-logo { width: min(460px, 100%); }
  body { font-size: 15px; }
  .mission-card p,
  .services p,
  .about-copy p,
  .retail p,
  .contact-card p,
  .accordion details { font-size: 15px; }
  .quote { min-height: 0; padding: 0 10px; grid-template-rows: 82px auto 82px; }
  .quote-floral { width: 100%; height: 82px; }
  .quote .slider-stage { min-height: 190px; }
  .quote .slide-author { font-size: 15px; }
  .testimonials { min-height: 0; padding: 42px 22px; }
  .testimonials blockquote { font-size: 15px; line-height: 1.7; }
  .service-image { height: 320px; }
  .service-grid h3 { min-height: 0; font-size: 18px; }
  .service-grid p,
  .service-grid li { font-size: 15px; }
  .slider-controls { margin-top: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .slide.active { animation: none; }
}
/* Findhorn feature and verified retail products */
.whats-new .panel{max-width:1000px;padding:48px 54px}
.whats-new .panel>h2{margin:0 0 34px;font-size:clamp(26px,3vw,34px);line-height:1.15}
.news-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:52px;align-items:center}
.news-copy h3{margin:0 0 18px;font-size:22px;font-weight:700;color:#537477}
.news-copy p{margin:0 0 14px;font-size:16px;line-height:1.65}
.news-copy strong{font-weight:700;color:#4f7073}
.news-copy .inline-link{display:inline;margin:0}
/* About and FAQs */
.about{padding:84px 24px;background:#f4f1ef}
.about-card{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:64px;align-items:start;width:min(1100px,100%);margin:0 auto;padding:54px;background:#fff;border-radius:12px;text-align:left;box-shadow:0 12px 36px rgba(62,88,89,.08)}
.about-portrait{width:100%;aspect-ratio:4/5;border-radius:10px;overflow:hidden}
.about-copy{max-width:660px}
.section-kicker{display:block;margin-bottom:10px;color:#258088;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.about-copy h2{margin:0 0 5px;color:#257d83;font-size:36px;line-height:1.15}
.about-copy h3{margin:0 0 24px;color:#557679;font-size:19px;font-weight:700}
.about-copy p{margin:0 0 17px;font-size:16px;line-height:1.72}
.zoom{display:inline-flex;align-items:center;gap:12px;margin:7px 0 25px;padding:13px 20px;border:1px solid #257d83;border-radius:999px;background:#257d83;color:#fff;font-size:15px;font-weight:700;box-shadow:0 8px 20px rgba(37,125,131,.18);transition:transform .2s ease,background .2s ease}
.zoom:hover,.zoom:focus{background:#1d686e;transform:translateY(-1px)}
.faqs{padding:86px 24px;background:#fff}
.faqs .content{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:25px 60px;width:min(1100px,100%);margin:0 auto}
.faq-heading{grid-column:1;grid-row:1}
.faq-heading h2{margin:0 0 15px;text-align:left;color:#257d83;font-size:36px;line-height:1.16}
.faq-heading p{margin:0;font-size:16px;line-height:1.65}
.faqs .accordion{grid-column:2;grid-row:1 / span 2}
.faqs .accordion details{margin:0 0 12px;border:1px solid #d3e3e3;border-radius:9px;background:#f7fbfa;overflow:hidden;font-size:16px;line-height:1.65}
.faqs .accordion summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;color:#557679;cursor:pointer;list-style:none;font-size:17px;font-weight:700}
.faqs .accordion summary::-webkit-details-marker{display:none}
.faqs .accordion summary span{position:relative;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dceced}
.faqs .accordion summary span:before,.faqs .accordion summary span:after{content:"";position:absolute;left:7px;top:11px;width:10px;height:2px;background:#257d83}
.faqs .accordion summary span:after{transform:rotate(90deg);transition:transform .2s ease}
.faqs .accordion details[open] summary span:after{transform:rotate(0)}
.faqs .accordion details p{margin:0;padding:0 60px 21px 21px;color:#65777a;font-size:15px;line-height:1.7}
.further{grid-column:1;align-self:start;padding:24px;border-radius:9px;background:#c3dfe0;text-align:left}
.further h2{margin:0 0 9px;text-align:left;color:#466f73;font-size:21px}
.further>p{margin:0 0 18px;font-size:14px;line-height:1.55}
.further-links{display:grid;gap:10px}
.further-links a{display:block;padding:13px;border-radius:7px;background:#fff}
.further-links strong,.further-links span{display:block;margin:0;font-size:13px;line-height:1.4}
.further-links span{margin-top:3px;color:#257d83}
@media(max-width:800px){.about-card{grid-template-columns:1fr;gap:30px;padding:30px}.about-portrait{max-width:340px;margin:0 auto}.faqs .content{grid-template-columns:1fr}.faq-heading,.faqs .accordion,.further{grid-column:1;grid-row:auto}.faq-heading{margin-bottom:12px}.faqs .accordion{grid-row:2}.further{grid-row:3}.about-copy h2,.faq-heading h2{font-size:30px}}
@media(max-width:520px){.about,.faqs{padding:54px 16px}.about-card{padding:24px 20px}.about-copy p{font-size:15px}.faqs .accordion summary{padding:17px;font-size:16px}.faqs .accordion details p{padding:0 17px 18px;font-size:14px}}
.news-product-image{width:100%;max-height:430px;object-fit:contain;border-radius:8px;background:#fff}
.supplied-findhorn-image{width:150px;max-width:100%;margin:0 auto;background:transparent;image-rendering:auto}
.about-card-centred{display:block;width:min(800px,100%);padding:34px 54px 42px;text-align:center}
.about-professional-logo{display:block;width:150px;height:auto;margin:0 auto 14px}
.about-card-centred>h2{margin:0 0 8px;color:#65777a;font-size:21px;font-weight:700}
.about-card-centred>h3{margin:0 0 32px;color:#65777a;font-size:23px;font-weight:700}
.about-card-centred>h3 small{font-size:13px;font-weight:400}
.about-copy-centred{max-width:none;text-align:center}
.about-copy-centred p{margin:0 auto 14px;font-size:16px;line-height:1.5}
.zoom-card{display:grid;width:min(296px,100%);margin:22px auto;padding:18px 20px;border:0;border-radius:8px;background:#eef0f1;color:#4d91ef;box-shadow:0 2px 0 #c9cccf}
.zoom-card:hover,.zoom-card:focus{background:#e5ebef;color:#3579d5;transform:translateY(-1px)}
.zoom-card .zoom-icon{display:grid;width:48px;height:48px;margin:0 auto 3px;place-items:center;border-radius:14px;background:#4d91ef;color:#fff;font-size:24px}
.zoom-card strong{font-size:21px;line-height:1.1;text-transform:lowercase}
.zoom-card>span:last-child{margin-top:14px;font-size:15px}
@media(max-width:600px){.about-card-centred{padding:28px 20px}.about-copy-centred p{font-size:15px}.about-card-centred>h3{font-size:21px}.about-professional-logo{width:130px}}
.product-link{display:inline-flex;margin-top:8px;color:#117d83;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}
.product-link:hover,.product-link:focus{color:#345f63}
.retail{padding:76px 24px;background:#f5f8f7}
.retail-inner{max-width:1120px;margin:0 auto}
.retail h2{text-align:center;margin:0 0 18px;font-size:clamp(30px,4vw,42px)}
.retail-intro{max-width:850px;margin:0 auto 38px;text-align:center;font-size:17px;line-height:1.7}
.ailments-title{text-align:center;margin:0 0 20px;font-size:20px}
.retail .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:980px;margin:0 auto 54px}
.retail .tags span{padding:9px 13px;border:1px solid #c7dedf;border-radius:999px;background:#fff;font-size:14px;line-height:1.25}
.retail .products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.product-card{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center;min-height:270px;padding:22px;background:#fff;border:1px solid #d8e6e5;border-radius:12px;box-shadow:0 8px 26px rgba(56,87,88,.07)}
.product-card>a:first-child{display:flex;align-items:center;justify-content:center;height:226px}
.product-card img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.product-card h3{margin:0 0 12px;font-size:19px;line-height:1.35;color:#557779}
.product-card h4{margin:0 0 12px;color:#65777a;font-size:15px;line-height:1.45}
.product-card div p+p{margin-top:10px}
.site-footer{padding:0;background:#66898b;color:#f7fbfb}
.footer-inner{width:min(1120px,calc(100% - 48px));margin:auto;padding:58px 0 48px;display:grid;grid-template-columns:260px minmax(280px,1fr) 310px;gap:56px;align-items:center}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-brand img{display:block;width:190px;height:118px;object-fit:cover;object-position:center 57%;border-radius:6px;filter:none;opacity:1;box-shadow:0 8px 24px rgba(41,71,73,.2)}
.footer-brand strong{font-size:17px;letter-spacing:.01em}
.site-footer blockquote{margin:0;padding:0 50px;border-inline:1px solid rgba(255,255,255,.27);font-size:24px;line-height:1.4;font-weight:300;text-align:center}
.footer-locations{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.footer-locations address{font-style:normal;font-size:14px;line-height:1.55;color:#e5f0f0}
.footer-locations address span{display:block;margin-bottom:7px;color:#fff;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer-base{min-height:54px;padding:14px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;gap:24px;border-top:1px solid rgba(255,255,255,.2);background:#587a7c;font-size:12px;color:#dce9e9}
.footer-base span{margin-right:auto}
.footer-base a{color:#fff}
.footer-base a:hover,.footer-base a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.footer-inner{grid-template-columns:180px 1fr;gap:35px}.site-footer blockquote{padding:0 0 0 35px;border-inline:0;border-left:1px solid rgba(255,255,255,.27);text-align:left}.footer-locations{grid-column:1/-1;padding-top:30px;border-top:1px solid rgba(255,255,255,.2)}}
@media(max-width:600px){.footer-inner{width:min(100% - 36px,480px);padding:42px 0 34px;grid-template-columns:1fr;gap:30px;text-align:center}.footer-brand{align-items:center}.footer-brand img{width:180px;height:112px;object-position:center 57%}.site-footer blockquote{padding:24px 0;border-left:0;border-block:1px solid rgba(255,255,255,.25);font-size:20px;text-align:center}.footer-locations{grid-column:auto;grid-template-columns:1fr;gap:22px;padding-top:0;border-top:0}.footer-base{padding:18px;flex-wrap:wrap;justify-content:center;gap:12px 20px}.footer-base span{width:100%;margin:0}}
.product-card p{margin:0;font-size:15px;line-height:1.6}
@media(max-width:900px){.news-grid{grid-template-columns:1fr;gap:30px}.news-product-image{max-height:340px}.retail .products{grid-template-columns:1fr}}
@media(max-width:560px){.whats-new .panel{padding:30px 22px}.retail{padding:54px 16px}.product-card{grid-template-columns:1fr;gap:16px}.product-card>a:first-child{height:240px}.product-card div{text-align:center}.retail .tags{justify-content:flex-start}.retail .tags span{font-size:13px}}

/* September content refinements */
.findhorn-panel{max-width:1000px}
.findhorn-panel>.supplied-findhorn-image{display:block;margin:0 auto 22px}
.findhorn-copy{width:100%;max-width:none}
.findhorn-copy h3{text-align:center}
.about-person-image{display:block;width:128px;height:128px;margin:0 auto 18px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px rgba(62,88,89,.15)}
.zoom-logo{display:block;width:104px;height:34px;margin:0 auto;object-fit:contain}
.faqs{position:relative;background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.9)),url('faq-background.webp') center/cover no-repeat}
.faqs .content{position:relative;z-index:1}
.contact{padding:76px 24px;background:#c7e2e3}
.contact>h2{margin:0 0 10px;font-size:36px}
.location-intro{margin:0 auto 34px;text-align:center;font-size:17px}
.locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1100px;margin:0 auto 48px}
.location-card{overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(56,87,88,.1)}
.location-card .location-image{display:block;width:100%;height:310px;object-fit:cover}
.location-copy{padding:27px 30px 31px}
.location-label{color:#258088;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.location-copy h3{margin:8px 0 9px;color:#557679;font-size:25px;font-weight:700}
.location-copy p{margin:0 0 21px;text-align:left;font-size:17px;line-height:1.55}
.directions-button{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border-radius:999px;background:#257d83;color:#fff;font-size:15px;font-weight:700;box-shadow:0 7px 18px rgba(37,125,131,.18)}
.directions-button:hover,.directions-button:focus{background:#1d686e}
.contact-details{max-width:700px;margin:0 auto;padding-top:34px;border-top:1px solid rgba(72,116,120,.25);font-size:16px}
@media(max-width:760px){.locations{grid-template-columns:1fr}.location-card .location-image{height:250px}.contact>h2{font-size:30px}}
