/* Static site footer. Desktop columns and native mobile disclosures use CSS only. */
.pc-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: clamp(56px, 6vw, 82px) 5% 118px;
  background: radial-gradient(circle at 8% 12%, #e84c2320, transparent 28%), radial-gradient(circle at 91% 9%, #22d3ee13, transparent 26%), linear-gradient(145deg, #071321, #0b1a30 52%, #0d223a);
  color: #bdc7d5;
  font: 400 14px/1.7 "Inter", Arial, sans-serif;
  text-align: left;
  box-shadow: inset 0 1px 0 #ffffff0f;
}
.pc-footer, .pc-footer * { box-sizing: border-box; }
.pc-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, transparent 3%, #e84c23 22%, #f59e72 43%, #22d3eeb3 70%, transparent 97%); }
.pc-footer::after { content: ""; position: absolute; z-index: -1; width: 540px; height: 390px; right: -100px; bottom: -60px; background: url('wp-content/uploads/2025/05/PRESCOT_pattern2-1.svg') center / contain no-repeat; filter: grayscale(1) brightness(4); opacity: .035; pointer-events: none; }
.pc-footer .pc-footer-inner { max-width: 1500px; margin-inline: auto; }
.pc-footer .pc-footer-grid { display: grid; grid-template-columns: minmax(260px, 1.45fr) minmax(140px, .8fr) minmax(155px, .85fr) minmax(260px, 1.2fr); align-items: start; gap: clamp(24px, 3.7vw, 62px); }
.pc-footer a { color: inherit; text-decoration: none; box-shadow: none; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.pc-footer a:hover { color: #fff; }
.pc-footer :is(a, summary):focus-visible { outline: 2px solid #ff9a74; outline-offset: 5px; border-radius: 4px; }
.pc-footer .pc-footer-brand { padding: 28px; border: 1px solid #ffffff16; border-radius: 20px; background: #ffffff09; box-shadow: 0 18px 44px #00000017; }
.pc-footer .pc-footer-logo { display: inline-flex; vertical-align: top; }
.pc-footer .pc-footer-logo img { display: block; width: 160px; height: 40px; max-width: 100%; object-fit: contain; object-position: left center; }
.pc-footer .pc-footer-brand p { margin: 20px 0 23px; padding: 0; font: inherit; line-height: 1.8; color: #bdc7d5; }
.pc-footer .pc-footer-socials { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; padding: 0; }
.pc-footer .pc-footer-socials a { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #ffffff1c; border-radius: 12px; color: #e0e7f0; background: #ffffff0b; }
.pc-footer .pc-footer-socials a:hover { background: #e84c23; border-color: #e84c23; color: #fff; transform: translateY(-3px); }
.pc-footer .pc-footer-socials svg { display: block; width: 18px; height: 18px; }
.pc-footer .pc-footer-origin { display: flex; align-items: center; gap: 9px; font-size: 9px; font-weight: 600; line-height: 1.6; text-transform: uppercase; letter-spacing: 1.2px; color: #b2bece; }
.pc-footer .pc-footer-origin > span { width: 16px; height: 11px; flex: 0 0 16px; border-radius: 2px; background: linear-gradient(#fff 50%, #d7434b 50%); }
.pc-footer .pc-footer-section { min-width: 0; margin: 0; padding: 8px 0 0; border: 0; background: none; box-shadow: none; }
.pc-footer .pc-footer-section :is(summary, .pc-footer-heading) { display: flex; align-items: center; gap: 10px; margin: 0 0 26px; padding: 0; color: #f0f4fa; font: 700 11px/1.6 "Inter", Arial, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; list-style: none; cursor: default; }
.pc-footer .pc-footer-section summary::-webkit-details-marker { display: none; }
.pc-footer .pc-footer-section :is(summary, .pc-footer-heading)::before { content: ""; width: 18px; height: 2px; background: #e84c23; flex: 0 0 18px; }
.pc-footer .pc-footer-mobile { display: none; }
.pc-footer .pc-footer-toggle { display: none; }
.pc-footer .pc-footer-links { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.pc-footer .pc-footer-links li { padding: 0; margin: 0; list-style: none; font: inherit; }
.pc-footer .pc-footer-links a { display: inline-block; line-height: 1.6; }
.pc-footer .pc-footer-links a:hover { transform: translateX(3px); }
.pc-footer .pc-footer-privacy { margin-top: 14px; }
.pc-footer .pc-footer-contact { display: grid; gap: 9px; margin: 0; font: inherit; font-size: 12px; }
.pc-footer .pc-footer-contact-row { display: flex; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid #ffffff12; border-radius: 11px; background: #ffffff07; }
.pc-footer .pc-footer-contact-row > svg { width: 17px; height: 17px; flex: 0 0 17px; color: #f48461; margin-top: 3px; }
.pc-footer .pc-footer-contact-row > div { min-width: 0; display: grid; gap: 2px; }
.pc-footer .pc-footer-contact-row strong { color: #f0f4fa; font-size: 13px; font-weight: 600; }
.pc-footer .pc-footer-contact-row a { overflow-wrap: anywhere; }
.pc-footer .pc-footer-label { font-size: 10px; color: #a0aec1; text-transform: uppercase; letter-spacing: .7px; margin-bottom: 2px; }
.pc-footer .pc-footer-tax { font-size: 10px; color: #a0aec1; }
.pc-footer .pc-footer-bottom { display: flex; justify-content: flex-start; align-items: center; gap: 12px; margin-top: 42px; padding-top: 23px; border-top: 1px solid #ffffff17; color: #e7edf5; font-size: 11px; letter-spacing: .3px; }
.pc-footer .pc-footer-powered { display: inline-flex; align-items: center; gap: 9px; color: #fff; }
.pc-footer .pc-footer-powered a { display: inline-flex; align-items: center; line-height: 1; }
.pc-footer .pc-footer-powered img { display: block; width: 116px; height: 20px; object-fit: contain; }
@media (min-width: 768px) and (max-width: 1150px) {
  .pc-footer .pc-footer-grid { grid-template-columns: 1.1fr 1fr; gap: 38px; }
  .pc-footer .pc-footer-brand { grid-row: span 2; }
  .pc-footer .pc-footer-section--contact { grid-column: 1 / -1; }
  .pc-footer .pc-footer-contact { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .pc-footer { padding: 42px 20px calc(126px + env(safe-area-inset-bottom)); }
  .pc-footer::after { width: 360px; height: 280px; left: 50%; top: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); }
  .pc-footer .pc-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pc-footer .pc-footer-desktop { display: none; }
  .pc-footer .pc-footer-mobile { display: block; }
  .pc-footer .pc-footer-brand { padding: 25px; margin-bottom: 24px; border-radius: 18px; }
  .pc-footer .pc-footer-brand p { margin: 18px 0 21px; font-size: 13px; line-height: 1.85; }
  .pc-footer .pc-footer-logo img { width: 146px; height: 36px; }
  .pc-footer .pc-footer-socials { margin-bottom: 22px; }
  .pc-footer .pc-footer-origin { font-size: 8px; letter-spacing: 1px; }
  .pc-footer .pc-footer-section { padding: 0; border-bottom: 1px solid #ffffff12; }
  .pc-footer .pc-footer-section summary { position: relative; justify-content: center; min-height: 62px; margin: 0; padding: 15px 32px; cursor: pointer; font-size: 11px; letter-spacing: 1.7px; }
  .pc-footer .pc-footer-section summary::before { position: absolute; left: 0; }
  .pc-footer .pc-footer-toggle { display: block; position: absolute; right: 3px; width: 13px; height: 13px; }
  .pc-footer .pc-footer-toggle::before, .pc-footer .pc-footer-toggle::after { content: ""; position: absolute; background: #b4c0d0; inset: 6px 0 auto; height: 1px; }
  .pc-footer .pc-footer-toggle::after { transform: rotate(90deg); transition: transform .2s; }
  .pc-footer .pc-footer-section[open] .pc-footer-toggle::after { transform: rotate(0); }
  .pc-footer .pc-footer-section-content { padding: 0 8px 23px; }
  .pc-footer .pc-footer-links { gap: 0; }
  .pc-footer .pc-footer-links a { padding: 10px 0; min-height: 44px; }
  .pc-footer .pc-footer-privacy { margin-top: 0; }
  .pc-footer .pc-footer-contact { font-size: 13px; }
  .pc-footer .pc-footer-contact-row { padding: 14px 12px; }
  .pc-footer .pc-footer-bottom { justify-content: flex-start; flex-wrap: wrap; column-gap: 12px; row-gap: 7px; margin-top: 26px; padding-top: 23px; text-align: left; }
  .pc-footer .pc-footer-powered { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .pc-footer a, .pc-footer .pc-footer-toggle::after { transition: none; }
}

/* Mobile review: keep the mark away from links and restore the brand palette. */
html body .pc-footer{background:#18212b;color:#c8cdd3}
html body .pc-footer::before{height:1px;background:#ffffff20}
html body .pc-footer :is(a,summary):focus-visible{outline-color:#e14e26}
@media(max-width:767px){
 html body .pc-footer::after{display:none!important}
 html body .pc-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}

/* Legal links close the footer, with cookie settings always last. */
.pc-footer .pc-footer-bottom{flex-wrap:wrap}
.pc-footer .pc-footer-legal{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 22px;margin-left:auto;max-width:100%;font:400 12px/1.6 "Inter",Arial,sans-serif;letter-spacing:0}
.pc-footer .pc-footer-legal>a,.pc-footer .pc-footer-legal>button[data-privacy-settings]{display:inline-flex;align-items:center;min-height:36px!important;margin:0!important;padding:0!important;color:inherit;line-height:1.5;text-align:left!important;white-space:normal;text-decoration:none!important}
.pc-footer .pc-footer-legal>:is(a,button):hover{color:#fff;transform:none}
.pc-footer .pc-footer-legal>button:focus-visible{outline:2px solid #e14e26;outline-offset:4px}
@media(max-width:767px){.pc-footer .pc-footer-legal{flex:0 0 100%;display:grid;grid-template-columns:1fr;justify-items:start;gap:0;margin:14px 0 0;font-size:13px}.pc-footer .pc-footer-legal>a,.pc-footer .pc-footer-legal>button[data-privacy-settings]{min-height:36px!important}}

/* Final signature: shared by the main site and the standalone configurator. */
html body footer.pc-footer[data-footer-finale] {
  padding-bottom: calc(36px + env(safe-area-inset-bottom)) !important;
}
html body footer.pc-footer[data-footer-finale]::after,
html body footer.pc-footer[data-footer-finale] .pc-footer-legal::after {
  content: none !important;
  display: none !important;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-legal {
  display: grid;
  justify-content: start;
  justify-items: start;
  align-items: center;
  gap: 0;
  min-height: 0;
  margin: 15px 0 0;
  padding: 0;
  color: #b7c0ca;
  font-size: 11px;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-legal > :is(a,button[data-privacy-settings]) {
  min-height: 38px !important;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px 0 0;
  padding: 22px 0 24px;
  border-block: 1px solid #ffffff17;
  text-align: center;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-powered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #9aa6b4;
  font: 400 10px/1.5 "Inter", Arial, sans-serif;
  letter-spacing: 1.6px;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-powered a {
  justify-content: center;
  min-height: 28px;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-finale {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  padding: 32px 0 8px;
  text-align: center;
  --pc-finale-duration: 16s;
}
html body footer.pc-footer[data-footer-finale] .pc-footer-mark {
  display: block;
  flex: none;
  width: 96px;
  height: auto;
  overflow: visible;
  color: #66707c;
  filter: drop-shadow(0 0 0 transparent);
}
html body footer.pc-footer[data-footer-finale] .pc-footer-spell {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0 4px 13px;
  color: #c0c7cf;
  font: italic 400 clamp(19px, 2vw, 23px)/1.5 Georgia, "Times New Roman", serif;
  letter-spacing: .075em;
  text-align: center;
}
.pc-footer-finale .pc-footer-spell > span { display: block; }
.pc-footer-finale .pc-footer-light-trail {
  position: absolute;
  inset: auto 4px 2px;
  height: 1px;
  background: linear-gradient(90deg, #fff0, #e8f2ffb0 20%, #fff 85%, #fff0);
  transform-origin: left center;
  opacity: 0;
  pointer-events: none;
}
.pc-footer-finale.is-ready .pc-footer-mark {
  animation: pc-finale-mark var(--pc-finale-duration) ease-in-out infinite both;
}
.pc-footer-finale.is-ready .pc-footer-spell > span {
  animation: pc-finale-writing var(--pc-finale-duration) linear infinite both;
}
.pc-footer-finale.is-ready .pc-footer-light-trail {
  animation: pc-finale-trail var(--pc-finale-duration) linear infinite both;
}
.pc-footer-finale.is-ready:not(.is-lit) :is(.pc-footer-mark,.pc-footer-spell > span,.pc-footer-light-trail) {
  animation-play-state: paused;
}
@keyframes pc-finale-mark {
  0%, 7%, 83%, 100% { color: #66707c; filter: drop-shadow(0 0 0 #edf5ff00); }
  24%, 51% { color: #f1f5fa; filter: drop-shadow(0 0 7px #edf5ff38) drop-shadow(0 0 20px #edf5ff1a); }
}
@keyframes pc-finale-writing {
  0%, 19% { opacity: 0; clip-path: inset(-25px 100% -25px -4px); text-shadow: 0 0 0 #e8f3ff00; }
  22% { opacity: .85; }
  43%, 59% { opacity: 1; clip-path: inset(-25px -4px -25px -4px); text-shadow: 0 0 5px #f5f9ff90, 0 0 15px #d6eaff50; }
  80%, 100% { opacity: 0; clip-path: inset(-25px -4px -25px -4px); text-shadow: 0 0 0 #e8f3ff00; }
}
@keyframes pc-finale-trail {
  0%, 19% { opacity: 0; transform: scaleX(0); filter: drop-shadow(0 0 2px #e4f1ff); }
  23% { opacity: .6; }
  43% { opacity: .7; transform: scaleX(1); }
  59% { opacity: .25; transform: scaleX(1); }
  76%, 100% { opacity: 0; transform: scaleX(1); }
}
@media (max-width: 767px) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact { border-bottom: 0; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-bottom { margin-top: 0; padding-block: 20px; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-legal { font-size: 12px; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-legal > :is(a,button[data-privacy-settings]) { min-height: 44px !important; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-finale { padding-top: 28px; gap: 18px; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-mark { width: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-finale :is(.pc-footer-mark,.pc-footer-spell > span,.pc-footer-light-trail) {
    animation: none;
  }
}

/* Desktop composition: signature between the side columns, compact credit below. */
@media (min-width: 768px) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-inner {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(150px, 1fr) minmax(160px, 1fr);
    gap: 22px 24px;
    align-items: start;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-grid { display: contents; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-brand {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: stretch;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--links { grid-column: 2; grid-row: 1; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--shortcuts { grid-column: 3; grid-row: 1; }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact.pc-footer-desktop {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--shortcuts .pc-footer-legal {
    justify-content: center;
    justify-items: center;
    margin-top: 12px;
    text-align: center;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--shortcuts .pc-footer-legal > :is(a,button[data-privacy-settings]) {
    justify-content: center;
    text-align: center !important;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-finale {
    grid-column: 2 / 4;
    grid-row: 2;
    align-self: end;
    padding: 0 0 8px;
    gap: 16px;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-bottom {
    grid-column: 1 / -1;
    grid-row: 4;
    margin: 10px 0 0;
    padding: 7px 0;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-powered {
    flex-direction: row;
    gap: 10px;
  }
}
@media (min-width: 1151px) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-inner {
    grid-template-columns: minmax(280px, 1.25fr) minmax(150px, .78fr) minmax(170px, .85fr) minmax(280px, 1.08fr);
    column-gap: 32px;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact.pc-footer-desktop {
    grid-column: 4;
    grid-row: 1 / 3;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-bottom { grid-row: 3; }
}

/* Desktop refinement: balanced side cards and the same type for all footer links. */
@media (min-width: 768px) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--shortcuts .pc-footer-legal {
    font: inherit;
    letter-spacing: normal;
    gap: 14px;
    margin-top: 14px;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--shortcuts .pc-footer-legal > :is(a,button[data-privacy-settings]) {
    min-height: 0 !important;
    font: inherit !important;
    line-height: 1.6 !important;
    color: inherit;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-finale {
    --pc-finale-duration: 14s;
    padding-top: 8px;
    gap: 18px;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-mark { width: 112px; }
}
@media (min-width: 1151px) {
  html body footer.pc-footer[data-footer-finale] .pc-footer-brand {
    grid-row: 1;
    align-self: stretch;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact.pc-footer-desktop {
    grid-row: 1;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact.pc-footer-desktop .pc-footer-section-content {
    display: flex;
    flex: 1;
  }
  html body footer.pc-footer[data-footer-finale] .pc-footer-section--contact.pc-footer-desktop .pc-footer-contact {
    flex: 1;
    grid-template-rows: repeat(3, 1fr);
  }
}


/* Mobile review: full ending, original glass brand card and legible text. */
html body footer.pc-footer[data-footer-finale]{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;background:#090c10!important;padding:clamp(40px,5svh,72px) 5% 44px!important;border:0!important;box-shadow:none!important}
html body footer.pc-footer[data-footer-finale]>.pc-footer-inner{width:100%;max-width:1500px;margin-inline:auto}
html body footer.pc-footer[data-footer-finale]::before{display:none}
html body footer.pc-footer[data-footer-finale] .pc-footer-brand{background:linear-gradient(140deg,#ffffff12,#ffffff04)!important;border:1px solid #ffffff25!important;box-shadow:inset 0 1px 0 #ffffff13,0 14px 38px #0003!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
html body footer.pc-footer[data-footer-finale]>.oc-presentation-end{width:100%;padding:0 0 28px!important;margin:0!important;border:0!important;background:transparent!important;flex:0 0 auto}
html body footer.pc-footer[data-footer-finale]>.oc-presentation-end .oc-showcase-actions{padding:0 0 24px!important;border-top:0!important;border-bottom:1px solid #ffffff18!important;max-width:1500px;margin:0 auto}
html body footer.pc-footer[data-footer-finale] .pc-footer-spell>span{animation:none!important;opacity:1!important;clip-path:none!important}
html body #top-sticky-logo.pc-masthead-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:767px){
 html body footer.pc-footer[data-footer-finale]{padding:32px 20px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-brand{padding:23px 22px!important;margin:0 0 22px!important;border-radius:20px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-brand p{font-size:13px!important;line-height:1.75!important;margin:18px 0 20px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-socials{margin-bottom:18px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-section summary{min-height:52px!important;padding-block:12px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-finale{padding:22px 0 8px!important;gap:18px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-mark{width:72px!important}
 html body footer.pc-footer[data-footer-finale] .pc-footer-spell{font-size:19px!important}
 html body footer.pc-footer[data-footer-finale]>.oc-presentation-end .oc-showcase-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
 html body footer.pc-footer[data-footer-finale]>.oc-presentation-end .oc-showcase-actions a{min-width:0!important;max-width:none!important;width:auto!important;font-size:11px!important;padding:10px 5px!important;min-height:44px!important;box-sizing:border-box}
}
