/* Plinth page styles. Loaded after /shared.css (Arkemis v3: tokens, type, buttons, windows, status,
   capsule nav, footer booking hub, the framed column and rule bands). This file only adds Plinth's own
   layout: the hero, the static "How it works" sequence, the example quote card, the reports schedule
   and the buyer facts. Fully static. */

.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.sec { padding: clamp(72px, 9vw, 120px) 0; }
.sec .h-1 { margin-top: 16px; max-width: 22ch; }
.sec .lead { margin-top: 16px; }

/* ---- hero */
.hero { padding: calc(var(--head-h) + clamp(36px, 6vh, 80px)) 0 clamp(64px, 8vw, 104px); }
.hero .h-display { margin-top: 18px; max-width: 18ch; }
.hero .status { margin-top: 22px; }
.hero .lead { margin-top: 18px; }
.hero-lede { line-height: 2; max-width: 62ch; }
.hero-win { margin-top: clamp(40px, 5vw, 64px); }
.chip { display: inline-flex; align-items: center; gap: 7px; padding: 1px 11px 1px 4px; margin: 0 2px; line-height: 1.6; background: var(--card); border: 1px solid var(--hair-2); border-radius: 999px; color: var(--ink); white-space: nowrap; }
.ic { width: 22px; height: 22px; border-radius: 50%; display: inline-block; background-position: center; background-repeat: no-repeat; background-size: 14px; }
.ic-pipe { background-color: var(--hl-sky); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%233b78cf' stroke-width='1.6'%3E%3Cpath d='M1 4h7v8M1 9h4'/%3E%3C/svg%3E"); }
.ic-room { background-color: var(--hl-mint); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%231d7f46' stroke-width='1.5'%3E%3Crect x='1.5' y='2.5' width='11' height='9'/%3E%3Cpath d='M7 2.5v5H12.5'/%3E%3C/svg%3E"); }
.ic-rate { background-color: var(--hl-sand); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23946a00' stroke-width='1.5'%3E%3Cpath d='M2 7.5 7.5 2H12v4.5L6.5 12z'/%3E%3Ccircle cx='9.6' cy='4.4' r='.9'/%3E%3C/svg%3E"); }

/* ---- close-up crops of a capture (phones): --iw capture width, --x/--y/--cw/--ch the crop in capture pixels */
.crop { display: none; position: relative; margin: 0; overflow: hidden; aspect-ratio: calc(var(--cw) / var(--ch)); border-radius: var(--r-win); border: 1px solid var(--hair-2); background: var(--card); box-shadow: 0 0 0 4px rgba(255, 255, 255, .92), 0 0 0 5px var(--hair); }
.crop img { position: absolute; max-width: none; height: auto; width: calc(var(--iw) / var(--cw) * 100%); left: calc(var(--x) / var(--cw) * -100%); top: calc(var(--y) / var(--ch) * -100%); }

/* ---- the labelled example quote (no real quote capture is used) */
.mq { margin: 0; max-width: 520px; padding: 16px 18px 18px; border-radius: var(--r-win); border: 1px solid var(--hair-2); background: var(--card); box-shadow: 0 0 0 5px rgba(255, 255, 255, .92), 0 0 0 6px var(--hair), 0 40px 80px -36px rgba(20, 20, 28, .3); }
.mq-h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 10px; border-bottom: 1px solid var(--ink); }
.mq-h b { font: 600 16px var(--display); font-stretch: 112%; }
.mq-h span { font: 500 11.5px var(--mono); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3); }
.mq li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--hair); font-size: 16px; }
.mq li span { display: grid; }
.mq li u { text-decoration: none; font: 500 12px var(--mono); color: var(--accent-ink); margin-top: 2px; }
.mq li b { font: 500 15px var(--mono); }
.mq .sum { border-bottom: 0; font-weight: 600; }
.mq-ex { display: flex; gap: 8px; margin-top: 12px; }
.mq-ex span { flex: 1; display: grid; place-items: center; min-height: 44px; border-radius: var(--r-btn); font-size: 15px; font-weight: 500; border: 1px solid var(--hair-2); }
.mq-ex span:first-child { background: var(--accent-tint); border-color: var(--accent); }

/* ---- How it works: a static sequence, text beside (desktop) or above (phones) a still window */
.tour { padding-top: clamp(72px, 9vw, 120px); }
.tour-head .h-1 { margin-top: 16px; }
.tour-steps { margin: 16px 0 0; }
.tour-step { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: clamp(28px, 4vw, 64px); align-items: center; max-width: calc(var(--maxw) + 2 * var(--gutter)); margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--gutter); }
.tour-step .txt { max-width: 440px; }
.tour-step .h-2 { margin-top: 14px; }
.tour-step .lead { margin-top: 14px; font-size: 17px; }
.tour-note { padding-bottom: 40px; font-size: 13px; color: var(--ink-3); }
@media (min-width: 960px) { .tour-step:nth-child(even) .txt { order: 2; } }

/* ---- reports schedule */
.types { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; }
.types button { min-height: 40px; padding: 0 14px; border: 1px solid var(--hair-2); border-radius: var(--r-btn); background: var(--card); color: var(--ink-2); font: 500 14px var(--f); cursor: pointer; }
.types button:hover { color: var(--ink); border-color: var(--ink); }
.types button[aria-pressed="true"] { background: var(--hl-sky); border-color: transparent; color: var(--ink); }
.count { margin: 16px 0 32px; }
.count b { color: var(--ink); font-weight: 500; }
.schedule { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.grp { border-top: 1px solid var(--ink); padding-top: 14px; }
.grp h3 { margin-bottom: 4px; }
.grp li { padding: 11px 0; border-bottom: 1px solid var(--hair); }
.grp li b { display: block; font-weight: 500; font-size: 15.5px; }
.grp li span { display: block; margin-top: 2px; font-size: 14px; color: var(--ink-3); }
.grp li.off { opacity: .28; }

/* ---- facts for buyers */
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--hair); }
.facts p, .facts li { margin-top: 10px; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.facts li { margin-top: 6px; padding-left: 16px; position: relative; }
.facts li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 1px; background: currentColor; }
.facts .cta-row { margin-top: 18px; }

/* ---- nav: "Sign in" beside the primary on Plinth */
.site-head.nav .head-signin { min-height: 40px; height: 40px; }
@media (max-width: 900px) { .site-head.nav .head-signin { display: none; } }
.site-foot .brand { min-height: 44px; }

/* ---- tablets: one column; phones: crops of the captures, text above */
@media (max-width: 959px) {
  .tour-step { grid-template-columns: 1fr; gap: 22px; align-items: start; padding-top: 44px; padding-bottom: 8px; }
  .tour-step .txt { max-width: 640px; }
  .schedule, .facts { grid-template-columns: 1fr 1fr; }
  .types button { min-height: 44px; }
  .mq, .crop, .tour-step .still { max-width: 640px; }
}
@media (max-width: 767px) {
  .hero .cta-row { flex-direction: column; }
  .hero .cta-row .btn { width: 100%; }
  .hero-lede { line-height: 1.95; }
  .chip { margin: 2px 1px; }
  .hero-win { display: none; }
  .hero-crop { display: block; margin-top: 36px; }
  .tour-step .still { display: none; }
  .crop { display: block; }
  .lead { font-size: 16.5px; }
  .types { gap: 8px; }
  .types button { font-size: 15px; }
  .schedule, .facts { grid-template-columns: 1fr; }
  .grp li b { font-size: 16.5px; }
  .grp li span { font-size: 15px; }
  .facts p, .facts li { font-size: 16px; }
  .site-foot .embed-frame { height: 900px; }
}
@media (max-width: 959px) and (max-height: 520px) { .crop, .mq, .tour-step .still { max-width: 560px; } }
