/* Store tone profiles and staff-curated gear pairings */
.product-card-body { min-height:260px; grid-template-rows:auto auto 1fr auto auto; }
.product-card-tones { min-width:0; min-height:31px; display:flex; gap:6px; overflow:hidden; margin:0 0 12px; }
.product-card-tones a { min-width:0; display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid rgba(176,139,90,.18); border-radius:10px; color:#d6c1a6; background:linear-gradient(145deg,rgba(176,139,90,.1),rgba(245,241,234,.025)); font-size:.66rem; font-weight:850; white-space:nowrap; }
.product-card-tones a:hover { color:#fff; border-color:rgba(176,139,90,.52); }
.product-card-tones .ph { margin:0; color:var(--accent-light); }
.tone-filter>span { display:flex!important; align-items:baseline; justify-content:space-between; gap:8px; }
.tone-filter>span small { color:var(--muted); font-size:.62rem; font-weight:500; }
.tone-filter-grid { display:flex; flex-wrap:wrap; gap:7px; }
.tone-filter-chip { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:7px 10px; border:1px solid rgba(176,139,90,.16); border-radius:13px; color:#d7cdc1; background:rgba(245,241,234,.035); font-size:.73rem; font-weight:800; box-shadow:var(--inset-light); }
.tone-filter-chip .ph { margin:0; color:var(--accent-light); }
.tone-filter-chip small { display:grid; place-items:center; min-width:20px; height:20px; border-radius:999px; color:var(--muted); background:rgba(0,0,0,.18); font-size:.62rem; }
.tone-filter-chip.active,.tone-filter-chip:hover { color:#fff; border-color:rgba(176,139,90,.62); background:linear-gradient(145deg,rgba(137,105,62,.45),rgba(78,57,35,.5)); }
.tone-profile-card { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); align-items:center; gap:42px; padding:34px; border:1px solid rgba(176,139,90,.22); border-radius:30px; background:radial-gradient(circle at 85% 0,rgba(176,139,90,.15),transparent 34%),linear-gradient(145deg,rgba(36,32,28,.92),rgba(20,18,16,.96)); box-shadow:var(--shadow-soft),var(--inset-light); }
.tone-profile-intro h2 { margin:6px 0 9px; }
.tone-profile-intro>p:last-child,.pairing-heading p:last-child { margin-bottom:0; color:var(--muted); }
.tone-profile-chips { display:flex; flex-wrap:wrap; gap:10px; }
.tone-chip { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1px 8px; min-height:58px; padding:10px 14px; border:1px solid rgba(176,139,90,.2); border-radius:17px; color:#f0e3d4; background:linear-gradient(145deg,rgba(176,139,90,.13),rgba(245,241,234,.035)); box-shadow:var(--inset-light); }
.tone-chip .ph { grid-row:1/3; margin:0; color:var(--accent-light); font-size:1.25rem; }
.tone-chip span { font-size:.84rem; font-weight:900; }
.tone-chip small { color:var(--muted); font-size:.62rem; }
.tone-chip.tone-primary { border-color:rgba(232,199,149,.46); background:linear-gradient(145deg,rgba(176,139,90,.24),rgba(83,61,38,.2)); }
.tone-chip-overflow { display:grid; place-items:center; min-width:48px; min-height:48px; border:1px dashed rgba(176,139,90,.32); border-radius:16px; color:var(--accent-light); }
.pairing-heading { align-items:end; }
.pairing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.pairing-card { min-width:0; height:100%; display:grid; grid-template-rows:210px 1fr; overflow:hidden; border:1px solid rgba(176,139,90,.19); border-radius:26px; background:linear-gradient(155deg,rgba(36,32,28,.96),rgba(21,19,17,.98)); box-shadow:var(--shadow-soft),var(--inset-light); transition:.22s ease; }
.pairing-card:hover { transform:translateY(-3px); border-color:rgba(176,139,90,.48); box-shadow:var(--shadow),var(--inset-light); }
.pairing-card-media { position:relative; display:block; overflow:hidden; border-bottom:1px solid rgba(176,139,90,.14); background:#100e0c; }
.pairing-card-media img { width:100%; height:100%; object-fit:cover; transition:.35s ease; }
.pairing-card:hover .pairing-card-media img { transform:scale(1.025); }
.pairing-card-media>span { width:100%; height:100%; display:grid; place-items:center; color:var(--accent-light); background:radial-gradient(circle,rgba(176,139,90,.17),transparent 48%); }
.pairing-card-media>span .ph { margin:0; font-size:3rem; }
.pairing-priority { position:absolute; top:12px; right:12px; display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:5px 9px; border:1px solid rgba(232,199,149,.26); border-radius:999px; color:#f2e8db; background:rgba(22,19,16,.9); box-shadow:0 8px 24px rgba(0,0,0,.3); backdrop-filter:blur(12px); font-size:.65rem; font-weight:850; }
.pairing-priority .ph { margin:0; }
.pairing-card-copy { min-width:0; display:grid; grid-template-rows:auto auto 1fr auto auto; padding:17px; }
.pairing-card-meta { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--accent-light); font-size:.66rem; font-weight:800; }
.pairing-card-meta>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pairing-card-meta b { flex:0 0 auto; padding:4px 7px; border:1px solid rgba(176,139,90,.18); border-radius:999px; color:#d8cabb; background:rgba(245,241,234,.04); font-size:.61rem; }
.pairing-card h3 { min-height:3em; margin:8px 0; font-size:1.04rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pairing-card-copy>p { min-height:5.1em; margin:0 0 12px; color:var(--muted); font-size:.78rem; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pairing-tones { display:flex; gap:6px; min-height:27px; overflow:hidden; margin-bottom:12px; }
.pairing-tones span { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border:1px solid rgba(176,139,90,.14); border-radius:9px; color:#cdb89e; background:rgba(176,139,90,.06); font-size:.61rem; white-space:nowrap; }
.pairing-tones .ph { margin:0; }
.pairing-card-foot { display:flex; align-items:end; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid rgba(255,255,255,.065); }
.pairing-price { display:grid; }
.pairing-price del { color:var(--muted); font-size:.64rem; }
.pairing-price strong { color:var(--accent-light); font-size:.9rem; }
.pairing-price small { color:var(--muted); font-size:.68em; font-weight:500; }
.pairing-card-foot .text-link { flex:0 0 auto; font-size:.72rem; }
.tone-archive-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.tone-archive-categories a { padding:7px 11px; border:1px solid rgba(176,139,90,.2); border-radius:999px; color:#d8cabb; background:rgba(245,241,234,.04); font-size:.76rem; font-weight:800; }

@media (max-width:980px) {
  .pairing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tone-profile-card { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:700px) {
  .product-card-body { min-height:246px; }
  .product-card-tones { margin-bottom:9px; }
  .tone-filter-grid { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; scroll-snap-type:x proximity; }
  .tone-filter-grid::-webkit-scrollbar { display:none; }
  .tone-filter-chip { flex:0 0 auto; scroll-snap-align:start; min-height:40px; border-radius:15px; }
  .tone-profile-card { gap:18px; padding:20px; border-radius:25px; }
  .tone-profile-chips { gap:7px; }
  .tone-chip { min-height:52px; padding:8px 11px; border-radius:15px; }
  .pairing-grid { grid-template-columns:1fr; gap:13px; }
  .pairing-card { grid-template-columns:100px minmax(0,1fr); grid-template-rows:1fr; min-height:220px; border-radius:22px; }
  .pairing-card-media { min-height:100%; border-bottom:0; border-left:1px solid rgba(176,139,90,.14); }
  .pairing-priority { right:7px; left:7px; justify-content:center; padding-inline:5px; overflow:hidden; white-space:nowrap; }
  .pairing-card-copy { padding:13px; }
  .pairing-card h3 { font-size:.94rem; }
  .pairing-card-copy>p { min-height:4.9em; font-size:.72rem; }
  .pairing-card-meta b { display:none; }
  .pairing-card-foot { align-items:center; }
  .pairing-card-foot .text-link { font-size:0; }
  .pairing-card-foot .text-link .ph { font-size:1.15rem; }
}
/* Compact teacher dossiers override the older portrait-tile presentation. */
.teacher-featured.section { padding:42px 0 32px; }
.teacher-featured .section-heading { margin-bottom:20px; }
.teacher-featured .section-heading h2 { font-size:clamp(1.7rem,3vw,2.6rem); }
.teacher-grid,.teacher-featured .teacher-grid,.teacher-featured .teacher-grid-featured,.academy-teacher-preview .teacher-grid,.teacher-results .teacher-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:none; }
.teacher-card,.academy-teacher-preview .teacher-card { min-height:218px; height:auto; display:grid; grid-template-columns:132px minmax(0,1fr); grid-template-rows:minmax(0,1fr) 44px; border-radius:24px; }
.teacher-card-media,.academy-teacher-preview .teacher-card-media { grid-row:1/-1; width:100%; height:100%; aspect-ratio:auto; border-left:1px solid rgba(176,139,90,.14); }
.teacher-card-media::after { height:50%; }
.teacher-card-media .teacher-availability { right:9px; bottom:9px; max-width:calc(100% - 18px); min-height:27px; padding:4px 8px; font-size:.61rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teacher-card-body,.academy-teacher-preview .teacher-card-body { min-height:0; padding:14px 16px 10px; }
.teacher-card-trust,.academy-teacher-preview .teacher-card-trust { min-width:0; font-size:.63rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.teacher-card h2,.academy-teacher-preview .teacher-card h2 { min-height:auto; margin:6px 0 2px; font-size:1.08rem; line-height:1.45; -webkit-line-clamp:1; }
.teacher-card-headline,.academy-teacher-preview .teacher-card-headline { min-height:auto; margin:0 0 8px; font-size:.76rem; line-height:1.65; -webkit-line-clamp:2; }
.teacher-subjects,.academy-teacher-preview .teacher-subjects { min-height:25px; margin:0; gap:5px; overflow:hidden; }
.teacher-subjects span,.academy-teacher-preview .teacher-subjects span { min-height:24px; padding:3px 7px; font-size:.62rem; white-space:nowrap; }
.teacher-subjects span:nth-child(n+3) { display:none; }
.teacher-card-meta,.academy-teacher-preview .teacher-card-meta { min-height:0; display:flex; align-items:center; gap:10px; padding-top:8px; font-size:.67rem; }
.teacher-card-meta span { min-width:0; max-width:55%; }
.teacher-card-footer,.academy-teacher-preview .teacher-card-footer { grid-column:2; min-width:0; min-height:44px; padding:8px 16px; font-size:.72rem; }
.teacher-card-footer span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:700px) {
  .teacher-featured.section { padding:30px 0 22px; }
  .teacher-featured .section-heading h2 { font-size:1.25rem; }
  .teacher-directory-masthead .container>p:not(.eyebrow) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .teacher-grid,.teacher-featured .teacher-grid,.teacher-featured .teacher-grid-featured,.academy-teacher-preview .teacher-grid,.teacher-results .teacher-grid { grid-template-columns:1fr; gap:12px; }
  .teacher-card,.teacher-results .teacher-card,.academy-teacher-preview .teacher-card { width:100%; min-height:170px; height:auto; grid-template-columns:102px minmax(0,1fr); grid-template-rows:minmax(0,1fr) 39px; border-radius:21px; }
  .teacher-card-media,.academy-teacher-preview .teacher-card-media { grid-row:1/-1; height:100%; aspect-ratio:auto; }
  .teacher-card-media .teacher-availability,.academy-teacher-preview .teacher-card-media .teacher-availability { right:6px; bottom:7px; max-width:calc(100% - 12px); min-height:24px; padding:3px 6px; font-size:.53rem; }
  .teacher-card-body,.academy-teacher-preview .teacher-card-body { padding:10px 11px 7px; }
  .teacher-card-trust,.academy-teacher-preview .teacher-card-trust { font-size:.55rem; }
  .teacher-card h2,.academy-teacher-preview .teacher-card h2 { margin:4px 0 1px; font-size:.94rem; }
  .teacher-card-headline,.academy-teacher-preview .teacher-card-headline { margin-bottom:5px; font-size:.67rem; line-height:1.55; -webkit-line-clamp:1; }
  .teacher-subjects,.academy-teacher-preview .teacher-subjects { min-height:23px; }
  .teacher-subjects span,.academy-teacher-preview .teacher-subjects span { min-height:22px; padding:2px 6px; font-size:.55rem; }
  .teacher-card-meta,.academy-teacher-preview .teacher-card-meta { display:none; }
  .teacher-card-footer,.academy-teacher-preview .teacher-card-footer { grid-column:2; min-height:39px; padding:7px 11px; font-size:.67rem; }
  .teacher-directory-shell.section { padding-top:22px; }
}
