:root{--ink:#132a44;--blue:#245bd8;--muted:#5b6978;--line:#dce3eb;--paper:#fff;--tint:#f1f5fa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:.25em}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.04;letter-spacing:-.05em;margin-bottom:30px}h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.15;letter-spacing:-.035em}h3{font-size:1.2rem;line-height:1.4}p{max-width:72ch}em{color:var(--blue)}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.skip{position:fixed;left:20px;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}header{border-bottom:1px solid var(--line);background:white}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{text-decoration:none;white-space:nowrap;font-size:1.9rem;letter-spacing:-.055em}.brand span{color:var(--blue)}nav{display:flex;gap:26px;align-items:center}nav a{font-size:.875rem;text-decoration:none;padding:12px 0;white-space:nowrap}nav a:hover,nav a[aria-current=page]{color:var(--blue)}nav a[aria-current=page]{box-shadow:inset 0 -2px var(--blue)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:6px 14px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:25px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center;padding:78px 0 88px}.hero .intro{font-size:1.12rem;color:var(--muted);line-height:1.8}.hero figure{margin:0}.hero-portrait{width:100%;height:490px;object-fit:cover;object-position:50% 50%}.caption{font-size:.8rem;color:var(--muted);padding-top:13px;margin:0}.hero figcaption{display:flex;justify-content:space-between;gap:16px}.hero-foot{margin-top:28px;display:flex;gap:25px;align-items:center}.button{display:inline-block;background:var(--ink);color:white;padding:12px 23px;text-decoration:none;border:1px solid var(--ink);font-size:.875rem}.button:hover{background:var(--blue);border-color:var(--blue)}.text-link{font-size:.9rem}.section{padding:76px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head h2{margin:0}.section-head p{max-width:400px;color:var(--muted);margin:0}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.role{padding:22px 0;border-top:2px solid var(--ink)}.role .number{font-size:.8rem;color:var(--blue)}.role h3{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;margin:15px 0}.role p{font-size:.94rem;color:var(--muted)}.role a{font-size:.85rem}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.feature{display:block;text-decoration:none}.feature img{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:20px}.feature h3{font-size:1.35rem;margin:8px 0}.feature p{color:var(--muted)}.feature:hover h3{color:var(--blue)}.blue-panel{background:var(--ink);color:white;padding:60px;margin-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.blue-panel .eyebrow{color:#b6c9e0}.blue-panel p{color:#d8e3ef}.blue-panel a{color:white}.page-intro{padding:66px 0 48px;max-width:840px}.page-intro h1{font-size:clamp(3.2rem,6vw,5.5rem)}.lede{font-size:1.16rem;color:var(--muted);line-height:1.8}.subnav{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.subnav a,.filter{background:white;border:1px solid var(--line);padding:8px 17px;font-size:.875rem;text-decoration:none;color:var(--ink)}.filter[aria-pressed=true],.subnav a:hover{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.gallery figure{margin:0}.gallery figure[hidden]{display:none}.image-button{border:0;background:var(--tint);width:100%;padding:0;display:block;cursor:zoom-in}.image-button img{width:100%;height:350px;object-fit:contain}.gallery figcaption{font-size:.9rem;padding-top:12px;line-height:1.5}.gallery .credit{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.split .full-image{width:100%;max-height:560px;object-fit:contain;background:var(--tint)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0}.fact{border-top:1px solid var(--line);padding-top:20px}.fact b{font-family:Georgia,serif;font-size:2.6rem;font-weight:400;display:block}.fact span{font-size:.875rem;color:var(--muted)}.project{padding:58px 0;border-top:1px solid var(--line)}.project h2{font-size:2.7rem}.project p{color:var(--muted)}.wide-image{width:100%;max-height:580px;object-fit:cover}.article{max-width:760px;margin:0 auto;padding:25px 0 80px}.article p{font-family:Georgia,serif;font-size:1.16rem;line-height:1.9}.article h2{margin-top:45px}.article figure{margin:35px 0}.article figure img{max-height:600px;object-fit:contain;margin:auto}.article figcaption{font-family:Arial,sans-serif;font-size:.85rem;color:var(--muted)}.timeline{border-left:1px solid var(--line);padding-left:28px}.timeline section{margin-bottom:32px}.timeline h3{margin:6px 0}.timeline p{color:var(--muted)}.date{font-size:.85rem;color:var(--blue)}.resume-section{padding:35px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:45px}.resume-section h2{font-size:2rem}.resume-item{margin-bottom:28px}.resume-item h3{margin-bottom:3px}.resume-item p{color:var(--muted);margin:5px 0}.resume-item ul{padding-left:22px}.quiet{color:var(--muted)}.tennis-quote{padding:65px;background:var(--tint);font:2.5rem/1.25 Georgia,serif;letter-spacing:-.035em;border-left:4px solid var(--blue)}video{width:100%;max-height:560px;background:#111}.footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.85rem;color:var(--muted)}.footer-links{display:flex;gap:25px}.lightbox{border:0;padding:0;background:#102237;color:white;width:min(1100px,95vw);max-height:95vh}.lightbox::backdrop{background:#081320e8}.lightbox img{max-height:76vh;max-width:100%;object-fit:contain;margin:auto}.lightbox-bar{padding:12px 20px;display:flex;justify-content:space-between;gap:20px}.lightbox button{background:transparent;color:white;border:1px solid #6d8298;padding:5px 15px}.cookie-panel{position:fixed;bottom:20px;left:20px;width:min(430px,calc(100% - 40px));background:white;border:1px solid var(--line);box-shadow:0 5px 40px #10223722;padding:22px;z-index:20;font-size:.875rem}.cookie-panel p{margin-bottom:14px}.cookie-panel button{font-size:.85rem;padding:8px 14px;margin-right:8px;border:1px solid var(--ink);background:white}.cookie-panel button[data-consent=accept]{background:var(--ink);color:white}[hidden]{display:none!important}.print-only{display:none}
@media(min-width:1500px){.hero{gap:110px;padding-top:100px}.hero-portrait{height:560px}}
.full-image[src$="photo-club.webp"]{height:auto;object-fit:contain;background:white}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}nav{gap:17px}.header-inner{gap:20px}.hero{gap:40px}.hero-portrait{height:450px}.role-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.blue-panel{padding:40px}.split{gap:35px}}
@media(max-width:740px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.brand{font-size:1.65rem}.menu-toggle{display:block}nav{display:none;width:100%;padding:15px 0 22px;flex-wrap:wrap;gap:10px 24px}nav.open{display:flex}.hero{grid-template-columns:1fr;gap:35px;padding:45px 0 50px}h1{font-size:3.35rem}.hero-portrait{height:auto;max-height:520px;object-fit:contain;background:var(--tint)}.hero .intro{font-size:1rem}.section{padding:45px 0}.section-head{display:block}.section-head p{margin-top:20px}.role-grid{gap:20px}.feature-grid,.split,.blue-panel{grid-template-columns:1fr;gap:30px}.blue-panel{padding:28px;margin-bottom:45px}.page-intro{padding:45px 0 25px}.gallery{gap:24px 16px}.image-button img{height:260px}.project{padding:40px 0}.project h2{font-size:2.2rem}.facts{gap:12px}.fact b{font-size:2.1rem}.resume-section{grid-template-columns:1fr;gap:12px}.footer-inner{align-items:start;flex-direction:column}.tennis-quote{padding:30px;font-size:1.9rem}.lightbox-bar{font-size:.85rem}.article p{font-size:1.1rem}}
@media(max-width:420px){.gallery{grid-template-columns:1fr}.image-button img{height:auto;max-height:520px}.role-grid{grid-template-columns:1fr}.hero-foot{gap:20px}}
@media(max-width:420px){.hero h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.footer,.no-print,.cookie-panel,.lightbox{display:none!important}.print-only{display:block}.wrap{width:100%}.page-intro{padding:0}h1{font-size:2.6rem!important}.resume-section{padding:15px 0;grid-template-columns:170px 1fr;gap:25px}.resume-item{break-inside:avoid}body{font-size:11pt;color:#111}.resume-item p{color:#333}a{text-decoration:none}}

/* Homepage role photographs */
.role-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:18px 0 22px}.role-grid{align-items:start}

.photo-collection{scroll-margin-top:24px}.photo-collection .section-head{align-items:start}.photo-collection .section-head>div{max-width:550px}.photo-collection .section-head p{max-width:480px}.photo-collection .eyebrow{margin-bottom:16px}.photo-collections{margin-bottom:45px}.photo-collection .image-button img{height:320px}.photo-collection h2{margin-bottom:0}@media(max-width:740px){.photo-collection .section-head p{margin-top:20px}.photo-collection .image-button img{height:250px}}@media(max-width:420px){.photo-collection .image-button img{height:auto;max-height:520px}}

.team-portrait-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.team-portrait-grid figure{margin:0}.team-portrait-grid .image-button img{height:auto;max-height:540px;object-fit:contain}.tennis-team-portraits{padding-top:35px}.tennis-team-portraits+.blue-panel{margin-top:20px}@media(max-width:740px){.team-portrait-grid{grid-template-columns:1fr;gap:30px}}
