/* Canonical homepage shell. Page content styles do not participate in it. */
html body :is(.wpp-global-header,.wpp-global-footer){box-sizing:border-box;width:100%;margin:0;border:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15.5px;line-height:1.5;font-weight:400;letter-spacing:normal}
html body :is(.wpp-global-header,.wpp-global-footer) :is(div,nav,ul,li,a,p,span,button){box-sizing:border-box}
html body :is(.wpp-global-header,.wpp-global-footer) .wrap{width:min(calc(100% - 28px),1180px);max-width:none;margin-inline:auto;padding:0}
html body .wpp-global-header{position:fixed;top:0;left:0;z-index:20;padding:15px 0;background:transparent;color:#17352f;transition:padding .22s ease,background .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
html body.admin-bar .wpp-global-header{top:32px}
html body .wpp-global-header.scrolled{padding:10px 0;background:rgba(246,241,232,.9);box-shadow:0 1px 0 rgba(23,53,47,.16);backdrop-filter:blur(14px)}
html body .wpp-global-header .nav{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem}
html body .wpp-global-header .brand{display:inline-grid;width:auto;margin:0;padding:0;color:inherit;font-size:.76rem;font-weight:950;letter-spacing:.015em;line-height:.94;text-decoration:none;text-transform:uppercase;visibility:visible;opacity:1;transform:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}
html body .wpp-global-header .brand span{display:block}
html body .wpp-global-header :focus-visible{outline:3px solid #17352f!important;outline-offset:4px!important}
html body .wpp-site-header-space{height:74px;flex-shrink:0;margin:0;padding:0}
html body.wpp-front-page .wpp-site-header-space{display:none}
/* The homepage hero already reserves room for its fixed header. Other content
   uses the spacer so adding the same header does not cover page headings. */
html body .wpp-global-footer{position:static;padding:36px 0;background:#17352f;color:#fff;max-width:none;margin-block:0}
html body .wpp-global-footer .footer-grid{display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;gap:2rem;text-align:center}
html body .wpp-global-footer .footer-brand{display:inline-grid;justify-self:center;font-size:clamp(.75rem,1.44vw,1.2rem);font-weight:950;letter-spacing:.015em;line-height:1.02;text-transform:uppercase}
html body .wpp-global-footer .footer-brand span{display:block}
html body .wpp-global-footer .footer-meta{display:grid;max-width:620px;justify-items:center;gap:1rem;text-align:center}
html body .wpp-global-footer .socials{display:flex;grid-template-columns:repeat(3,44px);justify-content:center;gap:.65rem;margin:0;padding:0}
html body .wpp-global-footer .socials a{display:inline-flex;width:auto;height:auto;min-height:44px;align-items:center;justify-content:center;gap:.65rem;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:inherit;font-size:.875rem;font-weight:750;line-height:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
html body .wpp-global-footer .socials img{display:block;width:20px;height:20px;max-width:100%;flex-shrink:0}
html body .wpp-global-footer .socials a:is(:hover,:focus-visible){background:#d8ff63;color:#17352f;border-color:#d8ff63;transform:translateY(-2px);box-shadow:0 8px 0 #ffffff3d;text-decoration:none}
html body .wpp-global-footer .socials a:is(:hover,:focus-visible) img{filter:brightness(0) saturate(100%)}
html body .wpp-global-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:0;padding:0;font-size:.75rem}
html body .wpp-global-footer .footer-links a{display:inline-flex;min-height:44px;align-items:center;padding:.4rem .15rem;color:#fff;font-weight:400;line-height:inherit;text-decoration:underline;text-underline-offset:4px}
html body .wpp-global-footer .fine-print{margin:0;color:#fff;font-size:.75rem;line-height:inherit;font-weight:400}
html body .wpp-global-footer :focus-visible{outline:3px solid #fffdf8!important;outline-offset:4px!important}
@media(min-width:561px){html body :is(.wpp-global-header,.wpp-global-footer){font-size:17px;line-height:1.55}html body :is(.wpp-global-header,.wpp-global-footer) .wrap{width:min(calc(100% - 40px),1180px)}html body .wpp-global-header{padding:18px 0}html body .wpp-global-header.scrolled{padding:12px 0}html body .wpp-global-header .brand{font-size:.9rem}html body .wpp-site-header-space{height:80px}}
@media(min-width:861px){html body .wpp-global-header .nav{gap:1.25rem}html body .wpp-global-header .brand{font-size:1rem}html body .wpp-site-header-space{height:82px}html body .wpp-global-footer{padding:46px 0}html body .wpp-global-footer .footer-grid{grid-template-columns:1fr auto 1fr;justify-items:stretch;text-align:left}html body .wpp-global-footer .footer-brand{justify-self:start}html body .wpp-global-footer .socials{justify-self:center}html body .wpp-global-footer .footer-meta{justify-items:end;text-align:right}html body .wpp-global-footer .footer-links{justify-content:flex-end}}
@media(max-width:782px){html body.admin-bar .wpp-global-header{top:46px}}
@media(prefers-reduced-motion:reduce){html body .wpp-global-header,html body .wpp-global-footer .socials a{transition:none}html body .wpp-global-footer .socials a:is(:hover,:focus-visible){transform:none}}
/* Shared navigation: visible links at every viewport, with only the other language. */
.wpp-primary-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  flex-wrap: wrap;
  gap: .25rem .65rem;
}
.wpp-primary-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: .25rem;
  color: #17352f;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-underline-offset: .4em;
  text-decoration-thickness: 2px;
}
.wpp-primary-nav a[aria-current="page"],
.wpp-primary-nav a:hover { text-decoration: underline; }
.wpp-primary-nav a:focus-visible,
.wpp-site-brand:focus-visible,
header .brand:focus-visible { outline: 2px solid #17352f; outline-offset: 3px; border-radius: 2px; }
.wpp-primary-nav .wpp-primary-nav__language {
  margin-left: .15rem;
  padding-left: .8rem;
  position: relative;
  text-transform: uppercase;
  font-size: .6875rem;
  letter-spacing: .035em;
}
@media (min-width: 600px) {
  .wpp-primary-nav { gap: .25rem 1.25rem; }
  .wpp-primary-nav a { font-size: .9375rem; }
  .wpp-primary-nav .wpp-primary-nav__language { font-size: .8125rem; padding-left: 1.5rem; }
}

.wpp-primary-nav__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: inherit;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wpp-primary-nav__items li { margin: 0; padding: 0; }
.wpp-primary-nav .wpp-primary-nav__language::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 1em;
  transform: translateY(-50%);
  background: #a9b6ab;
  content: "";
}

/* Compact language/social controls and expandable mobile page navigation. */
html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav { position: relative; flex-wrap: nowrap; gap: .5rem; }
html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav .wpp-primary-nav__instagram { padding: 0; flex-shrink: 0; }
.wpp-primary-nav__instagram svg { width: 20px; height: 20px; }
html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav .wpp-primary-nav__language { padding: .25rem .65rem; margin-left: 0; font-size: .8125rem; }
.wpp-primary-nav__toggle { display: none; }
@media (max-width: 767px) {
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav { gap: .125rem; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav .wpp-primary-nav__language::before { display: none; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-enhanced .wpp-primary-nav__toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 10px; margin: 0; flex-shrink: 0;
    color: #17352f; background: transparent; border: 0; border-radius: 0;
    cursor: pointer; box-shadow: none;
  }
  .wpp-primary-nav__toggle:focus-visible { outline: 2px solid #17352f; outline-offset: 2px; }
  .wpp-primary-nav__toggle svg { width: 24px; height: 24px; }
  .wpp-primary-nav__toggle .wpp-menu-close { display: none; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-open .wpp-menu-open { display: none; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-open .wpp-menu-close { display: block; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-enhanced .wpp-primary-nav__items { display: none; }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-enhanced.is-open .wpp-primary-nav__items {
    display: flex; position: absolute; top: calc(100% + 12px); right: 0;
    width: min(280px, calc(100vw - 40px)); box-sizing: border-box;
    flex-direction: column; align-items: stretch; gap: .25rem;
    margin: 0; padding: .75rem; background: #f6f1e8;
    border: 1px solid #c9cec3; border-radius: 12px;
    box-shadow: 0 12px 32px rgba(23, 53, 47, .14); z-index: 50;
    max-height: 70vh; max-height: 70dvh; overflow-y: auto;
  }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav.is-enhanced .wpp-primary-nav__items a {
    display: flex; justify-content: flex-start; padding: .65rem .75rem;
    min-height: 44px; box-sizing: border-box; font-size: .9375rem;
  }
}

/* Keep the shared controls authoritative over page-specific legacy navigation CSS. */
.wpp-primary-nav__play { display: inline; padding: 0 .08em; background: linear-gradient(transparent 62%, #d8ff63 62%, #d8ff63 94%, transparent 94%); text-transform: none; }

@media (max-width: 767px) {
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav .wpp-primary-nav__language-item {
    margin-top: .5rem; padding-top: .5rem; border-top: 1px solid #c9cec3;
  }
  html body .wpp-primary-nav.wpp-primary-nav.wpp-primary-nav .wpp-primary-nav__language-item .wpp-primary-nav__language {
    margin: 0; padding: .65rem .75rem; font-size: .8125rem;
  }
}

