/* Ulric carousel (ucar) v1 — dependency-free horizontal snap carousel.
   Style source: orcounselors.com home rows (after openai.com) + mandalamed.com "Our space".
   Mobile: cards ~85vw, square media, text overlaid on TOP. Desktop: 4:5 media, text at the bottom.
   Theme with --ucar-accent / --ucar-fill / --ucar-card / --ucar-radius. */
.ucar{--ucar-radius:16px;--ucar-gap:14px;--ucar-w:min(85vw,440px);--ucar-ink:var(--ink,#0e2a1b);
  --ucar-accent:var(--accent,#3d8850);--ucar-fill:color-mix(in srgb,var(--ucar-accent) 30%,#fff);
  --ucar-fill-h:color-mix(in srgb,var(--ucar-accent) 40%,#fff);--ucar-card:color-mix(in srgb,var(--ucar-accent) 7%,#f6f2ea);
  position:relative;min-width:0}
@media (min-width:600px){.ucar{--ucar-w:min(46vw,360px)}}
@media (min-width:921px){.ucar{--ucar-w:340px;--ucar-gap:20px}}
/* section head: italic serif eyebrow, big bold heading left, italic lede right */
.ucar-head{display:grid;gap:14px;margin-bottom:22px}
.ucar-eyebrow{font:italic 400 17px/1.35 var(--ucar-serif,"Lora",Georgia,serif);color:var(--ucar-accent);margin:0;letter-spacing:0;text-transform:none}
.ucar-eyebrow::before{display:none!important}
.ucar-h{font-weight:800;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-.03em;margin:0;max-width:16ch;text-wrap:balance}
.ucar-lede{font:italic 400 18px/1.55 var(--ucar-serif,"Lora",Georgia,serif);color:var(--muted,#4a5568);margin:0;max-width:34em}
@media (min-width:921px){.ucar-head{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;column-gap:64px;margin-bottom:28px}.ucar-eyebrow,.ucar-lede{font-size:19px}}
/* arrows: round, soft accent fill, right-aligned above the track */
.ucar-nav{display:flex;justify-content:flex-end;gap:10px;margin:0 0 12px}
.ucar-nav[hidden]{display:none}
.ucar-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--ucar-fill);color:var(--ucar-ink);cursor:pointer;
  box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 16px -10px rgba(14,42,27,.45);transition:background-color .18s,opacity .18s,transform .18s}
.ucar-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.ucar-btn:not([aria-disabled=true]):hover{background:var(--ucar-fill-h)}}
.ucar-btn:active:not([aria-disabled=true]){transform:scale(.94)}
.ucar-btn[aria-disabled=true]{opacity:.4;cursor:default;box-shadow:none}
.ucar-btn:focus-visible{outline:2px solid var(--ucar-ink);outline-offset:2px}
/* track: full-bleed to the page gutter on phones (JS sets --ucar-bleed from the parent .wrap padding) */
.ucar-track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--ucar-w);gap:var(--ucar-gap);align-items:stretch;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin:0 calc(-1 * var(--ucar-bleed,0px));padding:4px var(--ucar-bleed,0px) 10px;scroll-padding-inline:var(--ucar-bleed,0px);
  list-style:none;-webkit-overflow-scrolling:touch}
.ucar-track::-webkit-scrollbar{display:none}
.ucar-track>*{scroll-snap-align:start;min-width:0;margin:0}
.ucar-track>[hidden]{display:none!important}
.ucar-track:focus-visible{outline:2px solid var(--ucar-accent);outline-offset:-2px}
.ucar-track.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none;-webkit-user-select:none}
.ucar-track.is-drag *{pointer-events:none}
@media (pointer:fine){.ucar-track{cursor:grab}}
.ucar-track img{-webkit-user-drag:none;user-select:none}
/* media card: square on phones (text on top), 4:5 on desktop (text at the bottom) */
.ucar-media{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--ucar-radius);overflow:hidden;background:#d9d6cc;isolation:isolate;color:#fff;text-decoration:none}
.ucar-media>img,.ucar-media picture img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;aspect-ratio:auto;margin:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.ucar-media:hover>img{transform:scale(1.03)}}
.ucar-over{position:absolute;left:0;right:0;top:0;z-index:1;display:grid;gap:4px;padding:18px 20px 44px;margin:0;color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.34) 55%,rgba(0,0,0,0) 100%);font:500 .95rem/1.35 var(--ucar-sans,system-ui,-apple-system,"Segoe UI",sans-serif);text-shadow:0 1px 2px rgba(0,0,0,.25)}
.ucar-over b,.ucar-over h3,.ucar-over strong{display:block;font-size:1.2rem;line-height:1.15;font-weight:650;color:#fff;margin:0}
.ucar-kick{display:inline-block;justify-self:start;font:600 .66rem/1 var(--ucar-sans,system-ui,-apple-system,"Segoe UI",sans-serif);letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.9);color:#111;padding:6px 9px;border-radius:999px;text-shadow:none}
@media (min-width:600px){.ucar-media.is-45{aspect-ratio:4/5}
  .ucar-media.is-45 .ucar-over{top:auto;bottom:0;padding:48px 22px 20px;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.36) 55%,rgba(0,0,0,0) 100%)}}
/* person card: square photo with the name over it, words below */
.ucar-person{display:flex;flex-direction:column;border-radius:var(--ucar-radius);overflow:hidden;background:var(--ucar-card);color:var(--ucar-ink)}
.ucar-person>.ucar-media{border-radius:0}
.ucar-person>.ucar-body{padding:18px 20px 22px;font-size:.94rem}
.ucar-person>.ucar-body>:first-child{margin-top:0}.ucar-person>.ucar-body>:last-child{margin-bottom:0}
/* text card (services, reviews, low-res people) */
.ucar-text{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--ucar-radius);background:var(--ucar-card);color:var(--ucar-ink);border:0}
.ucar-text>*{margin-top:0;margin-bottom:0}
.ucar-text .ucar-num{font:500 .8rem/1 var(--ucar-serif,Georgia,serif);color:var(--ucar-accent)}
.ucar-text blockquote,.ucar-text.is-quote{font-size:1.08rem;line-height:1.5}
.ucar-text cite{margin-top:auto;font-size:.8rem;font-style:normal;opacity:.75}
.ucar-avatar{width:88px;height:88px;border-radius:50%;overflow:hidden;flex:none;background:#e6e1d6}
.ucar-avatar img{width:100%;height:100%;object-fit:cover}
/* dots-free count for screen readers / small status */
.ucar-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.ucar-track{scroll-behavior:auto}.ucar-media>img,.ucar-btn{transition:none}}
