:root{
  --nd-accent: #5fb8b9; /* teal accent for small details if needed */
  --nd-text: #000000;
  --nd-muted: #5e5e5e;

  /* Adopt the same visual language as the flanking text boxes */
  --nd-panel-bg: rgba(255,255,255,0.85);
  --nd-panel-border: rgba(255,255,255,0.65);
  --nd-panel-blur: 8px;
  --nd-panel-radius: 22px;
  --nd-panel-shadow: 0 8px 28px rgba(0,0,0,0.12);

  --nd-width: 720px; /* close to your lower box width; adjust if needed */
  --nd-gap: clamp(16px, 2.2vw, 24px);
  --nd-font-size: clamp(18px, 2.2vw, 22px); /* single token used across quote + author + quotes */
  --nd-speed: 700ms;
  --nd-duration: 6500ms;
}

.nd-fullbleed{
  background: transparent;
  padding: clamp(16px, 4vw, 36px) 0;
}
.nd-fullbleed .nd-viewport{
  max-width: var(--nd-width);
  margin: 0 auto;
  background: var(--nd-panel-bg);
  border: 1px solid var(--nd-panel-border);
  border-radius: var(--nd-panel-radius);
  box-shadow: var(--nd-panel-shadow);
  backdrop-filter: blur(var(--nd-panel-blur)) saturate(140%);
  -webkit-backdrop-filter: blur(var(--nd-panel-blur)) saturate(140%);
  overflow: hidden;
}

.nd-viewport{ position: relative; }
.nd-track{ display:flex; transition: transform var(--nd-speed) ease; will-change: transform; }
.nd-slide{ min-width:100%; padding: var(--nd-gap); display:grid; gap:10px; }

/* Quote line */
.nd-quote { font-size: 1.2rem; line-height: 1.5; }

/* Opening quote — now same size/weight/color as text */
.nd-quote::before { content: "“"; font-size: inherit; color: inherit; margin-right: 0.15em; }

/* Closing quote — same size/weight/color as text */
.nd-close-quote{
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* Inline author — same font size and color as the quote */
.nd-author-inline{
  font-size: inherit;
  color: var(--nd-text);
  margin-left: .4em;
  font-style: italic; font-weight: normal; white-space: nowrap; }

.nd-controls{ display:flex; gap:10px; align-items:center; justify-content:center; padding:10px; }
.nd-btn{ border:0; background: rgba(255,255,255,0.9); border-radius:999px; padding:.45rem .7rem; box-shadow: 0 2px 8px rgba(0,0,0,.1); cursor:pointer; }
.nd-btn:hover{ filter:brightness(.98); }
.nd-dots{ display:flex; gap:6px; }
.nd-dot{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.8); border:0; box-shadow: 0 1px 2px rgba(0,0,0,0.06); }
.nd-dot[aria-current="true"]{ background: #b9dfe0; }

@media (prefers-reduced-motion: reduce){
  .nd-track{ transition:none; }
}

@media (max-width: 600px) {
  .nd-fullbleed { padding: 12px 0; }
  .nd-fullbleed .nd-viewport { max-width: 92vw; border-radius: 18px; backdrop-filter: blur(4px) saturate(130%); -webkit-backdrop-filter: blur(4px) saturate(130%); background: rgba(255,255,255,0.86); }
  .nd-quote { font-size: clamp(16px, 4.4vw, 20px); line-height: 1.45; }
  .nd-quote::before { margin-right: 0.12em; }
  .nd-slide { padding: 14px; }
  .nd-author-inline { white-space: normal; }
  .nd-controls { padding: 6px 0 4px; }
  .nd-btn { padding: .35rem .55rem; }
  .nd-dot { width: 7px; height: 7px; }
}


/* Ensure full-page arrow buttons are visible */
.nd-controls { display:flex; align-items:center; justify-content:center; gap: 10px; padding: 10px 0; }
.nd-controls .nd-btn {
  width: 44px; height: 44px; border-radius: 999px; border: none;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 8px 24px rgba(0,0,0,.16);
  cursor: pointer; font-size: 22px; line-height: 1; display:inline-flex; align-items:center; justify-content:center;
}
.nd-controls .nd-btn:hover { filter: brightness(0.98); }


/* Side arrows centered vertically for full testimonials page */
.nd-fullbleed .nd-viewport { position: relative; }
#nd-prev-full, #nd-next-full {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 2px solid rgba(95,184,185,0.6);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
#nd-prev-full { left: -22px; }
#nd-next-full { right: -22px; }

/* Bring arrows inside on tablets/phones so they don't clip */
@media (max-width: 900px){
  #nd-prev-full { left: 8px; }
  #nd-next-full { right: 8px; }
}

/* Keep dots below; reduce top padding since arrows moved */
.nd-controls { padding-top: 6px; }


/* Side arrows for full testimonials */
.nd-viewport { position: relative; }
.nd-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 999px;
  border: 2px solid rgba(95,184,185,0.6);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
  cursor: pointer; font-size: 22px; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center; z-index: 2;
}
.nd-arrows-side .nd-prev { left: -22px; }
.nd-arrows-side .nd-next { right: -22px; }
@media (max-width: 900px){
  .nd-arrows-side .nd-prev { left: 8px; }
  .nd-arrows-side .nd-next { right: 8px; }
}


/* Ensure side arrows are visible and above the panel */
.nd-fullbleed .nd-viewport { position: relative; }
.nd-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 2px solid rgba(95,184,185,0.8);
  background: rgba(255,255,255,0.98);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 10; /* raise above frosted card */
  opacity: 1;
}
.nd-arrows-side .nd-prev { left: -22px; }
.nd-arrows-side .nd-next { right: -22px; }

@media (max-width: 900px){
  .nd-arrows-side .nd-prev { left: 8px; }
  .nd-arrows-side .nd-next { right: 8px; }
}


/* === About page: match testimonial card and typography === */
.about .nd-card {
  border-radius: 22px;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(6px) saturate(130%);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  border: 1px solid rgba(0,0,0,0.06);
}
.nd-about-copy {
  font-size: clamp(16px, 4.4vw, 20px);
  line-height: 1.5;
}
.nd-about-copy p { margin: 0 0 1rem 0; }
.nd-about-copy p:last-child { margin-bottom: 0; }


/* === About page adjustments: padding and better readability === */
.about .nd-card {
  padding: 2rem;
}
@media (max-width: 600px) {
  .about .nd-card {
    padding: 1.25rem;
  }
}
.nd-about-copy {
  font-size: clamp(16px, 4.4vw, 20px);
  line-height: 1.65; /* slightly more than testimonials */
}


/* About page family photo block */
.about-family-wrap { display: grid; }
.about-family {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(6px) saturate(130%);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  border: 1px solid rgba(0,0,0,0.06);
}
.about-family img {
  display: block;
  width: 100%;
  height: auto;
}
.about-family figcaption {
  font-size: 0.95rem;
  padding: 10px 14px;
  text-align: center;
  color: rgba(0,0,0,0.6);
}
@media (min-width: 900px){
  .about { max-width: 980px !important; }
  .about, .about-family-wrap { padding: 0 16px; }
  .about + .about-family-wrap { 
    display: grid; 
    grid-template-columns: 1.1fr 0.9fr; 
    gap: 24px; 
    align-items: start;
  }
  .about + .about-family-wrap .about-family { margin-top: 8px; }
}


/* === Testimonials page: card grid layout === */
.testimonials-grid-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px 48px; }

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1024px){
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .testimonials-grid { grid-template-columns: 1fr; }
}

/* Card look matches frosted aesthetic */
.testimonial-card {
  list-style: none;
  border-radius: 22px;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(6px) saturate(130%);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 1.25rem 1.25rem 1rem;
}

/* Quote typography (consistent with site) */
.testimonial-card blockquote {
  margin: 0;
  font-size: clamp(16px, 4.4vw, 20px);
  line-height: 1.55;
}
.testimonial-card .nd-author-inline { display: inline; }

/* Opening/closing quotes handled via pseudo for consistency */
.testimonial-card blockquote::before {
  content: "“";
  font-size: 1.8em;
  line-height: 0;
  vertical-align: -0.25em;
  margin-right: 2px;
  .7;
}
/* We append the closing quote in JS right before the author dash */


/* === Testimonials page: unified frosted panel with 2-col grid === */
.testimonials-panel-wrap { max-width: 1200px; margin: 0 auto; padding: 24px 16px 64px; }
.testimonials-panel {
  border-radius: 22px;
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(6px) saturate(130%);
  -webkit-backdrop-filter: blur(6px) saturate(130%);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 28px;
}
@media (max-width: 640px){
  .testimonials-panel { padding: 18px; }
}

.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;  /* 2 columns on desktop/tablet */
  gap: 20px;
}
@media (max-width: 740px){
  .testimonials-grid { grid-template-columns: 1fr; } /* 1 column on mobile */
}

/* Individual testimonial card look (inside panel) */
.testimonial-card {
  list-style: none;
  border-radius: 18px;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(0,0,0,0.05);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  padding: 1.25rem 1.25rem 1rem;
               /* start hidden for 
  animation: nd-fade-in-up .5s ease forwards;
}


}

.testimonial-card blockquote {
  margin: 0;
  font-size: clamp(16px, 4.4vw, 20px);
  line-height: 1.55;
}
.testimonial-card blockquote::before {
  content: "“";
  font-size: 1.8em;
  line-height: 0;
  vertical-align: -0.25em;
  margin-right: 2px;
  .7;
}
.testimonial-card .nd-author-inline { display: inline; }

/* Note: .testimonials-panel styles retained but unused after panel removal. */
