/* Homepage final art direction, built from the supplied portrait and editorial mockup.
   The EDUCATION word belongs to the supplied photograph, so no duplicate text layer is generated. */
body[data-page="home"]{background:#fbf6f1}
body[data-page="home"] .site-utility{display:none!important}
body[data-page="home"] .site-header{
 background:#210b1b!important;border-bottom:1px solid rgba(255,255,255,.12);color:#fff8f2!important
}
body[data-page="home"] .header-row{height:72px}
body[data-page="home"] .header-row .brand{gap:14px;max-width:245px}
body[data-page="home"] .brand.asset-loaded .brand-logo{display:none!important}
body[data-page="home"] .brand.asset-loaded .brand-label{display:block!important}
body[data-page="home"] .brand .brand-label{
 display:block!important;color:#fff8f1!important;font:700 20px/.94 "Syne",sans-serif;letter-spacing:-.058em;
 padding-left:30px;position:relative
}
body[data-page="home"] .brand .brand-label:before{
 content:"";position:absolute;left:1px;top:3px;width:19px;height:26px;
 background:linear-gradient(112deg,transparent 0 7%,#e73743 8% 34%,transparent 35% 46%,#e73743 47% 74%,transparent 75%);
 transform:skew(-10deg)
}
body[data-page="home"] .brand .brand-label b{color:#fff8f1!important}
body[data-page="home"] .brand .brand-label small{color:#ffdfdd;font:400 9px/1.1 "DM Sans",sans-serif;letter-spacing:.055em;margin-top:4px}
body[data-page="home"] .desktop-nav a{color:#f8f1ed!important;font:600 11px "DM Sans",sans-serif;letter-spacing:-.01em}
body[data-page="home"] .desktop-nav a[aria-current="page"],body[data-page="home"] .desktop-nav a:hover{color:#fff!important;text-decoration:underline;text-decoration-color:#e73743;text-decoration-thickness:2px;text-underline-offset:10px}
body[data-page="home"] .header-cta.btn{display:inline-flex!important;background:#fff8ef!important;color:#2b1022!important;padding:12px 18px;border:0;font:700 10px "DM Sans",sans-serif;border-radius:100px}
body[data-page="home"] .site-header .menu-toggle{color:#fff;border-color:rgba(255,255,255,.45)}
body[data-page="home"] .mobile-nav{background:#210b1b}
body[data-page="home"] .mobile-nav a{color:#fff7f0}
body[data-page="home"] .mobile-nav .btn{background:#fff6ed;color:#2a1221}
body[data-page="home"] #main{overflow:hidden}
.hf-hero{height:clamp(610px,48vw,725px);position:relative;isolation:isolate;background:#2d091d;color:#fff9f2;overflow:hidden}
.hf-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;z-index:-2}
.hf-hero-vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(24,1,14,.43) 0%,rgba(24,1,14,.14) 23%,transparent 39%,transparent 77%,rgba(24,1,14,.32) 100%)}
.hf-hero-inner{width:100%;max-width:1660px;height:100%;margin:auto;padding:clamp(42px,4.4vw,66px) clamp(28px,4.8vw,84px) 105px;position:relative;display:grid;grid-template-columns:minmax(320px,1fr) 195px;gap:34px;align-items:start}
.hf-hero-copy{max-width:395px;position:relative;z-index:2}
.hf-kicker{display:block;font:600 10px/1.65 "Space Mono",monospace;letter-spacing:.125em;text-transform:uppercase}
.hf-hero-copy>.hf-kicker{max-width:360px;color:#fff3ea}
.hf-hero-copy>.hf-kicker:after{content:"";display:block;width:44px;height:3px;background:#f14555;margin:14px 0 0}
.hf-hero h1{font:500 clamp(52px,4.15vw,69px)/1.035 "Bodoni Moda",Georgia,serif;letter-spacing:-.068em;color:#fff7ed;max-width:430px;margin:22px 0 15px;overflow-wrap:normal}
.hf-hero h1 em{display:inline;color:#fff6ec;font-style:italic}
.hf-hero h1 strong{font-weight:500;font-style:italic;color:#ff5467}
.hf-hero-copy>p{font:400 clamp(12px,1.05vw,14px)/1.5 "DM Sans",sans-serif;max-width:360px;color:#fff4ec;margin:0 0 25px}
.hf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px}
.hf-actions .z-btn{font:700 11px/1.3 "DM Sans",sans-serif;min-height:43px;gap:15px;padding:11px 15px;border-radius:99px;white-space:normal}
.hf-actions .hf-primary{color:#2d0f27;background:#fff8ed;border:1px solid #fff8ed}
.hf-actions .hf-secondary{color:#fff7f0;border:1px solid rgba(255,255,255,.73);background:rgba(26,10,23,.2)}
.hf-hero-side{justify-self:end;width:195px;max-width:100%;padding:2px 0 0;position:relative;z-index:2}
.hf-side-intro{display:grid;grid-template-columns:1fr;gap:13px}
.hf-campus-photo{width:170px;height:113px;border-radius:14px;overflow:hidden;background:#ad4050}
.hf-campus-photo>img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) sepia(.2) saturate(.95)}
.hf-side-intro>p{font:500 12px/1.43 "DM Sans",sans-serif;color:#fff1e8;margin:0;max-width:170px}
.hf-side-intro>p:after{content:"";display:block;width:34px;height:2px;background:#ff6166;margin-top:16px}
.hf-two-priorities{display:flex;gap:14px;margin-top:28px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}
.hf-two-priorities>div{flex:1}
.hf-two-priorities>div+div{border-left:1px solid rgba(255,255,255,.37);padding-left:14px}
.hf-two-priorities span{font:400 40px/1.1 "Bodoni Moda",Georgia,serif}
.hf-two-priorities p{font:400 10px/1.35 "DM Sans",sans-serif;color:#fff5ee;margin:6px 0 0}
.hf-hero-footer{display:none}
.hf-services{display:grid;grid-template-columns:42% 58%;gap:0;background:#faf5ef;color:#390f29;padding:65px clamp(28px,4.8vw,84px) 64px}
.hf-service-intro{padding-right:50px}
.hf-service-intro .hf-kicker,.hf-solutions-intro .hf-kicker{color:#ae3149}
.hf-service-intro h2{font:800 clamp(37px,3.4vw,54px)/.98 "Syne",sans-serif;letter-spacing:-.072em;color:#4b092e;margin:22px 0 22px}
.hf-service-intro>p{font:400 12px/1.45 "DM Sans",sans-serif;max-width:310px;display:flex;gap:17px;margin:0}
.hf-red-star{color:#e73743;font-size:40px;line-height:.8;flex:0 0 auto;font-family:Arial,sans-serif}
.hf-service-list{min-width:0;padding-left:15px}
.hf-service-row{display:grid;grid-template-columns:58px minmax(0,1fr) 40px;gap:10px;align-items:center;min-height:66px;border-bottom:1px solid rgba(64,24,43,.3);color:#331129}
.hf-service-row:first-child{border-top:1px solid rgba(64,24,43,.3)}
.hf-num{font:400 11px "Space Mono",monospace;color:#633f56}
.hf-service-name{font:600 clamp(15px,1.25vw,18px)/1.2 "DM Sans",sans-serif;letter-spacing:-.035em;max-width:540px}
.hf-arrow{height:32px;width:32px;display:grid;place-items:center;border:1px solid #572c4a;border-radius:50%;font:400 17px Arial,sans-serif;transition:background .2s,color .2s}
.hf-service-row:hover .hf-arrow{background:#4b173d;color:white}
.hf-approach{position:relative;display:grid;grid-template-columns:42% 44% 14%;min-height:340px;background:#390e2d;color:#fff9ef}
.hf-approach-photo{min-height:340px;position:relative;overflow:hidden}
.hf-approach-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(49,12,39,.2))}
.hf-approach-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 41%;filter:saturate(.76) contrast(1.12)}
.hf-approach-content{padding:49px 24px 42px clamp(30px,3.2vw,63px)}
.hf-approach-content .hf-kicker{color:#f3cdd5}
.hf-approach-content h2{font:750 clamp(33px,3.15vw,48px)/1.08 "Syne",sans-serif;letter-spacing:-.078em;margin:13px 0}
.hf-approach-content h2 strong{color:#f7475b;font-weight:800}
.hf-approach-content>p{font:400 12px/1.53 "DM Sans",sans-serif;color:#f4e8f0;max-width:435px;margin:15px 0 20px}
.hf-approach-content .z-btn{font:700 11px "DM Sans",sans-serif;border-radius:99px;padding:12px 18px;gap:18px;background:#fff9ef;color:#300c27}
.hf-approach-steps{margin:53px 0;border-left:1px solid rgba(255,255,255,.34);display:flex;flex-direction:column;gap:9px;padding:0 15px;justify-content:center}
.hf-approach-steps span{font:400 9px/1.4 "Space Mono",monospace;letter-spacing:.08em;color:#fff0f0}
.hf-approach-steps span+span:before{content:"+";display:block;color:#ff5566;font-size:14px;line-height:1.1;margin-bottom:6px}
.hf-solutions{display:grid;grid-template-columns:36% 32% 32%;padding:58px clamp(28px,4.8vw,84px);gap:16px;background:#faf6f0;align-items:stretch}
.hf-solutions-intro{padding-right:22px;display:flex;flex-direction:column;align-items:flex-start}
.hf-solutions-intro h2{font:500 clamp(33px,3.2vw,48px)/1.08 "Bodoni Moda",serif;letter-spacing:-.07em;max-width:420px;margin:16px 0}
.hf-solutions-intro h2 em{color:#c12e46;font-style:italic}
.hf-solutions-intro>p{font:400 12px/1.55 "DM Sans",sans-serif;max-width:330px}
.hf-inline-arrow{height:34px;width:34px;border:1px solid #552341;border-radius:50%;display:grid;place-items:center;font:400 19px Arial,sans-serif;margin-top:auto;flex:0 0 auto}
.hf-solution-card{min-height:325px;position:relative;overflow:hidden;border-radius:14px;display:flex;align-items:stretch;color:#fff;background:#4b1435;isolation:isolate}
.hf-solution-card>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.08);transition:transform .4s ease;z-index:-2}
.hf-solution-card:hover>img{transform:scale(1.04)}
.hf-solution-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,5,21,.5) 0%,transparent 40%,rgba(28,4,21,.76) 100%);z-index:-1}
.hf-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:23px 22px 23px;min-width:0}
.hf-card-copy>span:first-child{font:400 9px/1.4 "Space Mono",monospace;letter-spacing:.045em;color:#f9d8df}
.hf-card-copy h3{font:600 clamp(24px,2.1vw,34px)/1.08 "DM Sans",sans-serif;letter-spacing:-.068em;color:#fff9ef;margin:15px 0 11px}
.hf-card-copy p{font:400 11px/1.45 "DM Sans",sans-serif;color:#fff5f2;max-width:260px;margin:0 0 21px}
.hf-circle{display:grid;place-items:center;border:1px solid #fff;width:31px;height:31px;border-radius:50%;font:400 17px Arial,sans-serif;margin-top:auto}
.hf-impact{display:grid;grid-template-columns:33% 49% 18%;background:linear-gradient(106deg,#e7414b 0%,#71203e 34%,#330e2b 72%,#1a0a1c);min-height:347px;color:#fff7f2}
.hf-impact-portrait{min-height:347px;position:relative;overflow:hidden}
.hf-impact-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(.6) sepia(.24) saturate(1.3) contrast(1.1);-webkit-mask-image:linear-gradient(90deg,#000 74%,transparent);mask-image:linear-gradient(90deg,#000 74%,transparent)}
.hf-impact-main{padding:52px clamp(26px,3.4vw,62px)}
.hf-impact-main .hf-kicker{color:#ffb7c3}
.hf-impact-main h2{font:500 clamp(30px,3.2vw,51px)/1.08 "Bodoni Moda",serif;letter-spacing:-.064em;margin:14px 0 15px;max-width:690px}
.hf-impact-main h2 em{color:#ff6b78}
.hf-impact-main p{font:400 12px/1.6 "DM Sans",sans-serif;color:#f6e3e8;max-width:520px;margin:0 0 14px}
.hf-light-arrow{color:#fff;border-color:#fff;margin-top:5px}
.hf-impact-notes{margin:55px 25px 55px 0;padding:5px 0 5px 18px;border-left:1px solid rgba(255,255,255,.4);display:flex;flex-direction:column;justify-content:space-around}
.hf-impact-notes p{font:400 12px/1.35 "DM Sans",sans-serif;color:#ffedf1;margin:0;padding:0 0 14px;border-bottom:1px solid rgba(255,107,120,.65)}
.hf-impact-notes p:last-child{border-bottom:0}
@media(max-width:1210px){
 .hf-hero-inner{grid-template-columns:minmax(0,1fr) 170px}
 .hf-hero-side{width:160px}
 .hf-campus-photo{width:150px;height:102px}
 .hf-service-intro h2{font-size:clamp(37px,3.2vw,48px)}
 .hf-approach{grid-template-columns:40% 44% 16%}
 .hf-approach-content{padding-left:31px}
 .hf-approach-content h2{font-size:clamp(32px,3vw,42px)}
}
@media(max-width:970px){
 body[data-page="home"] .site-header .header-cta{display:none!important}
 .hf-hero-side{display:none}
 .hf-hero-inner{grid-template-columns:1fr}
 .hf-hero{height:clamp(560px,66vw,670px)}
 .hf-hero h1{font-size:clamp(44px,5.5vw,61px)}
 .hf-hero-copy{max-width:340px}
 .hf-hero-vignette{background:linear-gradient(90deg,rgba(22,0,14,.55),transparent 47%)}
 .hf-service-intro h2{font-size:clamp(32px,4vw,46px)}
 .hf-services{grid-template-columns:40% 60%;padding:51px 30px}
 .hf-approach{grid-template-columns:40% 60%}
 .hf-approach-steps{display:none}
 .hf-solutions{grid-template-columns:34% 33% 33%;padding:52px 30px;gap:12px}
 .hf-solutions-intro h2{font-size:clamp(31px,3.7vw,44px)}
 .hf-card-copy{padding:19px}
 .hf-card-copy h3{font-size:clamp(21px,2.8vw,29px)}
 .hf-impact{grid-template-columns:31% 69%}
 .hf-impact-notes{display:none}
}
@media(max-width:690px){
 body[data-page="home"] .header-row{height:64px}
 body[data-page="home"] .brand .brand-label{font-size:18px}
 .hf-hero{display:flex;flex-direction:column;height:auto;min-height:0;background:#2a091c}
 .hf-hero-art{position:relative;order:2;inset:auto;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center;z-index:1;display:block;margin-top:0}
 .hf-hero-vignette{display:none}
 .hf-hero-inner{order:1;display:block;padding:38px 23px 26px;height:auto}
 .hf-hero-copy{max-width:560px}
 .hf-hero h1{font-size:clamp(45px,10.4vw,68px);max-width:540px;line-height:1}
 .hf-hero-copy>.hf-kicker{font-size:9px;max-width:330px}
 .hf-hero-copy>p{font-size:13px;max-width:455px}
 .hf-actions .z-btn{padding:12px 14px}
 .hf-services{grid-template-columns:1fr;gap:24px;padding:62px 23px}
 .hf-service-intro{padding:0}
 .hf-service-intro h2{font-size:clamp(44px,11vw,65px);margin:17px 0}
 .hf-service-list{padding:0}
 .hf-service-row{min-height:69px;grid-template-columns:42px 1fr 33px;gap:8px}
 .hf-service-name{font-size:16px}
 .hf-approach{grid-template-columns:1fr}
 .hf-approach-photo{min-height:300px;height:300px}
 .hf-approach-content{padding:43px 23px 54px}
 .hf-approach-content h2{font-size:clamp(37px,9vw,54px)}
 .hf-solutions{grid-template-columns:1fr;gap:15px;padding:64px 23px}
 .hf-solutions-intro{padding-bottom:19px}
 .hf-solutions-intro h2{font-size:clamp(38px,10vw,54px)}
 .hf-solutions-intro .hf-inline-arrow{margin-top:4px}
 .hf-solution-card{min-height:325px}
 .hf-card-copy h3{font-size:30px}
 .hf-impact{grid-template-columns:1fr}
 .hf-impact-portrait{height:260px;min-height:260px}
 .hf-impact-portrait img{object-position:center 35%;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
 .hf-impact-main{padding:35px 23px 57px}
 .hf-impact-main h2{font-size:clamp(38px,9vw,54px)}
}
@media(max-width:430px){
 .hf-hero h1{font-size:clamp(42px,10.5vw,49px)}
 .hf-actions{gap:9px}
 .hf-actions .z-btn{font-size:10px;padding:11px 13px;min-height:39px}
 .hf-services{padding-top:55px}
 .hf-service-name{font-size:15px}
 .hf-card-copy h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.hf-solution-card>img{transition:none!important}}
