@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#d71e3e;--dark:#262126;--muted:#73666b;--rose:#fcf4f3;--line:#eadedf;--round:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--dark);background:white;line-height:1.75}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-1.7px}p{color:var(--muted);margin-bottom:18px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}img{max-width:100%;display:block;height:auto}em{font-style:normal;color:var(--red)}h2{font-size:clamp(30px,3.2vw,46px);margin-bottom:25px;font-weight:800}h3{font-size:24px;letter-spacing:-.7px}section{padding:100px 0}.container{width:min(1200px,100% - 88px);margin:auto}.eyebrow{font-size:11px;font-weight:800;color:var(--red);letter-spacing:2px;margin-bottom:22px;display:flex;align-items:center;gap:9px}.eyebrow i{width:7px;height:7px;background:var(--red);border-radius:50%}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;background:var(--red);color:#fff;border:1px solid var(--red);padding:16px 24px;border-radius:9px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:#b4102e;transform:translateY(-3px)}.button span{font-size:19px;line-height:1}.button.small{padding:11px 18px;font-size:12px;gap:22px}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:13px;font-weight:700}.text-link:hover{color:var(--red)}:focus-visible{outline:3px solid #b4102e;outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}header{position:sticky;top:0;z-index:20;background:#fffdfcf5;border-bottom:1px solid #f1e7e7;transition:box-shadow .3s}header.scrolled{box-shadow:0 5px 25px #5017220c;backdrop-filter:blur(12px)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:.3px;line-height:1.3;font-weight:800}.brand img{width:49px;flex-shrink:0}.brand small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:3px;margin-top:4px;font-weight:500}nav{display:flex;align-items:center;gap:30px}nav>a{font-size:12px;font-weight:600}nav>a:hover{color:var(--red)}nav>.button:hover{color:white}#menu-toggle{display:none}.hero{padding:65px 0 0;background:linear-gradient(115deg,#fffdfc,#fff8f7)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px}.hero h1{font-size:clamp(43px,4.4vw,64px);font-weight:800;line-height:1.13;letter-spacing:-2.9px}.hero h1 em{display:inline-block;margin-top:4px}.hero-desc{font-size:16px;max-width:455px;line-height:1.85;margin-top:25px;margin-bottom:29px}.actions{display:flex;align-items:center;gap:25px}.hero-foot{display:flex;gap:26px;margin-top:45px}.hero-foot>span{font-size:10px;line-height:1.5;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.hero-foot>span:first-child{padding-left:0;border:0}.hero-foot b{display:block;font-size:20px;color:var(--dark);font-family:Manrope,Arial,sans-serif;margin-bottom:5px;letter-spacing:-.5px}.hero-art{position:relative;padding-bottom:30px}.hero-art>img{height:510px;width:100%;object-fit:cover;border-radius:130px 24px 24px 24px}.image-note{position:absolute;top:20px;right:20px;font-size:8px;letter-spacing:1.3px;padding:7px 12px;border:1px solid #ffffff8c;border-radius:30px;background:#ffffff8c;color:#822035}.floating-note{display:flex;gap:16px;align-items:center;position:absolute;bottom:5px;left:-26px;background:#fff;box-shadow:0 14px 55px #74203516;border:1px solid #f2e7e7;border-radius:14px;padding:17px 26px;font-size:13px;line-height:1.6;transform:rotate(-4deg)}.star{font-size:35px;color:var(--red)}.hero-bottom{width:min(1200px,100% - 88px);margin:42px auto 0;padding:19px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;font-weight:700;letter-spacing:2px;color:#88747a}.values-strip{padding:22px;background:var(--red);color:white;text-align:center;overflow:hidden}.values-strip>div{display:flex;justify-content:center;align-items:center;gap:28px;font-size:12px;font-weight:700;letter-spacing:2px}.values-strip span{font-size:20px;color:#f59aa9}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo-block{position:relative}.photo-block>img{height:510px;width:100%;object-fit:cover;border-radius:var(--round)}.photo-label{position:absolute;bottom:28px;left:28px;color:#fff;line-height:1.5;font-size:20px}.photo-label strong{font-size:27px}.section-copy p,.program-detail p{font-size:14px;line-height:1.9}.section-copy>.text-link{margin-top:20px;color:var(--red)}.soft{background:var(--rose)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:42px}.section-top h2{margin-bottom:0}.section-top>p{max-width:340px;font-size:14px;margin-bottom:5px}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program{padding:32px 29px;background:white;border:1px solid var(--line);border-radius:var(--round);position:relative;transition:transform .25s,box-shadow .25s}.program:hover{transform:translateY(-6px);box-shadow:0 18px 40px #5315230a}.card-num{font-size:11px;color:var(--muted)}.ball-icon{position:absolute;right:27px;top:22px;color:var(--red);font-size:32px}.program h3{margin-top:47px;margin-bottom:17px}.program p{font-size:13px;line-height:1.85}.program small{font-size:10px;color:var(--red);display:block;margin-top:24px}.program>a{display:flex;justify-content:space-between;padding-top:21px;margin-top:22px;border-top:1px solid var(--line);font-size:12px;font-weight:700}.program>a span{color:var(--red);font-size:18px}.program-detail{margin-top:35px;max-width:930px}.read-more{margin-top:12px}.read-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;color:var(--red);font-size:12px;font-weight:700;width:fit-content;margin-bottom:15px}.read-more summary::-webkit-details-marker{display:none}.read-more[open]>summary span{transform:rotate(45deg)}.read-more p:last-child{margin-bottom:0}.note{font-size:11px;border-left:2px solid var(--red);padding:10px 15px;color:var(--muted);margin-top:28px;background:var(--rose)}.portrait img{border-radius:24px 120px 24px 24px}.vertical-caption{position:absolute;right:18px;top:90px;writing-mode:vertical-rl;color:#af2941;font-size:9px;letter-spacing:2px}.camp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.camp{overflow:hidden;background:white;border:1px solid var(--line);border-radius:var(--round)}.camp>img{height:290px;width:100%;object-fit:cover;transition:transform .4s}.camp:hover>img{transform:scale(1.03)}.camp>div{padding:28px;position:relative}.camp>div>span{font-size:9px;letter-spacing:1.8px;color:var(--red);font-weight:700}.camp h3{margin:10px 0}.camp p{font-size:12px;margin:0}.camp a{position:absolute;right:25px;top:40px;background:var(--rose);border:1px solid var(--line);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--red)}.match-card{display:grid;grid-template-columns:.7fr 1fr;gap:36px;margin-top:50px;background:white;border-radius:var(--round);padding:24px;align-items:center}.match-card>img{height:100%;min-height:330px;width:100%;object-fit:cover;border-radius:13px}.match-card>div{padding:16px 10px}.match-card .eyebrow{font-size:9px;margin-bottom:15px}.match-card h3{font-size:27px;margin-bottom:20px}.match-card p{font-size:13px;line-height:1.9}.life-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.life{border-top:1px solid var(--line);padding-top:27px}.life>span{display:grid;place-items:center;background:var(--rose);border-radius:12px;width:47px;height:47px;font-size:26px;color:var(--red);margin-bottom:24px}.life h3{font-size:18px;margin-bottom:12px}.life p{font-size:13px}.mission{background:var(--red);color:white;text-align:center;position:relative;overflow:hidden}.mission:before,.mission:after{content:'';width:600px;height:600px;border:1px solid #ffffff15;position:absolute;border-radius:50%;top:20%;left:-400px;pointer-events:none}.mission:after{left:auto;right:-400px;top:-70%}.mission .container{max-width:880px;position:relative}.mission .eyebrow{color:#ffccd4;justify-content:center}.mission h2{font-size:clamp(30px,3.7vw,51px)}.mission em{color:#ffbcc9}.mission p{color:#ffe0e6;font-size:14px;line-height:1.9}.mission .read-more summary{margin:20px auto;color:white}.white{background:white;color:var(--red);border-color:white;margin-top:28px}.white:hover{color:white;border-color:white}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-hint{font-size:11px;color:var(--muted);margin-bottom:6px}.gallery-photo{padding:0;border:0;position:relative;overflow:hidden;border-radius:15px;text-align:left;background:var(--rose)}.gallery-photo img{height:265px;width:100%;object-fit:cover;transition:transform .4s}.gallery-photo:hover img{transform:scale(1.06)}.gallery-photo span{position:absolute;bottom:17px;left:16px;color:white;font-size:12px;font-weight:700}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-grid>div>p{font-size:14px}.faqs>details{padding:23px 0;border-bottom:1px solid var(--line)}.faqs>details:first-child{padding-top:0}.faqs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:700}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:22px;color:var(--red);font-weight:400}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{margin-top:18px;font-size:13px;margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-copy{padding-top:22px}.contact-copy h2{font-size:53px}.contact-copy>p{max-width:390px;font-size:14px}.contact-info{margin-top:40px;padding-top:28px;border-top:1px solid var(--line);max-width:390px;font-size:13px}.contact-info p{font-size:12px;margin-top:10px}.contact-motto{font-size:20px;line-height:1.5;font-weight:600;color:var(--red);margin-top:35px}form{background:var(--rose);border:1px solid var(--line);border-radius:var(--round);padding:35px}form h3{font-size:23px;margin-bottom:10px}form>p{font-size:12px;margin-bottom:24px}label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #e6d9dc;background:white;border-radius:7px;padding:12px 13px;font-size:12px;color:var(--dark);margin-bottom:18px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red)}.form-row{display:grid;grid-template-columns:1.3fr 1fr;gap:15px}form .button{width:100%;justify-content:space-between;margin-top:2px}.form-notice{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:14px}#form-status{margin:17px 0 0;color:#6c2031;border:1px solid #d7a4b0;padding:12px;border-radius:8px}footer{background:var(--rose);padding:55px 0 0;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:40px}.footer-top p{font-size:12px;margin-top:20px}.footer-top>div>span{font-size:9px;letter-spacing:2px;display:block;color:var(--red);font-weight:700;margin-bottom:20px}.footer-top>div>a:not(.brand){display:block;font-size:12px;margin-bottom:9px}.footer-bottom{border-top:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.reveal{transition:opacity .7s,transform .7s}.js .reveal{opacity:0;transform:translateY(22px)}.js .reveal.active{opacity:1;transform:none}dialog{max-width:min(950px,92vw);padding:18px;border:0;border-radius:18px;background:#fff;max-height:90vh}dialog::backdrop{background:#271119db;backdrop-filter:blur(6px)}dialog img{max-height:73vh;max-width:100%;width:auto;margin:auto}dialog p{font-size:12px;margin:12px 0 0}#photo-close{position:absolute;right:25px;top:25px;border:0;border-radius:50%;height:36px;width:36px;background:white;color:var(--red);box-shadow:0 3px 10px #0002}
@media(min-width:1500px){.hero h1{font-size:64px}}
@media(max-width:1100px){.container,.hero-bottom{width:calc(100% - 56px)}nav{gap:19px}.brand{font-size:14px}.hero-grid{gap:30px}.hero h1{font-size:49px}.hero-art>img{height:490px}.hero-foot{gap:17px}.hero-foot>span{padding-left:15px}.hero-foot b{font-size:17px}.actions{gap:18px}.button{gap:20px}.split,.contact-grid{gap:45px}.section-top{gap:40px}.program{padding:27px 23px}.program h3{font-size:21px}.values-strip>div{gap:18px;font-size:10px}.gallery-photo img{height:220px}}
@media(max-width:800px){section{padding:70px 0}.nav{height:78px}.brand{font-size:15px}#menu-toggle{display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;z-index:25;width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:8px}#menu-toggle span{width:18px;height:2px;background:var(--red);transition:transform .2s}#menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}#menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:30px;box-shadow:0 20px 25px #541a2112;border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:20px}nav>a{font-size:14px}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(43px,7.8vw,65px)}.hero-desc{max-width:540px}.hero-foot{gap:30px;margin-top:33px}.hero-art{max-width:650px;width:100%;margin:0 auto}.hero-art>img{height:440px;object-position:center 48%}.floating-note{left:18px}.hero-bottom{margin-top:20px}.hero-bottom span{display:none}.split{grid-template-columns:1fr;gap:36px}.photo-block{order:2}.photo-block>img{height:430px}.section-copy{order:1}.section-top{display:block}.section-top>p{max-width:500px;margin-top:25px}.programs{grid-template-columns:1fr}.program{display:flex;flex-direction:column}.program h3{margin-top:32px;font-size:25px}.program p{max-width:550px}.program small{margin-top:8px}.life-grid{grid-template-columns:1fr 1fr;gap:25px}.match-card{grid-template-columns:1fr;gap:10px}.match-card>img{height:300px;min-height:0}.match-card>div{padding:20px 10px}.gallery{grid-template-columns:1fr 1fr}.gallery-hint{display:block;margin-top:20px}.gallery-photo img{height:260px}.faq-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.footer-top{grid-template-columns:1.7fr 1fr 1fr;gap:25px}.footer-top .brand{font-size:11px;gap:5px}.footer-top .brand img{width:35px}.footer-top .brand small{font-size:7px;letter-spacing:1.6px}.values-strip>div{flex-wrap:wrap;gap:10px 20px}.values-strip{padding:18px}.values-strip>div>span:nth-last-child(2){display:none}.values-strip>div{font-size:9px}.contact-copy h2{font-size:46px}.camp>img{height:230px}}
@media(max-width:480px){.container,.hero-bottom{width:calc(100% - 38px)}section{padding:58px 0}.hero h1{font-size:43px;letter-spacing:-2px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-desc{font-size:14px}.hero-art>img{height:360px;border-top-left-radius:90px}.hero-foot{gap:18px}.hero-foot b{font-size:17px}.hero-foot>span{font-size:9px;padding-left:14px}.actions{gap:17px}.button{padding:15px 18px;font-size:11px;gap:17px}.text-link{font-size:11px;gap:9px}.floating-note{padding:14px 20px}.hero-bottom{font-size:8px;letter-spacing:1px}.values-strip>div{font-size:8px;gap:7px 12px}.values-strip>div>span{font-size:14px}.photo-block>img{height:360px}.photo-label{left:23px;font-size:17px}.photo-label strong{font-size:23px}.camp-grid{grid-template-columns:1fr}.camp>img{height:260px}.life-grid{gap:18px}.life h3{font-size:16px}.life p{font-size:12px}.gallery{gap:10px}.gallery-photo img{height:200px}.gallery-photo span{font-size:10px;left:10px;bottom:12px}.mission h2{font-size:31px;letter-spacing:-1.5px}.mission p{font-size:13px}form{padding:25px 20px}form h3{font-size:20px}.form-row{grid-template-columns:1fr}.contact-copy h2{font-size:43px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-top .brand{font-size:16px}.footer-top .brand img{width:48px}.footer-top .brand small{font-size:9px;letter-spacing:2.5px}.footer-bottom{display:block;line-height:2}.footer-bottom>span{display:block}h2{font-size:33px}.contact-info{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Uploaded photography */
.brand img{height:54px;width:54px;object-fit:cover;object-position:center;border-radius:10px;background:#000}
.hero-art>img{object-position:53% center}.portrait img{object-fit:contain;background:#eee9e7}.photo-block:not(.portrait)>img{object-position:center center}.camp>img{object-position:center 44%}.match-card>img{object-position:50% 22%}.gallery-photo img{object-position:center 28%}.gallery:not(.expanded) .gallery-photo:nth-child(n+9){display:none}.gallery-controls{text-align:center;margin-top:28px}
@media(max-width:480px){.brand img{width:46px;height:46px}.hero-art>img{object-position:57% center}.portrait img{height:360px}.footer-top .brand img{height:48px}}
