@font-face{font-family:Manrope;src:url('media/Manrope.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:200 800}
:root{--pink:#f60061;--cyan:#50c3e0;--black:#080909;--line:#d9dfe1;--muted:#4a555a;--max:1392px;--gutter:clamp(20px,4.8vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--black);font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
figure,h1,h2,h3,p{margin:0}
button,input,textarea{font:inherit}
a{color:inherit;text-underline-offset:5px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
::selection{background:#ffb6d0;color:#111}
.wrap{max-width:calc(var(--max) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:11px 25px;background:var(--pink);border:2px solid var(--pink);border-radius:4px;color:white;text-decoration:none;font-weight:750;line-height:1.2;text-align:center;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.button:hover{background:#c8004f;border-color:#c8004f}
.text-link{font-weight:700;text-decoration:underline;text-decoration-thickness:1px}
.pink-link{color:var(--pink)}
h1,h2,h3{font-weight:800;line-height:1.09;letter-spacing:-.033em}
h1{font-size:clamp(40px,4.5vw,70px)}
h2{font-size:clamp(30px,3vw,46px)}
.review-bar{background:#12191b;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em}
.review-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:36px}
.review-bar a{color:white}
.review-separator{color:#81d5e9;padding-inline:8px}
.skip-link{position:absolute;z-index:20;left:10px;top:-60px;padding:10px;background:#fff;color:#000}
.skip-link:focus{top:10px}
.site-header{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:24px;min-height:132px;border-bottom:1px solid var(--line);position:relative}
.site-logo{display:inline-block;width:96px}
.site-logo img{width:96px;height:auto}
.mobile-current{display:none}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(22px,3vw,52px)}
.site-nav a{font-size:17px;font-weight:800;text-decoration:none;white-space:nowrap;padding-block:8px;border-bottom:3px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom-color:var(--pink)}
.menu-toggle{display:none}
.cyan-panel{background:var(--cyan);color:var(--black)}
.home-hero{display:grid;grid-template-columns:minmax(0,1.74fr) minmax(340px,1fr);gap:24px;margin-top:22px}
.hero-photo{border:1px solid var(--line);min-width:0}
.hero-media{height:clamp(420px,37vw,550px);overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 59%;transform:scale(1.28)}
.hero-photo figcaption{padding:13px 18px;font-size:20px;font-weight:800}
.home-panel{padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.home-panel h1{font-size:clamp(42px,4.2vw,68px)}
.home-panel p{font-size:clamp(18px,1.7vw,25px);font-weight:650;line-height:1.44;margin-top:20px;margin-bottom:25px}
.home-panel .button{align-self:flex-start;min-width:210px}
.panel-links{display:grid;margin-top:27px}
.panel-links a{padding:12px 0;border-top:1px solid rgba(0,0,0,.43);font-size:17px;font-weight:750;text-decoration:underline;text-decoration-thickness:1px}
.panel-links a:last-child{border-bottom:1px solid rgba(0,0,0,.43)}
.editorial-split{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:clamp(30px,5vw,84px);align-items:center}
.home-story{margin-block:42px 64px}
.home-story h2{margin-bottom:14px}
.home-story p{font-size:21px;max-width:540px;margin-bottom:20px}
.home-story figure img{width:100%;height:310px;object-fit:cover;object-position:center 58%}
.home-story figcaption{padding-top:10px;font-size:18px;font-weight:700}
.home-programs{border-top:1px solid var(--line);padding-top:38px;margin-bottom:64px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.program-row-simple{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.program-row-simple a{padding:19px 12px 19px 0;font-size:22px;font-weight:750;text-decoration:none}
.program-row-simple a + a{padding-left:24px;border-left:1px solid var(--line)}
.program-row-simple a:hover{text-decoration:underline}
.page-intro{padding-top:31px;padding-bottom:24px}
.page-intro h1{font-size:clamp(40px,4.4vw,66px);max-width:1080px}
.page-intro p{font-size:clamp(18px,1.7vw,23px);line-height:1.4;margin-top:8px}
.programs-layout{display:grid;grid-template-columns:minmax(0,1.76fr) minmax(330px,1fr);gap:32px;margin-bottom:45px}
.program-item{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);gap:28px;padding:0 0 18px;scroll-margin-top:20px}
.program-item + .program-item{border-top:1px solid var(--line);padding-top:18px}
.program-item img{width:100%;height:200px;object-fit:cover}
.program-item:nth-child(2) img{object-position:center 57%}
.program-item h2{font-size:clamp(29px,2.55vw,37px);margin:13px 0}
.program-item p{font-size:19px;line-height:1.45;margin-bottom:16px}
.program-panel{padding:clamp(30px,3.2vw,46px);align-self:start;display:flex;flex-direction:column}
.program-panel h2{margin-bottom:23px}
.program-panel p{font-size:23px;line-height:1.43;max-width:28ch}
.program-panel .panel-links{margin-top:32px;margin-bottom:20px}
.program-panel .button{width:100%}
.life-feature{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(315px,1fr);gap:12px}
.life-feature img{width:100%;height:370px;object-fit:cover}
.life-feature .cyan-panel{padding:clamp(28px,3.3vw,47px);display:flex;flex-direction:column;justify-content:center}
.life-feature h2{margin-bottom:21px}
.life-feature p{font-size:23px;line-height:1.45}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:25px}
.story-item{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1fr);gap:22px;align-items:start}
.story-item img{width:100%;height:220px;object-fit:cover}
.story-item h2{font-size:clamp(25px,2.2vw,33px);margin-top:10px}
.story-item p{font-size:17px;margin-top:12px}
.closing-invite{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:34px;padding-block:30px 38px}
.closing-invite h2{font-size:clamp(29px,2.8vw,40px)}
.contact-intro{padding-bottom:30px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(340px,1fr);gap:38px;margin-bottom:42px}
.visit-form{display:grid;gap:22px;align-content:start;scroll-margin-top:20px}
.visit-form label{display:grid;gap:8px;font-size:17px;font-weight:750}
.visit-form input:not([type="radio"]):not([type="checkbox"]),.visit-form textarea{width:100%;border:1.5px solid #747c7f;border-radius:3px;background:white;color:#080909;padding:13px 15px;font-size:17px;font-weight:500}
.visit-form input:not([type="radio"]):not([type="checkbox"]){height:56px}
.visit-form textarea{resize:vertical;min-height:110px}
.visit-form input::placeholder,.visit-form textarea::placeholder{color:#576066;opacity:1}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.interest-fieldset{margin:0;padding:0;border:0;min-width:0}
.interest-fieldset legend{font-size:17px;font-weight:750;margin-bottom:9px}
.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.choice-row label{display:block;position:relative;min-width:0}
.choice-row input{position:absolute;opacity:0;left:8px;top:8px}
.choice-row span{display:flex;justify-content:center;align-items:center;text-align:center;min-height:56px;padding:6px 9px;border:1.5px solid #747c7f;border-radius:3px;font-size:15px;font-weight:750;cursor:pointer}
.choice-row input:checked + span{border-color:#080909;background:#d6f3fa}
.choice-row input:focus-visible + span{outline:3px solid var(--pink);outline-offset:3px}
.visit-form .consent{display:flex;align-items:flex-start;gap:11px;font-size:16px;font-weight:500;line-height:1.5}
.consent input{appearance:none;flex:none;width:22px;height:22px;margin:2px 0 0;border:1.5px solid #747c7f;border-radius:2px;cursor:pointer}
.consent input:checked{background:#080909;border-color:#080909;box-shadow:inset 0 0 0 5px white}
.visit-form .button{justify-self:start;min-width:215px}
.form-feedback{font-size:14px;color:#3d484d;margin-top:-12px}
.contact-panel{padding:clamp(28px,3vw,43px)}
.contact-panel h2{font-size:clamp(36px,3.3vw,50px);margin-bottom:20px}
.contact-panel address{font-style:normal;font-size:21px;line-height:1.5;margin-bottom:12px}
.contact-panel h3{font-size:22px;margin:38px 0 7px}
.phone-link{font-size:21px;font-weight:750}
.contact-panel figure{margin-top:28px}
.contact-panel figure img{width:100%;height:230px;object-fit:cover}
.contact-panel figcaption{font-size:16px;font-weight:650;margin-top:9px}
.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-block:17px 22px;font-size:14px;font-weight:650}
.review-next{display:flex;justify-content:space-between;gap:20px;background:#12191b;color:white;max-width:none;padding-block:19px;font-size:14px;font-weight:700}
.review-next a{color:#fff}
.guide-page{background:#f5f7f7}
.guide-header{min-height:121px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#fff;font-size:14px;font-weight:700}
.guide-header img{width:76px;height:auto}
.guide-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,5vw,80px);padding-block:60px 48px}
.guide-copy{padding-block:20px}
.guide-name{font-size:18px;font-weight:800;margin-bottom:25px}
.guide-copy h1{font-size:clamp(54px,6vw,90px);margin-bottom:28px}
.guide-copy>p:not(.guide-name){font-size:22px;line-height:1.45;max-width:510px;margin-bottom:30px}
.guide-photo img{width:100%;height:540px;object-fit:cover;object-position:center 48%}
.guide-photo figcaption{padding-top:10px;font-size:16px;font-weight:700}
.guide-map{padding-block:40px 62px;background:white}
.guide-map h2{font-size:clamp(30px,3vw,44px);margin-bottom:8px}
.guide-map>p{font-size:18px}
.guide-links{display:grid;grid-template-columns:repeat(4,1fr);margin-top:31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-links a{display:grid;align-content:center;gap:4px;min-height:126px;padding:18px 16px 18px 0;text-decoration:none}
.guide-links a + a{border-left:1px solid var(--line);padding-left:20px}
.guide-links a:hover span{text-decoration:underline}
.guide-links span{font-size:22px;font-weight:800}
.guide-links small{font-size:14px;color:var(--muted)}
.guide-map .guide-note{font-size:14px;color:var(--muted);margin-top:20px}
.guide-footer{padding-block:22px;font-size:14px;color:var(--muted)}
@media(max-width:1000px){
  .site-header{grid-template-columns:100px 1fr;gap:12px;min-height:112px}
  .site-logo,.site-logo img{width:80px}
  .site-nav{gap:19px}
  .site-nav a{font-size:15px}
  .home-hero{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}
  .program-item{grid-template-columns:39% 1fr;gap:18px}
  .program-item img{height:190px}
  .programs-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:20px}
  .story-item{grid-template-columns:1fr}
  .story-item img{height:190px}
  .story-item h2{margin-top:0}
  .contact-layout{gap:24px}
}
@media(max-width:760px){
  body{font-size:16px}
  .review-inner{font-size:11px}
  .site-header{grid-template-columns:auto 1fr auto;gap:12px;min-height:94px}
  .site-logo,.site-logo img{width:68px}
  .mobile-current{display:block;justify-self:end;font-size:15px;font-weight:800;text-align:right}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid var(--black);border-radius:3px;background:white;cursor:pointer}
  .menu-toggle span{width:20px;height:2px;background:var(--black)}
  .site-nav{display:none;position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);top:100%;padding:8px 18px 18px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 22px rgba(0,0,0,.12)}
  .site-nav.is-open{display:grid;gap:0}
  .site-nav a{font-size:18px;min-height:52px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
  .site-nav a[aria-current="page"]{border-bottom:3px solid var(--pink)}
  .home-hero,.editorial-split,.programs-layout,.life-feature,.story-grid,.contact-layout,.guide-hero{grid-template-columns:1fr}
  .home-hero{gap:0;margin-top:16px}
  .hero-media{height:clamp(290px,88vw,440px)}
  .hero-photo img{object-position:50% 60%;transform:scale(1.22)}
  .hero-photo figcaption{font-size:16px;padding:12px 14px}
  .home-panel{padding:28px 25px}
  .home-panel h1{font-size:clamp(42px,11vw,57px)}
  .home-panel p{font-size:19px}
  .home-panel .button{min-width:200px}
  .home-story{margin-block:41px 42px;gap:25px}
  .home-story p{font-size:18px}
  .home-story figure img{height:210px}
  .home-programs{padding-top:29px;margin-bottom:38px}
  .section-head{display:block}
  .section-head a{display:inline-block;margin-top:13px}
  .program-row-simple{grid-template-columns:1fr}
  .program-row-simple a,.program-row-simple a + a{border-left:0;padding:14px 0}
  .program-row-simple a + a{border-top:1px solid var(--line)}
  .page-intro{padding-top:28px;padding-bottom:22px}
  .page-intro h1{font-size:clamp(37px,10vw,52px)}
  .page-intro p{font-size:18px;margin-top:12px}
  .programs-layout{gap:18px;margin-bottom:30px}
  .program-list{display:grid;gap:16px}
  .program-item,.program-item + .program-item{display:grid;grid-template-columns:1fr;gap:12px;border:0;padding:0 0 18px;border-bottom:1px solid var(--line)}
  .program-item img{height:clamp(235px,70vw,350px)}
  .program-item h2{margin:4px 0 7px}
  .program-item p{font-size:17px;margin-bottom:8px}
  .program-panel{padding:30px 25px}
  .program-panel p{font-size:19px}
  .program-panel .panel-links{padding-top:0;margin-top:22px}
  .life-feature{gap:0}
  .life-feature img{height:clamp(230px,65vw,350px)}
  .life-feature .cyan-panel{padding:28px 25px}
  .life-feature p{font-size:19px}
  .story-grid{gap:27px;margin-top:29px}
  .story-item{grid-template-columns:1fr;gap:12px}
  .story-item img{height:clamp(240px,67vw,340px)}
  .story-item h2{font-size:30px}
  .closing-invite{align-items:flex-start;flex-direction:column;margin-top:30px}
  .contact-layout{gap:30px;margin-bottom:32px}
  .contact-panel{order:-1}
  .visit-form{gap:19px}
  .field-pair{grid-template-columns:1fr;gap:19px}
  .choice-row{gap:7px}
  .choice-row span{font-size:12px;line-height:1.2;min-height:58px;padding-inline:4px}
  .contact-panel{padding:30px 25px}
  .contact-panel address{font-size:18px}
  .contact-panel figure img{height:220px}
  .site-footer{font-size:12px}
  .review-next{font-size:12px}
  .guide-header{min-height:100px}
  .guide-header img{width:64px}
  .guide-hero{padding-block:35px 28px;gap:26px}
  .guide-copy{padding:0}
  .guide-name{margin-bottom:13px}
  .guide-copy h1{font-size:clamp(48px,12vw,70px);margin-bottom:16px}
  .guide-copy>p:not(.guide-name){font-size:18px;margin-bottom:22px}
  .guide-photo img{height:clamp(310px,85vw,450px)}
  .guide-map{padding-block:29px 38px}
  .guide-links{grid-template-columns:1fr 1fr}
  .guide-links a{min-height:105px}
  .guide-links a:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}
  .guide-links a:nth-child(4){border-top:1px solid var(--line)}
  .guide-links span{font-size:18px}
}
@media(max-width:360px){
  .review-inner{font-size:10px}
  .site-header{gap:8px}
  .choice-row{grid-template-columns:1fr}
  .choice-row span{min-height:47px;font-size:15px}
  .guide-links{grid-template-columns:1fr}
  .guide-links a,.guide-links a + a,.guide-links a:nth-child(3),.guide-links a:nth-child(4){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .guide-links a:first-child{border-top:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
