:root{--ink:#173e34;--text:#314b42;--paper:#f7f5ed;--muted:#607167;--gold:#e8b969;--line:#d8ddd2;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b26a19;outline-offset:5px}section[id]{scroll-margin-top:25px}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:50}.skip-link:focus{top:12px}.header{min-height:110px;width:min(1360px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:48px;height:54px;object-fit:contain;background:#000}.brand strong{display:block;font-size:27px;line-height:1.15;letter-spacing:.08em}.brand small{font-size:11px;letter-spacing:.035em}.header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header nav>a:hover{color:#9a570b}.nav-contact{border:1px solid #a9b5a7;padding:10px 17px}.nav-contact span{margin-left:15px}.menu-toggle{display:none}.hero{padding-top:70px;padding-bottom:85px;display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.dot{display:inline-block;background:#9c713c;width:7px;height:7px;border-radius:50%;margin-right:9px}.hero h1{font-family:var(--serif);font-size:clamp(46px,4.6vw,70px);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:24px 0}.hero h1 em{font-weight:400;color:#7d613b}.hero-intro{font-size:17px;max-width:390px;color:var(--text);line-height:1.7;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;background:var(--ink);color:white;padding:15px 22px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#2c5949;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.hero-note{font-size:11px;color:var(--muted);margin-top:20px}.hero-photo{position:relative;padding-bottom:38px}.hero-photo>img{height:425px;width:100%;object-fit:cover;object-position:50% 50%;border-radius:140px 0 0 0}.hero-photo figcaption{display:flex;justify-content:space-between;align-items:center;padding:15px 0 0;font-size:11px;color:var(--muted)}.photo-label{color:var(--ink);font-weight:700}.hero-photo figcaption span span{padding-left:10px}.purpose{display:grid;grid-template-columns:1fr 2.2fr;gap:50px;border-top:1px solid var(--line);padding:55px 0 70px}.section-label{padding-top:12px;display:flex;align-items:center;gap:20px}.little-line{width:45px;height:1px;background:#9caa9d}h2{font-family:var(--serif);font-size:clamp(32px,3.1vw,47px);font-weight:400;letter-spacing:-.035em;line-height:1.16}.purpose-body>p{max-width:640px;color:var(--text);margin-top:25px;font-size:16px}.facts{display:flex;gap:65px;margin-top:40px}.facts>div{display:flex;align-items:center;gap:20px}.facts strong{font:400 65px/1 var(--serif);letter-spacing:-.05em}.facts span{font-size:12px;line-height:1.65;color:var(--text)}.home-section{background:var(--ink);color:#f7f5ed;padding:70px 0}.home-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px}.home-photo{padding:0 35px;position:relative}.home-photo:before{content:'';position:absolute;width:70%;height:80%;border:1px solid #6b8170;left:10px;bottom:-15px}.home-photo img{position:relative;height:470px;width:100%;object-fit:cover;object-position:50% 38%}.home-copy .eyebrow{color:var(--gold)}.home-copy h2{margin:22px 0 25px;font-size:clamp(36px,3.6vw,52px)}.home-copy p:not(.eyebrow){font-size:15px;line-height:1.85;color:#d4dfd4;margin-bottom:20px;max-width:430px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:700;border-bottom:1px solid #a1b0a0;padding-bottom:7px}.text-link:hover{color:#916123}.text-link.light{margin-top:12px;border-color:#849989}.text-link.light:hover{color:var(--gold)}.programs{padding-top:95px;padding-bottom:90px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-top .eyebrow{margin-bottom:17px}.section-top>p{font-size:13px;color:var(--muted);line-height:1.7}.program-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:45px}.program{border-top:1px solid #aebaac;padding-top:22px}.program-number{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#756245}.program h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.25;letter-spacing:-.025em;margin:18px 0 14px}.program p{font-size:14px;line-height:1.8;color:var(--text);max-width:510px}.program>img{width:100%;height:285px;object-fit:cover;margin-top:25px}.program.compact .text-link{margin-top:22px}.moments{padding:75px 0 85px;background:#eceee4}.gallery{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:20px}.gallery-item{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--ink);min-width:0}.gallery-item img{width:100%;height:310px;object-fit:cover;transition:filter .2s}.gallery-item:hover img{filter:brightness(.9)}.gallery-item:nth-child(2) img{object-position:center 28%}.gallery-item>span{font-size:11px;display:flex;justify-content:space-between;padding-top:14px;gap:10px}.gallery-item b{font-weight:400;font-size:17px}.connect{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:85px;padding-bottom:85px}.connect .eyebrow{margin-bottom:18px}.connect h2{font-size:clamp(31px,3.1vw,44px)}.connect p:not(.eyebrow){max-width:510px;font-size:14px;color:var(--text);margin-top:23px}.connect .button{flex-shrink:0}.footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer-brand{font-weight:700;letter-spacing:.1em;color:var(--ink);font-size:20px}.footer-brand span{display:block;font-size:9px;letter-spacing:0;font-weight:400}.footer a:hover{text-decoration:underline}dialog{background:#142d26;color:white;border:1px solid #496155;padding:18px;max-width:min(1100px,94vw);max-height:94vh;width:fit-content}dialog::backdrop{background:#0b1715e8}.dialog-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:15px}.dialog-toolbar p{flex:1;text-align:center;font-size:13px}.dialog-toolbar button{border:1px solid #779284;background:transparent;color:white;min-width:42px;min-height:42px;cursor:pointer}#expanded-photo{max-height:75vh;max-width:100%;width:auto;margin:auto;object-fit:contain}body.modal-open{overflow:hidden}
.program>img{object-position:center top}
@media(min-width:1500px){.hero h1{font-size:72px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header{width:calc(100% - 48px)}.header nav{gap:19px;font-size:12px}.hero{gap:28px;padding-top:55px}.hero h1{font-size:50px}.hero-photo>img{height:370px;border-top-left-radius:100px}.hero-intro{font-size:15px}.purpose{grid-template-columns:1fr 2.8fr;gap:25px}.facts{gap:35px}.facts>div{gap:13px}.facts strong{font-size:55px}.facts span{font-size:11px}.home-inner{gap:40px}.home-photo{padding:0 15px}.home-photo img{height:410px}.program-grid{column-gap:35px}.program h3{font-size:26px}.gallery{gap:15px}.gallery-item img{height:260px}.footer-inner>span{display:none}}
@media(max-width:720px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{position:relative;min-height:88px;width:calc(100% - 40px)}.brand img{width:37px;height:43px}.brand strong{font-size:23px}.brand small{font-size:10px}.menu-toggle{display:flex;gap:12px;align-items:center;border:1px solid #b5c0b1;color:var(--ink);background:none;padding:8px 12px;font-size:12px;cursor:pointer}.header nav{display:none;position:absolute;left:0;right:0;top:87px;background:var(--paper);z-index:10;padding:20px;border:1px solid var(--line);box-shadow:0 16px 25px #173e3412}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:8px}.header nav a{padding:10px;font-size:14px}.nav-contact{margin-top:5px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:35px}.hero h1{font-size:clamp(42px,9vw,65px);margin:21px 0}.hero-intro{font-size:16px;max-width:440px}.hero-note{margin-top:15px}.hero-photo{padding-bottom:0}.hero-photo>img{height:330px;border-top-left-radius:95px}.hero-photo figcaption{padding-top:12px}.eyebrow{font-size:10px}.purpose{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:25px}.section-label{padding-top:0}h2{font-size:34px}.purpose-body>p{font-size:15px;margin-top:20px}.facts{gap:24px;justify-content:space-between;margin-top:28px}.facts>div{display:block}.facts strong{font-size:56px;display:block;margin-bottom:12px}.facts span{font-size:12px}.home-section{padding:45px 0}.home-inner{grid-template-columns:1fr;gap:40px}.home-photo{padding:0 15px 0 0}.home-photo:before{left:15px;bottom:-12px;width:85%;height:85%}.home-photo img{height:365px;object-position:50% 37%}.home-copy h2{font-size:39px;margin-top:20px}.home-copy p:not(.eyebrow){max-width:none}.programs{padding-top:50px;padding-bottom:50px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:18px}.program-grid{grid-template-columns:1fr;row-gap:32px}.program h3{font-size:28px}.program>img{height:260px}.moments{padding:45px 0}.gallery{grid-template-columns:1fr 1fr;gap:25px 15px}.gallery-item.wide{grid-column:1/-1}.gallery-item.wide img{height:285px}.gallery-item img{height:225px}.gallery-item>span{font-size:10px}.connect{display:block;padding-top:50px;padding-bottom:50px}.connect h2{font-size:34px}.connect .button{margin-top:28px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:11px}.footer-inner>a:last-child{grid-column:2;grid-row:1;text-align:right}.footer-inner>a:nth-child(2){grid-column:1/-1}.dialog-toolbar{gap:8px}.dialog-toolbar button{min-width:35px;min-height:38px}.dialog-toolbar p{font-size:11px}dialog{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
