/* ============ Brittani Fagel — multi-page layout: page headers, the "pick a room" menu, flip-for-the-tea cards ============ */
.topbar .nav a[aria-current="page"] { background-size: 100% 1px; color: var(--burgundy); }

/* ---------- sub-page header ---------- */
.page-head {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 12px;
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(96px, 11vw, 140px) clamp(18px, 4vw, 40px) clamp(40px, 6vw, 64px);
  text-align: center;
}
.page-head .eyebrow { background: var(--ivory); padding: 7px 12px; }
.page-title { margin: 0; font-family: var(--f-display); font-weight: 300; font-size: clamp(64px, 11vw, 132px); line-height: .88; letter-spacing: -.03em; color: var(--burgundy); text-wrap: balance; }
.page-title em { font-style: italic; color: var(--rose-ink); }
.page-dek { margin: 4px 0 0; max-width: 46ch; padding: 10px 16px; background: var(--ivory); font-family: var(--f-display); font-style: italic; font-size: 22px; line-height: 1.4; color: var(--brown); box-shadow: 0 8px 16px -12px rgba(59, 37, 27, .4); }
.page-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 12px 0 0; }
.ph-bow { top: clamp(58px, 7vw, 84px); left: calc(50% - clamp(190px, 34vw, 390px)); width: clamp(70px, 9vw, 110px); transform: rotate(-16deg); filter: drop-shadow(0 8px 8px rgba(40, 10, 16, .3)); }
.subpage > .band:first-of-type, .subpage > .section:first-of-type { margin-top: 0; }
.sec-head--center { justify-items: center; text-align: center; }
.sec-head--center .sec-sub { margin: 0 auto; }

/* ---------- pick a room ---------- */
.rooms-band { margin-top: clamp(50px, 7vw, 90px); }
.rooms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(260px, auto); gap: clamp(16px, 2.4vw, 28px); }
.room--work { grid-column: span 2; }
.room--about { grid-column: span 2; }
.rooms--5 .room--about { grid-column: auto; }
.rooms--5 .room--journal { grid-column: span 1; }
.room {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
  overflow: hidden;
  padding: 22px 22px 20px;
  color: inherit;
  text-decoration: none;
  background-color: var(--ivory);
  background-image: var(--grain);
  border: 1px solid rgba(176, 141, 87, .55);
  outline: 1px solid rgba(176, 141, 87, .35);
  outline-offset: -8px;
  box-shadow: 0 24px 36px -26px rgba(59, 37, 27, .6);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.room:hover, .room:focus-visible { transform: translateY(-6px) rotate(-.4deg); box-shadow: 0 34px 44px -26px rgba(59, 37, 27, .7); }
.room:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 4px; }
.room-art { position: relative; display: grid; place-items: center; min-height: 170px; }
.room-text { display: grid; gap: 2px; }
.room-name { font-family: var(--f-display); font-weight: 400; font-size: clamp(32px, 3.4vw, 44px); line-height: 1; color: var(--burgundy); }
.room:hover .room-name { font-style: italic; }
.room-blurb { font-size: 15px; color: var(--brown); }
.room-go { position: absolute; right: 18px; bottom: 18px; padding: 8px 14px; background: var(--velvet); color: var(--ivory); font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; transform: translateY(6px); opacity: 0; transition: transform .35s var(--ease), opacity .3s; }
.room:hover .room-go, .room:focus-visible .room-go { transform: none; opacity: 1; }
.room--play { background-color: #FBE6EC; }
.room--shop { background-color: var(--butter-2); }
.room--about { background-color: var(--blush-2); }

/* work: three reel covers that fan out */
.room-reels { display: flex; justify-content: center; align-items: center; height: 100%; }
.room-reels > * { width: clamp(90px, 11vw, 132px); aspect-ratio: 9 / 16; object-fit: cover; border: 6px solid #2A1912; box-shadow: 0 16px 24px -14px rgba(0, 0, 0, .6); transition: transform .5s var(--ease); }
.room-reels > :nth-child(1) { transform: rotate(-8deg) translateX(18px); }
.room-reels > :nth-child(2) { position: relative; z-index: 2; transform: translateY(-6px); }
.room-reels > :nth-child(3) { transform: rotate(8deg) translateX(-18px); }
.room--work:hover .room-reels > :nth-child(1) { transform: rotate(-12deg) translateX(-8px); }
.room--work:hover .room-reels > :nth-child(2) { transform: translateY(-14px) scale(1.04); }
.room--work:hover .room-reels > :nth-child(3) { transform: rotate(12deg) translateX(8px); }

/* play: a pink handheld console */
.room-console { position: relative; display: grid; justify-items: center; gap: 16px; width: clamp(140px, 13vw, 164px); padding: 16px 16px 74px; background: linear-gradient(160deg, #F7B9CA, #E98EA8); border-radius: 18px 18px 46px 18px; box-shadow: inset 0 -6px 0 rgba(94, 22, 36, .18), 0 22px 30px -16px rgba(94, 22, 36, .55); transform: rotate(-4deg); transition: transform .5s var(--ease); }
.room--play:hover .room-console { transform: rotate(3deg) translateY(-6px); }
.console-screen { display: grid; place-items: center; gap: 2px; width: 100%; aspect-ratio: 1.1; background: #2A1912; border: 8px solid #FFFBF3; border-radius: 8px; color: #F5B8C8; font: 500 13px/1 var(--f-body); letter-spacing: .3em; }
.console-heart { font-size: 34px; letter-spacing: 0; animation: beat 1.3s ease-in-out infinite; }
@keyframes beat { 0%, 100% { transform: scale(1); } 20% { transform: scale(1.2); } 40% { transform: scale(.95); } }
.console-text { animation: blink 1.1s steps(2) infinite; }
@keyframes blink { 50% { opacity: .2; } }
.console-pad { position: absolute; left: 20px; bottom: 20px; width: 34px; height: 34px; background: linear-gradient(#5E1624, #5E1624) center / 100% 11px no-repeat, linear-gradient(#5E1624, #5E1624) center / 11px 100% no-repeat; }
.console-btns { position: absolute; right: 18px; bottom: 22px; display: flex; gap: 8px; transform: rotate(-20deg); }
.console-btns i { width: 18px; height: 18px; border-radius: 50%; background: #5E1624; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .3); }
.console-btns i:first-child { margin-top: 10px; }
.room--play .room-art { min-height: 220px; }

/* shop: fanned polaroids of finds */
.room-fan { position: relative; display: block; width: 220px; height: 170px; }
.room-fan .mount { position: absolute; top: 10px; left: 50%; width: 112px; margin-left: -56px; padding: 7px 7px 20px; transition: transform .5s var(--ease); }
.room-fan img, .room-fan .ph { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }
.room-fan .mount:nth-child(1) { transform: rotate(-14deg) translateX(-54px); }
.room-fan .mount:nth-child(2) { z-index: 2; transform: rotate(2deg); }
.room-fan .mount:nth-child(3) { transform: rotate(14deg) translateX(54px); }
.room--shop:hover .room-fan .mount:nth-child(1) { transform: rotate(-20deg) translate(-74px, -4px); }
.room--shop:hover .room-fan .mount:nth-child(2) { transform: rotate(-2deg) translateY(-12px); }
.room--shop:hover .room-fan .mount:nth-child(3) { transform: rotate(20deg) translate(74px, -4px); }
.room-fan .pc, .room-polaroid .pc { display: none; }

/* about: polaroid with a sticky note */
.room-polaroid { position: relative; display: block; }
.room-polaroid .mount { display: block; width: 150px; padding: 8px 8px 26px; transform: rotate(-5deg); transition: transform .5s var(--ease); }
.room-polaroid img, .room-polaroid .ph { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.room--about:hover .room-polaroid .mount { transform: rotate(3deg) scale(1.04); }
.room-sticky { position: absolute; right: -54px; bottom: 6px; padding: 10px 12px; background: var(--butter); font-family: var(--f-display); font-style: italic; font-size: 19px; color: var(--burgundy); transform: rotate(7deg); box-shadow: 0 8px 14px -8px rgba(59, 37, 27, .45); transition: transform .5s var(--ease); }
.room--about:hover .room-sticky { transform: rotate(-4deg) translateY(-6px); }

/* journal: a velvet diary */
.room-diary { position: relative; display: grid; place-items: center; width: 150px; height: 190px; border-radius: 4px 10px 10px 4px; background-color: var(--velvet); background-image: linear-gradient(90deg, rgba(0, 0, 0, .35) 0 12px, transparent 12px), var(--img-velvet); background-size: auto, 700px auto; box-shadow: 0 20px 30px -16px rgba(0, 0, 0, .6); transform: rotate(-3deg); transition: transform .5s var(--ease); }
.room--journal:hover .room-diary { transform: rotate(2deg) translateY(-6px); }
.diary-label { padding: 10px 14px; border: 1px solid var(--gold-lt); color: var(--gold-lt); font-family: var(--f-display); font-size: 20px; line-height: 1; text-align: center; }
.room-diary img { position: absolute; top: -20px; right: -26px; width: 80px; transform: rotate(18deg); }

/* ---------- flip for the tea ---------- */
.tea-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); }
.tea-card { padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; perspective: 900px; transform: rotate(var(--tilt)); transition: transform .35s var(--ease); }
.tea-card:hover { transform: rotate(0) translateY(-4px); }
.tea-card:focus-visible { outline: 2px solid var(--burgundy); outline-offset: 6px; }
.tea-inner { position: relative; display: block; aspect-ratio: 3 / 4; transform-style: preserve-3d; transition: transform .7s var(--ease); }
.tea-card[aria-pressed="true"] .tea-inner { transform: rotateY(180deg); }
.tea-front, .tea-back { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 20px 16px; text-align: center; backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: 0 18px 26px -18px rgba(59, 37, 27, .55); }
.tea-front { background-color: var(--velvet); background-image: var(--img-velvet); background-size: 700px auto; color: var(--ivory); outline: 1px solid rgba(228, 208, 160, .6); outline-offset: -8px; }
.tea-num { font-size: 11px; font-weight: 500; letter-spacing: .24em; color: var(--gold-lt); }
.tea-q { font-family: var(--f-display); font-style: italic; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; }
.tea-hint { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; opacity: .7; }
.tea-back { transform: rotateY(180deg); background-color: var(--ivory); background-image: var(--grain); outline: 1px solid rgba(176, 141, 87, .55); outline-offset: -8px; }
.tea-a { position: relative; z-index: 1; font-family: var(--f-display); font-size: clamp(20px, 2vw, 25px); line-height: 1.25; color: var(--burgundy); }
.tea-back img { position: absolute; right: 12px; bottom: 12px; width: 64px; opacity: .8; transform: rotate(-12deg); mix-blend-mode: multiply; }
.tea-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 40px 0 0; }

@media (max-width: 960px) {
  .rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .room--work { grid-column: span 2; }
  .room--about, .rooms--5 .room--about { grid-column: auto; }
  .rooms--5 .room--journal { grid-column: span 2; }
  .tea-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .page-head { padding: 90px 18px 34px; }
  .page-dek { font-size: 19px; }
  .ph-bow { left: 10px; top: 70px; width: 64px; }
  .rooms { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .room--work, .rooms--5 .room--journal { grid-column: auto; }
  .room { grid-template-columns: 118px minmax(0, 1fr); grid-template-rows: none; align-items: center; min-height: 150px; padding: 16px 14px; }
  .room-art { position: relative; width: 118px; height: 130px; min-height: 0; overflow: visible; }
  .room-art > * { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(var(--art-scale, .6)); }
  .room--work { --art-scale: .5; } .room--shop { --art-scale: .52; } .room--play { --art-scale: .62; } .room--about { --art-scale: .62; } .room--journal { --art-scale: .6; }
  .room:hover .room-art > * { transform: translate(-50%, -50%) scale(var(--art-scale, .6)); }
  .room--play .room-art { min-height: 0; }
  .room-name { font-size: 30px; }
  .room-go { display: none; }
  .room-sticky { display: none; }
  .tea-grid { gap: 12px; }
  .tea-front, .tea-back { padding: 14px 10px; }
  .tea-q { font-size: 19px; }
  .tea-a { font-size: 17px; }
}
