
:root{--ink:#1b1b1b;--paper:#f4f2ec;--line:#cccac2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #95a35c;outline-offset:6px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white}.brand{width:145px;height:45px;overflow:hidden;position:relative;display:block}.brand img{position:absolute;width:277px;max-width:none;height:auto;left:-66px;top:-115px}nav{display:flex;gap:35px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nav-cta{border:1px solid #777;padding:13px 19px}.hero{background:var(--ink);color:var(--paper);padding:55px 5% 0}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.hero .eyebrow{display:flex;justify-content:space-between;color:#c8c8c3}.hero h1{font-size:clamp(60px,8.6vw,145px);line-height:.94;letter-spacing:-.065em;font-weight:500;margin:44px 0 28px;max-width:1200px}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:end;padding-bottom:44px;gap:32px}.hero-bottom p{font-size:17px;line-height:1.6;max-width:400px;margin:0;color:#d4d4d0}.button{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;border:1px solid currentColor;padding:18px 24px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;transition:.2s}.button:hover{background:var(--paper);color:var(--ink)}.hero-photo{width:100%;height:clamp(300px,46vw,650px);object-fit:cover;object-position:50% 64%;display:block}.photo-caption{display:flex;justify-content:space-between;padding:15px 0 22px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#bbb}.about{display:grid;grid-template-columns:1fr 2fr;gap:7%;padding:110px 5%}.about h2{font-size:clamp(38px,4.8vw,72px);font-weight:500;letter-spacing:-.05em;line-height:1.06;margin:0 0 32px}.about p{font-size:17px;line-height:1.8;max-width:660px;color:#555}.section-label{padding-top:12px;display:flex;gap:18px}.program{padding:0 5% 100px}.section-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0 40px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.program-photo{width:100%;height:610px;object-fit:cover;object-position:center 62%;display:block}.program h2{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.055em;font-weight:500;margin:25px 0}.program p{font-size:16px;line-height:1.8;color:#555;max-width:470px}.program .button{margin-top:23px}.program .button:hover{background:var(--ink);color:var(--paper)}.facts{border-top:1px solid var(--line);margin-top:35px}.fact{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.fact span:first-child{color:#666}.statement{background:#e5e7dd;padding:65px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.statement h2{font-size:clamp(38px,5.8vw,82px);letter-spacing:-.055em;font-weight:500;line-height:1.05;margin:0}.court-mark{width:170px;height:100px;border:1px solid #727769;position:relative;flex-shrink:0;background:linear-gradient(90deg,transparent 49.5%,#727769 49.5%,#727769 50.5%,transparent 50.5%)}.court-mark:before{content:'';position:absolute;inset:14px 0;border-top:1px solid #727769;border-bottom:1px solid #727769}.court-mark:after{content:'';position:absolute;inset:14px 38px;border:1px solid #727769;background:linear-gradient(transparent 49%,#727769 49%,#727769 51%,transparent 51%)}.faq{padding:85px 5%;display:grid;grid-template-columns:1fr 2fr;gap:7%}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{font-size:15px;line-height:1.8;max-width:650px;color:#555}.contact{background:var(--ink);color:var(--paper);padding:75px 5% 0}.contact h2{font-size:clamp(64px,10vw,150px);line-height:.95;letter-spacing:-.065em;font-weight:500;margin:35px 0 45px}.contact-row{display:flex;justify-content:space-between;gap:35px;align-items:end;padding-bottom:65px}.contact p{color:#bbb;line-height:1.7;max-width:400px}.contact-links{display:flex;flex-direction:column;gap:15px;font-size:22px}.contact-links a{border-bottom:1px solid #777;padding-bottom:12px;min-width:300px;display:flex;justify-content:space-between;gap:30px}.contact-links a:hover{color:#c8d0ac}.footer{border-top:1px solid #555;padding:25px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}@media(max-width:700px){header{height:80px}.brand{transform:scale(.82);transform-origin:left center;width:120px}nav{gap:16px;font-size:10px}nav .nav-cta{display:none}.hero{padding-top:35px}.hero .eyebrow{font-size:9px}.hero .eyebrow span:last-child{display:none}.hero h1{font-size:clamp(58px,13vw,90px);margin-top:30px}.hero-bottom{display:block}.hero-bottom p{font-size:15px;margin-bottom:25px}.hero-photo{height:330px;object-position:50% 65%}.about,.faq{grid-template-columns:1fr;padding:65px 6%;gap:28px}.about h2{font-size:43px}.about p{font-size:16px}.program{padding:0 6% 65px}.program-grid{grid-template-columns:1fr;gap:35px}.program-photo{height:440px}.program h2{font-size:66px}.program p{max-width:none}.statement{padding:45px 6%}.court-mark{width:90px;height:65px}.court-mark:after{inset:14px 20px}.statement h2{font-size:37px}.contact{padding:55px 6% 0}.contact-row{display:block}.contact-links{margin-top:30px;font-size:20px}.contact-links a{min-width:0}.footer{gap:18px;line-height:1.7}.photo-caption{font-size:8px}.contact h2{font-size:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero h1{max-width:none;font-size:clamp(54px,7.4vw,128px)}.hero-photo{transform:rotate(-1deg);margin-top:14px;margin-bottom:14px}.headline-court{display:inline-block;position:relative;width:1.65em;height:.765em;border:1.5px solid currentColor;vertical-align:.025em;margin-left:.12em;background:linear-gradient(90deg,transparent calc(50% - .75px),currentColor calc(50% - .75px),currentColor calc(50% + .75px),transparent calc(50% + .75px))}.headline-court:before{content:"";position:absolute;inset:12.5% 0;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}.headline-court:after{content:"";position:absolute;inset:12.5% 23%;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;background:linear-gradient(transparent calc(50% - .75px),currentColor calc(50% - .75px),currentColor calc(50% + .75px),transparent calc(50% + .75px))}@media(max-width:700px){.hero h1{font-size:clamp(36px,7.6vw,54px)}.headline-court{width:1.3em;height:.602em;margin-left:.05em}.hero-photo{margin-top:8px;margin-bottom:8px}}

.hero-photo-frame{width:100%;height:clamp(300px,46vw,650px);overflow:hidden}.hero-photo-frame .hero-photo{width:100%;height:100%;margin:0;transform:rotate(-1deg) scale(1.05);object-position:50% 64%}.program-photo-frame{height:610px;overflow:hidden}.program-photo-frame .program-photo{width:100%;height:100%;transform:scale(1.15);transform-origin:50% 62%}.contact-label{display:inline-flex;align-items:center;gap:12px}.contact-icon{position:relative;display:inline-block;width:21px;height:21px;flex-shrink:0}.email-icon{height:16px;border:1.5px solid currentColor;border-radius:2px;overflow:hidden}.email-icon:before{content:"";position:absolute;width:13px;height:13px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);left:2.5px;top:-8px}.instagram-icon{border:1.5px solid currentColor;border-radius:6px}.instagram-icon:before{content:"";position:absolute;width:8px;height:8px;border:1.5px solid currentColor;border-radius:50%;left:4.5px;top:4.5px}.instagram-icon:after{content:"";position:absolute;width:3px;height:3px;background:currentColor;border-radius:50%;top:3px;right:3px}@media(max-width:700px){.hero-photo-frame{height:330px}.program-photo-frame{height:440px}.contact-links a{gap:14px}.contact-label{gap:10px}}

.about .story-photo{grid-column:1 / -1;width:100%;height:auto;max-height:680px;object-fit:cover;object-position:50% 55%;display:block;margin-top:30px}.about figure.story-photo{height:auto;overflow:hidden}.about figure.story-photo img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover;object-position:50% 55%}@media(max-width:700px){.about .story-photo{margin-top:8px;max-height:none}}

.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8%;row-gap:32px;padding:80px 5%;align-items:center}.about>.section-label{grid-column:1 / -1;padding-top:0}.about h2{font-size:clamp(38px,4.2vw,60px);margin-bottom:24px}.about p{font-size:16px;line-height:1.75}.about .story-photo,.about figure.story-photo{grid-column:2;grid-row:2;width:100%;height:auto;max-height:none;margin:0;align-self:center}.about figure.story-photo img{width:100%;height:auto;max-height:none;display:block}@media(max-width:700px){.about{grid-template-columns:1fr;gap:25px;padding:60px 6%}.about h2{font-size:40px}.about .story-photo,.about figure.story-photo{grid-column:1;grid-row:auto;margin:0}.about>.section-label{grid-column:1}}

.hero{padding-bottom:56px}.about .story-photo{transform:none;transform-origin:50% 50%}

.about .story-copy p{text-align:justify;text-align-last:left}@media(max-width:700px){.about .story-photo,.about figure.story-photo{width:94%;justify-self:center}}

.about .story-photo,.about figure.story-photo{width:100%;transform:none;justify-self:end}.faq-instagram{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;white-space:nowrap}.faq-instagram .contact-icon{transform:scale(.8);margin:-2px}


/* Keep the doubles photograph level with the bottom of its neighbouring CTA. */
.program-grid{align-items:stretch}.program-photo-frame{position:relative;height:auto;min-height:0;overflow:hidden}.program-photo-frame .program-photo{position:absolute;top:-30.5%;left:0;width:100%;height:159%;max-width:none;margin:0;transform:none;object-fit:cover;object-position:50% 50%}.program-photo-frame figure.program-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.program-grid .button{display:flex;width:fit-content}.program-grid>div:last-child>p:last-child{margin-bottom:0}@media(max-width:700px){.program-photo-frame{height:auto;aspect-ratio:1368 / 1150}}

/* Mobile layout: explicit image height and uncropped brand lettering. */
.brand{width:150px;flex-shrink:0}.brand img{left:-63px}
.program-grid>* ,.about>* ,.faq>*{min-width:0}
summary:after{flex-shrink:0}summary::-webkit-details-marker{display:none}
@media(max-width:700px){
 header{gap:12px}.brand{width:136px;height:42px;transform:none}
 .brand img,.wp-block-image.brand img{width:247px;left:-56px;top:-102px}
 nav{gap:14px;flex-shrink:0}nav a{display:flex;align-items:center;min-height:44px}
 .program-photo-frame{width:100%;height:clamp(260px,74vw,440px);min-height:260px;aspect-ratio:auto}
 .about h2{font-size:clamp(32px,8vw,40px)}
 .button{max-width:100%;gap:16px;padding:18px;font-size:11px}
 .button>span{flex-shrink:0}.hero h1{overflow-wrap:normal}
 .contact h2{font-size:clamp(52px,15vw,70px)}
 .contact-links{width:100%;max-width:400px}.contact-links a{min-height:44px}
 .footer{flex-wrap:wrap;column-gap:24px;row-gap:12px}
 .statement{gap:16px}.statement h2{font-size:clamp(32px,8vw,37px);min-width:0}
}
@media(max-width:360px){.statement{align-items:flex-start;flex-direction:column}.hero .eyebrow{letter-spacing:.1em}}
