/* Olympos Web SEO pages, kinetic look. Loads after k/site.css (the system) and 02k.css (sections, buttons, price cards,
   extras, questions, footer). What is the landing pages' own is here: the hero price chips, the template tiles, the lists.
   The tile and chip rules are ozelk.css's, copied so these pages do not depend on that file. Colours are field tokens. */

[hidden] { display: none !important; }

.hero .pin { gap: clamp(20px, 3.4svh, 40px); }
.hero-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); width: min(100%, 1100px); text-align: left; }
.hpr { display: grid; grid-template-rows: auto 1fr auto; gap: 10px; justify-items: start; align-content: start; padding: clamp(16px, 2vw, 24px); border-radius: 18px; background: var(--plate); }
.hpr-name { font-size: 1.15rem; font-variation-settings: "wght" 780, "wdth" 106; }
.hpr-price { font-size: 1.05rem; line-height: 1.2; font-variation-settings: "wght" 560, "wdth" 104; }
.hpr-price b, .bl-price b { display: block; }
.hpr-price b { font-size: clamp(1.9rem, 1.3rem + 1.6vw, 2.8rem); line-height: 1; letter-spacing: -.025em; font-variation-settings: "wght" 860, "wdth" 100; }
.hpr-price i, .bl-price i { font-style: normal; }
.hpr-price.is-text { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); font-weight: 800; font-variation-settings: "wght" 820, "wdth" 100; }
.hpr-main .hpr-price b { color: var(--acc); }
.hero-actions { margin-top: 4px; }

.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(26px, 3.4vw, 52px) clamp(16px, 2.2vw, 32px); text-align: left; }
.tiles-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tiles-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tile { display: grid; gap: 14px; align-content: start; min-width: 0; }
.tile-shots { display: grid; grid-template-columns: minmax(0, 1fr); }
.tile-shot { position: relative; display: block; aspect-ratio: 16 / 10; max-width: 100%; border-radius: 16px; overflow: hidden; background: var(--plate); }
.tile-shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.tile-body { display: grid; gap: 8px; align-content: start; }
.tile-name { font-size: var(--t-h3); line-height: 1.02; letter-spacing: -.015em; font-weight: 800; font-variation-settings: "wght" 800, "wdth" 104; }
.tile-name a { text-decoration: none; }
.tile-name a:hover { text-decoration: underline; text-underline-offset: .15em; }
.tile-meta { display: grid; gap: 2px; }
.tile-ind { font-size: 1.05rem; line-height: 1.35; }
.tile-tag { font-size: .98rem; line-height: 1.4; color: var(--soft); }
.tile-menu { font-size: 1rem; line-height: 1.5; color: var(--soft); }
.tile-menu strong { color: var(--fg); font-variation-settings: "wght" 740, "wdth" 106; }
.tile-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }

.sub { margin: clamp(28px, 4vw, 48px) 0 clamp(14px, 2vw, 22px); text-align: center; font-size: var(--t-h3); line-height: 1.05; letter-spacing: -.015em; font-weight: 800; font-variation-settings: "wght" 800, "wdth" 104; text-wrap: balance; }
.cols2 .sub { margin-top: 0; text-align: left; }
.prose { display: grid; gap: 14px; max-width: 66ch; margin-inline: auto; text-align: left; }
.prose p { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.6; text-wrap: pretty; }
.note { max-width: 66ch; margin: 16px auto 0; font-size: 1rem; line-height: 1.55; color: var(--soft); text-align: left; text-wrap: pretty; }
.cols2 .note { margin-left: 0; }
.tax { margin-top: 18px; text-align: center; color: var(--soft); }

.prices3 .bl-price .pre { display: block; font-size: 1.05rem; }
.cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); align-items: start; }
.cl { min-width: 0; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pills li { padding: 9px 16px; border-radius: 999px; background: var(--plate); font-size: 1.02rem; line-height: 1.3; }

.chk { display: grid; gap: 10px; max-width: 66ch; margin-inline: auto; text-align: left; }
.chk li { position: relative; padding: 14px 18px 14px 46px; border-radius: 14px; background: var(--plate); font-size: 1.08rem; line-height: 1.45; }
.chk li::before { content: ""; position: absolute; left: 18px; top: 1.35em; width: .6em; height: .6em; border-radius: 50%; background: var(--acc); }

.defs { grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: left; }
.defs .ex { grid-template-columns: minmax(0, 1fr); grid-template-areas: "t" "d"; }

.stp { counter-reset: s; display: grid; gap: 12px; max-width: 900px; margin-inline: auto; text-align: left; }
.stp li { counter-increment: s; display: grid; grid-template-columns: clamp(48px, 7vw, 90px) minmax(0, 1fr); column-gap: clamp(14px, 3vw, 36px); padding: clamp(18px, 2.4vw, 30px); border-radius: 18px; background: var(--plate); }
.stp li::before { content: counter(s); grid-row: 1 / span 2; font-size: var(--t-figure); line-height: .9; font-weight: 850; font-variation-settings: "wght" 850, "wdth" 100; color: var(--acc); }
.stp h3 { font-size: var(--t-h3); line-height: 1.04; letter-spacing: -.015em; font-weight: 800; font-variation-settings: "wght" 800, "wdth" 104; }
.stp p { margin-top: 6px; max-width: 60ch; font-size: 1.05rem; line-height: 1.5; }

.contact { display: grid; gap: 10px; max-width: 760px; margin-inline: auto; text-align: left; }
.contact > div { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 4px 20px; padding: 16px 20px; border-radius: 14px; background: var(--plate); }
.contact dt { font-variation-settings: "wght" 740, "wdth" 108; }
.contact dd { margin: 0; }
.contact a { text-underline-offset: .2em; }

.acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin-top: clamp(24px, 4svh, 40px); }
.acts + .note { text-align: center; margin-inline: auto; }

@media (max-width: 1100px) {
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiles-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .hero-prices { grid-template-columns: minmax(0, 1fr); }
  .cols2, .defs { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .tiles, .tiles-2, .tiles-4 { grid-template-columns: minmax(0, 1fr); }
  .contact > div { grid-template-columns: minmax(0, 1fr); }
  .stp li { grid-template-columns: minmax(0, 1fr); }
  .stp li::before { grid-row: auto; font-size: clamp(2.6rem, 12vw, 4rem); margin-bottom: 8px; }
}
@media (prefers-contrast: more) { .tile-tag, .tile-menu { color: inherit; } }
