/* ALIFY v0.8.3 — Cohere shell rebuild
   Header/footer use the same global container as page sections.
   Desktop dropdowns are full-bleed surfaces with container-aligned content.
   Hover language is deliberately restrained. */

/* --------------------------------------------------------------------------
   Shared shell alignment
   -------------------------------------------------------------------------- */
.site-header__inner,
.announcement__inner,
.footer-newsletter-shell,
.footer-directory-shell,
.footer-bottom,
.nav-dropdown__inner{
  width:min(var(--container),calc(100% - (2 * var(--pad))));
  max-width:var(--container);
  margin-inline:auto;
}

/* --------------------------------------------------------------------------
   Announcement
   -------------------------------------------------------------------------- */
.announcement{
  min-height:36px;
  padding:0;
  background:#000;
  color:#fff;
  font-family:var(--body);
}
.announcement__inner{
  min-height:36px;
  padding:0 40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  position:relative;
}
.announcement__inner p{
  margin:0;
  color:#fff;
  font-size:12px;
  line-height:1.35;
}
.announcement__inner>a{
  color:#fff;
  font-size:12px;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:opacity .18s ease;
}
.announcement__inner>a:hover,
.announcement__inner>a:focus-visible{opacity:.62}
.announcement__close{
  position:absolute;
  right:0;
  top:50%;
  width:32px;
  height:32px;
  padding:0;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:opacity .18s ease;
}
.announcement__close:hover{opacity:.62}

/* --------------------------------------------------------------------------
   Header — three zones, exact container alignment
   -------------------------------------------------------------------------- */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  height:72px;
  padding:0;
  background:#fff;
  border-bottom:1px solid var(--line-light);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
}
.site-header.is-scrolled{background:#fff;border-color:var(--line-light)}
.site-header__inner{
  height:72px;
  padding:0;
  display:flex;
  align-items:center;
  gap:24px;
  position:relative;
}
.brand{
  flex:0 0 auto;
  margin:0;
  color:#000;
  font-family:var(--display);
  font-size:25px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.045em;
}
.custom-logo{display:block;width:auto;max-height:30px}

.primary-nav{
  position:static;
  flex:1 1 auto;
  margin:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:28px;
  align-self:stretch;
  color:var(--ink-strong);
  font-family:var(--body);
  font-size:14px;
  line-height:1;
}
.primary-nav>a,
.nav-group__label>a{
  min-height:72px;
  padding:0;
  display:flex;
  align-items:center;
  color:inherit;
  font-size:14px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  opacity:1;
  transition:opacity .18s ease;
}
.primary-nav>a:hover,
.primary-nav>a:focus-visible,
.nav-group:hover .nav-group__label>a,
.nav-group:focus-within .nav-group__label>a{opacity:.56}
.primary-nav>a:after,
.nav-group__label>a:after,
.nav-group.is-current-parent>a:after{display:none!important;content:none!important}
.primary-nav .is-current,
.nav-group.is-current-parent .nav-group__label>a{font-weight:400}

.nav-group{
  position:static;
  height:72px;
  display:flex;
  align-items:stretch;
}
.nav-group__label{
  height:72px;
  display:flex;
  align-items:center;
}
.nav-toggle{
  width:20px;
  height:72px;
  margin:0;
  padding:0 0 0 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  opacity:1;
  transition:opacity .18s ease;
}
.nav-toggle:hover{opacity:.56}
.nav-toggle i{font-size:11px;transition:transform .18s ease}
.nav-group:hover .nav-toggle i,
.nav-group:focus-within .nav-toggle i,
.nav-group.is-open .nav-toggle i{transform:rotate(180deg)}

/* Full viewport dropdown surface; content stays in global .container. */
.nav-dropdown{
  position:absolute;
  top:72px;
  left:50%;
  width:100vw;
  min-width:100vw;
  padding:0;
  margin:0;
  transform:translate(-50%,-7px);
  display:block;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  background:#fff;
  border:0;
  border-top:1px solid var(--line-light);
  border-bottom:1px solid var(--line);
  border-radius:0;
  color:var(--ink-strong);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
  overflow:visible;
  z-index:90;
}
.nav-group:hover>.nav-dropdown,
.nav-group:focus-within>.nav-dropdown,
.nav-group.is-open>.nav-dropdown{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
  transition-delay:0s;
}
.nav-dropdown__inner{
  min-height:286px;
  padding:32px 0 36px;
  display:flex;
  align-items:stretch;
  gap:0;
}
.nav-dropdown__intro{
  flex:0 0 31%;
  min-width:0;
  padding:4px 48px 4px 0;
  border-right:1px solid var(--line-light);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.nav-dropdown__intro>span{
  display:block;
  margin:0 0 22px;
  color:var(--muted-2);
  font:400 11px/1.3 var(--mono);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.nav-dropdown__intro p{
  max-width:31ch;
  margin:0;
  color:var(--ink-strong);
  font-size:18px;
  line-height:1.42;
}
.nav-dropdown__overview{
  margin-top:auto;
  padding:8px 0 2px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink-strong);
  font-size:14px;
  line-height:1.2;
  border-bottom:1px solid currentColor;
  transition:opacity .18s ease;
}
.nav-dropdown__overview:hover{opacity:.56}
.nav-dropdown__links{
  flex:1;
  min-width:0;
  padding:0 0 0 42px;
  display:flex;
  align-content:flex-start;
  flex-wrap:wrap;
}
.nav-dropdown__links>a{
  flex:0 0 50%;
  min-width:0;
  min-height:72px;
  padding:0 16px 0 0;
  display:flex;
  align-items:center;
  gap:15px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line-light);
  border-radius:0;
  color:var(--ink-strong);
  opacity:1;
  transition:opacity .18s ease;
}
.nav-dropdown__links>a:nth-last-child(-n+2){border-bottom-color:transparent}
.nav-dropdown__links>a:hover,
.nav-dropdown__links>a:focus-visible{background:transparent;opacity:.56}
.nav-dropdown__links>a>span{
  flex:0 0 28px;
  color:var(--muted-2);
  font:400 10px/1 var(--mono);
}
.nav-dropdown__links>a>strong{
  flex:1;
  color:inherit;
  font-size:15px;
  font-weight:400;
  line-height:1.3;
}
.nav-dropdown__links>a>i{font-size:14px;transform:none;transition:none}
.nav-dropdown__all>span{text-transform:uppercase}

.header-actions{
  flex:0 0 auto;
  margin:0;
  display:flex;
  align-items:center;
  gap:18px;
}
.header-secondary{
  color:var(--ink-strong);
  font-size:14px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  transition:opacity .18s ease;
}
.header-secondary:hover,
.header-secondary:focus-visible{opacity:.56}
.header-primary{
  min-height:44px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid var(--ink-strong);
  border-radius:32px;
  background:var(--ink-strong);
  color:#fff;
  font-size:14px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease;
}
.header-primary:hover,
.header-primary:focus-visible{background:#34343a;color:#fff}
.header-primary i{font-size:13px;transform:none!important;transition:none!important}
.header-search{display:none!important}
.menu-trigger{
  display:none;
  min-width:82px;
  height:42px;
  padding:0 14px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:32px;
  background:#fff;
  color:var(--ink-strong);
  font-size:13px;
  font-weight:400;
  cursor:pointer;
  transition:opacity .18s ease;
}
.menu-trigger:hover{opacity:.56}

/* --------------------------------------------------------------------------
   Push menu
   -------------------------------------------------------------------------- */
.push-menu{
  padding:0 var(--pad) 34px;
  background:var(--ink-strong);
  justify-content:flex-start;
}
.push-menu__top{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.brand--menu{color:#fff}
.push-menu__close{
  position:static;
  width:auto;
  height:42px;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:32px;
  background:transparent;
  color:#fff;
  font-size:13px;
  transition:opacity .18s ease;
}
.push-menu__close:hover{opacity:.6}
.push-menu nav{
  flex:1;
  margin:16px 0 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
}
.push-menu nav a{
  min-height:clamp(62px,8vh,92px);
  display:flex;
  align-items:center;
  gap:18px;
  border-bottom:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-family:var(--body);
  font-size:clamp(31px,5vw,62px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  transition:opacity .18s ease;
}
.push-menu nav a:hover{opacity:.58}
.push-menu nav a>span{flex:0 0 32px;color:#777780;font:400 10px/1 var(--mono)}
.push-menu nav a>strong{flex:1;font:inherit}
.push-menu nav a>i{font-size:18px;transform:none!important;transition:none!important}
.push-menu__footer{
  padding-top:26px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
}
.push-menu__actions{display:flex;align-items:center;gap:18px}
.push-menu__meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:#93939f;font-size:12px}
.push-menu__meta a{color:#fff;transition:opacity .18s ease}
.push-menu__meta a:hover{opacity:.6}

/* --------------------------------------------------------------------------
   Footer — full dark field, every content row in same global container
   -------------------------------------------------------------------------- */
.site-footer{
  width:100%;
  margin:0;
  padding:0;
  background:var(--ink-strong);
  color:#fff;
  overflow:hidden;
}
.footer-newsletter-shell{
  padding:clamp(82px,8vw,118px) 0 clamp(60px,6vw,86px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(56px,8vw,126px);
  border-bottom:1px solid #34343a;
}
.footer-newsletter__copy{flex:1 1 55%;max-width:680px}
.footer-accent-label{
  margin:0 0 16px;
  color:var(--coral);
  font-size:14px;
  font-weight:400;
  line-height:1.3;
}
.footer-newsletter__copy h2{
  max-width:11ch;
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(42px,4.4vw,62px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
  text-transform:none;
}
.footer-newsletter__copy>p:last-child{
  max-width:520px;
  margin:20px 0 0;
  color:#93939f;
  font-size:14px;
  line-height:1.55;
}
.footer-newsletter__form-wrap{flex:0 1 500px;max-width:500px;width:100%}
.footer-newsletter-form{
  position:relative;
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:0;
  border-bottom:1px solid #5d5d66;
  transition:border-color .18s ease;
}
.footer-newsletter-form:focus-within{border-bottom-color:#fff}
.footer-newsletter-form input[type=email]{
  flex:1;
  width:100%;
  min-width:0;
  height:58px;
  padding:0 54px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  font-size:16px;
  outline:0;
}
.footer-newsletter-form input[type=email]::placeholder{color:#93939f}
.footer-newsletter-form button{
  position:absolute;
  right:0;
  top:7px;
  width:44px;
  height:44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#fff;
  font-size:20px;
  cursor:pointer;
  opacity:1;
  transform:none;
  transition:opacity .18s ease;
}
.footer-newsletter-form button:hover{opacity:.55;transform:none}
.footer-newsletter__legal{
  margin:12px 0 0;
  color:#73737e;
  font-size:11px;
  line-height:1.55;
}
.footer-newsletter__legal a{
  color:#a6a6af;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:opacity .18s ease;
}
.footer-newsletter__legal a:hover{opacity:.58}

.footer-directory-shell{
  padding:clamp(58px,6vw,82px) 0 clamp(62px,6vw,86px);
  display:flex;
  align-items:flex-start;
  gap:clamp(76px,8vw,126px);
}
.footer-brand-column{
  flex:0 0 min(31%,390px);
  max-width:390px;
}
.brand--footer{
  display:inline-flex;
  margin:0 0 26px;
  color:#fff;
  font-size:28px;
  font-weight:500;
}
.footer-brand-column>p{
  max-width:34ch;
  margin:0;
  color:#93939f;
  font-size:14px;
  line-height:1.55;
}
.footer-primary-link{
  margin:28px 0 0;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:14px;
  font-weight:400;
  line-height:1.3;
  transition:opacity .18s ease;
}
.footer-primary-link:hover{opacity:.56}
.footer-primary-link i{transform:none!important;transition:none!important}
.footer-directory{
  flex:1;
  min-width:0;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:clamp(28px,3vw,48px);
}
.footer-column{
  flex:1 1 0;
  min-width:118px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-column h3{
  margin:0 0 20px;
  color:#fff;
  font-family:var(--body);
  font-size:13px;
  font-weight:400;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
}
.footer-column a{
  display:inline-block;
  padding:4px 0;
  color:#93939f;
  font-family:var(--body);
  font-size:14px;
  font-weight:400;
  line-height:1.45;
  transform:none;
  transition:color .18s ease,opacity .18s ease;
}
.footer-column a:hover,
.footer-column a:focus-visible{color:#fff;opacity:1;transform:none}
.footer-bottom{
  min-height:78px;
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-top:1px solid #34343a;
  color:#73737e;
  font-family:var(--body);
  font-size:12px;
}
.footer-meta{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.footer-meta p,
.footer-meta span{
  margin:0;
  color:#73737e;
  font:400 12px/1.45 var(--body);
}
.footer-socials{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.footer-socials a{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #3d3d44;
  border-radius:50%;
  color:#fff;
  opacity:1;
  transition:opacity .18s ease,border-color .18s ease;
}
.footer-socials a:hover{opacity:.58;border-color:#5c5c65}
.back-top{
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:#fff;
  font:400 12px/1.3 var(--body);
  cursor:pointer;
  transition:opacity .18s ease;
}
.back-top:hover{opacity:.58}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  .primary-nav{gap:18px}
  .header-actions{gap:12px}
  .header-secondary{display:none}
  .nav-dropdown__intro{flex-basis:28%;padding-right:34px}
  .nav-dropdown__links{padding-left:32px}
  .footer-directory-shell{gap:58px}
  .footer-directory{flex-wrap:wrap}
  .footer-column{flex:1 1 calc(50% - 24px)}
}
@media (max-width:920px){
  .site-header,.site-header__inner{height:68px}
  .primary-nav{display:none}
  .header-primary{display:none}
  .menu-trigger{display:flex}
  .nav-dropdown{display:none!important}
  .footer-newsletter-shell,
  .footer-directory-shell{flex-direction:column;align-items:stretch}
  .footer-newsletter__form-wrap,
  .footer-brand-column{flex-basis:auto;max-width:none;width:100%}
  .footer-directory{width:100%}
  .push-menu__footer{align-items:flex-start;flex-direction:column}
  .push-menu__meta{align-items:flex-start}
}
@media (max-width:620px){
  .announcement__inner{justify-content:flex-start;padding:0 38px 0 0;overflow:hidden}
  .announcement__inner p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .announcement__inner>a{white-space:nowrap}
  .site-header__inner{gap:14px}
  .brand{font-size:23px}
  .menu-trigger{min-width:44px;width:44px;padding:0}
  .menu-trigger span{display:none}
  .footer-newsletter-shell{padding-top:64px;padding-bottom:54px}
  .footer-directory-shell{padding-top:50px;padding-bottom:50px}
  .footer-directory{display:flex;flex-wrap:wrap;gap:34px 24px}
  .footer-column{flex:1 1 calc(50% - 24px);min-width:135px}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .footer-socials{margin-left:0}
  .push-menu{padding-inline:20px}
  .push-menu__top{height:74px}
  .push-menu nav a{min-height:62px;font-size:clamp(30px,10vw,46px)}
  .push-menu__actions{align-items:flex-start;flex-direction:column}
}
