@font-face{font-family:'Rally Display';src:url('/assets/outfit-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
/* One wordmark across the recruiter guide and the presentation. */
.rally-signature{display:block;text-align:center;white-space:nowrap;line-height:.9}
.rally-signature .rally-word{display:block;font-family:'Rally Display',Arial,sans-serif;font-weight:800;font-style:normal;letter-spacing:-.065em}
.rally-signature .rally-descriptor{display:block;font-family:Manrope,Arial,sans-serif;font-weight:500;font-style:normal;letter-spacing:.48em;padding-left:.48em;line-height:1.2}
.opening .rally-signature--hero{margin:35px 0 70px}
.opening .rally-signature--hero>.rally-word{font-size:clamp(78px,17vw,290px);padding:0;line-height:.95;background:linear-gradient(170deg,#fff 25%,#e3e3e3 58%,#777 100%);color:transparent;background-clip:text;-webkit-background-clip:text}
.opening .rally-signature--hero>.rally-descriptor{font-size:clamp(20px,2.7vw,44px);margin-top:30px;letter-spacing:.48em;padding-left:.48em}
.mini-brand{font-family:'Rally Display',Arial,sans-serif;font-weight:800;font-style:normal;letter-spacing:-.06em;font-size:25px}
.mini-brand span{font-family:Manrope,Arial,sans-serif}
.rally-signature--call{margin:0 0 27px;line-height:.9}
.rally-signature--call .rally-word{font-size:clamp(70px,8.1vw,112px)}
.rally-signature--call .rally-descriptor{font-size:13px;margin-top:12px}
.rally-signature--footer .rally-word{font-size:clamp(80px,16vw,235px)}
.rally-signature--footer .rally-descriptor{font-size:clamp(16px,2.1vw,30px);margin-top:22px}
.housing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.housing-gallery figure{min-width:0}
.housing-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.housing-gallery figcaption{font-size:20px;font-weight:500;letter-spacing:-.035em;padding-top:18px;color:#222}
.housing .housing-note{font-size:14px;margin-top:25px;color:#666}
@media(max-width:760px){
 .opening .rally-signature--hero{margin:25px 0 80px}
 .opening .rally-signature--hero>.rally-word{font-size:17vw}
 .opening .rally-signature--hero>.rally-descriptor{font-size:20px;margin-top:20px}
 .mini-brand{font-size:25px}
 .housing-gallery{gap:12px}
 .housing-gallery img{aspect-ratio:1/1}
 .housing-gallery figcaption{font-size:15px;line-height:1.3;padding-top:12px}
 .housing .housing-note{margin-top:20px}
 .rally-signature--call{margin-bottom:23px}
 .rally-signature--call .rally-word{font-size:clamp(56px,17vw,90px)}
 .rally-signature--call .rally-descriptor{font-size:11px;margin-top:10px}
 .rally-signature--footer .rally-word{font-size:17vw}
 .rally-signature--footer .rally-descriptor{font-size:16px;margin-top:16px}
}

.opening-content{min-width:0}.rally-signature{min-width:0}

/* Updated editorial wordmark and section typography. */
@font-face{font-family:'Rally Script';src:url('/assets/allura-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.rally-signature .rally-word{font-weight:900;letter-spacing:-.055em}
.rally-signature .rally-descriptor{font-family:'Rally Script',cursive;font-weight:400;letter-spacing:0;padding-left:0;line-height:1}
.opening .rally-signature--hero>.rally-word{font-size:clamp(90px,23vw,360px);line-height:.85}
.opening .rally-signature--hero>.rally-descriptor{font-size:clamp(44px,6vw,90px);letter-spacing:0;padding-left:0;margin-top:18px}
.mini-brand{font-size:34px;line-height:.85;font-weight:900;letter-spacing:-.05em}
.mini-brand span{font-family:'Rally Script',cursive;font-size:21px;font-weight:400;letter-spacing:0;line-height:1;margin-top:3px}
.rally-signature--call .rally-descriptor{font-size:28px;margin-top:7px}
.rally-signature--footer .rally-word{font-size:clamp(90px,23vw,320px)}
.rally-signature--footer .rally-descriptor{font-size:clamp(40px,5vw,72px);margin-top:12px}
.day h2,.training h2,.careers h2{font-family:'Rally Display',Arial,sans-serif;font-size:clamp(48px,6.6vw,94px);font-weight:600;letter-spacing:-.055em;line-height:1}
.day h2 em,.training h2 em,.careers h2 em{font-weight:400}
.day-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aaa;border-left:1px solid #bbb}
.day-schedule li{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:30px;min-height:235px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;background:transparent}
.day-schedule time{font-family:'Rally Display',sans-serif;font-size:22px;font-weight:500;color:#656565;letter-spacing:-.03em}
.day-schedule h3{font-family:'Rally Display',sans-serif;font-size:29px;font-weight:500;letter-spacing:-.035em;line-height:1.1}
.day-schedule p{font-size:16px;line-height:1.5;margin-top:12px}
.training .split-heading,.careers .split-heading{padding-bottom:30px;border-bottom:1px solid #8886}
.training-layout{gap:0;border:1px solid #bbb;background:#ededeb}
.training-layout>figure{height:100%;min-height:600px;overflow:hidden}
.training-layout>figure img{height:100%;object-position:50% 80%}
.training-topics{padding:16px 34px}
.training-topics>div,.training-topics>div:first-child{position:relative;padding:22px 0 22px 25px;border:0;border-bottom:1px solid #bbb}
.training-topics>div:last-child{border-bottom:0}
.training-topics>div:before{content:'';position:absolute;top:33px;left:0;width:6px;height:6px;background:#222;transform:rotate(45deg)}
.training-topics h3{font-family:'Rally Display',sans-serif;font-size:27px;font-weight:500;letter-spacing:-.03em}
.training-topics p{font-size:16px;line-height:1.5;margin-top:8px}
.career-layout{gap:0;border:1px solid #555;background:linear-gradient(145deg,#222,#111)}
.career-layout>figure{height:100%;min-height:650px;overflow:hidden}
.career-layout>figure>img{height:100%;object-position:50% 60%}
.career-layout>div{padding:36px}
.career-layout h3{font-family:'Rally Display',sans-serif;font-size:clamp(32px,3.3vw,48px);font-weight:500;letter-spacing:-.035em}
.career-layout .clean-list li{font-size:18px;padding:16px 0}
.career-layout .sample-license{width:220px;height:155px;margin-top:20px;border-radius:10px;filter:grayscale(1)}
.career-layout .section-note{font-size:14px;margin-top:20px}
@media(max-width:760px){
 .opening .rally-signature--hero>.rally-word{font-size:25vw}
 .opening .rally-signature--hero>.rally-descriptor{font-size:48px;margin-top:13px}
 .mini-brand{font-size:29px}.mini-brand span{font-size:21px;margin-left:8px;margin-top:0}
 .rally-signature--call .rally-descriptor{font-size:23px;margin-top:7px}
 .day h2,.training h2,.careers h2{font-size:clamp(44px,12vw,67px)}
 .day-schedule{grid-template-columns:1fr;border-left:0}
 .day-schedule li{display:grid;grid-template-columns:95px minmax(0,1fr);gap:20px;min-height:0;border-right:0;padding:25px 0}
 .day-schedule time{font-size:19px;line-height:1.3}.day-schedule h3{font-size:26px}.day-schedule p{font-size:16px}
 .training-layout,.career-layout{gap:0}
 .training-layout>figure{min-height:0;height:300px}.training-layout>figure img{height:300px;object-position:50% 83%}
 .training-topics{padding:8px 22px}.training-topics h3{font-size:25px}
 .training .split-heading,.careers .split-heading{padding-bottom:25px}
 .career-layout>figure{min-height:0;height:350px}.career-layout>figure>img{height:350px}
 .career-layout>div{padding:27px 24px}.career-layout h3{font-size:34px}
}
/* Keep the photo within its panel rather than growing the grid. */
.training-layout>figure,.career-layout>figure{position:relative;align-self:stretch;height:auto}
.training-layout>figure img,.career-layout>figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.training-layout>figure{height:300px}.career-layout>figure{height:350px}}
