@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#112937;--green:#19705b;--mint:#bce6d1;--paper:#fafbf8;--line:#d5ded9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:20px;font-weight:700;letter-spacing:.05em;line-height:1.3}.brand span{display:block;font-size:10px;letter-spacing:.16em;margin-top:7px}nav{display:flex;gap:32px;align-items:center;font-size:14px}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0}.nav-contact span{margin-left:20px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;padding:22px 5% 60px;gap:5%}.hero-copy{padding-top:45px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;margin:0 0 26px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.09;letter-spacing:-.045em;margin:0 0 28px}h1{font-size:clamp(48px,5.1vw,76px)}h2{font-size:clamp(38px,4vw,57px)}em{color:var(--green);font-weight:400}.lead{font-size:23px;line-height:1.4;margin:24px 0 18px}.intro{max-width:420px;color:#50626b}.button{display:inline-flex;gap:40px;align-items:center;background:var(--ink);color:white;padding:17px 24px;margin-top:18px;font-size:15px}.button:hover{background:var(--green)}.small-note{font-size:12px;margin-top:18px;color:#52646a}.hero-photo{position:relative;min-height:570px;border-radius:160px 4px 4px 4px;overflow:hidden;background:#bac5cf}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:53% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(10,30,40,.88))}.photo-caption{position:absolute;bottom:32px;left:32px;z-index:1;color:white}.photo-caption span{font-size:10px;letter-spacing:.13em}.photo-caption strong{font-family:Georgia,serif;font-size:31px;font-weight:400;line-height:1.2;display:block;margin-top:14px}.credentials{background:var(--ink);color:white;padding:25px 7%;display:flex;justify-content:space-around;gap:25px;font-size:15px}.credentials small{color:var(--mint);margin-left:10px}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:12%;align-items:end}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:370px;color:#52646a;margin-bottom:32px}.services{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:22px;gap:0 7%}.services article{padding:30px 0;border-bottom:1px solid var(--line)}.number{font-size:13px;color:var(--green)}h3{font-size:23px;font-weight:500;line-height:1.3;margin:14px 0}article p{color:#52646a;max-width:460px}.tags{font-size:13px;color:var(--green)}.scope{font-size:14px;color:#52646a;max-width:830px;margin:25px 0 0}.modalities{background:#e8f1ec;display:grid;grid-template-columns:1fr 1fr;gap:10%}.mode-list article{display:flex;gap:25px;border-bottom:1px solid #c4d4ca;padding:8px 0 18px}.mode-list article>span{padding-top:18px;font-size:13px;color:var(--green)}.mode-list article:first-child{padding-top:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image img{width:100%;height:520px;object-fit:cover;object-position:54% center}.about-image>span{display:block;font-size:10px;letter-spacing:.12em;margin-top:12px}.about p:not(.eyebrow):not(.lead){color:#52646a}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:18px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}details li{font-size:14px;margin:10px 0;color:#52646a}.contact{background:var(--ink);color:white;text-align:center}.contact em{color:var(--mint)}.contact>p:not(.eyebrow){max-width:500px;margin:25px auto;color:#c3d4d8}.contact-pending{display:inline-block;border:1px solid #69848c;padding:17px 25px;margin-top:15px;font-size:15px}.contact .contact-location{font-size:13px}footer{padding:40px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>a:last-child{font-size:13px}footer .brand{font-size:17px}@media(min-width:1600px){.hero{min-height:730px}}@media(max-width:760px){header{padding:22px 6%;align-items:flex-start}nav{gap:0}nav>a:not(.nav-contact){display:none}.brand{font-size:17px}.hero{grid-template-columns:1fr;padding:0 6% 35px;gap:28px}.hero-copy{padding-top:28px}h1{font-size:52px}.hero-photo{min-height:470px;border-radius:100px 3px 3px 3px}.credentials{flex-direction:column;gap:12px;padding:25px 6%}.section{padding:60px 6%}.section-heading,.modalities,.about{grid-template-columns:1fr;gap:25px}.section-heading .eyebrow{grid-column:auto}.section-heading>p:last-child{margin:0 0 20px}.services{grid-template-columns:1fr}.about-image img{height:380px}.about-image{order:2}.contact h2{font-size:48px}footer{flex-wrap:wrap;padding:30px 6%}footer p{width:100%;order:3;margin:0}.lead{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.training-link{display:block;color:var(--green);font-size:14px;margin-top:20px;max-width:420px;text-decoration:underline;text-underline-offset:4px}.training-service{grid-column:1/-1}.training-service p{max-width:720px}.training{background:#f0f5f2}.training-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.training-heading h2{font-size:clamp(36px,3.8vw,54px)}.training-heading p:not(.eyebrow):not(.lead){color:#52646a}.training-topics{border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.training-topics ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 35px;padding-left:20px}.training-topics li{padding-left:5px}.archive-heading{margin-top:50px}.archive-heading p{max-width:800px;font-size:14px;color:#52646a}.course-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:24px}.course-gallery figure{margin:0}.course-gallery img{display:block;width:100%;aspect-ratio:3508/2480;object-fit:contain;background:white;transition:transform .2s}.course-gallery a:hover img{transform:translateY(-3px)}figcaption{font-weight:500;margin-top:12px;line-height:1.4}figcaption span{display:block;font-size:12px;color:#52646a;margin-top:8px;font-weight:400}.training-cta{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}.training-cta p{max-width:580px;color:#52646a}.training-cta .button{white-space:nowrap}nav{gap:22px}@media(max-width:760px){.training-heading{grid-template-columns:1fr;gap:5px}.training-topics ul{grid-template-columns:1fr}.course-gallery{grid-template-columns:1fr 1fr;gap:25px 18px}.training-cta{display:block}nav>a[href="#formacion"]{display:block;margin-right:16px}.training-service{grid-column:auto}}@media(max-width:430px){.course-gallery{grid-template-columns:1fr}header{flex-wrap:wrap}nav{width:100%;justify-content:space-between}}

dialog{border:0;padding:16px;max-width:94vw;max-height:94vh;background:var(--paper)}dialog::backdrop{background:#112937df}dialog img{display:block;max-width:100%;max-height:80vh;object-fit:contain}dialog button{display:block;margin:0 0 12px auto;background:var(--ink);color:white;border:0;padding:10px 20px;font:inherit;cursor:pointer}
.contact-phone{display:block;font-size:clamp(30px,5vw,46px);margin:28px auto 20px;letter-spacing:.04em}.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:15px}.contact-actions a{padding:14px 24px;border:1px solid var(--mint);color:var(--mint)}.contact-actions a:last-child{background:var(--mint);color:var(--ink)}.contact a:focus-visible{outline-color:var(--mint)}.contact-actions a:hover{background:white;color:var(--ink)}

.service-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:24px}.teaching-gallery{margin-top:55px}.teaching-gallery>p{color:#52646a}.teaching-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:25px}.teaching-grid figure{margin:0}.teaching-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.teaching-grid a{display:block}.about-image img{height:auto;aspect-ratio:1;object-fit:cover;object-position:48% center}@media(max-width:760px){.teaching-grid{grid-template-columns:1fr}.about-image img{height:auto}.service-photo{aspect-ratio:3/2}}

.more-courses{margin-top:32px}.more-courses .course-gallery img{aspect-ratio:3508/2480;object-fit:contain}.more-courses .course-gallery{padding-top:18px}.more-courses summary{font-size:18px;font-weight:500}

/* Consistent course cards across the entire training archive. */
.course-gallery figure{display:flex;flex-direction:column;min-width:0}.course-gallery figure>a{display:block;width:100%;aspect-ratio:3508/2480;background:#e8ede9}.course-gallery figure>a>img,.more-courses .course-gallery figure>a>img{width:100%;height:100%;aspect-ratio:3508/2480;object-fit:contain;background:#e8ede9}.course-gallery figcaption{font-size:16px;line-height:1.4;margin-top:12px}.course-gallery figcaption span{font-size:12px;line-height:1.5;margin-top:8px}
.training-jumps{font-size:14px;color:var(--green);margin-top:28px}.training-jumps a{text-decoration:underline;text-underline-offset:4px}.more-photos summary{font-size:18px;font-weight:500}

.combined-service{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.combined-service .service-photo{margin-bottom:0}.combined-service p{max-width:580px}@media(max-width:760px){.combined-service{grid-template-columns:1fr;gap:20px}}

/* Compact course archive and teaching photographs. */
.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px;max-width:1080px;margin-left:auto;margin-right:auto}
.teaching-grid figcaption,.course-gallery figcaption{font-size:14px}.teaching-grid figcaption span,.course-gallery figcaption span{font-size:11px}
.teaching-gallery,.archive-heading{margin-top:38px}.entities{padding-top:55px;padding-bottom:55px}.entities h2{font-size:38px}.entities>p:not(.eyebrow){color:#52646a}.entity-logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:24px;align-items:center;margin-top:32px}.entity-logos[hidden]{display:none}.entity-logos img{display:block;width:100%;height:58px;object-fit:contain}.social-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:24px auto;font-size:14px}.social-links a{text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.entity-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.entity-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.training-topics li{font-size:14px}}

.social-icon{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--mint);font-size:11px;min-width:64px}.social-icon svg{width:25px;height:25px}.social-links{gap:28px}

/* Brand artwork introduces the page; the personal message follows immediately. */
.brand-banner{background:linear-gradient(110deg,#358529 45%,#1a181b 45%);overflow:hidden}
.brand-banner-art{position:relative;width:min(100%,950px);aspect-ratio:950/221;margin:0 auto;overflow:hidden}
.brand-banner-art img{position:absolute;width:121.2631579%;height:auto;max-width:none;left:-9.7894737%;top:-112.6696833%}
header{padding-top:22px;padding-bottom:22px}.hero{min-height:500px;padding-top:8px;padding-bottom:45px}.hero-copy{padding-top:22px}.hero-photo{min-height:480px;border-top-left-radius:100px}.hero h1{font-size:clamp(44px,4.8vw,68px)}
@media(max-width:760px){.brand-banner-art{width:100%}header{padding-top:18px;padding-bottom:18px}.hero{min-height:0;padding-top:0}.hero-copy{padding-top:15px}.hero h1{font-size:clamp(42px,10vw,54px)}.hero-photo{min-height:390px}.hero .eyebrow{margin-bottom:20px}}

/* Static photographs and posters, without enlargement controls. */
.course-gallery figure>img{display:block;width:100%;height:auto;aspect-ratio:3508/2480;object-fit:contain;background:#e8ede9}.teaching-grid figure>img{cursor:default}

.teaching-grid img.photo-complete{object-fit:contain;background:#e8ede9}

.service-modalities{margin-top:22px;padding:16px 18px;background:#e8f1ec;border-radius:4px}.service-modalities h4{font-size:14px;font-weight:600;margin:0 0 8px}.service-modalities ul{list-style:none;margin:0;padding:0}.service-modalities li{font-size:13px;line-height:1.6;color:#52646a;margin:6px 0}.service-modalities strong{font-weight:600;color:var(--ink)}

.personal-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:480px;align-self:start;margin-top:12px}.personal-collage img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.personal-goals{display:grid;gap:16px;margin-top:24px}.personal-goals>div{border-top:1px solid var(--line);padding-top:14px}.personal-goals h4{font-size:17px;line-height:1.4;margin:0 0 6px;font-weight:600}.personal-goals p{font-size:14px;margin:0}.personal-services .combined-service{align-items:start}.personal-services .combined-service>div>h3{margin-top:6px}@media(max-width:760px){.personal-collage{max-width:420px;margin:0 auto}.personal-services .combined-service{gap:24px}}

/* Original logos rendered in monochrome on white. */
.entities{background:#fff}.entity-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 28px;max-width:1050px;margin:30px auto 0}.entity-logo{height:82px;display:flex;align-items:center;justify-content:center;background:white;min-width:0;padding:8px}.entity-logos img{width:100%;height:66px;object-fit:contain;filter:grayscale(1) contrast(1.2);mix-blend-mode:multiply}.entity-logos .logo-reversed{filter:grayscale(1) invert(1) contrast(2)}.entity-logos .logo-light{filter:grayscale(1) contrast(2)}.entity-logos .logo-circle{clip-path:circle(44% at 50% 51%)}@media(max-width:760px){.entity-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.entity-logo{height:70px}.entity-logos img{height:54px}}@media(max-width:420px){.entity-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact overview, with full archives available on demand. */
.section{padding-top:64px;padding-bottom:64px}.training{padding-top:58px;padding-bottom:58px}.entities{padding-top:38px;padding-bottom:38px}.eyebrow{margin-bottom:18px}.training-heading h2{font-size:clamp(34px,3.5vw,48px)}.training-topics{padding:18px 0;margin-top:24px}.training-topics summary{font-size:20px;font-weight:500}.training-topics ul{margin-top:24px}.training-topics li{margin:0}.training-jumps{margin-top:18px}.teaching-gallery,.archive-heading{margin-top:30px}.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 14px;max-width:1050px}.teaching-grid figcaption,.course-gallery figcaption{font-size:12px}.teaching-grid figcaption span{display:none}.more-photos,.more-courses{margin-top:22px}.training-cta{margin-top:28px;padding-top:18px}.training-cta h3{margin-top:0}.entities h2{font-size:34px;margin-bottom:16px}.entity-logos{margin-top:20px}.personal-collage{margin-top:10px;gap:10px}.personal-collage img:first-child{grid-column:1/-1;aspect-ratio:2/1;object-position:center 42%}.personal-collage img{aspect-ratio:4/3}.stock-note{font-size:11px!important;margin:8px 0 20px;color:#52646a}.personal-process{max-width:480px;border-top:1px solid var(--line);padding-top:14px}.personal-process h4{margin:0 0 12px;font-size:15px}.personal-process ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;font-size:13px}.personal-process li span{color:var(--green);font-size:11px;margin-right:7px}
/* Two halves of the same original artwork meet without an artificial background seam. */
.brand-banner{background:white;overflow:hidden}.banner-stage{position:relative;width:100%;max-width:1440px;aspect-ratio:948/216;margin:auto;isolation:isolate}.banner-half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;animation:banner-arrive 1.05s cubic-bezier(.22,.61,.36,1) .12s both}.banner-left{left:0;--entry:-100vw}.banner-right{right:0;--entry:100vw}.banner-half img{display:block;position:absolute;width:200%;height:100%;max-width:none;object-fit:fill;top:0}.banner-left img{left:0}.banner-right img{right:0}.banner-label{position:absolute;z-index:2;font-size:clamp(16px,2.4vw,34px);line-height:1.18;font-weight:600;color:white;letter-spacing:-.025em;animation:banner-label-in .45s ease 1.05s both;text-shadow:0 1px 5px #0005}.banner-personal{left:4%;top:24%}.banner-training{right:4%;bottom:17%;text-align:right}.banner-label span{font-size:.65em}.banner-label:hover{text-decoration:underline;text-underline-offset:5px}.banner-label:focus-visible{outline-color:white;animation:none}.banner-stage:focus-within .banner-half{animation:none}.banner-stage:focus-within .banner-label{animation:none}
@keyframes banner-arrive{from{transform:translateX(var(--entry));opacity:0}to{transform:translateX(0);opacity:1}}@keyframes banner-label-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.section{padding-top:44px;padding-bottom:44px}.entities{padding-top:32px;padding-bottom:32px}.teaching-grid,.course-gallery,.more-courses .course-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.banner-stage{aspect-ratio:948/280}.banner-label{font-size:clamp(14px,3.4vw,20px)}.banner-personal{top:22%;left:4%}.banner-training{bottom:15%;right:4%}.personal-collage{max-width:480px}.training-topics summary{font-size:18px}}
@media(prefers-reduced-motion:reduce){.banner-half,.banner-label{animation:none}}

.personal-collage img:not(:first-child){aspect-ratio:4/5;object-position:center 45%}.personal-collage img:first-child{object-position:center 45%}@media(max-width:600px){.banner-stage{aspect-ratio:948/216}}

/* Three distinct scenes from the personal archive, shown in full. */
.personal-collage.personal-archive img:first-child,.personal-collage.personal-archive img:not(:first-child){aspect-ratio:3/2;object-fit:contain;object-position:center;background:#e8ede9}
