/* ==========================================================================
   NÁVRH 2 – „Hluboká voda & zlato"
   Načítá se PO style.css a jen přepisuje. Původní modrý styl zůstává beze změny.
   ========================================================================== */
body.v2 {
  color-scheme: light only;
  --ink: #0a1f2b;          /* hluboká petrolejová noc */
  --ink-2: #123445;
  --sea: #17607c;          /* mořská modrá – podpis značky */
  --sea-2: #1e7a9c;
  --ink-soft: #52626c;
  --paper: #fbfaf7;        /* čistá teplá bílá (ne béžová, ne modrá) */
  --cream: #eff2f3;        /* neutrální světle šedá */
  --line: #e1e5e7;
  --accent: #f4b23e;       /* zlatá – akce, zvýraznění */
  --accent-2: #ffd27a;
  --shadow: 0 20px 60px rgba(10, 31, 43, .12);
}
body.v2 .btn--primary { background: var(--accent); color: var(--ink); box-shadow: 0 10px 30px rgba(244,178,62,.35); }
body.v2 .btn--primary:hover { background: #ffc35a; }
body.v2 .eyebrow::before { background: var(--accent); }
body.v2 .hl { color: var(--accent); }
body.v2 .mark { background: linear-gradient(transparent 62%, rgba(244,178,62,.55) 62%); }
body.v2 .logo__mark { background: var(--ink); color: var(--accent); }
body.v2 .stat strong { color: var(--white); }

/* ---------- Hlavička: průhledná nad tmavým úvodem ---------- */
body.v2 .header { transition: background .35s ease, border-color .35s ease; }
body.v2 .header.on-dark { background: transparent; border-bottom-color: transparent; backdrop-filter: none; }
body.v2 .header.on-dark .logo, body.v2 .header.on-dark .nav a:not(.btn) { color: var(--white); }
body.v2 .header.on-dark .logo small { color: rgba(255,255,255,.6); }
body.v2 .header.on-dark .logo__mark { background: rgba(255,255,255,.1); }
body.v2 .header.on-dark .nav-toggle { color: var(--white); }
@media (max-width: 940px) {
  body.v2 .header.on-dark .nav.is-open { background: var(--ink); }
  body.v2 .header.on-dark .nav.is-open a:not(.btn) { border-color: rgba(255,255,255,.1); }
}

/* ---------- Úvod: celá obrazovka, tmavá voda ---------- */
body.v2 main { margin-top: -76px; }
.hero--v2 { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; background: var(--ink); color: #dce8ee; padding: 120px 0 110px; overflow: hidden; isolation: isolate; }
.hero--v2 .hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero--v2 .glow { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55; will-change: transform; }
.hero--v2 .glow--1 { width: 60vw; height: 60vw; left: -18vw; top: -25vw; background: #17607c; animation: drift1 18s ease-in-out infinite alternate; }
.hero--v2 .glow--2 { width: 45vw; height: 45vw; right: -12vw; bottom: -20vw; background: #0f7f8f; opacity: .4; animation: drift2 22s ease-in-out infinite alternate; }
.hero--v2 .glow--3 { width: 26vw; height: 26vw; right: 18vw; top: 8vh; background: #f4b23e; opacity: .16; animation: drift1 26s ease-in-out infinite alternate-reverse; }
.hero--v2 .grain { position: absolute; inset: 0; opacity: .12; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hero--v2 .hero__bg::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(ellipse at 30% 40%, #000 20%, transparent 75%); }
@keyframes drift1 { to { transform: translate(8vw, 6vh) scale(1.1); } }
@keyframes drift2 { to { transform: translate(-6vw, -8vh) scale(1.15); } }

.hero--v2 .hero__badge { background: rgba(255,255,255,.08); color: #d6f5e2; border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(6px); }
.hero--v2 .hero__title { color: var(--white); font-size: clamp(2.8rem, 7vw, 5.6rem); line-height: .98; letter-spacing: -.035em; margin: 0; }
.hero--v2 .hero__title .line { display: block; overflow: hidden; padding-bottom: .06em; }
.hero--v2 .hero__title .line > span { display: inline-block; }
.hero--v2 .lead { color: #b7cad4; max-width: 560px; }
.hero--v2 .btn--ghost { border-color: rgba(255,255,255,.35); color: var(--white); }
.hero--v2 .btn--ghost:hover { background: var(--white); color: var(--ink); border-color: var(--white); }
.hero--v2 .stats { border-top-color: rgba(255,255,255,.12); }
.hero--v2 .stat + .stat { border-left-color: rgba(255,255,255,.12); }
.hero--v2 .stat span { color: #93aebb; }

.hero--v2 .hero__visual { position: relative; }
.hero--v2 .hero__photo { box-shadow: 0 40px 80px rgba(0,0,0,.45); background: var(--ink-2); position: relative; z-index: 1; }
.hero--v2 .hero__photo img { transform: scale(1.08); transition: transform 1.8s cubic-bezier(.2,.8,.2,1); }
.hero--v2.is-in .hero__photo img { transform: scale(1); }
.hero--v2 .hero__ring { position: absolute; inset: -18px 18px 18px -18px; border: 2px solid var(--accent); border-radius: 240px 240px var(--radius) var(--radius); opacity: .7; }
.hero--v2 .float-card { z-index: 2; }
.hero--v2 .float-card--pfp .float-card__icon { background: var(--ink); color: var(--accent); }

/* scroll výzva – napojení na cestičku */
.hero__scroll { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; color: #93aebb; text-decoration: none; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
.hero__scroll i { width: 2px; height: 46px; background: repeating-linear-gradient(var(--accent) 0 3px, transparent 3px 9px); position: relative; }
.hero__scroll i::after { content: ""; position: absolute; left: 50%; top: 0; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 14px var(--accent); animation: fall 1.8s ease-in-out infinite; }
@keyframes fall { 0% { top: 0; opacity: 0; } 20% { opacity: 1; } 100% { top: 40px; opacity: 0; } }

/* ---------- Animace nástupu ---------- */
.js .hero--v2 .reveal, .js .hero--v2 .hero__title .line > span { opacity: 0; transform: translateY(28px); }
.js .hero--v2 .hero__title .line > span { transform: translateY(105%); }
.hero--v2.is-in .reveal, .hero--v2.is-in .hero__title .line > span { opacity: 1; transform: none; transition: opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1); transition-delay: var(--d, 0s); }

/* ---------- Ostatní sekce – svěžejší kontrast ---------- */
body.v2 .section--cream { background: var(--cream); }
body.v2 .section--dark { background: var(--ink); }
body.v2 .section--deep { background: radial-gradient(1100px 500px at 85% -10%, rgba(23,96,124,.45), transparent 60%), var(--ink); }
body.v2 .fixace { background: linear-gradient(120deg, var(--sea), var(--ink)); }
body.v2 .calc__result { background: linear-gradient(160deg, var(--sea), var(--ink)); }
body.v2 .rating strong, body.v2 .calc-switch button[aria-selected="true"] { background: var(--ink); }
body.v2 .free__num { background: var(--ink); color: var(--accent); }
body.v2 .review__stars { color: var(--accent); }
body.v2 .journey__stop text { fill: #b9801a; }
body.v2 .next-step { color: #b9801a; }

@media (max-width: 900px) {
  .hero--v2 { min-height: auto; padding: 110px 0 90px; }
  .hero--v2 .hero__ring { inset: -10px 10px 10px -10px; }
  .hero__scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero--v2 .glow { animation: none; }
  .js .hero--v2 .reveal, .js .hero--v2 .hero__title .line > span { opacity: 1; transform: none; }
}
.hero--v2 .stat strong span { font: inherit; color: inherit; display: inline; margin: 0; }
.hero--v2 .float-card { color: var(--ink); }
.hero--v2 .hero__title { font-size: clamp(2.6rem, 6vw, 5rem); }
.hero--v2 .hero__actions { margin: 26px 0 30px; }
@media (min-width: 901px) { .hero--v2 { padding: 100px 0 90px; } }
.hero__scroll { position: relative; left: auto; bottom: auto; transform: none; align-self: center; margin-top: 44px; }

/* ===== Úprava 2: pevná petrolejová hlavička + víc „noci" ===== */
body.v2 main { margin-top: 0; }
body.v2 .header, body.v2 .header.on-dark, body.v2 .header.is-scrolled {
  background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: none; }
body.v2 .header .logo, body.v2 .header .nav a:not(.btn) { color: var(--white); }
body.v2 .header .nav a:not(.btn):hover { color: var(--accent); }
body.v2 .header .logo small { color: rgba(255,255,255,.6); }
body.v2 .header .logo__mark { background: rgba(255,255,255,.08); color: var(--accent); }
body.v2 .header .nav-toggle { color: var(--white); }
@media (max-width: 940px) {
  body.v2 .header .nav { background: var(--ink); border-color: rgba(255,255,255,.08); }
  body.v2 .header .nav a:not(.btn) { border-color: rgba(255,255,255,.1); }
}
.hero--v2 { min-height: calc(100svh - 76px); justify-content: flex-start; padding: clamp(40px, 7vh, 90px) 0 60px; }
@media (max-width: 900px) { .hero--v2 { min-height: auto; padding: 36px 0 70px; } }

/* noční sekce */
body.v2 .section--night { background: linear-gradient(180deg, #0c2533, var(--ink)); }
body.v2 .section--night + .section--night { background: var(--ink); border-top: 1px solid rgba(255,255,255,.05); }
body.v2 .section--dark p, body.v2 .section--dark .lead { color: #b3c7d1; }
body.v2 .section--dark strong { color: var(--white); }
body.v2 .section--dark .plan__num { border-color: var(--accent); color: var(--accent); }
body.v2 .section--dark .why__card { border-top-color: var(--accent); }
body.v2 .section--dark .why__icon { color: var(--accent); }
body.v2 .section--dark .steps li { border-color: rgba(255,255,255,.1); }
body.v2 .section--dark .steps li::before { color: var(--accent); }
body.v2 .section--dark .about__sign { color: var(--accent); }
body.v2 .section--dark .about__video { box-shadow: 0 30px 70px rgba(0,0,0,.45); }
body.v2 .section--dark .process__photo { box-shadow: 0 30px 70px rgba(0,0,0,.45); }
body.v2 .section--dark .mark { background: linear-gradient(transparent 62%, rgba(244,178,62,.45) 62%); }
body.v2 .section--dark .service:not(.is-active) p { color: var(--ink-soft); }
body.v2 .section--dark .service:not(.is-active) strong { color: var(--ink); }
body.v2 .section--dark .pfp__item strong { color: var(--white); }
body.v2 .journey__stop text { stroke: var(--ink); fill: var(--accent); }
body.v2 .journey__base { stroke: var(--accent); stroke-opacity: .25; }
body.v2 .journey__line, body.v2 .journey__stop circle, body.v2 .journey__stop path { stroke: var(--accent); }
body.v2 .journey__stop circle { fill: var(--ink); }
body.v2 .journey__stop.is-reached circle { fill: var(--accent); }
body.v2 .journey__stop.is-reached path { stroke: var(--ink); }

/* ===== Úprava 3: bez oranžové, plynulé přechody, nové aktivní karty ===== */
body.v2 { --accent: #f4b23e; --accent-2: #ffd27a; }
body.v2 .journey__stop text, body.v2 .next-step { fill: var(--accent); color: var(--accent); }
body.v2 .float-card--pfp .float-card__icon, body.v2 .pfp__seal { background: var(--accent); color: var(--ink); }
body.v2 .faq details[open] summary::after { background-color: var(--accent); }
body.v2 .service li::before { background: var(--accent); }
body.v2 input[type="range"]::-webkit-slider-thumb { background: var(--accent); }
body.v2 input[type="range"]::-moz-range-thumb { background: var(--accent); }
body.v2 .form .check input, body.v2 .calc__check input { accent-color: var(--accent); }
body.v2 .hero__photo { box-shadow: 0 0 0 10px rgba(255,255,255,.04), 0 40px 80px rgba(0,0,0,.45); }

/* plynulé přechody: všechny tmavé sekce na stejné noci, světla uvnitř (ne na hranách) */
body.v2 .section--dark, body.v2 .section--night, body.v2 .section--deep,
body.v2 .section--night + .section--night { background: var(--ink); border-top: 0; position: relative; isolation: isolate; }
body.v2 .section--deep::before {
  content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: 80vw; height: 70%;
  transform: translate(-10%, -50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(23,96,124,.35), transparent);
  pointer-events: none; }
.hero--v2::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 220px; z-index: -1;
  background: linear-gradient(to bottom, transparent, var(--ink)); pointer-events: none; }
/* světlé sekce: měkký přechod z noci */
body.v2 .section--cream, body.v2 #reference, body.v2 #kalkulacka { position: relative; }
body.v2 .section--dark + .section:not(.section--dark),
body.v2 .section--dark + .fixace + .section:not(.section--dark) {
  background-image: linear-gradient(to bottom, rgba(10,31,43,.08), transparent 160px); }

/* Služby – světlé karty, které vystoupí z tmavého pozadí; aktivní / najetí myší = zlatý rámeček a záře */
body.v2 .section--deep .service,
body.v2 .section--deep .service:not(.is-active),
body.v2 .section--deep .services .service {
  background: #ebe8e1; border: 1px solid transparent; color: #3c4f5a; box-shadow: 0 14px 32px rgba(0,0,0,.25); transform: none;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, background .35s ease, border-color .35s ease; }
body.v2 .section--deep .service h3, body.v2 .section--deep .service:not(.is-active) h3,
body.v2 .section--deep .services .service:hover h3 { color: var(--ink); }
body.v2 .section--deep .service > p, body.v2 .section--deep .service:not(.is-active) p,
body.v2 .section--deep .services .service:hover > p { color: #52626c; }
body.v2 .section--deep .service li, body.v2 .section--deep .services .service:hover li { color: #1f3441; }
body.v2 .section--deep .service__icon { background: #dde3e6; color: var(--ink); transition: background .35s ease, color .35s ease; }
body.v2 .section--deep .service .btn--dark { background: transparent; color: var(--ink); border: 2px solid rgba(10,31,43,.22); }
body.v2 .section--deep .service.is-active,
body.v2 .section--deep .services .service:hover {
  background: #f7f5f0; border-color: var(--accent); color: #3c4f5a; transform: translateY(-5px);
  box-shadow: 0 0 0 1px var(--accent), 0 20px 44px rgba(0,0,0,.35), 0 0 28px rgba(244,178,62,.12); }
body.v2 .section--deep .service.is-active .service__icon,
body.v2 .section--deep .services .service:hover .service__icon { background: var(--accent); color: var(--ink); }
body.v2 .section--deep .service.is-active .btn--dark,
body.v2 .section--deep .services .service:hover .btn--dark { background: var(--accent); color: var(--ink); border-color: var(--accent); box-shadow: 0 6px 14px rgba(244,178,62,.2); }
@media (hover: hover) and (pointer: fine) {
  body.v2 .section--deep .services:hover .service.is-active:not(:hover) {
    background: #ebe8e1; border-color: transparent; box-shadow: 0 14px 32px rgba(0,0,0,.25); transform: none; }
  body.v2 .section--deep .services:hover .service.is-active:not(:hover) h3 { color: var(--ink); }
  body.v2 .section--deep .services:hover .service.is-active:not(:hover) .service__icon { background: #dde3e6; color: var(--ink); }
  body.v2 .section--deep .services:hover .service.is-active:not(:hover) .btn--dark { background: transparent; color: var(--ink); border-color: rgba(10,31,43,.22); box-shadow: none; }
}

/* ===== Logo G: oblouk a cíl ===== */
body.v2 .logo__g { width: 40px; height: 40px; color: var(--white); flex: none; }
body.v2 .footer .logo__g { width: 32px; height: 32px; }
/* scroll výzva: bez padající tečky, linka plynule pokračuje cestičkou */
.hero__scroll i::after { display: none; }
.hero__scroll i { height: 40px; }

/* oprava: záře v tmavých sekcích nesmí přetékat do strany */
body.v2 .section--deep{overflow:hidden}
html,body.v2{overflow-x:clip}

/* ===== popisky cestičky: tmavý štítek, čitelný na světlém i tmavém ===== */
body.v2 .journey__lbl { fill: var(--ink); stroke: rgba(244,178,62,.45); stroke-width: 1; }
body.v2 .journey__stop text { stroke: none !important; paint-order: normal; fill: var(--accent); }

/* ===== sloučená sekce Jak spolu pracujeme ===== */
body.v2 #postup .process { align-items: center; }
body.v2 #postup .steps li { padding: 14px 0; }
body.v2 .why--3 { grid-template-columns: repeat(3, 1fr); margin-top: clamp(40px, 5vw, 64px); }
body.v2 .why__card p, body.v2 .steps p, body.v2 .free__card p, body.v2 .pfp__item span { font-size: 1rem; line-height: 1.6; }
body.v2 .section--dark .why__card p, body.v2 .section--dark .steps p { color: #c3d4dc; }
@media (max-width: 980px) { body.v2 .why--3 { grid-template-columns: 1fr; gap: 28px; } }

/* odkaz na hru v úvodu */
.hero__game { display: inline-block; flex-basis: 100%; margin: 2px 0 0; width: max-content; max-width: 100%; color: #b7cad4; text-decoration: none; font-size: .95rem; border-bottom: 1px dashed rgba(244,178,62,.5); padding-bottom: 2px; }
.hero__game b { color: var(--accent); font-weight: 600; }
.hero__game:hover { color: #fff; }

/* ===== mobil: nic v úvodu nesmí být širší než obrazovka ===== */
.hero__grid > * { min-width: 0; }
@media (max-width: 900px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); }
  .hero--v2 .hero__title { font-size: clamp(2.3rem, 10.5vw, 3.4rem); }
  .hero--v2 .hero__actions .btn { max-width: 100%; white-space: normal; }
}

/* ===== kalkulačky na mobilu: čísla se nelámou, procenta pod částkou ===== */
.calc__rows div { align-items: baseline; }
.calc__rows span { flex: 1 1 auto; min-width: 0; }
.calc__rows strong { flex: none; white-space: nowrap; text-align: right; }
.calc__rows strong .pct { display: block; font-size: .78em; font-weight: 600; color: #9fc0cf; }
.calc .btn--block { text-align: center; justify-content: center; }
@media (max-width: 480px) {
  .calc__rows { font-size: .9rem; }
  .calc__rows div { align-items: center; }
}

/* ==========================================================================
   PC: každá sekce se po kliknutí v menu vejde celá na obrazovku
   ========================================================================== */
@media (min-width: 1024px) {
  html { scroll-padding-top: 77px; }
  body.v2 .section { padding: clamp(32px, 5.5vh, 64px) 0; }
  body.v2 h2 { font-size: clamp(1.9rem, min(3.2vw, 5.6vh), 2.9rem); }
  body.v2 .section-head { margin-bottom: clamp(18px, 3vh, 32px); }
  body.v2 .lead { font-size: clamp(1rem, 2.1vh, 1.15rem); }

  /* Služby */
  body.v2 .service { padding: 26px 26px 24px; }
  body.v2 .service__icon { width: 50px; height: 50px; margin-bottom: 14px; }
  body.v2 .service > p { margin: 8px 0 10px; font-size: .98rem; line-height: 1.55; }
  body.v2 .service ul { gap: 5px; margin: 4px 0 18px; }
  body.v2 .service li { font-size: .94rem; }

  /* Jak pracuji */
  body.v2 .process { align-items: start; gap: clamp(32px, 4vw, 64px); }
  body.v2 .process__photo img { aspect-ratio: 4 / 3; max-height: 52vh; }
  body.v2 #postup .process h2 { margin-bottom: 10px; }
  body.v2 #postup .lead { margin-bottom: 8px; }
  body.v2 #postup .steps li { padding: 9px 0; gap: 12px; grid-template-columns: 46px 1fr; }
  body.v2 #postup .steps li::before { font-size: 1.35rem; }
  body.v2 #postup .steps h3 { font-size: 1.05rem; margin-bottom: 2px; }
  body.v2 #postup .steps p { font-size: .93rem; line-height: 1.5; }
  body.v2 .why--3 { margin-top: clamp(20px, 3.5vh, 36px); gap: 24px; }
  body.v2 .why__card { padding-top: 14px; display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; align-items: start; }
  body.v2 .why__card > svg, body.v2 .why__card .why__icon { width: 34px; height: 34px; margin: 2px 0 0; grid-row: span 2; }
  body.v2 .why__card h3 { font-size: 1.08rem; margin: 0 0 4px; }
  body.v2 .why__card p { font-size: .93rem; line-height: 1.5; }

  /* PFP */
  body.v2 .pfp { align-items: center; }
  body.v2 .pfp__photo { max-height: 72vh; }
  body.v2 .pfp .lead { margin-bottom: 10px; }
  body.v2 .pfp__list { margin: 16px 0; gap: 10px; }
  body.v2 .pfp__item { padding: 12px 16px; }
  body.v2 .pfp__item span { font-size: .9rem; line-height: 1.45; }

  /* Reference */
  body.v2 .reviews { gap: 16px; }
  body.v2 .review { padding: 20px 22px; }
  body.v2 .review blockquote { font-size: .95rem; line-height: 1.55; margin-bottom: 12px; }

  /* Kalkulačka */
  body.v2 #kalkulacka .section-head { flex-wrap: nowrap; align-items: end; }
  body.v2 #kalkulacka .section-head .lead { max-width: 520px; }
  body.v2 .calc__form { gap: 16px; padding: 26px 34px; }
  body.v2 .calc__field label { margin-bottom: 6px; }
  body.v2 .calc__result { padding: 26px 34px; }
  body.v2 .calc__rows { margin-bottom: 18px; }
  body.v2 .calc-switch { margin-bottom: 14px; }
  body.v2 .calc__note { margin-top: 12px; font-size: .8rem; }

  /* FAQ */
  body.v2 .faq summary { padding: 15px 0; }

  /* Kontakt */
  body.v2 .contact__person { margin: 16px 0; }
  body.v2 .contact__person img { width: 64px; height: 64px; }
  body.v2 .contact__links { gap: 8px; margin-bottom: 16px; }
  body.v2 .map { height: clamp(130px, 18vh, 200px); }
  body.v2 .map iframe { height: 100%; }
  body.v2 .calendar-frame { height: clamp(460px, calc(100vh - 77px - 11vh - 130px), 640px); }
}
@media (min-width: 1024px) {
  body.v2 .eyebrow { margin-bottom: 10px; }
  /* Jak pracuji: širší textový sloupec → nadpis na 1 řádek */
  body.v2 .process { grid-template-columns: .85fr 1.15fr; }
  body.v2 #postup .process h2 { font-size: clamp(1.9rem, min(2.6vw, 5vh), 2.6rem); }
  /* PFP */
  body.v2 #pfp h2 { font-size: clamp(1.8rem, min(2.5vw, 4.6vh), 2.5rem); }
  body.v2 #pfp .lead { font-size: 1rem; line-height: 1.55; }
  body.v2 #pfp .pfp__list + * , body.v2 #pfp p:not(.lead) { font-size: .95rem; }
  body.v2 .pfp__photo { max-height: 64vh; aspect-ratio: auto; }
  body.v2 .pfp__photo img { height: 100%; }
  /* Reference */
  body.v2 .review { padding: 18px 20px; }
  body.v2 .review blockquote { font-size: .92rem; margin-bottom: 10px; }
  /* Kalkulačka */
  body.v2 .calc__form { gap: 12px; }
  body.v2 .calc__hint { margin-top: 2px; }
  /* Kontakt */
  body.v2 #kontakt h2 { font-size: clamp(1.8rem, min(2.5vw, 4.6vh), 2.5rem); }
  body.v2 .calendar-frame { height: clamp(440px, calc(100vh - 77px - 11vh - 220px), 640px); }
}
@media (min-width: 1024px) { body.v2 .why__card { align-content: start; } }

/* ==========================================================================
   PC 3. kolo: sekce z menu vyplní právě jednu obrazovku (nic dalšího nepřečuhuje),
   obsah je uprostřed; na nízkých obrazovkách mírné zhuštění
   ========================================================================== */
@media (min-width: 1024px) {
  body.v2 #sluzby, body.v2 #postup, body.v2 #plan, body.v2 #o-mne, body.v2 #reference, body.v2 #kalkulacka, body.v2 #kontakt {
    min-height: calc(100vh - 77px); display: flex; flex-direction: column; justify-content: center; }
  body.v2 #sluzby > .container, body.v2 #o-mne > .container, body.v2 #reference > .container,
  body.v2 #kalkulacka > .container, body.v2 #kontakt > .container { width: min(1180px, 100% - 64px); }

  /* Jak pracuji: fotka vedle 4 kroků přes celou obrazovku, 3 výhody až pod tím */
  body.v2 #postup { justify-content: flex-start; }
  body.v2 #postup .process { min-height: calc(100vh - 77px - 2 * clamp(28px, 4.5vh, 56px)); align-items: center; grid-template-columns: 1fr 1fr; }
  body.v2 #postup .process__photo img { width: 100%; height: auto; max-height: none; aspect-ratio: 3 / 2; object-fit: cover; object-position: 40% 50%; }
  body.v2 #postup .process > div:not(.process__photo) { display: flex; flex-direction: column; justify-content: center; }
  body.v2 #postup .why--3 { margin-top: clamp(40px, 7vh, 72px); }

  /* Služby: ikona vedle nadpisu karty */
  body.v2 .service { display: grid; grid-template-columns: 50px 1fr; column-gap: 16px; align-content: start; }
  body.v2 .service__icon { margin: 0; }
  body.v2 .service > h3 { align-self: center; margin: 0; }
  body.v2 .service > p, body.v2 .service > ul, body.v2 .service > .btn { grid-column: 1 / -1; }
  body.v2 .service > p { margin-top: 16px; }
  body.v2 .service > .btn { justify-self: start; }
}

@media (min-width: 1024px) and (max-height: 820px) {
  body.v2 .section { padding: clamp(24px, 4vh, 40px) 0; }
  body.v2 h2 { font-size: clamp(1.8rem, 5.6vh, 2.5rem); }
  body.v2 .eyebrow { margin-bottom: 8px; }
  body.v2 .section-head { margin-bottom: 20px; }

  body.v2 #postup .steps li { padding: 9px 0; }

  body.v2 #plan.section { padding: 10px 0 12px; }
  body.v2 #jg .game { height: calc(100vh - 77px - 22px); min-height: 480px; }

  body.v2 .pfp__photo { max-height: 70vh; }
  body.v2 .pfp__list { margin: 12px 0; gap: 8px; }
  body.v2 .pfp__item { padding: 10px 14px; }

  /* Reference – schváleno */
  body.v2 .reviews { gap: 12px; }
  body.v2 .review { padding: 14px 18px; gap: 8px; }
  body.v2 .review blockquote { font-size: .86rem; line-height: 1.5; }
  body.v2 .review__stars { font-size: .9rem; }
  body.v2 .reviews__more { margin-top: 8px; }
  body.v2 .rating { transform: scale(.9); transform-origin: right bottom; }

  /* Kalkulačka – schváleno */
  body.v2 #kalkulacka .section-head { margin-bottom: 10px; }
  body.v2 .calc-switch { margin-bottom: 8px; }
  body.v2 .calc__form { gap: 8px; padding: 18px 28px; }
  body.v2 .calc__field label { margin-bottom: 2px; font-size: .92rem; }
  body.v2 .calc__field output { font-size: 1.05rem; }
  body.v2 .calc__hint { margin-top: 0; font-size: .72rem; }
  body.v2 .calc__result { padding: 18px 28px; }
  body.v2 .calc__big { font-size: clamp(2.3rem, 7vh, 3.2rem); margin-bottom: 8px; }
  body.v2 .calc__rows { gap: 6px; margin-bottom: 12px; font-size: .88rem; }
  body.v2 .calc__rows div { padding-bottom: 6px; }
  body.v2 .calc__cta .btn { padding: 11px 18px; }
  body.v2 .calc__note { margin-top: 8px; font-size: .74rem; }

  body.v2 .faq summary { padding: 12px 0; }

  body.v2 .contact__person { margin: 12px 0; }
  body.v2 .contact__person img { width: 56px; height: 56px; }
  body.v2 .contact__links { gap: 6px; margin-bottom: 12px; }
  body.v2 .map { height: clamp(100px, 15vh, 160px); margin-bottom: 12px; }
  body.v2 .tabs__nav button { padding: 14px; }
  body.v2 .tabs__panel { padding: 18px 24px; }
  body.v2 .free-note { margin-bottom: 12px; padding: 9px 14px; }
  body.v2 .calendar-frame { height: calc(100vh - 77px - 60px - 50px - 44px - 70px); min-height: 360px; }
}

/* ===== mobil: menší mezery mezi sekcemi, přepínač kalkulačky na 1 řádek ===== */
@media (max-width: 899px) {
  body.v2 .section { padding: 44px 0; }
  body.v2 #plan.section { padding: 24px 0; }
  body.v2 .calc-switch button { font-size: .84rem; padding-left: 12px; padding-right: 12px; white-space: nowrap; }
}

/* sekce „Co Vám spolupráce přinese" */
body.v2 .free__src { margin: 16px 0 0; font-size: .74rem; line-height: 1.5; color: var(--ink-soft); max-width: 900px; }
body.v2 #prinos .section-head .lead { max-width: 460px; }

/* Služby: výraznější nadpisy karet a tlačítka v modré */
body.v2 .section--deep .services .service h3,
body.v2 .section--deep .services .service:hover h3,
body.v2 .section--deep .services .service.is-active h3 { color: var(--ink); font-size: clamp(1.45rem, 2vw, 1.75rem); font-weight: 800; letter-spacing: -.02em; }
body.v2 .section--deep .services .service .btn--dark,
body.v2 .section--deep .services:hover .service.is-active:not(:hover) .btn--dark {
  background: var(--ink); color: #fff; border: 2px solid var(--ink); box-shadow: 0 6px 16px rgba(10,31,43,.3); }
body.v2 .section--deep .services .service .btn--dark:hover { background: #163446; border-color: #163446; }
body.v2 .section--deep .services .service.is-active .btn--dark,
body.v2 .section--deep .services .service:hover .btn--dark { background: var(--accent); color: var(--ink); border-color: var(--accent); box-shadow: 0 6px 14px rgba(244,178,62,.25); }

/* hláška po odeslání formuláře – tučný text čitelný */
body.v2 .form__status strong { color: inherit !important; }
body.v2 .form__status.is-ok { color: #155c3b; }
body.v2 .form__status.is-err strong, body.v2 .form__status.is-err a { color: inherit !important; }

/* ===== mobil: kompaktní kalkulačka (vše na jednu obrazovku) ===== */
@media (max-width: 640px) {
  body.v2 .calc__form { gap: 14px; padding: 18px 18px 16px; }
  body.v2 .calc__field label { margin-bottom: 4px; font-size: .9rem; align-items: center; }
  body.v2 .calc__field label span, body.v2 .calc__field label > :first-child { min-width: 0; }
  body.v2 .calc__field output { font-size: 1.02rem; white-space: nowrap; }
  body.v2 .calc__hint { margin-top: 2px; font-size: .72rem; }
  body.v2 input[type="range"] { height: 6px; }
  body.v2 input[type="range"]::-webkit-slider-thumb { width: 22px; height: 22px; border-width: 3px; }
  body.v2 .calc__check { font-size: .86rem; gap: 8px; }
  body.v2 .calc__check input { width: 18px; height: 18px; flex: none; }
  body.v2 .calc__result { padding: 18px; }
  body.v2 .calc__big { font-size: 2.3rem; margin: 4px 0 14px; }
  body.v2 .calc__rows { gap: 6px; margin-bottom: 14px; font-size: .86rem; }
  body.v2 .calc__rows div { padding-bottom: 6px; }
  body.v2 .calc__cta .btn { padding: 12px 16px; font-size: .92rem; }
  body.v2 .calc-switch { margin-bottom: 10px; }
}
