:root{--ivory:#f8f5f0;--beige:#eee4d9;--chocolate:#493126;--text:#30241f;--accent:#815239;--line:#dfcdbb;--white:#fff;--radius:23px;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:linear-gradient(#fff 55%,#fbf8f5);color:var(--text);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{color:var(--text);line-height:1.18}h1,h2{letter-spacing:-1.25px}h2{font-size:32px;font-weight:720}p+p{margin-top:10px}.container{width:calc(100% - 80px);max-width:var(--max);margin-inline:auto}.section-space{margin-top:30px}.icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.short-rule{width:48px;height:4px;background:var(--accent);margin:17px 0}.skip-link{position:fixed;top:6px;left:10px;z-index:100;background:#fff;padding:10px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid #a76b43;outline-offset:5px;border-radius:4px}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;padding:13px 24px;border-radius:15px;background:var(--chocolate);color:var(--ivory);font-weight:500;min-height:48px;transition:background .15s}.button:hover{background:#674432}.button .icon{width:23px;height:23px}.site-header{position:sticky;top:0;z-index:20;background:rgba(248,245,240,.97)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:30px}.brand{font-size:27px;font-weight:750;letter-spacing:-1px;white-space:nowrap}nav{display:flex;gap:30px;align-items:center}.nav-link{padding:15px 0 10px;border-bottom:2px solid transparent;font-size:15px;white-space:nowrap}.nav-link:hover,.nav-link.active{border-color:var(--accent)}.nav-link.active{font-weight:650}.nav-contact{padding:9px 21px;border-radius:30px;gap:10px;font-size:15px;min-height:42px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;background:var(--ivory);overflow:hidden}.hero-inner{min-height:510px;display:flex;align-items:center;position:relative}.hero-copy{max-width:640px;width:56%;padding:35px 0 42px}.hero h1{font-size:clamp(34px,3.2vw,46px);font-weight:750;line-height:1.1}.hero-subtitle{font-size:20px;line-height:1.4;max-width:550px;font-weight:500}.hero-support{font-size:15px;line-height:1.5;max-width:535px;margin-top:15px;color:#57463d}.hero-cta{margin-top:24px}.hero-photo{position:absolute;inset:0 0 0 43%;z-index:-1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory),rgba(248,245,240,.75) 8%,rgba(248,245,240,0) 32%)}
.offer{margin-top:28px}.section-heading{text-align:center;margin-bottom:16px}.eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--accent);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.eyebrow:before,.eyebrow:after{content:"";width:40px;height:2px;background:var(--accent)}.section-heading h2{font-size:32px;margin-bottom:6px}.section-heading>p:last-child{font-size:15px}.areas{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.area{background:var(--ivory);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.area-header{background:linear-gradient(110deg,#67432e,#493126);color:var(--ivory);padding:13px 18px;display:flex;align-items:center;gap:14px;min-height:0}.area-header h3{color:#fff;font-size:21px;letter-spacing:-.5px;margin:2px 0 4px}.area-header p:not(.area-label){font-size:13px;line-height:1.3}.area-label{font-size:9px;line-height:1.3;letter-spacing:1.5px;font-weight:600;color:#ead8c6}.area-icon{width:34px;height:34px;stroke-width:1.15;box-sizing:content-box;padding-right:14px;border-right:1px solid #c7aa95}.topics{list-style:none;padding:0 18px 4px;margin:0;flex:1;display:flex;flex-direction:column}.topics li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);flex:1;align-items:flex-start}.topics li:last-child{border-bottom:0}.topic-icon{width:34px;height:36px;border-radius:9px;background:#f3e8db;display:flex;align-items:center;justify-content:center;color:#805034;flex-shrink:0}.topic-icon .icon{width:25px;height:25px}.topics h4{font-size:15.5px;font-weight:700;margin-bottom:4px;line-height:1.22;letter-spacing:-.2px}.topics p{font-size:13.5px;line-height:1.35;color:#4e4038}.teaching{background:var(--ivory);border-radius:var(--radius);padding:27px 30px;display:grid;grid-template-columns:190px 1fr;gap:25px}.teaching-heading{padding-right:22px;border-right:1px solid #bb9580}.teaching-heading h2{font-size:29px}.teaching-heading .short-rule{margin:13px 0}.teaching-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;align-items:start}.teaching-blocks article{display:flex;gap:13px}.teaching-blocks .icon{color:var(--accent);width:35px;height:35px}.teaching-blocks h3{font-size:16px;line-height:1.25;margin-bottom:8px}.teaching-blocks p{font-size:13px;line-height:1.5}
.triathlon{background:var(--ivory);border-radius:var(--radius);display:grid;grid-template-columns:63% 37%;overflow:hidden}.triathlon-copy{padding:24px 30px}.triathlon h2{font-size:29px}.triathlon .short-rule{margin:12px 0}.triathlon p{font-size:14px;line-height:1.45}/* Las fotografías se solapan con fundidos envolventes que eliminan los bordes rectangulares. */
.sports-photos{position:relative;isolation:isolate;overflow:hidden;min-width:0;height:155px;align-self:center;margin:0 6px 0 -16px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 92%,transparent)}
.sports-photos figure{position:absolute;top:0;bottom:0;width:60%;overflow:hidden;mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 30%,rgba(0,0,0,.88) 48%,rgba(0,0,0,.45) 72%,transparent 100%)}
.sports-photos figure:nth-child(1){left:-9%;z-index:1}
.sports-photos figure:nth-child(2){left:20%;z-index:2}
.sports-photos figure:nth-child(3){left:49%;z-index:3}
.sports-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.45) sepia(.16) contrast(.88);opacity:.75}
.sports-photos .swim{object-position:48% 50%}
.sports-photos .bike{object-position:62% 50%}
.sports-photos .run{height:140%;width:auto;max-width:none;top:-40%;left:50%;transform:translateX(-50%);object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent)}
.sports-photos:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,var(--ivory),rgba(248,245,240,.1) 28%,rgba(248,245,240,.1) 72%,var(--ivory))}
.about{display:grid;grid-template-columns:175px 1fr 295px;gap:28px;padding:30px;background:var(--ivory);border-radius:var(--radius)}.about-title{border-right:1px solid #bb9580;padding-right:20px;display:flex;flex-direction:column;justify-content:center}.about-title h2{font-size:30px}.biography{font-size:14px;line-height:1.5;padding-right:10px}.education{border-left:1px solid #bb9580;padding-left:26px}.education ul{list-style:none;padding:0;margin:0}.education li{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.education li:first-child{padding-top:0}.education li:last-child{border-bottom:0;padding-bottom:0}.education .icon{width:35px;height:35px;color:var(--accent)}.education h3{font-size:16px;line-height:1.2;letter-spacing:-.25px}.education p{font-size:12px;line-height:1.4;margin-top:4px}.in-progress{white-space:nowrap}
.contact{background:linear-gradient(110deg,#67432e,#493126);color:var(--ivory);border-radius:var(--radius);display:grid;grid-template-columns:66px 1fr 1.3fr;align-items:center;gap:26px;padding:29px 32px;margin-bottom:38px}.contact-icon{width:48px;height:48px;stroke-width:1.4}.contact-copy{border-left:1px solid #c7aa95;padding-left:26px}.contact h2{font-size:34px;color:var(--ivory);margin-bottom:8px}.contact-copy p{font-size:15px;line-height:1.4;max-width:320px}.contact-buttons{display:flex;gap:12px}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ivory);color:var(--chocolate);border:0;border-radius:30px;min-height:48px;padding:10px 17px;font-size:15px;font-weight:600;white-space:nowrap}.contact-button .icon{width:25px;height:25px;stroke-width:1.6}.contact-button:disabled{opacity:.7;cursor:default}.contact-button[href]:hover{background:#eee0d2}.contact-status{font-size:12px;margin-top:10px;color:#f0dfd1}.contact-status[hidden]{display:none}
@media(min-width:1500px){.hero-photo{right:calc((100vw - 1500px)/2);left:45%}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}nav{gap:20px}.hero h1{font-size:37px}.hero-copy{width:57%}.hero-inner{min-height:500px}.hero-photo{left:42%}.area-header{padding:13px 16px;gap:12px}.area-header h3{font-size:21px}.area-icon{width:30px;height:30px;padding-right:12px}.topics{padding-inline:16px}.topics li{gap:10px}.topic-icon{width:30px;height:32px}.topic-icon .icon{width:23px;height:23px}.teaching{grid-template-columns:1fr;padding:25px}.teaching-heading{border:0;display:flex;align-items:center;gap:20px;padding:0}.teaching-heading .short-rule{display:none}.teaching-blocks{gap:24px}.about{grid-template-columns:145px 1fr 245px;gap:22px;padding:25px}.about-title h2{font-size:27px}.education{padding-left:20px}.contact{grid-template-columns:1fr 1.4fr;gap:20px}.contact-icon{display:none}.contact-copy{border:0;padding:0}.contact-button{padding:10px 14px;font-size:14px}.triathlon-copy{padding:23px}.triathlon h2{font-size:26px}}
@media(max-width:820px){html{scroll-padding-top:82px}.header-inner{min-height:72px}.brand{font-size:25px}.menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 11px;color:var(--chocolate)}.menu-lines{width:18px;height:12px;border-block:1.5px solid;position:relative}.menu-lines:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid}nav{display:none;position:absolute;left:0;right:0;top:72px;padding:14px 24px 22px;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 10px 15px #49312612;gap:3px}nav.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-link{padding:12px 8px;min-height:48px}.nav-contact{margin-top:8px}.hero-inner{min-height:470px}.hero h1{font-size:32px}.hero-subtitle{font-size:18px}.hero-support{font-size:14px}.hero-photo{left:43%}.hero-photo:after{background:linear-gradient(90deg,var(--ivory),rgba(248,245,240,.8) 8%,rgba(248,245,240,0) 40%)}.hero-copy{width:58%}.hero-cta{padding:12px 15px;font-size:14px;gap:10px}.area-header{min-height:0;gap:12px}.area-header h3{font-size:20px}.area-icon{display:none}.topics li{gap:10px;padding:10px 0}.topic-icon{width:30px;height:32px;border-radius:8px}.topic-icon .icon{width:25px;height:25px}.topics h4{font-size:15px}.topics p{font-size:13px}.areas{gap:16px}.teaching-blocks article{display:block}.teaching-blocks .icon{margin-bottom:10px}.triathlon{grid-template-columns:60% 40%}.triathlon h2{font-size:25px}.triathlon p{font-size:13px}.sports-photos{height:125px;margin-right:0}.about{grid-template-columns:1fr 250px}.about-title{grid-column:1/-1;border:0;display:block}.about-title .short-rule{margin-bottom:0}.biography{padding:0}.contact{grid-template-columns:1fr;gap:22px}.contact-copy p{max-width:none}.contact-buttons{justify-content:flex-start;gap:14px}.contact h2{font-size:32px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.section-space{margin-top:24px}.hero-inner{display:block;min-height:0}.hero-copy{width:100%;max-width:none;padding:29px 0 0}.hero h1{font-size:34px;line-height:1.1;max-width:440px}.hero-subtitle{font-size:18px;max-width:450px}.hero-support{font-size:14px;max-width:450px}.hero-photo{position:relative;inset:auto;height:285px;margin-top:25px;z-index:0}.hero-photo img{object-position:50% 49%}.hero-photo:after{background:linear-gradient(180deg,var(--ivory),transparent 20%)}.hero{display:flex;flex-direction:column}.hero-inner{order:-1}.hero-cta{font-size:15px;padding:13px 18px;margin-top:21px}.hero .short-rule{margin-block:16px}.offer{margin-top:24px}.section-heading{margin-bottom:17px}.eyebrow{font-size:13px;gap:13px}.eyebrow:before,.eyebrow:after{width:29px}.section-heading h2{font-size:28px;line-height:1.15;margin-top:7px}.section-heading>p:last-child{font-size:14px;line-height:1.4}.areas{grid-template-columns:1fr;gap:18px}.area-header{min-height:0;padding:14px 16px;gap:13px}.area-icon{display:block;width:30px;height:30px;padding-right:12px}.area-header h3{font-size:20px}.area-header p:not(.area-label){font-size:13px}.topics{padding:0 16px 4px}.topics li{padding:12px 0;gap:10px}.topic-icon{width:30px;height:32px}.topic-icon .icon{width:23px;height:23px}.topics h4{font-size:16px;line-height:1.25;margin-bottom:4px}.topics p{font-size:14px;line-height:1.4}.teaching{padding:23px;gap:22px}.teaching-heading{display:block}.teaching-heading h2{font-size:29px}.teaching-heading .short-rule{display:block;margin:12px 0}.teaching-blocks{grid-template-columns:1fr;gap:21px}.teaching-blocks article{display:flex;gap:15px}.teaching-blocks .icon{margin:0}.teaching-blocks h3{font-size:16px;margin-bottom:5px}.teaching-blocks p{font-size:14px}.triathlon{grid-template-columns:1fr}.triathlon-copy{padding:23px}.triathlon h2{font-size:28px;max-width:330px}.triathlon p{font-size:14px}.sports-photos{height:110px;min-height:0;margin:-8px 12px 14px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.about{grid-template-columns:1fr;gap:20px;padding:23px}.about-title{grid-column:auto;padding:0}.about-title h2{font-size:29px}.about-title .short-rule{margin-top:12px}.biography{font-size:14px;line-height:1.55}.biography p+p{margin-top:12px}.education{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.education li{padding:13px 0;gap:15px}.education h3{font-size:16px}.education p{font-size:13px}.contact{padding:24px;gap:23px;margin-bottom:24px}.contact-buttons{flex-direction:column;gap:11px}.contact-button{font-size:16px;min-height:49px;justify-content:center}.contact-copy p{font-size:15px}.contact-status{text-align:center;font-size:12px}.contact h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* En portátiles de poca altura se prioriza la visión completa de las dos áreas. */
@media(min-width:1000px) and (max-height:800px){
  #oferta{scroll-margin-top:-10px}
  .offer .section-heading{margin-bottom:12px}
  .offer .section-heading h2{font-size:30px;margin-bottom:4px}
  .offer .section-heading>p:last-child{font-size:14px}
  .offer .eyebrow{font-size:12px;margin-bottom:3px}
  .area-header{padding:10px 16px;gap:12px}
  .area-header h3{font-size:20px}
  .area-header p:not(.area-label){font-size:12.5px;line-height:1.25}
  .topics li{padding:8px 0;gap:10px}
  .topics h4{font-size:15px;line-height:1.22;margin-bottom:4px}
  .topics p{font-size:13.5px;line-height:1.32}
  .topic-icon{width:30px;height:32px}
  .topic-icon .icon{width:23px;height:23px}
}@media(min-width:1000px) and (max-height:680px){
  .offer .section-heading{margin-bottom:8px}
  .area-header{padding-block:9px}
  .topics li{padding-block:6px}
}