/* ══════════════════════════════════════════
   FREEMASON.CZ — v3 vzhled pro zbylé stránky (O nás, rozhovor, kategorie, blog,
   NDA, zásady, 404). Obsah a CMS editace zůstávají v původním markupu;
   tady se jen přebírá typografie, rytmus a prvky v3. Načítá se až za stylem stránky.
   ══════════════════════════════════════════ */

.v3skin { background: var(--ink) !important; color: var(--text); }
.v3skin h1, .v3skin h2, .v3skin h3, .v3skin h4 { font-family: var(--fd); }
.v3skin .btn { border-radius: 0; font-family: var(--fd); font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: none; padding: 16px 24px; transition: background .35s, color .35s, border-color .35s; }
.v3skin .btn-primary { background: var(--accent); border: 1px solid var(--accent); color: #0a0a0a; }
.v3skin .btn-primary:hover { background: #fff; border-color: #fff; color: #0a0a0a; }
.v3skin .btn-ghost { background: none; border: 1px solid rgba(255,255,255,.34); color: #fff; }
.v3skin .btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.v3skin .eyebrow { font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .2em; color: var(--accent); }
.v3skin .eyebrow::before { display: none; }
.v3skin .container { max-width: 1480px; padding-left: var(--gut); padding-right: var(--gut); }

/* Typografický úvod s tlumenou fotkou (O nás, rozhovor) */
.v3skin .ab-hero, .v3skin .rzv-hero {
  position: relative; overflow: hidden; min-height: 100vh; min-height: 100svh; max-width: none; margin: 0;
  display: flex; flex-direction: column; justify-content: flex-end; padding: 130px var(--gut) clamp(50px, 9vh, 100px);
  background: radial-gradient(ellipse 70% 60% at 85% 10%, rgba(245,196,0,.07), transparent 60%), #050505;
}
.v3skin .ab-hero > :not(.y-ohero-bg):not(.b-grid):not(.x-crop), .v3skin .rzv-hero > :not(.y-ohero-bg):not(.b-grid):not(.x-crop) { position: relative; z-index: 2; }
.v3skin .ab-hero > .x-crop, .v3skin .rzv-hero > .x-crop { top: 78px; z-index: 2; }
.v3skin .ab-hero .b-grid, .v3skin .rzv-hero .b-grid { z-index: 1; opacity: .5; }
.v3skin .ab-eyebrow, .v3skin .rzv-eyebrow { font-family: var(--fd); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin: 0 0 22px; }
.v3skin .ab-headline, .v3skin .rzv-headline {
  margin: 0; max-width: 16ch; font-size: clamp(44px, min(8vw, 13vh), 150px); font-weight: 600; letter-spacing: -.055em; line-height: .95; text-transform: none; color: #fff;
}
.v3skin .ab-headline em, .v3skin .rzv-headline em { font-style: normal; color: var(--accent); }
.v3skin .ab-lead, .v3skin .rzv-hero-lead { margin: clamp(24px, 4vh, 40px) 0 0; max-width: 56ch; font-size: clamp(15px, 1.25vw, 19px); line-height: 1.6; color: rgba(240,237,232,.8); }

/* Článek: nadpis vlevo drží na místě, text běží vpravo */
.v3skin .ab-body, .v3skin .rzv-body { display: block; max-width: none; margin: 0; padding: 0; }
.v3skin .ab-hero, .v3skin .rzv-hero { background-image: none !important; }
.v3skin .ab-hero::before, .v3skin .rzv-hero::before { display: none; }
.v3skin .rzv-intro { border-left: 0; margin-bottom: 0; }
.v3skin .ab-section h2, .v3skin .rzv-section h2 { line-height: 1.02; }
.v3skin .rzv-section-label::before, .v3skin .rzv-section-label::after { display: none; }
.v3skin .ab-section, .v3skin .rzv-section, .v3skin .rzv-intro {
  max-width: 1480px; margin: 0 auto; padding: clamp(70px, 9vw, 140px) var(--gut); border-top: 1px solid var(--line);
}
.v3skin .ab-section h2, .v3skin .rzv-section h2 { font-size: clamp(32px, 4.2vw, 72px); font-weight: 600; letter-spacing: -.045em; line-height: 1; color: #fff; text-transform: none; margin: 0 0 28px; }
.v3skin .ab-section p, .v3skin .rzv-section p, .v3skin .rzv-rich p, .v3skin .rzv-intro p { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.75; color: rgba(240,237,232,.82); }
.v3skin .ab-section strong, .v3skin .rzv-rich strong { color: #fff; }
.v3skin .rzv-section-label { display: block; font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.v3skin .rzv-intro p:first-child { font-family: var(--fd); font-size: clamp(22px, 2.4vw, 40px); font-weight: 500; letter-spacing: -.03em; line-height: 1.25; color: #fff; }
@media (min-width: 1101px) {
  .v3skin .ab-section > div { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); column-gap: clamp(48px, 7vw, 130px); }
  .v3skin .ab-section > div > * { grid-column: 2; max-width: 760px; }
  .v3skin .ab-section > div > h2 { grid-column: 1; grid-row: 1 / span 40; align-self: start; position: sticky; top: 110px; }
  .v3skin .rzv-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); column-gap: clamp(48px, 7vw, 130px); align-content: start; }
  .v3skin .rzv-section > * { grid-column: 2; max-width: 760px; }
  .v3skin .rzv-section > .y-sechead { grid-column: 1; grid-row: 1 / span 40; align-self: start; position: sticky; top: 110px; }
  .v3skin .rzv-intro > div { max-width: 1100px; }
}

/* Fotky přes celou šířku */
.v3skin .ab-photo-break, .v3skin .rzv-photo { position: relative; width: 100vw; max-width: none; margin: 0 0 0 calc(50% - 50vw) !important; padding: 0 !important; height: min(84vh, 880px); overflow: hidden; background: #111; }
.v3skin .ab-photo-break img, .v3skin .rzv-photo img { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; object-position: 50% 30%; border-radius: 0; max-width: none; }
.v3skin .ab-photo-caption, .v3skin .rzv-photo-caption { position: absolute; z-index: 2; left: var(--gut); bottom: 22px; margin: 0; padding: 6px 12px; font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(0,0,0,.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }

/* Citace a výroky */
.v3skin .ab-quote, .v3skin .rzv-quote { max-width: none; margin: 0; padding: clamp(90px, 12vw, 180px) var(--gut); background: #050505; border: 0; border-top: 1px solid var(--line); text-align: left; }
.v3skin .ab-quote p, .v3skin .rzv-quote p, .v3skin .rzv-quote blockquote { max-width: 22ch; margin: 0; font-family: var(--fd); font-size: clamp(32px, 4.8vw, 84px); font-weight: 600; font-style: normal; letter-spacing: -.045em; line-height: 1.02; color: #fff; }
.v3skin .ab-quote p::before, .v3skin .rzv-quote p::before { display: none; }
.v3skin .ab-quote em, .v3skin .rzv-quote em { font-style: normal; color: var(--accent); }
.v3skin .rzv-statement { margin: 40px 0 0; padding: 0 0 0 24px; border-left: 2px solid var(--accent); background: none; }
.v3skin .rzv-statement p { font-family: var(--fd); font-size: clamp(22px, 2.2vw, 36px); font-weight: 600; letter-spacing: -.03em; line-height: 1.2; color: #fff; }

/* Čísla */
.v3skin .ab-wide { max-width: 1480px; margin-left: auto; margin-right: auto; }
.v3skin .ab-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 0; border-top: 1px solid rgba(255,255,255,.2); background: none; }
.v3skin .ab-stat { padding: 20px 0 0; border: 0; background: none; text-align: left; }
.v3skin .ab-stat strong { display: block; font-family: var(--fd); font-size: clamp(40px, 5.2vw, 96px); font-weight: 600; letter-spacing: -.06em; line-height: 1; color: #fff; }
.v3skin .ab-stat span { display: block; margin-top: 12px; font-size: 12.5px; color: var(--muted); letter-spacing: 0; text-transform: none; }

/* Pilíře */
.v3skin .ab-manifesto { display: block; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); background: none; }
.v3skin .ab-m-item { display: grid; grid-template-columns: 70px minmax(0, .9fr) minmax(0, 1.1fr); gap: 0 40px; align-items: baseline; padding: clamp(22px, 2.6vw, 40px) 0; border: 0; border-top: 1px solid rgba(255,255,255,.14); background: none; }
.v3skin .ab-m-num { font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--accent); }
.v3skin .ab-m-title { margin: 0; font-size: clamp(24px, 2.8vw, 46px); font-weight: 600; letter-spacing: -.04em; line-height: 1.05; text-transform: none; color: #fff; }
.v3skin .ab-m-text { margin: 0; font-size: 15px; line-height: 1.65; color: rgba(240,237,232,.76); }

.v3skin .ab-founder { max-width: 1480px; margin: 0 auto; padding: 0 var(--gut) 40px; font-size: 13px; color: var(--muted); }
.v3skin .ab-deeper-link { display: flex; align-items: center; gap: 22px; text-decoration: none; color: #fff; }
.v3skin .ab-deeper-arrow { font-size: 34px; color: var(--accent); transition: transform .5s var(--x-ease); }
.v3skin .ab-deeper-link:hover .ab-deeper-arrow { transform: translateX(8px); }
.v3skin .ab-deeper-text strong { display: block; font-family: var(--fd); font-size: clamp(22px, 2.4vw, 40px); font-weight: 600; letter-spacing: -.035em; }
.v3skin .ab-deeper-text em { display: block; margin-top: 6px; font-style: normal; color: var(--muted); }

/* Závěrečná výzva */
.v3skin .ab-cta, .v3skin .rzv-cta, .v3skin .kat-cta {
  max-width: none; margin: 0; padding: clamp(80px, 10vw, 150px) var(--gut); border-top: 1px solid var(--line); background: var(--ink);
  display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap;
}
.v3skin .ab-cta h2, .v3skin .rzv-cta h2, .v3skin .kat-cta-title { margin: 0; max-width: 18ch; font-family: var(--fd); font-size: clamp(32px, 4.8vw, 82px); font-weight: 600; letter-spacing: -.045em; line-height: 1; text-transform: none; color: #fff; }
.v3skin .ab-cta p, .v3skin .rzv-cta p { margin-top: 20px; max-width: 56ch; color: rgba(240,237,232,.72); }
.v3skin .kat-cta-eyebrow { font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin: 0 0 18px; }
.v3skin .kat-cta-btn { border-radius: 0; padding: 16px 24px; font-family: var(--fd); font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: none; }

/* Rozhovor: kontrast teplá × studená, esence, manifest */
.v3skin .rzv-contrast { gap: 28px; }
.v3skin .rzv-contrast-col { border: 0; border-top: 1px solid rgba(255,255,255,.2); border-radius: 0; background: none; padding: 18px 0 0; }
.v3skin .rzv-contrast-col h4 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; text-transform: none; }
.v3skin .rzv-essence, .v3skin .rzv-manifest { max-width: 1480px; margin: 0 auto; }
.v3skin .rzv-essence-item { border-radius: 0; background: none; border: 0; border-top: 1px solid rgba(255,255,255,.18); }
.v3skin .rzv-wide { max-width: none; }

/* ── Kategorie portfolia ── */
.v3skin .kat-hero { min-height: 100vh; min-height: 100svh; }
.v3skin .kat-hero > .x-crop { top: 78px; }
.v3skin .kat-hero-grad { background: linear-gradient(0deg, rgba(6,6,6,.95) 0, rgba(6,6,6,.55) 38%, rgba(6,6,6,.08) 70%), linear-gradient(90deg, rgba(6,6,6,.6), rgba(6,6,6,0) 60%); }
.v3skin .kat-hero-body { padding-left: var(--gut); padding-right: var(--gut); padding-bottom: clamp(50px, 9vh, 100px); }
.v3skin .kat-hero-eyebrow { font-family: var(--fd); font-size: 12px; font-weight: 600; letter-spacing: .2em; color: var(--accent); }
.v3skin .kat-hero-title { font-family: var(--fd); font-size: clamp(48px, min(9vw, 15vh), 170px); font-weight: 600; letter-spacing: -.06em; line-height: .94; text-transform: none; }
.v3skin .kat-hero-lead { max-width: 56ch; font-size: clamp(15px, 1.25vw, 19px); line-height: 1.6; color: rgba(240,237,232,.84); }
.v3skin .kat-hero-scroll { font-family: var(--fd); letter-spacing: .2em; }
.v3skin .kat-intro { max-width: 1480px; margin: 0 auto; padding: clamp(70px, 9vw, 140px) var(--gut); }
.v3skin .kat-intro p { max-width: 64ch; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.7; color: rgba(240,237,232,.82); }
.v3skin .kat-intro p:first-child { max-width: 30ch; font-family: var(--fd); font-size: clamp(26px, 3vw, 50px); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; color: #fff; }
.v3skin .kat-gallery-wrap { padding-left: var(--gut); padding-right: var(--gut); }
.v3skin .gallery-item { border-radius: 0; }
.v3skin .gallery-item img { border-radius: 0; }

/* ── NDA landing ── */
.v3skin .nl-hero { min-height: 100vh; min-height: 100svh; }
.v3skin .nl-hero > .x-crop { top: 78px; z-index: 2; }
.v3skin .nl-hero h1 { font-family: var(--fd); font-size: clamp(40px, min(6.4vw, 11vh), 118px); font-weight: 600; letter-spacing: -.05em; line-height: .98; text-transform: none; max-width: 16ch; }
.v3skin .nl-hero-sub { max-width: 58ch; font-size: clamp(15px, 1.2vw, 19px); line-height: 1.6; color: rgba(240,237,232,.84); }
.v3skin .nl-sec { padding: clamp(80px, 10vw, 150px) 0; border-top: 1px solid var(--line); }
.v3skin .nl-sec.dark { background: #0d0d0c; }
.v3skin .nl-h2 { font-family: var(--fd); font-size: clamp(32px, 4.4vw, 76px); font-weight: 600; letter-spacing: -.045em; line-height: 1; max-width: 20ch; color: #fff; }
.v3skin .nl-copy p { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.75; color: rgba(240,237,232,.82); }
.v3skin .nl-grid { gap: 0 28px; }
.v3skin .nl-item { border: 0; border-top: 1px solid rgba(255,255,255,.18); border-radius: 0; background: none; padding: 20px 0; }
.v3skin .nl-item .n { font-family: var(--fd); font-weight: 600; }
.v3skin .nl-item .t { font-family: var(--fd); font-size: clamp(17px, 1.5vw, 24px); font-weight: 500; letter-spacing: -.02em; color: #fff; }
.v3skin .nl-step { border-top: 1px solid rgba(255,255,255,.18); }
.v3skin .nl-step .sn { font-family: var(--fd); font-weight: 600; color: var(--accent); }
.v3skin .nl-step h3 { font-size: clamp(20px, 2vw, 32px); font-weight: 600; letter-spacing: -.035em; }
.v3skin .nl-note { border-left: 2px solid var(--accent); }

/* ── Blog ── */
.v3skin .ns-hero { padding: 150px var(--gut) clamp(50px, 7vw, 90px); max-width: 1480px; margin: 0 auto; }
.v3skin .ns-eyebrow { font-family: var(--fd); font-size: 12px; font-weight: 600; letter-spacing: .2em; color: var(--accent); }
.v3skin .ns-heading { font-family: var(--fd); font-size: clamp(48px, 8vw, 150px); font-weight: 600; letter-spacing: -.055em; line-height: .95; text-transform: none; color: #fff; }
.v3skin .ns-perex { max-width: 56ch; font-size: clamp(15px, 1.25vw, 19px); line-height: 1.6; color: rgba(240,237,232,.8); }
.v3skin .ns-grid { gap: clamp(40px, 5vw, 70px) 20px; }
.v3skin .ns-card { border: 0; border-radius: 0; background: none; }
.v3skin .ns-card-img { border-radius: 0; overflow: hidden; }
.v3skin .ns-card-img img { transition: transform 1.2s var(--x-ease); }
.v3skin .ns-card:hover .ns-card-img img { transform: scale(1.05); }
.v3skin .ns-card-body { padding: 18px 0 0; }
.v3skin .ns-card-date { font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--accent); }
.v3skin .ns-card-title { font-family: var(--fd); font-size: clamp(20px, 1.8vw, 28px); font-weight: 600; letter-spacing: -.03em; line-height: 1.15; text-transform: none; color: #fff; }
.v3skin .ns-card-exc { color: rgba(240,237,232,.7); }
.v3skin .ar-hero { min-height: 92vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 150px var(--gut) clamp(50px, 8vh, 90px); }
.v3skin .ar-title { font-family: var(--fd); font-size: clamp(38px, 5.6vw, 100px); font-weight: 600; letter-spacing: -.05em; line-height: 1; text-transform: none; max-width: 20ch; color: #fff; }
.v3skin .ar-excerpt { max-width: 58ch; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; color: rgba(240,237,232,.86); }
.v3skin .ar-body { max-width: calc(760px + 2 * var(--gut)); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut); }
.v3skin .ar-content figure { margin: 2.4em 0; }
.v3skin .ar-content figcaption { font-family: var(--fd); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-top: 10px; }
.v3skin .ar-content p, .v3skin .ar-content li { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.8; color: rgba(240,237,232,.84); }
.v3skin .ar-section h2, .v3skin .ar-content h2 { font-family: var(--fd); font-size: clamp(28px, 3.2vw, 52px); font-weight: 600; letter-spacing: -.04em; line-height: 1.05; text-transform: none; color: #fff; margin: 2.4em 0 .7em; }
.v3skin .ar-content blockquote { border-left: 2px solid var(--accent); font-family: var(--fd); font-size: clamp(22px, 2.2vw, 34px); font-weight: 600; letter-spacing: -.03em; line-height: 1.2; color: #fff; }
.v3skin .ar-content img { border-radius: 0; }
.v3skin .ar-cta-box { border-radius: 0; border: 0; border-top: 1px solid rgba(255,255,255,.2); background: none; padding: 36px 0 0; }
.v3skin .ar-cta-text { font-family: var(--fd); font-size: clamp(22px, 2.2vw, 34px); font-weight: 600; letter-spacing: -.03em; line-height: 1.2; color: #fff; }
.v3skin .ar-more-label { font-family: var(--fd); font-weight: 600; letter-spacing: .2em; color: var(--accent); }

/* ── Zásady ochrany údajů ── */
.v3skin .prv-wrap { max-width: 860px; padding: 160px var(--gut) clamp(80px, 10vw, 140px); margin: 0 auto; }
.v3skin .prv-wrap h1 { font-family: var(--fd); font-size: clamp(40px, 6vw, 100px); font-weight: 600; letter-spacing: -.05em; line-height: 1; text-transform: none; color: #fff; margin-bottom: .6em; }
.v3skin .prv-wrap h2 { font-family: var(--fd); font-size: clamp(22px, 2.2vw, 34px); font-weight: 600; letter-spacing: -.03em; text-transform: none; color: #fff; margin: 2.2em 0 .6em; padding-top: 1.2em; border-top: 1px solid var(--line); }
.v3skin .prv-wrap p, .v3skin .prv-wrap li { font-size: 16px; line-height: 1.75; color: rgba(240,237,232,.82); }

/* ── Privátní NDA prezentace ── */
.v3skin.v3-nda .nda-gate h1, .v3skin .nda-h1 { font-family: var(--fd); font-weight: 600; letter-spacing: -.05em; line-height: 1; text-transform: none; }
.v3skin .nda-h1 { font-size: clamp(38px, 6vw, 100px); }
.v3skin .nda-gate input, .v3skin .nda-gate button { border-radius: 0; font-family: var(--fd); }
.v3skin .nda-grid img, .v3skin .nda-grid figure { border-radius: 0; }

/* ── 404 ── */
.v3skin .e-title { font-family: var(--fd); font-size: clamp(56px, 11vw, 210px); font-weight: 600; letter-spacing: -.065em; line-height: .92; text-transform: none; }

@media (max-width: 900px) {
  .v3skin .ab-stat-row { grid-template-columns: 1fr 1fr; row-gap: 26px; }
  .v3skin .ab-m-item { grid-template-columns: 40px 1fr; }
  .v3skin .ab-m-text { grid-column: 2; margin-top: 10px; }
  .v3skin .ab-photo-break, .v3skin .rzv-photo { height: 64vh; }
}
