/* The Designers shell follows Core's approved editorial header/footer.
   The pistachio border belongs to the moving footer, never to the header. */
.designers-platform-header,
.designers-platform-footer {
  --footer-band-surface:#dfe7ce;
  --scroll-header-height:calc(76px + env(safe-area-inset-top,0px));
  --footer-band-height:calc(clamp(100px,12svh,160px) + env(safe-area-inset-top,0px));
  font-family:SoulSans,Arial,sans-serif;
}
.designers-platform-header [hidden],
.designers-platform-footer [hidden] { display:none!important; }
.designers-platform-header {
  position:relative;
  display:flex;
  align-items:center;
  gap:18px;
  height:86px;
  min-height:86px;
  padding:env(safe-area-inset-top,0px) var(--gutter) 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  z-index:60;
}
.designers-platform-header .demo-menu {
  position:relative;
  inset:auto;
  display:flex;
  flex-direction:column;
  gap:5px;
  justify-content:center;
  align-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  padding:10px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  /* Color must switch in the same frame as the header's blend mode. */
  transition:none;
}
.designers-platform-header .demo-menu span {
  display:block;
  width:23px;
  height:1px;
  background:currentColor;
}
.designers-platform-header .demo-menu:is(:hover,:active) { background:transparent; color:inherit; border:0; }
.designers-platform-header .website-wordmark {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:44px;
  font:400 32px/1 SoulSans,Arial,sans-serif;
  letter-spacing:-.07em;
  text-decoration:none;
  white-space:nowrap;
  direction:ltr;
  background:transparent;
}
.designers-platform-header .brand-tagline { display:none; }
.designers-platform-header .demo-auth {
  position:static;
  display:flex;
  align-items:center;
  margin-inline-start:auto;
  font-size:13px;
}
.designers-platform-header .demo-auth a {
  display:flex;
  align-items:center;
  min-height:44px;
  font-size:13px;
  text-decoration:none;
}
.designers-platform-header .language-pair { margin:0; flex:none; }
.designers-platform-header .language-pair select {
  width:130px;
  max-width:100%;
  min-height:44px;
  margin:0;
  padding:8px 4px;
  border:0;
  background:transparent;
  color:inherit;
  font:400 12px/1.4 SoulSans,Arial,sans-serif;
}
.designers-platform-header.is-fixed {
  position:fixed;
  inset:0 0 auto;
  height:var(--scroll-header-height);
  min-height:var(--scroll-header-height);
  border:0;
  background:transparent;
  color:#fff;
  mix-blend-mode:difference;
  pointer-events:none;
}
.designers-platform-header.is-fixed :is(.demo-menu,.website-wordmark,.demo-auth a) { pointer-events:auto; }
.designers-platform-header.is-fixed .website-wordmark {
  top:calc(14px + env(safe-area-inset-top,0px));
  min-height:48px;
  gap:4px;
  font:500 26px/1 SoulSans,Arial,sans-serif;
  letter-spacing:-.065em;
}
.designers-platform-header.is-fixed .brand-tagline {
  display:block;
  margin:0;
  text-align:center;
  font:400 10px/1.3 SoulSans,Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:none;
}
.designers-platform-header.is-fixed .language-pair { visibility:hidden; pointer-events:none; }
.designers-platform-header.is-fixed.at-footer:not(.menu-open) {
  background:transparent;
  color:#fff;
  mix-blend-mode:difference;
  transform:translateY(var(--footer-brand-offset,0px));
}
.designers-platform-header.is-fixed.at-footer.footer-cap-covered:not(.menu-open) {
  color:#172016;
  mix-blend-mode:normal;
}
.designers-platform-header.is-fixed.at-footer:not(.menu-open) .demo-auth { visibility:hidden; pointer-events:none; }
.designers-platform-header .demo-drawer {
  position:fixed;
  inset:86px 0 0;
  z-index:70;
  padding:clamp(28px,5vh,64px) var(--gutter) max(28px,env(safe-area-inset-bottom,0px));
  overflow:auto;
  overscroll-behavior:contain;
  background:var(--paper);
  color:var(--ink);
  scrollbar-width:thin;
}
.designers-platform-header.menu-open {
  position:fixed;
  inset:0 0 auto;
  height:var(--scroll-header-height);
  min-height:var(--scroll-header-height);
  padding:env(safe-area-inset-top,0px) var(--gutter) 0;
  background:var(--paper);
  color:var(--ink);
  mix-blend-mode:normal;
  transform:none;
  pointer-events:auto;
  z-index:100;
}
.designers-platform-header.menu-open .website-wordmark {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:calc(14px + env(safe-area-inset-top,0px));
  font-size:26px;
  min-height:48px;
  gap:4px;
}
.designers-platform-header.menu-open .brand-tagline { display:block; font:400 10px/1.3 SoulSans,Arial,sans-serif; letter-spacing:.06em; }
.designers-platform-header.menu-open :is(.demo-auth,.language-pair) { visibility:hidden; pointer-events:none; }
.designers-platform-header.menu-open .demo-drawer { inset-block-start:var(--scroll-header-height); pointer-events:auto; }
.designers-platform-header .demo-drawer nav { display:flex; flex-direction:column; align-items:flex-start; gap:28px; width:100%; }
.designers-platform-header .demo-menu-primary { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.designers-platform-header .demo-menu-primary a { display:block; width:fit-content; min-height:44px; padding:2px 0; font:400 clamp(28px,2.6vw,42px)/1.16 SoulSans,Arial,sans-serif; letter-spacing:-.035em; text-decoration:none; text-wrap:balance; }
.designers-platform-header .demo-menu-side { width:min(100%,480px); }
.designers-platform-header .demo-menu-tools { display:flex; flex-wrap:wrap; gap:0 22px; }
.designers-platform-header .demo-menu-tools a { display:flex; align-items:center; min-height:44px; padding:8px 0; font:400 13px/1.4 SoulSans,Arial,sans-serif; color:var(--muted); text-decoration:none; }
.designers-platform-header .demo-drawer a[aria-current=page] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.designers-platform-header .demo-drawer:focus { outline:0; }
.designers-platform-header :focus-visible { outline:2px solid currentColor; outline-offset:4px; }

/* These zero-height controller siblings only match this scoped shell. */
.editorial-header-anchor:has(+ .editorial-header-spacer + .designers-platform-header) { display:block; position:relative; height:0; pointer-events:none; --scroll-header-height:calc(76px + env(safe-area-inset-top,0px)); }
.editorial-header-anchor:has(+ .editorial-header-spacer + .designers-platform-header) .editorial-header-probe { position:absolute; left:0; width:1px; height:1px; pointer-events:none; }
.editorial-header-spacer:has(+ .designers-platform-header) { display:block; height:0; pointer-events:none; }
.editorial-header-spacer.is-active:has(+ .designers-platform-header) { height:var(--header-space,86px); }

.designers-platform-footer {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  width:100%;
  min-width:0;
  min-height:calc(var(--footer-scene-height,100dvh) + var(--footer-band-height) - var(--scroll-header-height));
  margin:0;
  padding:24px var(--gutter) calc(66px + env(safe-area-inset-bottom,0px));
  border:0;
  border-top:var(--footer-band-height) solid var(--footer-band-surface);
  background:#172016;
  color:#edf0e3;
  font-size:12px;
}
.designers-platform-footer .sw-footer-top { display:block; width:100%; padding:0; border:0; }
.designers-platform-footer .sw-footer-name {
  display:flex;
  justify-content:space-between;
  width:100%;
  margin:0;
  font:400 clamp(36px,16.2vw,min(370px,34svh))/.95 SoulSans,Arial,sans-serif;
  letter-spacing:.025em;
  white-space:nowrap;
  text-align:center;
}
.designers-platform-footer .sw-footer-name>span { font:inherit; letter-spacing:inherit; color:inherit; transition:transform .5s,color .6s; }
.designers-platform-footer .sw-footer-name>span:nth-child(1) { --letter:0; }
.designers-platform-footer .sw-footer-name>span:nth-child(2) { --letter:1; }
.designers-platform-footer .sw-footer-name>span:nth-child(3) { --letter:2; }
.designers-platform-footer .sw-footer-name>span:nth-child(4) { --letter:3; }
.designers-platform-footer .sw-footer-name>span:nth-child(5) { --letter:4; }
.designers-platform-footer .sw-footer-name>span:nth-child(6) { --letter:5; }
.designers-platform-footer .sw-footer-name>span:nth-child(7) { --letter:6; }
.designers-platform-footer .sw-footer-name>span:nth-child(8) { --letter:7; }
.designers-platform-footer .sw-footer-name>span { transition-delay:calc(var(--letter)*.02s); }
.designers-platform-footer .footer-resources { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; padding-top:25px; border-top:1px solid #59624f; }
.designers-platform-footer a { color:inherit; text-decoration:none; }
.designers-platform-footer .footer-resources a { display:flex; align-items:center; min-height:44px; font-size:12px; }
.designers-platform-footer .sw-feedback-banner { margin:0; }
.designers-platform-footer .sw-contact-block { width:100%; padding:24px 0; border-block:1px solid #edf0e333; }
.designers-platform-footer .sw-footer-credits { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin:0; padding:12px 0; }
.designers-platform-footer .sw-credit { display:flex; align-items:center; gap:12px; min-height:44px; padding:0; border:0; background:none; }
.designers-platform-footer .sw-credit-mark { display:block; flex:none; width:12px; height:16px; border:1px solid currentColor; border-radius:50%; }
.designers-platform-footer .sw-credit-copy { display:grid; gap:5px; }
.designers-platform-footer .sw-credit-copy small { font-size:12px; }
.designers-platform-footer .sw-credit-copy strong { font-size:12px; font-weight:500; }
.designers-platform-footer .sw-credit--name { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.designers-platform-footer .sw-footer-legal { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 20px; min-height:32px; padding-top:16px; border-top:1px solid #a9b19c; color:#d8dfcb; }
.designers-platform-footer .sw-footer-legal nav { display:flex; flex-wrap:wrap; gap:0 20px; }
.designers-platform-footer .sw-footer-legal a { display:flex; align-items:center; min-height:44px; font-size:11px; }
.designers-platform-footer .sw-footer-legal>span { font-size:12px; }
.designers-platform-footer .footer-back { position:absolute; inset-inline-start:var(--gutter); bottom:15px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; font-size:35px; }
.designers-platform-footer :focus-visible { outline:2px solid #d9ffb1; outline-offset:4px; }
@media(hover:hover) {
  .designers-platform-header .demo-drawer a { transition:color .15s,translate .2s; }
  .designers-platform-header .demo-drawer a:hover { color:#526a35; translate:4px 0; }
  .designers-platform-footer .sw-footer-name:hover>span { color:#d9ff64; transform:translateY(calc((var(--letter) - 3)*-2px)); }
  .designers-platform-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
}
@media(max-width:740px) {
  .designers-platform-header { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; grid-template-rows:44px auto; gap:0 8px; height:112px; min-height:112px; padding-block:12px 0; }
  .designers-platform-header .website-wordmark { position:static; transform:none; grid-column:2; grid-row:1; justify-self:center; max-width:100%; font-size:24px; }
  .designers-platform-header .demo-menu { grid-column:1; grid-row:1; }
  .designers-platform-header .language-pair { grid-column:3; grid-row:1; justify-self:end; width:44px; }
  .designers-platform-header .language-pair select { width:44px; max-width:44px; font-size:11px; }
  .designers-platform-header .demo-auth { grid-column:1/-1; grid-row:2; justify-content:center; min-height:52px; margin:0; padding:0; }
  .designers-platform-header .demo-drawer { inset-block-start:112px; }
  .designers-platform-header .demo-drawer nav { gap:24px; }
  .designers-platform-header .demo-menu-primary a { font-size:clamp(27px,7vw,36px); }
  .designers-platform-header.is-fixed:not(.at-footer):not(.menu-open) { height:112px; min-height:112px; }
  .designers-platform-header.is-fixed:not(.at-footer):not(.menu-open) .website-wordmark { position:static; transform:none; font-size:24px; }
  .designers-platform-header.is-fixed.at-footer:not(.menu-open),.designers-platform-header.menu-open { display:flex; height:var(--scroll-header-height); min-height:var(--scroll-header-height); padding-block:env(safe-area-inset-top,0px) 0; }
  .designers-platform-header.is-fixed.at-footer:not(.menu-open) .website-wordmark { position:absolute; left:50%; transform:translateX(-50%); top:calc(14px + env(safe-area-inset-top,0px)); }
  .designers-platform-header.is-fixed.at-footer:not(.menu-open) .demo-auth { display:none; }
  .designers-platform-header.menu-open .demo-drawer { padding-top:24px; }
}
@media(max-width:620px) {
  .designers-platform-footer .footer-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .designers-platform-footer .sw-footer-legal { align-items:flex-start; }
  .designers-platform-footer .sw-footer-legal nav { gap:0 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .designers-platform-header .demo-drawer a,.designers-platform-footer .sw-footer-name>span { transition:none; }
  .designers-platform-header .demo-drawer a:hover,.designers-platform-footer .sw-footer-name:hover>span { transform:none; translate:none; }
}
@media print {
  .designers-platform-header,.designers-platform-footer,.editorial-header-spacer:has(+ .designers-platform-header) { display:none!important; }
}

/* Designers actions are local to this section; global navigation lives above. */
.designers-section-nav{padding-inline:var(--gutter);gap:26px;min-height:52px;border-top:0}
.designers-section-nav a{font-size:11px}
@media(max-width:480px){.designers-section-nav{gap:16px;flex-wrap:wrap;padding-block:6px}.designers-section-nav a{min-height:44px}}
