:root{--ink:#121e2d;--muted:#566273;--gold:#795b2d;--line:#dbe0e5;--wash:#f4f6f8;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.75 var(--sans)}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--gold)}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #a97e3f;outline-offset:5px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.16;margin:0 0 24px}h1{font-size:clamp(2.8rem,5.7vw,5.2rem);letter-spacing:-.04em}h2{font-size:clamp(2rem,3.2vw,2.6rem);letter-spacing:-.025em}h3{font-size:1.6rem}p{margin:0 0 22px}figure{margin:0}figcaption{font-size:.875rem;color:var(--muted);line-height:1.6;padding-top:13px}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.section{padding-top:88px;padding-bottom:88px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.875rem;font-weight:700;color:var(--gold);margin-bottom:22px}.lead{font-size:1.2rem;color:var(--muted);line-height:1.75;max-width:670px}.muted{color:var(--muted)}.skip-link{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:20}.skip-link:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:104px;padding:22px max(32px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line);background:#fff}.brand{text-decoration:none;line-height:1.2;font-size:1.35rem;font-weight:700;letter-spacing:.09em;white-space:nowrap}.brand span{display:block;font-size:.75rem;letter-spacing:.1em;margin-top:9px;font-weight:400;color:var(--muted)}nav{display:flex;gap:25px;align-items:center}nav a{font-size:.875rem;text-decoration:none;white-space:nowrap;padding:8px 0}nav a[aria-current=page]{color:var(--gold);border-bottom:1px solid var(--gold)}.menu-button{display:none;border:1px solid var(--line);background:white;padding:8px 15px;color:var(--ink)}.hero{max-width:1320px;margin:auto;padding:65px 48px 72px;display:grid;grid-template-columns:1.1fr 1fr;gap:78px;align-items:center}.hero h1{margin-bottom:24px}.hero h2{font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.2}.hero .lead{font-size:1.125rem;max-width:540px}.hero figure img{aspect-ratio:4/4.7;object-fit:cover;object-position:center 24%;max-height:610px}.hero figcaption{font-size:.75rem;letter-spacing:.12em}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 24px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:.9375rem;text-decoration:none;font-weight:600;min-height:50px}.button:hover{background:#283b50;color:#fff}.button.secondary{background:transparent;color:var(--ink);border-color:#bac3cc}.button.secondary:hover{border-color:var(--ink);background:var(--wash)}.text-link{font-size:.9375rem;font-weight:600;text-decoration:underline}.career-strip{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.career-strip .eyebrow{font-size:.75rem;margin-bottom:12px}.company-names{display:flex;gap:32px;justify-content:space-between;flex-wrap:wrap;font-family:var(--serif);font-size:1.35rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px}.split p:last-child{margin-bottom:0}.dark-section{background:var(--ink);color:white}.dark-section .eyebrow{color:#d6ae6c}.dark-section p{color:#c4cdd7}.dark-section h2{max-width:800px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.focus{border-top:1px solid #536071;padding-top:30px;margin-top:25px}.focus .number{color:#d6ae6c;font-family:var(--serif);font-size:1.4rem;display:block;margin-bottom:28px}.focus h3{font-size:1.6rem}.focus p{font-size:1rem}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-top h2{margin-bottom:0}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature figure img{aspect-ratio:1.12;object-fit:cover;object-position:50% 25%}.feature .family img{aspect-ratio:1.15;object-position:center}.founder-block{border-top:1px solid var(--line);padding:65px 0 80px}.connect-band{background:#eef1f4;padding:68px 0}.connect-band .split{align-items:center}.connect-band h2{margin:0}.connect-band .eyebrow{margin-bottom:15px}.connect-band p{max-width:500px}.page-heading{padding-top:70px;padding-bottom:52px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(2.6rem,4.8vw,4.3rem);max-width:850px}.page-heading .lead{margin-bottom:0}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center 20%}.prose{max-width:710px}.prose p{color:var(--muted)}.prose h2{font-size:2.4rem}.link-stack{display:flex;flex-direction:column;align-items:start;gap:18px;margin-top:32px}.wash{background:var(--wash)}.education-list>div{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}.education-list>div:last-child{margin:0}.education-list h3{font-size:1.5rem;margin-bottom:10px}.education-list p{margin:0;color:var(--muted)}.timeline-entry{display:grid;grid-template-columns:240px 1fr;gap:65px;border-bottom:1px solid var(--line);padding:42px 0}.timeline-entry:first-child{padding-top:0}.timeline-entry h2{font-size:2rem;margin-bottom:12px}.timeline-entry .org{font-weight:600;font-size:1.125rem;color:var(--ink);margin-bottom:6px}.timeline-entry .date{font-size:.9rem;color:var(--gold)}.timeline-entry .location{font-size:.9rem;color:var(--muted)}.timeline-entry ul{padding-left:20px;color:var(--muted)}.timeline-entry li{margin-bottom:10px}.degree-block{border-top:3px solid var(--gold);padding:35px 0}.degree-block h2{font-size:2.3rem}.degree-block .degree{font-family:var(--serif);font-size:1.65rem;line-height:1.4}.pill-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.pill{font-size:.9375rem;border:1px solid var(--line);padding:10px 17px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px}.gallery a{display:block;overflow:hidden;background:var(--wash)}.gallery img{aspect-ratio:4/5;object-fit:cover;object-position:center 22%;transition:transform .25s}.gallery a:hover img{transform:scale(1.025)}.gallery .wide{grid-column:span 2}.gallery .wide img{aspect-ratio:1.62;object-position:center}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:32px}.profile-card{padding:32px;border:1px solid var(--line);border-top:3px solid var(--gold)}.profile-card h2{font-size:1.85rem}.profile-card p{color:var(--muted)}.profile-card .eyebrow{font-size:.75rem}.contact-details{border-top:1px solid var(--line)}.contact-details>div{padding:26px 0;border-bottom:1px solid var(--line)}.contact-details h2{font:700 .875rem var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.contact-details a{overflow-wrap:anywhere}.contact-details p{margin:0}.contact-portrait img{max-height:660px;aspect-ratio:4/5;object-fit:cover;object-position:top}.note{border-left:3px solid var(--gold);padding:12px 0 12px 25px;color:var(--muted);margin:30px 0}.narrow{max-width:820px;margin:auto}footer{padding:52px 0 26px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:40px;padding-bottom:38px}.footer-top p{font-size:.9375rem;color:var(--muted);margin:0}.footer-links{display:flex;gap:25px}.footer-bottom{display:flex;gap:20px 30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:.875rem}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:85px}}@media(max-width:1150px){header{padding:24px 32px;flex-wrap:wrap;gap:20px}nav{gap:23px}.hero{gap:44px}.wrap{width:calc(100% - 64px)}.split{gap:50px}.about-layout{gap:50px}.brand{font-size:1.2rem}}@media(max-width:900px){header{min-height:92px}nav{width:100%;justify-content:space-between;gap:12px}.hero{padding:50px 32px 60px;gap:35px}.hero h1{font-size:3.7rem}.hero h2{font-size:2rem}.hero .lead{font-size:1rem}.hero figure img{aspect-ratio:3/4.5}.three-col{gap:25px}.timeline-entry{grid-template-columns:180px 1fr;gap:32px}.feature{gap:40px}.about-layout{grid-template-columns:.8fr 1.2fr}.section{padding-top:64px;padding-bottom:64px}.footer-top{flex-wrap:wrap}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .wide{grid-column:span 2}}
@media(max-width:640px){body{font-size:16px}.wrap{width:calc(100% - 40px)}header{padding:20px;align-items:center}.brand{font-size:1.1rem}.brand span{font-size:.7rem}.js .menu-button{display:block}.js nav{display:none}.js nav.open{display:flex}nav{flex-direction:column;align-items:stretch;gap:0}nav a{border-top:1px solid var(--line);padding:12px 0;font-size:1rem}.hero{display:flex;flex-direction:column;align-items:stretch;padding:40px 20px 45px;gap:35px}.hero h1{font-size:3.5rem}.hero h2{font-size:2.1rem}.hero .lead{font-size:1.125rem}.hero figure img{aspect-ratio:4/4.5;max-height:none}.hero figcaption{font-size:.75rem}.button-row{gap:12px}.button{padding:12px 18px}.eyebrow{font-size:.8rem;letter-spacing:.14em}.section{padding-top:50px;padding-bottom:50px}.split,.feature,.about-layout{grid-template-columns:1fr;gap:28px}.three-col,.profiles{grid-template-columns:1fr;gap:24px}.focus{margin-top:10px;padding-top:24px}.focus .number{margin-bottom:15px}.company-names{font-size:1.15rem;gap:12px 25px}.career-strip{padding:24px 0}.section-top{display:block}.section-top .text-link{display:inline-block;margin-top:20px}.page-heading{padding-top:45px;padding-bottom:35px}.page-heading h1{font-size:2.7rem}.lead{font-size:1.125rem}.about-layout .portrait{max-width:420px}.timeline-entry{grid-template-columns:1fr;gap:12px;padding:32px 0}.timeline-entry h2{font-size:1.85rem}.timeline-entry ul{margin-bottom:0}.degree-block h2{font-size:2rem}.gallery{gap:26px 16px}.gallery figcaption{font-size:.8rem}.gallery .wide{grid-column:span 2}.gallery .wide img{aspect-ratio:1.1}.contact-portrait{max-width:440px}.connect-band{padding:48px 0}.footer-top{display:block}.footer-top>p{margin:22px 0}.footer-links{flex-wrap:wrap;gap:20px}.footer-bottom{gap:14px 24px}.profile-card{padding:25px}.profile-card h2{font-size:1.65rem}.founder-block{padding:50px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

/* Professional and personal photo collections */
.education-feature .degree-block{padding-top:26px;margin-bottom:25px}.profile-intro{padding-bottom:20px}.personal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-gallery .wide{grid-column:1/-1}.personal-gallery .wide img{aspect-ratio:auto}.feature .portrait img{aspect-ratio:4/5;object-position:center 20%}.gallery{margin-top:30px}.education-feature .portrait{max-width:430px}
@media(max-width:640px){.education-feature .portrait{max-width:360px}.profile-intro .portrait{max-width:380px}.personal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Spanish service page uses the existing professional visual system. */
.service-hero h1{font-size:clamp(2.35rem,3.7vw,3.3rem);line-height:1.15}.service-hero figcaption{font-size:.875rem;letter-spacing:0}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 70px;margin-top:32px}.service-grid article{border-top:1px solid var(--line);padding-top:28px}.service-grid article p{color:var(--muted);margin-bottom:0}.service-term{margin:36px 0 0;border-top:1px solid #536071;padding-top:26px}.spanish-contact>a{max-width:100%;overflow-wrap:anywhere}.contact-help{font-size:.9375rem;margin:16px 0}.contact-calendar{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.contact-calendar h3{font-size:1.5rem}.language-invitation{margin:22px 0 0}.contact-details+.language-invitation{margin-bottom:22px}.about-layout .language-invitation{margin:0 0 24px}section[id]{scroll-margin-top:24px}
@media(max-width:900px){.service-hero{grid-template-columns:1.2fr 1fr;gap:32px}.service-grid{gap:30px}.service-hero h1{font-size:2.5rem}}
@media(max-width:640px){.service-hero h1{font-size:2.35rem}.service-grid{grid-template-columns:1fr;gap:28px}.spanish-contact .button{width:100%}}
@media(min-width:641px) and (max-width:760px){.js .menu-button{display:block}.js nav{display:none}.js nav.open{display:flex}nav{flex-direction:column;align-items:stretch;gap:0}nav a{border-top:1px solid var(--line);padding:12px 0;font-size:1rem}}
