@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#142d3b;--gold:#ad7c2d;--ivory:#f8f5ee;--ink:#34464d;--line:#deded4;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--ivory);color:var(--navy);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.8}a{color:inherit}p{color:var(--ink);margin:0 0 1.3em}h1,h2,h3{font-weight:400;line-height:1.08;margin:0 0 24px}h1,h2{font-family:var(--serif)}h1{font-size:clamp(52px,5.1vw,78px);letter-spacing:-1.8px}h2{font-size:clamp(38px,3.4vw,52px);letter-spacing:-.8px}h3{font-family:var(--serif);font-size:29px;line-height:1.2}em{font-style:normal;color:var(--gold)}.wrap{width:min(1260px,calc(100% - 112px));margin:auto}.review{background:var(--navy);color:#f8f5ee;text-align:center;font-size:10px;letter-spacing:1.7px;padding:8px 20px}.review span{color:#d4b577;margin:0 9px}header{border-bottom:1px solid var(--line);background:var(--ivory);position:sticky;top:0;z-index:10}.header-inner{max-width:1440px;margin:auto;padding:22px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;white-space:nowrap;font-size:15px;letter-spacing:1.2px;font-weight:600;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:2.1px;margin-top:5px;font-weight:400}.brand-mark{font-size:45px;line-height:1;color:var(--gold);font-weight:400}nav{display:flex;gap:23px;align-items:center;font-size:12px}nav>a:not(.button){text-decoration:none;position:relative}nav>a[aria-current=page]{color:#876024}nav>a[aria-current=page]:after{content:'';height:2px;position:absolute;bottom:-8px;left:0;right:0;background:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:white;text-decoration:none;padding:16px 23px;font-size:12px;font-weight:500;border:1px solid var(--navy);cursor:pointer;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#285263;transform:translateY(-2px)}nav .button{padding:13px 16px;font-size:11px;gap:12px}.button span{font-size:18px}.button.secondary{background:transparent;color:var(--navy);border-color:#b5b9af}.button.secondary:hover{background:#eae9df}.menu{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;padding-top:66px;padding-bottom:70px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;color:var(--gold);margin-bottom:25px}.line{display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:8px}.hero .lead{font-size:16px;line-height:1.9;max-width:520px}.hero-copy>p:not(.lead):not(.eyebrow){font-size:14px;max-width:500px}.actions{display:flex;gap:12px;margin:28px 0}.location{font-size:11px;letter-spacing:.6px;display:flex;align-items:center;gap:13px;color:#536361}.hero-art{position:relative;padding-bottom:40px}.hero-art>img{display:block;width:100%;height:560px;object-fit:cover;border-radius:180px 180px 2px 2px;background:#e1dfcc}.art-caption{position:absolute;bottom:21px;left:-25px;background:#eee8da;padding:24px 35px;display:flex;align-items:center;gap:22px;font-family:var(--serif);font-size:27px;line-height:1.2;box-shadow:0 12px 35px #142d3b0a}.art-caption strong{font-weight:400;color:#80622e}.sun{color:var(--gold);font-size:48px}.art-note{position:absolute;right:0;bottom:0;font-size:9px;letter-spacing:.7px;color:#657069}.intro{border-top:1px solid var(--line);padding-top:65px;padding-bottom:80px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large{font-size:20px;line-height:1.6}.care{background:#eceee7;padding:80px 0}.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}.care article{padding-right:24px;border-right:1px solid #cdd3c8}.care article:last-child{border:0}.care h3{font-size:28px;margin-top:24px}.care p{font-size:14px}.number{color:#7d6a42;font-size:11px;letter-spacing:2px}.values{padding:90px 0;text-align:center}.promise{display:flex;justify-content:space-between;margin:42px 0 30px}.promise>div{flex:1;border-right:1px solid var(--line)}.promise>div:last-child{border:0}.promise span{font-family:var(--serif);font-size:64px;color:var(--gold);line-height:1}.promise p{font-size:12px;margin-top:13px}.values>p:not(.eyebrow){max-width:630px;margin:0 auto 25px}.cta{margin-bottom:80px;background:#eae4d6;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-size:40px}.cta p:not(.eyebrow){max-width:650px;font-size:14px;margin-bottom:0}.cta .button{flex-shrink:0}footer{background:var(--navy);padding:58px 56px 20px;color:#f6f1e5}footer p{color:#c4cdd0;font-size:13px}footer .brand{color:#f6f1e5}.footer-top{max-width:1260px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:60px}.footer-tag{font-family:var(--serif);font-size:27px;line-height:1.3;margin-top:22px}footer h2{font-size:30px}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;font-size:12px;gap:9px}.footer-nav a{text-decoration:none}.footer-bottom{max-width:1260px;margin:32px auto 0;padding-top:18px;border-top:1px solid #3a505b;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#b1bec4}.muted{opacity:.75}.page-hero{padding:70px 0 55px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1050px}.lead{font-size:19px;max-width:720px}.page-content{padding:35px 0 80px}.copy-section{padding:40px 0;border-bottom:1px solid var(--line);max-width:880px;margin:auto}.copy-section>p{max-width:760px}.copy-section h2{font-size:42px}.copy-section h3{margin-top:30px;font-size:28px}.copy-section:last-child{border:0}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary:after{content:'+';color:var(--gold);font-size:22px}.faq details[open] summary:after{content:'−'}.faq details p{margin:16px 30px 5px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:35px}.contact-grid h2{font-size:37px}.contact-item{padding:25px 0;border-top:1px solid var(--line)}.contact-item h3{font-size:27px;margin-bottom:14px}.contact-item p{margin-bottom:12px}small{font-size:11px}.form-panel{padding:35px;background:#eeeee5}.form-note{padding:16px;background:#e6ddc9;font-size:12px;line-height:1.6;margin-bottom:24px}fieldset{border:0;margin:0;padding:0;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid #b8beb6;background:#f8f5ee;border-radius:0;padding:12px;font:inherit;color:var(--navy);margin-top:7px}textarea{resize:vertical}.privacy{font-size:11px}fieldset:disabled .button{opacity:.5;cursor:not-allowed}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{opacity:.7}.skip{position:fixed;left:15px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:15px}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(min-width:1500px){.hero{gap:90px}.hero-art>img{height:610px}}@media(max-width:1150px){.header-inner{padding:20px 28px}.brand{font-size:13px}nav{gap:16px;font-size:11px}nav .button{display:none}.wrap{width:calc(100% - 70px)}.hero{gap:35px}.hero-art>img{height:540px}.actions{flex-wrap:wrap}.hero h1{font-size:60px}.contact-grid{gap:45px}}@media(max-width:760px){.review{font-size:8px;letter-spacing:.7px}.header-inner{padding:16px 23px}.brand{font-size:12px}.brand small{font-size:7px}.brand-mark{font-size:35px}.menu{display:flex;background:transparent;border:1px solid #bcc1b6;padding:9px;gap:10px;color:var(--navy);font:inherit;font-size:11px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:22px;box-shadow:0 20px 20px #142d3b15;align-items:stretch;font-size:14px}nav.open{display:flex;flex-direction:column}nav>a{padding:8px 0}nav .button{display:flex}nav>a[aria-current=page]:after{display:none}.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:45px}.hero h1{font-size:57px;letter-spacing:-1.2px}.hero .lead{font-size:15px}.hero-art{max-width:500px;margin:0 auto;width:100%}.hero-art>img{height:420px;border-radius:130px 130px 0 0}.art-caption{left:-8px;padding:18px 24px;font-size:25px}.eyebrow{font-size:9px;letter-spacing:1.6px}.intro{padding:45px 0}.intro-grid{grid-template-columns:1fr;gap:8px}.care{padding:48px 0}.care-grid{grid-template-columns:1fr 1fr;gap:20px}.care article{border:0;padding:0}.care h3{font-size:25px}.values{padding:50px 0}.promise{flex-wrap:wrap;gap:24px 0;justify-content:center}.promise>div{flex:0 0 25%}.promise span{font-size:48px}.promise p{font-size:10px}.cta{padding:30px 24px;flex-direction:column;align-items:flex-start;margin-bottom:45px}.cta h2{font-size:34px}footer{padding:40px 24px 20px}.footer-top{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;gap:5px}.footer-nav{flex-direction:row;flex-wrap:wrap;gap:12px 20px}.page-hero{padding:42px 0 30px}.page-hero h1{font-size:47px;letter-spacing:-1px}.lead{font-size:17px}.page-content{padding-top:10px;padding-bottom:40px}.copy-section{padding:30px 0}.copy-section h2{font-size:36px}.contact-grid{grid-template-columns:1fr;gap:20px}.form-panel{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}.location{font-size:10px;gap:8px}.actions .button{padding:14px 17px;font-size:11px}.faq summary{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
a[href^="mailto:"]{overflow-wrap:anywhere}

/* Vector icons keep the same shape and color on mobile and desktop. */
svg.icon{display:block;width:20px;height:20px;flex:0 0 auto}
svg.brand-mark{display:block;width:32px;height:42px;flex:0 0 auto;color:var(--gold)}
svg.sun{display:block;width:46px;height:46px;flex:0 0 auto;color:var(--gold)}
.location svg.icon{width:14px;height:14px}
.menu{align-items:center}
.menu svg.icon{width:16px;height:16px}
.button svg.icon{width:18px;height:18px}
@media(max-width:760px){svg.brand-mark{width:26px;height:34px}svg.sun{width:38px;height:38px}}

/* Program detail and photographic imagery */
.program-summary{padding:55px 0;border-bottom:1px solid var(--line)}
.program-summary>p:not(.eyebrow){max-width:760px}
.hero-art>img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:75px 75px 2px 2px}
.hero-art .art-caption{bottom:32px;padding:18px 25px;font-size:25px}
.program-photo{max-width:880px;margin:25px auto 15px}
.program-photo img{display:block;width:100%;height:auto;border-radius:4px}
.program-photo figcaption{font-size:10px;color:#657069;margin-top:8px;letter-spacing:.5px}
.new-detail{max-width:100%}
.detail-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:30px 0}
.detail-list li{padding:18px 0;border-top:1px solid var(--line);line-height:1.6;font-size:14px;overflow-wrap:anywhere}
.copy-section:not(.new-detail) .detail-list{grid-template-columns:1fr}
nav{gap:18px}
@media(max-width:1150px){nav{gap:14px}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero-art>img{height:auto;border-radius:55px 55px 2px 2px}.hero-art .art-caption{left:0;bottom:28px;font-size:22px;padding:14px 20px;gap:14px}.hero-art{padding-bottom:75px}.art-note{font-size:8px;letter-spacing:0}.detail-list{grid-template-columns:1fr;margin:20px 0}.detail-list li{padding:15px 0}.program-summary{padding:40px 0}.program-photo{margin-top:20px}.location{flex-wrap:wrap;row-gap:3px}.brand{gap:8px}.header-inner{gap:12px}}
