.consent-banner,
.consent-panel {
  position: fixed;
  z-index: 200;
  color: #f3eee3;
  background: #06182c;
  border: 1px solid rgba(225, 184, 103, .5);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .4);
  font-family: "DM Sans", sans-serif;
}

.consent-banner {
  right: 22px;
  bottom: 22px;
  left: 22px;
  max-width: 980px;
  margin: auto;
  padding: 24px 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}

.consent-banner[hidden],
.consent-panel[hidden] {
  display: none;
}

.consent-kicker {
  margin: 0 0 7px;
  color: #e1b867;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.consent-banner h2,
.consent-panel h2 {
  margin: 0;
  color: #f3eee3;
  font-family: "Italiana", Georgia, serif;
  font-size: 27px;
  font-weight: 400;
}

.consent-banner p:not(.consent-kicker),
.consent-panel p:not(.consent-kicker) {
  max-width: 610px;
  margin: 9px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
  line-height: 1.65;
}

.consent-banner a,
.consent-panel a {
  color: #e1b867;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.consent-actions {
  display: flex;
  gap: 9px;
}

.consent-actions button {
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, .3);
  color: #f3eee3;
  background: transparent;
  cursor: pointer;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.consent-actions button[data-consent-accept],
.consent-actions button[data-consent-reject] {
  border-color: #e1b867;
}

.consent-actions button[data-consent-accept],
.consent-actions button[data-consent-reject] {
  color: #06182c;
  background: #e1b867;
}

.consent-actions button:hover,
.consent-actions button:focus-visible {
  border-color: #fff;
}

.consent-backdrop {
  position: fixed;
  z-index: 190;
  inset: 0;
  background: rgba(2, 10, 20, .72);
  backdrop-filter: blur(4px);
}

.consent-backdrop[hidden] {
  display: none;
}

.consent-panel {
  top: 50%;
  left: 50%;
  width: min(620px, calc(100% - 36px));
  max-height: calc(100svh - 36px);
  padding: 30px;
  overflow-y: auto;
  transform: translate(-50%, -50%);
}

.consent-panel-header {
  padding-right: 45px;
}

.consent-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  color: #f3eee3;
  background: transparent;
  cursor: pointer;
  font-size: 20px;
}

.consent-category {
  margin-top: 24px;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 20px;
  border: 1px solid rgba(255, 255, 255, .16);
}

.consent-category h3 {
  margin: 0;
  color: #f3eee3;
  font-size: 13px;
}

.consent-category p {
  grid-column: 1 / -1;
}

.consent-status {
  color: #e1b867;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.consent-switch {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #f3eee3;
  font-size: 10px;
}

.consent-switch input {
  width: 20px;
  height: 20px;
  accent-color: #e1b867;
}

.consent-panel .consent-actions {
  margin-top: 26px;
  justify-content: flex-end;
}

@media (max-width: 700px) {
  .consent-banner {
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 21px;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .consent-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .consent-panel {
    padding: 25px 20px;
  }
}

/* Shared site search */
.site-search-trigger{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(225,184,103,.32);color:#f3eee3;background:transparent;cursor:pointer}
.site-search-trigger span{width:14px;height:14px;position:relative;display:block;border:1px solid currentColor;border-radius:50%}
.site-search-trigger span::after{content:"";width:6px;height:1px;position:absolute;right:-5px;bottom:-3px;background:currentColor;transform:rotate(45deg)}
.site-search-trigger em{display:none}.site-search-trigger:hover,.site-search-trigger:focus-visible{color:#e1b867;border-color:#e1b867}.site-search-open{overflow:hidden}
.site-search-backdrop{padding:7vh 20px;position:fixed;z-index:10020;inset:0;overflow-y:auto;background:rgba(1,9,17,.82);backdrop-filter:blur(8px)}
.site-search-dialog{width:min(760px,100%);margin:0 auto;padding:clamp(24px,5vw,48px);color:#f3eee3;border:1px solid rgba(225,184,103,.34);background:linear-gradient(145deg,#06182c,#0c2a49);box-shadow:0 28px 80px rgba(0,0,0,.45)}
.site-search-head{display:flex;justify-content:space-between;gap:24px;align-items:start}.site-search-head p{margin:0 0 8px;color:#e1b867;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.site-search-head h2{margin:0;color:#f3eee3;font-family:"Italiana",Georgia,serif;font-size:clamp(31px,5vw,50px);font-weight:400}.site-search-head button{width:42px;height:42px;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#f3eee3;background:transparent;cursor:pointer;font-size:24px}
.site-search-field{margin-top:30px;display:block}.site-search-field input{width:100%;min-height:54px;padding:0 18px;border:1px solid rgba(225,184,103,.4);border-radius:0;color:#06182c;background:#f3eee3;font:500 15px "DM Sans",sans-serif}.site-search-field input:focus{outline:2px solid #e1b867;outline-offset:3px}.site-search-status{margin:14px 0 0;color:rgba(243,238,227,.62);font-size:11px}
.site-search-results{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12)}.site-search-results a{min-width:0;padding:18px;display:flex;flex-direction:column;gap:5px;color:#f3eee3;background:#09213a;text-decoration:none}.site-search-results a:hover,.site-search-results a:focus-visible{background:#0e3153;outline:1px solid #e1b867;outline-offset:-1px}.site-search-results small{color:#e1b867;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.site-search-results strong{overflow-wrap:anywhere;font-family:"Italiana",Georgia,serif;font-size:21px;font-weight:400}.site-search-results span{display:-webkit-box;overflow:hidden;color:rgba(243,238,227,.62);font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(max-width:700px){.site-search-backdrop{padding:12px}.site-search-dialog{min-height:calc(100vh - 24px);padding:24px 18px}.site-search-results{grid-template-columns:1fr}}

/* Mailing-list invitation */
.newsletter-open{overflow:hidden}.newsletter-backdrop{padding:20px;position:fixed;z-index:10010;inset:0;display:grid;place-items:center;background:rgba(1,9,17,.8);backdrop-filter:blur(7px)}.newsletter-backdrop[hidden]{display:none}.newsletter-dialog{width:min(590px,100%);padding:clamp(30px,6vw,58px);position:relative;color:#f3eee3;border:1px solid rgba(225,184,103,.38);background:radial-gradient(circle at 90% 10%,rgba(225,184,103,.14),transparent 31%),linear-gradient(145deg,#06182c,#0b2a49);box-shadow:0 28px 85px rgba(0,0,0,.48)}.newsletter-close{width:42px;height:42px;position:absolute;top:18px;right:18px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#f3eee3;background:transparent;cursor:pointer;font-size:24px}.newsletter-kicker{margin:0 0 13px;color:#e1b867;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.newsletter-dialog h2{max-width:450px;margin:0;font-family:"Italiana",Georgia,serif;font-size:clamp(37px,6vw,58px);font-weight:400;line-height:1.02}.newsletter-dialog>p:not(.newsletter-kicker){max-width:470px;margin:20px 0 0;color:rgba(243,238,227,.68);font-size:13px;line-height:1.7}.newsletter-form{margin-top:28px}.newsletter-form>label:first-child{display:block}.newsletter-form>label:first-child span{display:block;margin-bottom:8px;color:#e1b867;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.newsletter-form input[type=email]{width:100%;min-height:52px;padding:0 16px;border:1px solid rgba(225,184,103,.42);border-radius:0;color:#06182c;background:#f3eee3;font:500 15px "DM Sans",sans-serif}.newsletter-permission{margin:17px 0;display:grid;grid-template-columns:20px 1fr;gap:10px;color:rgba(243,238,227,.68);font-size:10px;line-height:1.5}.newsletter-permission input{width:19px;height:19px;margin:0;accent-color:#e1b867}.newsletter-actions{display:flex;flex-wrap:wrap;gap:10px}.newsletter-actions button{min-height:46px;padding:0 22px;border:1px solid #e1b867;cursor:pointer;font:600 9px "DM Sans",sans-serif;letter-spacing:.13em;text-transform:uppercase}.newsletter-actions button[type=submit]{color:#06182c;background:#e1b867}.newsletter-actions button[type=submit]:hover,.newsletter-actions button[type=submit]:focus-visible{background:#f1d79e}.newsletter-decline{color:#f3eee3;background:rgba(255,255,255,.04)}.newsletter-decline:hover,.newsletter-decline:focus-visible{border-color:#f1d79e;background:rgba(255,255,255,.09)}.newsletter-note,.newsletter-status{margin:13px 0 0;color:rgba(243,238,227,.5);font-size:9px;line-height:1.5}.newsletter-note a{color:#e1b867}.newsletter-status{color:#f3eee3}
@media(max-width:600px){.newsletter-backdrop{padding:12px;align-items:end}.newsletter-dialog{padding:34px 22px 27px}.newsletter-close{top:12px;right:12px}.newsletter-dialog h2{padding-right:30px}}
