/* Additive accessibility/privacy layer. Existing layout and art direction stay in styles.css. */
:root { --muted: #625f5b; }
img { height: auto; }
:focus-visible { outline: 3px solid #171717; outline-offset: 5px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 3000; padding: 14px 20px; background: #f8f7f4; color: #171717; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.footer-links { flex-wrap: wrap; }
.cookie-settings { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.cookie-settings[hidden], .cookie-panel[hidden] { display: none !important; }
.cookie-panel { position: fixed; z-index: 2200; bottom: 16px; left: 16px; width: min(460px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 22px; border: 1px solid #171717; border-radius: 16px; background: #f8f7f4; color: #171717; box-shadow: 0 10px 40px #17171722; }
.cookie-panel h2 { font: 400 25px/1.15 "Shrikhand", serif; margin: 0 0 10px; }
.cookie-panel p { font-size: 14px; line-height: 1.5; margin: 0 0 16px; }
.cookie-panel a, .newsletter-privacy a, .legal-grid a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-actions button { flex: 1 1 150px; border: 1px solid #171717; border-radius: 999px; padding: 12px 16px; min-height: 44px; background: #f8f7f4; color: #171717; cursor: pointer; font-size: 13px; font-weight: 600; }
.cookie-actions button:hover { background: #e8e5df; }
.newsletter-privacy { font-size: 12px; line-height: 1.5; margin: 6px 0 0; }
/* Brand backgrounds are defined once in styles.css via --aa-gradient. */
.capsule-marquee, .capsule-marquee-item a { color: #fff; }
.capsule-marquee-item a, .capsule-marquee-item .capsule-marquee-direct {
  border-color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.08);
}
.capsule-marquee-item > span { text-shadow: 0 1px 10px rgba(23,23,23,.16); }
.capsule-marquee:focus-within .capsule-marquee-track { animation-play-state: paused; }
.newsletter-band, .newsletter-band input, .newsletter-band button, .newsletter-band .eyebrow.light,
.newsletter-whatsapp-consent, .newsletter-status, .newsletter-status.is-error, .newsletter-status.is-success,
.newsletter-capsule-link { color: #fff; }
.newsletter-band input::placeholder { color: rgba(255,255,255,.78); opacity: 1; }
.newsletter-form-main .newsletter-field, .newsletter-capsule-link { border-color: rgba(255,255,255,.9); }
.newsletter-whatsapp-consent { font-size: 12px; line-height: 1.5; letter-spacing: normal; }
/* WhatsApp consent checkbox — stable on desktop, Android and iOS Safari. */
.newsletter-inner .newsletter-whatsapp-consent input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  border:2px solid #fff !important;
  border-radius:4px !important;
  background-color:rgba(255,255,255,.08) !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:13px 13px !important;
  box-shadow:0 0 0 1px rgba(23,23,23,.10);
  cursor:pointer;
  outline:none;
  vertical-align:middle;
}
.newsletter-inner .newsletter-whatsapp-consent input[type="checkbox"]:checked{
  background-color:#fff !important;
  border-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5L8.1 14.5L16 6.5' fill='none' stroke='%23171717' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.newsletter-inner .newsletter-whatsapp-consent input[type="checkbox"]:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.30);
}
.newsletter-status { font-size: 12px; }
.newsletter-band :focus-visible { outline-color: #fff; }
.newsletter-band input:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.newsletter-form button[disabled] { cursor: wait; opacity: .65; }
.existing-page-title { margin: 0; font-family: "Shrikhand", "Fugaz One", sans-serif; font-size: clamp(48px,6vw,84px); line-height: .92; letter-spacing: -.035em; font-weight: 400; }
.about-copy .existing-page-title { font-size: clamp(52px,6vw,88px); }
.legal-page h1 { overflow-wrap: anywhere; }
.contact-email { overflow-wrap: anywhere; }
@media(max-width:900px) { .existing-page-title, .about-copy .existing-page-title { font-size: clamp(42px,12.5vw,60px); line-height: .94; } }
@media(max-width:560px) {
  .existing-page-title,
  .about-copy .existing-page-title{
    font-size:clamp(40px,12.8vw,52px);
  }
  .cookie-panel{
    padding:18px;
  }

  /* Mobile: larger tap target + unmistakable checked state. */
  .newsletter-whatsapp-consent{
    align-items:center !important;
    gap:11px !important;
    min-height:32px;
  }
  .newsletter-inner .newsletter-whatsapp-consent input[type="checkbox"]{
    flex-basis:24px !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    border-radius:5px !important;
    background-size:17px 17px !important;
  }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } #paint-trail { display: none !important; } }

/* Equal, immediate choices for optional audience measurement. */
.cookie-panel { width: min(430px,calc(100% - 32px)); }
.cookie-panel .cookie-choice-status { font-size: 12px; font-weight: 600; }
.cookie-panel .cookie-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.cookie-panel .cookie-actions button { min-width: 0; padding: 12px 14px; }
@media (max-width:560px) { .cookie-panel { bottom: 12px; left: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); } .cookie-panel p { font-size: 12px; line-height: 1.5; } .cookie-panel h2 { font-size: 22px; } }
