/* Industry overview: the same photography and palette as the dedicated salon pages. */
.audience-directory-page { padding-bottom:96px; }
.sv-page .audience-directory-page .ad-container { width:min(calc(100% - 64px),1280px); margin-inline:auto; }
.audience-directory-page .ad-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--sv-violet); font-size:11px; font-weight:750; line-height:1.5; letter-spacing:.11em; text-transform:uppercase; }
.audience-directory-page h2 { font-size:clamp(34px,3.5vw,48px); line-height:1.13; letter-spacing:-.05em; }
.audience-directory-page h2 em { color:var(--sv-violet); font-style:normal; }
.audience-directory-page .ad-intro { padding-block:78px 68px; text-align:center; }
.audience-directory-page .ad-intro .ad-eyebrow { justify-content:center; }
.audience-directory-page .ad-intro .ad-eyebrow > span { width:7px; height:7px; border-radius:50%; background:var(--sv-violet); box-shadow:0 0 0 5px #eeecff; margin-right:4px; }
.audience-directory-page h1 { font-size:clamp(44px,5.1vw,72px); line-height:1.08; letter-spacing:-.058em; font-weight:800; }
.audience-directory-page .ad-lead { max-width:655px; margin:26px auto 28px; font-size:17px; line-height:1.85; }
.audience-directory-page .ad-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:26px; }
.audience-directory-page .ad-textlink { display:inline-flex; align-items:center; gap:10px; color:var(--sv-violet); font-size:14px; line-height:1.5; font-weight:700; }
.audience-directory-page .ad-textlink .sv-icon { width:18px; height:18px; }
.audience-directory-page .ad-textlink:hover { text-decoration:underline; text-underline-offset:4px; }
.audience-directory-page .ad-intro-notes { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 24px; list-style:none; padding:0; margin:26px 0 0; color:#626b7d; font-size:12px; }
.audience-directory-page .ad-intro-notes li { display:flex; align-items:center; gap:7px; }
.audience-directory-page .ad-intro-notes .sv-icon { width:16px; height:16px; color:#4e7963; }
.audience-directory-page .ad-directory { scroll-margin-top:110px; }
.audience-directory-page .ad-directory-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding-block:32px; border-top:1px solid #e6e6ee; }
.audience-directory-page .ad-directory-heading .ad-eyebrow { margin-bottom:12px; font-size:10px; }
.audience-directory-page .ad-directory-heading > p { max-width:285px; margin:0 0 3px; font-size:14px; line-height:1.75; }
.audience-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; scroll-margin-top:110px; }
.audience-directory-card { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-width:0; min-height:470px; padding:26px 22px; overflow:hidden; border-radius:24px; background:#dedbd6; }
.audience-directory-card::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(9,12,24,0) 0%,rgba(9,12,24,.06) 22%,rgba(9,12,24,.58) 45%,rgba(9,12,24,.86) 68%,rgba(9,12,24,.97) 100%); pointer-events:none; }
.sv-page .audience-directory-card > .ad-card-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 38%; transition:transform .55s ease; }
.audience-directory-card.ad-card-beauty > .ad-card-photo { object-position:40% center; }
.audience-directory-card.ad-card-nails > .ad-card-photo { object-position:60% center; }
.audience-directory-card.ad-card-brows > .ad-card-photo { object-position:58% center; }
.audience-directory-card.ad-card-massage > .ad-card-photo { object-position:40% center; }
.audience-directory-card.ad-card-pedicure > .ad-card-photo { object-position:65% center; }
.audience-directory-card .ad-card-copy { position:relative; width:100%; color:#fff; }
.audience-directory-card h3 { margin:0 0 10px; color:#fff; font-size:clamp(22px,1.8vw,25px); line-height:1.14; letter-spacing:-.045em; text-wrap:initial; overflow-wrap:anywhere; hyphens:auto; }
.audience-directory-card p { max-width:420px; min-height:46px; margin:0 0 14px; color:#f0f0f6; font-size:13px; line-height:1.75; }
.audience-directory-card .ad-card-benefit { display:flex; align-items:flex-start; gap:7px; color:#e2e5ed; font-size:11px; line-height:1.6; }
.audience-directory-card .ad-card-benefit .sv-icon { width:15px; height:15px; margin-top:1px; color:#bfe9d3; }
.audience-directory-card .ad-card-link { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:24px; color:#fff; font-size:11px; font-weight:700; }
.audience-directory-card .ad-card-arrow { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; background:#ffffff20; transition:background .2s,color .2s,transform .2s; }
.audience-directory-card .ad-card-arrow .sv-icon { width:17px; height:17px; }
.audience-directory-card:hover > .ad-card-photo { transform:scale(1.035); }
.audience-directory-card:is(:hover,:focus-visible) .ad-card-arrow { color:#fff; background:var(--sv-violet); transform:rotate(-35deg); }
.audience-directory-page .ad-fit { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; padding-block:104px; }
.audience-directory-page .ad-fit-heading > p:not(.ad-eyebrow) { max-width:390px; margin:23px 0; font-size:15px; line-height:1.8; }
.audience-directory-page .ad-fit-options { display:grid; gap:28px; }
.audience-directory-page .ad-fit-options article { display:flex; align-items:flex-start; gap:18px; }
.audience-directory-page .ad-fit-icon { display:grid; place-items:center; flex:0 0 48px; height:48px; border-radius:14px; background:#eeecff; color:var(--sv-violet); }
.audience-directory-page .ad-fit-options article:nth-child(2) .ad-fit-icon { color:#427557; background:#e8f5ed; }
.audience-directory-page .ad-fit-options article:nth-child(3) .ad-fit-icon { color:#9c6139; background:#faeee4; }
.audience-directory-page .ad-fit-options h3 { margin:2px 0 9px; font-size:20px; line-height:1.3; text-wrap:initial; }
.audience-directory-page .ad-fit-options p { margin:0; font-size:14px; line-height:1.8; }
.audience-directory-page .ad-faq { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; padding-block:0 100px; }
.audience-directory-page .ad-faq > div > p:not(.ad-eyebrow) { margin:22px 0 0; font-size:14px; }
.audience-directory-page .ad-faq-list details { border-bottom:1px solid #e3e4ed; }
.audience-directory-page .ad-faq-list details:first-child { border-top:1px solid #e3e4ed; }
.audience-directory-page .ad-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:650; line-height:1.5; }
.audience-directory-page .ad-faq-list summary > span { flex-shrink:0; color:var(--sv-violet); font-size:24px; font-weight:400; line-height:1; }
.audience-directory-page .ad-faq-list details[open] summary > span { transform:rotate(45deg); }
.audience-directory-page .ad-faq-list details p { margin:0 0 23px; padding-right:24px; font-size:13px; line-height:1.85; }
.audience-directory-page .ad-faq-list details a { color:var(--sv-violet); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1199px) {
  .audience-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .audience-directory-card { min-height:540px; padding:32px; }
  .audience-directory-card h3 { font-size:28px; }
  .audience-directory-card p { font-size:14px; }
  .audience-directory-card .ad-card-link { font-size:12px; }
}
@media (max-width:1000px) {
  .audience-directory-page .ad-fit { gap:50px; }
  .audience-directory-page .ad-faq { gap:40px; }
}
@media (max-width:760px) {
  .sv-page .audience-directory-page .ad-container { width:calc(100% - 40px); }
  .audience-directory-page .ad-intro { padding-block:54px 44px; }
  .audience-directory-page h1 { font-size:clamp(40px,7.5vw,57px); }
  .audience-directory-page .ad-lead { max-width:540px; font-size:15px; line-height:1.8; }
  .audience-directory-page .ad-directory-heading { display:block; padding-block:28px; }
  .audience-directory-page .ad-directory-heading > p { max-width:none; margin:14px 0 0; }
  .audience-directory-grid { grid-template-columns:1fr; gap:20px; }
  .audience-directory-card { min-height:560px; }
  .audience-directory-card h3 { font-size:30px; }
  .audience-directory-card p { min-height:0; }
  .audience-directory-page .ad-fit { grid-template-columns:1fr; gap:36px; padding-block:64px; }
  .audience-directory-page .ad-fit-heading > p:not(.ad-eyebrow) { max-width:540px; }
  .audience-directory-page .ad-faq { grid-template-columns:1fr; gap:26px; padding-bottom:64px; }
  .audience-directory-page { padding-bottom:64px; }
}
@media (max-width:420px) {
  .sv-page .audience-directory-page .ad-container { width:calc(100% - 32px); }
  .audience-directory-page .ad-intro { padding-top:42px; }
  .audience-directory-page h1 { font-size:40px; }
  .audience-directory-page .ad-eyebrow { font-size:10px; }
  .audience-directory-page .ad-actions { gap:18px; }
  .audience-directory-page .ad-intro-notes { gap:8px; flex-direction:column; font-size:11px; }
  .audience-directory-card { min-height:515px; padding:28px 24px; border-radius:22px; }
  .audience-directory-card h3 { font-size:clamp(22px,7vw,27px); }
  .audience-directory-card.ad-card-nails > .ad-card-photo { object-position:85% center; }
  .audience-directory-card p { font-size:13px; }
  .audience-directory-page .ad-fit-options article { gap:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .audience-directory-card > .ad-card-photo,
  .audience-directory-card .ad-card-arrow { transition:none; }
  .audience-directory-card:hover > .ad-card-photo,
  .audience-directory-card:is(:hover,:focus-visible) .ad-card-arrow { transform:none; }
}
