/* Mobile and accessibility refinements; loaded after existing styles. */
:focus-visible{outline:3px solid #cc0001;outline-offset:4px}
section[id]{scroll-margin-top:100px}
.nav>*{min-width:0}
.hero-card .portrait{height:auto;min-height:0;background:#ececea}
.hero-card .portrait img{width:100%;height:auto;min-height:0;object-fit:contain}
.reveal{opacity:1;transform:none}
html.has-reveal .reveal{opacity:0;transform:translateY(18px)}
html.has-reveal .reveal.is-visible{opacity:1;transform:none}
.payment-result{padding:60px 0}.payment-card{max-width:850px}.payment-card p{margin-bottom:24px}
.footer-cookie-links{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;margin-top:20px}
.footer-cookie-links a,.footer-cookie-links button{font:inherit;color:var(--blue);text-decoration:underline;border:0;background:none;cursor:pointer;padding:8px}
.cookie-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:1rem}
.cookie-table th,.cookie-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:980px){
 .nav{flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:12px;padding-bottom:12px}
 .nav-links{flex-basis:100%;align-items:center;padding:12px 0;gap:8px;max-height:70dvh;overflow:auto}
 .nav-links a{padding:10px 14px;text-align:center}
 .nav-links a.active::after{bottom:2px}
 .hero-grid{gap:32px}.hero{padding:40px 0 48px}.hero-card{width:100%;max-width:580px;margin:auto}
 .hero-copy{margin-inline:auto}.hero h1{font-size:clamp(2.25rem,8.5vw,4rem);line-height:1.12}
 .hero .lead{font-size:1.35rem}.hero-actions{margin-top:24px}
 .image-banner{aspect-ratio:auto;background:#fff}.image-banner img{width:100%;height:auto;object-fit:contain;object-position:center}
 .order-intro>p:not(.eyebrow){font-size:1.25rem;margin-inline:auto}
 .order-steps li{justify-content:center}.order-panel legend{font-size:1.5rem;text-align:center}
 .order-panel,.order-summary{width:100%;min-width:0}.order-panel legend{float:none;padding:0 0 16px;margin:0}
 .slot-day h3,.slot-status{text-align:center}.slot-times{justify-content:center}
 .order-option-copy small,.format-option small{font-size:1.05rem}
 .order-payment-info,.order-secure{font-size:1.05rem}
 .order-summary dd{overflow-wrap:anywhere}.order-summary dl div{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 .price-card h3,.book-card h3{font-size:1.5rem;line-height:1.2}.price-row{flex-wrap:wrap}
 .footer-bottom{text-align:center}.legal-letterhead{align-items:center!important}.legal-company{text-align:center!important}
 .legal-content{padding:22px}.legal-head h1{overflow-wrap:anywhere}
 .contact-card a{overflow-wrap:anywhere}.order-intro h1{font-size:clamp(2.2rem,8vw,3.5rem)}
}
@media(max-width:380px){.container{padding-inline:14px}.order-panel,.order-summary{padding:18px}.hero-card-body h2{font-size:1.65rem}.order-option{padding:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal,html.has-reveal .reveal{opacity:1;transform:none}}
/* Consent UI: accept and reject have identical prominence. */
.me-cookie-banner,.me-cookie-dialog{color:#182231;background:#fff;font:16px/1.55 Inter,system-ui,sans-serif;text-align:left}
.me-cookie-banner{position:fixed;z-index:1000;inset:auto 16px 16px;max-width:1100px;margin:auto;padding:22px 26px;border:1px solid #c8d1e1;border-radius:20px;box-shadow:0 8px 50px #071a3d40;max-height:75dvh;overflow:auto}
.me-cookie-banner[hidden]{display:none}
.me-cookie-banner h2,.me-cookie-dialog h2{font-size:1.3rem;letter-spacing:0;line-height:1.3;margin:0 0 8px}
.me-cookie-banner a,.me-cookie-dialog a{color:#002060;text-decoration:underline}
.me-cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.me-cookie-actions button{font:inherit;font-weight:700;padding:11px 18px;min-height:46px;border:1px solid #002060;border-radius:10px;background:#fff;color:#002060;cursor:pointer}
.me-cookie-actions button:hover{background:#edf3fb}
.me-cookie-dialog{margin:auto;width:calc(100% - 32px);max-width:620px;max-height:85dvh;border:1px solid #c8d1e1;border-radius:20px;padding:26px;overflow:auto}
.me-cookie-dialog::backdrop{background:#071a3d80}
.me-cookie-category{padding:16px 0;border-bottom:1px solid #e3e8f2}
.me-cookie-category label{display:flex;align-items:center;gap:10px;cursor:pointer}
.me-cookie-category input{width:22px;height:22px;accent-color:#002060;flex-shrink:0}
.me-cookie-category p{margin-top:6px}
.me-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.me-cookie-banner{inset:auto 10px 10px;padding:18px}.me-cookie-actions{display:grid;grid-template-columns:1fr;width:100%}.me-cookie-dialog{padding:20px}.cookie-table{font-size:.85rem}.cookie-table th,.cookie-table td{padding:7px}}

/* v12 — targeted mobile typography and centered section containers. */
@media (max-width:980px) {
  .split > .section-head {width:100%;margin-inline:auto;text-align:center}
  .section-head,.about-copy,.media-grid>div:first-child {margin-inline:auto}
  .trust-item span,.hero-proof span,.card-kicker,.eyebrow,.contact-label,
  .media-card span,.contact-note,.footer-bottom,.order-option-copy small,
  .format-option small,.order-payment-info,.order-secure {font-size:20px;line-height:1.55}
  .hero-card-body p,.audience-body p,.process-card p,.book-card p,
  .about-copy p,.principles p,.contact-card p,.payment-note p,
  .section-head p,.media-section p {font-size:21px;line-height:1.65}
  .card-kicker,.contact-label {letter-spacing:.06em}
  .principles h3,.contact-card h3,.payment-note h3 {font-size:25px;line-height:1.3}
  .price-row {justify-content:center;gap:12px 28px;text-align:center}
  .price-row span,.price-row strong {font-size:22px;line-height:1.5}
  .trust-item strong {font-size:26px;line-height:1.3}
  .media-card strong {font-size:22px;line-height:1.4}
  .footer-main,.footer-links {text-align:center;justify-content:center}
  .me-cookie-banner,.me-cookie-dialog {font-size:18px;line-height:1.5}
  .me-cookie-banner h2,.me-cookie-dialog h2 {font-size:22px;line-height:1.3}
  .me-cookie-actions button {font-size:18px;line-height:1.4}
}

/* v13: consistent service cards and immediate mobile booking access. */
.audience-card,.audience-card.featured{border:2px solid var(--red)}
.audience-card:hover{border-color:var(--red)}
.mobile-booking-cta{display:none}
@media(max-width:980px){
 .nav:has(.mobile-booking-cta){display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;align-items:center}
 .nav:has(.mobile-booking-cta) .brand-logo{max-width:min(160px,100%);height:auto}
 .mobile-booking-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 13px;background:var(--red);color:white;border-radius:999px;font-size:17px;line-height:1.25;font-weight:800;white-space:nowrap}
 .nav:has(.mobile-booking-cta) .nav-links{grid-column:1/-1}
}
@media(max-width:360px){
 .nav:has(.mobile-booking-cta){grid-template-columns:minmax(0,1fr) 44px}
 .nav:has(.mobile-booking-cta) .brand{grid-column:1;grid-row:1}
 .nav:has(.mobile-booking-cta) .menu-toggle{grid-column:2;grid-row:1}
 .mobile-booking-cta{grid-column:1/-1;grid-row:2}
}

/* v14: double hero eyebrow and center portrait caption on all screens. */
.hero-copy > .eyebrow{font-size:1.6rem;line-height:1.3}
.hero-card-body,.hero-card-body > *{text-align:center}
@media(max-width:980px){
 .hero-copy > .eyebrow{font-size:40px;line-height:1.25;letter-spacing:.02em;overflow-wrap:break-word}
}

@media(max-width:980px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}}

/* v15: Czech word wrapping. Break only long machine-readable strings. */
body,body *{hyphens:none;word-break:normal;overflow-wrap:normal}
.hero-copy > .eyebrow{overflow-wrap:normal}
a[href^="mailto:"],a[href^="tel:"],.cookie-table td,code,pre{overflow-wrap:anywhere}
@media(max-width:980px){
 .hero-copy > .eyebrow{font-size:clamp(30px,9.5vw,40px);letter-spacing:0;line-height:1.25}
 .legal-head h1{font-size:clamp(28px,7vw,48px)}
}
@media(max-width:600px){
 .order-summary dl div{grid-template-columns:minmax(0,1fr);gap:4px;text-align:center}
 .order-summary dd{text-align:center}
 .form-field,.order-option-copy,.format-option span{min-width:0}
}

@media(max-width:600px){.payment-card h1{font-size:clamp(28px,7vw,42px)}}

.payment-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
