.course-badge{display:block;color:var(--red);font-size:12px;font-weight:750;line-height:1.6;margin-bottom:12px;letter-spacing:.025em;min-height:36px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.gallery-toolbar .gallery-filters{margin:0}
.carousel-controls{display:flex;gap:8px;justify-content:flex-end;margin-bottom:20px}.gallery-toolbar .carousel-controls{margin:0}
.carousel-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:22px;cursor:pointer;transition:background .2s,color .2s}
.carousel-controls button:hover:not(:disabled){background:var(--red);color:white}.carousel-controls button:disabled{opacity:.3;cursor:default}
.carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d5d5d5 transparent;padding:4px 2px 18px;overscroll-behavior-x:contain}
.carousel-track>.gallery-card{flex:0 0 calc((100% - 40px)/2.8);margin:0;scroll-snap-align:start}.carousel-track>.gallery-card[hidden]{display:none!important}
.gallery-grid .gallery-card{margin:0}.gallery-lightbox .sr-only{padding:0}
.review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;min-width:0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px}
.review-author{display:flex;align-items:center;gap:10px}.review-author strong{font-size:15px}.review-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f8ebeb;color:var(--red);font-size:12px;font-weight:700}.review-card p{font-size:15px;flex:1}
@media(max-width:1000px){.carousel-track>.gallery-card{flex-basis:calc((100% - 24px)/2.1)}.review-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.gallery-toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.gallery-toolbar .carousel-controls{margin-left:auto}.carousel-track>.gallery-card{flex-basis:88%}.review-card{flex-basis:100%}.carousel-track{gap:16px}.course-badge{min-height:0}}
.carousel-controls[hidden]{display:none}
.license-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.license-toolbar .carousel-controls{margin:0}.carousel-hint{font-size:13px;color:var(--muted)}
.license-toolbar .carousel-controls button,.review-toolbar .carousel-controls button{border-radius:13px;border-color:#d6b9b9;box-shadow:0 3px 10px #30101009;font-weight:700}
.license-toolbar .carousel-controls button:not(:disabled),.review-toolbar .carousel-controls button:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}
.license-toolbar .carousel-controls button:disabled,.review-toolbar .carousel-controls button:disabled{opacity:1;background:#f1eeee;color:#a89e9e;border-color:#e3dede;box-shadow:none}
.carousel-controls button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.license-track,.review-track,.license-track a{cursor:grab}.license-track.is-dragging,.review-track.is-dragging,.license-track.is-dragging *,.review-track.is-dragging *{cursor:grabbing}}
.carousel-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.license-track{align-items:stretch;scrollbar-width:none;padding-bottom:8px}
.license-track{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.license-track.is-mouse-driven{scroll-snap-type:none;scroll-behavior:auto}
.license-track:focus:not(:focus-visible){outline:none}
.license-track:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:14px}
.license-track.is-mouse-held,.license-track.is-mouse-held *{user-select:none;-webkit-user-select:none;cursor:grabbing!important}
.license-track.is-mouse-held,.license-track.is-mouse-held *:focus{outline:none!important}
.license-track img{-webkit-user-drag:none}
.license-track::-webkit-scrollbar{display:none}
.license-track>.photo-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.license-track .photo-card-copy{display:flex;flex-direction:column;flex:1}.license-track .photo-card-copy .text-link{margin-top:auto}
.license-track .course-badge{min-height:0}.license-track .photo-card-image{flex-shrink:0}
@media(max-width:1000px){.license-track>.photo-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.license-track>.photo-card{flex-basis:90%}}
.review-track{align-items:flex-start;scrollbar-width:none;padding-bottom:4px}
.review-track::-webkit-scrollbar{display:none}
.review-card{min-height:280px}
.review-avatar{flex-shrink:0}
.review-card .review-text{white-space:pre-line;line-height:1.6;margin:0;flex:none}
.review-text.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.review-toggle{align-self:flex-start;border:0;padding:0;background:none;color:var(--red);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.review-toggle[hidden]{display:none}
.review-source{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.google-mark{font-weight:800;font-size:19px;color:#4285f4}
.review-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px}
.review-meta .stars{font-size:15px;letter-spacing:1px;line-height:1.2}
.review-meta .google-mark{font-size:14px}
.review-section .section-heading{margin-bottom:18px}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.review-toolbar .carousel-controls{margin:0}
.review-rating-line{display:flex;align-items:center;gap:14px}
.review-rating-line>strong{font-size:42px;line-height:1.1;letter-spacing:-.05em;font-weight:800}
.review-rating-line .stars{font-size:21px;letter-spacing:2px}
.review-rating-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin-top:5px}
@media(max-width:650px){.review-card{padding:20px}.review-rating-line>strong{font-size:36px}.review-toolbar{gap:12px}.review-rating-line{gap:10px}.review-rating-line .stars{font-size:17px;letter-spacing:1px}.review-rating-label{font-size:12px}}

