@font-face{font-family:"Helvetica Neue";src:url("./public/fonts/HelveticaNeueThin.woff2") format("woff2");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("./public/fonts/HelveticaNeueLight.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("./public/fonts/HelveticaNeueRoman.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("./public/fonts/HelveticaNeueMedium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("./public/fonts/HelveticaNeueBold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{--navy:#183964;--grey:#d6d7d8;--footer:#a3abb1;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#fff;color:var(--navy);font-family:var(--font);font-synthesis:none;overflow-x:hidden;text-rendering:geometricPrecision}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
h1,h2,h3,p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.mobile-label,.carousel-controls{display:none}

.site-header{height:96.46px;background:#fff;display:flex;align-items:center;padding:0 40px 0 max(40px,calc((100vw - 1440px)/2 + 87px))}
.brand{display:block;width:145px;height:33px}
.brand img{width:100%;height:100%;object-fit:contain}

.hero{height:621.54px;overflow:hidden;background:#a3abb1;position:relative}
.hero-desktop-visual{position:absolute;left:-1px;top:-.46px;width:1494px;height:645px}
.hero-desktop-visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.hero-mobile-visual{display:none}
.hero-copy{position:absolute;z-index:1;left:max(40px,calc((100vw - 1440px)/2 + 80px));top:0;width:930px;height:100%}
.hero-side-layer{position:absolute;pointer-events:none}
.hero-side-layer-desktop{display:block;left:-104px;top:63.04px;width:86px;height:94px;max-width:none}
.hero-side-layer-mobile{display:none}
.hero h1{position:absolute;left:0;top:54.04px;width:928px;text-transform:uppercase;font-size:53px;line-height:55.6px;letter-spacing:-1.06px;font-weight:700;overflow-wrap:break-word}
.hero-light{position:absolute;left:0;top:165.54px;width:842.208px;font-size:50px;line-height:52px;letter-spacing:-1px;font-weight:100;overflow-wrap:break-word}
.hero-detail{position:absolute;left:0;top:358.04px;width:928px;font-size:30px;line-height:34.6px;letter-spacing:-1.4px;font-weight:300;text-transform:none;overflow-wrap:break-word}
.hero-detail strong{font-weight:700}

.intro{min-height:237px;padding:72px 24px 40px;display:flex;justify-content:center;text-align:center}
.intro p{font-size:22px;line-height:24px;font-weight:400;max-width:1066px}
.intro strong{font-weight:700}

.exams{color:var(--navy)}
.section-heading{text-align:center;width:min(1273px,calc(100% - 48px));margin:0 auto}
.section-heading h2,.more-exams h2,.location h2{font-size:56px;line-height:1.1;letter-spacing:-1.12px;font-weight:400;text-transform:uppercase}
.section-heading h2 span,.more-exams h2 span,.location h2 span{font-weight:100}
.section-heading h2 strong,.more-exams h2 strong,.location h2 strong{font-weight:700}
.section-heading p,.more-exams p{margin-top:24px;font-size:35px;line-height:1.1;letter-spacing:-.7px;font-weight:100}
.exam-grid{width:948px;margin:78px auto 0;display:grid;grid-template-columns:repeat(2,464px);gap:36px 20px}
.exam-card{height:475px;background:var(--grey);border-radius:24px;position:relative;overflow:hidden;color:var(--navy)}
.exam-card:nth-child(-n+2){height:470px}
.exam-card>img{width:100%;height:191.46px;object-fit:cover}
.exam-copy{padding:14px 16px 58px}
.exam-copy h3{font-size:30px;line-height:1.2;letter-spacing:-.3px;font-weight:700;margin:0 0 10px}
.exam-copy p{font-size:15px;line-height:116%;font-weight:400;color:#29384c}
.pill{position:absolute;right:28.5px;bottom:19.5px;width:136px;height:38.6px;border-radius:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500}

.more-exams{text-align:center;width:min(1273px,calc(100% - 48px));margin:62px auto 0;padding:0 0 71px}
.more-exams h2{display:flex;justify-content:center;gap:.25em}
.more-exams p strong{font-weight:700}

.location{position:relative;z-index:2;padding:0 0 0}
.location h2{text-align:center;margin:0 auto 34px}
.location-card{width:min(1254.835px,calc(100% - 96px));height:382px;margin:0 auto;background:var(--grey);border-radius:34px;overflow:hidden;position:relative}
.location-copy{position:absolute;left:44px;top:88px;width:499px;text-align:center;z-index:3}
.location-copy p{font-size:24px;line-height:1.3;font-weight:400}
.location-button{width:249.756px;height:64px;margin:38.414px auto 0;border-radius:88px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:4px;font-size:24px;font-weight:500;line-height:1}
.location-button img{width:32px;height:32px;max-width:none}
.location-image{position:absolute;inset:0;overflow:visible}
.location-photo-mask{position:absolute;left:578px;top:0;width:677px;height:382px;overflow:hidden}
.location-photo{position:absolute;left:-78px;top:-5px;width:816px;height:466px;max-width:none;object-fit:cover}
.location-overlay-desktop{position:absolute;left:340px;top:1px;width:392px;height:381px;max-width:none;z-index:2}
.location-overlay-mobile{display:none}

.site-footer{height:801px;background:var(--footer);margin-top:-206px;color:var(--navy);position:relative;z-index:1}
.footer-inner{height:100%;display:flex;flex-direction:column;align-items:center;padding-top:292px}
.footer-logo{width:208px;height:48px;object-fit:contain}
.footer-subtitle{font-size:22px;letter-spacing:-.44px;margin-top:80px;margin-bottom:16px}
.payments{display:flex;gap:20px;margin-top:20px}
.payments span{width:95px;height:72px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px}
.payments img{width:82px;height:56px;object-fit:contain}
.footer-points,.footer-nav a{text-decoration:underline;font-size:16px;line-height:1.6}
.footer-points{margin-top:42px !important}
.footer-nav{margin-top:13px;display:flex;flex-direction:column;align-items:center}
.socials{border-top:1px solid var(--navy);width:min(1237px,calc(100% - 64px));margin-top:31px;padding-top:12px;display:grid;grid-template-columns:36px 46px 36px;column-gap:15.5px;justify-content:center;align-items:start}
.socials a{display:block}
.socials a:nth-child(1),.socials a:nth-child(3){width:36px;height:36px}
.socials a:nth-child(2){width:46px;height:46px; margin-top:-4px}
.socials img{width:100%;height:100%;object-fit:contain}

@media (min-width:1441px){
  .hero-desktop-visual{left:-.069444vw;top:-.031944vw;width:103.75vw;height:44.791667vw}
}

@media (max-width:767px){
  .desktop-only,.desktop-label{display:none}
  .mobile-label,.carousel-controls{display:block}
  .site-header{height:83px;padding:0 16px 0 32px}
  .brand{width:152px;height:34px}
  .hero{height:876px;overflow:hidden;background:#78b5d8}
  .hero-desktop-visual{display:none}
  .hero-mobile-visual{display:block;position:absolute;left:-51px;top:-1px;width:523px;height:927px}
  .hero-mobile-visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
  .hero-copy{left:39px;top:0;width:315px;height:100%}
  .hero-side-layer-desktop{display:none}
  .hero-side-layer-mobile{display:block;left:-97.04px;top:39.37px;width:83px;height:149px;border-radius:13.885px;background:var(--navy)}
  .hero h1{top:33px;width:315px;font-size:53px;line-height:55.6px;letter-spacing:-1.06px}
  .hero-light{top:258px;width:320px;font-size:37px;line-height:40px;letter-spacing:-.74px;font-weight:100}
  .hero-light::first-letter{text-transform:uppercase}
  .hero-detail{top:350px;width:268px;font-size:16px;line-height:18px;letter-spacing:-.32px}
  .intro{height:435px;min-height:0;padding:42px 39px 0;align-items:flex-start}
  .intro p{font-size:22px;line-height:24px;max-width:324px}
  .section-heading{width:100%}
  .section-heading h2,.more-exams h2,.location h2{font-size:50px;line-height:1.1;letter-spacing:-1px}
  .section-heading h2{width:350px;margin:0 auto;display:flex;flex-direction:column}
  .section-heading p,.more-exams p{font-size:32px;line-height:1.1;letter-spacing:-.6px;margin:19px auto 0;width:316px}
  .cards-viewport{width:316px;height:508px;margin:80px auto 0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
  .cards-viewport::-webkit-scrollbar{display:none}
  .exam-grid{width:max-content;margin:0;display:flex;gap:31px}
  .exam-card,.exam-card:nth-child(-n+2){width:316px;height:508px;border-radius:14.47px;flex:0 0 316px;scroll-snap-align:start}
  .exam-card>img{height:162.8px;object-fit:cover}
  .exam-copy{padding:16px 14.47px 58px}
  .exam-copy h3{font-size:24px;line-height:1.07;letter-spacing:-.48px;margin-bottom:12px}
  .exam-copy p{font-size:15px;line-height:116%}
  .pill{right:14px;bottom:25px;width:auto;min-width:125px;height:38.6px;padding:0 19px;font-size:14.47px}
  .carousel-controls{height:48px;margin:33px auto 0;text-align:center}
  .carousel-button{width:48px;height:48px;border:0;border-radius:88px;background:#939393;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
  .carousel-button img{width:16px;height:16px;max-width:none}
  .carousel-button+ .carousel-button{margin-left:13.714px;background:#183964}
  .more-exams{width:100%;margin:60px auto 0;padding:0 0 76px}
  .more-exams h2{width:350px;margin:auto;display:flex;flex-direction:column}
  .more-exams p{width:316px}
  .location{padding:0}
  .location h2{width:402px;display:flex;flex-direction:column;margin-bottom:33px}
  .location-card{width:316px;height:752px;border-radius:28.126px;margin:0 auto}
  .location-copy{left:33.5px;top:71.971px;width:249px}
  .location-copy p{font-size:24px;line-height:1.3}
  .location-button{width:206.605px;height:52.942px;margin-top:36.942px;font-size:19.853px}
  .location-button img{width:26.471px;height:26.471px}
  .location-photo-mask{left:0;top:365px;width:316px;height:387px}
  .location-photo{left:-170.998px;top:-5px;width:688px;height:393px;object-fit:cover}
  .location-overlay-desktop{display:none}
  .location-overlay-mobile{position:absolute;left:-.828px;top:164.228px;width:315.173px;height:324.272px;display:flex;align-items:center;justify-content:center;z-index:2}
  .location-overlay-mobile img{width:324.272px;height:315.173px;max-width:none;flex:none;transform:rotate(90deg)}
  .site-footer{height:801px;margin-top:-156px;z-index:1}
  .footer-inner{padding-top:280px}
  .footer-logo{width:208px;height:47px}
  .footer-subtitle{font-size:16px;margin-top:31px}
  .payments{width:342px;display:grid;grid-template-columns:repeat(4,74px);gap:8px 15px;margin-top:13px}
  .payments span{width:74px;height:56px;border-radius:6px;padding:6px}
  .payments img{width:64px;height:44px}
  .footer-points{margin-top:0;font-size:16px}
  .footer-nav{margin-top:12px}
  .socials{width:341px;margin-top:28px}
}

@media (min-width:768px) and (max-width:1100px){
  .hero-copy{left:5.5vw;transform:scale(.82);transform-origin:left top}
  .exam-grid{transform:scale(.9);transform-origin:top center;margin-bottom:-190px}
  .payments{gap:10px}.payments span{width:82px}
}
