/* Shared visual language of the current Czech Cestotéka homepage. */
:root, .home {
  --paper: #FAF4E4; --ink: #1F2A23; --green: #1F4536;
  --green-dark: #0F2A22; --rust: #C25D3D; --gold: #E0A93D;
  --sage: #EDF4E8; --muted: #4A4F4B; --line: #1f2a2329;
}
body, .home { background: var(--paper); font-size: 17px; line-height: 1.55; }
.wrap { width: min(1240px, calc(100% - 80px)); }
.home h1, .home h2, .home h3, .home .brand, h1, h2, h3, .brand {
  font-family: Nunito, 'Segoe UI', sans-serif; font-weight: 800; letter-spacing: -.025em;
}
h1, h2, h3 { color: var(--green); }
.home h1 { font-size: clamp(44px, 5.1vw, 70px); line-height: 1.04; }
.home h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.06; }
.home h2 em, .home .hero h1 span { font-style: normal; }
.home h2 em { color: var(--green); }
.home .brand, .brand { font-size: 22px; letter-spacing: .06em; }
.home .brand small, .brand small { color: var(--gold); font-size: 10px; font-weight: 800; }
.header, .home .header {
  position: sticky; top: 0; z-index: 30; width: 100%; min-height: 76px;
  padding: 0; border: 0; background: #0f2a22f5; color: #F6EFE3;
  backdrop-filter: blur(8px);
}
.header-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 76px; }
.nav { font-weight: 800; gap: 28px; }
.nav a:hover { text-decoration-color: var(--gold); }
.brand-compass { width: 34px; height: 34px; flex-basis: 34px; }
.button, .home .button {
  min-height: 48px; border-radius: 999px; gap: 12px; background: var(--green);
  border: 1.5px solid transparent; box-shadow: 0 10px 22px -12px #1f453699;
  color: var(--paper); padding: 14px 25px; font-weight: 800;
}
.button:hover, .home .button:hover { background: #16331f; }
.header .button { background: var(--gold); color: var(--green-dark); min-height: 40px; padding: 10px 18px; font-size: 14px; }
.header .button:hover { background: #e8b54a; }
.eyebrow, .home .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .12em; }
.section-number { display: inline-flex; align-items: center; padding: 6px 9px 6px 16px; background: #1f453619; color: var(--green); font-size: 11px; clip-path: polygon(0 0,100% 0,100% 100%,0 100%,9px 50%); flex-shrink: 0; }
.home .hero-band {
  background: radial-gradient(ellipse at 82% 15%, #e0a93d30, transparent 55%), var(--green-dark);
  color: #F6EFE3; overflow: hidden;
}
.home .hero { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(28px,4vw,64px); padding: 50px 0 68px; min-height: 600px; }
.home .hero h1 { color: #F6EFE3; }
.home .hero h1 span { color: var(--gold); }
.home .hero .eyebrow { padding: 0; border: 0; border-radius: 0; background: none; color: #e3aa92; display: flex; }
.home .hero .section-number { background: #f6efe31c; color: #F6EFE3; }
.home .hero .lead { color: #f6efe3de; max-width: 38ch; font-size: 20px; }
.home .hero .copy { color: #f6efe3c7; max-width: 44ch; margin-bottom: 28px; }
.home .hero .meta { color: #f6efe3bd; text-transform: none; letter-spacing: .02em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home .hero-actions > .button:first-child { background: var(--gold); color: var(--green-dark); box-shadow: 0 14px 30px -14px #e0a93db3; }
.home .hero-actions > .button:first-child:hover { background: #e8b54a; }
.home .hero-actions .button-outline { border-color: #f6efe370; background: transparent; color: #F6EFE3; box-shadow: none; }
.home .hero-actions .button-outline:hover { background: #f6efe315; }
.hero-stack { width: min(420px,100%); margin: auto; }
.home .hero-stack .hero-cover { width: 94%; margin: 0 auto -3%; border: 7px solid #F6EFE3; border-radius: 8px; transform: rotate(-7deg); position: relative; z-index: 1; box-shadow: 0 20px 40px -20px #07161199; }
.home .hero-stack .hero-stack-books { display: block; width: 100%; height: auto; margin: -70px auto 0; }
.home .hero-books figcaption { font: 600 28px/1.2 Caveat,cursive; color: #e0a93d; margin: -6px 0 0; }
.home .hero-band::after { display: none; }
.home .perspective { background: #EDF4E8; padding: 72px 0; border-top: 1px solid var(--line); }
.home .perspective h2 { font-size: clamp(34px,4vw,54px); }
.scene { border-radius: 20px; border: 1px solid var(--line); box-shadow: 0 18px 40px -24px #1f2a2347; }
.detail-lens { border-color: var(--paper); box-shadow: 0 0 0 2px var(--gold),0 8px 15px #1f453622; }
.home .discovery-card p { padding-left: 0; }
.home .discovery-card p span { font: 800 13px/1.5 Nunito,sans-serif; color: var(--rust); }
.home .discovery-card strong { font-size: 20px; font-family: Nunito,sans-serif; }
.home #guides { padding: 80px 0; background: var(--paper); }
.home .free-guide { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 32px; gap: 44px; box-shadow: 0 18px 40px -24px #1f2a2347; }
.home .free-guide::before { display: none; }
.free-guide-cover { transform: none; background: #F7EFDD; border-radius: 14px; padding: 18px; box-shadow: none; }
.free-guide-cover img { border-radius: 6px; }
.free-ribbon { background: #EDF4E8; color: var(--green); border-radius: 999px; transform: none; }
.home .free-guide-copy h3 { font-size: 32px; }
.free-guide-copy ul { list-style: none; padding: 0; }
.free-guide-copy li { position: relative; padding-left: 17px; }
.free-guide-copy li::before { content: ''; position: absolute; top: .6em; left: 0; width: 7px; height: 7px; background: var(--gold); border-radius: 50%; }
.home .how { background: #0F2A22; padding: 72px 0; }
.home .how h2 { color: #F6EFE3; font-size: 38px; }
.home .how h2 em { color: var(--gold); }
.home .how .section-number { background: #f6efe31c; color: #F6EFE3; }
.home .steps h3 { color: #F6EFE3; }
.home .steps .number { font: 800 15px Nunito,sans-serif; border-style: solid; background: #f6efe30c; }
.home #see-inside { background: #F7EFDD; padding: 80px 0; }
.home .preview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; align-items: start; }
.home .preview-grid figure { padding: 12px 12px 18px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 18px 40px -24px #1f2a2347; transform: none; margin: 0; grid-row: auto; }
.home .preview-grid figure::before { display: none; }
.home .preview-grid img { border: 0; box-shadow: none; border-radius: 10px; }
.home .preview-grid figcaption { font: 800 18px/1.4 Nunito,sans-serif; color: var(--green); padding: 0 5px; }
.home .preview-grid figcaption span { font: 800 10px/1.5 Nunito,sans-serif; color: var(--rust); letter-spacing: .1em; display: block; margin-bottom: 5px; }
.home .preview-grid a { color: var(--green); }
.home .about-band { background: #DADFC2; }
.home .about-faq { padding: 80px 0; gap: 64px; }
.home .faq { background: white; padding: 30px; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 18px 40px -24px #1f2a2347; }
.home .faq h2 { font-size: 28px; }
.home .faq details:last-child { border-bottom: 0; }
.home .author strong { color: var(--green); }
.home .final-cta { background: #0F2A22; padding: 64px 24px; min-height: 0; }
.home .final-cta h2 { color: #F6EFE3; font-size: clamp(30px,3.5vw,46px); }
.home .final-cta h2 em { color: var(--gold); }
.home .final-cta .button { background: var(--gold); color: var(--green-dark); }
.closing-cover { display: none; }
.footer { width: 100%; padding: 40px max(40px,calc((100% - 1240px)/2)); background: #071E17; color: #f6efe3bf; }
.footer strong { color: #F6EFE3; }
.footer a { color: #f6efe3db; }
.legal-document { padding-top: 60px; padding-bottom: 60px; }
@media(max-width:1000px) {
  .header-inner { gap: 20px; }
  .nav { gap: 18px; }
  .home .hero { gap: 28px; min-height: 520px; }
  .home .about-faq { gap: 30px; }
  .home .free-guide { gap: 28px; }
}
@media(max-width:700px) {
  .wrap { width: calc(100% - 36px); }
  .header, .home .header { padding: 0; }
  .header-inner { flex-wrap: wrap; gap: 8px; padding: 15px 0 10px; }
  .header-inner .nav { width: 100%; justify-content: space-between; gap: 12px; font-size: 13px; }
  .home .hero { grid-template-columns: 1fr; padding: 35px 0 42px; gap: 35px; }
  .home h1 { font-size: clamp(42px,10.5vw,62px); }
  .home .hero .lead { font-size: 18px; }
  .home .hero .eyebrow { font-size: 9px; gap: 9px; }
  .hero-actions { width: 100%; }
  .hero-actions .button { font-size: 14px; padding: 13px 18px; }
  .hero-stack { max-width: 380px; }
  .home .hero-books { margin: 0; }
  .home .hero-books figcaption { font-size: 25px; }
  .home .perspective, .home #guides, .home .how, .home #see-inside { padding: 48px 0; }
  .home .free-guide { grid-template-columns: 1fr; padding: 18px; gap: 24px; }
  .free-guide-cover { padding: 10px; }
  .home .free-guide-copy h3 { font-size: 29px; }
  .home .preview-grid { grid-template-columns: 1fr; gap: 24px; }
  .home .preview-grid figure { transform: none; }
  .home .about-faq { padding: 48px 0; grid-template-columns: 1fr; gap: 32px; }
  .home .faq { padding: 22px; }
  .home .final-cta { padding: 45px 18px; }
  .footer { width: 100%; padding: 32px 18px; flex-direction: column; }
  .eyebrow, .home .eyebrow { font-size: 10px; letter-spacing: .09em; }
}
.age-range { white-space: nowrap; }
[id] { scroll-margin-top: 110px; }

/* Exact Czech identity: colours, weights, logo and original background motifs. */
body { position: relative; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.home { background-image: none; }
.home h1 { font-weight: 900; font-size: clamp(42px,5vw,66px); line-height: 1; }
.home h2 { font-weight: 900; font-size: clamp(34px,4vw,56px); line-height: 1.02; }
.home h3 { font-weight: 800; }
.home .brand, .brand { font-weight: 900; gap: 12px; }
.home .brand small, .brand small { font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.header-inner { min-height: 76px; }
.nav { font-weight: 700; }
.button, .home .button { padding: 15px 26px; line-height: 1; }
.home .hero .eyebrow { color: #C25D3D; font-size: 13px; letter-spacing: .14em; }
.home .hero .lead { font-size: clamp(17px,1.4vw,20px); }
.home .hero .copy { font-weight: 700; font-size: 16.5px; }
.home .hero .meta { font-weight: 600; font-size: 16px; color: #f6efe399; }
.home .hero-band { background: radial-gradient(circle at 83% 5%,#e0a93d40 0, #e0a93d12 30%,transparent 65%),#0F2A22; }
.home .hero-books figcaption { font-weight: 700; }
.home .perspective { background: #F7EFDD; }
.home #guides { background: #DADFC2; }
.home #see-inside { background: #F7EFDD; }
.home .about-band { background: #DADFC2; }
.home .perspective, .home .guides-band, .home .about-band { position: relative; isolation: isolate; }
.home .perspective > .wrap, .home .guides-band > .wrap, .home .about-band > .wrap { position: relative; z-index: 1; }
.home .perspective::before, .home .guides-band::after, .home .about-band::after {
  content: ''; position: absolute; pointer-events: none; background-repeat: no-repeat; z-index: -1;
}
.home .perspective::before { inset: auto 0 0; height: 260px; background-image: url('assets/hills-motif.svg'); background-size: 100% 100%; }
.home .guides-band::after { left: -70px; bottom: -110px; width: 540px; height: 580px; background-image: url('assets/tree-motif.svg'); background-size: contain; }
.home .guides-band { overflow: hidden; }
.home .about-band::after { bottom: 0; left: 0; right: 0; width: 100%; height: 220px; background-image: url('assets/forest-motif.svg'); background-size: cover; }
.home .about-faq { padding-bottom: clamp(150px,15vw,210px); }
.home .author img { width: clamp(72px,7vw,92px); height: clamp(72px,7vw,92px); border-radius: 50%; border: 3px solid #fffaf0; box-shadow: 0 14px 28px -20px #0008; }
.home .author strong { font-family: Caveat,cursive; font-weight: 700; font-size: 38px; color: #C25D3D; }
.home .author p { font-size: 13px; }
.about-keepsake, .section-compass { display: none; }
.home .faq { background: none; border: none; padding: 0; box-shadow: none; }
.home .faq details { background: white; border: 1px solid #1f2a2329; border-radius: 16px; margin-top: 12px; padding: 0; overflow: hidden; }
.home .faq details:last-child { border-bottom: 1px solid #1f2a2329; }
.home .faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; font-size: 17.5px; line-height: 1.3; list-style: none; }
.home .faq summary::-webkit-details-marker { display: none; }
.home .faq summary::after { content: '+'; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid #1f2a234d; display: grid; place-items: center; color: #1F4536; }
.home .faq details[open] summary::after { transform: rotate(45deg); background: #1F4536; color: #FAF4E4; }
.home .faq details p { padding: 0 22px 20px; font-size: 16px; }
.footer { background: #0F2A22; }
.footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.footer-brand strong { font-size: 22px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.trail { position: absolute; left: 0; top: 0; width: 100%; z-index: 5; pointer-events: none; }
.trail-path { fill: none; stroke-width: 2; stroke-dasharray: 1 9; stroke-linecap: round; }
.trail-path.light { stroke: #1F4536; opacity: .34; }
.trail-path.dark { stroke: #F6EFE3; opacity: .42; }
@media(min-width:1181px) { .wrap { width: min(1240px,calc(100% - 220px)); } }
@media(max-width:1180px) { .trail { display: none; } }
@media(max-width:700px) {
  .home h1 { font-size: clamp(42px,10.5vw,62px); }
  .home .hero .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .home .hero .meta { font-size: 13px; }
  .home .faq { padding: 0; }
  .home .guides-band::after { width: 350px; height: 390px; }
  .home .about-faq { padding-bottom: 160px; }
}
.brand > span { text-transform: uppercase; }
.brand small { text-transform: none; }

/* Destination enquiry: same map icon and dashed sand card as the Czech catalogue. */
.destination-request { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; margin-top: 28px; padding: 32px 26px; background: #F7EFDD; border: 1.5px dashed #1f2a234d; border-radius: 20px; }
.destination-request .custom-ic { width: 56px; height: 56px; border-radius: 16px; background: white; display: grid; place-items: center; margin-bottom: 4px; }
.home .destination-request .eyebrow { margin: 0; font-size: 12px; }
.home .destination-request h3 { font-size: 26px; }
.destination-request > p:not(.eyebrow) { max-width: 48ch; font-size: 15px; line-height: 1.5; color: #4A4F4B; margin-bottom: 6px; }
@media(max-width:700px) { .destination-request { padding: 26px 18px; } .destination-request .button { font-size: 14px; } }
.voucher-sheet { margin: 8px 0 28px; }
.voucher-sheet img { display: block; width: min(100%, 820px); height: auto; border-radius: 16px; }
.voucher-price { font: 800 28px/1.2 Nunito, sans-serif; color: #1f4536; margin: 8px 0 4px; }
.voucher-steps { margin: 8px 0 20px; padding-left: 1.2em; }
.voucher-steps li { margin: 6px 0; }
