/* A travel album, using the Czech site's palette, compass and paper details. */
@font-face { font-family: 'Playfair Display'; src: url('assets/playfair.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Playfair Display'; src: url('assets/playfair-italic.ttf') format('truetype'); font-style: italic; font-weight: 700; font-display: swap; }
@font-face { font-family: Caveat; src: url('assets/caveat.ttf') format('truetype'); font-weight: 600; font-display: swap; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand-compass { flex: 0 0 38px; width: 38px; }
.home {
  --paper: #faf4e4;
  --ink: #1f4536;
  --rust: #a54b30;
  --muted: #5b554a;
  --sage: #e6e9d8;
  --gold: #e0a93d;
  background-color: var(--paper);
  background-image: radial-gradient(#1f2a2308 .7px, transparent .9px), radial-gradient(#1f2a2305 .7px, transparent .9px);
  background-size: 4px 4px, 7px 7px;
  background-position: 0 0, 1px 2px;
}
.home h1, .home h2, .home h3, .home .brand { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; }
.home h1 { font-size: clamp(58px, 6.4vw, 88px); line-height: 1.02; letter-spacing: -.04em; }
.home h2 { font-size: clamp(35px, 4vw, 54px); line-height: 1.08; }
.home h2 em { color: var(--rust); }
.home .brand { letter-spacing: .07em; font-size: 24px; }
.home .brand small { font: 10px/1.8 Nunito, sans-serif; color: var(--rust); letter-spacing: .04em; }
.home .header { min-height: 92px; border-bottom: 1px dashed #1f45362b; }
.home .button { border-radius: 13px; box-shadow: 0 3px 0 #102c21; }
.home .button:hover { background: #2f6049; }
.home .eyebrow { color: var(--rust); }
.home .hero { grid-template-columns: .85fr 1.15fr; gap: 25px; padding: 52px 0 62px; }
.home .hero .eyebrow { display: inline-block; background: #f0e5c4; border: 1px solid #d8c99f; padding: 8px 12px; border-radius: 24px; letter-spacing: .07em; }
.home .hero h1 span { font-style: italic; }
.home .hero .lead { font-size: 21px; margin-top: 25px; max-width: 33ch; }
.home .hero .copy { max-width: 37ch; margin-top: 12px; }
.home .hero .meta { font-size: 11px; }
.travel-album { position: relative; min-width: 0; padding-top: 18px; }
.album-note { display: block; text-align: center; font: 600 28px/1.15 Caveat, cursive; color: var(--rust); transform: rotate(-4deg); }
.album-board { position: relative; height: 490px; margin-top: 15px; isolation: isolate; }
.album-board::before { content: ''; position: absolute; inset: 8% 2% 3% 1%; z-index: -1; background: #e9e0bd; border-radius: 47% 53% 54% 46% / 48% 42% 58% 52%; }
.album-cover, .album-page { display: block; position: absolute; background: #fffdf5; padding: 7px; box-shadow: 0 12px 25px -15px #1f2a2390, 0 2px 4px #1f2a2320; }
.album-cover img, .album-page img { width: 100%; }
.album-norway { width: 55%; right: 1%; top: 2%; transform: rotate(8deg); }
.album-croatia { width: 75%; left: 2%; top: 17%; transform: rotate(-7deg); z-index: 2; }
.album-food { width: 46%; left: 6%; bottom: 0; transform: rotate(3deg); z-index: 3; }
.album-city { width: 43%; right: 0; bottom: 3%; transform: rotate(-4deg); z-index: 4; }
.album-cover::after { content: ''; width: 53px; height: 19px; background: #e4bd678c; border-left: 1px dashed #f8efd6; border-right: 1px dashed #f8efd6; position: absolute; top: -8px; left: 42%; transform: rotate(5deg); }
.album-board a { transition: transform .2s; }
.album-board a:hover, .album-board a:focus-visible { transform: rotate(0deg) translateY(-4px); z-index: 6; }
.age-stamp { position: absolute; right: 1%; top: 38%; z-index: 5; width: 112px; height: 112px; border-radius: 50%; outline: 1px dashed #765817; outline-offset: -7px; background: #e6b956; color: #253f35; text-align: center; font: 12px/1.1 Nunito, sans-serif; padding: 16px 8px; transform: rotate(9deg); }
.age-stamp strong { font: 700 25px/1.1 'Playfair Display', Georgia, serif; }
.age-stamp b { display: block; margin-top: 6px; font-size: 10px; letter-spacing: .09em; }
.travel-album figcaption { margin: 20px 0 0; font-size: 11px; }
/* Same scene, two ways of seeing it. The circular details use the exact same artwork. */
.home .perspective { display: block; padding: 56px 0 60px; background: #e7ecdf; border: 0; border-radius: 55% 45% 0 0 / 24px 28px 0 0; }
.perspective-heading { position: relative; padding-right: 100px; margin-bottom: 32px; }
.home .perspective h2 { font-size: clamp(35px, 4vw, 52px); }
.section-compass { position: absolute; right: 18px; top: 24px; transform: rotate(14deg); }
.discovery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.discovery-card { min-width: 0; }
.discovery-image { position: relative; padding: 0 25px 37px 0; }
.scene { position: relative; overflow: hidden; aspect-ratio: 1.4; border-radius: 48% 48% 15px 15px / 23% 23% 15px 15px; background: #f8f4e9; border: 5px solid #fffaf0; box-shadow: 0 6px 12px #1f453612; }
.scene img, .detail-lens img { position: absolute; max-width: none; height: auto; }
.city .scene img { width: 312%; left: -157%; top: -66%; }
.olives .scene img { width: 300%; left: -162%; top: -13%; }
.fjord .scene img { width: 445%; left: -342%; top: -3%; }
.detail-lens { position: absolute; bottom: 0; right: 0; width: 42%; aspect-ratio: 1; border: 6px solid #fffaf0; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 2px #b78838, 0 8px 15px #1f453622; background: #faf4e4; }
.city .detail-lens img { width: 740%; left: -396%; top: -270%; }
.olives .detail-lens img { width: 850%; left: -555%; top: -57%; }
.fjord .detail-lens img { width: 1130%; left: -1013%; top: -94%; }
.adult-label { position: absolute; left: 12px; bottom: 46px; background: #fffaf0; color: var(--ink); padding: 5px 10px; border-radius: 3px; font-size: 13px; transform: rotate(-3deg); }
.home .discovery-card p { font-size: 17px; padding-left: 12px; margin-top: 4px; }
.home .discovery-card p span { display: block; color: var(--rust); font: 600 26px/1.1 Caveat, cursive; }
.home .discovery-card strong { font-size: 17px; margin-top: 6px; }
/* Larger covers, held by warm paper instead of a sparse shop grid. */
.home #guides { padding-top: 65px; padding-bottom: 72px; }
.home .section-head { margin-bottom: 35px; }
.home .guide-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
.home .guide-card { background: #fffaf0; border: 1px solid #dcd4ba; padding: 15px 15px 0; border-radius: 15px; box-shadow: 0 12px 22px -20px #253f3580; }
.home .guide-card .cover-link { border-radius: 8px; box-shadow: 0 6px 14px -8px #263d3270; }
.home .guide-card .cover-link img { aspect-ratio: 1.42; }
.home .guide-copy { padding: 4px 10px 17px; }
.home .guide-card .meta { font-size: 10px; margin: 16px 0 8px; color: #665a40; }
.home .guide-card h3 { font-size: 32px; }
.home .guide-card p { min-height: 0; }
.home .guide-card .text-link { display: flex; justify-content: space-between; border-top: 1px dashed #cfc8b6; margin-top: 15px; padding-top: 8px; text-decoration: none; }
.home .guide-card .text-link span { width: 30px; height: 30px; background: #e9e1c8; border-radius: 50%; text-align: center; }
.home .guide-slovenia, .home .guide-austria { background: #edf0e3; }
.home .guide-norway { background: #e9eff0; }
.home .guide-northern-italy { background: #f6e8d6; }
.home .seasonal { padding: 15px 15px 0; display: block; border: 1px solid #dcd4ba; border-radius: 15px; background: #f0e4c6; }
.seasonal figure { position: relative; }
.seasonal figure img { border-radius: 8px; width: 100%; aspect-ratio: 1.42; object-fit: cover; }
.home .seasonal figcaption { position: absolute; bottom: 7px; left: 10px; background: #fffaf0; padding: 3px 8px; border-radius: 4px; margin: 0; font-size: 10px; }
.seasonal-copy { padding: 16px 10px 17px; }
.home .seasonal .eyebrow { font-size: 10px; margin-bottom: 8px; }
.home .seasonal h3 { font-size: 32px; }
.home .seasonal p:not(.eyebrow) { margin: 10px 0 0; }
.home .seasonal .text-link { margin-top: 15px; }
.home .how { background-color: #1f4536; background-image: radial-gradient(#faf4e40b .8px, transparent 1px); background-size: 5px 5px; color: #faf4e4; border-radius: 24px 24px 0 0; padding: 50px 0; }
.home .how .wrap { gap: 44px; align-items: center; }
.home .how .eyebrow, .home .how h2 em { color: #e7bd65; }
.home .how h2 { font-size: 38px; }
.home .steps .number { display: grid; place-items: center; border: 1px dashed #e7bd65; border-radius: 50%; width: 43px; height: 43px; padding: 0; margin-bottom: 18px; color: #e7bd65; font: 600 25px Caveat, cursive; }
.home .steps h3 { font-family: Nunito, sans-serif; font-size: 19px; font-weight: 800; }
.home .steps p { color: #e6e6d5; }
/* A spread of real pages, each still fully readable and linked to its original image. */
.home #see-inside { background: #f1e6c9; padding: 70px 0 52px; overflow: clip; }
.hand-note { font: 600 30px/1.2 Caveat, cursive !important; color: var(--rust) !important; transform: rotate(-5deg); }
.home .preview-grid { grid-template-columns: 1.1fr 1fr; gap: 10px 30px; padding: 15px 12px 0; align-items: center; }
.home .preview-grid figure { padding: 10px 10px 16px; background: #fffaf0; box-shadow: 0 9px 20px -13px #443f35aa; position: relative; }
.home .preview-grid figure::before { content: ''; width: 74px; height: 22px; background: #cfab6380; border-right: 1px dashed #f1e6c9; border-left: 1px dashed #f1e6c9; position: absolute; top: -9px; left: calc(50% - 37px); z-index: 1; transform: rotate(-3deg); pointer-events: none; }
.home .preview-food { grid-row: span 2; transform: rotate(-4deg); }
.home .preview-norway { transform: rotate(4deg); margin-left: 12px; }
.home .preview-slovenia { transform: rotate(-2deg); margin-top: 22px; margin-left: 40px; }
.home .preview-grid a { display: block; position: relative; }
.home .preview-grid img { border: 0; box-shadow: none; }
.home .preview-grid figcaption { padding: 5px 8px 0; font: 600 27px/1.2 Caveat, cursive; color: var(--ink); }
.home .preview-grid figcaption span { display: block; margin: 7px 0 5px; font: 10px Nunito, sans-serif; letter-spacing: .12em; color: var(--rust); }
.page-open { display: block; position: absolute; right: 8px; bottom: 8px; background: #fffaf0; padding: 5px 10px; border-radius: 4px; font: 800 11px Nunito, sans-serif; box-shadow: 0 1px 5px #253f3530; }
.home .preview-grid a:hover .page-open { background: #1f4536; color: #fffaf0; }
.home .preview-note { margin: 36px auto 0; text-align: center; }
.home .about-faq { padding-top: 65px; padding-bottom: 65px; }
.home .faq { background: #fffaf0; border: 1px solid #ded4b8; border-radius: 16px; padding: 28px; box-shadow: 0 12px 24px -24px #253f3580; }
.home .faq h2 { font-size: 28px; }
.home .final-cta { position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; min-height: 330px; background: #1f4536; border-radius: 50% 50% 0 0 / 22px 22px 0 0; }
.home .final-cta > div { position: relative; z-index: 1; }
.home .final-cta > div > img { margin: 0 auto 16px; }
.home .final-cta h2 { font-size: 43px; }
.home .final-cta h2 em { color: #e7bd65; }
.home .final-cta .button { box-shadow: 0 3px 0 #c7b88d; }
.closing-cover { position: absolute; width: min(26vw, 330px); border: 7px solid #faf4e4; box-shadow: 0 10px 22px #102a2160; }
.closing-one { left: -3%; top: 55px; transform: rotate(-13deg); }
.closing-two { right: -3%; top: 65px; transform: rotate(12deg); }
@media (max-width: 1000px) {
  .home .hero { grid-template-columns: .9fr 1.1fr; }
  .home h1 { font-size: 65px; }
  .album-board { height: 390px; }
  .age-stamp { width: 92px; height: 92px; padding: 11px 5px; font-size: 10px; }
  .age-stamp strong { font-size: 22px; }
  .age-stamp b { margin-top: 4px; font-size: 9px; }
  .home .hero .lead { font-size: 18px; }
  .discovery-grid { gap: 18px; }
  .home .how .wrap { grid-template-columns: 1fr; }
  .home .how h2 br { display: none; }
  .home .about-faq { gap: 35px; }
}
@media (max-width: 700px) {
  .home .hero { grid-template-columns: 1fr; gap: 16px; padding: 32px 0 35px; }
  .home h1 { font-size: clamp(53px, 11vw, 72px); }
  .home .hero .lead { max-width: 36ch; margin-top: 18px; }
  .home .hero .copy { max-width: 42ch; margin: 10px 0 20px; font-size: 15px; }
  .travel-album { max-width: 520px; width: 100%; margin: auto; padding-top: 3px; }
  .album-board { height: auto; aspect-ratio: 1.2; margin-top: 8px; }
  .album-note { font-size: 25px; }
  .home .perspective { padding: 38px 0; }
  .perspective-heading { padding-right: 55px; margin-bottom: 28px; }
  .section-compass { width: 43px; height: 43px; right: 0; top: 50px; }
  .discovery-grid { grid-template-columns: 1fr; gap: 30px; }
  .home .perspective article { display: block; }
  .discovery-image { max-width: 470px; padding-right: 40px; padding-bottom: 43px; margin: auto; }
  .detail-lens { width: 35%; right: 2px; }
  .home .discovery-card p { max-width: 470px; margin: 0 auto; }
  .home .discovery-card strong { display: inline; font-size: 18px; }
  .home .discovery-card p span { display: inline; margin-right: 6px; }
  .home .guide-grid { grid-template-columns: 1fr; gap: 25px; }
  .home #guides { padding: 44px 0; }
  .home .section-head { margin-bottom: 25px; }
  .home .guide-card, .home .seasonal { padding: 10px 10px 0; }
  .home .guide-card h3, .home .seasonal h3 { font-size: 29px; }
  .home .how { padding: 36px 0; }
  .home .how h2 { font-size: 33px; }
  .home .steps { grid-template-columns: 1fr; }
  .home .steps li { display: grid; grid-template-columns: 43px 1fr; gap: 0 16px; }
  .home .steps .number { grid-row: span 2; margin: 0; }
  .home #see-inside { padding: 44px 0 36px; }
  .home .preview-grid { grid-template-columns: 1fr; gap: 35px; padding: 15px 8px 0; }
  .home .preview-food { grid-row: auto; transform: rotate(-2deg); }
  .home .preview-norway { margin: 0; transform: rotate(2deg); }
  .home .preview-slovenia { margin: 0; transform: rotate(-2deg); }
  .home .preview-grid figcaption { font-size: 26px; }
  .home .about-faq { padding: 44px 0; gap: 30px; grid-template-columns: 1fr; }
  .home .faq { padding: 23px; }
  .home .final-cta { min-height: 320px; padding-bottom: 100px; }
  .home .final-cta h2 { font-size: 33px; }
  .closing-cover { width: 145px; top: auto; bottom: -35px; border-width: 5px; }
  .closing-one { left: -24px; }
  .closing-two { right: -24px; }
}
@media (max-width: 640px) {
  .home .header { min-height: 95px; padding-top: 14px; }
  .home .brand { font-size: 22px; }
  .brand-compass { width: 30px; height: 30px; flex-basis: 30px; }
  .home .hero .eyebrow { font-size: 9px; }
  .home .hero .meta { font-size: 10px; }
}
/* Keep the scenic crops inside the illustration panels, clear of Czech text. */
.city .scene img { width: 300%; left: -153%; top: -85%; }
.fjord .scene img { width: 510%; left: -410%; top: 0; }
/* The only English release: a complete, free autumn guide. */
.free-guide { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 42px; background: #f1e6c9; border: 1px solid #dcd4ba; border-radius: 20px; padding: 32px; }
.free-guide-cover { display: block; padding: 8px; background: #fffaf0; transform: rotate(-3deg); box-shadow: 0 12px 25px -15px #253f3590; }
.free-guide-cover img { width: 100%; }
.free-ribbon { display: inline-block; background: #1f4536; color: #fffaf0; padding: 5px 13px; border-radius: 6px; font-size: 13px; font-weight: 800; transform: rotate(-2deg); }
.free-guide-copy .meta { margin: 18px 0 8px; font-size: 11px; }
.free-guide-copy h3 { font-size: 35px; margin-bottom: 16px; }
.free-guide-copy > p:not(.meta) { font-size: 16px; }
.free-guide-copy ul { padding-left: 20px; font-size: 15px; margin: 15px 0 22px; color: var(--muted); }
.free-guide-copy li { margin-bottom: 6px; }
.free-guide-copy .download-note { font-size: 12px !important; color: var(--muted); margin-top: 15px; }
.free-guide-copy .text-link { font-size: 13px; }
.autumn-leaves .scene img { width: 200%; left: -92%; top: -58%; }
.autumn-leaves .detail-lens img { width: 500%; left: 0; top: 0; }
.autumn-conker .scene img { width: 353%; left: -44%; top: -86%; }
.autumn-conker .detail-lens img { width: 510%; left: -213%; top: -240%; }
.autumn-puddle .scene img { width: 267%; left: -158%; top: -143%; }
.autumn-puddle .detail-lens img { width: 750%; left: -550%; top: -403%; }
@media(max-width:700px) {
  .free-guide { grid-template-columns: 1fr; padding: 22px; gap: 30px; }
  .free-guide-copy h3 { font-size: 32px; }
  .free-guide-copy .button { width: 100%; }
  .home .hero .eyebrow { letter-spacing: .04em; }
}
.autumn-conker .detail-lens img { width: 600%; left: -250%; top: -275%; }
/* Approved direction: a single quiet detail beside the About copy. */
.home .about-faq { align-items: start; }
.about-observation { display: flex; align-items: center; gap: 22px; margin-top: 22px; }
.home .about-observation p { margin: 0; }
.about-keepsake { position: relative; overflow: hidden; flex: 0 0 108px; height: 108px; border-radius: 48% 52% 46% 54%; transform: rotate(-12deg); }
.about-keepsake img { position: absolute; max-width: none; width: 540%; height: auto; left: 0; top: 0; }
.home .paid-guides { margin-top: 32px; }
.home .paid-guides > .guide-card > img { width: 100%; aspect-ratio: 1.42; object-fit: contain; border-radius: 8px; }
.home .guide-price { margin-top: 14px; font-weight: 800; color: var(--ink); }
@media (max-width: 800px) and (min-width: 701px) {
  .about-observation { gap: 14px; }
  .about-keepsake { flex-basis: 76px; height: 76px; }
}
@media (max-width: 430px) {
  .about-observation { gap: 15px; }
  .about-keepsake { flex-basis: 88px; height: 88px; }
}
/* Final finishing pass: full-width section bands, unchanged inner geometry. */
.home .hero-band,
.home .guides-band,
.home .about-band { position: relative; }
.home .perspective,
.home .how,
.home .final-cta { border-radius: 0; }

/* The free-guide colour reaches the edges too; the product remains in its container.
   An extended, clipped background shadow avoids scrollbar-width overflow. */
.home .free-guide { position: relative; isolation: isolate; background: transparent; border-color: transparent; border-radius: 0; }
.home .free-guide::before {
  content: ''; position: absolute; inset: -1px; z-index: -1;
  background: #f1e6c9; box-shadow: 0 0 0 100vmax #f1e6c9;
  clip-path: inset(0 -100vmax); pointer-events: none;
}

/* Exactly two quiet motifs, contained within existing empty bottom padding.
   Derived from the current Czech site's dotted trail, tree and hills. */
.home .hero-band::after,
.home .about-band::after {
  content: ''; position: absolute; pointer-events: none;
  background-repeat: no-repeat; background-size: contain;
}
.home .hero-band::after {
  bottom: 8px; left: max(18px, calc((100% - 1200px) / 2));
  width: min(360px, 65%); height: 42px;
  background-image: url('assets/quiet-trail.svg');
}
.home .about-band::after {
  bottom: 0; right: max(18px, calc((100% - 1200px) / 2));
  width: 210px; height: 58px;
  background-image: url('assets/quiet-landscape.svg');
}
@media (max-width: 700px) {
  .home .hero-band::after { bottom: 3px; width: 230px; height: 27px; }
  .home .about-band::after { width: 140px; height: 39px; }
}

/* Original Czech book stack replaces the introductory product collage. */
.home .hero-books { margin: 0; min-width: 0; align-self: center; }
.home .hero-books > img { display: block; width: min(100%, 500px); height: auto; margin: 20px auto 0; }
@media (max-width: 700px) {
  .home .hero-books { margin-top: 16px; }
  .home .hero-books > img { width: min(100%, 360px); margin-top: 12px; }
}

/* Author and English information pages. */
.author { display: flex; align-items: center; gap: 18px; margin-top: 24px; }
.author img { width: 76px; height: 98px; object-fit: cover; border-radius: 8px; }
.about .author p { margin: 0; font-size: 14px; }
.author strong { font-family: Caveat, cursive; font-size: 30px; }
.legal-document { max-width: 850px; }
.legal-document h1 { font-size: clamp(38px, 6vw, 64px); }
.legal-document section { margin-top: 32px; }
.legal-document h2 { font-size: clamp(25px, 4vw, 32px); }
.legal-document h3 { font-size: 22px; margin-top: 24px; line-height: 1.25; }
.legal-document p { margin-top: 16px; overflow-wrap: anywhere; }
.legal-document ul,
.legal-document ol { margin: 16px 0 0; padding-left: 1.35em; max-width: 62ch; }
.legal-document li { margin-top: 8px; }
.legal-draft { padding: 16px; background: #efe4ce; border-radius: 8px; font-size: 14px; }
