/* Profiles and the original scrolling brand names, without animation libraries. */
.brand-carousel {padding:26px 0 30px; overflow:hidden}
.carousel-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.carousel-heading p {margin:0}
.carousel-heading button {font-size:12px;white-space:nowrap}
.brand-window {overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brand-track {display:flex;width:max-content;animation:brand-drift 25s linear infinite}
.brand-track.paused {animation-play-state:paused}
.brand-names {display:flex;align-items:center;gap:65px;list-style:none;padding:0 65px 0 0;margin:0;flex-shrink:0}
.brand-names li {font-family:'Instrument Serif',Georgia,serif;font-size:36px;white-space:nowrap;color:var(--ink)}
@keyframes brand-drift {to {transform:translateX(-50%)}}
.profile-button {display:flex;align-items:center;gap:7px;border:0;background:none;color:inherit;font:inherit;font-size:13px;padding:10px 4px;cursor:pointer}
.profile-button>span:first-child {font-size:23px;line-height:1}
.header-actions {gap:15px}
.community-dialog {max-width:480px}
.community-dialog [hidden] {display:none!important}
.community-dialog p {line-height:1.6}
.community-status {font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.community-status.error {color:#983d3d}
.community-status:empty {display:none}
.google-button {min-height:44px;max-width:100%;overflow:hidden;margin:24px 0}
.member-summary,.profile-photo-row,.review-author {display:flex;align-items:center;gap:14px}
.member-summary {margin:12px 0 24px}
.member-summary strong {display:block;overflow-wrap:anywhere}
.member-summary .text-link {display:block;font-size:12px;margin-top:5px}
.member-avatar {width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:50%;background:#e6e9df;color:#304133;font:22px 'Instrument Serif',Georgia,serif}
.member-avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.member-avatar.large {width:88px;height:88px;flex-basis:88px;font-size:36px}
.review-author .review-person {min-width:0;margin:0;overflow-wrap:anywhere}
.review-card blockquote {overflow-wrap:anywhere}
.profile-photo-row {margin:20px 0 26px}
.photo-picker {min-width:0;font-size:14px;font-weight:500}
.photo-picker input {display:block;width:100%;max-width:260px;font-size:12px;margin:8px 0}
.photo-picker small {font-size:11px;color:#666}
.profile-actions {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}
.profile-actions button {font-size:13px}
.about-photo img {height:auto;aspect-ratio:6/7;object-fit:contain;background:#ece9e2}
.admin-google-form input {max-width:100%;width:510px}
.review-photo-preview {display:flex;align-items:center;gap:16px;margin:16px 0}
.review-photo-preview img {width:88px;height:88px;object-fit:cover;object-position:center;border-radius:50%}
.review-photo-preview button {font-size:12px}
.product-image-button img {height:auto;aspect-ratio:auto;object-fit:contain}
.product-grid {align-items:start}
.google-unavailable {padding:12px 18px;border:1px solid var(--line);background:transparent;font:13px var(--sans);border-radius:4px}
#productGrid {display:block}
.catalog-brand + .catalog-brand {margin-top:56px}
.catalog-brand-title {font:38px 'Instrument Serif',Georgia,serif;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 28px;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.catalog-brand-title span {font:12px 'DM Sans',sans-serif;color:var(--muted);white-space:nowrap}
#reviewGrid {display:block;position:relative;max-width:600px;margin:32px auto 80px;isolation:isolate}
#reviewGrid .review-card {position:absolute;inset:0;width:100%;height:100%;background:var(--paper,#f7f4ed);min-height:320px;justify-content:center;padding:40px;box-shadow:0 12px 32px #263a2f12;transition:transform .6s ease,opacity .2s ease;pointer-events:none;opacity:0;transform:translateY(75px) scale(.85);z-index:0;visibility:hidden;overflow:hidden}
#reviewGrid .review-card[data-position="0"] {position:relative;height:auto;opacity:1;transform:none;z-index:3;pointer-events:auto;visibility:visible}
#reviewGrid .review-card:not([data-position="0"]) > * {visibility:hidden}
#reviewGrid .review-card[data-position="1"] {opacity:.7;transform:translateY(30px) scale(.95);z-index:2;visibility:visible}
#reviewGrid .review-card[data-position="2"] {opacity:.3;transform:translateY(60px) scale(.9);z-index:1;visibility:visible}
#reviewGrid .review-author {margin-top:auto}
.reviews-section .review-controls {max-width:650px;margin-inline:auto;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px}
.review-navigation {display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}
.review-navigation button {font-size:13px}
.review-navigation [data-open="reviewDialog"] {font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(min-width:601px) and (max-width:1000px) {.catalog-brand .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px) {.profile-label {display:none}}
@media(max-width:600px) {
  .catalog-brand .product-grid {grid-template-columns:minmax(0,1fr);gap:32px}
  .product-bottom {flex-direction:row;align-items:center}
  #productDialog {width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:54px 8px 16px;border:0}
  #productDialog[open] {display:flex;flex-direction:column;gap:12px}
  #productDialog #productZoom {width:100%;height:0;min-height:0;max-height:none;flex:1;object-fit:contain;object-position:center;margin:0}
  #productDialog #productZoomCaption {flex:none;font-size:22px;line-height:1.2;margin:0;max-height:80px;overflow:auto;padding:0 12px}
  #productDialog .dialog-close {position:absolute;top:10px;right:12px;z-index:1;min-width:40px;min-height:40px}
  .catalog-brand-title {font-size:32px}.catalog-brand-title span {font-size:10px}
  #reviewGrid .review-card {padding:26px;min-height:360px}
  .header-actions {gap:8px}.profile-button {padding:10px 0}
  .carousel-heading {align-items:flex-start;gap:12px}.carousel-heading p {font-size:9px;max-width:180px}
  .carousel-heading button {font-size:10px}
  .brand-names {gap:36px;padding-right:36px}.brand-names li {font-size:29px}
  .hero-image {height:auto;aspect-ratio:5/6;object-fit:cover}
  .about-photo img {height:auto;aspect-ratio:auto;object-fit:contain}
  .community-dialog {padding:22px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  .community-dialog h2 {font-size:34px}.community-dialog .dialog-heading {gap:10px}
  .community-dialog input,.community-dialog textarea {font-size:16px}
  .photo-picker input {font-size:12px}
  .profile-photo-row {gap:12px}.member-avatar.large {width:70px;height:70px;flex-basis:70px}
}
@media(max-width:360px) {.site-header .wordmark {font-size:25px}.header-actions {gap:5px}.bag-button {font-size:11px;padding:8px}.site-header .wordmark span {font-size:7px}}
@media(prefers-reduced-motion:reduce) {
  #reviewGrid .review-card {transition:none}#pauseReviews {display:none}
  .brand-track {animation:none;width:100%}.brand-names {width:100%;justify-content:center;flex-wrap:wrap;padding:0 20px;gap:16px 26px}
  .brand-names[aria-hidden] {display:none}.brand-names li {font-size:25px}#pauseBrands {display:none}.brand-window {mask-image:none}
}
