/* Final concept details shared across the production site. */
.actor { aspect-ratio: 361 / 840 !important; }

/* WhatsApp: adapted from the final concept, lifted above the AI launcher. */
.wa-fab {
  position: fixed;
  right: 22px;
  bottom: 88px;
  z-index: 46;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--ink);
  color: var(--paper);
  border: 1.5px solid var(--or);
  border-radius: 999px;
  text-decoration: none;
  font: 700 13px/1 Arial, Helvetica, sans-serif;
  box-shadow: 4px 4px 0 var(--or);
  transition: transform .25s ease, box-shadow .25s ease;
}
.wa-fab:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--or); }
.wa-fab svg { width: 20px; height: 20px; color: var(--or); flex: none; }
.wa-inline { white-space: nowrap; }

/* Kelvin, off the clock. Taken from the final approved concept. */
.extras {
  border-top: 1px solid var(--line);
  padding: clamp(80px,11vh,130px) 0 clamp(70px,9vh,110px);
}
.xwrap { max-width:1320px; margin:0 auto; padding:0 clamp(16px,4vw,56px); }
.xwrap h2 { max-width:none; }
.xh {
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin:46px 0 18px;
  padding-top:18px;
  border-top:1px solid var(--ink);
}
.xgrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.xgrid.x2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.xcard { display:flex; flex-direction:column; gap:8px; min-width:0; }
.xthumb {
  background:var(--paper);
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;
}
.x-sticker {
  aspect-ratio:4/5;
  background:repeating-conic-gradient(rgba(32,15,7,.045) 0 25%,transparent 0 50%) 0 0/22px 22px;
}
.x-sticker img { max-width:84%; max-height:88%; object-fit:contain; }
.x-wall { aspect-ratio:16/10; }
.x-wall img { width:100%; height:100%; object-fit:cover; display:block; }
.xcard:hover .xthumb { transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--or); }
.xcard h4 { margin:8px 0 0; font-size:19px; }
.xcard p { margin:0; font-size:14px; color:var(--soft); line-height:1.45; }
.xdl {
  align-self:flex-start;
  margin-top:4px;
  font:700 12px/1 Arial, Helvetica, sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
  border-bottom:2px solid var(--or);
  padding-bottom:4px;
}
.xdl:hover { color:var(--or); }

@media (max-width:980px) {
  .xgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
#take-kelvin-home{background:#FFF9EB;--sbg:#FFF9EB}

@media (max-width:650px) {
  .wa-fab { right:14px; bottom:82px; padding:11px 13px; }
  .wa-fab span { display:none; }
}

/* P1B: preserved mobile homepage hero sizing */
@media (max-width: 980px) {
  body.final-home .stage {
    min-height:calc(100svh - 64px) !important;
  }
}
@media (max-width:560px) {
  .xgrid,.xgrid.x2 { grid-template-columns:1fr; }
}
