/* Tesis y Metodología — byteStudio · all frontend selectors scoped to .tml */
.tml{--tml-primary:#9ddae8;--tml-black:#10191e;--tml-gold:#caa75d;--tml-offwhite:#f5f8f9;--tml-muted:#53616b;--tml-line:#e5ebee;--tml-radius:22px;--tml-shadow:0 22px 70px rgba(16,25,30,.08);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--tml-black);line-height:1.62;background:#fff;font-size:16px;isolation:isolate;overflow:clip;text-align:left}
.tml,.tml *{box-sizing:border-box}.tml h1,.tml h2,.tml h3,.tml h4,.tml p,.tml figure{margin:0}.tml h1,.tml h2,.tml h3{letter-spacing:-.045em;line-height:1.12;font-weight:800}.tml a{text-decoration:none;color:inherit}.tml button,.tml input,.tml textarea{font:inherit}.tml img{max-width:100%;height:auto;display:block}.tml button{cursor:pointer}.tml :focus-visible{outline:3px solid var(--tml-gold);outline-offset:4px}.tml .tml-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.tml [id^="tml-"]{scroll-margin-top:95px}.tml-skip{position:absolute;z-index:1000;left:16px;top:-90px;padding:12px 24px;border-radius:12px;background:#fff}.tml-skip:focus{top:16px}
/* Header */
.tml .tml-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid rgba(16,25,30,.075);backdrop-filter:blur(22px);box-shadow:0 5px 24px rgba(0,0,0,.025)}.admin-bar .tml-header{top:32px}.tml .tml-header-inner{min-height:91px;display:flex;align-items:center;gap:22px;justify-content:space-between}.tml .tml-brand{display:flex;align-items:center;gap:11px;flex:none;min-width:205px}.tml .tml-logo{width:57px;height:57px;border-radius:0;object-fit:contain;background:transparent}.tml .tml-brand-copy{display:flex;flex-direction:column;line-height:1.16}.tml .tml-brand-copy strong{font-size:15px;letter-spacing:-.035em;font-weight:800}.tml .tml-brand-copy small{font-size:11px;letter-spacing:.09em;font-weight:600;color:#8d7650;text-transform:uppercase;margin-top:5px}.tml .tml-nav{display:flex;gap:clamp(9px,1.28vw,21px);align-items:center;justify-content:center;flex-wrap:wrap}.tml .tml-nav-link{position:relative;white-space:nowrap;font-size:12px;font-weight:750;color:#34454c;transition:color .2s}.tml .tml-nav-link:hover,.tml .tml-nav-link.is-active{color:#ad894b}.tml .tml-nav-link:after{content:"";position:absolute;bottom:-8px;left:0;right:100%;height:2px;background:var(--tml-gold);transition:right .2s}.tml .tml-nav-link:hover:after,.tml .tml-nav-link.is-active:after{right:0}.tml .tml-header-cta{flex:none;border:1px solid var(--tml-black);background:var(--tml-black);color:#fff;border-radius:99px;padding:12px 17px;font-weight:750;font-size:12px;line-height:1.3}.tml .tml-header-cta span{margin-left:9px;color:var(--tml-gold)}.tml .tml-menu-toggle{display:none;border:0;padding:8px;background:transparent;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px}.tml .tml-menu-toggle span{width:25px;height:2px;background:var(--tml-black);transition:transform .2s,opacity .2s}
/* Buttons */
.tml .tml-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:53px;padding:15px 23px;font-size:13px;line-height:1.4;font-weight:850;border-radius:8px;transition:transform .2s,background .2s,color .2s,box-shadow .2s;text-align:center;border:1px solid transparent}.tml .tml-btn:hover{transform:translateY(-2px)}.tml .tml-btn span{font-size:18px;line-height:1}.tml .tml-btn-gold{background:var(--tml-gold);color:#10191e;box-shadow:0 9px 24px rgba(202,167,93,.16)}.tml .tml-btn-gold:hover{background:#e2c07d;color:#10191e}.tml .tml-btn-outline{border-color:rgba(255,255,255,.32);color:#fff;background:transparent}.tml .tml-btn-outline:hover{border-color:var(--tml-gold);color:var(--tml-gold)}.tml .tml-btn-dark{background:var(--tml-black);color:#fff;border:0}.tml .tml-btn-dark:hover{background:#263e48;color:#fff}
/* Hero */
.tml .tml-hero{background:var(--tml-black);color:#fff;position:relative;overflow:hidden;padding:78px 0 92px;isolation:isolate}.tml .tml-hero:before{content:"";position:absolute;z-index:-1;width:620px;height:620px;background:radial-gradient(circle,rgba(157,218,232,.11),transparent 67%);left:-260px;top:-255px}.tml .tml-hero:after{content:"";position:absolute;z-index:-1;width:700px;height:700px;background:radial-gradient(circle,rgba(202,167,93,.1),transparent 70%);right:-350px;bottom:-400px}.tml .tml-hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:clamp(44px,5.5vw,92px)}.tml .tml-hero-copy{max-width:600px}.tml .tml-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(157,218,232,.32);color:var(--tml-primary);background:rgba(157,218,232,.065);padding:9px 13px;border-radius:99px;text-transform:uppercase;font-size:10px;letter-spacing:.115em;font-weight:850}.tml .tml-pill i{display:block;width:6px;height:6px;flex:none;border-radius:50%;background:var(--tml-gold)}.tml .tml-hero h1{color:#fff;font-size:clamp(41px,4.3vw,69px);line-height:1.08;letter-spacing:-.06em;margin:26px 0 23px;text-wrap:balance}.tml .tml-hero-copy>p{font-size:16px;line-height:1.85;color:#c6d5da;max-width:520px}.tml .tml-hero-actions{margin:28px 0 37px;display:flex;flex-wrap:wrap;gap:11px}.tml .tml-hero-proof{display:flex;align-items:center;gap:13px;color:#9cabb1;font-size:11px;line-height:1.5}.tml .tml-hero-proof strong{font-size:13px;color:#fff}.tml .tml-proof-mark{width:43px;height:43px;border:1px solid rgba(202,167,93,.45);border-radius:50%;display:grid;place-items:center;font-size:25px;color:var(--tml-gold)}.tml .tml-hero-media{position:relative;min-width:0}.tml .tml-hero-photo{width:100%;height:510px;object-fit:cover;border-radius:185px 185px 12px 12px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.tml .tml-hero-media:before{content:"";border:1px solid rgba(202,167,93,.63);position:absolute;inset:13px -13px -14px 13px;border-radius:185px 185px 12px 12px;pointer-events:none}.tml .tml-image-overlay{position:absolute;left:-37px;bottom:22px;background:#fff;box-shadow:0 20px 75px rgba(0,0,0,.16);padding:17px 21px;border-radius:12px;color:var(--tml-black);display:flex;align-items:center;gap:13px;max-width:270px}.tml .tml-mini-icon{width:38px;height:38px;display:grid;place-items:center;background:#e3f5f8;border-radius:10px;color:#608f9a;font-size:25px}.tml .tml-image-overlay strong,.tml .tml-image-overlay small{display:block}.tml .tml-image-overlay strong{font-size:12px}.tml .tml-image-overlay small{color:var(--tml-muted);font-size:11px;margin-top:2px}.tml .tml-hero-bottom{position:absolute;bottom:0;height:4px;left:0;right:0;background:linear-gradient(90deg,var(--tml-primary) 0%,var(--tml-gold) 51%,var(--tml-primary) 100%)}
/* Ownership banner */
.tml .tml-ownership-bar{background:#edf8fa;border-bottom:1px solid #d4e8ed;padding:19px 0}.tml .tml-ownership-bar .tml-wrap{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.tml .tml-ownership-star{color:#9e824f;font-size:25px}.tml .tml-ownership-bar strong{font-size:14px;letter-spacing:-.025em}.tml .tml-ownership-bar .tml-wrap>span:last-child{color:#597179;font-size:13px;margin-left:auto}
/* Generic section */
.tml .tml-section{padding:104px 0;background:#fff;position:relative}.tml .tml-section:nth-of-type(even){background:#f9fbfc}.tml .tml-section-intro{max-width:735px;margin-bottom:41px}.tml .tml-eyebrow{font-size:11px;color:#b08b4e;text-transform:uppercase;letter-spacing:.175em;font-weight:900;margin-bottom:14px}.tml .tml-section-intro h2{font-size:clamp(30px,3.4vw,48px);max-width:790px;color:var(--tml-black);text-wrap:balance}.tml .tml-section-lead{margin-top:19px!important;color:#5c6a71;font-size:15px;line-height:1.9;max-width:650px}.tml .tml-section-dark{background:var(--tml-black)!important;color:#fff}.tml .tml-section-dark .tml-section-intro h2{color:#fff}.tml .tml-section-dark .tml-section-lead{color:#a9bdc7}.tml .tml-section-dark .tml-eyebrow{color:var(--tml-gold)}
/* Audience */
.tml .tml-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tml .tml-audience-card{background:#fff;border:1px solid var(--tml-line);border-radius:16px;padding:32px 25px 31px;min-height:246px;position:relative;overflow:hidden;box-shadow:0 9px 35px rgba(0,0,0,.018);transition:transform .25s,box-shadow .25s}.tml .tml-audience-card:hover{transform:translateY(-4px);box-shadow:var(--tml-shadow)}.tml .tml-card-number{color:#adbece;font-size:13px;letter-spacing:.14em;font-weight:800}.tml .tml-audience-accent{height:4px;width:33px;background:var(--tml-gold);margin:22px 0 18px;border-radius:4px}.tml .tml-audience-card h3{font-size:20px;margin-bottom:11px}.tml .tml-audience-card p{color:var(--tml-muted);font-size:13px;line-height:1.75}.tml .tml-section-banner{margin-top:35px;overflow:hidden;border-radius:18px}.tml .tml-section-banner-img{width:100%;max-height:380px;object-fit:cover}
/* Services */
.tml .tml-section-services{background:#f5f8f9}.tml .tml-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tml .tml-service-card{background:#fff;border:1px solid #e3e9ec;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.018);transition:transform .25s,box-shadow .25s}.tml .tml-service-card:hover{transform:translateY(-5px);box-shadow:var(--tml-shadow)}.tml .tml-service-image-wrap{height:165px;overflow:hidden}.tml .tml-service-image{width:100%;height:100%;object-fit:cover;transition:transform .35s}.tml .tml-service-card:hover .tml-service-image{transform:scale(1.045)}.tml .tml-service-card-inner{display:flex;flex-direction:column;padding:28px;flex:1}.tml .tml-service-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b3a482;font-weight:800;font-size:12px;margin-bottom:17px}.tml .tml-service-duration{color:#67808a;background:#e9f4f6;padding:6px 9px;border-radius:5px;font-size:10px}.tml .tml-service-card h3{font-size:22px;min-height:51px;margin-bottom:17px}.tml .tml-service-card p{font-size:13px;line-height:1.85;color:#52646c}.tml .tml-service-details{margin-top:17px;border-top:1px solid #e5eaec;padding-top:14px}.tml .tml-service-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:#35474d;font-size:12px;font-weight:800}.tml .tml-service-details summary::-webkit-details-marker{display:none}.tml .tml-service-details summary span{font-size:18px;color:#b4955e}.tml .tml-service-details[open] summary span{transform:rotate(45deg)}.tml .tml-service-details>div{margin-top:10px;font-size:12px;color:#687b82;line-height:1.8}.tml .tml-service-link{margin-top:auto;padding-top:23px}.tml .tml-service-link a{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e6ebef;padding-top:17px;color:#946e30;font-size:12px;font-weight:850}.tml .tml-service-link span{font-size:18px}
/* Workshops */
.tml .tml-workshops-top{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:17px;color:#b6c9cf;font-size:10px;letter-spacing:.14em;font-weight:800}.tml .tml-workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin-top:8px}.tml .tml-workshop-card{border-bottom:1px solid rgba(218,236,239,.16)}.tml .tml-workshop-card summary{list-style:none;cursor:pointer;display:flex;gap:15px;align-items:center;padding:20px 4px;min-height:82px}.tml .tml-workshop-card summary::-webkit-details-marker{display:none}.tml .tml-workshop-num{font-size:12px;line-height:1;color:var(--tml-gold);font-weight:900;width:27px;flex:none}.tml .tml-workshop-title{font-size:14px;font-weight:750;color:#f4f8fa;line-height:1.5;flex:1}.tml .tml-workshop-plus{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;font-size:17px;color:var(--tml-primary);transition:transform .2s}.tml .tml-workshop-card[open] .tml-workshop-plus{transform:rotate(45deg)}.tml .tml-workshop-detail{padding:0 16px 25px 47px}.tml .tml-workshop-detail p{color:#b9ccd2;font-size:13px;line-height:1.85}.tml .tml-workshop-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:18px;font-size:11px;font-weight:800;color:var(--tml-primary)}.tml .tml-workshop-meta a{color:var(--tml-gold)}.tml .tml-workshop-cta{margin-top:47px;border:1px solid rgba(157,218,232,.24);background:rgba(157,218,232,.07);border-radius:17px;padding:29px;display:flex;align-items:center;justify-content:space-between;gap:25px}.tml .tml-workshop-cta strong{display:block;font-size:20px;margin-bottom:6px}.tml .tml-workshop-cta p{font-size:13px;color:#b3c6cb}
/* Method */
.tml .tml-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}.tml .tml-method-card{position:relative;padding:28px 22px 31px;background:#eff7f9;border-radius:13px;min-height:230px}.tml .tml-method-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #aacbce;border-radius:50%;font-size:16px;font-weight:900;color:#66828a;margin-bottom:31px;background:#fff}.tml .tml-method-card h3{font-size:20px;margin-bottom:12px}.tml .tml-method-card p{font-size:13px;color:#526970;line-height:1.75}.tml .tml-ethics-note{display:block;width:100%;box-sizing:border-box;position:relative;margin:28px auto 0!important;padding:22px 28px;border:1px solid #e6e6dc;border-left:5px solid var(--tml-gold);border-radius:11px;background:linear-gradient(105deg,rgba(202,167,93,.11) 0%,#fff 58%);box-shadow:0 9px 30px rgba(16,25,30,.045);color:#24363d;font-size:15px;font-weight:500;line-height:1.8;letter-spacing:.005em;text-align:left;overflow-wrap:break-word}
@media(max-width:640px){.tml .tml-ethics-note{margin-top:20px!important;padding:18px 19px;border-left-width:4px;border-radius:10px;font-size:14px;line-height:1.75}}
/* Team */
.tml .tml-section-team{background:#f6fafb}.tml .tml-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.tml .tml-team-card{background:#fff;border:1px solid #e4edef;border-radius:17px;overflow:hidden;box-shadow:0 12px 45px rgba(0,0,0,.025);display:flex;flex-direction:column}.tml .tml-team-picture{height:290px;overflow:hidden;background:#dcecf0}.tml .tml-team-photo{width:100%;height:100%;object-fit:cover;object-position:center 24%}.tml .tml-team-heading{padding:17px 24px 0}.tml .tml-team-role{display:block;color:#9a773a;letter-spacing:.09em;text-transform:uppercase;font-weight:800;font-size:10px;line-height:1.5}.tml .tml-team-heading h3{font-size:23px;margin:5px 0 0}.tml .tml-team-info{padding:16px 24px 25px;display:flex;flex-direction:column;flex:1}.tml .tml-team-info p{font-size:13px;line-height:1.85;color:#526671;margin-bottom:20px}.tml .tml-team-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:17px;border-top:1px solid #e5ebed}.tml .tml-team-links a{font-size:12px;color:#8f713d;font-weight:800}
/* FAQ */
/* FAQ base: v1.0.10 define estilos completos en el bloque de diseño final. */
/* Contact */
.tml .tml-section-contact{background:#111b20}.tml .tml-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,110px);align-items:start}.tml .tml-contact-copy{padding:18px 0}.tml .tml-contact-mark{font-size:54px;color:var(--tml-primary)}.tml .tml-contact-copy h3{font-size:clamp(30px,3.4vw,46px);line-height:1.1;margin:18px 0 19px;color:#fff}.tml .tml-contact-copy p{color:#b5c6cc;max-width:440px;font-size:15px;line-height:1.85;margin-bottom:29px}.tml .tml-contact-details{display:flex;flex-direction:column;gap:8px;margin-top:32px;color:#9db8c0;font-size:13px}.tml .tml-contact-details a{text-decoration:underline;text-underline-offset:4px}.tml .tml-contact-form-box{background:#fff;color:var(--tml-black);padding:36px;border-radius:18px}.tml .tml-form-kicker{color:#a48346;letter-spacing:.15em;font-size:10px;font-weight:900}.tml .tml-contact-form-box h3{font-size:30px;margin:9px 0 28px}.tml .tml-contact-form-box label{display:block;font-size:12px;font-weight:800;margin-bottom:17px;color:#42545c}.tml .tml-contact-form-box input,.tml .tml-contact-form-box textarea{display:block;width:100%;background:#f7fafb;border:1px solid #dce6e9;border-radius:8px;padding:13px 15px;outline:0;color:var(--tml-black);margin-top:8px;font-size:13px;transition:border-color .2s}.tml .tml-contact-form-box input:focus,.tml .tml-contact-form-box textarea:focus{border-color:#80b9c7;box-shadow:0 0 0 3px rgba(157,218,232,.2)}.tml .tml-contact-form-box textarea{resize:vertical}.tml .tml-contact-form-box .tml-btn{width:100%}.tml .tml-contact-disclaimer{font-size:10px!important;color:#8899a0!important;margin:13px 0 0!important;line-height:1.6!important}.tml .tml-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tml .tml-alert{background:#fff0eb;color:#92472c;padding:12px;border-radius:8px;margin-bottom:15px;font-size:12px}.tml .tml-alert-success{background:#ebf9ef;color:#217241}
/* Extra */

/* Footer */
.tml .tml-footer{background:#090e11;color:#fff;padding:62px 0 22px}.tml .tml-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.tml .tml-footer-name{font-size:23px;font-weight:850;letter-spacing:-.04em;margin-bottom:16px}.tml .tml-footer-star{color:var(--tml-gold)}.tml .tml-footer-brand p{font-size:12px;color:#91a3ad;max-width:425px;line-height:1.9}.tml .tml-footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.tml .tml-footer-grid strong{color:var(--tml-primary);text-transform:uppercase;font-size:11px;letter-spacing:.13em;margin-bottom:6px}.tml .tml-footer-grid a{font-size:12px;color:#a5b6bd;overflow-wrap:anywhere}.tml .tml-footer-grid a:hover,.tml .tml-footer-bottom a:hover{color:var(--tml-gold)}.tml .tml-footer-bottom{border-top:1px solid #263238;margin-top:57px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#748a96;font-size:11px}.tml .tml-footer-bottom a{color:#d7b976}
/* Floating contact */
.tml .tml-wa-float{position:fixed;right:23px;bottom:23px;z-index:1200;width:58px;height:58px;border-radius:50%;background:#21bf62;color:#fff;display:grid;place-items:center;box-shadow:0 10px 35px rgba(9,63,37,.25);border:3px solid #fff;transition:transform .2s}.tml .tml-wa-float:hover{transform:translateY(-3px)}.tml .tml-wa-float svg{width:30px;height:30px}
@media (max-width:1190px){.tml .tml-header-inner{min-height:78px}.tml .tml-menu-toggle{display:flex;margin-left:auto}.tml .tml-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #dce7eb;box-shadow:0 22px 25px rgba(0,0,0,.07);padding:18px max(25px,calc((100vw - 1240px)/2));display:none;align-items:stretch;flex-direction:column;gap:0}.tml .tml-nav.is-open{display:flex}.tml .tml-nav-link{padding:11px 14px;font-size:13px}.tml .tml-nav-link:after{display:none}.tml .tml-header-cta{padding:10px 14px}.tml .tml-hero h1{font-size:clamp(38px,5vw,55px)}.tml .tml-hero-photo{height:455px}}
@media (max-width:900px){.tml .tml-wrap{width:min(100% - 42px,720px)}.tml .tml-hero{padding:65px 0}.tml .tml-hero-grid{gap:35px;grid-template-columns:1fr}.tml .tml-hero-copy{max-width:100%}.tml .tml-hero-media{max-width:670px;margin:0 auto;width:100%}.tml .tml-hero-photo{height:380px;border-radius:145px 145px 12px 12px}.tml .tml-hero-media:before{border-radius:145px 145px 12px 12px}.tml .tml-audience-grid,.tml .tml-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tml .tml-service-grid,.tml .tml-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tml .tml-team-grid .tml-team-card:last-child{grid-column:auto}.tml .tml-section{padding:78px 0}.tml .tml-ownership-bar .tml-wrap>span:last-child{margin-left:0}.tml .tml-footer-grid{gap:35px}}
@media (max-width:640px){.tml{font-size:15px}.tml .tml-wrap{width:calc(100% - 34px)}.tml .tml-header-inner{min-height:69px;gap:6px}.tml .tml-brand{min-width:0;gap:6px}.tml .tml-logo{height:45px;width:45px}.tml .tml-brand-copy strong{font-size:12px}.tml .tml-brand-copy small{font-size:9px;letter-spacing:.055em}.tml .tml-header-cta{font-size:11px;padding:9px 10px;line-height:1.2}.tml .tml-header-cta span{display:none}.tml .tml-menu-toggle{width:37px;padding:6px}.tml .tml-hero{padding:49px 0 56px}.tml .tml-pill{font-size:9px;letter-spacing:.05em}.tml .tml-hero h1{font-size:clamp(37px,9vw,51px);margin:21px 0 18px}.tml .tml-hero-copy>p{font-size:14px;line-height:1.8}.tml .tml-hero-actions{gap:9px;margin:23px 0 25px}.tml .tml-hero-actions .tml-btn{width:100%;min-height:50px}.tml .tml-hero-media{width:calc(100% - 13px)}.tml .tml-hero-photo{height:310px;border-radius:115px 115px 12px 12px}.tml .tml-hero-media:before{inset:10px -9px -10px 9px;border-radius:115px 115px 12px 12px}.tml .tml-image-overlay{left:-13px;bottom:16px;padding:12px 15px}.tml .tml-ownership-bar{padding:15px 0}.tml .tml-ownership-bar .tml-wrap{gap:8px 12px}.tml .tml-ownership-bar strong{font-size:12px}.tml .tml-ownership-bar .tml-wrap>span:last-child{width:100%;font-size:11px}.tml .tml-section{padding:65px 0}.tml .tml-section-intro{margin-bottom:30px}.tml .tml-section-intro h2{font-size:33px}.tml .tml-section-lead{font-size:13px;margin-top:13px!important}.tml .tml-audience-grid,.tml .tml-service-grid,.tml .tml-method-grid,.tml .tml-team-grid,.tml .tml-workshop-grid,.tml .tml-contact-grid{grid-template-columns:1fr}.tml .tml-audience-grid{gap:10px}.tml .tml-audience-card{min-height:0;padding:24px}.tml .tml-audience-accent{margin:12px 0}.tml .tml-service-card h3{min-height:0}.tml .tml-team-picture{height:285px}.tml .tml-workshop-grid{gap:0}.tml .tml-workshops-top{font-size:9px}.tml .tml-workshops-top span:last-child{display:none}.tml .tml-workshop-cta{flex-direction:column;align-items:flex-start;padding:23px}.tml .tml-workshop-cta .tml-btn{width:100%}.tml .tml-method-card{min-height:0}.tml .tml-method-num{margin-bottom:17px}.tml .tml-faq-item summary{font-size:14px}.tml .tml-contact-grid{gap:28px}.tml .tml-contact-form-box{padding:25px 21px}.tml .tml-footer-grid{grid-template-columns:1fr 1fr;gap:30px}.tml .tml-footer-grid>div:first-child{grid-column:1/-1}.tml .tml-footer-bottom{margin-top:36px}.tml .tml-wa-float{bottom:15px;right:15px;width:51px;height:51px}.tml .tml-wa-float svg{width:25px;height:25px}}
@media (max-width:380px){.tml .tml-header-cta{display:none}.tml .tml-brand-copy strong{font-size:12px}.tml .tml-hero h1{font-size:35px}.tml .tml-footer-grid{gap:19px}.tml .tml-contact-form-box h3{font-size:25px}}
@media (prefers-reduced-motion:reduce){.tml *, .tml *::before, .tml *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media print{.tml .tml-header,.tml .tml-wa-float,.tml .tml-contact-form-box{display:none!important}.tml .tml-hero{background:#fff;color:#000}.tml .tml-hero h1{color:#000}.tml .tml-section-dark{background:#fff!important;color:#000}.tml .tml-section-dark h2{color:#000}}

.tml .tml-workshop-photo{margin-top:15px;width:100%;height:180px;object-fit:cover;border-radius:9px}

/* SEO local: frase contextual visible, discreta y legible */
.tml .tml-hero-copy>.tml-local-intro{font-size:13px;line-height:1.75;color:#e4d5b1;max-width:530px;margin-top:15px}

/* Enlaces profundos del índice llms.txt: compensan el header sticky. */
.tml [id^="tml-service-"], .tml [id^="tml-workshop-"], .tml [id^="tml-person-"], .tml [id^="tml-faq-"] { scroll-margin-top: 110px; }
/* Créditos byteStudio: logo emergente luego de 1 segundo sobre el enlace. */
.tml .tml-footer-bottom .tml-credit{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%}
.tml .tml-credit-separator{color:#82949c;font-weight:400}
.tml .tml-credit-link{color:#d7b976;text-decoration:underline;text-decoration-color:rgba(215,185,118,.42);text-underline-offset:3px}
.tml .tml-credit-link:hover,.tml .tml-credit-link:focus-visible{color:#f0d79d;text-decoration-color:currentColor}
.tml .tml-credit-tooltip{position:absolute;right:0;bottom:calc(100% + 15px);min-width:175px;max-width:min(240px,85vw);background:#1a2d4c;border:1px solid #33496a;border-radius:11px;padding:12px 14px;box-shadow:0 9px 27px rgba(0,0,0,.35);display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:25;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .14s ease,transform .14s ease,visibility 0s linear .14s}
.tml .tml-credit-tooltip::after{content:"";position:absolute;right:23px;top:100%;border:7px solid transparent;border-top-color:#1a2d4c}
.tml .tml-credit-tooltip img{display:block;width:154px;max-width:100%;height:auto;max-height:76px;object-fit:contain}
.tml .tml-credit:hover .tml-credit-tooltip{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease 1s,transform .2s ease 1s,visibility 0s linear 1s}
.tml .tml-credit:focus-within .tml-credit-tooltip{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease,transform .2s ease,visibility 0s}
@media(max-width:640px){.tml .tml-footer-bottom .tml-credit{gap:6px;flex-wrap:wrap}.tml .tml-credit-tooltip{right:0;max-width:min(220px,85vw)}}
@media(prefers-reduced-motion:reduce){.tml .tml-credit-tooltip{transform:none!important;transition-property:opacity,visibility!important}}

/* v1.0.5: formulario AJAX, estados accesibles, bloqueo tras el envío. */
.tml .tml-contact-status{display:none;margin:0 0 15px;line-height:1.65;font-size:13px;border-radius:10px;padding:13px 15px}
.tml .tml-contact-status.is-visible{display:block;background:#fff4e7;color:#754913;border:1px solid #ecd3ac}
.tml .tml-contact-status.is-success{background:#eaf9f2;color:#16673e;border:1px solid #b9e5cc;font-size:14px;font-weight:650;padding:19px}
.tml .tml-contact-status.is-error{background:#fff0eb;color:#963c2b;border:1px solid #f4ccbb}
.tml .tml-contact-form .tml-btn[disabled]{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}
.tml .tml-contact-form.is-sent .tml-contact-fields{display:none}


/* v1.0.7: tipografías web reales, elegidas desde el administrador. */
.tml .tml-hero h1{font-family:var(--tml-font-hero,"Inter",Arial,sans-serif);font-size:var(--tml-hero-desktop,69px);overflow-wrap:break-word}
.tml .tml-section-intro h2{font-family:var(--tml-font-section,"Inter",Arial,sans-serif);font-size:var(--tml-section-desktop,48px);overflow-wrap:break-word}
.tml .tml-audience-card h3,.tml .tml-service-card h3,.tml .tml-method-card h3,.tml .tml-team-heading h3,.tml .tml-contact-copy h3,.tml .tml-contact-form-box h3{font-family:var(--tml-font-card,"Inter",Arial,sans-serif);overflow-wrap:break-word}
.tml .tml-audience-card h3,.tml .tml-method-card h3{font-size:var(--tml-card-desktop,20px)}
.tml .tml-service-card h3{font-size:calc(var(--tml-card-desktop,20px) + 2px)}
.tml .tml-team-heading h3{font-size:calc(var(--tml-card-desktop,20px) + 3px)}
.tml .tml-workshop-title{font-family:var(--tml-font-card,"Inter",Arial,sans-serif)}
@media(max-width:1190px) and (min-width:641px){
  .tml .tml-hero h1{font-size:clamp(35px,5vw,var(--tml-hero-desktop,69px))}
  .tml .tml-section-intro h2{font-size:clamp(29px,3.4vw,var(--tml-section-desktop,48px))}
}
@media(max-width:640px){
  .tml .tml-hero h1{font-size:var(--tml-hero-mobile,39px)}
  .tml .tml-section-intro h2{font-size:var(--tml-section-mobile,33px)}
  .tml .tml-audience-card h3,.tml .tml-method-card h3{font-size:var(--tml-card-mobile,20px)}
  .tml .tml-service-card h3{font-size:calc(var(--tml-card-mobile,20px) + 2px)}
  .tml .tml-team-heading h3{font-size:calc(var(--tml-card-mobile,20px) + 3px)}
}
/* Destinatarios: protagonismo dorado en estado normal y realce al hover. */
.tml .tml-audience-card{
  border:2px solid var(--tml-gold);
  background:linear-gradient(140deg,#fff 49%,#fff8ea 100%);
  box-shadow:0 9px 29px rgba(172,128,46,.12),inset 0 0 0 1px rgba(255,255,255,.75);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.tml .tml-audience-card::before{
  content:"";position:absolute;inset:0 0 auto;height:5px;
  background:linear-gradient(90deg,var(--tml-gold),#f2ddaa,var(--tml-gold));
  pointer-events:none;
}
.tml .tml-audience-card::after{
  content:"";position:absolute;right:-76px;bottom:-84px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(202,167,93,.14),transparent 70%);pointer-events:none;
}
.tml .tml-audience-card:hover{
  transform:translateY(-7px);
  background:linear-gradient(140deg,#fff 35%,#fff2d8 100%);
  box-shadow:0 22px 48px rgba(172,128,46,.24),0 0 0 2px rgba(202,167,93,.2);
}
.tml .tml-card-number{color:#a47b34}
.tml .tml-audience-accent{width:55px;height:5px;transition:width .25s ease}
.tml .tml-audience-card:hover .tml-audience-accent{width:90px}
@media(prefers-reduced-motion:reduce){.tml .tml-audience-card,.tml .tml-audience-accent{transition:none}}

/* v1.0.8 — alineación homogénea de flechas e iconos junto a los textos. */
.tml .tml-header-cta,
.tml .tml-btn,
.tml .tml-service-link a,
.tml .tml-workshop-meta a,
.tml .tml-team-links a{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
}
.tml .tml-header-cta{justify-content:center;gap:9px}
.tml .tml-header-cta > span[aria-hidden],
.tml .tml-btn > span[aria-hidden],
.tml .tml-service-link a > span[aria-hidden],
.tml .tml-workshop-meta a > .tml-link-arrow,
.tml .tml-team-links a > .tml-link-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:static;
  flex:0 0 auto;
  width:1.12em;
  height:1.12em;
  line-height:1;
  margin:0;
  padding:0;
  vertical-align:middle;
  transform:none;
}
.tml .tml-service-link a{display:flex;justify-content:space-between}
.tml .tml-workshop-meta a,.tml .tml-team-links a{gap:5px}
.tml .tml-hero-proof .tml-proof-mark,.tml .tml-ownership-star,.tml .tml-contact-mark{line-height:1;flex-shrink:0}

/* Footer refinado v1.0.9: identidad visible, columnas legibles y acentos sutiles. */
.tml .tml-footer{
    position:relative;
    padding:0 0 25px;
    background:
      radial-gradient(ellipse 680px 410px at 0% 0%,rgba(157,218,232,.085),transparent 75%),
      radial-gradient(ellipse 600px 430px at 100% 110%,rgba(202,167,93,.065),transparent 72%),
      #0b151a;
    color:#f5f7f7;
    border-top:1px solid rgba(202,167,93,.3);
}
.tml .tml-footer::before{
    content:"";position:absolute;left:0;top:0;width:100%;height:3px;
    background:linear-gradient(90deg,transparent 0%,var(--tml-gold) 26%,var(--tml-primary) 73%,transparent 100%);
    opacity:.9;pointer-events:none;
}
.tml .tml-footer-grid{
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(0,.75fr) minmax(0,.95fr);
    gap:clamp(28px,5.5vw,85px);
    align-items:start;
    padding-top:67px;
    padding-bottom:54px;
}
.tml .tml-footer-brand{min-width:0}
.tml .tml-footer-identity{
    display:inline-flex;align-items:center;gap:16px;max-width:100%;
    color:#fff;text-decoration:none;
}
.tml .tml-footer .tml-footer-identity:hover,
.tml .tml-footer .tml-footer-identity:focus-visible{color:#fff}
.tml .tml-footer-logo{
    width:76px;height:76px;flex:none;
    object-fit:contain;
    border-radius:0;
    padding:0;
    background:transparent;
    box-shadow:none;
    transition:transform .25s ease,box-shadow .25s ease;
}
.tml .tml-footer-identity:hover .tml-footer-logo,
.tml .tml-footer-identity:focus-visible .tml-footer-logo{
    transform:translateY(-2px);
    box-shadow:none;
}
.tml .tml-footer-brand-copy{display:flex;flex-direction:column;min-width:0;gap:6px}
.tml .tml-footer-name{
    display:block;
    color:#fff;
    font-size:clamp(18px,1.65vw,23px);
    line-height:1.16;
    font-weight:800;
    letter-spacing:-.035em;
    margin:0;
    overflow-wrap:anywhere;
}
.tml .tml-footer-subtitle{
    display:block;color:#d6b774;
    font-size:10px;line-height:1.4;letter-spacing:.12em;font-weight:750;text-transform:uppercase;
}
.tml .tml-footer-brand .tml-footer-description{
    color:#b8c6cb;font-size:13px;line-height:1.85;
    max-width:430px;margin:23px 0 0;
}
.tml .tml-footer-brand .tml-footer-location{
    display:flex;align-items:flex-start;gap:10px;
    color:#9db4bf;font-size:12px;line-height:1.7;
    max-width:440px;margin:19px 0 0;
}
.tml .tml-footer-location::before{
    content:"";width:7px;height:7px;flex:0 0 7px;margin-top:7px;
    border-radius:50%;background:var(--tml-gold);box-shadow:0 0 0 4px rgba(202,167,93,.12);
}
.tml .tml-footer-grid .tml-footer-column{
    display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;
    padding-top:9px;
}
.tml .tml-footer-grid .tml-footer-column-title{
    display:block;margin:0 0 12px;
    color:#d9b774;font-size:12px;line-height:1.5;
    letter-spacing:.14em;text-transform:uppercase;font-weight:800;
}
.tml .tml-footer-grid .tml-footer-column-title::after{
    content:"";display:block;width:32px;height:2px;border-radius:2px;
    background:var(--tml-primary);margin-top:12px;opacity:.85;
}
.tml .tml-footer-grid .tml-footer-column a{
    display:inline-block;
    font-size:13px;font-weight:550;line-height:1.55;
    color:#bfccd1;
    overflow-wrap:anywhere;
    transition:color .2s ease,transform .2s ease;
}
.tml .tml-footer-grid .tml-footer-column a:hover,
.tml .tml-footer-grid .tml-footer-column a:focus-visible{
    color:#f0d79d;transform:translateX(3px);
}
.tml .tml-footer-bottom{
    position:relative;
    display:flex;align-items:center;justify-content:space-between;gap:15px 24px;
    margin-top:0;padding-top:23px;border-top:1px solid rgba(203,223,230,.14);
    color:#95a8af;font-size:11px;line-height:1.7;
    flex-wrap:wrap;
}
.tml .tml-footer-copyright{overflow-wrap:anywhere}
.tml .tml-credit-link{text-underline-offset:4px}
@media(max-width:900px){
    .tml .tml-footer-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:38px 36px;
        padding-top:52px;padding-bottom:43px;
    }
    .tml .tml-footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
    .tml .tml-footer-grid{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:42px;padding-bottom:35px}
    .tml .tml-footer-brand{grid-column:auto}
    .tml .tml-footer-logo{width:67px;height:67px}
    .tml .tml-footer-brand .tml-footer-description{font-size:12px;line-height:1.8;margin-top:18px}
    .tml .tml-footer-grid .tml-footer-column{gap:10px;padding-top:0}
    .tml .tml-footer-grid .tml-footer-column-title{margin-bottom:5px}
    .tml .tml-footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;padding-top:20px}
}
@media(prefers-reduced-motion:reduce){
    .tml .tml-footer-logo,.tml .tml-footer-grid .tml-footer-column a{transition:none!important}
    .tml .tml-footer-identity:hover .tml-footer-logo,.tml .tml-footer-grid .tml-footer-column a:hover{transform:none}
}

/* Sobrescribir la regla antigua aplicada a todos los <strong> del footer. */
.tml .tml-footer-grid .tml-footer-identity .tml-footer-name{
    color:#fff;
    font-size:clamp(18px,1.65vw,23px);
    letter-spacing:-.035em;
    line-height:1.16;
    text-transform:none;
    font-weight:800;
}
.tml .tml-footer-grid .tml-footer-identity .tml-footer-subtitle{
    color:#d6b774;font-size:10px;line-height:1.4;letter-spacing:.12em;
}
@media(max-width:480px){
    .tml .tml-footer{padding-bottom:80px}
}


/* v1.0.10 — Preguntas frecuentes: composición centrada, tarjetas refinadas. */
.tml .tml-section-faq{
    background:linear-gradient(180deg,#ffffff 0%,#fcfdfd 100%);
}
.tml .tml-section-faq .tml-section-intro{
    width:min(100%,860px);
    max-width:860px;
    margin:0 auto 43px;
    text-align:center;
}
.tml .tml-section-faq .tml-eyebrow{
    color:#a78039;
}
.tml .tml-section-faq .tml-section-intro h2{
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    text-wrap:balance;
}
.tml .tml-section-faq .tml-section-lead{
    max-width:690px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}
.tml .tml-section-faq .tml-faq-list{
    width:min(100%,940px);
    max-width:940px;
    margin:0 auto;
    display:grid;
    gap:13px;
}
.tml .tml-section-faq .tml-faq-item{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid #e0e8ea;
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 20px rgba(16,25,30,.035);
    transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease,background-color .24s ease;
}
.tml .tml-section-faq .tml-faq-item::before{
    content:"";
    position:absolute;
    top:0;bottom:0;left:0;
    width:4px;
    background:var(--tml-gold);
    opacity:.62;
    transition:opacity .24s ease;
}
.tml .tml-section-faq .tml-faq-item:hover,
.tml .tml-section-faq .tml-faq-item:focus-within{
    border-color:rgba(202,167,93,.75);
    box-shadow:0 13px 33px rgba(145,113,55,.11);
}
.tml .tml-section-faq .tml-faq-item[open]{
    background:#fffdf8;
    border-color:var(--tml-gold);
    box-shadow:0 14px 36px rgba(145,113,55,.12);
}
.tml .tml-section-faq .tml-faq-item[open]::before{opacity:1}
.tml .tml-section-faq .tml-faq-item summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
    padding:21px 25px 21px 30px;
    min-height:78px;
    list-style:none;
    cursor:pointer;
    color:var(--tml-black);
    font-size:16px;
    font-weight:760;
    line-height:1.5;
    text-align:left;
    overflow-wrap:anywhere;
}
.tml .tml-section-faq .tml-faq-item summary::-webkit-details-marker{display:none}
.tml .tml-section-faq .tml-faq-item summary::marker{content:""}
.tml .tml-section-faq .tml-faq-item summary>span{flex:1;min-width:0}
.tml .tml-section-faq .tml-faq-item summary>b{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f3f8f9;
    border:1px solid #d7e9ec;
    color:#779aa3;
    font-family:Arial,sans-serif;
    font-size:22px;
    font-weight:400;
    line-height:1;
    transition:transform .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}
.tml .tml-section-faq .tml-faq-item:hover summary>b{
    background:#fcf2da;
    border-color:rgba(202,167,93,.45);
    color:#9b742e;
}
.tml .tml-section-faq .tml-faq-item[open] summary>b{
    transform:rotate(45deg);
    background:var(--tml-gold);
    border-color:var(--tml-gold);
    color:var(--tml-black);
}
.tml .tml-section-faq .tml-faq-item>div{
    max-width:none;
    margin:0 25px 0 30px;
    padding:0 0 23px;
    border-top:1px solid #eee8dc;
    color:#50636a;
    font-size:14px;
    line-height:1.85;
    text-align:left;
}
.tml .tml-section-faq .tml-faq-item[open]>div{padding-top:18px}
@media(max-width:640px){
    .tml .tml-section-faq .tml-section-intro{margin-bottom:29px}
    .tml .tml-section-faq .tml-faq-list{gap:11px}
    .tml .tml-section-faq .tml-faq-item{border-radius:12px}
    .tml .tml-section-faq .tml-faq-item summary{
        padding:17px 15px 17px 19px;
        min-height:70px;
        gap:12px;
        font-size:14px;
    }
    .tml .tml-section-faq .tml-faq-item summary>b{width:33px;height:33px;flex-basis:33px;font-size:20px}
    .tml .tml-section-faq .tml-faq-item>div{
        margin:0 16px 0 19px;
        font-size:13px;
        line-height:1.8;
        padding-bottom:19px;
    }
    .tml .tml-section-faq .tml-faq-item[open]>div{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){
    .tml .tml-section-faq .tml-faq-item,
    .tml .tml-section-faq .tml-faq-item::before,
    .tml .tml-section-faq .tml-faq-item summary>b{transition:none!important}
}

/* v1.0.11 · Contacto — diseño institucional, datos directos y mapa opcional */
.tml .tml-section-contact{
    background:radial-gradient(ellipse at 8% 8%,rgba(114,195,212,.09) 0,transparent 39%),
        radial-gradient(ellipse at 93% 91%,rgba(202,167,93,.075) 0,transparent 42%),#101b20!important;
    padding:98px 0 112px;
}
.tml .tml-section-contact>.tml-wrap{position:relative}
.tml .tml-section-contact .tml-section-intro{
    max-width:810px;margin:0 auto 50px;text-align:center
}
.tml .tml-section-contact .tml-section-intro h2{max-width:none;margin:0 auto}
.tml .tml-section-contact .tml-section-intro .tml-section-lead{
    max-width:650px;margin:17px auto 0!important
}
.tml .tml-contact-grid{
    display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);
    gap:24px;align-items:stretch
}
.tml .tml-contact-copy{
    min-width:0;display:flex;flex-direction:column;align-items:flex-start;
    position:relative;overflow:hidden;
    padding:clamp(27px,3.2vw,45px);
    border:1px solid rgba(157,218,232,.2);border-radius:22px;
    background:linear-gradient(155deg,rgba(42,67,73,.55),rgba(16,28,34,.55) 70%);
    box-shadow:0 18px 56px rgba(0,0,0,.12)
}
.tml .tml-contact-copy::before{
    content:"";position:absolute;top:0;left:35px;width:66px;height:3px;
    background:var(--tml-gold);border-radius:0 0 4px 4px
}
.tml .tml-contact-kicker{
    display:inline-flex;align-items:center;gap:9px;
    color:var(--tml-gold);font-size:11px;font-weight:800;
    letter-spacing:.145em;text-transform:uppercase
}
.tml .tml-contact-kicker::before{
    content:"";width:20px;height:1px;background:currentColor;display:inline-block
}
.tml .tml-contact-copy h3{
    margin:22px 0 14px;max-width:460px;
    font-size:clamp(29px,3vw,42px);line-height:1.16;color:#fff
}
.tml .tml-contact-copy .tml-contact-description{
    max-width:470px;margin:0 0 28px;color:#bfd0d6;
    font-size:14px;line-height:1.85
}
.tml .tml-contact-details{
    display:grid;gap:12px;width:100%;margin:0;
    color:inherit;font-size:inherit
}
.tml .tml-contact-detail{
    display:flex;align-items:center;gap:14px;min-width:0;
    padding:15px 16px;border-radius:13px;
    border:1px solid rgba(157,218,232,.2);
    background:rgba(255,255,255,.045);
    color:#fff;text-decoration:none!important;
    transition:border-color .2s,background .2s,transform .2s
}
.tml a.tml-contact-detail:hover,
.tml a.tml-contact-detail:focus-visible{
    color:#fff;transform:translateY(-2px);
    border-color:rgba(202,167,93,.74);background:rgba(202,167,93,.1)
}
.tml .tml-contact-detail-icon{
    width:42px;height:42px;flex:0 0 42px;
    display:grid;place-items:center;border-radius:11px;
    color:var(--tml-gold);background:rgba(202,167,93,.12)
}
.tml .tml-contact-detail-icon svg{width:21px;height:21px}
.tml .tml-contact-detail-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.tml .tml-contact-detail-copy small{
    font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    color:#a8c3ca;font-weight:750
}
.tml .tml-contact-detail-copy strong{
    color:#fff;font-size:14px;font-weight:750;letter-spacing:-.01em;
    line-height:1.55;overflow-wrap:anywhere
}
.tml .tml-contact-detail-arrow{
    color:var(--tml-gold);font-size:15px;align-self:center
}
.tml .tml-contact-form-box{
    min-width:0;background:#fff;border-radius:22px;
    border:1px solid rgba(202,167,93,.3);
    padding:clamp(27px,3.2vw,45px);
    box-shadow:0 22px 65px rgba(0,0,0,.21)
}
.tml .tml-contact-form-box .tml-form-kicker{
    display:block;letter-spacing:.14em;color:#a27b36;font-size:10px
}
.tml .tml-contact-form-box h3{
    color:var(--tml-black);font-size:clamp(27px,2.8vw,36px);
    margin:11px 0 29px;line-height:1.2
}
.tml .tml-contact-form-box label{
    font-size:12px;line-height:1.4;font-weight:750;
    color:#344850;margin-bottom:17px
}
.tml .tml-contact-form-box input,
.tml .tml-contact-form-box textarea{
    margin-top:8px;padding:14px 15px;min-height:48px;
    background:#f8fafb;border:1px solid #dce6ea;border-radius:10px;
    font-size:13px;line-height:1.5;color:#10191e;
    transition:border-color .2s,box-shadow .2s,background-color .2s
}
.tml .tml-contact-form-box input:focus,
.tml .tml-contact-form-box textarea:focus{
    border-color:var(--tml-gold);background:#fff;
    box-shadow:0 0 0 4px rgba(202,167,93,.16)
}
.tml .tml-contact-form-box textarea{min-height:118px}
.tml .tml-contact-form-box .tml-btn{
    min-height:54px;border-radius:10px;
    border:1px solid var(--tml-black)
}
.tml .tml-contact-form-box .tml-btn:not([disabled]):hover{
    background:#233238;color:#fff;border-color:var(--tml-gold)
}
.tml .tml-contact-disclaimer{
    font-size:11px!important;line-height:1.75!important;
    color:#758993!important;margin-top:17px!important
}
.tml .tml-contact-map{
    margin-top:25px;overflow:hidden;border-radius:20px;
    border:1px solid rgba(202,167,93,.3);
    background:#17272e;box-shadow:0 20px 50px rgba(0,0,0,.16)
}
.tml .tml-contact-map-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:20px;padding:26px 30px;color:#fff
}
.tml .tml-contact-map-eyebrow{
    font-size:10px;letter-spacing:.17em;font-weight:850;color:var(--tml-gold)
}
.tml .tml-contact-map h3{
    font-size:clamp(22px,2.7vw,31px);color:#fff;
    margin:6px 0 0;line-height:1.2
}
.tml .tml-contact-map-head p{
    margin:10px 0 0;color:#b7ccd1;font-size:13px;line-height:1.7
}
.tml .tml-contact-map-pin{
    display:grid;place-items:center;flex:0 0 42px;
    width:42px;height:42px;border-radius:12px;
    background:rgba(202,167,93,.12);color:var(--tml-gold)
}
.tml .tml-contact-map-pin svg{width:21px;height:21px}
.tml .tml-contact-map-frame{height:340px;background:#dfe9ea}
.tml .tml-contact-map-frame iframe{
    display:block;width:100%;height:100%;border:0
}
@media(max-width:900px){
    .tml .tml-section-contact{padding:73px 0 82px}
    .tml .tml-contact-grid{grid-template-columns:1fr;gap:18px}
    .tml .tml-section-contact .tml-section-intro{margin-bottom:36px}
    .tml .tml-contact-map-frame{height:320px}
}
@media(max-width:640px){
    .tml .tml-section-contact{padding:66px 0 70px}
    .tml .tml-section-contact .tml-section-intro{margin-bottom:30px}
    .tml .tml-contact-copy,.tml .tml-contact-form-box{padding:26px 21px;border-radius:17px}
    .tml .tml-contact-copy h3{font-size:30px}
    .tml .tml-contact-copy .tml-contact-description{font-size:13px}
    .tml .tml-contact-details{gap:10px}
    .tml .tml-contact-detail{padding:13px 11px;gap:11px}
    .tml .tml-contact-detail-icon{height:37px;width:37px;flex-basis:37px}
    .tml .tml-contact-detail-copy strong{font-size:13px}
    .tml .tml-contact-map-head{padding:23px 20px}
    .tml .tml-contact-map-frame{height:270px}
}
@media(prefers-reduced-motion:reduce){
    .tml .tml-contact-detail,.tml .tml-contact-form-box input,.tml .tml-contact-form-box textarea{transition:none!important}
    .tml .tml-contact-detail:hover{transform:none!important}
}

/* v1.0.13: profesoras: foto seguida inmediatamente por rol y nombre, sin asterisco. */
@media(max-width:640px){.tml .tml-team-heading{padding:16px 21px 0}.tml .tml-team-info{padding:14px 21px 23px}}

/* v1.0.14 — Formulario de cuatro campos, adaptado a escritorio y celular. */
.tml .tml-contact-form-box .tml-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;align-items:start}
.tml .tml-contact-form-box .tml-form-row>label{min-width:0}
.tml .tml-contact-form-box .tml-required-marker{color:#b48b40;font-weight:900;font-size:15px;vertical-align:middle}
.tml .tml-contact-form-box input[type=tel]{font-variant-numeric:tabular-nums}
@media(max-width:640px){.tml .tml-contact-form-box .tml-form-row{grid-template-columns:minmax(0,1fr);gap:0}}

/* v1.0.16: Footer: every active section, plus accessible privacy navigation. */
.tml .tml-footer-legal{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.tml .tml-footer-legal-divider{color:var(--tml-gold)}
.tml .tml-footer-bottom .tml-footer-privacy-link{color:#a9dce6;text-decoration:underline;text-decoration-color:rgba(169,220,230,.38);text-underline-offset:3px}
.tml .tml-contact-privacy-link{color:#9e7935;font-weight:650;text-decoration:underline;text-underline-offset:2px}
.tml .tml-footer-grid .tml-footer-navigation{gap:9px}
/* Policy: self-contained page, identical palette to the independent landing. */
.tml.tml-privacy-page{min-height:100vh;background:#f7fafb;display:flex;flex-direction:column}
.tml .tml-privacy-header{background:#fff;border-bottom:1px solid #e3eaed}
.tml .tml-privacy-header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.tml .tml-privacy-brand{display:inline-flex;align-items:center;gap:12px;color:#111e25;text-decoration:none}
.tml .tml-privacy-logo{width:56px;height:56px;object-fit:contain}
.tml .tml-privacy-brand span{display:flex;flex-direction:column;gap:4px}
.tml .tml-privacy-brand strong{font-size:16px;font-weight:800}
.tml .tml-privacy-brand small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#997d4e;font-weight:750}
.tml .tml-privacy-back{border:1px solid #d5b36e;padding:11px 16px;border-radius:10px;color:#111e25;text-decoration:none;font-size:13px;font-weight:750}
.tml .tml-privacy-back:hover{background:#caa75d;color:#0c171b}
.tml .tml-privacy-main{padding:68px 0 90px;flex:1}
.tml .tml-privacy-container{max-width:900px}
.tml .tml-privacy-container>.tml-eyebrow{font-size:11px;letter-spacing:.16em;color:#a37d37;font-weight:800}
.tml .tml-privacy-main h1{font-family:var(--tml-font-section,"Inter",Arial,sans-serif);font-size:clamp(34px,4.5vw,55px);line-height:1.15;color:#111e25;margin:16px 0 32px}
.tml .tml-privacy-policy{background:white;border:1px solid #e0e9ec;border-top:4px solid var(--tml-gold);border-radius:18px;padding:clamp(24px,4vw,46px);box-shadow:0 16px 50px rgba(14,33,41,.05);font-size:15px;color:#465661;line-height:1.85}
.tml .tml-privacy-policy h2{font-family:var(--tml-font-section,"Inter",Arial,sans-serif);font-size:22px;line-height:1.35;color:#10191e;margin:34px 0 10px}
.tml .tml-privacy-policy h2:first-of-type{margin-top:25px}
.tml .tml-privacy-policy p{margin:0 0 15px}
.tml .tml-privacy-policy a{color:#8b6725;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.tml .tml-privacy-policy .tml-privacy-updated{font-weight:700;font-size:12px;color:#87969a;margin-bottom:22px}
.tml .tml-privacy-site-footer{background:#0d181d;padding:25px 0;color:#b7c6cd;font-size:12px}
.tml .tml-privacy-site-footer .tml-wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tml .tml-privacy-site-footer a{color:#d3b06a}
@media(max-width:640px){.tml .tml-privacy-header-inner{min-height:80px}.tml .tml-privacy-brand strong{font-size:12px}.tml .tml-privacy-brand small{font-size:9px}.tml .tml-privacy-logo{width:45px;height:45px}.tml .tml-privacy-back{padding:10px;font-size:11px}.tml .tml-privacy-main{padding:44px 0 70px}.tml .tml-privacy-policy h2{font-size:19px}}


/* v1.0.19 — Servicios: miniaturas siempre 3:2, sin recortar ni distorsionar.
   El contenedor conserva la proporción tanto en desktop como en móvil.
   Fotografías con otra proporción se muestran completas sobre fondo neutro. */
.tml .tml-service-image-wrap{
    position:relative;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:3 / 2;
    display:block;
    overflow:hidden;
    background:#e9f1f4;
}
.tml .tml-service-image{
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:100%;
    object-fit:contain;
    object-position:center center;
    transform:none;
    transition:filter .25s ease;
}
.tml .tml-service-card:hover .tml-service-image{
    transform:none;
    filter:brightness(1.025);
}
@supports not (aspect-ratio:3 / 2){
    .tml .tml-service-image-wrap::before{
        content:"";
        display:block;
        padding-top:66.666667%;
    }
}
@media(prefers-reduced-motion:reduce){
    .tml .tml-service-image{transition:none}
}

/* v1.0.20 — Testimonios: tres tarjetas equilibradas, celeste/negro/dorado. */
.tml .tml-section-testimonials{background:linear-gradient(145deg,#f3f9fa 0%,#fff 72%);border-top:1px solid #e8eef0;border-bottom:1px solid #e7ecee}
.tml .tml-section-testimonials .tml-section-intro{text-align:center;max-width:850px;margin:0 auto 42px}
.tml .tml-section-testimonials .tml-section-intro h2{margin-left:auto;margin-right:auto}
.tml .tml-section-testimonials .tml-section-lead{margin-left:auto;margin-right:auto}
.tml .tml-testimonials-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.tml .tml-testimonial-card{min-width:0;background:#fff;border:1px solid #dbe5e8;border-top:3px solid var(--tml-gold,#caa75d);border-radius:17px;box-shadow:0 14px 38px rgba(13,33,41,.055);padding:29px 26px 24px;display:flex;flex-direction:column;transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease}
.tml .tml-testimonial-card:hover{transform:translateY(-4px);border-color:#d5b776;box-shadow:0 21px 46px rgba(139,101,42,.13)}
.tml .tml-testimonial-stars{color:#c49745;letter-spacing:3px;font-size:23px;line-height:1.2;white-space:nowrap;margin-bottom:20px}
.tml .tml-testimonial-stars span{color:#d8e0e3}
.tml .tml-testimonial-card blockquote{margin:0 0 25px;color:#324751;font-size:14px;line-height:1.85;overflow-wrap:anywhere;flex:1;font-style:normal}
.tml .tml-testimonial-bottom{display:flex;align-items:center;gap:13px;border-top:1px solid #e8eef0;padding-top:18px}
.tml .tml-testimonial-initial{width:43px;height:43px;border-radius:50%;flex:none;background:#e7f5f8;border:1px solid #b9dce4;display:grid;place-items:center;color:#152b34;font-weight:900;font-size:18px}
.tml .tml-testimonial-person{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.tml .tml-testimonial-person strong{color:#10191e;font-size:13px;line-height:1.35}
.tml .tml-testimonial-person small,.tml .tml-testimonial-person a{color:#9c7536;font-size:12px;font-weight:750;text-decoration:none}
.tml .tml-testimonial-person a:hover{text-decoration:underline;text-underline-offset:3px}
.tml .tml-testimonials-empty{grid-column:1/-1;text-align:center;border:1px dashed #d1dfe4;border-radius:12px;background:#fff;color:#667a85;padding:26px;font-size:14px}
.tml .tml-contact-form-box select{display:block;width:100%;background:#f7fafb;border:1px solid #dce6e9;border-radius:9px;padding:13px 38px 13px 15px;outline:0;color:#162932;margin-top:8px;font-size:13px;line-height:1.45;transition:border-color .2s,box-shadow .2s;cursor:pointer;min-height:47px}
.tml .tml-contact-form-box select:focus{border-color:#80b9c7;box-shadow:0 0 0 3px rgba(157,218,232,.24)}
.tml .tml-contact-form-box .tml-select-question{margin-top:5px}
@media(max-width:960px){.tml .tml-testimonials-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tml .tml-testimonial-card{padding:26px 23px}}
@media(max-width:640px){.tml .tml-section-testimonials .tml-section-intro{margin-bottom:28px}.tml .tml-testimonials-list{grid-template-columns:minmax(0,1fr);gap:14px}.tml .tml-testimonial-card{padding:23px 21px}.tml .tml-testimonial-stars{font-size:21px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.tml .tml-testimonial-card{transition:none!important}.tml .tml-testimonial-card:hover{transform:none}}


/* v1.0.22 — Equipo: carrusel horizontal con flechas, arrastre y gesto táctil. */
.tml .tml-team-carousel{width:100%;min-width:0;position:relative}
.tml .tml-team-tools{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin:-10px 0 18px}
.tml .tml-team-tools[hidden]{display:none!important}
.tml .tml-team-counter{color:#59717a;font-weight:750;font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.tml .tml-team-arrows{display:flex;gap:9px}
.tml .tml-team-arrow{appearance:none;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d5b778;border-radius:50%;color:#86632e;cursor:pointer;box-shadow:0 4px 12px rgba(106,81,39,.07);transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
.tml .tml-team-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tml .tml-team-arrow:not(:disabled):hover{background:var(--tml-gold);color:#10191e;transform:translateY(-2px);box-shadow:0 7px 17px rgba(154,113,41,.2)}
.tml .tml-team-arrow:focus-visible{outline:3px solid #75becd;outline-offset:3px}
.tml .tml-team-arrow:disabled{opacity:.35;cursor:default;box-shadow:none}
.tml .tml-team-grid{display:flex!important;gap:21px;align-items:stretch;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:3px 1px 18px;margin-bottom:-18px}
.tml .tml-team-grid::-webkit-scrollbar{display:none}
.tml .tml-team-grid:focus-visible{outline:2px solid #8dcbd7;outline-offset:3px;border-radius:16px}
.tml .tml-team-grid .tml-team-card{flex:0 0 calc((100% - 42px)/3);min-width:0;max-width:none;scroll-snap-align:start;scroll-snap-stop:always;align-self:stretch}
.tml .tml-team-grid img{user-select:none;-webkit-user-drag:none}
.tml .tml-team-grid.is-dragging{scroll-behavior:auto!important;scroll-snap-type:none!important;cursor:grabbing}
.tml .tml-team-grid.is-dragging *{user-select:none!important;cursor:grabbing!important}
@media(max-width:900px){.tml .tml-team-grid .tml-team-card{flex-basis:calc((100% - 21px)/2)}}
@media(max-width:640px){.tml .tml-team-tools{margin:-5px 0 15px}.tml .tml-team-grid .tml-team-card{flex-basis:100%}.tml .tml-team-grid{gap:16px}.tml .tml-team-arrow{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.tml .tml-team-grid{scroll-behavior:auto}.tml .tml-team-arrow{transition:none}.tml .tml-team-arrow:hover{transform:none}}
@media print{.tml .tml-team-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:16px}.tml .tml-team-tools{display:none!important}.tml .tml-team-grid .tml-team-card{width:auto;flex:unset}}

/* v1.0.23 — Logotipos cuadrados: tamaños independientes y proporciones intactas. */
.tml .tml-logo{
    width:var(--tml-header-logo-size,57px);
    height:var(--tml-header-logo-size,57px);
    flex:0 0 auto;
    object-fit:contain;
    border-radius:0;
}
.tml .tml-header-inner{min-height:max(91px,calc(var(--tml-header-logo-size,57px) + 24px))}
.tml .tml-footer-logo{
    width:var(--tml-footer-logo-size,76px);
    height:var(--tml-footer-logo-size,76px);
    flex:0 0 auto;
    object-fit:contain;
    border-radius:0;
}
.tml .tml-privacy-logo{
    width:var(--tml-header-logo-size,57px);
    height:var(--tml-header-logo-size,57px);
    object-fit:contain;
    border-radius:0;
    flex:0 0 auto;
}
.tml .tml-privacy-header-inner{min-height:max(94px,calc(var(--tml-header-logo-size,57px) + 24px))}
@media(max-width:1190px){
    .tml .tml-header-inner{min-height:max(78px,calc(var(--tml-header-logo-size,57px) + 20px))}
}
@media(max-width:640px){
    /* En pantallas estrechas se limita el ancho para proteger menú y WhatsApp. */
    .tml .tml-logo,
    .tml .tml-privacy-logo{
        width:min(var(--tml-header-logo-mobile,45px),22vw);
        height:min(var(--tml-header-logo-mobile,45px),22vw);
    }
    .tml .tml-header-inner{min-height:max(69px,calc(min(var(--tml-header-logo-mobile,45px),22vw) + 16px))}
    .tml .tml-privacy-header-inner{min-height:max(80px,calc(min(var(--tml-header-logo-mobile,45px),22vw) + 20px))}
    .tml .tml-brand{flex:1 1 auto;min-width:0}
    .tml .tml-brand-copy,.tml .tml-privacy-brand span{min-width:0;overflow-wrap:anywhere}
    .tml .tml-menu-toggle{flex:0 0 auto}
}
@media(max-width:380px){
    /* La alineación inline-flex global no debe reactivar este botón en móviles pequeños. */
    .tml .tml-header-cta{display:none}
}
@media(max-width:480px){
    .tml .tml-footer-logo{
        width:var(--tml-footer-logo-mobile,67px);
        height:var(--tml-footer-logo-mobile,67px);
    }
}

/* v1.0.24 — Logos PNG: respetar el canal alfa en header, footer y privacidad. */
.tml .tml-header .tml-logo,
.tml .tml-footer .tml-footer-logo,
.tml .tml-privacy-header .tml-privacy-logo{
    background:transparent;
    background-image:none;
    box-shadow:none;
    border:0;
    border-radius:0;
    padding:0;
    filter:none;
}
.tml .tml-footer .tml-footer-identity:hover .tml-footer-logo,
.tml .tml-footer .tml-footer-identity:focus-visible .tml-footer-logo{box-shadow:none}
