.property-customer-review{--review-card-ink:var(--paper);--review-card-soft:#D8CEC0;margin:0;min-width:0;color:var(--review-card-ink);background:radial-gradient(ellipse at 100% 100%,rgba(154,107,28,.16),transparent 70%),var(--onyx);border:1px solid rgba(154,107,28,.25);border-radius:24px;padding:var(--sp-break);font-family:var(--body);font-synthesis:none;text-align:left;box-shadow:0 10px 30px rgba(34,26,17,.06)}
.property-customer-review__stars{display:flex;align-items:center;gap:5px;width:fit-content;color:var(--brass-bright);flex:none}
.property-customer-review__stars .review-star{display:block;width:22px;height:22px;fill:currentColor;stroke:none;flex:none}
.property-customer-review blockquote{min-width:0;margin:0}
.property-customer-review blockquote p{margin:0;max-width:64ch;color:var(--review-card-ink);font:400 1.125rem/1.65 var(--quote);text-wrap:pretty}
.property-customer-review blockquote strong{font-weight:700;color:inherit}
.property-customer-review blockquote p+p{margin-top:var(--sp-flow)}
.property-customer-review figcaption{display:flex;align-items:center;gap:var(--sp-bound);min-width:0;font:400 .9375rem/1.5 var(--body)}
.property-customer-review__avatar{display:block;width:48px;height:48px;flex:none;border-radius:50%;object-fit:cover}
.property-customer-review__avatar--fallback{display:grid;place-items:center;background:var(--paper);color:var(--ink);font:500 18px/1 var(--body)}
.property-customer-review__identity{display:grid;gap:3px;min-width:0}
.property-customer-review__business{font-weight:600;overflow-wrap:anywhere}
.property-customer-review__service{color:var(--review-card-soft)}
.property-customer-review__source{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;color:var(--brass-bright);font:500 .875rem/1.5 var(--body);text-decoration:underline;text-underline-offset:4px}
.property-customer-review__source svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.property-customer-review--compact{display:grid;gap:var(--sp-flow);padding:clamp(22px,2.5vw,34px)}
.property-customer-review--compact blockquote p{font-size:1.0625rem}
.property-customer-review--featured{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);column-gap:clamp(30px,4vw,60px);row-gap:var(--sp-bound);grid-template-rows:auto 1fr;padding:clamp(24px,4vw,48px)}
.property-customer-review--featured>.property-customer-review__stars{grid-column:1;grid-row:2;align-self:start}
.property-customer-review--featured blockquote{grid-column:2;grid-row:1/3;align-self:center}
.property-customer-review--featured>.property-customer-review__source{grid-column:2;grid-row:3}
.property-customer-review--featured blockquote p{font-size:clamp(1.125rem,1.7vw,1.375rem)}
.property-customer-review--featured figcaption{grid-column:1;grid-row:1;align-self:start;font-size:1rem}
.property-proof>.property-customer-review{margin-top:var(--sp-break)}
.qrec>.property-customer-review{margin-top:var(--sp-bound)}
@media(max-width:760px){.property-customer-review--featured{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:var(--sp-bound)}.property-customer-review--featured>figcaption,.property-customer-review--featured>.property-customer-review__stars,.property-customer-review--featured blockquote,.property-customer-review--featured>.property-customer-review__source{grid-column:auto;grid-row:auto}}

/* Original laurel ornament supports the verified programme statement; it is
   never presented as an official Airbnb logo or an additional credential. */
.property-programme-proof{display:inline-flex;align-items:center;gap:12px;width:fit-content;max-width:100%;min-width:0;margin:0;padding:12px 16px;border:1px solid rgba(154,107,28,.32);border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--sand));color:var(--ink);font-family:var(--body);font-synthesis:none;text-align:left;box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
.property-programme-mark{display:grid;place-items:center;flex:none;width:52px;height:52px;color:var(--brass-ink)}
.property-programme-mark svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.programme-laurel-stem{stroke-width:1.5}
.programme-medallion-check{stroke-width:3}
.programme-laurel-leaves{fill:currentColor;stroke:none}
.property-programme-copy{display:grid;gap:4px;min-width:0}
.property-programme-copy strong{font:400 18px/1.35 var(--display);letter-spacing:normal;overflow-wrap:anywhere}
.property-programme-copy>span{font:400 13px/1.5 var(--body);color:var(--brass-ink)}
:is(.buybox,.qrec,.cf-result)>.property-programme-proof{width:100%;padding:12px;gap:10px}
:is(.buybox,.qrec,.cf-result) .property-programme-mark{width:44px;height:44px}
.qrec>.property-programme-proof{margin-top:calc(var(--s-4) - var(--stack))}


/* Size the stack to its longest real quote, so rotation never moves a CTA. */
.customer-carousel{min-width:0;max-width:100%;margin-top:var(--sp-flow,22px)}
.customer-carousel [data-review-announcement]{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.customer-carousel__slides{display:grid;gap:var(--sp-bound,12px);min-width:0}
.customer-carousel__slide{min-width:0;display:flex;flex-direction:column}
.customer-carousel.is-ready .customer-carousel__slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-2,200ms) var(--ease),visibility var(--dur-2,200ms) var(--ease)}
.customer-carousel.is-ready .customer-carousel__slide[data-active=true]{opacity:1;visibility:visible;pointer-events:auto}
.customer-carousel__slide>.property-customer-review,.customer-carousel__slide>.client-quote{margin:0;height:100%;box-sizing:border-box}
.customer-carousel__controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:var(--sp-bound,12px)}
.customer-carousel__controls[hidden]{display:none}
.customer-carousel__controls button[hidden]{display:none}
.customer-carousel__controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;padding:10px;background:var(--surface);color:var(--espresso);font:600 14px/1.4 var(--body);cursor:pointer;transition:background var(--dur-1) var(--ease)}
.customer-carousel__controls button:hover{background:var(--sand)}
.customer-carousel__controls button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.customer-carousel__controls svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-carousel__count{min-width:3ch;text-align:center;font:500 14px/1.4 var(--body);color:var(--ink-soft)}
.customer-carousel__controls .customer-carousel__motion{width:44px;height:44px;padding:10px;margin-inline-start:auto}
.customer-carousel--featured{margin-top:0}
.customer-carousel--compact .property-customer-review{gap:var(--sp-bound,12px);padding:22px;align-content:start}
.customer-carousel--compact .property-customer-review blockquote{font-size:17px;line-height:1.6}
.customer-carousel--compact .property-customer-review__source{align-self:end}
.customer-carousel--compact .client-quote{display:grid;align-content:start;gap:var(--sp-bound,12px);padding:22px;border-radius:24px;border:1px solid rgba(205,160,85,.22);background:radial-gradient(ellipse at 100% 100%,rgba(205,160,85,.1),transparent 70%),#15120D;color:#FBF8F1}
.customer-carousel--compact .client-quote figcaption{color:#FBF8F1;font-size:16px;font-weight:600}
.customer-carousel--compact .client-quote blockquote{font:400 17px/1.6 var(--body);margin:0;color:#FBF8F1}
.customer-carousel--compact .client-quote blockquote p{margin:0;color:#FBF8F1}
.customer-carousel--compact .client-quote__source{color:#D8CEC0;font-size:14px;margin:0}
.customer-carousel .studio-customer-review blockquote{align-self:center}
.customer-carousel--compact .studio-customer-review blockquote{align-self:start}
/* One atmospheric layer per review surface; text and controls are above it.
   The controller and the same pause button govern rotation and ambient drift. */
.customer-carousel__slides{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:#15120D}
.customer-carousel__slides::before{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 25% 30%,rgba(205,160,85,.25),transparent 55%),radial-gradient(ellipse at 75% 75%,rgba(154,107,28,.2),transparent 60%);filter:blur(28px);opacity:.65;transform:translate3d(-3%,2%,0) scale(1.03)}
.customer-carousel__slide{position:relative;z-index:1}
.customer-carousel .property-customer-review,.customer-carousel--compact .client-quote{background:transparent;box-shadow:none}
.customer-carousel .property-customer-review blockquote p,.customer-carousel .property-customer-review__business{color:#FBF8F1}
.customer-carousel .property-customer-review__service{color:#D8CEC0}
.customer-carousel .property-customer-review__source{color:#CDA055}
.customer-carousel__controls svg[hidden]{display:none}
.customer-carousel__controls [data-review-pause]{stroke-width:3}
.customer-carousel__controls [data-review-play]{fill:currentColor;stroke:none}
.customer-carousel--rail{margin-top:0}
.customer-carousel--rail .property-customer-review{grid-template-columns:minmax(170px,.75fr) minmax(0,2.1fr) auto;grid-template-rows:auto auto;column-gap:var(--sp-flow,22px);row-gap:var(--sp-bound,12px);align-content:center;padding:var(--sp-flow,22px)}
.customer-carousel--rail figcaption{grid-column:1;grid-row:1}
.customer-carousel--rail .property-customer-review__stars{grid-column:1;grid-row:2;margin-inline-start:60px}
.customer-carousel--rail blockquote{grid-column:2;grid-row:1/3;align-self:center}
.customer-carousel--rail .property-customer-review__source{grid-column:3;grid-row:1/3;align-self:center}
.customer-carousel--rail blockquote p{font-size:16px}
.property-programme-proof{position:relative;isolation:isolate;border-color:rgba(154,107,28,.42);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 4px 18px rgba(154,107,28,.06)}
.property-programme-mark{position:relative;isolation:isolate}
.property-programme-mark::before{content:"";position:absolute;inset:-4px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,transparent 58%,rgba(205,160,85,.22) 70%,transparent 75%);box-shadow:0 0 12px rgba(205,160,85,.12);opacity:.65}
@media(max-width:760px){.customer-carousel--rail .property-customer-review{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.customer-carousel--rail figcaption,.customer-carousel--rail .property-customer-review__stars,.customer-carousel--rail blockquote,.customer-carousel--rail .property-customer-review__source{grid-column:auto;grid-row:auto}.customer-carousel--rail .property-customer-review__stars{margin-inline-start:0}}
@media(prefers-reduced-motion:no-preference){.customer-carousel.is-ready .customer-carousel__slides::before{animation:review-ambient-drift 18s ease-in-out infinite alternate;animation-play-state:paused}.customer-carousel[data-review-ambient=running] .customer-carousel__slides::before{animation-play-state:running}.property-programme-mark::before{animation:programme-ring-glow 1120ms var(--ease,cubic-bezier(.2,0,0,1)) 3}@keyframes review-ambient-drift{to{transform:translate3d(4%,-3%,0) scale(1.12)}}@keyframes programme-ring-glow{0%,100%{opacity:.65}50%{opacity:1}}}
@media(prefers-reduced-motion:reduce){.customer-carousel.is-ready .customer-carousel__slide{transition:none}.customer-carousel__slides::before,.property-programme-mark::before{animation:none!important}}
@media(forced-colors:active){.customer-carousel__slides::before,.property-programme-mark::before{display:none}.customer-carousel__slides,.customer-carousel .property-customer-review{background:Canvas;color:CanvasText}.customer-carousel .property-customer-review blockquote p,.customer-carousel .property-customer-review__business,.customer-carousel .property-customer-review__service{color:CanvasText}.customer-carousel .property-customer-review__source{color:LinkText}}

