/* Shared reading styles for home, dialogs and information pages. */
:root{--reading-ink:#173747;--reading-heading:#8f1427}
body{color:var(--reading-ink);font-weight:500}
.circus-home{--muted:var(--reading-ink);--ink:var(--reading-ink)}
.circus-home :is(.experience-card,.review-grid figure,.faq-list details,.detail-dialog,.detail-gallery-item,.gallery-empty,.google-link){--muted:var(--reading-ink);--ink:var(--reading-ink)}
.circus-home :is(.hero-summary,.section-heading,.faq-intro,.about-copy){background:none;border:0;border-radius:0;padding:0;box-shadow:none;min-width:0}
.circus-home .hero-summary{margin-top:22px}
.circus-home .hero-summary p{margin:0;max-width:none;color:var(--reading-ink);font-size:1.08rem;font-weight:500;line-height:1.85}
.circus-home .hero-summary p+p{margin-top:14px}
.circus-home .hero-summary .hero-tagline{color:var(--reading-heading);font-size:1.15rem;font-weight:800;line-height:1.5}
.circus-home .section-heading{gap:24px;align-items:center}
.circus-home :is(.card-content p,.section-heading>p,.faq-intro p:not(.eyebrow),.faq-list details>p,.review-grid blockquote,.detail-dialog p,.detail-dialog li){color:var(--reading-ink);font-size:1.05rem;font-weight:500;line-height:1.85}
.circus-home .eyebrow,.circus-home .detail-dialog p.eyebrow{color:var(--reading-heading);font-size:1rem;font-weight:800;line-height:1.6;letter-spacing:normal}
.circus-home :is(.section-heading h2,.faq-intro h2,.card-content h3,.detail-dialog h2,.detail-steps h3){color:var(--reading-heading);line-height:1.3}
.circus-home .faq-intro{align-self:start}
.circus-home .faq-intro p:not(.eyebrow){max-width:none}
.circus-home .faq-list summary{color:var(--reading-ink);font-size:1.05rem;line-height:1.65;font-weight:700}
.circus-home :is(.review-grid figcaption,.google-link small,.review-card-caption small){color:var(--reading-ink);font-size:.9rem;line-height:1.65;font-weight:500}
.circus-home .image-tag{font-size:.9rem;line-height:1.5;max-width:calc(100% - 24px);white-space:normal}
.circus-home .card-content .text-button{font-size:1rem}
.circus-home .gallery-item span{background:#153f52;color:#fff;font-size:1rem;font-weight:600;line-height:1.55;padding:12px 16px}
.circus-home .detail-gallery-item span,.circus-home .detail-gallery-item .review-date{color:var(--reading-ink);font-size:1rem;line-height:1.6}
.circus-home .review-card-caption bdi{font-size:1.05rem}
.circus-home .detail-dialog .review-date-note,.circus-home .detail-dialog .detail-note{font-size:1rem;line-height:1.75}
.circus-home .detail-tabs [role="tab"]{font-size:1rem}
.circus-home .gallery-dialog #gallery-caption{font-size:1rem;line-height:1.65;color:#fff0c6}
.circus-home .gallery-controls,.circus-home .gallery-controls .button{font-size:1rem}
.circus-home .promise-strip{color:var(--reading-ink);flex-wrap:wrap;gap:12px 30px}
.circus-home .promise-strip span{font-size:1rem;line-height:1.65;max-width:none;font-weight:600}
.circus-home .contact-section,.circus-home .site-footer{color:var(--reading-ink)}
.circus-home .contact-section>p:not(.eyebrow){font-size:1.1rem;color:var(--reading-ink);font-weight:500;line-height:1.85}
.circus-home .site-footer>p,.circus-home .site-footer nav,.circus-home .site-footer nav button{font-size:1rem;line-height:1.75}
.circus-home .site-footer>p span{font-size:.9rem;color:var(--reading-ink)}
.circus-home .site-footer nav a{min-height:44px;display:inline-flex;align-items:center}
.circus-home .desktop-nav,.circus-home #mobile-nav{background:#850d20}
.circus-home .desktop-nav a{font-size:1rem;color:#fff0c6}
.circus-home #mobile-nav a{font-size:1.05rem;color:#fff0c6}
.circus-home .video-link small{font-size:.875rem;line-height:1.5}
.circus-home .floating-review-label{font-size:.875rem;line-height:1.2}
.circus-home .floating-contact .floating-google{width:70px;height:70px}
/* The chat keeps the same readable type scale, including its small labels. */
.circus-home .chat-dialog{background:#c5eff8;color:var(--reading-ink)}
.circus-home .chat-header{background:#a00619;color:#fff0c6}
.circus-home .chat-header h2{color:#fff0c6;font-size:1.25rem;line-height:1.35}
.circus-home .chat-header p{color:#fff0c6;font-size:.9rem;line-height:1.55}
.circus-home .message{font-size:1.05rem;line-height:1.85;font-weight:500}
.circus-home .message.bot{background:#e1f5fa;color:var(--reading-ink)}
.circus-home .message.user{background:#a00619;color:#fff0c6}
.circus-home .message-label{font-size:.875rem;color:var(--reading-ink);line-height:1.5}
.circus-home .message.user .message-label{color:#fff0c6}
.circus-home .message-source{font-size:1rem;color:var(--reading-heading);line-height:1.6}
.circus-home .chat-options button{font-size:1rem;line-height:1.5}
.circus-home .chat-links{font-size:.95rem;line-height:1.6}
.circus-home .chat-links a{color:#681420;min-height:44px;display:inline-flex;align-items:center}
.circus-home .chat-note{font-size:.875rem;line-height:1.6;color:var(--reading-ink)}
.circus-home .chat-dialog input{font-size:1rem;color:var(--reading-ink)}
.circus-home .chat-dialog input::placeholder{color:#385564;opacity:1}
.circus-home .chat-options{max-height:150px}
.legal-page{font-size:1.05rem;line-height:1.85;color:var(--reading-ink)}
.legal-page h1,.legal-page h2,.legal-page .back-link{color:var(--reading-heading)}
.legal-page .back-link{line-height:1.65}
@media(max-width:1100px) and (min-width:851px){.circus-home .desktop-nav{gap:14px;padding-inline:16px}}
@media(max-width:640px){
 .circus-home .hero-summary p{font-size:1.05rem}
 .circus-home .section-heading>p{margin-top:16px}
 .circus-home .section-heading h2,.circus-home .faq-intro h2{font-size:clamp(1.8rem,7vw,2.35rem)}
 .circus-home .hero-meta a{font-size:1rem;line-height:1.5;padding:10px 7px}
 .circus-home .hero-actions>.button.gold{font-size:1.05rem}
 .circus-home .header-actions .small{font-size:.95rem}
 .circus-home .chat-launcher{font-size:.95rem}
 .circus-home .detail-dialog{padding:52px 20px 26px}
 .circus-home .detail-dialog h2{font-size:1.85rem;line-height:1.35;padding-left:0}
 .circus-home .detail-dialog .eyebrow{padding-left:0}
 .circus-home .detail-dialog.is-reviews{padding:52px 12px 24px}
 .circus-home .chat-header{gap:8px;padding:12px}
 .circus-home .chat-avatar{display:none}
 .circus-home .chat-header>div{min-width:0}
 .circus-home .chat-close{flex-shrink:0}
 .circus-home .chat-options{max-height:120px}
 .circus-home .chat-links{gap:0 10px;padding-block:4px}
 .circus-home .chat-links a{font-size:.9rem;min-height:36px}
 .circus-home .site-footer nav{gap:10px 18px}
}
@media(max-width:480px){.circus-home .promise-strip{flex-direction:column;align-items:center;gap:10px;padding-block:20px}.circus-home .promise-strip span{width:auto}}
/* Keep display preferences stronger than the decorative palette. */
html.high-contrast{--reading-ink:#111;--reading-heading:#700014}
html.high-contrast .circus-home :is(.hero-summary,.section-heading,.faq-intro,.promise-strip,.contact-section,.site-footer,.chat-dialog,.message.bot){background:#fff;color:#111}
html.high-contrast .circus-home .message.user,html.high-contrast .circus-home .chat-header{background:#700014;color:#fff0c6}
@media print{.circus-home :is(.hero-summary,.section-heading,.faq-intro,.contact-section,.site-footer){background:#fff;box-shadow:none;border-color:#777}}
.circus-home .google-link,.circus-home .detail-dialog .button{font-size:1rem;line-height:1.6}
.circus-home .detail-dialog .review-count{font-weight:800;color:var(--reading-heading)}

/* Text over the clouds stays directly on the scenery, with no new panel. */
.circus-home :is(.hero-summary p,.section-heading>p,.faq-intro p:not(.eyebrow),.about-copy p:not(.about-subtitle),.contact-section>p:not(.eyebrow),.site-footer>p,.site-footer>p span){color:#0b2b3b;font-weight:600;font-size:1.08rem;line-height:1.85;text-shadow:0 1px 1px #ffffffbd}
.circus-home :is(.hero-summary .hero-tagline,.section-heading .eyebrow,.faq-intro .eyebrow,.about-copy .about-subtitle){color:#8f1427;font-weight:800;text-shadow:0 1px 1px #ffffffbd}
.circus-home .hero-summary .hero-tagline{font-size:1.15rem}
.circus-home .site-footer>p span{font-size:.9rem}
html.high-contrast .circus-home :is(.hero-summary,.section-heading,.faq-intro,.about-copy){background:none}
html.high-contrast .circus-home :is(.hero-summary p,.section-heading>p,.faq-intro p:not(.eyebrow),.about-copy p:not(.about-subtitle),.contact-section>p:not(.eyebrow),.site-footer>p,.site-footer>p span){color:#111;text-shadow:none}
@media(max-width:640px){.circus-home .site-footer{flex-direction:column;align-items:center;gap:22px;text-align:center}.circus-home .site-footer>p{flex:none;width:100%}.circus-home .site-footer nav{width:100%;justify-content:center}}

/* Owner-requested credit for the original graphic design. */
.circus-home .site-footer{flex-wrap:wrap}
.circus-home .site-footer .design-credit{flex:0 0 100%;width:100%;min-width:0;display:grid;justify-items:center;gap:2px;text-align:center;color:#0b2b3b;font-size:1rem;font-weight:600;line-height:1.75;text-shadow:0 1px 1px #ffffffbd}
.circus-home .design-credit p{margin:0;max-width:100%}
.circus-home .design-credit p bdi{display:inline-block}
.circus-home .design-credit a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;color:inherit;overflow-wrap:anywhere}
html.high-contrast .circus-home .design-credit{color:#111;text-shadow:none}
@media(max-width:640px){.circus-home .site-footer{padding-bottom:180px}.circus-home .site-footer .design-credit{flex:none}}

/* Accessibility fixes: keyboard scrolling, text resize, and complete review alternatives. */
:focus-visible{outline:3px solid #1768a9;outline-offset:4px;box-shadow:0 0 0 2px #fff}
html{scroll-padding-bottom:180px}
:where(a,button,input,summary,[tabindex]){scroll-margin-block:24px 180px}
.circus-home .chat-dialog{overflow-y:auto}
.circus-home .chat-log{flex:1 0 180px;min-height:180px;max-height:50dvh}
.circus-home .chat-options{min-height:0}
.circus-home .review-text{margin:16px 4px;padding:18px;background:#fff8e8;color:#173747;border:2px solid #b3091b;border-radius:12px;text-align:start}
.circus-home .review-text h3{font-size:1.15rem;line-height:1.6;color:#681420;margin:0 0 8px}
.circus-home .review-text p{font-size:1rem;line-height:1.85;color:#173747;text-align:start;padding:0;white-space:pre-line;overflow-wrap:anywhere}
.legal-display{margin:0 0 24px;border:2px solid #a00619;border-radius:12px;padding:12px 18px}
.legal-display summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}
html.high-contrast .circus-home .review-text{background:#fff;color:#111}
@media(max-width:640px){.circus-home .chat-header .chat-close{align-self:flex-start}.circus-home .chat-header{position:relative}.circus-home .gallery-controls{flex-wrap:wrap}.circus-home .gallery-dialog.is-review .gallery-controls{position:static}}
@media(forced-colors:active){
 .page-sky,.hero-sky,.hero:before,.hero:after{display:none!important}
 :is(a,button,input,summary,[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}
 :is(button,.button,.hero-meta a){border:2px solid ButtonText!important}
}
/* A contrast preference must take effect immediately, without a low-contrast color fade. */
html.high-contrast *,html.high-contrast *::before,html.high-contrast *::after{transition:none!important}
html.high-contrast .circus-home .curtain-video,html.high-contrast .circus-home .curtain-video:hover{background:#850016;color:#ffe084}
html.high-contrast .circus-home .curtain-video small{color:#ffe084}
.circus-home .chat-dialog input{border-color:#385564}

/* The conversation scrolls while the header and composer stay inside the visible screen. */
.circus-home .chat-dialog{position:fixed;overflow:hidden;padding:0;box-sizing:border-box}
.circus-home .chat-log{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;scroll-behavior:auto;overflow-anchor:none}
.circus-home .chat-header{position:static;flex-wrap:nowrap}
.circus-home .chat-options{max-height:110px;flex:0 0 auto}
.circus-home .chat-links{flex:0 0 auto;padding-block:3px}
.circus-home .chat-dialog form{margin:0;flex:0 0 auto;padding:8px;min-height:62px}
.circus-home .chat-dialog input{font-size:16px;line-height:1.4}
.circus-home .chat-dialog[data-chat-compact] .chat-links,
.circus-home .chat-dialog[data-chat-compact] .chat-note,
.circus-home .chat-dialog[data-chat-compact] .chat-header p,
.circus-home .chat-dialog[data-chat-compact] .chat-avatar{display:none}
.circus-home .chat-dialog[data-chat-compact] .chat-header{padding:7px 10px;gap:8px}
.circus-home .chat-dialog[data-chat-compact] .chat-header h2{font-size:1rem}
.circus-home .chat-dialog[data-chat-compact] .chat-close{min-width:36px;width:36px;height:36px;min-height:36px;font-size:1.35rem;box-shadow:none}
.circus-home .chat-dialog[data-chat-compact] .chat-log{padding:10px}
.circus-home .chat-dialog[data-chat-compact] .message{font-size:1rem;line-height:1.6;padding:10px 12px;margin-bottom:10px}

/* A quiet reading surface, with suggestions kept in a compact scrolling row. */
.circus-home .chat-dialog{background:#f5f8fa;border:1px solid #b8ccd3;border-radius:16px;color:#173747}
.circus-home .chat-header{padding:9px 12px;min-height:58px;gap:10px}
.circus-home .chat-header h2{font-size:1.1rem;line-height:1.4}
.circus-home .chat-header p,.circus-home .chat-avatar{display:none}
.circus-home .chat-header .chat-close{min-width:38px;width:38px;height:38px;min-height:38px;font-size:1.4rem;box-shadow:none;align-self:center}
.circus-home .chat-log{padding:14px 12px;scrollbar-width:thin;scrollbar-color:#92aab4 transparent}
.circus-home .message,.circus-home .chat-dialog[data-chat-compact] .message{max-width:100%;padding:12px 14px;margin-bottom:12px;font-size:1rem;font-weight:400;line-height:1.65;border-radius:12px}
.circus-home .message.bot{background:#fff;border:1px solid #d9e4e8;color:#173747;margin-inline:0}
.circus-home .message.user{background:#fff2e5;border:1px solid #dfc7a7;color:#681420;margin-inline:22px}
.circus-home .message-label,.circus-home .message.user .message-label{font-size:.75rem;line-height:1.4;color:#526872;font-weight:700;margin-bottom:6px}
.circus-home .message.user .message-label{color:#895231}
.circus-home .message-content p{margin:0;white-space:pre-line}
.circus-home .message-content p+p{margin-top:12px}
.circus-home .message-content strong{font-weight:700;color:inherit}
.circus-home .chat-options{display:flex;flex-wrap:nowrap;justify-content:flex-start;min-width:0;width:100%;max-width:100%;max-height:none;padding:8px 12px;gap:7px;background:#fff;border-top:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bf9a64 transparent;scroll-padding-inline:12px}
.circus-home .chat-options button{flex:0 0 auto;white-space:nowrap;font-size:.875rem;line-height:1.4;min-height:38px;padding:7px 11px;border:1px solid #d7b575;border-radius:10px;background:#fff4cf;box-shadow:none}
.circus-home .chat-links{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 12px;border-top:1px solid #e4eaed}
.circus-home .chat-links a{font-size:.8rem;line-height:1.4;min-height:34px;padding:4px 0}
.circus-home .chat-note{padding:2px 14px 10px;font-size:.75rem;line-height:1.45;color:#526872}
.circus-home .chat-dialog form{background:#fff;border-top:1px solid #d9e4e8;gap:8px;padding:9px;min-height:64px}
.circus-home .chat-dialog input{border:1px solid #8aa0ab;border-radius:10px;min-height:44px;padding:9px 11px}
.circus-home .send-button{width:44px;min-width:44px;min-height:44px;box-shadow:none;border:1px solid #a00619;border-radius:10px;font-size:1.3rem}
.circus-home .chat-dialog :is(button,input,summary,[tabindex]){scroll-margin:0}
html.high-contrast .circus-home .chat-dialog,html.high-contrast .circus-home .message.bot{background:#fff;color:#111}
html.high-contrast .circus-home .message.user{background:#700014;color:#fff0c6}
html.high-contrast .circus-home .message.user .message-label{color:#fff0c6}

.circus-home .chat-options button:focus-visible{outline-offset:2px}

.circus-home .chat-scroll-hint{display:flex;flex:0 0 auto;direction:ltr;align-items:center;justify-content:center;gap:10px;margin:0;padding:4px 12px 0;background:#fff;border-top:1px solid #d9e4e8;color:#681420;font-size:.75rem;line-height:1.5}
.circus-home .chat-scroll-hint [aria-hidden]{font-size:1rem;line-height:1}
