/* One centered story at a time, with original screenshots and dot navigation. */
.reviews-carousel { margin-top:44px; padding:44px clamp(16px,4vw,58px) 38px; border-radius:24px; min-width:0; background:#72191d; color:#fff; }
.reviews-carousel-heading { text-align:center; margin:0 auto 28px; }
.reviews-carousel-heading .eyebrow { display:inline-block; padding:9px 20px; border:1px solid #ffffff40; border-radius:100px; color:#fff2ed; background:#ffffff10; font-size:12px; margin-bottom:20px; }
.reviews-carousel-heading h3 { color:#fff; font-size:clamp(29px,3.1vw,43px); font-weight:500; line-height:1.25; letter-spacing:-.04em; }
.reviews-intro { color:#f1dcda; font-size:16px; margin-top:15px; line-height:1.7; }
.reviews-track { position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:100%; gap:0; width:100%; max-width:840px; margin-inline:auto; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; border:1px solid #ffffff80; border-radius:20px; background:linear-gradient(145deg,#ffffff0a,#25060844); -webkit-overflow-scrolling:touch; }
.reviews-track::-webkit-scrollbar { display:none; }
.reviews-track:focus-visible { outline:3px solid #f0c7af; outline-offset:5px; }
.review-slide { min-width:0; scroll-snap-align:start; display:flex; flex-direction:column; }
.review-shot { display:block; width:100%; padding:24px 24px 0; border:0; background:transparent; cursor:zoom-in; color:#f1dcda; }
.review-images { display:flex; align-items:center; justify-content:center; gap:18px; height:500px; }
.review-images img { display:block; width:100%; min-width:0; height:100%; object-fit:contain; object-position:center; border-radius:0; background:transparent; }
.review-images-pair img { width:calc((100% - 18px)/2); }
.review-zoom { display:block; font-size:13px; line-height:1.6; padding-top:14px; text-align:center; }
.review-shot:hover .review-zoom { color:#fff; text-decoration:underline; }
.review-shot:focus-visible { outline:3px solid #f0c7af; outline-offset:-5px; }
.review-slide-caption { min-height:128px; padding:18px 24px 26px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.review-slide-caption h4 { color:#fff; font-size:20px; line-height:1.45; font-weight:600; margin:0 0 5px; }
.review-slide-caption p { color:#f1dcda; font-size:14px; line-height:1.7; margin:0; }
.review-slide-caption a { color:#fff2ed; font-size:13px; line-height:1.7; margin-top:9px; border-bottom:1px solid #ffffff66; }
.review-slide-caption a:hover { border-color:#fff; }
.reviews-controls { display:flex; justify-content:center; align-items:center; gap:24px; margin-top:20px; }
.reviews-controls button { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #ffffff70; border-radius:50%; color:#fff; background:transparent; font-size:24px; line-height:1; transition:background .15s,color .15s; }
.reviews-controls button:hover:not(:disabled) { background:#fff2ed; border-color:#fff2ed; color:var(--wine); }
.reviews-controls button:disabled { opacity:.35; cursor:default; }
.reviews-counter { min-width:65px; text-align:center; font-size:14px; font-variant-numeric:tabular-nums; letter-spacing:.05em; color:#fff2ed; }
.reviews-dots { display:flex; justify-content:center; flex-wrap:wrap; gap:3px; margin:9px auto 0; }
.reviews-dot { display:grid; place-items:center; width:30px; height:36px; border:0; padding:0; background:transparent; cursor:pointer; }
.reviews-dot::before { content:''; display:block; width:7px; height:7px; border-radius:50%; background:#ffffff45; transition:background .15s,transform .15s; }
.reviews-dot[aria-current="true"]::before { background:#fff2ed; transform:scale(1.3); }
.reviews-dot:hover::before { background:#fff2ed; }
.reviews-carousel-footer { display:flex; justify-content:center; margin-top:18px; }
.reviews-channel-link { display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid #ffffff70; color:#fff; padding:12px 22px; border-radius:4px; font-size:15px; font-weight:600; line-height:1.6; }
.reviews-channel-link:hover { background:#fff2ed; border-color:#fff2ed; color:var(--wine); }
.expert-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.expert-media-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--soft); }
.expert-media-photo { display:block; position:relative; aspect-ratio:16/9; background:#171518; overflow:hidden; }
.expert-media-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.expert-media-photo > span { position:absolute; right:12px; bottom:10px; padding:5px 9px; border-radius:3px; background:#171518d9; color:#fff; font-size:11px; line-height:1.5; }
.expert-media-photo:hover > span { background:var(--wine); }
.expert-media-content { display:flex; flex-direction:column; align-items:flex-start; flex-grow:1; gap:0; padding:25px 26px 28px; }
.expert-media-content .eyebrow { font-size:12px; margin-bottom:13px; text-transform:uppercase; }
.expert-media-content h3 { color:var(--ink); font-size:23px; line-height:1.45; font-weight:500; margin-bottom:23px; }
.expert-media-content .button { max-width:100%; gap:18px; font-size:14px; margin-top:auto; }
.contact-section h2 strong { font-weight:700; }
@media(max-width:950px) {
  .expert-media { gap:20px; }
  .expert-media-content { padding:22px; }
  .expert-media-content h3 { font-size:21px; }
  .review-images { height:450px; }
}
@media(max-width:650px) {
  .reviews-carousel { margin-top:30px; padding:30px 14px 28px; border-radius:16px; }
  .reviews-carousel-heading { margin-bottom:22px; }
  .reviews-carousel-heading .eyebrow { font-size:10px; padding:7px 15px; margin-bottom:17px; }
  .reviews-carousel-heading h3 { font-size:29px; }
  .reviews-intro { font-size:14px; margin-top:13px; }
  .reviews-track { border-radius:13px; }
  .review-shot { padding:12px 12px 0; }
  .review-images { height:400px; }
  .review-images-pair img { width:100%; }
  .review-images-pair img:nth-child(n+2) { display:none; }
  .review-zoom { font-size:11px; padding-top:11px; }
  .review-slide-caption { min-height:139px; padding:16px 12px 22px; }
  .review-slide-caption h4 { font-size:18px; }
  .review-slide-caption p { font-size:13px; }
  .reviews-controls { gap:22px; margin-top:15px; }
  .reviews-controls button { width:44px; height:44px; }
  .reviews-dots { gap:1px; }
  .reviews-dot { width:24px; height:36px; }
  .reviews-channel-link { padding:11px 13px; font-size:14px; gap:16px; }
  .expert-media { grid-template-columns:minmax(0,1fr); margin-top:25px; gap:22px; }
  .expert-media-content { padding:22px 18px; }
  .expert-media-content h3 { font-size:20px; margin-bottom:22px; }
  .expert-media-content .button { width:100%; font-size:13px; padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .reviews-dot::before,.reviews-controls button { transition:none; }
}
