:root{
 --public-width:1200px;
 --public-gutter:40px;
 --public-mobile-gutter:24px;
 --public-red:#c8102e;
 --public-red-dark:#98091f;
 --public-ink:#24171a;
 --public-muted:#79666c;
 --public-line:#eadde0;
}
.public-header{
 position:relative;z-index:100;height:76px;background:#fff;
 border-bottom:1px solid var(--public-line)
}
.public-header-in{
 width:min(var(--public-width),calc(100% - var(--public-gutter)));
 height:100%;margin:auto;display:flex;align-items:center;gap:22px
}
.public-brand{flex:0 0 auto;display:flex;align-items:center}
.public-brand img{display:block;width:188px;height:auto}
.public-desktop-menu{
 margin-left:24px;display:flex;align-items:center;gap:7px
}
.public-desktop-menu a{
 padding:10px 9px;border-radius:8px;color:#49383d;
 text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap
}
.public-desktop-menu a:hover,.public-desktop-menu a.active{
 background:#fff0f2;color:var(--public-red)
}
.public-actions{
 margin-left:auto;display:flex;align-items:center;gap:10px
}
.public-actions a{
 padding:10px 12px;border-radius:9px;color:#4f3b40;
 text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap
}
.public-actions .employer-link{
 border:1px solid #e5d5d8;color:var(--public-red)
}
.public-actions .employer-link:hover{background:#fff0f2}
.public-menu-button{
 display:none;margin-left:auto;width:42px;height:42px;padding:10px;
 border:0;border-radius:10px;background:#fff0f2;cursor:pointer
}
.public-menu-button i{
 display:block;width:21px;height:2px;margin:4px auto;
 border-radius:3px;background:var(--public-red);transition:.2s
}
.public-menu-button.open i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.public-menu-button.open i:nth-child(2){opacity:0}
.public-menu-button.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.public-menu-backdrop{
 display:none;position:fixed;inset:0;z-index:108;border:0;
 background:rgba(30,18,22,.44);backdrop-filter:blur(2px)
}
.public-menu-backdrop.open{display:block}
.public-mobile-menu{
 position:fixed;top:0;right:0;z-index:110;width:min(330px,88vw);height:100dvh;
 padding:16px;background:#fff;box-shadow:-20px 0 55px rgba(37,18,24,.2);
 transform:translateX(105%);visibility:hidden;transition:.24s ease;
 overflow-y:auto
}
.public-mobile-menu.open{transform:translateX(0);visibility:visible}
.public-mobile-head{
 display:flex;align-items:center;justify-content:space-between;
 padding-bottom:14px;border-bottom:1px solid var(--public-line)
}
.public-mobile-head img{width:145px;height:auto}
.public-menu-close{
 width:38px;height:38px;border:0;border-radius:9px;
 background:#fff0f2;color:var(--public-red);font-size:25px;cursor:pointer
}
.public-mobile-menu>small{
 display:block;margin:21px 10px 8px;color:#a0858b;
 font-size:9px;font-weight:900;letter-spacing:.13em
}
.public-mobile-menu>a{
 min-height:45px;padding:11px 10px;border-radius:9px;
 display:flex;align-items:center;justify-content:space-between;
 color:#4c383d;text-decoration:none;font-size:13px;font-weight:700
}
.public-mobile-menu>a:hover{background:#fff4f5;color:var(--public-red)}
.public-mobile-menu>a.red{background:var(--public-red);color:#fff}
.public-mobile-mini{
 display:flex;gap:15px;margin-top:20px;padding:15px 10px;
 border-top:1px solid var(--public-line)
}
.public-mobile-mini a{
 color:#806a70;text-decoration:none;font-size:11px
}
body.public-menu-open{overflow:hidden}
.public-footer{
 margin-top:auto;background:#fff;border-top:1px solid var(--public-line)
}
.public-footer-in{
 width:min(var(--public-width),calc(100% - var(--public-gutter)));
 margin:auto;padding:45px 0 35px;display:grid;
 grid-template-columns:250px minmax(0,1fr);gap:65px
}
.public-footer-brand img{display:block;width:210px;height:auto}
.public-footer-brand p{
 margin:9px 0 0;color:var(--public-muted);font-size:12px
}
.public-footer-nav{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px
}
.public-footer-nav div{display:grid;align-content:start;gap:9px}
.public-footer-nav b{margin-bottom:4px;font-size:12px}
.public-footer-nav a{
 color:#6e5a60;text-decoration:none;font-size:11px
}
.public-footer-nav a:hover{color:var(--public-red)}
.public-legal{
 width:min(var(--public-width),calc(100% - var(--public-gutter)));
 margin:auto;padding:18px 0;border-top:1px solid var(--public-line);
 display:flex;align-items:center;gap:18px;color:#88747a;font-size:10px
}
.public-legal a{color:inherit;text-decoration:none}
.public-legal a:hover{color:var(--public-red)}
.public-legal small{margin-left:auto}
@media(max-width:1100px){
 .public-desktop-menu{gap:2px;margin-left:8px}
 .public-desktop-menu a{padding:9px 6px;font-size:12px}
 .public-actions a{padding:9px 8px;font-size:12px}
}
@media(max-width:900px){
 .public-header{height:66px}
 .public-header-in{
  width:calc(100% - var(--public-mobile-gutter))
 }
 .public-brand img{width:158px}
 .public-desktop-menu,.public-actions{display:none}
 .public-menu-button{display:block}
 .public-footer-in{
  width:calc(100% - var(--public-mobile-gutter));
  grid-template-columns:1fr;gap:28px;padding:34px 0 28px
 }
 .public-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .public-legal{
  width:calc(100% - var(--public-mobile-gutter));
  flex-wrap:wrap
 }
 .public-legal small{width:100%;margin-left:0}
}
@media(max-width:480px){
 .public-footer-nav{grid-template-columns:1fr 1fr;gap:24px 16px}
 .public-footer-brand img{width:180px}
}

/* Public menu interaction */
.public-header{
 position:sticky!important;
 top:0!important;
 box-shadow:0 1px 0 rgba(36,23,26,.03),0 8px 24px rgba(36,23,26,.045);
}
.public-desktop-menu a{
 position:relative;
 border-radius:0;
 background:transparent!important;
}
.public-desktop-menu a::after{
 content:"";
 position:absolute;
 left:9px;
 right:9px;
 bottom:3px;
 height:2px;
 border-radius:2px;
 background:var(--public-red);
 transform:scaleX(0);
 transform-origin:center;
 transition:transform .18s ease;
}
.public-desktop-menu a:hover,
.public-desktop-menu a.active{
 background:transparent!important;
 color:var(--public-red);
}
.public-desktop-menu a:hover::after,
.public-desktop-menu a.active::after{
 transform:scaleX(1);
}

.public-disclaimer{
 width:min(var(--public-width),calc(100% - var(--public-gutter)));
 margin:0 auto;
 padding:16px 0;
 border-top:1px solid var(--public-line);
 color:#806f74;
 font-size:9px;
 line-height:1.65;
 letter-spacing:.05px;
}
.public-disclaimer b{color:#5d4a50;font-size:9px}
@media(max-width:760px){
 .public-disclaimer{
  width:calc(100% - var(--public-mobile-gutter));
  padding:14px 0;
  font-size:8.5px;
  line-height:1.6;
 }
}
