/* Revolver hero: a tilted 3D stack of cards that revolves. Loaded after home.css and overrides its orbit layout. */
.plumery-stage.revolver{--cw:272px;--step:178px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:0 4%;max-width:none;min-height:min(820px,100vh);padding:96px 6% 56px;position:relative}
.revolver .rv-copy{position:relative;z-index:5;text-align:left;max-width:520px}
.revolver .rv-copy .eyebrow{font-size:10px;letter-spacing:.19em;margin:0 0 18px}
.revolver .rv-copy h1{font-size:clamp(44px,4.6vw,72px);font-weight:400;line-height:.97;letter-spacing:-.055em;margin:0;text-align:left}
.revolver .rv-copy h1 em{font-weight:400;color:#764C1C}
.revolver .rv-lede{font-size:15px;line-height:1.5;margin:20px 0 0;color:#55606B;max-width:34ch}
.rv-selected{margin-top:44px;padding-top:22px;border-top:1px solid #1C273322}
.rv-count{margin:0 0 10px;font-size:11px;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:#55606B}
.rv-selected .eyebrow{font-size:9px;letter-spacing:.16em;margin:0 0 8px}
.rv-selected h2{font-size:clamp(28px,2.6vw,38px);line-height:1.05;font-weight:400;letter-spacing:-.03em;margin:0 0 8px}
.rv-selected #orbit-description{font-size:13px;color:#55606B;margin:0;max-width:38ch}
.rv-selected>*{transition:opacity .35s,transform .45s cubic-bezier(.22,.8,.2,1)}
.rv-selected.is-swapping>*{opacity:0;transform:translateY(8px)}
.rv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:26px}
.rv-actions .button{font-size:12px;padding:16px 22px;background:#1C2733;color:#F6F1E7;border-radius:3px}
.rv-actions .sample-open{padding:10px 2px}
.rv-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.rv-controls .motion-toggle{width:auto;margin-left:6px}

.revolver .card-orbit.rv-stage{position:relative;height:min(700px,78vh);min-height:560px;margin:0;max-width:none;perspective:1700px;perspective-origin:50% 45%;touch-action:none;cursor:grab;outline-offset:-4px;user-select:none;-webkit-user-select:none}
.rv-stage.is-dragging{cursor:grabbing}
.rv-world{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(calc(var(--px,0)*7deg)) rotateX(calc(var(--py,0)*-5deg))}
.rv-glow{position:absolute;left:50%;top:52%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff8 0%,#fff0 68%);pointer-events:none}
.rv-card{--s:0;position:absolute;left:50%;top:50%;width:var(--cw);padding:0;border:0;background:none;color:inherit;cursor:pointer;transform-style:preserve-3d;
  transform:translate(-50%,-50%) translate3d(calc(var(--s)*-46px),calc(var(--s)*var(--step)),calc(var(--s)*var(--s)*-110px)) rotateX(10deg) rotateY(-16deg) rotateZ(calc(-5deg + var(--s)*1.6deg)) scale(calc(1 - var(--s)*var(--s)*.035));
  opacity:max(0,calc(1.04 - var(--s)*var(--s)*.2));filter:drop-shadow(0 calc(16px + var(--s)*var(--s)*4px) 18px #1C273326)}
.rv-card[data-far="true"]{pointer-events:none;visibility:hidden}
.rv-card .orbit-paper{box-shadow:inset 5px 0 0 #1C27330d,inset 0 0 0 1px #1C27330f}
.rv-card:focus-visible{outline:3px solid #A06C2C;outline-offset:8px}
.rv-card .art-card{width:100%;max-width:none;min-height:322px;padding:24px 22px 18px;box-shadow:none;transform:none;background:transparent}
.rv-card .art{height:148px}
.rv-card .art-card p{font-size:28px;line-height:1.08;margin:10px 0}
.rv-card .art-card p em{font-size:40px}
.rv-card .art-card .tiny{font-size:6px;letter-spacing:.12em}
.rv-card .card-pick{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;transition:opacity .4s,max-height .4s,padding .4s}
.rv-card.is-current .card-pick{opacity:1;max-height:60px;padding:13px 18px}
.rv-card::after{content:"";position:absolute;inset:0;border-radius:2px;background:linear-gradient(115deg,#fff0 30%,#ffffff55 48%,#fff0 62%);transform:translateX(calc(var(--s)*40%));mix-blend-mode:soft-light;pointer-events:none}
.rv-rail{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;z-index:6}
.rv-rail button{display:block;width:6px;height:6px;padding:0;border:0;border-radius:6px;background:#1C273344;cursor:pointer;transition:height .35s cubic-bezier(.22,.8,.2,1),background .3s;position:relative}
.rv-rail button::before{content:"";position:absolute;inset:-9px -12px}
.rv-rail button[aria-current="true"]{height:26px;background:#1C2733}
.rv-hint{grid-column:1/-1;text-align:center;font-size:9px;letter-spacing:.24em;margin:6px 0 0;color:#55606B}
.revolver .orbit-note{right:8%;top:6%}

@media(max-width:850px){
  .plumery-stage.revolver{--cw:224px;--step:132px;grid-template-columns:1fr;padding:84px 6% 36px;min-height:0}
  .revolver .rv-copy{max-width:none;text-align:center;margin:0 auto}
  .revolver .rv-copy h1{text-align:center}
  .revolver .rv-lede{margin-left:auto;margin-right:auto}
  .revolver .card-orbit.rv-stage{height:520px;min-height:0;margin-top:12px}
  .rv-selected{text-align:center;margin-top:24px}
  .rv-selected #orbit-description{margin:0 auto}
  .rv-actions,.rv-controls{justify-content:center}
  .rv-rail{right:-2%}
  .rv-card .art-card{min-height:266px;padding:20px 18px 14px}
  .rv-card .art{height:116px}
  .rv-card .art-card p{font-size:23px}
  .rv-card .art-card p em{font-size:32px}
}
@media(max-width:550px){
  .revolver .rv-copy h1{font-size:44px}
  .revolver .card-orbit.rv-stage{height:470px}
}
@media(prefers-reduced-motion:reduce){
  .rv-world{transform:none}
  .rv-card .card-pick,.rv-selected>*{transition:none}
  .rv-card::after{display:none}
}
.motion-paused .rv-world{transform:none}

.rv-card .img-card{min-height:0;padding:0;line-height:0}
.rv-card .img-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;pointer-events:none}

/* Revolver: creative headline font. */
.revolver .rv-copy h1{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(46px,5.2vw,84px);line-height:.92;letter-spacing:-.02em;text-transform:none;color:#1C2733}
.revolver .rv-copy h1 em{color:#764C1C}

/* Revolver copy: pulled toward the middle of the page and centred. */
.revolver .rv-copy{justify-self:end;margin-right:2%;text-align:center}
.revolver .rv-copy h1,.revolver .rv-lede,.revolver .rv-copy .eyebrow{text-align:center}
.revolver .rv-lede{margin-left:auto;margin-right:auto}
.revolver .rv-selected{text-align:center}
.revolver .rv-selected #orbit-description{margin-left:auto;margin-right:auto}
.revolver .rv-actions,.revolver .rv-controls{justify-content:center}

/* Revolver copy: normal left alignment, spread across the left column. */
.revolver .rv-copy{justify-self:stretch;margin-right:0;text-align:left;max-width:none;width:100%}
.revolver .rv-copy h1{text-align:left;font-size:clamp(50px,5.8vw,92px)}
.revolver .rv-copy .eyebrow{text-align:left}
.revolver .rv-lede{margin-left:0;margin-right:0;text-align:left;max-width:40ch;font-size:16px}
.revolver .rv-selected{text-align:left;margin-top:56px}
.revolver .rv-selected #orbit-description{margin-left:0;margin-right:0;font-size:15px;max-width:44ch}
.revolver .rv-actions,.revolver .rv-controls{justify-content:flex-start}
.revolver .rv-actions{margin-top:34px;gap:10px 24px}
.revolver .rv-controls{margin-top:30px}

/* Extra phrases around the card stack, staggered either side. */
.revolver .rv-note{position:absolute;z-index:4;font:italic 19px/1.2 Georgia,serif;color:#764C1C;opacity:0;pointer-events:none;animation:rv-note-in 1.2s ease forwards}
.revolver .rv-note.n-left-1{left:0;top:22%;transform:rotate(-8deg);animation-delay:.9s}
.revolver .rv-note.n-left-2{left:6%;top:62%;transform:rotate(6deg);font-size:17px;animation-delay:1.3s}
.revolver .rv-note.n-right-1{right:1%;top:14%;transform:rotate(7deg);font-size:17px;animation-delay:1.1s}
.revolver .rv-note.n-right-2{right:5%;top:70%;transform:rotate(-5deg);animation-delay:1.5s}
@keyframes rv-note-in{to{opacity:.85}}
@media(max-width:850px){.revolver .rv-note{display:none}}

/* Selected card's title and description sit at the right edge of the text column, nearer the stack. */
.revolver .rv-selected{margin-left:auto;text-align:right;max-width:min(440px,100%)}
.revolver .rv-selected #orbit-description{margin-left:auto;margin-right:0;max-width:none;text-align:right}
.revolver .rv-selected .rv-count,.revolver .rv-selected .eyebrow{text-align:right}

/* The whole card group (title, description, buttons, arrows) sits on the right edge of the text column, next to the stack. */
.revolver .rv-actions{justify-content:flex-end;margin-left:auto}
.revolver .rv-controls{justify-content:flex-end;margin-left:auto}
.revolver .rv-controls .motion-toggle{margin-left:6px;text-align:right}

/* Scroll / drag / tap hint sits with the card group, right-aligned under the arrows. */
.revolver .rv-hint{grid-column:auto;text-align:right;margin:18px 0 0 auto;font-size:9px;letter-spacing:.24em}

/* Card group: title, description, then the explore button (01-18 counter, feeling label and "Try opening it" removed). */
.revolver .rv-selected{margin-top:44px;padding-top:22px}
.revolver .rv-actions{margin-top:26px}

/* "feels" in the lede is underlined in bronze. */
.revolver .rv-lede em{text-decoration:underline;text-decoration-color:var(--bronze);text-decoration-thickness:1.5px;text-underline-offset:5px}



/* Hero background: four washed-out seasons, each on screen for 5 seconds (20s loop), under a paper wash. */
.revolver .season-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.revolver .season-bg::after{content:"";position:absolute;inset:0;background:rgba(246,241,231,.59)}
.revolver .season-scene{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:season 20s infinite}
.revolver .season-rainy{background-image:url(../assets/seasons/rainy.svg)}
.revolver .season-summer{background-image:url(../assets/seasons/summer.svg);animation-delay:5s}
.revolver .season-fall{background-image:url(../assets/seasons/fall.svg);animation-delay:10s}
.revolver .season-snowy{background-image:url(../assets/seasons/snowy.svg);animation-delay:15s}
@keyframes season{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.revolver .season-scene{animation:none}.revolver .season-rainy{opacity:1}}

/* Phones and tablets: card name, description, explore chip and arrows sit on the left edge. */
@media(max-width:850px){
  .revolver .rv-selected{margin-left:0;margin-right:auto;text-align:left}
  .revolver .rv-selected #orbit-description{margin-left:0;margin-right:0;text-align:left}
  .revolver .rv-selected .rv-count,.revolver .rv-selected .eyebrow{text-align:left}
  .revolver .rv-actions{justify-content:flex-start;margin-left:0}
  /* Arrows keep their row and right-align with the end of the TAP A CARD text above (text ends 165px from the column's left edge). */
  .revolver .rv-controls{justify-content:flex-end;width:165px;margin-left:0}
  .revolver .rv-controls .motion-toggle{display:none}
  /* Scroll hint sits centered directly under the Explore chip (chip is 199px wide). Arrows and card stack keep their original positions: gaps below are the old spacing minus the hint's 12px line. */
  .revolver .rv-copy{display:flex;flex-direction:column}
  .revolver .rv-hint{order:1;width:199px;text-align:center;margin:12px 0 0 0;font-size:8px;letter-spacing:.12em;white-space:nowrap}
  .revolver .rv-controls{order:2;margin-top:6px;margin-bottom:58px}
  /* Smooth card-name swap: fade out fully (before the text changes at 180ms), fade in gently, and hold the block's height steady. */
  .revolver .rv-selected.is-swapping>*{transition-duration:.15s,.15s}
  .revolver .rv-selected>*{transition:opacity .4s ease,transform .5s cubic-bezier(.22,.8,.2,1)}
  .revolver .rv-selected.is-swapping>*{transform:translateY(4px)}
  .revolver .rv-selected #orbit-description{min-height:3em}
}
