/* ── Dr. Ali Fenwick — shared site styles (Bridget Care look) ── */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.eyebrow { font-size:.6875rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.font-display { font-feature-settings:"liga" 1,"calt" 1; }

/* Interaction states */
a, button, select, input, textarea { cursor:pointer; }
input, textarea { cursor:text; }
a:focus-visible, button:focus-visible, select:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline:2px solid #1AA0A6; outline-offset:3px; border-radius:6px;
}

/* Bridget signature teal → violet → purple gradient */
.bridget-gradient { background:linear-gradient(110deg,#159AA4 0%,#3F6FA6 42%,#5F549F 68%,#71479E 100%); }

/* Card lift */
.card-lift { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card-lift:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 34px -18px rgba(36,54,66,.28);
  border-color:rgba(26,160,166,.45);
}

.article-card {
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
.article-card:hover,
.article-card:focus-visible {
  transform:translateY(-4px);
  background:#ECF6F5;
  border-color:#1AA0A6;
  box-shadow:0 18px 38px -18px rgba(36,54,66,.34);
  outline:none;
}
.article-card:focus-visible {
  box-shadow:0 0 0 3px rgba(26,160,166,.22), 0 18px 38px -18px rgba(36,54,66,.34);
}

/* Continuous client-logo banner */
.client-logo-marquee {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.client-logo-track {
  display:flex;
  width:max-content;
  animation:clientLogoScroll 52s linear infinite;
}
.client-logo-marquee:hover .client-logo-track { animation-play-state:paused; }
.client-logo-group { display:flex; align-items:center; flex-shrink:0; }
.client-logo-item {
  width:168px;
  height:88px;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.client-logo-item img {
  max-width:100%;
  max-height:58px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.62;
  transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}
.client-logo-item:hover img { filter:grayscale(0); opacity:1; transform:scale(1.05); }
@keyframes clientLogoScroll { to { transform:translateX(-50%); } }

/* Continuous foreign-edition book showcase */
.book-edition-marquee {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.book-edition-track {
  display:flex;
  width:max-content;
  animation:bookEditionScroll 48s linear infinite;
}
.book-edition-marquee:hover .book-edition-track { animation-play-state:paused; }
.book-edition-group { display:flex; align-items:flex-end; flex-shrink:0; }
.book-edition-item {
  width:190px;
  padding:0 18px;
  text-align:center;
  flex-shrink:0;
}
.book-edition-item img {
  width:154px;
  height:232px;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 14px 28px -16px rgba(36,54,66,.45);
  transition:transform .22s ease, box-shadow .22s ease;
}
.book-edition-item:hover img { transform:translateY(-5px); box-shadow:0 20px 34px -17px rgba(36,54,66,.5); }
@keyframes bookEditionScroll { to { transform:translateX(-50%); } }

.book-hero-blend {
  background:transparent;
  -webkit-mask-image:radial-gradient(ellipse 96% 94% at center,#000 76%,transparent 100%);
  mask-image:radial-gradient(ellipse 96% 94% at center,#000 76%,transparent 100%);
}
.book-hero-blend img { mix-blend-mode:multiply; }

.training-workshop-background {
  position:relative;
  background-image:url('/assets/workshop-redflags.webp');
  background-position:center;
  background-size:cover;
}
.training-workshop-background::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(26,38,47,.94),rgba(26,38,47,.82));
}

.global-partners-map {
  background-color:#F3F7F6;
  background-image:linear-gradient(rgba(251,252,252,.18),rgba(251,252,252,.28)),url('/resources/global-partners-map.webp');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.review-slider { max-width:680px; margin-left:auto; margin-right:auto; }
.review-slides { display:grid; }
.review-card {
  grid-area:1 / 1;
  width:100%;
  min-height:260px;
  opacity:0;
  transform:translateX(24px);
  animation:reviewFlick 12s ease-in-out infinite;
}
.review-card:nth-child(2) { animation-delay:6s; }
.review-slider:hover .review-card { animation-play-state:paused; }
@keyframes reviewFlick {
  0%, 5% { opacity:0; transform:translateX(24px); }
  12%, 43% { opacity:1; transform:translateX(0); }
  50%, 100% { opacity:0; transform:translateX(-24px); }
}

/* Icon chip — teal default, purple variant */
.icon-chip {
  display:inline-flex; align-items:center; justify-content:center;
  width:2.75rem; height:2.75rem; border-radius:9999px;
  background:#ECF6F5; color:#15848A;
  transition:background .22s ease, color .22s ease;
}
.card-lift:hover .icon-chip { background:#1AA0A6; color:#FBFCFC; }
.icon-chip.plum { background:#F1EEF8; color:#574A8C; }
.card-lift:hover .icon-chip.plum { background:#6C5AA6; color:#FBFCFC; }
.framework-setting-card { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease; }
.framework-setting-card:hover { background:#ECF6F5; border-color:rgba(26,160,166,.5); }
.framework-setting-card.plum-hover:hover { background:#F1EEF8; border-color:rgba(108,90,166,.42); }
.framework-setting-card:hover h4 { color:#15848A; }
.framework-setting-card.plum-hover:hover h4 { color:#574A8C; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, .card-lift, .article-card { transition:none !important; }
  .card-lift:hover, .article-card:hover { transform:none; }
  .client-logo-track { animation:none; }
  .book-edition-track { animation:none; }
  .review-card { animation:none; opacity:1; transform:none; }
  .review-card + .review-card { display:none; }
}

/* Mobile layout polish */
@media (max-width: 639px) {
  html, body { overflow-x:hidden; }
  img, video, iframe { max-width:100%; }

  /* Keep the long practice name and contact action balanced in the header. */
  header > div {
    min-height:3.75rem;
    height:auto !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
    gap:.65rem !important;
  }
  header > div > a:first-child {
    min-width:0;
    gap:.5rem !important;
    font-size:0 !important;
    line-height:1.1;
  }
  header > div > a:first-child::after {
    content:"Dr. Ali Fenwick";
    font-family:Newsreader,Georgia,serif;
    font-size:1rem;
    white-space:nowrap;
  }
  header > div > a:first-child img {
    width:2rem !important;
    height:2rem !important;
    flex:0 0 auto;
  }
  header > div > a:last-child {
    padding:.55rem .8rem !important;
    font-size:.75rem !important;
  }

  /* More deliberate mobile rhythm and alignment. */
  main [class*="max-w-6xl"][class*="px-6"] {
    padding-left:1.25rem !important;
    padding-right:1.25rem !important;
  }
  main section > [class*="py-20"],
  main section > [class*="py-24"],
  main > section[class*="py-20"],
  main > section[class*="py-24"] {
    padding-top:3.5rem !important;
    padding-bottom:3.5rem !important;
  }
  main h1[class*="text-5xl"],
  main h1[class*="text-6xl"],
  main h1[class*="text-7xl"] {
    font-size:clamp(2.35rem,11vw,3rem) !important;
    line-height:1.04 !important;
  }
  main h2[class*="text-4xl"],
  main h2[class*="text-5xl"] {
    font-size:clamp(2rem,9vw,2.5rem) !important;
  }
  main p[class*="text-xl"] { font-size:1.05rem !important; }

  .card-lift[class*="p-7"],
  .card-lift[class*="p-8"] { padding:1.25rem !important; }
  article[class*="p-8"], figure[class*="p-8"] { padding:1.25rem !important; }
  video { display:block; width:100%; height:auto; }
  iframe { display:block; width:100%; }

  .client-logo-item { width:132px; height:72px; padding:10px 16px; }
  .client-logo-item img { max-height:46px; }
  .book-edition-item { width:150px; padding:0 12px; }
  .book-edition-item img { width:126px; height:190px; }

  elevenlabs-convai {
    transform:scale(.74) !important;
    transform-origin:bottom right !important;
  }

  header.mobile-nav-enabled > div > a:last-of-type { display:none; }
  .mobile-nav-toggle {
    display:flex;
    width:2.5rem;
    height:2.5rem;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    border:1px solid #D8DDD9;
    border-radius:9999px;
    background:#FBFCFC;
    color:#243642;
  }
  .mobile-nav-toggle svg { width:1.2rem; height:1.2rem; }
  .mobile-nav-panel {
    position:absolute;
    z-index:49;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100dvh - 3.75rem);
    overflow-y:auto;
    padding:1rem 1.25rem 1.5rem;
    border-bottom:1px solid #D8DDD9;
    background:rgba(251,252,252,.98);
    box-shadow:0 18px 38px -24px rgba(36,54,66,.4);
    backdrop-filter:blur(14px);
  }
  .mobile-nav-panel[hidden] { display:none; }
  .mobile-nav-link,
  .mobile-nav-panel summary {
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    padding:.85rem .25rem;
    border-bottom:1px solid #E3E6E4;
    color:#243642;
    font-size:.95rem;
    font-weight:500;
    text-decoration:none;
    cursor:pointer;
    list-style:none;
  }
  .mobile-nav-panel summary::-webkit-details-marker { display:none; }
  .mobile-nav-panel summary::after {
    content:"+";
    color:#15848A;
    font-size:1.25rem;
    font-weight:400;
  }
  .mobile-nav-panel details[open] summary::after { content:"−"; }
  .mobile-nav-submenu {
    display:grid;
    gap:.15rem;
    padding:.55rem 0 .7rem .85rem;
    border-bottom:1px solid #E3E6E4;
  }
  .mobile-nav-submenu a {
    padding:.55rem .25rem;
    color:#53636C;
    font-size:.875rem;
  }
  .mobile-nav-contact {
    display:flex;
    justify-content:center;
    margin-top:1rem;
    padding:.8rem 1rem;
    border-radius:9999px;
    background:#1AA0A6;
    color:#fff;
    font-size:.875rem;
    font-weight:600;
  }
}

@media (min-width: 640px) {
  .mobile-nav-toggle,
  .mobile-nav-panel { display:none !important; }
}
